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