2009-01-23 Darin Fisher <darin@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-01-23  Darin Fisher  <darin@chromium.org>
2
3         Reviewed by Eric Seidel.
4
5         https://bugs.webkit.org/show_bug.cgi?id=23506
6         Copy existing image-decoders in preparation for landing Skia changes on top.
7
8         * platform/image-decoders/skia: Added.
9         * platform/image-decoders/skia/GIFImageDecoder.cpp: Copied from platform/image-decoders/gif/GIFImageDecoder.cpp.
10         * platform/image-decoders/skia/GIFImageDecoder.h: Copied from platform/image-decoders/gif/GIFImageDecoder.h.
11         * platform/image-decoders/skia/GIFImageReader.cpp: Copied from platform/image-decoders/gif/GIFImageReader.cpp.
12         * platform/image-decoders/skia/GIFImageReader.h: Copied from platform/image-decoders/gif/GIFImageReader.h.
13         * platform/image-decoders/skia/JPEGImageDecoder.cpp: Copied from platform/image-decoders/jpeg/JPEGImageDecoder.cpp.
14         * platform/image-decoders/skia/JPEGImageDecoder.h: Copied from platform/image-decoders/jpeg/JPEGImageDecoder.h.
15         * platform/image-decoders/skia/PNGImageDecoder.cpp: Copied from platform/image-decoders/png/PNGImageDecoder.cpp.
16         * platform/image-decoders/skia/PNGImageDecoder.h: Copied from platform/image-decoders/png/PNGImageDecoder.h.
17
18 2009-01-23  Holger Freyther  <zecke@selfish.org>
19
20         Unreviewed build fix.
21
22         Based on https://bugs.webkit.org/show_bug.cgi?id=23498
23         from craig.schlenter@gmail.com
24
25         * platform/gtk/RenderThemeGtk.cpp:
26         (WebCore::RenderThemeGtk::baselinePosition):
27
28 2009-01-23  David Levin  <levin@chromium.org>
29
30         Reviewed by Alexey Proskuryakov.
31
32         Bug 22720: Make XMLHttpRequest work in Workers
33         <https://bugs.webkit.org/show_bug.cgi?id=22720>
34
35         Add copy/adopt for ResourceResponse(Base)/ResourceRequest(Base) to allow the
36         data to be passed across threads.
37
38         No observable change in behavior, so no test.
39
40         * platform/network/FormData.cpp:
41         (WebCore::FormData::deepCopy):
42         * platform/network/FormData.h:
43         * platform/network/HTTPHeaderMap.cpp:
44         (WebCore::HTTPHeaderMap::copyData):
45         (WebCore::HTTPHeaderMap::adopt):
46         * platform/network/HTTPHeaderMap.h:
47         * platform/network/ResourceRequestBase.cpp:
48         (WebCore::ResourceRequestBase::adopt):
49         (WebCore::ResourceRequestBase::copyData):
50         * platform/network/ResourceRequestBase.h:
51         * platform/network/ResourceResponseBase.cpp:
52         (WebCore::ResourceResponseBase::adopt):
53         (WebCore::ResourceResponseBase::copyData):
54         * platform/network/ResourceResponseBase.h:
55
56 2009-01-23  Dmitry Titov  <dimich@chromium.org>
57
58         Reviewed by Alexey Proskuryakov.
59
60         https://bugs.webkit.org/show_bug.cgi?id=23374
61         Add WorkerRunLoop to encapsulate message queue and timer heap.
62         This is first half (timer heap is added as separate patch).
63
64         * GNUmakefile.am: Added WorkerRunLoop.cpp to the build.
65         * WebCore.vcproj/WebCore.vcproj: Same as above.
66         * WebCore.xcodeproj/project.pbxproj: Same as above
67         * dom/WorkerContext.cpp:
68         (WebCore::WorkerContext::postTask):
69         * dom/WorkerContext.h:
70         * dom/WorkerMessagingProxy.cpp:
71         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
72         (WebCore::WorkerMessagingProxy::workerThreadCreated):
73         * dom/WorkerRunLoop.cpp: Added.
74         (WebCore::WorkerRunLoop::run): Runs the loop until terminate() is called.
75         (WebCore::WorkerRunLoop::terminate): Causes the loop to exit.
76         (WebCore::WorkerRunLoop::postTask): Adds a task to the internal queue.
77         * dom/WorkerRunLoop.h: Added.
78         (WebCore::WorkerRunLoop::WorkerRunLoop):
79         * dom/WorkerThread.cpp:
80         (WebCore::WorkerThread::workerThread):
81         (WebCore::WorkerThread::stop):
82         * dom/WorkerThread.h:
83         (WebCore::WorkerThread::runLoop):
84
85 2009-01-23  Adam Treat  <adam.treat@torchmobile.com>
86
87         Reviewed by Holger Hans Peter Freyther.
88
89         Redo previous patch http://trac.webkit.org/changeset/34260 which fixes a
90         huge memory leak by ensuring that the timer is fired one last time on
91         application tear down thus triggering the GCController thereby freeing
92         JavaScript objects as well as triggering other timer based tear down methods.
93
94         * platform/qt/SharedTimerQt.cpp:
95         (WebCore::SharedTimerQt::~SharedTimerQt):
96
97 2009-01-23  Alexey Proskuryakov  <ap@webkit.org>
98
99         Reviewed by Oliver Hunt.
100
101         https://bugs.webkit.org/show_bug.cgi?id=23459
102         Workers are not properly terminated if execution hasn't begun yet
103
104         Doesn't affect observable behavior, so test case is not possible.
105
106         * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Call forbidExecution() if
107         it couldn't be called earlier.
108
109 2009-01-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>
110
111         [Qt] Fix the build after RenderBox refactoring in r40153.
112
113         * platform/qt/RenderThemeQt.cpp:
114         (WebCore::RenderThemeQt::baselinePosition):
115
116 2009-01-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>
117
118         Rubber-stamped by Alexey Proskuryakov.
119
120         Fix the build after RenderBox refactoring in r40153.
121
122         * plugins/PluginView.cpp:
123         (WebCore::PluginView::invalidateWindowlessPluginRect):
124
125 2009-01-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>
126
127         Reviewed by Simon Hausmann.
128
129         [Qt] Simplify the assertion.
130
131         * platform/graphics/qt/GraphicsContextQt.cpp:
132         (WebCore::GraphicsContext::getWindowsContext):
133         (WebCore::GraphicsContext::releaseWindowsContext):
134
135 2009-01-22  David Hyatt  <hyatt@apple.com>
136
137         Move the border and padding methods from RenderObject to RenderBox.
138
139         Reviewed by Oliver Hunt
140
141         * css/CSSComputedStyleDeclaration.cpp:
142         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
143         * editing/DeleteButtonController.cpp:
144         (WebCore::DeleteButtonController::createDeletionUI):
145         * page/EventHandler.cpp:
146         (WebCore::EventHandler::hitTestResultAtPoint):
147         * rendering/InlineFlowBox.cpp:
148         (WebCore::InlineFlowBox::placeBoxesVertically):
149         * rendering/InlineFlowBox.h:
150         (WebCore::InlineFlowBox::borderLeft):
151         (WebCore::InlineFlowBox::borderRight):
152         (WebCore::InlineFlowBox::paddingLeft):
153         (WebCore::InlineFlowBox::paddingRight):
154         * rendering/RenderBlock.cpp:
155         (WebCore::RenderBlock::clearFloats):
156         * rendering/RenderBox.cpp:
157         (WebCore::RenderBox::paddingTop):
158         (WebCore::RenderBox::paddingBottom):
159         (WebCore::RenderBox::paddingLeft):
160         (WebCore::RenderBox::paddingRight):
161         (WebCore::RenderBox::calcHeight):
162         (WebCore::RenderBox::containingBlockWidthForPositioned):
163         (WebCore::RenderBox::containingBlockHeightForPositioned):
164         (WebCore::RenderBox::calcAbsoluteHorizontal):
165         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
166         (WebCore::RenderBox::calcAbsoluteVertical):
167         (WebCore::RenderBox::calcAbsoluteVerticalValues):
168         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
169         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
170         * rendering/RenderBox.h:
171         (WebCore::RenderBox::borderTop):
172         (WebCore::RenderBox::borderBottom):
173         (WebCore::RenderBox::borderLeft):
174         (WebCore::RenderBox::borderRight):
175         * rendering/RenderObject.cpp:
176         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
177         * rendering/RenderObject.h:
178         * rendering/RenderTextControl.cpp:
179         (WebCore::RenderTextControl::textBlockWidth):
180         (WebCore::RenderTextControl::calcHeight):
181         (WebCore::RenderTextControl::calcPrefWidths):
182         * rendering/RenderTextControlSingleLine.cpp:
183         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
184         * rendering/RenderTreeAsText.cpp:
185         (WebCore::operator<<):
186         * rendering/RenderView.cpp:
187         (WebCore::RenderView::repaintViewRectangle):
188
189 2009-01-22  David Hyatt  <hyatt@apple.com>
190
191         Devirtualize the marginTop/Right/Left/Bottom functions and move them to RenderBox (along with some of the
192         other margin functions that have to come along for the ride).
193
194         Reviewed by Oliver Hunt
195
196         * css/CSSComputedStyleDeclaration.cpp:
197         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
198         * editing/TextIterator.cpp:
199         (WebCore::shouldEmitExtraNewlineForNode):
200         * rendering/InlineBox.cpp:
201         * rendering/InlineBox.h:
202         (WebCore::InlineBox::renderBox):
203         * rendering/InlineFlowBox.cpp:
204         (WebCore::InlineFlowBox::marginLeft):
205         (WebCore::InlineFlowBox::marginRight):
206         (WebCore::InlineFlowBox::placeBoxesHorizontally):
207         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
208         (WebCore::InlineFlowBox::placeBoxesVertically):
209         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
210         * rendering/RenderBlock.cpp:
211         (WebCore::RenderBlock::isSelfCollapsingBlock):
212         (WebCore::RenderBlock::adjustPositionedBlock):
213         (WebCore::RenderBlock::handleCompactChild):
214         (WebCore::RenderBlock::estimateVerticalPosition):
215         (WebCore::getBorderPaddingMargin):
216         (WebCore::RenderBlock::calcInlinePrefWidths):
217         * rendering/RenderBlock.h:
218         * rendering/RenderBox.cpp:
219         (WebCore::RenderBox::calcHeight):
220         * rendering/RenderBox.h:
221         (WebCore::RenderBox::hasHorizontalBordersPaddingOrMargin):
222         (WebCore::RenderBox::hasHorizontalBordersOrPadding):
223         (WebCore::RenderBox::marginTop):
224         (WebCore::RenderBox::marginBottom):
225         (WebCore::RenderBox::marginLeft):
226         (WebCore::RenderBox::marginRight):
227         (WebCore::RenderBox::isSelfCollapsingBlock):
228         (WebCore::RenderBox::collapsedMarginTop):
229         (WebCore::RenderBox::collapsedMarginBottom):
230         (WebCore::RenderBox::isTopMarginQuirk):
231         (WebCore::RenderBox::isBottomMarginQuirk):
232         (WebCore::RenderBox::maxTopMargin):
233         (WebCore::RenderBox::maxBottomMargin):
234         * rendering/RenderObject.cpp:
235         (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
236         * rendering/RenderObject.h:
237         * rendering/RenderSVGContainer.cpp:
238         (WebCore::RenderSVGContainer::lineHeight):
239         (WebCore::RenderSVGContainer::baselinePosition):
240         * rendering/RenderTextControl.cpp:
241         (WebCore::RenderTextControl::calcHeight):
242         * rendering/RenderTheme.cpp:
243         (WebCore::RenderTheme::baselinePosition):
244         * rendering/bidi.cpp:
245         (WebCore::getBorderPaddingMargin):
246         (WebCore::inlineWidth):
247         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
248         (WebCore::inlineFlowRequiresLineBox):
249         (WebCore::requiresLineBox):
250         (WebCore::RenderBlock::findNextLineBreak):
251
252 2009-01-22  Mark Rowe  <mrowe@apple.com>
253
254         Rubber-stamped by Anders Carlsson.
255
256         Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
257
258         Current versions of Xcode only respect it for C and Objective-C files,
259         and our code doesn't currently compile if it is applied to C++ and
260         Objective-C++ files.
261
262         * Configurations/Base.xcconfig:
263
264 2009-01-22  David Hyatt  <hyatt@apple.com>
265
266         Move the m_widthChanged bit on RenderTableCell into RenderFlow's set of bits.  Let intrinsicPaddingTop and
267         intrinsicPaddingBottom just be normal non-bitfield values.
268
269         Reviewed by Oliver Hunt
270
271         * rendering/RenderFlow.h:
272         (WebCore::RenderFlow::RenderFlow):
273         * rendering/RenderTableCell.cpp:
274         (WebCore::RenderTableCell::RenderTableCell):
275         (WebCore::RenderTableCell::updateWidth):
276         (WebCore::RenderTableCell::layout):
277         * rendering/RenderTableCell.h:
278
279 2009-01-22  David Hyatt  <hyatt@apple.com>
280
281         Properly encapsulate m_frameRect.y() behind the RenderBox::y() method now that they are the same thing.
282         Make m_frameRect private.
283
284         Reviewed by Oliver Hunt
285
286         * rendering/RenderBlock.cpp:
287         (WebCore::RenderBlock::paint):
288         (WebCore::RenderBlock::clearFloats):
289         * rendering/RenderBox.cpp:
290         (WebCore::RenderBox::offsetTop):
291         (WebCore::RenderBox::nodeAtPoint):
292         (WebCore::RenderBox::paint):
293         (WebCore::RenderBox::paintCustomHighlight):
294         (WebCore::RenderBox::containingBlockWidth):
295         (WebCore::RenderBox::localToAbsolute):
296         (WebCore::RenderBox::offsetFromContainer):
297         (WebCore::RenderBox::computeAbsoluteRepaintRect):
298         (WebCore::RenderBox::repaintDuringLayoutIfMoved):
299         * rendering/RenderContainer.cpp:
300         (WebCore::RenderContainer::layout):
301         * rendering/RenderFlexibleBox.cpp:
302         (WebCore::RenderFlexibleBox::layoutBlock):
303         * rendering/RenderFrameSet.cpp:
304         (WebCore::RenderFrameSet::paint):
305         * rendering/RenderImage.cpp:
306         (WebCore::RenderImage::paintReplaced):
307         (WebCore::RenderImage::nodeAtPoint):
308         * rendering/RenderListMarker.cpp:
309         (WebCore::RenderListMarker::paint):
310         (WebCore::RenderListMarker::getRelativeMarkerRect):
311         * rendering/RenderReplaced.cpp:
312         (WebCore::RenderReplaced::paint):
313         (WebCore::RenderReplaced::shouldPaint):
314         * rendering/RenderReplica.cpp:
315         (WebCore::RenderReplica::paint):
316         * rendering/RenderSVGRoot.cpp:
317         (WebCore::RenderSVGRoot::applyContentTransforms):
318         (WebCore::RenderSVGRoot::paint):
319         (WebCore::RenderSVGRoot::absoluteTransform):
320         (WebCore::RenderSVGRoot::nodeAtPoint):
321         * rendering/RenderTable.cpp:
322         (WebCore::RenderTable::calcWidth):
323         (WebCore::RenderTable::layout):
324         * rendering/RenderTableCell.cpp:
325         (WebCore::RenderTableCell::paint):
326         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
327         * rendering/RenderTableSection.cpp:
328         (WebCore::RenderTableSection::setCellWidths):
329         (WebCore::RenderTableSection::calcRowHeight):
330         (WebCore::RenderTableSection::layoutRows):
331         (WebCore::RenderTableSection::paint):
332         (WebCore::RenderTableSection::nodeAtPoint):
333         * rendering/RenderWidget.cpp:
334         (WebCore::RenderWidget::paint):
335
336 2009-01-22  David Hyatt  <hyatt@apple.com>
337
338         Fix for https://bugs.webkit.org/show_bug.cgi?id=23487.
339
340         This patch completely reworks vertical alignment of table cells.  The current system uses methods called borderTopExtra() and borderBottomExtra() to
341         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.
342         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()
343         also excluded the extra space, so did not accurately reflect the true size of the cell.
344         
345         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
346         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.
347
348         localToAbsoluteForContent has now been removed, since there no longer has to be a special hacked content box.
349
350         A number of table layout tests progress with this change, since the new layout system actually fixes existing bugs in baseline alignment of cells.
351
352         Reviewed by Oliver Hunt
353
354         * css/CSSComputedStyleDeclaration.cpp:
355         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
356         Make CSSComputedStyleDeclaration ask for padding values that exclude the built-in intrinsic padding.  This ensures that getComputedStyle continues
357         to give the right answer.
358     
359         * dom/ContainerNode.cpp:
360         (WebCore::ContainerNode::getLowerRightCorner):
361         * editing/visible_units.cpp:
362         (WebCore::previousLinePosition):
363         (WebCore::nextLinePosition):
364         * rendering/LayoutState.cpp:
365         (WebCore::LayoutState::LayoutState):
366         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
367         
368         * rendering/RenderBlock.cpp:
369         (WebCore::RenderBlock::overflowRect):
370         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
371         
372         (WebCore::RenderBlock::layoutBlock):
373         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
374         The expandsToEncloseOverhangingFloats logic has been reworked.  Table cells and fieldsets did not properly handle floats that spilled into the bottom padding.  The
375         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
376         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
377         this change.
378     
379         (WebCore::RenderBlock::selectionGapRects):
380         (WebCore::RenderBlock::paintSelection):
381         (WebCore::RenderBlock::fillSelectionGaps):
382         (WebCore::RenderBlock::nodeAtPoint):
383         (WebCore::RenderBlock::positionForCoordinates):
384         (WebCore::RenderBlock::offsetForContents):
385         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
386     
387         * rendering/RenderBlock.h:
388         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).
389
390         * rendering/RenderBox.cpp:
391         (WebCore::RenderBox::absoluteRects):
392         (WebCore::RenderBox::absoluteQuads):
393         (WebCore::RenderBox::absoluteContentBox):
394         (WebCore::RenderBox::paintBoxDecorations):
395         (WebCore::RenderBox::paintMask):
396         (WebCore::RenderBox::getOverflowClipRect):
397         (WebCore::RenderBox::localToAbsolute):
398         (WebCore::RenderBox::absoluteToLocal):
399         (WebCore::RenderBox::localToAbsoluteQuad):
400         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
401         
402         * rendering/RenderBox.h:
403         (WebCore::RenderBox::y):
404         (WebCore::RenderBox::location):
405         (WebCore::RenderBox::borderBoxRect):
406         (WebCore::RenderBox::offsetHeight):
407         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
408
409         * rendering/RenderContainer.cpp:
410         (WebCore::RenderContainer::addLineBoxRects):
411         * rendering/RenderFieldset.cpp:
412         (WebCore::RenderFieldset::paintBoxDecorations):
413         (WebCore::RenderFieldset::paintMask):
414         * rendering/RenderFieldset.h:
415         (WebCore::RenderFieldset::avoidsFloats):
416         * rendering/RenderFlow.cpp:
417         (WebCore::RenderFlow::localCaretRect):
418         * rendering/RenderLayer.cpp:
419         (WebCore::RenderLayer::updateLayerPosition):
420         (WebCore::RenderLayer::paintLayer):
421         (WebCore::RenderLayer::hitTestLayer):
422         (WebCore::RenderLayer::boundingBox):
423         * rendering/RenderListBox.cpp:
424         (WebCore::RenderListBox::isPointInOverflowControl):
425         * rendering/RenderObject.cpp:
426         (WebCore::RenderObject::localToAbsolute):
427         (WebCore::RenderObject::absoluteToLocal):
428         (WebCore::RenderObject::localToAbsoluteQuad):
429         (WebCore::RenderObject::offsetFromContainer):
430         (WebCore::RenderObject::paddingTop):
431         (WebCore::RenderObject::paddingBottom):
432         (WebCore::RenderObject::paddingLeft):
433         (WebCore::RenderObject::paddingRight):
434         * rendering/RenderObject.h:
435         (WebCore::RenderObject::hasOverhangingFloats):
436         * rendering/RenderReplaced.cpp:
437         (WebCore::RenderReplaced::selectionRect):
438         (WebCore::RenderReplaced::localSelectionRect):
439         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.  Also modifed paddingLeft/Top/Right/Bottom to take an argument indicating
440         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
441         necessary.
442
443         * rendering/RenderTableCell.cpp:
444         (WebCore::RenderTableCell::RenderTableCell):
445         (WebCore::RenderTableCell::paddingTop):
446         (WebCore::RenderTableCell::paddingBottom):
447         The new paddingTop() and paddingBottom() methods on table cells include the extra intrinsic padding.
448     
449         (WebCore::RenderTableCell::setOverrideSize):
450         When a table's override size gets altered, the intrinsic padding needs to be cleared.
451         
452         (WebCore::RenderTableCell::absoluteClippedOverflowRect):
453         (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
454         (WebCore::RenderTableCell::baselinePosition):
455         (WebCore::RenderTableCell::paint):
456         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
457         (WebCore::RenderTableCell::paintBoxDecorations):
458         (WebCore::RenderTableCell::paintMask):
459         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
460         
461         * rendering/RenderTableCell.h:
462         (WebCore::RenderTableCell::setIntrinsicPaddingTop):
463         (WebCore::RenderTableCell::setIntrinsicPaddingBottom):
464         (WebCore::RenderTableCell::setIntrinsicPadding):
465         (WebCore::RenderTableCell::clearIntrinsicPadding):
466         (WebCore::RenderTableCell::intrinsicPaddingTop):
467         (WebCore::RenderTableCell::intrinsicPaddingBottom):
468         Add new helper methods for getting/setting a cell's intrinsic padding.
469     
470         * rendering/RenderTableSection.cpp:
471         (WebCore::RenderTableSection::calcRowHeight):
472         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
473         extra space, it has to be subtracted out in this method.
474         
475         (WebCore::RenderTableSection::layoutRows):
476         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
477         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
478         a baseline.  A number of tests progress with this change.
479         
480         * rendering/RenderText.cpp:
481         (WebCore::RenderText::addLineBoxRects):
482         Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
483         
484         * rendering/RenderTreeAsText.cpp:
485         (WebCore::operator<<):
486         (WebCore::writeTextRun):
487         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
488         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
489         layout test results can all be regenerated.
490
491 2009-01-22  Eric Seidel  <eric@webkit.org>
492
493         Reviewed by Justin Garcia.
494
495         Remove <span> turds left by editing commands
496         https://bugs.webkit.org/show_bug.cgi?id=23466
497
498         Tests:
499         * editing/execCommand/empty-span-removal.html
500         * editing/execCommand/toggle-styles.html
501
502         * editing/ApplyStyleCommand.cpp:
503         (WebCore::styleSpanClassString):
504         (WebCore::isStyleSpan):
505         (WebCore::isUnstyledStyleSpan):
506         (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
507         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
508         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
509         (WebCore::ApplyStyleCommand::removeHTMLBidiEmbeddingStyle):
510         (WebCore::ApplyStyleCommand::removeCSSStyle):
511
512 2009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
513
514         Reviewed by Eric Seidel.
515
516         Rename some of the casting functions in dom/*Element.cpp:
517         formControlElementForElement -> toFormControlElement
518         inputElementForElement -> toInputElement
519         optionElementForElement -> toOptionElement
520         optionGroupElementForElement -> toOptionGroupElement
521
522         Suggested by Alexey, while refactoring the Element*->ScriptElement* code.
523         The Element*->ScriptElement* helper function is already named 'toScriptElement'.
524
525         * dom/FormControlElement.cpp:
526         (WebCore::toFormControlElement):
527         * dom/FormControlElement.h:
528         * dom/InputElement.cpp:
529         (WebCore::InputElement::setValueFromRenderer):
530         (WebCore::toInputElement):
531         * dom/InputElement.h:
532         * dom/OptionElement.cpp:
533         (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
534         (WebCore::toOptionElement):
535         * dom/OptionElement.h:
536         * dom/OptionGroupElement.cpp:
537         (WebCore::toOptionGroupElement):
538         * dom/OptionGroupElement.h:
539         * rendering/RenderListBox.cpp:
540         (WebCore::RenderListBox::updateFromElement):
541         (WebCore::RenderListBox::paintItemForeground):
542         (WebCore::RenderListBox::paintItemBackground):
543         * rendering/RenderMenuList.cpp:
544         (WebCore::RenderMenuList::updateOptionsWidth):
545         (WebCore::RenderMenuList::setTextFromOption):
546         (WebCore::RenderMenuList::itemText):
547         (WebCore::RenderMenuList::itemIsSelected):
548         * rendering/RenderTextControl.cpp:
549         (WebCore::RenderTextControl::formControlElement):
550         * rendering/RenderTextControlSingleLine.cpp:
551         (WebCore::RenderTextControlSingleLine::inputElement):
552
553 2009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
554
555         Rubber-stamped by George Staikos.
556
557         Forgot to include in my last commit: Activate code depending on WMLOptionElement/WMLOptGroupElement.
558
559         * dom/OptionElement.cpp:
560         (WebCore::optionElementForElement):
561         * dom/OptionGroupElement.cpp:
562         (WebCore::optionGroupElementForElement):
563
564 2009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
565
566         Reviewed by George Staikos.
567
568         Fixes: https://bugs.webkit.org/show_bug.cgi?id=23454
569
570         Add WML <option>/<optgroup> element support.
571         Currently the implementation is stubbed, all relevant parts can be enabled
572         once WMLSelectElement/SelectElement has been created.
573
574         * GNUmakefile.am:
575         * WebCore.pro:
576         * WebCore.vcproj/WebCore.vcproj:
577         * WebCore.xcodeproj/project.pbxproj:
578         * wml/WMLOptGroupElement.cpp: Added.
579         (WebCore::WMLOptGroupElement::WMLOptGroupElement):
580         (WebCore::WMLOptGroupElement::~WMLOptGroupElement):
581         (WebCore::WMLOptGroupElement::insertBefore):
582         (WebCore::WMLOptGroupElement::replaceChild):
583         (WebCore::WMLOptGroupElement::removeChild):
584         (WebCore::WMLOptGroupElement::appendChild):
585         (WebCore::WMLOptGroupElement::removeChildren):
586         (WebCore::ownerSelectElement):
587         (WebCore::WMLOptGroupElement::accessKeyAction):
588         (WebCore::WMLOptGroupElement::childrenChanged):
589         (WebCore::WMLOptGroupElement::parseMappedAttribute):
590         (WebCore::WMLOptGroupElement::attach):
591         (WebCore::WMLOptGroupElement::detach):
592         (WebCore::WMLOptGroupElement::setRenderStyle):
593         (WebCore::WMLOptGroupElement::nonRendererRenderStyle):
594         (WebCore::WMLOptGroupElement::groupLabelText):
595         (WebCore::WMLOptGroupElement::recalcSelectOptions):
596         * wml/WMLOptGroupElement.h: Added.
597         (WebCore::WMLOptGroupElement::title):
598         (WebCore::WMLOptGroupElement::valueMatchesRenderer):
599         (WebCore::WMLOptGroupElement::setValueMatchesRenderer):
600         (WebCore::WMLOptGroupElement::rendererIsNeeded):
601         * wml/WMLOptionElement.cpp: Added.
602         (WebCore::WMLOptionElement::WMLOptionElement):
603         (WebCore::WMLOptionElement::~WMLOptionElement):
604         (WebCore::ownerSelectElement):
605         (WebCore::WMLOptionElement::accessKeyAction):
606         (WebCore::WMLOptionElement::childrenChanged):
607         (WebCore::WMLOptionElement::parseMappedAttribute):
608         (WebCore::WMLOptionElement::attach):
609         (WebCore::WMLOptionElement::detach):
610         (WebCore::WMLOptionElement::setRenderStyle):
611         (WebCore::WMLOptionElement::insertedIntoDocument):
612         (WebCore::WMLOptionElement::selected):
613         (WebCore::WMLOptionElement::setSelectedState):
614         (WebCore::WMLOptionElement::value):
615         (WebCore::WMLOptionElement::textIndentedToRespectGroupLabel):
616         (WebCore::WMLOptionElement::nonRendererRenderStyle):
617         (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
618         * wml/WMLOptionElement.h: Added.
619         (WebCore::WMLOptionElement::valueMatchesRenderer):
620         (WebCore::WMLOptionElement::setValueMatchesRenderer):
621         (WebCore::WMLOptionElement::rendererIsNeeded):
622         * wml/WMLTagNames.in:
623
624 2009-01-22  Eric Roman  <eroman@chromium.org>
625
626         Reviewed by Eric Seidel.
627
628         https://bugs.webkit.org/show_bug.cgi?id=20806
629         Send referrer for history navigations.
630
631         Test: http/tests/navigation/back-send-referrer.html
632
633         Consolidates HistoryItem::rssFeedReferrer and HistoryItem::formReferrer into a single HistoryItem::referrer property.
634
635         * history/HistoryItem.cpp:
636         (WebCore::HistoryItem::HistoryItem):
637         (WebCore::HistoryItem::referrer):
638         (WebCore::HistoryItem::setReferrer):
639         (WebCore::HistoryItem::formReferrer):
640         (WebCore::HistoryItem::rssFeedReferrer):
641         (WebCore::HistoryItem::setRSSFeedReferrer):
642         (WebCore::HistoryItem::setFormInfoFromRequest):
643         * history/HistoryItem.h:
644         * loader/FrameLoader.cpp:
645         (WebCore::FrameLoader::loadItem):
646
647 2009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
648
649         Reviewed by Eric Seidel.
650
651         Fixes: https://bugs.webkit.org/show_bug.cgi?id=23465
652
653         Further enhancments to share code between HTMLOptionElement and the upcoming WMLOptionElement.
654
655         Rename optionText() to textIndentedToRespectGroupLabel() in (HTML)OptionElement, as it fits better.
656         optionText() returns the options text prefixed with some spaces, in case it got an optgroup parent.
657
658         Add two more pure-virtual functions to OptionElement: setSelectedState(bool) & value().
659         These aren't used outside of html/ at the moment (unlike the other pure-virtual functions
660         used by RenderMenuList/RenderListBox) - but they will be used by SelectElement, once it exists.
661
662         * dom/OptionElement.cpp:
663         (WebCore::OptionElement::setSelectedState):
664         (WebCore::OptionElement::collectOptionText):
665         (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
666         (WebCore::OptionElement::collectOptionValue):
667         (WebCore::OptionElementData::OptionElementData):
668         (WebCore::OptionElementData::~OptionElementData):
669         * dom/OptionElement.h:
670         (WebCore::OptionElementData::element):
671         (WebCore::OptionElementData::value):
672         (WebCore::OptionElementData::setValue):
673         (WebCore::OptionElementData::label):
674         (WebCore::OptionElementData::setLabel):
675         (WebCore::OptionElementData::selected):
676         (WebCore::OptionElementData::setSelected):
677         * html/HTMLOptionElement.cpp:
678         (WebCore::HTMLOptionElement::HTMLOptionElement):
679         (WebCore::HTMLOptionElement::text):
680         (WebCore::HTMLOptionElement::parseMappedAttribute):
681         (WebCore::HTMLOptionElement::value):
682         (WebCore::HTMLOptionElement::selected):
683         (WebCore::HTMLOptionElement::setSelected):
684         (WebCore::HTMLOptionElement::setSelectedState):
685         (WebCore::HTMLOptionElement::label):
686         (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
687         * html/HTMLOptionElement.h:
688         * html/HTMLSelectElement.cpp:
689         (WebCore::HTMLSelectElement::typeAheadFind):
690         * rendering/RenderListBox.cpp:
691         (WebCore::RenderListBox::updateFromElement):
692         (WebCore::RenderListBox::paintItemForeground):
693         * rendering/RenderMenuList.cpp:
694         (WebCore::RenderMenuList::updateOptionsWidth):
695         (WebCore::RenderMenuList::setTextFromOption):
696         (WebCore::RenderMenuList::itemText):
697
698 2009-01-22  Chris Fleizach  <cfleizach@apple.com>
699
700         Reviewed by Justin Garcia.
701
702         Bug 23464: Infinite recursion at SelectionController::setSelection
703         https://bugs.webkit.org/show_bug.cgi?id=23464
704
705         Check for conditions leading to infinite recursion.
706
707         * editing/SelectionController.cpp:
708         (WebCore::SelectionController::setSelection):
709
710 2009-01-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
711
712         Not reviewed. Fix WML build problem in RenderBox.cpp, WMLNames is undefined.
713
714         * rendering/RenderBox.cpp:
715
716 2009-01-22  Adam Treat  <adam.treat@torchmobile.com>
717
718         Fix the Qt build after RenderBox changes.
719
720         * platform/qt/RenderThemeQt.cpp:
721         (WebCore::RenderThemeQt::baselinePosition):
722
723 2009-01-22  David Hyatt  <hyatt@apple.com>
724
725         Fix regressions in list box selection on Mac.  The wrong color was being used for the list box
726         background, and list box colors actually weren't even being properly fetched because of a bug in
727         the RenderTheme base class.  Existing pixel tests cover the bug fix.
728
729         Reviewed by Jon Honeycutt
730
731         * rendering/RenderTheme.cpp:
732         (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
733         (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
734         (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
735         (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
736         * rendering/RenderThemeMac.mm:
737         (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
738
739 2009-01-22  David Levin  <levin@chromium.org>
740
741         Reviewed by Alexey Proskuryakov.
742
743         Bug 22720: Make XMLHttpRequest work in Workers
744         <https://bugs.webkit.org/show_bug.cgi?id=22720>
745
746         Add copy/adopt for HTTPHeaderMap to allow the data to be passed across threads.
747
748         No observable change in behavior, so no test.
749
750         * GNUmakefile.am:
751         * WebCore.pro:
752         * WebCore.scons:
753         * WebCore.vcproj/WebCore.vcproj:
754         * WebCore.xcodeproj/project.pbxproj:
755         * WebCoreSources.bkl:
756         * platform/network/HTTPHeaderMap.cpp: Added.
757         (WebCore::HTTPHeaderMap::copyData):
758         (WebCore::HTTPHeaderMap::adopt):
759         * platform/network/HTTPHeaderMap.h:
760
761 2009-01-21  David Hyatt  <hyatt@apple.com>
762
763         Back out a portion of my patch that I did not mean to land.  Revert paintOutline back to the way it
764         was before my landing.  Fixes failing SVG focus ring tests.
765
766         * rendering/RenderObject.cpp:
767         (WebCore::RenderObject::paintOutline):
768         * rendering/RenderObject.h:
769         * rendering/RenderPath.cpp:
770         (WebCore::RenderPath::paint):
771         * rendering/RenderSVGContainer.cpp:
772         (WebCore::RenderSVGContainer::paint):
773
774 2009-01-21  David Hyatt  <hyatt@apple.com>
775
776         Fix Node's renderBox() method on Windows.
777
778         * dom/Node.cpp:
779         (WebCore::Node::renderBox):
780
781 2009-01-21  David Hyatt  <hyatt@apple.com>
782
783         Fix RenderThemeSafari bustage on Win32.
784
785         * rendering/RenderThemeSafari.cpp:
786         (WebCore::RenderThemeSafari::baselinePosition):
787
788 2009-01-21  David Hyatt  <hyatt@apple.com>
789
790         Fix bustage in RenderThemeWin. It's actually terrible that RenderThemeWin is using absoluteContentBox,
791         but that's a problem for another day.
792
793         * rendering/RenderThemeWin.cpp:
794         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
795         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
796         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
797
798 2009-01-21  Oliver Hunt  <oliver@apple.com>
799
800         Reviewed by Dave Hyatt.
801
802         Bug 23470: Crash when page load occurs while processing scroll event with MallocScribble enabled
803         <https://bugs.webkit.org/show_bug.cgi?id=23470>
804
805         Add a RefPtr protector to handleWheelEvent to guard against destruction
806         while processing the scroll event.  Alas the absurd set of circumstances
807         required to trigger this do not appear to be reproducible in DRT.
808
809         * page/EventHandler.cpp:
810         (WebCore::EventHandler::handleWheelEvent):
811
812 2009-01-21  David Hyatt  <hyatt@apple.com>
813
814         Fix for https://bugs.webkit.org/show_bug.cgi?id=23453
815
816         Devirtualize the width/height/x/y methods of the render tree.  The methods are now non-virtual on RenderBox.
817         Many functions that were previously in RenderObject.cpp are now in RenderBox.cpp.
818
819         Reviewed by Eric Seidel and Darin Adler
820
821         * WebCore.base.exp:
822         * css/CSSComputedStyleDeclaration.cpp:
823         (WebCore::sizingBox):
824         * dom/ContainerNode.cpp:
825         (WebCore::ContainerNode::getUpperLeftCorner):
826         (WebCore::ContainerNode::getLowerRightCorner):
827         * dom/Element.cpp:
828         (WebCore::Element::offsetLeft):
829         (WebCore::Element::offsetTop):
830         (WebCore::Element::offsetWidth):
831         (WebCore::Element::offsetHeight):
832         (WebCore::Element::offsetParent):
833         (WebCore::Element::clientLeft):
834         (WebCore::Element::clientTop):
835         (WebCore::Element::clientWidth):
836         (WebCore::Element::clientHeight):
837         (WebCore::Element::scrollLeft):
838         (WebCore::Element::scrollTop):
839         (WebCore::Element::setScrollLeft):
840         (WebCore::Element::setScrollTop):
841         (WebCore::Element::scrollWidth):
842         (WebCore::Element::scrollHeight):
843         * dom/Node.cpp:
844         (WebCore::Node::renderBox):
845         (WebCore::Node::getRect):
846         * dom/Node.h:
847         * dom/Position.cpp:
848         (WebCore::endsOfNodeAreVisuallyDistinctPositions):
849         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
850         (WebCore::Position::isCandidate):
851         * dom/PositionIterator.cpp:
852         (WebCore::PositionIterator::isCandidate):
853         * editing/CompositeEditCommand.cpp:
854         (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
855         * editing/DeleteButtonController.cpp:
856         (WebCore::isDeletableElement):
857         * editing/DeleteSelectionCommand.cpp:
858         (WebCore::DeleteSelectionCommand::removeNode):
859         * editing/Editor.cpp:
860         (WebCore::Editor::insideVisibleArea):
861         * editing/EditorCommand.cpp:
862         (WebCore::verticalScrollDistance):
863         * html/HTMLAnchorElement.cpp:
864         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
865         * html/HTMLCanvasElement.cpp:
866         (WebCore::HTMLCanvasElement::willDraw):
867         * html/HTMLFormControlElement.cpp:
868         (WebCore::HTMLFormControlElement::isFocusable):
869         * html/HTMLFrameElementBase.cpp:
870         (WebCore::HTMLFrameElementBase::width):
871         (WebCore::HTMLFrameElementBase::height):
872         * html/HTMLImageElement.cpp:
873         (WebCore::HTMLImageElement::width):
874         (WebCore::HTMLImageElement::height):
875         * inspector/InspectorController.cpp:
876         (WebCore::InspectorController::drawNodeHighlight):
877         * page/AccessibilityRenderObject.cpp:
878         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
879         * page/FrameView.cpp:
880         (WebCore::FrameView::createScrollbar):
881         (WebCore::FrameView::updateDashboardRegions):
882         * page/animation/AnimationBase.cpp:
883         (WebCore::blendFunc):
884         * rendering/HitTestResult.cpp:
885         (WebCore::HitTestResult::imageRect):
886         * rendering/InlineBox.cpp:
887         (WebCore::InlineBox::renderBox):
888         (WebCore::InlineBox::adjustPosition):
889         * rendering/InlineBox.h:
890         * rendering/InlineFlowBox.cpp:
891         (WebCore::InlineFlowBox::placeBoxesHorizontally):
892         (WebCore::InlineFlowBox::verticallyAlignBoxes):
893         (WebCore::InlineFlowBox::placeBoxesVertically):
894         * rendering/InlineFlowBox.h:
895         * rendering/RenderApplet.cpp:
896         (WebCore::RenderApplet::createWidgetIfNecessary):
897         * rendering/RenderBlock.cpp:
898         (WebCore::RenderBlock::overflowHeight):
899         (WebCore::RenderBlock::overflowWidth):
900         (WebCore::RenderBlock::overflowRect):
901         (WebCore::RenderBlock::isSelfCollapsingBlock):
902         (WebCore::RenderBlock::layout):
903         (WebCore::RenderBlock::layoutBlock):
904         (WebCore::RenderBlock::adjustPositionedBlock):
905         (WebCore::RenderBlock::adjustFloatingBlock):
906         (WebCore::RenderBlock::handleSpecialChild):
907         (WebCore::RenderBlock::handlePositionedChild):
908         (WebCore::RenderBlock::handleFloatingChild):
909         (WebCore::RenderBlock::handleCompactChild):
910         (WebCore::RenderBlock::insertCompactIfNeeded):
911         (WebCore::RenderBlock::handleRunInChild):
912         (WebCore::RenderBlock::collapseMargins):
913         (WebCore::RenderBlock::clearFloatsIfNeeded):
914         (WebCore::RenderBlock::estimateVerticalPosition):
915         (WebCore::RenderBlock::determineHorizontalPosition):
916         (WebCore::RenderBlock::handleBottomOfBlock):
917         (WebCore::RenderBlock::layoutBlockChildren):
918         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
919         (WebCore::RenderBlock::layoutPositionedObjects):
920         (WebCore::RenderBlock::markPositionedObjectsForLayout):
921         (WebCore::RenderBlock::repaintOverhangingFloats):
922         (WebCore::RenderBlock::paint):
923         (WebCore::RenderBlock::paintChildren):
924         (WebCore::RenderBlock::paintObject):
925         (WebCore::RenderBlock::paintFloats):
926         (WebCore::RenderBlock::paintContinuationOutlines):
927         (WebCore::clipOutPositionedObjects):
928         (WebCore::RenderBlock::fillSelectionGaps):
929         (WebCore::RenderBlock::fillBlockSelectionGaps):
930         (WebCore::RenderBlock::leftSelectionOffset):
931         (WebCore::RenderBlock::rightSelectionOffset):
932         (WebCore::RenderBlock::insertPositionedObject):
933         (WebCore::RenderBlock::removePositionedObject):
934         (WebCore::RenderBlock::removePositionedObjects):
935         (WebCore::RenderBlock::insertFloatingObject):
936         (WebCore::RenderBlock::removeFloatingObject):
937         (WebCore::RenderBlock::positionNewFloats):
938         (WebCore::RenderBlock::newLine):
939         (WebCore::RenderBlock::lowestPosition):
940         (WebCore::RenderBlock::rightmostPosition):
941         (WebCore::RenderBlock::leftmostPosition):
942         (WebCore::RenderBlock::clearFloats):
943         (WebCore::RenderBlock::addOverhangingFloats):
944         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
945         (WebCore::RenderBlock::getClearDelta):
946         (WebCore::RenderBlock::nodeAtPoint):
947         (WebCore::RenderBlock::positionForCoordinates):
948         (WebCore::RenderBlock::layoutColumns):
949         (WebCore::RenderBlock::getBaselineOfFirstLineBox):
950         (WebCore::RenderBlock::getBaselineOfLastLineBox):
951         (WebCore::getHeightForLineCount):
952         (WebCore::RenderBlock::adjustForBorderFit):
953         * rendering/RenderBlock.h:
954         (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
955         (WebCore::RenderBlock::hasOverhangingFloats):
956         (WebCore::RenderBlock::CompactInfo::compact):
957         (WebCore::RenderBlock::CompactInfo::set):
958         * rendering/RenderBox.cpp:
959         (WebCore::RenderBox::RenderBox):
960         (WebCore::RenderBox::offsetLeft):
961         (WebCore::RenderBox::offsetTop):
962         (WebCore::RenderBox::offsetParent):
963         (WebCore::RenderBox::clientWidth):
964         (WebCore::RenderBox::clientHeight):
965         (WebCore::RenderBox::scrollWidth):
966         (WebCore::RenderBox::scrollHeight):
967         (WebCore::RenderBox::scrollLeft):
968         (WebCore::RenderBox::scrollTop):
969         (WebCore::RenderBox::setScrollLeft):
970         (WebCore::RenderBox::setScrollTop):
971         (WebCore::RenderBox::absoluteRects):
972         (WebCore::RenderBox::absoluteQuads):
973         (WebCore::RenderBox::absoluteContentBox):
974         (WebCore::RenderBox::absoluteContentQuad):
975         (WebCore::RenderBox::absoluteOutlineBounds):
976         (WebCore::RenderBox::addFocusRingRects):
977         (WebCore::RenderBox::reflectionBox):
978         (WebCore::RenderBox::reflectionOffset):
979         (WebCore::RenderBox::reflectedRect):
980         (WebCore::RenderBox::overrideWidth):
981         (WebCore::RenderBox::overrideHeight):
982         (WebCore::RenderBox::nodeAtPoint):
983         (WebCore::RenderBox::paint):
984         (WebCore::RenderBox::maskClipRect):
985         (WebCore::RenderBox::repaintLayerRectsForImage):
986         (WebCore::RenderBox::paintCustomHighlight):
987         (WebCore::RenderBox::getOverflowClipRect):
988         (WebCore::RenderBox::getClipRect):
989         (WebCore::RenderBox::containingBlockWidth):
990         (WebCore::RenderBox::localToAbsolute):
991         (WebCore::RenderBox::offsetFromContainer):
992         (WebCore::RenderBox::position):
993         (WebCore::RenderBox::computeAbsoluteRepaintRect):
994         (WebCore::RenderBox::repaintDuringLayoutIfMoved):
995         (WebCore::RenderBox::calcWidth):
996         (WebCore::RenderBox::calcWidthUsing):
997         (WebCore::RenderBox::calcHorizontalMargins):
998         (WebCore::RenderBox::calcHeight):
999         (WebCore::RenderBox::calcPercentageHeight):
1000         (WebCore::RenderBox::calcReplacedHeightUsing):
1001         (WebCore::RenderBox::containingBlockWidthForPositioned):
1002         (WebCore::RenderBox::containingBlockHeightForPositioned):
1003         (WebCore::RenderBox::calcAbsoluteHorizontal):
1004         (WebCore::RenderBox::calcAbsoluteVertical):
1005         (WebCore::RenderBox::calcAbsoluteVerticalValues):
1006         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
1007         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
1008         (WebCore::RenderBox::localCaretRect):
1009         (WebCore::RenderBox::lowestPosition):
1010         (WebCore::RenderBox::rightmostPosition):
1011         (WebCore::RenderBox::leftmostPosition):
1012         (WebCore::RenderBox::localTransform):
1013         * rendering/RenderBox.h:
1014         (WebCore::):
1015         (WebCore::RenderBox::x):
1016         (WebCore::RenderBox::y):
1017         (WebCore::RenderBox::width):
1018         (WebCore::RenderBox::height):
1019         (WebCore::RenderBox::setX):
1020         (WebCore::RenderBox::setY):
1021         (WebCore::RenderBox::setWidth):
1022         (WebCore::RenderBox::setHeight):
1023         (WebCore::RenderBox::location):
1024         (WebCore::RenderBox::size):
1025         (WebCore::RenderBox::setLocation):
1026         (WebCore::RenderBox::setSize):
1027         (WebCore::RenderBox::move):
1028         (WebCore::RenderBox::frameRect):
1029         (WebCore::RenderBox::setFrameRect):
1030         (WebCore::RenderBox::borderBoxRect):
1031         (WebCore::RenderBox::contentBoxRect):
1032         (WebCore::RenderBox::previousSiblingBox):
1033         (WebCore::RenderBox::nextSiblingBox):
1034         (WebCore::RenderBox::parentBox):
1035         (WebCore::RenderBox::overflowHeight):
1036         (WebCore::RenderBox::overflowWidth):
1037         (WebCore::RenderBox::setOverflowHeight):
1038         (WebCore::RenderBox::setOverflowWidth):
1039         (WebCore::RenderBox::overflowLeft):
1040         (WebCore::RenderBox::overflowTop):
1041         (WebCore::RenderBox::overflowRect):
1042         (WebCore::RenderBox::contentWidth):
1043         (WebCore::RenderBox::contentHeight):
1044         (WebCore::RenderBox::offsetWidth):
1045         (WebCore::RenderBox::offsetHeight):
1046         (WebCore::RenderBox::clientLeft):
1047         (WebCore::RenderBox::clientTop):
1048         (WebCore::RenderBox::availableWidth):
1049         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
1050         * rendering/RenderButton.cpp:
1051         (WebCore::RenderButton::controlClipRect):
1052         * rendering/RenderContainer.cpp:
1053         (WebCore::RenderContainer::layout):
1054         (WebCore::RenderContainer::positionForCoordinates):
1055         * rendering/RenderContainer.h:
1056         (WebCore::RenderContainer::firstChildBox):
1057         (WebCore::RenderContainer::lastChildBox):
1058         * rendering/RenderFieldset.cpp:
1059         (WebCore::RenderFieldset::calcPrefWidths):
1060         (WebCore::RenderFieldset::layoutLegend):
1061         (WebCore::RenderFieldset::findLegend):
1062         (WebCore::RenderFieldset::paintBoxDecorations):
1063         (WebCore::RenderFieldset::paintMask):
1064         * rendering/RenderFieldset.h:
1065         * rendering/RenderFileUploadControl.cpp:
1066         (WebCore::RenderFileUploadControl::maxFilenameWidth):
1067         (WebCore::RenderFileUploadControl::paintObject):
1068         * rendering/RenderFlexibleBox.cpp:
1069         (WebCore::FlexBoxIterator::FlexBoxIterator):
1070         (WebCore::FlexBoxIterator::first):
1071         (WebCore::FlexBoxIterator::next):
1072         (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
1073         (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
1074         (WebCore::RenderFlexibleBox::layoutBlock):
1075         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1076         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1077         (WebCore::RenderFlexibleBox::placeChild):
1078         (WebCore::RenderFlexibleBox::allowedChildFlex):
1079         * rendering/RenderFlexibleBox.h:
1080         * rendering/RenderFlow.cpp:
1081         (WebCore::RenderFlow::absoluteClippedOverflowRect):
1082         (WebCore::RenderFlow::lowestPosition):
1083         (WebCore::RenderFlow::rightmostPosition):
1084         (WebCore::RenderFlow::leftmostPosition):
1085         (WebCore::RenderFlow::localCaretRect):
1086         (WebCore::RenderFlow::addFocusRingRects):
1087         * rendering/RenderFrameSet.cpp:
1088         (WebCore::RenderFrameSet::paint):
1089         (WebCore::RenderFrameSet::layout):
1090         (WebCore::RenderFrameSet::positionFrames):
1091         * rendering/RenderHTMLCanvas.cpp:
1092         (WebCore::RenderHTMLCanvas::paintReplaced):
1093         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
1094         * rendering/RenderImage.cpp:
1095         (WebCore::RenderImage::imageChanged):
1096         (WebCore::RenderImage::paintReplaced):
1097         (WebCore::RenderImage::nodeAtPoint):
1098         (WebCore::RenderImage::calcReplacedWidth):
1099         * rendering/RenderInline.cpp:
1100         (WebCore::RenderInline::absoluteRects):
1101         (WebCore::RenderInline::boundingBoxWidth):
1102         (WebCore::RenderInline::boundingBoxHeight):
1103         (WebCore::RenderInline::positionForCoordinates):
1104         * rendering/RenderInline.h:
1105         (WebCore::RenderInline::offsetWidth):
1106         (WebCore::RenderInline::offsetHeight):
1107         * rendering/RenderLayer.cpp:
1108         (WebCore::RenderLayer::updateTransform):
1109         (WebCore::RenderLayer::updateLayerPosition):
1110         (WebCore::RenderLayer::scrollbarCornerPresent):
1111         (WebCore::RenderLayer::createScrollbar):
1112         (WebCore::RenderLayer::positionOverflowControls):
1113         (WebCore::RenderLayer::paintScrollCorner):
1114         (WebCore::RenderLayer::paintResizer):
1115         (WebCore::RenderLayer::paintLayer):
1116         (WebCore::RenderLayer::hitTestLayer):
1117         (WebCore::RenderLayer::calculateRects):
1118         (WebCore::RenderLayer::boundingBox):
1119         * rendering/RenderListBox.cpp:
1120         (WebCore::RenderListBox::calcHeight):
1121         (WebCore::RenderListBox::controlClipRect):
1122         * rendering/RenderListItem.cpp:
1123         (WebCore::RenderListItem::positionListMarker):
1124         (WebCore::RenderListItem::paint):
1125         * rendering/RenderListMarker.cpp:
1126         (WebCore::RenderListMarker::paint):
1127         (WebCore::RenderListMarker::layout):
1128         (WebCore::RenderListMarker::imageChanged):
1129         (WebCore::RenderListMarker::getRelativeMarkerRect):
1130         (WebCore::RenderListMarker::selectionRect):
1131         * rendering/RenderMarquee.cpp:
1132         (WebCore::RenderMarquee::computePosition):
1133         * rendering/RenderMedia.cpp:
1134         (WebCore::RenderMedia::layout):
1135         (WebCore::RenderMedia::lowestPosition):
1136         (WebCore::RenderMedia::rightmostPosition):
1137         (WebCore::RenderMedia::leftmostPosition):
1138         * rendering/RenderMenuList.cpp:
1139         (WebCore::RenderMenuList::controlClipRect):
1140         * rendering/RenderObject.cpp:
1141         (WebCore::RenderObject::RenderObject):
1142         (WebCore::RenderObject::markAllDescendantsWithFloatsForLayout):
1143         (WebCore::RenderObject::paintOutline):
1144         (WebCore::RenderObject::addLineBoxRects):
1145         (WebCore::RenderObject::absoluteBoundingBoxRect):
1146         (WebCore::RenderObject::addAbsoluteRectForLayer):
1147         (WebCore::RenderObject::paintingRootRect):
1148         (WebCore::RenderObject::container):
1149         (WebCore::RenderObject::removeFromObjectLists):
1150         (WebCore::RenderObject::updateHitTestResult):
1151         (WebCore::RenderObject::addDashboardRegions):
1152         (WebCore::RenderObject::localTransform):
1153         * rendering/RenderObject.h:
1154         (WebCore::RenderObject::isBox):
1155         (WebCore::RenderObject::hasMask):
1156         (WebCore::RenderObject::setIsText):
1157         (WebCore::RenderObject::setIsBox):
1158         (WebCore::RenderObject::borderTop):
1159         (WebCore::RenderObject::borderBottom):
1160         (WebCore::RenderObject::absoluteRects):
1161         (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
1162         (WebCore::RenderObject::absoluteQuads):
1163         (WebCore::RenderObject::hasReflection):
1164         (WebCore::RenderObject::addFocusRingRects):
1165         (WebCore::RenderObject::absoluteOutlineBounds):
1166         * rendering/RenderPart.cpp:
1167         (WebCore::RenderPart::updateWidgetPosition):
1168         * rendering/RenderPath.cpp:
1169         (WebCore::RenderPath::layout):
1170         (WebCore::RenderPath::paint):
1171         (WebCore::RenderPath::absoluteOutlineBounds):
1172         * rendering/RenderPath.h:
1173         * rendering/RenderReplaced.cpp:
1174         (WebCore::RenderReplaced::layout):
1175         (WebCore::RenderReplaced::paint):
1176         (WebCore::RenderReplaced::shouldPaint):
1177         (WebCore::RenderReplaced::positionForCoordinates):
1178         (WebCore::RenderReplaced::localSelectionRect):
1179         (WebCore::RenderReplaced::adjustOverflowForBoxShadow):
1180         (WebCore::RenderReplaced::overflowRect):
1181         * rendering/RenderReplica.cpp:
1182         (WebCore::RenderReplica::layout):
1183         (WebCore::RenderReplica::calcPrefWidths):
1184         (WebCore::RenderReplica::paint):
1185         * rendering/RenderSVGContainer.cpp:
1186         (WebCore::RenderSVGContainer::paint):
1187         (WebCore::RenderSVGContainer::absoluteOutlineBounds):
1188         * rendering/RenderSVGContainer.h:
1189         (WebCore::RenderSVGContainer::width):
1190         (WebCore::RenderSVGContainer::height):
1191         * rendering/RenderSVGImage.cpp:
1192         (WebCore::RenderSVGImage::layout):
1193         * rendering/RenderSVGInlineText.cpp:
1194         (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
1195         (WebCore::RenderSVGInlineText::positionForCoordinates):
1196         * rendering/RenderSVGRoot.cpp:
1197         (WebCore::RenderSVGRoot::layout):
1198         (WebCore::RenderSVGRoot::applyContentTransforms):
1199         (WebCore::RenderSVGRoot::paint):
1200         (WebCore::RenderSVGRoot::absoluteTransform):
1201         (WebCore::RenderSVGRoot::nodeAtPoint):
1202         * rendering/RenderSVGTSpan.cpp:
1203         (WebCore::RenderSVGTSpan::absoluteRects):
1204         (WebCore::RenderSVGTSpan::absoluteQuads):
1205         * rendering/RenderSVGText.cpp:
1206         (WebCore::RenderSVGText::layout):
1207         (WebCore::RenderSVGText::relativeBBox):
1208         * rendering/RenderSVGTextPath.cpp:
1209         (WebCore::RenderSVGTextPath::absoluteRects):
1210         (WebCore::RenderSVGTextPath::absoluteQuads):
1211         * rendering/RenderSVGViewportContainer.cpp:
1212         (WebCore::RenderSVGViewportContainer::nodeAtPoint):
1213         * rendering/RenderScrollbar.cpp:
1214         (WebCore::RenderScrollbar::createCustomScrollbar):
1215         (WebCore::RenderScrollbar::RenderScrollbar):
1216         (WebCore::RenderScrollbar::setParent):
1217         * rendering/RenderScrollbar.h:
1218         (WebCore::RenderScrollbar::owningRenderer):
1219         * rendering/RenderScrollbarPart.cpp:
1220         (WebCore::RenderScrollbarPart::layout):
1221         (WebCore::RenderScrollbarPart::layoutHorizontalPart):
1222         (WebCore::RenderScrollbarPart::layoutVerticalPart):
1223         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
1224         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
1225         (WebCore::RenderScrollbarPart::paintIntoRect):
1226         * rendering/RenderSlider.cpp:
1227         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
1228         (WebCore::RenderSlider::layout):
1229         (WebCore::RenderSlider::mouseEventIsInThumb):
1230         (WebCore::RenderSlider::positionForOffset):
1231         (WebCore::RenderSlider::trackSize):
1232         * rendering/RenderTable.cpp:
1233         (WebCore::RenderTable::calcWidth):
1234         (WebCore::RenderTable::layout):
1235         (WebCore::RenderTable::paint):
1236         (WebCore::RenderTable::getBaselineOfFirstLineBox):
1237         * rendering/RenderTableCell.cpp:
1238         (WebCore::RenderTableCell::updateWidth):
1239         (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
1240         (WebCore::RenderTableCell::localToAbsolute):
1241         (WebCore::RenderTableCell::absoluteToLocal):
1242         (WebCore::RenderTableCell::localToAbsoluteQuad):
1243         (WebCore::RenderTableCell::paint):
1244         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
1245         * rendering/RenderTableCell.h:
1246         * rendering/RenderTableSection.cpp:
1247         (WebCore::RenderTableSection::addChild):
1248         (WebCore::RenderTableSection::addCell):
1249         (WebCore::RenderTableSection::setCellWidths):
1250         (WebCore::RenderTableSection::calcRowHeight):
1251         (WebCore::RenderTableSection::layoutRows):
1252         (WebCore::RenderTableSection::lowestPosition):
1253         (WebCore::RenderTableSection::rightmostPosition):
1254         (WebCore::RenderTableSection::leftmostPosition):
1255         (WebCore::RenderTableSection::getBaselineOfFirstLineBox):
1256         (WebCore::RenderTableSection::paint):
1257         (WebCore::RenderTableSection::recalcCells):
1258         (WebCore::RenderTableSection::nodeAtPoint):
1259         * rendering/RenderTableSection.h:
1260         (WebCore::RenderTableSection::overflowWidth):
1261         (WebCore::RenderTableSection::overflowHeight):
1262         * rendering/RenderText.cpp:
1263         (WebCore::RenderText::RenderText):
1264         (WebCore::RenderText::boundingBoxX):
1265         (WebCore::RenderText::boundingBoxY):
1266         (WebCore::RenderText::firstRunX):
1267         (WebCore::RenderText::firstRunY):
1268         (WebCore::RenderText::boundingBoxHeight):
1269         (WebCore::RenderText::boundingBoxWidth):
1270         * rendering/RenderText.h:
1271         * rendering/RenderTextControl.cpp:
1272         (WebCore::RenderTextControl::textBlockHeight):
1273         (WebCore::RenderTextControl::textBlockWidth):
1274         (WebCore::RenderTextControl::setSelectionRange):
1275         (WebCore::RenderTextControl::calcHeight):
1276         (WebCore::RenderTextControl::hitInnerTextBlock):
1277         (WebCore::RenderTextControl::controlClipRect):
1278         * rendering/RenderTextControlMultiLine.cpp:
1279         (WebCore::RenderTextControlMultiLine::layout):
1280         (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
1281         * rendering/RenderTextControlSingleLine.cpp:
1282         (WebCore::RenderTextControlSingleLine::paint):
1283         (WebCore::RenderTextControlSingleLine::layout):
1284         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1285         (WebCore::RenderTextControlSingleLine::forwardEvent):
1286         (WebCore::RenderTextControlSingleLine::textBlockWidth):
1287         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
1288         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
1289         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
1290         * rendering/RenderTheme.cpp:
1291         (WebCore::RenderTheme::hitTestMediaControlPart):
1292         (WebCore::RenderTheme::baselinePosition):
1293         * rendering/RenderThemeMac.mm:
1294         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
1295         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
1296         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
1297         (WebCore::RenderThemeMac::hitTestMediaControlPart):
1298         * rendering/RenderTreeAsText.cpp:
1299         (WebCore::operator<<):
1300         * rendering/RenderVideo.cpp:
1301         (WebCore::RenderVideo::videoBox):
1302         * rendering/RenderView.cpp:
1303         (WebCore::RenderView::RenderView):
1304         (WebCore::RenderView::calcHeight):
1305         (WebCore::RenderView::calcWidth):
1306         (WebCore::RenderView::layout):
1307         (WebCore::RenderView::viewRect):
1308         (WebCore::RenderView::docHeight):
1309         (WebCore::RenderView::docWidth):
1310         (WebCore::RenderView::setBestTruncatedAt):
1311         * rendering/RenderView.h:
1312         * rendering/RenderWidget.cpp:
1313         (WebCore::RenderWidget::paint):
1314         (WebCore::RenderWidget::updateWidgetPosition):
1315         (WebCore::RenderWidget::nodeAtPoint):
1316         * rendering/RootInlineBox.h:
1317         (WebCore::RootInlineBox::floats):
1318         (WebCore::RootInlineBox::floatsPtr):
1319         * rendering/SVGInlineFlowBox.cpp:
1320         (WebCore::SVGInlineFlowBox::verticallyAlignBoxes):
1321         * rendering/SVGInlineFlowBox.h:
1322         * rendering/SVGRenderTreeAsText.cpp:
1323         (WebCore::operator<<):
1324         (WebCore::write):
1325         * rendering/SVGRootInlineBox.cpp:
1326         (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
1327         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
1328         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
1329         * rendering/SVGRootInlineBox.h:
1330         * rendering/bidi.cpp:
1331         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
1332         (WebCore::RenderBlock::computeVerticalPositionsForLine):
1333         (WebCore::RenderBlock::layoutInlineChildren):
1334         (WebCore::RenderBlock::determineStartPosition):
1335         (WebCore::RenderBlock::matchedEndLine):
1336         (WebCore::RenderBlock::skipTrailingWhitespace):
1337         (WebCore::RenderBlock::skipLeadingWhitespace):
1338         (WebCore::RenderBlock::fitBelowFloats):
1339         (WebCore::RenderBlock::findNextLineBreak):
1340         (WebCore::RenderBlock::checkLinesForOverflow):
1341         * svg/SVGLength.cpp:
1342         (WebCore::SVGLength::PercentageOfViewport):
1343
1344 2009-01-21  Anders Carlsson  <andersca@apple.com>
1345
1346         Reviewed by Sam Weinig.
1347
1348         * WebCore.LP64.exp:
1349         Add some bridge related symbols.
1350         
1351         * WebCore.xcodeproj/project.pbxproj:
1352         Make runtime_object.h a private header.
1353
1354 2009-01-20  David Levin  <levin@chromium.org>
1355
1356         Reviewed by Alexey Proskuryakov.
1357
1358         Bug 22720: Make XMLHttpRequest work in Workers
1359         <https://bugs.webkit.org/show_bug.cgi?id=22720>
1360
1361         More removal of document usage from XMLHttpRequest.
1362         * Abstracted away the sync and async requests behind the ThreadableLoader class, which
1363           will get an implementation for Workers.  ThreadableLoader follows the same model as
1364           SubresourceLoader because DocumentThreadableLoader is a thin wrapper around SubresourceLoader.
1365           Also, WorkerThreadableLoader (coming soon) will use DocumentThreadableLoader to get things done.
1366         * Consolidated dashboard compatibility checks into usesDashboardBackwardCompatibilityMode
1367           which handles workers.
1368
1369         No observable change in behavior, so no test.
1370
1371         * GNUmakefile.am:
1372         * WebCore.pro:
1373         * WebCore.scons:
1374         * WebCore.vcproj/WebCore.vcproj:
1375         * WebCore.xcodeproj/project.pbxproj:
1376         * WebCoreSources.bkl:
1377         * loader/DocumentThreadableLoader.cpp: Added.
1378         (WebCore::DocumentThreadableLoader::create):
1379         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1380         (WebCore::DocumentThreadableLoader::~DocumentThreadableLoader):
1381         (WebCore::DocumentThreadableLoader::cancel):
1382         (WebCore::DocumentThreadableLoader::willSendRequest):
1383         (WebCore::DocumentThreadableLoader::didSendData):
1384         (WebCore::DocumentThreadableLoader::didReceiveResponse):
1385         (WebCore::DocumentThreadableLoader::didReceiveData):
1386         (WebCore::DocumentThreadableLoader::didFinishLoading):
1387         (WebCore::DocumentThreadableLoader::didFail):
1388         (WebCore::DocumentThreadableLoader::receivedCancellation):
1389         * loader/DocumentThreadableLoader.h: Added.
1390         (WebCore::DocumentThreadableLoader::refThreadableLoader):
1391         (WebCore::DocumentThreadableLoader::derefThreadableLoader):
1392         * loader/SubresourceLoaderClient.h:
1393         (WebCore::SubresourceLoaderClient::didReceiveData):
1394         * loader/ThreadableLoader.cpp: Added.
1395         (WebCore::ThreadableLoader::create):
1396         (WebCore::ThreadableLoader::loadResourceSynchronously):
1397         * loader/ThreadableLoader.h: Added.
1398         (WebCore::):
1399         (WebCore::ThreadableLoader::ref):
1400         (WebCore::ThreadableLoader::deref):
1401         (WebCore::ThreadableLoader::~ThreadableLoader):
1402         * loader/ThreadableLoaderClient.h: Added.
1403         (WebCore::ThreadableLoaderClient::didSendData):
1404         (WebCore::ThreadableLoaderClient::didReceiveResponse):
1405         (WebCore::ThreadableLoaderClient::didReceiveData):
1406         (WebCore::ThreadableLoaderClient::didFinishLoading):
1407         (WebCore::ThreadableLoaderClient::didFail):
1408         (WebCore::ThreadableLoaderClient::didGetCancelled):
1409         (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
1410         (WebCore::ThreadableLoaderClient::~ThreadableLoaderClient):
1411         * xml/XMLHttpRequest.cpp:
1412         (WebCore::XMLHttpRequest::XMLHttpRequest):
1413         (WebCore::XMLHttpRequest::usesDashboardBackwardCompatibilityMode):
1414         (WebCore::XMLHttpRequest::send):
1415         (WebCore::XMLHttpRequest::loadRequestSynchronously):
1416         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
1417         (WebCore::XMLHttpRequest::setRequestHeader):
1418         (WebCore::XMLHttpRequest::processSyncLoadResults):
1419         (WebCore::XMLHttpRequest::didFail):
1420         (WebCore::XMLHttpRequest::didGetCancelled):
1421         (WebCore::XMLHttpRequest::didFinishLoading):
1422         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
1423         (WebCore::XMLHttpRequest::didSendData):
1424         (WebCore::XMLHttpRequest::didReceiveResponse):
1425         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1426         (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
1427         (WebCore::XMLHttpRequest::didReceiveData):
1428         * xml/XMLHttpRequest.h:
1429
1430 2009-01-19  Chris Marrin  <cmarrin@apple.com>
1431
1432         Reviewed by David Hyatt.
1433
1434         Fix for https://bugs.webkit.org/show_bug.cgi?id=23317
1435
1436         The high CPU usage was really from repeatedly firing transitions caused
1437         by a bug in the way we handle background-color animations. If animating 
1438         from a valid background color to no background color, we sometimes left
1439         (based on timing) the background color as transparent black, but valid
1440         rather than invalid, which it should be. Fixing that got rid of the
1441         repeated firing.
1442
1443         But we really were doing more expensive iteration of all objects with
1444         animations or transitions on them (running or not). So I added two
1445         optimizations to quickly short circuit when an object had no running
1446         animations or transitions. Things are now as zippy as ever.
1447
1448         Test: transitions/repeated-firing-background-color.html
1449
1450         * page/animation/AnimationBase.cpp:
1451         (WebCore::blendFunc):
1452         * page/animation/AnimationController.cpp:
1453         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1454         * page/animation/CompositeAnimation.cpp:
1455         (WebCore::CompositeAnimationPrivate::hasAnimations):
1456         (WebCore::CompositeAnimationPrivate::clearRenderer):
1457         (WebCore::CompositeAnimationPrivate::animate):
1458         (WebCore::CompositeAnimationPrivate::setAnimating):
1459         (WebCore::CompositeAnimationPrivate::willNeedService):
1460         (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
1461         (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
1462         (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
1463         (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
1464         (WebCore::CompositeAnimationPrivate::suspendAnimations):
1465         (WebCore::CompositeAnimationPrivate::resumeAnimations):
1466         (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
1467         (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
1468         (WebCore::CompositeAnimationPrivate::styleAvailable):
1469         (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
1470         (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):
1471         (WebCore::CompositeAnimation::hasAnimations):
1472         * page/animation/CompositeAnimation.h:
1473
1474 2009-01-21  Eric Seidel  <eric@webkit.org>
1475
1476         Reviewed by Justin Garcia.
1477
1478         Remove the style='' turds left by some editing commands
1479         https://bugs.webkit.org/show_bug.cgi?id=23463
1480
1481         Test: editing/execCommand/toggle-styles.html
1482
1483         * editing/ApplyStyleCommand.cpp:
1484         (WebCore::ApplyStyleCommand::removeCSSStyle): check if we just removed the last CSS property and remove the style attribute as well
1485         * editing/CompositeEditCommand.cpp:
1486         (WebCore::CompositeEditCommand::removeNodeAttribute): remove extra ;
1487
1488 2009-01-21  Eric Seidel  <eric@webkit.org>
1489
1490         No review, build fix.
1491
1492         Fix release-only build failure (and do a tiny code-cleanup).
1493
1494         * editing/ApplyStyleCommand.cpp:
1495         (WebCore::createFontElement):
1496         (WebCore::createStyleSpanElement):
1497         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1498
1499 2009-01-21  Chris Fleizach  <cfleizach@apple.com>
1500
1501         Reviewed by Beth Dakin.
1502
1503         Bug 23443: Table accessibility should be re-enabled after fixing crash that occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() 
1504         https://bugs.webkit.org/show_bug.cgi?id=23443
1505
1506         Test: accessibility/table-modification-crash.html
1507
1508         * page/AccessibilityObject.cpp:
1509         (WebCore::AccessibilityObject::updateBackingStore):
1510         * page/AccessibilityObject.h:
1511         * page/AccessibilityRenderObject.cpp:
1512         (WebCore::AccessibilityRenderObject::childrenChanged):
1513         (WebCore::AccessibilityRenderObject::children):
1514         (WebCore::AccessibilityRenderObject::updateBackingStore):
1515         * page/AccessibilityRenderObject.h:
1516         (WebCore::AccessibilityRenderObject::markChildrenDirty):
1517         * page/AccessibilityTable.cpp:
1518         (WebCore::AccessibilityTable::AccessibilityTable):
1519         * page/mac/AccessibilityObjectWrapper.mm:
1520         (-[AccessibilityObjectWrapper accessibilityActionNames]):
1521         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1522         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1523         (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
1524         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
1525         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
1526         (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
1527         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1528         (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
1529         (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
1530         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1531         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1532         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
1533         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
1534         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1535         * rendering/RenderObject.cpp:
1536         (WebCore::RenderObject::destroy):
1537         * rendering/RenderWidget.cpp:
1538         (WebCore::RenderWidget::destroy):
1539
1540 2009-01-16  Eric Seidel  <eric@webkit.org>
1541
1542         Reviewed by Justin Garcia.
1543
1544         Fix execCommand() 'super' and 'sub' commands to add <sup> and <sub> in quirks mode, and to toggle when called twice
1545         https://bugs.webkit.org/show_bug.cgi?id=17733
1546         
1547         Test changed: editing/execCommand/toggle-styles-expected.txt
1548
1549         * editing/ApplyStyleCommand.cpp:
1550         (WebCore::StyleChange::applySubscript):
1551         (WebCore::StyleChange::applySuperscript):
1552         (WebCore::StyleChange::StyleChange):
1553         (WebCore::StyleChange::init):
1554         (WebCore::StyleChange::checkForLegacyHTMLStyleChange):
1555         (WebCore::ApplyStyleCommand::isHTMLStyleNode):
1556         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1557         * editing/EditorCommand.cpp:
1558         (WebCore::executeSubscript):
1559         (WebCore::executeSuperscript):
1560         * editing/htmlediting.cpp:
1561         (WebCore::createHTMLElement):
1562         * editing/htmlediting.h:
1563
1564 2009-01-21  Anders Carlsson  <andersca@apple.com>
1565
1566         Fix 64-bit build.
1567
1568         * WebCore.LP64.exp:
1569
1570 2009-01-21  Oliver Hunt  <oliver@apple.com>
1571
1572         Reviewed by Alexey Proskuryakov.
1573
1574         Bug 23458: Reintroduce CanvasPixelArray in ImageData.idl
1575         <https://bugs.webkit.org/show_bug.cgi?id=23458>
1576
1577         Return CanvasPixelArray, et al -- the only difference between this
1578         and the original CPA implementation is that it now uses a ByteArray
1579         rather than a vector.  JSC still uses a custom wrapper, but this allows
1580         ObjC, COM, and V8 bindings to be autogenerated again.
1581
1582         * GNUmakefile.am:
1583         * WebCore.pro:
1584         * WebCore.vcproj/WebCore.vcproj:
1585         * WebCore.xcodeproj/project.pbxproj:
1586         * WebCoreSources.bkl:
1587         * bindings/js/JSImageDataCustom.cpp:
1588         (WebCore::toJS):
1589         * html/CanvasPixelArray.cpp: Added.
1590         (WebCore::CanvasPixelArray::create):
1591         (WebCore::CanvasPixelArray::CanvasPixelArray):
1592         * html/CanvasPixelArray.h: Added.
1593         (WebCore::CanvasPixelArray::data):
1594         (WebCore::CanvasPixelArray::length):
1595         (WebCore::CanvasPixelArray::set):
1596         (WebCore::CanvasPixelArray::get):
1597         * html/CanvasPixelArray.idl: Added.
1598         * html/CanvasRenderingContext2D.cpp:
1599         (WebCore::createEmptyImageData):
1600         * html/ImageData.cpp:
1601         (WebCore::ImageData::ImageData):
1602         * html/ImageData.h:
1603         (WebCore::ImageData::data):
1604         * html/ImageData.idl:
1605         * platform/graphics/cairo/ImageBufferCairo.cpp:
1606         (WebCore::ImageBuffer::getImageData):
1607         (WebCore::ImageBuffer::putImageData):
1608         * platform/graphics/cg/ImageBufferCG.cpp:
1609         (WebCore::ImageBuffer::getImageData):
1610         (WebCore::ImageBuffer::putImageData):
1611
1612 2009-01-21  Dirk Schulze  <krit@webkit.org>
1613
1614         Reviewed by Nikolas Zimmermann.
1615
1616         Remove last relics of platform dependent PaintServer in SVG.
1617         We draw everything with the help of GraphicsContext.
1618
1619         Remove SVGPaintServerPlatform's
1620         [https://bugs.webkit.org/show_bug.cgi?id=23439]
1621
1622         * GNUmakefile.am:
1623         * WebCore.pro:
1624         * WebCore.vcproj/WebCore.vcproj:
1625         * WebCore.xcodeproj/project.pbxproj:
1626         * svg/graphics/SVGPaintServer.cpp:
1627         (WebCore::SVGPaintServer::draw):
1628         (WebCore::SVGPaintServer::renderPath):
1629         (WebCore::SVGPaintServer::teardown):
1630         * svg/graphics/SVGPaintServer.h:
1631         * svg/graphics/SVGPaintServerGradient.cpp:
1632         * svg/graphics/SVGPaintServerGradient.h:
1633         * svg/graphics/SVGPaintServerPattern.cpp:
1634         * svg/graphics/SVGPaintServerPattern.h:
1635         * svg/graphics/SVGPaintServerSolid.cpp:
1636         * svg/graphics/SVGPaintServerSolid.h:
1637         * svg/graphics/cairo/SVGPaintServerCairo.cpp: Removed.
1638         * svg/graphics/cg/SVGPaintServerCg.cpp: Removed.
1639         * svg/graphics/qt/SVGPaintServerQt.cpp: Removed.
1640         * svg/graphics/skia/SVGPaintServerSkia.cpp: Removed.
1641
1642 2009-01-21  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1643
1644         Reviewed by Alexey Proskuryakov.
1645
1646         Move "Element -> ScriptElement" casting functionality into ScriptElement.h
1647         to be consistent with FormControlElement/InputElement/OptionElement/OptionGroupElement.
1648
1649         It was living in XMLTokenizer before, which is not an obvious place for this.
1650         TODO: Rename 'formControlElementForElement' to 'toFormControlElement' (analogous changes for InputElement etc.)
1651               as suggested by Alexey, it really reads better this way.
1652
1653         * dom/ScriptElement.cpp:
1654         (WebCore::toScriptElement):
1655         * dom/ScriptElement.h:
1656         * dom/XMLTokenizer.cpp:
1657         (WebCore::XMLTokenizer::notifyFinished):
1658         * dom/XMLTokenizer.h:
1659         * dom/XMLTokenizerLibxml2.cpp:
1660         (WebCore::XMLTokenizer::startElementNs):
1661         (WebCore::XMLTokenizer::endElementNs):
1662         * dom/XMLTokenizerQt.cpp:
1663         (WebCore::XMLTokenizer::parseStartElement):
1664         (WebCore::XMLTokenizer::parseEndElement):
1665
1666 2009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1667
1668         Reviewed by George Staikos.
1669
1670         Fixes: https://bugs.webkit.org/show_bug.cgi?id=23444
1671
1672         Refactor some functionality from HTMLOption/OptGroupElement needed by RenderListBox/RenderMenuList
1673         in two abstract base classes: OptionElement & OptionGroupElement living in dom/ - just like it
1674         has been done before for FormControlElement and RenderTextControl.
1675
1676         This is needed to prepare the addtion of WMLOption/OptGroupElement.
1677
1678         * GNUmakefile.am:
1679         * WebCore.pro:
1680         * WebCore.scons:
1681         * WebCore.vcproj/WebCore.vcproj:
1682         * WebCore.xcodeproj/project.pbxproj:
1683         * WebCoreSources.bkl:
1684         * dom/OptionElement.cpp: Added.
1685         (WebCore::optionElementForElement):
1686         * dom/OptionElement.h: Added.
1687         (WebCore::OptionElement::~OptionElement):
1688         (WebCore::OptionElement::OptionElement):
1689         * dom/OptionGroupElement.cpp: Added.
1690         (WebCore::optionGroupElementForElement):
1691         * dom/OptionGroupElement.h: Added.
1692         (WebCore::OptionGroupElement::~OptionGroupElement):
1693         (WebCore::OptionGroupElement::OptionGroupElement):
1694         * html/HTMLOptGroupElement.h:
1695         * html/HTMLOptionElement.cpp:
1696         (WebCore::HTMLOptionElement::optionText):
1697         * html/HTMLOptionElement.h:
1698         (WebCore::HTMLOptionElement::selected):
1699         * rendering/RenderListBox.cpp:
1700         (WebCore::RenderListBox::updateFromElement):
1701         (WebCore::RenderListBox::paintItemForeground):
1702         (WebCore::RenderListBox::paintItemBackground):
1703         * rendering/RenderMenuList.cpp:
1704         (WebCore::RenderMenuList::updateOptionsWidth):
1705         (WebCore::RenderMenuList::setTextFromOption):
1706         (WebCore::RenderMenuList::itemText):
1707         (WebCore::RenderMenuList::itemIsSelected):
1708
1709 2009-01-20  Darin Adler  <darin@apple.com>
1710
1711         Reviewed by Alexey Proskuryakov.
1712
1713         Bug 23448: memory leak in Mac version of preferredExtensionForImageSourceType
1714         https://bugs.webkit.org/show_bug.cgi?id=23448
1715
1716         * platform/graphics/cg/ImageSourceCGMac.mm:
1717         (WebCore::preferredExtensionForImageSourceType): Use RetainPtr to avoid the leak.
1718
1719 2009-01-20  Darin Adler  <darin@apple.com>
1720
1721         Try to fix Wx build.
1722
1723         * platform/wx/PasteboardWx.cpp:
1724         (WebCore::Pasteboard::writeSelection): Removed code that replaces backslash
1725         with backslashAsCurrencySymbol. I'm pretty sure this is not needed when writing
1726         to the clipboard. Other platforms don't do it. If it was needed, the new function
1727         to use would be displayStringModifiedByEncoding.
1728
1729 2009-01-19  Brent Fulgham  <bfulgham@gmail.com>
1730
1731         Reviewed by Mitz Pettel.
1732
1733         Fixes https://bugs.webkit.org/show_bug.cgi?id=23423.
1734
1735         The Windows Cairo post-build targets (Release/Debug) do not
1736         copy all of the headers that the CG-based build does.
1737
1738         * WebCore.vcproj/WebCore.vcproj: Extend WebCore Cairo build targets
1739           to copy the page/animation/*.h files into WebKitBuild so that
1740           WebKit can find them.
1741
1742 2009-01-20  Dmitry Titov  <dimich@chromium.org>
1743
1744         Reviewed by Alexey Proskuryakov.
1745
1746         https://bugs.webkit.org/show_bug.cgi?id=23413
1747         Remove unused WebCore::setDeferringTimers()
1748
1749         * platform/Timer.cpp:
1750         (WebCore::updateSharedTimer):
1751         * platform/Timer.h:
1752
1753 2009-01-20  David Hyatt  <hyatt@apple.com>
1754
1755         Tighten up the type of RenderObject owned by RenderLayer to be a RenderBox.  Rename m_object to
1756         m_renderer to be consistent with the corresponding member function.
1757
1758         Reviewed by Jon Honeycutt
1759
1760         * rendering/RenderLayer.cpp:
1761         (WebCore::RenderLayer::RenderLayer):
1762         (WebCore::RenderLayer::updateLayerPositions):
1763         (WebCore::RenderLayer::updateVisibilityStatus):
1764         (WebCore::RenderLayer::updateLayerPosition):
1765         (WebCore::RenderLayer::stackingContext):
1766         (WebCore::RenderLayer::enclosingPositionedAncestor):
1767         (WebCore::RenderLayer::enclosingTransformedAncestor):
1768         (WebCore::RenderLayer::isTransparent):
1769         (WebCore::RenderLayer::convertToLayerCoords):
1770         (WebCore::RenderLayer::scrollByRecursively):
1771         (WebCore::RenderLayer::scrollToOffset):
1772         (WebCore::RenderLayer::scrollRectToVisible):
1773         (WebCore::RenderLayer::resize):
1774         (WebCore::RenderLayer::scrollbarCornerPresent):
1775         (WebCore::RenderLayer::createScrollbar):
1776         (WebCore::RenderLayer::setHasHorizontalScrollbar):
1777         (WebCore::RenderLayer::setHasVerticalScrollbar):
1778         (WebCore::RenderLayer::positionOverflowControls):
1779         (WebCore::RenderLayer::computeScrollDimensions):
1780         (WebCore::RenderLayer::updateOverflowStatus):
1781         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1782         (WebCore::RenderLayer::paintOverflowControls):
1783         (WebCore::RenderLayer::paintScrollCorner):
1784         (WebCore::RenderLayer::paintResizer):
1785         (WebCore::RenderLayer::isPointInResizeControl):
1786         (WebCore::RenderLayer::paintLayer):
1787         (WebCore::RenderLayer::hitTestLayer):
1788         (WebCore::RenderLayer::updateClipRects):
1789         (WebCore::RenderLayer::calculateClipRects):
1790         (WebCore::RenderLayer::calculateRects):
1791         (WebCore::RenderLayer::clearClipRects):
1792         (WebCore::RenderLayer::repaintIncludingDescendants):
1793         (WebCore::RenderLayer::styleChanged):
1794         (WebCore::RenderLayer::updateScrollCornerStyle):
1795         (WebCore::RenderLayer::updateResizerStyle):
1796         * rendering/RenderLayer.h:
1797         (WebCore::RenderLayer::renderer):
1798         (WebCore::RenderLayer::hasReflection):
1799         (WebCore::RenderLayer::hasTransform):
1800
1801 2009-01-20  David Hyatt  <hyatt@apple.com>
1802
1803         Fix Mac build bustage from my selection changes.  I forgot to implement the functions on RenderThemeMac
1804         for returning the appropriate listbox selection colors.
1805
1806         Reviewed by Adele
1807
1808         * rendering/RenderThemeMac.mm:
1809         (WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor):
1810         (WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor):
1811         (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
1812
1813 2009-01-20  Dave Hyatt  <hyatt@apple.com>
1814
1815         Fix for focus rings on Windows.  Make sure that focus rings draw for all controls but buttons.
1816
1817         Fix list box selection colors on Windows.  Also add a cache for all of the selection colors (and not just the two
1818         background selection colors).
1819
1820         Reviewed by Adam Roben
1821
1822         * rendering/RenderObject.cpp:
1823         (WebCore::RenderObject::selectionForegroundColor):
1824         * rendering/RenderTheme.cpp:
1825         (WebCore::RenderTheme::activeSelectionBackgroundColor):
1826         (WebCore::RenderTheme::inactiveSelectionBackgroundColor):
1827         (WebCore::RenderTheme::activeSelectionForegroundColor):
1828         (WebCore::RenderTheme::inactiveSelectionForegroundColor):
1829         (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
1830         (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
1831         (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
1832         (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
1833         (WebCore::RenderTheme::platformActiveSelectionForegroundColor):
1834         (WebCore::RenderTheme::platformInactiveSelectionBackgroundColor):
1835         (WebCore::RenderTheme::platformInactiveSelectionForegroundColor):
1836         (WebCore::RenderTheme::platformActiveListBoxSelectionBackgroundColor):
1837         (WebCore::RenderTheme::platformActiveListBoxSelectionForegroundColor):
1838         (WebCore::RenderTheme::platformInactiveListBoxSelectionBackgroundColor):
1839         (WebCore::RenderTheme::platformInactiveListBoxSelectionForegroundColor):
1840         (WebCore::RenderTheme::platformColorsDidChange):
1841         * rendering/RenderTheme.h:
1842         (WebCore::RenderTheme::supportsForegroundSelectionColors):
1843         (WebCore::RenderTheme::supportsForegroundListBoxSelectionColors):
1844         * rendering/RenderThemeMac.h:
1845         (WebCore::RenderThemeMac::supportsForegroundSelectionColors):
1846         * rendering/RenderThemeMac.mm:
1847         (WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor):
1848         * rendering/RenderThemeWin.cpp:
1849         (WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor):
1850         (WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor):
1851         (WebCore::RenderThemeWin::supportsFocus):
1852         (WebCore::RenderThemeWin::supportsFocusRing):
1853         * rendering/RenderThemeWin.h:
1854
1855 2009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1856
1857         Reviewed by George Staikos.
1858
1859         Fixes: https://bugs.webkit.org/show_bug.cgi?id=23434
1860
1861         Add WML <input> element support - it required a lot of changes to the RenderText*/HTMLInput* code.
1862         Now any language can provide <input>-style elements, without having to inherit from HTML* classes.
1863
1864         No WML specific features/attributes are handled so far. A follow-up patch will provide those bits.
1865         Added very simple fast/wml/input.wml, just checking that input elements can be rendered properly now.
1866         Detailed testcases will follow in conjunction with the WML specific attribute support.
1867
1868         * GNUmakefile.am:
1869         * WebCore.pro:
1870         * WebCore.vcproj/WebCore.vcproj:
1871         * WebCore.xcodeproj/project.pbxproj:
1872         * css/CSSStyleSelector.cpp:
1873         (WebCore::CSSStyleSelector::adjustRenderStyle):
1874         * dom/FormControlElement.cpp: Activate disabled code from previous checking.
1875         (WebCore::formControlElementForElement):
1876         * dom/InputElement.cpp: Ditto.
1877         (WebCore::inputElementForElement):
1878         * wml/WMLInputElement.cpp: Added.
1879         (WebCore::WMLInputElement::WMLInputElement):
1880         (WebCore::WMLInputElement::~WMLInputElement):
1881         (WebCore::isInputFocusable):
1882         (WebCore::WMLInputElement::isKeyboardFocusable):
1883         (WebCore::WMLInputElement::isMouseFocusable):
1884         (WebCore::WMLInputElement::dispatchFocusEvent):
1885         (WebCore::WMLInputElement::dispatchBlurEvent):
1886         (WebCore::WMLInputElement::updateFocusAppearance):
1887         (WebCore::WMLInputElement::aboutToUnload):
1888         (WebCore::WMLInputElement::size):
1889         (WebCore::WMLInputElement::name):
1890         (WebCore::WMLInputElement::value):
1891         (WebCore::WMLInputElement::setValue):
1892         (WebCore::WMLInputElement::setValueFromRenderer):
1893         (WebCore::WMLInputElement::saveState):
1894         (WebCore::WMLInputElement::restoreState):
1895         (WebCore::WMLInputElement::select):
1896         (WebCore::WMLInputElement::accessKeyAction):
1897         (WebCore::WMLInputElement::parseMappedAttribute):
1898         (WebCore::WMLInputElement::copyNonAttributeProperties):
1899         (WebCore::WMLInputElement::createRenderer):
1900         (WebCore::WMLInputElement::attach):
1901         (WebCore::WMLInputElement::detach):
1902         (WebCore::WMLInputElement::appendFormData):
1903         (WebCore::WMLInputElement::reset):
1904         (WebCore::WMLInputElement::defaultEventHandler):
1905         (WebCore::WMLInputElement::cacheSelection):
1906         (WebCore::WMLInputElement::constrainValue):
1907         (WebCore::WMLInputElement::documentDidBecomeActive):
1908         (WebCore::WMLInputElement::placeholderShouldBeVisible):
1909         (WebCore::WMLInputElement::willMoveToNewOwnerDocument):
1910         (WebCore::WMLInputElement::didMoveToNewOwnerDocument):
1911         * wml/WMLInputElement.h: Added.
1912         (WebCore::WMLInputElement::valueMatchesRenderer):
1913         (WebCore::WMLInputElement::setValueMatchesRenderer):
1914         (WebCore::WMLInputElement::shouldUseInputMethod):
1915         (WebCore::WMLInputElement::isChecked):
1916         (WebCore::WMLInputElement::isIndeterminate):
1917         (WebCore::WMLInputElement::isTextControl):
1918         (WebCore::WMLInputElement::isRadioButton):
1919         (WebCore::WMLInputElement::isTextField):
1920         (WebCore::WMLInputElement::isSearchField):
1921         (WebCore::WMLInputElement::isInputTypeHidden):
1922         (WebCore::WMLInputElement::isPasswordField):
1923         (WebCore::WMLInputElement::searchEventsShouldBeDispatched):
1924         (WebCore::WMLInputElement::placeholderValue):
1925         * wml/WMLTagNames.in:
1926
1927 2009-01-20  Darin Adler  <darin@apple.com>
1928
1929         Reviewed by John Sullivan.
1930
1931         Remove a little dead code left over after the fix for
1932         https://bugs.webkit.org/show_bug.cgi?id=11395, which
1933         moved pointer-events from SVG to be shared with HTML.
1934
1935         * css/SVGCSSParser.cpp:
1936         (WebCore::CSSParser::parseSVGValue): Remove SVG's parsing of this
1937         property since it's handled in the non-SVG function now so we'll
1938         never get here.
1939
1940 2009-01-20  Julien Chaffraix  <jchaffraix@webkit.org>
1941
1942         Reviewed by Darin Adler.
1943
1944         Bug 23438: Provide a default value to the .in file parser
1945
1946         Added the default value 1 as it simplifies some of 
1947         the format by removing some "=1" that were awkward.
1948
1949         This was suggested by Darin Adler as par of a previous
1950         review.
1951
1952         * bindings/scripts/InFilesParser.pm: When no value
1953         was entered (the second part of the split is undef),
1954         provide the default value.
1955
1956         * html/HTMLAttributeNames.in: Removed unnecessary "=1".
1957         * html/HTMLTagNames.in: Ditto.
1958         * svg/svgattrs.in: Ditto.
1959         * svg/svgtags.in: Ditto.
1960         * svg/xlinkattrs.in: Ditto.
1961         * wml/WMLAttributeNames.in: Ditto.
1962
1963 2009-01-20  Anders Carlsson  <andersca@apple.com>
1964
1965         Reviewed by Darin Adler.
1966
1967         * bridge/c/c_class.cpp:
1968         * bridge/c/c_class.h:
1969         Get rid of CClass::name().
1970         
1971         * bridge/jni/jni_class.h:
1972         Get rid of JavaClass::name().
1973         
1974         * bridge/objc/objc_class.h:
1975         * bridge/objc/objc_class.mm:
1976         Get rid of ObjcClass::name().
1977         
1978         * bridge/objc/objc_instance.h:
1979         Get rid of supportsSetValueOfUndefinedField.
1980         
1981         * bridge/objc/objc_instance.mm:
1982         (ObjcInstance::setValueOfUndefinedField):
1983         Fold supportsSetValueOfUndefinedField into setValueOfUndefinedField.
1984         
1985         * bridge/runtime.cpp:
1986         Get rid of getValueOfField and setValueOfField.
1987         
1988         * bridge/runtime.h:
1989         (JSC::Bindings::Instance::setValueOfUndefinedField):
1990         Have this return a bool and get rid of supportsSetValueOfUndefinedField
1991         
1992         * bridge/runtime_object.cpp:
1993         (JSC::RuntimeObjectImp::fieldGetter):
1994         Call Field::valueFromInstance on the field.
1995         
1996         (JSC::RuntimeObjectImp::put):
1997         Call Field::setValueToInstance on the field.
1998
1999 2009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2000
2001         Not reviewed. Forgot to land build changes for non-mac platforms.
2002
2003         * GNUmakefile.am:
2004         * WebCore.pro:
2005         * WebCore.scons:
2006         * WebCore.vcproj/WebCore.vcproj:
2007         * WebCoreSources.bkl:
2008
2009 2009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2010
2011         Reviewed by Adam Roben.
2012
2013         Fix last-minute regression, introduced by simplifying max length determination - by
2014         clamping using min/max, negative maxLength values got broken.
2015
2016         * dom/InputElement.cpp:
2017         (WebCore::InputElement::parseMaxLengthAttribute):
2018
2019 2009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2020
2021         Reviewed by Adam Roben.
2022
2023         Fixes: https://bugs.webkit.org/show_bug.cgi?id=23433
2024
2025         Add InputElement abstraction, similar to the FormControlElement refactorization
2026         done a month ago. The goal is to share as much code as possible between HTML/WMLInputElement.
2027         In a previous patch the RenderTextControl class has been split-up in RenderTextControlSingle/MultiLine,
2028         RenderTextControl itself only depends on FormControlElement, RenderTextControlSingleLine still
2029         depends on HTMLInputElement directly -> change that and make it use the new InputElement abstraction.
2030
2031         A lot of code from HTMLInputElement now lives in InputElement, as static member functions - the
2032         InputElement class itself is an abstract virtual class, just like ScriptElement. HTML/WMLInputElement
2033         derive from InputElement, and hold a InputElementData member variable, that they pass to the
2034         static functions in InputElement. The abstraction is equal to the one chosen for HTML/SVGScriptElement.
2035
2036         * WebCore.xcodeproj/project.pbxproj:
2037         * dom/FormControlElement.cpp: Added.
2038         (WebCore::formControlElementForElement):
2039         * dom/FormControlElement.h:
2040         * dom/InputElement.cpp: Added.
2041         (WebCore::InputElement::dispatchFocusEvent):
2042         (WebCore::InputElement::dispatchBlurEvent):
2043         (WebCore::InputElement::updatePlaceholderVisibility):
2044         (WebCore::InputElement::updateFocusAppearance):
2045         (WebCore::InputElement::updateSelectionRange):
2046         (WebCore::InputElement::aboutToUnload):
2047         (WebCore::InputElement::setValueFromRenderer):
2048         (WebCore::numCharactersInGraphemeClusters):
2049         (WebCore::InputElement::constrainValue):
2050         (WebCore::numGraphemeClusters):
2051         (WebCore::InputElement::handleBeforeTextInsertedEvent):
2052         (WebCore::InputElement::parseSizeAttribute):
2053         (WebCore::InputElement::parseMaxLengthAttribute):
2054         (WebCore::InputElement::updateValueIfNeeded):
2055         (WebCore::InputElement::notifyFormStateChanged):
2056         (WebCore::InputElementData::InputElementData):
2057         (WebCore::InputElementData::~InputElementData):
2058         (WebCore::InputElementData::name):
2059         (WebCore::inputElementForElement):
2060         * dom/InputElement.h: Added.
2061         (WebCore::InputElement::~InputElement):
2062         (WebCore::InputElement::InputElement):
2063         (WebCore::InputElementData::inputElement):
2064         (WebCore::InputElementData::element):
2065         (WebCore::InputElementData::placeholderShouldBeVisible):
2066         (WebCore::InputElementData::setPlaceholderShouldBeVisible):
2067         (WebCore::InputElementData::setName):
2068         (WebCore::InputElementData::value):
2069         (WebCore::InputElementData::setValue):
2070         (WebCore::InputElementData::size):
2071         (WebCore::InputElementData::setSize):
2072         (WebCore::InputElementData::maxLength):
2073         (WebCore::InputElementData::setMaxLength):
2074         (WebCore::InputElementData::cachedSelectionStart):
2075         (WebCore::InputElementData::setCachedSelectionStart):
2076         (WebCore::InputElementData::cachedSelectionEnd):
2077         (WebCore::InputElementData::setCachedSelectionEnd):
2078         * html/HTMLInputElement.cpp:
2079         (WebCore::HTMLInputElement::HTMLInputElement):
2080         (WebCore::HTMLInputElement::name):
2081         (WebCore::HTMLInputElement::updateFocusAppearance): Moved to InputElement.
2082         (WebCore::HTMLInputElement::aboutToUnload): Ditto.
2083         (WebCore::HTMLInputElement::dispatchFocusEvent): Ditto.
2084         (WebCore::HTMLInputElement::dispatchBlurEvent): Ditto.
2085         (WebCore::HTMLInputElement::setSelectionRange): Moved to InputElement::updateSelectionRange, call it from here.
2086         (WebCore::HTMLInputElement::parseMappedAttribute):
2087         (WebCore::HTMLInputElement::size): Make virtual and override InputElements abstract version.
2088         (WebCore::HTMLInputElement::copyNonAttributeProperties):
2089         (WebCore::HTMLInputElement::value): Make virtual and override InputElements abstract version.
2090         (WebCore::HTMLInputElement::setValue): Ditto.
2091         (WebCore::HTMLInputElement::placeholderValue): Ditto.
2092         (WebCore::HTMLInputElement::searchEventsShouldBeDispatched): Ditto.
2093         (WebCore::HTMLInputElement::setValueFromRenderer): Ditto.
2094         (WebCore::HTMLInputElement::setFileListFromRenderer): Use new code in InputElement::setValueFromRenderer
2095         (WebCore::HTMLInputElement::defaultEventHandler):
2096         (WebCore::HTMLInputElement::setDefaultName): Added as helper function for HTMLIsIndexElement.
2097         (WebCore::HTMLInputElement::maxLength): Added accesor.
2098         (WebCore::HTMLInputElement::constrainValue): Move functionality to InputElement::constrainValue.
2099         (WebCore::HTMLInputElement::cacheSelection): Move functionality to InputElement::cacheSelection.
2100         (WebCore::HTMLInputElement::selection):
2101         (WebCore::HTMLInputElement::placeholderShouldBeVisible): Make virtual and override InputElements abstract version.
2102         * html/HTMLInputElement.h:
2103         (WebCore::HTMLInputElement::isTextField):
2104         (WebCore::HTMLInputElement::isSearchField):
2105         (WebCore::HTMLInputElement::isAutofilled):
2106         * html/HTMLIsIndexElement.cpp:
2107         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
2108         * rendering/RenderTextControl.cpp:
2109         (WebCore::RenderTextControl::formControlElement):
2110         * rendering/RenderTextControlSingleLine.cpp:
2111         (WebCore::RenderTextControlSingleLine::placeholderShouldBeVisible):
2112         (WebCore::RenderTextControlSingleLine::addSearchResult):
2113         (WebCore::RenderTextControlSingleLine::stopSearchEventTimer):
2114         (WebCore::RenderTextControlSingleLine::showPopup):
2115         (WebCore::RenderTextControlSingleLine::hidePopup):
2116         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2117         (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
2118         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
2119         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
2120         (WebCore::RenderTextControlSingleLine::updateFromElement):
2121         (WebCore::RenderTextControlSingleLine::cacheSelection):
2122         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
2123         (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
2124         (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
2125         (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility):
2126         (WebCore::RenderTextControlSingleLine::startSearchEventTimer):
2127         (WebCore::RenderTextControlSingleLine::searchEventTimerFired):
2128         (WebCore::RenderTextControlSingleLine::valueChanged):
2129         (WebCore::RenderTextControlSingleLine::setTextFromItem):
2130         (WebCore::RenderTextControlSingleLine::inputElement):
2131         * rendering/RenderTextControlSingleLine.h:
2132
2133 2009-01-20  Dirk Schulze  <krit@webkit.org>
2134
2135         Reviewed by Nikolas Zimmermann.
2136
2137         Make SVG pattern platform independent and remove platform code.
2138
2139         Make SVGPattern platform independent
2140         https://bugs.webkit.org/show_bug.cgi?id=21205
2141
2142         * GNUmakefile.am:
2143         * WebCore.pro:
2144         * WebCore.vcproj/WebCore.vcproj:
2145         * WebCore.xcodeproj/project.pbxproj:
2146         * platform/graphics/GraphicsContext.h:
2147         * platform/graphics/cg/GraphicsContextCG.cpp:
2148         (WebCore::GraphicsContext::applyStrokePattern):
2149         (WebCore::GraphicsContext::applyFillPattern):
2150         (WebCore::GraphicsContext::drawPath):
2151         (WebCore::GraphicsContext::fillPath):
2152         (WebCore::GraphicsContext::strokePath):
2153         (WebCore::GraphicsContext::fillRect):
2154         (WebCore::GraphicsContext::strokeRect):
2155         * svg/graphics/SVGPaintServerPattern.cpp:
2156         (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
2157         (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
2158         (WebCore::SVGPaintServerPattern::setup):
2159         (WebCore::SVGPaintServerPattern::renderPath):
2160         (WebCore::SVGPaintServerPattern::teardown):
2161         * svg/graphics/SVGPaintServerPattern.h:
2162         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp: Removed.
2163         * svg/graphics/cg/SVGPaintServerPatternCg.cpp: Removed.
2164         * svg/graphics/qt/SVGPaintServerPatternQt.cpp: Removed.
2165         * svg/graphics/skia/SVGPaintServerPatternSkia.cpp: Removed.
2166
2167 2009-01-20  Darin Fisher  <darin@chromium.org>
2168
2169         Reviewed by Eric Seidel.
2170
2171         https://bugs.webkit.org/show_bug.cgi?id=23436
2172         Upstream rendering/RenderThemeChromium*
2173
2174         * rendering/RenderThemeChromiumGtk.cpp: Added.
2175         * rendering/RenderThemeChromiumGtk.h: Added.
2176         * rendering/RenderThemeChromiumMac.h: Added.
2177         * rendering/RenderThemeChromiumMac.mm: Added.
2178         * rendering/RenderThemeChromiumWin.cpp: Added.
2179         * rendering/RenderThemeChromiumWin.h: Added.
2180
2181 2009-01-20  Darin Adler  <darin@apple.com>
2182
2183         Reviewed by Mark Rowe.
2184
2185         Bug 23352: Turn on more compiler warnings in the Mac build
2186         https://bugs.webkit.org/show_bug.cgi?id=23352
2187
2188         First patch: Fix some simple cases of various warnings.
2189
2190         * platform/DeprecatedPtrListImpl.cpp:
2191         (WebCore::DeprecatedPtrListImpl::insert): Use const_cast to change const-ness.
2192         * platform/graphics/mac/SimpleFontDataMac.mm:
2193         (WebCore::SimpleFontData::containsCharacters): Ditto.
2194
2195         * platform/text/PlatformString.h: Overload for short and unsigned short to avoid
2196         ambiguity leading to warnings.
2197         * platform/text/String.cpp:
2198         (WebCore::String::number): Implemented overloads.
2199
2200         * platform/text/TextStream.cpp:
2201         (WebCore::TextStream::operator<<): Overload for bool to avoid ambiguity leading
2202         to warnings.
2203         * platform/text/TextStream.h: Ditto.
2204
2205         * rendering/InlineFlowBox.h: Fix declaration that was specifying the wrong type.
2206
2207         * svg/graphics/filters/cg/WKLinearTransferFilter.m: Fix stray characters after
2208         #endif that should be a comment instead.
2209         * svg/graphics/filters/cg/WKSpecularLightingFilter.h: Ditto.
2210
2211         * xml/XPathPath.h: Remove unneeded redundant declaration.
2212
2213 2009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2214
2215         Build fix for WML enabled builds, not reviewed.
2216
2217         Fix unused variable warning.
2218
2219         * wml/WMLGoElement.cpp:
2220         (WebCore::WMLGoElement::executeTask):
2221
2222 2009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2223
2224         Build fix for WML enabled builds, not reviewed.
2225
2226         Rename 'continuation' to 'virtualContinuation'.
2227
2228         * wml/WMLAElement.cpp:
2229         (WebCore::WMLAElement::isKeyboardFocusable):
2230
2231 2009-01-20  Oliver Hunt  <oliver@apple.com>
2232
2233         RS=Dan Bernstein
2234
2235         Move runtime/ByteArray to wtf/ByteArray
2236
2237         * ForwardingHeaders/wtf/ByteArray.h: Renamed from WebCore/ForwardingHeaders/runtime/ByteArray.h.
2238         * html/CanvasRenderingContext2D.cpp:
2239         * html/ImageData.cpp:
2240         (WebCore::ImageData::ImageData):
2241         * html/ImageData.h:
2242         (WebCore::ImageData::data):
2243
2244 2009-01-20  Darin Fisher  <darin@chromium.org>
2245
2246         Reviewed by Sam Weinig.
2247
2248         https://bugs.webkit.org/show_bug.cgi?id=23391
2249         Upstream plugins/chromium/
2250
2251         * plugins/chromium: Added.
2252         * plugins/chromium/PluginDataChromium.cpp: Added.
2253
2254 2009-01-19  Steve Falkenburg  <sfalken@apple.com>
2255
2256         Fix Windows release build.
2257         Move SVG files into all-in-one file for Windows build.
2258
2259         * WebCore.vcproj/WebCore.vcproj:
2260         * svg/SVGAllInOne.cpp: Added.
2261
2262 2009-01-19  Steve Falkenburg  <sfalken@apple.com>
2263
2264         Partial build fix.
2265         Move new derived sources into all-in-one DerivedSources.cpp
2266
2267         * DerivedSources.cpp:
2268         * WebCore.vcproj/WebCore.vcproj:
2269
2270 2009-01-19  Sam Weinig  <sam@webkit.org>
2271
2272         Fix Qt build.
2273
2274         * bridge/qt/qt_instance.cpp:
2275         (JSC::Bindings::QtInstance::mark):
2276         * bridge/qt/qt_runtime.cpp:
2277         (JSC::Bindings::valueRealType):
2278         (JSC::Bindings::convertValueToQVariant):
2279         (JSC::Bindings::QtRuntimeConnectionMethod::call):
2280         (JSC::Bindings::QtConnectionObject::execute):
2281
2282 2009-01-19  Sam Weinig  <sam@webkit.org>
2283
2284         Fix wx build.
2285
2286         * plugins/PluginView.cpp:
2287         (WebCore::getString):
2288
2289 2009-01-19  Sam Weinig  <sam@webkit.org>
2290
2291         Rubber-stamped by Gavin Barraclough.
2292
2293         Remove temporary operator-> from JSValuePtr.
2294
2295         * WebCore.xcodeproj/project.pbxproj:
2296         * bindings/js/JSAudioConstructor.cpp:
2297         (WebCore::constructAudio):
2298         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2299         (WebCore::toHTMLCanvasStyle):
2300         (WebCore::JSCanvasRenderingContext2D::setFillColor):
2301         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
2302         (WebCore::JSCanvasRenderingContext2D::strokeRect):
2303         (WebCore::JSCanvasRenderingContext2D::drawImage):
2304         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
2305         (WebCore::JSCanvasRenderingContext2D::setShadow):
2306         (WebCore::JSCanvasRenderingContext2D::createPattern):
2307         (WebCore::JSCanvasRenderingContext2D::putImageData):
2308         (WebCore::JSCanvasRenderingContext2D::fillText):
2309         (WebCore::JSCanvasRenderingContext2D::strokeText):
2310         * bindings/js/JSClipboardCustom.cpp:
2311         (WebCore::JSClipboard::clearData):
2312         (WebCore::JSClipboard::getData):
2313         (WebCore::JSClipboard::setData):
2314         (WebCore::JSClipboard::setDragImage):
2315         * bindings/js/JSCustomPositionCallback.cpp:
2316         (WebCore::JSCustomPositionCallback::handleEvent):
2317         * bindings/js/JSCustomPositionErrorCallback.cpp:
2318         (WebCore::JSCustomPositionErrorCallback::handleEvent):
2319         * bindings/js/JSCustomSQLStatementCallback.cpp:
2320         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2321         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2322         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2323         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2324         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2325         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2326         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2327         * bindings/js/JSCustomVoidCallback.cpp:
2328         (WebCore::JSCustomVoidCallback::handleEvent):
2329         (WebCore::toVoidCallback):
2330         * bindings/js/JSCustomXPathNSResolver.cpp:
2331         (WebCore::JSCustomXPathNSResolver::create):
2332         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2333         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2334         (WebCore::JSDOMApplicationCache::hasItem):
2335         (WebCore::JSDOMApplicationCache::add):
2336         (WebCore::JSDOMApplicationCache::remove):
2337         (WebCore::JSDOMApplicationCache::addEventListener):
2338         (WebCore::JSDOMApplicationCache::removeEventListener):
2339         * bindings/js/JSDOMBinding.cpp:
2340         (WebCore::valueToStringWithNullCheck):
2341         (WebCore::valueToStringWithUndefinedOrNullCheck):
2342         (WebCore::reportException):
2343         * bindings/js/JSDOMGlobalObject.cpp:
2344         (WebCore::JSDOMGlobalObject::findJSEventListener):
2345         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
2346         (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
2347         (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
2348         * bindings/js/JSDOMStringListCustom.cpp:
2349         (WebCore::JSDOMStringList::item):
2350         * bindings/js/JSDOMWindowBase.cpp:
2351         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
2352         (windowProtoFuncOpen):
2353         (WebCore::toJSDOMWindow):
2354         * bindings/js/JSDOMWindowCustom.cpp:
2355         (WebCore::JSDOMWindow::setLocation):
2356         (WebCore::JSDOMWindow::postMessage):
2357         (WebCore::setTimeoutOrInterval):
2358         (WebCore::JSDOMWindow::clearTimeout):
2359         (WebCore::JSDOMWindow::clearInterval):
2360         (WebCore::JSDOMWindow::atob):
2361         (WebCore::JSDOMWindow::btoa):
2362         (WebCore::JSDOMWindow::addEventListener):
2363         (WebCore::JSDOMWindow::removeEventListener):
2364         (WebCore::toDOMWindow):
2365         * bindings/js/JSDatabaseCustom.cpp:
2366         (WebCore::JSDatabase::changeVersion):
2367         (WebCore::JSDatabase::transaction):
2368         * bindings/js/JSDocumentCustom.cpp:
2369         (WebCore::JSDocument::setLocation):
2370         * bindings/js/JSElementCustom.cpp:
2371         (WebCore::JSElement::setAttribute):
2372         (WebCore::JSElement::setAttributeNS):
2373         * bindings/js/JSEventListener.cpp:
2374         (WebCore::JSAbstractEventListener::handleEvent):
2375         (WebCore::JSLazyEventListener::parseCode):
2376         * bindings/js/JSEventTargetNodeCustom.cpp:
2377         (WebCore::JSEventTargetNode::addEventListener):
2378         (WebCore::JSEventTargetNode::removeEventListener):
2379         * bindings/js/JSGeolocationCustom.cpp:
2380         (WebCore::createPositionOptions):
2381         (WebCore::JSGeolocation::getCurrentPosition):
2382         (WebCore::JSGeolocation::watchPosition):
2383         * bindings/js/JSHTMLCollectionCustom.cpp:
2384         (WebCore::callHTMLCollection):
2385         (WebCore::JSHTMLCollection::canGetItemsForName):
2386         (WebCore::JSHTMLCollection::item):
2387         (WebCore::JSHTMLCollection::namedItem):
2388         * bindings/js/JSHTMLDocumentCustom.cpp:
2389         (WebCore::JSHTMLDocument::open):
2390         (WebCore::writeHelper):
2391         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2392         (WebCore::JSHTMLOptionsCollection::setLength):
2393         (WebCore::JSHTMLOptionsCollection::add):
2394         * bindings/js/JSHTMLSelectElementCustom.cpp:
2395         (WebCore::JSHTMLSelectElement::remove):
2396         (WebCore::selectIndexSetter):
2397         * bindings/js/JSImageConstructor.cpp:
2398         (WebCore::constructImage):
2399         * bindings/js/JSInspectedObjectWrapper.cpp:
2400         (WebCore::JSInspectedObjectWrapper::wrap):
2401         (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
2402         * bindings/js/JSInspectorCallbackWrapper.cpp:
2403         (WebCore::JSInspectorCallbackWrapper::wrap):
2404         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2405         (WebCore::JSJavaScriptCallFrame::evaluate):
2406         * bindings/js/JSLocationCustom.cpp:
2407         (WebCore::JSLocation::setHref):
2408         (WebCore::JSLocation::setProtocol):
2409         (WebCore::JSLocation::setHost):
2410         (WebCore::JSLocation::setHostname):
2411         (WebCore::JSLocation::setPort):
2412         (WebCore::JSLocation::setPathname):
2413         (WebCore::JSLocation::setSearch):
2414         (WebCore::JSLocation::setHash):
2415         (WebCore::JSLocation::replace):
2416         (WebCore::JSLocation::assign):
2417         * bindings/js/JSMessageChannelConstructor.cpp:
2418         (WebCore::JSMessageChannelConstructor::mark):
2419         * bindings/js/JSMessagePortCustom.cpp:
2420         (WebCore::JSMessagePort::startConversation):
2421         (WebCore::JSMessagePort::addEventListener):
2422         (WebCore::JSMessagePort::removeEventListener):
2423         * bindings/js/JSNodeFilterCondition.cpp:
2424         (WebCore::JSNodeFilterCondition::mark):
2425         (WebCore::JSNodeFilterCondition::acceptNode):
2426         * bindings/js/JSNodeFilterCondition.h:
2427         * bindings/js/JSNodeFilterCustom.cpp:
2428         (WebCore::toNodeFilter):
2429         * bindings/js/JSNodeListCustom.cpp:
2430         (WebCore::callNodeList):
2431         * bindings/js/JSOptionConstructor.cpp:
2432         (WebCore::constructHTMLOptionElement):
2433         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2434         (WebCore::JSQuarantinedObjectWrapper::asWrapper):
2435         (WebCore::JSQuarantinedObjectWrapper::construct):
2436         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2437         (WebCore::JSSQLResultSetRowList::item):
2438         * bindings/js/JSSQLTransactionCustom.cpp:
2439         (WebCore::JSSQLTransaction::executeSql):
2440         * bindings/js/JSSVGElementInstanceCustom.cpp:
2441         (WebCore::JSSVGElementInstance::addEventListener):
2442         (WebCore::JSSVGElementInstance::removeEventListener):
2443         * bindings/js/JSSVGLengthCustom.cpp:
2444         (WebCore::JSSVGLength::convertToSpecifiedUnits):
2445         * bindings/js/JSSVGMatrixCustom.cpp:
2446         (WebCore::JSSVGMatrix::translate):
2447         (WebCore::JSSVGMatrix::scale):
2448         (WebCore::JSSVGMatrix::scaleNonUniform):
2449         (WebCore::JSSVGMatrix::rotate):
2450         (WebCore::JSSVGMatrix::rotateFromVector):
2451         (WebCore::JSSVGMatrix::skewX):
2452         (WebCore::JSSVGMatrix::skewY):
2453         * bindings/js/JSSVGPathSegListCustom.cpp:
2454         (WebCore::JSSVGPathSegList::getItem):
2455         (WebCore::JSSVGPathSegList::insertItemBefore):
2456         (WebCore::JSSVGPathSegList::replaceItem):
2457         (WebCore::JSSVGPathSegList::removeItem):
2458         * bindings/js/JSSVGPointListCustom.cpp:
2459         (WebCore::JSSVGPointList::getItem):
2460         (WebCore::JSSVGPointList::insertItemBefore):
2461         (WebCore::JSSVGPointList::replaceItem):
2462         (WebCore::JSSVGPointList::removeItem):
2463         * bindings/js/JSSVGTransformListCustom.cpp:
2464         (WebCore::JSSVGTransformList::getItem):
2465         (WebCore::JSSVGTransformList::insertItemBefore):
2466         (WebCore::JSSVGTransformList::replaceItem):
2467         (WebCore::JSSVGTransformList::removeItem):
2468         * bindings/js/JSStorageCustom.cpp:
2469         (WebCore::JSStorage::deleteProperty):
2470         (WebCore::JSStorage::customPut):
2471         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
2472         (WebCore::constructWebKitCSSMatrix):
2473         * bindings/js/JSWorkerConstructor.cpp:
2474         (WebCore::constructWorker):
2475         * bindings/js/JSWorkerContextCustom.cpp:
2476         (WebCore::JSWorkerContext::addEventListener):
2477         (WebCore::JSWorkerContext::removeEventListener):
2478         * bindings/js/JSWorkerCustom.cpp:
2479         (WebCore::JSWorker::addEventListener):
2480         (WebCore::JSWorker::removeEventListener):
2481         * bindings/js/JSXMLHttpRequestCustom.cpp:
2482         (WebCore::JSXMLHttpRequest::open):
2483         (WebCore::JSXMLHttpRequest::setRequestHeader):
2484         (WebCore::JSXMLHttpRequest::send):
2485         (WebCore::JSXMLHttpRequest::getResponseHeader):
2486         (WebCore::JSXMLHttpRequest::overrideMimeType):
2487         (WebCore::JSXMLHttpRequest::addEventListener):
2488         (WebCore::JSXMLHttpRequest::removeEventListener):
2489         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2490         (WebCore::JSXMLHttpRequestUpload::addEventListener):
2491         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2492         * bindings/js/JSXSLTProcessorCustom.cpp:
2493         (WebCore::JSXSLTProcessor::importStylesheet):
2494         (WebCore::JSXSLTProcessor::transformToFragment):
2495         (WebCore::JSXSLTProcessor::transformToDocument):
2496         (WebCore::JSXSLTProcessor::setParameter):
2497         (WebCore::JSXSLTProcessor::getParameter):
2498         (WebCore::JSXSLTProcessor::removeParameter):
2499         * bindings/js/ScheduledAction.cpp:
2500         (WebCore::ScheduledAction::executeFunctionInContext):
2501         * bindings/js/ScriptCallStack.cpp:
2502         (WebCore::ScriptCallStack::initialize):
2503         * bindings/js/ScriptController.cpp:
2504         (WebCore::ScriptController::createScriptObjectForPluginElement):
2505         * bindings/js/ScriptValue.cpp:
2506         (WebCore::ScriptValue::getString):
2507         (WebCore::ScriptValue::isNull):
2508         (WebCore::ScriptValue::isUndefined):
2509         * bindings/objc/WebScriptObject.mm:
2510         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2511         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2512         * bindings/scripts/CodeGeneratorJS.pm:
2513         * bridge/NP_jsobject.cpp:
2514         (_NPN_InvokeDefault):
2515         (_NPN_Invoke):
2516         (_NPN_HasMethod):
2517         (_NPN_Construct):
2518         * bridge/c/c_utility.cpp:
2519         (JSC::Bindings::convertValueToNPVariant):
2520         * bridge/jni/jni_instance.cpp:
2521         (JavaInstance::invokeMethod):
2522         * bridge/jni/jni_jsobject.mm:
2523         (JavaJSObject::call):
2524         (JavaJSObject::convertValueToJObject):
2525         * bridge/jni/jni_runtime.cpp:
2526         (JavaField::dispatchValueFromInstance):
2527         (JavaField::valueFromInstance):
2528         (JavaField::dispatchSetValueToInstance):
2529         (JavaField::setValueToInstance):
2530         * bridge/jni/jni_utility.cpp:
2531         (JSC::Bindings::convertArrayInstanceToJavaArray):
2532         (JSC::Bindings::convertValueToJValue):
2533         * bridge/objc/objc_runtime.mm:
2534         (JSC::Bindings::callObjCFallbackObject):
2535         * bridge/objc/objc_utility.mm:
2536         (JSC::Bindings::convertValueToObjcValue):
2537         * bridge/runtime_method.cpp:
2538         (JSC::callRuntimeMethod):
2539         * bridge/runtime_object.cpp:
2540         (JSC::RuntimeObjectImp::getOwnPropertySlot):
2541         (JSC::callRuntimeConstructor):
2542
2543 2009-01-20  Gustavo Noronha Silva  <gns@gnome.org>
2544
2545          Reviewed by Mark Rowe.
2546
2547          https://bugs.webkit.org/show_bug.cgi?id=23419
2548          removal of FramePrivate.h breaks GTK+'s make dist
2549
2550          * GNUmakefile.am: No longer mention FramePrivate.h in our build,
2551          since it was removed.
2552
2553 2009-01-20  Alexander V. Butenko  <alex@digiqube.com>
2554
2555         Reviewed by Holger Freyther.
2556
2557         http://bugs.webkit.org/show_bug.cgi?id=23116
2558         [GTK] Fix crash due a callback called from GIO after the
2559         destruction of the ResourceHandle
2560
2561         * platform/network/soup/ResourceHandleSoup.cpp:
2562         (WebCore::ResourceHandle::cancel): Only call didFinishLoading if
2563         'client' is set, otherwise cancelling a load could lead to a crash.
2564
2565 2009-01-19  Simon Fraser  <simon.fraser@apple.com>
2566
2567         Build fix: remove duplicate entries in the Xcode project, and
2568         sort the project with sort-Xcode-project-file .
2569         
2570         * WebCore.xcodeproj/project.pbxproj:
2571
2572 2009-01-19  Simon Fraser  <simon.fraser@apple.com>
2573
2574         Reviewed by Dave Hyatt
2575
2576         https://bugs.webkit.org/show_bug.cgi?id=18078
2577
2578         Support animations and transitions of shorthand properties by creating
2579         PropertyWrappers that simply wrap a vector of atomic wrappers, and implement
2580         equal() and blend(). Build that collection of shorthand wrappers using the
2581         shorthand map that CSSMutableStyleDeclaration already has. Skip comparing these
2582         shorthand wrappers during 'all' transitions.
2583
2584         * GNUmakefile.am:
2585         * WebCore.pro:
2586         * WebCore.scons:
2587         * WebCore.vcproj/WebCore.vcproj:
2588         * WebCore.xcodeproj/project.pbxproj:
2589         * WebCoreSources.bkl:
2590         Add CSSPropertyLonghand.h/cpp.
2591         
2592         * css/CSSMutableStyleDeclaration.cpp:
2593         (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
2594         Move CSSPropertyLonghand to its own file.
2595         
2596         * css/CSSPropertyLonghand.cpp: Added.
2597         (WebCore::initShorthandMap):
2598         (WebCore::longhandForProperty):
2599         * css/CSSPropertyLonghand.h: Added.
2600         (WebCore::CSSPropertyLonghand::CSSPropertyLonghand):
2601         (WebCore::CSSPropertyLonghand::properties):
2602         (WebCore::CSSPropertyLonghand::length):
2603         Code moved from CSSMutableStyleDeclaration.h/cpp
2604
2605         * page/animation/AnimationBase.cpp:
2606         (WebCore::PropertyWrapperBase::isShorthandWrapper):
2607         (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper):
2608         (WebCore::ShorthandPropertyWrapper::isShorthandWrapper):
2609         (WebCore::ShorthandPropertyWrapper::equals):
2610         (WebCore::ShorthandPropertyWrapper::blend):
2611         Add a wrapper class for shorthand properties that simply wraps an
2612         array of atomic property wrappers.
2613
2614         (WebCore::ensurePropertyMap):
2615         (WebCore::addPropertyWrapper):
2616         (WebCore::addShorthandProperties):
2617         (WebCore::wrapperForProperty):
2618         (WebCore::AnimationBase::propertiesEqual):
2619         (WebCore::AnimationBase::getPropertyAtIndex):
2620         Some minor refactoring to re-use wrapperForProperty(), and ensure that gPropertyWrapperMap
2621         is filled with an invalid index (-1), not 0.
2622
2623         (WebCore::AnimationBase::blendProperties):
2624         * page/animation/AnimationBase.h:
2625         * page/animation/CompositeAnimation.cpp:
2626         (WebCore::CompositeAnimationPrivate::updateTransitions):
2627         When doing 'all' transitions, skip shorthand wrappers, since 'all' transitions
2628         just need to compare all the atomic property wrappers.
2629
2630 2009-01-19  Oliver Hunt  <oliver@apple.com>
2631
2632         Reviewed by NOBODY (Build fix).
2633
2634         Actually add the new header.
2635
2636         * dom/GenericWorkerTask.h: Added.
2637
2638 2009-01-19  David Levin  <levin@chromium.org>
2639
2640         Reviewed by Alexey Proskuryakov.
2641
2642         https://bugs.webkit.org/show_bug.cgi?id=22720
2643
2644         Provide a generic class to handle the pattern of task callbacks across worker/parent threads.  It
2645         only works for methods that need 6 parameters but similar classes could be added as needed for
2646         other numbers of parameters.
2647
2648         Add addMessage and resourceRetrievedByXMLHttpRequest to ScriptExecutionContext.
2649
2650         Use these methods and others to remove document() from XMLHttpRequest in a few more places.
2651
2652         No observable change in behavior, so no test.
2653
2654         * GNUmakefile.am:
2655         * WebCore.vcproj/WebCore.vcproj:
2656         * WebCore.xcodeproj/project.pbxproj:
2657         Sorted project file while adding GenericWorkerTask.h
2658
2659         * bindings/js/ScriptString.h:
2660         (WebCore::ScriptString::operator=):
2661         (WebCore::ScriptString::operator+=):
2662         (WebCore::ScriptString::operator==):
2663         (WebCore::ScriptString::operator!=):
2664         Removed unnecessary JSLock.
2665
2666         * dom/Document.cpp:
2667         (WebCore::Document::addMessage):
2668         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
2669         * dom/Document.h:
2670         * dom/GenericWorkerTask.h: Added.
2671         (WebCore::GenericWorkerTaskBase::GenericWorkerTaskBase):
2672         (WebCore::GenericWorkerTaskBase::canPerformTask):
2673         (WebCore::GenericWorkerTask6::create):
2674         (WebCore::GenericWorkerTask6::GenericWorkerTask6):
2675         (WebCore::GenericWorkerTask6::performTask):
2676         (WebCore::createCallbackTask):
2677         * dom/ScriptExecutionContext.h:
2678         * dom/WorkerContext.cpp:
2679         (WebCore::addMessageTask):
2680         (WebCore::WorkerContext::addMessage):
2681         (WebCore::WorkerContext::resourceRetrievedByXMLHttpRequest):
2682         (WebCore::WorkerContext::postTaskToParentContext):
2683         * dom/WorkerContext.h:
2684         * dom/WorkerMessagingProxy.cpp:
2685         (WebCore::WorkerMessagingProxy::postTaskToParentContext):
2686         * dom/WorkerMessagingProxy.h:
2687         * dom/WorkerThread.h:
2688         * xml/XMLHttpRequest.cpp:
2689         (WebCore::XMLHttpRequest::XMLHttpRequest):
2690         (WebCore::XMLHttpRequest::dropProtection):
2691         (WebCore::reportUnsafeUsage):
2692         (WebCore::XMLHttpRequest::setRequestHeader):
2693         (WebCore::XMLHttpRequest::getResponseHeader):
2694         (WebCore::XMLHttpRequest::didFinishLoading):
2695         * xml/XMLHttpRequest.h:
2696         (WebCore::XMLHttpRequest::create):
2697
2698
2699 2009-01-19  Chris Fleizach  <cfleizach@apple.com>
2700
2701         Reviewed by Beth Dakin.
2702
2703         Bug 23422: AX: AXLinks should expose access key information
2704         https://bugs.webkit.org/show_bug.cgi?id=23422
2705
2706         Test: accessibility/accesskey.html
2707
2708         * page/mac/AccessibilityObjectWrapper.mm:
2709         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2710         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2711
2712 2009-01-19  Alexey Proskuryakov  <ap@webkit.org>
2713
2714         Reviewed by Anders Carlsson.
2715
2716         https://bugs.webkit.org/show_bug.cgi?id=23417
2717         Implement application cache obsolete state
2718
2719         Test: http/tests/appcache/remove-cache.html
2720
2721         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2722         (WebCore::JSDOMApplicationCache::mark):
2723         * dom/EventNames.h:
2724         * loader/appcache/DOMApplicationCache.h:
2725         (WebCore::DOMApplicationCache::Status):
2726         (WebCore::DOMApplicationCache::setOnobsolete):
2727         (WebCore::DOMApplicationCache::onobsolete):
2728         * loader/appcache/DOMApplicationCache.idl:
2729         Added "obsolete" event and status.
2730
2731         * loader/appcache/ApplicationCacheGroup.h:
2732         (WebCore::ApplicationCacheGroup::savedNewestCachePointer): Removed, there is no longer
2733         any need to track what the newest cache was during teardown.
2734         (WebCore::ApplicationCacheGroup::updateStatus): Renamed Status to UpdateStatus, reducing
2735         confusion with cache group lifecycle status.
2736         (WebCore::ApplicationCacheGroup::m_isObsolete): Added an obsolete state flag.
2737
2738         * loader/appcache/ApplicationCacheGroup.cpp:
2739         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): Initialize m_isObsolete.
2740         (WebCore::ApplicationCacheGroup::cacheForMainRequest): Assert that the returned cache does
2741         not belong to an obsolete group.
2742         (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest): Ditto.
2743         (WebCore::ApplicationCacheGroup::disassociateDocumentLoader): Disassociation can now happen
2744         via a JS swapCache() call, not only when the loader is destroyed.
2745         (WebCore::ApplicationCacheGroup::cacheDestroyed): Don't track m_savedNewestCachePointer.
2746         (WebCore::ApplicationCacheGroup::setNewestCache): Remove old newest cache from storage is
2747         a caller responsibility, because this method is also used when loading caches from disk.
2748         (WebCore::ApplicationCacheGroup::makeObsolete): Added. Mark the cache group as obsolete, and
2749         inform cache storage, so that it could be removed.
2750         (WebCore::ApplicationCacheGroup::didFailToLoadManifest): Removed, as all this method did
2751         was call cacheUpdateFailed().
2752         (WebCore::ApplicationCacheGroup::didReceiveResponse): Added a FIXME about correct failure
2753         handing.
2754         (WebCore::ApplicationCacheGroup::didFail): Ditto.
2755         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Call a new manifestNotFound()
2756         method for 404 and 410 responses.
2757         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Call cacheUpdateFailed()
2758         directly, instead of the removed didFailToLoadManifest().
2759         (WebCore::ApplicationCacheGroup::manifestNotFound): Implement "remove a cache" algorithm.
2760         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Remove superceded cache from storage
2761         after update successfully finishes (moved from setNewestCache()).
2762         (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): Revive the group using
2763         an explicitly passed pointer, without the need to save it during teardown.
2764
2765         * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::~DocumentLoader):
2766         Call the general ApplicationCacheGroup::disassociateDocumentLoader() method.
2767
2768         * loader/appcache/ApplicationCacheStorage.h: Added a cacheGroupMadeObsolete() method, updated
2769         some comments.
2770
2771         * loader/appcache/ApplicationCacheStorage.cpp:
2772         (WebCore::ApplicationCacheStorage::cacheGroupForURL): Assert that iterated caches are not
2773         obsolete.
2774         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): Ditto.
2775         (WebCore::ApplicationCacheStorage::cacheGroupDestroyed): Don't do anything for obsolete
2776         groups, as they cannot be in storage.
2777         (WebCore::ApplicationCacheStorage::cacheGroupMadeObsolete): Remove the cache group from storage
2778         completely, so that a new one could replace it, if necessary.
2779         (WebCore::ApplicationCacheStorage::storeNewestCache): Added assertions.
2780         (WebCore::ApplicationCacheStorage::remove): Remove cache group if its newest cache is removed.
2781
2782         * loader/appcache/DOMApplicationCache.cpp:
2783         (WebCore::DOMApplicationCache::status): Added support for OBSOLETE state.
2784         (WebCore::DOMApplicationCache::swapCache): Disassociate document loader from cache if the
2785         application was removed server-side.
2786         (WebCore::DOMApplicationCache::callObsoleteListener): Added support for obsolete event.
2787
2788         * loader/appcache/DOMApplicationCache.h:
2789         (WebCore::DOMApplicationCache::Status):
2790         (WebCore::DOMApplicationCache::setOnobsolete):
2791         (WebCore::DOMApplicationCache::onobsolete):
2792         Added support for OBSOLETE state and obsolete event.
2793
2794         * loader/appcache/DOMApplicationCache.idl: Ditto.
2795
2796 2009-01-19  Anders Carlsson  <andersca@apple.com>
2797
2798         Reviewed by Kevin Decker.
2799
2800         Allow plug-in views to return an instance directly.
2801         
2802         * bindings/js/ScriptControllerMac.mm:
2803         (WebCore::ScriptController::createScriptInstanceForWidget):
2804
2805 2009-01-19  Chris Fleizach  <cfleizach@apple.com>
2806
2807         Reviewed by David Hyatt.
2808
2809         AX: some buttons don't expose AXPress as an action
2810         https://bugs.webkit.org/show_bug.cgi?id=23399
2811
2812         Test: accessibility/button-press-action.html
2813
2814         * page/AccessibilityRenderObject.cpp:
2815         (WebCore::AccessibilityRenderObject::actionElement):
2816
2817 2009-01-19  Adam Roben  <aroben@apple.com>
2818
2819         Windows build fix
2820
2821         * WebCore.vcproj/WebCore.vcproj: Copy headers from page/animation into
2822         $WebKitOutputDir so that WebKit can access them.
2823
2824         * html/HTMLBaseFontElement.cpp: Touched this file to cause a rebuild
2825         and header copy.
2826
2827 2009-01-19  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2828
2829         Reviewed by Simon Hausmann.
2830
2831         http://www.qtsoftware.com/developer/task-tracker/index_html?id=211228&method=entry
2832
2833         [Qt] Show focus rect when a button gets the focus for the first time.
2834         This is important at least for Windows style.
2835
2836         * platform/qt/RenderThemeQt.cpp:
2837         (WebCore::RenderThemeQt::applyTheme):
2838
2839 2009-01-19  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2840
2841         [Qt] Build fix after r39971.
2842
2843         * platform/qt/LoggingQt.cpp:
2844         (WebCore::InitializeLoggingChannelsIfNecessary):
2845
2846 2009-01-18  Sam Weinig  <sam@webkit.org>
2847
2848         Reviewed by Cameron Zwarich.
2849
2850         Fix for https://bugs.webkit.org/show_bug.cgi?id=23415
2851         Remove FramePrivate
2852
2853         Minor PLT speedup.
2854
2855         * WebCore.base.exp:
2856         * WebCore.vcproj/WebCore.vcproj:
2857         * WebCore.xcodeproj/project.pbxproj:
2858         * loader/FrameLoader.cpp:
2859         * page/Frame.cpp:
2860         (WebCore::Frame::Frame):
2861         (WebCore::Frame::~Frame):
2862         (WebCore::Frame::init):
2863         (WebCore::Frame::loader):
2864         (WebCore::Frame::view):
2865         (WebCore::Frame::setView):
2866         (WebCore::Frame::script):
2867         (WebCore::Frame::document):
2868         (WebCore::Frame::setDocument):
2869         (WebCore::Frame::settings):
2870         (WebCore::Frame::selection):
2871         (WebCore::Frame::editor):
2872         (WebCore::Frame::selectionGranularity):
2873         (WebCore::Frame::setSelectionGranularity):
2874         (WebCore::Frame::dragCaretController):
2875         (WebCore::Frame::animation):
2876         (WebCore::Frame::mark):
2877         (WebCore::Frame::setMark):
2878         (WebCore::Frame::setCaretVisible):
2879         (WebCore::Frame::clearCaretRectIfNeeded):
2880         (WebCore::Frame::selectionLayoutChanged):
2881         (WebCore::Frame::caretBlinkTimerFired):
2882         (WebCore::Frame::paintCaret):
2883         (WebCore::Frame::paintDragCaret):
2884         (WebCore::Frame::zoomFactor):
2885         (WebCore::Frame::isZoomFactorTextOnly):
2886         (WebCore::Frame::shouldApplyTextZoom):
2887         (WebCore::Frame::shouldApplyPageZoom):
2888         (WebCore::Frame::setZoomFactor):
2889         (WebCore::Frame::setPrinting):
2890         (WebCore::Frame::setJSStatusBarText):
2891         (WebCore::Frame::setJSDefaultStatusBarText):
2892         (WebCore::Frame::jsStatusBarText):
2893         (WebCore::Frame::jsDefaultStatusBarText):
2894         (WebCore::Frame::setNeedsReapplyStyles):
2895         (WebCore::Frame::needsReapplyStyles):
2896         (WebCore::Frame::reapplyStyles):
2897         (WebCore::Frame::isContentEditable):
2898         (WebCore::Frame::updateSecureKeyboardEntryIfActive):
2899         (WebCore::Frame::typingStyle):
2900         (WebCore::Frame::setTypingStyle):
2901         (WebCore::Frame::clearTypingStyle):
2902         (WebCore::Frame::computeAndSetTypingStyle):
2903         (WebCore::Frame::selectionComputedStyle):
2904         (WebCore::Frame::applyEditingStyleToBodyElement):
2905         (WebCore::Frame::removeEditingStyleFromBodyElement):
2906         (WebCore::Frame::keepAlive):
2907         (WebCore::Frame::cancelAllKeepAlive):
2908         (WebCore::Frame::clearDOMWindow):
2909         (WebCore::Frame::ownerElement):
2910         (WebCore::Frame::ownerRenderer):
2911         (WebCore::Frame::isDisconnected):
2912         (WebCore::Frame::setIsDisconnected):
2913         (WebCore::Frame::excludeFromTextSearch):
2914         (WebCore::Frame::setExcludeFromTextSearch):
2915         (WebCore::Frame::selectionBounds):
2916         (WebCore::Frame::selectionTextRects):
2917         (WebCore::Frame::isFrameSet):
2918         (WebCore::Frame::currentForm):
2919         (WebCore::Frame::forceLayout):
2920         (WebCore::Frame::sendScrollEvent):
2921         (WebCore::Frame::clearTimers):
2922         (WebCore::Frame::styleForSelectionStart):
2923         (WebCore::Frame::inViewSourceMode):
2924         (WebCore::Frame::setInViewSourceMode):
2925         (WebCore::Frame::markAllMatchesForText):
2926         (WebCore::Frame::markedTextMatchesAreHighlighted):
2927         (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
2928         (WebCore::Frame::tree):
2929         (WebCore::Frame::setDOMWindow):
2930         (WebCore::Frame::domWindow):
2931         (WebCore::Frame::clearFormerDOMWindow):
2932         (WebCore::Frame::page):
2933         (WebCore::Frame::eventHandler):
2934         (WebCore::Frame::pageDestroyed):
2935         (WebCore::Frame::disconnectOwnerElement):
2936         (WebCore::Frame::documentAtPoint):
2937         * page/Frame.h:
2938         * page/FramePrivate.h: Removed.
2939         * page/FrameTree.h:
2940         * page/chromium/FrameChromium.cpp:
2941         * page/mac/FrameMac.mm:
2942         (WebCore::Frame::imageFromRect):
2943         (WebCore::Frame::selectionImage):
2944         (WebCore::Frame::snapshotDragImage):
2945         (WebCore::Frame::nodeImage):
2946         (WebCore::Frame::setUserStyleSheetLocation):
2947         (WebCore::Frame::setUserStyleSheet):
2948         * page/qt/FrameQt.cpp:
2949         (WebCore::Frame::setUserStyleSheetLocation):
2950         (WebCore::Frame::setUserStyleSheet):
2951         * page/win/FrameCGWin.cpp:
2952         (WebCore::Frame::nodeImage):
2953         * page/win/FrameWin.cpp:
2954
2955 2009-01-18  Eric Carlson  <eric.carlson@apple.com>
2956
2957         Build fix for !ENABLE(VIDEO) following r40016. 
2958
2959         * rendering/RenderSlider.cpp:
2960         (WebCore::RenderSlider::mouseEventIsInThumb):
2961
2962 2009-01-17  Steve Falkenburg  <sfalken@apple.com>
2963
2964         Build fix.
2965
2966 2009-01-17  David Hyatt  <hyatt@apple.com>
2967
2968         Optimize isTextNode() the same way isElementNode() was optimized in an earlier checkin.  isTextNode()
2969         on Node is now non-virtual and just checks a bit that is set at construction time by Text.
2970
2971         Reviewed by Sam Weinig
2972
2973         * dom/CharacterData.cpp:
2974         (WebCore::CharacterData::CharacterData):
2975         * dom/CharacterData.h:
2976         * dom/EventTargetNode.cpp:
2977         (WebCore::EventTargetNode::EventTargetNode):
2978         * dom/EventTargetNode.h:
2979         * dom/Node.cpp:
2980         (WebCore::Node::Node):
2981         * dom/Node.h:
2982         (WebCore::Node::isTextNode):
2983         (WebCore::Node::isAttributeNode):
2984         * dom/Text.cpp:
2985         (WebCore::Text::Text):
2986         * dom/Text.h:
2987
2988 2009-01-17  David Hyatt  <hyatt@apple.com>
2989
2990         Change how backslashAsCurrencySymbol() works.  Instead of forcing call sites to do the direct
2991         replacement themselves, the exact transformation is instead done by the encoding (indirectly through
2992         a method on Document).
2993
2994         These changes allow the fast case (where no replacement is needed) checks to be completely inlined for
2995         a slight speedup, and also allow encodings to do future alterations to displayed string content without
2996         having to patch call sites again.
2997
2998         Reviewed by Oliver Hunt
2999
3000         * WebCore.base.exp:
3001         * dom/Document.cpp:
3002         * dom/Document.h:
3003         (WebCore::Document::displayStringModifiedByEncoding):
3004         (WebCore::Document::displayBufferModifiedByEncoding):
3005         * editing/Editor.cpp:
3006         (WebCore::Editor::addToKillRing):
3007         * editing/TextIterator.cpp:
3008         (WebCore::plainTextToMallocAllocatedBuffer):
3009         (WebCore::plainText):
3010         * editing/TextIterator.h:
3011         * html/HTMLOptGroupElement.cpp:
3012         (WebCore::HTMLOptGroupElement::groupLabelText):
3013         * html/HTMLOptionElement.cpp:
3014         (WebCore::HTMLOptionElement::text):
3015         * loader/DocumentLoader.cpp:
3016         (WebCore::canonicalizedTitle):
3017         * page/Chrome.cpp:
3018         (WebCore::displayString):
3019         (WebCore::Chrome::runJavaScriptAlert):
3020         (WebCore::Chrome::runJavaScriptConfirm):
3021         (WebCore::Chrome::runJavaScriptPrompt):
3022         (WebCore::Chrome::setStatusbarText):
3023         * page/Frame.cpp:
3024         (WebCore::Frame::shouldClose):
3025         * page/Frame.h:
3026         * platform/mac/PasteboardMac.mm:
3027         (WebCore::Pasteboard::writeSelection):
3028         * platform/text/TextCodecICU.cpp:
3029         (WebCore::TextCodecICU::encode):
3030         * platform/text/TextEncoding.cpp:
3031         (WebCore::TextEncoding::TextEncoding):
3032         * platform/text/TextEncoding.h:
3033         (WebCore::TextEncoding::displayString):
3034         (WebCore::TextEncoding::displayBuffer):
3035         * rendering/HitTestResult.cpp:
3036         (WebCore::displayString):
3037         * rendering/RenderImage.cpp:
3038         (WebCore::RenderImage::paintReplaced):
3039         * rendering/RenderObject.cpp:
3040         * rendering/RenderObject.h:
3041         * rendering/RenderText.cpp:
3042         (WebCore::RenderText::RenderText):
3043         (WebCore::RenderText::setTextInternal):
3044         * rendering/RenderTextControl.cpp:
3045         (WebCore::RenderTextControl::setInnerTextValue):
3046         (WebCore::RenderTextControl::finishText):
3047
3048 2009-01-17  Eric Carlson  <eric.carlson@apple.com>
3049
3050         Reviewed by Adele Peterson
3051
3052         Complete <rdar://problem/6293969>
3053
3054         * DerivedSources.make: include mediaControlsQT.css for Mac build.
3055
3056         * WebCore.xcodeproj/project.pbxproj: add mediaControlsQT.css
3057
3058         * css/CSSPrimitiveValueMappings.h:
3059         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): add MediaTimelineContainerPart, 
3060         CSSValueMediaCurrentTimeDisplay, and CSSValueMediaTimeRemainingDisplay
3061
3062         * css/CSSSelector.cpp:
3063         (WebCore::CSSSelector::extractPseudoType): include new media controller element styles
3064         * css/CSSSelector.h: 
3065         (WebCore::CSSSelector::): Ditto.
3066
3067         * css/CSSStyleSelector.cpp:
3068         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):  include new media 
3069         controller element styles
3070
3071         * css/CSSValueKeywords.in: add keywords for new media time display controls
3072
3073         * css/mediaControls.css: adjust css for new control elements
3074
3075         * css/mediaControlsQT.css: Added.
3076
3077         * platform/ThemeTypes.h:
3078         (WebCore::): add media time display controls to ControlPart
3079
3080         * platform/mac/WebCoreSystemInterface.h:
3081         * platform/mac/WebCoreSystemInterface.mm: pass controller style to WKSI functions
3082
3083         * rendering/MediaControlElements.cpp:
3084         (WebCore::MediaTextDisplayElement::MediaTextDisplayElement): Added
3085         (WebCore::MediaTextDisplayElement::attachToParent): Added
3086         (WebCore::MediaTextDisplayElement::update): Added
3087         (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement): Added
3088         (WebCore::MediaControlInputElement::MediaControlInputElement): Added
3089         (WebCore::MediaControlInputElement::hitTest): Added
3090         (WebCore::MediaControlTimelineElement::defaultEventHandler): Update the time display when
3091         dragging the thumb
3092         * rendering/MediaControlElements.h:
3093         (WebCore::): Add MediaTextDisplayElement
3094
3095         * rendering/RenderMedia.cpp:
3096         (WebCore::RenderMedia::createTimelineContainer): Added
3097         (WebCore::RenderMedia::createTimeline): Parent is now the timeline container
3098         (WebCore::RenderMedia::createCurrentTimeDisplay): Added
3099         (WebCore::RenderMedia::createTimeRemainingDisplay): Added
3100         (WebCore::RenderMedia::updateControls): Create new elements. Don't ever start the time update
3101         timer when the time display elements are not visible
3102         (WebCore::RenderMedia::formatTime): Handle negative times. Don't display 0 hours or minutes
3103         (WebCore::RenderMedia::updateTimeDisplay): Do nothing when the time display elements are not
3104         visible. Display time remaining as well as current time.
3105         (WebCore::RenderMedia::updateControlVisibility): Don't assume opacity should be set to 0 when
3106         visibility changes
3107         (WebCore::RenderMedia::forwardEvent): Call element hitTest() method instead of local function
3108         as we can't assume that all controls are rectangular
3109         * rendering/RenderMedia.h: Updated
3110
3111         * rendering/RenderSlider.cpp:
3112         (WebCore::RenderSlider::mouseEventIsInThumb): When slider is media timeline control, call 
3113         element hitTest() method instead of assuming it is rectangular
3114         * rendering/RenderSlider.h: make mouseEventIsInThumb virtual
3115
3116         * rendering/RenderTheme.cpp:
3117         (WebCore::RenderTheme::paint): Deal with time display and timeline container
3118         * rendering/RenderTheme.h:
3119         (WebCore::RenderTheme::paintMediaTimelineContainer): Updated
3120         (WebCore::RenderTheme::paintMediaCurrentTime): Added
3121         (WebCore::RenderTheme::paintMediaTimeRemaining): Added
3122
3123         * rendering/RenderThemeMac.h: Updated
3124         * rendering/RenderThemeMac.mm:
3125         (WebCore::):
3126         (WebCore::mediaControllerTheme):
3127         (WebCore::RenderThemeMac::adjustSliderThumbSize): Call WebKitSystemInterface to get the thumb
3128         size when appropriate
3129         (WebCore::RenderThemeMac::paintMediaFullscreenButton): pass controller style to render function
3130         (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto
3131         (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto
3132         (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto
3133         (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto
3134         (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto
3135         (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto
3136         (WebCore::RenderThemeMac::paintMediaTimelineContainer): Added
3137         (WebCore::RenderThemeMac::paintMediaCurrentTime): Added
3138         (WebCore::RenderThemeMac::paintMediaTimeRemaining): Added
3139         (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): Added
3140         (WebCore::RenderThemeMac::hitTestMediaControlPart): Added
3141         * rendering/style/RenderStyle.h: Updated
3142         (WebCore::):
3143
3144 2009-01-17  David Hyatt  <hyatt@apple.com>
3145
3146         Inline a few methods in FrameView for speed.
3147
3148         Reviewed by Oliver Hunt
3149
3150         * page/FrameView.cpp:
3151         * page/FrameView.h:
3152         (WebCore::FrameView::layoutCount):
3153         (WebCore::FrameView::needsFullRepaint):
3154
3155 2009-01-17  David Hyatt  <hyatt@apple.com>
3156
3157         Inline Document::documentElement(), since it is used by the (very hot) RenderObject::isRoot().  Split off
3158         the code that fetches and caches the document element into a separate function and inline the part that
3159         does the null check and the return of the already-cached element.
3160
3161         Reviewed by Oliver Hunt
3162
3163         * dom/Document.cpp:
3164         (WebCore::Document::cacheDocumentElement):
3165         * dom/Document.h:
3166         (WebCore::Document::documentElement):
3167
3168 2009-01-17  David Hyatt  <hyatt@apple.com>
3169
3170         Minor tweaks to RenderBox::styleChange to speed it up.
3171
3172         Reviewed by Oliver Hunt
3173
3174         * rendering/RenderBox.cpp:
3175         (WebCore::RenderBox::styleDidChange):
3176
3177 2009-01-17  David Hyatt  <hyatt@apple.com>
3178
3179         Inline FrameLoader::client().
3180
3181         Reviewed by Oliver Hunt
3182
3183         * WebCore.base.exp:
3184         * loader/FrameLoader.cpp:
3185         * loader/FrameLoader.h:
3186         (WebCore::FrameLoader::client):
3187
3188 2009-01-17  David Hyatt  <hyatt@apple.com>
3189
3190         Inline some Image methods for speed.  Fix CachedImage's addClient method to just use isNull rather
3191         than needlessly creating a rect.
3192
3193         Reviewed by Oliver Hunt
3194
3195         * loader/CachedImage.cpp:
3196         (WebCore::CachedImage::addClient):
3197         * platform/graphics/Image.cpp:
3198         * platform/graphics/Image.h:
3199         (WebCore::Image::isNull):
3200         (WebCore::Image::rect):
3201         (WebCore::Image::width):
3202         (WebCore::Image::height):
3203
3204 2009-01-17  David Hyatt  <hyatt@apple.com>
3205
3206         Avoid using the non-inlined isVariable() when adding parsed values during CSS parsing.
3207
3208         Reviewed by Oliver Hunt
3209
3210         * css/CSSParserValues.cpp:
3211         (WebCore::CSSParserValueList::addValue):
3212
3213 2009-01-17  David Hyatt  <hyatt@apple.com>
3214
3215         Inline Document::inPageCache(), since - because of animation code - it is now called every time
3216         styles change on any element and so is now super-hot.
3217
3218         Reviewed by Oliver Hunt
3219
3220         * dom/Document.cpp:
3221         * dom/Document.h:
3222         (WebCore::Document::inPageCache):
3223
3224 2009-01-16  David Hyatt  <hyatt@apple.com>
3225
3226         Take Font out of the GraphicsContext.  Fonts are moderately expensive to both compare and to assign to.
3227         The Font's presence in the GraphicsContext was making save/restore more expensive than it needed to be,
3228         and was also causing expensive comparison checks to be made before doing alterations of the Font in the
3229         GraphicsContext.
3230
3231         A font must now be passed as a parameter to all text drawing functions.
3232
3233         Reviewed by Oliver Hunt
3234
3235         * html/CanvasRenderingContext2D.cpp:
3236         (WebCore::CanvasRenderingContext2D::setFont):
3237         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3238         * platform/graphics/GraphicsContext.cpp:
3239         (WebCore::GraphicsContext::drawText):
3240         (WebCore::GraphicsContext::drawBidiText):
3241         (WebCore::GraphicsContext::drawHighlightForText):
3242         * platform/graphics/GraphicsContext.h:
3243         * platform/graphics/GraphicsContextPrivate.h:
3244         * platform/graphics/qt/GraphicsContextQt.cpp:
3245         * rendering/EllipsisBox.cpp:
3246         (WebCore::EllipsisBox::paint):
3247         * rendering/InlineTextBox.cpp:
3248         (WebCore::paintTextWithShadows):
3249         (WebCore::InlineTextBox::paint):
3250         (WebCore::InlineTextBox::paintSelection):
3251         (WebCore::InlineTextBox::paintCompositionBackground):
3252         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3253         (WebCore::InlineTextBox::paintTextMatchMarker):
3254         (WebCore::InlineTextBox::paintDocumentMarkers):
3255         * rendering/InlineTextBox.h:
3256         * rendering/RenderFileUploadControl.cpp:
3257         (WebCore::RenderFileUploadControl::paintObject):
3258         * rendering/RenderImage.cpp:
3259         (WebCore::RenderImage::paintReplaced):
3260         * rendering/RenderListBox.cpp:
3261         (WebCore::RenderListBox::paintItemForeground):
3262         * rendering/RenderListMarker.cpp:
3263         (WebCore::RenderListMarker::paint):
3264         * rendering/SVGInlineTextBox.cpp:
3265         (WebCore::SVGInlineTextBox::paintCharacters):
3266         (WebCore::SVGInlineTextBox::paintSelection):
3267         * rendering/SVGInlineTextBox.h:
3268         * svg/SVGFont.cpp:
3269         (WebCore::Font::drawTextUsingSVGFont):
3270
3271 2009-01-16  David Hyatt  <hyatt@apple.com>
3272
3273         Fix a regression from the virtualContinuation()/continuation() split where I accidentally changed
3274         two if statements.
3275
3276         Reviewed by Oliver Hunt
3277
3278         * rendering/RenderObject.cpp:
3279         (WebCore::RenderObject::absoluteRects):
3280         (WebCore::RenderObject::absoluteQuads):
3281
3282 2009-01-16  David Hyatt  <hyatt@apple.com>
3283
3284         Fix a regression from my before/after optimization.  Make sure the <q> element puts the document
3285         into a mode where it will respect before/after rules, since <q> implicitly uses such rules.
3286
3287         Make sure view source mode documents also turn on before/after rules, since they are used there also.
3288
3289         Reviewed by Oliver Hunt
3290
3291         * html/HTMLElementFactory.cpp:
3292         (WebCore::quoteConstructor):
3293         * html/HTMLViewSourceDocument.cpp:
3294         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
3295
3296 2009-01-16  Chris Fleizach  <cfleizach@apple.com>
3297
3298         Reviewed by Oliver Hunt.
3299
3300         Bug 23397: AXURL is not reported for <INPUT type="image"> elements
3301         https://bugs.webkit.org/show_bug.cgi?id=23397
3302
3303         Report an AXURL for inputs that have an image type.
3304
3305         Test: accessibility/input-image-url.html
3306
3307         * page/AccessibilityObject.h:
3308         (WebCore::AccessibilityObject::isInputImage):
3309         * page/AccessibilityRenderObject.cpp:
3310         (WebCore::AccessibilityRenderObject::isInputImage):
3311         (WebCore::AccessibilityRenderObject::url):
3312         * page/AccessibilityRenderObject.h:
3313         * page/mac/AccessibilityObjectWrapper.mm:
3314         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3315
3316 2009-01-16  Adele Peterson  <adele@apple.com>
3317
3318         Windows build fix.
3319
3320         * loader/FrameLoader.cpp: (WebCore::FrameLoader::logCanCachePageDecision):
3321
3322 2009-01-16  Steve Falkenburg  <sfalken@apple.com>
3323
3324         <rdar://problem/6502511> Safari crashes if it's running while the desktop theme is changed.
3325         
3326         This was caused by mismatched ENABLE definitions across WebCore and WebKit.
3327         
3328         Several virtual methods were added to RenderTheme.h, conditionalized by ENABLE(VIDEO).
3329         In addition to adding ENABLE_VIDEO to WebKit, this change also adds ENABLE_DATABASE and ENABLE_ICONDATABASE
3330         to Windows WebCore/WebKit, and adds ENABLE_WORKERS, and several ENABLE_SVG_ flags to WebKit on Windows.
3331         Our Windows ENABLE flags now match Mac.
3332
3333         Reviewed by Adele Peterson.
3334
3335         * WebCore.vcproj/WebCore.vcproj:
3336         * WebCore.vcproj/build-generated-files.sh:
3337
3338 2009-01-16  Mark Rowe  <mrowe@apple.com>
3339
3340         40,000!
3341
3342         * ChangeLog: Point out revision 40,000.
3343
3344 2009-01-16  Eric Seidel  <eric@webkit.org>
3345
3346         Reviewed by Justin Garcia.
3347
3348         Make surroundNodeRangeWithElement call insertNodeBefore implicitly
3349         Make insertNodeBefore take PassRefPtr
3350         Clean up the use of PassRefPtr vs. raw pointers a few places in the editing code.
3351         https://bugs.webkit.org/show_bug.cgi?id=23389
3352
3353         * editing/ApplyStyleCommand.cpp:
3354         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3355         (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
3356         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
3357         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3358         * editing/ApplyStyleCommand.h:
3359         * editing/CompositeEditCommand.cpp:
3360         (WebCore::CompositeEditCommand::insertNodeAt):
3361         * editing/IndentOutdentCommand.cpp:
3362         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
3363         * editing/InsertLineBreakCommand.cpp:
3364         (WebCore::InsertLineBreakCommand::doApply):
3365         * editing/InsertParagraphSeparatorCommand.cpp:
3366         (WebCore::InsertParagraphSeparatorCommand::doApply):
3367         * editing/InsertTextCommand.cpp:
3368         (WebCore::InsertTextCommand::insertTab):
3369         * editing/ModifySelectionListLevel.cpp:
3370         (WebCore::IncreaseSelectionListLevelCommand::doApply):
3371         * editing/ReplaceSelectionCommand.cpp:
3372         (WebCore::ReplacementFragment::removeNodePreservingChildren):
3373         (WebCore::ReplacementFragment::insertNodeBefore):
3374         (WebCore::ReplacementFragment::removeInterchangeNodes):
3375         (WebCore::ReplaceSelectionCommand::doApply):
3376         (WebCore::ReplaceSelectionCommand::insertNodeAfterAndUpdateNodesInserted):
3377         (WebCore::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted):
3378         (WebCore::ReplaceSelectionCommand::insertNodeBeforeAndUpdateNodesInserted):
3379         * editing/ReplaceSelectionCommand.h:
3380
3381 2009-01-16  Chris Fleizach  <cfleizach@apple.com>
3382
3383         Reviewed by Oliver Hunt.
3384
3385         Bug 23393: TextField has AXTitle and AXTitleUIElement
3386         https://bugs.webkit.org/show_bug.cgi?id=23393
3387
3388         Test: accessibility/double-title.html
3389
3390         * page/AccessibilityRenderObject.cpp:
3391         (WebCore::AccessibilityRenderObject::title):
3392
3393 2009-01-16  Adam Treat  <adam.treat@torchmobile.com>
3394
3395         The correct build fix for all platforms.
3396
3397         * platform/graphics/Font.h:
3398
3399 2009-01-16  Adam Treat  <adam.treat@torchmobile.com>
3400
3401         Fix the Qt build.
3402
3403         * platform/graphics/Font.h:
3404
3405 2009-01-16  David Hyatt  <hyatt@apple.com>
3406
3407         Add a new flag (similar to first-line and first-letter) to Document to track whether any before/after rules
3408         are being used.  If not, don't waste time probing for those pseudo element styles.
3409
3410         Reviewed by Sam Weinig
3411
3412         * css/CSSGrammar.y:
3413         * dom/Document.cpp:
3414         (WebCore::Document::Document):
3415         * dom/Document.h:
3416         (WebCore::Document::usesBeforeAfterRules):
3417         (WebCore::Document::setUsesBeforeAfterRules):
3418         * rendering/RenderBlock.cpp:
3419         (WebCore::RenderBlock::styleDidChange):
3420         * rendering/RenderContainer.cpp:
3421         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3422         * rendering/RenderInline.cpp:
3423         (WebCore::RenderInline::styleDidChange):
3424         (WebCore::RenderInline::addChildToFlow):
3425         (WebCore::RenderInline::splitInlines):
3426
3427 2009-01-16  Dmitry Titov  <dimich@chromium.org>
3428
3429         Reviewed by Alp Toker.
3430
3431         https://bugs.webkit.org/show_bug.cgi?id=23394
3432         Remove unnecessary calls to setDeferringTimers().
3433
3434         Use of this function was obsoleted by better handling of EINTR.
3435
3436         * platform/network/curl/ResourceHandleManager.cpp:
3437         (WebCore::ResourceHandleManager::downloadTimerCallback): removed setDeferringTimers calls.
3438
3439 2009-01-16  David Hyatt  <hyatt@apple.com>
3440
3441         Fix badness with the cursor CSS property.  For all links and form controls, resetting to a value of auto
3442         was resulting in the creation of a cursor list.  clearCursorList was creating a new list rather than just
3443         nulling out the pointer.  Since addCursor already lazily recreates the list, in the case of simple cursor types,
3444         the clear method was wastefully creating a completely unnecessary list for all of these elements.
3445
3446         Also optimized the setting of simple cursor values to not alter the RenderStyle's cursor setting if it is already
3447         set to the same value.  Since this is the common case, it prevents a fault and copy of StyleInheritedData for
3448         all links and form controls.
3449
3450         This is a PLT speedup.
3451
3452         Reviewed by Oliver Hunt
3453
3454         * css/CSSStyleSelector.cpp:
3455         (WebCore::CSSStyleSelector::applyProperty):
3456         * rendering/style/RenderStyle.cpp:
3457         (WebCore::RenderStyle::clearCursorList):
3458
3459 2009-01-16  Darin Fisher  <darin@chromium.org>
3460
3461         Reviewed by Darin Adler.
3462
3463         https://bugs.webkit.org/show_bug.cgi?id=23384
3464         PLATFORM(CHROMIUM) needs to delegate BackForwardList.cpp methods to the embedder
3465
3466         * history/BackForwardList.h:
3467         (WebCore::BackForwardListClient::~BackForwardListClient):
3468         (WebCore::BackForwardList::setClient):
3469         * history/BackForwardListChromium.cpp: Added.
3470
3471 2009-01-16  Dan Bernstein  <mitz@apple.com>
3472
3473         Reviewed by Kevin Decker and Adam Roben.
3474
3475         - fix a regression that resulted in a crash when plug-ins were
3476           disabled.
3477
3478         * rendering/RenderPartObject.cpp:
3479         (WebCore::RenderPartObject::updateWidget): Added a null check.
3480
3481 2009-01-16  David Hyatt  <hyatt@apple.com>
3482
3483         Split continuation() into virtual and non-virtual versions so that the non-virtual version can
3484         be used whereever possible.  Eventually the virtual method can be eliminated completely.
3485
3486         Reviewed by Sam Weinig and Oliver Hunt
3487
3488         * html/HTMLAnchorElement.cpp:
3489         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
3490         * page/AccessibilityRenderObject.cpp:
3491         (WebCore::AccessibilityRenderObject::anchorElement):
3492         * rendering/InlineFlowBox.cpp:
3493         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
3494         (WebCore::InlineFlowBox::paint):
3495         * rendering/RenderBlock.cpp:
3496         (WebCore::RenderBlock::removeChild):
3497         * rendering/RenderContainer.cpp:
3498         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3499         * rendering/RenderFlow.h:
3500         (WebCore::RenderFlow::virtualContinuation):
3501         (WebCore::RenderFlow::continuation):
3502         * rendering/RenderInline.cpp:
3503         (WebCore::RenderInline::positionForCoordinates):
3504         * rendering/RenderObject.cpp:
3505         (WebCore::RenderObject::absoluteRects):
3506         (WebCore::RenderObject::absoluteQuads):
3507         (WebCore::RenderObject::addFocusRingRects):
3508         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
3509         (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
3510         (WebCore::RenderObject::handleDynamicFloatPositionChange):
3511         (WebCore::RenderObject::hoverAncestor):
3512         (WebCore::RenderObject::updateDragState):
3513         (WebCore::RenderObject::updateHitTestResult):
3514         (WebCore::RenderObject::getTextDecorationColors):
3515         (WebCore::RenderObject::adjustRectForOutlineAndShadow):
3516         * rendering/RenderObject.h:
3517         (WebCore::RenderObject::virtualContinuation):
3518
3519 2009-01-16  David Hyatt  <hyatt@apple.com>
3520
3521         Inline the methods of Font for obtaining metrics such as ascent, descent and line spacing.
3522
3523         Reviewed by ggaren
3524
3525         * platform/graphics/Font.cpp:
3526         * platform/graphics/Font.h:
3527         (WebCore::Font::width):
3528         (WebCore::Font::ascent):
3529         (WebCore::Font::descent):
3530         (WebCore::Font::lineSpacing):
3531         (WebCore::Font::lineGap):
3532         (WebCore::Font::xHeight):
3533         (WebCore::Font::unitsPerEm):
3534         (WebCore::Font::spaceWidth):
3535
3536 2009-01-16  Sam Weinig  <sam@webkit.org>
3537
3538         Reviewed by David Hyatt.
3539
3540         Fix for https://bugs.webkit.org/show_bug.cgi?id=23388
3541         Remove FrameViewPrivate
3542
3543         Removes an indirection and is a small speedup on PLT.
3544
3545         * page/FrameView.cpp:
3546         (WebCore::FrameView::FrameView):
3547         (WebCore::FrameView::~FrameView):
3548         (WebCore::FrameView::reset):
3549         (WebCore::FrameView::resetScrollbars):
3550         (WebCore::FrameView::init):
3551         (WebCore::FrameView::clear):
3552         (WebCore::FrameView::didFirstLayout):
3553         (WebCore::FrameView::initScrollbars):
3554         (WebCore::FrameView::updateDefaultScrollbarState):
3555         (WebCore::FrameView::setCanHaveScrollbars):
3556         (WebCore::FrameView::applyOverflowToViewport):
3557         (WebCore::FrameView::layoutCount):