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