8923373f58f08de6e41a4b73e7680f00e5de4a08
[WebKit-https.git] / WebCore / ChangeLog
1 2009-01-27  Mads Ager  <ager@chromium.org>
2
3         Reviewed by Darin Adler.
4
5         https://bugs.webkit.org/show_bug.cgi?id=23300
6         Follow Firefox in throwing exceptions when using selection
7         functions on HTMLInputElements that cannot have selection.
8
9         This requires custom setSelectionRange, setSelectionStart and
10         setSelectionEnd implementations, but it gets rid of the custom
11         getOwnPropertySlot.
12
13         * bindings/js/JSHTMLInputElementCustom.cpp:
14         (WebCore::JSHTMLInputElement::selectionStart):
15         (WebCore::JSHTMLInputElement::selectionEnd):
16         (WebCore::JSHTMLInputElement::setSelectionRange):
17         * html/HTMLInputElement.idl:
18
19 2009-01-27  Evan Stade  <estade@chromium.org>
20
21         Reviewed by Nikolas Zimmermann.
22
23         https://bugs.webkit.org/show_bug.cgi?id=23435
24         Make spreadMethod a member of Gradient rather than GraphicsContext.
25         Implement spreadMethod for Skia.
26
27         * platform/graphics/Gradient.cpp:
28         (WebCore::Gradient::Gradient):
29         * platform/graphics/Gradient.h:
30         (WebCore::Gradient::setSpreadMethod):
31         (WebCore::Gradient::spreadMethod):
32         * platform/graphics/GraphicsContext.cpp:
33         * platform/graphics/GraphicsContext.h:
34         * platform/graphics/GraphicsContextPrivate.h:
35         * platform/graphics/GraphicsTypes.h:
36         (WebCore::):
37         * platform/graphics/cairo/GradientCairo.cpp:
38         (WebCore::Gradient::platformGradient):
39         * platform/graphics/cairo/GraphicsContextCairo.cpp:
40         (WebCore::GraphicsContext::fillPath):
41         (WebCore::GraphicsContext::strokePath):
42         * platform/graphics/qt/GradientQt.cpp:
43         (WebCore::Gradient::platformGradient):
44         * platform/graphics/qt/GraphicsContextQt.cpp:
45         (WebCore::GraphicsContext::fillPath):
46         (WebCore::GraphicsContext::strokePath):
47         * platform/graphics/skia/GradientSkia.cpp:
48         (WebCore::Gradient::platformGradient):
49         * svg/SVGLinearGradientElement.cpp:
50         (WebCore::SVGLinearGradientElement::buildGradient):
51         * svg/SVGRadialGradientElement.cpp:
52         (WebCore::SVGRadialGradientElement::buildGradient):
53         * svg/graphics/SVGPaintServerGradient.cpp:
54         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
55         (WebCore::SVGPaintServerGradient::setup):
56         (WebCore::SVGPaintServerGradient::externalRepresentation):
57         * svg/graphics/SVGPaintServerGradient.h:
58
59 2009-01-27  Ariya Hidayat  <ariya.hidayat@trolltech.com>
60
61         Rubber-stamped by Simon Hausmann.
62
63         http://www.qtsoftware.com/developer/task-tracker/index_html?id=238662&method=entry
64
65         [Qt] Map function keys F1 to F24.
66
67         * platform/qt/PlatformKeyboardEventQt.cpp:
68         (WebCore::windowsKeyCodeForKeyEvent):
69
70 2009-01-27  Brady Eidson  <beidson@apple.com>
71
72         Reviewed by Dan Bernstein
73
74         Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
75
76         * WebCore.base.exp:
77         * history/CachedPage.cpp:
78         * history/CachedPage.h:
79         (WebCore::CachedPage::cachedMainFrame):
80
81         * loader/EmptyClients.h:
82         (WebCore::EmptyFrameLoaderClient::savePlatformDataToCachedFrame):
83         (WebCore::EmptyFrameLoaderClient::transitionToCommittedFromCachedFrame):
84
85         * loader/FrameLoader.cpp:
86         (WebCore::FrameLoader::restoreDocumentState):
87         (WebCore::FrameLoader::commitProvisionalLoad):
88         (WebCore::FrameLoader::transitionToCommitted):
89         (WebCore::FrameLoader::cachePageForHistoryItem):
90         * loader/FrameLoaderClient.h:
91
92 2009-01-26  Simon Fraser  <simon.fraser@apple.com>
93
94         Reviewed by Dave Hyatt
95
96         https://bugs.webkit.org/show_bug.cgi?id=23360
97
98         Add variants of all the methods that compute dirty rects for repainting
99         with versions that compute those rects relative to some container
100         RenderBox that acts as a painting root.
101
102         * rendering/RenderBox.cpp:
103         (WebCore::RenderBox::styleDidChange):
104         (WebCore::RenderBox::outlineBoundsForRepaint):
105         (WebCore::RenderBox::localToContainerQuad):
106         (WebCore::RenderBox::clippedOverflowRectForRepaint):
107         (WebCore::RenderBox::computeRectForRepaint):
108         * rendering/RenderBox.h:
109         * rendering/RenderForeignObject.cpp:
110         (WebCore::RenderForeignObject::computeRectForRepaint):
111         * rendering/RenderForeignObject.h:
112         * rendering/RenderInline.cpp:
113         (WebCore::RenderInline::clippedOverflowRectForRepaint):
114         * rendering/RenderInline.h:
115         * rendering/RenderObject.cpp:
116         (WebCore::RenderObject::containerForRepaint):
117         (WebCore::RenderObject::repaint):
118         (WebCore::RenderObject::repaintRectangle):
119         (WebCore::RenderObject::rectWithOutlineForRepaint):
120         (WebCore::RenderObject::clippedOverflowRectForRepaint):
121         (WebCore::RenderObject::computeRectForRepaint):
122         (WebCore::RenderObject::localToContainerQuad):
123         * rendering/RenderObject.h:
124         (WebCore::RenderObject::localToAbsoluteQuad):
125         (WebCore::RenderObject::absoluteClippedOverflowRect):
126         (WebCore::RenderObject::computeAbsoluteRepaintRect):
127         (WebCore::RenderObject::absoluteOutlineBounds):
128         (WebCore::RenderObject::outlineBoundsForRepaint):
129         * rendering/RenderPath.cpp:
130         (WebCore::RenderPath::clippedOverflowRectForRepaint):
131         (WebCore::RenderPath::outlineBoundsForRepaint):
132         * rendering/RenderPath.h:
133         * rendering/RenderReplaced.cpp:
134         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
135         * rendering/RenderReplaced.h:
136         * rendering/RenderSVGContainer.cpp:
137         (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
138         (WebCore::RenderSVGContainer::outlineBoundsForRepaint):
139         * rendering/RenderSVGContainer.h:
140         * rendering/RenderSVGHiddenContainer.cpp:
141         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
142         * rendering/RenderSVGHiddenContainer.h:
143         * rendering/RenderSVGImage.cpp:
144         (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
145         * rendering/RenderSVGImage.h:
146         * rendering/RenderSVGRoot.cpp:
147         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
148         * rendering/RenderSVGRoot.h:
149         * rendering/RenderSVGText.cpp:
150         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
151         * rendering/RenderSVGText.h:
152         * rendering/RenderTableCell.cpp:
153         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
154         (WebCore::RenderTableCell::computeRectForRepaint):
155         (WebCore::RenderTableCell::localToContainerQuad):
156         * rendering/RenderTableCell.h:
157         * rendering/RenderTableCol.cpp:
158         (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
159         * rendering/RenderTableCol.h:
160         * rendering/RenderTableRow.cpp:
161         (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
162         * rendering/RenderTableRow.h:
163         * rendering/RenderText.cpp:
164         (WebCore::RenderText::clippedOverflowRectForRepaint):
165         * rendering/RenderText.h:
166         * rendering/RenderView.cpp:
167         (WebCore::RenderView::localToContainerQuad):
168         (WebCore::RenderView::computeRectForRepaint):
169         * rendering/RenderView.h:
170
171 2009-01-26  Simon Fraser  <simon.fraser@apple.com>
172
173         Reviewed by David Hyatt
174         
175         Back out r40285, because it was checked in with no bug number, no
176         testcase, is rendering change that did not get thorough review,
177         and broke the Mac build.
178
179         * page/EventHandler.cpp:
180         (WebCore::EventHandler::hitTestResultAtPoint):
181         * page/EventHandler.h:
182         * rendering/HitTestRequest.h:
183         (WebCore::HitTestRequest::HitTestRequest):
184         * rendering/RenderLayer.cpp:
185         (WebCore::RenderLayer::hitTest):
186
187 2009-01-26  Brady Eidson  <beidson@apple.com>
188
189         Reviewed by Darin Adler
190
191         -Make the recently added back/forward cache logging much better by actually
192          walking the entire frame tree and indenting the resulting output.
193         -Fix a null-termination bug in HistoryItem tree logging 
194
195         * history/HistoryItem.cpp:
196         (WebCore::HistoryItem::showTreeWithIndent):
197
198         * loader/FrameLoader.cpp:
199         (WebCore::pageCacheLogPrefix):
200         (WebCore::pageCacheLog):
201         (WebCore::FrameLoader::logCanCachePageDecision):
202         (WebCore::FrameLoader::logCanCacheFrameDecision):
203         * loader/FrameLoader.h:
204
205 2009-01-26  Adam Treat  <adam.treat@torchmobile.com>
206
207         Reviewed by Nikolas Zimmermann.
208
209         Allow option of hit testing frame content without clipping to the visible
210         viewport.
211
212         * page/EventHandler.cpp:
213         (WebCore::EventHandler::hitTestResultAtPoint):
214         * page/EventHandler.h:
215         * rendering/HitTestRequest.h:
216         (WebCore::HitTestRequest::HitTestRequest):
217         * rendering/RenderLayer.cpp:
218         (WebCore::RenderLayer::hitTest):
219
220 2009-01-26  Sam Weinig  <sam@webkit.org>
221
222         Reviewed by Dan Bernstein.
223
224         Fix for https://bugs.webkit.org/show_bug.cgi?id=18141
225         Acid3 tests 77 and 78 fail on reload due to SVG font race
226         <rdar://problem/6504899>
227
228         Match Opera's behavior of loading SVGFonts as soon as <font-face-uri>
229         tag is inserted into the document and not at the first use of the font
230         as is done for CSS web fonts.
231
232         This fixes a race condition noticeable by some in the Acid3 test that
233         happened because the onload event handler for an iframe containing a
234         <font-face-uri> with an external reference was not delayed by the pending
235         load of the font.
236
237         Test: http/tests/misc/SVGFont-delayed-load.html
238
239         * svg/SVGFontFaceUriElement.cpp:
240         (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
241         (WebCore::SVGFontFaceUriElement::parseMappedAttribute): Call loadFont if
242         the href attribute changes.
243         (WebCore::SVGFontFaceUriElement::insertedIntoDocument): Call loadFont.
244         (WebCore::SVGFontFaceUriElement::loadFont): Force a load of the
245         font specified in href attribute.
246         * svg/SVGFontFaceUriElement.h:
247
248 2009-01-26  Timothy Hatcher  <timothy@apple.com>
249
250         Change Web Archive serialization back to the binary property list format.
251
252         <rdar://problem/6127865> Web archives saved with Safari 4 cannot be read by Safari 3
253
254         Reviewed by Brady Eidson.
255
256         * loader/archive/cf/LegacyWebArchive.cpp:
257         (WebCore::LegacyWebArchive::rawDataRepresentation):
258
259 2009-01-26  Anders Carlsson  <andersca@apple.com>
260
261         Fix 64-bit build.
262         
263         * WebCore.LP64.exp:
264
265 2009-01-26  Dmitry Titov  <dimich@chromium.org>
266
267         Reviewed by Alexey Proskuryakov.
268
269         https://bugs.webkit.org/show_bug.cgi?id=23511
270         Move DOMTimer from bindings/js to page/.
271         This was prepared by moving all JSC dependencies from DOMTimer
272         to ScheduledAction earlier, and helps unfork the Chromuim version
273         of the DOMTimer.
274
275         * GNUmakefile.am:
276         * WebCore.pro:
277         * WebCore.scons:
278         * WebCore.vcproj/WebCore.vcproj:
279         * WebCore.xcodeproj/project.pbxproj:
280         * WebCoreSources.bkl:
281         * bindings/js/DOMTimer.cpp: Removed.
282         * bindings/js/DOMTimer.h: Removed.
283         * page/DOMTimer.cpp: Copied from WebCore/bindings/js/DOMTimer.cpp.
284         * page/DOMTimer.h: Copied from WebCore/bindings/js/DOMTimer.h.
285
286 2009-01-26  David Hyatt  <hyatt@apple.com>
287
288         Eliminate rightmostPosition, lowestPosition and leftmostPosition from RenderFlow.  Move the code into
289         RenderBlock's methods.
290
291         Reviewed by Eric Seidel
292
293         * rendering/RenderBlock.cpp:
294         (WebCore::RenderBlock::lowestPosition):
295         (WebCore::RenderBlock::rightmostPosition):
296         (WebCore::RenderBlock::leftmostPosition):
297         * rendering/RenderFlow.cpp:
298         * rendering/RenderFlow.h:
299
300 2009-01-26  Darin Fisher  <darin@chromium.org>
301
302         Reviewed by Eric Seidel.
303
304         https://bugs.webkit.org/show_bug.cgi?id=23553
305         Upstream changes from jcampan to fix chromium bugs 6692 and 6694.
306
307         * platform/chromium/PopupMenuChromium.cpp:
308         (WebCore::PopupListBox::setLoopSelectionNavigation):
309         (WebCore::PopupListBox::PopupListBox):
310         (WebCore::PopupContainer::setLoopSelectionNavigation):
311         (WebCore::PopupListBox::handleKeyEvent):
312         (WebCore::PopupListBox::paintRow):
313         (WebCore::PopupListBox::clearSelection):
314         (WebCore::PopupListBox::selectNextRow):
315         (WebCore::PopupListBox::selectPreviousRow):
316         * platform/chromium/PopupMenuChromium.h:
317
318 2009-01-26  Brady Eidson  <beidson@apple.com>
319
320         Reviewed by Sam Weinig
321
322         Remove some historical CachedPage time stamp fluff.
323
324         * history/CachedPage.cpp:
325         (WebCore::CachedPage::CachedPage):
326         * history/CachedPage.h:
327         (WebCore::CachedPage::timeStamp):
328
329         * loader/FrameLoader.cpp:
330         (WebCore::FrameLoader::cachePageForHistoryItem):
331
332 2009-01-26  David Hyatt  <hyatt@apple.com>
333
334         Move absoluteClippedOverflowRect, linesBoundingBox and borderBoundingBox from RenderFlow to RenderInline.
335
336         Reviewed by Eric Seidel
337
338         * rendering/RenderBox.cpp:
339         (WebCore::RenderBox::containingBlockHeightForPositioned):
340         * rendering/RenderFlow.cpp:
341         * rendering/RenderFlow.h:
342         * rendering/RenderInline.cpp:
343         (WebCore::RenderInline::linesBoundingBox):
344         (WebCore::RenderInline::absoluteClippedOverflowRect):
345         * rendering/RenderInline.h:
346         (WebCore::RenderInline::borderBoundingBox):
347         * rendering/RenderLayer.cpp:
348         (WebCore::RenderLayer::updateLayerPosition):
349         * rendering/RenderTreeAsText.cpp:
350         (WebCore::operator<<):
351
352 2009-01-26  Dimitri Glazkov  <dglazkov@chromium.org>
353
354         Reviewed by Eric Seidel.
355
356         https://bugs.webkit.org/show_bug.cgi?id=22650
357         Implement support for "Immutable" attribute to CodeGeneratorJS.pm, thus
358         allowing to explicitly mark methods as immutable (i.e. returning a new
359         instance rather than a reference to an existing instance).
360
361         * bindings/js/JSSVGMatrixCustom.cpp: Removed custom methods.
362         * bindings/scripts/CodeGeneratorJS.pm: Added check for Immutable
363             attribute when generating function call.
364         * svg/SVGMatrix.idl: Replaced Custom attribute with Immutable on
365             methods.
366
367 2009-01-26  David Hyatt  <hyatt@apple.com>
368
369         Eliminate isInlineFlow() now that a RenderBlock can never be an inline flow.  isInlineFlow() is now
370         equivalent to isRenderInline(), so all calls to isInlineFlow() have been replaced with isRenderInline().
371
372         Reviewed by Eric Seidel
373
374         * dom/Text.cpp:
375         (WebCore::Text::rendererIsNeeded):
376         * rendering/InlineFlowBox.cpp:
377         (WebCore::InlineFlowBox::placeBoxesHorizontally):
378         (WebCore::shouldDrawTextDecoration):
379         * rendering/RenderBlock.cpp:
380         (WebCore::RenderBlock::hitTestContents):
381         (WebCore::InlineMinMaxIterator::next):
382         (WebCore::RenderBlock::calcInlinePrefWidths):
383         * rendering/RenderBlock.h:
384         (WebCore::RenderBlock::isBlockFlow):
385         * rendering/RenderBox.cpp:
386         (WebCore::RenderBox::clientWidth):
387         (WebCore::RenderBox::clientHeight):
388         (WebCore::RenderBox::nodeAtPoint):
389         (WebCore::RenderBox::imageChanged):
390         (WebCore::RenderBox::offsetForPositionedInContainer):
391         (WebCore::RenderBox::containingBlockWidthForPositioned):
392         (WebCore::RenderBox::containingBlockHeightForPositioned):
393         * rendering/RenderBox.h:
394         (WebCore::RenderBox::width):
395         (WebCore::RenderBox::height):
396         (WebCore::RenderBox::size):
397         (WebCore::RenderBox::frameRect):
398         * rendering/RenderContainer.cpp:
399         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
400         * rendering/RenderFlow.cpp:
401         (WebCore::RenderFlow::dirtyLinesFromChangedChild):
402         (WebCore::RenderFlow::createInlineBox):
403         (WebCore::RenderFlow::paintLines):
404         (WebCore::RenderFlow::hitTestLines):
405         (WebCore::RenderFlow::absoluteClippedOverflowRect):
406         (WebCore::RenderFlow::lowestPosition):
407         (WebCore::RenderFlow::rightmostPosition):
408         (WebCore::RenderFlow::leftmostPosition):
409         * rendering/RenderFlow.h:
410         (WebCore::RenderFlow::borderBoundingBox):
411         * rendering/RenderInline.h:
412         (WebCore::RenderInline::isRenderInline):
413         * rendering/RenderLayer.cpp:
414         (WebCore::RenderLayer::updateLayerPosition):
415         (WebCore::RenderLayer::intersectsDamageRect):
416         (WebCore::RenderLayer::boundingBox):
417         * rendering/RenderListItem.cpp:
418         (WebCore::getParentOfFirstLineBox):
419         * rendering/RenderObject.cpp:
420         (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
421         (WebCore::RenderObject::styleWillChange):
422         (WebCore::RenderObject::firstLineStyle):
423         * rendering/RenderObject.h:
424         * rendering/RenderSVGInline.cpp:
425         (WebCore::RenderSVGInline::createInlineBox):
426         * rendering/RenderSVGText.cpp:
427         (WebCore::RenderSVGText::createInlineBox):
428         * rendering/RenderTableRow.cpp:
429         (WebCore::RenderTableRow::nodeAtPoint):
430         * rendering/RenderTableSection.cpp:
431         (WebCore::RenderTableSection::nodeAtPoint):
432         * rendering/RenderText.cpp:
433         (WebCore::isInlineFlowOrEmptyText):
434         * rendering/RenderTreeAsText.cpp:
435         (WebCore::operator<<):
436         * rendering/bidi.cpp:
437         (WebCore::bidiNext):
438         (WebCore::bidiFirst):
439         (WebCore::appendRunsForObject):
440         (WebCore::RenderBlock::createLineBoxes):
441         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
442         (WebCore::RenderBlock::layoutInlineChildren):
443         (WebCore::inlineFlowRequiresLineBox):
444         (WebCore::requiresLineBox):
445         (WebCore::RenderBlock::skipTrailingWhitespace):
446         (WebCore::RenderBlock::skipLeadingWhitespace):
447         (WebCore::RenderBlock::findNextLineBreak):
448
449 2009-01-26  David Hyatt  <hyatt@apple.com>
450
451         Drop support for display:compact.
452
453         (1) display:compact is no longer part of CSS2.1.
454         (2) Shipping Safari has completely broken compact support with severely broken rendering
455         (all of the compact text just piles on top of the text in the inserted block and on top of itself as well).
456         (3) This has been broken in WebKit for years (ever since blocks converted to painting lines directly) without
457         anyone even noticing.
458
459         Reviewed by Eric Seidel
460
461         * rendering/InlineFlowBox.cpp:
462         (WebCore::InlineFlowBox::placeBoxesHorizontally):
463         * rendering/RenderBlock.cpp:
464         (WebCore::RenderBlock::handleSpecialChild):
465         (WebCore::RenderBlock::handleRunInChild):
466         (WebCore::RenderBlock::layoutBlockChildren):
467         (WebCore::RenderBlock::paint):
468         (WebCore::RenderBlock::paintObject):
469         (WebCore::RenderBlock::nodeAtPoint):
470         (WebCore::RenderBlock::positionForCoordinates):
471         (WebCore::shouldCheckLines):
472         (WebCore::getHeightForLineCount):
473         (WebCore::RenderBlock::renderName):
474         * rendering/RenderBlock.h:
475         * rendering/RenderBox.cpp:
476         (WebCore::RenderBox::sizesToIntrinsicWidth):
477         * rendering/RenderBox.h:
478         (WebCore::RenderBox::width):
479         (WebCore::RenderBox::height):
480         (WebCore::RenderBox::size):
481         (WebCore::RenderBox::frameRect):
482         * rendering/RenderFlow.cpp:
483         (WebCore::RenderFlow::paintLines):
484         (WebCore::RenderFlow::hitTestLines):
485         (WebCore::RenderFlow::absoluteClippedOverflowRect):
486         (WebCore::RenderFlow::linesBoundingBox):
487         * rendering/RenderObject.h:
488         (WebCore::RenderObject::isInline):
489         * rendering/bidi.cpp:
490         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
491         (WebCore::RenderBlock::layoutInlineChildren):
492         * rendering/bidi.h:
493         (WebCore::BidiRun::BidiRun):
494
495 2009-01-26  Adam Langley  <agl@google.com>
496
497         Reviewed by Nikolas Zimmermann.
498
499         gtk2drawing: fix compiler warnings
500
501         g_object_set_data expects a gpointer as the last argument. Cast the
502           TRUE/FALSE values to avoid a warning.
503         gtk_tree_view_column_new doesn't return a GtkWidget.
504
505         * platform/gtk/gtk2drawing.c:
506         (setup_widget_prototype):
507         (moz_gtk_get_combo_box_inner_button):
508         (moz_gtk_get_combo_box_button_inner_widgets):
509         (ensure_combo_box_widgets):
510         (moz_gtk_get_combo_box_entry_inner_widgets):
511         (moz_gtk_get_combo_box_entry_arrow):
512         (ensure_combo_box_entry_widgets):
513         (ensure_toolbar_widget):
514         (ensure_menu_bar_item_widget):
515         (ensure_menu_popup_widget):
516         (ensure_menu_item_widget):
517         (ensure_image_menu_item_widget):
518         (ensure_menu_separator_widget):
519         (ensure_check_menu_item_widget):
520         (ensure_tree_header_cell_widget):
521         (moz_gtk_entry_paint):
522
523 2009-01-26  David Hyatt  <hyatt@apple.com>
524
525         Change display:run-in handling so that we no longer reuse RenderBlock as though it is an inline flow.
526         Instead we create a new RenderInline, move the RenderBlock's children underneath it, and then set the
527         inline as the new element's renderer.
528
529         Reviewed by Dan Bernstein
530
531         * rendering/RenderBlock.cpp:
532         (WebCore::RenderBlock::handleRunInChild):
533         * rendering/RenderInline.cpp:
534         (WebCore::RenderInline::renderName):
535
536 2009-01-26  Dimitri Glazkov  <dglazkov@chromium.org>
537
538         Reviewed by Darin Adler.
539
540         https://bugs.webkit.org/show_bug.cgi?id=23480
541         Add missing method stubs to BackForwardListChromium.
542
543         * history/BackForwardListChromium.cpp:
544         (WebCore::BackForwardList::backItem):
545         (WebCore::BackForwardList::forwardItem):
546
547 2009-01-25  Darin Adler  <darin@apple.com>
548
549         Try to fix Tiger buildbot.
550
551         * WebCore.xcodeproj/project.pbxproj: Turn off cast-qual for WebDashboardRegion.m.
552         * page/mac/WebDashboardRegion.m:
553         (typeName): Added.
554         (-[WebDashboardRegion description]): Use typeName.
555         (-[WebDashboardRegion isEqual:]): Added comment.
556
557 2009-01-25  Alexey Proskuryakov  <ap@webkit.org>
558
559         Reviewed by Darin Adler.
560
561         https://bugs.webkit.org/show_bug.cgi?id=23535
562         Strengthen debug checks in KURL
563
564         Covered (and prompted) by existing tests.
565
566         * platform/KURL.cpp:
567         (WebCore::checkEncodedString): Check that the first character of the URL is an allowed
568         first scheme character, not just that it isn't a slash.
569         (WebCore::KURL::KURL): Assert that parsing didn't affect the string (which must be the case
570         because of parsing being idempotent).
571
572         * page/SecurityOrigin.cpp:
573         (WebCore::SecurityOrigin::create): Added a check for the URL being valid - if it is not, an
574         empty security origin is created.
575         (WebCore::SecurityOrigin::createFromString): Parse the string as URL, do not just convert
576         it - it is not guaranteed to be properly encoded.
577
578         * dom/Document.cpp: (WebCore::Document::updateBaseURL): As documentURI is an arbitrary
579         string, it needs to be parsed into an URL, not just converted into one.
580
581         * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern):
582         Create the security origin with createFromString() instead of create(). I do not know where
583         the string comes from and whether it might not be properly encoded, but this change can't
584         hurt, and makes the code slightly more clear.
585
586         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::accessControlCheck): Create the security
587         origin with createFromString() instead of create(). The string comes from an HTTP response
588         header, so it may not be a properly encoded URL.
589
590         * loader/DocLoader.cpp: (WebCore::DocLoader::requestResource): Do not try to request using
591         invalid URLs.
592
593         * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Updated to call
594         SecurityOrigin::createFromString() (no change in behavior).
595
596 2009-01-25  Mark Rowe  <mrowe@apple.com>
597
598         Rubber-stamped by Dan Bernstein.
599
600         Improve the consistency of settings in our .xcconfig files.
601
602         * Configurations/Base.xcconfig: Enable GCC_OBJC_CALL_CXX_CDTORS to match other projects,
603         and handle all cases in GCC_GENERATE_DEBUGGING_SYMBOLS.
604
605 2009-01-25  David Hyatt  <hyatt@apple.com>
606
607         Fix for https://bugs.webkit.org/show_bug.cgi?id=23524, lots of missing content in table sections.
608
609         The new table code created a bug involving  markAllDescendantsWithFloatsForLayout, namely that it could
610         end up marking ancestors of a block as needing layout when that block was still in the process of
611         doing a layout.
612
613         The fix is to add a parameter to markAllDescendantsWithFloatsForLayout that says whether or not
614         we are "mid-layout."  If this flag is set, then the method will make sure to do only local dirtying
615         of objects to avoid accidentally marking a clean ancestor as needing layout again.
616
617         Ultimately the second parameter to setNeedsLayout and setChildNeedsLayout should just be removed,
618         with a check of whether or not we are mid-layout being done by those methods instead.
619
620         Reviewed by Oliver Hunt
621
622         Added fast/repaint/dynamic-table-vertical-alignment-change.html
623
624         * rendering/RenderBlock.cpp:
625         (WebCore::RenderBlock::collapseMargins):
626         (WebCore::RenderBlock::clearFloatsIfNeeded):
627         (WebCore::RenderBlock::layoutBlockChildren):
628         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
629         * rendering/RenderBlock.h:
630         * rendering/RenderObject.cpp:
631         (WebCore::RenderObject::removeFromObjectLists):
632         * rendering/RenderObject.h:
633         * rendering/RenderTableSection.cpp:
634         (WebCore::RenderTableSection::layoutRows):
635
636 2009-01-25  Darin Adler  <darin@apple.com>
637
638         Reviewed by Mark Rowe.
639
640         Bug 23352: Turn on more compiler warnings in the Mac build
641         https://bugs.webkit.org/show_bug.cgi?id=23352
642
643         Turn on the following warnings:
644
645             -Wcast-qual
646             -Wextra-tokens
647             -Wformat=2
648             -Winit-self
649             -Wmissing-noreturn
650             -Wpacked
651             -Wrendundant-decls
652
653         * Configurations/Base.xcconfig: Added the new warnings. Switched to -Wextra instead of
654         -W for clarity since we don't have to support the older versions of gcc that require the
655         old -W syntax. Since we now use -Wformat=2, removed -Wformat-security. Also removed
656         -Wno-format-y2k since we can have that one on now.
657
658 2009-01-25  Dan Bernstein  <mitz@apple.com>
659
660         Reviewed by Oliver Hunt.
661
662         - fix <rdar://problem/6525618> REGRESSION (r39566): NewsFire crashes in
663           string hashing code when opening a Digg RSS article
664
665         Test: fast/loader/null-request-after-willSendRequest.html
666
667         * loader/FrameLoader.cpp:
668         (WebCore::FrameLoader::loadItem): Null-check the request returned from
669         the client's willSendRequest method.
670
671 2009-01-25  David Hyatt  <hyatt@apple.com>
672
673         Fix for <rdar://problem/6525392> REGRESSION (r40180): Scroll wheel events over text scroll the page
674         instead of the ancestor overflow (23525)
675         
676         Make sure that we always call scroll() on the nearest enclosing RenderBox.  No test case is possible
677         here, since wheel scrolling is currently untestable (the offset varies from machine to machine).
678
679         Reviewed by Dan Bernstein
680
681         * page/EventHandler.cpp:
682         (WebCore::scrollAndAcceptEvent):
683         (WebCore::EventHandler::scrollOverflow):
684         * rendering/RenderObject.cpp:
685         (WebCore::RenderObject::enclosingBox):
686         * rendering/RenderObject.h:
687
688 2009-01-25  Darin Adler  <darin@apple.com>
689
690         Reviewed by Dan Bernstein.
691
692         Bug 23538: REGRESSION (r39969): Garbage text instead of blank content rendered when plug-ins are disabled
693         https://bugs.webkit.org/show_bug.cgi?id=23538
694         rdar://problem/6523719
695
696         I'm not sure how to make a regression test for this, since it depends on plug-ins being disabled.
697
698         The main problem here is that when plug-ins were disabled, the code ignored the classId attribute and
699         the <embed> element entirely. That resulted in a page treating a Flash document as plain HTML rather
700         than doing fallback.
701
702         * rendering/RenderPartObject.cpp:
703         (WebCore::createClassIdToTypeMap): Added. Broke this out into a separate function so we could get rid of an
704         inelegant if statement.
705         (WebCore::activeXType): Added. To avoid repeating the MIME type for ActiveX and possibly having a typo.
706         (WebCore::havePlugin): Added. Helper function to make sure we don't forget the null check.
707         (WebCore::serviceTypeForClassId): Give this function a return value since that's a more natural way to
708         return a string than an "out" parameter.  Fixed the logic to only prefer the ActiveX type over the
709         type guessed from the classId when there actually is an ActiveX plug-in to use. The old function assumed
710         there was one, which I presume right for Chrome on Windows when plug-ins are enabled, but wrong in many
711         other cases, and wrong all the time for all clients on Mac. We don't want to assume either way. Use the
712         new havePlugin function so we handle the case where pluginData is 0.
713         (WebCore::shouldUseEmbedDescendant): Renamed. Simplified the comment. Changed to use serviceTypeForClassId
714         instead of the old version that used an out parameter. Always use the <embed> if there isn't a plug-in
715         that knows how to handle <object> elements.
716         (WebCore::RenderPartObject::updateWidget): Removed null checks of pluginData. The two functions that
717         use this data still need to be called; they still do something even if no plug-ins are present. And
718         they have now been corrected to handle 0 properly.
719
720 2009-01-25  Darin Adler  <darin@apple.com>
721
722         * rendering/RenderMenuList.cpp: Fix build by adding back needed include.
723
724 2009-01-25  Darin Adler  <darin@apple.com>
725
726         Reviewed by Sam Weinig.
727
728         Bug 23352: Turn on more compiler warnings in the Mac build
729         https://bugs.webkit.org/show_bug.cgi?id=23352
730
731         Fourth patch: Deal with the last few stray warnings.
732
733         * rendering/RenderBlock.cpp:
734         (WebCore::RenderBlock::firstLineBlock): Handle the const_cast a little better.
735         Also make the local variable be a RenderBlock so the cast is closer to the code
736         that guarantees it's correct.
737
738         * rendering/SVGRenderTreeAsText.cpp:
739         (WebCore::writeStyle): Put the enum into a local variable that's a built-in
740         type before using it with TextStream, so we don't get a warning due to -Wsign-promo.
741
742 2009-01-25  Darin Adler  <darin@apple.com>
743
744         Reviewed by Sam Weinig.
745
746         Bug 23522: use checked casts for render tree
747         https://bugs.webkit.org/show_bug.cgi?id=23522
748
749         Step one: RenderText.
750
751         Also change set of RenderFlow* to be a ListHashSet as the comment in the
752         header indicated.
753
754         * dom/CharacterData.cpp:
755         (WebCore::CharacterData::setData): Use toRenderText.
756         (WebCore::CharacterData::appendData): Ditto.
757         (WebCore::CharacterData::insertData): Ditto.
758         (WebCore::CharacterData::deleteData): Ditto.
759         (WebCore::CharacterData::replaceData): Ditto.
760         * dom/ContainerNode.cpp:
761         (WebCore::ContainerNode::getUpperLeftCorner): Ditto.
762         (WebCore::ContainerNode::getLowerRightCorner): Ditto.
763         * dom/Position.cpp:
764         (WebCore::nextRenderedEditable): Ditto.
765         (WebCore::previousRenderedEditable): Ditto.
766         (WebCore::Position::renderedOffset): Ditto. Also use function members
767         instead of data members of InlineTextBox.
768         (WebCore::Position::upstream): Ditto.
769         (WebCore::Position::downstream): Ditto.
770         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): Ditto.
771         (WebCore::Position::inRenderedText): Ditto.
772         (WebCore::Position::isRenderedCharacter): Ditto.
773         (WebCore::searchAheadForBetterMatch): Ditto.
774         (WebCore::Position::getInlineBoxAndOffset): Ditto.
775
776         * dom/Range.cpp: Added include of VisiblePosition.h now that it's no longer
777         included in RenderObject.h.
778
779         * dom/Text.cpp:
780         (WebCore::Text::splitText): Use toRenderText.
781         (WebCore::Text::recalcStyle): Ditto.
782         * editing/CompositeEditCommand.cpp:
783         (WebCore::CompositeEditCommand::deleteInsignificantText): Ditto.
784         * editing/SelectionController.cpp:
785         (WebCore::SelectionController::debugRenderer): Ditto.
786         * editing/TextIterator.cpp:
787         (WebCore::TextIterator::handleTextNode): Ditto.
788         (WebCore::TextIterator::handleTextBox): Ditto.
789         (WebCore::TextIterator::emitText): Ditto.
790         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
791
792         * editing/VisiblePosition.cpp: Added include of FloatQuad.h now that it's
793         no longer included in RenderObject.h.
794         * inspector/InspectorController.cpp: Ditto.
795         * page/Frame.cpp: Ditto.
796         * rendering/RenderBox.cpp: Ditto.
797         * rendering/RenderInline.cpp: Ditto.
798         * rendering/RenderPath.cpp: Ditto.
799         * rendering/RenderSVGContainer.cpp: Ditto.
800         * rendering/RenderSVGImage.cpp: Ditto.
801         * rendering/RenderSVGInlineText.cpp: Ditto.
802         * rendering/RenderSVGTSpan.cpp: Ditto.
803         * rendering/RenderSVGText.cpp: Ditto.
804         * rendering/RenderSVGTextPath.cpp: Ditto.
805         * rendering/RenderTableCell.cpp: Ditto.
806         * rendering/RenderView.cpp: Ditto.
807
808         * editing/visible_units.cpp:
809         (WebCore::startPositionForLine): Use function members instead of data
810         members of InlineTextBox.
811         (WebCore::endPositionForLine): Ditto.
812         (WebCore::startOfParagraph): Use toRenderText.
813         (WebCore::endOfParagraph): Ditto.
814
815         * page/AccessibilityRenderObject.cpp:
816         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Use toRenderText.
817         * rendering/InlineFlowBox.cpp:
818         (WebCore::InlineFlowBox::placeBoxesHorizontally): Ditto.
819         * rendering/InlineTextBox.cpp:
820         (WebCore::InlineTextBox::deleteLine): Ditto.
821         (WebCore::InlineTextBox::extractLine): Ditto.
822         (WebCore::InlineTextBox::attachLine): Ditto.
823         (WebCore::InlineTextBox::placeEllipsisBox): Ditto.
824         (WebCore::InlineTextBox::paintDecoration): Ditto.
825         (WebCore::InlineTextBox::paintCompositionUnderline): Ditto.
826         (WebCore::InlineTextBox::offsetForPosition): Ditto.
827         (WebCore::InlineTextBox::positionForOffset): Ditto.
828
829         * rendering/InlineTextBox.h: Made most members private. Use toRenderText.
830
831         * rendering/RenderArena.cpp:
832         (WebCore::RenderArena::allocate): Use static_cast instead of C-style cast.
833         (WebCore::RenderArena::free): Ditto.
834
835         * rendering/RenderBlock.cpp:
836         (WebCore::RenderBlock::addContinuationWithOutline): Use ListHashSet<RenderFlow*>
837         instead of RenderFlowSequencedSet.
838         (WebCore::RenderBlock::paintContinuationOutlines): Ditto.
839         (WebCore::stripTrailingSpace): Ditto.
840         (WebCore::RenderBlock::calcInlinePrefWidths): Ditto.
841         (WebCore::RenderBlock::updateFirstLetter): Ditto.
842
843         * rendering/RenderContainer.cpp:
844         (WebCore::RenderContainer::addChild): Use toRenderText.
845
846         * rendering/RenderFlow.cpp:
847         (WebCore::RenderFlow::dirtyLinesFromChangedChild): Use ListHashSet<RenderFlow*>
848         instead of RenderFlowSequencedSet.
849         (WebCore::RenderFlow::paintLines): Ditto.
850
851         * rendering/RenderMenuList.cpp: Removed some unneeded includes.
852
853         * rendering/RenderMenuList.h: Added now-needed forward declaration of RenderText.
854         Made more members private.
855
856         * rendering/RenderObject.cpp: Updated includes.
857         (WebCore::RenderObject::isEditable): Use toRenderText.
858         (WebCore::RenderObject::positionForPoint): Made non-inline so we wouldn't have to
859         include VisiblePosition.h in the header just for this.
860
861         * rendering/RenderObject.h: Removed unneeded includes and forward declarations.
862         Changed special vertical position values to be constants rather than an enum.
863         Eliminated RenderFlowSequencedSet, and changed clients to use ListHashSet<RenderFlow*>.
864
865         * rendering/RenderText.cpp:
866         (WebCore::RenderText::findNextInlineTextBox): Use function members instead of
867         data members of InlineTextBox.
868         (WebCore::RenderText::positionForCoordinates): Ditto.
869         (WebCore::isInlineFlowOrEmptyText): Use toRenderText.
870         (WebCore::RenderText::previousCharacter): Use function members instead of
871         data members of InlineTextBox.
872         (WebCore::RenderText::position): Ditto.
873         (WebCore::RenderText::caretMinOffset): Ditto.
874         (WebCore::RenderText::caretMaxOffset): Ditto.
875         (WebCore::RenderText::caretMaxRenderedOffset): Ditto.
876
877         * rendering/RenderText.h: Added definition of toRenderText.
878
879         * rendering/RenderTextControl.cpp:
880         (WebCore::RenderTextControl::textWithHardLineBreaks): Use toRenderText.
881         * rendering/RenderTreeAsText.cpp:
882         (WebCore::operator<<): Use toRenderText and toRenderBox.
883         (WebCore::writeTextRun): Ditto.
884         (WebCore::write): Ditto.
885
886         * rendering/bidi.cpp:
887         (WebCore::InlineIterator::increment): Use toRenderText.
888         (WebCore::InlineIterator::current): Ditto.
889         (WebCore::checkMidpoints): Ditto.
890         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Ditto.
891         (WebCore::RenderBlock::layoutInlineChildren): Ditto.
892         (WebCore::RenderBlock::determineStartPosition): Ditto.
893         (WebCore::shouldSkipWhitespaceAfterStartObject): Ditto.
894         (WebCore::RenderBlock::findNextLineBreak): Ditto.
895
896 2009-01-25  Thiago Macieira  <thiago.macieira@nokia.com>
897
898         Reviewed by Simon Hausmann.
899
900         Fix gcc compiler warning (deprecated conversion from constant string to char*)
901
902         "" cannot be stored in a char*
903
904         * plugins/PluginStream.cpp:
905         (WebCore::PluginStream::destroyStream):
906
907 2009-01-24  Alexey Proskuryakov  <ap@webkit.org>
908
909         Reviewed by Darin Adler.
910
911         <rdar://problem/5954398> REGRESSION: 1.1% PLT regression from 33577 and 33578 (encoding fixes)
912
913         Changed single argument KURL constructors back to always expect an already encoded string,
914         eliminating extra conversions.
915
916         This is a rather unstable situation, as it is often unclear whether a given string is safe
917         to convert to KURL without resolving. I think that going forward, the solution is to try to
918         keep encoded URLs as KURL instances, and not as strings.
919
920         * platform/KURL.h: Updated comments.
921
922         * platform/KURL.cpp:
923         (WebCore::KURL::KURL): In debug builds, verify that the passed string is ASCII-only. The
924         intention is to verify that it is already parsed and encoded by KURL or equivalent code, but
925         since encoding is scheme-dependent, such a verification would be quite complicated.
926         Don't encode the string as UTF-8, as it supposed to be ASCII-only.
927         Removed a hack that made strings beginning with "/" turn into "file:" URLs. I didn't find
928         any reason for it to exist, but I saw several cases where this code path was taken
929         inadvertently (see examples in LayoutTests/ChangeLog).
930         (WebCore::KURL::setProtocol): Using a user-provided string without validation or encoding
931         is clearly wrong here (e.g., the "protocol" can be set to a full URL, effectively replacing
932         the old one), and an already encoded string is expected by parse().
933         In debug builds, non-ASCII input will make an assertion in parse() fail. Added a FIXME.
934         (WebCore::KURL::setHost): Ditto.
935         (WebCore::KURL::setPort): Ditto.
936         (WebCore::KURL::setHostAndPort): Ditto.
937         (WebCore::KURL::setUser): Ditto.
938         (WebCore::KURL::setPass): Ditto.
939         (WebCore::KURL::setRef): Ditto.
940         (WebCore::KURL::setQuery): Ditto.
941         (WebCore::KURL::setPath): Ditto.
942         (WebCore::KURL::parse): Verify that the passed string is already encoded.
943
944         * html/HTMLLinkElement.cpp:
945         (WebCore::HTMLLinkElement::parseMappedAttribute):
946         (WebCore::HTMLLinkElement::process):
947         * html/HTMLLinkElement.h:
948         Changed to avoid using invalid URLs (this was causing problems on DNS prefetch tests, see
949         LayoutTests/ChangeLog).
950
951         * loader/FrameLoader.cpp:
952         (WebCore::FrameLoader::init): Create an empty KURL without indirection for a small speedup.
953         (WebCore::FrameLoader::requestFrame): Resolve and encode javascript URLs properly, now that
954         String to KURL conversion requires the string to be already encoded.
955
956         * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Resolve and encode the origin.
957         HTML5 seems a little unclear on how this should work (it talks about "either parsing it as
958         a URL, or resolving it", and then somehow compares unaltered targetOrigin string to a
959         security origin object), so I just made the code as close to what we already had as possible.
960
961 2009-01-24  Darin Adler  <darin@apple.com>
962
963         Try to fix Qt build.
964
965         * WebCore.pro: Added JSTextCustom.cpp.
966
967 2009-01-23  Chris Marrin  <cmarrin@apple.com>
968
969         Reviewed by David Hyatt.
970
971         https://bugs.webkit.org/show_bug.cgi?id=23467
972
973         Change styleAvailable functionality to be a linked list
974         rather than scanning every CompositeAnimation for 
975         Animations that are waiting for styleAvailable. This has
976         potential for large performance improvement in cases where
977         there are many animations firing at once. But it will also
978         help in my next fix, which is to synchronize software and
979         accelerated animations.
980
981         I also changed slightly when the beginAnimationUpdate and
982         endAnimationUpdate calls are made. But this has no real
983         effect on performance or behavior.
984
985         * dom/Document.cpp:
986         (WebCore::Document::recalcStyle):
987         (WebCore::Document::updateRendering):
988         * page/animation/AnimationBase.cpp:
989         (WebCore::AnimationBase::AnimationBase):
990         (WebCore::AnimationBase::~AnimationBase):
991         (WebCore::AnimationBase::updateStateMachine):
992         * page/animation/AnimationBase.h:
993         (WebCore::AnimationBase::next):
994         (WebCore::AnimationBase::setNext):
995         (WebCore::AnimationBase::styleAvailable):
996         * page/animation/AnimationController.cpp:
997         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
998         (WebCore::AnimationControllerPrivate::addToStyleAvailableWaitList):
999         (WebCore::AnimationControllerPrivate::removeFromStyleAvailableWaitList):
1000         (WebCore::AnimationControllerPrivate::styleAvailable):
1001         (WebCore::AnimationController::AnimationController):
1002         (WebCore::AnimationController::endAnimationUpdate):
1003         (WebCore::AnimationController::addToStyleAvailableWaitList):
1004         (WebCore::AnimationController::removeFromStyleAvailableWaitList):
1005         * page/animation/AnimationController.h:
1006         * page/animation/CompositeAnimation.cpp:
1007         (WebCore::CompositeAnimationPrivate::addToStyleAvailableWaitList):
1008         (WebCore::CompositeAnimationPrivate::removeFromStyleAvailableWaitList):
1009         (WebCore::CompositeAnimation::addToStyleAvailableWaitList):
1010         (WebCore::CompositeAnimation::removeFromStyleAvailableWaitList):
1011         * page/animation/CompositeAnimation.h:
1012
1013 2009-01-24  Alexey Proskuryakov  <ap@webkit.org>
1014
1015         Reviewed by Darin Adler.
1016
1017         <rdar://problem/6368059> REGRESSION: URL encoding problems on http://www.cineman.ch
1018
1019         Test: http/tests/xmlhttprequest/encode-request-url-2.html
1020
1021         * platform/KURL.cpp:
1022         (WebCore::appendASCII): Added a helper function.
1023         (WebCore::KURL::KURL): Explicitly encode the URL to call two-argument parse() with better
1024         specified behavior.
1025         (WebCore::KURL::init): Ditto. This avoids trying to round-trip an URL encoded into a byte
1026         stream, but not yet transformed to ASCII-only using percent escapes. Since different parts
1027         of the byte stream can use different encodings, round-tripping is not possible.
1028         (WebCore::KURL::parse): Reverted an earlier change that made the single-argument version of
1029         this function convert the string to utf-8. I think that on the remanining code paths, it is
1030         correct to assume that the string is all ASCII, but I'm not yet confident enough to drop a
1031         FIXME warning.
1032
1033 2009-01-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
1034
1035         Gtk build fix after r40170
1036
1037         * GNUmakefile.am: Removed editing/RemoveNodeAttributeCommand.cpp
1038         and editing/RemoveNodeAttributeCommand.h
1039
1040 2009-01-23  Adam Treat  <adam.treat@torchmobile.com>
1041
1042         Fix the Qt build after r40205.
1043
1044         * WebCore.pro:
1045
1046 2009-01-23  Brady Eidson  <beidson@apple.com>
1047
1048         Reviewed by Darin Adler
1049
1050         In CachedPage, break off per-Frame pieces of data into a CachedFrame object.
1051
1052         * GNUmakefile.am:
1053         * WebCore.base.exp:
1054         * WebCore.pro:
1055         * WebCore.scons:
1056         * WebCore.vcproj/WebCore.vcproj:
1057         * WebCore.xcodeproj/project.pbxproj:
1058         * WebCoreSources.bkl:
1059
1060         * history/CachedFrame.cpp: Added.
1061         (WebCore::cachedFrameCounter):
1062         (WebCore::CachedFrame::CachedFrame):
1063         (WebCore::CachedFrame::~CachedFrame):
1064         (WebCore::CachedFrame::restore):
1065         (WebCore::CachedFrame::clear):
1066         (WebCore::CachedFrame::setCachedFramePlatformData):
1067         (WebCore::CachedFrame::cachedFramePlatformData):
1068         * history/CachedFrame.h: Added.
1069         (WebCore::CachedFrame::document):
1070         (WebCore::CachedFrame::documentLoader):
1071         (WebCore::CachedFrame::view):
1072         (WebCore::CachedFrame::mousePressNode):
1073         (WebCore::CachedFrame::url):
1074         (WebCore::CachedFrame::domWindow):
1075
1076         * history/CachedPage.cpp:
1077         (WebCore::CachedPage::CachedPage):
1078         (WebCore::CachedPage::restore):
1079         (WebCore::CachedPage::clear):
1080         (WebCore::CachedPage::setCachedFramePlatformData):
1081         (WebCore::CachedPage::cachedFramePlatformData):
1082         * history/CachedPage.h:
1083         (WebCore::CachedPage::document):
1084         (WebCore::CachedPage::documentLoader):
1085         (WebCore::CachedPage::view):
1086         (WebCore::CachedPage::mousePressNode):
1087         (WebCore::CachedPage::url):
1088         (WebCore::CachedPage::domWindow):
1089
1090         * loader/FrameLoader.cpp:
1091         (WebCore::FrameLoader::cachePageForHistoryItem): Setting the DocumentLoader independently of
1092           creating a CachedPage was a historical relic.  Take the opportunity to clean that up.
1093
1094 2009-01-23  David Hyatt  <hyatt@apple.com>
1095
1096         Add ASSERTs to catch anyone trying to obtain the width/height of an inline flow.  Fix up all the places
1097         that triggered the ASSERT (since all of these places are effectively regressions from my landing that
1098         devirtualized width()/height()).
1099
1100         Reviewed by Adele
1101
1102         * dom/Position.cpp:
1103         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1104         * editing/DeleteButtonController.cpp:
1105         (WebCore::isDeletableElement):
1106         * html/HTMLAnchorElement.cpp:
1107         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
1108         * rendering/RenderBox.cpp:
1109         (WebCore::RenderBox::clientWidth):
1110         (WebCore::RenderBox::clientHeight):
1111         (WebCore::RenderBox::scrollWidth):
1112         (WebCore::RenderBox::scrollHeight):
1113         (WebCore::RenderBox::absoluteOutlineBounds):
1114         * rendering/RenderBox.h:
1115         (WebCore::RenderBox::width):
1116         (WebCore::RenderBox::height):
1117         (WebCore::RenderBox::size):
1118         (WebCore::RenderBox::frameRect):
1119         (WebCore::RenderBox::borderBoundingBox):
1120         * rendering/RenderFlow.h:
1121         (WebCore::RenderFlow::borderBoundingBox):
1122         * rendering/RenderLayer.cpp:
1123         (WebCore::RenderLayer::updateLayerPosition):
1124         * rendering/RenderScrollbarPart.cpp:
1125         (WebCore::RenderScrollbarPart::styleWillChange):
1126         * rendering/RenderScrollbarPart.h:
1127         * wml/WMLAElement.cpp:
1128         (WebCore::WMLAElement::isKeyboardFocusable):
1129
1130 2009-01-23  Darin Adler  <darin@apple.com>
1131
1132         Reviewed by Anders Carlsson.
1133
1134         Bug 23352: Turn on more compiler warnings in the Mac build
1135         https://bugs.webkit.org/show_bug.cgi?id=23352
1136
1137         Second patch: Slightly less simple cases of various warnings.
1138
1139         * bridge/jni/jni_runtime.h:
1140         (JSC::Bindings::JavaString::_commonInit): Use reinterpret_cast here and avoid casting
1141         away const.
1142
1143         * dom/XMLTokenizerLibxml2.cpp:
1144         (WebCore::PendingCallbacks::appendStartElementNSCallback): Use static_cast instead of
1145         reinterpret_cast; this is casting the result of malloc, and the idiom is to use
1146         static_cast, which works because we're casting from void*.
1147         (WebCore::PendingCallbacks::PendingStartElementNSCallback::call): Use const_cast instead
1148         C-style casts.
1149
1150         * xml/XSLTUnicodeSort.cpp:
1151         (inlineXSLTTransformError): Tweak soft linking of xsltTransformError to use a macro
1152         instead of redefining the function.
1153
1154 2009-01-23  Darin Adler  <darin@apple.com>
1155
1156         Reviewed by Anders Carlsson.
1157
1158         Bug 23475: fast/text/find-backwards.html fails with ICU disabled SearchBuffer
1159         https://bugs.webkit.org/show_bug.cgi?id=23475
1160
1161         * editing/TextIterator.cpp:
1162         (WebCore::SearchBuffer::search): Set the character start flag to false to
1163         ensure we won't ever return the same result twice. There are other ways we
1164         could accomplish this, mentioned in the comment, but this one was the smallest
1165         and cleanest I could think of.
1166
1167 2009-01-23  Darin Adler  <darin@apple.com>
1168
1169         Reviewed by Anders Carlsson.
1170
1171         Bug 23510: REGRESSION (r40171): CDATASection objects not getting proper JavaScript wrappers
1172         https://bugs.webkit.org/show_bug.cgi?id=23510
1173
1174         That patch fixed the optimization that's supposed to give a faster path for
1175         allocating the wrappers for DOM Text objects. But CDATASection is the one
1176         subclass of Text objects.
1177
1178         * GNUmakefile.am: Added JSCDATASectionCustom.cpp.
1179         * WebCore.scons: Ditto.
1180         * WebCore.vcproj/WebCore.vcproj: Ditto.
1181         * WebCore.xcodeproj/project.pbxproj: Ditto.
1182         * WebCoreSources.bkl: Ditto.
1183
1184         * bindings/js/JSCDATASectionCustom.cpp: Copied from bindings/js/JSTextCustom.cpp.
1185         (WebCore::toJSNewlyCreated): Changed to do CDATASection, not Text.
1186
1187         * bindings/scripts/CodeGeneratorJS.pm: Added another toJSNewlyCreated function
1188         for CDATASection. We don't want to have to check when creating a wrapper for a
1189         Text object whether it's a CDATASection object or not, so we need to do this overload
1190         at compile time.
1191
1192 2009-01-23  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1193
1194         Reviewed by Eric Seidel.
1195
1196         Add a base class for WML form control elements: WMLFormControlElement (as it's designed in HTML as well).
1197         WMLFormControlElement inherits from WMLElement and FormControlElement (just like the HTMLFormControlElement equivalent).
1198
1199         WMLInputElement / WMLOptionElement / WMLOptGroupElement are supposed to inherit from the new WMLFormControlElement class.
1200         Now WMLInputElement & WMLOptGroupElement only inherit from WMLElement and FormControlElement, but WMLOptionElement inherits
1201         from WMLEventHandlingElement (which in turn inherits from WMLElement) and FormControlElement. In order to introduce a shared
1202         base class, WMLEventHandlingElement is no longer allowed to inherit from WMLElement directly. Instead it should turn into
1203         another base class, just like FormControlElement.
1204
1205         Add a base class for form control elements 'with state': FormControlElementWithState, serving as base class for
1206         HTMLFormControlElementWithState and WMLFormControlElementWithState. -> Make Document operate on FormControlElementWithState
1207         objects instead of HTMLFormControlElementWithState objects, to support save/restore control state for non HTMLFormControlElements.
1208
1209         Rename isGenericFormElement() to isFormControlElement(), and move it to Element.h
1210         Add new virtual function isFormControlElementWithState() to Element.h.
1211
1212         * GNUmakefile.am:
1213         * WebCore.order:
1214         * WebCore.pro:
1215         * WebCore.scons:
1216         * WebCore.vcproj/WebCore.vcproj:
1217         * WebCore.xcodeproj/project.pbxproj:
1218         * WebCoreSources.bkl:
1219         * dom/Document.cpp:
1220         (WebCore::Document::formElementsState):
1221         * dom/Document.h:
1222         (WebCore::Document::registerFormElementWithState):
1223         (WebCore::Document::unregisterFormElementWithState):
1224         * dom/Element.h:
1225         (WebCore::Element::isFormControlElement):
1226         (WebCore::Element::isFormControlElementWithState):
1227         * dom/FormControlElement.cpp:
1228         (WebCore::toFormControlElement):
1229         * dom/FormControlElement.h:
1230         * dom/FormControlElementWithState.cpp: Added.
1231         (WebCore::FormControlElementWithState::registerFormControlElementWithState):
1232         (WebCore::FormControlElementWithState::unregisterFormControlElementWithState):
1233         (WebCore::FormControlElementWithState::finishParsingChildren):
1234         (WebCore::toFormControlElementWithState):
1235         * dom/FormControlElementWithState.h: Added.
1236         (WebCore::FormControlElementWithState::~FormControlElementWithState):
1237         (WebCore::FormControlElementWithState::FormControlElementWithState):
1238         * html/HTMLElement.h:
1239         * html/HTMLFormControlElement.cpp:
1240         (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
1241         (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
1242         (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument):
1243         (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument):
1244         * html/HTMLFormControlElement.h:
1245         (WebCore::HTMLFormControlElement::isFormControlElement):
1246         (WebCore::HTMLFormControlElementWithState::isFormControlElementWithState):
1247         (WebCore::HTMLFormControlElementWithState::toFormControlElement):
1248         * html/HTMLFormElement.cpp:
1249         (WebCore::HTMLFormElement::formElementIndex):
1250         * html/HTMLLabelElement.cpp:
1251         (WebCore::HTMLLabelElement::correspondingControl):
1252         * html/HTMLLegendElement.cpp:
1253         (WebCore::HTMLLegendElement::formElement):
1254         * page/Frame.cpp:
1255         (WebCore::Frame::searchForLabelsBeforeElement):
1256         (WebCore::scanForForm):
1257         (WebCore::Frame::currentForm):
1258         * page/mac/FrameMac.mm:
1259         (WebCore::Frame::searchForLabelsBeforeElement):
1260         * wml/WMLCardElement.cpp:
1261         (WebCore::WMLCardElement::WMLCardElement):
1262         (WebCore::WMLCardElement::parseMappedAttribute):
1263         (WebCore::WMLCardElement::insertedIntoDocument):
1264         * wml/WMLCardElement.h:
1265         * wml/WMLDoElement.cpp:
1266         (WebCore::WMLDoElement::insertedIntoDocument):
1267         * wml/WMLElement.h:
1268         (WebCore::WMLElement::isWMLElement):
1269         * wml/WMLEventHandlingElement.cpp:
1270         (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
1271         (WebCore::WMLEventHandlingElement::registerDoElement):
1272         (WebCore::toWMLEventHandlingElement):
1273         * wml/WMLEventHandlingElement.h:
1274         * wml/WMLFormControlElement.cpp: Added.
1275         (WebCore::WMLFormControlElement::WMLFormControlElement):
1276         (WebCore::WMLFormControlElement::~WMLFormControlElement):
1277         (WebCore::WMLFormControlElementWithState::WMLFormControlElementWithState):
1278         (WebCore::WMLFormControlElementWithState::~WMLFormControlElementWithState):
1279         * wml/WMLFormControlElement.h: Added.
1280         (WebCore::WMLFormControlElement::isFormControlElement):
1281         (WebCore::WMLFormControlElement::valueMatchesRenderer):
1282         (WebCore::WMLFormControlElement::setValueMatchesRenderer):
1283         (WebCore::WMLFormControlElement::name):
1284         (WebCore::WMLFormControlElementWithState::isFormControlElementWithState):
1285         (WebCore::WMLFormControlElementWithState::toFormControlElement):
1286         * wml/WMLInputElement.cpp:
1287         (WebCore::WMLInputElement::WMLInputElement):
1288         (WebCore::WMLInputElement::type):
1289         * wml/WMLInputElement.h:
1290         * wml/WMLOnEventElement.cpp:
1291         (WebCore::WMLOnEventElement::registerTask):
1292         * wml/WMLOptGroupElement.cpp:
1293         (WebCore::WMLOptGroupElement::WMLOptGroupElement):
1294         (WebCore::WMLOptGroupElement::type):
1295         * wml/WMLOptGroupElement.h:
1296         * wml/WMLOptionElement.cpp:
1297         (WebCore::WMLOptionElement::WMLOptionElement):
1298         (WebCore::WMLOptionElement::type):
1299         * wml/WMLOptionElement.h:
1300         * wml/WMLTemplateElement.cpp:
1301         (WebCore::WMLTemplateElement::WMLTemplateElement):
1302         (WebCore::WMLTemplateElement::parseMappedAttribute):
1303         * wml/WMLTemplateElement.h:
1304
1305 2009-01-23  Chris Fleizach  <cfleizach@apple.com>
1306
1307         Reviewed by Darin Adler.
1308
1309         Bug 23509: Crash at -[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]
1310         https://bugs.webkit.org/show_bug.cgi?id=23509
1311   
1312         Add null checking in makeRange instead of AX code
1313
1314         * editing/VisiblePosition.cpp:
1315         (WebCore::makeRange):
1316         * page/AccessibilityObject.cpp:
1317         (WebCore::AccessibilityObject::nextSentenceEndPosition):
1318         (WebCore::AccessibilityObject::previousSentenceStartPosition):
1319
1320 2009-01-23  Adam Treat  <adam.treat@torchmobile.com>
1321
1322         Fix the Gtk build too after removal of RenderBox::toConstRenderBox
1323
1324         * platform/gtk/RenderThemeGtk.cpp:
1325         (WebCore::RenderThemeGtk::baselinePosition):
1326
1327 2009-01-23  Adam Treat  <adam.treat@torchmobile.com>
1328
1329         Fix the Qt build after rename of RenderBox::toConstRenderBox -> toRenderBox
1330
1331         * platform/qt/RenderThemeQt.cpp:
1332         (WebCore::RenderThemeQt::baselinePosition):
1333
1334 2009-01-23  Adam Treat  <adam.treat@torchmobile.com>
1335
1336         Fix the Qt build after r40168.
1337
1338         * WebCore.pro:
1339
1340 2009-01-23  Brady Eidson  <beidson@apple.com>
1341
1342         Rubberstamped by Darin Adler
1343
1344         Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.
1345
1346         * GNUmakefile.am:
1347         * WebCore.base.exp:
1348         * WebCore.order:
1349         * WebCore.xcodeproj/project.pbxproj:
1350
1351         * history/CachedFramePlatformData.h: Copied from WebCore/history/CachedPagePlatformData.h.
1352         (WebCore::CachedFramePlatformData::~CachedFramePlatformData):
1353         * history/CachedPagePlatformData.h: Removed.
1354
1355         * history/CachedPage.cpp:
1356         (WebCore::CachedPage::clear):
1357         (WebCore::CachedPage::setCachedFramePlatformData):
1358         (WebCore::CachedPage::cachedFramePlatformData):
1359         * history/CachedPage.h:
1360
1361 2009-01-23  Kevin Watters  <kevinwatters@gmail.com>
1362
1363         Reviewed by Kevin Ollivier.
1364
1365         Fix drawing in situations where sub-portions of the bitmap are to be 
1366         drawn to the screen.
1367
1368         * platform/graphics/wx/ImageWx.cpp:
1369         (WebCore::BitmapImage::draw):
1370
1371 2009-01-23  Kevin Ollivier  <kevino@theolliviers.com>
1372
1373         Build fixes for recent changes.
1374
1375         * WebCoreSources.bkl:
1376         * plugins/PluginView.cpp:
1377         (WebCore::PluginView::invalidateWindowlessPluginRect):
1378
1379 2009-01-23  Eric Carlson  <eric.carlson@apple.com>
1380
1381         Reviewed by Adele Peterson
1382         
1383         Fix for https://bugs.webkit.org/show_bug.cgi?id=23407
1384
1385         Implement QTMovieWin::hasVideo so the controller on an audio-only <video> element 
1386         is never hidden (as with an <audio> element).
1387
1388         Test: media/video-controls-visible-audio-only.html
1389
1390         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1391         (WebCore::MediaPlayerPrivate::hasVideo):
1392         * platform/graphics/win/QTMovieWin.cpp:
1393         (QTMovieWin::hasVideo):
1394         * platform/graphics/win/QTMovieWin.h:
1395
1396 2009-01-23  David Hyatt  <hyatt@apple.com>
1397
1398         Make toRenderBox a non-member function.  Rename toConstRenderBox to just also be called toRenderBox.
1399
1400         Reviewed by Oliver Hunt
1401
1402         * css/CSSComputedStyleDeclaration.cpp:
1403         (WebCore::sizingBox):
1404         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1405         * dom/ContainerNode.cpp:
1406         (WebCore::ContainerNode::getUpperLeftCorner):
1407         (WebCore::ContainerNode::getLowerRightCorner):
1408         * dom/Element.cpp:
1409         (WebCore::Element::scrollByUnits):
1410         * dom/Position.cpp:
1411         (WebCore::endsOfNodeAreVisuallyDistinctPositions):
1412         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1413         (WebCore::Position::isCandidate):
1414         * editing/DeleteButtonController.cpp:
1415         (WebCore::isDeletableElement):
1416         * editing/EditorCommand.cpp:
1417         (WebCore::verticalScrollDistance):
1418         * editing/TextIterator.cpp:
1419         (WebCore::shouldEmitExtraNewlineForNode):
1420         * html/HTMLAnchorElement.cpp:
1421         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
1422         * html/HTMLFormControlElement.cpp:
1423         (WebCore::HTMLFormControlElement::isFocusable):
1424         * html/HTMLFrameElementBase.cpp:
1425         (WebCore::HTMLFrameElementBase::width):
1426         (WebCore::HTMLFrameElementBase::height):
1427         * page/AccessibilityRenderObject.cpp:
1428         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
1429         * page/EventHandler.cpp:
1430         (WebCore::EventHandler::handleMouseDraggedEvent):
1431         (WebCore::EventHandler::autoscrollTimerFired):
1432         (WebCore::EventHandler::updateAutoscrollRenderer):
1433         (WebCore::EventHandler::stopAutoscrollTimer):
1434         (WebCore::EventHandler::scrollOverflow):
1435         * page/FrameView.cpp:
1436         (WebCore::FrameView::layout):
1437         * page/animation/AnimationBase.cpp:
1438         (WebCore::blendFunc):
1439         * rendering/InlineBox.cpp:
1440         (WebCore::InlineBox::adjustPosition):
1441         * rendering/InlineBox.h:
1442         (WebCore::InlineBox::renderBox):
1443         * rendering/RenderBlock.cpp:
1444         (WebCore::RenderBlock::clearFloats):
1445         * rendering/RenderBox.cpp:
1446         (WebCore::RenderBox::offsetFromContainer):
1447         (WebCore::RenderBox::computeAbsoluteRepaintRect):
1448         (WebCore::RenderBox::containingBlockWidthForPositioned):
1449         (WebCore::RenderBox::containingBlockHeightForPositioned):
1450         (WebCore::RenderBox::calcAbsoluteHorizontal):
1451         (WebCore::RenderBox::calcAbsoluteVertical):
1452         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
1453         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
1454         * rendering/RenderBox.h:
1455         (WebCore::toRenderBox):
1456         (WebCore::RenderBox::previousSiblingBox):
1457         (WebCore::RenderBox::nextSiblingBox):
1458         (WebCore::RenderBox::parentBox):
1459         * rendering/RenderFlow.cpp:
1460         (WebCore::RenderFlow::absoluteClippedOverflowRect):
1461         * rendering/RenderLayer.cpp:
1462         (WebCore::RenderLayer::updateLayerPosition):
1463         (WebCore::RenderLayer::resize):
1464         (WebCore::RenderLayer::boundingBox):
1465         * rendering/RenderObject.cpp:
1466         (WebCore::addLayers):
1467         (WebCore::RenderObject::removeLayers):
1468         (WebCore::RenderObject::moveLayers):
1469         (WebCore::RenderObject::findNextLayer):
1470         (WebCore::RenderObject::enclosingLayer):
1471         (WebCore::RenderObject::setNeedsLayout):
1472         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
1473         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1474         (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
1475         (WebCore::RenderObject::computeAbsoluteRepaintRect):
1476         (WebCore::RenderObject::localToAbsolute):
1477         (WebCore::RenderObject::absoluteToLocal):
1478         (WebCore::RenderObject::localToAbsoluteQuad):
1479         (WebCore::RenderObject::offsetFromContainer):
1480         (WebCore::RenderObject::removeFromObjectLists):
1481         (WebCore::RenderObject::destroy):
1482         (WebCore::RenderObject::updateHitTestResult):
1483         (WebCore::RenderObject::addDashboardRegions):
1484         * rendering/RenderTableSection.cpp:
1485         (WebCore::RenderTableSection::layoutRows):
1486         * rendering/RenderTheme.cpp:
1487         (WebCore::RenderTheme::hitTestMediaControlPart):
1488         (WebCore::RenderTheme::baselinePosition):
1489         * rendering/RenderThemeMac.mm:
1490         (WebCore::RenderThemeMac::hitTestMediaControlPart):
1491         * rendering/RenderTreeAsText.cpp:
1492         (WebCore::externalRepresentation):
1493         * rendering/bidi.cpp:
1494         (WebCore::inlineWidth):
1495         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
1496         (WebCore::requiresLineBox):
1497         (WebCore::RenderBlock::findNextLineBreak):
1498         * svg/SVGLength.cpp:
1499         (WebCore::SVGLength::PercentageOfViewport):
1500         * wml/WMLAElement.cpp:
1501         (WebCore::WMLAElement::isKeyboardFocusable):
1502         * wml/WMLInputElement.cpp:
1503         (WebCore::isInputFocusable):
1504
1505 2009-01-23  Chris Fleizach  <cfleizach@apple.com>
1506
1507         Reviewed by Beth Dakin.
1508
1509         Bug 23509: Crash at -[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]
1510         https://bugs.webkit.org/show_bug.cgi?id=23509
1511   
1512         Add null checking around next/previous sentence retrieval in AX code
1513
1514         * page/AccessibilityObject.cpp:
1515         (WebCore::AccessibilityObject::nextSentenceEndPosition):
1516         (WebCore::AccessibilityObject::previousSentenceStartPosition):
1517
1518 2009-01-23  David Hyatt  <hyatt@apple.com>
1519
1520         Fix for <rdar://problem/6518850> REGRESSION: hover feedback not showing on many sites
1521
1522         Inline flow repainting was broken because it relied on width() and height().  Give RenderFlow a linesBoundingBox
1523         method for obtaining a reasonable bounding box to use for repainting.  Eliminate the methods from RenderInline
1524         since compacts/run-ins need them too, so putting them on RenderFlow is necessary.
1525
1526         For consistency, change RenderText's version of these methods into the single linesBoundingBox method as
1527         well.
1528
1529         Reviewed by Oliver Hunt
1530
1531         * WebCore.base.exp:
1532         * dom/ContainerNode.cpp:
1533         (WebCore::ContainerNode::getUpperLeftCorner):
1534         (WebCore::ContainerNode::getLowerRightCorner):
1535         * dom/Position.cpp:
1536         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1537         * rendering/RenderBox.cpp:
1538         (WebCore::RenderBox::containingBlockHeightForPositioned):
1539         * rendering/RenderFlow.cpp:
1540         (WebCore::RenderFlow::absoluteClippedOverflowRect):
1541         (WebCore::RenderFlow::linesBoundingBox):
1542         * rendering/RenderFlow.h:
1543         * rendering/RenderInline.cpp:
1544         * rendering/RenderInline.h:
1545         (WebCore::RenderInline::offsetWidth):
1546         (WebCore::RenderInline::offsetHeight):
1547         * rendering/RenderLayer.cpp:
1548         (WebCore::RenderLayer::updateLayerPosition):
1549         * rendering/RenderText.cpp:
1550         (WebCore::RenderText::linesBoundingBox):
1551         * rendering/RenderText.h:
1552         * rendering/RenderTreeAsText.cpp:
1553         (WebCore::operator<<):
1554         * rendering/SVGRenderTreeAsText.cpp:
1555         (WebCore::write):
1556
1557 2009-01-23  David Hyatt  <hyatt@apple.com>
1558
1559         Move layer() into RenderBox and make it non-virtual.  Move all of the scrolling functions from RenderObject
1560         to RenderBox and devirtualize as many as possible.  Clean up styleWillChange to factor code specific to
1561         RenderBox and RenderBlock into their appropriate subclasses.  Stubbed out an empty styleWillChange on
1562         RenderText, since none of the work done in styleWillChange was relevant to text nodes.
1563
1564         Reviewed by Sam Weinig
1565
1566         * dom/Document.cpp:
1567         (WebCore::Document::elementFromPoint):
1568         (WebCore::Document::renderView):
1569         (WebCore::Document::prepareMouseEvent):
1570         * dom/Document.h:
1571         * dom/Element.cpp:
1572         (WebCore::Element::scrollByUnits):
1573         * editing/SelectionController.cpp:
1574         (WebCore::SelectionController::contains):
1575         * html/HTMLMarqueeElement.cpp:
1576         (WebCore::HTMLMarqueeElement::start):
1577         (WebCore::HTMLMarqueeElement::stop):
1578         * page/AccessibilityRenderObject.cpp:
1579         (WebCore::AccessibilityRenderObject::topRenderer):
1580         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
1581         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
1582         * page/AccessibilityRenderObject.h:
1583         * page/EventHandler.cpp:
1584         (WebCore::scrollAndAcceptEvent):
1585         (WebCore::EventHandler::handleMousePressEvent):
1586         (WebCore::EventHandler::handleMouseDraggedEvent):
1587         (WebCore::EventHandler::updateSelectionForMouseDrag):
1588         (WebCore::EventHandler::autoscrollTimerFired):
1589         (WebCore::EventHandler::updateAutoscrollRenderer):
1590         (WebCore::EventHandler::stopAutoscrollTimer):
1591         (WebCore::EventHandler::scrollOverflow):
1592         (WebCore::EventHandler::handleWheelEvent):
1593         (WebCore::EventHandler::hoverTimerFired):
1594         * page/Frame.cpp:
1595         (WebCore::Frame::clearTimers):
1596         * rendering/RenderBlock.cpp:
1597         (WebCore::RenderBlock::styleWillChange):
1598         * rendering/RenderBlock.h:
1599         * rendering/RenderBox.cpp:
1600         (WebCore::RenderBox::styleWillChange):
1601         (WebCore::RenderBox::verticalScrollbarWidth):
1602         (WebCore::RenderBox::horizontalScrollbarHeight):
1603         (WebCore::RenderBox::scroll):
1604         (WebCore::RenderBox::canBeProgramaticallyScrolled):
1605         (WebCore::RenderBox::autoscroll):
1606         (WebCore::RenderBox::panScroll):
1607         (WebCore::RenderBox::offsetFromContainer):
1608         (WebCore::RenderBox::computeAbsoluteRepaintRect):
1609         * rendering/RenderBox.h:
1610         (WebCore::RenderBox::layer):
1611         (WebCore::RenderBox::requiresLayer):
1612         (WebCore::RenderBox::stopAutoscroll):
1613         (WebCore::RenderBox::hasAutoVerticalScrollbar):
1614         (WebCore::RenderBox::hasAutoHorizontalScrollbar):
1615         (WebCore::RenderBox::scrollsOverflow):
1616         (WebCore::RenderBox::scrollsOverflowX):
1617         (WebCore::RenderBox::scrollsOverflowY):
1618         (WebCore::RenderBox::includeVerticalScrollbarSize):
1619         (WebCore::RenderBox::includeHorizontalScrollbarSize):
1620         * rendering/RenderFlow.cpp:
1621         (WebCore::RenderFlow::absoluteClippedOverflowRect):
1622         (WebCore::RenderFlow::addFocusRingRects):
1623         * rendering/RenderForeignObject.cpp:
1624         * rendering/RenderForeignObject.h:
1625         (WebCore::RenderForeignObject::requiresLayer):
1626         * rendering/RenderInline.cpp:
1627         * rendering/RenderInline.h:
1628         (WebCore::RenderInline::requiresLayer):
1629         * rendering/RenderLayer.cpp:
1630         (WebCore::RenderLayer::childrenClipRect):
1631         (WebCore::RenderLayer::selfClipRect):
1632         * rendering/RenderListBox.cpp:
1633         * rendering/RenderListBox.h:
1634         * rendering/RenderObject.cpp:
1635         (WebCore::addLayers):
1636         (WebCore::RenderObject::removeLayers):
1637         (WebCore::RenderObject::moveLayers):
1638         (WebCore::RenderObject::findNextLayer):
1639         (WebCore::RenderObject::enclosingLayer):
1640         (WebCore::RenderObject::setNeedsLayout):
1641         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
1642         (WebCore::RenderObject::computeAbsoluteRepaintRect):
1643         (WebCore::RenderObject::styleWillChange):
1644         (WebCore::RenderObject::localToAbsolute):
1645         (WebCore::RenderObject::absoluteToLocal):
1646         (WebCore::RenderObject::localToAbsoluteQuad):
1647         (WebCore::RenderObject::offsetFromContainer):
1648         (WebCore::RenderObject::destroy):
1649         * rendering/RenderObject.h:
1650         * rendering/RenderPath.cpp:
1651         * rendering/RenderPath.h:
1652         (WebCore::RenderPath::requiresLayer):
1653         * rendering/RenderReplica.h:
1654         (WebCore::RenderReplica::requiresLayer):
1655         * rendering/RenderSVGContainer.cpp:
1656         * rendering/RenderSVGContainer.h:
1657         (WebCore::RenderSVGContainer::requiresLayer):
1658         * rendering/RenderSVGHiddenContainer.cpp:
1659         * rendering/RenderSVGHiddenContainer.h:
1660         (WebCore::RenderSVGHiddenContainer::requiresLayer):
1661         * rendering/RenderSVGImage.cpp:
1662         * rendering/RenderSVGImage.h:
1663         (WebCore::RenderSVGImage::requiresLayer):
1664         * rendering/RenderSVGInline.h:
1665         (WebCore::RenderSVGInline::requiresLayer):
1666         * rendering/RenderSVGInlineText.h:
1667         (WebCore::RenderSVGInlineText::requiresLayer):
1668         * rendering/RenderSVGText.cpp:
1669         * rendering/RenderSVGText.h:
1670         (WebCore::RenderSVGText::requiresLayer):
1671         * rendering/RenderScrollbarPart.h:
1672         (WebCore::RenderScrollbarPart::requiresLayer):
1673         * rendering/RenderSlider.cpp:
1674         (WebCore::RenderSlider::setCurrentPosition):
1675         * rendering/RenderTableCell.cpp:
1676         * rendering/RenderTableCell.h:
1677         (WebCore::RenderTableCell::requiresLayer):
1678         * rendering/RenderTableCol.h:
1679         (WebCore::RenderTableCol::requiresLayer):
1680         * rendering/RenderTableRow.h:
1681         (WebCore::RenderTableRow::requiresLayer):
1682         * rendering/RenderTableSection.cpp:
1683         (WebCore::RenderTableSection::layoutRows):
1684         * rendering/RenderText.h:
1685         (WebCore::RenderText::styleWillChange):
1686         * rendering/RenderTextControl.cpp:
1687         (WebCore::RenderTextControl::autoscroll):
1688         (WebCore::RenderTextControl::scroll):
1689         * rendering/RenderTextControl.h:
1690         * rendering/RenderTreeAsText.cpp:
1691         (WebCore::write):
1692         (WebCore::externalRepresentation):
1693
1694 2009-01-23  Anders Carlsson  <andersca@apple.com>
1695
1696         Fix tyop.
1697         
1698         * editing/markup.cpp:
1699         (WebCore::joinMarkups):
1700
1701 2009-01-23  Anders Carlsson  <andersca@apple.com>
1702
1703         Reviewed by Darin Adler.
1704
1705         * Configurations/Base.xcconfig:
1706         Fix GCC 4.0 build.
1707         
1708         * editing/markup.cpp:
1709         (WebCore::joinMarkups):
1710         Pass a const reference to the vector.
1711         
1712         * html/HTMLElement.cpp:
1713         * platform/text/String.cpp:
1714         Add comments indicating that these functions are for use in the debugger.
1715
1716 2009-01-23  Anders Carlsson  <andersca@apple.com>
1717
1718         Reviewed by Sam Weinig.
1719
1720         Turn on -Wmissing-prototypes and fix the resulting warnings.
1721         
1722         * Configurations/Base.xcconfig:
1723         * bindings/js/JSHistoryCustom.cpp:
1724         (WebCore::nonCachingStaticBackFunctionGetter):
1725         (WebCore::nonCachingStaticForwardFunctionGetter):
1726         (WebCore::nonCachingStaticGoFunctionGetter):
1727         * bindings/js/JSLocationCustom.cpp:
1728         (WebCore::nonCachingStaticReplaceFunctionGetter):
1729         (WebCore::nonCachingStaticReloadFunctionGetter):
1730         (WebCore::nonCachingStaticAssignFunctionGetter):
1731         (WebCore::JSLocation::customGetOwnPropertySlot):
1732         * bindings/objc/DOMRGBColor.mm:
1733         (WebCore::getWrapperForRGB):
1734         (WebCore::setWrapperForRGB):
1735         (WebCore::removeWrapperForRGB):
1736         * bindings/scripts/CodeGeneratorJS.pm:
1737         * bridge/c/c_instance.cpp:
1738         (JSC::Bindings::globalExceptionString):
1739         * bridge/runtime_object.cpp:
1740         (JSC::callRuntimeConstructor):
1741         * css/CSSParser.cpp:
1742         (WebCore::parseGradientColorStop):
1743         * css/CSSPrimitiveValue.cpp:
1744         (WebCore::scaleFactorForConversion):
1745         * css/CSSStyleSelector.cpp:
1746         (WebCore::operator >):
1747         (WebCore::operator <=):
1748         (WebCore::getTransformOperationType):
1749         * dom/make_names.pl:
1750         * editing/DeleteSelectionCommand.cpp:
1751         (WebCore::updatePositionForTextRemoval):
1752         * editing/EditorCommand.cpp:
1753         (WebCore::valueBackColor):
1754         (WebCore::valueFontName):
1755         (WebCore::valueFontSize):
1756         (WebCore::valueFontSizeDelta):
1757         (WebCore::valueForeColor):
1758         * editing/VisiblePosition.cpp:
1759         (WebCore::canonicalizeCandidate):
1760         * editing/htmlediting.cpp:
1761         * editing/markup.cpp:
1762         (WebCore::joinMarkups):
1763         * html/HTMLElement.cpp:
1764         (WebCore::inlineTagList):
1765         (WebCore::blockTagList):
1766         * html/HTMLMediaElement.cpp:
1767         (WebCore::serializeTimeOffset):
1768         (WebCore::parseTimeOffset):
1769         * page/mac/FrameMac.mm:
1770         (WebCore::regExpForLabels):
1771         * platform/Arena.cpp:
1772         * platform/graphics/Color.cpp:
1773         (WebCore::colorFloatToRGBAByte):
1774         * platform/graphics/cg/ImageSourceCG.cpp:
1775         (WebCore::imageSourceOptions):
1776         * platform/graphics/cg/PathCG.cpp:
1777         (WebCore::CGPathApplierToPathApplier):
1778         * platform/graphics/mac/SimpleFontDataMac.mm:
1779         (WebCore::initFontData):
1780         * platform/mac/PlatformMouseEventMac.mm:
1781         * platform/text/String.cpp:
1782         * rendering/RenderBlock.cpp:
1783         (WebCore::continuationOutlineTable):
1784         (WebCore::getHeightForLineCount):
1785         * rendering/RenderView.cpp:
1786         (WebCore::rendererAfterPosition):
1787         * rendering/RootInlineBox.cpp:
1788         (WebCore::isEditableLeaf):
1789         * rendering/SVGRenderTreeAsText.cpp:
1790         (WebCore::hasFractions):
1791         * rendering/style/RenderStyle.cpp:
1792         (WebCore::positionedObjectMoved):
1793         * svg/SVGFont.cpp:
1794         (WebCore::floatWidthUsingSVGFontCallback):
1795         (WebCore::floatWidthMissingGlyphCallback):
1796         (WebCore::drawTextUsingSVGFontCallback):
1797         (WebCore::drawTextMissingGlyphCallback):
1798         * svg/SVGTransformable.cpp:
1799         (WebCore::parseTransformParamList):
1800         * svg/graphics/SVGPaintServerGradient.cpp:
1801         (WebCore::operator<<):
1802         * xml/XPathGrammar.y:
1803         * xml/XSLTExtensions.cpp:
1804
1805 2009-01-23  Eric Seidel  <eric@webkit.org>
1806
1807         No review, removing an empty file.
1808
1809         Remove RemoveNodeAttributeCommand since it was empty.
1810
1811         * WebCore.pro:
1812         * WebCore.scons:
1813         * WebCore.vcproj/WebCore.vcproj:
1814         * WebCore.xcodeproj/project.pbxproj:
1815         * editing/RemoveNodeAttributeCommand.cpp: Removed.
1816         * editing/RemoveNodeAttributeCommand.h: Removed.
1817
1818 2009-01-23  Brady Eidson  <beidson@apple.com>
1819
1820         Rubberstamped by Sam Weinig
1821
1822         Rework ScriptCachedPageData to ScriptCachedFrameData to more accurately reflect its true purpose
1823
1824         * GNUmakefile.am:
1825         * WebCore.vcproj/WebCore.vcproj:
1826         * WebCore.xcodeproj/project.pbxproj:
1827         * WebCoreSources.bkl:
1828
1829         * bindings/js/ScriptCachedFrameData.cpp: Copied from bindings/js/ScriptCachedPageData.cpp.
1830         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1831         (WebCore::ScriptCachedFrameData::domWindow):
1832         (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
1833         (WebCore::ScriptCachedFrameData::restore):
1834         (WebCore::ScriptCachedFrameData::clear):
1835         * bindings/js/ScriptCachedFrameData.h: Copied from bindings/js/ScriptCachedPageData.h.
1836         * bindings/js/ScriptCachedPageData.cpp: Removed.
1837         * bindings/js/ScriptCachedPageData.h: Removed.
1838
1839         * history/CachedPage.cpp:
1840         (WebCore::CachedPage::CachedPage):
1841         (WebCore::CachedPage::restore):
1842         * history/CachedPage.h:
1843
1844 2009-01-23  Steve Falkenburg  <sfalken@apple.com>
1845
1846         Fix build.
1847
1848         * rendering/RenderThemeSafari.cpp:
1849         (WebCore::RenderThemeSafari::baselinePosition):
1850
1851 2009-01-23  Darin Fisher  <darin@chromium.org>
1852
1853         Reviewed by Eric Seidel.
1854
1855         https://bugs.webkit.org/show_bug.cgi?id=23506
1856         Upstream Chromium's image decoders for use with PLATFORM(SKIA)
1857
1858         * platform/image-decoders/skia/BMPImageDecoder.cpp: Added.
1859         * platform/image-decoders/skia/BMPImageDecoder.h: Added.
1860         * platform/image-decoders/skia/BMPImageReader.cpp: Added.
1861         * platform/image-decoders/skia/BMPImageReader.h: Added.
1862         * platform/image-decoders/skia/GIFImageDecoder.cpp:
1863         (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate):
1864         (WebCore::GIFImageDecoderPrivate::decode):
1865         (WebCore::GIFImageDecoderPrivate::getColorMap):
1866         (WebCore::GIFImageDecoder::GIFImageDecoder):
1867         (WebCore::GIFImageDecoder::isSizeAvailable):
1868         (WebCore::GIFImageDecoder::frameCount):
1869         (WebCore::GIFImageDecoder::frameBufferAtIndex):
1870         (WebCore::GIFImageDecoder::clearFrameBufferCache):
1871         (WebCore::GIFImageDecoder::decode):
1872         (WebCore::GIFImageDecoder::sizeNowAvailable):
1873         (WebCore::GIFImageDecoder::initFrameBuffer):
1874         (WebCore::GIFImageDecoder::prepEmptyFrameBuffer):
1875         (WebCore::GIFImageDecoder::haveDecodedRow):
1876         (WebCore::GIFImageDecoder::frameComplete):
1877         * platform/image-decoders/skia/GIFImageDecoder.h:
1878         (WebCore::GIFImageDecoder::filenameExtension):
1879         (WebCore::GIFImageDecoder::frameDurationAtIndex):
1880         (WebCore::GIFImageDecoder::):
1881         * platform/image-decoders/skia/GIFImageReader.cpp:
1882         (GIFImageReader::do_lzw):
1883         (GIFImageReader::read):
1884         * platform/image-decoders/skia/GIFImageReader.h:
1885         * platform/image-decoders/skia/ICOImageDecoder.cpp: Added.
1886         * platform/image-decoders/skia/ICOImageDecoder.h: Added.
1887         * platform/image-decoders/skia/ImageDecoder.h:
1888         (WebCore::RefCountedNativeImageSkia::create):
1889         (WebCore::RefCountedNativeImageSkia::bitmap):
1890         (WebCore::RefCountedNativeImageSkia::RefCountedNativeImageSkia):
1891         (WebCore::RGBA32Buffer::):
1892         (WebCore::RGBA32Buffer::RGBA32Buffer):
1893         (WebCore::RGBA32Buffer::~RGBA32Buffer):
1894         (WebCore::RGBA32Buffer::operator=):
1895         (WebCore::RGBA32Buffer::clear):
1896         (WebCore::RGBA32Buffer::copyBitmapData):
1897         (WebCore::RGBA32Buffer::bitmap):
1898         (WebCore::RGBA32Buffer::setSize):
1899         (WebCore::RGBA32Buffer::width):
1900         (WebCore::RGBA32Buffer::height):
1901         (WebCore::RGBA32Buffer::rect):
1902         (WebCore::RGBA32Buffer::status):
1903         (WebCore::RGBA32Buffer::duration):
1904         (WebCore::RGBA32Buffer::disposalMethod):
1905         (WebCore::RGBA32Buffer::hasAlpha):
1906         (WebCore::RGBA32Buffer::setRect):
1907         (WebCore::RGBA32Buffer::setStatus):
1908         (WebCore::RGBA32Buffer::setDuration):
1909         (WebCore::RGBA32Buffer::setDisposalMethod):
1910         (WebCore::RGBA32Buffer::setHasAlpha):
1911         (WebCore::RGBA32Buffer::setRGBA):
1912         (WebCore::ImageDecoder::ImageDecoder):
1913         (WebCore::ImageDecoder::~ImageDecoder):
1914         (WebCore::ImageDecoder::setData):
1915         (WebCore::ImageDecoder::isSizeAvailable):
1916         (WebCore::ImageDecoder::size):
1917         (WebCore::ImageDecoder::frameCount):
1918         (WebCore::ImageDecoder::repetitionCount):
1919         (WebCore::ImageDecoder::supportsAlpha):
1920         (WebCore::ImageDecoder::failed):
1921         (WebCore::ImageDecoder::setFailed):
1922         (WebCore::ImageDecoder::clearFrameBufferCache):
1923         (WebCore::ImageDecoder::setSize):
1924         (WebCore::ImageDecoder::isOverSize):
1925         * platform/image-decoders/skia/JPEGImageDecoder.cpp:
1926         (WebCore::JPEGImageReader::JPEGImageReader):
1927         (WebCore::JPEGImageReader::decode):
1928         (WebCore::JPEGImageDecoder::isSizeAvailable):
1929         (WebCore::JPEGImageDecoder::outputScanlines):
1930         * platform/image-decoders/skia/JPEGImageDecoder.h:
1931         (WebCore::JPEGImageDecoder::filenameExtension):
1932         (WebCore::JPEGImageDecoder::supportsAlpha):
1933         (WebCore::JPEGImageDecoder::reader):
1934         * platform/image-decoders/skia/PNGImageDecoder.cpp:
1935         (WebCore::PNGImageReader::close):
1936         (WebCore::PNGImageDecoder::PNGImageDecoder):
1937         (WebCore::PNGImageDecoder::isSizeAvailable):
1938         (WebCore::PNGImageDecoder::frameBufferAtIndex):
1939         (WebCore::PNGImageDecoder::decode):
1940         (WebCore::PNGImageDecoder::decodingFailed):
1941         (WebCore::PNGImageDecoder::headerAvailable):
1942         (WebCore::rowAvailable):
1943         (WebCore::PNGImageDecoder::rowAvailable):
1944         (WebCore::PNGImageDecoder::pngComplete):
1945         * platform/image-decoders/skia/PNGImageDecoder.h:
1946         (WebCore::PNGImageDecoder::filenameExtension):
1947         (WebCore::PNGImageDecoder::reader):
1948         * platform/image-decoders/skia/XBMImageDecoder.cpp: Added.
1949         * platform/image-decoders/skia/XBMImageDecoder.h: Added.
1950
1951 2009-01-23  Darin Fisher  <darin@chromium.org>
1952
1953         Reviewed by Eric Seidel.
1954
1955         https://bugs.webkit.org/show_bug.cgi?id=23506
1956         Copy existing ImageDecoder.h in preparation for landing Skia changes on top.
1957
1958         * platform/image-decoders/skia/ImageDecoder.h: Copied from platform/image-decoders/ImageDecoder.h.
1959
1960 2009-01-23  Darin Fisher  <darin@chromium.org>
1961
1962         Reviewed by Eric Seidel.
1963
1964         https://bugs.webkit.org/show_bug.cgi?id=23506
1965         Copy existing image-decoders in preparation for landing Skia changes on top.
1966
1967         * platform/image-decoders/skia: Added.
1968         * platform/image-decoders/skia/GIFImageDecoder.cpp: Copied from platform/image-decoders/gif/GIFImageDecoder.cpp.
1969         * platform/image-decoders/skia/GIFImageDecoder.h: Copied from platform/image-decoders/gif/GIFImageDecoder.h.
1970         * platform/image-decoders/skia/GIFImageReader.cpp: Copied from platform/image-decoders/gif/GIFImageReader.cpp.
1971         * platform/image-decoders/skia/GIFImageReader.h: Copied from platform/image-decoders/gif/GIFImageReader.h.
1972         * platform/image-decoders/skia/JPEGImageDecoder.cpp: Copied from platform/image-decoders/jpeg/JPEGImageDecoder.cpp.
1973         * platform/image-decoders/skia/JPEGImageDecoder.h: Copied from platform/image-decoders/jpeg/JPEGImageDecoder.h.
1974         * platform/image-decoders/skia/PNGImageDecoder.cpp: Copied from platform/image-decoders/png/PNGImageDecoder.cpp.
1975         * platform/image-decoders/skia/PNGImageDecoder.h: Copied from platform/image-decoders/png/PNGImageDecoder.h.
1976
1977 2009-01-23  Holger Freyther  <zecke@selfish.org>
1978
1979         Unreviewed build fix.
1980
1981         Based on https://bugs.webkit.org/show_bug.cgi?id=23498
1982         from craig.schlenter@gmail.com
1983
1984         * platform/gtk/RenderThemeGtk.cpp:
1985         (WebCore::RenderThemeGtk::baselinePosition):
1986
1987 2009-01-23  David Levin  <levin@chromium.org>
1988
1989         Reviewed by Alexey Proskuryakov.
1990
1991         Bug 22720: Make XMLHttpRequest work in Workers
1992         <https://bugs.webkit.org/show_bug.cgi?id=22720>
1993
1994         Add copy/adopt for ResourceResponse(Base)/ResourceRequest(Base) to allow the
1995         data to be passed across threads.
1996
1997         No observable change in behavior, so no test.
1998
1999         * platform/network/FormData.cpp:
2000         (WebCore::FormData::deepCopy):
2001         * platform/network/FormData.h:
2002         * platform/network/HTTPHeaderMap.cpp:
2003         (WebCore::HTTPHeaderMap::copyData):
2004         (WebCore::HTTPHeaderMap::adopt):
2005         * platform/network/HTTPHeaderMap.h:
2006         * platform/network/ResourceRequestBase.cpp:
2007         (WebCore::ResourceRequestBase::adopt):
2008         (WebCore::ResourceRequestBase::copyData):
2009         * platform/network/ResourceRequestBase.h:
2010         * platform/network/ResourceResponseBase.cpp:
2011         (WebCore::ResourceResponseBase::adopt):
2012         (WebCore::ResourceResponseBase::copyData):
2013         * platform/network/ResourceResponseBase.h:
2014
2015 2009-01-23  Dmitry Titov  <dimich@chromium.org>
2016
2017         Reviewed by Alexey Proskuryakov.
2018
2019         https://bugs.webkit.org/show_bug.cgi?id=23374
2020         Add WorkerRunLoop to encapsulate message queue and timer heap.
2021         This is first half (timer heap is added as separate patch).
2022
2023         * GNUmakefile.am: Added WorkerRunLoop.cpp to the build.
2024         * WebCore.vcproj/WebCore.vcproj: Same as above.
2025         * WebCore.xcodeproj/project.pbxproj: Same as above
2026         * dom/WorkerContext.cpp:
2027         (WebCore::WorkerContext::postTask):
2028         * dom/WorkerContext.h:
2029         * dom/WorkerMessagingProxy.cpp:
2030         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2031         (WebCore::WorkerMessagingProxy::workerThreadCreated):
2032         * dom/WorkerRunLoop.cpp: Added.
2033         (WebCore::WorkerRunLoop::run): Runs the loop until terminate() is called.
2034         (WebCore::WorkerRunLoop::terminate): Causes the loop to exit.
2035         (WebCore::WorkerRunLoop::postTask): Adds a task to the internal queue.
2036         * dom/WorkerRunLoop.h: Added.
2037         (WebCore::WorkerRunLoop::WorkerRunLoop):
2038         * dom/WorkerThread.cpp:
2039         (WebCore::WorkerThread::workerThread):
2040         (WebCore::WorkerThread::stop):
2041         * dom/WorkerThread.h:
2042         (WebCore::WorkerThread::runLoop):
2043
2044 2009-01-23  Adam Treat  <adam.treat@torchmobile.com>
2045
2046         Reviewed by Holger Hans Peter Freyther.
2047
2048         Redo previous patch http://trac.webkit.org/changeset/34260 which fixes a
2049         huge memory leak by ensuring that the timer is fired one last time on
2050         application tear down thus triggering the GCController thereby freeing
2051         JavaScript objects as well as triggering other timer based tear down methods.
2052
2053         * platform/qt/SharedTimerQt.cpp:
2054         (WebCore::SharedTimerQt::~SharedTimerQt):
2055
2056 2009-01-23  Alexey Proskuryakov  <ap@webkit.org>
2057
2058         Reviewed by Oliver Hunt.
2059
2060         https://bugs.webkit.org/show_bug.cgi?id=23459
2061         Workers are not properly terminated if execution hasn't begun yet
2062
2063         Doesn't affect observable behavior, so test case is not possible.
2064
2065         * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Call forbidExecution() if
2066         it couldn't be called earlier.
2067
2068 2009-01-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2069
2070         [Qt] Fix the build after RenderBox refactoring in r40153.
2071
2072         * platform/qt/RenderThemeQt.cpp:
2073         (WebCore::RenderThemeQt::baselinePosition):
2074
2075 2009-01-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2076
2077         Rubber-stamped by Alexey Proskuryakov.
2078
2079         Fix the build after RenderBox refactoring in r40153.
2080
2081         * plugins/PluginView.cpp:
2082         (WebCore::PluginView::invalidateWindowlessPluginRect):
2083
2084 2009-01-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2085
2086         Reviewed by Simon Hausmann.
2087
2088         [Qt] Simplify the assertion.
2089
2090         * platform/graphics/qt/GraphicsContextQt.cpp:
2091         (WebCore::GraphicsContext::getWindowsContext):
2092         (WebCore::GraphicsContext::releaseWindowsContext):
2093
2094 2009-01-22  David Hyatt  <hyatt@apple.com>
2095
2096         Move the border and padding methods from RenderObject to RenderBox.
2097
2098         Reviewed by Oliver Hunt
2099
2100         * css/CSSComputedStyleDeclaration.cpp:
2101         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2102         * editing/DeleteButtonController.cpp:
2103         (WebCore::DeleteButtonController::createDeletionUI):
2104         * page/EventHandler.cpp:
2105         (WebCore::EventHandler::hitTestResultAtPoint):
2106         * rendering/InlineFlowBox.cpp:
2107         (WebCore::InlineFlowBox::placeBoxesVertically):
2108         * rendering/InlineFlowBox.h:
2109         (WebCore::InlineFlowBox::borderLeft):
2110         (WebCore::InlineFlowBox::borderRight):
2111         (WebCore::InlineFlowBox::paddingLeft):
2112         (WebCore::InlineFlowBox::paddingRight):
2113         * rendering/RenderBlock.cpp:
2114         (WebCore::RenderBlock::clearFloats):
2115         * rendering/RenderBox.cpp:
2116         (WebCore::RenderBox::paddingTop):
2117         (WebCore::RenderBox::paddingBottom):
2118         (WebCore::RenderBox::paddingLeft):
2119         (WebCore::RenderBox::paddingRight):
2120         (WebCore::RenderBox::calcHeight):
2121         (WebCore::RenderBox::containingBlockWidthForPositioned):
2122         (WebCore::RenderBox::containingBlockHeightForPositioned):
2123         (WebCore::RenderBox::calcAbsoluteHorizontal):
2124         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
2125         (WebCore::RenderBox::calcAbsoluteVertical):
2126         (WebCore::RenderBox::calcAbsoluteVerticalValues):
2127         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
2128         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
2129         * rendering/RenderBox.h:
2130         (WebCore::RenderBox::borderTop):
2131         (WebCore::RenderBox::borderBottom):
2132         (WebCore::RenderBox::borderLeft):
2133         (WebCore::RenderBox::borderRight):
2134         * rendering/RenderObject.cpp:
2135         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2136         * rendering/RenderObject.h:
2137         * rendering/RenderTextControl.cpp:
2138         (WebCore::RenderTextControl::textBlockWidth):
2139         (WebCore::RenderTextControl::calcHeight):
2140         (WebCore::RenderTextControl::calcPrefWidths):
2141         * rendering/RenderTextControlSingleLine.cpp:
2142         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
2143         * rendering/RenderTreeAsText.cpp:
2144         (WebCore::operator<<):
2145         * rendering/RenderView.cpp:
2146         (WebCore::RenderView::repaintViewRectangle):
2147
2148 2009-01-22  David Hyatt  <hyatt@apple.com>
2149
2150         Devirtualize the marginTop/Right/Left/Bottom functions and move them to RenderBox (along with some of the
2151         other margin functions that have to come along for the ride).
2152
2153         Reviewed by Oliver Hunt
2154
2155         * css/CSSComputedStyleDeclaration.cpp:
2156         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2157         * editing/TextIterator.cpp:
2158         (WebCore::shouldEmitExtraNewlineForNode):
2159         * rendering/InlineBox.cpp:
2160         * rendering/InlineBox.h:
2161         (WebCore::InlineBox::renderBox):
2162         * rendering/InlineFlowBox.cpp:
2163         (WebCore::InlineFlowBox::marginLeft):
2164         (WebCore::InlineFlowBox::marginRight):
2165         (WebCore::InlineFlowBox::placeBoxesHorizontally):
2166         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2167         (WebCore::InlineFlowBox::placeBoxesVertically):
2168         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
2169         * rendering/RenderBlock.cpp:
2170         (WebCore::RenderBlock::isSelfCollapsingBlock):
2171         (WebCore::RenderBlock::adjustPositionedBlock):
2172         (WebCore::RenderBlock::handleCompactChild):
2173         (WebCore::RenderBlock::estimateVerticalPosition):
2174         (WebCore::getBorderPaddingMargin):
2175         (WebCore::RenderBlock::calcInlinePrefWidths):
2176         * rendering/RenderBlock.h:
2177         * rendering/RenderBox.cpp:
2178         (WebCore::RenderBox::calcHeight):
2179         * rendering/RenderBox.h:
2180         (WebCore::RenderBox::hasHorizontalBordersPaddingOrMargin):
2181         (WebCore::RenderBox::hasHorizontalBordersOrPadding):
2182         (WebCore::RenderBox::marginTop):
2183         (WebCore::RenderBox::marginBottom):
2184         (WebCore::RenderBox::marginLeft):
2185         (WebCore::RenderBox::marginRight):
2186         (WebCore::RenderBox::isSelfCollapsingBlock):
2187         (WebCore::RenderBox::collapsedMarginTop):
2188         (WebCore::RenderBox::collapsedMarginBottom):
2189         (WebCore::RenderBox::isTopMarginQuirk):
2190         (WebCore::RenderBox::isBottomMarginQuirk):
2191         (WebCore::RenderBox::maxTopMargin):
2192         (WebCore::RenderBox::maxBottomMargin):
2193         * rendering/RenderObject.cpp:
2194         (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
2195         * rendering/RenderObject.h:
2196         * rendering/RenderSVGContainer.cpp:
2197         (WebCore::RenderSVGContainer::lineHeight):
2198         (WebCore::RenderSVGContainer::baselinePosition):
2199         * rendering/RenderTextControl.cpp:
2200         (WebCore::RenderTextControl::calcHeight):
2201         * rendering/RenderTheme.cpp:
2202         (WebCore::RenderTheme::baselinePosition):
2203         * rendering/bidi.cpp:
2204         (WebCore::getBorderPaddingMargin):
2205         (WebCore::inlineWidth):
2206         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
2207         (WebCore::inlineFlowRequiresLineBox):
2208         (WebCore::requiresLineBox):
2209         (WebCore::RenderBlock::findNextLineBreak):
2210
2211 2009-01-22  Mark Rowe  <mrowe@apple.com>
2212
2213         Rubber-stamped by Anders Carlsson.
2214
2215         Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
2216
2217         Current versions of Xcode only respect it for C and Objective-C files,
2218         and our code doesn't currently compile if it is applied to C++ and
2219         Objective-C++ files.
2220
2221         * Configurations/Base.xcconfig:
2222
2223 2009-01-22  David Hyatt  <hyatt@apple.com>
2224
2225         Move the m_widthChanged bit on RenderTableCell into RenderFlow's set of bits.  Let intrinsicPaddingTop and
2226         intrinsicPaddingBottom just be normal non-bitfield values.
2227
2228         Reviewed by Oliver Hunt
2229
2230         * rendering/RenderFlow.h:
2231         (WebCore::RenderFlow::RenderFlow):
2232         * rendering/RenderTableCell.cpp:
2233         (WebCore::RenderTableCell::RenderTableCell):
2234         (WebCore::RenderTableCell::updateWidth):
2235         (WebCore::RenderTableCell::layout):
2236         * rendering/RenderTableCell.h:
2237
2238 2009-01-22  David Hyatt  <hyatt@apple.com>
2239
2240         Properly encapsulate m_frameRect.y() behind the RenderBox::y() method now that they are the same thing.
2241         Make m_frameRect private.
2242
2243         Reviewed by Oliver Hunt
2244
2245         * rendering/RenderBlock.cpp:
2246         (WebCore::RenderBlock::paint):
2247         (WebCore::RenderBlock::clearFloats):
2248         * rendering/RenderBox.cpp:
2249         (WebCore::RenderBox::offsetTop):
2250         (WebCore::RenderBox::nodeAtPoint):
2251         (WebCore::RenderBox::paint):
2252         (WebCore::RenderBox::paintCustomHighlight):
2253         (WebCore::RenderBox::containingBlockWidth):
2254         (WebCore::RenderBox::localToAbsolute):
2255         (WebCore::RenderBox::offsetFromContainer):
2256         (WebCore::RenderBox::computeAbsoluteRepaintRect):
2257         (WebCore::RenderBox::repaintDuringLayoutIfMoved):
2258         * rendering/RenderContainer.cpp:
2259         (WebCore::RenderContainer::layout):
2260         * rendering/RenderFlexibleBox.cpp:
2261         (WebCore::RenderFlexibleBox::layoutBlock):
2262         * rendering/RenderFrameSet.cpp:
2263         (WebCore::RenderFrameSet::paint):
2264         * rendering/RenderImage.cpp:
2265         (WebCore::RenderImage::paintReplaced):
2266         (WebCore::RenderImage::nodeAtPoint):
2267         * rendering/RenderListMarker.cpp:
2268         (WebCore::RenderListMarker::paint):
2269         (WebCore::RenderListMarker::getRelativeMarkerRect):
2270         * rendering/RenderReplaced.cpp:
2271         (WebCore::RenderReplaced::paint):
2272         (WebCore::RenderReplaced::shouldPaint):
2273         * rendering/RenderReplica.cpp:
2274         (WebCore::RenderReplica::paint):
2275         * rendering/RenderSVGRoot.cpp:
2276         (WebCore::RenderSVGRoot::applyContentTransforms):
2277         (WebCore::RenderSVGRoot::paint):
2278         (WebCore::RenderSVGRoot::absoluteTransform):
2279         (WebCore::RenderSVGRoot::nodeAtPoint):
2280         * rendering/RenderTable.cpp:
2281         (WebCore::RenderTable::calcWidth):
2282         (WebCore::RenderTable::layout):
2283         * rendering/RenderTableCell.cpp:
2284         (WebCore::RenderTableCell::paint):
2285         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2286         * rendering/RenderTableSection.cpp:
2287         (WebCore::RenderTableSection::setCellWidths):
2288         (WebCore::RenderTableSection::calcRowHeight):
2289         (WebCore::RenderTableSection::layoutRows):
2290         (WebCore::RenderTableSection::paint):
2291         (WebCore::RenderTableSection::nodeAtPoint):
2292         * rendering/RenderWidget.cpp:
2293         (WebCore::RenderWidget::paint):
2294
2295 2009-01-22  David Hyatt  <hyatt@apple.com>
2296
2297         Fix for https://bugs.webkit.org/show_bug.cgi?id=23487.
2298
2299         This patch completely reworks vertical alignment of table cells.  The current system uses methods called borderTopExtra() and borderBottomExtra() to
2300         add extra space above and below the content of a cell.  This system was not confined to the table code and spilled out into all the other RenderObjects.
2301         The y-position of the table cell box was set to the outer edge of the cell, but the y() method of RenderBox lied and added in borderTopExtra().  height()
2302         also excluded the extra space, so did not accurately reflect the true size of the cell.
2303         
2304         With the new system, the table cell box is completely accurate.  The extra space becomes part of the padding of the cell.  Padding has been reworked so that
2305         additional intrinsic padding can be added on to the specified padding from style.  Only the table code has to deal with the extra cell padding.
2306
2307         localToAbsoluteForContent has now been removed, since there no longer has to be a special hacked content box.
2308
2309         A number of table layout tests progress with this change, since the new layout system actually fixes existing bugs in baseline alignment of cells.
2310
2311         Reviewed by Oliver Hunt
2312
2313         * css/CSSComputedStyleDeclaration.cpp:
2314         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2315         Make CSSComputedStyleDeclaration ask for padding values that exclude the built-in intrinsic padding.  This ensures that getComputedStyle continues
2316         to give the right answer.
2317     
2318         * dom/ContainerNode.cpp:
2319         (WebCore::ContainerNode::getLowerRightCorner):
2320         * editing/visible_units.cpp:
2321         (WebCore::previousLinePosition):
2322         (WebCore::nextLinePosition):
2323         * rendering/LayoutState.cpp:
2324         (WebCore::LayoutState::LayoutState):
2325         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2326         
2327         * rendering/RenderBlock.cpp:
2328         (WebCore::RenderBlock::overflowRect):
2329         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2330         
2331         (WebCore::RenderBlock::layoutBlock):
2332         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
2333         The expandsToEncloseOverhangingFloats logic has been reworked.  Table cells and fieldsets did not properly handle floats that spilled into the bottom padding.  The
2334         resulting box needed to not only expand to encompass the float, but also needed to place the full bottom padding after the float.  The switch to make the extra table cell
2335         space into padding exposed this issue.  No extra layout test is required, since an existing table layout test exposes this issue and progresses to match Firefox with
2336         this change.
2337     
2338         (WebCore::RenderBlock::selectionGapRects):
2339         (WebCore::RenderBlock::paintSelection):
2340         (WebCore::RenderBlock::fillSelectionGaps):
2341         (WebCore::RenderBlock::nodeAtPoint):
2342         (WebCore::RenderBlock::positionForCoordinates):
2343         (WebCore::RenderBlock::offsetForContents):
2344         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2345     
2346         * rendering/RenderBlock.h:
2347         Add the new simplified method for expanding to encompass overhanging floats.  The method has been devirtualized and made to include all of the cases (and not just a subset).
2348
2349         * rendering/RenderBox.cpp:
2350         (WebCore::RenderBox::absoluteRects):
2351         (WebCore::RenderBox::absoluteQuads):
2352         (WebCore::RenderBox::absoluteContentBox):
2353         (WebCore::RenderBox::paintBoxDecorations):
2354         (WebCore::RenderBox::paintMask):
2355         (WebCore::RenderBox::getOverflowClipRect):
2356         (WebCore::RenderBox::localToAbsolute):
2357         (WebCore::RenderBox::absoluteToLocal):
2358         (WebCore::RenderBox::localToAbsoluteQuad):
2359         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2360         
2361         * rendering/RenderBox.h:
2362         (WebCore::RenderBox::y):
2363         (WebCore::RenderBox::location):
2364         (WebCore::RenderBox::borderBoxRect):
2365         (WebCore::RenderBox::offsetHeight):
2366         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2367
2368         * rendering/RenderContainer.cpp:
2369         (WebCore::RenderContainer::addLineBoxRects):
2370         * rendering/RenderFieldset.cpp:
2371         (WebCore::RenderFieldset::paintBoxDecorations):
2372         (WebCore::RenderFieldset::paintMask):
2373         * rendering/RenderFieldset.h:
2374         (WebCore::RenderFieldset::avoidsFloats):
2375         * rendering/RenderFlow.cpp:
2376         (WebCore::RenderFlow::localCaretRect):
2377         * rendering/RenderLayer.cpp:
2378         (WebCore::RenderLayer::updateLayerPosition):
2379         (WebCore::RenderLayer::paintLayer):
2380         (WebCore::RenderLayer::hitTestLayer):
2381         (WebCore::RenderLayer::boundingBox):
2382         * rendering/RenderListBox.cpp:
2383         (WebCore::RenderListBox::isPointInOverflowControl):
2384         * rendering/RenderObject.cpp:
2385         (WebCore::RenderObject::localToAbsolute):
2386         (WebCore::RenderObject::absoluteToLocal):
2387         (WebCore::RenderObject::localToAbsoluteQuad):
2388         (WebCore::RenderObject::offsetFromContainer):
2389         (WebCore::RenderObject::paddingTop):
2390         (WebCore::RenderObject::paddingBottom):
2391         (WebCore::RenderObject::paddingLeft):
2392         (WebCore::RenderObject::paddingRight):
2393         * rendering/RenderObject.h:
2394         (WebCore::RenderObject::hasOverhangingFloats):
2395         * rendering/RenderReplaced.cpp:
2396         (WebCore::RenderReplaced::selectionRect):
2397         (WebCore::RenderReplaced::localSelectionRect):
2398         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.  Also modifed paddingLeft/Top/Right/Bottom to take an argument indicating
2399         whether or not the intrinsic padding of an object should be included (by default it is).  getComputedStyle needs to exclude it, which is why this argument is
2400         necessary.
2401
2402         * rendering/RenderTableCell.cpp:
2403         (WebCore::RenderTableCell::RenderTableCell):
2404         (WebCore::RenderTableCell::paddingTop):
2405         (WebCore::RenderTableCell::paddingBottom):
2406         The new paddingTop() and paddingBottom() methods on table cells include the extra intrinsic padding.
2407     
2408         (WebCore::RenderTableCell::setOverrideSize):
2409         When a table's override size gets altered, the intrinsic padding needs to be cleared.
2410         
2411         (WebCore::RenderTableCell::absoluteClippedOverflowRect):
2412         (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
2413         (WebCore::RenderTableCell::baselinePosition):
2414         (WebCore::RenderTableCell::paint):
2415         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2416         (WebCore::RenderTableCell::paintBoxDecorations):
2417         (WebCore::RenderTableCell::paintMask):
2418         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2419         
2420         * rendering/RenderTableCell.h:
2421         (WebCore::RenderTableCell::setIntrinsicPaddingTop):
2422         (WebCore::RenderTableCell::setIntrinsicPaddingBottom):
2423         (WebCore::RenderTableCell::setIntrinsicPadding):
2424         (WebCore::RenderTableCell::clearIntrinsicPadding):
2425         (WebCore::RenderTableCell::intrinsicPaddingTop):
2426         (WebCore::RenderTableCell::intrinsicPaddingBottom):
2427         Add new helper methods for getting/setting a cell's intrinsic padding.
2428     
2429         * rendering/RenderTableSection.cpp:
2430         (WebCore::RenderTableSection::calcRowHeight):
2431         calcRowHeight has been modified to exclude the intrinsic padding when calculating the base height of rows prior to flexing.  Because a cell now includes that
2432         extra space, it has to be subtracted out in this method.
2433         
2434         (WebCore::RenderTableSection::layoutRows):
2435         Modify the code that sets up the intrinsic padding so that it does a relayout if the intrinsic padding changes.   There was also an error where the baseline
2436         position mismatched leading to negative intrinsic padding being added in (this error exists in ToT).  The code now properly ignores cells that don't establish
2437         a baseline.  A number of tests progress with this change.
2438         
2439         * rendering/RenderText.cpp:
2440         (WebCore::RenderText::addLineBoxRects):
2441         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2442         
2443         * rendering/RenderTreeAsText.cpp:
2444         (WebCore::operator<<):
2445         (WebCore::writeTextRun):
2446         Modify the render tree dumping code to continue to produce the same results as before.  This is really a hack, since we're now capable of indicating the correct
2447         position for the descendants of cells with intrinsic padding (and also indicating what the correct cell box is).  A future patch can remove these hacks so that the
2448         layout test results can all be regenerated.
2449
2450 2009-01-22  Eric Seidel  <eric@webkit.org>
2451
2452         Reviewed by Justin Garcia.
2453
2454         Remove <span> turds left by editing commands
2455         https://bugs.webkit.org/show_bug.cgi?id=23466
2456
2457         Tests:
2458         * editing/execCommand/empty-span-removal.html
2459         * editing/execCommand/toggle-styles.html
2460
2461         * editing/ApplyStyleCommand.cpp:
2462         (WebCore::styleSpanClassString):
2463         (WebCore::isStyleSpan):
2464         (WebCore::isUnstyledStyleSpan):
2465         (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
2466         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2467         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
2468         (WebCore::ApplyStyleCommand::removeHTMLBidiEmbeddingStyle):
2469         (WebCore::ApplyStyleCommand::removeCSSStyle):
2470
2471 2009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2472
2473         Reviewed by Eric Seidel.
2474
2475         Rename some of the casting functions in dom/*Element.cpp:
2476         formControlElementForElement -> toFormControlElement
2477         inputElementForElement -> toInputElement
2478         optionElementForElement -> toOptionElement
2479         optionGroupElementForElement -> toOptionGroupElement
2480
2481         Suggested by Alexey, while refactoring the Element*->ScriptElement* code.
2482         The Element*->ScriptElement* helper function is already named 'toScriptElement'.
2483
2484         * dom/FormControlElement.cpp:
2485         (WebCore::toFormControlElement):
2486         * dom/FormControlElement.h:
2487         * dom/InputElement.cpp:
2488         (WebCore::InputElement::setValueFromRenderer):
2489         (WebCore::toInputElement):
2490         * dom/InputElement.h:
2491         * dom/OptionElement.cpp:
2492         (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
2493         (WebCore::toOptionElement):
2494         * dom/OptionElement.h:
2495         * dom/OptionGroupElement.cpp:
2496         (WebCore::toOptionGroupElement):
2497         * dom/OptionGroupElement.h:
2498         * rendering/RenderListBox.cpp:
2499         (WebCore::RenderListBox::updateFromElement):
2500         (WebCore::RenderListBox::paintItemForeground):
2501         (WebCore::RenderListBox::paintItemBackground):
2502         * rendering/RenderMenuList.cpp:
2503         (WebCore::RenderMenuList::updateOptionsWidth):
2504         (WebCore::RenderMenuList::setTextFromOption):
2505         (WebCore::RenderMenuList::itemText):
2506         (WebCore::RenderMenuList::itemIsSelected):
2507         * rendering/RenderTextControl.cpp:
2508         (WebCore::RenderTextControl::formControlElement):
2509         * rendering/RenderTextControlSingleLine.cpp:
2510         (WebCore::RenderTextControlSingleLine::inputElement):
2511
2512 2009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2513
2514         Rubber-stamped by George Staikos.
2515
2516         Forgot to include in my last commit: Activate code depending on WMLOptionElement/WMLOptGroupElement.
2517
2518         * dom/OptionElement.cpp:
2519         (WebCore::optionElementForElement):
2520         * dom/OptionGroupElement.cpp:
2521         (WebCore::optionGroupElementForElement):
2522
2523 2009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2524
2525         Reviewed by George Staikos.
2526
2527         Fixes: https://bugs.webkit.org/show_bug.cgi?id=23454
2528
2529         Add WML <option>/<optgroup> element support.
2530         Currently the implementation is stubbed, all relevant parts can be enabled
2531         once WMLSelectElement/SelectElement has been created.
2532
2533         * GNUmakefile.am:
2534         * WebCore.pro:
2535         * WebCore.vcproj/WebCore.vcproj:
2536         * WebCore.xcodeproj/project.pbxproj:
2537         * wml/WMLOptGroupElement.cpp: Added.
2538         (WebCore::WMLOptGroupElement::WMLOptGroupElement):
2539         (WebCore::WMLOptGroupElement::~WMLOptGroupElement):
2540         (WebCore::WMLOptGroupElement::insertBefore):
2541         (WebCore::WMLOptGroupElement::replaceChild):
2542         (WebCore::WMLOptGroupElement::removeChild):
2543         (WebCore::WMLOptGroupElement::appendChild):
2544         (WebCore::WMLOptGroupElement::removeChildren):
2545         (WebCore::ownerSelectElement):
2546         (WebCore::WMLOptGroupElement::accessKeyAction):
2547         (WebCore::WMLOptGroupElement::childrenChanged):
2548         (WebCore::WMLOptGroupElement::parseMappedAttribute):
2549         (WebCore::WMLOptGroupElement::attach):
2550         (WebCore::WMLOptGroupElement::detach):
2551         (WebCore::WMLOptGroupElement::setRenderStyle):
2552         (WebCore::WMLOptGroupElement::nonRendererRenderStyle):
2553         (WebCore::WMLOptGroupElement::groupLabelText):
2554         (WebCore::WMLOptGroupElement::recalcSelectOptions):
2555         * wml/WMLOptGroupElement.h: Added.
2556         (WebCore::WMLOptGroupElement::title):
2557         (WebCore::WMLOptGroupElement::valueMatchesRenderer):
2558         (WebCore::WMLOptGroupElement::setValueMatchesRenderer):
2559         (WebCore::WMLOptGroupElement::rendererIsNeeded):
2560         * wml/WMLOptionElement.cpp: Added.
2561         (WebCore::WMLOptionElement::WMLOptionElement):
2562         (WebCore::WMLOptionElement::~WMLOptionElement):
2563         (WebCore::ownerSelectElement):
2564         (WebCore::WMLOptionElement::accessKeyAction):
2565         (WebCore::WMLOptionElement::childrenChanged):
2566         (WebCore::WMLOptionElement::parseMappedAttribute):
2567         (WebCore::WMLOptionElement::attach):
2568         (WebCore::WMLOptionElement::detach):
2569         (WebCore::WMLOptionElement::setRenderStyle):
2570         (WebCore::WMLOptionElement::insertedIntoDocument):
2571         (WebCore::WMLOptionElement::selected):
2572         (WebCore::WMLOptionElement::setSelectedState):
2573         (WebCore::WMLOptionElement::value):
2574         (WebCore::WMLOptionElement::textIndentedToRespectGroupLabel):
2575         (WebCore::WMLOptionElement::nonRendererRenderStyle):
2576         (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
2577         * wml/WMLOptionElement.h: Added.
2578         (WebCore::WMLOptionElement::valueMatchesRenderer):
2579         (WebCore::WMLOptionElement::setValueMatchesRenderer):
2580         (WebCore::WMLOptionElement::rendererIsNeeded):
2581         * wml/WMLTagNames.in:
2582
2583 2009-01-22  Eric Roman  <eroman@chromium.org>
2584
2585         Reviewed by Eric Seidel.
2586
2587         https://bugs.webkit.org/show_bug.cgi?id=20806
2588         Send referrer for history navigations.
2589
2590         Test: http/tests/navigation/back-send-referrer.html
2591
2592         Consolidates HistoryItem::rssFeedReferrer and HistoryItem::formReferrer into a single HistoryItem::referrer property.
2593
2594         * history/HistoryItem.cpp:
2595         (WebCore::HistoryItem::HistoryItem):
2596         (WebCore::HistoryItem::referrer):
2597         (WebCore::HistoryItem::setReferrer):
2598         (WebCore::HistoryItem::formReferrer):
2599         (WebCore::HistoryItem::rssFeedReferrer):
2600         (WebCore::HistoryItem::setRSSFeedReferrer):
2601         (WebCore::HistoryItem::setFormInfoFromRequest):
2602         * history/HistoryItem.h:
2603         * loader/FrameLoader.cpp:
2604         (WebCore::FrameLoader::loadItem):
2605
2606 2009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2607
2608         Reviewed by Eric Seidel.
2609
2610         Fixes: https://bugs.webkit.org/show_bug.cgi?id=23465
2611
2612         Further enhancments to share code between HTMLOptionElement and the upcoming WMLOptionElement.
2613
2614         Rename optionText() to textIndentedToRespectGroupLabel() in (HTML)OptionElement, as it fits better.
2615         optionText() returns the options text prefixed with some spaces, in case it got an optgroup parent.
2616
2617         Add two more pure-virtual functions to OptionElement: setSelectedState(bool) & value().
2618         These aren't used outside of html/ at the moment (unlike the other pure-virtual functions
2619         used by RenderMenuList/RenderListBox) - but they will be used by SelectElement, once it exists.
2620
2621         * dom/OptionElement.cpp:
2622         (WebCore::OptionElement::setSelectedState):
2623         (WebCore::OptionElement::collectOptionText):
2624         (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
2625         (WebCore::OptionElement::collectOptionValue):
2626         (WebCore::OptionElementData::OptionElementData):
2627         (WebCore::OptionElementData::~OptionElementData):
2628         * dom/OptionElement.h:
2629         (WebCore::OptionElementData::element):
2630         (WebCore::OptionElementData::value):
2631         (WebCore::OptionElementData::setValue):
2632         (WebCore::OptionElementData::label):
2633         (WebCore::OptionElementData::setLabel):
2634         (WebCore::OptionElementData::selected):
2635         (WebCore::OptionElementData::setSelected):
2636         * html/HTMLOptionElement.cpp:
2637         (WebCore::HTMLOptionElement::HTMLOptionElement):
2638         (WebCore::HTMLOptionElement::text):
2639         (WebCore::HTMLOptionElement::parseMappedAttribute):
2640         (WebCore::HTMLOptionElement::value):
2641         (WebCore::HTMLOptionElement::selected):
2642         (WebCore::HTMLOptionElement::setSelected):
2643         (WebCore::HTMLOptionElement::setSelectedState):
2644         (WebCore::HTMLOptionElement::label):
2645         (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
2646         * html/HTMLOptionElement.h:
2647         * html/HTMLSelectElement.cpp:
2648         (WebCore::HTMLSelectElement::typeAheadFind):
2649         * rendering/RenderListBox.cpp:
2650         (WebCore::RenderListBox::updateFromElement):
2651         (WebCore::RenderListBox::paintItemForeground):
2652         * rendering/RenderMenuList.cpp:
2653         (WebCore::RenderMenuList::updateOptionsWidth):
2654         (WebCore::RenderMenuList::setTextFromOption):
2655         (WebCore::RenderMenuList::itemText):
2656
2657 2009-01-22  Chris Fleizach  <cfleizach@apple.com>
2658
2659         Reviewed by Justin Garcia.
2660
2661         Bug 23464: Infinite recursion at SelectionController::setSelection
2662         https://bugs.webkit.org/show_bug.cgi?id=23464
2663
2664         Check for conditions leading to infinite recursion.
2665
2666         * editing/SelectionController.cpp:
2667         (WebCore::SelectionController::setSelection):
2668
2669 2009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2670
2671         Not reviewed. Fix WML build problem in RenderBox.cpp, WMLNames is undefined.
2672
2673         * rendering/RenderBox.cpp:
2674
2675 2009-01-22  Adam Treat  <adam.treat@torchmobile.com>
2676
2677         Fix the Qt build after RenderBox changes.
2678
2679         * platform/qt/RenderThemeQt.cpp:
2680         (WebCore::RenderThemeQt::baselinePosition):
2681
2682 2009-01-22  David Hyatt  <hyatt@apple.com>
2683
2684         Fix regressions in list box selection on Mac.  The wrong color was being used for the list box
2685         background, and list box colors actually weren't even being properly fetched because of a bug in
2686         the RenderTheme base class.  Existing pixel tests cover the bug fix.
2687
2688         Reviewed by Jon Honeycutt
2689
2690         * rendering/RenderTheme.cpp:
2691         (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
2692         (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
2693         (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
2694         (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
2695         * rendering/RenderThemeMac.mm:
2696         (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
2697
2698 2009-01-22  David Levin  <levin@chromium.org>
2699
2700         Reviewed by Alexey Proskuryakov.
2701
2702         Bug 22720: Make XMLHttpRequest work in Workers
2703         <https://bugs.webkit.org/show_bug.cgi?id=22720>
2704
2705         Add copy/adopt for HTTPHeaderMap to allow the data to be passed across threads.
2706
2707         No observable change in behavior, so no test.
2708
2709         * GNUmakefile.am:
2710         * WebCore.pro:
2711         * WebCore.scons:
2712         * WebCore.vcproj/WebCore.vcproj:
2713         * WebCore.xcodeproj/project.pbxproj:
2714         * WebCoreSources.bkl:
2715         * platform/network/HTTPHeaderMap.cpp: Added.
2716         (WebCore::HTTPHeaderMap::copyData):
2717         (WebCore::HTTPHeaderMap::adopt):
2718         * platform/network/HTTPHeaderMap.h:
2719
2720 2009-01-21  David Hyatt  <hyatt@apple.com>
2721
2722         Back out a portion of my patch that I did not mean to land.  Revert paintOutline back to the way it
2723         was before my landing.  Fixes failing SVG focus ring tests.
2724
2725         * rendering/RenderObject.cpp:
2726         (WebCore::RenderObject::paintOutline):
2727         * rendering/RenderObject.h:
2728         * rendering/RenderPath.cpp:
2729         (WebCore::RenderPath::paint):
2730         * rendering/RenderSVGContainer.cpp:
2731         (WebCore::RenderSVGContainer::paint):
2732
2733 2009-01-21  David Hyatt  <hyatt@apple.com>
2734
2735         Fix Node's renderBox() method on Windows.
2736
2737         * dom/Node.cpp:
2738         (WebCore::Node::renderBox):
2739
2740 2009-01-21  David Hyatt  <hyatt@apple.com>
2741
2742         Fix RenderThemeSafari bustage on Win32.
2743
2744         * rendering/RenderThemeSafari.cpp:
2745         (WebCore::RenderThemeSafari::baselinePosition):
2746
2747 2009-01-21  David Hyatt  <hyatt@apple.com>
2748
2749         Fix bustage in RenderThemeWin. It's actually terrible that RenderThemeWin is using absoluteContentBox,
2750         but that's a problem for another day.
2751
2752         * rendering/RenderThemeWin.cpp:
2753         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
2754         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
2755         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
2756
2757 2009-01-21  Oliver Hunt  <oliver@apple.com>
2758
2759         Reviewed by Dave Hyatt.
2760
2761         Bug 23470: Crash when page load occurs while processing scroll event with MallocScribble enabled
2762         <https://bugs.webkit.org/show_bug.cgi?id=23470>
2763
2764         Add a RefPtr protector to handleWheelEvent to guard against destruction
2765         while processing the scroll event.  Alas the absurd set of circumstances
2766         required to trigger this do not appear to be reproducible in DRT.
2767
2768         * page/EventHandler.cpp:
2769         (WebCore::EventHandler::handleWheelEvent):
2770
2771 2009-01-21  David Hyatt  <hyatt@apple.com>
2772
2773         Fix for https://bugs.webkit.org/show_bug.cgi?id=23453
2774
2775         Devirtualize the width/height/x/y methods of the render tree.  The methods are now non-virtual on RenderBox.
2776         Many functions that were previously in RenderObject.cpp are now in RenderBox.cpp.
2777
2778         Reviewed by Eric Seidel and Darin Adler
2779
2780         * WebCore.base.exp:
2781         * css/CSSComputedStyleDeclaration.cpp:
2782         (WebCore::sizingBox):
2783         * dom/ContainerNode.cpp:
2784         (WebCore::ContainerNode::getUpperLeftCorner):
2785         (WebCore::ContainerNode::getLowerRightCorner):
2786         * dom/Element.cpp:
2787         (WebCore::Element::offsetLeft):
2788         (WebCore::Element::offsetTop):
2789         (WebCore::Element::offsetWidth):
2790         (WebCore::Element::offsetHeight):
2791         (WebCore::Element::offsetParent):
2792         (WebCore::Element::clientLeft):
2793         (WebCore::Element::clientTop):
2794         (WebCore::Element::clientWidth):
2795         (WebCore::Element::clientHeight):
2796         (WebCore::Element::scrollLeft):
2797         (WebCore::Element::scrollTop):
2798         (WebCore::Element::setScrollLeft):
2799         (WebCore::Element::setScrollTop):
2800         (WebCore::Element::scrollWidth):
2801         (WebCore::Element::scrollHeight):
2802         * dom/Node.cpp:
2803         (WebCore::Node::renderBox):
2804         (WebCore::Node::getRect):
2805         * dom/Node.h:
2806         * dom/Position.cpp:
2807         (WebCore::endsOfNodeAreVisuallyDistinctPositions):
2808         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
2809         (WebCore::Position::isCandidate):
2810         * dom/PositionIterator.cpp:
2811         (WebCore::PositionIterator::isCandidate):
2812         * editing/CompositeEditCommand.cpp:
2813         (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
2814         * editing/DeleteButtonController.cpp:
2815         (WebCore::isDeletableElement):
2816         * editing/DeleteSelectionCommand.cpp:
2817         (WebCore::DeleteSelectionCommand::removeNode):
2818         * editing/Editor.cpp:
2819         (WebCore::Editor::insideVisibleArea):
2820         * editing/EditorCommand.cpp:
2821         (WebCore::verticalScrollDistance):
2822         * html/HTMLAnchorElement.cpp:
2823         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
2824         * html/HTMLCanvasElement.cpp:
2825         (WebCore::HTMLCanvasElement::willDraw):
2826         * html/HTMLFormControlElement.cpp:
2827         (WebCore::HTMLFormControlElement::isFocusable):
2828         * html/HTMLFrameElementBase.cpp:
2829         (WebCore::HTMLFrameElementBase::width):
2830         (WebCore::HTMLFrameElementBase::height):
2831         * html/HTMLImageElement.cpp:
2832         (WebCore::HTMLImageElement::width):
2833         (WebCore::HTMLImageElement::height):
2834         * inspector/InspectorController.cpp:
2835         (WebCore::InspectorController::drawNodeHighlight):
2836         * page/AccessibilityRenderObject.cpp:
2837         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2838         * page/FrameView.cpp:
2839         (WebCore::FrameView::createScrollbar):
2840         (WebCore::FrameView::updateDashboardRegions):
2841         * page/animation/AnimationBase.cpp:
2842         (WebCore::blendFunc):
2843         * rendering/HitTestResult.cpp:
2844         (WebCore::HitTestResult::imageRect):
2845         * rendering/InlineBox.cpp:
2846         (WebCore::InlineBox::renderBox):
2847         (WebCore::InlineBox::adjustPosition):
2848         * rendering/InlineBox.h:
2849         * rendering/InlineFlowBox.cpp:
2850         (WebCore::InlineFlowBox::placeBoxesHorizontally):
2851         (WebCore::InlineFlowBox::verticallyAlignBoxes):
2852         (WebCore::InlineFlowBox::placeBoxesVertically):
2853         * rendering/InlineFlowBox.h:
2854         * rendering/RenderApplet.cpp:
2855         (WebCore::RenderApplet::createWidgetIfNecessary):
2856         * rendering/RenderBlock.cpp:
2857         (WebCore::RenderBlock::overflowHeight):
2858         (WebCore::RenderBlock::overflowWidth):
2859         (WebCore::RenderBlock::overflowRect):
2860         (WebCore::RenderBlock::isSelfCollapsingBlock):
2861         (WebCore::RenderBlock::layout):
2862         (WebCore::RenderBlock::layoutBlock):
2863         (WebCore::RenderBlock::adjustPositionedBlock):
2864         (WebCore::RenderBlock::adjustFloatingBlock):
2865         (WebCore::RenderBlock::handleSpecialChild):
2866         (WebCore::RenderBlock::handlePositionedChild):
2867         (WebCore::RenderBlock::handleFloatingChild):
2868         (WebCore::RenderBlock::handleCompactChild):
2869         (WebCore::RenderBlock::insertCompactIfNeeded):
2870         (WebCore::RenderBlock::handleRunInChild):
2871         (WebCore::RenderBlock::collapseMargins):
2872         (WebCore::RenderBlock::clearFloatsIfNeeded):
2873         (WebCore::RenderBlock::estimateVerticalPosition):
2874         (WebCore::RenderBlock::determineHorizontalPosition):
2875         (WebCore::RenderBlock::handleBottomOfBlock):
2876         (WebCore::RenderBlock::layoutBlockChildren):
2877         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
2878         (WebCore::RenderBlock::layoutPositionedObjects):
2879         (WebCore::RenderBlock::markPositionedObjectsForLayout):
2880         (WebCore::RenderBlock::repaintOverhangingFloats):
2881         (WebCore::RenderBlock::paint):
2882         (WebCore::RenderBlock::paintChildren):
2883         (WebCore::RenderBlock::paintObject):
2884         (WebCore::RenderBlock::paintFloats):
2885         (WebCore::RenderBlock::paintContinuationOutlines):
2886         (WebCore::clipOutPositionedObjects):
2887         (WebCore::RenderBlock::fillSelectionGaps):
2888         (WebCore::RenderBlock::fillBlockSelectionGaps):
2889         (WebCore::RenderBlock::leftSelectionOffset):
2890         (WebCore::RenderBlock::rightSelectionOffset):
2891         (WebCore::RenderBlock::insertPositionedObject):
2892         (WebCore::RenderBlock::removePositionedObject):
2893         (WebCore::RenderBlock::removePositionedObjects):
2894         (WebCore::RenderBlock::insertFloatingObject):
2895         (WebCore::RenderBlock::removeFloatingObject):
2896         (WebCore::RenderBlock::positionNewFloats):
2897         (WebCore::RenderBlock::newLine):
2898         (WebCore::RenderBlock::lowestPosition):
2899         (WebCore::RenderBlock::rightmostPosition):
2900         (WebCore::RenderBlock::leftmostPosition):
2901         (WebCore::RenderBlock::clearFloats):
2902         (WebCore::RenderBlock::addOverhangingFloats):
2903         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
2904         (WebCore::RenderBlock::getClearDelta):
2905         (WebCore::RenderBlock::nodeAtPoint):
2906         (WebCore::RenderBlock::positionForCoordinates):
2907         (WebCore::RenderBlock::layoutColumns):
2908         (WebCore::RenderBlock::getBaselineOfFirstLineBox):
2909         (WebCore::RenderBlock::getBaselineOfLastLineBox):
2910         (WebCore::getHeightForLineCount):
2911         (WebCore::RenderBlock::adjustForBorderFit):
2912         * rendering/RenderBlock.h:
2913         (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
2914         (WebCore::RenderBlock::hasOverhangingFloats):
2915         (WebCore::RenderBlock::CompactInfo::compact):
2916         (WebCore::RenderBlock::CompactInfo::set):
2917         * rendering/RenderBox.cpp:
2918         (WebCore::RenderBox::RenderBox):
2919         (WebCore::RenderBox::offsetLeft):
2920         (WebCore::RenderBox::offsetTop):
2921         (WebCore::RenderBox::offsetParent):
2922         (WebCore::RenderBox::clientWidth):
2923         (WebCore::RenderBox::clientHeight):
2924         (WebCore::RenderBox::scrollWidth):
2925         (WebCore::RenderBox::scrollHeight):
2926         (WebCore::RenderBox::scrollLeft):
2927         (WebCore::RenderBox::scrollTop):
2928         (WebCore::RenderBox::setScrollLeft):
2929         (WebCore::RenderBox::setScrollTop):
2930         (WebCore::RenderBox::absoluteRects):
2931         (WebCore::RenderBox::absoluteQuads):
2932         (WebCore::RenderBox::absoluteContentBox):
2933         (WebCore::RenderBox::absoluteContentQuad):
2934         (WebCore::RenderBox::absoluteOutlineBounds):
2935         (WebCore::RenderBox::addFocusRingRects):
2936         (WebCore::RenderBox::reflectionBox):
2937         (WebCore::RenderBox::reflectionOffset):
2938         (WebCore::RenderBox::reflectedRect):
2939         (WebCore::RenderBox::overrideWidth):
2940         (WebCore::RenderBox::overrideHeight):
2941         (WebCore::RenderBox::nodeAtPoint):
2942         (WebCore::RenderBox::paint):
2943         (WebCore::RenderBox::maskClipRect):
2944         (WebCore::RenderBox::repaintLayerRectsForImage):
2945         (WebCore::RenderBox::paintCustomHighlight):
2946         (WebCore::RenderBox::getOverflowClipRect):
2947         (WebCore::RenderBox::getClipRect):
2948         (WebCore::RenderBox::containingBlockWidth):
2949         (WebCore::RenderBox::localToAbsolute):
2950         (WebCore::RenderBox::offsetFromContainer):
2951         (WebCore::RenderBox::position):
2952         (WebCore::RenderBox::computeAbsoluteRepaintRect):
2953         (WebCore::RenderBox::repaintDuringLayoutIfMoved):
2954         (WebCore::RenderBox::calcWidth):
2955         (WebCore::RenderBox::calcWidthUsing):
2956         (WebCore::RenderBox::calcHorizontalMargins):
2957         (WebCore::RenderBox::calcHeight):
2958         (WebCore::RenderBox::calcPercentageHeight):
2959         (WebCore::RenderBox::calcReplacedHeightUsing):
2960         (WebCore::RenderBox::containingBlockWidthForPositioned):
2961         (WebCore::RenderBox::containingBlockHeightForPositioned):
2962         (WebCore::RenderBox::calcAbsoluteHorizontal):
2963         (WebCore::RenderBox::calcAbsoluteVertical):
2964         (WebCore::RenderBox::calcAbsoluteVerticalValues):
2965         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
2966         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
2967         (WebCore::RenderBox::localCaretRect):
2968         (WebCore::RenderBox::lowestPosition):
2969         (WebCore::RenderBox::rightmostPosition):
2970         (WebCore::RenderBox::leftmostPosition):
2971         (WebCore::RenderBox::localTransform):
2972         * rendering/RenderBox.h:
2973         (WebCore::):
2974         (WebCore::RenderBox::x):
2975         (WebCore::RenderBox::y):
2976         (WebCore::RenderBox::width):
2977         (WebCore::RenderBox::height):
2978         (WebCore::RenderBox::setX):
2979         (WebCore::RenderBox::setY):
2980         (WebCore::RenderBox::setWidth):
2981         (WebCore::RenderBox::setHeight):
2982         (WebCore::RenderBox::location):
2983         (WebCore::RenderBox::size):
2984         (WebCore::RenderBox::setLocation):
2985         (WebCore::RenderBox::setSize):
2986         (WebCore::RenderBox::move):
2987         (WebCore::RenderBox::frameRect):
2988         (WebCore::RenderBox::setFrameRect):
2989         (WebCore::RenderBox::borderBoxRect):
2990         (WebCore::RenderBox::contentBoxRect):
2991         (WebCore::RenderBox::previousSiblingBox):
2992         (WebCore::RenderBox::nextSiblingBox):
2993         (WebCore::RenderBox::parentBox):
2994         (WebCore::RenderBox::overflowHeight):
2995         (WebCore::RenderBox::overflowWidth):
2996         (WebCore::RenderBox::setOverflowHeight):
2997         (WebCore::RenderBox::setOverflowWidth):
2998         (WebCore::RenderBox::overflowLeft):
2999         (WebCore::RenderBox::overflowTop):
3000         (WebCore::RenderBox::overflowRect):
3001         (WebCore::RenderBox::contentWidth):
3002         (WebCore::RenderBox::contentHeight):
3003         (WebCore::RenderBox::offsetWidth):
3004         (WebCore::RenderBox::offsetHeight):
3005         (WebCore::RenderBox::clientLeft):
3006         (WebCore::RenderBox::clientTop):
3007         (WebCore::RenderBox::availableWidth):
3008         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
3009         * rendering/RenderButton.cpp:
3010         (WebCore::RenderButton::controlClipRect):
3011         * rendering/RenderContainer.cpp:
3012         (WebCore::RenderContainer::layout):
3013         (WebCore::RenderContainer::positionForCoordinates):
3014         * rendering/RenderContainer.h:
3015         (WebCore::RenderContainer::firstChildBox):
3016         (WebCore::RenderContainer::lastChildBox):
3017         * rendering/RenderFieldset.cpp:
3018         (WebCore::RenderFieldset::calcPrefWidths):
3019         (WebCore::RenderFieldset::layoutLegend):
3020         (WebCore::RenderFieldset::findLegend):
3021         (WebCore::RenderFieldset::paintBoxDecorations):
3022         (WebCore::RenderFieldset::paintMask):
3023         * rendering/RenderFieldset.h:
3024         * rendering/RenderFileUploadControl.cpp:
3025         (WebCore::RenderFileUploadControl::maxFilenameWidth):
3026         (WebCore::RenderFileUploadControl::paintObject):
3027         * rendering/RenderFlexibleBox.cpp:
3028         (WebCore::FlexBoxIterator::FlexBoxIterator):
3029         (WebCore::FlexBoxIterator::first):
3030         (WebCore::FlexBoxIterator::next):
3031         (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
3032         (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
3033         (WebCore::RenderFlexibleBox::layoutBlock):
3034         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3035         (WebCore::RenderFlexibleBox::layoutVerticalBox):
3036         (WebCore::RenderFlexibleBox::placeChild):
3037         (WebCore::RenderFlexibleBox::allowedChildFlex):
3038         * rendering/RenderFlexibleBox.h:
3039         * rendering/RenderFlow.cpp:
3040         (WebCore::RenderFlow::absoluteClippedOverflowRect):
3041         (WebCore::RenderFlow::lowestPosition):
3042         (WebCore::RenderFlow::rightmostPosition):
3043         (WebCore::RenderFlow::leftmostPosition):
3044         (WebCore::RenderFlow::localCaretRect):
3045         (WebCore::RenderFlow::addFocusRingRects):
3046         * rendering/RenderFrameSet.cpp:
3047         (WebCore::RenderFrameSet::paint):
3048         (WebCore::RenderFrameSet::layout):
3049         (WebCore::RenderFrameSet::positionFrames):
3050         * rendering/RenderHTMLCanvas.cpp:
3051         (WebCore::RenderHTMLCanvas::paintReplaced):
3052         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
3053         * rendering/RenderImage.cpp:
3054         (WebCore::RenderImage::imageChanged):
3055         (WebCore::RenderImage::paintReplaced):
3056         (WebCore::RenderImage::nodeAtPoint):
3057         (WebCore::RenderImage::calcReplacedWidth):
3058         * rendering/RenderInline.cpp:
3059         (WebCore::RenderInline::absoluteRects):
3060         (WebCore::RenderInline::boundingBoxWidth):
3061         (WebCore::RenderInline::boundingBoxHeight):
3062         (WebCore::RenderInline::positionForCoordinates):
3063         * rendering/RenderInline.h:
3064         (WebCore::RenderInline::offsetWidth):
3065         (WebCore::RenderInline::offsetHeight):
3066         * rendering/RenderLayer.cpp:
3067         (WebCore::RenderLayer::updateTransform):
3068         (WebCore::RenderLayer::updateLayerPosition):
3069         (WebCore::RenderLayer::scrollbarCornerPresent):
3070         (WebCore::RenderLayer::createScrollbar):
3071         (WebCore::RenderLayer::positionOverflowControls):
3072         (WebCore::RenderLayer::paintScrollCorner):
3073         (WebCore::RenderLayer::paintResizer):
3074         (WebCore::RenderLayer::paintLayer):
3075         (WebCore::RenderLayer::hitTestLayer):
3076         (WebCore::RenderLayer::calculateRects):
3077         (WebCore::RenderLayer::boundingBox):
3078         * rendering/RenderListBox.cpp:
3079         (WebCore::RenderListBox::calcHeight):
3080         (WebCore::RenderListBox::controlClipRect):
3081         * rendering/RenderListItem.cpp:
3082         (WebCore::RenderListItem::positionListMarker):
3083         (WebCore::RenderListItem::paint):
3084         * rendering/RenderListMarker.cpp:
3085         (WebCore::RenderListMarker::paint):
3086         (WebCore::RenderListMarker::layout):
3087         (WebCore::RenderListMarker::imageChanged):
3088         (WebCore::RenderListMarker::getRelativeMarkerRect):
3089         (WebCore::RenderListMarker::selectionRect):
3090         * rendering/RenderMarquee.cpp:
3091         (WebCore::RenderMarquee::computePosition):
3092         * rendering/RenderMedia.cpp:
3093         (WebCore::RenderMedia::layout):
3094         (WebCore::RenderMedia::lowestPosition):
3095         (WebCore::RenderMedia::rightmostPosition):
3096         (WebCore::RenderMedia::leftmostPosition):
3097         * rendering/RenderMenuList.cpp:
3098         (WebCore::RenderMenuList::controlClipRect):
3099         * rendering/RenderObject.cpp:
3100         (WebCore::RenderObject::RenderObject):
3101         (WebCore::RenderObject::markAllDescendantsWithFloatsForLayout):
3102         (WebCore::RenderObject::paintOutline):
3103         (WebCore::RenderObject::addLineBoxRects):
3104         (WebCore::RenderObject::absoluteBoundingBoxRect):
3105         (WebCore::RenderObject::addAbsoluteRectForLayer):
3106         (WebCore::RenderObject::paintingRootRect):
3107         (WebCore::RenderObject::container):
3108         (WebCore::RenderObject::removeFromObjectLists):
3109         (WebCore::RenderObject::updateHitTestResult):
3110         (WebCore::RenderObject::addDashboardRegions):
3111         (WebCore::RenderObject::localTransform):
3112         * rendering/RenderObject.h:
3113         (WebCore::RenderObject::isBox):
3114         (WebCore::RenderObject::hasMask):
3115         (WebCore::RenderObject::setIsText):
3116         (WebCore::RenderObject::setIsBox):
3117         (WebCore::RenderObject::borderTop):
3118         (WebCore::RenderObject::borderBottom):
3119         (WebCore::RenderObject::absoluteRects):
3120         (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
3121         (WebCore::RenderObject::absoluteQuads):
3122         (WebCore::RenderObject::hasReflection):
3123         (WebCore::RenderObject::addFocusRingRects):
3124         (WebCore::RenderObject::absoluteOutlineBounds):
3125         * rendering/RenderPart.cpp:
3126         (WebCore::RenderPart::updateWidgetPosition):
3127         * rendering/RenderPath.cpp:
3128         (WebCore::RenderPath::layout):
3129         (WebCore::RenderPath::paint):
3130         (WebCore::RenderPath::absoluteOutlineBounds):
3131         * rendering/RenderPath.h:
3132         * rendering/RenderReplaced.cpp:
3133         (WebCore::RenderReplaced::layout):
3134         (WebCore::RenderReplaced::paint):
3135         (WebCore::RenderReplaced::shouldPaint):
3136         (WebCore::RenderReplaced::positionForCoordinates):
3137         (WebCore::RenderReplaced::localSelectionRect):
3138         (WebCore::RenderReplaced::adjustOverflowForBoxShadow):
3139         (WebCore::RenderReplaced::overflowRect):
3140         * rendering/RenderReplica.cpp:
3141         (WebCore::RenderReplica::layout):
3142         (WebCore::RenderReplica::calcPrefWidths):
3143         (WebCore::RenderReplica::paint):
3144         * rendering/RenderSVGContainer.cpp:
3145         (WebCore::RenderSVGContainer::paint):
3146         (WebCore::RenderSVGContainer::absoluteOutlineBounds):
3147         * rendering/RenderSVGContainer.h:
3148         (WebCore::RenderSVGContainer::width):
3149         (WebCore::RenderSVGContainer::height):
3150         * rendering/RenderSVGImage.cpp:
3151         (WebCore::RenderSVGImage::layout):
3152         * rendering/RenderSVGInlineText.cpp:
3153         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
3154         (WebCore::RenderSVGInlineText::positionForCoordinates):
3155         * rendering/RenderSVGRoot.cpp:
3156         (WebCore::RenderSVGRoot::layout):
3157         (WebCore::RenderSVGRoot::applyContentTransforms):
3158         (WebCore::RenderSVGRoot::paint):
3159         (WebCore::RenderSVGRoot::absoluteTransform):
3160         (WebCore::RenderSVGRoot::nodeAtPoint):
3161         * rendering/RenderSVGTSpan.cpp:
3162         (WebCore::RenderSVGTSpan::absoluteRects):
3163         (WebCore::RenderSVGTSpan::absoluteQuads):
3164         * rendering/RenderSVGText.cpp:
3165         (WebCore::RenderSVGText::layout):
3166         (WebCore::RenderSVGText::relativeBBox):
3167         * rendering/RenderSVGTextPath.cpp:
3168         (WebCore::RenderSVGTextPath::absoluteRects):
3169         (WebCore::RenderSVGTextPath::absoluteQuads):
3170         * rendering/RenderSVGViewportContainer.cpp:
3171         (WebCore::RenderSVGViewportContainer::nodeAtPoint):
3172         * rendering/RenderScrollbar.cpp:
3173         (WebCore::RenderScrollbar::createCustomScrollbar):
3174         (WebCore::RenderScrollbar::RenderScrollbar):
3175         (WebCore::RenderScrollbar::setParent):
3176         * rendering/RenderScrollbar.h:
3177         (WebCore::RenderScrollbar::owningRenderer):
3178         * rendering/RenderScrollbarPart.cpp:
3179         (WebCore::RenderScrollbarPart::layout):
3180         (WebCore::RenderScrollbarPart::layoutHorizontalPart):
3181         (WebCore::RenderScrollbarPart::layoutVerticalPart):
3182         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
3183         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
3184         (WebCore::RenderScrollbarPart::paintIntoRect):
3185         * rendering/RenderSlider.cpp:
3186         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
3187         (WebCore::RenderSlider::layout):
3188         (WebCore::RenderSlider::mouseEventIsInThumb):
3189         (WebCore::RenderSlider::positionForOffset):
3190         (WebCore::RenderSlider::trackSize):
3191         * rendering/RenderTable.cpp:
3192         (WebCore::RenderTable::calcWidth):
3193         (WebCore::RenderTable::layout):
3194         (WebCore::RenderTable::paint):
3195         (WebCore::RenderTable::getBaselineOfFirstLineBox):
3196         * rendering/RenderTableCell.cpp:
3197         (WebCore::RenderTableCell::updateWidth):
3198         (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
3199         (WebCore::RenderTableCell::localToAbsolute):
3200         (WebCore::RenderTableCell::absoluteToLocal):
3201         (WebCore::RenderTableCell::localToAbsoluteQuad):
3202         (WebCore::RenderTableCell::paint):
3203         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
3204         * rendering/RenderTableCell.h:
3205         * rendering/RenderTableSection.cpp:
3206         (WebCore::RenderTableSection::addChild):
3207         (WebCore::RenderTableSection::addCell):
3208         (WebCore::RenderTableSection::setCellWidths):
3209         (WebCore::RenderTableSection::calcRowHeight):
3210         (WebCore::RenderTableSection::layoutRows):
3211         (WebCore::RenderTableSection::lowestPosition):
3212         (WebCore::RenderTableSection::rightmostPosition):
3213         (WebCore::RenderTableSection::leftmostPosition):
3214         (WebCore::RenderTableSection::getBaselineOfFirstLineBox):
3215         (WebCore::RenderTableSection::paint):
3216         (WebCore::RenderTableSection::recalcCells):
3217         (WebCore::RenderTableSection::nodeAtPoint):
3218         * rendering/RenderTableSection.h:
3219         (WebCore::RenderTableSection::overflowWidth):
3220         (WebCore::RenderTableSection::overflowHeight):
3221         * rendering/RenderText.cpp:
3222         (WebCore::RenderText::RenderText):
3223         (WebCore::RenderText::boundingBoxX):
3224         (WebCore::RenderText::boundingBoxY):
3225         (WebCore::RenderText::firstRunX):
3226         (WebCore::RenderText::firstRunY):
3227         (WebCore::RenderText::boundingBoxHeight):
3228         (WebCore::RenderText::boundingBoxWidth):
3229         * rendering/RenderText.h:
3230         * rendering/RenderTextControl.cpp:
3231         (WebCore::RenderTextControl::textBlockHeight):
3232         (WebCore::RenderTextControl::textBlockWidth):
3233         (WebCore::RenderTextControl::setSelectionRange):
3234         (WebCore::RenderTextControl::calcHeight):
3235         (WebCore::RenderTextControl::hitInnerTextBlock):
3236         (WebCore::RenderTextControl::controlClipRect):
3237         * rendering/RenderTextControlMultiLine.cpp:
3238         (WebCore::RenderTextControlMultiLine::layout):
3239         (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
3240         * rendering/RenderTextControlSingleLine.cpp:
3241         (WebCore::RenderTextControlSingleLine::paint):
3242         (WebCore::RenderTextControlSingleLine::layout):
3243         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
3244         (WebCore::RenderTextControlSingleLine::forwardEvent):
3245         (WebCore::RenderTextControlSingleLine::textBlockWidth):
3246         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
3247         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
3248         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
3249         * rendering/RenderTheme.cpp:
3250         (WebCore::RenderTheme::hitTestMediaControlPart):
3251         (WebCore::RenderTheme::baselinePosition):
3252         * rendering/RenderThemeMac.mm:
3253         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
3254         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
3255         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
3256         (WebCore::RenderThemeMac::hitTestMediaControlPart):
3257         * rendering/RenderTreeAsText.cpp:
3258         (WebCore::operator<<):
3259         * rendering/RenderVideo.cpp:
3260         (WebCore::RenderVideo::videoBox):
3261         * rendering/RenderView.cpp:
3262         (WebCore::RenderView::RenderView):
3263         (WebCore::RenderView::calcHeight):
3264         (WebCore::RenderView::calcWidth):
3265         (WebCore::RenderView::layout):
3266         (WebCore::RenderView::viewRect):
3267         (WebCore::RenderView::docHeight):
3268         (WebCore::RenderView::docWidth):
3269         (WebCore::RenderView::setBestTruncatedAt):
3270         * rendering/RenderView.h:
3271         * rendering/RenderWidget.cpp:
3272         (WebCore::RenderWidget::paint):
3273         (WebCore::RenderWidget::updateWidgetPosition):
3274         (WebCore::RenderWidget::nodeAtPoint):
3275         * rendering/RootInlineBox.h:
3276         (WebCore::RootInlineBox::floats):
3277         (WebCore::RootInlineBox::floatsPtr):
3278         * rendering/SVGInlineFlowBox.cpp:
3279         (WebCore::SVGInlineFlowBox::verticallyAlignBoxes):
3280         * rendering/SVGInlineFlowBox.h:
3281         * rendering/SVGRenderTreeAsText.cpp:
3282         (WebCore::operator<<):
3283         (WebCore::write):
3284         * rendering/SVGRootInlineBox.cpp:
3285         (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
3286         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
3287         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
3288         * rendering/SVGRootInlineBox.h:
3289         * rendering/bidi.cpp:
3290         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
3291         (WebCore::RenderBlock::computeVerticalPositionsForLine):
3292         (WebCore::RenderBlock::layoutInlineChildren):
3293         (WebCore::RenderBlock::determineStartPosition):
3294         (WebCore::RenderBlock::matchedEndLine):
3295         (WebCore::RenderBlock::skipTrailingWhitespace):
3296         (WebCore::RenderBlock::skipLeadingWhitespace):
3297         (WebCore::RenderBlock::fitBelowFloats):
3298         (WebCore::RenderBlock::findNextLineBreak):
3299         (WebCore::RenderBlock::checkLinesForOverflow):
3300         * svg/SVGLength.cpp:
3301         (WebCore::SVGLength::PercentageOfViewport):
3302
3303 2009-01-21  Anders Carlsson  <andersca@apple.com>
3304
3305         Reviewed by Sam Weinig.
3306
3307         * WebCore.LP64.exp:
3308         Add some bridge related symbols.
3309         
3310         * WebCore.xcodeproj/project.pbxproj:
3311         Make runtime_object.h a private header.
3312
3313 2009-01-20  David Levin  <levin@chromium.org>
3314
3315         Reviewed by Alexey Proskuryakov.
3316
3317         Bug 22720: Make XMLHttpRequest work in Workers
3318         <https://bugs.webkit.org/show_bug.cgi?id=22720>
3319
3320         More removal of document usage from XMLHttpRequest.
3321         * Abstracted away the sync and async requests behind the ThreadableLoader class, which
3322           will get an implementation for Workers.  ThreadableLoader follows the same model as
3323           SubresourceLoader because DocumentThreadableLoader is a thin wrapper around SubresourceLoader.
3324           Also, WorkerThreadableLoader (coming soon) will use DocumentThreadableLoader to get things done.
3325         * Consolidated dashboard compatibility checks into usesDashboardBackwardCompatibilityMode
3326           which handles workers.
3327
3328         No observable change in behavior, so no test.
3329
3330         * GNUmakefile.am:
3331         * WebCore.pro:
3332         * WebCore.scons:
3333         * WebCore.vcproj/WebCore.vcproj:
3334         * WebCore.xcodeproj/project.pbxproj:
3335         * WebCoreSources.bkl:
3336         * loader/DocumentThreadableLoader.cpp: Added.
3337         (WebCore::DocumentThreadableLoader::create):
3338         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
3339         (WebCore::DocumentThreadableLoader::~DocumentThreadableLoader):
3340         (WebCore::DocumentThreadableLoader::cancel):
3341         (WebCore::DocumentThreadableLoader::willSendRequest):
3342         (WebCore::DocumentThreadableLoader::didSendData):
3343         (WebCore::DocumentThreadableLoader::didReceiveResponse):
3344         (WebCore::DocumentThreadableLoader::didReceiveData):
3345         (WebCore::DocumentThreadableLoader::didFinishLoading):
3346         (WebCore::DocumentThreadableLoader::didFail):
3347         (WebCore::DocumentThreadableLoader::receivedCancellation):
3348         * loader/DocumentThreadableLoader.h: Added.
3349         (WebCore::DocumentThreadableLoader::refThreadableLoader):
3350         (WebCore::DocumentThreadableLoader::derefThreadableLoader):
3351         * loader/SubresourceLoaderClient.h:
3352         (WebCore::SubresourceLoaderClient::didReceiveData):
3353         * loader/ThreadableLoader.cpp: Added.
3354         (WebCore::ThreadableLoader::create):
3355         (WebCore::ThreadableLoader::loadResourceSynchronously):
3356         * loader/ThreadableLoader.h: Added.
3357         (WebCore::):
3358         (WebCore::ThreadableLoader::ref):
3359         (WebCore::ThreadableLoader::deref):
3360         (WebCore::ThreadableLoader::~ThreadableLoader):
3361         * loader/ThreadableLoaderClient.h: Added.
3362         (WebCore::ThreadableLoaderClient::didSendData):
3363         (WebCore::ThreadableLoaderClient::didReceiveResponse):
3364         (WebCore::ThreadableLoaderClient::didReceiveData):
3365         (WebCore::ThreadableLoaderClient::didFinishLoading):
3366         (WebCore::ThreadableLoaderClient::didFail):
3367         (WebCore::ThreadableLoaderClient::didGetCancelled):
3368         (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
3369         (WebCore::ThreadableLoaderClient::~ThreadableLoaderClient):
3370         * xml/XMLHttpRequest.cpp:
3371         (WebCore::XMLHttpRequest::XMLHttpRequest):
3372         (WebCore::XMLHttpRequest::usesDashboardBackwardCompatibilityMode):
3373         (WebCore::XMLHttpRequest::send):
3374         (WebCore::XMLHttpRequest::loadRequestSynchronously):
3375         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
3376         (WebCore::XMLHttpRequest::setRequestHeader):
3377         (WebCore::XMLHttpRequest::processSyncLoadResults):
3378         (WebCore::XMLHttpRequest::didFail):
3379         (WebCore::XMLHttpRequest::didGetCancelled):
3380         (WebCore::XMLHttpRequest::didFinishLoading):
3381         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
3382         (WebCore::XMLHttpRequest::didSendData):
3383         (WebCore::XMLHttpRequest::didReceiveResponse):
3384         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3385         (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
3386         (WebCore::XMLHttpRequest::didReceiveData):
3387         * xml/XMLHttpRequest.h:
3388
3389 2009-01-19  Chris Marrin  <cmarrin@apple.com>
3390
3391         Reviewed by David Hyatt.
3392
3393         Fix for https://bugs.webkit.org/show_bug.cgi?id=23317
3394
3395         The high CPU usage was really from repeatedly firing transitions caused
3396         by a bug in the way we handle background-color animations. If animating 
3397         from a valid background color to no background color, we sometimes left
3398         (based on timing) the background color as transparent black, but valid
3399         rather than invalid, which it should be. Fixing that got rid of the
3400         repeated firing.
3401
3402         But we really were doing more expensive iteration of all objects with
3403         animations or transitions on them (running or not). So I added two
3404         optimizations to quickly short circuit when an object had no running
3405         animations or transitions. Things are now as zippy as ever.
3406
3407         Test: transitions/repeated-firing-background-color.html
3408
3409         * page/animation/AnimationBase.cpp:
3410         (WebCore::blendFunc):
3411         * page/animation/AnimationController.cpp:
3412         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
3413         * page/animation/CompositeAnimation.cpp:
3414         (WebCore::CompositeAnimationPrivate::hasAnimations):
3415         (WebCore::CompositeAnimationPrivate::clearRenderer):
3416         (WebCore::CompositeAnimationPrivate::animate):
3417         (WebCore::CompositeAnimationPrivate::setAnimating):
3418         (WebCore::CompositeAnimationPrivate::willNeedService):
3419         (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
3420         (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
3421         (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
3422         (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
3423         (WebCore::CompositeAnimationPrivate::suspendAnimations):
3424         (WebCore::CompositeAnimationPrivate::resumeAnimations):
3425         (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
3426         (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
3427         (WebCore::CompositeAnimationPrivate::styleAvailable):
3428         (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
3429         (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):
3430         (WebCore::CompositeAnimation::hasAnimations):
3431         * page/animation/CompositeAnimation.h:
3432
3433 2009-01-21  Eric Seidel  <eric@webkit.org>
3434
3435         Reviewed by Justin Garcia.
3436
3437         Remove the style='' turds left by some editing commands
3438         https://bugs.webkit.org/show_bug.cgi?id=23463
3439
3440         Test: editing/execCommand/toggle-styles.html
3441
3442         * editing/ApplyStyleCommand.cpp:
3443         (WebCore::ApplyStyleCommand::removeCSSStyle): check if we just removed the last CSS property and remove the style attribute as well
3444         * editing/CompositeEditCommand.cpp:
3445         (WebCore::CompositeEditCommand::removeNodeAttribute): remove extra ;
3446
3447 2009-01-21  Eric Seidel  <eric@webkit.org>
3448
3449         No review, build fix.
3450
3451         Fix release-only build failure (and do a tiny code-cleanup).
3452
3453         * editing/ApplyStyleCommand.cpp:
3454         (WebCore::createFontElement):
3455         (WebCore::createStyleSpanElement):
3456         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3457
3458 2009-01-21  Chris Fleizach  <cfleizach@apple.com>
3459
3460         Reviewed by Beth Dakin.
3461
3462         Bug 23443: Table accessibility should be re-enabled after fixing crash that occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() 
3463         https://bugs.webkit.org/show_bug.cgi?id=23443
3464
3465         Test: accessibility/table-modification-crash.html
3466
3467         * page/AccessibilityObject.cpp:
3468         (WebCore::AccessibilityObject::updateBackingStore):
3469         * page/AccessibilityObject.h:
3470         * page/AccessibilityRenderObject.cpp:
3471         (WebCore::AccessibilityRenderObject::childrenChanged):
3472         (WebCore::AccessibilityRenderObject::children):
3473         (WebCore::AccessibilityRenderObject::updateBackingStore):
3474         * page/AccessibilityRenderObject.h:
3475         (WebCore::AccessibilityRenderObject::markChildrenDirty):
3476         * page/AccessibilityTable.cpp:
3477         (WebCore::AccessibilityTable::AccessibilityTable):
3478         * page/mac/AccessibilityObjectWrapper.mm:
3479         (-[AccessibilityObjectWrapper accessibilityActionNames]):
3480         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3481         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3482         (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
3483         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
3484         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
3485         (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
3486         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
3487         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
3488         (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
3489         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
3490         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3491         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
3492         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
3493         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
3494         * rendering/RenderObject.cpp:
3495         (WebCore::RenderObject::destroy):
3496         * rendering/RenderWidget.cpp:
3497         (WebCore::RenderWidget::destroy):
3498
3499 2009-01-16  Eric Seidel  <eric@webkit.org>
3500
3501         Reviewed by Justin Garcia.
3502
3503         Fix execCommand() 'super' and 'sub' commands to add <sup> and <sub> in quirks mode, and to toggle when called twice
3504         https://bugs.webkit.org/show_bug.cgi?id=17733
3505         
3506         Test changed: editing/execCommand/toggle-styles-expected.txt
3507
3508         * editing/ApplyStyleCommand.cpp:
3509         (WebCore::StyleChange::applySubscript):
3510         (WebCore::StyleChange::applySuperscript):
3511         (WebCore::StyleChange::StyleChange):
3512         (WebCore::StyleChange::init):
3513         (WebCore::StyleChange::checkForLegacyHTMLStyleChange):
3514         (WebCore::ApplyStyleCommand::isHTMLStyleNode):
3515         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3516         * editing/EditorCommand.cpp:
3517         (WebCore::executeSubscript):
3518         (WebCore::executeSuperscript):
3519         * editing/htmlediting.cpp:
3520         (WebCore::createHTMLElement):
3521         * editing/htmlediting.h:
3522
3523 2009-01-21  Anders Carlsson  <andersca@apple.com>
3524
3525         Fix 64-bit build.
3526
3527         * WebCore.LP64.exp:
3528
3529 2009-01-21  Oliver Hunt  <oliver@apple.com>
3530
3531         Reviewed by Alexey Proskuryakov.
3532
3533         Bug 23458: Reintroduce CanvasPixelArray in ImageData.idl
3534         <https://bugs.webkit.org/show_bug.cgi?id=23458>
3535
3536         Return CanvasPixelArray, et al -- the only difference between this
3537         and the original CPA implementation is that it now uses a ByteArray
3538         rather than a vector.  JSC still uses a custom wrapper, but this allows
3539         ObjC, COM, and V8 bindings to be autogenerated again.
3540
3541         * GNUmakefile.am:
3542         * WebCore.pro:
3543         * WebCore.vcproj/WebCore.vcproj:
3544         * WebCore.xcodeproj/project.pbxproj:
3545         * WebCoreSources.bkl:
3546         * bindings/js/JSImageDataCustom.cpp: