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