2009-02-05 Scott Violet <sky@google.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-02-05  Scott Violet  <sky@google.com>
2
3         Reviewed by Eric Seidel.
4
5         https://bugs.webkit.org/show_bug.cgi?id=23687
6         Wires up Skia'a ImageBuffer::toDataURL to support pngs.
7         This helps Chromium pass a couple of layout tests.
8
9         * platform/graphics/skia/ImageBufferSkia.cpp:
10         (WebCore::ImageBuffer::toDataURL):
11         * platform/image-encoders: Added.
12         * platform/image-encoders/skia: Added.
13         * platform/image-encoders/skia/PNGImageEncoder.cpp: Added.
14         (WebCore::):
15         (WebCore::PngEncoderState::EncoderWriteCallback):
16         (WebCore::PngEncoderState::ConvertBGRAtoRGB):
17         (WebCore::PngEncoderState::PngWriteStructDestroyer::PngWriteStructDestroyer):
18         (WebCore::PngEncoderState::PngWriteStructDestroyer::~PngWriteStructDestroyer):
19         (WebCore::PNGImageEncoder::encode):
20         * platform/image-encoders/skia/PNGImageEncoder.h: Added.
21
22 2009-02-05  Sam Weinig  <sam@webkit.org>
23
24         Reviewed by Darin Adler.
25
26         Fix missing checked cast.
27
28         * rendering/RenderObject.cpp:
29         (WebCore::RenderObject::containingBlock):
30
31 2009-02-05  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
32
33         Not reviewed. Fix WML enabled builds.
34
35         FrameLoader::load() got an additional 'lockHistory' parameter, pass 'false'.
36
37         * wml/WMLGoElement.cpp:
38         (WebCore::WMLGoElement::executeTask):
39
40 2009-02-05  Scott Violet  <sky@google.com>
41
42         Reviewed by Eric Seidel.
43
44         https://bugs.webkit.org/show_bug.cgi?id=23625
45         Additional fix: Skia platform doesn't render text to a canvas or support clipping to an image buffer
46
47         Fixes three bugs in PlatformContextSkia:
48
49         * When a new layer was started clipped to an image we used the
50           assignment operator to copy the SkBitmap. If the SkBitmap owns it's
51           pixels, this is not the right thing to do. Instead we need to create
52           a copy of the image.
53         * State holds an SkBitmap by value. State's copy constructor does a
54           memcpy. This is confusing and subtle, I've converted to use a member
55           initializer list which I think is clearer and less error prone.
56         * When creating a new layer there is no need to copy the clip image.
57
58         * platform/graphics/skia/PlatformContextSkia.cpp:
59         (PlatformContextSkia::State::State):
60         (PlatformContextSkia::save):
61         (PlatformContextSkia::beginLayerClippedToImage):
62
63 2009-02-05  Scott Violet  <sky@google.com>
64
65         Reviewed by George Staikos.
66
67         https://bugs.webkit.org/show_bug.cgi?id=23462
68         Changes call from setFillColor to setStrokeColor.
69
70         * html/CanvasStyle.cpp:
71         (WebCore::CanvasStyle::applyStrokeColor):
72
73 2009-02-05  David Hyatt  <hyatt@apple.com>
74
75         Fix crash on svg custom stop test.  A virtual function didn't get patched properly.
76
77         Reviewed by Sam Weinig
78
79         * rendering/RenderObject.cpp:
80         (WebCore::RenderObject::clippedOverflowRectForRepaint):
81         * rendering/RenderSVGGradientStop.h:
82         (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint):
83
84 2009-02-05  Simon Fraser  <simon.fraser@apple.com>
85
86         Reviewed by Dave Hyatt
87
88         https://bugs.webkit.org/show_bug.cgi?id=23765
89
90         Add toRenderBoxModelObject() so that we can cast objects that
91         can have layers.
92         
93         Fix getComputedStyle to return the current value of style
94         properties that are undergoing accelerated animations, by
95         asking the AnimationController if the property has accelerated
96         animations, and, if so, asking it to generate an appropriate
97         style.
98         
99         Tightened up some type safety (CSSPropertyID), and code clarity
100         (replace bool with enum).
101
102         * WebCore.xcodeproj/project.pbxproj:
103         * css/CSSComputedStyleDeclaration.cpp:
104         (WebCore::hasCompositedLayer):
105         (WebCore::computedTransform):
106         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
107         * page/animation/AnimationController.cpp:
108         (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
109         (WebCore::AnimationController::isAnimatingPropertyOnRenderer):
110         (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
111         * page/animation/AnimationController.h:
112         * page/animation/AnimationControllerPrivate.h:
113         * page/animation/ImplicitAnimation.cpp:
114         (WebCore::ImplicitAnimation::startAnimation):
115         (WebCore::ImplicitAnimation::endAnimation):
116         * page/animation/KeyframeAnimation.cpp:
117         (WebCore::KeyframeAnimation::startAnimation):
118         (WebCore::KeyframeAnimation::endAnimation):
119         * rendering/RenderBoxModelObject.h:
120         (WebCore::RenderBoxModelObject::isBoxModelObject):
121         (WebCore::toRenderBoxModelObject):
122         * rendering/RenderLayerBacking.cpp:
123         (WebCore::RenderLayerBacking::updateLayerTransform):
124         * rendering/RenderObject.h:
125         (WebCore::RenderObject::isBoxModelObject):
126         * rendering/style/RenderStyle.cpp:
127         (WebCore::RenderStyle::applyTransform):
128         * rendering/style/RenderStyle.h:
129         (WebCore::InheritedFlags::):
130
131 2009-02-05  Dimitri Glazkov  <dglazkov@chromium.org>
132
133         Reviewed by Eric Seidel.
134
135         https://bugs.webkit.org/show_bug.cgi?id=23767
136         Add custom V8 bindings for HTML5 database.
137
138         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Added.
139         (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
140         (WebCore::V8CustomSQLStatementCallback::~V8CustomSQLStatementCallback):
141         (WebCore::V8CustomSQLStatementCallback::handleEvent):
142         * bindings/v8/custom/V8CustomSQLStatementCallback.h: Added.
143         (WebCore::V8CustomSQLStatementCallback::create):
144         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Added.
145         (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
146         (WebCore::V8CustomSQLStatementErrorCallback::~V8CustomSQLStatementErrorCallback):
147         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
148         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Added.
149         (WebCore::V8CustomSQLStatementErrorCallback::create):
150         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Added.
151         (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
152         (WebCore::V8CustomSQLTransactionCallback::~V8CustomSQLTransactionCallback):
153         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
154         * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Added.
155         (WebCore::V8CustomSQLTransactionCallback::create):
156         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Added.
157         (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
158         (WebCore::V8CustomSQLTransactionErrorCallback::~V8CustomSQLTransactionErrorCallback):
159         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
160         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Added.
161         (WebCore::V8CustomSQLTransactionErrorCallback::create):
162         * bindings/v8/custom/V8CustomVoidCallback.cpp: Added.
163         (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
164         (WebCore::V8CustomVoidCallback::~V8CustomVoidCallback):
165         (WebCore::V8CustomVoidCallback::handleEvent):
166         (WebCore::invokeCallback):
167         * bindings/v8/custom/V8CustomVoidCallback.h: Added.
168         (WebCore::V8CustomVoidCallback::create):
169         * bindings/v8/custom/V8DatabaseCustom.cpp: Added.
170         (WebCore::CALLBACK_FUNC_DECL):
171         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Added.
172         (WebCore::CALLBACK_FUNC_DECL):
173         * bindings/v8/custom/V8SQLTransactionCustom.cpp: Added.
174         (WebCore::CALLBACK_FUNC_DECL):
175
176 2009-02-05  Dimitri Glazkov  <dglazkov@chromium.org>
177
178         Reviewed by Eric Seidel.
179
180         https://bugs.webkit.org/show_bug.cgi?id=23747
181         Add Chromium threading-related files.
182
183         * platform/chromium/TemporaryLinkStubs.cpp: Removed theading-related stubs.
184
185 2009-02-05  Sam Weinig  <sam@webkit.org>
186
187         Reviewed by Adam Roben.
188
189         Add toRenderButton methods for casting RenderObjects to RenderButtons. The methods will assert if the object
190         is not a RenderButton. Also add a toRenderButton method that takes a RenderButton but returns void and that
191         is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderButton.
192
193         * rendering/RenderButton.h:
194         (WebCore::RenderButton::isRenderButton):
195         (WebCore::toRenderButton):
196         * rendering/RenderFileUploadControl.cpp:
197         (WebCore::RenderFileUploadControl::paintObject):
198         * rendering/RenderObject.h:
199         (WebCore::RenderObject::isRenderButton):
200
201 2009-02-05  David Hyatt  <hyatt@apple.com>
202
203         Move the m_layer member variable of RenderBox up into RenderBoxModelObject.  Refactor styleDidChange'
204         of RenderObject, RenderBoxModelObject and RenderBox to get more of the code in the correct subclass.  
205         In order to set the various RenderObject bits properly prior to the test for whether a layer is 
206         required, I added an additional method, updateBoxModelInfoAfterStyleChange, that is responsible
207         for setting all of the bits.
208         
209         Eliminate hasStaticX/Y, staticX/Y, and setStaticX/Y from the render tree.  Move hasStaticX/Y to
210         RenderStyle, and just use the corresponding layer() methods for the
211         staticX/Y getters/setters.
212
213         Reviewed by Sam Weinig
214
215         * rendering/RenderBlock.cpp:
216         (WebCore::RenderBlock::layoutBlock):
217         (WebCore::RenderBlock::adjustPositionedBlock):
218         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
219         (WebCore::RenderBlock::layoutPositionedObjects):
220         (WebCore::RenderBlock::paintObject):
221         (WebCore::RenderBlock::nodeAtPoint):
222         (WebCore::RenderBlock::offsetForContents):
223         (WebCore::RenderBlock::calcPrefWidths):
224         (WebCore::RenderBlock::baselinePosition):
225         * rendering/RenderBox.cpp:
226         (WebCore::RenderBox::RenderBox):
227         (WebCore::RenderBox::destroy):
228         (WebCore::RenderBox::styleWillChange):
229         (WebCore::RenderBox::styleDidChange):
230         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
231         (WebCore::RenderBox::scrollWidth):
232         (WebCore::RenderBox::scrollHeight):
233         (WebCore::RenderBox::scrollLeft):
234         (WebCore::RenderBox::scrollTop):
235         (WebCore::RenderBox::setScrollLeft):
236         (WebCore::RenderBox::setScrollTop):
237         (WebCore::RenderBox::getOverflowClipRect):
238         (WebCore::RenderBox::localToAbsolute):
239         (WebCore::RenderBox::absoluteToLocal):
240         (WebCore::RenderBox::localToContainerQuad):
241         (WebCore::RenderBox::position):
242         (WebCore::RenderBox::computeRectForRepaint):
243         (WebCore::RenderBox::calcAbsoluteHorizontal):
244         (WebCore::RenderBox::calcAbsoluteVertical):
245         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
246         (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
247         * rendering/RenderBox.h:
248         * rendering/RenderBoxModelObject.cpp:
249         (WebCore::RenderBoxModelObject::RenderBoxModelObject):
250         (WebCore::RenderBoxModelObject::destroy):
251         (WebCore::RenderBoxModelObject::styleWillChange):
252         (WebCore::RenderBoxModelObject::styleDidChange):
253         (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
254         * rendering/RenderBoxModelObject.h:
255         (WebCore::RenderBoxModelObject::layer):
256         (WebCore::RenderBoxModelObject::requiresLayer):
257         * rendering/RenderFlexibleBox.cpp:
258         (WebCore::RenderFlexibleBox::layoutBlock):
259         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
260         (WebCore::RenderFlexibleBox::layoutVerticalBox):
261         * rendering/RenderInline.cpp:
262         (WebCore::RenderInline::updateBoxModelInfoFromStyle):
263         (WebCore::RenderInline::styleDidChange):
264         (WebCore::RenderInline::relativePositionedInlineOffset):
265         * rendering/RenderInline.h:
266         * rendering/RenderLayer.cpp:
267         (WebCore::RenderLayer::setStaticY):
268         (WebCore::RenderLayer::updateLayerPosition):
269         * rendering/RenderLayer.h:
270         * rendering/RenderObject.cpp:
271         (WebCore::RenderObject::setStyle):
272         (WebCore::RenderObject::styleDidChange):
273         * rendering/RenderObject.h:
274         (WebCore::RenderObject::markContainingBlocksForLayout):
275         * rendering/RenderTableRow.cpp:
276         (WebCore::RenderTableRow::paint):
277         * rendering/RenderWidget.cpp:
278         (WebCore::RenderWidget::destroy):
279         * rendering/bidi.cpp:
280         (WebCore::appendRunsForObject):
281         (WebCore::RenderBlock::layoutInlineChildren):
282         (WebCore::RenderBlock::skipTrailingWhitespace):
283         (WebCore::RenderBlock::skipLeadingWhitespace):
284         (WebCore::RenderBlock::findNextLineBreak):
285         * rendering/style/RenderStyle.h:
286         (WebCore::InheritedFlags::hasStaticX):
287         (WebCore::InheritedFlags::hasStaticY):
288
289 2009-02-05  Sam Weinig  <sam@webkit.org>
290
291         Fix the windows build.
292
293         * bindings/scripts/CodeGeneratorCOM.pm:
294         * dom/Node.idl:
295
296 2009-02-05  Anders Carlsson  <andersca@apple.com>
297
298         Reviewed by Kevin Decker.
299         
300         Update to match Gecko.
301         
302         * bridge/npapi.h:
303         * plugins/npfunctions.h:
304
305 2009-02-05  Sam Weinig  <sam@webkit.org>
306
307         Reviewed by Darin Adler.
308
309         Finish merging EventTargetNode up into Node.
310
311         This also fixes a small recently introduced issue where EventListeners
312         would not be removed from the document if they were attached to comment
313         nodes outside of the documentElement.
314
315         * GNUmakefile.am:
316         * WebCore.pro:
317         * WebCore.scons:
318         * WebCore.vcproj/WebCore.vcproj:
319         * WebCore.xcodeproj/project.pbxproj:
320         * WebCoreSources.bkl:
321         * bindings/js/JSEventTargetNodeCustom.cpp: Removed.
322         * bindings/js/JSNodeCustom.cpp:
323         (WebCore::JSNode::addEventListener):
324         (WebCore::JSNode::removeEventListener):
325         (WebCore::JSNode::pushEventHandlerScope):
326         * bindings/scripts/CodeGenerator.pm:
327         * dom/CharacterData.cpp:
328         (WebCore::CharacterData::CharacterData):
329         (WebCore::CharacterData::rendererIsNeeded):
330         * dom/CharacterData.h:
331         * dom/ContainerNode.cpp:
332         (WebCore::ContainerNode::willRemove):
333         (WebCore::ContainerNode::attach):
334         (WebCore::ContainerNode::detach):
335         (WebCore::ContainerNode::insertedIntoDocument):
336         (WebCore::ContainerNode::removedFromDocument):
337         (WebCore::ContainerNode::setFocus):
338         (WebCore::ContainerNode::setActive):
339         (WebCore::ContainerNode::setHovered):
340         (WebCore::dispatchChildInsertionEvents):
341         (WebCore::dispatchChildRemovalEvents):
342         * dom/ContainerNode.h:
343         (WebCore::ContainerNode::ContainerNode):
344         * dom/Document.cpp:
345         (WebCore::Document::removeAllEventListenersFromAllNodes):
346         (WebCore::Document::removeAllDisconnectedNodeEventListeners):
347         (WebCore::Document::setFocusedNode):
348         * dom/EventTargetNode.cpp: Removed.
349         * dom/EventTargetNode.h: Removed.
350         * dom/Node.cpp:
351         (WebCore::Node::scriptExecutionContext):
352         (WebCore::Node::eventListeners):
353         (WebCore::Node::insertedIntoDocument):
354         (WebCore::Node::removedFromDocument):
355         (WebCore::Node::willMoveToNewOwnerDocument):
356         (WebCore::Node::didMoveToNewOwnerDocument):
357         (WebCore::updateSVGElementInstancesAfterEventListenerChange):
358         (WebCore::Node::addEventListener):
359         (WebCore::Node::removeEventListener):
360         (WebCore::Node::removeAllEventListenersSlowCase):
361         (WebCore::Node::handleLocalEvents):
362         (WebCore::eventTargetAsSVGElementInstance):
363         (WebCore::eventTargetRespectingSVGTargetRules):
364         (WebCore::Node::dispatchEvent):
365         (WebCore::Node::dispatchGenericEvent):
366         (WebCore::Node::dispatchSubtreeModifiedEvent):
367         (WebCore::Node::dispatchWindowEvent):
368         (WebCore::Node::dispatchUIEvent):
369         (WebCore::Node::dispatchKeyEvent):
370         (WebCore::Node::dispatchMouseEvent):
371         (WebCore::Node::dispatchSimulatedMouseEvent):
372         (WebCore::Node::dispatchSimulatedClick):
373         (WebCore::Node::dispatchWheelEvent):
374         (WebCore::Node::dispatchWebKitAnimationEvent):
375         (WebCore::Node::dispatchWebKitTransitionEvent):
376         (WebCore::Node::dispatchFocusEvent):
377         (WebCore::Node::dispatchBlurEvent):
378         (WebCore::Node::dispatchEventForType):
379         (WebCore::Node::dispatchProgressEvent):
380         (WebCore::Node::dispatchStorageEvent):
381         (WebCore::Node::removeInlineEventListenerForType):
382         (WebCore::Node::setInlineEventListenerForType):
383         (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
384         (WebCore::Node::inlineEventListenerForType):
385         (WebCore::Node::disabled):
386         (WebCore::Node::defaultEventHandler):
387         (WebCore::Node::onabort):
388         (WebCore::Node::setOnabort):
389         (WebCore::Node::onblur):
390         (WebCore::Node::setOnblur):
391         (WebCore::Node::onchange):
392         (WebCore::Node::setOnchange):
393         (WebCore::Node::onclick):
394         (WebCore::Node::setOnclick):
395         (WebCore::Node::oncontextmenu):
396         (WebCore::Node::setOncontextmenu):
397         (WebCore::Node::ondblclick):
398         (WebCore::Node::setOndblclick):
399         (WebCore::Node::onerror):
400         (WebCore::Node::setOnerror):
401         (WebCore::Node::onfocus):
402         (WebCore::Node::setOnfocus):
403         (WebCore::Node::oninput):
404         (WebCore::Node::setOninput):
405         (WebCore::Node::onkeydown):
406         (WebCore::Node::setOnkeydown):
407         (WebCore::Node::onkeypress):
408         (WebCore::Node::setOnkeypress):
409         (WebCore::Node::onkeyup):
410         (WebCore::Node::setOnkeyup):
411         (WebCore::Node::onload):
412         (WebCore::Node::setOnload):
413         (WebCore::Node::onmousedown):
414         (WebCore::Node::setOnmousedown):
415         (WebCore::Node::onmousemove):
416         (WebCore::Node::setOnmousemove):
417         (WebCore::Node::onmouseout):
418         (WebCore::Node::setOnmouseout):
419         (WebCore::Node::onmouseover):
420         (WebCore::Node::setOnmouseover):
421         (WebCore::Node::onmouseup):
422         (WebCore::Node::setOnmouseup):
423         (WebCore::Node::onmousewheel):
424         (WebCore::Node::setOnmousewheel):
425         (WebCore::Node::onbeforecut):
426         (WebCore::Node::setOnbeforecut):
427         (WebCore::Node::oncut):
428         (WebCore::Node::setOncut):
429         (WebCore::Node::onbeforecopy):
430         (WebCore::Node::setOnbeforecopy):
431         (WebCore::Node::oncopy):
432         (WebCore::Node::setOncopy):
433         (WebCore::Node::onbeforepaste):
434         (WebCore::Node::setOnbeforepaste):
435         (WebCore::Node::onpaste):
436         (WebCore::Node::setOnpaste):
437         (WebCore::Node::ondragenter):
438         (WebCore::Node::setOndragenter):
439         (WebCore::Node::ondragover):
440         (WebCore::Node::setOndragover):
441         (WebCore::Node::ondragleave):
442         (WebCore::Node::setOndragleave):
443         (WebCore::Node::ondrop):
444         (WebCore::Node::setOndrop):
445         (WebCore::Node::ondragstart):
446         (WebCore::Node::setOndragstart):
447         (WebCore::Node::ondrag):
448         (WebCore::Node::setOndrag):
449         (WebCore::Node::ondragend):
450         (WebCore::Node::setOndragend):
451         (WebCore::Node::onreset):
452         (WebCore::Node::setOnreset):
453         (WebCore::Node::onresize):
454         (WebCore::Node::setOnresize):
455         (WebCore::Node::onscroll):
456         (WebCore::Node::setOnscroll):
457         (WebCore::Node::onsearch):
458         (WebCore::Node::setOnsearch):
459         (WebCore::Node::onselect):
460         (WebCore::Node::setOnselect):
461         (WebCore::Node::onselectstart):
462         (WebCore::Node::setOnselectstart):
463         (WebCore::Node::onsubmit):
464         (WebCore::Node::setOnsubmit):
465         (WebCore::Node::onunload):
466         (WebCore::Node::setOnunload):
467         * dom/Node.h:
468         * editing/Editor.cpp:
469         (WebCore::Editor::dispatchCPPEvent):
470         * html/HTMLFormElement.cpp:
471         (WebCore::HTMLFormElement::handleLocalEvents):
472         * html/HTMLInputElement.cpp:
473         (WebCore::HTMLInputElement::defaultEventHandler):
474         * html/HTMLTokenizer.cpp:
475         (WebCore::HTMLTokenizer::notifyFinished):
476         * loader/MediaDocument.cpp:
477         (WebCore::MediaDocument::defaultEventHandler):
478         * page/AccessibilityRenderObject.cpp:
479         (WebCore::AccessibilityRenderObject::mouseButtonListener):
480         * page/EventHandler.cpp:
481         (WebCore::EventHandler::dispatchDragEvent):
482         (WebCore::EventHandler::updateMouseEventTargetNode):
483         (WebCore::EventHandler::dispatchMouseEvent):
484         (WebCore::EventHandler::handleWheelEvent):
485         (WebCore::EventHandler::canMouseDownStartSelect):
486         (WebCore::EventHandler::canMouseDragExtendSelect):
487         (WebCore::eventTargetNodeForDocument):
488         (WebCore::EventHandler::keyEvent):
489         * page/FrameView.cpp:
490         (WebCore::FrameView::scheduleEvent):
491         (WebCore::FrameView::updateOverflowStatus):
492         * page/FrameView.h:
493         * page/Page.cpp:
494         (WebCore::networkStateChanged):
495         * rendering/RenderLayer.cpp:
496         (WebCore::RenderLayer::scrollToOffset):
497         (WebCore::RenderLayer::updateOverflowStatus):
498         * rendering/RenderListBox.cpp:
499         (WebCore::RenderListBox::valueChanged):
500         * rendering/RenderMedia.h:
501         * rendering/RenderTextControl.cpp:
502         (WebCore::RenderTextControl::selectionChanged):
503         * svg/SVGElementInstance.h:
504         (WebCore::SVGElementInstance::toNode):
505         * xml/XPathExpression.cpp:
506         (WebCore::XPathExpression::evaluate):
507         * xml/XPathResult.cpp:
508         (WebCore::XPathResult::XPathResult):
509
510 2009-02-05  Adam Treat  <adam.treat@torchmobile.com>
511
512         Fix the Qt build now that EventTargetNode.idl was removed in r40672.
513
514         * WebCore.pro:
515
516 2009-02-05  Scott Violet  <sky@google.com>
517
518         Reviewed by Sam Weinig.
519
520         Bug 23462: Add RGB -> CMYK conversion algorithm
521         <https://bugs.webkit.org/show_bug.cgi?id=23462>
522
523         Adds an RGB -> CMYK converter. This isn't perfect, but better than
524         nothing.
525
526         * html/CanvasStyle.cpp:
527         (WebCore::CanvasStyle::applyStrokeColor):
528         (WebCore::CanvasStyle::applyFillColor):
529         (WebCore::CanvasStyle::cmykToRGB):
530         * html/CanvasStyle.h:
531
532 2009-02-04  Sam Weinig  <sam@webkit.org>
533
534         Reviewed by Darin Adler.
535
536         First stage of merging EventTargetNode up into Node. The intent of this change
537         is to both simplify the inheritance hierarchy (at the same time making it more
538         closely match the spec which states that all Nodes are EventTargets) and save
539         4 bytes per Node that the polymorphic multiple-inheritance was costing us.
540
541         This does the bare minimum to get things compiling, the next patch will clean 
542
543         * DerivedSources.make:
544         * WebCore.base.exp:
545         * WebCore.xcodeproj/project.pbxproj:
546         * bindings/js/JSDocumentCustom.cpp:
547         (WebCore::JSDocument::mark):
548         * bindings/js/JSEventListener.cpp:
549         (WebCore::JSLazyEventListener::parseCode):
550         * bindings/js/JSEventTarget.cpp:
551         (WebCore::toEventTarget):
552         * bindings/js/JSEventTarget.h:
553         * bindings/js/JSEventTargetNodeCustom.cpp:
554         (WebCore::JSNode::addEventListener):
555         (WebCore::JSNode::removeEventListener):
556         (WebCore::JSNode::pushEventHandlerScope):
557         * bindings/js/JSStyleSheetCustom.cpp:
558         * bindings/scripts/CodeGeneratorJS.pm:
559         * bindings/scripts/CodeGeneratorObjC.pm:
560         * dom/Attr.idl:
561         * dom/CharacterData.h:
562         * dom/CharacterData.idl:
563         * dom/Document.idl:
564         * dom/DocumentFragment.idl:
565         * dom/Element.idl:
566         * dom/EventTarget.cpp:
567         (WebCore::EventTarget::toNode):
568         * dom/EventTarget.h:
569         * dom/EventTarget.idl:
570         * dom/EventTargetNode.cpp:
571         (WebCore::Node::scriptExecutionContext):
572         (WebCore::Node::eventListeners):
573         (WebCore::Node::insertedIntoDocument):
574         (WebCore::Node::removedFromDocument):
575         (WebCore::Node::willMoveToNewOwnerDocument):
576         (WebCore::Node::didMoveToNewOwnerDocument):
577         (WebCore::Node::addEventListener):
578         (WebCore::Node::removeEventListener):
579         (WebCore::Node::removeAllEventListenersSlowCase):
580         (WebCore::Node::handleLocalEvents):
581         (WebCore::Node::dispatchEvent):
582         (WebCore::Node::dispatchGenericEvent):
583         (WebCore::Node::dispatchSubtreeModifiedEvent):
584         (WebCore::Node::dispatchWindowEvent):
585         (WebCore::Node::dispatchUIEvent):
586         (WebCore::Node::dispatchKeyEvent):
587         (WebCore::Node::dispatchMouseEvent):
588         (WebCore::Node::dispatchSimulatedMouseEvent):
589         (WebCore::Node::dispatchSimulatedClick):
590         (WebCore::Node::dispatchWheelEvent):
591         (WebCore::Node::dispatchWebKitAnimationEvent):
592         (WebCore::Node::dispatchWebKitTransitionEvent):
593         (WebCore::Node::dispatchFocusEvent):
594         (WebCore::Node::dispatchBlurEvent):
595         (WebCore::Node::dispatchEventForType):
596         (WebCore::Node::dispatchProgressEvent):
597         (WebCore::Node::dispatchStorageEvent):
598         (WebCore::Node::removeInlineEventListenerForType):
599         (WebCore::Node::setInlineEventListenerForType):
600         (WebCore::Node::setInlineEventListenerForTypeAndAttribute):
601         (WebCore::Node::inlineEventListenerForType):
602         (WebCore::Node::disabled):
603         (WebCore::Node::defaultEventHandler):
604         (WebCore::Node::onabort):
605         (WebCore::Node::setOnabort):
606         (WebCore::Node::onblur):
607         (WebCore::Node::setOnblur):
608         (WebCore::Node::onchange):
609         (WebCore::Node::setOnchange):
610         (WebCore::Node::onclick):
611         (WebCore::Node::setOnclick):
612         (WebCore::Node::oncontextmenu):
613         (WebCore::Node::setOncontextmenu):
614         (WebCore::Node::ondblclick):
615         (WebCore::Node::setOndblclick):
616         (WebCore::Node::onerror):
617         (WebCore::Node::setOnerror):
618         (WebCore::Node::onfocus):
619         (WebCore::Node::setOnfocus):
620         (WebCore::Node::oninput):
621         (WebCore::Node::setOninput):
622         (WebCore::Node::onkeydown):
623         (WebCore::Node::setOnkeydown):
624         (WebCore::Node::onkeypress):
625         (WebCore::Node::setOnkeypress):
626         (WebCore::Node::onkeyup):
627         (WebCore::Node::setOnkeyup):
628         (WebCore::Node::onload):
629         (WebCore::Node::setOnload):
630         (WebCore::Node::onmousedown):
631         (WebCore::Node::setOnmousedown):
632         (WebCore::Node::onmousemove):
633         (WebCore::Node::setOnmousemove):
634         (WebCore::Node::onmouseout):
635         (WebCore::Node::setOnmouseout):
636         (WebCore::Node::onmouseover):
637         (WebCore::Node::setOnmouseover):
638         (WebCore::Node::onmouseup):
639         (WebCore::Node::setOnmouseup):
640         (WebCore::Node::onmousewheel):
641         (WebCore::Node::setOnmousewheel):
642         (WebCore::Node::onbeforecut):
643         (WebCore::Node::setOnbeforecut):
644         (WebCore::Node::oncut):
645         (WebCore::Node::setOncut):
646         (WebCore::Node::onbeforecopy):
647         (WebCore::Node::setOnbeforecopy):
648         (WebCore::Node::oncopy):
649         (WebCore::Node::setOncopy):
650         (WebCore::Node::onbeforepaste):
651         (WebCore::Node::setOnbeforepaste):
652         (WebCore::Node::onpaste):
653         (WebCore::Node::setOnpaste):
654         (WebCore::Node::ondragenter):
655         (WebCore::Node::setOndragenter):
656         (WebCore::Node::ondragover):
657         (WebCore::Node::setOndragover):
658         (WebCore::Node::ondragleave):
659         (WebCore::Node::setOndragleave):
660         (WebCore::Node::ondrop):
661         (WebCore::Node::setOndrop):
662         (WebCore::Node::ondragstart):
663         (WebCore::Node::setOndragstart):
664         (WebCore::Node::ondrag):
665         (WebCore::Node::setOndrag):
666         (WebCore::Node::ondragend):
667         (WebCore::Node::setOndragend):
668         (WebCore::Node::onreset):
669         (WebCore::Node::setOnreset):
670         (WebCore::Node::onresize):
671         (WebCore::Node::setOnresize):
672         (WebCore::Node::onscroll):
673         (WebCore::Node::setOnscroll):
674         (WebCore::Node::onsearch):
675         (WebCore::Node::setOnsearch):
676         (WebCore::Node::onselect):
677         (WebCore::Node::setOnselect):
678         (WebCore::Node::onselectstart):
679         (WebCore::Node::setOnselectstart):
680         (WebCore::Node::onsubmit):
681         (WebCore::Node::setOnsubmit):
682         (WebCore::Node::onunload):
683         (WebCore::Node::setOnunload):
684         * dom/EventTargetNode.h:
685         (WebCore::toEventTargetNode):
686         (WebCore::EventTargetNodeCast):
687         * dom/EventTargetNode.idl: Removed.
688         * dom/MouseEvent.cpp:
689         (WebCore::MouseEvent::MouseEvent):
690         (WebCore::MouseEvent::initMouseEvent):
691         (WebCore::MouseEvent::toElement):
692         (WebCore::MouseEvent::fromElement):
693         * dom/MouseEvent.h:
694         (WebCore::MouseEvent::create):
695         (WebCore::MouseEvent::relatedTarget):
696         * dom/Node.cpp:
697         (WebCore::Node::~Node):
698         * dom/Node.h:
699         (WebCore::Node::isEventTargetNode):
700         (WebCore::Node::toNode):
701         (WebCore::Node::removeAllEventListeners):
702         (WebCore::Node::refEventTarget):
703         (WebCore::Node::derefEventTarget):
704         * dom/Node.idl:
705         * page/EventHandler.h:
706         * page/FrameView.h:
707         * xml/XPathResult.h:
708         (WebCore::XPathResult::create):
709
710 2009-02-04  David Hyatt  <hyatt@apple.com>
711
712         Convert RenderLayer from having a RenderBox* m_renderer to having a RenderBoxModelObject*.  The
713         container-relative repaint methods all had to be changed as a result to use RenderBoxModelObject* also.
714
715         All of RenderLayer.cpp now uses what will be the new style for dealing with an object that can be a block
716         or an inline flow.  x()/y()/width()/height() can't be queried on an inline flow, nor can many other
717         properties (like scrollWidth() / scrollHeight()), so the code has to be tightened up to convert to RenderBox
718         under the right conditions.
719
720         There was a bogus subtraction of renderer()->y() in localBounding box for RenderInlines.  Since y was always
721         0, this subtraction wasn't necessary.  It has been removed.
722
723         Reviewed by Adam Roben
724
725         * page/animation/AnimationBase.cpp:
726         * rendering/RenderBR.h:
727         (WebCore::RenderBR::selectionRectForRepaint):
728         * rendering/RenderBlock.cpp:
729         (WebCore::RenderBlock::selectionGapRectsForRepaint):
730         (WebCore::RenderBlock::rectWithOutlineForRepaint):
731         * rendering/RenderBlock.h:
732         (WebCore::RenderBlock::selectionRectForRepaint):
733         * rendering/RenderBox.cpp:
734         (WebCore::RenderBox::outlineBoundsForRepaint):
735         (WebCore::RenderBox::localToContainerQuad):
736         (WebCore::RenderBox::clippedOverflowRectForRepaint):
737         (WebCore::RenderBox::computeRectForRepaint):
738         * rendering/RenderBox.h:
739         * rendering/RenderBoxModelObject.cpp:
740         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
741         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
742         * rendering/RenderBoxModelObject.h:
743         (WebCore::RenderBoxModelObject::relativePositionOffset):
744         * rendering/RenderForeignObject.cpp:
745         (WebCore::RenderForeignObject::computeRectForRepaint):
746         * rendering/RenderForeignObject.h:
747         * rendering/RenderInline.cpp:
748         (WebCore::RenderInline::clippedOverflowRectForRepaint):
749         (WebCore::RenderInline::rectWithOutlineForRepaint):
750         * rendering/RenderInline.h:
751         * rendering/RenderLayer.cpp:
752         (WebCore::RenderLayer::RenderLayer):
753         (WebCore::RenderLayer::updateLayerPositions):
754         (WebCore::RenderLayer::updateTransform):
755         (WebCore::RenderLayer::setHasVisibleContent):
756         (WebCore::RenderLayer::updateLayerPosition):
757         (WebCore::RenderLayer::scrollToOffset):
758         (WebCore::RenderLayer::scrollRectToVisible):
759         (WebCore::resizerCornerRect):
760         (WebCore::RenderLayer::scrollbarCornerPresent):
761         (WebCore::RenderLayer::invalidateScrollbarRect):
762         (WebCore::RenderLayer::positionOverflowControls):
763         (WebCore::RenderLayer::computeScrollDimensions):
764         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
765         (WebCore::RenderLayer::paintScrollCorner):
766         (WebCore::RenderLayer::paintResizer):
767         (WebCore::RenderLayer::isPointInResizeControl):
768         (WebCore::RenderLayer::hitTestOverflowControls):
769         (WebCore::RenderLayer::paintLayer):
770         (WebCore::RenderLayer::hitTestLayer):
771         (WebCore::RenderLayer::localBoundingBox):
772         * rendering/RenderLayer.h:
773         (WebCore::RenderLayer::renderer):
774         (WebCore::RenderLayer::renderBox):
775         (WebCore::RenderLayer::renderBoxX):
776         (WebCore::RenderLayer::renderBoxY):
777         * rendering/RenderListMarker.cpp:
778         (WebCore::RenderListMarker::selectionRectForRepaint):
779         * rendering/RenderListMarker.h:
780         * rendering/RenderMarquee.cpp:
781         (WebCore::RenderMarquee::computePosition):
782         (WebCore::RenderMarquee::timerFired):
783         * rendering/RenderObject.cpp:
784         (WebCore::RenderObject::containerForRepaint):
785         (WebCore::RenderObject::repaintUsingContainer):
786         (WebCore::RenderObject::repaint):
787         (WebCore::RenderObject::repaintRectangle):
788         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
789         (WebCore::RenderObject::rectWithOutlineForRepaint):
790         (WebCore::RenderObject::clippedOverflowRectForRepaint):
791         (WebCore::RenderObject::computeRectForRepaint):
792         (WebCore::RenderObject::localToContainerQuad):
793         * rendering/RenderObject.h:
794         (WebCore::RenderObject::selectionRectForRepaint):
795         (WebCore::RenderObject::outlineBoundsForRepaint):
796         * rendering/RenderPath.cpp:
797         (WebCore::RenderPath::clippedOverflowRectForRepaint):
798         (WebCore::RenderPath::outlineBoundsForRepaint):
799         * rendering/RenderPath.h:
800         * rendering/RenderReplaced.cpp:
801         (WebCore::RenderReplaced::selectionRectForRepaint):
802         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
803         * rendering/RenderReplaced.h:
804         * rendering/RenderSVGContainer.cpp:
805         (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
806         (WebCore::RenderSVGContainer::outlineBoundsForRepaint):
807         * rendering/RenderSVGContainer.h:
808         * rendering/RenderSVGHiddenContainer.cpp:
809         (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
810         * rendering/RenderSVGHiddenContainer.h:
811         * rendering/RenderSVGImage.cpp:
812         (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
813         * rendering/RenderSVGImage.h:
814         * rendering/RenderSVGInlineText.cpp:
815         (WebCore::RenderSVGInlineText::selectionRectForRepaint):
816         (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
817         * rendering/RenderSVGInlineText.h:
818         * rendering/RenderSVGRoot.cpp:
819         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
820         * rendering/RenderSVGRoot.h:
821         * rendering/RenderSVGText.cpp:
822         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
823         * rendering/RenderSVGText.h:
824         * rendering/RenderSelectionInfo.h:
825         (WebCore::RenderSelectionInfoBase::repaintContainer):
826         * rendering/RenderTableCell.cpp:
827         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
828         (WebCore::RenderTableCell::computeRectForRepaint):
829         (WebCore::RenderTableCell::localToContainerQuad):
830         * rendering/RenderTableCell.h:
831         * rendering/RenderTableCol.cpp:
832         (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
833         * rendering/RenderTableCol.h:
834         * rendering/RenderTableRow.cpp:
835         (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
836         * rendering/RenderTableRow.h:
837         * rendering/RenderText.cpp:
838         (WebCore::RenderText::clippedOverflowRectForRepaint):
839         (WebCore::RenderText::selectionRectForRepaint):
840         * rendering/RenderText.h:
841         * rendering/RenderTreeAsText.cpp:
842         (WebCore::write):
843         * rendering/RenderView.cpp:
844         (WebCore::RenderView::localToContainerQuad):
845         (WebCore::RenderView::computeRectForRepaint):
846         * rendering/RenderView.h:
847
848 2009-02-05  Alexey Proskuryakov  <ap@webkit.org>
849
850         Build fix.
851
852         * page/animation/KeyframeAnimation.h: A function prototype had two "fromStyle" arguments.
853
854 2009-02-05  Yael Aharon  <yael.aharon@nokia.com>
855
856         Reviewed by Alexey Proskuryakov.
857         Landed by Simon Hausmann.
858
859         https://bugs.webkit.org/show_bug.cgi?id=23733
860
861         Use a 2 arguments constructor for KURL to avoid ASSERT failure.
862
863         * page/SecurityOrigin.cpp:
864         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
865
866 2009-02-04  Feng Qian  <feng@chromium.org>
867
868         Reviewed by Darin Adler.
869
870         Add Android-specific files to WebCore/editing directory.
871         https://bugs.webkit.org/show_bug.cgi?id=23294
872
873         * editing/android: Added.
874         * editing/android/EditorAndroid.cpp: Added.
875         (WebCore::Editor::newGeneralClipboard):
876
877 2009-02-04  Dean Jackson  <dino@apple.com>
878
879         Reviewed by Darin Adler.
880
881         Remove -webkit-animation-play-state
882         The AnimationController still has the code to execute the property, but
883         it is no longer parsed or recorded.
884         https://bugs.webkit.org/show_bug.cgi?id=22907
885
886         * css/CSSComputedStyleDeclaration.cpp:
887         (WebCore::):
888         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
889         * css/CSSParser.cpp:
890         (WebCore::CSSParser::parseValue):
891         (WebCore::CSSParser::parseAnimationProperty):
892         * css/CSSParser.h:
893         * css/CSSPropertyNames.in:
894         * css/CSSStyleSelector.cpp:
895         (WebCore::CSSStyleSelector::applyProperty):
896         * css/CSSStyleSelector.h:
897         * platform/animation/Animation.h:
898         * rendering/style/RenderStyleConstants.h:
899
900 2009-02-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
901
902         Reviewed by Darin Adler.
903
904         Make sure we don't load on removing the media element from the document
905         https://bugs.webkit.org/show_bug.cgi?id=22105
906
907         Test: media/remove-from-document-no-load.html
908
909         * html/HTMLMediaElement.cpp:
910         (WebCore::HTMLMediaElement::removedFromDocument):
911
912 2009-02-04  David Hyatt  <hyatt@apple.com>
913
914         Add a new RenderBoxModelObject class that will eventually act as the direct base class for RenderInlines.  For
915         now just adding the class and putting it in between RenderObject and RenderBox in the hierarchy.  RenderInline remains
916         derived from RenderBox for now.
917
918         Reviewed by Sam Weinig
919
920         * WebCore.xcodeproj/project.pbxproj:
921         * rendering/RenderBox.cpp:
922         (WebCore::RenderBox::RenderBox):
923         (WebCore::RenderBox::destroy):
924         (WebCore::RenderBox::styleWillChange):
925         (WebCore::RenderBox::styleDidChange):
926         (WebCore::RenderBox::computeRectForRepaint):
927         * rendering/RenderBox.h:
928         * rendering/RenderBoxModelObject.cpp: Added.
929         (WebCore::RenderBoxModelObject::RenderBoxModelObject):
930         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
931         * rendering/RenderBoxModelObject.h: Added.
932         * rendering/RenderObject.h:
933
934 2009-02-04  Chris Marrin  <cmarrin@apple.com>
935
936         Reviewed by Dave Hyatt
937
938         Added accelerated animation support to AnimationController and friends. The primary
939         changes are:
940         * accelerated animations get their start time from the compositing engine, so we
941           wait for a callback (notifyAnimationStarted()) in order to get the start time.
942         * if software and accelerated animations start in the same cycle, they all need
943           to use the same start time, which is that of the accelerated animations.
944           
945         Added AnimationControllerPrivate to preserve the encapsulation under
946         AnimationController.
947
948         * GNUmakefile.am:
949         * WebCore.vcproj/WebCore.vcproj:
950         * WebCore.xcodeproj/project.pbxproj:
951         * page/animation/AnimationBase.cpp:
952         (WebCore::PropertyWrapperBase::animationIsAccelerated):
953         (WebCore::PropertyWrapperAcceleratedOpacity::PropertyWrapperAcceleratedOpacity):
954         (WebCore::PropertyWrapperAcceleratedOpacity::animationIsAccelerated):
955         (WebCore::PropertyWrapperAcceleratedOpacity::blend):
956         (WebCore::PropertyWrapperAcceleratedTransform::PropertyWrapperAcceleratedTransform):
957         (WebCore::PropertyWrapperAcceleratedTransform::animationIsAccelerated):
958         (WebCore::PropertyWrapperAcceleratedTransform::blend):
959         (WebCore::ensurePropertyMap):
960         (WebCore::AnimationBase::AnimationBase):
961         (WebCore::AnimationBase::~AnimationBase):
962         (WebCore::AnimationBase::blendProperties):
963         (WebCore::AnimationBase::animationOfPropertyIsAccelerated):
964         (WebCore::AnimationBase::updateStateMachine):
965         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
966         (WebCore::AnimationBase::willNeedService):
967         (WebCore::AnimationBase::getTimeToNextEvent):
968         (WebCore::AnimationBase::goIntoEndingOrLoopingState):
969         (WebCore::AnimationBase::beginAnimationUpdateTime):
970         * page/animation/AnimationBase.h:
971         (WebCore::AnimationBase::onAnimationStartResponse):
972         (WebCore::AnimationBase::getAnimatedStyle):
973         (WebCore::AnimationBase::isAnimatingProperty):
974         (WebCore::AnimationBase::endAnimation):
975         (WebCore::AnimationBase::isFallbackAnimating):
976         * page/animation/AnimationController.cpp:
977         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
978         (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
979         (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
980         (WebCore::AnimationControllerPrivate::animationTimerFired):
981         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
982         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
983         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
984         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
985         (WebCore::AnimationControllerPrivate::styleAvailable):
986         (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
987         (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
988         (WebCore::AnimationControllerPrivate::startTimeResponse):
989         (WebCore::AnimationController::getAnimatedStyleForRenderer):
990         (WebCore::AnimationController::notifyAnimationStarted):
991         (WebCore::AnimationController::endAnimationUpdate):
992         * page/animation/AnimationController.h:
993         * page/animation/AnimationControllerPrivate.h: Added.
994         (WebCore::AnimationControllerPrivate::hasAnimations):
995         (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime):
996         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
997         (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
998         * page/animation/CompositeAnimation.cpp:
999         (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
1000         (WebCore::CompositeAnimationPrivate::animationControllerPriv):
1001         (WebCore::CompositeAnimationPrivate::updateTransitions):
1002         (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
1003         (WebCore::CompositeAnimationPrivate::animate):
1004         (WebCore::CompositeAnimationPrivate::getAnimatedStyle):
1005         (WebCore::CompositeAnimationPrivate::addToStartTimeResponseWaitList):
1006         (WebCore::CompositeAnimationPrivate::removeFromStartTimeResponseWaitList):
1007         (WebCore::CompositeAnimation::CompositeAnimation):
1008         (WebCore::CompositeAnimation::animationControllerPriv):
1009         (WebCore::CompositeAnimation::getAnimatedStyle):
1010         (WebCore::CompositeAnimation::addToStartTimeResponseWaitList):
1011         (WebCore::CompositeAnimation::removeFromStartTimeResponseWaitList):
1012         * page/animation/CompositeAnimation.h:
1013         (WebCore::CompositeAnimation::create):
1014         * page/animation/ImplicitAnimation.cpp:
1015         (WebCore::ImplicitAnimation::shouldSendEventForListener):
1016         (WebCore::ImplicitAnimation::animate):
1017         (WebCore::ImplicitAnimation::getAnimatedStyle):
1018         (WebCore::ImplicitAnimation::startAnimation):
1019         (WebCore::ImplicitAnimation::endAnimation):
1020         (WebCore::ImplicitAnimation::sendTransitionEvent):
1021         (WebCore::ImplicitAnimation::willNeedService):
1022         * page/animation/ImplicitAnimation.h:
1023         * page/animation/KeyframeAnimation.cpp:
1024         (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
1025         (WebCore::KeyframeAnimation::animate):
1026         (WebCore::KeyframeAnimation::getAnimatedStyle):
1027         (WebCore::KeyframeAnimation::startAnimation):
1028         (WebCore::KeyframeAnimation::endAnimation):
1029         (WebCore::KeyframeAnimation::shouldSendEventForListener):
1030         (WebCore::KeyframeAnimation::sendAnimationEvent):
1031         (WebCore::KeyframeAnimation::willNeedService):
1032         * page/animation/KeyframeAnimation.h:
1033         * platform/graphics/GraphicsLayerClient.h:
1034         * platform/graphics/mac/GraphicsLayerCA.mm:
1035         (-[WebAnimationDelegate animationDidStart:]):
1036         * rendering/RenderLayerBacking.h:
1037
1038 2009-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
1039
1040         Not reviewed, build fix.
1041
1042         Remove duplicate definition of msSans in FontCache::alternateFamilyName.
1043
1044         * platform/graphics/FontCache.cpp:
1045         (WebCore::alternateFamilyName):
1046
1047 2009-02-04  Eric Seidel  <eric@webkit.org>
1048
1049         Reviewed by George Staikos.
1050
1051         Reverse the meaning of the if check so that Android
1052         (dpad devices) do not scroll on focus and normal platforms do
1053         http://trac.webkit.org/changeset/40647
1054         
1055         This was caught by George Staikos, and I wrote the patch.
1056
1057         * dom/Element.cpp:
1058         (WebCore::Element::updateFocusAppearance):
1059
1060 2009-02-04  David Hyatt  <hyatt@apple.com>
1061
1062         Eliminate RenderContainer.
1063
1064         Reviewed by Sam and Anders
1065
1066         * GNUmakefile.am:
1067         * WebCore.pro:
1068         * WebCore.vcproj/WebCore.vcproj:
1069         * WebCore.xcodeproj/project.pbxproj:
1070         * WebCoreSources.bkl:
1071         * rendering/RenderBlock.cpp:
1072         (WebCore::RenderBlock::RenderBlock):
1073         (WebCore::RenderBlock::destroy):
1074         (WebCore::RenderBlock::styleWillChange):
1075         (WebCore::RenderBlock::styleDidChange):
1076         (WebCore::RenderBlock::addChild):
1077         (WebCore::RenderBlock::dirtyLineBoxes):
1078         (WebCore::RenderBlock::createInlineBox):
1079         (WebCore::RenderBlock::removeChild):
1080         (WebCore::RenderBlock::setSelectionState):
1081         (WebCore::RenderBlock::avoidsFloats):
1082         (WebCore::RenderBlock::positionForCoordinates):
1083         (WebCore::RenderBlock::calcInlinePrefWidths):
1084         (WebCore::RenderBlock::baselinePosition):
1085         (WebCore::RenderBlock::getBaselineOfFirstLineBox):
1086         (WebCore::RenderBlock::getBaselineOfLastLineBox):
1087         (WebCore::RenderBlock::rectWithOutlineForRepaint):
1088         (WebCore::RenderBlock::hoverAncestor):
1089         (WebCore::RenderBlock::updateDragState):
1090         (WebCore::RenderBlock::localCaretRect):
1091         * rendering/RenderBlock.h:
1092         (WebCore::RenderBlock::virtualChildren):
1093         (WebCore::RenderBlock::children):
1094         * rendering/RenderContainer.cpp: Removed.
1095         * rendering/RenderContainer.h: Removed.
1096         * rendering/RenderFrameSet.cpp:
1097         (WebCore::RenderFrameSet::RenderFrameSet):
1098         (WebCore::RenderFrameSet::nodeAtPoint):
1099         (WebCore::RenderFrameSet::layout):
1100         * rendering/RenderFrameSet.h:
1101         (WebCore::RenderFrameSet::virtualChildren):
1102         (WebCore::RenderFrameSet::children):
1103         * rendering/RenderInline.cpp:
1104         (WebCore::RenderInline::RenderInline):
1105         (WebCore::RenderInline::destroy):
1106         (WebCore::RenderInline::styleDidChange):
1107         (WebCore::nextContinuation):
1108         (WebCore::RenderInline::continuationBefore):
1109         (WebCore::RenderInline::addChildIgnoringContinuation):
1110         (WebCore::RenderInline::splitInlines):
1111         (WebCore::RenderInline::splitFlow):
1112         (WebCore::RenderInline::addChildToContinuation):
1113         (WebCore::RenderInline::offsetLeft):
1114         (WebCore::RenderInline::offsetTop):
1115         (WebCore::RenderInline::positionForCoordinates):
1116         (WebCore::RenderInline::clippedOverflowRectForRepaint):
1117         (WebCore::RenderInline::rectWithOutlineForRepaint):
1118         (WebCore::RenderInline::updateDragState):
1119         (WebCore::RenderInline::childBecameNonInline):
1120         * rendering/RenderInline.h:
1121         (WebCore::RenderInline::virtualChildren):
1122         (WebCore::RenderInline::children):
1123         (WebCore::RenderInline::continuation):
1124         (WebCore::RenderInline::setContinuation):
1125         * rendering/RenderLineBoxList.h:
1126         * rendering/RenderObject.h:
1127         * rendering/RenderObjectChildList.h:
1128         * rendering/RenderSVGInlineText.cpp:
1129         (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
1130         * rendering/RenderSVGRoot.cpp:
1131         (WebCore::RenderSVGRoot::RenderSVGRoot):
1132         (WebCore::RenderSVGRoot::applyContentTransforms):
1133         (WebCore::RenderSVGRoot::paint):
1134         (WebCore::RenderSVGRoot::absoluteTransform):
1135         (WebCore::RenderSVGRoot::nodeAtPoint):
1136         (WebCore::RenderSVGRoot::position):
1137         * rendering/RenderSVGRoot.h:
1138         (WebCore::RenderSVGRoot::virtualChildren):
1139         (WebCore::RenderSVGRoot::children):
1140         * rendering/RenderSVGText.cpp:
1141         (WebCore::RenderSVGText::absoluteRects):
1142         (WebCore::RenderSVGText::absoluteQuads):
1143         * rendering/RenderTable.cpp:
1144         (WebCore::RenderTable::addChild):
1145         (WebCore::RenderTable::removeChild):
1146         * rendering/RenderTableCol.cpp:
1147         (WebCore::RenderTableCol::RenderTableCol):
1148         * rendering/RenderTableCol.h:
1149         (WebCore::RenderTableCol::virtualChildren):
1150         (WebCore::RenderTableCol::children):
1151         * rendering/RenderTableRow.cpp:
1152         (WebCore::RenderTableRow::RenderTableRow):
1153         (WebCore::RenderTableRow::destroy):
1154         (WebCore::RenderTableRow::styleWillChange):
1155         (WebCore::RenderTableRow::addChild):
1156         * rendering/RenderTableRow.h:
1157         (WebCore::RenderTableRow::virtualChildren):
1158         (WebCore::RenderTableRow::children):
1159         * rendering/RenderTableSection.cpp:
1160         (WebCore::RenderTableSection::RenderTableSection):
1161         (WebCore::RenderTableSection::destroy):
1162         (WebCore::RenderTableSection::addChild):
1163         (WebCore::RenderTableSection::removeChild):
1164         (WebCore::RenderTableSection::lowestPosition):
1165         (WebCore::RenderTableSection::rightmostPosition):
1166         (WebCore::RenderTableSection::leftmostPosition):
1167         * rendering/RenderTableSection.h:
1168         (WebCore::RenderTableSection::virtualChildren):
1169         (WebCore::RenderTableSection::children):
1170
1171 2009-02-04  Mads Adger  <mad@chromium.org>
1172
1173         Reviewed by Antti Koivisto.
1174
1175         Bug 23180 Reading freed memory at DocumentLoader::checkForPendingPreloads
1176         https://bugs.webkit.org/show_bug.cgi?id=23180
1177
1178         Added a protector for the document potentially holding on the last reference to the loader we are interating with.
1179
1180         * loader/loader.cpp:
1181         (WebCore::Loader::Host::didFinishLoading):
1182         (WebCore::Loader::Host::didFail):
1183
1184 2009-02-04  Cary Clark  <caryclark@google.com>
1185
1186         Reviewed by Darin Adler.
1187
1188         https://bugs.webkit.org/show_bug.cgi?id=23163
1189         Don't scroll to show current focus on devices that use
1190         directional pads for navigation.
1191
1192         * dom/Element.cpp:
1193         (WebCore::Element::updateFocusAppearance):
1194
1195 2009-02-04  Cary Clark  <caryclark@google.com>
1196
1197         Reviewed by Darin Adler.
1198
1199         Change RenderBlock::columnGap() access permissions from protected to
1200         public. ANDROID creates an array of focus rectangles for navigation 
1201         with a trackball or directional pad, and needs access to the column gap 
1202         to implement this logic.
1203
1204         Android has no testing harness @ webkit.org, thus no tests.
1205
1206         * rendering/RenderBlock.h:
1207
1208 2009-02-04  Cary Clark  <caryclark@google.com>
1209
1210         Reviewed by Darin Adler and Eric Seidel.
1211
1212         Fixes: https://bugs.webkit.org/show_bug.cgi?id=22917
1213
1214         Add ENABLE_ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL to permit the ANDROID
1215         platform to select all when focusing on a textarea. This matches
1216         the user interface guidelines other applications on the platform.
1217
1218         * html/HTMLTextAreaElement.cpp:
1219         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
1220
1221 2009-02-04  Beth Dakin  <bdakin@apple.com>
1222
1223         Reviewed by Dave Hyatt.
1224
1225         Fix for <rdar://problem/6386112> Some inline-elements are not 
1226         becoming proper dashboard-regions
1227
1228         RenderInline needs its own implementation of addDashboardRegions 
1229         because otherwise all of the coordinate calculations are 
1230         inaccurate. 
1231
1232         * rendering/RenderInline.cpp:
1233         (WebCore::RenderInline::addDashboardRegions):
1234         * rendering/RenderInline.h:
1235         * rendering/RenderObject.h:
1236
1237 2009-02-04  David Hyatt  <hyatt@apple.com>
1238
1239         Move addChild/removeChild from RenderContainer to RenderObject.
1240
1241         Reviewed by Sam Weinig
1242
1243         * rendering/RenderContainer.cpp:
1244         * rendering/RenderContainer.h:
1245         * rendering/RenderObject.cpp:
1246         (WebCore::updateListMarkerNumbers):
1247         (WebCore::RenderObject::addChild):
1248         (WebCore::RenderObject::removeChild):
1249         * rendering/RenderObject.h:
1250         (WebCore::RenderObject::addChildIgnoringContinuation):
1251         * rendering/RenderSVGContainer.cpp:
1252         * rendering/RenderSVGContainer.h:
1253
1254 2009-02-04  Brady Eidson  <beidson@apple.com>
1255
1256         Reviewed by Sam Weinig
1257
1258         <rdar://problem/3541409> - Further HistoryItem / BF cache cleanup
1259
1260         * history/CachedFrame.cpp:
1261         (WebCore::CachedFrame::CachedFrame):
1262         (WebCore::CachedFrame::restore):
1263         * history/CachedFrame.h:
1264
1265         * history/CachedPage.cpp:
1266         (WebCore::CachedPage::restore):
1267         * history/CachedPage.h:
1268         (WebCore::CachedPage::mainFrameView):
1269
1270         * history/HistoryItem.cpp:
1271         (WebCore::HistoryItem::HistoryItem):
1272         (WebCore::HistoryItem::~HistoryItem):
1273         * history/HistoryItem.h:
1274         (WebCore::HistoryItem::isInPageCache):
1275
1276         * loader/FrameLoader.cpp:
1277         (WebCore::FrameLoader::open):
1278
1279 2009-02-04  Peter Kasting  <pkasting@google.com>
1280
1281         Reviewed by David Hyatt.
1282
1283         https://bugs.webkit.org/show_bug.cgi?id=23743
1284         Fix memory corruption with open-source GIF decoders.
1285
1286         * platform/image-decoders/ImageDecoder.h:
1287         (WebCore::RGBA32Buffer::clear):
1288         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1289         (WebCore::GIFImageDecoder::clearFrameBufferCache):
1290         * platform/image-decoders/skia/GIFImageDecoder.cpp:
1291         (WebCore::GIFImageDecoder::clearFrameBufferCache):
1292         (WebCore::GIFImageDecoder::initFrameBuffer):
1293         * platform/image-decoders/skia/ImageDecoder.h:
1294         (WebCore::RGBA32Buffer::clear):
1295
1296 2009-02-04  Simon Fraser  <simon.fraser@apple.com>
1297
1298         Reviewed by Dave Hyatt
1299
1300         https://bugs.webkit.org/show_bug.cgi?id=23360
1301         
1302         When using accelerated compositing, make repaints use the correct
1303         repaint container. Hook up the RenderLayerCompositor in RenderView,
1304         and add to RenderView a method that repaints both the view
1305         contents, and any intersecting composited layers.
1306         
1307         Make enclosingCompositingLayer() a method on RenderObject, and update
1308         the compositor to use that. Add a helper method on the compositor to
1309         get the non-self compositing ancestor: ancestorCompositingLayer().
1310         
1311         Call repaintRectangleInViewAndCompositedLayers() in places that don't do
1312         container-relative repainting: selection redraw on focus change, caret,
1313         and widget updates.
1314         
1315         Fix a bug in RenderLayerCompositor where the m_compositingLayersNeedUpdate flag
1316         would get cleared for partial updates, thus preventing subsequent full updates.
1317         
1318         Fix a bug in RenderLayer::ensureBacking() that made new backing every time.
1319
1320         * WebCore.xcodeproj/project.pbxproj:
1321         * editing/SelectionController.cpp:
1322         (WebCore::SelectionController::recomputeCaretRect):
1323         (WebCore::SelectionController::invalidateCaretRect):
1324         (WebCore::SelectionController::focusedOrActiveStateChanged):
1325         * rendering/RenderInline.cpp:
1326         (WebCore::RenderInline::clippedOverflowRectForRepaint):
1327         * rendering/RenderLayer.cpp:
1328         (WebCore::RenderLayer::RenderLayer):
1329         (WebCore::RenderLayer::compositor):
1330         (WebCore::RenderLayer::updateLayerPositions):
1331         (WebCore::RenderLayer::removeChild):
1332         (WebCore::RenderLayer::ensureBacking):
1333         * rendering/RenderLayer.h:
1334         (WebCore::RenderLayer::backing):
1335         * rendering/RenderLayerBacking.cpp:
1336         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1337         (WebCore::RenderLayerBacking::paintIntoLayer):
1338         (WebCore::RenderLayerBacking::notifyTransitionStarted):
1339         (WebCore::RenderLayerBacking::notifyAnimationStarted):
1340         * rendering/RenderLayerCompositor.cpp:
1341         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1342         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1343         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
1344         (WebCore::RenderLayerCompositor::ancestorCompositingLayer):
1345         (WebCore::RenderLayerCompositor::clippedByAncestor):
1346         * rendering/RenderLayerCompositor.h:
1347         * rendering/RenderObject.cpp:
1348         (WebCore::RenderObject::enclosingCompositingLayer):
1349         (WebCore::RenderObject::containingBlockWidth):
1350         (WebCore::RenderObject::containingBlockHeight):
1351         (WebCore::RenderObject::containerForRepaint):
1352         (WebCore::RenderObject::repaintUsingContainer):
1353         * rendering/RenderObject.h:
1354         * rendering/RenderView.cpp:
1355         (WebCore::RenderView::shouldRepaint):
1356         (WebCore::RenderView::repaintViewRectangle):
1357         (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
1358         (WebCore::RenderView::setMaximalOutlineSize):
1359         (WebCore::RenderView::usesCompositing):
1360         (WebCore::RenderView::compositor):
1361         (WebCore::RenderView::didMoveOnscreen):
1362         (WebCore::RenderView::willMoveOffscreen):
1363         * rendering/RenderView.h:
1364         * rendering/RenderWidget.cpp:
1365         (WebCore::RenderWidget::updateWidgetPosition):
1366
1367 2009-02-04  Sam Weinig  <sam@webkit.org>
1368
1369         Reviewed by David Hyatt.
1370
1371         Add toRenderImage methods for casting RenderObjects to RenderImages.  The methods will assert if the object
1372         is not a RenderImage.  Also add a toRenderImage method that takes a RenderImage but returns void and that
1373         is unimplemented.  This method will catch anyone trying to do a cast when the object is already a RenderImage.
1374
1375         * html/HTMLAnchorElement.cpp:
1376         (WebCore::HTMLAnchorElement::defaultEventHandler):
1377         * html/HTMLEmbedElement.cpp:
1378         (WebCore::HTMLEmbedElement::attach):
1379         * html/HTMLImageElement.cpp:
1380         (WebCore::HTMLImageElement::parseMappedAttribute):
1381         (WebCore::HTMLImageElement::attach):
1382         * html/HTMLInputElement.cpp:
1383         (WebCore::HTMLInputElement::parseMappedAttribute):
1384         (WebCore::HTMLInputElement::attach):
1385         * html/HTMLObjectElement.cpp:
1386         (WebCore::HTMLObjectElement::attach):
1387         * html/HTMLVideoElement.cpp:
1388         (WebCore::HTMLVideoElement::attach):
1389         * loader/ImageLoader.cpp:
1390         (WebCore::ImageLoader::setImage):
1391         (WebCore::ImageLoader::updateFromElement):
1392         (WebCore::ImageLoader::notifyFinished):
1393         * page/AccessibilityRenderObject.cpp:
1394         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1395         (WebCore::AccessibilityRenderObject::addChildren):
1396         * page/DragController.cpp:
1397         (WebCore::getCachedImage):
1398         (WebCore::getImage):
1399         * platform/mac/PasteboardMac.mm:
1400         (WebCore::Pasteboard::writeImage):
1401         * rendering/RenderImage.h:
1402         (WebCore::toRenderImage):
1403         * wml/WMLImageElement.cpp:
1404         (WebCore::WMLImageElement::parseMappedAttribute):
1405         (WebCore::WMLImageElement::attach):
1406
1407 2009-02-04  Jungshik Shin  <jshin@chromium.org>
1408
1409         Reviewed by Eric Seidel and Dave Hyatt.
1410
1411         https://bugs.webkit.org/show_bug.cgi?id=20531
1412
1413         Make alternateFamilyName customized for Windows and Chromium.
1414
1415         * platform/graphics/FontCache.cpp:
1416         (WebCore::alternateFamilyName):
1417
1418 2009-02-04  Jungshik Shin <jshin@chromium.org>
1419
1420         Reviewed by Eric Seidel.
1421
1422         This comes from Chromium patch (http://codereview.chromium.org/17624).
1423
1424         Add m_disableFontFallback to UniscriberHelper class and set it
1425         to true when filling up glyph pages for non-BMP code points.
1426         When it's set true, UniscriberHelper does not do its own font
1427         fallback. Neither does it do glyph placement. Font fallback
1428         will be taken care of in the simple script font path and glyph
1429         placement is not necessary for simple scripts.
1430
1431         Layout test is missing at the moment due to the lack of freely
1432         distributable font covering a non-BMP code page. A test page
1433         is available at http://i18nl10n.com/webkit/nonbmp2.html
1434
1435         See also https://bugs.webkit.org/show_bug.cgi?id=23602
1436
1437         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1438         (WebCore::fillNonBMPGlyphs):
1439         * platform/graphics/chromium/UniscribeHelper.cpp:
1440         (WebCore::UniscribeHelper::UniscribeHelper):
1441         (WebCore::UniscribeHelper::shape):
1442         (WebCore::UniscribeHelper::fillShapes):
1443         * platform/graphics/chromium/UniscribeHelper.h:
1444         (WebCore::UniscribeHelper::setDisableFontFallback):
1445
1446 2009-02-04  Sam Weinig  <sam@webkit.org>
1447
1448         Reviewed by David Hyatt.
1449
1450         Remove some unnecessary #includes of RenderStyle.h
1451
1452         * css/CSSPrimitiveValueMappings.h:
1453         * css/SVGCSSComputedStyleDeclaration.cpp:
1454         * dom/Node.h:
1455         * rendering/PointerEventsHitRules.h:
1456         * rendering/RenderImageGeneratedContent.h:
1457         * rendering/RenderMarquee.h:
1458         * rendering/RenderScrollbar.h:
1459
1460 2009-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
1461
1462         Reviewed by Sam Weinig.
1463
1464         https://bugs.webkit.org/show_bug.cgi?id=23657
1465         Clean up WebCore/storage IDLs.
1466
1467         * storage/SQLError.idl: Changed to match spec.
1468         * storage/SQLResultSet.idl: Changed to match spec.
1469         * storage/SQLStatementCallback.idl: Removed.
1470         * storage/SQLStatementErrorCallback.idl: Removed.
1471         * storage/SQLTransactionCallback.idl: Removed.
1472         * storage/SQLTransactionErrorCallback.idl: Removed.
1473
1474 2009-02-04  David Hyatt  <hyatt@apple.com>
1475
1476         Fix for https://bugs.webkit.org/show_bug.cgi?id=23734, blank content on blogs.msdn.com.
1477         
1478         Add debugging code that will catch the incorrect dirtying of a table section immediately if it happens
1479         during calcRowHeight or layoutRows.  This should make it possible to discover future bugs where table sections don't
1480         paint.
1481
1482         The bug in blogs.msdn.com, which was caused by a bad setNeedsLayout in RenderLayer::updateScrollInfoAtferLayout.  Make
1483         sure to do only a local setNeedsLayout inside that function.
1484
1485         Reviewed by Beth Dakin
1486
1487         * rendering/RenderLayer.cpp:
1488         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1489         * rendering/RenderObject.cpp:
1490         (WebCore::RenderObject::RenderObject):
1491         * rendering/RenderObject.h:
1492         (WebCore::RenderObject::isSetNeedsLayoutForbidden):
1493         (WebCore::RenderObject::setNeedsLayoutIsForbidden):
1494         (WebCore::RenderObject::setNeedsLayout):
1495         (WebCore::RenderObject::setChildNeedsLayout):
1496         (WebCore::RenderObject::markContainingBlocksForLayout):
1497         * rendering/RenderTable.cpp:
1498         (WebCore::RenderTable::layout):
1499         * rendering/RenderTableSection.cpp:
1500         (WebCore::RenderTableSection::calcRowHeight):
1501         (WebCore::RenderTableSection::layoutRows):
1502
1503 2009-02-04  Sam Weinig  <sam@webkit.org>
1504
1505         Reviewed by David Hyatt.
1506
1507         Rename RenderStyle::Diff to StyleDifference and move it to
1508         RenderStyleConstants.h.
1509
1510         * rendering/RenderBR.cpp:
1511         (WebCore::RenderBR::styleDidChange):
1512         * rendering/RenderBR.h:
1513         * rendering/RenderBlock.cpp:
1514         (WebCore::RenderBlock::styleWillChange):
1515         (WebCore::RenderBlock::styleDidChange):
1516         * rendering/RenderBlock.h:
1517         * rendering/RenderBox.cpp:
1518         (WebCore::RenderBox::styleWillChange):
1519         (WebCore::RenderBox::styleDidChange):
1520         * rendering/RenderBox.h:
1521         * rendering/RenderButton.cpp:
1522         (WebCore::RenderButton::styleWillChange):
1523         (WebCore::RenderButton::styleDidChange):
1524         * rendering/RenderButton.h:
1525         * rendering/RenderFieldset.cpp:
1526         (WebCore::RenderFieldset::styleDidChange):
1527         * rendering/RenderFieldset.h:
1528         * rendering/RenderFileUploadControl.cpp:
1529         (WebCore::RenderFileUploadControl::styleDidChange):
1530         * rendering/RenderFileUploadControl.h:
1531         * rendering/RenderInline.cpp:
1532         (WebCore::RenderInline::styleDidChange):
1533         * rendering/RenderInline.h:
1534         * rendering/RenderLayer.cpp:
1535         (WebCore::RenderLayer::styleChanged):
1536         * rendering/RenderLayer.h:
1537         * rendering/RenderLayerCompositor.cpp:
1538         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
1539         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
1540         * rendering/RenderLayerCompositor.h:
1541         * rendering/RenderListBox.cpp:
1542         (WebCore::RenderListBox::styleDidChange):
1543         * rendering/RenderListBox.h:
1544         * rendering/RenderListItem.cpp:
1545         (WebCore::RenderListItem::styleDidChange):
1546         * rendering/RenderListItem.h:
1547         * rendering/RenderListMarker.cpp:
1548         (WebCore::RenderListMarker::styleWillChange):
1549         (WebCore::RenderListMarker::styleDidChange):
1550         * rendering/RenderListMarker.h:
1551         * rendering/RenderMenuList.cpp:
1552         (WebCore::RenderMenuList::styleDidChange):
1553         * rendering/RenderMenuList.h:
1554         * rendering/RenderObject.cpp:
1555         (WebCore::RenderObject::setStyle):
1556         (WebCore::RenderObject::styleWillChange):
1557         (WebCore::RenderObject::styleDidChange):
1558         * rendering/RenderObject.h:
1559         * rendering/RenderReplaced.cpp:
1560         (WebCore::RenderReplaced::styleDidChange):
1561         * rendering/RenderReplaced.h:
1562         * rendering/RenderSVGGradientStop.cpp:
1563         (WebCore::RenderSVGGradientStop::styleDidChange):
1564         * rendering/RenderSVGGradientStop.h:
1565         * rendering/RenderSVGInlineText.cpp:
1566         (WebCore::RenderSVGInlineText::styleDidChange):
1567         * rendering/RenderSVGInlineText.h:
1568         * rendering/RenderScrollbarPart.cpp:
1569         (WebCore::RenderScrollbarPart::styleWillChange):
1570         (WebCore::RenderScrollbarPart::styleDidChange):
1571         * rendering/RenderScrollbarPart.h:
1572         * rendering/RenderSlider.cpp:
1573         (WebCore::RenderSlider::styleDidChange):
1574         * rendering/RenderSlider.h:
1575         * rendering/RenderTable.cpp:
1576         (WebCore::RenderTable::styleDidChange):
1577         * rendering/RenderTable.h:
1578         * rendering/RenderTableCell.cpp:
1579         (WebCore::RenderTableCell::styleWillChange):
1580         (WebCore::RenderTableCell::styleDidChange):
1581         * rendering/RenderTableCell.h:
1582         * rendering/RenderTableRow.cpp:
1583         (WebCore::RenderTableRow::styleWillChange):
1584         * rendering/RenderTableRow.h:
1585         * rendering/RenderText.cpp:
1586         (WebCore::RenderText::styleDidChange):
1587         * rendering/RenderText.h:
1588         (WebCore::RenderText::styleWillChange):
1589         * rendering/RenderTextControl.cpp:
1590         (WebCore::RenderTextControl::styleDidChange):
1591         * rendering/RenderTextControl.h:
1592         * rendering/RenderTextControlSingleLine.cpp:
1593         (WebCore::RenderTextControlSingleLine::styleDidChange):
1594         * rendering/RenderTextControlSingleLine.h:
1595         * rendering/RenderWidget.cpp:
1596         (WebCore::RenderWidget::styleDidChange):
1597         * rendering/RenderWidget.h:
1598         * rendering/style/RenderStyle.cpp:
1599         (WebCore::RenderStyle::diff):
1600         (WebCore::RenderStyle::setClip):
1601         * rendering/style/RenderStyle.h:
1602         * rendering/style/RenderStyleConstants.h:
1603         (WebCore::):
1604
1605 2009-02-03  Sam Weinig  <sam@webkit.org>
1606
1607         Reviewed by David Hyatt.
1608
1609         Move PseudoId enum out of RenderStyle and into RenderStyleConstants.h
1610
1611         * css/CSSStyleSelector.cpp:
1612         (WebCore::CSSStyleSelector::matchRulesForList):
1613         (WebCore::CSSStyleSelector::initForStyleResolve):
1614         (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
1615         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
1616         (WebCore::CSSStyleSelector::styleForElement):
1617         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1618         (WebCore::CSSStyleSelector::checkSelector):
1619         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1620         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1621         (WebCore::CSSStyleSelector::applyProperty):
1622         * css/CSSStyleSelector.h:
1623         * dom/Node.cpp:
1624         (WebCore::Node::diff):
1625         * page/FrameView.cpp:
1626         (WebCore::FrameView::createScrollbar):
1627         * rendering/InlineTextBox.cpp:
1628         (WebCore::InlineTextBox::paint):
1629         * rendering/MediaControlElements.cpp:
1630         (WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
1631         (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement):
1632         (WebCore::MediaControlInputElement::MediaControlInputElement):
1633         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
1634         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
1635         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
1636         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
1637         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
1638         * rendering/MediaControlElements.h:
1639         * rendering/RenderBlock.cpp:
1640         (WebCore::RenderBlock::styleDidChange):
1641         (WebCore::RenderBlock::updateBeforeAfterContent):
1642         (WebCore::RenderBlock::firstLineBlock):
1643         (WebCore::RenderBlock::updateFirstLetter):
1644         * rendering/RenderBlock.h:
1645         * rendering/RenderBox.cpp:
1646         (WebCore::RenderBox::isAfterContent):
1647         * rendering/RenderButton.cpp:
1648         (WebCore::RenderButton::updateBeforeAfterContent):
1649         * rendering/RenderButton.h:
1650         * rendering/RenderFileUploadControl.cpp:
1651         (WebCore::RenderFileUploadControl::createButtonStyle):
1652         * rendering/RenderInline.cpp:
1653         (WebCore::RenderInline::styleDidChange):
1654         (WebCore::isAfterContent):
1655         (WebCore::RenderInline::addChildIgnoringContinuation):
1656         (WebCore::RenderInline::splitInlines):
1657         * rendering/RenderLayer.cpp:
1658         (WebCore::RenderLayer::createScrollbar):
1659         (WebCore::RenderLayer::updateScrollCornerStyle):
1660         (WebCore::RenderLayer::updateResizerStyle):
1661         * rendering/RenderListBox.cpp:
1662         (WebCore::RenderListBox::createScrollbar):
1663         * rendering/RenderMedia.cpp:
1664         (WebCore::RenderMedia::createPanel):
1665         (WebCore::RenderMedia::createTimelineContainer):
1666         * rendering/RenderMenuList.cpp:
1667         (WebCore::RenderMenuList::createScrollbar):
1668         * rendering/RenderObject.cpp:
1669         (WebCore::RenderObject::selectionBackgroundColor):
1670         (WebCore::RenderObject::selectionForegroundColor):
1671         (WebCore::RenderObject::firstLineStyleSlowCase):
1672         (WebCore::RenderObject::getCachedPseudoStyle):
1673         (WebCore::RenderObject::getUncachedPseudoStyle):
1674         * rendering/RenderObject.h:
1675         (WebCore::RenderObject::isAnonymousBlock):
1676         * rendering/RenderObjectChildList.cpp:
1677         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
1678         (WebCore::beforeAfterContainer):
1679         (WebCore::RenderObjectChildList::invalidateCounters):
1680         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1681         * rendering/RenderObjectChildList.h:
1682         * rendering/RenderScrollbar.cpp:
1683         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
1684         (WebCore::pseudoForScrollbarPart):
1685         * rendering/RenderScrollbar.h:
1686         * rendering/RenderSlider.cpp:
1687         (WebCore::RenderSlider::createThumbStyle):
1688         * rendering/RenderTextControlSingleLine.cpp:
1689         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
1690         (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
1691         (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
1692         (WebCore::RenderTextControlSingleLine::createScrollbar):
1693         * rendering/style/RenderStyle.cpp:
1694         (WebCore::pseudoBit):
1695         * rendering/style/RenderStyle.h:
1696         (WebCore::):
1697         * rendering/style/RenderStyleConstants.h:
1698         (WebCore::):
1699
1700 2009-02-04  David Kilzer  <ddkilzer@apple.com>
1701
1702         CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
1703
1704         <rdar://problem/6509514>
1705
1706         Reviewed by Mark Rowe.
1707
1708         * loader/archive/cf/LegacyWebArchive.cpp:
1709         (WebCore::LegacyWebArchive::create): Fix it correctly this time.
1710         Check for the value returned from WebCore::IconDatabase::iconForPageURL(),
1711         not WebCore::Image::data().
1712
1713 2009-02-04  David Hyatt  <hyatt@apple.com>
1714
1715         Rename removeFromObjectLists and move it into RenderBox, since it only applies to boxes.
1716
1717         Reviewed by Adam Roben
1718
1719         * rendering/RenderBox.cpp:
1720         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
1721         (WebCore::RenderBox::styleWillChange):
1722         * rendering/RenderBox.h:
1723         * rendering/RenderContainer.cpp:
1724         (WebCore::RenderContainer::removeChild):
1725         * rendering/RenderObject.cpp:
1726         (WebCore::RenderObject::styleWillChange):
1727         * rendering/RenderObject.h:
1728         * rendering/RenderSVGContainer.cpp:
1729         (WebCore::RenderSVGContainer::removeChild):
1730
1731 2009-02-04  Jeremy Moskovich  <jeremy@chromium.org>
1732
1733         Reviewed by Dave Hyatt.
1734
1735         https://bugs.webkit.org/show_bug.cgi?id=23471
1736         Fix text-overflow:ellipsis; for RTL case.
1737
1738         Test: fast/css/text-overflow-ellipses.html
1739
1740         * rendering/InlineTextBox.cpp:
1741         (WebCore::InlineTextBox::placeEllipsisBox): Add support for rtl placement.
1742         (WebCore::InlineTextBox::paintDecoration): Correctly draw decorations
1743         for rtl truncation.
1744
1745 2009-02-04  Dimitri Glazkov  <dglazkov@chromium.org>
1746
1747         Reviewed by Darin Adler.
1748
1749         https://bugs.webkit.org/show_bug.cgi?id=23700
1750         Upstream local changes to due to unforking of SimpleFontData
1751         (corresponds to Chromium check-in http://src.chromium.org/viewvc/chrome?view=rev&revision=8646).
1752
1753         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
1754         (WebCore::fillBMPGlyphs): Removed extra checks for ZWS chars.
1755
1756 2009-02-04  David Hyatt  <hyatt@apple.com>
1757
1758         <rdar://problem/6554115> REGRESSION (r40475): World leak (JS global object) after viewing a photo on Facebook
1759
1760         Fix a ginormous leak. (GINORMOUS!) Make sure to disconnect the event listeners attached to the Document,
1761         because, like, they point to a lot of stuff... like ... everything...
1762
1763         Reviewed by Darin Adler
1764
1765         * dom/Document.cpp:
1766         (WebCore::Document::removeAllEventListenersFromAllNodes):
1767
1768 2009-02-04  Darin Fisher  <darin@chromium.org>
1769
1770         Reviewed by Darin Adler.
1771
1772         https://bugs.webkit.org/show_bug.cgi?id=23731
1773         Add JSCCustom and V8Custom as extended IDL attributes
1774
1775         This helps avoid having to add #ifdefs to the IDL files to support V8 bindings.
1776
1777         * bindings/scripts/CodeGeneratorJS.pm:
1778         * dom/Document.idl:
1779         * dom/Node.idl:
1780         * svg/SVGPathSegList.idl:
1781         * svg/SVGPointList.idl:
1782         * svg/SVGTransformList.idl:
1783
1784 2009-02-04  Dan Bernstein  <mitz@apple.com>
1785
1786         - build fix
1787
1788         * rendering/RenderImageGeneratedContent.h:
1789
1790 2009-02-04  miggilin  <mr.diggilin@gmail.com>
1791
1792         Reviewed by Kevin Ollivier.
1793         
1794         Switch to using a ref-counted wxFont pointer for FontPlatformData to fix a crash
1795         with assigning to uninitialized HashTable buckets.
1796         
1797         https://bugs.webkit.org/show_bug.cgi?id=23669
1798
1799         * platform/graphics/SimpleFontData.h:
1800         (WebCore::SimpleFontData::getWxFont):
1801         * platform/graphics/wx/FontPlatformData.h:
1802         (WebCore::):
1803         (WebCore::FontPlatformData::FontPlatformData):
1804         (WebCore::FontPlatformData::font):
1805         (WebCore::FontPlatformData::operator==):
1806         * platform/graphics/wx/FontPlatformDataWx.cpp:
1807         (WebCore::FontPlatformData::FontPlatformData):
1808         (WebCore::FontPlatformData::computeHash):
1809         (WebCore::FontPlatformData::~FontPlatformData):
1810         * platform/graphics/wx/SimpleFontDataWx.cpp:
1811         (WebCore::SimpleFontData::platformInit):
1812         (WebCore::SimpleFontData::determinePitch):
1813         (WebCore::SimpleFontData::platformWidthForGlyph):
1814         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
1815         (WebCore::drawTextWithSpacing):
1816
1817 2009-02-04  David Hyatt  <hyatt@apple.com>
1818
1819         Fix a crash in generated content when a generated image with an already-cached background image gets
1820         created.  It's not completely clear how to reproduce this crash.
1821
1822         Reviewed by Adam Roben
1823
1824         * rendering/RenderImageGeneratedContent.h:
1825         (WebCore::RenderImageGeneratedContent::imagePtr):
1826
1827 2009-02-04  Simon Hausmann  <simon.hausmann@nokia.com>
1828
1829         Unreviewed Qt build fix.
1830
1831         Changed ASSERT(image) to ASSERT(!image.isNull()).
1832
1833         * platform/graphics/qt/ImageBufferQt.cpp:
1834         (WebCore::ImageBuffer::getImageData):
1835
1836 2009-02-04  Trenton Schulz <trenton.schulz@nokia.com>
1837
1838         Reviewed by Simon Hausmann.
1839
1840         Fix implementation of PluginViewMac::invalidateRect to update only the
1841         specified rect, not the entire browser window.
1842
1843         * plugins/mac/PluginViewMac.cpp:
1844         (WebCore::PluginView::invalidateRect):
1845
1846 2009-02-04  Holger Hans Peter Freyther  <zecke@selfish.org>
1847
1848         Rubber stamped by Mark Rowe.
1849
1850         FramePrivate was removed in r40024 remove the forward
1851         declaration as well.
1852
1853         * page/Frame.h:
1854
1855 2009-02-04  Holger Hans Peter Freyther  <zecke@selfish.org>
1856
1857         Reviewed by Sam Weinig.
1858
1859         https://bugs.webkit.org/show_bug.cgi?id=23426
1860
1861         Make isFrameSet virtual and by default return false. Reimplement
1862         it in HTMLDocument.
1863
1864         * dom/Document.cpp:
1865         * dom/Document.h:
1866         (WebCore::Document::isFrameSet):
1867         * html/HTMLDocument.cpp:
1868         (WebCore::HTMLDocument::isFrameSet):
1869         * html/HTMLDocument.h:
1870
1871 2009-02-03  Oliver Hunt  <oliver@apple.com>
1872
1873         Reviewed by John Sullivan.
1874
1875         <rdar://problem/6554092> Slow script dialog starts coming up over and over again
1876
1877         Work around <rdar://problem/6554067> by consuming any exceptions that are
1878         thrown by _web_localizedDescription        
1879
1880         * platform/network/mac/ResourceErrorMac.mm:
1881         (WebCore::ResourceError::platformLazyInit):
1882
1883 2009-02-03  David Hyatt  <hyatt@apple.com>
1884
1885         Move the isRenderInline checks for clientWidth/Height and scrollWidth/Height to the DOM element
1886         versions of the functions.  Since internal render tree usage doesn't ever (incorrectly) call these
1887         functions on RenderInlines, this manages to get virtual function calls out of contentWidth/Height and
1888         availableWidth/Height.
1889
1890         Reviewed by Mark Rowe
1891
1892         * dom/Element.cpp:
1893         (WebCore::Element::clientWidth):
1894         (WebCore::Element::clientHeight):
1895         (WebCore::Element::scrollWidth):
1896         (WebCore::Element::scrollHeight):
1897         * rendering/RenderBox.cpp:
1898         (WebCore::RenderBox::clientWidth):
1899         (WebCore::RenderBox::clientHeight):
1900         (WebCore::RenderBox::scrollWidth):
1901         (WebCore::RenderBox::scrollHeight):
1902
1903 2009-02-03  Brad Garcia  <bgarcia@google.com>
1904
1905         Reviewed by Eric Seidel.
1906
1907         https://bugs.webkit.org/show_bug.cgi?id=20443
1908         Remove call to canResize when trying to determine if pointer
1909         is within a frame.
1910         Also removed the implementation of canResize as it is no longer used.
1911
1912         Test: fast/frames/frame-dead-region.html
1913
1914         * rendering/RenderFrameSet.cpp:
1915         (WebCore::RenderFrameSet::nodeAtPoint):
1916         * rendering/RenderFrameSet.h:
1917
1918 2009-02-03  David Hyatt  <hyatt@apple.com>
1919
1920         Reduce the number of calls to virtualChildren (indirectly made via RenderObject::firstChild()).
1921         This is a small gain on the PLT.
1922
1923         Reviewed by Mark Rowe
1924
1925         * rendering/bidi.cpp:
1926         (WebCore::inlineWidth):
1927         (WebCore::bidiNext):
1928
1929 2009-02-03  Simon Fraser  <simon.fraser@apple.com>
1930
1931         Reviewed by Dave Hyatt
1932
1933         https://bugs.webkit.org/show_bug.cgi?id=23628
1934
1935         Fix selection repainting to do container-relative repaints. RenderView now
1936         repaints the selection using the containerForRepaint() for each RenderSelectionInfo.
1937         selectionRect() is now a wrapper for selectionRectForRepaint() with no container.
1938         
1939         Pull SelectionInfo out of RenderObject.h, and BlockSelectionInfo out
1940         of RenderBlock.h and move them into RenderSelectionInfo.h, with some
1941         sharing and refactoring.
1942         
1943         RenderBlock::selectionGapRectsForRepaint() is not yet container-aware.
1944
1945         * GNUmakefile.am:
1946         * WebCore.vcproj/WebCore.vcproj:
1947         * WebCore.xcodeproj/project.pbxproj:
1948         * rendering/RenderBR.h:
1949         (WebCore::RenderBR::selectionRectForRepaint):
1950         * rendering/RenderBlock.cpp:
1951         (WebCore::RenderBlock::selectionGapRectsForRepaint):
1952         * rendering/RenderBlock.h:
1953         (WebCore::RenderBlock::selectionRectForRepaint):
1954         * rendering/RenderListMarker.cpp:
1955         (WebCore::RenderListMarker::paint):
1956         (WebCore::RenderListMarker::selectionRectForRepaint):
1957         * rendering/RenderListMarker.h:
1958         * rendering/RenderObject.h:
1959         (WebCore::RenderObject::selectionRect):
1960         (WebCore::RenderObject::selectionRectForRepaint):
1961         * rendering/RenderReplaced.cpp:
1962         (WebCore::RenderReplaced::selectionRectForRepaint):
1963         * rendering/RenderReplaced.h:
1964         * rendering/RenderSVGInlineText.cpp:
1965         (WebCore::RenderSVGInlineText::absoluteRects):
1966         (WebCore::RenderSVGInlineText::absoluteQuads):
1967         (WebCore::RenderSVGInlineText::selectionRectForRepaint):
1968         (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
1969         * rendering/RenderSVGInlineText.h:
1970         * rendering/RenderSelectionInfo.h: Added.
1971         (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
1972         (WebCore::RenderSelectionInfoBase::object):
1973         (WebCore::RenderSelectionInfoBase::repaintContainer):
1974         (WebCore::RenderSelectionInfoBase::state):
1975         (WebCore::RenderSelectionInfo::RenderSelectionInfo):
1976         (WebCore::RenderSelectionInfo::repaint):
1977         (WebCore::RenderSelectionInfo::rect):
1978         (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
1979         (WebCore::RenderBlockSelectionInfo::repaint):
1980         (WebCore::RenderBlockSelectionInfo::block):
1981         (WebCore::RenderBlockSelectionInfo::rects):
1982         * rendering/RenderText.cpp:
1983         (WebCore::RenderText::selectionRectForRepaint):
1984         * rendering/RenderText.h:
1985         * rendering/RenderView.cpp:
1986         (WebCore::RenderView::selectionBounds):
1987         (WebCore::RenderView::setSelection):
1988         * rendering/RenderView.h:
1989         * rendering/RenderWidget.cpp:
1990         (WebCore::RenderWidget::paint):
1991
1992 2009-02-03  David Hyatt  <hyatt@apple.com>
1993
1994         Add inline capacity back to CSSMutableStyleDeclaration now that the bug in Vector has been fixed.
1995
1996         Reviewed by Darin Adler & Sam Weinig
1997
1998         * css/CSSMutableStyleDeclaration.cpp:
1999         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2000         * css/CSSMutableStyleDeclaration.h:
2001
2002 2009-02-03  Justin Garcia  <justin.garcia@apple.com>
2003
2004         Reviewed by Darin Adler.
2005
2006         https://bugs.webkit.org/show_bug.cgi?id=13490
2007         Implement execCommand("styleWithCSS", ...)
2008         
2009         Determine whether or not to use HTML formatting tags for styling on the new
2010         boolean on Editor instead of whether or not the document is quirks mode.
2011
2012         * editing/ApplyStyleCommand.cpp:
2013         (WebCore::StyleChange::StyleChange):
2014         (WebCore::StyleChange::init):
2015         (WebCore::ApplyStyleCommand::applyBlockStyle):
2016         (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
2017         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2018         * editing/Editor.cpp:
2019         (WebCore::Editor::Editor):
2020         (WebCore::Editor::clear):
2021         * editing/Editor.h:
2022         (WebCore::Editor::setShouldStyleWithCSS):
2023         (WebCore::Editor::shouldStyleWithCSS):
2024         * editing/EditorCommand.cpp:
2025         (WebCore::executeStyleWithCSS):
2026         (WebCore::stateStyleWithCSS):
2027         (WebCore::CommandEntry::):
2028
2029 2009-02-03  Dirk Schulze  <krit@webkit.org>
2030
2031         Reviewed by Sam Weinig.
2032
2033         This is a follow up of r40546. Call toImage() once speeds up ImageBuffer::getImageData()
2034
2035         * platform/graphics/qt/ImageBufferQt.cpp:
2036         (WebCore::ImageBuffer::getImageData):
2037
2038 2009-02-03  Anders Carlsson  <andersca@apple.com>
2039
2040         Reviewed by Kevin Decker.
2041
2042         - Fix for <rdar://problem/6549743>
2043
2044         On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately
2045         after the call to -[NSView displayRectIgnoringOpacity:inContext:].
2046         
2047         * platform/mac/WidgetMac.mm:
2048         (WebCore::Widget::paint):
2049
2050 2009-02-03  David Hyatt  <hyatt@apple.com>
2051
2052         Back this change out since it is causing layout tests to crash.  There is something subtle going on
2053         here.
2054
2055         Reviewed by Darin Adler
2056
2057         * css/CSSMutableStyleDeclaration.cpp:
2058         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2059         * css/CSSMutableStyleDeclaration.h:
2060
2061 2009-02-03  David Hyatt  <hyatt@apple.com>
2062
2063         Give the properties vector of mutable style declarations an initial inline capacity to reduce malloc churn.
2064
2065         Reviewed by Sam Weinig
2066
2067         * css/CSSMutableStyleDeclaration.cpp:
2068         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2069         * css/CSSMutableStyleDeclaration.h:
2070
2071 2009-02-03  David Hyatt  <hyatt@apple.com>
2072
2073         Avoid creating extra copies of NSURLRequests for non-HTTP URLs.  Only mark platform requests
2074         as needing updating when HTTP fields change if the scheme of the URL is actually HTTP or HTTPS.
2075         Thus cuts down significantly on the number of copied NSURLRequests and is about a 1% gain on the PLT.
2076
2077         Reviewed by Darin Adler
2078
2079         * loader/FrameLoader.cpp:
2080         (WebCore::FrameLoader::addExtraFieldsToRequest):
2081         * platform/KURL.cpp:
2082         (WebCore::KURL::invalidate):
2083         (WebCore::KURL::KURL):
2084         * platform/KURL.h:
2085         (WebCore::KURL::isHTTPOrHTTPS):
2086         * platform/network/ResourceRequestBase.cpp:
2087         (WebCore::ResourceRequestBase::setCachePolicy):
2088         (WebCore::ResourceRequestBase::setTimeoutInterval):
2089         (WebCore::ResourceRequestBase::setMainDocumentURL):
2090         (WebCore::ResourceRequestBase::setHTTPMethod):
2091         (WebCore::ResourceRequestBase::setHTTPHeaderField):
2092         (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
2093         (WebCore::ResourceRequestBase::setHTTPBody):
2094         (WebCore::ResourceRequestBase::setAllowHTTPCookies):
2095
2096 2009-02-03  Xan Lopez  <xan@gnome.org>
2097
2098         Reviewed by Holger Freyther.
2099
2100         https://bugs.webkit.org/show_bug.cgi?id=23711
2101
2102         Add manual test for floating divs with scrollbars.
2103
2104         * manual-tests/gtk/floatingdiv.html: Added.
2105
2106 2009-02-03  Xan Lopez  <xan@gnome.org>
2107
2108         Reviewed by Holger Freyther.
2109
2110         https://bugs.webkit.org/show_bug.cgi?id=23711
2111
2112         There's no need to hold an extra ref to the scrollbar, calling
2113         setPlatformWidget takes ownership of it.
2114
2115         Also do not disconnect the signals when destroying the widget,
2116         it's superfluous.
2117
2118         * platform/gtk/ScrollbarGtk.cpp:
2119         (ScrollbarGtk::ScrollbarGtk):
2120         * platform/gtk/ScrollbarGtk.h:
2121
2122 2009-02-03  Xan Lopez  <xan@gnome.org>
2123
2124         Reviewed by Holger Freyther.
2125
2126         https://bugs.webkit.org/show_bug.cgi?id=23711
2127
2128         Declare scrollBar as GtkWidget* to avoid needless
2129         casting.
2130
2131         * platform/gtk/ScrollbarGtk.cpp:
2132         (ScrollbarGtk::ScrollbarGtk):
2133         (ScrollbarGtk::~ScrollbarGtk):
2134
2135 2009-02-03  Xan Lopez  <xan@gnome.org>
2136
2137         Reviewed by Holger Freyther.
2138
2139         https://bugs.webkit.org/show_bug.cgi?id=23711
2140
2141         Properly calculate the scrollbar location for their
2142         usage in RenderLayout.
2143
2144         * platform/gtk/ScrollbarGtk.cpp:
2145         (ScrollbarGtk::frameRectsChanged):
2146
2147 2009-02-03  David Hyatt  <hyatt@apple.com>
2148
2149         Rename addLineBoxRects to absoluteRectsForRange, and do the same thing for the corresponding quads methods.  Move the RenderContainer implementations
2150         of these methods up to RenderObject.
2151         
2152         Reviewed by Beth Dakin
2153
2154         * bindings/objc/DOM.mm:
2155         (-[DOMNode lineBoxRects]):
2156         * dom/Range.cpp:
2157         (WebCore::Range::addLineBoxRects):
2158         * inspector/InspectorController.cpp:
2159         (WebCore::InspectorController::drawNodeHighlight):
2160         * rendering/RenderContainer.cpp:
2161         * rendering/RenderContainer.h:
2162         * rendering/RenderObject.cpp:
2163         (WebCore::RenderObject::absoluteRectsForRange):
2164         (WebCore::RenderObject::absoluteQuadsForRange):
2165         * rendering/RenderObject.h:
2166         * rendering/RenderText.cpp:
2167         (WebCore::RenderText::absoluteRectsForRange):
2168         (WebCore::RenderText::absoluteQuadsForRange):
2169         * rendering/RenderText.h:
2170
2171 2009-02-03  Dirk Schulze  <krit@webkit.org>
2172
2173         Reviewed by Sam Weinig and Oliver Hunt.
2174
2175         Added getImageData() support for QtWebKit.
2176
2177         [QT] lacks getImageData / putImageData support in Canvas
2178         https://bugs.webkit.org/show_bug.cgi?id=22186
2179
2180         * platform/graphics/qt/ImageBufferQt.cpp:
2181         (WebCore::ImageBuffer::getImageData):
2182
2183 2009-02-03  Eric Roman  <eroman@chromium.org>
2184
2185         Reviewed by Holger Freyther.
2186
2187         Fix FrameChromium.cpp following r40473 which moved Frame::adjustPageHeight to FrameView::adjustPageHeight.
2188
2189         * page/chromium/FrameChromium.cpp:
2190         (WebCore::computePageRectsForFrame):
2191
2192 2009-02-02  Simon Fraser  <simon.fraser@apple.com>
2193
2194         Reviewed by Dave Hyatt
2195
2196         https://bugs.webkit.org/show_bug.cgi?id=23358
2197
2198         Hook accelerated compositing into RenderLayer.
2199
2200         * rendering/RenderLayer.cpp:
2201         (WebCore::RenderLayer::RenderLayer):
2202         (WebCore::RenderLayer::~RenderLayer):
2203         Init and clean up backing and the hasCompositingDescendant bit.
2204         
2205         (WebCore::RenderLayer::compositor):
2206         Shortcut to get to the RenderLayerCompositor.
2207
2208         (WebCore::RenderLayer::updateLayerPositions):
2209         We need to let full repaints propagate to all compositing layers, and 
2210         update the backing after layout here.
2211         
2212         (WebCore::RenderLayer::transparentAncestor):
2213         (WebCore::transparencyClipBox):
2214         (WebCore::RenderLayer::beginTransparencyLayers):
2215         Account for the fact that opacity may be rendered via the compositing
2216         layer sometimes.
2217         
2218         (WebCore::RenderLayer::addChild):
2219         (WebCore::RenderLayer::removeChild):
2220         (WebCore::RenderLayer::removeOnlyThisLayer):
2221         Tell the compositor when the RenderLayer hierarchy changes.
2222         
2223         (WebCore::RenderLayer::scrollToOffset):
2224         Update layer geometry after scrolling.
2225         
2226         (WebCore::RenderLayer::paintLayer):
2227         We short-circuit painting on composited layers, because these layers
2228         are painted on a callback from the compositing system.
2229         
2230         (WebCore::RenderLayer::hitTestLayer):
2231         Only apply transforms if we are rendering them in software.
2232         
2233         (WebCore::RenderLayer::localBoundingBox):
2234         (WebCore::RenderLayer::boundingBox):
2235         (WebCore::RenderLayer::absoluteBoundingBox):
2236         Refactor bounding box code that we can compute local, and ancestor-relative
2237         bounding box, as well as absolute.
2238         
2239         (WebCore::RenderLayer::ensureBacking):
2240         (WebCore::RenderLayer::clearBacking):
2241         RenderLayerBacking creation and destruction.
2242         
2243         (WebCore::RenderLayer::setParent):
2244         Tell the compositor when the RenderLayer hierarchy changes.
2245
2246         (WebCore::RenderLayer::dirtyZOrderLists):
2247         (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
2248         (WebCore::RenderLayer::dirtyOverflowList):
2249         When the z-order and overflow lists change, we need to tell the
2250         compositor that the composited layers need to be rejiggered soon.
2251         
2252         (WebCore::RenderLayer::updateZOrderLists):
2253         Whitespace cleanup.
2254         
2255         (WebCore::RenderLayer::setBackingNeedsRepaint):
2256         (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
2257         Dirty composited layer contents for painting.
2258         
2259         (WebCore::RenderLayer::styleChanged):
2260         Update the layer backing after style changes.
2261
2262         * rendering/RenderLayer.h:
2263         (WebCore::RenderLayer::isComposited):
2264         (WebCore::RenderLayer::backing):
2265         Accessors for testing and getting the backing for this RenderLayer.
2266         
2267         (WebCore::RenderLayer::paintsWithTransparency):
2268         (WebCore::RenderLayer::paintsWithTransform):
2269         Transform and opacity can be applied via the compositing layer, or rendered
2270         in software. These methods tell us if we need to account for them in the
2271         non-compositing path.
2272         
2273         (WebCore::RenderLayer::hasCompositingDescendant):
2274         (WebCore::RenderLayer::setHasCompositingDescendant):
2275         Maintain a bit to tell if this layer has composited descendants.
2276
2277 2009-02-03  Simon Fraser  <simon.fraser@apple.com>
2278
2279         Reviewed by Dave Hyatt
2280
2281         https://bugs.webkit.org/show_bug.cgi?id=23365
2282         
2283         Hook up accelerated compositing layers the native
2284         view system on Mac.
2285
2286         * WebCore.base.exp:
2287         Export new Page methods.
2288
2289         * page/ChromeClient.h:
2290         (WebCore::ChromeClient::attachRootGraphicsLayer):
2291         (WebCore::ChromeClient::setNeedsOneShotDrawingSynchronization):
2292         New methods for attaching/detaching the root GraphicsLayer, and
2293         synchronizing layer changes with window drawing.
2294
2295         * page/FrameView.h:
2296         * page/FrameView.cpp:
2297         (WebCore::FrameView::updateCompositingLayers):
2298         (WebCore::FrameView::setNeedsOneShotDrawingSynchronization):
2299         (WebCore::FrameView::didMoveOnscreen):
2300         (WebCore::FrameView::willMoveOffscreen):
2301         New methods to update the compositing layer hierarchy,
2302         and pass-throughs to the RenderLayerCompositor.
2303
2304         (WebCore::FrameView::layout):
2305         Update compositing layers after layout() and updateLayerPositions().
2306
2307         * page/Page.cpp:
2308         (WebCore::Page::didMoveOnscreen):
2309         (WebCore::Page::willMoveOffscreen):
2310         * page/Page.h:
2311         New methods to allow the native view system to tell the Page when it 
2312         starts to be presented on-screen, and when it will be hidden.
2313
2314         * rendering/RenderLayerCompositor.h:
2315         * rendering/RenderLayerCompositor.cpp:
2316         (WebCore::RenderLayerCompositor::updateLayerCompositingState):
2317         (WebCore::RenderLayerCompositor::didMoveOnscreen):
2318         (WebCore::RenderLayerCompositor::willMoveOffscreen):
2319         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
2320         Rename 'attached' methods to 'moveOnscreen/moveOffscreen' to match
2321         the calls through from Page, FrameView.
2322
2323         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
2324         Dont' try to repaint or update layers if the document is being torn
2325         down.
2326
2327         * rendering/RenderView.cpp:
2328         (WebCore::RenderView::didMoveOnscreen):
2329         (WebCore::RenderView::willMoveOffscreen):
2330         * rendering/RenderView.h:
2331         New methods.
2332
2333 2009-02-03  Dirk Schulze  <krit@webkit.org>
2334
2335         Reviewed by Holger Hans Peter Freyther.
2336
2337         Fixed getImageData and putImageData and respect pre-
2338         multiplied colors.
2339
2340         Cairo's ImageBuffer::getImageData() does not handle alpha=0 case correctly
2341         https://bugs.webkit.org/show_bug.cgi?id=21575
2342
2343         * platform/graphics/cairo/ImageBufferCairo.cpp:
2344         (WebCore::ImageBuffer::getImageData):
2345         (WebCore::ImageBuffer::putImageData):
2346
2347 2009-02-03  Dan Bernstein  <mitz@apple.com>
2348
2349         Reviewed by Brady Eidson.
2350
2351         - fix <rdar://problem/6550530> REGRESSION (r40508): Window opened with window.open has no initial history item (global and back/forward)
2352
2353         Test: fast/history/window-open.html
2354
2355         * bindings/js/JSDOMWindowBase.cpp:
2356         (WebCore::createWindow): Pass the missing lockBackForwardList parameter
2357         to FrameLoader::changeLocation().
2358
2359 2009-02-03  Adam Treat  <adam.treat@torchmobile.com>
2360
2361         Fix the Qt build after r40536.
2362
2363         * bridge/qt/qt_runtime.cpp:
2364         (JSC::Bindings::convertQVariantToValue):
2365
2366 2009-02-03  Dan Bernstein  <mitz@apple.com>
2367
2368         - fix -Wmissing-prototypes builds
2369
2370         * loader/WorkerThreadableLoader.cpp:
2371         (WebCore::workerContextDidSendData): Marked this function static.
2372         (WebCore::workerContextDidReceiveResponse): Ditto.
2373         (WebCore::workerContextDidReceiveData): Ditto.
2374         (WebCore::workerContextDidFinishLoading): Ditto.
2375         (WebCore::workerContextDidFail): Ditto.
2376         (WebCore::workerContextDidGetCancelled): Ditto.
2377         (WebCore::workerContextDidReceiveAuthenticationCancellation): Ditto.
2378
2379 2009-02-03  David Kilzer  <ddkilzer@apple.com>
2380
2381         CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706
2382
2383         <rdar://problem/6509514>
2384
2385         Reviewed by Adam Roben.
2386
2387         * loader/archive/cf/LegacyWebArchive.cpp:
2388         (WebCore::LegacyWebArchive::create): Null check the value returned
2389         from WebCore::IconDatabase::iconForPageURL().
2390
2391 2009-02-03  Simon Hausmann  <simon.hausmann@nokia.com>
2392
2393         Reviewed by Tor Arne Vestbø.
2394
2395         Fix conversion of QByteArray to JavaScript and back. Instead of
2396         converting it to a String (data loss!) we now map it to JSByteArray.
2397
2398         * bridge/qt/qt_runtime.cpp:
2399         (JSC::Bindings::):
2400         (JSC::Bindings::valueRealType): Added JSByteArray as converstion type.
2401         (JSC::Bindings::convertValueToQVariant): Convert from JSByteArray to
2402         QVariant(QByteArray).
2403         (JSC::Bindings::convertQVariantToValue): Convert from
2404         QVariant::ByteArray to jsByteArray.
2405
2406 2009-02-03  Alexey Proskuryakov  <ap@webkit.org>
2407
2408         Build fix.
2409
2410         * GNUmakefile.am: Removed WorkerTask.{h,cpp}.
2411
2412 2009-02-03  Dmitry Titov  <dimich@chromium.org>
2413
2414         Reviewed by Alexey Proskuryakov.
2415
2416         https://bugs.webkit.org/show_bug.cgi?id=22718
2417         Implement WindowTimers interface in Workers.
2418
2419         This patch moves timeoutID from Document to ScriptExecutionContext
2420         and exposes JS methods setTimeout/setInterval/clearTimeout/clearInterval inside of a Worker.
2421         Also added a test for those methods.
2422
2423         Test: fast/workers/worker-timeout.html
2424
2425         * bindings/js/JSWorkerContextCustom.cpp:
2426         (WebCore::setTimeoutOrInterval):
2427         Creates ScheduledAction and calls WorkerContext::installTimeout to actually add a timer.
2428
2429         (WebCore::JSWorkerContext::setTimeout):
2430         (WebCore::JSWorkerContext::clearTimeout):
2431         (WebCore::JSWorkerContext::setInterval):
2432         (WebCore::JSWorkerContext::clearInterval):
2433         Added methods exposed to JS.
2434
2435         * dom/Document.cpp:
2436         * dom/Document.h:
2437         * dom/ScriptExecutionContext.cpp:
2438         (WebCore::ScriptExecutionContext::addTimeout):
2439         (WebCore::ScriptExecutionContext::removeTimeout):
2440         (WebCore::ScriptExecutionContext::findTimeout):
2441         * dom/ScriptExecutionContext.h:
2442         The timerID map moves from Document to ScriptExecutionContext,
2443         to be available to Document and to WorkerContext.
2444
2445         * dom/WorkerContext.cpp:
2446         (WebCore::WorkerContext::installTimeout): Adds a DOMTimeout.
2447         (WebCore::WorkerContext::removeTimeout): Removes a DOMTimeout.
2448         * dom/WorkerContext.h:
2449
2450         * page/DOMTimer.cpp:
2451         (WebCore::DOMTimer::DOMTimer):
2452         (WebCore::DOMTimer::~DOMTimer):
2453         (WebCore::DOMTimer::removeById):
2454         Code change here reflects move of timeoutID map to the ScriptExecutionContext.
2455         Some checks and casts are no longer needed.
2456
2457 2009-02-03  Dmitry Titov  <dimich@chromium.org>
2458
2459         Reviewed by Alexey Proskuryakov.
2460
2461         https://bugs.webkit.org/show_bug.cgi?id=23560
2462         Implement SharedTimer for Workers.
2463
2464         * dom/WorkerRunLoop.cpp:
2465         Added private class WorkerSharedTimer that implements SharedTimer interface for worker threads.
2466         (WebCore::WorkerSharedTimer::WorkerSharedTimer):
2467         (WebCore::WorkerSharedTimer::setFiredFunction):
2468         (WebCore::WorkerSharedTimer::setFireTime):
2469         (WebCore::WorkerSharedTimer::stop):
2470         (WebCore::WorkerSharedTimer::isActive):
2471         (WebCore::WorkerSharedTimer::fireTime):
2472         (WebCore::WorkerSharedTimer::fire):
2473         (WebCore::WorkerRunLoop::WorkerRunLoop):
2474         Initializes a WorkerSharedTimer instance.
2475         (WebCore::WorkerRunLoop::~WorkerRunLoop):
2476         The destructor is here so compiler is ok with having OwnPtr<WorkerSharedTimer> in .h file w/o defining WorkerSharedTimer.
2477         (WebCore::WorkerRunLoop::run):
2478         Set/reset shared timer interface on ThreadTimers, use MessageQueue::waitForMessageTimed() if timer is active.
2479         * dom/WorkerRunLoop.h:
2480         Add member of type OwnPtr<WorkerSharedTimer>
2481
2482 2009-02-03  Steve Falkenburg  <sfalken@apple.com>
2483
2484         Build fix.
2485
2486         * WebCore.vcproj/WebCore.vcproj:
2487
2488 2009-02-03  Alexey Proskuryakov  <ap@webkit.org>
2489
2490         Windows build fix.
2491
2492         * dom/CrossThreadCopier.h: Changed forward declarations to use struct instead of class where
2493         appropriate.
2494
2495 2009-02-02  David Levin  <levin@chromium.org>
2496
2497         Reviewed by Alexey Proskuryakov.
2498
2499         Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
2500         <https://bugs.webkit.org/show_bug.cgi?id=23636>
2501
2502         Enable the async portion of ThreadableLoader for workers.
2503
2504         No observable change in behavior, so no test.
2505
2506         * GNUmakefile.am:
2507         * WebCore.pro:
2508         * WebCore.scons:
2509         * WebCore.vcproj/WebCore.vcproj:
2510         * WebCore.xcodeproj/project.pbxproj:
2511         * WebCoreSources.bkl:
2512         * dom/CrossThreadCopier.h:
2513         * dom/GenericWorkerTask.h:
2514         * dom/WorkerThread.cpp:
2515         * loader/ThreadableLoader.cpp:
2516         (WebCore::ThreadableLoader::create):
2517         * loader/ThreadableLoaderClient.h:
2518         (WebCore::ThreadableLoaderClient::didFinishLoading):
2519         * loader/ThreadableLoaderClientWrapper.h: Added.
2520         (WebCore::ThreadableLoaderClientWrapper::create):
2521         (WebCore::ThreadableLoaderClientWrapper::clearClient):
2522         (WebCore::ThreadableLoaderClientWrapper::didSendData):
2523         (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
2524         (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
2525         (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
2526         (WebCore::ThreadableLoaderClientWrapper::didFail):
2527         (WebCore::ThreadableLoaderClientWrapper::didGetCancelled):
2528         (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
2529         (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
2530         * loader/WorkerThreadableLoader.cpp: Added.
2531         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2532         (WebCore::WorkerThreadableLoader::~WorkerThreadableLoader):
2533         (WebCore::WorkerThreadableLoader::cancel):
2534         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2535         (WebCore::WorkerThreadableLoader::MainThreadBridge::~MainThreadBridge):
2536         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2537         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy):
2538         (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
2539         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel):
2540         (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
2541         (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper):
2542         (WebCore::workerContextDidSendData):
2543         (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
2544         (WebCore::workerContextDidReceiveResponse):
2545         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
2546         (WebCore::workerContextDidReceiveData):
2547         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
2548         (WebCore::workerContextDidFinishLoading):
2549         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
2550         (WebCore::workerContextDidFail):
2551         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
2552         (WebCore::workerContextDidGetCancelled):
2553         (WebCore::WorkerThreadableLoader::MainThreadBridge::didGetCancelled):
2554         (WebCore::workerContextDidReceiveAuthenticationCancellation):
2555         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
2556         * loader/WorkerThreadableLoader.h: Added.
2557         (WebCore::WorkerThreadableLoader::create):
2558         (WebCore::WorkerThreadableLoader::refThreadableLoader):
2559         (WebCore::WorkerThreadableLoader::derefThreadableLoader):
2560
2561 2009-02-02  David Levin  <levin@chromium.org>
2562
2563         Reviewed by Alexey Proskuryakov.
2564
2565         Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
2566         <https://bugs.webkit.org/show_bug.cgi?id=23636>
2567
2568         No observable change in behavior, so no test.
2569
2570         * WebCore.xcodeproj/project.pbxproj:
2571         * dom/Worker.cpp:
2572         * dom/Worker.h:
2573         * dom/WorkerContext.cpp:
2574         (WebCore::WorkerContext::addMessage):
2575         (WebCore::WorkerContext::postTask):
2576         (WebCore::WorkerContext::postTaskToWorkerObject):
2577         * dom/WorkerContext.h:
2578         * dom/WorkerMessagingProxy.cpp:
2579         (WebCore::MessageWorkerContextTask::performTask):
2580         (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2581         (WebCore::WorkerMessagingProxy::postTaskToWorkerContext):
2582         Expose postTaskToWorkerContext for use by the worker object thread.
2583
2584         (WebCore::WorkerMessagingProxy::postTaskToWorkerObject):
2585         Change the name of postTaskToParentContext to postTaskToWorkerObject for consistency
2586         with postMessageToWorkerObject.
2587
2588         * dom/WorkerMessagingProxy.h:
2589         * dom/WorkerRunLoop.cpp:
2590         (WebCore::WorkerRunLoop::run):
2591         (WebCore::WorkerRunLoop::postTask):
2592         * dom/WorkerRunLoop.h:
2593         * dom/WorkerTask.cpp: Removed.
2594         * dom/WorkerTask.h: Removed.
2595         Removed WorkerTask and replaced with the existing ScriptExecutionContext::Task.
2596
2597         The resulted in the class going away along with an adapter that made
2598         a ScriptExecutionContext::Task look like a WorkerTask.
2599
2600         * dom/WorkerThread.cpp:
2601         * dom/WorkerThread.h:
2602
2603 2009-02-02  David Levin  <levin@chromium.org>
2604
2605         Reviewed by Alexey Proskuryakov.
2606
2607         Bug 23618: Templated worker tasks should be more error proof to use.
2608         <https://bugs.webkit.org/show_bug.cgi?id=23618>
2609
2610         Add the generic worker tasks templates needed for the WorkerThreadableLoader.
2611
2612         No observable change in behavior, so no test.
2613
2614         * GNUmakefile.am:
2615         * WebCore.pro:
2616         * WebCore.scons:
2617         * WebCore.vcproj/WebCore.vcproj:
2618         * WebCore.xcodeproj/project.pbxproj:
2619         * WebCoreSources.bkl:
2620         * dom/CrossThreadCopier.cpp: Added.
2621         * dom/CrossThreadCopier.h: Added.
2622         (WebCore::CrossThreadCopierPassThrough::copy):
2623         * dom/GenericWorkerTask.h:
2624         Stop doing the WorkerMessagingProxy::askedToTerminate call automatically
2625         in performTask because was not obvious that it would be done and not always needed.
2626
2627         (WebCore::GenericWorkerTask1::create):
2628         (WebCore::GenericWorkerTask1::GenericWorkerTask1):
2629         (WebCore::GenericWorkerTask1::performTask):
2630         (WebCore::GenericWorkerTask2::create):
2631         (WebCore::GenericWorkerTask2::GenericWorkerTask2):
2632         (WebCore::GenericWorkerTask2::performTask):
2633         (WebCore::GenericWorkerTask3::create):
2634         (WebCore::GenericWorkerTask3::GenericWorkerTask3):
2635         (WebCore::GenericWorkerTask3::performTask):
2636         (WebCore::GenericWorkerTask4::create):
2637         (WebCore::GenericWorkerTask4::GenericWorkerTask4):
2638         (WebCore::GenericWorkerTask4::performTask):
2639         (WebCore::GenericWorkerTask5::create):
2640         (WebCore::GenericWorkerTask5::GenericWorkerTask5):
2641         (WebCore::GenericWorkerTask5::performTask):
2642         (WebCore::GenericWorkerTask6::create):
2643         (WebCore::GenericWorkerTask6::GenericWorkerTask6):
2644         (WebCore::GenericWorkerTask6::performTask):
2645         (WebCore::GenericWorkerTask7::create):
2646         (WebCore::GenericWorkerTask7::GenericWorkerTask7):
2647         (WebCore::GenericWorkerTask7::performTask):
2648         (WebCore::createCallbackTask):
2649         * dom/WorkerContext.cpp:
2650         (WebCore::addMessageTask):
2651         (WebCore::WorkerContext::addMessage):
2652         * dom/WorkerMessagingProxy.h:
2653         (WebCore::WorkerMessagingProxy::askedToTerminate):
2654
2655 2009-02-02  Sam Weinig  <sam@webkit.org>
2656
2657         Reviewed by David "The Barnabas Jones" Hyatt.
2658
2659         Move removeChildNode, appendChildNode and insertChildNode from 
2660         RenderContainer into RenderObjectChildList.  Make moveChildNode
2661         static in RenderBlock, as that was the only user.
2662
2663         * rendering/RenderBlock.cpp:
2664         (WebCore::moveChild):
2665         (WebCore::RenderBlock::makeChildrenNonInline):
2666         (WebCore::RenderBlock::removeChild):
2667         (WebCore::RenderBlock::handleRunInChild):
2668         * rendering/RenderContainer.cpp:
2669         (WebCore::RenderContainer::addChild):
2670         (WebCore::RenderContainer::removeChild):
2671         * rendering/RenderContainer.h:
2672         * rendering/RenderInline.cpp:
2673         (WebCore::RenderInline::splitInlines):
2674         (WebCore::RenderInline::splitFlow):
2675         (WebCore::RenderInline::childBecameNonInline):
2676         * rendering/RenderObject.cpp:
2677         (WebCore::RenderObject::handleDynamicFloatPositionChange):
2678         * rendering/RenderObject.h:
2679         (WebCore::RenderObject::createsAnonymousWrapper):
2680         * rendering/RenderObjectChildList.cpp:
2681         (WebCore::updateListMarkerNumbers):
2682         (WebCore::RenderObjectChildList::removeChildNode):
2683         (WebCore::RenderObjectChildList::appendChildNode):
2684         (WebCore::RenderObjectChildList::insertChildNode):
2685         * rendering/RenderObjectChildList.h:
2686         * rendering/RenderSVGContainer.cpp:
2687         (WebCore::RenderSVGContainer::addChild):
2688         (WebCore::RenderSVGContainer::removeChild):
2689         * rendering/RenderSVGContainer.h:
2690         * rendering/RenderTable.cpp:
2691         (WebCore::RenderTable::removeChild):
2692         * rendering/RenderTable.h:
2693         * rendering/RenderTableSection.cpp:
2694         (WebCore::RenderTableSection::removeChild):
2695         * rendering/RenderTableSection.h:
2696
2697 2009-02-02  Alexey Proskuryakov  <ap@webkit.org>
2698
2699         Reviewed by Darin Alder.
2700
2701         https://bugs.webkit.org/show_bug.cgi?id=23697
2702         Leaks seen on Worker tests
2703
2704         * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
2705         Zero out m_workerThread, so that the proxy could be deleted once workerObjectDestroyed()
2706         is called.
2707
2708 2009-02-02  David Hyatt  <hyatt@apple.com>
2709
2710         Move positionForCoordinates up from RenderContainer into RenderBox.
2711
2712         Reviewed by Sam Weinig
2713
2714         * rendering/RenderBox.cpp:
2715         (WebCore::RenderBox::positionForCoordinates):
2716         * rendering/RenderBox.h:
2717         * rendering/RenderContainer.cpp:
2718         * rendering/RenderContainer.h:
2719
2720 2009-02-02  Hiroaki Nakamura <hnakamur@gmail.com>
2721
2722         Reviewed by Adam Roben.
2723
2724         Fixes https://bugs.webkit.org/show_bug.cgi?id=15813
2725         Modify pre-build step to properly handle the errorlevel
2726         shell command.
2727
2728         * WebCore.vcproj/WebCore.vcproj: Change errorlevel handling
2729         for all targets so prefast is only enabled in builds
2730         where /analyze is available.
2731
2732 2009-02-02  David Hyatt  <hyatt@apple.com>
2733
2734         Refactor the handling of before/after content and generated content.  Move most of the functions from
2735         RenderContainer into RenderObjectChildList.
2736
2737         Reviewed by Sam Weinig
2738
2739         * rendering/RenderBlock.cpp:
2740         (WebCore::RenderBlock::updateBeforeAfterContent):
2741         * rendering/RenderBlock.h:
2742         * rendering/RenderBox.cpp:
2743         (WebCore::RenderBox::isAfterContent):
2744         * rendering/RenderBox.h:
2745         * rendering/RenderButton.cpp:
2746         (WebCore::RenderButton::updateBeforeAfterContent):
2747         * rendering/RenderContainer.cpp:
2748         * rendering/RenderContainer.h:
2749         * rendering/RenderCounter.cpp:
2750         (WebCore::destroyCounterNodeChildren):
2751         * rendering/RenderInline.cpp:
2752         (WebCore::RenderInline::styleDidChange):
2753         (WebCore::RenderInline::addChildIgnoringContinuation):
2754         (WebCore::RenderInline::splitInlines):
2755         * rendering/RenderObject.h:
2756         * rendering/RenderObjectChildList.cpp:
2757         (WebCore::beforeAfterContainer):
2758         (WebCore::findBeforeAfterParent):
2759         (WebCore::invalidateCountersInContainer):
2760         (WebCore::RenderObjectChildList::invalidateCounters):
2761         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2762         * rendering/RenderObjectChildList.h:
2763
2764 2009-02-02  Dmitry Titov  <dimich@chromium.org>
2765
2766         Reviewed by Darin Adler.
2767
2768         https://bugs.webkit.org/show_bug.cgi?id=23661
2769         Fix Chromium build.
2770
2771         * history/HistoryItem.h: need to include <wtf/OwnPtr.h>
2772
2773         * rendering/RenderThemeChromiumMac.mm:
2774         (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): isEnabled() is now on FormControlElement.
2775
2776 2009-02-02  Geoffrey Garen  <ggaren@apple.com>
2777
2778         Build fix.
2779
2780         * plugins/PluginView.cpp:
2781         (WebCore::PluginView::performRequest):
2782
2783 2009-02-02  Geoffrey Garen  <ggaren@apple.com>
2784
2785         Build fix.
2786
2787         * WebCore.base.exp:
2788
2789 2009-02-02  Geoffrey Garen  <ggaren@apple.com>
2790
2791         Reviewed by Sam Weinig.
2792
2793         Track redirects in global history.
2794
2795         * WebCore.base.exp: Renamed some exports.
2796         
2797         * bindings/js/JSDOMWindowBase.cpp:
2798         (WebCore::createWindow):
2799         (windowProtoFuncOpen):
2800         * bindings/js/JSDOMWindowCustom.cpp:
2801         (WebCore::JSDOMWindow::setLocation):
2802         * bindings/js/JSDocumentCustom.cpp:
2803         (WebCore::JSDocument::setLocation):
2804         * bindings/js/JSHTMLFormElementCustom.cpp:
2805         (WebCore::JSHTMLFormElement::submit):
2806         * bindings/js/JSLocationCustom.cpp:
2807         (WebCore::JSLocation::setHref):
2808         (WebCore::JSLocation::setProtocol):
2809         (WebCore::JSLocation::setHost):
2810         (WebCore::JSLocation::setHostname):
2811         (WebCore::JSLocation::setPort):
2812         (WebCore::JSLocation::setPathname):
2813         (WebCore::JSLocation::setSearch):
2814         (WebCore::JSLocation::setHash):
2815         (WebCore::JSLocation::assign): Treat any navigation that is not initiated
2816         by the user as a redirect from the perspective of global history.
2817
2818         * history/HistoryItem.cpp:
2819         (WebCore::HistoryItem::addRedirectURL): Store the last URL in the redirect
2820         chain.
2821
2822         * loader/DocumentLoader.cpp:
2823         (WebCore::DocumentLoader::DocumentLoader):
2824         * loader/DocumentLoader.h:
2825         (WebCore::DocumentLoader::urlForHistoryReflectsServerRedirect):
2826         (WebCore::DocumentLoader::urlForHistoryReflectsClientRedirect):
2827         (WebCore::DocumentLoader::setURLForHistoryReflectsClientRedirect): Sadly,
2828         added yet another way to track redirect state during loading, since none
2829         of the others did what I wanted, and I didn't want to cause behavior
2830         changes in existing code.
2831
2832         * loader/EmptyClients.h:
2833         (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem):
2834         Stubbed out a client function to keep things building.
2835         
2836         * loader/FrameLoader.cpp:
2837         (WebCore::isBackForwardLoadType):
2838         (WebCore::FrameLoader::restoreDocumentState): Renamed FrameLoadTypeRedirect =>
2839         FrameLoadTypeRedirectWithLockedBackForwardList, to distinguish from all
2840         the other meanings of "redirect" in the loading code.
2841
2842         (WebCore::FrameLoader::scheduleHTTPRedirection): Treat any HTTP refresh
2843         redirect as a redirect from the perspective of global history.
2844
2845         (WebCore::FrameLoader::loadURLIntoChildFrame): Updated for rename and extra
2846         parameter.
2847
2848         (WebCore::FrameLoader::startRedirectionTimer): Removed unused parameter.
2849
2850         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
2851         (WebCore::FrameLoader::loadURL):
2852         (WebCore::FrameLoader::load): Updated for rename and extra parameter.
2853
2854         (WebCore::FrameLoader::loadWithNavigationAction): Track redirect status
2855         in the DocumentLoader, so it's accessible to WebKit's global history code.
2856
2857         (WebCore::FrameLoader::clientRedirected): Ignore lockHistory, since it
2858         only has meaning to global history, and m_quickRedirectComing pertains
2859         to other kinds of history.
2860
2861         (WebCore::FrameLoader::loadPostRequest):
2862         (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
2863         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2864         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
2865         (WebCore::FrameLoader::loadItem): Updated for extra parameter and rename.
2866         
2867         (WebCore::FrameLoader::updateHistory*): Notify WebKit about redirect
2868         navigations even if they don't create new history items, so we can track
2869         the redirect in the existing history item.
2870
2871         * loader/FrameLoader.h: See above.
2872         
2873         * loader/FrameLoaderClient.h: New client interface used by
2874         FrameLoader::updateHistory* to record a redirect even if it doesn't create
2875         a new history item of its own.
2876
2877         * loader/FrameLoaderTypes.h: See above.
2878         (WebCore::):
2879
2880         * page/DragController.cpp:
2881         (WebCore::DragController::performDrag):
2882         * svg/graphics/SVGImage.cpp:
2883         (WebCore::SVGImage::dataChanged): Updated for extra parameter.
2884
2885 2009-02-02  David Hyatt  <hyatt@apple.com>
2886
2887         Make calcPrefWidths non-abstract on RenderBox and just give it RenderContainer's implementation.
2888         Remove RenderSVGContainer's implementation, since it was never called.
2889
2890         Reviewed by Beth Dakin
2891
2892         * rendering/RenderBox.cpp:
2893         (WebCore::RenderBox::minPrefWidth):
2894         * rendering/RenderBox.h:
2895         (WebCore::RenderBox::calcPrefWidths):
2896         * rendering/RenderContainer.h:
2897         (WebCore::RenderContainer::moveChildNode):
2898         * rendering/RenderSVGContainer.h:
2899
2900 2009-02-02  Anders Carlsson  <andersca@apple.com>
2901
2902         Reviewed by Sam Weinig.
2903
2904         Add jsObjectForPluginElement to ScriptController, and have createScriptObjectForPluginElement call it.
2905         
2906         * WebCore.LP64.exp:
2907         * bindings/js/ScriptController.cpp:
2908         (WebCore::ScriptController::createScriptObjectForPluginElement):
2909         (WebCore::ScriptController::jsObjectForPluginElement):
2910         * bindings/js/ScriptController.h:
2911
2912 2009-02-02  Darin Fisher  <darin@chromium.org>
2913
2914         Reviewed by Eric Seidel (and Ojan Vafai).
2915
2916         https://bugs.webkit.org/show_bug.cgi?id=23696
2917         Select element doesn't show new value when focus is switched in
2918         onchange event.
2919
2920         Fix PopupMenuChromium to hide itself before calling valueChanged.  This
2921         better matches the behavior of the other ports.
2922
2923         * platform/chromium/PopupMenuChromium.cpp:
2924         (WebCore::PopupListBox::create):
2925         (WebCore::PopupContainer::PopupContainer):
2926         (WebCore::PopupContainer::showPopup):
2927         (WebCore::PopupContainer::hidePopup):
2928         (WebCore::PopupListBox::abandon):
2929         (WebCore::PopupListBox::acceptIndex):
2930         (WebCore::PopupMenu::show):
2931         (WebCore::PopupMenu::hide):
2932
2933 2009-02-02  David Hyatt  <hyatt@apple.com>
2934
2935         Make sure scrollWidth/Height just return 0 for inline flows.
2936
2937         Reviewed by Beth Dakin
2938
2939         * rendering/RenderBox.cpp:
2940         (WebCore::RenderBox::scrollWidth):
2941         (WebCore::RenderBox::scrollHeight):
2942
2943 2009-02-02  Darin Adler  <darin@apple.com>
2944
2945         Reviewed by Dave Hyatt.
2946
2947         Bug 23676: Speed up uses of reserveCapacity on new vectors by adding a new reserveInitialCapacity
2948         https://bugs.webkit.org/show_bug.cgi?id=23676
2949
2950         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2951         (WebCore::cssPropertyName):
2952         * css/CSSMutableStyleDeclaration.cpp:
2953         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2954         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
2955         * css/CSSPrimitiveValue.cpp:
2956         (WebCore::CSSPrimitiveValue::cssText):
2957         * css/CSSStyleDeclaration.cpp:
2958         (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
2959         * css/CSSStyleSelector.cpp:
2960         (WebCore::CSSStyleSelector::sortMatchedRules):
2961         * dom/Document.cpp:
2962         (WebCore::Document::formElementsState):
2963         * dom/NamedAttrMap.h:
2964         (WebCore::NamedAttrMap::reserveInitialCapacity):
2965         * editing/TextIterator.cpp:
2966         (WebCore::CharacterIterator::string):
2967         (WebCore::SearchBuffer::SearchBuffer):
2968         (WebCore::plainTextToMallocAllocatedBuffer):
2969         * editing/markup.cpp:
2970         (WebCore::joinMarkups):
2971         * history/HistoryItem.cpp:
2972         (WebCore::HistoryItem::HistoryItem):
2973         * html/HTMLTokenizer.cpp:
2974         (WebCore::Token::addAttribute):
2975         * loader/appcache/DOMApplicationCache.cpp:
2976         (WebCore::DOMApplicationCache::items):
2977         * page/SecurityOrigin.cpp:
2978         (WebCore::SecurityOrigin::toString):
2979         * page/mac/AccessibilityObjectWrapper.mm:
2980         (convertToVector):
2981         * platform/graphics/FontCache.cpp:
2982         (WebCore::FontCache::purgeInactiveFontData):
2983         (WebCore::FontCache::invalidate):
2984         * platform/network/FormData.cpp:
2985         (WebCore::FormData::deepCopy):
2986         * platform/network/HTTPHeaderMap.cpp:
2987         (WebCore::HTTPHeaderMap::copyData):
2988         * platform/network/ResourceRequestBase.cpp:
2989         (WebCore::ResourceRequestBase::copyData):
2990         * platform/network/mac/FormDataStreamMac.mm:
2991         (WebCore::formCreate):
2992         * xml/XPathNodeSet.cpp:
2993         (WebCore::XPath::NodeSet::sort):
2994         Use reserveInitialCapacity instead of of reserveCapacity in all these call sites,
2995         which are working on new vectors that are guaranteed not to be empty.
2996
2997 2009-02-26  Jon Honeycutt  <jhoneycutt@apple.com>
2998
2999         Build fix after r40486.
3000
3001         Rubber-stamped by Ada Chan.
3002
3003         * dom/Document.h: Chnaged HitTestRequest to a class from a struct.
3004         * page/EventHandler.h: Ditto.
3005         * rendering/EllipsisBox.h: Ditto.
3006         * rendering/InlineBox.h: Ditto.
3007         * rendering/InlineFlowBox.h: Ditto.
3008         * rendering/RenderLayer.h: Ditto.
3009
3010 2009-02-02  Darin Adler  <darin@apple.com>
3011
3012         Reviewed by Anders Carlsson.
3013
3014         Bug 23694: REGRESSION: Running svg/custom tests crashes, randomly, depending on the order of tests
3015         https://bugs.webkit.org/show_bug.cgi?id=23694
3016
3017         * dom/ContainerNode.cpp:
3018         (WebCore::ContainerNode::insertedIntoDocument): Added back the call through to EventTargetNode.
3019         (WebCore::ContainerNode::removedFromDocument): Ditto.
3020         * dom/EventTargetNode.cpp:
3021         (WebCore::EventTargetNode::insertedIntoDocument): Changed this to not call through to Node.
3022         (WebCore::EventTargetNode::removedFromDocument): Ditto.
3023         * dom/Node.cpp:
3024         (WebCore::Node::insertedIntoDocument): Updated comment.
3025         (WebCore::Node::removedFromDocument): Ditto.
3026
3027 2009-02-02  Anders Carlsson  <andersca@apple.com>
3028
3029         Reviewed by Dan Bernstein.
3030
3031         More plug-in cleanup.
3032         
3033         * WebCore.NPAPI.exp:
3034         Add new symbols.
3035         
3036         * bindings/objc/DOM.mm:
3037         * bindings/objc/DOMPrivate.h:
3038         Remove methods that WebKit doesn't use anymore.
3039
3040 2009-02-02  Jay Campan  <jcampan@chromium.org>
3041
3042         Reviewed by Eric Seidel.
3043
3044         Clean up PopupMenuChromium a little.
3045         https://bugs.webkit.org/show_bug.cgi?id=23653
3046
3047         No functional changes, only code cleanup, thus no tests.
3048
3049         * platform/chromium/PopupMenuChromium.cpp:
3050         (WebCore::):
3051         (WebCore::PopupListBox::PopupListBox):
3052         (WebCore::PopupContainer::create):
3053         (WebCore::PopupContainer::PopupContainer):
3054         (WebCore::PopupContainer::showPopup):
3055         (WebCore::PopupListBox::handleKeyEvent):
3056         (WebCore::PopupListBox::isSelectableItem):
3057         (WebCore::PopupListBox::selectNextRow):
3058         (WebCore::PopupListBox::selectPreviousRow):
3059         (WebCore::PopupMenu::show):
3060         * platform/chromium/PopupMenuChromium.h:
3061
3062 2009-02-02  Anders Carlsson  <andersca@apple.com>
3063
3064         Reviewed by Dan Bernstein.
3065
3066         Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement.
3067         
3068         * WebCore.xcodeproj/project.pbxproj:
3069         * loader/EmptyClients.h:
3070         (WebCore::EmptyFrameLoaderClient::createPlugin):
3071         (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
3072         * loader/FrameLoader.cpp:
3073         (WebCore::toPlugInElement):
3074         (WebCore::FrameLoader::loadPlugin):
3075         (WebCore::FrameLoader::loadItem):
3076         * loader/FrameLoader.h:
3077         * loader/FrameLoaderClient.h:
3078
3079 2009-02-02  Genevieve Mak  <gen@staikos.net>
3080
3081         Reviewed by George Staikos.
3082
3083         https://bugs.webkit.org/show_bug.cgi?id=23508
3084         Returns Blank Page for all "about" protocols
3085
3086         * loader/MainResourceLoader.cpp:
3087         Fix shouldLoadAsEmptyDocument() to return a blank page for an empty
3088         url or about:blank only (for now, exclusively for Torch Mobile platform).
3089
3090 2009-02-02  Brent Fulgham  <bfulgham@webkit.org>
3091
3092         Reviewed by George Staikos.
3093
3094         Fixes https://bugs.webkit.org/show_bug.cgi?id=23691.
3095         Correct build break caused by @r40366 by moving the
3096         common code implmentations from GraphicsContextCGWin.cpp
3097         into the base Windows class (GraphicsContextWin.cpp).  Also
3098         move inTransparencyLayer since it is identical in both
3099         children.
3100
3101         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3102           Added member m_shouldIncludeChildWindows to Windows version,
3103           similar to GraphicsContextPlatformPrivateCG.h.
3104         * platform/graphics/win/GraphicsContextCGWin.cpp: Remove the
3105           implementations of shouldIncludeChildWindows,
3106           setShouldIncludeChildWindows, and inTransparencyLayer.
3107         * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
3108           the implementation of inTransparencyLayer.
3109         * platform/graphics/win/GraphicsContextWin.cpp: Move common code
3110           from GraphicsContextCGWin.cpp and GraphicsContextCairoWin.cpp. 
3111         (WebCore::GraphicsContext::inTransparencyLayer):
3112         (WebCore::GraphicsContext::setShouldIncludeChildWindows):
3113         (WebCore::GraphicsContext::shouldIncludeChildWindows):
3114
3115 2009-02-02  Darin Adler  <darin@apple.com>
3116
3117         Try to fix Wx build, and maybe Chromium build too.
3118
3119         * WebCore.scons: Added IdentifierRep.cpp.
3120         * WebCoreSources.bkl: Ditto.
3121
3122 2009-02-02  Darin Adler  <darin@apple.com>
3123
3124         Try to fix Wx build.
3125
3126         * html/HTMLAreaElement.cpp: Added missing include of "Path.h".
3127
3128 2009-02-02  Adam Treat  <adam.treat@torchmobile.com>
3129
3130         Reviewed by Nikolas Zimmermann.
3131
3132         https://bugs.webkit.org/show_bug.cgi?id=23587
3133         Refactor HitTestRequest to eliminate all the ugly boolean arguments and
3134         use an enum bitflag instead.  Cleanup all the code that constructs the
3135         various HitTestRequests to make the code more readable.
3136
3137         * dom/Document.cpp:
3138         (WebCore::Document::elementFromPoint):
3139         (WebCore::Document::prepareMouseEvent):
3140         * editing/SelectionController.cpp:
3141         (WebCore::SelectionController::contains):
3142         * page/AccessibilityRenderObject.cpp:
3143         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
3144         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
3145         * page/EventHandler.cpp:
3146         (WebCore::EventHandler::eventMayStartDrag):
3147         (WebCore::EventHandler::updateSelectionForMouseDrag):
3148         (WebCore::EventHandler::hitTestResultAtPoint):
3149         (WebCore::EventHandler::handleMousePressEvent):
3150         (WebCore::EventHandler::handleMouseDoubleClickEvent):
3151         (WebCore::EventHandler::handleMouseMoveEvent):
3152         (WebCore::EventHandler::handleMouseReleaseEvent):
3153         (WebCore::EventHandler::updateDragAndDrop):
3154         (WebCore::EventHandler::handleWheelEvent):
3155         (WebCore::EventHandler::sendContextMenuEvent):
3156         (WebCore::EventHandler::hoverTimerFired):
3157         (WebCore::EventHandler::handleDrag):
3158         * page/EventHandler.h:
3159         * rendering/HitTestRequest.h:
3160         (WebCore::HitTestRequest::):
3161         (WebCore::HitTestRequest::HitTestRequest):
3162         (WebCore::HitTestRequest::readOnly):
3163         (WebCore::HitTestRequest::active):
3164         (WebCore::HitTestRequest::mouseMove):
3165         (WebCore::HitTestRequest::mouseUp):
3166         (WebCore::HitTestRequest::ignoreClipping):
3167         * rendering/RenderFrameSet.cpp:
3168         (WebCore::RenderFrameSet::nodeAtPoint):
3169         * rendering/RenderLayer.cpp:
3170         (WebCore::RenderLayer::hitTest):
3171         (WebCore::RenderLayer::hitTestLayer):
3172         (WebCore::RenderLayer::updateHoverActiveState):
3173
3174 2009-02-02  George Staikos  <george.staikos@torchmobile.com>
3175
3176         Reviewed by Niko Zimmermann.
3177
3178         Fix WML build by including the inlined renderStyle().
3179
3180         * wml/WMLOptGroupElement.cpp:
3181         * wml/WMLOptionElement.cpp:
3182
3183 2009-02-02  Darin Adler  <darin@apple.com>
3184
3185         Reviewed by Niko Zimmermann.
3186
3187         Bug 23686: REGRESSION (r40475): Failure in fast/xpath/4XPath/Core/test_core_functions.html
3188         https://bugs.webkit.org/show_bug.cgi?id=23686
3189         rdar://problem/6547971
3190
3191         Also fix other XPath tests that are crashing.
3192
3193         * xml/XPathFunctions.cpp:
3194         (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName.
3195         * xml/XPathStep.cpp:
3196         (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we
3197         need to make Attr nodes here. Yuck!
3198
3199 2009-02-02  Yichao Yin  <yichao.yin@torchmobile.com.cn>
3200
3201         Reviewed by Niko Zimmermann.
3202
3203         Test: wml/input-format.html
3204
3205         * wml/WMLInputElement.cpp:
3206         (WebCore::WMLInputElement::WMLInputElement):
3207         (WebCore::formatCodes):
3208         (WebCore::WMLInputElement::dispatchBlurEvent):
3209         (WebCore::WMLInputElement::parseMappedAttribute):
3210         (WebCore::WMLInputElement::attach):
3211         (WebCore::WMLInputElement::defaultEventHandler):
3212         (WebCore::WMLInputElement::init):
3213         (WebCore::WMLInputElement::validateInputMask):
3214         (WebCore::WMLInputElement::isConformedToInputMask):
3215         (WebCore::WMLInputElement::cursorPositionToMaskIndex):
3216         * wml/WMLInputElement.h:
3217
3218 2009-02-02  Brent Fulgham  <bfulgham@webkit.org>
3219
3220         Build fix only, no review.
3221
3222         Fixes https://bugs.webkit.org/show_bug.cgi?id=23685.
3223         Correct build break caused by @r40473.
3224
3225         * page/win/FrameWin.cpp: Correct access for adjustPageHeight.
3226         (WebCore::computePageRectsForFrame):
3227
3228 2009-02-02  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3229
3230         Not reviewed. Fix WML enabled builds.
3231         FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does.
3232
3233         * wml/WMLAElement.cpp:
3234         (WebCore::WMLAElement::defaultEventHandler):
3235
3236 2009-02-02  Alexey Proskuryakov  <ap@webkit.org>
3237
3238         Reviewed by Darin Adler.
3239
3240         <rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server
3241
3242         Not easily testable.
3243
3244         * loader/appcache/ApplicationCacheGroup.cpp:
3245         (WebCore::ApplicationCacheGroup::createResourceHandle): A new method that creates a resource
3246         handle in a manner that is closer to what CachedResource does. We now make conditional
3247         requests for better performance, and set max-age to ensure that stale responses are not used.
3248         (WebCore::ApplicationCacheGroup::update): Use the new createResourceHandle() method.
3249         (WebCore::ApplicationCacheGroup::didReceiveResponse): If the response code for the resource
3250         is 304, take it from the newest cache.
3251         (WebCore::ApplicationCacheGroup::didFail): Pre-compute request URL.
3252         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Don't create a resource for
3253         the manifest if the response code was 304 - it won't be needed.
3254         (WebCore::ApplicationCacheGroup::didReceiveManifestData): Replaced an assertion that
3255         m_manifestResource is not null with a check.
3256         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Treat null m_manifestResource as
3257         an indication that the response was 304.
3258         (WebCore::ApplicationCacheGroup::startLoadingEntry): Use createResourceHandle().
3259
3260         * loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle().
3261
3262 2009-02-01  Darin Adler  <darin@apple.com>
3263
3264         Reviewed by Dave Hyatt.
3265
3266         Bug 23674: Speed up some things based on profiling the page load test
3267         https://bugs.webkit.org/show_bug.cgi?id=23674
3268
3269         * css/CSSStyleSelector.cpp:
3270         (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the newly named cssTarget instead
3271         of the old name, getCSSTarget.
3272         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
3273
3274         * dom/ContainerNode.cpp:
3275         (WebCore::ContainerNode::insertedIntoDocument): Moved code from Node in here rather than
3276         calling through to EventTargetNode::insertedIntoDocument.
3277         (WebCore::ContainerNode::removedFromDocument): Ditto.
3278         (WebCore::ContainerNode::insertedIntoTree): Tweaked a bit.
3279         (WebCore::ContainerNode::removedFromTree): Ditto.
3280
3281         * dom/ContainerNode.h: Moved the constructor definition here and made it inline.
3282
3283         * dom/Document.cpp:
3284         (WebCore::Document::removeAllEventListenersFromAllNodes): Iterate the document element and
3285         its contents only to avoid the document type node. This allows us to remove the virtual
3286         function call to isEventTargetNode from the loop.
3287         (WebCore::Document::setCSSTarget): Changed argument to be an Element rather than Node.
3288
3289         * dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed
3290         getCSSTarget to cssTarget.
3291
3292         * dom/EventTargetNode.cpp:
3293         (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the
3294         rare data check into an assertion.
3295
3296         * dom/EventTargetNode.h: Made the fast case of removeAllEventListeners be inline.
3297         Also moved the constructor definition here and made it inline. And added toEventTargetNode,
3298         matching the design of the render tree checked casts. Later we can migrate all callers
3299         from EventTargetNodeCast to toEventTargetNode.
3300
3301         * dom/NamedAttrMap.cpp:
3302         (WebCore::NamedAttrMap::detachAttributesFromElement): Added. Factored out from
3303         clearAttributes, so we could use this loop in cases where we're not clearing the attributes.
3304         (WebCore::NamedAttrMap::~NamedAttrMap): Call detachAttributesFromElement instead of
3305         clearAttributes here.
3306         (WebCore::NamedAttrMap::clearAttributes): Call detachAttributesFromElement here.
3307         (WebCore::NamedAttrMap::detachFromElement): Call detachAttributesFromElement instead of
3308         clearAttributes. We don't need to clear the attributes array just because the element is
3309         going away, so don't.
3310         (WebCore::NamedAttrMap::virtualLength): Added.
3311
3312         * dom/NamedAttrMap.h: Made all the virtual functions inherited from NamedNodeMap be private.
3313         These are all unnecessarily inefficient for use outside the DOM. Changed length to be a
3314         non-virtual function. This was a fairly hot function.
3315
3316         * dom/NamedMappedAttrMap.cpp:
3317         (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the
3318         m_element data member is private.
3319
3320         * dom/NamedMappedAttrMap.h: Made a few functions private. Made the
3321         hasMappedAttributes function non-virtual.
3322
3323         * dom/NamedNodeMap.h: Made length a non-virtual inline function that calls a virtual
3324         function, name virtualLength. This lets NamedAttrMap::length be a non-virtual function.
3325
3326         * dom/Node.cpp:
3327         (WebCore::Node::insertedIntoDocument): Removed call to insertedIntoTree, since it's
3328         only non-empty in subclasses of ContainerNode.
3329         (WebCore::Node::removedFromDocument): Ditto. Also removed setCSSTarget. Since a CSS
3330         target has to be an Element, this can be moved down to ContainerNode (or it could be
3331         moved down to Element for that matter).
3332
3333         * dom/QualifiedName.cpp:
3334         (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl.
3335
3336         * dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and
3337         setPrefix function definitions into the header and made them inline.
3338
3339         * html/HTMLAreaElement.cpp:
3340         (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now
3341         an OwnPtr.
3342         (WebCore::HTMLAreaElement::accessKey): Use AtomicString.
3343         (WebCore::HTMLAreaElement::setAccessKey): Ditto.
3344         (WebCore::HTMLAreaElement::alt): Ditto.
3345         (WebCore::HTMLAreaElement::setAlt): Ditto.
3346         (WebCore::HTMLAreaElement::coords): Ditto.
3347         (WebCore::HTMLAreaElement::setCoords): Ditto.
3348         (WebCore::HTMLAreaElement::setHref): Ditto.
3349         (WebCore::HTMLAreaElement::shape): Ditto.
3350         (WebCore::HTMLAreaElement::setShape): Ditto.
3351         (WebCore::HTMLAreaElement::setTarget): Ditto.
3352
3353         * html/HTMLAreaElement.h: Use AtomicString in the getter and setter DOM operations.
3354         Change the region data member to be an OwnPtr<Path> instead of a Path to optimize
3355         the common case where an area element is parsed but never hit-tested. This could
3356         also have been done by changing the Path class's null case to be more efficient,
3357         but this seems fine.
3358
3359         * html/HTMLViewSourceDocument.cpp:
3360         (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead
3361         of insertAttribute.
3362         (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto.
3363         (WebCore::HTMLViewSourceDocument::addLine): Ditto.
3364         (WebCore::HTMLViewSourceDocument::addLink): Ditto.
3365
3366         * loader/FrameLoader.cpp:
3367         (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead
3368         of its old name getCSSTarget.
3369
3370         * platform/graphics/GlyphWidthMap.cpp:
3371         (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage.
3372
3373         * platform/graphics/GlyphWidthMap.h: Made most of this class inline.
3374         Changed m_pages to use OwnPtr.
3375
3376         * platform/text/PlatformString.h: Remove include no longer needed since
3377         StringImpl.h includes it.
3378
3379         * platform/text/StringImpl.cpp:
3380         (WebCore::StringImpl::createStrippingNullCharactersSlowCase): Refactored
3381         from createStrippingNullCharacters.
3382         * platform/text/StringImpl.h: Moved the definition of
3383         createStrippingNullCharacters here and made it inline.
3384
3385         * rendering/RenderObject.cpp:
3386         (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from
3387         firstLineStyle.
3388
3389         * rendering/RenderObject.h: Moved the definition of the firstLineStyle
3390         function here and made it inline. Moved the definition of the
3391         documentBeingDestroyed function here and made it inline.
3392
3393         * svg/SVGSVGElement.cpp:
3394         (WebCore::SVGSVGElement::getCTM): Use getAttributeItem instead of
3395         getNamedItem here since it accomplishes the same thing but is more efficient.
3396         (WebCore::SVGSVGElement::getScreenCTM): Ditto.
3397         * svg/SVGStyledElement.cpp:
3398         (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
3399
3400         * xml/XPathFunctions.cpp:
3401         (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of
3402         getNamedItemNS.
3403
3404         * xml/XPathStep.cpp:
3405         (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here.
3406
3407 2009-02-02  Holger Hans Peter Freyther  <zecke@selfish.org>
3408
3409         Reviewed by Darin Adler.
3410
3411         Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
3412
3413         https://bugs.webkit.org/show_bug.cgi?id=23428
3414
3415         FrameView::forceLayout could be killed but the comment might
3416         contain a value over the the plain FrameView::layout...
3417
3418         Adjust the WebCore/WebKit consumers of these methods.
3419
3420         * WebCore.base.exp:
3421         * page/Frame.cpp:
3422         (WebCore::Frame::setPrinting):
3423         * page/Frame.h:
3424         * page/FrameView.cpp:
3425         (WebCore::FrameView::forceLayout):
3426         (WebCore::FrameView::forceLayoutWithPageWidthRange):
3427         (WebCore::FrameView::adjustPageHeight):
3428         * page/FrameView.h:
3429         * page/PrintContext.cpp:
3430         (WebCore::PrintContext::computePageRects):
3431
3432 2009-02-01  Dan Bernstein  <mitz@apple.com>
3433
3434         Reviewed by John Sullivan.
3435
3436         - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il
3437
3438         Fixes http/tests/navigation/multiple-back-forward-entries.html
3439
3440         r40432 added a parameter to FrameLoader::scheduleLocationChange() and
3441         failed to update all call sites.
3442
3443         * bindings/js/JSDOMWindowBase.cpp:
3444         (WebCore::createWindow): Pass the lockBackForwardHistory parameter,
3445         giving it the same value as the lockHistory parameter.
3446         (windowProtoFuncOpen): Ditto.
3447         * bindings/js/JSDOMWindowCustom.cpp:
3448         (WebCore::JSDOMWindow::setLocation): Ditto.
3449         * bindings/js/JSDocumentCustom.cpp:
3450         (WebCore::JSDocument::setLocation): Ditto.
3451         * loader/FrameLoader.cpp:
3452         (WebCore::FrameLoader::requestFrame): Ditto.
3453
3454 2009-01-31  Dan Bernstein  <mitz@apple.com>
3455
3456         Reviewed by Oliver Hunt.
3457
3458         - fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak()
3459
3460         On the PLT, this results in 0.36x the number of virtual function calls
3461         to RenderText::width() and 0.69x the number of calls to
3462         Font::isFixedPitch(), but makes 1.0004x the number of calls to
3463         Font::width().
3464
3465         * rendering/RenderText.cpp:
3466         (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len'
3467         with an assertion.
3468         * rendering/bidi.cpp:
3469         (WebCore::textWidth): Added this inlined helper function which calls
3470         Font::width() directly in the non-fixed-pitch, non-full-range case, and
3471         otherwise calls RenderText::width().
3472         (WebCore::RenderBlock::findNextLineBreak): Cache whether the font has
3473         fixed pitch (in which case RenderText::width() will be called in order
3474         to take advantage of the widthFromCache() optimization for fixed-pitch
3475         fonts). Replaced all calls to RenderText::width() with calls to the
3476         textWidth() helper function.
3477
3478 2009-01-31  David Hyatt  <hyatt@apple.com>
3479
3480         Inline all of the setNeedsLayout method and its associated functions.  Also inline setChildNeedsLayout
3481         and setNeedsPositionedMovementLayout.
3482
3483         Reviewed by Dan Bernstein
3484
3485         * rendering/RenderObject.cpp:
3486         (WebCore::RenderObject::setLayerNeedsFullRepaint):
3487         * rendering/RenderObject.h:
3488         (WebCore::RenderObject::setNeedsLayout):
3489         (WebCore::RenderObject::setChildNeedsLayout):
3490         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
3491         (WebCore::objectIsRelayoutBoundary):
3492         (WebCore::RenderObject::markContainingBlocksForLayout):
3493
3494 2009-01-31  Darin Adler  <darin@apple.com>
3495
3496         Fix Mac build.
3497
3498         * loader/FrameLoader.cpp: Moved FrameLoaderClient::hasHTMLView in here.
3499         We need it to not be an inline. Sadly, FrameLoaderClient.cpp was prematurely
3500         deleted and I don't want to bring it back just to fix the build.
3501
3502         * loader/FrameLoaderClient.h: Rearrange virtual functions and corrected
3503         a possibly-confusing comment.
3504
3505 2009-01-31  Adam Treat  <adam.treat@torchmobile.com>
3506
3507         Reviewed by David Hyatt.
3508
3509         https://bugs.webkit.org/show_bug.cgi?id=23664
3510         Remove unused dead code from RenderTable class.  The dead code includes
3511         two enums and the associated member variables as well as one getter function.
3512
3513         * rendering/RenderTable.cpp:
3514         (WebCore::RenderTable::RenderTable):
3515         * rendering/RenderTable.h:
3516
3517 2009-01-31  David Hyatt  <hyatt@apple.com>
3518
3519         More removal of code from RenderContainer.  Move removeLeftoverAnonymousBlock down into RenderBlock.
3520         Move destroyLeftoverChildren into the RenderObjectChildList.  Convert all containers to use the
3521         RenderObjectChildList.
3522
3523         Reviewed by Sam Weinig
3524
3525         * WebCore.xcodeproj/project.pbxproj:
3526         * rendering/RenderBlock.cpp:
3527         (WebCore::RenderBlock::destroy):
3528         (WebCore::RenderBlock::addChild):
3529         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
3530         (WebCore::RenderBlock::layoutPositionedObjects):
3531         (WebCore::RenderBlock::childBecameNonInline):
3532         * rendering/RenderBlock.h:
3533         * rendering/RenderBox.cpp:
3534         (WebCore::RenderBox::layout):
3535         * rendering/RenderBox.h:
3536         (WebCore::RenderBox::firstChildBox):
3537         (WebCore::RenderBox::lastChildBox):
3538         * rendering/RenderContainer.cpp:
3539         (WebCore::RenderContainer::addChild):
3540         (WebCore::RenderContainer::removeChildNode):
3541         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3542         (WebCore::RenderContainer::appendChildNode):
3543         (WebCore::RenderContainer::insertChildNode):
3544         (WebCore::RenderContainer::positionForCoordinates):
3545         (WebCore::RenderContainer::addLineBoxRects):
3546         (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
3547         * rendering/RenderContainer.h:
3548         (WebCore::RenderContainer::virtualChildren):
3549         (WebCore::RenderContainer::children):
3550         * rendering/RenderInline.cpp:
3551         (WebCore::RenderInline::destroy):
3552         * rendering/RenderInline.h:
3553         (WebCore::RenderInline::layout):
3554         * rendering/RenderMedia.cpp:
3555         (WebCore::RenderMedia::destroy):
3556         (WebCore::RenderMedia::children):
3557         * rendering/RenderMedia.h:
3558         (WebCore::RenderMedia::virtualChildren):
3559         * rendering/RenderObject.cpp:
3560         (WebCore::RenderObject::destroy):
3561         (WebCore::RenderObject::layout):
3562         * rendering/RenderObject.h:
3563         (WebCore::RenderObject::firstChild):
3564         (WebCore::RenderObject::lastChild):
3565         (WebCore::RenderObject::virtualChildren):
3566         (WebCore::RenderObject::canHaveChildren):
3567         * rendering/RenderObjectChildList.cpp: Added.
3568         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
3569         * rendering/RenderObjectChildList.h:
3570         * rendering/RenderReplaced.h:
3571         (WebCore::RenderReplaced::canHaveChildren):
3572         * rendering/RenderSVGContainer.cpp:
3573         (WebCore::RenderSVGContainer::RenderSVGContainer):
3574         (WebCore::RenderSVGContainer::destroy):
3575         (WebCore::RenderSVGContainer::removeChildNode):
3576         (WebCore::RenderSVGContainer::appendChildNode):
3577         (WebCore::RenderSVGContainer::insertChildNode):
3578         * rendering/RenderSVGContainer.h:
3579         (WebCore::RenderSVGContainer::virtualChildren):
3580         (WebCore::RenderSVGContainer::children):
3581
3582 2009-01-31  David Hyatt  <hyatt@apple.com>
3583
3584         Fix for https://bugs.webkit.org/show_bug.cgi?id=11363
3585         
3586         Remove the hacks in table code around the DeleteButtonController and fix tables so that positioned children don't get wrapped in anonymous objects.
3587         With the removal of a non-positioned DeleteButtonController renderer, table layout can be tightened up to only lay out table sections.  Table section
3588         layout is tightened up to ignore non-table rows.  When a table has multiple captions, only the real one will do a layout now.  The other ones will
3589         be properly ignored.
3590
3591         Reviewed by Oliver Hunt
3592
3593         * editing/DeleteButtonController.cpp:
3594         (WebCore::DeleteButtonController::createDeletionUI):
3595         * rendering/RenderTable.cpp: