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