1 2011-09-27 Ojan Vafai <ojan@chromium.org>
3 offsetTop/offsetLeft return the wrong values for horizontal-bt/vertical-rl writing modes
4 https://bugs.webkit.org/show_bug.cgi?id=68304
6 Reviewed by David Hyatt.
8 When grabbing the x/y values of the RenderBox, we need to take writing mode
11 Test: fast/dom/offset-position-writing-modes.html
13 * rendering/RenderBox.cpp:
14 (WebCore::RenderBox::locationIncludingFlipping):
15 * rendering/RenderBox.h:
16 (WebCore::RenderBox::yFlippedForWritingMode):
17 (WebCore::RenderBox::xFlippedForWritingMode):
18 * rendering/RenderBoxModelObject.cpp:
19 (WebCore::RenderBoxModelObject::offsetLeft):
20 (WebCore::RenderBoxModelObject::offsetTop):
22 2011-09-27 Tim Horton <timothy_horton@apple.com>
24 Rapidly refreshing a feMorphology[erode] with r=0 can sometimes cause display corruption
25 https://bugs.webkit.org/show_bug.cgi?id=68816
26 <rdar://problem/10186468>
28 Reviewed by Simon Fraser.
30 If a filter returns without writing into its result buffer, make sure to return an cleared buffer.
32 Test: svg/filters/feMorphology-zero-radius.svg
34 * platform/graphics/filters/FEMorphology.cpp:
35 (WebCore::FEMorphology::apply):
36 * platform/graphics/filters/FETurbulence.cpp:
37 (WebCore::FETurbulence::apply):
39 2011-09-27 Ryosuke Niwa <rniwa@webkit.org>
41 CompositeEditCommand::prune should remove subtree at once
42 https://bugs.webkit.org/show_bug.cgi?id=68866
44 Reviewed by Darin Adler.
46 Extracted the logic to find the highest ancestor to remove as highestNodeToRemoveInPruning from prune.
47 This reduces the number of node removals from O(n) to O(1) where n is the depth of the tree.
49 * editing/CompositeEditCommand.cpp:
50 (WebCore::hasARenderedDescendant): Takes excludedNode in addition to node. excludedNode is used to ignore
51 the child node from which we climbed up the tree in highestNodeToRemoveInPruning.
52 (WebCore::highestNodeToRemoveInPruning): Extracted from prune.
53 (WebCore::CompositeEditCommand::prune):
54 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
56 2011-09-27 David Hyatt <hyatt@apple.com>
58 https://bugs.webkit.org/show_bug.cgi?id=68922
60 Paginated floats should not grow the height of a block when they don't end
61 up being tied to a line. Floats encountered in skipLeadingWhitespace that
62 paginate can't immediately grow the height of the block, since there may not
63 end up being any actual line content. We only want to push the height of the
64 block down if we have actual line content that we want to keep with the
67 Make positionNewFloatOnLine check if the line is empty or not, and if it is,
68 it just puts the desired pagination strut into LineInfo. If and when actual
69 line content is encountered and setEmpty becomes false, we'll grow the block
72 Reviewed by Dan Bernstein.
74 Added fast/multicol/float-paginate-empty-lines.html and
75 fast/regions/webkit-flow-double-pagination-float-push.html.
77 * rendering/RenderBlock.h:
78 * rendering/RenderBlockLineLayout.cpp:
79 (WebCore::LineWidth::LineWidth):
80 (WebCore::LineWidth::fitsOnLine):
81 (WebCore::LineWidth::currentWidth):
82 (WebCore::LineWidth::uncommittedWidth):
83 (WebCore::LineWidth::committedWidth):
84 (WebCore::LineWidth::availableWidth):
85 (WebCore::LineWidth::addUncommittedWidth):
86 (WebCore::LineWidth::commit):
87 (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
88 (WebCore::LineWidth::updateAvailableWidth):
89 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
90 (WebCore::LineWidth::applyOverhang):
91 (WebCore::LineWidth::fitBelowFloats):
92 (WebCore::LineInfo::LineInfo):
93 (WebCore::LineInfo::floatPaginationStrut):
94 (WebCore::LineInfo::setEmpty):
95 (WebCore::LineInfo::setFloatPaginationStrut):
96 (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
97 (WebCore::RenderBlock::LineBreaker::nextLineBreak):
98 (WebCore::RenderBlock::positionNewFloatOnLine):
100 2011-09-27 Dean Jackson <dino@apple.com>
102 Add 'filter' value to RenderStyle
103 https://bugs.webkit.org/show_bug.cgi?id=68471
105 Reviewed by Simon Fraser.
107 Add a filter property to RenderStyle when ENABLE(CSS_FILTERS)
108 is turned on. Similar to -webkit-transform, -webkit-filter is a
109 list of FilterOperations, each identifying what type of operation
110 it is. This change simply adds the basic objects, it does not
111 parse the property to generate the list.
114 * GNUmakefile.list.am:
117 * WebCore.vcproj/WebCore.vcproj:
118 * WebCore.xcodeproj/project.pbxproj:
119 * platform/graphics/filters/FilterOperation.h: Added.
120 (WebCore::FilterOperation::~FilterOperation):
121 (WebCore::FilterOperation::operator!=):
122 (WebCore::FilterOperation::getOperationType):
123 (WebCore::FilterOperation::isSameType):
124 (WebCore::FilterOperation::FilterOperation):
125 (WebCore::ReferenceFilterOperation::create):
126 (WebCore::ReferenceFilterOperation::reference):
127 (WebCore::ReferenceFilterOperation::operator==):
128 (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
129 (WebCore::BasicColorMatrixFilterOperation::create):
130 (WebCore::BasicColorMatrixFilterOperation::amount):
131 (WebCore::BasicColorMatrixFilterOperation::operator==):
132 (WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
133 (WebCore::BasicComponentTransferFilterOperation::create):
134 (WebCore::BasicComponentTransferFilterOperation::amount):
135 (WebCore::BasicComponentTransferFilterOperation::operator==):
136 (WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
137 (WebCore::GammaFilterOperation::create):
138 (WebCore::GammaFilterOperation::amplitude):
139 (WebCore::GammaFilterOperation::exponent):
140 (WebCore::GammaFilterOperation::offset):
141 (WebCore::GammaFilterOperation::operator==):
142 (WebCore::GammaFilterOperation::GammaFilterOperation):
143 (WebCore::BlurFilterOperation::create):
144 (WebCore::BlurFilterOperation::stdDeviationX):
145 (WebCore::BlurFilterOperation::stdDeviationY):
146 (WebCore::BlurFilterOperation::operator==):
147 (WebCore::BlurFilterOperation::BlurFilterOperation):
148 (WebCore::SharpenFilterOperation::create):
149 (WebCore::SharpenFilterOperation::radius):
150 (WebCore::SharpenFilterOperation::threshold):
151 (WebCore::SharpenFilterOperation::amount):
152 (WebCore::SharpenFilterOperation::operator==):
153 (WebCore::SharpenFilterOperation::SharpenFilterOperation):
154 (WebCore::DropShadowFilterOperation::create):
155 (WebCore::DropShadowFilterOperation::shadow):
156 (WebCore::DropShadowFilterOperation::operator==):
157 (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
158 * platform/graphics/filters/FilterOperations.cpp: Added.
159 (WebCore::FilterOperations::FilterOperations):
160 (WebCore::FilterOperations::operator==):
161 * platform/graphics/filters/FilterOperations.h: Added.
162 (WebCore::FilterOperations::operator!=):
163 (WebCore::FilterOperations::clear):
164 (WebCore::FilterOperations::operations):
165 (WebCore::FilterOperations::size):
166 (WebCore::FilterOperations::at):
167 * rendering/style/RenderStyle.cpp:
168 (WebCore::RenderStyle::RenderStyle):
169 * rendering/style/RenderStyle.h:
170 (WebCore::InheritedFlags::filter):
171 (WebCore::InheritedFlags::hasFilter):
172 (WebCore::InheritedFlags::setFilter):
173 (WebCore::InheritedFlags::initialFilter):
174 * rendering/style/StyleAllInOne.cpp: Added include of new StyleFilterData.
175 * rendering/style/StyleFilterData.cpp: Added.
176 (WebCore::StyleFilterData::StyleFilterData):
177 (WebCore::StyleFilterData::operator==):
178 * rendering/style/StyleFilterData.h: Added.
179 (WebCore::StyleFilterData::create):
180 (WebCore::StyleFilterData::copy):
181 (WebCore::StyleFilterData::operator!=):
182 * rendering/style/StyleRareNonInheritedData.cpp:
183 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
184 (WebCore::StyleRareNonInheritedData::operator==):
185 * rendering/style/StyleRareNonInheritedData.h: New filter DataRef.
187 2011-09-27 James Robinson <jamesr@chromium.org>
189 [chromium] LayerRenderChromium asserts about leaking textures.
190 https://bugs.webkit.org/show_bug.cgi?id=68190
192 Reviewed by Kenneth Russell.
194 This introduces an interface TextureAllocator that the TextureManager uses to allocate/deallocate textures.
195 This means that TextureManager does not need to depend directly on GraphicsContext3D, other than for the format
196 enum type, making it more testable. It also allows us to track the allocations by subclassing TextureAllocator
197 to make sure we aren't leaking any textures.
200 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
201 (WebCore::Canvas2DLayerChromium::updateCompositorResources):
202 * platform/graphics/chromium/Canvas2DLayerChromium.h:
203 * platform/graphics/chromium/ImageLayerChromium.cpp:
204 (WebCore::ImageLayerTextureUpdater::updateTextureRect):
205 * platform/graphics/chromium/LayerChromium.h:
206 (WebCore::LayerChromium::updateCompositorResources):
207 * platform/graphics/chromium/LayerRendererChromium.cpp:
208 (WebCore::LayerRendererChromium::LayerRendererChromium):
209 (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
210 (WebCore::LayerRendererChromium::drawLayers):
211 (WebCore::LayerRendererChromium::useRenderSurface):
212 (WebCore::LayerRendererChromium::initializeSharedObjects):
213 (WebCore::LayerRendererChromium::cleanupSharedObjects):
214 * platform/graphics/chromium/LayerRendererChromium.h:
215 (WebCore::LayerRendererChromium::renderSurfaceTextureAllocator):
216 (WebCore::LayerRendererChromium::contentsTextureAllocator):
217 * platform/graphics/chromium/LayerTextureUpdater.h:
218 * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
219 (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
220 (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
221 * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
222 * platform/graphics/chromium/ManagedTexture.cpp:
223 (WebCore::ManagedTexture::bindTexture):
224 (WebCore::ManagedTexture::framebufferTexture2D):
225 * platform/graphics/chromium/ManagedTexture.h:
226 * platform/graphics/chromium/TextureManager.cpp:
227 (WebCore::TextureManager::memoryUseBytes):
228 (WebCore::TextureManager::deleteEvictedTextures):
229 (WebCore::TextureManager::evictAndDeleteAllTextures):
230 (WebCore::TextureManager::removeTexture):
231 (WebCore::TextureManager::allocateTexture):
232 (WebCore::TextureManager::requestTexture):
233 * platform/graphics/chromium/TextureManager.h:
234 (WebCore::TextureAllocator::~TextureAllocator):
235 * platform/graphics/chromium/TiledLayerChromium.cpp:
236 (WebCore::TiledLayerChromium::updateCompositorResources):
237 * platform/graphics/chromium/TiledLayerChromium.h:
238 * platform/graphics/chromium/TrackingTextureAllocator.cpp: Added.
239 (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
240 (WebCore::TrackingTextureAllocator::~TrackingTextureAllocator):
241 (WebCore::TrackingTextureAllocator::createTexture):
242 (WebCore::TrackingTextureAllocator::deleteTexture):
243 * platform/graphics/chromium/TrackingTextureAllocator.h: Copied from Source/WebCore/platform/graphics/chromium/ManagedTexture.h.
244 (WebCore::TrackingTextureAllocator::create):
245 (WebCore::TrackingTextureAllocator::currentMemoryUseBytes):
246 * platform/graphics/chromium/VideoLayerChromium.cpp:
247 (WebCore::VideoLayerChromium::updateCompositorResources):
248 (WebCore::VideoLayerChromium::updateTexture):
249 * platform/graphics/chromium/VideoLayerChromium.h:
250 * platform/graphics/chromium/WebGLLayerChromium.cpp:
251 (WebCore::WebGLLayerChromium::updateCompositorResources):
252 * platform/graphics/chromium/WebGLLayerChromium.h:
253 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
254 (WebCore::CCHeadsUpDisplay::draw):
255 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
256 (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
257 (WebCore::CCLayerTreeHost::deleteContentsTexturesOnCCThread):
258 (WebCore::CCLayerTreeHost::commitToOnCCThread):
259 (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
260 (WebCore::CCLayerTreeHost::updateCompositorResources):
261 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
262 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
263 (WebCore::CCLayerTreeHostImpl::contentsTextureAllocator):
264 (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
265 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
266 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
267 (WebCore::CCRenderSurface::drawSurface):
268 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
269 (WebCore::CCSingleThreadProxy::setNeedsCommit):
270 (WebCore::CCSingleThreadProxy::stop):
271 (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
272 (WebCore::CCSingleThreadProxy::commitIfNeeded):
273 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
274 (WebCore::CCThreadProxy::commitOnCCThread):
275 (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
277 2011-06-28 Robert Hogan <robert@webkit.org>
279 Reviewed by David Hyatt.
281 Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
282 https://bugs.webkit.org/show_bug.cgi?id=29447
284 If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
285 a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.
287 Test: fast/replaced/table-percent-width.html
289 * rendering/RenderBox.cpp:
290 (WebCore::avoidSqueezingWidth):
291 (WebCore::avoidSqueezingHeight):
292 (WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
293 (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
294 (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
295 * rendering/RenderBox.h:
297 2011-09-27 Simon Fraser <simon.fraser@apple.com>
299 https://bugs.webkit.org/show_bug.cgi?id=67858
301 Roll r96070 back in now that the crash has been fixed in r96130.
303 Reviewed by Darin Adler.
305 When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
306 the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
308 Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
309 on scrollbar creation appears to happen via updating the scrollbar style.
311 Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
312 stale scrollbars when run manually, even though the green squares are missing from the
313 pixel result (bug 67878).
315 * page/FrameView.cpp:
316 (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
317 * platform/ScrollView.cpp:
318 (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
319 (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
320 (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
321 compute the scroll corner rect while we still have scrollbars, and then invalidate it
322 explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
324 * platform/ScrollableArea.cpp:
325 (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
326 compute it in the case where the scrollbars are going away.
327 * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
328 invalidateScrollbar().
329 * rendering/RenderLayerCompositor.cpp:
330 (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
331 * rendering/RenderScrollbarPart.cpp: Ditto.
332 (WebCore::RenderScrollbarPart::imageChanged): Ditto.
334 2011-09-27 Mihai Parparita <mihaip@chromium.org>
336 Fix Chromium Mac build after r96130.
338 * page/FrameView.cpp:
339 (WebCore::FrameView::layerForOverhangAreas):
341 2011-09-27 Kaustubh Atrawalkar <kaustubh@motorola.com>
343 Autofocus on readonly inputs does not focus the element.
344 https://bugs.webkit.org/show_bug.cgi?id=24092
346 Reviewed by Ryosuke Niwa.
348 Readonly input elements should be autofocusable. Removed the check.
350 Tests: fast/forms/autofocus-readonly-attribute.html
352 * html/HTMLFormControlElement.cpp:
353 (WebCore::shouldAutofocus):
355 2011-09-27 Simon Fraser <simon.fraser@apple.com>
357 Clean up how FrameView accesses the RenderView
358 https://bugs.webkit.org/show_bug.cgi?id=68914
360 Reviewed by Sam Weinig.
362 Clean up how FrameView accesses the content renderer of its
363 frame. Previously, this was done in several different ways,
364 only some of which did null-checking.
366 Use an inline method to avoid having to expose Frame
369 Standardize the terminology to use 'root' for this RenderView.
371 * page/FrameView.cpp:
372 (WebCore::rootRenderer):
373 (WebCore::FrameView::setFrameRect):
374 (WebCore::FrameView::adjustViewSize):
375 (WebCore::FrameView::updateCompositingLayers):
376 (WebCore::FrameView::clearBackingStores):
377 (WebCore::FrameView::restoreBackingStores):
378 (WebCore::FrameView::layerForHorizontalScrollbar):
379 (WebCore::FrameView::layerForVerticalScrollbar):
380 (WebCore::FrameView::layerForScrollCorner):
381 (WebCore::FrameView::layerForOverhangAreas):
382 (WebCore::FrameView::syncCompositingStateForThisFrame):
383 (WebCore::FrameView::hasCompositedContent):
384 (WebCore::FrameView::enterCompositingMode):
385 (WebCore::FrameView::isSoftwareRenderable):
386 (WebCore::FrameView::didMoveOnscreen):
387 (WebCore::FrameView::willMoveOffscreen):
388 (WebCore::FrameView::layout):
389 (WebCore::FrameView::embeddedContentBox):
390 (WebCore::FrameView::contentsInCompositedLayer):
391 (WebCore::FrameView::scrollContentsFastPath):
392 (WebCore::FrameView::scrollContentsSlowPath):
393 (WebCore::FrameView::maintainScrollPositionAtAnchor):
394 (WebCore::FrameView::scrollPositionChanged):
395 (WebCore::FrameView::repaintFixedElementsAfterScrolling):
396 (WebCore::FrameView::visibleContentsResized):
397 (WebCore::FrameView::scheduleRelayoutOfSubtree):
398 (WebCore::FrameView::needsLayout):
399 (WebCore::FrameView::setNeedsLayout):
400 (WebCore::FrameView::performPostLayoutTasks):
401 (WebCore::FrameView::updateControlTints):
402 (WebCore::FrameView::paintContents):
403 (WebCore::FrameView::forceLayoutForPagination):
404 (WebCore::FrameView::adjustPageHeightDeprecated):
405 (WebCore::FrameView::isVerticalDocument):
406 (WebCore::FrameView::isFlippedDocument):
408 2011-09-27 Dominic Mazzoni <dmazzoni@google.com>
410 AXObjectCache cleared unnecessarily when non-top Document is detached.
411 https://bugs.webkit.org/show_bug.cgi?id=68636
413 Reviewed by Chris Fleizach.
415 Test: accessibility/deleting-iframe-destroys-axcache.html
418 (WebCore::Document::attach):
419 (WebCore::Document::detach):
421 2011-09-27 Sheriff Bot <webkit.review.bot@gmail.com>
423 Unreviewed, rolling out r96108, r96111, r96113, and r96116.
424 http://trac.webkit.org/changeset/96108
425 http://trac.webkit.org/changeset/96111
426 http://trac.webkit.org/changeset/96113
427 http://trac.webkit.org/changeset/96116
428 https://bugs.webkit.org/show_bug.cgi?id=68913
430 Wait for working Qt5 (Requested by ossy on #webkit).
433 * platform/graphics/qt/GraphicsLayerQt.cpp:
435 2011-09-27 Csaba Osztrogonác <ossy@webkit.org>
437 Fix ENABLE(SQL_DATABASE)=0 build after r95919
438 https://bugs.webkit.org/show_bug.cgi?id=68902
440 r95919 enabled OFFLINE_WEB_APPLICATIONS by default and
441 it needs SQLite stuff even if ENABLE_SQL_DATABASE=0.
443 Reviewed by Adam Barth.
445 * platform/sql/SQLiteAuthorizer.cpp:
446 * platform/sql/SQLiteDatabase.cpp:
447 * platform/sql/SQLiteFileSystem.cpp:
448 * platform/sql/SQLiteStatement.cpp:
449 * platform/sql/SQLiteTransaction.cpp:
450 * storage/DatabaseAuthorizer.cpp:
452 2011-09-27 Julien Chaffraix <jchaffraix@webkit.org>
454 Crash because CSSPrimitiveValue::computeLengthDouble assumes fontMetrics are available
455 https://bugs.webkit.org/show_bug.cgi?id=66291
457 Reviewed by Darin Adler.
459 Test: fast/canvas/crash-set-font.html
461 This is Yet Another Missing updateFont (similar to bug 57756 and likely others). Here the issue is that
462 applying one of the font properties could mutate the parent style's font if m_parentStyle == m_style.
463 We would then query the newly created font when applying CSSPropertyFontSize, which has no font fallback
464 list as Font::update was never called.
466 The right fix would be to refactor of how we handle fonts to avoid such manual updates (see bug 62390).
467 Until this happens, it is better not to crash.
469 * css/CSSStyleSelector.cpp:
470 (WebCore::CSSStyleSelector::applyProperty): Added updateFont() here as the fonts could have been
471 mutated by the previous property change. Also added a comment explaining why it is safe to do it
474 2011-09-27 No'am Rosenthal <noam.rosenthal@nokia.com>
476 [Texmap] Code cleanup: remove unused boundingRect/visibleRect calculations
477 https://bugs.webkit.org/show_bug.cgi?id=68897
479 Reviewed by Andreas Kling.
481 No new functionality so no new tests.
483 * platform/graphics/texmap/TextureMapperNode.cpp:
484 (WebCore::TextureMapperNode::computeAllTransforms):
485 (WebCore::TextureMapperNode::computeTiles):
486 (WebCore::TextureMapperNode::syncCompositingState):
487 * platform/graphics/texmap/TextureMapperNode.h:
489 2011-09-27 No'am Rosenthal <noam.rosenthal@nokia.com>
491 [Texmap][Qt] Refactor texture-upload to allow direct chunk update
492 https://bugs.webkit.org/show_bug.cgi?id=68808
494 Add a function to BitmapTexture for direct pixel updates.
495 Modify BitmapTextureGL::endPaint to use that function. Since the BGRA
496 to RGBA swizzling is done inside that function, there's no need for the
497 RGBA32PremultipliedBuffer class to contain such function. Also,
498 RGBA32PremultipliedBuffer was renamed to BGRA32PremultipliedBuffer, correcting
501 Reviewed by Andreas Kling.
503 No new tests. Existing tests in LayoutTests/compositing test this.
505 * platform/graphics/opengl/TextureMapperGL.cpp:
506 (WebCore::BitmapTextureGL::beginPaint):
507 (WebCore::BitmapTextureGL::endPaint):
508 (WebCore::swizzleBGRAToRGBA):
509 (WebCore::BitmapTextureGL::updateContents):
510 * platform/graphics/opengl/TextureMapperGL.h:
511 (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
512 * platform/graphics/qt/TextureMapperQt.cpp:
513 (WebCore::BitmapTextureQt::updateContents):
514 (WebCore::BGRA32PremultimpliedBufferQt::data):
515 (WebCore::BGRA32PremultimpliedBuffer::create):
516 * platform/graphics/qt/TextureMapperQt.h:
517 * platform/graphics/texmap/TextureMapper.h:
519 2011-09-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
521 [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
523 QWidget and friends now live in the QtWidgets library. We update
524 includes in implementation files and private headers to us the
525 non-module-prefixed path, and leave the lookup for the include
526 path. For public headers we have to ifdef the includes as the
527 user might now have the modules we need in his QT config.
529 Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
530 have to update our code and use windowHandle() for setting the
531 parent relationships.
533 https://bugs.webkit.org/show_bug.cgi?id=68687
535 Reviewed by Andreas Kling.
538 * platform/graphics/qt/GraphicsLayerQt.cpp:
540 2011-09-27 Pavel Feldman <pfeldman@google.com>
542 Web Inspector: split DOM.attributesUpdated into attributeModified and attributeRemoved.
543 Send attribute name and value within the event.
544 https://bugs.webkit.org/show_bug.cgi?id=68613
546 Reviewed by Yury Semikhatsky.
549 (WebCore::Element::setAttribute):
550 (WebCore::Element::removeAttribute):
551 * inspector/Inspector.draft-01.json:
552 * inspector/Inspector.json:
553 * inspector/InspectorDOMAgent.cpp:
554 (WebCore::InspectorDOMAgent::didModifyDOMAttr):
555 (WebCore::InspectorDOMAgent::didRemoveDOMAttr):
556 * inspector/InspectorDOMAgent.h:
557 * inspector/InspectorInstrumentation.cpp:
558 (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
559 (WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
560 * inspector/InspectorInstrumentation.h:
561 (WebCore::InspectorInstrumentation::didModifyDOMAttr):
562 (WebCore::InspectorInstrumentation::didRemoveDOMAttr):
563 * inspector/front-end/DOMAgent.js:
564 (WebInspector.DOMNode.prototype._addAttribute):
565 (WebInspector.DOMNode.prototype._setAttribute):
566 (WebInspector.DOMNode.prototype._removeAttribute):
567 (WebInspector.DOMAgent.prototype._attributeModified):
568 (WebInspector.DOMAgent.prototype._attributeRemoved):
569 (WebInspector.DOMAgent.prototype._inlineStyleInvalidated):
570 (WebInspector.DOMAgent.prototype._loadNodeAttributes):
571 (WebInspector.DOMDispatcher.prototype.attributeModified):
572 (WebInspector.DOMDispatcher.prototype.attributeRemoved):
573 * inspector/front-end/ElementsPanel.js:
574 (WebInspector.ElementsPanel):
575 (WebInspector.ElementsPanel.prototype._attributesUpdated):
576 * inspector/front-end/MetricsSidebarPane.js:
577 (WebInspector.MetricsSidebarPane):
578 (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
579 * inspector/front-end/StylesSidebarPane.js:
580 (WebInspector.StylesSidebarPane):
581 (WebInspector.StylesSidebarPane.prototype._attributesModified):
582 (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
583 (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
584 (WebInspector.StylePropertyTreeElement.prototype.event):
585 (WebInspector.StylePropertyTreeElement.prototype):
586 * inspector/validate-protocol-compatibility:
588 2011-09-27 Sheriff Bot <webkit.review.bot@gmail.com>
590 Unreviewed, rolling out r96070 and r96075.
591 http://trac.webkit.org/changeset/96070
592 http://trac.webkit.org/changeset/96075
593 https://bugs.webkit.org/show_bug.cgi?id=68893
595 WK2 tests started crashing after r96070 for SL and Qt
596 (Requested by torarne on #webkit).
598 * page/FrameView.cpp:
599 (WebCore::FrameView::updateScrollCorner):
600 * platform/ScrollView.cpp:
601 (WebCore::ScrollView::setHasHorizontalScrollbar):
602 (WebCore::ScrollView::setHasVerticalScrollbar):
603 (WebCore::ScrollView::updateScrollbars):
604 * platform/ScrollableArea.cpp:
605 (WebCore::ScrollableArea::invalidateScrollCorner):
606 * platform/ScrollableArea.h:
607 * rendering/RenderLayerCompositor.cpp:
608 (WebCore::RenderLayerCompositor::destroyRootLayer):
609 * rendering/RenderScrollbarPart.cpp:
610 (WebCore::RenderScrollbarPart::imageChanged):
612 2011-09-27 Andrey Kosyakov <caseq@chromium.org>
614 Web Inspector: JS exception upon clicking on "Word Wrap" checkbox in Settings screen
615 https://bugs.webkit.org/show_bug.cgi?id=68888
617 Reviewed by Pavel Feldman.
619 * inspector/front-end/ElementsPanel.js:
620 (WebInspector.ElementsPanel.prototype._domWordWrapSettingChanged):
622 2011-09-21 Pavel Podivilov <podivilov@chromium.org>
624 Web Inspector: migrate RawSourceCode clients to SourceMapping class.
625 https://bugs.webkit.org/show_bug.cgi?id=68524
627 Clients should use uiSourceCode(), rawLocationToUILocation(), uiLocationToRawLocation() methods of SourceMapping class.
628 Initially, RawSourceCode may not have associated SourceMapping, so it is natural to extract this methods and associated state to a separate class.
630 Reviewed by Yury Semikhatsky.
632 * inspector/front-end/BreakpointManager.js:
633 (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
634 (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
635 * inspector/front-end/DebuggerPresentationModel.js:
636 (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
637 (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
638 (WebInspector.DebuggerPresentationModel.prototype._addScript):
639 (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping):
640 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
641 (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
642 (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
643 (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage):
644 (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
645 (WebInspector.PresentationCallFrame.prototype.get url):
646 (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated):
647 (WebInspector.PresentationCallFrame.prototype.sourceLine):
648 (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
649 (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
650 * inspector/front-end/SourceFile.js:
651 (WebInspector.RawSourceCode.prototype.get sourceMapping):
653 2011-09-27 Vineet Chaudhary <vineet.chaudhary@motorola.com>
655 wrap attribute of textarea element cannot be accessed by JavaScript.
656 https://bugs.webkit.org/show_bug.cgi?id=68592
658 Reviewed by Kent Tamura.
660 Added JS interface for wrap attribute to HTMLTextAreaElement.idl.
662 Test: fast/forms/textarea-wrap-attribute.html
664 * html/HTMLTextAreaElement.idl:
666 2011-09-27 Xan Lopez <xlopez@igalia.com>
668 [GTK] Add compatibility methods for DOM bindings
669 https://bugs.webkit.org/show_bug.cgi?id=68884
671 Reviewed by Philippe Normand.
673 Add compatibility methods for our DOM bindings.
675 * bindings/gobject/WebKitDOMCustom.cpp:
676 (webkit_dom_blob_slice): alias to the new method name.
677 (webkit_dom_html_form_element_dispatch_form_change): this was
678 removed from WebCore, so just print a warning about it.
679 (webkit_dom_html_form_element_dispatch_form_input): ditto.
680 * bindings/gobject/WebKitDOMCustom.h:
682 2011-09-27 Ryosuke Niwa <rniwa@webkit.org>
684 Encapsulate m_firstNodeInserted and m_lastLeafInserted in node insertion logic
685 https://bugs.webkit.org/show_bug.cgi?id=68875
687 Reviewed by Kent Tamura.
689 Added InsertedNode class inside ReplaceSelection to encapsulate m_firstNodeInserted and m_lastLeafInserted.
690 Deployed it in removeRedundantStylesAndKeepStyleSpanInline, doApply, and insertAsListItems of ReplaceSelectionCommand.
692 * editing/DeleteSelectionCommand.cpp:
693 (WebCore::DeleteSelectionCommand::removeNode):
694 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
695 * editing/ReplaceSelectionCommand.cpp:
696 (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
697 (WebCore::ReplaceSelectionCommand::doApply):
698 (WebCore::ReplaceSelectionCommand::insertAsListItems):
699 * editing/ReplaceSelectionCommand.h:
700 (WebCore::ReplaceSelectionCommand::InsertedNodes::respondToNodeInsertion):
701 (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode):
702 (WebCore::ReplaceSelectionCommand::InsertedNodes::firstNodeInserted):
703 (WebCore::ReplaceSelectionCommand::InsertedNodes::lastLeafInserted):
704 (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
705 * editing/htmlediting.cpp:
706 (WebCore::updatePositionForNodeRemoval): Moved from DeleteSelectionCommand.cpp.
707 * editing/htmlediting.h:
709 2011-09-27 Arun Patole <bmf834@motorola.com>
711 Audio element doesn't emit the 'playing' event every time it starts playing, after it has finished playing.
712 https://bugs.webkit.org/show_bug.cgi?id=60972
714 Reviewed by Philippe Normand.
716 The paused attribute should be set to true and the media element should emit a 'paused' at the end of playback.
717 WHATWG revision r6562: http://html5.org/tools/web-apps-tracker?from=6561&to=6562
719 Test: media/media-element-play-after-eos.html
721 * html/HTMLMediaElement.cpp:
722 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): set m_paused to true and schedule 'pause' event when playback ended.
724 2011-09-27 Rakesh KN <rakesh.kn@motorola.com>
726 <input> with autofocus doesn't lose focus when it has a certain onblur listener
727 https://bugs.webkit.org/show_bug.cgi?id=68513
729 Reviewed by Kent Tamura.
731 Test: fast/forms/autofocus-focus-only-once.html
733 These changes make sure that an element is focused only once when autofocus attribute is used.
735 * html/HTMLFormControlElement.cpp:
736 (WebCore::HTMLFormControlElement::HTMLFormControlElement):
737 (WebCore::shouldAutofocus):
738 (WebCore::HTMLFormControlElement::attach):
739 * html/HTMLFormControlElement.h:
740 (WebCore::HTMLFormControlElement::hasAutofocused):
741 (WebCore::HTMLFormControlElement::setAutofocused):
743 2011-09-26 Kentaro Hara <haraken@chromium.org>
745 Implement PopStateEvent.state with SerializedScriptValue and ScriptValue
746 https://bugs.webkit.org/show_bug.cgi?id=68345
748 Reviewed by Adam Barth.
750 Previously, the following test cases fail or crash:
752 - shouldBe("new PopStateEvent('eventType', { state: object1 }).state", "object1") -> FAIL
753 - new PopStateEvent('eventType', { state: document }).state -> CRASH in DRT
755 This is because PopStateEvent.state is implemented not as ScriptValue but as SerializedScriptValue.
756 However, we cannot simply change the type of PopStateEvent.state to ScriptValue,
757 since PopStateEvent can be constructed in the context that does not know ScriptValue.
758 For example, Document.cpp calls PopStateEvent::create() with SerializedScriptValue
759 popped from HistoryItem, but we cannot deserialize the SerializedScriptValue into
760 the corresponding ScriptValue here because the deserialization requires ExecState.
761 In other words, although we want to store PopStateEvent.state by ScriptValue internally,
762 PopStateEvent still needs to provide an API to construct it with SerializedScriptValue.
763 With these observations, this patch makes the following changes:
765 - If PopStateEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
766 When PopStateEvent.state is called, the ScriptValue is returned.
767 - If PopStateEvent is constructed with SerializedScriptValue, it is stored as
768 SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
769 at this point). When PopStateEvent.state is called, the SerializedScriptValue is
770 deserialized into the corresponding ScriptValue, and the ScriptValue is returned.
772 Tests: fast/events/constructors/pop-state-event-constructor.html
773 fast/events/fire-popstate-event.html
775 * GNUmakefile.list.am: Added JSPopStateEventCustom.cpp.
776 * UseJSC.cmake: Ditto.
777 * WebCore.gypi: Ditto.
778 * WebCore.pro: Ditto.
779 * WebCore.xcodeproj/project.pbxproj: Ditto.
780 * bindings/js/JSBindingsAllInOne.cpp: Ditto.
781 * bindings/js/JSPopStateEventCustom.cpp:
782 (WebCore::JSPopStateEvent::state): Custom getter for PopStateEvent.state.
783 * bindings/v8/custom/V8PopStateEventCustom.cpp:
784 (WebCore::V8PopStateEvent::stateAccessorGetter): Custom getter for PopStateEvent.state.
785 * dom/PopStateEvent.cpp:
786 (WebCore::PopStateEventInit::PopStateEventInit): Added initialization code for PopStateEvent.m_state.
787 (WebCore::PopStateEvent::PopStateEvent): Ditto.
788 (WebCore::PopStateEvent::create): Ditto.
789 (WebCore::PopStateEvent::initPopStateEvent): Ditto.
790 * dom/PopStateEvent.h:
791 (WebCore::PopStateEvent::serializedState): Getter.
792 (WebCore::PopStateEvent::state): Getter.
793 * dom/PopStateEvent.idl: Change the type of 'stateArg' and 'state' to DOMObject. Added [CustomGetter] to 'state'.
795 2011-09-09 Simon Fraser <simon.fraser@apple.com>
797 Pixel result shows that compositing/iframes/repaint-after-losing-scrollbars.html is failing
798 https://bugs.webkit.org/show_bug.cgi?id=67858
800 Reviewed by Darin Adler.
802 When non-overlay scrollbars are hidden on a composited iframe, nothing invalidated
803 the scrollbar areas or the scroll corner, so the scrollbars appear to remain.
805 Fix by invalidating the scrollbars and scroll corner when they are removed. Invalidation
806 on scrollbar creation appears to happen via updating the scrollbar style.
808 Tested by compositing/iframes/repaint-after-losing-scrollbars.html which no longer shows
809 stale scrollbars when run manually, even though the green squares are missing from the
810 pixel result (bug 67878).
812 * page/FrameView.cpp:
813 (WebCore::FrameView::updateScrollCorner): Pass the corner rect into invalidateScrollCorner().
814 * platform/ScrollView.cpp:
815 (WebCore::ScrollView::setHasHorizontalScrollbar): Invalidate the scrollbar area if hiding it.
816 (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
817 (WebCore::ScrollView::updateScrollbars): In the case where both scrollbars are going away,
818 compute the scroll corner rect while we still have scrollbars, and then invalidate it
819 explicitly. (updateScrollCorner() doesn't, because it doesn't have access to the old corner
821 * platform/ScrollableArea.cpp:
822 (WebCore::ScrollableArea::invalidateScrollCorner): Pass the rect in, because we can't
823 compute it in the case where the scrollbars are going away.
824 * platform/ScrollableArea.h: Pass in a rect to invalidateScrollCorner(), which matches
825 invalidateScrollbar().
826 * rendering/RenderLayerCompositor.cpp:
827 (WebCore::RenderLayerCompositor::destroyRootLayer): Pass the corner rect into invalidateScrollCorner().
828 * rendering/RenderScrollbarPart.cpp: Ditto.
829 (WebCore::RenderScrollbarPart::imageChanged): Ditto.
831 2011-09-09 Simon Fraser <simon.fraser@apple.com>
833 Translucent scrollbars on composited layers render incorrectly
834 https://bugs.webkit.org/show_bug.cgi?id=58515
836 Reviewed by Sam Weinig.
838 Scrollbars in composited elements were getting drawn twice,
839 because r41203 moved the call to paintOverflowControls() out of
840 RenderLayer::paintLayer(), but forgot to change RenderLayerBacking::paintIntoLayer().
842 Test: compositing/scrollbar-painting.html
844 * rendering/RenderLayerBacking.cpp:
845 (WebCore::RenderLayerBacking::paintIntoLayer):
847 2011-09-26 Nat Duca <nduca@chromium.org>
849 [chromium] Make CCThreadProxy draw
850 https://bugs.webkit.org/show_bug.cgi?id=67417
852 Update the CCThreadProxy to correctly implement the CCProxy
853 interface, do all the right committing and updating steps, and
854 draw a picture on the screen.
856 Reviewed by James Robinson.
858 * platform/graphics/IntRect.h:
859 * platform/graphics/chromium/LayerRendererChromium.cpp:
860 (WebCore::LayerRendererChromium::~LayerRendererChromium):
861 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
862 (WebCore::CCHeadsUpDisplay::enabled):
863 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
864 (WebCore::CCLayerImpl::CCLayerImpl):
865 (WebCore::CCLayerImpl::~CCLayerImpl):
866 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
867 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
868 (WebCore::CCLayerTreeHost::commitTo):
869 (WebCore::CCLayerTreeHost::commitComplete):
870 (WebCore::CCLayerTreeHost::setNeedsRedraw):
871 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
872 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
873 (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
874 (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
875 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
876 (WebCore::CCSingleThreadProxy::finishAllRendering):
877 (WebCore::CCSingleThreadProxy::setNeedsCommit):
878 (WebCore::CCSingleThreadProxy::commitIfNeeded):
879 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
880 (WebCore::CCThreadProxy::CCThreadProxy):
881 (WebCore::CCThreadProxy::~CCThreadProxy):
882 (WebCore::CCThreadProxy::compositeAndReadback):
883 (WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
884 (WebCore::CCThreadProxy::finishAllRendering):
885 (WebCore::CCThreadProxy::isStarted):
886 (WebCore::CCThreadProxy::setNeedsCommit):
887 (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
888 (WebCore::CCThreadProxy::setNeedsRedraw):
889 (WebCore::CCThreadProxy::start):
890 (WebCore::CCThreadProxy::stop):
891 (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
892 (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
893 (WebCore::CCThreadProxy::beginFrameAndCommit):
894 (WebCore::CCThreadProxy::commitOnCCThread):
895 (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
896 (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
897 (WebCore::CCThreadProxy::drawLayersOnCCThread):
898 (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
899 * platform/graphics/chromium/cc/CCThreadProxy.h:
901 2011-09-26 Adam Klein <adamk@chromium.org>
903 [MutationObservers] implement MutationRecord
904 https://bugs.webkit.org/show_bug.cgi?id=68824
906 Reviewed by Darin Adler.
908 Implements MutationRecord as specified in the thread at
909 http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html,
910 including some minor naming changes from the original proposal.
912 This is a small part of the MutationObserver API, see
913 https://bugs.webkit.org/show_bug.cgi?id=68729 for the metabug covering
916 No new tests as this isn't yet exposed to the platform.
919 * DerivedSources.cpp:
920 * DerivedSources.make:
921 * GNUmakefile.list.am:
924 * WebCore.vcproj/WebCore.vcproj:
925 * WebCore.xcodeproj/project.pbxproj:
926 * dom/MutationRecord.cpp: Added.
927 (WebCore::MutationRecord::createChildList):
928 (WebCore::MutationRecord::createAttributes):
929 (WebCore::MutationRecord::createCharacterData):
930 (WebCore::MutationRecord::MutationRecord):
931 (WebCore::MutationRecord::~MutationRecord):
932 * dom/MutationRecord.h: Added.
933 (WebCore::MutationRecord::target):
934 (WebCore::MutationRecord::addedNodes):
935 (WebCore::MutationRecord::removedNodes):
936 (WebCore::MutationRecord::previousSibling):
937 (WebCore::MutationRecord::nextSibling):
938 (WebCore::MutationRecord::attributeName):
939 (WebCore::MutationRecord::attributeNamespace):
940 (WebCore::MutationRecord::oldValue):
941 (WebCore::MutationRecord::setOldValue):
942 * dom/MutationRecord.idl: Added.
944 2011-09-26 Kentaro Hara <haraken@chromium.org>
946 Implement a CloseEvent constructor for V8
947 https://bugs.webkit.org/show_bug.cgi?id=68793
949 Reviewed by Adam Barth.
951 Test: fast/events/constructors/close-event-constructor.html
953 * bindings/v8/OptionsObject.cpp:
954 (WebCore::OptionsObject::getKey): Just removed an extra space.
955 (WebCore::OptionsObject::getKeyValue): Returns an unsigned short value corresponding to the given key.
956 * bindings/v8/OptionsObject.h:
957 * bindings/v8/custom/V8EventConstructors.cpp: Added the CloseEvent constructor.
958 * websockets/CloseEvent.idl: Added a 'V8CustomConstructor' attribute.
960 2011-09-26 Nate Chapin <japhet@chromium.org>
962 Clean up CachedResource::load(). Collapse its
963 logic into a single callsite, taking just a
964 CachedResourceLoader and a ResourceLoaderOptions.
966 1. Its 'incremental' parameter is redundant.
967 2. With 'incremental' removed, the SecurityCheckPolicy is the only
968 parameter difference between the CachedResource::load() variants.
969 Making it a part of ResourceLoaderOptions removes yet another random
970 enum that is passed around individually.
971 3. We currently have to call setResourceLoaderOptions() before load() on a
972 new CachedResource, so we should just take the ResourceLoaderOptions in load().
974 https://bugs.webkit.org/show_bug.cgi?id=67443
976 Reviewed by Antti Koivisto.
978 No new tests, refactor only.
980 * loader/DocumentThreadableLoader.cpp:
981 * loader/FrameLoaderTypes.h: Move SecurityCheckPolicy to ResourceLoaderOptions.h.
982 * loader/MainResourceLoader.cpp:
983 * loader/NetscapePlugInStreamLoader.cpp:
984 * loader/ResourceLoadScheduler.cpp:
985 * loader/ResourceLoadScheduler.h:
986 * loader/ResourceLoader.cpp: Enforce SecurityCheckPolicy here instead of SubresourceLoader.
987 * loader/ResourceLoaderOptions.h: Store SecurityCheckPolicy on ResourceLoaderOptions.
988 * loader/SubresourceLoader.cpp:
989 * loader/SubresourceLoader.h:
990 * loader/cache/CachedFont.cpp:
991 * loader/cache/CachedFont.h:
992 * loader/cache/CachedImage.cpp:
993 * loader/cache/CachedImage.h:
994 * loader/cache/CachedResource.cpp:
995 * loader/cache/CachedResource.h:
996 * loader/cache/CachedResourceLoader.cpp:
997 (WebCore::defaultCachedResourceOptions): Define the default ResourceLoaderOptions for
998 CachedResource loads here instead of as a default parameter on requestResource().
999 * loader/cache/CachedResourceLoader.h:
1000 * loader/cache/CachedResourceRequest.cpp:
1001 (WebCore::CachedResourceRequest::didReceiveData): Remove m_incremental, since its purpose
1002 is already enforced in the data() implementation of every CachedResource that doesn't want
1004 * loader/cache/CachedResourceRequest.h:
1006 2011-09-26 Joshua Bell <jsbell@chromium.org>
1008 IndexedDB: Second half of IDBFactory.getDatabaseNames implementation
1009 https://bugs.webkit.org/show_bug.cgi?id=68818
1011 Reviewed by Tony Chang.
1013 Test: storage/indexeddb/factory-basics.html
1015 Adds ability to enumerate IndexedDB databases within an origin.
1017 * bindings/v8/custom/V8IDBAnyCustom.cpp:
1019 * storage/IDBAny.cpp:
1020 (WebCore::IDBAny::domStringList):
1021 (WebCore::IDBAny::set):
1023 * storage/IDBBackingStore.h:
1024 * storage/IDBCallbacks.h:
1025 * storage/IDBFactory.cpp:
1026 (WebCore::IDBFactory::getDatabaseNames):
1027 * storage/IDBFactory.h:
1028 * storage/IDBFactory.idl:
1029 * storage/IDBFactoryBackendImpl.cpp:
1030 (WebCore::IDBFactoryBackendImpl::getDatabaseNames):
1031 (WebCore::IDBFactoryBackendImpl::open):
1032 (WebCore::IDBFactoryBackendImpl::openBackingStore):
1033 * storage/IDBFactoryBackendImpl.h:
1034 * storage/IDBFactoryBackendInterface.h:
1035 * storage/IDBLevelDBBackingStore.cpp:
1036 (WebCore::IDBLevelDBBackingStore::getDatabaseNames):
1037 (WebCore::IDBLevelDBBackingStore::getObjectStores):
1038 (WebCore::IDBLevelDBBackingStore::getIndexes):
1039 * storage/IDBLevelDBBackingStore.h:
1040 * storage/IDBLevelDBCoding.cpp:
1041 (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeMinKeyForOrigin):
1042 (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeStopKeyForOrigin):
1043 * storage/IDBLevelDBCoding.h:
1044 * storage/IDBRequest.cpp:
1045 (WebCore::IDBRequest::onSuccess):
1046 * storage/IDBRequest.h:
1047 * storage/IDBSQLiteBackingStore.cpp:
1048 (WebCore::IDBSQLiteBackingStore::getDatabaseNames):
1049 * storage/IDBSQLiteBackingStore.h:
1051 2011-09-26 Tim Horton <timothy_horton@apple.com>
1053 <animateColor> applied to filtered ellipse does not update
1054 https://bugs.webkit.org/show_bug.cgi?id=68457
1055 <rdar://problem/10154777>
1057 Reviewed by Darin Adler.
1059 Invalidate the filter's cache when style changes take place so that style changes are respected.
1061 Test: svg/filters/animate-fill.svg
1063 * rendering/svg/SVGResourcesCache.cpp:
1064 (WebCore::SVGResourcesCache::clientStyleChanged):
1065 (WebCore::SVGResourcesCache::clientUpdatedFromElement):
1067 2011-09-26 Max Perepelitsyn <pph34r@gmail.com>
1069 Set but unused variables cleanup in v8 bindings (gcc 4.6)
1070 https://bugs.webkit.org/show_bug.cgi?id=68079
1072 Reviewed by Adam Barth.
1074 Test: http/tests/websocket/tests/hybi/send-object-tostring-check.html
1076 * bindings/scripts/CodeGeneratorV8.pm:
1077 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1078 (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
1079 * bindings/scripts/test/V8/V8TestObj.cpp:
1080 (WebCore::ConfigureV8TestObjTemplate):
1081 * bindings/v8/WorkerScriptDebugServer.cpp:
1082 (WebCore::WorkerScriptDebugServer::addListener):
1083 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1084 (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
1085 * bindings/v8/custom/V8WebSocketCustom.cpp:
1086 (WebCore::V8WebSocket::sendCallback):
1088 2011-09-26 Tony Chang <tony@chromium.org>
1090 switch the initial value of flex-order to 0
1091 https://bugs.webkit.org/show_bug.cgi?id=68820
1093 The spec changed from having an initial value of 1 to 0.
1095 Reviewed by Ojan Vafai.
1097 * rendering/style/RenderStyle.h:
1098 (WebCore::InheritedFlags::initialFlexOrder):
1100 2011-09-26 Chris Rogers <crogers@google.com>
1102 OfflineAudioDestinationNode must wait for thread completion in uninitialize()
1103 https://bugs.webkit.org/show_bug.cgi?id=68725
1105 Reviewed by Kenneth Russell.
1107 No new tests. This fixes internal implementation details.
1109 * webaudio/OfflineAudioDestinationNode.cpp:
1110 (WebCore::OfflineAudioDestinationNode::uninitialize):
1112 2011-09-26 Xan Lopez <xlopez@igalia.com>
1114 [GTK] Do not ignore 'Replaceable' attributes in the DOM bindings
1115 https://bugs.webkit.org/show_bug.cgi?id=68837
1117 Reviewed by Martin Robinson.
1119 * bindings/scripts/CodeGeneratorGObject.pm: add getters (but not
1120 setters) for 'Replaceable' attributes. Punt for the future
1121 actually making them settable, since it seems non trivial.
1123 2011-09-26 Ryosuke Niwa <rniwa@webkit.org>
1127 * testing/Internals.cpp:
1128 (WebCore::Internals::setZoomAnimatorTransform):
1130 2011-09-26 Joshua Bell <jsbell@chromium.org>
1132 IndexedDB: Null key path gets stored as empty string key path
1133 https://bugs.webkit.org/show_bug.cgi?id=68726
1135 Reviewed by Tony Chang.
1137 Store additional flag to indicate if object store key path
1138 is null vs. empty. Added additional runtime tests for integrity
1139 of object store metadata.
1141 * storage/IDBLevelDBBackingStore.cpp:
1142 (WebCore::checkObjectStoreAndMetaDataType):
1143 (WebCore::IDBLevelDBBackingStore::getObjectStores):
1144 (WebCore::IDBLevelDBBackingStore::createObjectStore):
1145 * storage/IDBLevelDBCoding.cpp:
1147 2011-09-26 John Bauman <jbauman@chromium.org>
1149 Fix nonpremultiplied webgl toDataURL to jpeg
1150 https://bugs.webkit.org/show_bug.cgi?id=68366
1152 The canvas spec says that toDataURL to formats without an alpha must
1153 be "composited onto a solid black background using the source-over
1156 Reviewed by Kenneth Russell.
1158 * platform/graphics/cg/ImageBufferCG.cpp:
1159 (WebCore::CGImageToDataURL):
1160 (WebCore::ImageBuffer::toDataURL):
1161 (WebCore::ImageDataToDataURL):
1162 * platform/image-encoders/skia/JPEGImageEncoder.cpp:
1163 (WebCore::RGBAtoRGB):
1165 2011-09-26 Raphael Kubo da Costa <kubo@profusion.mobi>
1167 [CMake] Remove FindFreetype.cmake
1168 https://bugs.webkit.org/show_bug.cgi?id=68778
1170 Reviewed by Adam Barth.
1172 CMake has provided its own FindFreetype.cmake forever, so there is no
1173 need to have another implementation in WebKit.
1175 No new tests, just a buildsystem change.
1177 * CMakeListsEfl.txt: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS} instead of
1178 Freetype_{LIBRARIES,INCLUDE_DIRS}.
1180 2011-09-26 Alexei Svitkine <asvitkine@chromium.org>
1182 Fix full-page rubber band overhang appearing when gesturing during a slow page load.
1183 https://bugs.webkit.org/show_bug.cgi?id=68568
1185 Chromium bug: http://code.google.com/p/chromium/issues/detail?id=97243
1187 (This also happens on Safari.)
1189 The problem was that ScrollView::overhangAmount() was returning a full-page overhang due to contentsSize() being 0 briefly during a page load, which was then getting used by ScrollAnimatorChromiumMac.mm to update the overhang on a gesture event. This change makes the relevant logic not return an overhang if the contentsSize() is empty.
1191 Reviewed by Adam Barth.
1193 No new tests, since this is highly timing-related.
1195 * platform/ScrollView.cpp:
1196 (WebCore::ScrollView::overhangAmount):
1197 (WebCore::ScrollView::wheelEvent):
1199 2011-09-26 W. James MacLean <wjmaclean@chromium.org>
1201 [chromium] Revise zoom animator backend to use full transform instead of just scale.
1202 https://bugs.webkit.org/show_bug.cgi?id=68535
1204 Reviewed by Kenneth Russell.
1206 * page/Settings.cpp:
1207 (WebCore::Settings::Settings):
1209 (WebCore::Settings::setZoomAnimatorScale):
1210 (WebCore::Settings::zoomAnimatorScale):
1211 (WebCore::Settings::setZoomAnimatorPosition):
1212 (WebCore::Settings::zoomAnimatorPosX):
1213 (WebCore::Settings::zoomAnimatorPosY):
1214 * platform/graphics/chromium/LayerRendererChromium.cpp:
1215 (WebCore::LayerRendererChromium::LayerRendererChromium):
1216 (WebCore::LayerRendererChromium::drawLayersInternal):
1217 * platform/graphics/chromium/LayerRendererChromium.h:
1218 (WebCore::LayerRendererChromium::setZoomAnimatorTransform):
1219 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1220 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1221 (WebCore::CCLayerTreeHost::commitTo):
1222 (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
1223 (WebCore::CCLayerTreeHost::updateLayers):
1224 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1225 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1226 (WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
1227 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1228 * testing/Internals.cpp:
1229 (WebCore::Internals::setZoomAnimatorTransform):
1230 * testing/Internals.h:
1231 * testing/Internals.idl:
1233 2011-09-26 Dan Bernstein <mitz@apple.com>
1235 REGRESSION (r95926) Assert firing in svg/clip-path/clip-path-on-svg.svg
1236 https://bugs.webkit.org/show_bug.cgi?id=68819
1238 Reviewed by Dave Hyatt.
1240 * rendering/RenderObject.cpp:
1241 (WebCore::RenderObject::scheduleRelayout): Revert to using view() instead of the RenderView**
1242 parameter of isRooted, since only the former returns 0 when the document is detached.
1244 2011-09-26 Vsevolod Vlasov <vsevik@chromium.org>
1246 Web Inspector: XMLHttpRequest console logging messages should link to network panel when possible.
1247 https://bugs.webkit.org/show_bug.cgi?id=67399
1249 Reviewed by Pavel Feldman.
1251 * inspector/ConsoleMessage.cpp:
1252 (WebCore::ConsoleMessage::ConsoleMessage):
1253 * inspector/ConsoleMessage.h:
1254 * inspector/InspectorConsoleAgent.cpp:
1255 (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
1256 * inspector/InspectorConsoleAgent.h:
1257 * inspector/InspectorInstrumentation.cpp:
1258 (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
1259 * inspector/front-end/ConsoleMessage.js:
1260 (WebInspector.ConsoleMessage.prototype._formatMessage.else.else.linkifier):
1261 (WebInspector.ConsoleMessage.prototype._formatMessage):
1262 * inspector/front-end/ResourcesPanel.js:
1263 (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
1264 * inspector/front-end/inspector.js:
1265 (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
1266 (WebInspector.linkifyStringAsFragment):
1268 2011-09-26 Jer Noble <jer.noble@apple.com>
1270 White flash when entering full-screen using element.webkitRequestFullScreen()
1271 https://bugs.webkit.org/show_bug.cgi?id=68481
1273 Reviewed by Simon Fraser.
1275 No new tests; covered by existing full screen tests.
1277 During an animation, renderers may try to paint into the FullScreenRenderer's
1278 GraphicsLayer, and an optimization we previously added for the FullScreenRenderer's
1279 background will cause these paints to fail. Remove this optimization in
1280 containsPaintedContent, and taking non-composited elements into full screen will
1283 * rendering/RenderLayerBacking.cpp:
1284 (WebCore::RenderLayerBacking::containsPaintedContent):
1286 2011-09-26 Mihai Parparita <mihaip@chromium.org>
1288 Unreviewed, rolling out r95960.
1289 http://trac.webkit.org/changeset/95960
1290 https://bugs.webkit.org/show_bug.cgi?id=58608
1292 Significantly changes table border rendering
1294 * rendering/RenderObject.cpp:
1295 (WebCore::RenderObject::drawLineForBoxSide):
1297 2011-09-23 Simon Fraser <simon.fraser@apple.com>
1299 Repaint tests don't work in WebKit2
1300 https://bugs.webkit.org/show_bug.cgi?id=68453
1302 Reviewed by Sam Weinig.
1304 Have FrameView keep track of repaint rects when asked to, and
1305 expose this set of repaint rects via private WebKit API for later
1306 use by DumpRenderTree.
1308 The repaint rects are in WebView coordinates, so we have to
1309 unapply the scroll offset.
1312 * page/FrameView.cpp:
1313 (WebCore::FrameView::FrameView):
1314 (WebCore::FrameView::reset):
1315 (WebCore::FrameView::repaintContentRectangle):
1316 (WebCore::FrameView::setTracksRepaints):
1318 (WebCore::FrameView::isTrackingRepaints):
1319 (WebCore::FrameView::resetTrackedRepaints):
1320 (WebCore::FrameView::trackedRepaintRects):
1322 2011-09-26 Antti Koivisto <antti@apple.com>
1324 Optimize matching of common pseudo classes
1325 https://bugs.webkit.org/show_bug.cgi?id=68633
1327 Reviewed by Dave Hyatt, Darin Adler, Dimitri Glazkov.
1329 :link, :visited and :focus are quite common. They often used as univeral selectors (including in our
1330 default stylesheet) so we try to match them for all elements in the document. They take always the
1331 slow matching path. In addition we match link styles twice due to visited link pseudo style generation
1332 so the overhead is doubled. As a result substantial portion of our style matching time is spent
1333 dealing with these pseudo classes.
1335 This patch adds new lists to RuleSet for common pseudo class rules. The rules on the lists are only checked
1336 if the element has approprate type and stat. ases where the rightmost pseudo class can then be rejected immediately.
1337 We can also enable the fast path checking for the rest of the selector in many cases.
1339 This seems to be >30% progression in selector matching performance with typical style sheets. It saves ~0.9s
1340 when loading the full HTML5 spec.
1342 * css/CSSStyleSelector.cpp:
1343 (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
1344 (WebCore::RuleSet::idRules):
1345 (WebCore::RuleSet::classRules):
1346 (WebCore::RuleSet::tagRules):
1347 (WebCore::RuleSet::shadowPseudoElementRules):
1348 (WebCore::RuleSet::linkPseudoClassRules):
1349 (WebCore::RuleSet::visitedPseudoClassRules):
1350 (WebCore::RuleSet::focusPseudoClassRules):
1351 (WebCore::RuleSet::universalRules):
1352 (WebCore::RuleSet::pageRules):
1354 Add a new lists, some stylistic renamings.
1356 (WebCore::CSSStyleSelector::matchRules):
1358 New link and focus checks.
1360 (WebCore::CSSStyleSelector::matchRulesForList):
1361 (WebCore::CSSStyleSelector::checkSelector):
1363 Inline the rightmost selector tag checking, skip if unnecessary.
1365 (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
1367 Common pseudo classes now match based on early filtering (though it is not a hash in this case).
1369 (WebCore::RuleData::RuleData):
1370 (WebCore::RuleSet::~RuleSet):
1371 (WebCore::RuleSet::addRule):
1373 Sort pseudo classes to new lists.
1375 (WebCore::RuleSet::collectFeatures):
1376 (WebCore::RuleSet::shrinkToFit):
1377 (WebCore::CSSStyleSelector::matchPageRules):
1378 * css/SelectorChecker.cpp:
1379 (WebCore::SelectorChecker::checkSelector):
1381 Adopt to expanded fast path (this is used by querySelectorAll).
1383 (WebCore::SelectorChecker::fastCheckRightmostSelector):
1384 (WebCore::SelectorChecker::fastCheckSelector):
1386 Rightmost selector is now checked differently than the rest. RuleSet based selection in CSSStyleSelector
1387 is equivalent to fastCheckRightmostSelector().
1389 (WebCore::isFastCheckableRelation):
1390 (WebCore::isFastCheckableMatch):
1391 (WebCore::isFastCheckableRightmostSelector):
1392 (WebCore::SelectorChecker::isFastCheckableSelector):
1393 (WebCore::SelectorChecker::checkOneSelector):
1394 (WebCore::SelectorChecker::commonPseudoClassSelectorMatches):
1395 (WebCore::SelectorChecker::isFrameFocused):
1396 * css/SelectorChecker.h:
1397 (WebCore::SelectorChecker::isCommonPseudoClassSelector):
1398 (WebCore::SelectorChecker::linkMatchesVisitedPseudoClass):
1399 (WebCore::SelectorChecker::matchesFocusPseudoClass):
1400 (WebCore::SelectorChecker::tagMatches):
1402 Refactor a bunch of shared checks into functions.
1404 2011-09-12 Ryosuke Niwa <rniwa@webkit.org>
1406 REGRESSION(r74971): Selection doesn't work correctly in BiDi Text
1407 https://bugs.webkit.org/show_bug.cgi?id=57340
1409 Reviewed by Eric Seidel.
1411 This patch adds the end point adjustment mechanism at bidi boundaries similar to the one NSTextView implements.
1413 To understand the problem, suppose we have strong RTL letters "ABC" in a LTR block (visually laid out as CBA).
1415 Per NSTextView convention, logical offsets between each letter is placed as (0)C(2)B(1)A(3). In other words,
1416 placing the caret visually on the left of CBA yields the position inside the text node of "ABC" at offset 0.
1417 Likewise, placing it between C and B yields ("ABC", 2), and placing it on the right of CBA yields ("ABC", 3).
1419 Now suppose a user attempts to select the letter A by a mouse drag from the right of CBA to a point between
1420 B and A. First, the initial mouse down places the selection's base at ("ABC", 3). Then as the mouse pointer
1421 moves to a point on the left of A, the selection's extent is set at ("ABC", 1), selecting "BC".
1423 To mitigate this issue, NSTextView adjusts selection base and extent under certain conditions. In the above
1424 example, NSTextView detects user's intent and changes the selection's base to ("ABC", 0) temporarily.
1426 This patch implements a similar trick on WebKit. We adjust the base or the extent when they're at the left
1427 end or at the right end of a bidi run and the other end is inside of the run. In the above example, the
1428 base position on the right of A is the right end of a bidi run and the extent position between B and A is
1429 inside the same run (CBA), so we would adjust the base to be ("ABC", 0) as NSTextView does.
1431 Take another example abcABC. Note offsets are assigned as (0)a(1)b(2)c(3)C(5)B(4)A(6) When the user starts
1432 a mouse drag from the right of A to a point between B and A, we adjust the selection base to be ("abcABC", 3)
1433 because the base is at the right end of a bidi run and the extent is in the same run. We keep the adjustment
1434 when the mouse pointer moves to a point between C and B. However, when the mouser pointer reaches a point
1435 between letters b and c, the selection extent is placed at ("abcABC", 2). Because the extent is outside of
1436 the bidi run started from the selection base, we restore the original base at this point. Had we not done this,
1437 we'll end up selecting just "c".
1439 While this algorithm is implemented in FrameSelection::setNonDirectionalSelectionIfNeeded, this patch adds
1440 various member functions to RenderedPosition to facilitate abstraction around inline boxes and bidi runs.
1442 Test: editing/selection/select-bidi-run.html
1444 * editing/FrameSelection.cpp:
1445 (WebCore::adjustEndpointsAtBidiBoundary): Added. Implements the endpoints adjustment algorithm.
1446 (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded): Calls adjustEndpointsAtBidiBoundary, and
1447 restores the original base as needed.
1448 * editing/FrameSelection.h:
1449 * editing/RenderedPosition.cpp:
1450 (WebCore::RenderedPosition::RenderedPosition):
1451 (WebCore::RenderedPosition::prevLeafChild): Added to cache prevLeafChild of the current inline box.
1452 (WebCore::RenderedPosition::nextLeafChild): Ditto for nextLeafChild.
1453 (WebCore::RenderedPosition::isEquivalent): Compares two RenderedPositions considering neighboring inline boxes
1454 so that the rightmost position in a box and the leftmost position in the following box is considered equal.
1455 (WebCore::RenderedPosition::bidiLevelOnLeft): Added. Returns the bidi level of the run on the left. We can't
1456 add a generic bidiLevel to this class because it'll be ambiguous at bidi boundaries.
1457 (WebCore::RenderedPosition::bidiLevelOnRight): Ditto for the run on the right.
1458 (WebCore::RenderedPosition::leftBoundaryOfBidiRun): Added.
1459 (WebCore::RenderedPosition::rightBoundaryOfBidiRun): Added.
1460 (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
1461 (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
1462 (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun): Returns Position at the left edge of a bidi run
1463 if RenderedPosition is at such a position. Asserts atLeftBoundaryOfBidiRun.
1464 (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun): Ditto for the right edge.
1465 * editing/RenderedPosition.h:
1466 (WebCore::RenderedPosition::atLeftBoundaryOfBidiRun): Added.
1467 (WebCore::RenderedPosition::atRightBoundaryOfBidiRun): Added.
1468 (WebCore::RenderedPosition::atLeftmostOffsetInBox): Added.
1469 (WebCore::RenderedPosition::atRightmostOffsetInBox): Added.
1470 (WebCore::RenderedPosition::uncachedInlineBox): Added. We can't use a static const variable because gcc thinks
1471 reinterpret_cast<InlineBox*>(1) is not an integral value.
1472 (WebCore::RenderedPosition::RenderedPosition):
1473 * editing/VisibleSelection.h:
1474 (WebCore::VisibleSelection::visibleBase): Added.
1475 (WebCore::VisibleSelection::visibleExtent): Added.
1476 * page/EventHandler.cpp:
1477 (WebCore::EventHandler::updateSelectionForMouseDrag):
1479 2011-09-26 Sheriff Bot <webkit.review.bot@gmail.com>
1481 Unreviewed, rolling out r95256.
1482 http://trac.webkit.org/changeset/95256
1483 https://bugs.webkit.org/show_bug.cgi?id=68814
1485 Temporary CRASH calls no longer needed (Requested by enne on
1488 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1489 (WebCore::CCLayerTreeHost::commitTo):
1491 2011-09-26 Mark Rowe <mrowe@apple.com>
1493 <http://webkit.org/b/68809> IconDatabase::syncThreadMainLoop can assert if wakeSyncThread is called before thread starts executing
1495 If wakeSyncThread is called before syncThreadMainLoop starts executing then m_syncThreadHasWorkToDo would be set
1496 while executing the body of the sync thread loop, causing us to skip blocking on the condition variable. This would
1497 lead to us hitting the assertion failure due to m_disabledSuddenTerminationForSyncThread being false, unless the main
1498 thread happened to call wakeSyncThread a second time while the first loop iteration was executing.
1500 Reviewed by Anders Carlsson.
1502 * loader/icon/IconDatabase.cpp:
1503 (WebCore::IconDatabase::syncThreadMainLoop): Clear m_syncThreadHasWorkToDo to indicate that we're about to perform
1506 2011-09-26 Antaryami Pandia <antaryami.pandia@motorola.com>
1508 Groove/inset/outset borders show solid if the color is black.
1509 https://bugs.webkit.org/show_bug.cgi?id=58608
1511 Reviewed by Simon Fraser.
1513 Lightened the border side colors when drawing borders with styles as
1514 Outset/Inset/Groove/Ridge.
1516 Tests: fast/borders/border-groove.html
1517 fast/borders/border-inset.html
1518 fast/borders/border-outset.html
1519 fast/borders/border-ridge.html
1521 * rendering/RenderObject.cpp:
1522 (WebCore::RenderObject::drawLineForBoxSide):
1524 2011-09-26 Abhishek Arya <inferno@chromium.org>
1526 Delete retired custom font data only on document
1527 destruction, and not on recalc style.
1528 https://bugs.webkit.org/show_bug.cgi?id=68805
1530 Reviewed by Dave Hyatt.
1532 Test: fast/text/custom-font-data-crash.html
1535 (WebCore::Document::recalcStyle):
1537 2011-09-23 Adrienne Walker <enne@google.com>
1539 [chromium] Update VideoLayerChromium textures after texture resources are reclaimed
1540 https://bugs.webkit.org/show_bug.cgi?id=68742
1542 Reviewed by James Robinson.
1544 If video textures are reclaimed (such as during a visibility change on
1545 a tab), the dirty rect for the layer is empty and it skips out of
1546 updating compositor resources, leaving the video textures invalid.
1547 Instead, check the textures here to make sure they're still valid
1548 first before early out so that they can get reupdated if necessary.
1550 Additionally, fix a small bug in pushPropertiesTo where 1 plane RGB
1551 videos would not get drawn because all 3 planes didn't have valid
1554 Test: compositing/video-page-visibility.html
1556 * platform/graphics/chromium/VideoLayerChromium.cpp:
1557 (WebCore::VideoLayerChromium::VideoLayerChromium):
1558 (WebCore::VideoLayerChromium::cleanupResources):
1559 (WebCore::VideoLayerChromium::updateCompositorResources):
1560 (WebCore::VideoLayerChromium::pushPropertiesTo):
1561 (WebCore::VideoLayerChromium::setLayerTreeHost):
1562 (WebCore::VideoLayerChromium::texturesValid):
1563 * platform/graphics/chromium/VideoLayerChromium.h:
1565 2011-09-26 Pavel Feldman <pfeldman@google.com>
1567 Web Inspector: introduce protocol backwards compatibility validator.
1568 https://bugs.webkit.org/show_bug.cgi?id=68800
1570 Reviewed by Yury Semikhatsky.
1572 * inspector/Inspector.json:
1573 * inspector/Inspector.draft-01.json: Copied from Source/WebCore/inspector/Inspector.json.
1574 * inspector/validate-protocol-compatibility: Added.
1576 2011-09-26 Andreas Kling <kling@webkit.org>
1578 [Qt] Unused variable in QNetworkReplyHandler::sendNetworkRequest.
1579 https://bugs.webkit.org/show_bug.cgi?id=68798
1581 Reviewed by Noam Rosenthal.
1583 * platform/network/qt/QNetworkReplyHandler.cpp:
1584 (WebCore::QNetworkReplyHandler::sendNetworkRequest):
1586 2011-09-26 Ilya Tikhonovsky <loislo@chromium.org>
1588 Second unreviewed build fix for r95941
1590 * inspector/InspectorInstrumentation.cpp:
1591 (WebCore::InspectorInstrumentation::willCallFunctionImpl):
1593 2011-09-26 Ilya Tikhonovsky <loislo@chromium.org>
1595 Unreviewed build fix for webkit builds after r95941.
1597 * inspector/InspectorInstrumentation.cpp:
1598 (WebCore::InspectorInstrumentation::willCallFunctionImpl):
1600 2011-09-26 Andrey Kosyakov <caseq@chromium.org>
1602 Web Inspector: [Extensions API] allow resources to hook on click on resource links
1603 https://bugs.webkit.org/show_bug.cgi?id=68528
1605 Reviewed by Yury Semikhatsky.
1608 * WebCore.vcproj/WebCore.vcproj:
1609 * inspector/front-end/ExtensionAPI.js:
1610 (injectedExtensionAPI.Console.prototype.get Severity):
1611 (injectedExtensionAPI.Panels.prototype.create):
1612 (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
1613 (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
1614 (injectedExtensionAPI.ExtensionServerClient.prototype.hasHandler):
1615 (injectedExtensionAPI.ExtensionServerClient.prototype.deregisterHandler):
1616 * inspector/front-end/ExtensionServer.js:
1617 (WebInspector.ExtensionServer):
1618 (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
1619 (WebInspector.ExtensionServer.prototype._handleAnchorClicked):
1620 (WebInspector.ExtensionServer.prototype._addExtensions):
1621 (WebInspector.ExtensionServer.prototype._addExtension):
1622 (WebInspector.ExtensionServer.prototype._registerExtension):
1623 * inspector/front-end/SettingsScreen.js:
1624 (WebInspector.SettingsScreen):
1625 (WebInspector.SettingsScreen.prototype._createCustomSetting):
1626 * inspector/front-end/WebKit.qrc:
1627 * inspector/front-end/helpScreen.css:
1628 (.help-content select):
1629 (.help-content select:disabled):
1630 (.help-content option):
1631 * inspector/front-end/inspector.html:
1632 * inspector/front-end/inspector.js:
1633 (WebInspector.set attached):
1634 (WebInspector._showAnchorLocation):
1636 2011-09-23 Ilya Tikhonovsky <loislo@chromium.org>
1638 Web Inspector: Timeline: record root event for the function calls enforced by console eval.
1639 https://bugs.webkit.org/show_bug.cgi?id=68695
1641 In a complex web application developer might want to timeline a specific piece of code.
1643 In this case he can do the next steps:
1645 2) eval a command in console;
1648 I think it'd be nice to have a root event for the all the events that happened as the result of such eval.
1650 Reviewed by Yury Semikhatsky.
1652 Test: inspector/timeline/timeline-injected-script-eval.html
1654 * bindings/v8/ScriptFunctionCall.cpp:
1655 * inspector/InjectedScript.cpp:
1656 (WebCore::InjectedScript::makeCall):
1657 * inspector/InspectorInstrumentation.cpp:
1658 (WebCore::InspectorInstrumentation::willCallFunctionImpl):
1660 2011-09-26 No'am Rosenthal <noam.rosenthal@nokia.com>
1662 [Texmap][Qt] Enable TextureMapperGL in platforms where BGRA is not present
1663 https://bugs.webkit.org/show_bug.cgi?id=65473
1665 Reviewed by Andreas Kling.
1667 For now, swap RGBA->BGRA in software if we're in OpenGL ES 2.
1668 We do that by iterating on the pixels and manually swapping each pixel's red and blue
1669 values. This can be done faster with shaders, but for now this is a working solution
1670 for platforms without BGRA support.
1672 No new tests. Existing layout tests cover this.
1674 * platform/graphics/opengl/TextureMapperGL.cpp:
1675 (WebCore::BitmapTextureGL::endPaint):
1676 * platform/graphics/opengl/TextureMapperGL.h:
1677 * platform/graphics/qt/TextureMapperQt.cpp:
1678 (WebCore::RGBA32PremultimpliedBufferQt::swapRGB):
1680 2011-09-26 Sergio Villar Senin <svillar@igalia.com>
1682 [GTK] Fix coding style bits in ResourceHandleSoup.cpp
1683 https://bugs.webkit.org/show_bug.cgi?id=68634
1685 Reviewed by Martin Robinson.
1687 No new tests needed.
1689 * platform/network/soup/ResourceHandleSoup.cpp:
1690 (WebCore::ResourceHandle::defaultSession):
1692 2011-09-26 James Robinson <jamesr@chromium.org>
1694 [mac] Timestamp parameter to requestAnimationFrame is busted in USE(REQUEST_ANIMATION_FRAME_TIMER) path
1695 https://bugs.webkit.org/show_bug.cgi?id=68769
1697 Reviewed by Simon Fraser.
1699 Convert the time parameter from double to DOMTimeStamp using convertSecondsToDOMTimeStamp rather than relying on
1700 implicit double->long conversion, which ignores the units of the value.
1702 Test: fast/animation/request-animation-frame-timestamps-advance.html
1704 * dom/ScriptedAnimationController.cpp:
1705 (WebCore::ScriptedAnimationController::animationTimerFired):
1707 2011-09-25 Mark Hahnenberg <mhahnenberg@apple.com>
1709 Add custom vtable struct to ClassInfo struct
1710 https://bugs.webkit.org/show_bug.cgi?id=68567
1712 Reviewed by Oliver Hunt.
1716 Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
1717 specified class in its ClassInfo. Also added to it the first function to use
1718 this macro, visitChildren. This is part of the process of getting rid of all
1719 C++ virtual methods in JSCell. Eventually all virtual functions in JSCell
1720 that can't easily be converted to non-virtual functions will be put into
1721 this custom vtable structure.
1723 * bindings/js/JSAudioConstructor.cpp:
1724 * bindings/js/JSDOMGlobalObject.cpp:
1725 * bindings/js/JSDOMWindowBase.cpp:
1726 * bindings/js/JSDOMWindowShell.cpp:
1727 * bindings/js/JSImageConstructor.cpp:
1728 * bindings/js/JSImageDataCustom.cpp:
1730 * bindings/js/JSOptionConstructor.cpp:
1731 * bindings/js/JSWorkerContextBase.cpp:
1733 Changed the bindings generator to add the call to the CREATE_METHOD_TABLE macro where
1735 * bindings/scripts/CodeGeneratorJS.pm:
1736 (GenerateImplementation):
1737 (GenerateConstructorDefinition):
1738 * bindings/scripts/test/JS/JSTestInterface.cpp:
1739 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1740 * bindings/scripts/test/JS/JSTestObj.cpp:
1741 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1742 * bridge/c/CRuntimeObject.cpp:
1743 * bridge/c/c_instance.cpp:
1744 * bridge/jni/jsc/JavaInstanceJSC.cpp:
1745 * bridge/jni/jsc/JavaRuntimeObject.cpp:
1746 * bridge/objc/ObjCRuntimeObject.mm:
1747 * bridge/objc/objc_instance.mm:
1748 * bridge/objc/objc_runtime.mm:
1749 * bridge/qt/qt_instance.cpp:
1750 * bridge/qt/qt_pixmapruntime.cpp:
1751 * bridge/qt/qt_runtime.cpp:
1752 * bridge/runtime_array.cpp:
1753 * bridge/runtime_method.cpp:
1754 * bridge/runtime_object.cpp:
1756 2011-09-25 Eunmi Lee <eunmi15.lee@samsung.com>
1758 [EFL] Move GtkWidgetBackingStoreCairo to the cairo directory and modify to use in the EFL.
1759 https://bugs.webkit.org/show_bug.cgi?id=63502
1761 Reviewed by Martin Robinson.
1763 The gtk/GtkWidgetBackingStoreCairo.cpp is moved to the cairo/WidgetBackingStoreCairo.cpp and
1764 some codes for EFL are added.
1765 WidgetBackingStoreCairo creates cairo_image_surface and has a role to copy reusable area
1766 when scrolling. So, it will be used in the WebKit2 EFL port's BackingStore.
1768 * CMakeListsEfl.txt:
1769 * GNUmakefile.list.am:
1770 * platform/cairo/WidgetBackingStore.h:
1771 * platform/cairo/WidgetBackingStoreCairo.cpp: Renamed from Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp.
1772 (WebCore::createSurfaceForBackingStore):
1773 (WebCore::WidgetBackingStorePrivate::create):
1774 (WebCore::WidgetBackingStorePrivate::WidgetBackingStorePrivate):
1775 (WebCore::WidgetBackingStore::create):
1776 (WebCore::WidgetBackingStore::WidgetBackingStore):
1777 (WebCore::WidgetBackingStore::~WidgetBackingStore):
1778 (WebCore::WidgetBackingStore::cairoSurface):
1779 (WebCore::WidgetBackingStore::scroll):
1780 * platform/gtk/GtkWidgetBackingStoreX11.cpp:
1782 2011-09-25 Adam Barth <abarth@webkit.org>
1784 Finish removing PLATFORM(BREWMP) by removing associated code
1785 https://bugs.webkit.org/show_bug.cgi?id=68779
1787 Reviewed by Sam Weinig.
1789 When Geoffrey Garen removed PLATFORM(BREWMP) in
1790 http://trac.webkit.org/changeset/95555, he did not remove all the
1791 associated code. This completes the work started in r95555 by removing
1792 all the code assoicated with PLATFORM(BREWMP).
1794 * WebCore.gyp/WebCore.gyp:
1796 * bindings/js/ScriptControllerBrew.cpp: Removed.
1797 * editing/brew: Removed.
1798 * editing/brew/EditorBrew.cpp: Removed.
1800 * page/brew: Removed.
1801 * page/brew/ChromeClientBrew.h: Removed.
1802 * page/brew/DragControllerBrew.cpp: Removed.
1803 * page/brew/EventHandlerBrew.cpp: Removed.
1804 * page/brew/FrameBrew.cpp: Removed.
1805 * platform/brew: Removed.
1806 * platform/brew/ClipboardBrew.cpp: Removed.
1807 * platform/brew/ClipboardBrew.h: Removed.
1808 * platform/brew/ContextMenuBrew.cpp: Removed.
1809 * platform/brew/ContextMenuItemBrew.cpp: Removed.
1810 * platform/brew/CursorBrew.cpp: Removed.
1811 * platform/brew/DragDataBrew.cpp: Removed.
1812 * platform/brew/EventLoopBrew.cpp: Removed.
1813 * platform/brew/FileSystemBrew.cpp: Removed.
1814 * platform/brew/KURLBrew.cpp: Removed.
1815 * platform/brew/LanguageBrew.cpp: Removed.
1816 * platform/brew/LocalizedStringsBrew.cpp: Removed.
1817 * platform/brew/LoggingBrew.cpp: Removed.
1818 * platform/brew/MIMETypeRegistryBrew.cpp: Removed.
1819 * platform/brew/PasteboardBrew.cpp: Removed.
1820 * platform/brew/PlatformKeyboardEventBrew.cpp: Removed.
1821 * platform/brew/PlatformMouseEventBrew.cpp: Removed.
1822 * platform/brew/PlatformTouchEventBrew.cpp: Removed.
1823 * platform/brew/PlatformTouchPointBrew.cpp: Removed.
1824 * platform/brew/PopupMenuBrew.cpp: Removed.
1825 * platform/brew/PopupMenuBrew.h: Removed.
1826 * platform/brew/SSLKeyGeneratorBrew.cpp: Removed.
1827 * platform/brew/ScreenBrew.cpp: Removed.
1828 * platform/brew/ScrollbarThemeBrew.cpp: Removed.
1829 * platform/brew/ScrollbarThemeBrew.h: Removed.
1830 * platform/brew/SearchPopupMenuBrew.cpp: Removed.
1831 * platform/brew/SearchPopupMenuBrew.h: Removed.
1832 * platform/brew/SharedBufferBrew.cpp: Removed.
1833 * platform/brew/SharedTimerBrew.cpp: Removed.
1834 * platform/brew/SoundBrew.cpp: Removed.
1835 * platform/brew/SystemTimeBrew.cpp: Removed.
1836 * platform/brew/TemporaryLinkStubs.cpp: Removed.
1837 * platform/brew/WidgetBrew.cpp: Removed.
1838 * platform/graphics/brew: Removed.
1839 * platform/graphics/brew/IconBrew.cpp: Removed.
1840 * platform/graphics/brew/ImageBrew.cpp: Removed.
1841 * platform/graphics/brew/IntPointBrew.cpp: Removed.
1842 * platform/graphics/brew/IntSizeBrew.cpp: Removed.
1843 * platform/network/brew: Removed.
1844 * platform/network/brew/DNSBrew.cpp: Removed.
1845 * platform/network/brew/SocketStreamError.h: Removed.
1846 * platform/network/brew/SocketStreamHandle.h: Removed.
1847 * platform/network/brew/SocketStreamHandleBrew.cpp: Removed.
1848 * platform/network/brew/SocketStreamHandlePrivate.h: Removed.
1849 * platform/text/brew: Removed.
1850 * platform/text/brew/TextBoundariesBrew.cpp: Removed.
1851 * platform/text/brew/TextBreakIteratorBrew.cpp: Removed.
1852 * platform/text/brew/TextCodecBrew.cpp: Removed.
1853 * platform/text/brew/TextCodecBrew.h: Removed.
1855 2011-09-25 Kentaro Hara <haraken@chromium.org>
1857 Implement a CloseEvent constructor for JSC
1858 https://bugs.webkit.org/show_bug.cgi?id=68340
1860 Reviewed by Oliver Hunt.
1862 The spec of the CloseEvent constructor is here:
1863 http://dev.w3.org/html5/websockets/#closeevent
1865 Test: fast/events/constructors/close-event-constructor.html
1867 * bindings/generic/EventConstructors.h: Added a definition for the CloseEvent constructor.
1868 * bindings/js/JSEventConstructors.cpp: Added #includes for CloseEvent.
1869 * websockets/CloseEvent.h: Added a definition for CloseEventInit.
1870 (WebCore::CloseEventInit::CloseEventInit):
1871 (WebCore::CloseEvent::create):
1872 (WebCore::CloseEvent::CloseEvent):
1873 * websockets/CloseEvent.idl: Makes CloseEvent constructible.
1875 2011-09-25 Mark Rowe <mrowe@apple.com>
1877 <rdar://problem/10177824> IconDatabase’s use of ThreadCondition leads to assertion failures in the face of spurious wakeups
1879 It's possible for ThreadCondition::wait to return spuriously without the condition having been signaled.
1880 When that happens we should immediately return to waiting rather than doing our normal work, as some of that
1881 work relies on wakeSyncThread having been called to signal the condition.
1883 Reviewed by Sam Weinig.
1885 * loader/icon/IconDatabase.cpp:
1886 (WebCore::IconDatabase::IconDatabase):
1887 (WebCore::IconDatabase::wakeSyncThread): Note that we have work for the sync thread to do.
1888 (WebCore::IconDatabase::syncThreadMainLoop): If we were woken with no work to do, immediately
1889 go back to waiting on the condition variable. Otherwise, reset m_syncThreadHasWorkToDo and then
1890 do that work. We also switch to moving m_disabledSuddenTerminationForSyncThread immediately in to
1891 our local shouldReenableSuddenTermination variable since it can be updated by other threads while
1892 we don't hold the lock. This makes it inappropriate to make assumptions about its value after dropping
1893 and reacquiring the lock.
1894 * loader/icon/IconDatabase.h:
1896 2011-09-25 Dan Bernstein <mitz@apple.com>
1898 <rdar://problem/10156263> ASSERT in WebCore::FrameView::scheduleRelayoutOfSubtree
1900 Reviewed by Sam Weinig.
1902 Test: fast/dynamic/subtree-unrooted.html
1904 * rendering/RenderObject.cpp:
1905 (WebCore::RenderObject::scheduleRelayout): Replaced the check that the renderer is parented,
1906 which was added in r21162, with a check that it is “rooted”.
1908 2011-09-24 Abhishek Arya <inferno@chromium.org>
1910 Issues with merging block children of a ruby
1911 base with another ruby base having inline children.
1912 https://bugs.webkit.org/show_bug.cgi?id=66124
1914 Reviewed by Dan Bernstein.
1916 Test: fast/ruby/ruby-base-merge-block-children-crash.html
1918 * rendering/RenderRubyBase.cpp:
1919 (WebCore::RenderRubyBase::moveInlineChildren): add a firstChild()
1920 check to prevent empty anonymous block addition, just like
1921 moveBlockChildren method.
1922 * rendering/RenderRubyBase.cpp:
1923 (WebCore::RenderRubyBase::moveBlockChildren): This was incorrectly
1924 doing optimizations to see if current ruby base has only inline
1925 children before beforeChild and then trying to take out them from
1926 their parent anonymous blocks. The problem is those inlines could
1927 be split and have continuations because of encountering a block
1928 inside inline flow. In those cases, we cannot take the inline out.
1929 So, we should just make children non-inline in the destination
1930 block and transfer the children as it-is.
1931 * rendering/RenderRubyBase.h: remove unncessary functions.
1933 2011-09-25 Adam Barth <abarth@webkit.org>
1935 Remove PLATFORM(HAIKU) and associated code
1936 https://bugs.webkit.org/show_bug.cgi?id=68774
1938 Reviewed by Sam Weinig.
1940 As discussed on webkit-dev, the Haiku port has been inactive for over a
1941 year. A year and a half ago, we discussed removing the port, but folks
1942 said they planned to work on it more. That work does not appear to
1943 have happened in the intervening time.
1945 * WebCore.gyp/WebCore.gyp:
1947 * bindings/js/ScriptControllerHaiku.cpp: Removed.
1948 * editing/haiku: Removed.
1949 * editing/haiku/EditorHaiku.cpp: Removed.
1951 * loader/cache/CachedFont.cpp:
1952 * page/EventHandler.cpp:
1953 (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
1954 * page/haiku: Removed.
1955 * page/haiku/DragControllerHaiku.cpp: Removed.
1956 * page/haiku/EventHandlerHaiku.cpp: Removed.
1957 * page/haiku/FrameHaiku.cpp: Removed.
1958 * platform/ContextMenuItem.h:
1959 * platform/Cursor.h:
1960 * platform/DragData.h:
1961 * platform/DragImage.h:
1962 * platform/PlatformKeyboardEvent.h:
1963 * platform/PlatformMenuDescription.h:
1964 * platform/PlatformMouseEvent.h:
1965 * platform/Widget.h:
1966 * platform/graphics/BitmapImage.h:
1967 * platform/graphics/Color.h:
1968 * platform/graphics/FloatPoint.h:
1969 * platform/graphics/FloatRect.h:
1970 * platform/graphics/Gradient.h:
1971 * platform/graphics/GraphicsContext.cpp:
1972 * platform/graphics/GraphicsContext.h:
1973 * platform/graphics/ImageBufferData.h:
1974 * platform/graphics/ImageSource.h:
1975 * platform/graphics/IntPoint.h:
1976 * platform/graphics/IntRect.h:
1977 * platform/graphics/IntSize.h:
1978 * platform/graphics/Path.h:
1979 * platform/graphics/Pattern.h:
1980 * platform/graphics/SimpleFontData.h:
1981 * platform/graphics/haiku: Removed.
1982 * platform/graphics/haiku/ColorHaiku.cpp: Removed.
1983 * platform/graphics/haiku/FloatPointHaiku.cpp: Removed.
1984 * platform/graphics/haiku/FloatRectHaiku.cpp: Removed.
1985 * platform/graphics/haiku/FontCacheHaiku.cpp: Removed.
1986 * platform/graphics/haiku/FontCustomPlatformData.cpp: Removed.
1987 * platform/graphics/haiku/FontCustomPlatformData.h: Removed.
1988 * platform/graphics/haiku/FontHaiku.cpp: Removed.
1989 * platform/graphics/haiku/FontPlatformData.h: Removed.
1990 * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp: Removed.
1991 * platform/graphics/haiku/GradientHaiku.cpp: Removed.
1992 * platform/graphics/haiku/GraphicsContextHaiku.cpp: Removed.
1993 * platform/graphics/haiku/IconHaiku.cpp: Removed.
1994 * platform/graphics/haiku/ImageBufferDataHaiku.h: Removed.
1995 * platform/graphics/haiku/ImageBufferHaiku.cpp: Removed.
1996 * platform/graphics/haiku/ImageHaiku.cpp: Removed.
1997 * platform/graphics/haiku/IntPointHaiku.cpp: Removed.
1998 * platform/graphics/haiku/IntRectHaiku.cpp: Removed.
1999 * platform/graphics/haiku/IntSizeHaiku.cpp: Removed.
2000 * platform/graphics/haiku/PathHaiku.cpp: Removed.
2001 * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Removed.
2002 * platform/graphics/haiku/StillImageHaiku.cpp: Removed.
2003 * platform/graphics/haiku/StillImageHaiku.h: Removed.
2004 * platform/haiku: Removed.
2005 * platform/haiku/ClipboardHaiku.cpp: Removed.
2006 * platform/haiku/ClipboardHaiku.h: Removed.
2007 * platform/haiku/ContextMenuHaiku.cpp: Removed.
2008 * platform/haiku/ContextMenuItemHaiku.cpp: Removed.
2009 * platform/haiku/CookieJarHaiku.cpp: Removed.
2010 * platform/haiku/CursorHaiku.cpp: Removed.
2011 * platform/haiku/DragDataHaiku.cpp: Removed.
2012 * platform/haiku/DragImageHaiku.cpp: Removed.
2013 * platform/haiku/EventLoopHaiku.cpp: Removed.
2014 * platform/haiku/FileSystemHaiku.cpp: Removed.
2015 * platform/haiku/LocalizedStringsHaiku.cpp: Removed.
2016 * platform/haiku/LoggingHaiku.cpp: Removed.
2017 * platform/haiku/MIMETypeRegistryHaiku.cpp: Removed.
2018 * platform/haiku/PasteboardHaiku.cpp: Removed.
2019 * platform/haiku/PlatformKeyboardEventHaiku.cpp: Removed.
2020 * platform/haiku/PlatformMouseEventHaiku.cpp: Removed.
2021 * platform/haiku/PlatformWheelEventHaiku.cpp: Removed.
2022 * platform/haiku/PopupMenuHaiku.cpp: Removed.
2023 * platform/haiku/PopupMenuHaiku.h: Removed.
2024 * platform/haiku/RenderThemeHaiku.cpp: Removed.
2025 * platform/haiku/RenderThemeHaiku.h: Removed.
2026 * platform/haiku/ScreenHaiku.cpp: Removed.
2027 * platform/haiku/ScrollbarThemeHaiku.cpp: Removed.
2028 * platform/haiku/ScrollbarThemeHaiku.h: Removed.
2029 * platform/haiku/SearchPopupMenuHaiku.cpp: Removed.
2030 * platform/haiku/SearchPopupMenuHaiku.h: Removed.
2031 * platform/haiku/SharedBufferHaiku.cpp: Removed.
2032 * platform/haiku/SharedTimerHaiku.cpp: Removed.
2033 * platform/haiku/SoundHaiku.cpp: Removed.
2034 * platform/haiku/TemporaryLinkStubs.cpp: Removed.
2035 * platform/haiku/WidgetHaiku.cpp: Removed.
2036 * platform/image-decoders/haiku: Removed.
2037 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Removed.
2038 * platform/text/UnicodeRange.h:
2039 * platform/text/haiku: Removed.
2040 * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Removed.
2042 2011-09-25 Adam Barth <abarth@webkit.org>
2044 Attempted build fixes for GTK and Qt.
2046 * GNUmakefile.list.am:
2049 2011-09-24 Adam Barth <abarth@webkit.org>
2051 Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
2052 https://bugs.webkit.org/show_bug.cgi?id=68767
2054 Reviewed by Eric Seidel.
2056 As discussed on webkit-dev, almost everyone has this enable turned on
2057 and this feature is unlikely to be removed from the web platform given
2061 * Configurations/FeatureDefines.xcconfig:
2063 * GNUmakefile.list.am:
2066 * bindings/cpp/WebDOMEventTarget.cpp:
2068 * bindings/js/JSEventTarget.cpp:
2070 (WebCore::toEventTarget):
2071 * bindings/v8/V8DOMWrapper.cpp:
2072 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2073 * dom/EventTarget.cpp:
2074 (WebCore::EventTarget::toDOMApplicationCache):
2075 * dom/EventTarget.h:
2077 * history/PageCache.cpp:
2078 (WebCore::logCanCacheFrameDecision):
2079 (WebCore::PageCache::canCachePageContainingThisFrame):
2080 * html/HTMLHtmlElement.cpp:
2081 (WebCore::HTMLHtmlElement::insertedByParser):
2082 * html/HTMLHtmlElement.h:
2083 * html/HTMLMediaElement.cpp:
2084 (WebCore::createFileURLForApplicationCacheResource):
2085 (WebCore::HTMLMediaElement::loadResource):
2086 * html/ImageDocument.cpp:
2087 (WebCore::ImageDocument::createDocumentStructure):
2088 * html/MediaDocument.cpp:
2089 (WebCore::MediaDocumentParser::createDocumentStructure):
2090 * html/PluginDocument.cpp:
2091 (WebCore::PluginDocumentParser::createDocumentStructure):
2092 * html/parser/HTMLConstructionSite.cpp:
2093 (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
2094 * inspector/InspectorApplicationCacheAgent.cpp:
2095 * inspector/InspectorApplicationCacheAgent.h:
2096 * inspector/InspectorController.cpp:
2097 (WebCore::InspectorController::InspectorController):
2098 (WebCore::InspectorController::connectFrontend):
2099 (WebCore::InspectorController::disconnectFrontend):
2100 * inspector/InspectorController.h:
2101 * inspector/InspectorInstrumentation.cpp:
2102 (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
2103 * inspector/InspectorInstrumentation.h:
2104 (WebCore::InspectorInstrumentation::networkStateChanged):
2105 (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
2106 * inspector/InstrumentingAgents.h:
2107 (WebCore::InstrumentingAgents::InstrumentingAgents):
2108 (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
2109 * inspector/WorkerInspectorController.cpp:
2110 (WebCore::WorkerInspectorController::connectFrontend):
2111 * inspector/generate-inspector-idl:
2112 * loader/DocumentLoader.cpp:
2113 (WebCore::DocumentLoader::DocumentLoader):
2114 (WebCore::DocumentLoader::mainReceivedError):
2115 (WebCore::DocumentLoader::stopLoading):
2116 (WebCore::DocumentLoader::detachFromFrame):
2117 (WebCore::DocumentLoader::handledOnloadEvents):
2118 * loader/DocumentLoader.h:
2119 (WebCore::DocumentLoader::applicationCacheHost):
2120 * loader/EmptyClients.h:
2121 (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
2122 * loader/FrameLoader.cpp:
2123 (WebCore::FrameLoader::loadResourceSynchronously):
2124 * loader/MainResourceLoader.cpp:
2125 (WebCore::MainResourceLoader::willSendRequest):
2126 (WebCore::MainResourceLoader::didReceiveResponse):
2127 (WebCore::MainResourceLoader::didReceiveData):
2128 (WebCore::MainResourceLoader::didFinishLoading):
2129 (WebCore::MainResourceLoader::didFail):
2130 (WebCore::MainResourceLoader::load):
2131 * loader/ResourceLoader.cpp:
2132 (WebCore::ResourceLoader::start):
2133 (WebCore::ResourceLoader::willSendRequest):
2134 (WebCore::ResourceLoader::didSendData):
2135 (WebCore::ResourceLoader::didReceiveResponse):
2136 (WebCore::ResourceLoader::didReceiveData):
2137 (WebCore::ResourceLoader::didFinishLoading):
2138 (WebCore::ResourceLoader::didFail):
2139 (WebCore::ResourceLoader::wasBlocked):
2140 (WebCore::ResourceLoader::cannotShowURL):
2141 (WebCore::ResourceLoader::shouldUseCredentialStorage):
2142 (WebCore::ResourceLoader::willCacheResponse):
2143 * loader/ResourceLoader.h:
2144 * loader/appcache/ApplicationCache.cpp:
2145 * loader/appcache/ApplicationCache.h:
2146 * loader/appcache/ApplicationCacheGroup.cpp:
2147 * loader/appcache/ApplicationCacheGroup.h:
2148 * loader/appcache/ApplicationCacheHost.cpp:
2149 * loader/appcache/ApplicationCacheHost.h:
2150 * loader/appcache/ApplicationCacheResource.cpp:
2151 * loader/appcache/ApplicationCacheResource.h:
2152 * loader/appcache/ApplicationCacheStorage.cpp:
2153 * loader/appcache/ApplicationCacheStorage.h:
2154 * loader/appcache/DOMApplicationCache.cpp:
2155 * loader/appcache/DOMApplicationCache.h:
2156 * loader/appcache/DOMApplicationCache.idl:
2157 * loader/appcache/ManifestParser.cpp:
2158 (WebCore::parseManifest):
2159 * loader/appcache/ManifestParser.h:
2160 * loader/chromium/ResourceLoaderChromium.cpp:
2161 (WebCore::ResourceLoader::didDownloadData):
2162 * page/ChromeClient.h:
2163 * page/DOMWindow.cpp:
2164 (WebCore::DOMWindow::clear):
2165 (WebCore::DOMWindow::applicationCache):
2167 (WebCore::DOMWindow::optionalApplicationCache):
2168 * page/DOMWindow.idl:
2169 * xml/parser/XMLDocumentParserLibxml2.cpp:
2170 (WebCore::XMLDocumentParser::startElementNs):
2171 * xml/parser/XMLDocumentParserQt.cpp:
2172 (WebCore::XMLDocumentParser::parseStartElement):
2174 2011-09-24 Adam Barth <abarth@webkit.org>
2176 Remove ENABLE(WCSS) and associated code
2177 https://bugs.webkit.org/show_bug.cgi?id=68759
2179 Reviewed by Darin Adler.
2181 As discussed on webkit-dev, we are removing this feature from trunk to
2182 reduce the number of different configurations.
2184 * CodeGenerators.pri:
2187 * css/CSSParser.cpp:
2188 (WebCore::CSSParser::parseValue):
2190 * css/CSSPrimitiveValueMappings.h:
2191 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2192 * css/CSSStyleSelector.cpp:
2193 (WebCore::CSSStyleSelector::applyProperty):
2194 * css/WCSSPropertyNames.in: Removed.
2195 * css/WCSSValueKeywords.in: Removed.
2197 * html/HTMLInputElement.cpp:
2198 (WebCore::HTMLInputElement::HTMLInputElement):
2199 * html/HTMLInputElement.h:
2200 * html/TextFieldInputType.cpp:
2201 (WebCore::TextFieldInputType::sanitizeValue):
2202 (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
2203 * rendering/RenderMarquee.cpp:
2204 (WebCore::RenderMarquee::start):
2205 * rendering/RenderObject.cpp:
2206 (WebCore::RenderObject::createObject):
2207 * rendering/style/RenderStyleConstants.h:
2209 2011-09-24 Young Han Lee <joybro@company100.net>
2211 SVGAnimation does not support 'values' for from-to animations
2212 https://bugs.webkit.org/show_bug.cgi?id=64859
2214 Reviewed by Dirk Schulze.
2216 If from-to animation have discrete calc-mode and have a 'keyTimes' list, values of
2217 the keyTimes indicate the begin and the end of the animation respectively.[1][2]
2219 When keyTimes is given, calculate the progress percentage of the animation with it
2220 even for from-to animation.
2222 [1] http://www.w3.org/TR/SVG/animate.html#ValueAttributes
2223 [2] http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues
2225 Test: svg/animations/animate-from-to-keyTimes.html
2227 * svg/SVGAnimationElement.cpp:
2228 (WebCore::SVGAnimationElement::calculatePercentForFromTo):
2229 (WebCore::SVGAnimationElement::updateAnimation):
2230 * svg/SVGAnimationElement.h:
2232 2011-09-23 Chris Fleizach <cfleizach@apple.com>
2234 WebKit does not expose AXPlaceholder value on password fields
2235 https://bugs.webkit.org/show_bug.cgi?id=68745
2237 Reviewed by Oliver Hunt.
2239 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2240 (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2242 2011-09-23 Mark Rowe <mrowe@apple.com>
2246 * loader/CrossOriginAccessControl.cpp:
2247 (WebCore::passesAccessControlCheck): Get rid of the exit-time destructor.
2249 2011-09-23 Adam Barth <abarth@webkit.org>
2251 Canvas security checks show up on HTML5GamingTest benchmark
2252 https://bugs.webkit.org/show_bug.cgi?id=68743
2254 Reviewed by Oliver Hunt.
2256 Prior to this patch, the canvas security checks took as much as 4% of
2257 the time on the HTML5GamingTest benchmark:
2259 http://craftymind.com/factory/guimark2/HTML5GamingTest.html
2261 This patch uses a couple of AtomicStrings and shuffles around the order
2262 of the security check to take this down to around 0.1% (which is near
2263 the noise floor of what I can measure with my profiler).
2265 * html/canvas/CanvasRenderingContext.cpp:
2266 (WebCore::CanvasRenderingContext::wouldTaintOrigin):
2267 * loader/CrossOriginAccessControl.cpp:
2268 (WebCore::passesAccessControlCheck):
2270 2011-09-23 Justin Novosad <junov@chromium.org>
2272 Unwarranted DOM Exception when canvas2D drawImage is called with src
2274 https://bugs.webkit.org/show_bug.cgi?id=65709
2276 Reviewed by Oliver Hunt.
2278 * html/canvas/CanvasRenderingContext2D.cpp:
2279 (WebCore::CanvasRenderingContext2D::drawImage):
2280 Return early without throwing an exception if source rectangle is out of
2281 bounds to match the spec.
2283 2011-09-23 Lukasz Slachciak <l.slachciak@samsung.com>
2285 Printing of notImplemented() when logging enabled.
2286 https://bugs.webkit.org/show_bug.cgi?id=64590
2288 Printing of notImplemented() method was enabled on Debug builds only.
2289 Now it is enabled when logging is enabled.
2291 Reviewed by Oliver Hunt.
2293 No new tests because there is no new functionality.
2295 * platform/NotImplemented.h: Non-debug mode replaced with non-logging mode.
2297 2011-09-23 Mihai Parparita <mihaip@chromium.org>
2299 [Chromium] REGRESSION (r95725): Resizing a window doesn't resize the contents
2300 https://bugs.webkit.org/show_bug.cgi?id=68730
2302 Reviewed by James Robinson.
2304 Adds a missing contentsResized() call in ScrollView::setFrameRect.
2306 Test: fast/dom/Window/window-resize-contents.html
2308 * platform/ScrollView.cpp:
2309 (WebCore::ScrollView::setFrameRect):
2311 2011-09-23 Adam Klein <adamk@chromium.org>
2313 Add ENABLE_MUTATION_OBSERVERS feature flag
2314 https://bugs.webkit.org/show_bug.cgi?id=68732
2316 Reviewed by Ojan Vafai.
2318 This flag will guard an implementation of the "Mutation Observers" proposed in
2319 http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
2321 * Configurations/FeatureDefines.xcconfig:
2324 2011-09-23 Varun Jain <varunjain@google.com>
2326 Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests
2327 https://bugs.webkit.org/show_bug.cgi?id=68198
2329 Reviewed by Dimitri Glazkov.
2331 Tests: fast/dom/scroll-element-to-rect-centered.html
2332 fast/dom/scroll-element-to-rect.html
2335 * page/FrameView.cpp:
2336 (WebCore::FrameView::scrollElementToRect):
2338 * testing/Internals.cpp:
2339 (WebCore::Internals::scrollElementToRect):
2340 * testing/Internals.h:
2341 * testing/Internals.idl:
2343 2011-09-23 Mihai Parparita <mihaip@chromium.org>
2345 Unreviewed, rolling out r95860.
2346 http://trac.webkit.org/changeset/95860
2347 https://bugs.webkit.org/show_bug.cgi?id=68648
2349 Breaks overhang rendering on Chromium Mac
2351 * platform/chromium/ScrollbarThemeChromium.cpp:
2352 * platform/chromium/ScrollbarThemeChromium.h:
2353 * platform/chromium/ScrollbarThemeChromiumMac.h:
2354 * platform/chromium/ScrollbarThemeChromiumMac.mm:
2355 (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2356 (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
2358 2011-09-23 Dean Jackson <dino@apple.com>
2360 Add -webkit-filter to CSSPropertyNames
2361 https://bugs.webkit.org/show_bug.cgi?id=68675
2363 Reviewed by Simon Fraser.
2365 Add property and rudimentary parsing for -webkit-filter. The
2366 property value isn't preserved anywhere yet. Add
2367 stub definition for computed style.
2369 Test: css3/filters/filter-property.html
2371 * css/CSSComputedStyleDeclaration.cpp:
2372 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2373 * css/CSSParser.cpp:
2374 (WebCore::CSSParser::parseValue):
2375 (WebCore::CSSParser::parseFilter):
2377 * css/CSSPropertyNames.in:
2378 * css/CSSStyleSelector.cpp:
2379 (WebCore::CSSStyleSelector::applyProperty):
2381 2011-09-23 Antoine Labour <piman@chromium.org>
2383 Remove preserves3D() from CCLayerDelegate, replacing it by setting the
2384 value explicitly after creating a layer, or setting its delegate.
2385 https://bugs.webkit.org/show_bug.cgi?id=68295
2387 Reviewed by James Robinson.
2389 Covered by compositing/ layeout tests.
2391 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2392 (WebCore::GraphicsLayerChromium::setContentsToCanvas):
2393 (WebCore::GraphicsLayerChromium::setContentsToMedia):
2394 (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2395 (WebCore::GraphicsLayerChromium::setupContentsLayer):
2396 * platform/graphics/chromium/GraphicsLayerChromium.h:
2397 * platform/graphics/chromium/LayerChromium.cpp:
2398 (WebCore::LayerChromium::LayerChromium):
2399 * platform/graphics/chromium/LayerChromium.h:
2400 (WebCore::LayerChromium::setPreserves3D):
2401 (WebCore::LayerChromium::preserves3D):
2403 2011-09-23 Julien Chaffraix <jchaffraix@webkit.org>
2405 Implicit conversion double to float in ShadowBlur::adjustBlurRadius
2406 https://bugs.webkit.org/show_bug.cgi?id=68722
2408 Reviewed by Simon Fraser.
2410 * platform/graphics/ShadowBlur.cpp:
2411 (WebCore::ShadowBlur::adjustBlurRadius): Added 2 explicit
2414 2011-09-23 Dan Bernstein <mitz@apple.com>
2416 <rdar://problem/10178576> REGRESSION (r95391): Crash in -[WebCascadeList objectAtIndex:] when a font-family list contains missing fonts
2417 https://bugs.webkit.org/show_bug.cgi?id=68737
2419 Reviewed by Darin Adler.
2421 Test: fast/text/combining-character-sequence-fallback-crash.html
2423 * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2424 (-[WebCascadeList initWithFont:WebCore::character:]): Changed to intialize _count to the exact
2425 number of FontData instances in the fallback list rather than the number of font families in the
2428 2011-09-23 David Reveman <reveman@chromium.org>
2430 [Chromium] Fix CSS 3D corner anti-aliasing.
2431 https://bugs.webkit.org/show_bug.cgi?id=68087
2433 Reviewed by James Robinson.
2435 Render sharp corners more correctly by adding bounding box
2436 edges to anti-aliasing shaders.
2438 Test: platform/chromium/compositing/3d-corners.html
2440 * platform/graphics/chromium/ShaderChromium.cpp:
2441 (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
2442 (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
2443 (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
2444 (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
2445 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2446 (WebCore::CCRenderSurface::drawLayer):
2447 (WebCore::CCRenderSurface::drawSurface):
2448 * platform/graphics/chromium/cc/CCRenderSurface.h:
2449 * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2450 (WebCore::CCTiledLayerImpl::draw):
2451 (WebCore::CCTiledLayerImpl::drawTiles):
2452 * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2454 2011-09-23 Oliver Hunt <oliver@apple.com>
2456 Make write barriers actually do something when enabled
2457 https://bugs.webkit.org/show_bug.cgi?id=68717
2459 Reviewed by Geoffrey Garen.
2461 Add a forwarding header, and fix an evaluation ordering
2462 issue that shows up if you try to use write barriers.
2464 * ForwardingHeaders/heap/CardSet.h: Added.
2465 * bindings/js/JSEventListener.h:
2466 (WebCore::JSEventListener::jsFunction):
2468 2011-09-23 James Robinson <jamesr@chromium.org>
2470 Avoid updating compositing state during paint
2471 https://bugs.webkit.org/show_bug.cgi?id=68727
2473 Reviewed by Simon Fraser.
2475 We shouldn't update our compositing state in the middle of a paint. The call to
2476 updateCompositingAndLayerListsIfNeeded() was added to RenderLayer::paintLayer in r45715, which was intended to
2477 fix this exact issue. Based off the ChangeLog entries, I think that this was just a typo.
2479 * rendering/RenderLayer.cpp:
2480 (WebCore::RenderLayer::paintLayer):
2481 (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
2482 * rendering/RenderLayerCompositor.cpp:
2483 (WebCore::RenderLayerCompositor::updateCompositingLayers):
2484 * rendering/RenderLayerCompositor.h:
2486 2011-09-23 Fady Samuel <fsamuel@chromium.org>
2488 Refactor paintOverhangAreas to allow non-Mac Chromium platforms to reuse code
2489 https://bugs.webkit.org/show_bug.cgi?id=68648
2491 Reviewed by Dimitri Glazkov.
2493 No new tests because there's no change in functionality (yet).
2495 * platform/chromium/ScrollbarThemeChromium.cpp:
2496 (WebCore::ScrollbarThemeChromium::ScrollbarThemeChromium):
2497 (WebCore::ScrollbarThemeChromium::~ScrollbarThemeChromium):
2498 (WebCore::ScrollbarThemeChromium::paintOverhangAreas):
2499 * platform/chromium/ScrollbarThemeChromium.h:
2500 * platform/chromium/ScrollbarThemeChromiumMac.h:
2501 * platform/chromium/ScrollbarThemeChromiumMac.mm:
2502 (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2504 2011-09-23 Ojan Vafai <ojan@chromium.org>
2506 remove physical flex-flow values to match the updated spec
2507 https://bugs.webkit.org/show_bug.cgi?id=68728
2509 Reviewed by Tony Chang.
2511 * css/CSSParser.cpp:
2512 (WebCore::CSSParser::parseValue):
2513 * css/CSSPrimitiveValueMappings.h:
2514 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2515 (WebCore::CSSPrimitiveValue::operator EFlexFlow):
2516 * css/CSSValueKeywords.in:
2517 * rendering/style/RenderStyleConstants.h:
2519 2011-09-23 Abhishek Arya <inferno@chromium.org>
2521 Style not updated for :before, :after content
2523 https://bugs.webkit.org/show_bug.cgi?id=68625
2525 Reviewed by Dave Hyatt.
2527 Test: fast/ruby/ruby-text-before-after-content.html
2529 * rendering/RenderRubyText.cpp:
2530 (WebCore::RenderRubyText::updateBeforeAfterContent):
2531 * rendering/RenderRubyText.h:
2533 2011-09-22 Ojan Vafai <ojan@chromium.org>
2535 refactor RenderFlexibleBox to use flex-flow aware methods
2536 https://bugs.webkit.org/show_bug.cgi?id=68665
2538 Reviewed by Tony Chang.
2540 This is just a refactor. Just move the all the code that needs to
2541 be flow aware into helper functions. Actually making them flow-aware
2542 can be done in a followup patch.
2544 * rendering/RenderBlock.cpp:
2545 * rendering/RenderBlock.h:
2546 Moved setLogicalLocationForChild into RenderFlexibleBox since that was the only caller.
2547 * rendering/RenderFlexibleBox.cpp:
2548 (WebCore::RenderFlexibleBox::hasOrthogonalFlow):
2549 (WebCore::RenderFlexibleBox::isHorizontalFlow):
2550 (WebCore::RenderFlexibleBox::isLeftToRightFlow):
2551 (WebCore::RenderFlexibleBox::setFlowAwareLogicalHeight):
2552 (WebCore::RenderFlexibleBox::flowAwareLogicalHeightForChild):
2553 (WebCore::RenderFlexibleBox::flowAwareLogicalWidthForChild):
2554 (WebCore::RenderFlexibleBox::flowAwareLogicalHeight):
2555 (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
2556 (WebCore::RenderFlexibleBox::flowAwareAvailableLogicalWidth):
2557 (WebCore::RenderFlexibleBox::flowAwareBorderStart):
2558 (WebCore::RenderFlexibleBox::flowAwareBorderBefore):
2559 (WebCore::RenderFlexibleBox::flowAwareBorderAfter):
2560 (WebCore::RenderFlexibleBox::flowAwarePaddingStart):
2561 (WebCore::RenderFlexibleBox::flowAwarePaddingBefore):
2562 (WebCore::RenderFlexibleBox::flowAwarePaddingAfter):
2563 (WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
2564 (WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
2565 (WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild):
2566 (WebCore::RenderFlexibleBox::setFlowAwareMarginStartForChild):
2567 (WebCore::RenderFlexibleBox::setFlowAwareMarginEndForChild):
2568 (WebCore::RenderFlexibleBox::setFlowAwareLogicalLocationForChild):
2569 (WebCore::RenderFlexibleBox::logicalBorderAndPaddingWidthForChild):
2570 (WebCore::RenderFlexibleBox::logicalScrollbarHeightForChild):
2571 (WebCore::RenderFlexibleBox::marginStartStyleForChild):
2572 (WebCore::RenderFlexibleBox::marginEndStyleForChild):
2573 (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
2574 (WebCore::RenderFlexibleBox::layoutInlineDirection):
2575 (WebCore::RenderFlexibleBox::logicalPositiveFlexForChild):
2576 (WebCore::RenderFlexibleBox::logicalNegativeFlexForChild):
2577 (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
2578 (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
2579 (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
2580 (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
2581 * rendering/RenderFlexibleBox.h:
2583 2011-09-23 David Hyatt <hyatt@apple.com>
2585 https://bugs.webkit.org/show_bug.cgi?id=68719
2587 Push through multiple regions when an object doesn't fit in any of them. Unlike with pages and
2588 columns, when regions have a non-uniform height, we may need to push through multiple regions
2589 in order to find one that fits.
2591 Added an optimization for quickly noticing if regions do have a uniform height so that we can
2592 treat them like columns and pages if so.
2594 Also fixed the end line matchup to properly null out endLine when no next line box exists. The new
2595 layout tests I wrote to cover this feature exposed this crasher, so fixing it in order to land
2598 Reviewed by Anders Carlsson.
2600 Added new tests in fast/regions.
2602 * rendering/RenderBlock.cpp:
2603 (WebCore::RenderBlock::adjustForUnsplittableChild):
2604 (WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
2605 (WebCore::RenderBlock::adjustLinePositionForPagination):
2606 * rendering/RenderBlock.h:
2607 * rendering/RenderBlockLineLayout.cpp:
2608 (WebCore::RenderBlock::matchedEndLine):
2609 * rendering/RenderFlowThread.cpp:
2610 (WebCore::RenderFlowThread::RenderFlowThread):
2611 (WebCore::RenderFlowThread::layout):
2612 * rendering/RenderFlowThread.h:
2614 2011-09-23 Konstantin Scheglov <scheglov@google.com>
2616 Redrawing dirty parts of a large table is very slow
2617 https://bugs.webkit.org/show_bug.cgi?id=64546
2619 Reviewed by David Hyatt.
2621 Move CollapsedBorderValues into RenderTable.h.
2622 Calculate collapsed borders only once and re-use during paintObject().
2623 Invalidate cache when cell, row, row group, col, col group or table border is changed.
2625 Tests: fast/table/border-collapsing/cached-cell-append.html
2626 fast/table/border-collapsing/cached-cell-remove.html
2627 fast/table/border-collapsing/cached-change-cell-border-color.html
2628 fast/table/border-collapsing/cached-change-cell-border-width.html
2629 fast/table/border-collapsing/cached-change-col-border-color.html
2630 fast/table/border-collapsing/cached-change-col-border-width.html
2631 fast/table/border-collapsing/cached-change-colgroup-border-color.html
2632 fast/table/border-collapsing/cached-change-colgroup-border-width.html
2633 fast/table/border-collapsing/cached-change-row-border-color.html
2634 fast/table/border-collapsing/cached-change-row-border-width.html
2635 fast/table/border-collapsing/cached-change-table-border-color.html
2636 fast/table/border-collapsing/cached-change-table-border-width.html
2637 fast/table/border-collapsing/cached-change-tbody-border-color.html
2638 fast/table/border-collapsing/cached-change-tbody-border-width.html
2640 * rendering/RenderTable.cpp:
2641 (WebCore::RenderTable::RenderTable):
2642 (WebCore::RenderTable::styleDidChange): Invalidate cache on border change.
2643 (WebCore::RenderTable::layout): Invalidate cache if layout changed.
2644 (WebCore::RenderTable::recalcCollapsedBorders): Ensures that cache is valid.
2645 (WebCore::RenderTable::paintObject): Use cached collapsed borders.
2646 * rendering/RenderTable.h:
2647 (WebCore::RenderTable::invalidateCollapsedBorders): Accessor to mark cache invalid.
2648 (WebCore::RenderTable::currentBorderValue): Rename to use word "value".
2649 * rendering/RenderTableCell.cpp:
2650 (WebCore::RenderTableCell::styleDidChange): If border changed, invalidate cache.
2652 Rename to use word "value".
2653 (WebCore::addBorderStyle):
2654 (WebCore::RenderTableCell::collectBorderValues):
2655 (WebCore::compareBorderValuesForQSort):
2656 (WebCore::RenderTableCell::sortBorderValues):
2657 (WebCore::RenderTableCell::paintCollapsedBorder):
2658 * rendering/RenderTableCell.h:
2660 If border changed, invalidate cache.
2661 * rendering/RenderTableCol.cpp:
2662 (WebCore::RenderTableCol::styleDidChange):
2663 * rendering/RenderTableCol.h:
2664 * rendering/RenderTableRow.cpp:
2665 (WebCore::RenderTableRow::styleDidChange):
2666 * rendering/RenderTableSection.cpp:
2667 (WebCore::RenderTableSection::styleDidChange):
2669 2011-09-23 Mark Hahnenberg <mhahnenberg@apple.com>
2671 Add static version of JSCell::visitChildren
2672 https://bugs.webkit.org/show_bug.cgi?id=68404
2674 Reviewed by Darin Adler.
2678 In this patch we just extract the bodies of the virtual visitChildren methods
2679 throughout the JSCell inheritance hierarchy out into static methods, which are
2680 now called from the virtual methods. This is an intermediate step in trying to
2681 move the virtual-ness of visitChildren into our own custom vtable stored in
2682 ClassInfo. We need to convert the methods to static methods in order to be
2683 able to more easily store and refer to them in our custom vtable since normal
2684 member methods store some implicit information in their types, making it
2685 impossible to store them generically in ClassInfo.
2688 * bindings/js/JSAttrCustom.cpp:
2689 (WebCore::JSAttr::visitChildrenVirtual):
2690 (WebCore::JSAttr::visitChildren):
2691 * bindings/js/JSAudioContextCustom.cpp:
2692 (WebCore::JSAudioContext::visitChildrenVirtual):
2693 (WebCore::JSAudioContext::visitChildren):
2694 * bindings/js/JSCSSRuleCustom.cpp:
2695 (WebCore::JSCSSRule::visitChildrenVirtual):
2696 (WebCore::JSCSSRule::visitChildren):
2697 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2698 (WebCore::JSCSSStyleDeclaration::visitChildrenVirtual):
2699 (WebCore::JSCSSStyleDeclaration::visitChildren):
2700 * bindings/js/JSCanvasRenderingContextCustom.cpp:
2701 (WebCore::JSCanvasRenderingContext::visitChildrenVirtual):
2702 (WebCore::JSCanvasRenderingContext::visitChildren):
2703 * bindings/js/JSDOMGlobalObject.cpp:
2704 (WebCore::JSDOMGlobalObject::visitChildrenVirtual):
2705 (WebCore::JSDOMGlobalObject::visitChildren):
2706 * bindings/js/JSDOMGlobalObject.h:
2707 * bindings/js/JSDOMWindowCustom.cpp:
2708 (WebCore::JSDOMWindow::visitChildrenVirtual):
2709 (WebCore::JSDOMWindow::visitChildren):
2710 * bindings/js/JSDOMWindowShell.cpp:
2711 (WebCore::JSDOMWindowShell::visitChildrenVirtual):
2712 (WebCore::JSDOMWindowShell::visitChildren):
2713 * bindings/js/JSDOMWindowShell.h:
2714 * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
2715 (WebCore::JSJavaScriptAudioNode::visitChildrenVirtual):
2716 (WebCore::JSJavaScriptAudioNode::visitChildren):
2717 * bindings/js/JSMessageChannelCustom.cpp:
2718 (WebCore::JSMessageChannel::visitChildrenVirtual):
2719 (WebCore::JSMessageChannel::visitChildren):
2720 * bindings/js/JSMessagePortCustom.cpp:
2721 (WebCore::JSMessagePort::visitChildrenVirtual):
2722 (WebCore::JSMessagePort::visitChildren):
2723 * bindings/js/JSNamedNodeMapCustom.cpp:
2724 (WebCore::JSNamedNodeMap::visitChildrenVirtual):
2725 (WebCore::JSNamedNodeMap::visitChildren):
2726 * bindings/js/JSNodeCustom.cpp:
2727 (WebCore::JSNode::visitChildrenVirtual):
2728 (WebCore::JSNode::visitChildren):
2729 * bindings/js/JSNodeFilterCustom.cpp:
2730 (WebCore::JSNodeFilter::visitChildrenVirtual):
2731 (WebCore::JSNodeFilter::visitChildren):
2732 * bindings/js/JSNodeIteratorCustom.cpp:
2733 (WebCore::JSNodeIterator::visitChildrenVirtual):
2734 (WebCore::JSNodeIterator::visitChildren):
2735 * bindings/js/JSSVGElementInstanceCustom.cpp:
2736 (WebCore::JSSVGElementInstance::visitChildrenVirtual):
2737 (WebCore::JSSVGElementInstance::visitChildren):
2738 * bindings/js/JSSharedWorkerCustom.cpp:
2739 (WebCore::JSSharedWorker::visitChildrenVirtual):
2740 (WebCore::JSSharedWorker::visitChildren):
2741 * bindings/js/JSStyleSheetCustom.cpp:
2742 (WebCore::JSStyleSheet::visitChildrenVirtual):
2743 (WebCore::JSStyleSheet::visitChildren):
2744 * bindings/js/JSTreeWalkerCustom.cpp:
2745 (WebCore::JSTreeWalker::visitChildrenVirtual):
2746 (WebCore::JSTreeWalker::visitChildren):
2747 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2748 (WebCore::JSWebGLRenderingContext::visitChildrenVirtual):
2749 (WebCore::JSWebGLRenderingContext::visitChildren):
2750 * bindings/js/JSWorkerContextCustom.cpp:
2751 (WebCore::JSWorkerContext::visitChildrenVirtual):
2752 (WebCore::JSWorkerContext::visitChildren):
2753 * bindings/js/JSXMLHttpRequestCustom.cpp:
2754 (WebCore::JSXMLHttpRequest::visitChildrenVirtual):
2755 (WebCore::JSXMLHttpRequest::visitChildren):
2756 * bindings/js/JSXPathResultCustom.cpp:
2757 (WebCore::JSXPathResult::visitChildrenVirtual):
2758 (WebCore::JSXPathResult::visitChildren):
2759 * bindings/scripts/CodeGeneratorJS.pm:
2761 (GenerateImplementation):
2762 * bindings/scripts/test/JS/JSTestObj.cpp:
2763 (WebCore::JSTestObj::visitChildrenVirtual):
2764 (WebCore::JSTestObj::visitChildren):
2765 * bindings/scripts/test/JS/JSTestObj.h:
2766 * bridge/qt/qt_instance.cpp:
2767 (JSC::Bindings::QtRuntimeObject::visitChildrenVirtual):
2768 (JSC::Bindings::QtRuntimeObject::visitChildren):
2769 * bridge/qt/qt_runtime.cpp:
2770 (JSC::Bindings::QtRuntimeMetaMethod::visitChildrenVirtual):
2771 (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
2772 * bridge/qt/qt_runtime.h:
2773 * workers/WorkerContext.h:
2775 2011-09-23 Mario Sanchez Prada <msanchez@igalia.com>
2777 [GTK] Remove extra space at the beginning of the last line.
2778 https://bugs.webkit.org/show_bug.cgi?id=68710
2780 Reviewed by Gustavo Noronha Silva.
2782 * platform/network/soup/SocketStreamHandleSoup.cpp:
2784 2011-09-23 Mario Sanchez Prada <msanchez@igalia.com>
2786 [GTK] Fix coding style issues in ResourceRequestSoup.cpp
2787 https://bugs.webkit.org/show_bug.cgi?id=68707
2789 Reviewed by Xan Lopez.
2791 This patch fixes some issues as reported by check-webkit-style.
2793 * platform/network/soup/ResourceRequestSoup.cpp:
2794 (WebCore::ResourceRequest::updateFromSoupMessage):
2796 2011-09-22 Ademar de Souza Reis Jr. <ademar.reis@openbossa.org>
2798 Unreviewed: [Qt] Workaround MSVC2010 problems when linking QtWebKit
2800 Include MSVC2010 in the list of compilers where incremental
2801 build is disabled (INCREMENTAL:NO).
2803 Change suggested by Simo Falt <simo.falt@nokia.com>, already present
2804 in the Qt-4.8 repository where the problem was identified.
2808 2011-09-23 Darin Adler <darin@apple.com>
2810 Try to fix warning seen in some 32-bit builds.
2812 * rendering/RenderBoxModelObject.cpp:
2813 (WebCore::backgroundRectAdjustedForBleedAvoidance):
2814 Use an explicit cast for the conversion from a double to a LayoutUnit.
2816 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
2818 Web Inspector: Clicking on error doesn't point on the correct line if user searched something
2819 https://bugs.webkit.org/show_bug.cgi?id=68627
2821 Reviewed by Yury Semikhatsky.
2823 * inspector/front-end/SearchController.js:
2824 (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
2825 * inspector/front-end/inspector.js:
2826 (WebInspector._showAnchorLocationInPanel):
2828 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
2830 Web Inspector: InspectorStyleSheet should use stylesheet's original url, not final one.
2831 https://bugs.webkit.org/show_bug.cgi?id=68631
2833 Reviewed by Yury Semikhatsky.
2835 Test: http/tests/inspector/styles/styles-redirected-css.html
2837 * inspector/InspectorStyleSheet.cpp:
2838 (WebCore::InspectorStyleSheet::resourceStyleSheetText):
2840 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
2842 Web Inspector: XHRs requests with the same url as main resource should have correct category.
2843 https://bugs.webkit.org/show_bug.cgi?id=68646
2845 Reviewed by Yury Semikhatsky.
2847 Test: http/tests/inspector/network/network-xhr-same-url-as-main-resource.html
2849 * inspector/InspectorResourceAgent.cpp:
2850 (WebCore::InspectorResourceAgent::didReceiveResponse):
2852 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
2854 Web Inspector: Add context menu action to navigate from resources panel resource to network panel.
2855 https://bugs.webkit.org/show_bug.cgi?id=68657
2857 Reviewed by Yury Semikhatsky.
2859 * English.lproj/localizedStrings.js:
2860 * inspector/front-end/NetworkPanel.js:
2861 (WebInspector.NetworkPanel.prototype.showAnchorLocation):
2862 (WebInspector.NetworkPanel.prototype.revealAndHighlightResource):
2863 * inspector/front-end/ResourcesPanel.js:
2864 (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
2865 (WebInspector.FrameResourceTreeElement.prototype._appendOpenInNetworkPanelAction):
2866 * inspector/front-end/inspector.js:
2867 (WebInspector.openInNetworkPanelLabel):
2868 (WebInspector.openRequestInNetworkPanel):
2870 2011-09-23 Deepak Sherveghar <bpwv64@motorola.com>
2872 [Gtk] Title attribute is not respected on option elements.
2873 https://bugs.webkit.org/show_bug.cgi?id=68615
2875 Reviewed by Martin Robinson.
2877 Set tooltip on PopupMenuGtk items created from GtkActions.
2879 * platform/gtk/GtkPopupMenu.cpp:
2880 (WebCore::GtkPopupMenu::appendItem): Added a call to gtk_widget_set_tooltip_text()
2881 to set the tooltip on menuitem. Tooltip text is retrieved from GtkAction.
2882 * platform/gtk/PopupMenuGtk.cpp:
2883 (WebCore::PopupMenuGtk::createGtkActionForMenuItem): Pass the tooltip text
2884 from client when creating a GtkAction.
2886 2011-09-23 Yael Aharon <yael.aharon@nokia.com>
2888 [Qt][Gtk] Wrong state when pausing a video in the "playing" event handler
2889 https://bugs.webkit.org/show_bug.cgi?id=68589
2891 Reviewed by Philippe Normand.
2893 Test: media/video-playing-and-pause.html
2895 As suggested by Alexis Menard on IRC, query gstreamer's state instead of using a cached value
2896 in MediaPlayerGstreamerPrivate::paused().
2898 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2899 (WebCore::MediaPlayerPrivateGStreamer::paused):
2901 2011-09-15 Pavel Podivilov <podivilov@chromium.org>
2903 Web Inspector: skip overlapping scripts when displaying concatenated content.
2904 https://bugs.webkit.org/show_bug.cgi?id=68144
2906 Dynamically appended script tags have wrong offsets and cause troubles building concatenated content.
2908 Reviewed by Pavel Feldman.
2910 * inspector/front-end/SourceFile.js:
2911 (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
2912 (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
2914 2011-09-23 Ilya Tikhonovsky <loislo@chromium.org>
2916 Web Inspector: file open dialog appears when user clicks on the timeline bar in timeline panel.
2917 https://bugs.webkit.org/show_bug.cgi?id=68312
2919 Reviewed by Yury Semikhatsky.
2921 * inspector/front-end/TimelinePanel.js:
2922 (WebInspector.TimelinePanel.prototype._createFileSelector):
2924 2011-09-23 Sheriff Bot <webkit.review.bot@gmail.com>
2926 Unreviewed, rolling out r95383.
2927 http://trac.webkit.org/changeset/95383
2928 https://bugs.webkit.org/show_bug.cgi?id=68690
2930 It broke WebInspector.Timeline.LoadFromFile feature.
2931 (Requested by loislo on #webkit).
2933 * inspector/front-end/TimelinePanel.js:
2934 (WebInspector.TimelinePanel.prototype._createFileSelector):
2936 2011-09-23 Rob Buis <rbuis@rim.com>
2938 use after free in WebCore::SVGTRefElement::updateReferencedText
2939 https://bugs.webkit.org/show_bug.cgi?id=67555
2941 Reviewed by Nikolas Zimmermann.
2943 Event listeners can outlive the tref element that created them when
2944 the tref is cloned and then garbage collected, causing a dangling pointer to the
2945 tref. To fix this do not install event listener until the tref is inserted into the document.
2947 Test: svg/custom/tref-clone-crash.html
2949 * svg/SVGTRefElement.cpp:
2950 (WebCore::SVGTRefElement::svgAttributeChanged):
2951 (WebCore::SVGTRefElement::insertedIntoDocument):
2952 * svg/SVGTRefElement.h:
2954 2011-09-23 Vsevolod Vlasov <vsevik@chromium.org>
2956 ASSERTION FAILED: documentLoader in WebKit/Source/WebCore/inspector/InspectorInstrumentation.cpp(597)
2957 https://bugs.webkit.org/show_bug.cgi?id=68291
2959 Reviewed by Tony Chang.
2962 (WebCore::Document::finishedParsing):
2963 * inspector/InspectorInstrumentation.cpp:
2964 (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
2965 (WebCore::InspectorInstrumentation::loadEventFiredImpl):
2966 * inspector/InspectorInstrumentation.h:
2967 (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
2968 (WebCore::InspectorInstrumentation::loadEventFired):
2969 * page/DOMWindow.cpp:
2970 (WebCore::DOMWindow::dispatchLoadEvent):
2972 2011-09-22 Tony Chang <tony@chromium.org>
2974 implement -webkit-flex-order
2975 https://bugs.webkit.org/show_bug.cgi?id=67432
2977 Reviewed by Ojan Vafai.
2979 flex-order can be an int (including negative), but we disallow the two
2980 smallest values so we can put the numbers into a hash set.
2982 Also, create two iterators: one that goes in render tree order (we use
2983 this for the first pass and to collect the possible flex order values)
2984 and one that goes in flex order.
2986 Test: css3/flexbox/flex-order.html
2988 * css/CSSParser.cpp:
2989 (WebCore::CSSParser::parseValue):
2990 * rendering/RenderFlexibleBox.cpp:
2991 (WebCore::FlexOrderHashTraits::emptyValue):
2992 (WebCore::FlexOrderHashTraits::constructDeletedValue):
2993 (WebCore::FlexOrderHashTraits::isDeletedValue):
2994 (WebCore::RenderFlexibleBox::TreeOrderIterator::TreeOrderIterator): A simple iterator
2995 that goes in render tree order.
2996 (WebCore::RenderFlexibleBox::TreeOrderIterator::next):
2997 (WebCore::RenderFlexibleBox::TreeOrderIterator::reset):
2998 (WebCore::RenderFlexibleBox::TreeOrderIterator::flexOrderValues):
2999 (WebCore::RenderFlexibleBox::FlexOrderIterator::FlexOrderIterator): An iterator that
3000 goes in flex-order order. Creating this involves sorting, so only create it once
3002 (WebCore::RenderFlexibleBox::FlexOrderIterator::first):
3003 (WebCore::RenderFlexibleBox::FlexOrderIterator::next):
3004 (WebCore::RenderFlexibleBox::FlexOrderIterator::reset):
3005 (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
3006 (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
3007 (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
3008 (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
3009 * rendering/RenderFlexibleBox.h:
3011 2011-09-22 Darin Adler <darin@apple.com>
3013 Use AffineTransform scale functions in ShadowBlur::adjustBlurRadius
3014 https://bugs.webkit.org/show_bug.cgi?id=68667
3016 Reviewed by Simon Fraser.
3018 * platform/graphics/ShadowBlur.cpp:
3019 (WebCore::ShadowBlur::adjustBlurRadius): Use AffineTransform::xScale and
3020 AffineTransform::yScale instead of the custom code here that seems to do
3023 2011-09-22 Darin Adler <darin@apple.com>
3025 Remove unneeded type conversion from background bleed code
3026 https://bugs.webkit.org/show_bug.cgi?id=68669
3028 Reviewed by Geoffrey Garen.
3030 * rendering/RenderBoxModelObject.cpp:
3031 (WebCore::backgroundRectAdjustedForBleedAvoidance): Use ceil instead of ceilf
3032 and eliminate superflous conversion to float and use of FloatSize. Also added
3035 2011-09-22 Darin Adler <darin@apple.com>
3037 Refactor checks for antialiasing lines to share a single function
3038 https://bugs.webkit.org/show_bug.cgi?id=68666
3040 Reviewed by Dan Bernstein.
3042 * rendering/RenderBlock.cpp:
3043 (WebCore::RenderBlock::paintColumnRules): Call shouldAntialiasLines.
3044 * rendering/RenderBoxModelObject.cpp:
3045 (WebCore::RenderBoxModelObject::paintBorder): Ditto.
3046 (WebCore::RenderBoxModelObject::shouldAntialiasLines): Added.
3047 * rendering/RenderBoxModelObject.h: Added shouldAntialiasLines function.
3048 * rendering/RenderInline.cpp:
3049 (WebCore::RenderInline::paintOutlineForLine): Call shouldAntialiasLines.
3050 * rendering/RenderTableCell.cpp:
3051 (WebCore::RenderTableCell::paintCollapsedBorder): Ditto.
3053 2011-09-22 Antoine Labour <piman@chromium.org>
3055 Remove unused members from LayerChromium.
3056 These members are never set, and never used.
3057 Other members that are set but not used have been left (we may use them
3058 later, e.g. m_opaque).
3059 https://bugs.webkit.org/show_bug.cgi?id=68297
3061 Reviewed by James Robinson.
3063 No functional change, no new test needed.
3065 * platform/graphics/chromium/LayerChromium.cpp:
3066 (WebCore::LayerChromium::LayerChromium):
3067 * platform/graphics/chromium/LayerChromium.h:
3069 2011-09-22 Tom Sepez <tsepez@chromium.org>
3071 Make XSSAuditor extract meaningful snippet from script blocks for comparison
3072 against the URL when checking for reflection. Avoids getting caugh up in
3074 https://bugs.webkit.org/show_bug.cgi?id=68094
3076 Reviewed by Adam Barth.
3078 Tests: http/tests/security/xssAuditor/script-tag-with-trailing-comment.html
3079 http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html
3080 http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html
3082 * html/parser/XSSAuditor.cpp:
3083 (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
3084 (WebCore::XSSAuditor::extractCodeFragment):
3085 * html/parser/XSSAuditor.h:
3087 2011-09-22 Nate Chapin <japhet@chromium.org>
3089 Remove didReceiveAuthenticationChallenge() from SubresourceLoaderClient.
3090 Instead, add a load-specific policy for showing the user authentication
3091 challenge down to ResourceLoaderOptions and enforce it in ResourceLoader.
3092 https://bugs.webkit.org/show_bug.cgi?id=65330
3094 Reviewed by Alexey Proskuryakov.
3096 No new tests, refactor only.
3098 * loader/DocumentThreadableLoader.cpp:
3099 * loader/DocumentThreadableLoader.h:
3100 * loader/MainResourceLoader.cpp:
3101 * loader/NetscapePlugInStreamLoader.cpp:
3102 * loader/ResourceLoadScheduler.h:
3103 * loader/ResourceLoader.cpp:
3104 (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
3105 For resource types that always send a challenge to the embedder,
3106 this patch doesn't change anything. For those that don't, we will
3107 always try to continue without credentials when they are forbidden
3108 and the platform supports it.
3109 When continuing without credentials was initially implemented in
3110 DocumentThreadableLoader, we sent the ThreadableLoaderClient a didFail(),
3111 then canceled the SubresourceLoader. This was necessary because of the
3112 quirks of ThreadableLoader cancellation (we sever the client/loader connections
3113 before the load actually cancels), but a simple didFail() should suffice at
3114 the ResourceLoader layer.
3115 * loader/ResourceLoaderOptions.h:
3116 * loader/SubresourceLoader.cpp:
3117 * loader/SubresourceLoader.h:
3118 * loader/SubresourceLoaderClient.h:
3119 * loader/cache/CachedResource.cpp:
3120 * loader/cache/CachedResourceLoader.cpp:
3121 * loader/cache/CachedResourceLoader.h:
3122 * loader/icon/IconLoader.cpp: The ResourceLoader implementation of
3123 didReceiveAuthenticationChallege means that IconLoader will now
3124 try to continue with credentials on platforms that support it,
3125 rather than just canceling outright. We still will never prompt
3126 for authentication for icons.
3127 * loader/icon/IconLoader.h:
3129 2011-09-22 Dean Jackson <dino@apple.com>
3131 Add ENABLE_CSS_FILTERS
3132 https://bugs.webkit.org/show_bug.cgi?id=68652
3134 Reviewed by Simon Fraser.
3136 * Configurations/FeatureDefines.xcconfig:
3138 2011-09-22 Anders Carlsson <andersca@apple.com>
3140 Make sure to update scrollbars in ScrollView::setFrameRect
3141 https://bugs.webkit.org/show_bug.cgi?id=68663
3143 Reviewed by Sam Weinig.
3145 Call updateScrollbars after setting the frame rect. This was previously done by the
3146 call to setBoundsSize from RenderWidget::setWidgetGeometry but setBoundsSize was removed
3147 completely in http://trac.webkit.org/changeset/95725.
3149 * platform/ScrollView.cpp:
3150 (WebCore::ScrollView::setFrameRect):
3152 2011-09-22 Jon Lee <jonlee@apple.com>
3154 Progress control gets cropped on the bottom
3155 https://bugs.webkit.org/show_bug.cgi?id=68302
3156 <rdar://problem/10069915>
3158 Reviewed by Kent Tamura.
3160 As it turns out the smaller control type does not get rendered either, so this patch
3163 * manual-tests/dom/progressbar.html: Altered to show both sizes of controls
3164 * rendering/RenderThemeMac.h:
3165 * rendering/RenderThemeMac.mm: Added methods to inflate the drawing rect
3166 (WebCore::RenderThemeMac::progressBarSizes):
3167 (WebCore::RenderThemeMac::progressBarMargins):
3168 (WebCore::RenderThemeMac::minimumProgressBarHeight):
3169 (WebCore::RenderThemeMac::paintProgressBar): Inflate the rect based on minimum desired
3170 control height and glow margin.
3172 2011-09-22 David Hyatt <hyatt@apple.com>
3174 https://bugs.webkit.org/show_bug.cgi?id=68658
3176 Make matchedEndLine smart enough to not match lines that have moved to new
3177 regions with different available content logical widths. When this happens, we go ahead and treat
3178 the line as failing to match.
3180 Reviewed by Anders Carlsson.
3182 Added new tests in fast/regions.
3184 * rendering/RenderBlock.cpp:
3185 (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
3186 * rendering/RenderBlock.h:
3187 Enhanced to take an optional delta, so that you can check a new position without having to move
3190 * rendering/RenderBlockLineLayout.cpp:
3191 (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
3192 New function that refactors checking for line width changes from region movement as well as the
3193 float checks. Since the float checks were duplicated twice, this is a nice refactoring.
3195 (WebCore::RenderBlock::matchedEndLine):
3196 Changed to call the new helper function that will check both floats and pagination.
3198 2011-09-22 Gavin Barraclough <barraclough@apple.com>
3200 Implement Function.prototype.bind
3201 https://bugs.webkit.org/show_bug.cgi?id=26382
3203 Reviewed by Sam Weinig.
3205 Test: fast/js/function-bind.html
3207 * bindings/js/JSDOMBinding.cpp:
3208 (WebCore::objectToStringFunctionGetter):
3209 * bindings/js/JSDOMWindowCustom.cpp:
3210 (WebCore::nonCachingStaticFunctionGetter):
3211 * bindings/js/JSHistoryCustom.cpp:
3212 (WebCore::nonCachingStaticBackFunctionGetter):
3213 (WebCore::nonCachingStaticForwardFunctionGetter):
3214 (WebCore::nonCachingStaticGoFunctionGetter):
3215 * bindings/js/JSLocationCustom.cpp:
3216 (WebCore::nonCachingStaticReplaceFunctionGetter):
3217 (WebCore::nonCachingStaticReloadFunctionGetter):
3218 (WebCore::nonCachingStaticAssignFunctionGetter):
3219 - Function::create no longer requires functionStructure() to be passed.
3220 2011-09-22 David Hyatt <hyatt@apple.com>
3222 https://bugs.webkit.org/show_bug.cgi?id=68650
3224 Make determineStartPosition smart enough to not skip over clean lines that have moved to a new
3225 region with a different available content logical width. When this happens, we go ahead and treat
3228 Reviewed by Sam Weinig.
3230 Covered by existing fast/regions tests.
3232 * rendering/RenderBlock.cpp:
3233 (WebCore::RenderBlock::layoutBlock):
3234 Disable region fitting if we detect that the regions all have uniform widths. In this case we know
3235 the content width can't vary, so there's no reason to waste time worrying about it.
3237 (WebCore::RenderBlock::computeLogicalLocationForFloat):
3238 Pull the content width checking code into computeLogicalLocationForFloat, since we've incorporated
3239 region fitting into the fixed offsets now rather than the line functions.
3241 (WebCore::RenderBlock::positionNewFloats):
3242 Changed because more code moved from here into computeLogicalLocationForFloat.
3244 (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
3245 No changes. Just moved the function above the left offset function.
3247 (WebCore::RenderBlock::logicalLeftOffsetForContent):
3248 (WebCore::RenderBlock::logicalRightOffsetForContent):
3249 Added. These new functions give the fixed left and right offsets for lines in a particular region.
3250 When no regions are present or when all the regions have a uniform width, they are identical
3251 to the versions of the functions that take no arguments.
3253 (WebCore::RenderBlock::logicalRightOffsetForLine):
3254 Changed to no longer do region fitting, since that's built into logicalRightOffsetForContent now.
3256 (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
3257 New function that takes a root line box and compares its cached old content width with the width
3258 available at the line's new location.
3260 * rendering/RenderBlock.h:
3261 (WebCore::RenderBlock::logicalRightOffsetForLine):
3262 (WebCore::RenderBlock::logicalLeftOffsetForLine):
3263 Modified to call the logicalXXXOffsetForContent functions that take a block direction position.
3265 (WebCore::RenderBlock::logicalRightOffsetForContent):
3266 (WebCore::RenderBlock::logicalLeftOffsetForContent):
3267 Added the new functions that take a position so that they can fit to the correct region.
3269 (WebCore::RenderBlock::availableLogicalWidthForContent):
3270 New helper function that calls right - left (similar to the corresponding line function that includes
3273 * rendering/RenderBlockLineLayout.cpp:
3274 (WebCore::RenderBlock::determineStartPosition):
3275 Patched to check if a line has moved to a place with a different available content width. If so, the line
3276 is dirtied so that line layout can re-run.
3278 * rendering/RootInlineBox.cpp:
3279 (WebCore::RootInlineBox::RootInlineBox):
3280 (WebCore::RootInlineBox::alignBoxesInBlockDirection):
3281 Sets the paginated line width from the current block logical height.
3283 * rendering/RootInlineBox.h:
3284 (WebCore::RootInlineBox::paginationStrut):
3285 (WebCore::RootInlineBox::setPaginationStrut):
3286 Fixed paginationStrut to be LayoutUnit instead of int.
3288 (WebCore::RootInlineBox::paginatedLineWidth):
3289 (WebCore::RootInlineBox::setPaginatedLineWidth):
3290 Added paginatedLineWidth getter/setter for caching the content width for a given root line.
3292 2011-09-21 Anders Carlsson <andersca@apple.com>
3294 Remove Widget::beforeMouseDown and Widget::afterMouseDown
3295 https://bugs.webkit.org/show_bug.cgi?id=68570
3297 Reviewed by Darin Adler.
3299 These two member functions were originally added to avoid crashes due to removing NSViews while they were
3300 being tracked by AppKit. Since they were added, we've moved away from NSViews for form controls, and the bugs in
3301 AppKit that lead to crashes have been fixed.
3303 This patch was rolled out in r95743 because it broke a bunch of tests. The patch accidentally removed setting back
3304 m_sendingEventToSubview to false.
3306 * page/mac/EventHandlerMac.mm:
3307 (WebCore::EventHandler::passMouseDownEventToWidget):
3308 * platform/Widget.h:
3309 * platform/mac/WidgetMac.mm:
3310 (WebCore::Widget::Widget):
3311 (WebCore::Widget::removeFromSuperview):
3313 * rendering/RenderWidget.cpp:
3314 Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
3316 2011-09-22 Sheriff Bot <webkit.review.bot@gmail.com>
3318 Unreviewed, rolling out r95335 and r95645.
3319 http://trac.webkit.org/changeset/95335
3320 http://trac.webkit.org/changeset/95645
3321 https://bugs.webkit.org/show_bug.cgi?id=68649
3323 Wrong fix (Requested by rniwa on #webkit).
3325 * editing/DeleteSelectionCommand.cpp:
3326 (WebCore::DeleteSelectionCommand::saveTypingStyleState):
3327 * editing/EditingStyle.cpp:
3328 (WebCore::EditingStyle::removeStyleAddedByNode):
3329 * editing/EditingStyle.h:
3330 * editing/ReplaceSelectionCommand.cpp:
3331 (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
3332 * editing/markup.cpp:
3333 (WebCore::StyledMarkupAccumulator::serializeNodes):
3334 (WebCore::ancestorToRetainStructureAndAppearance):
3337 2011-09-22 Ryosuke Niwa <rniwa@webkit.org>
3339 Revert r95673 since it caused hundreds of tests to fail on Leopard / Snow Leopard.
3341 * page/mac/EventHandlerMac.mm:
3342 (WebCore::EventHandler::passMouseDownEventToWidget):
3343 * platform/Widget.h:
3344 * platform/mac/WidgetMac.mm:
3345 (WebCore::Widget::Widget):
3346 (WebCore::Widget::removeFromSuperview):
3347 (WebCore::Widget::beforeMouseDown):
3348 (WebCore::Widget::afterMouseDown):
3349 * rendering/RenderWidget.cpp:
3351 2011-09-22 David Hyatt <hyatt@apple.com>
3353 https://bugs.webkit.org/show_bug.cgi?id=68638
3355 Make RenderFlowThread cache whether or not it has regions of varying widths. This will
3356 be relevant for performance as we begin adding code to do custom block painting and
3357 layout based off regions not having the same width.
3359 Reviewed by Dan Bernstein and Adam Roben.
3361 * rendering/RenderFlowThread.cpp:
3362 (WebCore::RenderFlowThread::RenderFlowThread):
3363 (WebCore::RenderFlowThread::layout):
3364 * rendering/RenderFlowThread.h:
3366 2011-09-22 Anders Carlsson <andersca@apple.com>
3368 FrameView::invalidateRect and FrameView::setFrameRect shouldn't take LayoutRects
3369 https://bugs.webkit.org/show_bug.cgi?id=68639
3371 Reviewed by David Hyatt.
3373 FrameView::invalidateRect and FrameView::setFrameRect override Widget and ScrollView
3374 member functions that take IntRects, and Widget coordinates are currently defined in terms of
3375 IntRects (and probably always should since we want them to be pixel-aligned).
3377 * page/FrameView.cpp:
3378 (WebCore::FrameView::invalidateRect):
3379 (WebCore::FrameView::setFrameRect):
3382 2011-09-22 Tim Horton <timothy_horton@apple.com>
3384 Unreviewed build fix (fixes warning about too many parens).
3386 * rendering/RenderBox.cpp:
3387 (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
3389 2011-09-22 Anders Carlsson <andersca@apple.com>
3391 Widget::frameRect shouldn't be virtual
3392 https://bugs.webkit.org/show_bug.cgi?id=68637
3394 Reviewed by Sam Weinig.
3396 Nobody overrides Widget::frameRect and nobody should.
3398 * platform/Widget.h:
3400 2011-09-22 Sergey Glazunov <serg.glazunov@gmail.com>
3402 Ref protect shaders in V8WebGLRenderingContext::getAttachedShadersCallback
3403 https://bugs.webkit.org/show_bug.cgi?id=68630
3405 Reviewed by Adam Barth.
3407 Test: fast/canvas/webgl/shader-deleted-by-accessor.html
3409 * bindings/js/JSWebGLRenderingContextCustom.cpp:
3410 (WebCore::JSWebGLRenderingContext::getAttachedShaders):
3411 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3412 (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
3413 * html/canvas/WebGLRenderingContext.cpp:
3414 (WebCore::WebGLRenderingContext::getAttachedShaders):
3415 * html/canvas/WebGLRenderingContext.h:
3417 2011-09-05 Robert Hogan <robert@webkit.org>
3419 CSS 2.1 failure: abspos-non-replaced-width-margin-000, abspos-replaced-width-margin-000
3420 https://bugs.webkit.org/show_bug.cgi?id=47148
3422 Reviewed by David Hyatt.
3424 * rendering/RenderBlock.h:
3425 * rendering/RenderBlockLineLayout.cpp:
3426 (WebCore::RenderBlock::startOffsetForLine): Return offset from right, rather than offset from left + logicalwidth
3427 * rendering/RenderBlockLineLayout.cpp:
3428 (WebCore::RenderBlock::startAlignedOffsetForLine):
3429 Return the correct alignment for RTL blocks too. Looks like neither FF or Opera do this correctly.
3430 Covered by new test left-right-center-inline-alignment-in-ltr-and-rtl-blocks.html
3431 * rendering/RenderBox.cpp:
3432 (WebCore::computeInlineStaticDistance):
3433 - The CSS 2.1 tests now require UAs to use the parent block's direction (rather than the
3434 containing block's direction) when computing static distance. The container block's direction
3435 is still used in the other width and offset related calculations.
3436 - In the context of this function, the logicalRight value is just an element that will be used later to calculate
3437 the correct logicalLeft position for the RTL block. So whereas an LTR block can substract containerBlock->borderLogicalLeft()
3438 in this function directly, an RTL block has to add it here so that will be later subtracted from availableSpace to get
3439 logicalLeft in computePositionedLogicalWidthUsing().
3441 (WebCore::RenderBox::computePositionedLogicalWidth):
3442 - Update comments and use the container block's direction except when calculating the static distance.
3443 - Remove the notion of a quirks mode in this function and for calculating the position of replaced and non-replaced
3444 blocks generally. This is in line with both FF4 and Opera - neither of which have a quirks mode for them.
3445 (WebCore::RenderBox::computePositionedLogicalWidthUsing):
3446 - Update comments and use the container block's direction except when calculating the static distance.
3447 (WebCore::RenderBox::computePositionedLogicalHeight):
3449 (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
3450 - Update comments and use the container block's direction except when calculating the static distance.
3451 - If the containing block is RTL, always assume that values are over-constrained.
3452 (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
3455 2011-09-22 Anders Carlsson <andersca@apple.com>
3457 Get rid of Widget::setBoundsSize
3458 https://bugs.webkit.org/show_bug.cgi?id=68491
3460 Reviewed by Sam Weinig.
3462 This basically reverts http://trac.webkit.org/changeset/79167 and http://trac.webkit.org/changeset/75897
3463 which were added to make zoom gestures work with WebKit1, but since we don't support zoom gestures in WebKit1
3464 anymore, it's better for code cleanliness to get rid of Widget::setBoundsSize and the associated code. While this
3465 will unfortunately break transformed iframes in WebKit1, but Simon says that it's an acceptable tradeoff.
3468 * loader/FrameLoader.cpp:
3469 (WebCore::FrameLoader::open):
3470 * page/FrameView.cpp:
3471 (WebCore::FrameView::create):
3472 * platform/ScrollView.cpp:
3473 (WebCore::ScrollView::visibleContentRect):
3474 (WebCore::ScrollView::updateScrollbars):
3475 (WebCore::ScrollView::wheelEvent):
3476 * platform/ScrollView.h:
3477 * platform/Widget.cpp:
3478 * platform/Widget.h:
3479 (WebCore::Widget::resize):
3480 * platform/chromium/PopupContainer.cpp:
3481 (WebCore::PopupContainer::refresh):
3482 * platform/gtk/ScrollViewGtk.cpp:
3483 (WebCore::ScrollView::visibleContentRect):
3484 * platform/mac/WidgetMac.mm:
3485 (WebCore::Widget::paint):
3486 * rendering/RenderWidget.cpp:
3487 (WebCore::RenderWidget::setWidgetGeometry):
3488 (WebCore::RenderWidget::setWidget):
3489 (WebCore::RenderWidget::updateWidgetPosition):
3490 * rendering/RenderWidget.h:
3492 2011-09-21 David Hyatt <hyatt@apple.com>
3494 https://bugs.webkit.org/show_bug.cgi?id=68590
3496 Floats pushed to next page, column or region don't reposition properly if the amount of
3497 available logical width at the new position changes. Refactor the code so that we can
3498 run the float placement algorithm again when this happens.
3500 Covered by an existing regions test that exposes the issue.
3502 Reviewed by Adam Roben.
3504 * rendering/RenderBlock.cpp:
3505 (WebCore::RenderBlock::computeLogicalLocationForFloat):
3506 (WebCore::RenderBlock::positionNewFloats):
3507 * rendering/RenderBlock.h:
3509 2011-09-22 Leandro Gracia Gil <leandrogracia@chromium.org>
3511 Fire TextInput events on speech input, but not set/add any inputMethod attribute.
3512 https://bugs.webkit.org/show_bug.cgi?id=60451
3514 Reviewed by Ryosuke Niwa.
3516 Introduce code to dispatch TextInput events when text is introduced via
3517 the speech input feature. Handle also the cases where speech input is
3518 started programmatically from the LayoutTestController.
3520 Test: fast/speech/input-ontextinput-event.html
3522 * dom/TextEventInputType.h:
3523 * html/shadow/TextControlInnerElements.cpp:
3524 (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
3526 2011-09-20 Jason Liu <jason.liu@torchmobile.com.cn>
3528 Reviewed by Simon Fraser.
3530 CSS outline property on a narrow element has rabbit ear artifacts
3531 https://bugs.webkit.org/show_bug.cgi?id=36793
3533 Patch by Jason Liu <jason.liu@torchmobile.com.cn>
3534 Patch updated by Robert Hogan <robert@webkit.org>
3536 Test: fast/css/outline-narrowLine.html
3538 * rendering/RenderInline.cpp:
3539 (WebCore::RenderInline::paintOutlineForLine):
3541 2011-09-22 Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com>
3543 [GTK]Popup drop-down menu contains extra empty spaces at beginning and
3544 occupies whole screen when items in popup reaches the height of display device.
3545 https://bugs.webkit.org/show_bug.cgi?id=68533
3547 When implementing the GTK+ menu position function, set pushIn to false, which tell
3548 GTK+ not create a menu that is as big as the entire screen.
3550 Reviewed by Martin Robinson.
3552 * platform/gtk/GtkPopupMenu.cpp:
3553 (WebCore::GtkPopupMenu::menuPositionFunction): Set pushIn to false in the menu position function.
3555 2011-09-22 Alpha Lam <hclam@chromium.org>
3557 Define export symbol correctly due to rename of pageScaleFactor to
3560 Not reviewed. Build fix.
3564 2011-09-22 Vsevolod Vlasov <vsevik@chromium.org>
3566 Web Inspector: Console is always scrolled to the top
3567 https://bugs.webkit.org/show_bug.cgi?id=67483
3569 Reviewed by Pavel Feldman.
3571 * inspector/front-end/ConsoleView.js:
3572 (WebInspector.ConsoleView.prototype.wasShown):
3573 (WebInspector.ConsoleView.prototype.storeScrollPositions):
3574 (WebInspector.ConsoleView.prototype.restoreScrollPositions):
3575 (WebInspector.ConsoleView.prototype.onResize):
3576 (WebInspector.ConsoleView.prototype._immediatelyScrollIntoView):
3577 (WebInspector.ConsoleView.prototype._cancelScheduledScrollIntoView):
3578 (WebInspector.ConsoleView.prototype._consoleCleared):
3579 * inspector/front-end/Drawer.js:
3580 (WebInspector.Drawer.prototype.hide):
3581 (WebInspector.Drawer.prototype.resize):
3582 (WebInspector.Drawer.prototype._startStatusBarDragging):
3583 (WebInspector.Drawer.prototype._statusBarDragging):
3584 * inspector/front-end/inspector.js:
3585 (WebInspector.animateStyle):
3586 (WebInspector.animateStyle.forceComplete):
3588 2011-09-22 Alpha Lam <hclam@chromium.org>
3590 https://bugs.webkit.org/show_bug.cgi?id=68081
3591 Fix scroll in page scaling mode.
3593 Reviewed by Simon Fraser.
3595 The following things are done in this patch:
3596 1. Rename Frame::pageScaleFactor() to Frame::frameScaleFactor() to better
3597 reflect its purpose.
3598 2. Frame::frameScaleFactor() returns the scale factor of this frame with
3599 respect to the container. So for the main frame it'll return the scale
3600 factor of the page, inner frames will return 1.0
3601 3. scrollBy(), scrollX() and scrollY() to take into account of the frame
3602 scale factor, causing incorrect coordinates reported to Javascript.
3604 Tests: fast/events/scale-and-scroll-body.html
3605 fast/events/scale-and-scroll-iframe-body.html
3606 fast/events/scale-and-scroll-iframe-window.html
3607 fast/events/scale-and-scroll-window.html
3609 * html/HTMLBodyElement.cpp:
3610 (WebCore::adjustForZoom):
3611 (WebCore::HTMLBodyElement::setScrollLeft):
3612 (WebCore::HTMLBodyElement::setScrollTop):
3613 * loader/HistoryController.cpp:
3614 (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
3615 * page/DOMWindow.cpp:
3616 (WebCore::DOMWindow::scrollX):
3617 (WebCore::DOMWindow::scrollY):
3618 (WebCore::DOMWindow::scrollTo):
3620 (WebCore::Frame::frameScaleFactor): Return page's scale factor if this is
3621 main frame, otherwise 1.0
3623 * page/FrameView.cpp:
3624 (WebCore::FrameView::applyOverflowToViewport):
3625 (WebCore::FrameView::scrollXForFixedPosition):
3626 (WebCore::FrameView::scrollYForFixedPosition):
3628 2011-09-22 Andreas Kling <kling@webkit.org>
3630 CSS: Implement 'font' property in CSSComputedStyle.
3631 https://bugs.webkit.org/show_bug.cgi?id=66666
3633 Reviewed by Antti Koivisto.
3635 Test: fast/css/getComputedStyle/computed-style-font.html
3637 * css/CSSComputedStyleDeclaration.cpp:
3638 (WebCore::fontFamilyFromStyle): Factored out of getPropertyCSSValue().
3639 This function will always return a CSSValueList, as opposed to the previous
3640 implementation which would return a CSSPrimitiveValue if there was only one family.
3641 getCSSPropertyValue() will return the first element of the list for 1-element lists
3642 to preserve the current behavior of getPropertyCSSValue('font-family').
3644 (WebCore::lineHeightFromStyle): Factored out of getPropertyCSSValue().
3645 (WebCore::fontSizeFromStyle): Ditto.
3646 (WebCore::fontStyleFromStyle): Ditto.
3647 (WebCore::fontVariantFromStyle): Ditto.
3648 (WebCore::fontWeightFromStyle): Ditto.
3650 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added
3651 implementation of the computed 'font' property (CSSPropertyFont.)
3653 2011-09-22 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
3655 [Qt] Redirection overflow errors have wrong error domain
3656 https://bugs.webkit.org/show_bug.cgi?id=68612
3658 Reviewed by Andreas Kling.
3660 Redirection overflow currently puts the URL hostname in the errorDomain field.
3661 Now redirection overflow errors will be classified as "HTTP" errors.
3663 * platform/network/qt/QNetworkReplyHandler.cpp:
3664 (WebCore::QNetworkReplyHandler::redirect):
3666 2011-09-22 James Robinson <jamesr@chromium.org>
3668 Unreviewed, rolling out r95699.
3669 http://trac.webkit.org/changeset/95699
3670 https://bugs.webkit.org/show_bug.cgi?id=67417
3672 Makes many chromium compositor tests crash
3674 * platform/CrossThreadCopier.h:
3675 * platform/graphics/chromium/LayerRendererChromium.cpp:
3676 (WebCore::LayerRendererChromium::~LayerRendererChromium):
3677 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3678 (WebCore::CCHeadsUpDisplay::enabled):
3679 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3680 (WebCore::CCLayerImpl::CCLayerImpl):
3681 (WebCore::CCLayerImpl::~CCLayerImpl):
3682 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3683 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
3684 (WebCore::CCLayerTreeHost::commitTo):
3685 (WebCore::CCLayerTreeHost::setNeedsRedraw):
3686 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3687 (WebCore::CCSettings::CCSettings):
3688 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3689 (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
3690 (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
3691 * platform/graphics/chromium/cc/CCProxy.h:
3692 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3693 (WebCore::CCSingleThreadProxy::finishAllRendering):
3694 (WebCore::CCSingleThreadProxy::setNeedsCommit):
3695 (WebCore::CCSingleThreadProxy::commitIfNeeded):
3696 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3697 (WebCore::CCThreadProxy::CCThreadProxy):
3698 (WebCore::CCThreadProxy::~CCThreadProxy):
3699 (WebCore::CCThreadProxy::compositeAndReadback):
3700 (WebCore::CCThreadProxy::finishAllRendering):
3701 (WebCore::CCThreadProxy::isStarted):
3702 (WebCore::CCThreadProxy::initializeLayerRenderer):
3703 (WebCore::CCThreadProxy::setNeedsCommit):
3704 (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
3705 (WebCore::CCThreadProxy::setNeedsRedraw):
3706 (WebCore::CCThreadProxy::start):
3707 (WebCore::CCThreadProxy::stop):
3708 (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
3709 (WebCore::CCThreadProxy::beginFrameAndCommit):
3710 (WebCore::CCThreadProxy::commitOnCCThread):
3711 (WebCore::CCThreadProxy::drawLayersOnCCThread):
3712 (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
3713 (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
3714 (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
3715 * platform/graphics/chromium/cc/CCThreadProxy.h:
3717 2011-09-22 Nat Duca <nduca@chromium.org>
3719 [chromium] Make CCThreadProxy draw
3720 https://bugs.webkit.org/show_bug.cgi?id=67417
3722 Update the CCThreadProxy to correctly implement the CCProxy
3723 interface, do all the right committing and updating steps, and
3724 draw a picture on the screen.
3726 Reviewed by James Robinson.
3728 * platform/graphics/IntRect.h:
3729 * platform/graphics/chromium/LayerRendererChromium.cpp:
3730 (WebCore::LayerRendererChromium::~LayerRendererChromium):
3731 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3732 (WebCore::CCHeadsUpDisplay::enabled):
3733 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3734 (WebCore::CCLayerImpl::CCLayerImpl):
3735 (WebCore::CCLayerImpl::~CCLayerImpl):
3736 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3737 (WebCore::CCLayerTreeHost::CCLayerTreeHost):
3738 (WebCore::CCLayerTreeHost::commitTo):
3739 (WebCore::CCLayerTreeHost::commitComplete):
3740 (WebCore::CCLayerTreeHost::setNeedsRedraw):
3741 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3742 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3743 (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
3744 (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
3745 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3746 (WebCore::CCSingleThreadProxy::finishAllRendering):
3747 (WebCore::CCSingleThreadProxy::setNeedsCommit):
3748 (WebCore::CCSingleThreadProxy::commitIfNeeded):
3749 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3750 (WebCore::CCThreadProxy::CCThreadProxy):
3751 (WebCore::CCThreadProxy::~CCThreadProxy):
3752 (WebCore::CCThreadProxy::compositeAndReadback):
3753 (WebCore::CCThreadProxy::drawLayersAndReadbackOnCCThread):
3754 (WebCore::CCThreadProxy::finishAllRendering):
3755 (WebCore::CCThreadProxy::isStarted):
3756 (WebCore::CCThreadProxy::setNeedsCommit):
3757 (WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
3758 (WebCore::CCThreadProxy::setNeedsRedraw):
3759 (WebCore::CCThreadProxy::start):
3760 (WebCore::CCThreadProxy::stop):
3761 (WebCore::CCThreadProxy::finishAllRenderingOnCCThread):
3762 (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
3763 (WebCore::CCThreadProxy::beginFrameAndCommit):
3764 (WebCore::CCThreadProxy::commitOnCCThread):
3765 (WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
3766 (WebCore::CCThreadProxy::drawLayersAndPresentOnCCThread):
3767 (WebCore::CCThreadProxy::drawLayersOnCCThread):
3768 (WebCore::CCThreadProxy::updateSchedulerStateOnCCThread):
3769 * platform/graphics/chromium/cc/CCThreadProxy.h:
3771 2011-09-21 Beth Dakin <bdakin@apple.com>
3773 https://bugs.webkit.org/show_bug.cgi?id=67415
3774 Text drawn via -webkit-background-clip:text is blurry at device scale factors >1.0
3776 <rdar://problem/10060379>
3778 Reviewed by Darin Adler.
3780 New helper function RenderBoxModelObject scales the mask image by the
3781 deviceScaleFactor to get an image of the appropriate resolution. It also scales
3782 the image's GraphicsContext so that the clip is set up on the same scale. Back in
3783 paintFillLayerExtended() we still clip the image to the original maskRect to get
3784 everything scaled back to the appropriate size.
3785 * rendering/RenderBoxModelObject.cpp:
3786 (WebCore::createDeviceScaledImageBuffer):
3787 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3789 Make the deviceScaleFactor convenience function just a namespace-level function in
3790 Page rather than a static member or Page.
3792 (WebCore::deviceScaleFactor):
3795 Pre-existing callers of Page::deviceScaleFactor(Frame*) must now use
3796 WebCore::deviceScaleFactor(Frame*)
3797 * editing/DeleteButtonController.cpp:
3798 (WebCore::DeleteButtonController::createDeletionUI):
3799 * rendering/RenderImage.cpp:
3800 (WebCore::RenderImage::imageSizeForError):
3801 (WebCore::RenderImage::paintReplaced):
3802 * rendering/RenderLayer.cpp:
3803 (WebCore::RenderLayer::drawPlatformResizerImage):
3805 2011-09-21 Tim Horton <timothy_horton@apple.com>
3807 [CG] ImageBufferData::getData has an invariant comparison in the inner part of a loop which doesn't get optimized out
3808 https://bugs.webkit.org/show_bug.cgi?id=68588
3809 <rdar://problem/10164955>
3811 Reviewed by Simon Fraser.
3813 Factor the unmultiplied check out of the inner loop, resulting in a
3814 speed bump in ImageBufferData::getData.
3816 No new tests, performance improvement.
3818 * platform/graphics/cg/ImageBufferDataCG.cpp:
3819 (WebCore::ImageBufferData::getData):
3821 2011-09-21 Sameer Patil <mkrp87@motorola.com>
3823 :hover selector fails when hovering over a child select element with size attribute
3824 https://bugs.webkit.org/show_bug.cgi?id=67594
3826 Reviewed by Darin Adler.
3828 Test: fast/css/hover-affects-ancestor.html
3830 This patch addresses the problem of deactivation of the ancestor element :hover rules
3831 when hovered its contained elements.
3833 * rendering/RenderLayer.cpp:
3834 (WebCore::RenderLayer::updateHoverActiveState):
3836 2011-09-21 Sergey Glazunov <serg.glazunov@gmail.com>
3838 [Chromium] Protect message ports from being deleted in V8MessageEvent::portsAccessorGetter
3839 https://bugs.webkit.org/show_bug.cgi?id=68584
3841 Reviewed by Adam Barth.
3843 Test: fast/dom/message-port-deleted-by-accessor.html
3845 * bindings/v8/custom/V8MessageEventCustom.cpp:
3846 (WebCore::V8MessageEvent::portsAccessorGetter):
3848 2011-09-21 Anders Carlsson <andersca@apple.com>
3850 Add back protection against the NSView going away while handling mouseDown
3851 https://bugs.webkit.org/show_bug.cgi?id=68585
3853 Reviewed by Darin Adler.
3855 Add calls to RenderWidget::suspendWidgetHierarchyUpdates() and RenderWidget::resumeWidgetHierarchyUpdates(),
3856 as a followup fix to https://bugs.webkit.org/show_bug.cgi?id=68570.
3858 * page/mac/EventHandlerMac.mm:
3859 (WebCore::EventHandler::passMouseDownEventToWidget):
3861 2011-09-21 Julien Chaffraix <jchaffraix@webkit.org>
3863 Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
3864 https://bugs.webkit.org/show_bug.cgi?id=68133
3866 Reviewed by Darin Adler.
3868 Tests: fast/css/webkit-mask-crash-fieldset-legend.html
3869 fast/css/webkit-mask-crash-figure.html
3870 fast/css/webkit-mask-crash-table.html
3871 fast/css/webkit-mask-crash-td-2.html
3872 fast/css/webkit-mask-crash-td.html
3874 GraphicsContext::getCTM crashes if called with a GraphicsContext that has painting
3875 disabled. RenderBox::paintMaskImages would thus crash if called in this condition.
3877 This change just modifies the different GraphicsContext::getCTM method to bail early
3878 if painting is disabled on the GraphicsContext. The rest of the change is exposing
3879 paintControlTints that exposes this.
3881 * WebCore.exp.in: Added symbols of the newly export window.internals function.
3883 * page/FrameView.cpp:
3884 (WebCore::FrameView::updateControlTints): Split this function in 2 so that
3885 I can expose the internal paintControlTints.
3887 (WebCore::FrameView::paintControlTints):
3888 This is the one exposed to Internals as we want to be testable regardless of
3889 whether the platform supports control tints.
3891 * page/FrameView.h: Added paintControlTints.
3893 * testing/Internals.cpp:
3894 (WebCore::Internals::paintControlTints):
3895 * testing/Internals.h:
3896 * testing/Internals.idl:
3897 Added a way to force a fake painting so that we can easily reproduce the bugs.
3899 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3900 (WebCore::GraphicsContext::getCTM):
3901 * platform/graphics/cg/GraphicsContextCG.cpp:
3902 (WebCore::GraphicsContext::getCTM):
3903 * platform/graphics/qt/GraphicsContextQt.cpp:
3904 (WebCore::GraphicsContext::getCTM):
3905 * platform/graphics/skia/GraphicsContextSkia.cpp:
3906 (WebCore::GraphicsContext::getCTM):
3907 * platform/graphics/wince/GraphicsContextWinCE.cpp:
3908 (WebCore::GraphicsContext::getCTM):
3909 * platform/graphics/wx/GraphicsContextWx.cpp:
3910 (WebCore::GraphicsContext::getCTM):
3911 Fixed all our back-end to exit early if painting is disabled.
3913 2011-09-19 Jer Noble <jer.noble@apple.com>
3915 Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
3916 https://bugs.webkit.org/show_bug.cgi?id=68382
3918 Reviewed by Darin Adler.
3920 Only create a AudioContext object if the Web Audio feature is runtime-enabled in Settings.
3922 No new tests, as this feature is not yet enabled by default.
3924 * bindings/js/JSDOMWindowCustom.cpp:
3925 (WebCore::JSDOMWindow::webkitAudioContext):
3927 2011-09-21 Anders Carlsson <andersca@apple.com>
3929 Remove checks for Leopard-only Objective-C APIs
3930 https://bugs.webkit.org/show_bug.cgi?id=68579
3932 Reviewed by Sam Weinig.
3934 We can always assume that OBJC_API_VERSION is at least 2, it's been 2 since Leopard.
3936 * bridge/objc/objc_class.mm:
3937 (JSC::Bindings::ObjcClass::methodsNamed):
3938 (JSC::Bindings::ObjcClass::fieldNamed):
3939 * bridge/objc/objc_instance.mm:
3940 (allocateAutoReleasePool):
3941 * bridge/objc/objc_runtime.mm:
3942 (JSC::Bindings::ObjcField::ObjcField):
3943 * page/mac/EventHandlerMac.mm:
3945 2011-09-21 Anders Carlsson <andersca@apple.com>
3947 Remove Widget::beforeMouseDown and Widget::afterMouseDown
3948 https://bugs.webkit.org/show_bug.cgi?id=68570
3950 Reviewed by Sam Weinig.
3952 These two member functions were originally added to avoid crashes due to removing NSViews while they were
3953 being tracked by AppKit. Since they were added, we've moved away from NSViews for form controls, and the bugs in
3954 AppKit that lead to crashes have been fixed.
3956 * page/mac/EventHandlerMac.mm:
3957 (WebCore::EventHandler::passMouseDownEventToWidget):
3958 * platform/Widget.h:
3959 * platform/mac/WidgetMac.mm:
3960 (WebCore::Widget::Widget):
3961 (WebCore::Widget::removeFromSuperview):
3963 * rendering/RenderWidget.cpp:
3964 Change widgetHierarchyUpdateSuspendCount to be an unsigned integer instead of a size_t.
3966 2011-09-21 Abhishek Arya <inferno@chromium.org>
3968 Not use anonymousContainer on beforeChild calculation
3969 and let later code handle it. Fix style update on block-level
3971 https://bugs.webkit.org/show_bug.cgi?id=67656
3973 Reviewed by David Hyatt.
3975 Test: fast/table/quote-text-around-iframe.html
3977 * rendering/RenderTable.cpp:
3978 (WebCore::RenderTable::addChild):
3979 * rendering/RenderTableCell.cpp:
3980 (WebCore::RenderTableCell::styleDidChange):
3981 * rendering/RenderTableRow.cpp:
3982 (WebCore::RenderTableRow::addChild):
3983 * rendering/RenderObject.cpp:
3984 (WebCore::RenderObject::propagateStyleToAnonymousChildren):
3986 2011-09-21 David Hyatt <hyatt@apple.com>
3988 https://bugs.webkit.org/show_bug.cgi?id=68562
3990 Pagination struts don't update properly when collapsing margin estimates are wrong.
3992 Refactor the pagination adjustments that happen during block layout to allow for
3993 a 3-pass layout system instead of just a 2-pass layout system. The basic idea is
3994 to come up with an estimate that includes collapsing, clearance and pagination.
3996 If the estimate only with collapsing and clearance was wrong, then we lay out again
3997 using the correct collapsing margin values and clearance before applying pagination breaks.
3999 After this second layout, the normal code that runs when unpaginated compares estimates
4000 and lays out a third time to account for adjustments as a result of pagination movement.
4002 Reviewed by Sam Weinig.
4004 Added fast/regions/text-regions-split-small-pagination.html
4006 * rendering/RenderBlock.cpp:
4007 (WebCore::RenderBlock::estimateLogicalTopPosition):
4008 (WebCore::RenderBlock::layoutBlockChild):
4009 (WebCore::RenderBlock::adjustBlockChildForPagination):
4010 * rendering/RenderBlock.h:
4012 2011-09-21 James Robinson <jamesr@chromium.org>
4014 [chromium] SharedGraphicsContext3D's context should not be destroyed during atexit
4015 https://bugs.webkit.org/show_bug.cgi?id=68558
4017 Reviewed by Stephen White.
4019 The SharedGraphicsContext3D's internal context is lazily created and then leaked intentionally, but since the
4020 last ref is in a function-static RefPtr<> it ends up being destroyed at process exit time. This is bad, since
4021 by the time we get this far in process shutdown we can't actually cleanly run the destruction logic and we
4022 crash. Since we are explicitly leaking this for the lifetime of the process there's no point in keeping it in a
4025 * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
4026 (WebCore::SharedGraphicsContext3D::get):
4028 2011-09-21 Sergey Glazunov <serg.glazunov@gmail.com>
4030 [Chromium] Protect the Frame in V8HTMLDocument::openCallback
4031 https://bugs.webkit.org/show_bug.cgi?id=68555
4033 Reviewed by Nate Chapin.
4035 Test: fast/dom/frame-deleted-in-document-open.html
4037 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: