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