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