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