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