1 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
3 Not reviewed, build fix.
5 Remove duplicate definition of msSans in FontCache::alternateFamilyName.
7 * platform/graphics/FontCache.cpp:
8 (WebCore::alternateFamilyName):
10 2009-02-04 Eric Seidel <eric@webkit.org>
12 Reviewed by George Staikos.
14 Reverse the meaning of the if check so that Android
15 (dpad devices) do not scroll on focus and normal platforms do
16 http://trac.webkit.org/changeset/40647
18 This was caught by George Staikos, and I wrote the patch.
21 (WebCore::Element::updateFocusAppearance):
23 2009-02-04 David Hyatt <hyatt@apple.com>
25 Eliminate RenderContainer.
27 Reviewed by Sam and Anders
31 * WebCore.vcproj/WebCore.vcproj:
32 * WebCore.xcodeproj/project.pbxproj:
34 * rendering/RenderBlock.cpp:
35 (WebCore::RenderBlock::RenderBlock):
36 (WebCore::RenderBlock::destroy):
37 (WebCore::RenderBlock::styleWillChange):
38 (WebCore::RenderBlock::styleDidChange):
39 (WebCore::RenderBlock::addChild):
40 (WebCore::RenderBlock::dirtyLineBoxes):
41 (WebCore::RenderBlock::createInlineBox):
42 (WebCore::RenderBlock::removeChild):
43 (WebCore::RenderBlock::setSelectionState):
44 (WebCore::RenderBlock::avoidsFloats):
45 (WebCore::RenderBlock::positionForCoordinates):
46 (WebCore::RenderBlock::calcInlinePrefWidths):
47 (WebCore::RenderBlock::baselinePosition):
48 (WebCore::RenderBlock::getBaselineOfFirstLineBox):
49 (WebCore::RenderBlock::getBaselineOfLastLineBox):
50 (WebCore::RenderBlock::rectWithOutlineForRepaint):
51 (WebCore::RenderBlock::hoverAncestor):
52 (WebCore::RenderBlock::updateDragState):
53 (WebCore::RenderBlock::localCaretRect):
54 * rendering/RenderBlock.h:
55 (WebCore::RenderBlock::virtualChildren):
56 (WebCore::RenderBlock::children):
57 * rendering/RenderContainer.cpp: Removed.
58 * rendering/RenderContainer.h: Removed.
59 * rendering/RenderFrameSet.cpp:
60 (WebCore::RenderFrameSet::RenderFrameSet):
61 (WebCore::RenderFrameSet::nodeAtPoint):
62 (WebCore::RenderFrameSet::layout):
63 * rendering/RenderFrameSet.h:
64 (WebCore::RenderFrameSet::virtualChildren):
65 (WebCore::RenderFrameSet::children):
66 * rendering/RenderInline.cpp:
67 (WebCore::RenderInline::RenderInline):
68 (WebCore::RenderInline::destroy):
69 (WebCore::RenderInline::styleDidChange):
70 (WebCore::nextContinuation):
71 (WebCore::RenderInline::continuationBefore):
72 (WebCore::RenderInline::addChildIgnoringContinuation):
73 (WebCore::RenderInline::splitInlines):
74 (WebCore::RenderInline::splitFlow):
75 (WebCore::RenderInline::addChildToContinuation):
76 (WebCore::RenderInline::offsetLeft):
77 (WebCore::RenderInline::offsetTop):
78 (WebCore::RenderInline::positionForCoordinates):
79 (WebCore::RenderInline::clippedOverflowRectForRepaint):
80 (WebCore::RenderInline::rectWithOutlineForRepaint):
81 (WebCore::RenderInline::updateDragState):
82 (WebCore::RenderInline::childBecameNonInline):
83 * rendering/RenderInline.h:
84 (WebCore::RenderInline::virtualChildren):
85 (WebCore::RenderInline::children):
86 (WebCore::RenderInline::continuation):
87 (WebCore::RenderInline::setContinuation):
88 * rendering/RenderLineBoxList.h:
89 * rendering/RenderObject.h:
90 * rendering/RenderObjectChildList.h:
91 * rendering/RenderSVGInlineText.cpp:
92 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
93 * rendering/RenderSVGRoot.cpp:
94 (WebCore::RenderSVGRoot::RenderSVGRoot):
95 (WebCore::RenderSVGRoot::applyContentTransforms):
96 (WebCore::RenderSVGRoot::paint):
97 (WebCore::RenderSVGRoot::absoluteTransform):
98 (WebCore::RenderSVGRoot::nodeAtPoint):
99 (WebCore::RenderSVGRoot::position):
100 * rendering/RenderSVGRoot.h:
101 (WebCore::RenderSVGRoot::virtualChildren):
102 (WebCore::RenderSVGRoot::children):
103 * rendering/RenderSVGText.cpp:
104 (WebCore::RenderSVGText::absoluteRects):
105 (WebCore::RenderSVGText::absoluteQuads):
106 * rendering/RenderTable.cpp:
107 (WebCore::RenderTable::addChild):
108 (WebCore::RenderTable::removeChild):
109 * rendering/RenderTableCol.cpp:
110 (WebCore::RenderTableCol::RenderTableCol):
111 * rendering/RenderTableCol.h:
112 (WebCore::RenderTableCol::virtualChildren):
113 (WebCore::RenderTableCol::children):
114 * rendering/RenderTableRow.cpp:
115 (WebCore::RenderTableRow::RenderTableRow):
116 (WebCore::RenderTableRow::destroy):
117 (WebCore::RenderTableRow::styleWillChange):
118 (WebCore::RenderTableRow::addChild):
119 * rendering/RenderTableRow.h:
120 (WebCore::RenderTableRow::virtualChildren):
121 (WebCore::RenderTableRow::children):
122 * rendering/RenderTableSection.cpp:
123 (WebCore::RenderTableSection::RenderTableSection):
124 (WebCore::RenderTableSection::destroy):
125 (WebCore::RenderTableSection::addChild):
126 (WebCore::RenderTableSection::removeChild):
127 (WebCore::RenderTableSection::lowestPosition):
128 (WebCore::RenderTableSection::rightmostPosition):
129 (WebCore::RenderTableSection::leftmostPosition):
130 * rendering/RenderTableSection.h:
131 (WebCore::RenderTableSection::virtualChildren):
132 (WebCore::RenderTableSection::children):
134 2009-02-04 Mads Adger <mad@chromium.org>
136 Reviewed by Antti Koivisto.
138 Bug 23180 Reading freed memory at DocumentLoader::checkForPendingPreloads
139 https://bugs.webkit.org/show_bug.cgi?id=23180
141 Added a protector for the document potentially holding on the last reference to the loader we are interating with.
144 (WebCore::Loader::Host::didFinishLoading):
145 (WebCore::Loader::Host::didFail):
147 2009-02-04 Cary Clark <caryclark@google.com>
149 Reviewed by Darin Adler.
151 https://bugs.webkit.org/show_bug.cgi?id=23163
152 Don't scroll to show current focus on devices that use
153 directional pads for navigation.
156 (WebCore::Element::updateFocusAppearance):
158 2009-02-04 Cary Clark <caryclark@google.com>
160 Reviewed by Darin Adler.
162 Change RenderBlock::columnGap() access permissions from protected to
163 public. ANDROID creates an array of focus rectangles for navigation
164 with a trackball or directional pad, and needs access to the column gap
165 to implement this logic.
167 Android has no testing harness @ webkit.org, thus no tests.
169 * rendering/RenderBlock.h:
171 2009-02-04 Cary Clark <caryclark@google.com>
173 Reviewed by Darin Adler and Eric Seidel.
175 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22917
177 Add ENABLE_ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL to permit the ANDROID
178 platform to select all when focusing on a textarea. This matches
179 the user interface guidelines other applications on the platform.
181 * html/HTMLTextAreaElement.cpp:
182 (WebCore::HTMLTextAreaElement::updateFocusAppearance):
184 2009-02-04 Beth Dakin <bdakin@apple.com>
186 Reviewed by Dave Hyatt.
188 Fix for <rdar://problem/6386112> Some inline-elements are not
189 becoming proper dashboard-regions
191 RenderInline needs its own implementation of addDashboardRegions
192 because otherwise all of the coordinate calculations are
195 * rendering/RenderInline.cpp:
196 (WebCore::RenderInline::addDashboardRegions):
197 * rendering/RenderInline.h:
198 * rendering/RenderObject.h:
200 2009-02-04 David Hyatt <hyatt@apple.com>
202 Move addChild/removeChild from RenderContainer to RenderObject.
204 Reviewed by Sam Weinig
206 * rendering/RenderContainer.cpp:
207 * rendering/RenderContainer.h:
208 * rendering/RenderObject.cpp:
209 (WebCore::updateListMarkerNumbers):
210 (WebCore::RenderObject::addChild):
211 (WebCore::RenderObject::removeChild):
212 * rendering/RenderObject.h:
213 (WebCore::RenderObject::addChildIgnoringContinuation):
214 * rendering/RenderSVGContainer.cpp:
215 * rendering/RenderSVGContainer.h:
217 2009-02-04 Brady Eidson <beidson@apple.com>
219 Reviewed by Sam Weinig
221 <rdar://problem/3541409> - Further HistoryItem / BF cache cleanup
223 * history/CachedFrame.cpp:
224 (WebCore::CachedFrame::CachedFrame):
225 (WebCore::CachedFrame::restore):
226 * history/CachedFrame.h:
228 * history/CachedPage.cpp:
229 (WebCore::CachedPage::restore):
230 * history/CachedPage.h:
231 (WebCore::CachedPage::mainFrameView):
233 * history/HistoryItem.cpp:
234 (WebCore::HistoryItem::HistoryItem):
235 (WebCore::HistoryItem::~HistoryItem):
236 * history/HistoryItem.h:
237 (WebCore::HistoryItem::isInPageCache):
239 * loader/FrameLoader.cpp:
240 (WebCore::FrameLoader::open):
242 2009-02-04 Peter Kasting <pkasting@google.com>
244 Reviewed by David Hyatt.
246 https://bugs.webkit.org/show_bug.cgi?id=23743
247 Fix memory corruption with open-source GIF decoders.
249 * platform/image-decoders/ImageDecoder.h:
250 (WebCore::RGBA32Buffer::clear):
251 * platform/image-decoders/gif/GIFImageDecoder.cpp:
252 (WebCore::GIFImageDecoder::clearFrameBufferCache):
253 * platform/image-decoders/skia/GIFImageDecoder.cpp:
254 (WebCore::GIFImageDecoder::clearFrameBufferCache):
255 (WebCore::GIFImageDecoder::initFrameBuffer):
256 * platform/image-decoders/skia/ImageDecoder.h:
257 (WebCore::RGBA32Buffer::clear):
259 2009-02-04 Simon Fraser <simon.fraser@apple.com>
261 Reviewed by Dave Hyatt
263 https://bugs.webkit.org/show_bug.cgi?id=23360
265 When using accelerated compositing, make repaints use the correct
266 repaint container. Hook up the RenderLayerCompositor in RenderView,
267 and add to RenderView a method that repaints both the view
268 contents, and any intersecting composited layers.
270 Make enclosingCompositingLayer() a method on RenderObject, and update
271 the compositor to use that. Add a helper method on the compositor to
272 get the non-self compositing ancestor: ancestorCompositingLayer().
274 Call repaintRectangleInViewAndCompositedLayers() in places that don't do
275 container-relative repainting: selection redraw on focus change, caret,
278 Fix a bug in RenderLayerCompositor where the m_compositingLayersNeedUpdate flag
279 would get cleared for partial updates, thus preventing subsequent full updates.
281 Fix a bug in RenderLayer::ensureBacking() that made new backing every time.
283 * WebCore.xcodeproj/project.pbxproj:
284 * editing/SelectionController.cpp:
285 (WebCore::SelectionController::recomputeCaretRect):
286 (WebCore::SelectionController::invalidateCaretRect):
287 (WebCore::SelectionController::focusedOrActiveStateChanged):
288 * rendering/RenderInline.cpp:
289 (WebCore::RenderInline::clippedOverflowRectForRepaint):
290 * rendering/RenderLayer.cpp:
291 (WebCore::RenderLayer::RenderLayer):
292 (WebCore::RenderLayer::compositor):
293 (WebCore::RenderLayer::updateLayerPositions):
294 (WebCore::RenderLayer::removeChild):
295 (WebCore::RenderLayer::ensureBacking):
296 * rendering/RenderLayer.h:
297 (WebCore::RenderLayer::backing):
298 * rendering/RenderLayerBacking.cpp:
299 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
300 (WebCore::RenderLayerBacking::paintIntoLayer):
301 (WebCore::RenderLayerBacking::notifyTransitionStarted):
302 (WebCore::RenderLayerBacking::notifyAnimationStarted):
303 * rendering/RenderLayerCompositor.cpp:
304 (WebCore::RenderLayerCompositor::updateCompositingLayers):
305 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
306 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
307 (WebCore::RenderLayerCompositor::ancestorCompositingLayer):
308 (WebCore::RenderLayerCompositor::clippedByAncestor):
309 * rendering/RenderLayerCompositor.h:
310 * rendering/RenderObject.cpp:
311 (WebCore::RenderObject::enclosingCompositingLayer):
312 (WebCore::RenderObject::containingBlockWidth):
313 (WebCore::RenderObject::containingBlockHeight):
314 (WebCore::RenderObject::containerForRepaint):
315 (WebCore::RenderObject::repaintUsingContainer):
316 * rendering/RenderObject.h:
317 * rendering/RenderView.cpp:
318 (WebCore::RenderView::shouldRepaint):
319 (WebCore::RenderView::repaintViewRectangle):
320 (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
321 (WebCore::RenderView::setMaximalOutlineSize):
322 (WebCore::RenderView::usesCompositing):
323 (WebCore::RenderView::compositor):
324 (WebCore::RenderView::didMoveOnscreen):
325 (WebCore::RenderView::willMoveOffscreen):
326 * rendering/RenderView.h:
327 * rendering/RenderWidget.cpp:
328 (WebCore::RenderWidget::updateWidgetPosition):
330 2009-02-04 Sam Weinig <sam@webkit.org>
332 Reviewed by David Hyatt.
334 Add toRenderImage methods for casting RenderObjects to RenderImages. The methods will assert if the object
335 is not a RenderImage. Also add a toRenderImage method that takes a RenderImage but returns void and that
336 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderImage.
338 * html/HTMLAnchorElement.cpp:
339 (WebCore::HTMLAnchorElement::defaultEventHandler):
340 * html/HTMLEmbedElement.cpp:
341 (WebCore::HTMLEmbedElement::attach):
342 * html/HTMLImageElement.cpp:
343 (WebCore::HTMLImageElement::parseMappedAttribute):
344 (WebCore::HTMLImageElement::attach):
345 * html/HTMLInputElement.cpp:
346 (WebCore::HTMLInputElement::parseMappedAttribute):
347 (WebCore::HTMLInputElement::attach):
348 * html/HTMLObjectElement.cpp:
349 (WebCore::HTMLObjectElement::attach):
350 * html/HTMLVideoElement.cpp:
351 (WebCore::HTMLVideoElement::attach):
352 * loader/ImageLoader.cpp:
353 (WebCore::ImageLoader::setImage):
354 (WebCore::ImageLoader::updateFromElement):
355 (WebCore::ImageLoader::notifyFinished):
356 * page/AccessibilityRenderObject.cpp:
357 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
358 (WebCore::AccessibilityRenderObject::addChildren):
359 * page/DragController.cpp:
360 (WebCore::getCachedImage):
362 * platform/mac/PasteboardMac.mm:
363 (WebCore::Pasteboard::writeImage):
364 * rendering/RenderImage.h:
365 (WebCore::toRenderImage):
366 * wml/WMLImageElement.cpp:
367 (WebCore::WMLImageElement::parseMappedAttribute):
368 (WebCore::WMLImageElement::attach):
370 2009-02-04 Jungshik Shin <jshin@chromium.org>
372 Reviewed by Eric Seidel and Dave Hyatt.
374 https://bugs.webkit.org/show_bug.cgi?id=20531
376 Make alternateFamilyName customized for Windows and Chromium.
378 * platform/graphics/FontCache.cpp:
379 (WebCore::alternateFamilyName):
381 2009-02-04 Jungshik Shin <jshin@chromium.org>
383 Reviewed by Eric Seidel.
385 This comes from Chromium patch (http://codereview.chromium.org/17624).
387 Add m_disableFontFallback to UniscriberHelper class and set it
388 to true when filling up glyph pages for non-BMP code points.
389 When it's set true, UniscriberHelper does not do its own font
390 fallback. Neither does it do glyph placement. Font fallback
391 will be taken care of in the simple script font path and glyph
392 placement is not necessary for simple scripts.
394 Layout test is missing at the moment due to the lack of freely
395 distributable font covering a non-BMP code page. A test page
396 is available at http://i18nl10n.com/webkit/nonbmp2.html
398 See also https://bugs.webkit.org/show_bug.cgi?id=23602
400 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
401 (WebCore::fillNonBMPGlyphs):
402 * platform/graphics/chromium/UniscribeHelper.cpp:
403 (WebCore::UniscribeHelper::UniscribeHelper):
404 (WebCore::UniscribeHelper::shape):
405 (WebCore::UniscribeHelper::fillShapes):
406 * platform/graphics/chromium/UniscribeHelper.h:
407 (WebCore::UniscribeHelper::setDisableFontFallback):
409 2009-02-04 Sam Weinig <sam@webkit.org>
411 Reviewed by David Hyatt.
413 Remove some unnecessary #includes of RenderStyle.h
415 * css/CSSPrimitiveValueMappings.h:
416 * css/SVGCSSComputedStyleDeclaration.cpp:
418 * rendering/PointerEventsHitRules.h:
419 * rendering/RenderImageGeneratedContent.h:
420 * rendering/RenderMarquee.h:
421 * rendering/RenderScrollbar.h:
423 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
425 Reviewed by Sam Weinig.
427 https://bugs.webkit.org/show_bug.cgi?id=23657
428 Clean up WebCore/storage IDLs.
430 * storage/SQLError.idl: Changed to match spec.
431 * storage/SQLResultSet.idl: Changed to match spec.
432 * storage/SQLStatementCallback.idl: Removed.
433 * storage/SQLStatementErrorCallback.idl: Removed.
434 * storage/SQLTransactionCallback.idl: Removed.
435 * storage/SQLTransactionErrorCallback.idl: Removed.
437 2009-02-04 David Hyatt <hyatt@apple.com>
439 Fix for https://bugs.webkit.org/show_bug.cgi?id=23734, blank content on blogs.msdn.com.
441 Add debugging code that will catch the incorrect dirtying of a table section immediately if it happens
442 during calcRowHeight or layoutRows. This should make it possible to discover future bugs where table sections don't
445 The bug in blogs.msdn.com, which was caused by a bad setNeedsLayout in RenderLayer::updateScrollInfoAtferLayout. Make
446 sure to do only a local setNeedsLayout inside that function.
448 Reviewed by Beth Dakin
450 * rendering/RenderLayer.cpp:
451 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
452 * rendering/RenderObject.cpp:
453 (WebCore::RenderObject::RenderObject):
454 * rendering/RenderObject.h:
455 (WebCore::RenderObject::isSetNeedsLayoutForbidden):
456 (WebCore::RenderObject::setNeedsLayoutIsForbidden):
457 (WebCore::RenderObject::setNeedsLayout):
458 (WebCore::RenderObject::setChildNeedsLayout):
459 (WebCore::RenderObject::markContainingBlocksForLayout):
460 * rendering/RenderTable.cpp:
461 (WebCore::RenderTable::layout):
462 * rendering/RenderTableSection.cpp:
463 (WebCore::RenderTableSection::calcRowHeight):
464 (WebCore::RenderTableSection::layoutRows):
466 2009-02-04 Sam Weinig <sam@webkit.org>
468 Reviewed by David Hyatt.
470 Rename RenderStyle::Diff to StyleDifference and move it to
471 RenderStyleConstants.h.
473 * rendering/RenderBR.cpp:
474 (WebCore::RenderBR::styleDidChange):
475 * rendering/RenderBR.h:
476 * rendering/RenderBlock.cpp:
477 (WebCore::RenderBlock::styleWillChange):
478 (WebCore::RenderBlock::styleDidChange):
479 * rendering/RenderBlock.h:
480 * rendering/RenderBox.cpp:
481 (WebCore::RenderBox::styleWillChange):
482 (WebCore::RenderBox::styleDidChange):
483 * rendering/RenderBox.h:
484 * rendering/RenderButton.cpp:
485 (WebCore::RenderButton::styleWillChange):
486 (WebCore::RenderButton::styleDidChange):
487 * rendering/RenderButton.h:
488 * rendering/RenderFieldset.cpp:
489 (WebCore::RenderFieldset::styleDidChange):
490 * rendering/RenderFieldset.h:
491 * rendering/RenderFileUploadControl.cpp:
492 (WebCore::RenderFileUploadControl::styleDidChange):
493 * rendering/RenderFileUploadControl.h:
494 * rendering/RenderInline.cpp:
495 (WebCore::RenderInline::styleDidChange):
496 * rendering/RenderInline.h:
497 * rendering/RenderLayer.cpp:
498 (WebCore::RenderLayer::styleChanged):
499 * rendering/RenderLayer.h:
500 * rendering/RenderLayerCompositor.cpp:
501 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
502 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
503 * rendering/RenderLayerCompositor.h:
504 * rendering/RenderListBox.cpp:
505 (WebCore::RenderListBox::styleDidChange):
506 * rendering/RenderListBox.h:
507 * rendering/RenderListItem.cpp:
508 (WebCore::RenderListItem::styleDidChange):
509 * rendering/RenderListItem.h:
510 * rendering/RenderListMarker.cpp:
511 (WebCore::RenderListMarker::styleWillChange):
512 (WebCore::RenderListMarker::styleDidChange):
513 * rendering/RenderListMarker.h:
514 * rendering/RenderMenuList.cpp:
515 (WebCore::RenderMenuList::styleDidChange):
516 * rendering/RenderMenuList.h:
517 * rendering/RenderObject.cpp:
518 (WebCore::RenderObject::setStyle):
519 (WebCore::RenderObject::styleWillChange):
520 (WebCore::RenderObject::styleDidChange):
521 * rendering/RenderObject.h:
522 * rendering/RenderReplaced.cpp:
523 (WebCore::RenderReplaced::styleDidChange):
524 * rendering/RenderReplaced.h:
525 * rendering/RenderSVGGradientStop.cpp:
526 (WebCore::RenderSVGGradientStop::styleDidChange):
527 * rendering/RenderSVGGradientStop.h:
528 * rendering/RenderSVGInlineText.cpp:
529 (WebCore::RenderSVGInlineText::styleDidChange):
530 * rendering/RenderSVGInlineText.h:
531 * rendering/RenderScrollbarPart.cpp:
532 (WebCore::RenderScrollbarPart::styleWillChange):
533 (WebCore::RenderScrollbarPart::styleDidChange):
534 * rendering/RenderScrollbarPart.h:
535 * rendering/RenderSlider.cpp:
536 (WebCore::RenderSlider::styleDidChange):
537 * rendering/RenderSlider.h:
538 * rendering/RenderTable.cpp:
539 (WebCore::RenderTable::styleDidChange):
540 * rendering/RenderTable.h:
541 * rendering/RenderTableCell.cpp:
542 (WebCore::RenderTableCell::styleWillChange):
543 (WebCore::RenderTableCell::styleDidChange):
544 * rendering/RenderTableCell.h:
545 * rendering/RenderTableRow.cpp:
546 (WebCore::RenderTableRow::styleWillChange):
547 * rendering/RenderTableRow.h:
548 * rendering/RenderText.cpp:
549 (WebCore::RenderText::styleDidChange):
550 * rendering/RenderText.h:
551 (WebCore::RenderText::styleWillChange):
552 * rendering/RenderTextControl.cpp:
553 (WebCore::RenderTextControl::styleDidChange):
554 * rendering/RenderTextControl.h:
555 * rendering/RenderTextControlSingleLine.cpp:
556 (WebCore::RenderTextControlSingleLine::styleDidChange):
557 * rendering/RenderTextControlSingleLine.h:
558 * rendering/RenderWidget.cpp:
559 (WebCore::RenderWidget::styleDidChange):
560 * rendering/RenderWidget.h:
561 * rendering/style/RenderStyle.cpp:
562 (WebCore::RenderStyle::diff):
563 (WebCore::RenderStyle::setClip):
564 * rendering/style/RenderStyle.h:
565 * rendering/style/RenderStyleConstants.h:
568 2009-02-03 Sam Weinig <sam@webkit.org>
570 Reviewed by David Hyatt.
572 Move PseudoId enum out of RenderStyle and into RenderStyleConstants.h
574 * css/CSSStyleSelector.cpp:
575 (WebCore::CSSStyleSelector::matchRulesForList):
576 (WebCore::CSSStyleSelector::initForStyleResolve):
577 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
578 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
579 (WebCore::CSSStyleSelector::styleForElement):
580 (WebCore::CSSStyleSelector::pseudoStyleForElement):
581 (WebCore::CSSStyleSelector::checkSelector):
582 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
583 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
584 (WebCore::CSSStyleSelector::applyProperty):
585 * css/CSSStyleSelector.h:
587 (WebCore::Node::diff):
588 * page/FrameView.cpp:
589 (WebCore::FrameView::createScrollbar):
590 * rendering/InlineTextBox.cpp:
591 (WebCore::InlineTextBox::paint):
592 * rendering/MediaControlElements.cpp:
593 (WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
594 (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement):
595 (WebCore::MediaControlInputElement::MediaControlInputElement):
596 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
597 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
598 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
599 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
600 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
601 * rendering/MediaControlElements.h:
602 * rendering/RenderBlock.cpp:
603 (WebCore::RenderBlock::styleDidChange):
604 (WebCore::RenderBlock::updateBeforeAfterContent):
605 (WebCore::RenderBlock::firstLineBlock):
606 (WebCore::RenderBlock::updateFirstLetter):
607 * rendering/RenderBlock.h:
608 * rendering/RenderBox.cpp:
609 (WebCore::RenderBox::isAfterContent):
610 * rendering/RenderButton.cpp:
611 (WebCore::RenderButton::updateBeforeAfterContent):
612 * rendering/RenderButton.h:
613 * rendering/RenderFileUploadControl.cpp:
614 (WebCore::RenderFileUploadControl::createButtonStyle):
615 * rendering/RenderInline.cpp:
616 (WebCore::RenderInline::styleDidChange):
617 (WebCore::isAfterContent):
618 (WebCore::RenderInline::addChildIgnoringContinuation):
619 (WebCore::RenderInline::splitInlines):
620 * rendering/RenderLayer.cpp:
621 (WebCore::RenderLayer::createScrollbar):
622 (WebCore::RenderLayer::updateScrollCornerStyle):
623 (WebCore::RenderLayer::updateResizerStyle):
624 * rendering/RenderListBox.cpp:
625 (WebCore::RenderListBox::createScrollbar):
626 * rendering/RenderMedia.cpp:
627 (WebCore::RenderMedia::createPanel):
628 (WebCore::RenderMedia::createTimelineContainer):
629 * rendering/RenderMenuList.cpp:
630 (WebCore::RenderMenuList::createScrollbar):
631 * rendering/RenderObject.cpp:
632 (WebCore::RenderObject::selectionBackgroundColor):
633 (WebCore::RenderObject::selectionForegroundColor):
634 (WebCore::RenderObject::firstLineStyleSlowCase):
635 (WebCore::RenderObject::getCachedPseudoStyle):
636 (WebCore::RenderObject::getUncachedPseudoStyle):
637 * rendering/RenderObject.h:
638 (WebCore::RenderObject::isAnonymousBlock):
639 * rendering/RenderObjectChildList.cpp:
640 (WebCore::RenderObjectChildList::destroyLeftoverChildren):
641 (WebCore::beforeAfterContainer):
642 (WebCore::RenderObjectChildList::invalidateCounters):
643 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
644 * rendering/RenderObjectChildList.h:
645 * rendering/RenderScrollbar.cpp:
646 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
647 (WebCore::pseudoForScrollbarPart):
648 * rendering/RenderScrollbar.h:
649 * rendering/RenderSlider.cpp:
650 (WebCore::RenderSlider::createThumbStyle):
651 * rendering/RenderTextControlSingleLine.cpp:
652 (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
653 (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
654 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
655 (WebCore::RenderTextControlSingleLine::createScrollbar):
656 * rendering/style/RenderStyle.cpp:
657 (WebCore::pseudoBit):
658 * rendering/style/RenderStyle.h:
660 * rendering/style/RenderStyleConstants.h:
663 2009-02-04 David Kilzer <ddkilzer@apple.com>
665 CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
667 <rdar://problem/6509514>
669 Reviewed by Mark Rowe.
671 * loader/archive/cf/LegacyWebArchive.cpp:
672 (WebCore::LegacyWebArchive::create): Fix it correctly this time.
673 Check for the value returned from WebCore::IconDatabase::iconForPageURL(),
674 not WebCore::Image::data().
676 2009-02-04 David Hyatt <hyatt@apple.com>
678 Rename removeFromObjectLists and move it into RenderBox, since it only applies to boxes.
680 Reviewed by Adam Roben
682 * rendering/RenderBox.cpp:
683 (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
684 (WebCore::RenderBox::styleWillChange):
685 * rendering/RenderBox.h:
686 * rendering/RenderContainer.cpp:
687 (WebCore::RenderContainer::removeChild):
688 * rendering/RenderObject.cpp:
689 (WebCore::RenderObject::styleWillChange):
690 * rendering/RenderObject.h:
691 * rendering/RenderSVGContainer.cpp:
692 (WebCore::RenderSVGContainer::removeChild):
694 2009-02-04 Jeremy Moskovich <jeremy@chromium.org>
696 Reviewed by Dave Hyatt.
698 https://bugs.webkit.org/show_bug.cgi?id=23471
699 Fix text-overflow:ellipsis; for RTL case.
701 Test: fast/css/text-overflow-ellipses.html
703 * rendering/InlineTextBox.cpp:
704 (WebCore::InlineTextBox::placeEllipsisBox): Add support for rtl placement.
705 (WebCore::InlineTextBox::paintDecoration): Correctly draw decorations
708 2009-02-04 Dimitri Glazkov <dglazkov@chromium.org>
710 Reviewed by Darin Adler.
712 https://bugs.webkit.org/show_bug.cgi?id=23700
713 Upstream local changes to due to unforking of SimpleFontData
714 (corresponds to Chromium check-in http://src.chromium.org/viewvc/chrome?view=rev&revision=8646).
716 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
717 (WebCore::fillBMPGlyphs): Removed extra checks for ZWS chars.
719 2009-02-04 David Hyatt <hyatt@apple.com>
721 <rdar://problem/6554115> REGRESSION (r40475): World leak (JS global object) after viewing a photo on Facebook
723 Fix a ginormous leak. (GINORMOUS!) Make sure to disconnect the event listeners attached to the Document,
724 because, like, they point to a lot of stuff... like ... everything...
726 Reviewed by Darin Adler
729 (WebCore::Document::removeAllEventListenersFromAllNodes):
731 2009-02-04 Darin Fisher <darin@chromium.org>
733 Reviewed by Darin Adler.
735 https://bugs.webkit.org/show_bug.cgi?id=23731
736 Add JSCCustom and V8Custom as extended IDL attributes
738 This helps avoid having to add #ifdefs to the IDL files to support V8 bindings.
740 * bindings/scripts/CodeGeneratorJS.pm:
743 * svg/SVGPathSegList.idl:
744 * svg/SVGPointList.idl:
745 * svg/SVGTransformList.idl:
747 2009-02-04 Dan Bernstein <mitz@apple.com>
751 * rendering/RenderImageGeneratedContent.h:
753 2009-02-04 miggilin <mr.diggilin@gmail.com>
755 Reviewed by Kevin Ollivier.
757 Switch to using a ref-counted wxFont pointer for FontPlatformData to fix a crash
758 with assigning to uninitialized HashTable buckets.
760 https://bugs.webkit.org/show_bug.cgi?id=23669
762 * platform/graphics/SimpleFontData.h:
763 (WebCore::SimpleFontData::getWxFont):
764 * platform/graphics/wx/FontPlatformData.h:
766 (WebCore::FontPlatformData::FontPlatformData):
767 (WebCore::FontPlatformData::font):
768 (WebCore::FontPlatformData::operator==):
769 * platform/graphics/wx/FontPlatformDataWx.cpp:
770 (WebCore::FontPlatformData::FontPlatformData):
771 (WebCore::FontPlatformData::computeHash):
772 (WebCore::FontPlatformData::~FontPlatformData):
773 * platform/graphics/wx/SimpleFontDataWx.cpp:
774 (WebCore::SimpleFontData::platformInit):
775 (WebCore::SimpleFontData::determinePitch):
776 (WebCore::SimpleFontData::platformWidthForGlyph):
777 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
778 (WebCore::drawTextWithSpacing):
780 2009-02-04 David Hyatt <hyatt@apple.com>
782 Fix a crash in generated content when a generated image with an already-cached background image gets
783 created. It's not completely clear how to reproduce this crash.
785 Reviewed by Adam Roben
787 * rendering/RenderImageGeneratedContent.h:
788 (WebCore::RenderImageGeneratedContent::imagePtr):
790 2009-02-04 Simon Hausmann <simon.hausmann@nokia.com>
792 Unreviewed Qt build fix.
794 Changed ASSERT(image) to ASSERT(!image.isNull()).
796 * platform/graphics/qt/ImageBufferQt.cpp:
797 (WebCore::ImageBuffer::getImageData):
799 2009-02-04 Trenton Schulz <trenton.schulz@nokia.com>
801 Reviewed by Simon Hausmann.
803 Fix implementation of PluginViewMac::invalidateRect to update only the
804 specified rect, not the entire browser window.
806 * plugins/mac/PluginViewMac.cpp:
807 (WebCore::PluginView::invalidateRect):
809 2009-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
811 Rubber stamped by Mark Rowe.
813 FramePrivate was removed in r40024 remove the forward
818 2009-02-04 Holger Hans Peter Freyther <zecke@selfish.org>
820 Reviewed by Sam Weinig.
822 https://bugs.webkit.org/show_bug.cgi?id=23426
824 Make isFrameSet virtual and by default return false. Reimplement
829 (WebCore::Document::isFrameSet):
830 * html/HTMLDocument.cpp:
831 (WebCore::HTMLDocument::isFrameSet):
832 * html/HTMLDocument.h:
834 2009-02-03 Oliver Hunt <oliver@apple.com>
836 Reviewed by John Sullivan.
838 <rdar://problem/6554092> Slow script dialog starts coming up over and over again
840 Work around <rdar://problem/6554067> by consuming any exceptions that are
841 thrown by _web_localizedDescription
843 * platform/network/mac/ResourceErrorMac.mm:
844 (WebCore::ResourceError::platformLazyInit):
846 2009-02-03 David Hyatt <hyatt@apple.com>
848 Move the isRenderInline checks for clientWidth/Height and scrollWidth/Height to the DOM element
849 versions of the functions. Since internal render tree usage doesn't ever (incorrectly) call these
850 functions on RenderInlines, this manages to get virtual function calls out of contentWidth/Height and
851 availableWidth/Height.
853 Reviewed by Mark Rowe
856 (WebCore::Element::clientWidth):
857 (WebCore::Element::clientHeight):
858 (WebCore::Element::scrollWidth):
859 (WebCore::Element::scrollHeight):
860 * rendering/RenderBox.cpp:
861 (WebCore::RenderBox::clientWidth):
862 (WebCore::RenderBox::clientHeight):
863 (WebCore::RenderBox::scrollWidth):
864 (WebCore::RenderBox::scrollHeight):
866 2009-02-03 Brad Garcia <bgarcia@google.com>
868 Reviewed by Eric Seidel.
870 https://bugs.webkit.org/show_bug.cgi?id=20443
871 Remove call to canResize when trying to determine if pointer
873 Also removed the implementation of canResize as it is no longer used.
875 Test: fast/frames/frame-dead-region.html
877 * rendering/RenderFrameSet.cpp:
878 (WebCore::RenderFrameSet::nodeAtPoint):
879 * rendering/RenderFrameSet.h:
881 2009-02-03 David Hyatt <hyatt@apple.com>
883 Reduce the number of calls to virtualChildren (indirectly made via RenderObject::firstChild()).
884 This is a small gain on the PLT.
886 Reviewed by Mark Rowe
888 * rendering/bidi.cpp:
889 (WebCore::inlineWidth):
892 2009-02-03 Simon Fraser <simon.fraser@apple.com>
894 Reviewed by Dave Hyatt
896 https://bugs.webkit.org/show_bug.cgi?id=23628
898 Fix selection repainting to do container-relative repaints. RenderView now
899 repaints the selection using the containerForRepaint() for each RenderSelectionInfo.
900 selectionRect() is now a wrapper for selectionRectForRepaint() with no container.
902 Pull SelectionInfo out of RenderObject.h, and BlockSelectionInfo out
903 of RenderBlock.h and move them into RenderSelectionInfo.h, with some
904 sharing and refactoring.
906 RenderBlock::selectionGapRectsForRepaint() is not yet container-aware.
909 * WebCore.vcproj/WebCore.vcproj:
910 * WebCore.xcodeproj/project.pbxproj:
911 * rendering/RenderBR.h:
912 (WebCore::RenderBR::selectionRectForRepaint):
913 * rendering/RenderBlock.cpp:
914 (WebCore::RenderBlock::selectionGapRectsForRepaint):
915 * rendering/RenderBlock.h:
916 (WebCore::RenderBlock::selectionRectForRepaint):
917 * rendering/RenderListMarker.cpp:
918 (WebCore::RenderListMarker::paint):
919 (WebCore::RenderListMarker::selectionRectForRepaint):
920 * rendering/RenderListMarker.h:
921 * rendering/RenderObject.h:
922 (WebCore::RenderObject::selectionRect):
923 (WebCore::RenderObject::selectionRectForRepaint):
924 * rendering/RenderReplaced.cpp:
925 (WebCore::RenderReplaced::selectionRectForRepaint):
926 * rendering/RenderReplaced.h:
927 * rendering/RenderSVGInlineText.cpp:
928 (WebCore::RenderSVGInlineText::absoluteRects):
929 (WebCore::RenderSVGInlineText::absoluteQuads):
930 (WebCore::RenderSVGInlineText::selectionRectForRepaint):
931 (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
932 * rendering/RenderSVGInlineText.h:
933 * rendering/RenderSelectionInfo.h: Added.
934 (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
935 (WebCore::RenderSelectionInfoBase::object):
936 (WebCore::RenderSelectionInfoBase::repaintContainer):
937 (WebCore::RenderSelectionInfoBase::state):
938 (WebCore::RenderSelectionInfo::RenderSelectionInfo):
939 (WebCore::RenderSelectionInfo::repaint):
940 (WebCore::RenderSelectionInfo::rect):
941 (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
942 (WebCore::RenderBlockSelectionInfo::repaint):
943 (WebCore::RenderBlockSelectionInfo::block):
944 (WebCore::RenderBlockSelectionInfo::rects):
945 * rendering/RenderText.cpp:
946 (WebCore::RenderText::selectionRectForRepaint):
947 * rendering/RenderText.h:
948 * rendering/RenderView.cpp:
949 (WebCore::RenderView::selectionBounds):
950 (WebCore::RenderView::setSelection):
951 * rendering/RenderView.h:
952 * rendering/RenderWidget.cpp:
953 (WebCore::RenderWidget::paint):
955 2009-02-03 David Hyatt <hyatt@apple.com>
957 Add inline capacity back to CSSMutableStyleDeclaration now that the bug in Vector has been fixed.
959 Reviewed by Darin Adler & Sam Weinig
961 * css/CSSMutableStyleDeclaration.cpp:
962 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
963 * css/CSSMutableStyleDeclaration.h:
965 2009-02-03 Justin Garcia <justin.garcia@apple.com>
967 Reviewed by Darin Adler.
969 https://bugs.webkit.org/show_bug.cgi?id=13490
970 Implement execCommand("styleWithCSS", ...)
972 Determine whether or not to use HTML formatting tags for styling on the new
973 boolean on Editor instead of whether or not the document is quirks mode.
975 * editing/ApplyStyleCommand.cpp:
976 (WebCore::StyleChange::StyleChange):
977 (WebCore::StyleChange::init):
978 (WebCore::ApplyStyleCommand::applyBlockStyle):
979 (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
980 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
981 * editing/Editor.cpp:
982 (WebCore::Editor::Editor):
983 (WebCore::Editor::clear):
985 (WebCore::Editor::setShouldStyleWithCSS):
986 (WebCore::Editor::shouldStyleWithCSS):
987 * editing/EditorCommand.cpp:
988 (WebCore::executeStyleWithCSS):
989 (WebCore::stateStyleWithCSS):
990 (WebCore::CommandEntry::):
992 2009-02-03 Dirk Schulze <krit@webkit.org>
994 Reviewed by Sam Weinig.
996 This is a follow up of r40546. Call toImage() once speeds up ImageBuffer::getImageData()
998 * platform/graphics/qt/ImageBufferQt.cpp:
999 (WebCore::ImageBuffer::getImageData):
1001 2009-02-03 Anders Carlsson <andersca@apple.com>
1003 Reviewed by Kevin Decker.
1005 - Fix for <rdar://problem/6549743>
1007 On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
1008 after the call to -[NSView displayRectIgnoringOpacity:inContext:].
1010 * platform/mac/WidgetMac.mm:
1011 (WebCore::Widget::paint):
1013 2009-02-03 David Hyatt <hyatt@apple.com>
1015 Back this change out since it is causing layout tests to crash. There is something subtle going on
1018 Reviewed by Darin Adler
1020 * css/CSSMutableStyleDeclaration.cpp:
1021 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1022 * css/CSSMutableStyleDeclaration.h:
1024 2009-02-03 David Hyatt <hyatt@apple.com>
1026 Give the properties vector of mutable style declarations an initial inline capacity to reduce malloc churn.
1028 Reviewed by Sam Weinig
1030 * css/CSSMutableStyleDeclaration.cpp:
1031 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1032 * css/CSSMutableStyleDeclaration.h:
1034 2009-02-03 David Hyatt <hyatt@apple.com>
1036 Avoid creating extra copies of NSURLRequests for non-HTTP URLs. Only mark platform requests
1037 as needing updating when HTTP fields change if the scheme of the URL is actually HTTP or HTTPS.
1038 Thus cuts down significantly on the number of copied NSURLRequests and is about a 1% gain on the PLT.
1040 Reviewed by Darin Adler
1042 * loader/FrameLoader.cpp:
1043 (WebCore::FrameLoader::addExtraFieldsToRequest):
1044 * platform/KURL.cpp:
1045 (WebCore::KURL::invalidate):
1046 (WebCore::KURL::KURL):
1048 (WebCore::KURL::isHTTPOrHTTPS):
1049 * platform/network/ResourceRequestBase.cpp:
1050 (WebCore::ResourceRequestBase::setCachePolicy):
1051 (WebCore::ResourceRequestBase::setTimeoutInterval):
1052 (WebCore::ResourceRequestBase::setMainDocumentURL):
1053 (WebCore::ResourceRequestBase::setHTTPMethod):
1054 (WebCore::ResourceRequestBase::setHTTPHeaderField):
1055 (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
1056 (WebCore::ResourceRequestBase::setHTTPBody):
1057 (WebCore::ResourceRequestBase::setAllowHTTPCookies):
1059 2009-02-03 Xan Lopez <xan@gnome.org>
1061 Reviewed by Holger Freyther.
1063 https://bugs.webkit.org/show_bug.cgi?id=23711
1065 Add manual test for floating divs with scrollbars.
1067 * manual-tests/gtk/floatingdiv.html: Added.
1069 2009-02-03 Xan Lopez <xan@gnome.org>
1071 Reviewed by Holger Freyther.
1073 https://bugs.webkit.org/show_bug.cgi?id=23711
1075 There's no need to hold an extra ref to the scrollbar, calling
1076 setPlatformWidget takes ownership of it.
1078 Also do not disconnect the signals when destroying the widget,
1081 * platform/gtk/ScrollbarGtk.cpp:
1082 (ScrollbarGtk::ScrollbarGtk):
1083 * platform/gtk/ScrollbarGtk.h:
1085 2009-02-03 Xan Lopez <xan@gnome.org>
1087 Reviewed by Holger Freyther.
1089 https://bugs.webkit.org/show_bug.cgi?id=23711
1091 Declare scrollBar as GtkWidget* to avoid needless
1094 * platform/gtk/ScrollbarGtk.cpp:
1095 (ScrollbarGtk::ScrollbarGtk):
1096 (ScrollbarGtk::~ScrollbarGtk):
1098 2009-02-03 Xan Lopez <xan@gnome.org>
1100 Reviewed by Holger Freyther.
1102 https://bugs.webkit.org/show_bug.cgi?id=23711
1104 Properly calculate the scrollbar location for their
1105 usage in RenderLayout.
1107 * platform/gtk/ScrollbarGtk.cpp:
1108 (ScrollbarGtk::frameRectsChanged):
1110 2009-02-03 David Hyatt <hyatt@apple.com>
1112 Rename addLineBoxRects to absoluteRectsForRange, and do the same thing for the corresponding quads methods. Move the RenderContainer implementations
1113 of these methods up to RenderObject.
1115 Reviewed by Beth Dakin
1117 * bindings/objc/DOM.mm:
1118 (-[DOMNode lineBoxRects]):
1120 (WebCore::Range::addLineBoxRects):
1121 * inspector/InspectorController.cpp:
1122 (WebCore::InspectorController::drawNodeHighlight):
1123 * rendering/RenderContainer.cpp:
1124 * rendering/RenderContainer.h:
1125 * rendering/RenderObject.cpp:
1126 (WebCore::RenderObject::absoluteRectsForRange):
1127 (WebCore::RenderObject::absoluteQuadsForRange):
1128 * rendering/RenderObject.h:
1129 * rendering/RenderText.cpp:
1130 (WebCore::RenderText::absoluteRectsForRange):
1131 (WebCore::RenderText::absoluteQuadsForRange):
1132 * rendering/RenderText.h:
1134 2009-02-03 Dirk Schulze <krit@webkit.org>
1136 Reviewed by Sam Weinig and Oliver Hunt.
1138 Added getImageData() support for QtWebKit.
1140 [QT] lacks getImageData / putImageData support in Canvas
1141 https://bugs.webkit.org/show_bug.cgi?id=22186
1143 * platform/graphics/qt/ImageBufferQt.cpp:
1144 (WebCore::ImageBuffer::getImageData):
1146 2009-02-03 Eric Roman <eroman@chromium.org>
1148 Reviewed by Holger Freyther.
1150 Fix FrameChromium.cpp following r40473 which moved Frame::adjustPageHeight to FrameView::adjustPageHeight.
1152 * page/chromium/FrameChromium.cpp:
1153 (WebCore::computePageRectsForFrame):
1155 2009-02-02 Simon Fraser <simon.fraser@apple.com>
1157 Reviewed by Dave Hyatt
1159 https://bugs.webkit.org/show_bug.cgi?id=23358
1161 Hook accelerated compositing into RenderLayer.
1163 * rendering/RenderLayer.cpp:
1164 (WebCore::RenderLayer::RenderLayer):
1165 (WebCore::RenderLayer::~RenderLayer):
1166 Init and clean up backing and the hasCompositingDescendant bit.
1168 (WebCore::RenderLayer::compositor):
1169 Shortcut to get to the RenderLayerCompositor.
1171 (WebCore::RenderLayer::updateLayerPositions):
1172 We need to let full repaints propagate to all compositing layers, and
1173 update the backing after layout here.
1175 (WebCore::RenderLayer::transparentAncestor):
1176 (WebCore::transparencyClipBox):
1177 (WebCore::RenderLayer::beginTransparencyLayers):
1178 Account for the fact that opacity may be rendered via the compositing
1181 (WebCore::RenderLayer::addChild):
1182 (WebCore::RenderLayer::removeChild):
1183 (WebCore::RenderLayer::removeOnlyThisLayer):
1184 Tell the compositor when the RenderLayer hierarchy changes.
1186 (WebCore::RenderLayer::scrollToOffset):
1187 Update layer geometry after scrolling.
1189 (WebCore::RenderLayer::paintLayer):
1190 We short-circuit painting on composited layers, because these layers
1191 are painted on a callback from the compositing system.
1193 (WebCore::RenderLayer::hitTestLayer):
1194 Only apply transforms if we are rendering them in software.
1196 (WebCore::RenderLayer::localBoundingBox):
1197 (WebCore::RenderLayer::boundingBox):
1198 (WebCore::RenderLayer::absoluteBoundingBox):
1199 Refactor bounding box code that we can compute local, and ancestor-relative
1200 bounding box, as well as absolute.
1202 (WebCore::RenderLayer::ensureBacking):
1203 (WebCore::RenderLayer::clearBacking):
1204 RenderLayerBacking creation and destruction.
1206 (WebCore::RenderLayer::setParent):
1207 Tell the compositor when the RenderLayer hierarchy changes.
1209 (WebCore::RenderLayer::dirtyZOrderLists):
1210 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
1211 (WebCore::RenderLayer::dirtyOverflowList):
1212 When the z-order and overflow lists change, we need to tell the
1213 compositor that the composited layers need to be rejiggered soon.
1215 (WebCore::RenderLayer::updateZOrderLists):
1218 (WebCore::RenderLayer::setBackingNeedsRepaint):
1219 (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
1220 Dirty composited layer contents for painting.
1222 (WebCore::RenderLayer::styleChanged):
1223 Update the layer backing after style changes.
1225 * rendering/RenderLayer.h:
1226 (WebCore::RenderLayer::isComposited):
1227 (WebCore::RenderLayer::backing):
1228 Accessors for testing and getting the backing for this RenderLayer.
1230 (WebCore::RenderLayer::paintsWithTransparency):
1231 (WebCore::RenderLayer::paintsWithTransform):
1232 Transform and opacity can be applied via the compositing layer, or rendered
1233 in software. These methods tell us if we need to account for them in the
1234 non-compositing path.
1236 (WebCore::RenderLayer::hasCompositingDescendant):
1237 (WebCore::RenderLayer::setHasCompositingDescendant):
1238 Maintain a bit to tell if this layer has composited descendants.
1240 2009-02-03 Simon Fraser <simon.fraser@apple.com>
1242 Reviewed by Dave Hyatt
1244 https://bugs.webkit.org/show_bug.cgi?id=23365
1246 Hook up accelerated compositing layers the native
1250 Export new Page methods.
1252 * page/ChromeClient.h:
1253 (WebCore::ChromeClient::attachRootGraphicsLayer):
1254 (WebCore::ChromeClient::setNeedsOneShotDrawingSynchronization):
1255 New methods for attaching/detaching the root GraphicsLayer, and
1256 synchronizing layer changes with window drawing.
1259 * page/FrameView.cpp:
1260 (WebCore::FrameView::updateCompositingLayers):
1261 (WebCore::FrameView::setNeedsOneShotDrawingSynchronization):
1262 (WebCore::FrameView::didMoveOnscreen):
1263 (WebCore::FrameView::willMoveOffscreen):
1264 New methods to update the compositing layer hierarchy,
1265 and pass-throughs to the RenderLayerCompositor.
1267 (WebCore::FrameView::layout):
1268 Update compositing layers after layout() and updateLayerPositions().
1271 (WebCore::Page::didMoveOnscreen):
1272 (WebCore::Page::willMoveOffscreen):
1274 New methods to allow the native view system to tell the Page when it
1275 starts to be presented on-screen, and when it will be hidden.
1277 * rendering/RenderLayerCompositor.h:
1278 * rendering/RenderLayerCompositor.cpp:
1279 (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1280 (WebCore::RenderLayerCompositor::didMoveOnscreen):
1281 (WebCore::RenderLayerCompositor::willMoveOffscreen):
1282 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
1283 Rename 'attached' methods to 'moveOnscreen/moveOffscreen' to match
1284 the calls through from Page, FrameView.
1286 (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1287 Dont' try to repaint or update layers if the document is being torn
1290 * rendering/RenderView.cpp:
1291 (WebCore::RenderView::didMoveOnscreen):
1292 (WebCore::RenderView::willMoveOffscreen):
1293 * rendering/RenderView.h:
1296 2009-02-03 Dirk Schulze <krit@webkit.org>
1298 Reviewed by Holger Hans Peter Freyther.
1300 Fixed getImageData and putImageData and respect pre-
1303 Cairo's ImageBuffer::getImageData() does not handle alpha=0 case correctly
1304 https://bugs.webkit.org/show_bug.cgi?id=21575
1306 * platform/graphics/cairo/ImageBufferCairo.cpp:
1307 (WebCore::ImageBuffer::getImageData):
1308 (WebCore::ImageBuffer::putImageData):
1310 2009-02-03 Dan Bernstein <mitz@apple.com>
1312 Reviewed by Brady Eidson.
1314 - fix <rdar://problem/6550530> REGRESSION (r40508): Window opened with window.open has no initial history item (global and back/forward)
1316 Test: fast/history/window-open.html
1318 * bindings/js/JSDOMWindowBase.cpp:
1319 (WebCore::createWindow): Pass the missing lockBackForwardList parameter
1320 to FrameLoader::changeLocation().
1322 2009-02-03 Adam Treat <adam.treat@torchmobile.com>
1324 Fix the Qt build after r40536.
1326 * bridge/qt/qt_runtime.cpp:
1327 (JSC::Bindings::convertQVariantToValue):
1329 2009-02-03 Dan Bernstein <mitz@apple.com>
1331 - fix -Wmissing-prototypes builds
1333 * loader/WorkerThreadableLoader.cpp:
1334 (WebCore::workerContextDidSendData): Marked this function static.
1335 (WebCore::workerContextDidReceiveResponse): Ditto.
1336 (WebCore::workerContextDidReceiveData): Ditto.
1337 (WebCore::workerContextDidFinishLoading): Ditto.
1338 (WebCore::workerContextDidFail): Ditto.
1339 (WebCore::workerContextDidGetCancelled): Ditto.
1340 (WebCore::workerContextDidReceiveAuthenticationCancellation): Ditto.
1342 2009-02-03 David Kilzer <ddkilzer@apple.com>
1344 CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
1346 <rdar://problem/6509514>
1348 Reviewed by Adam Roben.
1350 * loader/archive/cf/LegacyWebArchive.cpp:
1351 (WebCore::LegacyWebArchive::create): Null check the value returned
1352 from WebCore::IconDatabase::iconForPageURL().
1354 2009-02-03 Simon Hausmann <simon.hausmann@nokia.com>
1356 Reviewed by Tor Arne Vestbø.
1358 Fix conversion of QByteArray to JavaScript and back. Instead of
1359 converting it to a String (data loss!) we now map it to JSByteArray.
1361 * bridge/qt/qt_runtime.cpp:
1363 (JSC::Bindings::valueRealType): Added JSByteArray as converstion type.
1364 (JSC::Bindings::convertValueToQVariant): Convert from JSByteArray to
1365 QVariant(QByteArray).
1366 (JSC::Bindings::convertQVariantToValue): Convert from
1367 QVariant::ByteArray to jsByteArray.
1369 2009-02-03 Alexey Proskuryakov <ap@webkit.org>
1373 * GNUmakefile.am: Removed WorkerTask.{h,cpp}.
1375 2009-02-03 Dmitry Titov <dimich@chromium.org>
1377 Reviewed by Alexey Proskuryakov.
1379 https://bugs.webkit.org/show_bug.cgi?id=22718
1380 Implement WindowTimers interface in Workers.
1382 This patch moves timeoutID from Document to ScriptExecutionContext
1383 and exposes JS methods setTimeout/setInterval/clearTimeout/clearInterval inside of a Worker.
1384 Also added a test for those methods.
1386 Test: fast/workers/worker-timeout.html
1388 * bindings/js/JSWorkerContextCustom.cpp:
1389 (WebCore::setTimeoutOrInterval):
1390 Creates ScheduledAction and calls WorkerContext::installTimeout to actually add a timer.
1392 (WebCore::JSWorkerContext::setTimeout):
1393 (WebCore::JSWorkerContext::clearTimeout):
1394 (WebCore::JSWorkerContext::setInterval):
1395 (WebCore::JSWorkerContext::clearInterval):
1396 Added methods exposed to JS.
1400 * dom/ScriptExecutionContext.cpp:
1401 (WebCore::ScriptExecutionContext::addTimeout):
1402 (WebCore::ScriptExecutionContext::removeTimeout):
1403 (WebCore::ScriptExecutionContext::findTimeout):
1404 * dom/ScriptExecutionContext.h:
1405 The timerID map moves from Document to ScriptExecutionContext,
1406 to be available to Document and to WorkerContext.
1408 * dom/WorkerContext.cpp:
1409 (WebCore::WorkerContext::installTimeout): Adds a DOMTimeout.
1410 (WebCore::WorkerContext::removeTimeout): Removes a DOMTimeout.
1411 * dom/WorkerContext.h:
1413 * page/DOMTimer.cpp:
1414 (WebCore::DOMTimer::DOMTimer):
1415 (WebCore::DOMTimer::~DOMTimer):
1416 (WebCore::DOMTimer::removeById):
1417 Code change here reflects move of timeoutID map to the ScriptExecutionContext.
1418 Some checks and casts are no longer needed.
1420 2009-02-03 Dmitry Titov <dimich@chromium.org>
1422 Reviewed by Alexey Proskuryakov.
1424 https://bugs.webkit.org/show_bug.cgi?id=23560
1425 Implement SharedTimer for Workers.
1427 * dom/WorkerRunLoop.cpp:
1428 Added private class WorkerSharedTimer that implements SharedTimer interface for worker threads.
1429 (WebCore::WorkerSharedTimer::WorkerSharedTimer):
1430 (WebCore::WorkerSharedTimer::setFiredFunction):
1431 (WebCore::WorkerSharedTimer::setFireTime):
1432 (WebCore::WorkerSharedTimer::stop):
1433 (WebCore::WorkerSharedTimer::isActive):
1434 (WebCore::WorkerSharedTimer::fireTime):
1435 (WebCore::WorkerSharedTimer::fire):
1436 (WebCore::WorkerRunLoop::WorkerRunLoop):
1437 Initializes a WorkerSharedTimer instance.
1438 (WebCore::WorkerRunLoop::~WorkerRunLoop):
1439 The destructor is here so compiler is ok with having OwnPtr<WorkerSharedTimer> in .h file w/o defining WorkerSharedTimer.
1440 (WebCore::WorkerRunLoop::run):
1441 Set/reset shared timer interface on ThreadTimers, use MessageQueue::waitForMessageTimed() if timer is active.
1442 * dom/WorkerRunLoop.h:
1443 Add member of type OwnPtr<WorkerSharedTimer>
1445 2009-02-03 Steve Falkenburg <sfalken@apple.com>
1449 * WebCore.vcproj/WebCore.vcproj:
1451 2009-02-03 Alexey Proskuryakov <ap@webkit.org>
1455 * dom/CrossThreadCopier.h: Changed forward declarations to use struct instead of class where
1458 2009-02-02 David Levin <levin@chromium.org>
1460 Reviewed by Alexey Proskuryakov.
1462 Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
1463 <https://bugs.webkit.org/show_bug.cgi?id=23636>
1465 Enable the async portion of ThreadableLoader for workers.
1467 No observable change in behavior, so no test.
1472 * WebCore.vcproj/WebCore.vcproj:
1473 * WebCore.xcodeproj/project.pbxproj:
1474 * WebCoreSources.bkl:
1475 * dom/CrossThreadCopier.h:
1476 * dom/GenericWorkerTask.h:
1477 * dom/WorkerThread.cpp:
1478 * loader/ThreadableLoader.cpp:
1479 (WebCore::ThreadableLoader::create):
1480 * loader/ThreadableLoaderClient.h:
1481 (WebCore::ThreadableLoaderClient::didFinishLoading):
1482 * loader/ThreadableLoaderClientWrapper.h: Added.
1483 (WebCore::ThreadableLoaderClientWrapper::create):
1484 (WebCore::ThreadableLoaderClientWrapper::clearClient):
1485 (WebCore::ThreadableLoaderClientWrapper::didSendData):
1486 (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
1487 (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
1488 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
1489 (WebCore::ThreadableLoaderClientWrapper::didFail):
1490 (WebCore::ThreadableLoaderClientWrapper::didGetCancelled):
1491 (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
1492 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
1493 * loader/WorkerThreadableLoader.cpp: Added.
1494 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
1495 (WebCore::WorkerThreadableLoader::~WorkerThreadableLoader):
1496 (WebCore::WorkerThreadableLoader::cancel):
1497 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1498 (WebCore::WorkerThreadableLoader::MainThreadBridge::~MainThreadBridge):
1499 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
1500 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy):
1501 (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
1502 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel):
1503 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
1504 (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper):
1505 (WebCore::workerContextDidSendData):
1506 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
1507 (WebCore::workerContextDidReceiveResponse):
1508 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
1509 (WebCore::workerContextDidReceiveData):
1510 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
1511 (WebCore::workerContextDidFinishLoading):
1512 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
1513 (WebCore::workerContextDidFail):
1514 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
1515 (WebCore::workerContextDidGetCancelled):
1516 (WebCore::WorkerThreadableLoader::MainThreadBridge::didGetCancelled):
1517 (WebCore::workerContextDidReceiveAuthenticationCancellation):
1518 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
1519 * loader/WorkerThreadableLoader.h: Added.
1520 (WebCore::WorkerThreadableLoader::create):
1521 (WebCore::WorkerThreadableLoader::refThreadableLoader):
1522 (WebCore::WorkerThreadableLoader::derefThreadableLoader):
1524 2009-02-02 David Levin <levin@chromium.org>
1526 Reviewed by Alexey Proskuryakov.
1528 Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
1529 <https://bugs.webkit.org/show_bug.cgi?id=23636>
1531 No observable change in behavior, so no test.
1533 * WebCore.xcodeproj/project.pbxproj:
1536 * dom/WorkerContext.cpp:
1537 (WebCore::WorkerContext::addMessage):
1538 (WebCore::WorkerContext::postTask):
1539 (WebCore::WorkerContext::postTaskToWorkerObject):
1540 * dom/WorkerContext.h:
1541 * dom/WorkerMessagingProxy.cpp:
1542 (WebCore::MessageWorkerContextTask::performTask):
1543 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
1544 (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
1545 Expose postTaskToWorkerContext for use by the worker object thread.
1547 (WebCore::WorkerMessagingProxy::postTaskToWorkerObject):
1548 Change the name of postTaskToParentContext to postTaskToWorkerObject for consistency
1549 with postMessageToWorkerObject.
1551 * dom/WorkerMessagingProxy.h:
1552 * dom/WorkerRunLoop.cpp:
1553 (WebCore::WorkerRunLoop::run):
1554 (WebCore::WorkerRunLoop::postTask):
1555 * dom/WorkerRunLoop.h:
1556 * dom/WorkerTask.cpp: Removed.
1557 * dom/WorkerTask.h: Removed.
1558 Removed WorkerTask and replaced with the existing ScriptExecutionContext::Task.
1560 The resulted in the class going away along with an adapter that made
1561 a ScriptExecutionContext::Task look like a WorkerTask.
1563 * dom/WorkerThread.cpp:
1564 * dom/WorkerThread.h:
1566 2009-02-02 David Levin <levin@chromium.org>
1568 Reviewed by Alexey Proskuryakov.
1570 Bug 23618: Templated worker tasks should be more error proof to use.
1571 <https://bugs.webkit.org/show_bug.cgi?id=23618>
1573 Add the generic worker tasks templates needed for the WorkerThreadableLoader.
1575 No observable change in behavior, so no test.
1580 * WebCore.vcproj/WebCore.vcproj:
1581 * WebCore.xcodeproj/project.pbxproj:
1582 * WebCoreSources.bkl:
1583 * dom/CrossThreadCopier.cpp: Added.
1584 * dom/CrossThreadCopier.h: Added.
1585 (WebCore::CrossThreadCopierPassThrough::copy):
1586 * dom/GenericWorkerTask.h:
1587 Stop doing the WorkerMessagingProxy::askedToTerminate call automatically
1588 in performTask because was not obvious that it would be done and not always needed.
1590 (WebCore::GenericWorkerTask1::create):
1591 (WebCore::GenericWorkerTask1::GenericWorkerTask1):
1592 (WebCore::GenericWorkerTask1::performTask):
1593 (WebCore::GenericWorkerTask2::create):
1594 (WebCore::GenericWorkerTask2::GenericWorkerTask2):
1595 (WebCore::GenericWorkerTask2::performTask):
1596 (WebCore::GenericWorkerTask3::create):
1597 (WebCore::GenericWorkerTask3::GenericWorkerTask3):
1598 (WebCore::GenericWorkerTask3::performTask):
1599 (WebCore::GenericWorkerTask4::create):
1600 (WebCore::GenericWorkerTask4::GenericWorkerTask4):
1601 (WebCore::GenericWorkerTask4::performTask):
1602 (WebCore::GenericWorkerTask5::create):
1603 (WebCore::GenericWorkerTask5::GenericWorkerTask5):
1604 (WebCore::GenericWorkerTask5::performTask):
1605 (WebCore::GenericWorkerTask6::create):
1606 (WebCore::GenericWorkerTask6::GenericWorkerTask6):
1607 (WebCore::GenericWorkerTask6::performTask):
1608 (WebCore::GenericWorkerTask7::create):
1609 (WebCore::GenericWorkerTask7::GenericWorkerTask7):
1610 (WebCore::GenericWorkerTask7::performTask):
1611 (WebCore::createCallbackTask):
1612 * dom/WorkerContext.cpp:
1613 (WebCore::addMessageTask):
1614 (WebCore::WorkerContext::addMessage):
1615 * dom/WorkerMessagingProxy.h:
1616 (WebCore::WorkerMessagingProxy::askedToTerminate):
1618 2009-02-02 Sam Weinig <sam@webkit.org>
1620 Reviewed by David "The Barnabas Jones" Hyatt.
1622 Move removeChildNode, appendChildNode and insertChildNode from
1623 RenderContainer into RenderObjectChildList. Make moveChildNode
1624 static in RenderBlock, as that was the only user.
1626 * rendering/RenderBlock.cpp:
1627 (WebCore::moveChild):
1628 (WebCore::RenderBlock::makeChildrenNonInline):
1629 (WebCore::RenderBlock::removeChild):
1630 (WebCore::RenderBlock::handleRunInChild):
1631 * rendering/RenderContainer.cpp:
1632 (WebCore::RenderContainer::addChild):
1633 (WebCore::RenderContainer::removeChild):
1634 * rendering/RenderContainer.h:
1635 * rendering/RenderInline.cpp:
1636 (WebCore::RenderInline::splitInlines):
1637 (WebCore::RenderInline::splitFlow):
1638 (WebCore::RenderInline::childBecameNonInline):
1639 * rendering/RenderObject.cpp:
1640 (WebCore::RenderObject::handleDynamicFloatPositionChange):
1641 * rendering/RenderObject.h:
1642 (WebCore::RenderObject::createsAnonymousWrapper):
1643 * rendering/RenderObjectChildList.cpp:
1644 (WebCore::updateListMarkerNumbers):
1645 (WebCore::RenderObjectChildList::removeChildNode):
1646 (WebCore::RenderObjectChildList::appendChildNode):
1647 (WebCore::RenderObjectChildList::insertChildNode):
1648 * rendering/RenderObjectChildList.h:
1649 * rendering/RenderSVGContainer.cpp:
1650 (WebCore::RenderSVGContainer::addChild):
1651 (WebCore::RenderSVGContainer::removeChild):
1652 * rendering/RenderSVGContainer.h:
1653 * rendering/RenderTable.cpp:
1654 (WebCore::RenderTable::removeChild):
1655 * rendering/RenderTable.h:
1656 * rendering/RenderTableSection.cpp:
1657 (WebCore::RenderTableSection::removeChild):
1658 * rendering/RenderTableSection.h:
1660 2009-02-02 Alexey Proskuryakov <ap@webkit.org>
1662 Reviewed by Darin Alder.
1664 https://bugs.webkit.org/show_bug.cgi?id=23697
1665 Leaks seen on Worker tests
1667 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
1668 Zero out m_workerThread, so that the proxy could be deleted once workerObjectDestroyed()
1671 2009-02-02 David Hyatt <hyatt@apple.com>
1673 Move positionForCoordinates up from RenderContainer into RenderBox.
1675 Reviewed by Sam Weinig
1677 * rendering/RenderBox.cpp:
1678 (WebCore::RenderBox::positionForCoordinates):
1679 * rendering/RenderBox.h:
1680 * rendering/RenderContainer.cpp:
1681 * rendering/RenderContainer.h:
1683 2009-02-02 Hiroaki Nakamura <hnakamur@gmail.com>
1685 Reviewed by Adam Roben.
1687 Fixes https://bugs.webkit.org/show_bug.cgi?id=15813
1688 Modify pre-build step to properly handle the errorlevel
1691 * WebCore.vcproj/WebCore.vcproj: Change errorlevel handling
1692 for all targets so prefast is only enabled in builds
1693 where /analyze is available.
1695 2009-02-02 David Hyatt <hyatt@apple.com>
1697 Refactor the handling of before/after content and generated content. Move most of the functions from
1698 RenderContainer into RenderObjectChildList.
1700 Reviewed by Sam Weinig
1702 * rendering/RenderBlock.cpp:
1703 (WebCore::RenderBlock::updateBeforeAfterContent):
1704 * rendering/RenderBlock.h:
1705 * rendering/RenderBox.cpp:
1706 (WebCore::RenderBox::isAfterContent):
1707 * rendering/RenderBox.h:
1708 * rendering/RenderButton.cpp:
1709 (WebCore::RenderButton::updateBeforeAfterContent):
1710 * rendering/RenderContainer.cpp:
1711 * rendering/RenderContainer.h:
1712 * rendering/RenderCounter.cpp:
1713 (WebCore::destroyCounterNodeChildren):
1714 * rendering/RenderInline.cpp:
1715 (WebCore::RenderInline::styleDidChange):
1716 (WebCore::RenderInline::addChildIgnoringContinuation):
1717 (WebCore::RenderInline::splitInlines):
1718 * rendering/RenderObject.h:
1719 * rendering/RenderObjectChildList.cpp:
1720 (WebCore::beforeAfterContainer):
1721 (WebCore::findBeforeAfterParent):
1722 (WebCore::invalidateCountersInContainer):
1723 (WebCore::RenderObjectChildList::invalidateCounters):
1724 (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1725 * rendering/RenderObjectChildList.h:
1727 2009-02-02 Dmitry Titov <dimich@chromium.org>
1729 Reviewed by Darin Adler.
1731 https://bugs.webkit.org/show_bug.cgi?id=23661
1734 * history/HistoryItem.h: need to include <wtf/OwnPtr.h>
1736 * rendering/RenderThemeChromiumMac.mm:
1737 (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): isEnabled() is now on FormControlElement.
1739 2009-02-02 Geoffrey Garen <ggaren@apple.com>
1743 * plugins/PluginView.cpp:
1744 (WebCore::PluginView::performRequest):
1746 2009-02-02 Geoffrey Garen <ggaren@apple.com>
1752 2009-02-02 Geoffrey Garen <ggaren@apple.com>
1754 Reviewed by Sam Weinig.
1756 Track redirects in global history.
1758 * WebCore.base.exp: Renamed some exports.
1760 * bindings/js/JSDOMWindowBase.cpp:
1761 (WebCore::createWindow):
1762 (windowProtoFuncOpen):
1763 * bindings/js/JSDOMWindowCustom.cpp:
1764 (WebCore::JSDOMWindow::setLocation):
1765 * bindings/js/JSDocumentCustom.cpp:
1766 (WebCore::JSDocument::setLocation):
1767 * bindings/js/JSHTMLFormElementCustom.cpp:
1768 (WebCore::JSHTMLFormElement::submit):
1769 * bindings/js/JSLocationCustom.cpp:
1770 (WebCore::JSLocation::setHref):
1771 (WebCore::JSLocation::setProtocol):
1772 (WebCore::JSLocation::setHost):
1773 (WebCore::JSLocation::setHostname):
1774 (WebCore::JSLocation::setPort):
1775 (WebCore::JSLocation::setPathname):
1776 (WebCore::JSLocation::setSearch):
1777 (WebCore::JSLocation::setHash):
1778 (WebCore::JSLocation::assign): Treat any navigation that is not initiated
1779 by the user as a redirect from the perspective of global history.
1781 * history/HistoryItem.cpp:
1782 (WebCore::HistoryItem::addRedirectURL): Store the last URL in the redirect
1785 * loader/DocumentLoader.cpp:
1786 (WebCore::DocumentLoader::DocumentLoader):
1787 * loader/DocumentLoader.h:
1788 (WebCore::DocumentLoader::urlForHistoryReflectsServerRedirect):
1789 (WebCore::DocumentLoader::urlForHistoryReflectsClientRedirect):
1790 (WebCore::DocumentLoader::setURLForHistoryReflectsClientRedirect): Sadly,
1791 added yet another way to track redirect state during loading, since none
1792 of the others did what I wanted, and I didn't want to cause behavior
1793 changes in existing code.
1795 * loader/EmptyClients.h:
1796 (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem):
1797 Stubbed out a client function to keep things building.
1799 * loader/FrameLoader.cpp:
1800 (WebCore::isBackForwardLoadType):
1801 (WebCore::FrameLoader::restoreDocumentState): Renamed FrameLoadTypeRedirect =>
1802 FrameLoadTypeRedirectWithLockedBackForwardList, to distinguish from all
1803 the other meanings of "redirect" in the loading code.
1805 (WebCore::FrameLoader::scheduleHTTPRedirection): Treat any HTTP refresh
1806 redirect as a redirect from the perspective of global history.
1808 (WebCore::FrameLoader::loadURLIntoChildFrame): Updated for rename and extra
1811 (WebCore::FrameLoader::startRedirectionTimer): Removed unused parameter.
1813 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
1814 (WebCore::FrameLoader::loadURL):
1815 (WebCore::FrameLoader::load): Updated for rename and extra parameter.
1817 (WebCore::FrameLoader::loadWithNavigationAction): Track redirect status
1818 in the DocumentLoader, so it's accessible to WebKit's global history code.
1820 (WebCore::FrameLoader::clientRedirected): Ignore lockHistory, since it
1821 only has meaning to global history, and m_quickRedirectComing pertains
1822 to other kinds of history.
1824 (WebCore::FrameLoader::loadPostRequest):
1825 (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
1826 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1827 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
1828 (WebCore::FrameLoader::loadItem): Updated for extra parameter and rename.
1830 (WebCore::FrameLoader::updateHistory*): Notify WebKit about redirect
1831 navigations even if they don't create new history items, so we can track
1832 the redirect in the existing history item.
1834 * loader/FrameLoader.h: See above.
1836 * loader/FrameLoaderClient.h: New client interface used by
1837 FrameLoader::updateHistory* to record a redirect even if it doesn't create
1838 a new history item of its own.
1840 * loader/FrameLoaderTypes.h: See above.
1843 * page/DragController.cpp:
1844 (WebCore::DragController::performDrag):
1845 * svg/graphics/SVGImage.cpp:
1846 (WebCore::SVGImage::dataChanged): Updated for extra parameter.
1848 2009-02-02 David Hyatt <hyatt@apple.com>
1850 Make calcPrefWidths non-abstract on RenderBox and just give it RenderContainer's implementation.
1851 Remove RenderSVGContainer's implementation, since it was never called.
1853 Reviewed by Beth Dakin
1855 * rendering/RenderBox.cpp:
1856 (WebCore::RenderBox::minPrefWidth):
1857 * rendering/RenderBox.h:
1858 (WebCore::RenderBox::calcPrefWidths):
1859 * rendering/RenderContainer.h:
1860 (WebCore::RenderContainer::moveChildNode):
1861 * rendering/RenderSVGContainer.h:
1863 2009-02-02 Anders Carlsson <andersca@apple.com>
1865 Reviewed by Sam Weinig.
1867 Add jsObjectForPluginElement to ScriptController, and have createScriptObjectForPluginElement call it.
1870 * bindings/js/ScriptController.cpp:
1871 (WebCore::ScriptController::createScriptObjectForPluginElement):
1872 (WebCore::ScriptController::jsObjectForPluginElement):
1873 * bindings/js/ScriptController.h:
1875 2009-02-02 Darin Fisher <darin@chromium.org>
1877 Reviewed by Eric Seidel (and Ojan Vafai).
1879 https://bugs.webkit.org/show_bug.cgi?id=23696
1880 Select element doesn't show new value when focus is switched in
1883 Fix PopupMenuChromium to hide itself before calling valueChanged. This
1884 better matches the behavior of the other ports.
1886 * platform/chromium/PopupMenuChromium.cpp:
1887 (WebCore::PopupListBox::create):
1888 (WebCore::PopupContainer::PopupContainer):
1889 (WebCore::PopupContainer::showPopup):
1890 (WebCore::PopupContainer::hidePopup):
1891 (WebCore::PopupListBox::abandon):
1892 (WebCore::PopupListBox::acceptIndex):
1893 (WebCore::PopupMenu::show):
1894 (WebCore::PopupMenu::hide):
1896 2009-02-02 David Hyatt <hyatt@apple.com>
1898 Make sure scrollWidth/Height just return 0 for inline flows.
1900 Reviewed by Beth Dakin
1902 * rendering/RenderBox.cpp:
1903 (WebCore::RenderBox::scrollWidth):
1904 (WebCore::RenderBox::scrollHeight):
1906 2009-02-02 Darin Adler <darin@apple.com>
1908 Reviewed by Dave Hyatt.
1910 Bug 23676: Speed up uses of reserveCapacity on new vectors by adding a new reserveInitialCapacity
1911 https://bugs.webkit.org/show_bug.cgi?id=23676
1913 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1914 (WebCore::cssPropertyName):
1915 * css/CSSMutableStyleDeclaration.cpp:
1916 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1917 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1918 * css/CSSPrimitiveValue.cpp:
1919 (WebCore::CSSPrimitiveValue::cssText):
1920 * css/CSSStyleDeclaration.cpp:
1921 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
1922 * css/CSSStyleSelector.cpp:
1923 (WebCore::CSSStyleSelector::sortMatchedRules):
1925 (WebCore::Document::formElementsState):
1926 * dom/NamedAttrMap.h:
1927 (WebCore::NamedAttrMap::reserveInitialCapacity):
1928 * editing/TextIterator.cpp:
1929 (WebCore::CharacterIterator::string):
1930 (WebCore::SearchBuffer::SearchBuffer):
1931 (WebCore::plainTextToMallocAllocatedBuffer):
1932 * editing/markup.cpp:
1933 (WebCore::joinMarkups):
1934 * history/HistoryItem.cpp:
1935 (WebCore::HistoryItem::HistoryItem):
1936 * html/HTMLTokenizer.cpp:
1937 (WebCore::Token::addAttribute):
1938 * loader/appcache/DOMApplicationCache.cpp:
1939 (WebCore::DOMApplicationCache::items):
1940 * page/SecurityOrigin.cpp:
1941 (WebCore::SecurityOrigin::toString):
1942 * page/mac/AccessibilityObjectWrapper.mm:
1944 * platform/graphics/FontCache.cpp:
1945 (WebCore::FontCache::purgeInactiveFontData):
1946 (WebCore::FontCache::invalidate):
1947 * platform/network/FormData.cpp:
1948 (WebCore::FormData::deepCopy):
1949 * platform/network/HTTPHeaderMap.cpp:
1950 (WebCore::HTTPHeaderMap::copyData):
1951 * platform/network/ResourceRequestBase.cpp:
1952 (WebCore::ResourceRequestBase::copyData):
1953 * platform/network/mac/FormDataStreamMac.mm:
1954 (WebCore::formCreate):
1955 * xml/XPathNodeSet.cpp:
1956 (WebCore::XPath::NodeSet::sort):
1957 Use reserveInitialCapacity instead of of reserveCapacity in all these call sites,
1958 which are working on new vectors that are guaranteed not to be empty.
1960 2009-02-26 Jon Honeycutt <jhoneycutt@apple.com>
1962 Build fix after r40486.
1964 Rubber-stamped by Ada Chan.
1966 * dom/Document.h: Chnaged HitTestRequest to a class from a struct.
1967 * page/EventHandler.h: Ditto.
1968 * rendering/EllipsisBox.h: Ditto.
1969 * rendering/InlineBox.h: Ditto.
1970 * rendering/InlineFlowBox.h: Ditto.
1971 * rendering/RenderLayer.h: Ditto.
1973 2009-02-02 Darin Adler <darin@apple.com>
1975 Reviewed by Anders Carlsson.
1977 Bug 23694: REGRESSION: Running svg/custom tests crashes, randomly, depending on the order of tests
1978 https://bugs.webkit.org/show_bug.cgi?id=23694
1980 * dom/ContainerNode.cpp:
1981 (WebCore::ContainerNode::insertedIntoDocument): Added back the call through to EventTargetNode.
1982 (WebCore::ContainerNode::removedFromDocument): Ditto.
1983 * dom/EventTargetNode.cpp:
1984 (WebCore::EventTargetNode::insertedIntoDocument): Changed this to not call through to Node.
1985 (WebCore::EventTargetNode::removedFromDocument): Ditto.
1987 (WebCore::Node::insertedIntoDocument): Updated comment.
1988 (WebCore::Node::removedFromDocument): Ditto.
1990 2009-02-02 Anders Carlsson <andersca@apple.com>
1992 Reviewed by Dan Bernstein.
1994 More plug-in cleanup.
1996 * WebCore.NPAPI.exp:
1999 * bindings/objc/DOM.mm:
2000 * bindings/objc/DOMPrivate.h:
2001 Remove methods that WebKit doesn't use anymore.
2003 2009-02-02 Jay Campan <jcampan@chromium.org>
2005 Reviewed by Eric Seidel.
2007 Clean up PopupMenuChromium a little.
2008 https://bugs.webkit.org/show_bug.cgi?id=23653
2010 No functional changes, only code cleanup, thus no tests.
2012 * platform/chromium/PopupMenuChromium.cpp:
2014 (WebCore::PopupListBox::PopupListBox):
2015 (WebCore::PopupContainer::create):
2016 (WebCore::PopupContainer::PopupContainer):
2017 (WebCore::PopupContainer::showPopup):
2018 (WebCore::PopupListBox::handleKeyEvent):
2019 (WebCore::PopupListBox::isSelectableItem):
2020 (WebCore::PopupListBox::selectNextRow):
2021 (WebCore::PopupListBox::selectPreviousRow):
2022 (WebCore::PopupMenu::show):
2023 * platform/chromium/PopupMenuChromium.h:
2025 2009-02-02 Anders Carlsson <andersca@apple.com>
2027 Reviewed by Dan Bernstein.
2029 Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement.
2031 * WebCore.xcodeproj/project.pbxproj:
2032 * loader/EmptyClients.h:
2033 (WebCore::EmptyFrameLoaderClient::createPlugin):
2034 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
2035 * loader/FrameLoader.cpp:
2036 (WebCore::toPlugInElement):
2037 (WebCore::FrameLoader::loadPlugin):
2038 (WebCore::FrameLoader::loadItem):
2039 * loader/FrameLoader.h:
2040 * loader/FrameLoaderClient.h:
2042 2009-02-02 Genevieve Mak <gen@staikos.net>
2044 Reviewed by George Staikos.
2046 https://bugs.webkit.org/show_bug.cgi?id=23508
2047 Returns Blank Page for all "about" protocols
2049 * loader/MainResourceLoader.cpp:
2050 Fix shouldLoadAsEmptyDocument() to return a blank page for an empty
2051 url or about:blank only (for now, exclusively for Torch Mobile platform).
2053 2009-02-02 Brent Fulgham <bfulgham@webkit.org>
2055 Reviewed by George Staikos.
2057 Fixes https://bugs.webkit.org/show_bug.cgi?id=23691.
2058 Correct build break caused by @r40366 by moving the
2059 common code implmentations from GraphicsContextCGWin.cpp
2060 into the base Windows class (GraphicsContextWin.cpp). Also
2061 move inTransparencyLayer since it is identical in both
2064 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2065 Added member m_shouldIncludeChildWindows to Windows version,
2066 similar to GraphicsContextPlatformPrivateCG.h.
2067 * platform/graphics/win/GraphicsContextCGWin.cpp: Remove the
2068 implementations of shouldIncludeChildWindows,
2069 setShouldIncludeChildWindows, and inTransparencyLayer.
2070 * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
2071 the implementation of inTransparencyLayer.
2072 * platform/graphics/win/GraphicsContextWin.cpp: Move common code
2073 from GraphicsContextCGWin.cpp and GraphicsContextCairoWin.cpp.
2074 (WebCore::GraphicsContext::inTransparencyLayer):
2075 (WebCore::GraphicsContext::setShouldIncludeChildWindows):
2076 (WebCore::GraphicsContext::shouldIncludeChildWindows):
2078 2009-02-02 Darin Adler <darin@apple.com>
2080 Try to fix Wx build, and maybe Chromium build too.
2082 * WebCore.scons: Added IdentifierRep.cpp.
2083 * WebCoreSources.bkl: Ditto.
2085 2009-02-02 Darin Adler <darin@apple.com>
2087 Try to fix Wx build.
2089 * html/HTMLAreaElement.cpp: Added missing include of "Path.h".
2091 2009-02-02 Adam Treat <adam.treat@torchmobile.com>
2093 Reviewed by Nikolas Zimmermann.
2095 https://bugs.webkit.org/show_bug.cgi?id=23587
2096 Refactor HitTestRequest to eliminate all the ugly boolean arguments and
2097 use an enum bitflag instead. Cleanup all the code that constructs the
2098 various HitTestRequests to make the code more readable.
2101 (WebCore::Document::elementFromPoint):
2102 (WebCore::Document::prepareMouseEvent):
2103 * editing/SelectionController.cpp:
2104 (WebCore::SelectionController::contains):
2105 * page/AccessibilityRenderObject.cpp:
2106 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
2107 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
2108 * page/EventHandler.cpp:
2109 (WebCore::EventHandler::eventMayStartDrag):
2110 (WebCore::EventHandler::updateSelectionForMouseDrag):
2111 (WebCore::EventHandler::hitTestResultAtPoint):
2112 (WebCore::EventHandler::handleMousePressEvent):
2113 (WebCore::EventHandler::handleMouseDoubleClickEvent):
2114 (WebCore::EventHandler::handleMouseMoveEvent):
2115 (WebCore::EventHandler::handleMouseReleaseEvent):
2116 (WebCore::EventHandler::updateDragAndDrop):
2117 (WebCore::EventHandler::handleWheelEvent):
2118 (WebCore::EventHandler::sendContextMenuEvent):
2119 (WebCore::EventHandler::hoverTimerFired):
2120 (WebCore::EventHandler::handleDrag):
2121 * page/EventHandler.h:
2122 * rendering/HitTestRequest.h:
2123 (WebCore::HitTestRequest::):
2124 (WebCore::HitTestRequest::HitTestRequest):
2125 (WebCore::HitTestRequest::readOnly):
2126 (WebCore::HitTestRequest::active):
2127 (WebCore::HitTestRequest::mouseMove):
2128 (WebCore::HitTestRequest::mouseUp):
2129 (WebCore::HitTestRequest::ignoreClipping):
2130 * rendering/RenderFrameSet.cpp:
2131 (WebCore::RenderFrameSet::nodeAtPoint):
2132 * rendering/RenderLayer.cpp:
2133 (WebCore::RenderLayer::hitTest):
2134 (WebCore::RenderLayer::hitTestLayer):
2135 (WebCore::RenderLayer::updateHoverActiveState):
2137 2009-02-02 George Staikos <george.staikos@torchmobile.com>
2139 Reviewed by Niko Zimmermann.
2141 Fix WML build by including the inlined renderStyle().
2143 * wml/WMLOptGroupElement.cpp:
2144 * wml/WMLOptionElement.cpp:
2146 2009-02-02 Darin Adler <darin@apple.com>
2148 Reviewed by Niko Zimmermann.
2150 Bug 23686: REGRESSION (r40475): Failure in fast/xpath/4XPath/Core/test_core_functions.html
2151 https://bugs.webkit.org/show_bug.cgi?id=23686
2152 rdar://problem/6547971
2154 Also fix other XPath tests that are crashing.
2156 * xml/XPathFunctions.cpp:
2157 (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName.
2158 * xml/XPathStep.cpp:
2159 (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we
2160 need to make Attr nodes here. Yuck!
2162 2009-02-02 Yichao Yin <yichao.yin@torchmobile.com.cn>
2164 Reviewed by Niko Zimmermann.
2166 Test: wml/input-format.html
2168 * wml/WMLInputElement.cpp:
2169 (WebCore::WMLInputElement::WMLInputElement):
2170 (WebCore::formatCodes):
2171 (WebCore::WMLInputElement::dispatchBlurEvent):
2172 (WebCore::WMLInputElement::parseMappedAttribute):
2173 (WebCore::WMLInputElement::attach):
2174 (WebCore::WMLInputElement::defaultEventHandler):
2175 (WebCore::WMLInputElement::init):
2176 (WebCore::WMLInputElement::validateInputMask):
2177 (WebCore::WMLInputElement::isConformedToInputMask):
2178 (WebCore::WMLInputElement::cursorPositionToMaskIndex):
2179 * wml/WMLInputElement.h:
2181 2009-02-02 Brent Fulgham <bfulgham@webkit.org>
2183 Build fix only, no review.
2185 Fixes https://bugs.webkit.org/show_bug.cgi?id=23685.
2186 Correct build break caused by @r40473.
2188 * page/win/FrameWin.cpp: Correct access for adjustPageHeight.
2189 (WebCore::computePageRectsForFrame):
2191 2009-02-02 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2193 Not reviewed. Fix WML enabled builds.
2194 FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does.
2196 * wml/WMLAElement.cpp:
2197 (WebCore::WMLAElement::defaultEventHandler):
2199 2009-02-02 Alexey Proskuryakov <ap@webkit.org>
2201 Reviewed by Darin Adler.
2203 <rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server
2205 Not easily testable.
2207 * loader/appcache/ApplicationCacheGroup.cpp:
2208 (WebCore::ApplicationCacheGroup::createResourceHandle): A new method that creates a resource
2209 handle in a manner that is closer to what CachedResource does. We now make conditional
2210 requests for better performance, and set max-age to ensure that stale responses are not used.
2211 (WebCore::ApplicationCacheGroup::update): Use the new createResourceHandle() method.
2212 (WebCore::ApplicationCacheGroup::didReceiveResponse): If the response code for the resource
2213 is 304, take it from the newest cache.
2214 (WebCore::ApplicationCacheGroup::didFail): Pre-compute request URL.
2215 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Don't create a resource for
2216 the manifest if the response code was 304 - it won't be needed.
2217 (WebCore::ApplicationCacheGroup::didReceiveManifestData): Replaced an assertion that
2218 m_manifestResource is not null with a check.
2219 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Treat null m_manifestResource as
2220 an indication that the response was 304.
2221 (WebCore::ApplicationCacheGroup::startLoadingEntry): Use createResourceHandle().
2223 * loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle().
2225 2009-02-01 Darin Adler <darin@apple.com>
2227 Reviewed by Dave Hyatt.
2229 Bug 23674: Speed up some things based on profiling the page load test
2230 https://bugs.webkit.org/show_bug.cgi?id=23674
2232 * css/CSSStyleSelector.cpp:
2233 (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the newly named cssTarget instead
2234 of the old name, getCSSTarget.
2235 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
2237 * dom/ContainerNode.cpp:
2238 (WebCore::ContainerNode::insertedIntoDocument): Moved code from Node in here rather than
2239 calling through to EventTargetNode::insertedIntoDocument.
2240 (WebCore::ContainerNode::removedFromDocument): Ditto.
2241 (WebCore::ContainerNode::insertedIntoTree): Tweaked a bit.
2242 (WebCore::ContainerNode::removedFromTree): Ditto.
2244 * dom/ContainerNode.h: Moved the constructor definition here and made it inline.
2247 (WebCore::Document::removeAllEventListenersFromAllNodes): Iterate the document element and
2248 its contents only to avoid the document type node. This allows us to remove the virtual
2249 function call to isEventTargetNode from the loop.
2250 (WebCore::Document::setCSSTarget): Changed argument to be an Element rather than Node.
2252 * dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed
2253 getCSSTarget to cssTarget.
2255 * dom/EventTargetNode.cpp:
2256 (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the
2257 rare data check into an assertion.
2259 * dom/EventTargetNode.h: Made the fast case of removeAllEventListeners be inline.
2260 Also moved the constructor definition here and made it inline. And added toEventTargetNode,
2261 matching the design of the render tree checked casts. Later we can migrate all callers
2262 from EventTargetNodeCast to toEventTargetNode.
2264 * dom/NamedAttrMap.cpp:
2265 (WebCore::NamedAttrMap::detachAttributesFromElement): Added. Factored out from
2266 clearAttributes, so we could use this loop in cases where we're not clearing the attributes.
2267 (WebCore::NamedAttrMap::~NamedAttrMap): Call detachAttributesFromElement instead of
2268 clearAttributes here.
2269 (WebCore::NamedAttrMap::clearAttributes): Call detachAttributesFromElement here.
2270 (WebCore::NamedAttrMap::detachFromElement): Call detachAttributesFromElement instead of
2271 clearAttributes. We don't need to clear the attributes array just because the element is
2272 going away, so don't.
2273 (WebCore::NamedAttrMap::virtualLength): Added.
2275 * dom/NamedAttrMap.h: Made all the virtual functions inherited from NamedNodeMap be private.
2276 These are all unnecessarily inefficient for use outside the DOM. Changed length to be a
2277 non-virtual function. This was a fairly hot function.
2279 * dom/NamedMappedAttrMap.cpp:
2280 (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the
2281 m_element data member is private.
2283 * dom/NamedMappedAttrMap.h: Made a few functions private. Made the
2284 hasMappedAttributes function non-virtual.
2286 * dom/NamedNodeMap.h: Made length a non-virtual inline function that calls a virtual
2287 function, name virtualLength. This lets NamedAttrMap::length be a non-virtual function.
2290 (WebCore::Node::insertedIntoDocument): Removed call to insertedIntoTree, since it's
2291 only non-empty in subclasses of ContainerNode.
2292 (WebCore::Node::removedFromDocument): Ditto. Also removed setCSSTarget. Since a CSS
2293 target has to be an Element, this can be moved down to ContainerNode (or it could be
2294 moved down to Element for that matter).
2296 * dom/QualifiedName.cpp:
2297 (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl.
2299 * dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and
2300 setPrefix function definitions into the header and made them inline.
2302 * html/HTMLAreaElement.cpp:
2303 (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now
2305 (WebCore::HTMLAreaElement::accessKey): Use AtomicString.
2306 (WebCore::HTMLAreaElement::setAccessKey): Ditto.
2307 (WebCore::HTMLAreaElement::alt): Ditto.
2308 (WebCore::HTMLAreaElement::setAlt): Ditto.
2309 (WebCore::HTMLAreaElement::coords): Ditto.
2310 (WebCore::HTMLAreaElement::setCoords): Ditto.
2311 (WebCore::HTMLAreaElement::setHref): Ditto.
2312 (WebCore::HTMLAreaElement::shape): Ditto.
2313 (WebCore::HTMLAreaElement::setShape): Ditto.
2314 (WebCore::HTMLAreaElement::setTarget): Ditto.
2316 * html/HTMLAreaElement.h: Use AtomicString in the getter and setter DOM operations.
2317 Change the region data member to be an OwnPtr<Path> instead of a Path to optimize
2318 the common case where an area element is parsed but never hit-tested. This could
2319 also have been done by changing the Path class's null case to be more efficient,
2320 but this seems fine.
2322 * html/HTMLViewSourceDocument.cpp:
2323 (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead
2325 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
2326 (WebCore::HTMLViewSourceDocument::addLine): Ditto.
2327 (WebCore::HTMLViewSourceDocument::addLink): Ditto.
2329 * loader/FrameLoader.cpp:
2330 (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead
2331 of its old name getCSSTarget.
2333 * platform/graphics/GlyphWidthMap.cpp:
2334 (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage.
2336 * platform/graphics/GlyphWidthMap.h: Made most of this class inline.
2337 Changed m_pages to use OwnPtr.
2339 * platform/text/PlatformString.h: Remove include no longer needed since
2340 StringImpl.h includes it.
2342 * platform/text/StringImpl.cpp:
2343 (WebCore::StringImpl::createStrippingNullCharactersSlowCase): Refactored
2344 from createStrippingNullCharacters.
2345 * platform/text/StringImpl.h: Moved the definition of
2346 createStrippingNullCharacters here and made it inline.
2348 * rendering/RenderObject.cpp:
2349 (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from
2352 * rendering/RenderObject.h: Moved the definition of the firstLineStyle
2353 function here and made it inline. Moved the definition of the
2354 documentBeingDestroyed function here and made it inline.
2356 * svg/SVGSVGElement.cpp:
2357 (WebCore::SVGSVGElement::getCTM): Use getAttributeItem instead of
2358 getNamedItem here since it accomplishes the same thing but is more efficient.
2359 (WebCore::SVGSVGElement::getScreenCTM): Ditto.
2360 * svg/SVGStyledElement.cpp:
2361 (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
2363 * xml/XPathFunctions.cpp:
2364 (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of
2367 * xml/XPathStep.cpp:
2368 (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here.
2370 2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
2372 Reviewed by Darin Adler.
2374 Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
2376 https://bugs.webkit.org/show_bug.cgi?id=23428
2378 FrameView::forceLayout could be killed but the comment might
2379 contain a value over the the plain FrameView::layout...
2381 Adjust the WebCore/WebKit consumers of these methods.
2385 (WebCore::Frame::setPrinting):
2387 * page/FrameView.cpp:
2388 (WebCore::FrameView::forceLayout):
2389 (WebCore::FrameView::forceLayoutWithPageWidthRange):
2390 (WebCore::FrameView::adjustPageHeight):
2392 * page/PrintContext.cpp:
2393 (WebCore::PrintContext::computePageRects):
2395 2009-02-01 Dan Bernstein <mitz@apple.com>
2397 Reviewed by John Sullivan.
2399 - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il
2401 Fixes http/tests/navigation/multiple-back-forward-entries.html
2403 r40432 added a parameter to FrameLoader::scheduleLocationChange() and
2404 failed to update all call sites.
2406 * bindings/js/JSDOMWindowBase.cpp:
2407 (WebCore::createWindow): Pass the lockBackForwardHistory parameter,
2408 giving it the same value as the lockHistory parameter.
2409 (windowProtoFuncOpen): Ditto.
2410 * bindings/js/JSDOMWindowCustom.cpp:
2411 (WebCore::JSDOMWindow::setLocation): Ditto.
2412 * bindings/js/JSDocumentCustom.cpp:
2413 (WebCore::JSDocument::setLocation): Ditto.
2414 * loader/FrameLoader.cpp:
2415 (WebCore::FrameLoader::requestFrame): Ditto.
2417 2009-01-31 Dan Bernstein <mitz@apple.com>
2419 Reviewed by Oliver Hunt.
2421 - fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak()
2423 On the PLT, this results in 0.36x the number of virtual function calls
2424 to RenderText::width() and 0.69x the number of calls to
2425 Font::isFixedPitch(), but makes 1.0004x the number of calls to
2428 * rendering/RenderText.cpp:
2429 (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len'
2431 * rendering/bidi.cpp:
2432 (WebCore::textWidth): Added this inlined helper function which calls
2433 Font::width() directly in the non-fixed-pitch, non-full-range case, and
2434 otherwise calls RenderText::width().
2435 (WebCore::RenderBlock::findNextLineBreak): Cache whether the font has
2436 fixed pitch (in which case RenderText::width() will be called in order
2437 to take advantage of the widthFromCache() optimization for fixed-pitch
2438 fonts). Replaced all calls to RenderText::width() with calls to the
2439 textWidth() helper function.
2441 2009-01-31 David Hyatt <hyatt@apple.com>
2443 Inline all of the setNeedsLayout method and its associated functions. Also inline setChildNeedsLayout
2444 and setNeedsPositionedMovementLayout.
2446 Reviewed by Dan Bernstein
2448 * rendering/RenderObject.cpp:
2449 (WebCore::RenderObject::setLayerNeedsFullRepaint):
2450 * rendering/RenderObject.h:
2451 (WebCore::RenderObject::setNeedsLayout):
2452 (WebCore::RenderObject::setChildNeedsLayout):
2453 (WebCore::RenderObject::setNeedsPositionedMovementLayout):
2454 (WebCore::objectIsRelayoutBoundary):
2455 (WebCore::RenderObject::markContainingBlocksForLayout):
2457 2009-01-31 Darin Adler <darin@apple.com>
2461 * loader/FrameLoader.cpp: Moved FrameLoaderClient::hasHTMLView in here.
2462 We need it to not be an inline. Sadly, FrameLoaderClient.cpp was prematurely
2463 deleted and I don't want to bring it back just to fix the build.
2465 * loader/FrameLoaderClient.h: Rearrange virtual functions and corrected
2466 a possibly-confusing comment.
2468 2009-01-31 Adam Treat <adam.treat@torchmobile.com>
2470 Reviewed by David Hyatt.
2472 https://bugs.webkit.org/show_bug.cgi?id=23664
2473 Remove unused dead code from RenderTable class. The dead code includes
2474 two enums and the associated member variables as well as one getter function.
2476 * rendering/RenderTable.cpp:
2477 (WebCore::RenderTable::RenderTable):
2478 * rendering/RenderTable.h:
2480 2009-01-31 David Hyatt <hyatt@apple.com>
2482 More removal of code from RenderContainer. Move removeLeftoverAnonymousBlock down into RenderBlock.
2483 Move destroyLeftoverChildren into the RenderObjectChildList. Convert all containers to use the
2484 RenderObjectChildList.
2486 Reviewed by Sam Weinig
2488 * WebCore.xcodeproj/project.pbxproj:
2489 * rendering/RenderBlock.cpp:
2490 (WebCore::RenderBlock::destroy):
2491 (WebCore::RenderBlock::addChild):
2492 (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
2493 (WebCore::RenderBlock::layoutPositionedObjects):
2494 (WebCore::RenderBlock::childBecameNonInline):
2495 * rendering/RenderBlock.h:
2496 * rendering/RenderBox.cpp:
2497 (WebCore::RenderBox::layout):
2498 * rendering/RenderBox.h:
2499 (WebCore::RenderBox::firstChildBox):
2500 (WebCore::RenderBox::lastChildBox):
2501 * rendering/RenderContainer.cpp:
2502 (WebCore::RenderContainer::addChild):
2503 (WebCore::RenderContainer::removeChildNode):
2504 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
2505 (WebCore::RenderContainer::appendChildNode):
2506 (WebCore::RenderContainer::insertChildNode):
2507 (WebCore::RenderContainer::positionForCoordinates):
2508 (WebCore::RenderContainer::addLineBoxRects):
2509 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
2510 * rendering/RenderContainer.h:
2511 (WebCore::RenderContainer::virtualChildren):
2512 (WebCore::RenderContainer::children):
2513 * rendering/RenderInline.cpp:
2514 (WebCore::RenderInline::destroy):
2515 * rendering/RenderInline.h:
2516 (WebCore::RenderInline::layout):
2517 * rendering/RenderMedia.cpp:
2518 (WebCore::RenderMedia::destroy):
2519 (WebCore::RenderMedia::children):
2520 * rendering/RenderMedia.h:
2521 (WebCore::RenderMedia::virtualChildren):
2522 * rendering/RenderObject.cpp:
2523 (WebCore::RenderObject::destroy):
2524 (WebCore::RenderObject::layout):
2525 * rendering/RenderObject.h:
2526 (WebCore::RenderObject::firstChild):
2527 (WebCore::RenderObject::lastChild):
2528 (WebCore::RenderObject::virtualChildren):
2529 (WebCore::RenderObject::canHaveChildren):
2530 * rendering/RenderObjectChildList.cpp: Added.
2531 (WebCore::RenderObjectChildList::destroyLeftoverChildren):
2532 * rendering/RenderObjectChildList.h:
2533 * rendering/RenderReplaced.h:
2534 (WebCore::RenderReplaced::canHaveChildren):
2535 * rendering/RenderSVGContainer.cpp:
2536 (WebCore::RenderSVGContainer::RenderSVGContainer):
2537 (WebCore::RenderSVGContainer::destroy):
2538 (WebCore::RenderSVGContainer::removeChildNode):
2539 (WebCore::RenderSVGContainer::appendChildNode):
2540 (WebCore::RenderSVGContainer::insertChildNode):
2541 * rendering/RenderSVGContainer.h:
2542 (WebCore::RenderSVGContainer::virtualChildren):
2543 (WebCore::RenderSVGContainer::children):
2545 2009-01-31 David Hyatt <hyatt@apple.com>
2547 Fix for https://bugs.webkit.org/show_bug.cgi?id=11363
2549 Remove the hacks in table code around the DeleteButtonController and fix tables so that positioned children don't get wrapped in anonymous objects.
2550 With the removal of a non-positioned DeleteButtonController renderer, table layout can be tightened up to only lay out table sections. Table section
2551 layout is tightened up to ignore non-table rows. When a table has multiple captions, only the real one will do a layout now. The other ones will
2552 be properly ignored.
2554 Reviewed by Oliver Hunt
2556 * editing/DeleteButtonController.cpp:
2557 (WebCore::DeleteButtonController::createDeletionUI):
2558 * rendering/RenderTable.cpp:
2559 (WebCore::RenderTable::addChild):
2560 (WebCore::RenderTable::layout):
2561 * rendering/RenderTableSection.cpp:
2562 (WebCore::RenderTableSection::layout):
2563 * rendering/RenderTableSection.h:
2565 2009-01-31 Adam Treat <adam.treat@torchmobile.com>
2567 Reviewed by Darin Adler.
2569 https://bugs.webkit.org/show_bug.cgi?id=23663
2570 Add a void toRenderBox() method which catches unnecessary casts at compile
2571 time and also fix the four cases where this was happening.
2573 * rendering/RenderBlock.cpp:
2574 (WebCore::RenderBlock::determineHorizontalPosition):
2575 * rendering/RenderBox.h:
2576 * rendering/RenderFlexibleBox.cpp:
2577 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
2578 * rendering/RenderInline.cpp:
2579 (WebCore::RenderInline::updateHitTestResult):
2580 * rendering/RenderLayer.cpp:
2581 (WebCore::RenderLayer::updateLayerPosition):
2583 2009-01-30 Adam Barth <abarth@webkit.org>
2585 Reviewed by Sam Weinig.
2587 Add a pref to disable web security.
2591 (WebCore::Document::initSecurityContext):
2592 * page/SecurityOrigin.cpp:
2593 (WebCore::SecurityOrigin::SecurityOrigin):
2594 (WebCore::SecurityOrigin::canAccess):
2595 (WebCore::SecurityOrigin::canRequest):
2596 (WebCore::SecurityOrigin::grantUniversalAccess):
2597 * page/SecurityOrigin.h:
2598 * page/Settings.cpp:
2599 (WebCore::Settings::Settings):
2600 (WebCore::Settings::setWebSecurityEnabled):
2602 (WebCore::Settings::isWebSecurityEnabled):
2604 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
2608 Move the inline virtual destructor after a non-inline virtual
2609 function so that the symbol for the vtable is not marked as a
2610 weakly exported symbol.
2612 This trick was previously used at revision 36122 in JSObject.h
2614 * loader/FrameLoaderClient.h:
2615 (WebCore::FrameLoaderClient::~FrameLoaderClient):
2617 2009-01-30 Oliver Hunt <oliver@apple.com>
2619 Reviewed by Stephanie Lewis
2621 Inline SimpleFontData::widthForGlyph for a minor page load improvement.
2623 * platform/graphics/SimpleFontData.cpp:
2624 * platform/graphics/SimpleFontData.h:
2625 (WebCore::SimpleFontData::widthForGlyph):
2627 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
2629 Build fix for WX and maybe even Windows.
2631 * WebCore.vcproj/WebCore.vcproj:
2632 * WebCoreSources.bkl:
2634 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
2636 Reviewed by Darin Adler.
2638 Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
2640 Carry out the move and catch up in two call sites.
2643 * page/EventHandler.cpp:
2644 (WebCore::EventHandler::sendResizeEvent):
2645 (WebCore::EventHandler::sendScrollEvent):
2646 * page/EventHandler.h:
2649 * page/FrameView.cpp:
2650 (WebCore::FrameView::performPostLayoutTasks):
2651 (WebCore::FrameView::valueChanged):
2653 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
2655 Reviewed by Darin Adler.
2657 Move Frame::isFrameSet to Document::isFrameSet
2659 Changed the FrameLoader callsite. I assume that as this
2660 point m_frame.document() might return a null pointer. Change
2661 the condition to either not having a document or not having a
2662 frame set. This should be semantically equivalent to the
2665 Make Document::body() const to be able to call it from within
2666 Document::isFrameSet. Leave the isHTMLDocument() check as this
2667 is a stronger condition than simply having a HTMLElement in the
2672 (WebCore::Document::isFrameSet):
2673 (WebCore::Document::body):
2675 * loader/FrameLoader.cpp:
2676 (WebCore::FrameLoader::shouldScrollToAnchor):
2677 * loader/archive/cf/LegacyWebArchive.cpp:
2678 (WebCore::LegacyWebArchive::createFromSelection):
2682 2009-01-30 Aurelian Maga <aurelianmaga@yahoo.com>
2684 Reviewed by Holger Freyther.
2686 [GTK] Logic fixes and build fixes
2688 https://bugs.webkit.org/show_bug.cgi?id=22022
2690 Catch up with the internal GeoLocation API and fix the logic of
2691 the previous version.
2693 * platform/gtk/GeolocationServiceGtk.cpp:
2694 (WebCore::GeolocationServiceGtk::startUpdating):
2695 (WebCore::GeolocationServiceGtk::updateLocationInformation):
2696 (WebCore::GeolocationServiceGtk::position_changed):
2698 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
2700 Reviewed by Nikolas Zimmermann.
2702 [GTK] Implement GeolocationService using the Geoclue library
2704 https://bugs.webkit.org/show_bug.cgi?id=22022
2706 Untested implementation of the GeolocationService using the geoclue
2707 library. Velocity handling is completely missing and the accuracy
2708 handling might be wrong.
2710 * platform/gtk/GeolocationServiceGtk.cpp:
2711 (WTF::GeoclueAccuracy):
2712 (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
2713 (WebCore::GeolocationServiceGtk::~GeolocationServiceGtk):
2714 (WebCore::GeolocationServiceGtk::startUpdating):
2715 (WebCore::GeolocationServiceGtk::stopUpdating):
2716 (WebCore::GeolocationServiceGtk::suspend):
2717 (WebCore::GeolocationServiceGtk::resume):
2718 (WebCore::GeolocationServiceGtk::lastPosition):
2719 (WebCore::GeolocationServiceGtk::lastError):
2720 (WebCore::GeolocationServiceGtk::updateLocationInformation):
2721 (WebCore::GeolocationServiceGtk::updatePosition):
2722 (WebCore::GeolocationServiceGtk::position_changed):
2723 (WebCore::GeolocationServiceGtk::setError):
2724 * platform/gtk/GeolocationServiceGtk.h:
2726 2009-01-30 Mark Rowe <mrowe@apple.com>
2728 Build fix. Declare preferredSize as static.
2730 * platform/text/cf/StringImplCF.cpp:
2731 (WebCore::StringWrapperCFAllocator::preferredSize):
2733 2009-01-30 Darin Adler <darin@apple.com>
2735 Reviewed by Mark Rowe.
2737 Bug 23622: create CFString and NSString objects from WebCore::String without copying the characters
2738 https://bugs.webkit.org/show_bug.cgi?id=23622
2740 * platform/text/cf/StringImplCF.cpp:
2741 (WebCore::StringWrapperCFAllocator::allocator): Added. Returns the allocator.
2742 (WebCore::StringWrapperCFAllocator::retain): Added. Callback for allocator.
2743 (WebCore::StringWrapperCFAllocator::release): Ditto.
2744 (WebCore::StringWrapperCFAllocator::copyDescription): Ditto.
2745 (WebCore::StringWrapperCFAllocator::allocate): Ditto.
2746 (WebCore::StringWrapperCFAllocator::reallocate): Ditto.
2747 (WebCore::StringWrapperCFAllocator::deallocate): Ditto.
2748 (WebCore::StringWrapperCFAllocator::preferredSize): Ditto.
2749 (WebCore::StringWrapperCFAllocator::create): Added. Creates the allocator, but
2750 returns 0 if garbage collection is enabled.
2751 (WebCore::StringImpl::createCFString): Use StringWrapperCFAllocator if possible.
2753 * platform/text/mac/StringImplMac.mm:
2754 (WebCore::StringImpl::operator NSString *): Use CFString and toll-free bridging,
2755 rather than using NSString directly. This lets NSString benefit from the above.
2757 2009-01-30 Darin Adler <darin@apple.com>
2760 (WebCore::Frame::createView): Fix debug build by removing get() from assert.
2762 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
2764 Reviewed by Simon Hausmann.
2766 https://bugs.webkit.org/show_bug.cgi?id=22056
2768 Kill FrameLoaderClient.cpp, move the code over to Frame::createView
2770 FrameLoaderClient is supposed to be an interface, move the
2771 to be shared code to Frame which is a controller and is
2772 allowed to create a FrameView.
2777 * WebCore.xcodeproj/project.pbxproj:
2778 * loader/FrameLoaderClient.cpp: Removed.
2779 * loader/FrameLoaderClient.h:
2780 (WebCore::FrameLoaderClient::~FrameLoaderClient):
2782 (WebCore::Frame::createView):
2785 2009-01-30 Simon Fraser <simon.fraser@apple.com>
2787 Reviewed by Dave Hyatt
2789 https://bugs.webkit.org/show_bug.cgi?id=23357
2791 New files to support accelerated compositing at the RenderLayer
2794 * WebCore.xcodeproj/project.pbxproj:
2795 New files added to project, and run through the sort script.
2797 * rendering/RenderLayerBacking.cpp: Added.
2798 * rendering/RenderLayerBacking.h: Added.
2799 New object to store compositing-related data for a single
2802 * rendering/RenderLayerCompositor.cpp: Added.
2803 * rendering/RenderLayerCompositor.h: Added.
2804 Per-RenderView controller object for compositing hierarchy
2807 2009-01-30 Simon Fraser <simon.fraser@apple.com>
2809 Reviewed by Dave Hyatt
2811 https://bugs.webkit.org/show_bug.cgi?id=23356
2813 Add new files related to accelerated compositing:
2815 * WebCore.xcodeproj/project.pbxproj:
2816 Add the files to the project. Also add ColorCG.cpp, for the
2817 Color(CGColorRef) constructor.
2819 * platform/graphics/GraphicsLayer.cpp: Added.
2820 * platform/graphics/GraphicsLayer.h: Added.
2821 GraphicsLayer is a platform abstraction for a hardware-backed
2824 * platform/graphics/GraphicsLayerClient.h: Added.
2825 Client of GraphicsLayer, allowing GraphicsLayer to call out
2828 * platform/graphics/mac/GraphicsLayerCA.h: Added.
2829 * platform/graphics/mac/GraphicsLayerCA.mm: Added.
2830 Mac Core Animation implementation of GraphicsLayer.
2832 * platform/graphics/mac/WebLayer.h: Added.
2833 * platform/graphics/mac/WebLayer.mm: Added.
2834 * platform/graphics/mac/WebTiledLayer.h: Added.
2835 * platform/graphics/mac/WebTiledLayer.mm: Added.
2836 Subclasses of CALayer and CATiledLayer -- helpers for the
2837 GraphicsLayerCA implementation.
2839 2009-01-30 Geoffrey Garen <ggaren@apple.com>
2841 Reviewed by Sam Weinig.
2843 Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
2844 preparation for setting them differently during a redirect.
2847 * bindings/js/JSHTMLFormElementCustom.cpp:
2848 (WebCore::JSHTMLFormElement::submit):
2849 * bindings/js/JSLocationCustom.cpp:
2850 (WebCore::navigateIfAllowed):
2851 (WebCore::JSLocation::setHref):
2852 (WebCore::JSLocation::setProtocol):
2853 (WebCore::JSLocation::setHost):
2854 (WebCore::JSLocation::setHostname):
2855 (WebCore::JSLocation::setPort):
2856 (WebCore::JSLocation::setPathname):
2857 (WebCore::JSLocation::setSearch):
2858 (WebCore::JSLocation::setHash):
2859 (WebCore::JSLocation::replace):
2860 (WebCore::JSLocation::assign):
2861 * html/HTMLAnchorElement.cpp:
2862 (WebCore::HTMLAnchorElement::defaultEventHandler):
2863 * html/HTMLFormElement.cpp:
2864 (WebCore::HTMLFormElement::submit):
2865 * html/HTMLFormElement.h:
2866 * loader/FrameLoader.cpp:
2867 (WebCore::FormSubmission::FormSubmission):
2868 (WebCore::ScheduledRedirection::ScheduledRedirection):
2869 (WebCore::isBackForwardLoadType):
2870 (WebCore::FrameLoader::createWindow):
2871 (WebCore::FrameLoader::changeLocation):
2872 (WebCore::FrameLoader::urlSelected):
2873 (WebCore::FrameLoader::submitFormAgain):
2874 (WebCore::FrameLoader::submitForm):
2875 (WebCore::FrameLoader::restoreDocumentState):
2876 (WebCore::FrameLoader::scheduleHTTPRedirection):
2877 (WebCore::FrameLoader::scheduleLocationChange):
2878 (WebCore::FrameLoader::scheduleRefresh):
2879 (WebCore::FrameLoader::redirectionTimerFired):
2880 (WebCore::FrameLoader::loadURLIntoChildFrame):
2881 (WebCore::FrameLoader::startRedirectionTimer):
2882 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
2883 (WebCore::FrameLoader::transitionToCommitted):
2884 (WebCore::FrameLoader::clientRedirected):
2885 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2886 (WebCore::FrameLoader::loadItem):
2887 * loader/FrameLoader.h:
2888 * loader/FrameLoaderTypes.h:
2890 * page/ContextMenuController.cpp:
2891 (WebCore::ContextMenuController::contextMenuItemSelected):
2892 * svg/SVGAElement.cpp:
2893 (WebCore::SVGAElement::defaultEventHandler):
2895 2009-01-30 Sam Weinig <sam@webkit.org>
2897 Reviewed by Dan Bernstein.
2899 Fix for <rdar://problem/6545095>
2900 ASSERTION FAILED: RenderBlock.h:519: !o || o->isRenderBlock()
2902 Test: fast/block/float/crash-replaced-display-block.html
2904 * rendering/RenderBlock.cpp:
2905 (WebCore::RenderBlock::layoutBlockChildren): Move RenderBlock only code into
2906 isRenderBlock if-statement.
2908 2009-01-30 Chris Fleizach <cfleizach@apple.com>
2910 Reviewed by Oliver Hunt.
2912 Bug 23656: AX hierarchy for iFrames is incorrect
2913 https://bugs.webkit.org/show_bug.cgi?id=23656
2915 The AX hierarchy when an iFrame was present was incorrect. A different scroll area was
2916 returned when going down compared to when going up.
2918 * page/mac/AccessibilityObjectWrapper.mm:
2921 2009-01-30 Adam Treat <adam.treat@torchmobile.com>
2923 Fix Qt build to include new class IdentifierRep introduced in revision 40412.
2927 2009-01-30 Anders Carlsson <andersca@apple.com>
2929 Reviewed by Sam Weinig.
2931 Make IdentifierRep.h a private header, and add symbols needed by WebKit to WebCore.LP64.exp.
2934 * WebCore.xcodeproj/project.pbxproj:
2936 2009-01-30 Sam Weinig <sam@webkit.org>
2938 Commit files I forgot to in the previous commit.
2940 * page/AccessibilityRenderObject.cpp:
2941 (WebCore::AccessibilityRenderObject::layoutCount):
2943 (WebCore::Frame::contentRenderer):
2944 (WebCore::Frame::forceLayoutWithPageWidthRange):
2945 * page/FrameView.cpp:
2946 (WebCore::FrameView::layout):
2947 * rendering/RenderBlock.cpp:
2948 (WebCore::RenderBlock::nodeAtPoint):
2949 * rendering/RenderObject.cpp:
2950 (WebCore::RenderObject::repaintUsingContainer):
2951 (WebCore::RenderObject::repaint):
2952 (WebCore::RenderObject::repaintRectangle):
2953 (WebCore::RenderObject::view):
2954 (WebCore::RenderObject::scheduleRelayout):
2955 (WebCore::RenderObject::maximalOutlineSize):
2956 * rendering/SVGRenderSupport.cpp:
2957 (WebCore::clampImageBufferSizeToViewport):
2958 * svg/SVGLength.cpp:
2959 (WebCore::SVGLength::PercentageOfViewport):
2961 2009-01-30 Geoffrey Garen <ggaren@apple.com>
2963 Reviewed by Darin Adler.
2965 More scaffolding for redirect tracking. No behavior change yet.
2967 * bindings/js/JSHTMLFormElementCustom.cpp:
2968 (WebCore::JSHTMLFormElement::submit): Added scaffolding necessary for
2969 redirect checking in a form submission through JS. (Currently, we
2970 just specify "no redirect.")
2972 * bindings/js/ScriptController.h:
2973 * bindings/js/ScriptController.cpp:
2974 (WebCore::ScriptController::processingUserGesture):
2975 (WebCore::ScriptController::processingUserGestureEvent):
2976 (WebCore::ScriptController::isJavaScriptAnchorNavigation): Refactored
2977 user gesture check to make it more clear.
2979 (WebCore::ScriptController::pageIsProcessingUserGesture): Added a helper
2980 for checking if there's a user gesture in any frame on the page (a more
2981 relaxed rule than our popup blocking rule, which requires the user
2982 gesture to occur in the frame that's executing JavaScript.)
2984 * html/HTMLFormElement.h:
2985 * html/HTMLFormElement.cpp:
2986 (WebCore::HTMLFormElement::submit): Added scaffolding necessary for
2987 redirect checking in a form submission through the DOM. (Currently, we
2988 just specify "no redirect.")
2990 * html/HTMLFormElement.idl: Made submit custom so it can participate
2991 in redirect checking.
2993 * loader/FrameLoader.h:
2994 * loader/FrameLoader.cpp:
2995 (WebCore::FormSubmission::FormSubmission): Clarified some names, and
2996 added a "lockHistory" parameter to form submissions, to match other
2999 (WebCore::FrameLoader::submitFormAgain):
3000 (WebCore::FrameLoader::submitForm): Use the lockHistory parameter.
3002 (WebCore::FrameLoader::userGestureHint): Refactored this function for
3003 clarity, and added a FIXME for a change I was too scared to make myself.
3004 (Really, we should just get rid of this function.)
3006 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Refactored
3007 to pass a FrameLoadType to form posts, too, so they can participate in
3010 (WebCore::FrameLoader::loadPostRequest):
3011 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
3012 (WebCore::FrameLoader::loadItem): Use the lockHistory parameter.
3014 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3016 Reviewed by Mark Rowe.
3018 [Gtk+] Use AccessibilityObject::stringValue for the AtkObject name
3020 https://bugs.webkit.org/show_bug.cgi?id=21546
3022 The API documentation at http://library.gnome.org/devel/atk/stable/AtkText.html
3023 states that: "AtkObjects whose text content is simple, unattributed, and very
3024 brief may expose that content via atk_object_get_name instead"
3026 As we are currently not able to always provide a AtkTextInterface
3027 implementation this will make the whole content available to accerciser,
3030 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
3032 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
3034 Unreviewed build fix.
3036 Include string.h for strdup.
3038 * bridge/IdentifierRep.h:
3040 2009-01-30 Sam Weinig <sam@webkit.org>
3042 Reviewed by Dan Bernstein.
3044 Add toRenderView methods for casting RenderObjects to RenderViews. The methods will assert if the object
3045 is not a RenderView.
3048 (WebCore::Document::renderView):
3049 * editing/SelectionController.cpp:
3050 (WebCore::SelectionController::nodeWillBeRemoved):
3051 (WebCore::SelectionController::recomputeCaretRect):
3052 (WebCore::SelectionController::invalidateCaretRect):
3053 (WebCore::SelectionController::focusedOrActiveStateChanged):
3054 * editing/mac/SelectionControllerMac.mm:
3055 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
3056 * rendering/RenderBox.cpp:
3057 (WebCore::RenderBox::styleDidChange):
3058 (WebCore::RenderBox::repaintLayerRectsForImage):
3059 (WebCore::RenderBox::availableHeightUsing):
3060 * rendering/RenderView.h:
3061 (WebCore::toRenderView):
3063 2009-01-30 Simon Fraser <simon.fraser@apple.com>
3065 Reviewed by Dave Hyatt
3067 https://bugs.webkit.org/show_bug.cgi?id=23360
3069 Really use the container-relative repaint rect methods
3070 for repaint during layout
3072 * rendering/RenderObject.h:
3073 (WebCore::RenderObject::LayoutRepainter::LayoutRepainter):
3075 2009-01-30 Anders Carlsson <andersca@apple.com>
3077 Reviewed by Darin Adler.
3079 Get rid of PrivateIdentifier and use IdentifierRep instead.
3081 * bridge/NP_jsobject.cpp:
3085 (_NPN_RemoveProperty):
3088 * bridge/c/c_instance.cpp:
3089 (JSC::Bindings::CInstance::getPropertyNames):
3090 * bridge/c/c_utility.cpp:
3091 (JSC::Bindings::convertNPStringToUTF16):
3092 * bridge/c/c_utility.h:
3093 * bridge/npruntime.cpp:
3094 (_NPN_GetStringIdentifier):
3095 (_NPN_GetStringIdentifiers):
3096 (_NPN_GetIntIdentifier):
3097 (_NPN_IdentifierIsString):
3098 (_NPN_UTF8FromIdentifier):
3099 (_NPN_IntFromIdentifier):
3101 2009-01-30 Anders Carlsson <andersca@apple.com>
3103 Reviewed by Sam Weinig and Darin Adler.
3105 Make IdentifierRep a real class, add necessary class methods.
3107 * bridge/IdentifierRep.cpp:
3108 (WebCore::identifierSet):
3109 Returns a set of all identifiers.
3111 (WebCore::IdentifierRep::isValid):
3112 Return whether an identifier is valid, meaning that it's present in the
3115 * bridge/IdentifierRep.h:
3116 (WebCore::IdentifierRep::isString):
3117 (WebCore::IdentifierRep::number):
3118 (WebCore::IdentifierRep::string):
3119 (WebCore::IdentifierRep::IdentifierRep):
3120 (WebCore::IdentifierRep::):
3122 2009-01-30 Anders Carlsson <andersca@apple.com>
3124 Reviewed by Sam Weinig.
3126 Add IdentifierRep which will be used by both plug-in implementations.
3129 * WebCore.vcproj/WebCore.vcproj:
3130 * WebCore.xcodeproj/project.pbxproj:
3131 * bridge/IdentifierRep.cpp: Added.
3132 (WebCore::IdentifierRep::IdentifierRep):
3133 (WebCore::IdentifierRep::):
3134 (WebCore::intIdentifierMap):
3135 (WebCore::identifierRep):
3136 (WebCore::stringIdentifierMap):
3137 * bridge/IdentifierRep.h: Added.
3138 * bridge/c/c_utility.h:
3139 * platform/text/PlatformString.h:
3140 * platform/text/String.cpp:
3141 (WebCore::String::fromUTF8WithLatin1Fallback):
3143 2009-01-30 Sam Weinig <sam@webkit.org>
3145 Reviewed by David Hyatt.
3147 Add toRenderInline methods for casting RenderObjects to RenderInlines. The methods will assert if the object
3148 is not a RenderInline.
3150 * rendering/InlineFlowBox.cpp:
3151 (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
3152 (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
3153 (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
3154 (WebCore::InlineFlowBox::rendererLineBoxes):
3155 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
3156 (WebCore::InlineFlowBox::paint):
3157 * rendering/LayoutState.cpp:
3158 (WebCore::LayoutState::LayoutState):
3159 * rendering/RenderBlock.cpp:
3160 (WebCore::RenderBlock::paintObject):
3161 (WebCore::RenderBlock::addFocusRingRects):
3162 * rendering/RenderBox.cpp:
3163 (WebCore::RenderBox::offsetFromContainer):
3164 (WebCore::RenderBox::computeRectForRepaint):
3165 (WebCore::RenderBox::containingBlockWidthForPositioned):
3166 (WebCore::RenderBox::containingBlockHeightForPositioned):
3167 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
3168 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3169 * rendering/RenderContainer.cpp:
3170 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3171 * rendering/RenderInline.cpp:
3172 (WebCore::RenderInline::inlineContinuation):
3173 (WebCore::nextContinuation):
3174 (WebCore::RenderInline::splitInlines):
3175 * rendering/RenderInline.h:
3176 (WebCore::toRenderInline):
3177 * rendering/RenderLayer.cpp:
3178 (WebCore::RenderLayer::updateLayerPosition):
3179 (WebCore::RenderLayer::boundingBox):
3180 * rendering/RenderLineBoxList.cpp:
3181 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
3182 * rendering/RenderText.h:
3183 * rendering/RenderTreeAsText.cpp:
3184 (WebCore::operator<<):
3185 * rendering/bidi.cpp:
3186 (WebCore::RenderBlock::createLineBoxes):
3187 (WebCore::RenderBlock::layoutInlineChildren):
3189 2009-01-30 Darin Fisher <darin@chromium.org>
3191 Reviewed by Eric Seidel.
3193 https://bugs.webkit.org/show_bug.cgi?id=23647
3194 Fix PLATFORM(SKIA)'s ImageSource::clear method to match other ports
3196 * platform/graphics/skia/ImageSourceSkia.cpp:
3197 (WebCore::ImageSource::clear):
3199 2009-01-30 David Hyatt <hyatt@apple.com>
3201 Add toRenderBlock methods for casting RenderObjects to RenderBlocks. The methods will assert if the object
3202 is not a RenderBlock. Also add a toRenderBlock method that takes a RenderBlock but returns void and that
3203 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderBlock.
3205 Making this change caught a bad cast in RenderBlock::layoutBlockChildren, so that is also fixed by this
3206 patch with a containsFloats() check.
3208 Reviewed by Darin Adler
3210 * dom/PositionIterator.cpp:
3211 (WebCore::PositionIterator::isCandidate):
3212 * editing/CompositeEditCommand.cpp:
3213 (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
3214 * editing/Editor.cpp:
3215 (WebCore::Editor::hasBidiSelection):
3216 * page/AccessibilityRenderObject.cpp:
3217 (WebCore::AccessibilityRenderObject::anchorElement):
3218 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3219 * rendering/RenderBlock.cpp:
3220 (WebCore::RenderBlock::styleWillChange):
3221 (WebCore::RenderBlock::removeChild):
3222 (WebCore::RenderBlock::layoutBlock):
3223 (WebCore::RenderBlock::collapseMargins):
3224 (WebCore::RenderBlock::clearFloatsIfNeeded):
3225 (WebCore::RenderBlock::layoutBlockChildren):
3226 (WebCore::RenderBlock::fillBlockSelectionGaps):
3227 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
3228 (WebCore::RenderBlock::firstLineBlock):
3229 (WebCore::getLineAtIndex):
3230 (WebCore::getHeightForLineCount):
3231 (WebCore::RenderBlock::lineCount):
3232 (WebCore::RenderBlock::adjustForBorderFit):
3233 (WebCore::RenderBlock::clearTruncation):
3234 * rendering/RenderBlock.h:
3235 (WebCore::toRenderBlock):
3236 * rendering/RenderBox.cpp:
3237 (WebCore::RenderBox::offsetFromContainer):
3238 (WebCore::RenderBox::computeRectForRepaint):
3239 (WebCore::RenderBox::calcReplacedHeightUsing):
3240 * rendering/RenderFlexibleBox.cpp:
3241 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3242 (WebCore::RenderFlexibleBox::layoutVerticalBox):
3243 * rendering/RenderInline.cpp:
3244 (WebCore::RenderInline::inlineContinuation):
3245 (WebCore::nextContinuation):
3246 (WebCore::RenderInline::positionForCoordinates):
3247 * rendering/RenderLayer.cpp:
3248 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
3249 * rendering/RenderListItem.cpp:
3250 (WebCore::getParentOfFirstLineBox):
3251 (WebCore::RenderListItem::positionListMarker):
3252 * rendering/RenderObject.cpp:
3253 (WebCore::RenderObject::containingBlock):
3254 (WebCore::RenderObject::computeRectForRepaint):
3255 (WebCore::RenderObject::removeFromObjectLists):
3256 (WebCore::RenderObject::getTextDecorationColors):
3257 * rendering/RenderTable.cpp:
3258 (WebCore::RenderTable::addChild):
3259 (WebCore::RenderTable::recalcSections):
3260 * rendering/RenderTextControl.cpp:
3261 (WebCore::RenderTextControl::styleDidChange):
3262 * rendering/RenderTextControlSingleLine.cpp:
3263 (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
3264 * rendering/RootInlineBox.cpp:
3265 (WebCore::RootInlineBox::block):
3266 * rendering/bidi.cpp:
3267 (WebCore::RenderBlock::createLineBoxes):
3269 2009-01-30 Brady Eidson <beidson@apple.com>
3271 Reviewed by Sam Weinig
3273 - Let CachedFrame handle the suspending/resuming of active DOM objects itself instead of
3274 relying on some outside force.
3275 - Clear the previous history item inside FrameLoader instead of relying on multiple
3276 FrameLoaderClients to do it.
3278 * history/CachedFrame.cpp:
3279 (WebCore::CachedFrame::CachedFrame): Suspend active DOM objects here.
3280 (WebCore::CachedFrame::restore): Resume those DOM objects here.
3281 * history/CachedFrame.h:
3282 (WebCore::CachedFrame::domWindow):
3284 * loader/FrameLoader.cpp:
3285 (WebCore::FrameLoader::commitProvisionalLoad): Let CachedFrame creation handle the
3286 suspending of active DOM objects.
3287 (WebCore::FrameLoader::open): Let CachedFrame::restore() handle resuming those DOM objects.
3288 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Call frameLoadCompleted() instead
3289 of performing a client call by itself.
3290 (WebCore::FrameLoader::frameLoadCompleted):
3292 2009-01-30 Alexey Proskuryakov <ap@webkit.org>
3294 Reviewed by Darin Adler.
3296 <rdar://problem/6448823> Application Cache is kept after a private browsing session
3298 * loader/appcache/ApplicationCacheGroup.cpp:
3299 (WebCore::ApplicationCacheGroup::selectCache):
3300 (WebCore::ApplicationCacheGroup::update):
3301 Cache update will not be started if private browsing is enabled. Existing cache version
3302 from disk database will be used.
3304 * loader/appcache/ApplicationCacheGroup.h: Made postListenerTask() static, in order to call
3305 it when refusing to update from selectCache().
3307 * loader/appcache/ApplicationCache.cpp:
3308 (WebCore::ApplicationCache::addDynamicEntry):
3309 (WebCore::ApplicationCache::removeDynamicEntry):
3310 Added reminders about private browsing to unimplemented methods.
3312 2009-01-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
3314 Reviewed by Simon Hausmann.
3316 Bug 23580: GNU mode RVCT compilation support
3317 <https://bugs.webkit.org/show_bug.cgi?id=23580>
3319 * html/PreloadScanner.cpp: Use COMPILER(GCC) instead of __GNUC__.
3321 2009-01-30 David Levin <levin@chromium.org>
3323 Reviewed by Alexey Proskuryakov.
3325 Bug 23616: Various "template helpers" should be consolidated from isolated files in JavaScriptCore.
3326 <https://bugs.webkit.org/show_bug.cgi?id=23616>
3328 Added forwarding header.
3330 * ForwardingHeaders/wtf/TypeTraits.h: Added.
3332 2009-01-30 David Levin <levin@chromium.org>
3334 Reviewed by Alexey Proskuryakov.
3336 Bug 23599: ResourceError needs to be copyable for use in another thread.
3337 <https://bugs.webkit.org/show_bug.cgi?id=23599>
3339 Add ResourceErrorBase::copy method. (Not yet used.)
3341 * platform/network/ResourceErrorBase.cpp:
3342 (WebCore::ResourceErrorBase::copy):
3343 * platform/network/ResourceErrorBase.h:
3345 2009-01-29 Stephanie Lewis <slewis@apple.com>
3349 Update the order files.
3353 2009-01-29 Dmitry Titov <dimich@chromium.org>
3355 Reviewed by Darin Adler.
3357 https://bugs.webkit.org/show_bug.cgi?id=23488
3359 Make TimerBase thread-aware (for Workers).
3360 Added new class ThreadTimers - it keeps a heap of all timers for a thread (previously kept in a static global).
3361 Pointer to instance of ThreadTimers is stored in GlobalThreadData.
3362 Most static methods of TimerBase went to ThreadTimers.
3364 The TimerBase functionality did not change (it maintains the timer heap which computes the nearest firing).
3366 Added new abstract class SharedTimer, so worker threads can provide their own implementation (will be implemented on WorkerRunLoop).
3371 * WebCore.vcproj/WebCore.vcproj:
3372 * WebCore.xcodeproj/project.pbxproj:
3373 * WebCoreSources.bkl:
3374 Added new ThreadTimers.cpp to build files.
3376 * platform/SharedTimer.h:
3377 (WebCore::SharedTimer::~SharedTimer):
3378 (WebCore::MainThreadSharedTimer::setFiredFunction):
3379 (WebCore::MainThreadSharedTimer::setFireTime):
3380 (WebCore::MainThreadSharedTimer::stop):
3381 Added abstract SharedTimer and MainThreadSharedTimer which redirects to the existing port-supplied functions.
3383 * platform/ThreadGlobalData.cpp:
3384 (WebCore::ThreadGlobalData::ThreadGlobalData):
3385 (WebCore::ThreadGlobalData::~ThreadGlobalData):
3386 * platform/ThreadGlobalData.h:
3387 (WebCore::ThreadGlobalData::threadTimers):
3388 Added ThreadTimers to ThreadGlobalData.
3390 * platform/ThreadTimers.cpp: Added.
3391 (WebCore::mainThreadSharedTimer):
3392 Static getter for a MainThreadSharedTimer singleton.
3394 (WebCore::ThreadTimers::ThreadTimers):
3395 (WebCore::ThreadTimers::setSharedTimer):
3396 (WebCore::ThreadTimers::updateSharedTimer):
3397 (WebCore::ThreadTimers::collectFiringTimers):
3398 (WebCore::ThreadTimers::fireTimers):
3399 (WebCore::ThreadTimers::sharedTimerFired):
3400 (WebCore::ThreadTimers::sharedTimerFiredInternal):
3401 (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
3402 ThreadTimers implementation. Most of the code is moved from previous static functions on TimerBase.
3403 Need a new class so each thread may get ts own copy of the timer heap.
3405 * platform/ThreadTimers.h: Added.
3406 (WebCore::ThreadTimers::timerHeap):
3407 (WebCore::ThreadTimers::timersReadyToFire):
3409 * platform/Timer.cpp:
3410 (WebCore::timerHeap):
3411 (WebCore::timersReadyToFire):
3412 (WebCore::TimerHeapElement::TimerHeapElement):
3413 (WebCore::TimerHeapElement::checkConsistency):
3414 (WebCore::TimerHeapElement::operator=):
3415 (WebCore::TimerHeapIterator::checkConsistency):
3416 (WebCore::TimerBase::TimerBase):
3417 (WebCore::TimerBase::~TimerBase):
3418 (WebCore::TimerBase::isActive):
3419 (WebCore::TimerBase::checkHeapIndex):
3420 (WebCore::TimerBase::heapDelete):
3421 (WebCore::TimerBase::heapDeleteMin):
3422 (WebCore::TimerBase::heapInsert):
3423 (WebCore::TimerBase::heapPopMin):
3424 (WebCore::TimerBase::setNextFireTime):
3425 (WebCore::TimerBase::fireTimersInNestedEventLoop):
3426 Now instead of static timer heap these use accessor functions that pull thread-specific heap instance.
3429 static methods moved to ThreadTimers.
3431 2009-01-29 David Hyatt <hyatt@apple.com>
3433 Beginning of work to eliminate RenderContainer and make containership "pluggable" into any spot in the render tree. The first step is to create
3434 the new object that will handle children: RenderObjectChildList and move RenderContainer's member variables into it. Subsequent patches will begin
3435 moving RenderContainer's functionality into RenderObjectChildList.
3437 Reviewed by Eric Seidel
3439 * WebCore.xcodeproj/project.pbxproj:
3440 * rendering/RenderContainer.cpp:
3441 (WebCore::RenderContainer::RenderContainer):
3442 (WebCore::RenderContainer::destroyLeftoverChildren):
3443 (WebCore::RenderContainer::addChild):
3444 (WebCore::RenderContainer::removeChildNode):
3445 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3446 (WebCore::RenderContainer::appendChildNode):
3447 (WebCore::RenderContainer::insertChildNode):
3448 (WebCore::RenderContainer::layout):
3449 (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
3450 (WebCore::RenderContainer::positionForCoordinates):
3451 (WebCore::RenderContainer::addLineBoxRects):
3452 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
3453 * rendering/RenderContainer.h:
3454 (WebCore::RenderContainer::firstChild):
3455 (WebCore::RenderContainer::lastChild):
3456 (WebCore::RenderContainer::firstChildBox):
3457 (WebCore::RenderContainer::lastChildBox):
3458 * rendering/RenderObjectChildList.h: Added.
3459 (WebCore::RenderObjectChildList::RenderObjectChildList):
3460 (WebCore::RenderObjectChildList::firstChild):
3461 (WebCore::RenderObjectChildList::lastChild):
3462 (WebCore::RenderObjectChildList::setFirstChild):
3463 (WebCore::RenderObjectChildList::setLastChild):
3465 2009-01-29 Jungshik Shin <jshin@chromium.org>
3467 Reviewed by Alexey Proskuryakov.
3469 http://bugs.webkit.org/show_bug.cgi?id=23598
3470 Replace smart-quotes in UTF-8 with ASCII double-quotes to avoid
3471 the compilation error on CJK Windows
3473 * wml/WMLTableElement.cpp:
3474 (WebCore::WMLTableElement::parseMappedAttribute):
3476 2009-01-29 Darin Fisher <darin@chromium.org>
3478 Reviewed by Eric Seidel.
3480 https://bugs.webkit.org/show_bug.cgi?id=23627
3481 Fix the PLATFORM(SKIA) build.
3483 * svg/graphics/SVGPaintServer.cpp:
3484 (WebCore::SVGPaintServer::teardown):
3486 2009-01-29 Scott Violet <sky@google.com>
3488 Reviewed by Eric Seidel.
3490 https://bugs.webkit.org/show_bug.cgi?id=23625
3491 Skia platform doesn't render text to a canvas or support clipping to an image buffer
3493 Fixes two bugs in Skia rendering to a canvas:
3494 . Text was not rendered at all. This is because we never properly
3495 fixed up the alpha values. The fix is to create a layer when
3496 rendering text to a layer.
3497 . We were not honoring clipping to an image buffer.
3499 * platform/graphics/chromium/FontChromiumWin.cpp:
3500 (WebCore::Font::drawGlyphs):
3501 * platform/graphics/skia/GraphicsContextSkia.cpp:
3502 (WebCore::GraphicsContext::clipToImageBuffer):
3503 * platform/graphics/skia/ImageBufferSkia.cpp:
3504 (WebCore::ImageBuffer::ImageBuffer):
3505 * platform/graphics/skia/PlatformContextSkia.cpp:
3506 (PlatformContextSkia::PlatformContextSkia):
3507 (PlatformContextSkia::setDrawingToImageBuffer):
3508 (PlatformContextSkia::isDrawingToImageBuffer):
3509 (PlatformContextSkia::beginLayerClippedToImage):
3510 (PlatformContextSkia::restore):
3511 (PlatformContextSkia::applyClipFromImage):
3512 * platform/graphics/skia/PlatformContextSkia.h:
3514 2009-01-29 Sam Weinig <sam@webkit.org>
3516 Reviewed by Mark Rowe.
3518 First step in tracking the urls a HistoryItem was redirected through.
3521 * history/HistoryItem.cpp:
3522 (WebCore::HistoryItem::HistoryItem):
3523 (WebCore::HistoryItem::addRedirectURL):
3524 (WebCore::HistoryItem::redirectURLs):
3525 (WebCore::HistoryItem::setRedirectURLs):
3526 * history/HistoryItem.h:
3528 2009-01-29 Dirk Schulze <krit@webkit.org>
3530 Reviewed by Nikolas Zimmermann, Eric Seidel.
3532 Just transform the pattern directly instead of transforming the context fixes this
3533 problem. Texts or strokes are no longer affected by transformations.
3535 SVG pattern transformation/BoundingBox can cause ugly stroke thickness or text positions
3536 https://bugs.webkit.org/show_bug.cgi?id=23472
3538 Test: svg/custom/pattern-with-transformation.svg
3540 * platform/graphics/Pattern.h:
3541 (WebCore::Pattern::setPatternSpaceTransform):
3542 * platform/graphics/cairo/PatternCairo.cpp:
3543 (WebCore::Pattern::createPlatformPattern):
3544 * platform/graphics/cg/PatternCG.cpp:
3545 (WebCore::Pattern::createPlatformPattern):
3546 * platform/graphics/qt/PatternQt.cpp:
3547 (WebCore::Pattern::createPlatformPattern):
3548 * svg/graphics/SVGPaintServerPattern.cpp:
3549 (WebCore::SVGPaintServerPattern::setup):
3551 2009-01-29 David Hyatt <hyatt@apple.com>
3553 Move the line box list member out of RenderFlow and down into RenderBlock and RenderInline. Eliminate RenderFlow from the tree.
3555 Reviewed by Sam Weinig
3559 * WebCore.vcproj/WebCore.vcproj:
3560 * WebCore.xcodeproj/project.pbxproj:
3561 * WebCoreSources.bkl:
3562 * html/HTMLAnchorElement.cpp:
3563 * rendering/InlineFlowBox.cpp:
3564 (WebCore::InlineFlowBox::rendererLineBoxes):
3565 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
3566 * rendering/InlineFlowBox.h:
3567 * rendering/LayoutState.cpp:
3568 (WebCore::LayoutState::LayoutState):
3569 * rendering/RenderBlock.cpp:
3570 (WebCore::RenderBlock::RenderBlock):
3571 (WebCore::RenderBlock::destroy):
3572 (WebCore::RenderBlock::styleWillChange):
3573 (WebCore::RenderBlock::styleDidChange):
3574 (WebCore::RenderBlock::dirtyLineBoxes):
3575 (WebCore::RenderBlock::removeChild):
3576 (WebCore::RenderBlock::setSelectionState):
3577 (WebCore::RenderBlock::avoidsFloats):
3578 (WebCore::RenderBlock::positionForCoordinates):
3579 (WebCore::RenderBlock::calcInlinePrefWidths):
3580 (WebCore::RenderBlock::baselinePosition):
3581 (WebCore::RenderBlock::getBaselineOfFirstLineBox):
3582 (WebCore::RenderBlock::getBaselineOfLastLineBox):
3583 (WebCore::RenderBlock::rectWithOutlineForRepaint):
3584 (WebCore::RenderBlock::hoverAncestor):
3585 (WebCore::RenderBlock::updateDragState):
3586 * rendering/RenderBlock.h:
3587 (WebCore::RenderBlock::lineBoxes):
3588 (WebCore::RenderBlock::firstLineBox):
3589 (WebCore::RenderBlock::lastLineBox):
3590 * rendering/RenderBox.cpp:
3591 (WebCore::RenderBox::offsetFromContainer):
3592 (WebCore::RenderBox::computeRectForRepaint):
3593 (WebCore::RenderBox::containingBlockWidthForPositioned):
3594 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
3595 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3596 * rendering/RenderBox.h:
3597 * rendering/RenderFlow.cpp: Removed.
3598 * rendering/RenderFlow.h: Removed.
3599 * rendering/RenderInline.cpp:
3600 (WebCore::RenderInline::RenderInline):
3601 (WebCore::RenderInline::destroy):
3602 (WebCore::RenderInline::styleDidChange):
3603 (WebCore::RenderInline::addChildIgnoringContinuation):
3604 (WebCore::RenderInline::cloneInline):
3605 (WebCore::RenderInline::splitInlines):
3606 (WebCore::RenderInline::offsetLeft):
3607 (WebCore::RenderInline::offsetTop):
3608 (WebCore::RenderInline::positionForCoordinates):
3609 (WebCore::RenderInline::rectWithOutlineForRepaint):
3610 (WebCore::RenderInline::updateDragState):
3611 (WebCore::RenderInline::relativePositionedInlineOffset):
3612 * rendering/RenderInline.h:
3613 (WebCore::RenderInline::lineBoxes):
3614 (WebCore::RenderInline::firstLineBox):
3615 (WebCore::RenderInline::lastLineBox):