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