Reviewed by Maciej.
[WebKit-https.git] / WebCore / ChangeLog
1 2007-01-25  Rob Buis  <buis@kde.org>
2
3         Reviewed by Maciej.
4
5         http://bugs.webkit.org/show_bug.cgi?id=12391
6         SVG containers with viewports should respect overflow when hit testing
7
8         Take into account the overflow property when hit testing <svg>.
9
10         * rendering/RenderSVGContainer.cpp:
11         (WebCore::RenderSVGContainer::nodeAtPoint):
12
13 2007-01-23  Alice Liu  <alice.liu@apple.com>
14
15         Reviewed by Maciej.
16
17         fixed <rdar://problem/4808039> REGRESSION: eBay ID check never completes
18         Also known as http://bugs.webkit.org/show_bug.cgi?id=11230
19
20         * bindings/js/kjs_window.cpp:
21         It's not necessary to check safeScript when doing a location.replace, .reload, or .assign
22         (KJS::Location::getOwnPropertySlot):
23         (KJS::LocationFunc::callAsFunction):
24
25 2007-01-25  Alice Liu  <alice.liu@apple.com>
26
27         Reviewed by Geoff and Adele.
28
29         fixed <rdar://problem/4866655> REGRESSION: Copying out of Calculator & CIFIlterWidget is broken on 9A320
30
31         * editing/Editor.cpp:
32         (WebCore::Editor::canDHTMLCut):
33         (WebCore::Editor::canDHTMLCopy):
34         (WebCore::Editor::tryDHTMLCopy):
35         (WebCore::Editor::tryDHTMLCut):
36         Reverting some mistakes made in r17504:
37         Anything in r17503 that used to call mayDHTML* still calls canDHTML* as it was changed in r17504, where canDHTML* now calls !selectionController::isInPasswordField instead of editor::canCopy
38         Anything else in r17503 that used to call mayCopy now calls (!)selectionController::isInPasswordField.
39
40         * editing/JSEditor.cpp:
41         copy via JS should be enabled as long as selection is not in a password field.  a range selection shouldn't be required. 
42
43 2007-01-24  Adele Peterson  <adele@apple.com>
44
45         Reviewed by Brady and Oliver.
46
47         Fix for <rdar://problem/4953504> When the keydown event changes focus, the keypress event should go to the new focused node
48
49         Test: fast/events/keydown-keypress-focus-change.html
50
51         * page/EventHandler.cpp:
52         (WebCore::eventTargetNodeForDocument): Added for convenience.
53         (WebCore::EventHandler::keyEvent): Moved from EventHandlerMac.mm.  After dispatching the keyDown event,
54          recheck the target node for the keyPress event in case its changed.
55         * page/EventHandler.h:
56         * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::keyEvent):
57           Moved the bulk of this code to EventHandler.cpp.
58
59 2007-01-24  Geoffrey Garen  <ggaren@apple.com>
60
61         New forwarding header. No review necessary.
62
63         * ForwardingHeaders/kjs/ustring.h: Added.
64
65 2007-01-24  Oliver Hunt  <oliver@apple.com>
66
67         Reviewed by Maciej.
68
69         Migrating more drag state information to WebCore
70
71         * page/DragController.cpp:
72         * page/DragController.h:
73         (WebCore::DragController::dragOperation):
74         (WebCore::DragController::setDraggingImageURL):
75         (WebCore::DragController::draggingImageURL):
76         (WebCore::DragController::setDragOffset):
77         (WebCore::DragController::dragOffset):
78
79 2007-01-24  Darin Adler  <darin@apple.com>
80
81         Reviewed by Adele.
82
83         - fix http://bugs.webkit.org/show_bug.cgi?id=12331
84           REGRESSION(r18951): Selecting text in a textarea makes the page scroll
85
86         Test: fast/events/autoscroll.html
87
88         * rendering/RenderLayer.cpp: (WebCore::RenderLayer::autoscroll):
89         Adjust position to be relative to the object's corner for the hit test, but not for the
90         scrollRectToVisible call. The previous version accidentally re-used the version that was
91         adjusted for the hit test.
92
93 2007-01-24  Beth Dakin  <bdakin@apple.com>
94
95         Reviewed by Geoff.
96
97         Fix for <rdar://problem/4948128> REGRESSION: A crash occurs at 
98         WebCore::Frame::view() after completing a query at mapquest.com 
99         then switching to Bookmarks view
100
101         This is just a null-check. If you are in strict mode and ask for 
102         the clientWidth or clientHeight after the document was removed from 
103         it's parent, we no longer have a frameView, so we have to null-
104         check it. I added null checks for the FrameView in some other 
105         places where it seems like we could potentially run into this 
106         issue.
107
108         * bindings/objc/DOMHTML.mm:
109         (-[DOMHTMLInputElement _rectOnScreen]):
110         * bridge/mac/WebCoreAXObject.mm:
111         (-[WebCoreAXObject accessibilityAttributeValue:]):
112         * dom/ContainerNode.cpp:
113         (WebCore::ContainerNode::getUpperLeftCorner):
114         * dom/Element.cpp:
115         (WebCore::Element::clientWidth): Actual bug fix here!
116         (WebCore::Element::clientHeight): And here!
117         * ksvg2/svg/SVGLength.cpp:
118         (WebCore::SVGLength::PercentageOfViewport):
119         * loader/FrameLoader.cpp:
120         (WebCore::FrameLoader::createJavaAppletWidget):
121         * page/mac/WebCoreFrameBridge.mm:
122         (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
123         * rendering/RenderLayer.cpp:
124         (WebCore::RenderLayer::windowClipRect):
125         (WebCore::RenderLayer::updateOverflowStatus):
126         (WebCore::frameVisibleRect):
127         * rendering/RenderListBox.cpp:
128         (WebCore::RenderListBox::windowClipRect):
129         * rendering/RenderTable.cpp:
130         (WebCore::RenderTable::layout):
131
132 2007-01-24  Maciej Stachowiak  <mjs@apple.com>
133
134         Not reviewed, just removing accidentally committed file.
135
136         - removed file that shouldn't be there
137
138         * Image Viewer/Image Viewer.aps: Removed.
139
140 2007-01-24  Anders Carlsson  <acarlsson@apple.com>
141
142         Reviewed by Geoff and Adam.
143
144         <rdar://problem/4922655>
145         http://galeri.milliyet.com.tr/ reproducibly crashes Safari
146         
147         * loader/FrameLoader.cpp:
148         (WebCore::FrameLoader::requestFrame):
149         If the frame already exists, defer the navigation so that we won't end up replacing the document
150         while we're parsing it. This is similar to what setting window.location ends up doing.
151
152 2007-01-25  Mark Rowe  <mrowe@apple.com>
153
154         Reviewed by Darin.
155
156         * Info.plist: Update copyright string.
157
158 2007-01-24  Justin Garcia  <justin.garcia@apple.com>
159
160         Reviewed by harrison
161
162         <rdar://problem/4916235>
163         eBay Editor: Crash occurs at WebCore::Range::startPosition() after applying ordered list styling to selected text
164         <rdar://problem/4857269>
165         REGRESSION: editing/execCommand/create-list-from-range-selection.html no longer works as intended
166         <rdar://problem/4916583>
167         eBay Editor: Removing a indent from a list item actually deletes the list item instead
168         <rdar://problem/4928635>
169         designMode outdent causes crash (11750)
170
171         * editing/CompositeEditCommand.cpp:
172         (WebCore::CompositeEditCommand::moveParagraphs): Fixed br insertion
173         after the pruning of empty containers left over after the paragraph
174         to move is removed.
175         * editing/DeleteSelectionCommand.cpp:
176         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): There are
177         bugs that leave the wrong number of line breaks after a deletion 
178         that expands to include special elements (lists/tables).  Added 
179         a workaround so that moveParagraphs can avoid these until they 
180         are fixed.
181         (WebCore::DeleteSelectionCommand::initializeStartEnd): Ditto.
182         (WebCore::DeleteSelectionCommand::initializePositionData): Ditto.
183         * editing/DeleteSelectionCommand.h:
184         * editing/TextIterator.cpp:
185         (WebCore::TextIterator::advance): We used to not call exitNode for
186         ancestors of a node where the next node in a pre-order traversal is 
187         the ranges's pastEndNode().  This is only correct for ancestors that
188         contain the end of the range.
189         (WebCore::shouldEmitNewlineAfterNode): Added, we should only emit newlines
190         after blocks that have VisiblePositions after them.  VisiblePosition creation
191         though is too expensive to do here, what I added here is an OK substitute.
192         (WebCore::shouldEmitNewlineBeforeNode): Added.  No special logic yet.
193         (WebCore::TextIterator::handleNonTextNode): Call shouldEmitNewlineBeforeNode.
194         (WebCore::TextIterator::exitNode): Call shouldEmitNewlineAfterNode.
195         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Call
196         shouldEmitNewlineAfterNode.
197
198 2007-01-24  Darin Adler  <darin@apple.com>
199
200         Reviewed by Mark Rowe.
201
202         * WebCore.xcodeproj/project.pbxproj: Changed to /usr/sbin/sysctl
203         so we don't rely on people's paths.
204
205 2007-01-24  Darin Adler  <darin@apple.com>
206
207         Reviewed by Adele.
208
209         - a couple minor tweaks to recently-changed things
210
211         * dom/Document.h: Use HTMLHeadElement as type for the head function.
212         * dom/Document.cpp: (WebCore::Document::head):
213
214         * ksvg2/svg/SVGElementInstance.cpp:
215         (WebCore::SVGElementInstance::~SVGElementInstance): Change loop to
216         a for loop and use a local variable for document.
217
218 2007-01-24  Oliver Hunt  <oliver@apple.com>
219
220         Reviewed by Adele.
221
222         Fixes DragController to allow a null target Document.
223         This is encountered in new tabs/windows that have not 
224         loaded any page
225
226         * page/DragController.cpp:
227         (WebCore::documentAtPoint):
228         (WebCore::DragController::tryDocumentDrag):
229         (WebCore::DragController::operationForLoad):
230         (WebCore::DragController::concludeDrag):
231         * page/mac/DragControllerMac.mm:
232         (WebCore::DragController::dragOperation):
233
234 2007-01-24  Sam Weinig  <sam@webkit.org>
235
236         Reviewed by Mitz.
237
238         Patch for http://bugs.webkit.org/show_bug.cgi?id=12394
239         Cleanup RenderBox
240
241         No functionality changes, just a good old fashion cleanup,
242         thus no tests.
243
244         * rendering/RenderBox.cpp:
245         (WebCore::RenderBox::RenderBox):
246         (WebCore::RenderBox::setStyle):
247         (WebCore::RenderBox::destroy):
248         (WebCore::RenderBox::setPos):
249         (WebCore::RenderBox::calcBorderBoxWidth):
250         (WebCore::RenderBox::calcBorderBoxHeight):
251         (WebCore::RenderBox::calcContentBoxWidth):
252         (WebCore::RenderBox::calcContentBoxHeight):
253         (WebCore::RenderBox::nodeAtPoint):
254         (WebCore::RenderBox::paintRootBoxDecorations):
255         (WebCore::RenderBox::paintBoxDecorations):
256         (WebCore::RenderBox::paintBackgrounds):
257         (WebCore::RenderBox::paintBackground):
258         (WebCore::cacluateBackgroundSize):
259         (WebCore::RenderBox::paintBackgroundExtended):
260         (WebCore::RenderBox::getOverflowClipRect):
261         (WebCore::RenderBox::getClipRect):
262         (WebCore::RenderBox::containingBlockWidth):
263         (WebCore::RenderBox::absolutePosition):
264         (WebCore::RenderBox::dirtyLineBoxes):
265         (WebCore::RenderBox::position):
266         (WebCore::RenderBox::getAbsoluteRepaintRect):
267         (WebCore::RenderBox::computeAbsoluteRepaintRect):
268         (WebCore::RenderBox::repaintDuringLayoutIfMoved):
269         (WebCore::RenderBox::relativePositionOffsetX):
270         (WebCore::RenderBox::relativePositionOffsetY):
271         (WebCore::RenderBox::calcWidth):
272         (WebCore::RenderBox::calcWidthUsing):
273         (WebCore::RenderBox::sizesToIntrinsicWidth):
274         (WebCore::RenderBox::calcHorizontalMargins):
275         (WebCore::RenderBox::calcHeight):
276         (WebCore::RenderBox::calcPercentageHeight):
277         (WebCore::RenderBox::calcReplacedWidthUsing):
278         (WebCore::RenderBox::calcReplacedHeightUsing):
279         (WebCore::RenderBox::availableHeightUsing):
280         (WebCore::RenderBox::calcVerticalMargins):
281         (WebCore::RenderBox::containingBlockWidthForPositioned):
282         (WebCore::RenderBox::calcAbsoluteHorizontal):
283         (WebCore::RenderBox::calcAbsoluteHorizontalValues):
284         (WebCore::RenderBox::calcAbsoluteVertical):
285         (WebCore::RenderBox::calcAbsoluteVerticalValues):
286         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
287         (WebCore::RenderBox::caretRect):
288         * rendering/RenderBox.h:
289         (WebCore::RenderBox::setOverrideSize):
290         (WebCore::RenderBox::width):
291         (WebCore::RenderBox::height):
292         (WebCore::RenderBox::setWidth):
293         (WebCore::RenderBox::setHeight):
294         (WebCore::RenderBox::inlineBoxWrapper):
295         (WebCore::RenderBox::setInlineBoxWrapper):
296         (WebCore::RenderBox::stretchesToViewHeight):
297         (WebCore::RenderBox::setStaticX):
298         (WebCore::RenderBox::setStaticY):
299
300 2007-01-24  Eric Seidel  <eric@webkit.org>
301
302         Reviewed by ap.
303
304         Converted SVGTransform from being Shared<T> to a POD type.
305
306         No functional changes, thus no tests.
307
308         * bindings/scripts/CodeGenerator.pm:
309         * bindings/scripts/CodeGeneratorJS.pm:
310         * ksvg2/misc/SVGTimer.cpp:
311         (WebCore::baseValueTransformList):
312         * ksvg2/svg/SVGAnimateTransformElement.cpp:
313         (WebCore::SVGAnimateTransformElement::storeInitialValue):
314         (WebCore::SVGAnimateTransformElement::resetValues):
315         (WebCore::SVGAnimateTransformElement::updateCurrentValue):
316         (WebCore::SVGAnimateTransformElement::handleStartCondition):
317         (WebCore::SVGAnimateTransformElement::applyAnimationToValue):
318         (WebCore::SVGAnimateTransformElement::parseTransformValue):
319         * ksvg2/svg/SVGAnimateTransformElement.h:
320         * ksvg2/svg/SVGLinearGradientElement.cpp:
321         (WebCore::SVGLinearGradientElement::collectGradientProperties):
322         * ksvg2/svg/SVGPatternElement.cpp:
323         (WebCore::SVGPatternElement::collectPatternProperties):
324         * ksvg2/svg/SVGRadialGradientElement.cpp:
325         (WebCore::SVGRadialGradientElement::collectGradientProperties):
326         * ksvg2/svg/SVGSVGElement.cpp:
327         (WebCore::SVGSVGElement::createSVGTransform):
328         (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
329         * ksvg2/svg/SVGSVGElement.h:
330         * ksvg2/svg/SVGStyledTransformableElement.cpp:
331         (WebCore::SVGStyledTransformableElement::updateLocalTransform):
332         * ksvg2/svg/SVGTextElement.cpp:
333         (WebCore::SVGTextElement::updateLocalTransform):
334         * ksvg2/svg/SVGTransform.cpp:
335         (SVGTransform::SVGTransform):
336         (SVGTransform::isValid):
337         * ksvg2/svg/SVGTransform.h:
338         * ksvg2/svg/SVGTransform.idl:
339         * ksvg2/svg/SVGTransformList.cpp:
340         (SVGTransformList::SVGTransformList):
341         (SVGTransformList::createSVGTransformFromMatrix):
342         (SVGTransformList::consolidate):
343         (SVGTransformList::concatenate):
344         * ksvg2/svg/SVGTransformList.h:
345         * ksvg2/svg/SVGTransformable.cpp:
346         (WebCore::SVGTransformable::parseTransformAttribute):
347
348 2007-01-24  Mark Rowe  <mrowe@apple.com>
349
350         Reviewed by Eric.
351
352         Plug another bunch of SVG memory leaks.
353
354         * ksvg2/misc/SVGDocumentExtensions.cpp:
355         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions): Delete memory we have allocated.
356         (WebCore::SVGDocumentExtensions::removePendingResource): Return an auto_ptr to show that we are transferring ownership.
357         * ksvg2/misc/SVGDocumentExtensions.h:
358         * ksvg2/svg/SVGElement.cpp:
359         (WebCore::SVGElement::insertedIntoDocument): Update for use of auto_ptr.
360
361 2007-01-23  Mark Rowe  <mrowe@apple.com>
362
363         Reviewed by Brady.
364
365         Plug thousands of node leaks seen running layout tests.
366
367         * ksvg2/svg/SVGElementInstance.cpp:
368         (WebCore::SVGElementInstance::~SVGElementInstance): Disassociate ourselves from our children so they will
369         be destroyed if we were the only thing referencing them.
370         * ksvg2/svg/SVGUseElement.cpp:
371         (WebCore::SVGUseElement::removedFromDocument):
372         * ksvg2/svg/SVGUseElement.h:
373
374 2007-01-23  Alice Liu  <alice.liu@apple.com>
375
376         Reviewed by Brady.
377
378         * editing/Editor.cpp:
379         (WebCore::Editor::appliedEditing):
380         minor change.  removing unnecessary call to frame to fetch editor
381
382 2007-01-23  Mark Rowe  <mrowe@apple.com>
383
384         Reviewed by Adele.
385
386         http://bugs.webkit.org/show_bug.cgi?id=12375
387         Bug 12375: REGRESSION(r19038): fast/dom/title-text-property-2.html failing
388
389         Fix regression by making setTitle/updateTitle/removeTitle logic match document.title
390         specification at http://whatwg.org/specs/web-apps/current-work/#the-title1.
391
392         * dom/Document.cpp:
393         (WebCore::Document::setTitle): Materialize a title element into the head if one doesn't exist when setting
394         document.title.  Also update the contents of the title element when the title is set via document.title.
395         (WebCore::Document::removeTitle): Update the title based on first title element in the head, if one exists.
396         (WebCore::Document::head): Convenience method to retrieve the head element in an HTML document.
397         * dom/Document.h:
398
399 2007-01-23  Beth Dakin  <bdakin@apple.com>
400
401         Reviewed by Hyatt.
402
403         Follow-up to the fix below for 4843226.
404
405         * rendering/RenderLayer.cpp:
406         (WebCore::transparencyClipBox): Has to be recursive or we will miss 
407         out on grandchildren!
408
409 2007-01-23  Oliver Hunt  <oliver@apple.com>
410
411         Reviewed by Adam.
412
413         Fixes dropping of files into safari
414
415         * page/DragController.cpp:
416         (WebCore::DragController::performDrag):
417
418 2007-01-23  Brady Eidson  <beidson@apple.com>
419
420         Reviewed by Darin
421
422         Added a couple of CF things previously missed
423
424         * platform/network/ResourceError.h:
425         * platform/network/ResourceHandle.h:
426
427 2007-01-23  Nikolas Zimmermann  <zimmermann@kde.org>
428
429         Reviewed by Maciej.
430
431         Fix evil genericContext() assertion, which occours sometimes when running DRT.
432         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12379
433
434         * bindings/scripts/CodeGeneratorJS.pm:
435         * ksvg2/misc/SVGDocumentExtensions.h:
436         (WebCore::SVGDocumentExtensions::genericContextMap):
437         (WebCore::SVGDocumentExtensions::forgetGenericContext):
438
439 2007-01-23  Beth Dakin  <bdakin@apple.com>
440
441         Reviewed by Hyatt.
442
443         Fix for <rdar://problem/4843226> REGRESSION: Pull down menu appears 
444         clipped at http://istweb.apple.com/
445
446         * rendering/RenderLayer.cpp:
447         (WebCore::transparencyClipBox): Always unite with sibling rects.
448
449 2007-01-22  Justin Garcia  <justin.garcia@apple.com>
450
451         Reviewed by john
452
453         <rdar://problem/4920742>
454         REGRESSION: GMail Editor: Attempting to remove formatting from selection results in a crash at WebCore::Range::checkDeleteExtract()
455
456         * dom/Range.cpp:
457         (WebCore::Range::checkDeleteExtract): Return if there is no
458         commonAncestor container or if commonAncestorContainer() throws
459         an exception.
460         * editing/Editor.cpp:
461         (WebCore::Editor::removeFormattingAndStyle): Fixed a bug that reversed
462         the order of the selected paragraphs.
463
464 2007-01-23  Nikolas Zimmermann  <zimmermann@kde.org>
465
466         Reviewed by Sam.
467
468         Fix dynamic creation/updates of markers, masks, clipPaths, and several tiny pattern issues.
469         Added 16 (!) new layout tests covering quite some weird scenerios - Batik & Opera do have problems, we don't.
470
471         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12380
472         Fixes: svg/custom/image-with-transform-clip-filter.svg (filter shows up again)
473
474         Added: svg/custom/clip-path-child-changes.svg
475         Added: svg/custom/clip-path-href-changes.svg
476         Added: svg/custom/clip-path-units-changes.svg
477         Added: svg/custom/deep-dynamic-updates.svg
478         Added: svg/custom/js-late-clipPath-and-object-creation.svg
479         Added: svg/custom/js-late-clipPath-creation.svg
480         Added: svg/custom/js-late-marker-and-object-creation.svg
481         Added: svg/custom/js-late-marker-creation.svg
482         Added: svg/custom/js-late-mask-and-object-creation.svg
483         Added: svg/custom/js-late-mask-creation.svg
484         Added: svg/custom/js-update-pattern-child.svg
485         Added: svg/custom/marker-changes.svg
486         Added: svg/custom/marker-child-changes.svg
487         Added: svg/custom/marker-viewBox-changes.svg
488         Added: svg/custom/mask-changes.svg
489         Added: svg/custom/mask-child-changes.svg
490
491         * ksvg2/misc/KCanvasRenderingStyle.cpp:
492         (WebCore::KSVGPainterFactory::fillPaintServer):
493         (WebCore::KSVGPainterFactory::strokePaintServer):
494         * ksvg2/svg/SVGClipPathElement.cpp:
495         (WebCore::SVGClipPathElement::notifyAttributeChange):
496         * ksvg2/svg/SVGClipPathElement.h:
497         * ksvg2/svg/SVGGradientElement.cpp:
498         * ksvg2/svg/SVGGradientElement.h:
499         * ksvg2/svg/SVGMarkerElement.cpp:
500         (WebCore::SVGMarkerElement::canvasResource):
501         (WebCore::SVGMarkerElement::notifyAttributeChange):
502         * ksvg2/svg/SVGMarkerElement.h:
503         * ksvg2/svg/SVGMaskElement.cpp:
504         (WebCore::SVGMaskElement::notifyAttributeChange):
505         * ksvg2/svg/SVGMaskElement.h:
506         * ksvg2/svg/SVGStopElement.cpp:
507         (WebCore::SVGStopElement::notifyAttributeChange):
508         * ksvg2/svg/SVGStyledElement.cpp:
509         (WebCore::SVGStyledElement::notifyAttributeChange):
510         (WebCore::SVGStyledElement::notifyResourceParentIfExistant):
511         (WebCore::SVGStyledElement::rebuildRenderer):
512         * ksvg2/svg/SVGStyledElement.h:
513         * ksvg2/svg/SVGUseElement.cpp:
514         (WebCore::SVGUseElement::notifyAttributeChange):
515         * platform/graphics/svg/SVGResource.cpp:
516         (WebCore::SVGResource::invalidate):
517         (WebCore::SVGResource::addClient):
518         (WebCore::SVGResource::repaintClients):
519         * platform/graphics/svg/SVGResource.h:
520         * platform/graphics/svg/SVGResourceMarker.cpp:
521         (WebCore::SVGResourceMarker::draw):
522         (WebCore::SVGResourceMarker::cachedBounds):
523         * platform/graphics/svg/SVGResourceMarker.h:
524         * rendering/RenderPath.cpp:
525         (WebCore::RenderPath::layout):
526         (WebCore::RenderPath::getAbsoluteRepaintRect):
527         (WebCore::RenderPath::paint):
528         (WebCore::drawMarkerWithData):
529         (WebCore::RenderPath::drawMarkersIfNeeded):
530         * rendering/RenderPath.h:
531         * rendering/RenderSVGContainer.cpp:
532         (WebCore::RenderSVGContainer::paint):
533         (WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
534         * rendering/RenderSVGImage.cpp:
535         (WebCore::RenderSVGImage::paint):
536         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
537         * rendering/SVGInlineFlowBox.cpp:
538         (WebCore::paintSVGInlineFlow):
539
540 2007-01-23  Adele Peterson  <adele@apple.com>
541
542         Reviewed by Darin.
543         
544         WebCore part of fix for <rdar://problem/4946753>REGRESSION: Inserting tabs is broken in Mail
545
546         In addition to this fix, I also reorganized some event handling code for keyPress events to
547         prepare for another fix.  There's also just a little bit of unrelated cleanup.
548         
549         * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler):
550           Move tab focus behavior into new defaultKeyboardEventHandler method.
551         
552         * bridge/EditorClient.h: Added handleKeyPress.
553         * editing/Editor.cpp:
554         (WebCore::Editor::handleKeyPress): Added. Calls over to the client method.
555         (WebCore::Editor::deleteRange): Removed unnecessary propogateDOMException.
556         * editing/Editor.h: Added handleKeyPress.
557         (WebCore::Editor::addToKillRing): Formatting cleanup.
558         * editing/mac/EditorMac.mm: Removed unnecessary propogateDOMException.
559         
560         * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): Added. Checks
561           the tabKeyCyclesThroughElements setting before advancing focus for tab key events.  Calls handleKeyPress.
562         * page/EventHandler.h: Added defaultKeyboardEventHandler.
563         
564         * page/Page.cpp: (WebCore::Page::Page): Initialize m_tabKeyCyclesThroughElements to true.
565         * page/Page.h: Added m_tabKeyCyclesThroughElements.
566         (WebCore::Page::setTabKeyCyclesThroughElements): Added.
567         (WebCore::Page::tabKeyCyclesThroughElements): Added.
568         
569         * platform/PlatformKeyboardEvent.h: Added ability to get NSEvent from PlatformKeyboardEvent.
570         * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
571           Initialize m_macEvent to the NSEvent.
572         
573         * platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::handleKeyPress): Added.
574
575 2007-01-23  George Staikos  <staikos@kde.org>
576
577         Compile with a released Qt.
578
579         * platform/graphics/qt/ImageQt.cpp:
580
581 2007-01-23  Lars Knoll <lars@trolltech.com>
582
583         Reviewed by Zack
584
585         Widget and ScrollView do not own the Qt widgets
586         anymore. Make sure they can handle the case of
587         a null QWidget and never delete them.
588
589         * platform/qt/ScrollViewQt.cpp:
590         (WebCore::ScrollView::setScrollArea):
591         (WebCore::ScrollView::updateContents):
592         (WebCore::ScrollView::visibleWidth):
593         (WebCore::ScrollView::visibleHeight):
594         (WebCore::ScrollView::visibleContentRect):
595         (WebCore::ScrollView::setContentsPos):
596         (WebCore::ScrollView::resizeContents):
597         (WebCore::ScrollView::contentsX):
598         (WebCore::ScrollView::contentsY):
599         (WebCore::ScrollView::contentsWidth):
600         (WebCore::ScrollView::contentsHeight):
601         (WebCore::ScrollView::scrollOffset):
602         (WebCore::ScrollView::scrollBy):
603         (WebCore::ScrollView::hScrollbarMode):
604         (WebCore::ScrollView::vScrollbarMode):
605         (WebCore::ScrollView::setHScrollbarMode):
606         (WebCore::ScrollView::setVScrollbarMode):
607         * platform/qt/WidgetQt.cpp:
608         (WebCore::WidgetPrivate::~WidgetPrivate):
609         (WebCore::Widget::setQWidget):
610
611 2007-01-23  Zack Rusin  <zack@kde.org>
612
613         Forgot to add one new file to the build.
614
615         * WebCore.pro: Add dom/clipboard.cpp
616
617 2007-01-23  Zack Rusin  <zack@kde.org>
618
619         Fix the Qt build
620
621         * page/DragActions.h:
622         * page/DragController.cpp:
623         * platform/qt/DragDataQt.cpp:
624         (WebCore::DragData::canSmartReplace):
625         (WebCore::DragData::containsColor):
626         (WebCore::DragData::containsPlainText):
627         (WebCore::DragData::asPlainText):
628         (WebCore::DragData::asColor):
629         (WebCore::DragData::createClipboard):
630         (WebCore::DragData::containsCompatibleContent):
631         (WebCore::DragData::containsURL):
632         (WebCore::DragData::asURL):
633         (WebCore::DragData::asFragment):
634         * platform/qt/FileChooserQt.cpp:
635
636 2007-01-23  Lars Knoll <lars@trolltech.com>
637
638         Reviewed by Maciej
639
640         Make the last remaining pieces of the FrameLoader platform 
641         independent. Move most of the code over to WebFrameLoaderClient.
642         Some smaller cleanups in the WebFrameBridge, and moved some
643         platform independent functionality over to the shared code
644         in WebCore.
645         
646         * WebCore.exp:
647         * WebCore.pro:
648         * WebCore.xcodeproj/project.pbxproj:
649         * loader/FrameLoader.cpp:
650         (WebCore::FrameLoader::loadSubframe):
651         (WebCore::FrameLoader::shouldUsePlugin):
652         (WebCore::FrameLoader::loadPlugin):
653         (WebCore::FrameLoader::detachFromParent):
654         (WebCore::FrameLoader::partClearedInBegin):
655         (WebCore::FrameLoader::createJavaAppletWidget):
656         (WebCore::FrameLoader::didChangeTitle):
657         * loader/FrameLoader.h:
658         * loader/FrameLoaderClient.h:
659         * loader/FrameLoaderTypes.h:
660         (WebCore::):
661         * loader/PluginDocument.cpp:
662         (WebCore::PluginTokenizer::writeRawData):
663         * loader/mac/FrameLoaderMac.mm: Removed.
664         * loader/qt/FrameLoaderQt.cpp: Removed.
665         * page/Frame.cpp:
666         (WebCore::Frame::Frame):
667         * page/FrameView.cpp:
668         (WebCore::FrameView::mediaType):
669         * page/qt/FrameQt.cpp:
670         (WebCore::FrameQt::FrameQt):
671         * platform/graphics/svg/SVGImageEmptyClients.h:
672         (WebCore::SVGEmptyFrameLoaderClient::makeRepresentation):
673         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
674         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCommitLoad):
675         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoad):
676         (WebCore::SVGEmptyFrameLoaderClient::dispatchCreatePage):
677         (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
678         (WebCore::SVGEmptyFrameLoaderClient::dispatchUnableToImplementPolicy):
679         (WebCore::SVGEmptyFrameLoaderClient::revertToProvisionalState):
680         (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError):
681         (WebCore::SVGEmptyFrameLoaderClient::startDownload):
682         (WebCore::SVGEmptyFrameLoaderClient::committedLoad):
683         (WebCore::SVGEmptyFrameLoaderClient::shouldFallBack):
684         (WebCore::SVGEmptyFrameLoaderClient::willUseArchive):
685         (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):
686         (WebCore::SVGEmptyFrameLoaderClient::createFrame):
687         (WebCore::SVGEmptyFrameLoaderClient::createPlugin):
688         (WebCore::SVGEmptyFrameLoaderClient::createJavaAppletWidget):
689         (WebCore::SVGEmptyFrameLoaderClient::objectContentType):
690         (WebCore::SVGEmptyFrameLoaderClient::overrideMediaType):
691         (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin):
692         (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
693
694 2007-01-23  Oliver Hunt  <oliver@apple.com>
695
696         Reviewed by Adam.
697
698         Added DragController to handled drag and drop state and control logic.
699         Currently this only handles logic for Dragging and Dropping, and is 
700         unable to initialise a drag itself.
701
702         platform/DragData encapsulate the paltform Drag data (NSDraggingInfo on Mac, 
703         QMimeType in Qt).  This provides methods to pull data out the drag data as a String, 
704         a URL, a DocumentFragment (for rich content), or a Colour.
705
706         * WebCore.exp:
707         * WebCore.pro:
708         * WebCore.xcodeproj/project.pbxproj:
709         * dom/Clipboard.cpp: Added.
710         (WebCore::Clipboard::setAccessPolicy):
711         (WebCore::dragOpFromIEOp):
712         (WebCore::IEOpFromDragOp):
713         (WebCore::Clipboard::sourceOperation):
714         (WebCore::Clipboard::destinationOperation):
715         (WebCore::Clipboard::setSourceOperation):
716         (WebCore::Clipboard::setDestinationOperation):
717         (WebCore::Clipboard::setDropEffect):
718         (WebCore::Clipboard::setEffectAllowed):
719           move platform independent functions from ClipboardMac to Clipboard
720
721         * dom/Clipboard.h:
722         (WebCore::Clipboard::Clipboard):
723         (WebCore::Clipboard::dropEffect):
724         (WebCore::Clipboard::effectAllowed):
725         (WebCore::Clipboard::policy):
726           as above -- also removed virtual modifier from now 
727           platform independent methods
728
729         * editing/Editor.cpp:
730         (WebCore::Editor::smartInsertDeleteEnabled): 
731         (WebCore::Editor::shouldApplyStyle):
732         * editing/Editor.h:
733           adding calls through to EditorClient
734          
735         * page/DragActions.h: Added.
736         (WebCore::):
737           Replicates a number of NS* enums in the WebCore namespace
738
739         * page/DragClient.h: Added.
740         (WebCore::DragClient::~DragClient):
741           Standard client interface for dragging UIDelegate
742
743         * page/DragController.cpp: Added.
744         (WebCore::createMouseEvent):
745         (WebCore::DragController::DragController):
746         (WebCore::DragController::~DragController):
747         (WebCore::documentFragmentFromDragData):
748         (WebCore::DragController::isMoveDrag):
749         (WebCore::visiblePositionForPoint):
750         (WebCore::DragController::cancelDrag):
751         (WebCore::documentAtPoint):
752         (WebCore::DragController::dragEntered):
753         (WebCore::DragController::dragExited):
754         (WebCore::DragController::dragUpdated):
755         (WebCore::DragController::performDrag):
756         (WebCore::DragController::dragEnteredOrUpdated):
757         (WebCore::DragController::tryDocumentDrag):
758         (WebCore::DragController::operationForLoad):
759         (WebCore::DragController::concludeDrag):
760         (WebCore::DragController::canProcessDrag):
761         (WebCore::DragController::tryDHTMLDrag):
762           Class to handle state and logic for dragging and dropping
763
764         * page/DragController.h: Added.
765         (WebCore::DragController::client):
766         (WebCore::DragController::didInitiateDrag):
767         (WebCore::DragController::isHandlingDrag):
768         (WebCore::DragController::dragOperation):
769         (WebCore::DragController::document):
770         (WebCore::DragController::dragInitiator):
771         (WebCore::DragController::dragDestinationAction):
772         (WebCore::DragController::dragSourceAction):
773         (WebCore::DragController::dragEnded):
774         (WebCore::DragController::setIsHandlingDrag):
775         (WebCore::DragController::setDidInitiateDrag):
776         (WebCore::DragController::setDragOperation):
777         (WebCore::DragController::setDragSourceAction):
778         (WebCore::DragController::setDragInitiator):
779           See above
780
781         * page/Page.cpp:
782         (WebCore::Page::Page):
783           Update Page to have DragController
784
785         * page/Page.h:
786         (WebCore::Page::dragController):
787           ditto
788
789         * page/mac/DragControllerMac.mm: Added.
790         (WebCore::DragController::isCopyKeyDown):
791         (WebCore::DragController::dragOperation):
792           Platform specific portions of the DragController
793
794         * page/mac/EventHandlerMac.mm:
795         (WebCore::EventHandler::handleDrag):
796         (WebCore::EventHandler::dragSourceEndedAt):
797           Convert from NSDragOperation to WebCore::DragOperation
798
799         * page/mac/WebCoreFrameBridge.h:
800         * page/mac/WebCoreFrameBridge.mm:
801           Remove obsolete Drag functions
802
803         * page/qt/DragControllerQt.cpp: Added.
804         (WebCore::DragController::isCopyKeyDown):
805         (WebCore::DragController::dragOperation):
806           Basic stubs to maintain Qt  build
807
808         * platform/DragData.cpp: Added.
809         (WebCore::DragData::DragData):
810         * platform/DragData.h: Added.
811         (WebCore::DragData::clientPosition):
812         (WebCore::DragData::globalPosition):
813         (WebCore::DragData::platformData):
814         (WebCore::DragData::draggingSourceOperationMask):
815           DragData class to encapsulate platform drag data/event
816
817         * platform/graphics/svg/SVGImage.cpp:
818         (WebCore::SVGImage::setData):
819           Addition of dummy DragClient
820
821         * platform/graphics/svg/SVGImageEmptyClients.h:
822         (WebCore::SVGEmptyDragClient::~SVGEmptyDragClient):
823         (WebCore::SVGEmptyDragClient::willPerformDragDestinationAction):
824         (WebCore::SVGEmptyDragClient::actionMaskForDrag):
825         (WebCore::SVGEmptyDragClient::dragControllerDestroyed):
826           ditto
827
828         * platform/mac/ClipboardMac.h:
829         * platform/mac/ClipboardMac.mm:
830         (WebCore::ClipboardMac::ClipboardMac):
831         (WebCore::ClipboardMac::clearData):
832         (WebCore::ClipboardMac::clearAllData):
833         (WebCore::ClipboardMac::getData):
834         (WebCore::ClipboardMac::setData):
835         (WebCore::ClipboardMac::types):
836         (WebCore::ClipboardMac::setDragImage):
837          Moving platform independent logic to Clipboard, and updating
838          platform specific methods to use appropriate accessors rather than 
839          directly manipulating data they no longer own
840
841         * platform/mac/DragDataMac.mm: Added.
842         (WebCore::DragData::DragData):
843         (WebCore::DragData::canSmartReplace):
844         (WebCore::DragData::containsColor):
845         (WebCore::DragData::containsPlainText):
846         (WebCore::DragData::asPlainText):
847         (WebCore::DragData::asColor):
848         (WebCore::DragData::createClipboard):
849         (WebCore::imageExistsAtPaths):
850         (WebCore::DragData::containsCompatibleContent):
851         (WebCore::DragData::containsURL):
852         (WebCore::DragData::asURL):
853         (WebCore::DragData::asFragment):
854           Mac implementations of DragData methods.  A number of these use
855           a Helper class that accesses WebKit functionality.  That functionality 
856           should be migrated to WebCore in the future.
857
858         * platform/mac/PasteboardHelper.h: Added.
859         (WebCore::PasteboardHelper::~PasteboardHelper):
860           Temporary, and Mac only, helper class to access WebKit functionality 
861           from WebCore
862
863         * platform/qt/DragDataQt.cpp: Added.
864         (WebCore::DragData::canSmartReplace):
865         (WebCore::DragData::containsColor):
866         (WebCore::DragData::containsPlainText):
867         (WebCore::DragData::asPlainText):
868         (WebCore::DragData::asColor):
869         (WebCore::DragData::createClipboard):
870         (WebCore::DragData::containsCompatibleContent):
871         (WebCore::DragData::containsURL):
872         (WebCore::DragData::asURL):
873         (WebCore::DragData::asFragment):
874          Basic stubs to maintain Qt build
875
876         * rendering/HitTestResult.cpp:
877         (WebCore::HitTestResult::HitTestResult):
878          Correct HitTestResult copy contructor to copy localPoint
879
880 2007-01-22  Mark Rowe  <mrowe@apple.com>
881
882         Reviewed by Maciej.
883
884         http://bugs.webkit.org/show_bug.cgi?id=11692
885         Bug 11692: REGRESSION(r17352): Disappearing page title
886
887         * dom/Document.cpp:
888         (WebCore::Document::setTitle): If the title has already been set explicitly via JavaScript,
889         ignore any changes to it due to encountering <title> tags.
890
891 2007-01-22  Mitz Pettel  <mitz@webkit.org>
892
893         Reviewed by Darin.
894
895         - fix http://bugs.webkit.org/show_bug.cgi?id=12344
896           NativeListBox: item hit testing does not account for top padding and border
897
898         Test: fast/forms/listbox-selection-2.html
899
900         * rendering/RenderListBox.cpp:
901         (WebCore::RenderListBox::numVisibleItems): Changed height() to contentHeight()
902         since items are visible only in the content box.
903         (WebCore::RenderListBox::listIndexAtOffset): Adjusted for vertical padding and
904         borders. Changed to return -1 instead of the last item's index if the given offset
905         is below the last item.
906         (WebCore::RenderListBox::autoscroll): Adjusted for vertical padding and borders.
907         (WebCore::RenderListBox::controlClipRect): Changed to return the content box since
908         items should not spill into the padding box. This change is the reason the test
909         generates pixel results.
910
911 2007-01-22  Justin Garcia  <justin.garcia@apple.com>
912
913         Reviewed by darin
914         
915         <rdar://problem/4944770>
916         editing/pasteboard/4641033 layout test is broken (12328)
917         
918         This layout test failure demonstrates three bugs:
919         Smart replace shouldn't be turned on, but is because a word
920         selection granularity from the previous test isn't cleared.
921         Smart replace shouldn't add any spaces because the paste is performed
922         in an empty paragraph.
923         Smart replace spaces are added to the text of options inside
924         the select element instead of before/after the select element.
925         
926         This patch fixes the second two problems.  During a 
927         ReplaceSelectionCommand, the VisiblePosition for the end of 
928         the inserted content is the last position in the last leaf 
929         inserted.  This is a problem when the last leaf is inside a 
930         select element, since VP creation is inconsistent there.  
931         Second, smart spaces were inserted inside the last leaf, not
932         at the endOfInsertedContent.
933
934         * editing/ReplaceSelectionCommand.cpp:
935         (WebCore::ReplaceSelectionCommand::shouldMergeStart): Renamed 
936         m_lastNodeInserted to m_lastLeafInserted.  Use the 
937         start/endOfInsertedContent getters.
938         (WebCore::ReplaceSelectionCommand::shouldMergeEnd): Ditto.
939         (WebCore::ReplaceSelectionCommand::removeNodePreservingChildren): Ditto.
940         (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Ditto.
941         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Added.
942         Special case for when the last leaf inserted is inside a select 
943         element: return the VisiblePosition after the select element.
944         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Added.
945         (WebCore::ReplaceSelectionCommand::doApply): Did renaming.  Used
946         the start/endOfInsertedContent getters.  Insert smart replace spaces
947         into the right nodes.
948         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Renaming.
949         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
950         (WebCore::ReplaceSelectionCommand::updateNodesInserted): Ditto.
951         * editing/ReplaceSelectionCommand.h:
952
953 2007-01-22  Darin Adler  <darin@apple.com>
954
955         Reviewed by Adam.
956
957         - fix http://bugs.webkit.org/show_bug.cgi?id=12273
958           REGRESSION: File input value invisible after removing and re-appending
959
960         - made more of the file chooser code cross-platform
961
962         - fixed an Objective-C garbage collection problem in FileChooser
963
964         - tried to remove layering violations where FileChooser in the platform
965           directory knows about the rendering and DOM trees (but wasn't able to
966           do it entirely)
967
968         * platform/FileChooser.cpp: Added.
969         (WebCore::FileChooser::create): Changed parameters.
970         (WebCore::FileChooser::chooseFile): Changed to call chooseIcon function.
971         (WebCore::FileChooser::chooseIcon): Added.
972
973         * platform/FileChooser.h: Added FileChooserClient so this file doesn't have
974         to know about RenderFileUploadControl. Used RetainPtr instead of retain/release
975         so this works properly with Objective-C GC. Replaced disconnectUploadControl
976         with disconnectClient, which has a simple inline implementation. Moved the
977         Document parameter from the constructor to openFileChooser, along with a comment
978         about why it should not be there. Added a filename parameter to the constructor
979         for the initial filename. Added a font parameter to basenameForWidth so we don't
980         depend on having a pointer to the renderer. Removed the uploadControl() and
981         document() functions since no one calls either of them.
982
983         * platform/mac/FileChooserMac.mm: Removed code that is now cross-platform.
984         (-[OpenPanelController beginSheetWithFrame:]): Added frame parameter, instead
985         of storing a document pointer in the FileChooser.
986         (WebCore::FileChooser::FileChooser): Updated for changed parameters. Also added
987         code to choose the icon based on the initial filename. Pass the adopt parameter
988         to the constructor of the RetainPtr.
989         (WebCore::FileChooser::~FileChooser): Removed the release call, since the
990         RetainPtr will take care of it. Added a call to disconnectFileChooser here.
991         There's no need to disconnect at disconnectClient time, and that lets us have
992         one more cross-platform function.
993         (WebCore::FileChooser::openFileChooser): Added document parameter. Added code
994         to get the frame from the document. And added a nil check since there's no
995         ironclad guarantee the document won't have outlived its frame.
996         (WebCore::FileChooser::basenameForWidth): Added font parameter. Use that instead
997         of going at the upload control's style. The caller can handle that now.
998
999         * rendering/RenderFileUploadControl.h: Removed unnecessary includes.
1000         Made class inherit privately from FileChooserClient. Changed constructor
1001         parameter to HTMLInputElement rather than Node. Made protected members be
1002         private instead, and made a couple function members const.
1003         * rendering/RenderFileUploadControl.cpp: Moved constants to the top of the file,
1004         but after the "using namespace"
1005         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Updated for changes
1006         to the FileChooser::create function and the parameter types.
1007         (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Removed unneeded
1008         null check -- there's no case where the FileChooser fails to be created.
1009         (WebCore::RenderFileUploadControl::click): Pass document to openFileChooser.
1010         (WebCore::RenderFileUploadControl::updateFromElement): Tweaked code a bit by
1011         using updateFromElement and setValue instead of casting the renderer to a
1012         RenderButton and calling setText directly. Put setInputType call here.
1013         (WebCore::RenderFileUploadControl::maxFilenameWidth): Made const. Broke long line.
1014         (WebCore::RenderFileUploadControl::createButtonStyle): Made const.
1015         (WebCore::RenderFileUploadControl::paintObject): Moved buttonShadowHeight constant
1016         to the top of the file. Call isEmpty instead of checking width and height of
1017         IntRect for 0. Computed font to pass to FileChooser::basenameForWidth. Broke
1018         long lines.
1019         (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
1020         Moved the setInputType call to the caller; concept here is that this class is
1021         as simple as possible, rather than doing as much of the button job as possible.
1022
1023         * WebCore.xcodeproj/project.pbxproj: Added FileChooser.cpp.
1024         * WebCore.pro: Ditto.
1025         * CMakeLists.txt: Ditto.
1026         * WebCoreSources.bkl: Ditto.
1027
1028         * platform/gdk/TemporaryLinkStubs.cpp: Updated stubs.
1029         * platform/qt/FileChooserQt.cpp: Updated stubs.
1030
1031 2007-01-22  Mitz Pettel  <mitz@webkit.org>
1032
1033         Reviewed by Darin.
1034
1035         - fix http://bugs.webkit.org/show_bug.cgi?id=12364
1036           REGRESSSION (NativeListBox): Selected option's background is not clipped to the list box
1037
1038         Test: fast/forms/select-item-background-clip.html
1039
1040         * rendering/RenderListBox.cpp:
1041         (WebCore::RenderListBox::paintItemBackground): Intersect the item's rect with
1042         the list box's clip rect.
1043
1044 2007-01-22  Darin Adler  <darin@apple.com>
1045
1046         Reviewed by Beth.
1047
1048         - fix http://bugs.webkit.org/show_bug.cgi?id=12369
1049           REGRESSION (r19027): amazon.com home page crashes WebKit r19028 debug build
1050
1051         I caused this a few hours ago. Oops!
1052
1053         * rendering/RenderText.cpp: (WebCore::RenderText::setStyle):
1054         Compute whether the font changed before calling RenderObject::setStyle.
1055
1056 2007-01-22  Beth Dakin  <bdakin@apple.com>
1057
1058         Reviewed by Maciej.
1059
1060         Fix for <rdar://problem/4912129> REGRESSION: Crash occurs at 
1061         WebCore::Frame::eventHandler() after clicking to dismiss a 
1062         contextual menu on the page
1063
1064         * page/EventHandler.cpp:
1065         (WebCore::EventHandler::stopAutoscrollTimer): Added nil-check.
1066
1067 2007-01-22  Darin Adler  <darin@apple.com>
1068
1069         Reviewed by Mitz.
1070
1071         Inspired by a much simpler patch by Andrew Wellington <proton@wiretapped.net>.
1072
1073         - fix http://bugs.webkit.org/show_bug.cgi?id=11197
1074           REGRESSION: Specifying a counter for a CODE tag's content style property
1075           on before or after causes a crash.
1076
1077         Test: fast/css/beforeSelectorOnCodeElement.html
1078
1079         - fix regression I recently introduced where the monospace cache could be
1080           used for text that was not ASCII, if text was changed after the style was set
1081
1082         Test: fast/text/monospace-width-cache.html
1083
1084         - streamline RenderText.h -- remove unneeded functions, make some needlessly
1085           virtual functions non-virtual, remove unneeded header includes, replace use
1086           of Font* with Font& for consistency with RenderStyle, use "text" consistently
1087           instead of "string"
1088
1089         * rendering/RenderText.h: Removed unneeded include of "Text.h", declarations of
1090         SOFT_HYPHEN, DocumentMarker, InlineBox, Position, String. Got rid of friend
1091         declaration for InlineTextBox. Changed constructor to take a PassRefPtr since
1092         we do take owership of the passed-in text. Made deleteTextBoxes() private.
1093         Removed unneeded data(). Made override of length() private so people will use
1094         the faster textLength() instead. Renamed string() to text() so it matches up
1095         better with setText(). Same for stringLength(), originalString(), and
1096         setInternalString(), which are now textLength(), originalText(), and
1097         setTextInternal(). Renamed the old text() function to characters(), since it
1098         returns a pointer as StringImpl::characters does. Changed Font* to Font& everywhere.
1099         Renamed the internal calcMinMaxWidth() function to calcMinMaxWidthInternal() and
1100         made it non-virtual since it's not overriden anywhere. Also made the
1101         trimmedMinMaxWidth() function non-virtual. Made containsOnlyWhitespace() private.
1102         Removed both font() functions (one was needlessly virtual) and element().
1103         Renamed cacheWidths() to updateMonospaceCharacterWidth() and removed the
1104         shouldUseMonospaceCache() function. Renamed allAscii() to isAllASCII() and made
1105         it an inline function. Removed the m_allAsciiChecked flag and renamed the
1106         m_allAscii flag to m_isAllASCII.
1107         * rendering/RenderText.cpp:
1108         (WebCore::RenderText::RenderText): Removed initialization of m_allAsciiChecked.
1109         Initialize m_isAllASCII. Changed all occurrences of m_str->length() and
1110         m_str->characters () to use the stringLength() and characters() inline functions
1111         instead.
1112         (WebCore::RenderText::setStyle): Replaced the unconditional call to cacheWidths
1113         with a conditional call to updateMonospaceCharacterWidth. This speeds up the common
1114         case where style is changed without changing the font.
1115         (WebCore::RenderText::originalText): Changed code to not depend on overridden
1116         element() function with casts to a Text node -- this was one of only two call sites.
1117         Also renamed.
1118         (WebCore::RenderText::positionForCoordinates): Name change.
1119         (WebCore::RenderText::caretRect): Ditto.
1120         (WebCore::RenderText::updateMonospaceCharacterWidth): Renamed from cacheWidths and
1121         incorporate the check that was formerly in a separate shouldUseMonospaceCache
1122         function.
1123         (WebCore::RenderText::widthFromCache): Changed to take a Font& instead of Font*.
1124         Changed to take advantage of the fact that the string is known to be all ASCII in
1125         the m_monospaceCharacterWidth code path.
1126         (WebCore::RenderText::trimmedMinMaxWidth): Ditto. Also use style()->font() instead
1127         of font(false).
1128         (WebCore::RenderText::calcMinMaxWidth): Ditto. Also changed to use softHyphen instead
1129         of SOFT_HYPHEN.
1130         (WebCore::RenderText::containsOnlyWhitespace): More of the same.
1131         (WebCore::RenderText::setSelectionState): Ditto.
1132         (WebCore::RenderText::setTextWithOffset): Ditto.
1133         (WebCore::isInlineFlowOrEmptyText): Ditto.
1134         (WebCore::RenderText::setTextInternal): Updated for name changes. Also changed to
1135         set the m_isAllASCII flag every time, in the more-efficient way we use elsewhere
1136         (or'ing all the characters together), and to call updateMonospaceCharacterWidth
1137         if the "all ASCII"-ness of the text changes.
1138         (WebCore::RenderText::setText): Updated for name changes.
1139         (WebCore::RenderText::width): More like above.
1140         (WebCore::RenderText::selectionRect): Ditto.
1141         (WebCore::RenderText::caretMaxOffset): Ditto.
1142         (WebCore::RenderText::previousOffset): Ditto.
1143         (WebCore::RenderText::nextOffset): Ditto.
1144
1145         * dom/Position.cpp:
1146         * dom/Range.cpp:
1147         * editing/CompositeEditCommand.cpp:
1148         * editing/DeleteSelectionCommand.cpp:
1149         * editing/VisiblePosition.cpp:
1150         * html/HTMLElement.cpp:
1151         Added now-needed include of "Text.h" which is no longer included by "RenderText.h".
1152
1153         * editing/SelectionController.cpp:
1154         (WebCore::SelectionController::debugRenderer):
1155         * editing/TextIterator.cpp:
1156         (WebCore::TextIterator::handleTextNode):
1157         (WebCore::TextIterator::handleTextBox):
1158         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
1159         Update for name changes of stringLength(), string(), and originalString() to
1160         textLength(), text(), and originalText(), and to always use textLength() instead
1161         of length() when we have a RenderText* rather than a RenderObject*.
1162         * editing/visible_units.cpp:
1163         (WebCore::startOfParagraph): Ditto.
1164         (WebCore::endOfParagraph): Ditto.
1165         * rendering/InlineFlowBox.cpp:
1166         (WebCore::InlineFlowBox::placeBoxesHorizontally): Ditto. Also removed use of the
1167         RenderObject::font() function and replaced it with explicit access to the style.
1168         (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
1169         * rendering/InlineTextBox.cpp:
1170         (WebCore::InlineTextBox::selectionRect): Ditto.
1171         (WebCore::InlineTextBox::isLineBreak): Ditto.
1172         (WebCore::InlineTextBox::paint): Ditto.
1173         (WebCore::InlineTextBox::selectionStartEnd): Ditto.
1174         (WebCore::InlineTextBox::paintSelection): Ditto.
1175         (WebCore::InlineTextBox::paintMarkedTextBackground): Ditto.
1176         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
1177         (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
1178         (WebCore::InlineTextBox::offsetForPosition): Ditto.
1179         (WebCore::InlineTextBox::positionForOffset): Ditto.
1180         * rendering/RenderContainer.cpp:
1181         (WebCore::RenderContainer::addChild): Ditto.
1182         * rendering/RenderCounter.cpp:
1183         (WebCore::RenderCounter::originalText): Ditto.
1184         (WebCore::RenderCounter::calcMinMaxWidth): Ditto.
1185         * rendering/RenderCounter.h: Ditto.
1186         * rendering/RenderTextFragment.cpp:
1187         (WebCore::RenderTextFragment::originalText): Ditto.
1188         * rendering/RenderTextFragment.h: Ditto.
1189         * rendering/SVGInlineFlowBox.cpp:
1190         (WebCore::placePositionedBoxesHorizontally): Ditto.
1191         (WebCore::placeBoxesVerticallyWithAbsBaseline): Ditto.
1192         * rendering/bidi.cpp:
1193         (WebCore::BidiIterator::increment): Ditto.
1194         (WebCore::BidiIterator::current): Ditto.
1195         (WebCore::BidiIterator::direction): Ditto.
1196         (WebCore::addRun): Ditto.
1197         (WebCore::checkMidpoints): Ditto.
1198         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Ditto.
1199         (WebCore::RenderBlock::skipWhitespace): Ditto.
1200         (WebCore::RenderBlock::findNextLineBreak): Ditto.
1201
1202         * rendering/RenderBR.h: Updated signature of width function which now takes a
1203         Font& instead of a Font*.
1204
1205         * rendering/RenderBlock.cpp: (WebCore::stripTrailingSpace): Updated to no longer
1206         use the RenderObject::font() function, and added a comment about first-line, which
1207         is not handled properly here.
1208
1209         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::text):
1210         * rendering/RenderTreeAsText.cpp: (WebCore::writeTextRun):
1211         Eliminated use of RenderText::data().
1212
1213         * rendering/RenderObject.h: Removed RenderObject::font(). This had the bad effect of
1214         having everyone pass in a boolean rather than using the cleaner style() and
1215         firstLineStyle() functions in cases where there's no a firstLineStyle boolean.
1216         * rendering/RenderObject.cpp:
1217         (WebCore::RenderObject::getVerticalPosition): Replaced use of RenderObject::font()
1218         with direct use of the style instead, which is arguably easier to understand anyway.
1219         (WebCore::RenderObject::baselinePosition): Ditto.
1220
1221 2007-01-22  Sam Weinig  <sam@webkit.org>
1222
1223         Reviewed by The Mitz.
1224
1225         Move JSHTMLSelectElementCustom.cpp from bindings to bindings/js
1226         where it belongs.
1227
1228         * WebCore.pro:
1229         * WebCore.xcodeproj/project.pbxproj:
1230         * bindings/JSHTMLSelectElementCustom.cpp: Removed.
1231         * bindings/js/JSHTMLSelectElementCustom.cpp: Added.
1232
1233 2007-01-22  Zack Rusin  <zack@kde.org>
1234
1235         Fix the Qt build.
1236
1237         * WebCore.pro: adjust after last changes
1238
1239 2007-01-21  Alexey Proskuryakov  <ap@webkit.org>
1240
1241         Reviewed by Darin.
1242
1243         http://bugs.webkit.org/show_bug.cgi?id=10934
1244         REGRESSION: prototype.js logs error (HTMLFormElement) on webkit builds
1245
1246         Added constructors for most HTML elements; started auto-generating HTMLSelectElement JS binding.
1247
1248         Test: fast/dom/Window/element-constructors-on-window.html
1249
1250         * DerivedSources.make: Generate JSHTMLSelectElement.
1251         * WebCore.xcodeproj/project.pbxproj: Added JSHTMLSelectElement{Custom}.
1252         * bindings/js/JSHTMLElementWrapperFactory.cpp: Create a proper binding for SELECT.
1253
1254         * bindings/js/kjs_html.cpp:
1255         (KJS::):
1256         (KJS::JSHTMLElement::classInfo):
1257         (KJS::JSHTMLElement::accessors):
1258         (KJS::JSHTMLElement::getOwnPropertySlot):
1259         (KJS::HTMLElementFunction::callAsFunction):
1260         (KJS::JSHTMLElement::put):
1261         * bindings/js/kjs_html.h:
1262         (KJS::JSHTMLElement::):
1263         Removed everything related to SELECT. Renamed getHTMLOptionsCollection to toJS for autogenerated code 
1264         to be happy, and rewrote it using cacheDOMObject.
1265
1266         * bindings/scripts/CodeGeneratorJS.pm: Added HTMLElement to the list of types that cannot fail conversion.
1267
1268         * html/HTMLAnchorElement.idl:
1269         * html/HTMLAppletElement.idl:
1270         * html/HTMLAreaElement.idl:
1271         * html/HTMLBRElement.idl:
1272         * html/HTMLBaseElement.idl:
1273         * html/HTMLBaseFontElement.idl:
1274         * html/HTMLBodyElement.idl:
1275         * html/HTMLButtonElement.idl:
1276         * html/HTMLCanvasElement.idl:
1277         * html/HTMLDListElement.idl:
1278         * html/HTMLDirectoryElement.idl:
1279         * html/HTMLDivElement.idl:
1280         * html/HTMLFieldSetElement.idl:
1281         * html/HTMLFontElement.idl:
1282         * html/HTMLFormElement.idl:
1283         * html/HTMLHRElement.idl:
1284         * html/HTMLHeadElement.idl:
1285         * html/HTMLHeadingElement.idl:
1286         * html/HTMLHtmlElement.idl:
1287         * html/HTMLImageElement.idl:
1288         * html/HTMLInputElement.idl:
1289         * html/HTMLIsIndexElement.idl:
1290         * html/HTMLLIElement.idl:
1291         * html/HTMLLabelElement.idl:
1292         * html/HTMLLegendElement.idl:
1293         * html/HTMLLinkElement.idl:
1294         * html/HTMLMapElement.idl:
1295         * html/HTMLMenuElement.idl:
1296         * html/HTMLMetaElement.idl:
1297         * html/HTMLModElement.idl:
1298         * html/HTMLOListElement.idl:
1299         * html/HTMLOptGroupElement.idl:
1300         * html/HTMLParagraphElement.idl:
1301         * html/HTMLParamElement.idl:
1302         * html/HTMLPreElement.idl:
1303         * html/HTMLQuoteElement.idl:
1304         * html/HTMLScriptElement.idl:
1305         * html/HTMLStyleElement.idl:
1306         * html/HTMLTextAreaElement.idl:
1307         * html/HTMLTitleElement.idl:
1308         * html/HTMLUListElement.idl:
1309         Generate constructors.
1310
1311         * html/HTMLSelectElement.cpp:
1312         (WebCore::HTMLSelectElement::length):
1313         * html/HTMLSelectElement.h:
1314         Make length() return unsigned for auto-generated code to be happy.
1315
1316         * html/HTMLSelectElement.idl: Adjusted to be usable for JS.
1317
1318         * bindings/JSHTMLSelectElementCustom.cpp: Added. Implements remove().
1319
1320         * page/DOMWindow.idl:
1321         Added properties for most elements' constructors.
1322
1323 2007-01-21  Mark Rowe  <mrowe@apple.com>
1324
1325         Reviewed by Maciej.
1326
1327         http://bugs.webkit.org/show_bug.cgi?id=12357
1328         Bug 12357: Reproducible crash in WebCore::Settings::isJavaScriptEnabled in svg/custom/js-update-bounce.svg under guard-malloc
1329
1330         * page/Frame.cpp:
1331         (WebCore::Frame::~Frame): Access the global object directly rather than via Window::retrieveWindow to prevent our reference to
1332         a deleted settings object being used.
1333
1334 2007-01-21  Darin Adler  <darin@apple.com>
1335
1336         Reviewed by Maciej.
1337
1338         - fix <rdar://problem/4930503> REGRESSION: Page changes title when
1339           command-clicking on named anchor link (12299)
1340
1341         * loader/FrameLoader.cpp:
1342         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1343         Return if shouldContinue is false. This matches the other similar
1344         functions and prevents us from doing extra work in the "ignore" case.
1345
1346 2007-01-21  Mark Rowe  <mrowe@apple.com>
1347
1348         Reviewed by Darin.
1349
1350         http://bugs.webkit.org/show_bug.cgi?id=12355
1351         Bug 12355: Reproducible crash in WebCore::parseNumber in svg/custom/js-update-bounce.svg under guard-malloc
1352
1353         * ksvg2/svg/SVGParserUtilities.cpp:
1354         (WebCore::parseNumber): Parenthesize to prevent reading past end of buffer.
1355
1356 2007-01-21  Mitz Pettel  <mitz@webkit.org>
1357
1358         Reviewed by Darin.
1359
1360         - fix http://bugs.webkit.org/show_bug.cgi?id=12345
1361           REGRESSION: Disabled pop-up text is not grayed out
1362
1363         Test: fast/forms/select-disabled-appearance.html
1364
1365         * rendering/RenderThemeMac.mm:
1366         (WebCore::RenderThemeMac::adjustMenuListStyle):
1367
1368 2007-01-21  Darin Adler  <darin@apple.com>
1369
1370         - fix non-Mac builds
1371
1372         * CMakeLists.txt: Added JSDocumentCustom.cpp.
1373         * WebCore.pro: Ditto.
1374         * WebCoreSources.bkl: Ditto.
1375
1376 2007-01-21  Mitz Pettel  <mitz@webkit.org>
1377
1378         Reviewed by Darin.
1379
1380         - fix http://bugs.webkit.org/show_bug.cgi?id=12353 <rdar://problem/4944599>
1381           REGRESSION: Crash on load (mutation event dispatch under the image element constructor deletes the element)
1382     
1383         Test: fast/dom/HTMLImageElement/constructor-mutation-event-dispatch.html
1384
1385         * bindings/js/kjs_html.cpp:
1386         (KJS::ImageConstructorImp::construct): Protect the image element before setting
1387         its attributes.
1388
1389 2007-01-21  Sam Weinig  <sam@webkit.org>
1390
1391         Rolling out patch for http://bugs.webkit.org/show_bug.cgi?id=8360.
1392
1393         * rendering/RenderLayer.cpp:
1394         (WebCore::RenderLayer::RenderLayer):
1395         (WebCore::RenderLayer::scrollToOffset):
1396         (WebCore::RenderLayer::scrollRectToVisible):
1397         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1398         (WebCore::Marquee::start):
1399         * rendering/RenderLayer.h:
1400
1401 2007-01-21  David Kilzer  <ddkilzer@webkit.org>
1402
1403         Reviewed by Darin.
1404
1405         - fix http://bugs.webkit.org/show_bug.cgi?id=12280
1406           select element not available by name through document.all
1407           (dropdown list not available on smarthome.com checkout)
1408
1409         Test: fast/dom/document-all-select.html
1410
1411         * html/HTMLCollection.cpp:
1412         (WebCore::HTMLCollection::checkForNameMatch):
1413         (WebCore::HTMLCollection::updateNameCache):
1414
1415 2007-01-21  Mitz Pettel  <mitz@webkit.org>
1416
1417         Reviewed by Darin.
1418
1419         - http://bugs.webkit.org/show_bug.cgi?id=10805
1420           REGRESSION (r15720): manual-tests/onblur-remove.html failing
1421
1422         * manual-tests/onblur-remove.html: Changed the test to not require pressing
1423         Enter, since the correct behavior for Enter is to send a blur event.
1424
1425 2007-01-21  Sanjay Madhav  <sanjay12@gmail.com>
1426
1427         Reviewed by Darin.
1428
1429         Fix for: <rdar://problem/4928583> Memory usage grows when reloading google.com/ig
1430
1431         JSDocuments are now responsible for marking the DOM wrappers associated with them, when they get marked.
1432         This fixes a JS object leak when a DOM wrapper has a reference to a JSDocument that is otherwise not reachable.
1433
1434         Test: fast/dom/gc-10.html
1435
1436         * WebCore.vcproj/WebCore/WebCore.vcproj:
1437         * WebCore.xcodeproj/project.pbxproj:
1438         * bindings/js/JSDocumentCustom.cpp: Added.
1439         (WebCore::JSDocument::mark):
1440         * bindings/js/kjs_binding.cpp:
1441         (KJS::ScriptInterpreter::markDOMNodesForDocument):
1442         (KJS::ScriptInterpreter::mark):
1443         * bindings/js/kjs_binding.h:
1444         * dom/Document.idl:
1445
1446 2007-01-21  Mitz Pettel  <mitz@webkit.org>
1447
1448         Reviewed by Darin.
1449
1450         - fix http://bugs.webkit.org/show_bug.cgi?id=10692
1451           REGRESSION (r14847): Unnecessary scrollbars with position:relative; and overflow:auto;
1452
1453         Test: fast/overflow/position-relative.html
1454
1455         * rendering/RenderBox.cpp:
1456         (WebCore::RenderBox::lowestPosition): Add the relative position offset only
1457         if 'includeSelf' is true.
1458         (WebCore::RenderBox::rightmostPosition): Ditto.
1459         (WebCore::RenderBox::leftmostPosition): Ditto.
1460         * rendering/RenderFlow.cpp:
1461         (WebCore::RenderFlow::lowestPosition): Ditto.
1462         (WebCore::RenderFlow::rightmostPosition): Ditto.
1463         (WebCore::RenderFlow::leftmostPosition): Ditto.
1464
1465 2007-01-21  Mitz Pettel  <mitz@webkit.org>
1466
1467         Reviewed by Darin.
1468
1469         - fix http://bugs.webkit.org/show_bug.cgi?id=10472
1470           REGRESSION: "add" method of <select> object does not put the <option> object in the correct position
1471
1472         Test: fast/dom/HTMLSelectElement/options-collection-detached.html
1473
1474         * html/HTMLSelectElement.cpp:
1475         (WebCore::HTMLSelectElement::setRecalcListItems): Reset the options collection
1476         info if the <select> is not in the document. For in-document <select>s this
1477         happens anyway as a result of the DOM tree version increasing.
1478
1479 2007-01-21  Mitz Pettel  <mitz@webkit.org>
1480
1481         Reviewed by Darin.
1482
1483         - fix http://bugs.webkit.org/show_bug.cgi?id=12349
1484           NativeFileUpload: Button text is not grayed out when the control is disabled
1485
1486         Covered by fast/forms/file-input-disabled.html 
1487
1488         * css/html4.css: Changed selectors that had pseudo-classes after the -webkit-file-upload-button
1489         pseudo-element to have the pseudo-element at the end. Pseudo-elements must be at the end.
1490         * rendering/RenderFileUploadControl.cpp:
1491         (WebCore::RenderFileUploadControl::createButtonStyle): Changed to not overwrite the button's
1492         style with its parent's style. getPseudoStyle() handles inheritance properly.
1493
1494 2007-01-21  Mitz Pettel  <mitz@webkit.org>
1495
1496         Reviewed by Darin.
1497
1498         - fix http://bugs.webkit.org/show_bug.cgi?id=12343
1499           crash in css2.1/t1202-counter-09-b.html
1500
1501         * platform/Font.cpp:
1502         (WebCore::Font::glyphDataForCharacter):
1503
1504 2007-01-21  Darin Adler  <darin@apple.com>
1505
1506         Reviewed by Adam and Mitz.
1507
1508         - fix http://bugs.webkit.org/show_bug.cgi?id=12347
1509           REGRESSION: list box scrolling broken (fast/forms/listbox-selection.html)
1510
1511         Covered by existing test: fast/forms/listbox-selection.html
1512
1513         * rendering/RenderListBox.h: Added override of layout(), made selectionChanged()
1514         no longer an inline. Added private scrollToRevealSelection(),
1515         m_scrollToRevealSelectionAfterLayout, and m_inAutoscroll.
1516         * rendering/RenderListBox.cpp:
1517         (WebCore::RenderListBox::RenderListBox): Initialize new data members.
1518         (WebCore::RenderListBox::updateFromElement): Remove scrolling code.
1519         (WebCore::RenderListBox::selectionChanged): Moved from header. Calls repaint
1520         and then scrollToRevealSelection, but if we need layout, instead schedules
1521         scrollToRevealSelection to be done after layout.
1522         (WebCore::RenderListBox::layout): Added. After calling base class, calls
1523         scrollToRevealSelection if the m_scrollToRevealSelectionAfterLayout is set.
1524         (WebCore::RenderListBox::scrollToRevealSelection): Added. Code was originally
1525         in updateFromElement.
1526         (WebCore::RenderListBox::autoscroll): Set m_inAutoscroll so that the
1527         selectionChanged function knows not to scroll. Also removed the repaint()
1528         here because updateListBoxSelection() takes care of repainting by calling
1529         selectionChanged().
1530
1531 2007-01-21  David Kilzer  <ddkilzer@webkit.org>
1532
1533         * page/EventHandler.cpp:
1534         (WebCore::EventHandler::handleMouseMoveEvent): Changed #if SVG_SUPPORT to #ifdef SVG_SUPPORT.
1535
1536 2007-01-20  Mitz Pettel  <mitz@webkit.org>
1537
1538         Reviewed by Maciej.
1539
1540         - fix http://bugs.webkit.org/show_bug.cgi?id=11115
1541           REGRESSION: Crash on Flickr after hitting cancel from adding a note
1542
1543         Test: fast/forms/text-set-value-crash.html
1544
1545         * html/HTMLInputElement.cpp:
1546         (WebCore::HTMLInputElement::setValue): Added a call to Document::updateRendering().
1547         * html/HTMLTextAreaElement.cpp:
1548         (WebCore::HTMLTextAreaElement::setValue): Ditto.
1549
1550 2007-01-20  Mitz Pettel  <mitz@webkit.org>
1551
1552         Reviewed by Darin.
1553
1554         - fix http://bugs.webkit.org/show_bug.cgi?id=8360
1555           Repro crash when onscroll handler deletes the scrolled object
1556
1557         Test: fast/layers/removed-by-scroll-handler.html
1558
1559         * rendering/RenderLayer.cpp:
1560         (WebCore::RenderLayer::RenderLayer):
1561         (WebCore::RenderLayer::dispatchScrollEvent): Added. Called when the timer
1562         fires and dispatches the scroll event to the layer's element.
1563         (WebCore::RenderLayer::scrollToOffset): Instead of dispatching the scroll
1564         event from this function, which is called during layout, schedule a 0-duration
1565         timer to dispatch the event after layout.
1566         (WebCore::RenderLayer::scrollRectToVisible):
1567         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1568         (WebCore::Marquee::start):
1569         * rendering/RenderLayer.h:
1570
1571 2007-01-20  Nikolas Zimmermann  <zimmermann@kde.org>
1572
1573         Reviewed by Sam.
1574
1575         Fix JS bindings for SVGAnimated{Boolean, Enumeration, Integer, Number, String}.
1576
1577         Dynamic SVG DOM updates (ie. "someUse.href.baseVal = '#rect'") with these types
1578         didn't work. Existing gradient updating examples relied on calling setAttribute
1579         after a SVG DOM update - that was the only reason it worked, added a new test
1580         only using SVG DOM updates (js-update-stop.svg).
1581
1582         Added test: js-update-stop.svg
1583         Added test: use-property-changes-through-dom.svg (change xlink:href, x/y attributes using setAttribute)
1584         Added test: use-property-changes-through-svg-dom.svg (change xlink:href, x/y attributes using SVG DOM)
1585
1586         * bindings/js/JSSVGPODTypeWrapper.h:
1587         (WebCore::JSSVGPODTypeWrapper::commitChange):
1588         (WebCore::JSSVGPODTypeWrapperCreator::commitChange):
1589         (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
1590         * bindings/js/JSSVGPathSegListCustom.cpp:
1591         (WebCore::updatePathSegContextMap):
1592         (WebCore::removeFromPathSegContextMap):
1593         * bindings/scripts/CodeGeneratorJS.pm:
1594         * ksvg2/misc/SVGDocumentExtensions.h:
1595         (WebCore::SVGDocumentExtensions::baseValueMap):
1596         (WebCore::SVGDocumentExtensions::genericContextMap):
1597         (WebCore::SVGDocumentExtensions::baseValue):
1598         (WebCore::SVGDocumentExtensions::setBaseValue):
1599         (WebCore::SVGDocumentExtensions::removeBaseValue):
1600         (WebCore::SVGDocumentExtensions::hasBaseValue):
1601         (WebCore::SVGDocumentExtensions::genericContext):
1602         (WebCore::SVGDocumentExtensions::setGenericContext):
1603         (WebCore::SVGDocumentExtensions::removeGenericContext):
1604         (WebCore::SVGDocumentExtensions::hasGenericContext):
1605         (WebCore::String):
1606         (WebCore::FloatRect):
1607         (WebCore::bool):
1608         (WebCore::double):
1609         * ksvg2/svg/SVGClipPathElement.h:
1610         * ksvg2/svg/SVGElement.h:
1611         (WebCore::SVGElement::notifyAttributeChange):
1612         * ksvg2/svg/SVGPathSegList.cpp:
1613         (WebCore::SVGPathSegList::SVGPathSegList):
1614         (WebCore::SVGPathSegList::context):
1615         * ksvg2/svg/SVGPathSegList.h:
1616         * ksvg2/svg/SVGPatternElement.h:
1617         * ksvg2/svg/SVGPointList.cpp:
1618         (SVGPointList::SVGPointList):
1619         (SVGPointList::context):
1620         * ksvg2/svg/SVGPointList.h:
1621         * ksvg2/svg/SVGStopElement.cpp:
1622         (WebCore::SVGStopElement::parseMappedAttribute):
1623         (WebCore::SVGStopElement::notifyAttributeChange):
1624         * ksvg2/svg/SVGStopElement.h:
1625         * ksvg2/svg/SVGUseElement.cpp:
1626         (WebCore::SVGUseElement::notifyAttributeChange):
1627
1628 2007-01-20  Rob Buis  <buis@kde.org>
1629
1630         Reviewed by Sam.
1631
1632         http://bugs.webkit.org/show_bug.cgi?id=12334
1633         Respect <text> boundaries for svg text selecting
1634
1635         Make sure the text selection for svg stays inside
1636         containing blocks.
1637         Added one manual test since html selection does not
1638         seem to work for SVG and selectSubString for SVG
1639         is not implemented yet.
1640
1641         * manual-tests/svg-text-selection.svg: Added.
1642         * page/EventHandler.cpp:
1643         (WebCore::EventHandler::handleMouseMoveEvent):
1644         * rendering/RenderObject.h:
1645         (WebCore::RenderObject::isSVGText):
1646         * rendering/RenderSVGInlineText.h:
1647         (WebCore::RenderSVGInlineText::isSVGText):
1648         * rendering/RenderSVGText.h:
1649         (WebCore::RenderSVGText::isSVGText):
1650
1651 2007-01-19  Adele Peterson  <adele@apple.com>
1652
1653         Reviewed by Hyatt.
1654
1655         Fix for: <rdar://problem/4697438> REGRESSION: select menu lists match the wrong css rule on www.chainreaction.com
1656
1657         Update the size attribute value for select elements to match the numeric value.  This is a special case since this
1658         attribute is used to determine which control to use.  We want to make sure that the size attribute is valid when we match
1659         CSS rules.
1660
1661         Test: fast/forms/select-size.html
1662
1663         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute): If the attribute string value is not the
1664           same as its integer value, then update the attribute value to match the integer.
1665         * dom/Attribute.h: Made setValue and setPrefix public.
1666
1667 2007-01-19  John Sullivan  <sullivan@apple.com>
1668
1669         Reviewed by Darin
1670
1671         - WebCore part of fix for: <rdar://problem/4451715> REGRESSION: On some sites, have to 
1672           type a character before username/password autofill kicks in
1673
1674         * loader/FrameLoaderClient.h:
1675         new dispatchDidFinishDocumentLoad call
1676
1677         * loader/FrameLoader.cpp:
1678         (WebCore::FrameLoader::finishedParsing):
1679         call dispatchDidFinishDocumentLoad
1680         
1681         * platform/graphics/svg/SVGImageEmptyClients.h:
1682         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishDocumentLoad):
1683         empty implementation for dispatchDidFinishDocumentLoad
1684
1685 2007-01-19  Adele Peterson  <adele@apple.com>
1686
1687         Reviewed by Hyatt.
1688
1689         Fix for <rdar://problem/4760280> REGRESSION: Bottom portion of text hangs off edge of SELECT element at http://macreviewzone.com/index.php
1690         
1691         Test: fast/forms/control-restrict-line-height.html
1692
1693         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::setFontFromControlSize): Don't honor line-height for controls that
1694           have restricted font size.
1695
1696 2007-01-19  Darin Adler  <darin@apple.com>
1697
1698         Reviewed by Adele.
1699
1700         - fix http://bugs.webkit.org/show_bug.cgi?id=11999
1701           <rdar://problem/4940442> REGRESSION: Incomplete listing in TVListings window (11999)
1702           Fix was to use the actual size of the renderer in the RenderListBox
1703           case, instead of always using the size specified by the select element.
1704
1705         Test: fast/forms/select-list-box-with-height.html
1706
1707         - fix http://bugs.webkit.org/show_bug.cgi?id=11995
1708           <rdar://problem/4901834> REGRESSION(NativeListBox): Focus is not placed on
1709           SELECT after mousing down on OPTION
1710
1711         Test: fast/forms/select-list-box-mouse-focus.html
1712
1713         - fix bug where auto-scrolling was not working in list box select elements
1714
1715         No test yet.
1716
1717         - fix a missing semicolon in the radio/checkbox section of html4.css
1718
1719         Test: fast/forms/radio-no-theme-padding.html
1720
1721         - fix bug where the scroll bars for select elements were pixel-type scroll
1722           bars even though the scrolling is line at a time scrolling
1723
1724         No test.
1725
1726         * html/HTMLSelectElement.cpp:
1727         (WebCore::HTMLSelectElement::selectAll): Removed an explicit call
1728         to repaint, since the RenderListBox now does that in selectionChanged.
1729         (WebCore::HTMLSelectElement::notifyOptionSelected): Call the new
1730         selectionChanged instead of the old setSelectionChanged.
1731         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Added a call
1732         to focus. Removed an explicit call to repaint and added a call to the
1733         new setMouseDownMayStartAutoscroll function in EventHandler. Removed an
1734         explicit call to repaint as above.
1735         (WebCore::HTMLSelectElement::updateListBoxSelection): Call the new
1736         selectionChanged instead of the old setSelectionChanged.
1737
1738         * page/EventHandler.h: Added setMouseDownMayStartAutoscroll, needed
1739         because the existing code to set that flag won't get triggered when
1740         the select element's default event handler handles the event.
1741
1742         * rendering/RenderListBox.h: Made ScrollbarClient a private base class.
1743         Removed setSelectionChanged and m_selectionChanged. Added selectionChanged,
1744         which is really just a synonym for repaint for now. Moved valueChanged,
1745         the ScrollbarClient function implementations, and itemHeight into the
1746         private part of the class. Added numVisibleItems() and listHeight() to
1747         the private section. Changed m_vBar to be a RefPtr.
1748
1749         * rendering/RenderListBox.cpp: Removed unneeded includes. Moved all
1750         the constants to the top of the file.
1751         (WebCore::RenderListBox::RenderListBox): Removed initialization of
1752         m_selectionChanged because it was removed and of m_vBar because it's
1753         now a RefPtr which is automaticall initialized.
1754         (WebCore::RenderListBox::~RenderListBox): Removed the explicit deref of
1755         m_vBar because it's a RefPtr. Added null checking for FrameView.
1756         (WebCore::RenderListBox::updateFromElement): Use numItems().
1757         (WebCore::RenderListBox::calcMinMaxWidth): Added null checking for
1758         FrameView and used RefPtr for the newly-created scroll bar.
1759         (WebCore::RenderListBox::size): Tweaked formatting. Also renamed the
1760         misleading minDefaultSize to maxDefaultSize, since it's a maximum.
1761         (WebCore::RenderListBox::numVisibleItems): Added. Used in many places
1762         where size() was used before. This computes the number of rows we have
1763         room for. We don't need a row space after the last row, and this takes
1764         that into account.
1765         (WebCore::RenderListBox::numItems): Tweaked to remove the local variable.
1766         (WebCore::RenderListBox::listHeight): Added. Total height of all the rows
1767         and spaces between them.
1768         (WebCore::RenderListBox::calcHeight): Changed to call itemHeight for the
1769         row height, and to subtract the last row spacing off since we don't need
1770         a space after the last row. Changed the scroll bar setup to make it
1771         correspond to row numbers, not pixel numbers.
1772         (WebCore::RenderListBox::baselinePosition): Moved the comment to the
1773         constant declaration at the top of the file.
1774         (WebCore::RenderListBox::itemBoundingBoxRect): Simplified by using
1775         the itemHeight() function.
1776         (WebCore::RenderListBox::paintObject): Changed to use numItems and
1777         to use numVisibleItems instead of size.
1778         (WebCore::RenderListBox::isPointInScrollbar): Added get() call since
1779         m_vBar is now a RefPtr.
1780         (WebCore::RenderListBox::listIndexAtOffset): Changed to use numItems(),
1781         itemHeight(), and rearranged a min/max combo so it starts with the low,
1782         then the value, then the high value for pinning.
1783         (WebCore::RenderListBox::autoscroll): Use numVisibleItems() instead of
1784         size().
1785         (WebCore::RenderListBox::stopAutoscroll): Removed an unneeded nil check
1786         of the element.
1787         (WebCore::RenderListBox::scrollToRevealElementAtListIndex): Changed
1788         to use numItems() and to use numVisibleItems() instead of size().
1789         Also changed scroll bar code to work more simply now that the scroll
1790         bar is row-based.
1791         (WebCore::RenderListBox::listIndexIsVisible): Changed to use
1792         numVisibleItems() instead of size().
1793         (WebCore::RenderListBox::valueChanged): Simplified since the scrollbar
1794         is now row-based. Also removed an unnecessary null check.
1795         (WebCore::RenderListBox::itemHeight): Updated for name change from
1796         optionsSpacingMiddle to rowSpacing.
1797         (WebCore::RenderListBox::scrollHeight): Changed to use listHeight().
1798         (WebCore::RenderListBox::setScrollTop): Simplified, and removed the code
1799         that does nothing if the computed list index is visible (which did not
1800         make sense for this function and seemed a cut and paste error from the
1801         scrollToReveal function). The scrollbar part is simpler now that it's
1802         row-based.
1803         (WebCore::RenderListBox::windowClipRect): Changed to use document()->view()
1804         so we don't have to include RenderView.h.
1805
1806         * css/html4.css: Added a semicolon I noticed was missing.
1807
1808 2007-01-19  Beth Dakin  <bdakin@apple.com>
1809
1810         Reviewed by Maciej and Darin.
1811
1812         Fix for <rdar://problem/4702420> REGRESSION: Null characters need 
1813         to be stripped from text nodes (townhall.com)
1814
1815         This was a regression from the fix for <rdar://problem/3727939>
1816         Safari strips \0 characters from HTML tags making them valid, which
1817         was fixed with r12652. We still need to strip null characters in
1818         text nodes.
1819
1820         * html/HTMLTokenizer.cpp:
1821         (WebCore::HTMLTokenizer::write): No behavior change here, this is
1822         just to make Darin happy.
1823         (WebCore::HTMLTokenizer::processToken): Call into StringImpl's new 
1824         createStrippingNull function instead of the normal StringImpl 
1825         constructor.
1826         * platform/StringImpl.cpp:
1827         (WebCore::StringImpl::createStrippingNull): Strip null.
1828         * platform/StringImpl.h:
1829
1830 2007-01-19  David Kilzer  <ddkilzer@webkit.org>
1831
1832         Reviewed by NOBODY (no-svg build fix).
1833
1834         * ksvg2/svg/SVGMPathElement.cpp: Added #ifdef SVG_SUPPORT/#endif guards.
1835
1836 2007-01-19  Anders Carlsson  <acarlsson@apple.com>
1837         
1838         Build fix.
1839         
1840         * platform/graphics/svg/SVGImageEmptyClients.h:
1841         (WebCore::SVGEmptyChromeClient::setStatusbarText):
1842
1843 2007-01-18  Anders Carlsson  <acarlsson@apple.com>
1844
1845         Reviewed by Adam.
1846
1847         Move JavaScript alert and status bar functions to the chrome.
1848         
1849         * bindings/js/kjs_window.cpp:
1850         (KJS::WindowFunc::callAsFunction):
1851         * page/Chrome.cpp:
1852         (WebCore::Chrome::runJavaScriptAlert):
1853         (WebCore::Chrome::runJavaScriptConfirm):
1854         (WebCore::Chrome::runJavaScriptPrompt):
1855         (WebCore::Chrome::setStatusBarText):
1856         * page/Chrome.h:
1857         * page/ChromeClient.h:
1858         * page/Frame.cpp:
1859         (WebCore::Frame::setJSStatusBarText):
1860         (WebCore::Frame::setJSDefaultStatusBarText):
1861         * page/Frame.h:
1862         * page/mac/FrameMac.h:
1863         * page/mac/FrameMac.mm:
1864         * page/mac/WebCoreFrameBridge.h:
1865         * platform/graphics/svg/SVGImageEmptyClients.h:
1866         (WebCore::SVGEmptyChromeClient::runJavaScriptAlert):
1867         (WebCore::SVGEmptyChromeClient::runJavaScriptConfirm):
1868         (WebCore::SVGEmptyChromeClient::runJavaScriptPrompt):
1869         (WebCore::SVGEmptyChromeClient::setStatusBarText):
1870
1871 2007-01-19  Zack Rusin  <zack@kde.org>
1872
1873         Fix the build.
1874
1875         * WebCore.pro: Add missing files
1876
1877 2007-01-19  Eric Seidel  <eric@webkit.org>
1878
1879         Reviewed by rwlbuis.
1880
1881         More cleanup to SVGAnimated* classes.
1882
1883         No tests possible (only code cleanup)
1884
1885         * ksvg2/svg/SVGAnimateMotionElement.cpp:
1886         (WebCore::SVGAnimateMotionElement::applyAnimationToValue):
1887         * ksvg2/svg/SVGAnimateMotionElement.h:
1888         * ksvg2/svg/SVGAnimationElement.cpp:
1889         (WebCore::SVGAnimationElement::parseBeginOrEndValue):
1890         (WebCore::SVGAnimationElement::parseMappedAttribute):
1891         (WebCore::SVGAnimationElement::parseClockValue):
1892         (WebCore::SVGAnimationElement::isIndefinite):
1893         * ksvg2/svg/SVGAnimationElement.h:
1894
1895 2007-01-19  Nikolas Zimmermann  <zimmermann@kde.org>
1896
1897         Not reviewed.
1898
1899         Remove accidently commited debug output. Shame on me :-)
1900
1901         * ksvg2/svg/SVGUseElement.cpp:
1902         (WebCore::SVGUseElement::notifyAttributeChange):
1903
1904 2007-01-19  Nikolas Zimmermann  <zimmermann@kde.org>
1905
1906         Reviewed by Eric.
1907
1908         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10410 (SVG Slider example renders completely wrong (inserting <use> dynamically doesn't work))
1909         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11660 (SVG: creation of <use/> elements through scripting/DOM doesn't work)
1910
1911         Added test: svg/custom/use-instanceRoot-modifications.svg
1912         Added test: svg/custom/use-on-g.svg
1913         Added test: svg/custom/use-on-rect.svg
1914         Added test: svg/custom/use-on-symbol-inside-pattern.svg
1915         Added test: svg/custom/use-on-symbol.svg
1916         Added test: svg/custom/use-on-text.svg
1917         Added test: svg/custom/use-transform.svg
1918
1919         Fixes: svg/W3C-SVG-1.1/text-text-04-t.svg (missing use elements)
1920         Fixes: svg/carto.net/button.svg (image buttons didn't appear)
1921         Fixes: svg/carto.net/colourpicker.svg (slider handles finally show up)
1922         Fixes: svg/carto.net/slider.svg (slider handles finally show up)
1923         Fixes: svg/carto.net/window.svg (window decorations show up) 
1924         Fixes: svg/custom/use-forward-refs.svg (missing use elements)
1925
1926         Rewrite <use> support with a real-shadow tree (as the spec demands), and implement SVGElementInstance.
1927         AFAIK we're the first implementing this SVG feature - after ASV3 (!).
1928
1929         * DerivedSources.make:
1930         * WebCore.xcodeproj/project.pbxproj:
1931         * bindings/objc/DOMInternal.h:
1932         * bindings/objc/DOMSVG.h:
1933         * ksvg2/misc/SVGDocumentExtensions.cpp:
1934         (WebCore::SVGDocumentExtensions::reportWarning):
1935         (WebCore::SVGDocumentExtensions::reportError):
1936         (WebCore::SVGDocumentExtensions::addPendingResource):
1937         (WebCore::SVGDocumentExtensions::isPendingResource):
1938         (WebCore::SVGDocumentExtensions::removePendingResource):
1939         (WebCore::SVGDocumentExtensions::mapInstanceToElement):
1940         (WebCore::SVGDocumentExtensions::removeInstanceMapping):
1941         (WebCore::SVGDocumentExtensions::instancesForElement):
1942         * ksvg2/misc/SVGDocumentExtensions.h:
1943         * ksvg2/svg/SVGCircleElement.cpp:
1944         (WebCore::SVGCircleElement::notifyAttributeChange):
1945         * ksvg2/svg/SVGElement.cpp:
1946         (WebCore::SVGElement::insertedIntoDocument):
1947         * ksvg2/svg/SVGElement.h:
1948         (WebCore::SVGElement::buildPendingResource):
1949         * ksvg2/svg/SVGElementInstance.cpp:
1950         (WebCore::SVGElementInstance::SVGElementInstance):
1951         (WebCore::SVGElementInstance::~SVGElementInstance):
1952         (WebCore::SVGElementInstance::clonedElement):
1953         (WebCore::SVGElementInstance::correspondingElement):
1954         (WebCore::SVGElementInstance::correspondingUseElement):
1955         (WebCore::SVGElementInstance::parentNode):
1956         (WebCore::SVGElementInstance::childNodes):
1957         (WebCore::SVGElementInstance::previousSibling):
1958         (WebCore::SVGElementInstance::nextSibling):
1959         (WebCore::SVGElementInstance::firstChild):
1960         (WebCore::SVGElementInstance::lastChild):
1961         (WebCore::SVGElementInstance::appendChild):
1962         (WebCore::SVGElementInstance::updateInstance):
1963         * ksvg2/svg/SVGElementInstance.h:
1964         * ksvg2/svg/SVGElementInstance.idl: Added.
1965         * ksvg2/svg/SVGElementInstanceList.cpp:
1966         (WebCore::SVGElementInstanceList::SVGElementInstanceList):
1967         (WebCore::SVGElementInstanceList::length):
1968         (WebCore::SVGElementInstanceList::item):
1969         * ksvg2/svg/SVGElementInstanceList.h:
1970         * ksvg2/svg/SVGElementInstanceList.idl: Added.
1971         * ksvg2/svg/SVGEllipseElement.cpp:
1972         (WebCore::SVGEllipseElement::notifyAttributeChange):
1973         * ksvg2/svg/SVGGElement.cpp:
1974         * ksvg2/svg/SVGGElement.h:
1975         (WebCore::SVGGElement::contextElement):
1976         * ksvg2/svg/SVGGradientElement.cpp:
1977         * ksvg2/svg/SVGGradientElement.h:
1978         * ksvg2/svg/SVGHiddenElement.h: Added.
1979         (WebCore::SVGHiddenElement::Type):
1980         (WebCore::SVGHiddenElement::~SVGHiddenElement):
1981         (WebCore::SVGHiddenElement::localName):
1982         * ksvg2/svg/SVGImageElement.cpp:
1983         (WebCore::SVGImageElement::notifyAttributeChange):
1984         * ksvg2/svg/SVGLineElement.cpp:
1985         (WebCore::SVGLineElement::notifyAttributeChange):
1986         * ksvg2/svg/SVGPathElement.cpp:
1987         (WebCore::SVGPathElement::notifyAttributeChange):
1988         * ksvg2/svg/SVGPatternElement.cpp:
1989         * ksvg2/svg/SVGPatternElement.h:
1990         * ksvg2/svg/SVGPolyElement.cpp:
1991         (WebCore::SVGPolyElement::notifyAttributeChange):
1992         * ksvg2/svg/SVGRectElement.cpp:
1993         (WebCore::SVGRectElement::notifyAttributeChange):
1994         * ksvg2/svg/SVGStyledElement.cpp:
1995         (WebCore::SVGStyledElement::notifyAttributeChange):
1996         (WebCore::SVGStyledElement::updateElementInstance):
1997         * ksvg2/svg/SVGStyledElement.h:
1998         * ksvg2/svg/SVGUseElement.cpp:
1999         (WebCore::SVGUseElement::instanceRoot):
2000         (WebCore::SVGUseElement::animatedInstanceRoot):
2001         (WebCore::SVGUseElement::hasChildNodes):
2002         (WebCore::SVGUseElement::insertedIntoDocument):
2003         (WebCore::SVGUseElement::buildPendingResource):
2004         (WebCore::SVGUseElement::createRenderer):
2005         (WebCore::SVGUseElement::buildShadowTree):
2006         (WebCore::SVGUseElement::recursiveShadowTreeBuilder):
2007         (WebCore::dumpShadowTree):
2008         (WebCore::SVGUseElement::addShadowTree):
2009         * ksvg2/svg/SVGUseElement.h:
2010         * ksvg2/svg/SVGUseElement.idl:
2011
2012 2007-01-19  Eric Seidel  <eric@webkit.org>
2013
2014         Reviewed by rwlbuis.
2015
2016         Add support for SVGMPathElement parsing.
2017
2018         No test cases possible (SVGAnimateMotion doesn't work yet)
2019
2020         * WebCore.xcodeproj/project.pbxproj:
2021         * ksvg2/svg/SVGAnimateMotionElement.cpp:
2022         (WebCore::SVGAnimateMotionElement::animationPath):
2023         * ksvg2/svg/SVGMPathElement.cpp: Added.
2024         (WebCore::SVGMPathElement::SVGMPathElement):
2025         (WebCore::SVGMPathElement::~SVGMPathElement):
2026         (WebCore::SVGMPathElement::parseMappedAttribute):
2027         (WebCore::SVGMPathElement::pathElement):
2028         * ksvg2/svg/SVGMPathElement.h: Added.
2029         * ksvg2/svg/SVGNumberList.cpp:
2030         (WebCore::SVGNumberList::parse): fix typo in comment
2031         * ksvg2/svg/svgtags.in: add back mpath
2032
2033 2007-01-19  Eric Seidel  <eric@webkit.org>
2034
2035         Reviewed by rwlbuis.
2036
2037         Implement better parsing for keyTimes, keySplines and keyPoints.
2038
2039         Unfortunately none of this code is used much yet, thus isn't very testable.
2040
2041         * ksvg2/svg/SVGAnimateMotionElement.cpp:
2042         (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
2043         * ksvg2/svg/SVGAnimationElement.cpp:
2044         (WebCore::SVGAnimationElement::parseKeyNumbers):
2045         (WebCore::parseKeySplines):
2046         (WebCore::SVGAnimationElement::parseMappedAttribute):
2047         * ksvg2/svg/SVGAnimationElement.h:
2048         * ksvg2/svg/SVGNumberList.cpp:
2049         (WebCore::SVGNumberList::parse):
2050
2051 2007-01-18  Adam Roben  <aroben@apple.com>
2052
2053         Reviewed by Beth.
2054
2055         Fix: <rdar://problem/4939672> REGRESSION: With text selected that is
2056         not a link, the "Remove Link" contextual menu item remains active
2057
2058         * platform/ContextMenuItem.h: Added enabled method.
2059         * platform/qt/ContextMenuItemQt.cpp:
2060         (WebCore::ContextMenuItem::enabled): Implemented.
2061         * platform/mac/ContextMenuItemMac.mm:
2062         (WebCore::ContextMenuItem::enabled): Ditto.
2063         * platform/mac/ContextMenuMac.mm:
2064         (-[WebCoreMenuTarget validateMenuItem:]): Implemented to fulfill the
2065         NSMenuValidation protocol.
2066         
2067 2007-01-18  Beth Dakin  <bdakin@apple.com>
2068
2069         Reviewed by Adele.
2070
2071         Fix for <rdar://problem/4939558> REGRESSION: "Search in Google", 
2072         "Search in Spotlight" and "Look up in Dictionary" are missing 
2073         initially from the contextual menu
2074
2075         The bug here is that we select the we were selecting the word after 
2076         the context menu event was dispatched and after the context menu 
2077         was built up.
2078
2079         * page/EventHandler.cpp:
2080         (WebCore::EventHandler::sendContextMenuEvent): Select the word 
2081         before dispatching the event. It is safe to remove the check for 
2082         swallowEvent since WebCore context menus ensure that we always 
2083         swallow the event anyway.
2084
2085 2007-01-18  Mark Rowe  <mrowe@apple.com>
2086
2087         Reviewed by Tim H.
2088
2089         Fix for http://bugs.webkit.org/show_bug.cgi?id=7926
2090         Bug 7926: Crash using -callWebScriptMethod to access offsetTop property
2091
2092         * bindings/objc/WebScriptObject.mm:
2093         (-[WebScriptObject callWebScriptMethod:withArguments:]): Bail out early if function value is an immediate,
2094         or if the function object is not callable.
2095
2096 2007-01-18  Sam Weinig  <sam@webkit.org>
2097
2098         Reviewed by Maciej.
2099
2100         Patch for http://bugs.webkit.org/show_bug.cgi?id=11853
2101         REGRESSION (r17352): Whitespace in <title> is rendered
2102
2103         * loader/DocumentLoader.cpp:
2104         (WebCore::canonicalizedTitle): Changed to also collapse internal
2105         whitespace.  This required removing an optimization that is no
2106         longer possible.
2107         * manual-tests/title-internal-whitespace.html: Added.
2108
2109 2007-01-18  Mitz Pettel  <mitz@webkit.org>
2110
2111         Reviewed by Maciej.
2112
2113         - fix http://bugs.webkit.org/show_bug.cgi?id=12039
2114           Assertion failure in WebCore::Font::primaryFont
2115
2116         Test: fast/text/font-initial.html
2117
2118         * css/cssstyleselector.cpp:
2119         (WebCore::CSSStyleSelector::applyProperty): Give 'font: initial' the
2120         Standard generic family. This makes the FontDescription different from
2121         that of the initial font of a GraphicsContext, ensuring that the latter
2122         will not be used.
2123
2124 2007-01-18  Mitz Pettel  <mitz@webkit.org>
2125
2126         Reviewed by Darin.
2127
2128         - fix http://bugs.webkit.org/show_bug.cgi?id=11451
2129           REGRESSION: Dell.com does not render correctly in ToT (stylesheet not loaded)
2130
2131         Test: http/tests/misc/css-accept-any-type.html
2132
2133         * loader/CachedCSSStyleSheet.cpp:
2134         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Changed the accept header
2135         for stylesheets to "text/css,*/*;q=0.1" to match Firefox, accepting CSS served
2136         as any type.
2137
2138 2007-01-18  Mitz Pettel  <mitz@webkit.org>
2139
2140         Reviewed by Darin.
2141
2142         - fix http://bugs.webkit.org/show_bug.cgi?id=11271
2143         REGRESSION (r12358): Text in display: table unselectable
2144
2145         Test: editing/selection/display-table-text.html
2146
2147         * editing/htmlediting.cpp:
2148         (WebCore::isTableElement): Changed to return false for text nodes.
2149
2150 2007-01-18  Mitz Pettel  <mitz@webkit.org>
2151
2152         Reviewed by Darin.
2153
2154         - fix http://bugs.webkit.org/show_bug.cgi?id=6218
2155           CSS1: WebTextRenderer caches and re-uses fallback renderers that are based on family lists
2156
2157         This patch takes character-to-glyph mapping out of FontData and instead makes
2158         each Font keep its own mapping, using a shared set of glyph page fallback trees.
2159
2160         For each page number there is (at most) one tree. A path from the root to a
2161         node in the tree corresponds to a fallback list of FontDatas. The node points to
2162         a page (which may be shared with other nodes) that maps each character in its range
2163         to a glyph in the first FontData in the fallback list that has it, or to 0 if none of
2164         the FontDatas has a glyph for that character. A special kind of node, that can
2165         only occur as a leaf, corresponds to using system fallback fonts after the list
2166         has been exhausted. This prevents system fallback from polluting non-leaf
2167         nodes.
2168
2169         Nodes and pages are initialized lazily and employ "copy on write".
2170
2171         * CMakeLists.txt:
2172         * WebCore.pro:
2173         * WebCore.vcproj/WebCore/WebCore.vcproj:
2174         * WebCore.xcodeproj/project.pbxproj:
2175         * WebCoreSources.bkl:
2176         * platform/Font.cpp:
2177         (WebCore::WidthIterator::WidthIterator): Removed substituteFontData.
2178         (WebCore::WidthIterator::advance): Moved all character-to-glyph mapping logic out
2179         of here and replaced it with a call to Font::glyphDataForCharacter().
2180         (WebCore::Font::Font):
2181         (WebCore::Font::operator=):
2182         (WebCore::Font::glyphDataForCharacter): Added. This method performs the lookup in the
2183         page fallback trees, triggering lazy initialization as needed, and caching pointers to
2184         the retrieved page tree nodes in the font.
2185         (WebCore::Font::update):
2186         (WebCore::Font::drawSimpleText):
2187         (WebCore::Font::floatWidth):
2188         (WebCore::Font::floatWidthForSimpleText): Removed substituteFont argument.
2189         (WebCore::Font::offsetForPositionForSimpleText):
2190         * platform/Font.h:
2191         * platform/FontData.cpp:
2192         (WebCore::FontData::FontData):
2193         * platform/FontData.h:
2194         (WebCore::FontData::missingGlyphData): Added. Returns the "missing glyph" GlyphData for
2195         this FontData.
2196         * platform/GlyphMap.cpp: Removed.
2197         * platform/GlyphMap.h: Removed.
2198         * platform/GlyphPageTreeNode.cpp: Renamed GlyphMap.cpp to this.
2199         (WebCore::GlyphPageTreeNode::getRoot): Added. Returns the root of the page fallback tree for
2200         the given page number.
2201         (WebCore::GlyphPageTreeNode::initializePage): Added. Helper method that initializes the page
2202         pointer of a node, possibly to a pointer to another node's page or to 0.
2203         (WebCore::GlyphPageTreeNode::getChild): Added.
2204         * platform/GlyphPageTreeNode.h: Renamed GlyphMap.h to this.
2205         (WebCore::GlyphPage::glyphDataForCharacter):
2206         (WebCore::GlyphPage::setGlyphDataForCharacter):
2207         (WebCore::GlyphPage::setGlyphDataForIndex):
2208         (WebCore::GlyphPageTreeNode::GlyphPageTreeNode):
2209         (WebCore::GlyphPageTreeNode::getRootChild):
2210         (WebCore::GlyphPageTreeNode::parent):
2211         (WebCore::GlyphPageTreeNode::page):
2212         (WebCore::GlyphPageTreeNode::level):
2213         (WebCore::GlyphPageTreeNode::isSystemFallback): Added. Returns whether the node corresponds
2214         to the system providing fallback fonts, which is done on a character-by-character basis.
2215         * platform/gdk/GlyphMapGdk.cpp: Removed.
2216         * platform/gdk/GlyphPageTreeNodeGdk.cpp: Renamed GlyphMapGdk.cpp to this.
2217         (WebCore::GlyphPage::fill):
2218         * platform/mac/FontDataMac.mm:
2219         (WebCore::FontData::platformInit):
2220         * platform/mac/FontMac.mm:
2221         (WebCore::Font::Font):
2222         * platform/mac/GlyphMapMac.cpp: Removed.
2223         * platform/mac/GlyphPageTreeNodeMac.cpp: Renamed GlypMapMac.cpp to this.
2224         (WebCore::GlyphPage::fill): Changed to return false if the font has no glyphs in the page.
2225         * platform/qt/GlyphMapQt.cpp: Removed.
2226         * platform/qt/GlyphPageTreeNodeQt.cpp: Renamed GlyphMapQt.cpp to this.
2227         (WebCore::GlyphPage::fill):
2228         * platform/win/GlyphMapWin.cpp: Removed.
2229         * platform/win/GlyphPageTreeNodeWin.cpp: Renamed GlyphMapWin to this.
2230         (WebCore::GlyphPage::fill):
2231
2232 2007-01-18  Mitz Pettel  <mitz@webkit.org>
2233
2234         Reviewed by Darin.
2235
2236         - fix http://bugs.webkit.org/show_bug.cgi?id=9952
2237           REGRESSION: Repro crash when dragging an image from the window to the address bar
2238
2239         * page/FrameView.cpp:
2240         (WebCore::FrameView::~FrameView): Removed the call to Document::detach(). If this
2241         view is the current view, then the Frame should have already detached the document.
2242         Added an assertion that this is the case. If this view is not the current view,
2243         then it cannot access its document, but the page cache should have detached it already.
2244         Similarly, changed to call RenderPart::setWidget() only if this is the current view
2245         in the frame.
2246         (WebCore::FrameView::adjustViewSize): Added an assertion that this view is the current
2247         view in the frame.
2248         (WebCore::FrameView::layout): Ditto.
2249         (WebCore::FrameView::scheduleRelayout): Ditto.
2250         (WebCore::FrameView::scheduleRelayoutOfSubtree): Ditto.
2251         (WebCore::FrameView::windowClipRect): Ditto.
2252
2253 2007-01-18  Eric Seidel  <eric@webkit.org>
2254
2255         Reviewed by bdash.
2256
2257         No test needed, removed bogus debug-only ASSERT.
2258
2259         * rendering/RenderSVGContainer.cpp:
2260         (WebCore::RenderSVGContainer::paint):
2261
2262 2007-01-18  Alice Liu  <alice.liu@apple.com>
2263
2264         Build Fix
2265
2266         * platform/mac/PasteboardMac.mm:
2267         (WebCore::Pasteboard::writeSelection):
2268
2269 2007-01-18  Alice Liu  <alice.liu@apple.com>
2270
2271         Reviewed by Mark Rowe.
2272
2273         Fixes the leaks from my last patch, except for the first change below which is a missing delegate call for Mail purposes
2274
2275         * editing/Editor.cpp:
2276         (WebCore::Editor::cut):
2277         * platform/Pasteboard.h:
2278         * platform/mac/PasteboardMac.mm:
2279         (WebCore::Pasteboard::Pasteboard):
2280         (WebCore::Pasteboard::clear):
2281         (WebCore::Pasteboard::writeSelection):
2282         (WebCore::Pasteboard::writeURL):
2283         (WebCore::Pasteboard::plainText):
2284         (WebCore::Pasteboard::documentFragment):
2285
2286 2007-01-18  David Hyatt  <hyatt@apple.com>
2287
2288         Make sure layer autoscrolling puts the event coordinates into the layer's coordinate space before
2289         calling hitTest on it.  Fixes "flashy" selection in textareas.
2290
2291         Reviewed by darin
2292
2293         * rendering/RenderLayer.cpp:
2294         (WebCore::RenderLayer::autoscroll):
2295         * rendering/RenderTextControl.cpp:
2296         (WebCore::RenderTextControl::nodeAtPoint):
2297
2298 2007-01-18  Anders Carlsson  <acarlsson@apple.com>
2299
2300         Reviewed by Adam.
2301
2302         Get rid of ResourceLoaderMac.mm and make willCacheResponse platform-independent.
2303         
2304         * loader/ResourceLoader.cpp:
2305         (WebCore::ResourceLoader::willCacheResponse):
2306         * loader/ResourceLoader.h:
2307         * loader/mac/ResourceLoaderMac.mm: Removed.
2308         * platform/network/ResourceHandleClient.h:
2309         (WebCore::):
2310         (WebCore::ResourceHandleClient::willCacheResponse):
2311         (WebCore::ResourceHandleClient::willStopBufferingData):
2312         * platform/network/mac/ResourceHandleMac.mm:
2313         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
2314
2315 2007-01-18  Maciej Stachowiak  <mjs@apple.com>
2316
2317         Reviewed by John.
2318
2319         - fixed <rdar://problem/4887416> REGRESSION (SearchField): Assertion failure in HTMLInputElement::setValueFromRenderer when editing via drag and drop (11846)
2320         http://bugs.webkit.org/show_bug.cgi?id=11846
2321         
2322         * editing/ReplaceSelectionCommand.cpp:
2323         (WebCore::ReplaceSelectionCommand::doApply): Don't insert extra paragraph separators to avoid
2324         nesting blocks in plaintext mode, since that's not an issue under normal circumstances.
2325         * html/HTMLInputElement.h:
2326         * manual-tests/drag-move-in-search-field.html: Added.
2327         * rendering/RenderTextControl.cpp:
2328         (WebCore::RenderTextControl::subtreeHasChanged): constrain the value; we'd
2329         rather truncate it than end up with an illegal value here.
2330
2331 2007-01-18  Simon Hausmann  <hausmann@kde.org>
2332
2333         Reviewed by Zack.
2334
2335         * WebCore.pro: Ha^H^HFix to support massive parallel builds.
2336
2337 2007-01-18  David Kilzer  <ddkilzer@kilzer.net>
2338
2339         Reviewed by Darin and Mitz.
2340
2341         - fix http://bugs.webkit.org/show_bug.cgi?id=12305
2342           REGRESSION: Images do not load in video sections on CNN.com homepage
2343
2344         <rdar://problem/4931480> REGRESSION: Images do not load in video sections on CNN.com homepage (12305)
2345
2346         Test: fast/dom/HTMLImageElement/image-lowsrc-getset.html
2347
2348         * html/HTMLAttributeNames.in: Added lowsrc.
2349         * html/HTMLImageElement.cpp:
2350         (WebCore::HTMLImageElement::isURLAttribute): Added lowsrc.
2351         (WebCore::HTMLImageElement::lowsrc): Added.
2352         (WebCore::HTMLImageElement::setLowsrc): Added.
2353         * html/HTMLImageElement.h: Added lowsrc and setLowsrc.
2354         * html/HTMLImageElement.idl: Added lowsrc.
2355
2356 2007-01-18  Simon Hausmann  <hausmann@kde.org>
2357
2358         Reviewed by Zack.
2359
2360         * WebCore.pro: Remove generated files on make clean.
2361
2362 2007-01-17  Alice Liu  <alice.liu@apple.com>
2363
2364         Reviewed by Harrison.
2365
2366         Fix for <rdar://problem/4894155> REGRESSION: Extra line break is pasted with content into message body after choosing File - Paste
2367
2368         Migration of some editing code from WebHTMView to WebCore::Editor
2369         resulted in not calling pasteboardTypesForSelection, which Mail was
2370         overriding for the special purpose of adding a type to the
2371         pasteboard after WebKit did.  This patch adds 2 separate code paths
2372         for Tiger and Leopard.  On Tiger we give in and call the WebView's
2373         pasteboardTypesForSelection.  On Leopard we call a delegate after
2374         the pasteboard types are set. 
2375
2376         * bridge/EditorClient.h:
2377         * editing/Editor.h:
2378         * platform/Pasteboard.h:
2379         * platform/graphics/svg/SVGImageEmptyClients.h:
2380         (WebCore::SVGEmptyEditorClient::didSetSelectionTypesForPasteboard):
2381         (WebCore::SVGEmptyEditorClient::pasteboardTypesForSelection):
2382         * platform/mac/PasteboardMac.mm:
2383         (WebCore::Pasteboard::Pasteboard):
2384         (WebCore::Pasteboard::clear):
2385         (WebCore::Pasteboard::writeSelection):
2386         (WebCore::Pasteboard::writeURL):
2387         (WebCore::Pasteboard::plainText):
2388         (WebCore::Pasteboard::documentFragment):
2389
2390 2007-01-17  John Sullivan  <sullivan@apple.com>
2391
2392         Reviewed by Darin
2393
2394         - WebCore part of fix for <rdar://problem/4462420> REGRESSION: Mail hangs during 
2395           Replace All if the replacement string contains the search string
2396         
2397         * page/Frame.h:
2398         * page/Frame.cpp:
2399         (WebCore::Frame::findString):
2400         new startInSelection parameter -- if true, search starts looking in selection; if false,
2401         search starts looking after the selection
2402         
2403         * page/mac/WebCoreFrameBridge.h:
2404         * page/mac/WebCoreFrameBridge.mm:
2405         (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:startInSelection:]):
2406         new startInSelection parameter, passed through to Frame::findString()
2407
2408         * editing/JSEditor.cpp:
2409         pass false for new findString parameter, to match old behavior
2410
2411 2007-01-17  Beth Dakin  <bdakin@apple.com>
2412
2413         Rubber stamped by Darin.
2414
2415         * rendering/HitTestResult.cpp: Just added a comment.
2416
2417 2007-01-17  Justin Garcia  <justin.garcia@apple.com>
2418
2419         Reviewed by darin
2420         
2421         <rdar://problem/4920488>
2422         REGRESSION: A crash occurs at WebCore::Range::processContents () when removing formatting from selected text (that contains a link)
2423
2424         * dom/Range.cpp:
2425         (WebCore::Range::commonAncestorContainer): Return null if the nodes
2426         don't have a common ancestor.  As a side effect, the public 
2427         commonAncestorContainer now sets an exception if the Range starts
2428         in one document and ends in another, or starts or ends in a tree
2429         that's been removed from the document.  The spec doesn't cover
2430         this and there is no precedent in other browsers for this case because
2431         they don't allow invalid Ranges (you can create one with WebCore
2432         by removing a node that contains the start/end of a Range).
2433         (WebCore::Range::compareBoundaryPoints): If the the two positions
2434         are in nodes that have no common ancestor, return null.  This doesn't
2435         change the behavior of the public compareBoundaryPoints: it already
2436         throws an exception if the two positions are in nodes that don't have
2437         a common ancestor.  This follows the spec.
2438
2439 2007-01-17  John Sullivan  <sullivan@apple.com>
2440
2441         The one word was typed by me, but only after debugging for a long time with Darin.
2442
2443         - fixed <rdar://problem/4912002> REGRESSION: Series of words marked as a single misspelled word
2444
2445         * editing/TextIterator.cpp:
2446         (WebCore::WordAwareIterator::WordAwareIterator):
2447         We were creating a TextIterator with the default kind, but WordAwareIterator is designed to work
2448         in concert with CharacterIterator, so they need to use the same kind. CharacterIterator uses
2449         kind RUNFINDER, so WordAwareIterator needs to do so also.
2450
2451 2007-01-17  Adele Peterson  <adele@apple.com>
2452
2453         Reviewed by Brady.
2454
2455         Fix for <rdar://problem/4900895> REGRESSION: onChange doesn't always fire for popups that have had value changed by JS
2456
2457         No test case since you need to open up the menu to fire onChange.
2458
2459         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setSelectedIndex):
2460           Keep track of m_lastOnChangeIndex even when we're not firing onChange.  Since
2461           the selected index has changed, we still want the m_lastOnChangeIndex to be up to date when we compare
2462           it later.  This matches our behavior in Safari 2.0.
2463
2464 2007-01-17  Adele Peterson  <adele@apple.com>
2465
2466         Reviewed by Darin and John.
2467
2468         - Fix for <rdar://problem/4816550> REGRESSION: autoscrolling doesn't work after double-click
2469
2470         * page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent): Set swallowEvent bool instead
2471           of returning early for double and triple clicks.
2472
2473 2007-01-17  Darin Adler  <darin@apple.com>
2474
2475         Reviewed by Hyatt.
2476
2477         * rendering/RenderObject.h: Removed unused nextEditable and previousEditable.
2478         * rendering/RenderObject.cpp: Ditto.
2479
2480 2007-01-17  Darin Adler  <darin@apple.com>
2481
2482         Reviewed by Maciej.
2483
2484         - fix http://bugs.webkit.org/show_bug.cgi?id=12278
2485           <rdar://problem/4928705> REGRESSION(r13070): Dragged image size includes padding (12278)
2486
2487         * WebCore.exp: Added HitTestResult::imageRect,
2488         removed HitTestResult::boundingBox.
2489
2490         * rendering/HitTestResult.h:
2491         * rendering/HitTestResult.cpp: (WebCore::HitTestResult::imageRect):
2492         Added. Returns the content rectangle of the image.
2493
2494         * rendering/RenderObject.h:
2495         * rendering/RenderObject.cpp:
2496         (WebCore::RenderObject::absolutePosition): Made const.
2497         (WebCore::RenderObject::contentBox): Added.
2498         (WebCore::RenderObject::absoluteContentBox): Added.
2499
2500         * rendering/RenderBox.h:
2501         * rendering/RenderBox.cpp:
2502         (WebCore::RenderBox::absolutePosition): Made const.
2503
2504         * rendering/RenderTableCell.h:
2505         * rendering/RenderTableCell.cpp:
2506         (WebCore::RenderTableCell::absolutePosition): Made const.
2507
2508         * rendering/RenderView.h:
2509         * rendering/RenderView.cpp:
2510         (WebCore::RenderView::absolutePosition): Made const.
2511
2512 2007-01-17  Adele Peterson  <adele@apple.com>
2513
2514         Reviewed by Beth.
2515
2516         Fix for  http://bugs.webkit.org/show_bug.cgi?id=10139
2517         <rdar://problem/4823028> REGRESSION: Reproducible crash when selecting a popup/button with ::selection pseudostyle
2518
2519         Test: fast/css/pseudostyle-anonymous-text.html
2520
2521         * rendering/RenderObject.cpp: (WebCore::RenderObject::getPseudoStyle): Nil check the node.
2522
2523 2007-01-17  Adele Peterson  <adele@apple.com>
2524
2525         Reviewed by Anders and John.
2526
2527         Fix for http://bugs.webkit.org/show_bug.cgi?id=11278
2528         <rdar://problem/4826875> REGRESSION: Popup width doesn't change to accommodate dynamic changes to options
2529
2530         Test: fast/forms/menulist-width-change.html
2531
2532         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
2533           When the options change, call setNeedsLayoutAndMinMaxRecalc.
2534
2535 2007-01-16  Alexey Proskuryakov  <ap@webkit.org>
2536
2537         Reviewed by Maciej.
2538
2539         http://bugs.webkit.org/show_bug.cgi?id=12268
2540         Give object prototypes their own names
2541
2542         * bindings/js/kjs_html.cpp: Changed the names of KJS:HTMLElement and KJS::HTMLElement to 
2543         not match the names of their WebCore counterparts. The "DOM" prefix I gave them doesn't 
2544         seem to carry much sense, but matches some other kjs_html object names.
2545
2546         * bindings/scripts/CodeGeneratorJS.pm: Append "Proto" to interface name for the prototype's ClassInfo.
2547
2548         * bindings/js/JSHTMLInputElementBase.cpp:
2549         (WebCore::JSHTMLInputElementBasePrototypeFunction::callAsFunction):
2550         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
2551         * bindings/js/JSHTMLInputElementBase.h:
2552         * bindings/js/JSXMLHttpRequest.cpp:
2553         (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
2554         (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
2555         (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
2556         * bindings/js/JSXMLHttpRequest.h:
2557         * bindings/js/JSXSLTProcessor.cpp:
2558         (KJS::JSXSLTProcessor::JSXSLTProcessor):
2559         (KJS::XSLTProcessorPrototypeFunction::callAsFunction):
2560         (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
2561         * bindings/js/kjs_css.cpp:
2562         (KJS::DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
2563         (KJS::DOMCSSStyleDeclarationPrototypeFunction::callAsFunction):
2564         (KJS::DOMMediaList::DOMMediaList):
2565         (KJS::KJS::DOMMediaListPrototypeFunction::callAsFunction):
2566         (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet):
2567         (KJS::DOMCSSStyleSheetPrototypeFunction::callAsFunction):
2568         (KJS::DOMCSSValue::DOMCSSValue):
2569         (KJS::DOMCSSValuePrototypeFunction::callAsFunction):
2570         * bindings/js/kjs_css.h:
2571         * bindings/js/kjs_dom.cpp:
2572         (KJS::DOMNode::DOMNode):
2573         (KJS::DOMNodePrototypeFunction::callAsFunction):
2574         (KJS::DOMEventTargetNode::DOMEventTargetNode):
2575         (KJS::DOMEventTargetNodePrototypeFunction::callAsFunction):
2576         (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
2577         (KJS::DOMNamedNodeMapPrototypeFunction::callAsFunction):
2578         * bindings/js/kjs_dom.h:
2579         * bindings/js/kjs_domnode.h:
2580         * bindings/js/kjs_events.cpp:
2581         (KJS::DOMEvent::DOMEvent):
2582         (KJS::DOMEventPrototypeFunction::callAsFunction):
2583         (KJS::Clipboard::Clipboard):
2584         (KJS::ClipboardPrototypeFunction::callAsFunction):
2585         * bindings/js/kjs_events.h:
2586         * bindings/js/kjs_html.cpp:
2587         (KJS::JSHTMLDocumentPrototypeFunction::callAsFunction):
2588         (KJS::):
2589         (KJS::JSHTMLDocument::JSHTMLDocument):
2590         (KJS::JSHTMLElementPrototypeFunction::callAsFunction):
2591         (KJS::JSHTMLElement::JSHTMLElement):
2592         (KJS::JSHTMLCollection::JSHTMLCollection):
2593         (KJS::JSHTMLCollectionPrototypeFunction::callAsFunction):
2594         * bindings/js/kjs_html.h:
2595         * bindings/js/kjs_navigator.cpp:
2596         * bindings/js/kjs_traversal.cpp:
2597         (KJS::DOMNodeFilter::DOMNodeFilter):
2598         (KJS::DOMNodeFilterPrototypeFunction::callAsFunction):
2599         * bindings/js/kjs_window.cpp:
2600         (KJS::Window::clear):
2601         Changed Proto to Prototype, and ProtoFunc to PrototypeFunction.
2602
2603 2007-01-17  Lars Knoll <lars@trolltech.com>
2604
2605         Reviewed by Zack and Darin
2606
2607         Fix the Qt build again after the latest Image changes.
2608         Also make some of the methods implemented in ImageCG 
2609         crossplatform.
2610
2611         * platform/graphics/BitmapImage.h:
2612         * platform/graphics/Image.cpp:
2613         (WebCore::Image::fillWithSolidColor):
2614         (WebCore::calculatePatternScale):
2615         (WebCore::Image::drawTiled):
2616         * platform/graphics/Image.h:
2617         * platform/graphics/cg/ImageCG.cpp:
2618         (WebCore::BitmapImage::draw):
2619         * platform/graphics/qt/ImageQt.cpp:
2620         (WebCore::Image::loadPlatformResource):
2621         (WebCore::Image::drawPattern):
2622         (WebCore::BitmapImage::initPlatformData):
2623         (WebCore::BitmapImage::invalidatePlatformData):
2624         (WebCore::BitmapImage::draw):
2625         (WebCore::BitmapImage::drawPattern):
2626         * platform/qt/TemporaryLinkStubs.cpp:
2627
2628 2007-01-17  Darin Adler  <darin@apple.com>
2629
2630         - quick attempt to fix the Qt build
2631
2632         * platform/graphics/qt/ImageQt.cpp: (WebCore::BitmapImage::drawTiled):
2633         Remove obsolete parameters from this stub.
2634
2635 2007-01-17  Eric Seidel  <eric@webkit.org>
2636
2637         Reviewed by rwlbuis.
2638
2639         Test: svg/custom/inner-svg-hit-test.svg
2640
2641         * rendering/RenderSVGContainer.cpp:
2642         (WebCore::RenderSVGContainer::nodeAtPoint): never allow containers to be hit.
2643
2644 2007-01-17  Lars Knoll <lars@trolltech.com>
2645
2646         Reviewed by Zack
2647
2648         Don't call receivedResponse twice for file: URLs.
2649         Never call back into the ResourceHandleClient once
2650         cancel() has been called on the ResourceHandle.
2651
2652         * WebCore.pro:
2653         * platform/network/qt/ResourceHandleManagerQt.cpp:
2654         (WebCore::ResourceHandleManager::cancel):
2655         (WebCore::ResourceHandleManager::receivedResponse):
2656         (WebCore::ResourceHandleManager::receivedData):
2657         (WebCore::ResourceHandleManager::receivedFinished):
2658         (WebCore::FileLoader::request):
2659         (WebCore::FileLoader::parseDataUrl):
2660         (WebCore::WebCoreHttp::scheduleNextRequest):
2661         * platform/network/qt/ResourceHandleManagerQt.h:
2662
2663 2007-01-17  Eric Seidel  <eric@webkit.org>
2664
2665         No review, build fix only.
2666
2667         * platform/graphics/cg/ImageCG.cpp: correct drawPatternCombined to drawPattern
2668         (WebCore::Image::drawPattern):
2669         (WebCore::Image::drawTiled):
2670
2671 2007-01-17  Eric Seidel  <eric@webkit.org>
2672
2673         Reviewed by mitz and rwlbuis.
2674         
2675         SVGs do not work as background images:
2676         http://bugs.webkit.org/show_bug.cgi?id=12096
2677
2678         Tests updated:
2679         - fast/images/svg-as-background.svg: now passes
2680         - fast/images/svg-as-tiled-background.svg: now passes
2681
2682         * platform/graphics/BitmapImage.h:
2683         (WebCore::BitmapImage::nativeImageForCurrentFrame):
2684         (WebCore::BitmapImage::mayFillWithSolidColor):
2685         (WebCore::BitmapImage::solidColor):
2686         * platform/graphics/Image.h:
2687         (WebCore::Image::mayFillWithSolidColor):
2688         (WebCore::Image::solidColor):
2689         (WebCore::Image::nativeImageForCurrentFrame):
2690         (WebCore::Image::startAnimation):
2691         * platform/graphics/cg/ImageCG.cpp:
2692         (WebCore::Image::drawPatternCallback):
2693         (WebCore::Image::drawPatternCombined):
2694         (WebCore::caculatePatternScale):
2695         (WebCore::Image::drawTiled):
2696         * platform/graphics/cg/PDFDocumentImage.cpp:
2697         * platform/graphics/cg/PDFDocumentImage.h:
2698         * platform/graphics/svg/SVGImage.cpp:
2699         (WebCore::SVGImage::nativeImageForCurrentFrame):
2700         * platform/graphics/svg/SVGImage.h:
2701
2702 2007-01-17  Rob Buis  <buis@kde.org>
2703
2704         Reviewed by Eric
2705
2706         Add proper condition for rx attribute negative check.
2707
2708         * ksvg2/svg/SVGRectElement.cpp:
2709         (WebCore::SVGRectElement::parseMappedAttribute):
2710
2711 2007-01-17  Lars Knoll <lars@trolltech.com>
2712
2713         Reviewed by Zack
2714
2715         change all notImplemented() macros to use qDebug
2716         instead of fprintf(stder, ...)
2717
2718         * loader/qt/DocumentLoaderQt.cpp:
2719         * loader/qt/FrameLoaderQt.cpp:
2720         * page/qt/EventHandlerQt.cpp:
2721         * page/qt/FrameQt.cpp:
2722         * platform/graphics/qt/GraphicsContextQt.cpp:
2723         * platform/graphics/qt/IconQt.cpp:
2724         * platform/network/qt/ResourceHandleManagerQt.cpp:
2725         * platform/network/qt/ResourceHandleQt.cpp:
2726         * platform/qt/CursorQt.cpp:
2727         * platform/qt/FileChooserQt.cpp:
2728         * platform/qt/MimeTypeRegistryQt.cpp:
2729         * platform/qt/PageQt.cpp: Removed.
2730         * platform/qt/PopupMenuQt.cpp:
2731         * platform/qt/ScrollViewQt.cpp:
2732         * platform/qt/TemporaryLinkStubs.cpp:
2733         * platform/qt/TextBoundaries.cpp:
2734         * platform/qt/WidgetQt.cpp:
2735
2736 2007-01-16  Brady Eidson  <beidson@apple.com>
2737
2738         Reviewed by Oliver
2739
2740         A few enhancements to the HTTP Auth architecture
2741
2742         * platform/network/ProtectionSpace.cpp:
2743         (WebCore::ProtectionSpace::isProxy):
2744         (WebCore::ProtectionSpace::receivesCredentialSecurely):
2745         * platform/network/ProtectionSpace.h:
2746
2747 2007-01-16  Alice Liu  <alice.liu@apple.com>
2748
2749         Reviewed by harrison.
2750
2751         Fixed <rdar://problem/4921134> WebKit needs extensible cut/copy to allow additional types to be written to pasteboard
2752
2753         * WebCore.xcodeproj/project.pbxproj:
2754         * bridge/EditorClient.h:
2755         * editing/Editor.cpp:
2756         (WebCore::Editor::copy):
2757         (WebCore::Editor::didWriteSelectionToPasteboard):
2758         * editing/Editor.h:
2759         * platform/graphics/svg/SVGImageEmptyClients.h:
2760         (WebCore::SVGEmptyEditorClient::didWriteSelectionToPasteboard):
2761
2762 2007-01-16  Justin Garcia  <justin.garcia@apple.com>
2763
2764         Reviewed by harrison
2765         
2766         <rdar://problem/4747450>
2767         Gmail Editor: Caret doesn't always position itself after list marker
2768         <rdar://problem/4917055>
2769         GMail Editor: A hang can occur when attempting to apply list styling to selected indented text
2770
2771         * editing/TextIterator.cpp:
2772         (WebCore::TextIterator::rangeFromLocationAndLength): Use VisiblePositions
2773         to compute the end of a run for emitted '\n's, because it's often wrong
2774         in that case.
2775
2776 2007-01-16  Darin Adler  <darin@apple.com>
2777
2778         - quick lame attempt to get Qt compiling again
2779
2780         * platform/qt/ContextMenuQt.cpp: Removed show() function.
2781
2782 2007-01-17  Nicholas Shanks  <contact@nickshanks.com>
2783
2784         Reviewed by Darin.
2785
2786         * platform/network/ResourceRequest.h:
2787         (WebCore::ResourceRequest::setHTTPAccept): Correct argument name.
2788
2789 2007-01-16  Beth Dakin  <bdakin@apple.com>
2790
2791         Reviewed by Adam.
2792
2793         Get rid of show() and hide() since they don't do anything.
2794
2795         * page/ContextMenuController.cpp:
2796         (WebCore::ContextMenuController::handleContextMenuEvent):
2797         * platform/ContextMenu.h:
2798         * platform/mac/ContextMenuMac.mm:
2799
2800 2007-01-16  Lars Knoll <lars@trolltech.com>
2801
2802         Reviewed by Zack
2803
2804         Cleaned up the way we create native widgets. They are
2805         now not created in WebCore anymore, but in the new
2806         Qt API to WebKit.
2807
2808         Fix a compile issue in the ResourceHandleManager.
2809
2810         * WebCore.pro:
2811         * platform/ScrollView.h:
2812         * platform/Widget.h:
2813         (WebCore::ResourceHandleManager::cancel):
2814         * platform/qt/ScrollViewCanvasQt.cpp:
2815         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
2816         (WebCore::ScrollViewCanvasQt::paintEvent):
2817         (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
2818         (WebCore::ScrollViewCanvasQt::mousePressEvent):
2819         (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
2820         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
2821         * platform/qt/ScrollViewCanvasQt.h:
2822         * platform/qt/ScrollViewQt.cpp:
2823         (WebCore::ScrollView::ScrollView):
2824         (WebCore::ScrollView::setScrollArea):
2825         (WebCore::ScrollView::addChild):
2826         * platform/qt/WidgetQt.cpp:
2827         * platform/network/qt/ResourceHandleManagerQt.cpp:
2828
2829 2007-01-16  Lars Knoll <lars@trolltech.com>
2830
2831         Reviewed by Zack
2832
2833         Looks like ResourceHandle _has_ to do everything
2834         asynchronously if we don't want to run into
2835         lots of trouble in the loader.
2836
2837         Implement support data: URLs.
2838
2839         Remove some unused Qt only code in ResourceHandleClient.h
2840
2841         * platform/network/ResourceHandleClient.h:
2842         * platform/network/qt/ResourceHandleManagerQt.cpp:
2843         (WebCore::RequestQt::setURL):
2844         (WebCore::ResourceHandleManager::add):
2845         (WebCore::ResourceHandleManager::cancel):
2846         (WebCore::ResourceHandleManager::receivedFinished):
2847         (WebCore::LoaderThread::run):
2848         (WebCore::FileLoader::request):
2849         (WebCore::FileLoader::sendData):
2850         (WebCore::FileLoader::parseDataUrl):
2851         * platform/network/qt/ResourceHandleManagerQt.h:
2852
2853 2007-01-16  Eric Seidel  <eric@webkit.org>
2854
2855         Reviewed by mitz.
2856
2857         Refactor drawTiled implementations in preparation for combining them.
2858         Removed unused RoundTile code path.
2859
2860         * platform/graphics/cg/ImageCG.cpp:
2861         (WebCore::drawPattern):
2862         (WebCore::BitmapImage::drawTiled):
2863         (WebCore::caculatePatternScale):
2864
2865 2007-01-16  Darin Adler  <darin@apple.com>
2866
2867         Reviewed by Mark Rowe.
2868
2869         - removed unused field from loader
2870
2871         * loader/loader.cpp:
2872         (WebCore::Loader::numRequests):
2873         (WebCore::Loader::cancelRequests):
2874         * loader/loader.h:
2875
2876 2007-01-15  Rob Buis  <buis@kde.org>
2877
2878         Reviewed by Eric.
2879
2880         http://bugs.webkit.org/show_bug.cgi?id=12272
2881         SVG picture is clipped (edges not visible)
2882
2883         Expose css dpi constant and use it for svg, making
2884         1in amount to 96 pixels like for html.
2885
2886         * css/CSSPrimitiveValue.cpp:
2887         (WebCore::CSSPrimitiveValue::computeLengthFloat):
2888         (WebCore::scaleFactorForConversion):
2889         * css/csshelper.h:
2890         * ksvg2/svg/SVGLength.cpp:
2891         (WebCore::SVGLength::value):
2892         (WebCore::SVGLength::setValue):
2893         * ksvg2/svg/SVGLength.h:
2894
2895 2007-01-15  Brady Eidson  <beidson@apple.com>
2896
2897         Reviewed by Adam
2898         
2899         CFNet additions
2900
2901         * platform/network/AuthenticationChallenge.cpp:
2902         (WebCore::operator==):
2903         * platform/network/AuthenticationChallenge.h:
2904         (WebCore::AuthenticationChallenge::sourceHandle):
2905         (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
2906         * platform/network/ResourceError.h:
2907         * platform/network/ResourceHandle.h:
2908         * platform/network/ResourceHandleInternal.h:
2909         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2910
2911 2007-01-15  Eric Seidel  <eric@webkit.org>
2912
2913         Reviewed by hyatt.
2914
2915         Don't map attributes in namespaces other than null to CSS properties.
2916         
2917         Test: svg/custom/attribute-namespace-check.svg
2918
2919         * ksvg2/svg/SVGStyledElement.cpp:
2920         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
2921
2922 2007-01-15  Lars Naesbye Christensen  <larsnaesbye@stud.ku.dk>
2923
2924         Reviewed by Darin.
2925
2926         - http://bugs.webkit.org/show_bug.cgi?id=11112
2927           add a drop shadow to the hand cursor used for links
2928
2929         * Resources/linkCursor.png: Added a drop shadow.
2930
2931 2007-01-15  Darin Adler  <darin@apple.com>
2932
2933         Reviewed by Adam.
2934
2935         - fix http://bugs.webkit.org/show_bug.cgi?id=12190
2936           REGRESSION: Placeholder text does not reflect dynamic updates
2937
2938         Test: fast/forms/placeholder-set-attribute.html
2939
2940         * html/HTMLTextFieldInnerElement.cpp:
2941         (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
2942         Call onSearch on the element since I removed it from the renderer.
2943
2944         * rendering/RenderTextControl.h: Added explicit virtual keywords for overrides
2945         of virtual functions. Removed the unneeded onSearch function. Made the inheritance
2946         from PopupMenuClient be private, and made the overrides all private. Replaced the
2947         showPlaceholderIfNeeded and hidePlaceholderIfNeeded functions with updatePlaceholder.
2948         * rendering/RenderTextControl.cpp:
2949         (WebCore::RenderTextControl::createResultsButtonStyle): Added an assertion.
2950         (WebCore::RenderTextControl::updatePlaceholder): Added. Replaces the two
2951         functions, showPlaceholderIfNeeded and hidePlaceholderIfNeeded.
2952         (WebCore::RenderTextControl::updateFromElement): Added call to
2953         updatePlaceholder before updating the value. Also improved the structure
2954         of the function and corrected incorrect use of copy and replace.
2955         (WebCore::RenderTextControl::updateCancelButtonVisibility): Added an
2956         assertion and removed an unneeded local variable.
2957         (WebCore::RenderTextControl::subtreeHasChanged): Removed an unneeded
2958         null check and virtual function calls.
2959         (WebCore::RenderTextControl::forwardEvent): Replaced calls to the old
2960         functions with calls to updatePlaceholder.
2961         (WebCore::RenderTextControl::selectionChanged): Changed code to dispatch
2962         the select event directly -- I plan to remove the onSelect function, which
2963         was only called here.
2964         (WebCore::RenderTextControl::autosaveName): Removed too-specific cast and
2965         local variable.
2966         (WebCore::RenderTextControl::addSearchResult): Added assertion and changed
2967         variable name for clarity.
2968         (WebCore::RenderTextControl::valueChanged): Changed code to check for empty
2969         autosave name instead of null for consistency with other call sites that
2970         manage the autosave name. Also changed the code that dispatches an event
2971         to call onSearch on the input element so we don't need our own function.
2972
2973 2007-01-15  Eric Seidel  <eric@webkit.org>
2974
2975         Reviewed by hyatt.
2976
2977         Fix SVGStyledElement::parseMappedAttribute to only map SVG-allowed CSS properties
2978         (i.e. width is no longer mapped to CSS for SVG)
2979         Add SVGStyledElement::mapToEntry to allow RenderStyle-sharing
2980         http://bugs.webkit.org/show_bug.cgi?id=12060
2981
2982         * dom/MappedAttributeEntry.h:
2983         (WebCore::):
2984         * ksvg2/svg/SVGStyledElement.cpp:
2985         (WebCore::cssPropertyIdForName): new helper
2986         (WebCore::mapAttributeToCSSProperty): new helper
2987         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName): new helper
2988         (WebCore::SVGStyledElement::mapToEntry): added.
2989         (WebCore::SVGStyledElement::parseMappedAttribute): use cssPropertyIdForSVGAttributeName
2990         * ksvg2/svg/SVGStyledElement.h:
2991
2992 2007-01-15  Eric Seidel  <eric@webkit.org>
2993
2994         Reviewed by bdash.
2995
2996         Update header guards to follow new style guidelines using new clean-header-guards script.
2997
2998         * bindings/js/JSHTMLElementWrapperFactory.h:
2999         * bindings/js/JSHTMLInputElementBase.h:
3000         * bindings/js/JSHTMLOptionElementConstructor.h:
3001         * bindings/js/JSSVGElementWrapperFactory.h:
3002         * bindings/js/JSSVGPODTypeWrapper.h:
3003         * bindings/js/JSXMLHttpRequest.h:
3004         * bindings/js/JSXSLTProcessor.h:
3005         * bindings/js/kjs_binding.h:
3006         * bindings/js/kjs_css.h:
3007         * bindings/js/kjs_dom.h:
3008         * bindings/js/kjs_domnode.h:
3009         * bindings/js/kjs_events.h:
3010         * bindings/js/kjs_html.h:
3011         * bindings/js/kjs_navigator.h:
3012         * bindings/js/kjs_proxy.h:
3013         * bindings/js/kjs_traversal.h:
3014         * bindings/js/kjs_window.h:
3015         * bridge/EditorClient.h:
3016         * bridge/History.h:
3017         * css/CSSStyleSheet.h:
3018         * css/CSSValue.h:
3019         * css/CSSValueList.h:
3020         * css/DashboardRegion.h:
3021         * css/FontFamilyValue.h:
3022         * css/FontValue.h:
3023         * css/MediaFeatureNames.h:
3024         * css/MediaList.h:
3025         * css/Pair.h:
3026         * css/RectImpl.h:
3027         * css/ShadowValue.h:
3028         * css/StyleBase.h:
3029         * css/StyleList.h:
3030         * css/StyleSheet.h:
3031         * css/StyleSheetList.h:
3032         * css/cssstyleselector.h:
3033         * dom/BeforeTextInsertedEvent.h:
3034         * dom/CDATASection.h:
3035         * dom/CharacterData.h:
3036         * dom/ChildNodeList.h:
3037         * dom/Comment.h:
3038         * dom/DOMImplementation.h:
3039         * dom/DocPtr.h:
3040         * dom/Document.h:
3041         * dom/DocumentFragment.h:
3042         * dom/DocumentMarker.h:
3043         * dom/DocumentType.h:
3044         * dom/EditingText.h:
3045         * dom/Entity.h:
3046         * dom/EntityReference.h:
3047         * dom/EventNames.h:
3048         * dom/EventTargetNode.h:
3049         * dom/NameNodeList.h:
3050         * dom/NamedNodeMap.h:
3051         * dom/Node.h:
3052         * dom/NodeList.h:
3053         * dom/Notation.h:
3054         * dom/Position.h:
3055         * dom/ProcessingInstruction.h:
3056         * dom/Range.h:
3057         * dom/StyleElement.h:
3058         * dom/Text.h:
3059         * editing/AppendNodeCommand.h:
3060         * editing/ApplyStyleCommand.h:
3061         * editing/BreakBlockquoteCommand.h:
3062         * editing/CommandByName.h:
3063         * editing/CompositeEditCommand.h:
3064         * editing/DeleteButton.h:
3065         * editing/DeleteButtonController.h:
3066         * editing/DeleteFromTextNodeCommand.h:
3067         * editing/DeleteSelectionCommand.h:
3068         * editing/InsertIntoTextNodeCommand.h:
3069         * editing/InsertLineBreakCommand.h:
3070         * editing/InsertNodeBeforeCommand.h:
3071         * editing/InsertParagraphSeparatorCommand.h:
3072         * editing/InsertTextCommand.h:
3073         * editing/JoinTextNodesCommand.h:
3074         * editing/MergeIdenticalElementsCommand.h:
3075         * editing/ModifySelectionListLevel.h:
3076         * editing/MoveSelectionCommand.h:
3077         * editing/RemoveCSSPropertyCommand.h:
3078         * editing/RemoveNodeAttributeCommand.h:
3079         * editing/RemoveNodeCommand.h:
3080         * editing/RemoveNodePreservingChildrenCommand.h:
3081         * editing/ReplaceSelectionCommand.h:
3082         * editing/SetNodeAttributeCommand.h:
3083         * editing/SplitElementCommand.h:
3084         * editing/SplitTextNodeCommand.h:
3085         * editing/SplitTextNodeContainingElementCommand.h:
3086         * editing/TextGranularity.h:
3087         * editing/TypingCommand.h:
3088         * editing/WrapContentsInDummySpanCommand.h:
3089         * history/BackForwardList.h:
3090         * history/HistoryItem.h:
3091         * history/HistoryItemTimer.h:
3092         * history/PageCache.h:
3093         * html/CanvasGradient.h:
3094         * html/CanvasPattern.h:
3095         * html/CanvasRenderingContext2D.h:
3096         * html/CanvasStyle.h:
3097         * html/FormDataList.h:
3098         * html/HTMLAnchorElement.h:
3099         * html/HTMLAppletElement.h:
3100         * html/HTMLAreaElement.h:
3101         * html/HTMLBRElement.h:
3102         * html/HTMLBaseElement.h:
3103         * html/HTMLBaseFontElement.h:
3104         * html/HTMLBlockquoteElement.h:
3105         * html/HTMLBodyElement.h:
3106         * html/HTMLButtonElement.h:
3107         * html/HTMLCanvasElement.h:
3108         * html/HTMLCollection.h:
3109         * html/HTMLDListElement.h:
3110         * html/HTMLDirectoryElement.h:
3111         * html/HTMLDivElement.h:
3112         * html/HTMLElement.h:
3113         * html/HTMLElementFactory.h:
3114         * html/HTMLEmbedElement.h:
3115         * html/HTMLFieldSetElement.h:
3116         * html/HTMLFontElement.h:
3117         * html/HTMLFormCollection.h:
3118         * html/HTMLFormElement.h:
3119         * html/HTMLFrameSetElement.h:
3120         * html/HTMLGenericFormElement.h:
3121         * html/HTMLHRElement.h:
3122         * html/HTMLHeadElement.h:
3123         * html/HTMLHeadingElement.h:
3124         * html/HTMLHtmlElement.h:
3125         * html/HTMLImageElement.h:
3126         * html/HTMLImageLoader.h:
3127         * html/HTMLInputElement.h:
3128         * html/HTMLIsIndexElement.h:
3129         * html/HTMLKeygenElement.h:
3130         * html/HTMLLIElement.h:
3131         * html/HTMLLabelElement.h:
3132         * html/HTMLLegendElement.h:
3133         * html/HTMLLinkElement.h:
3134         * html/HTMLMapElement.h:
3135         * html/HTMLMarqueeElement.h:
3136         * html/HTMLMenuElement.h:
3137         * html/HTMLMetaElement.h:
3138         * html/HTMLModElement.h:
3139         * html/HTMLNameCollection.h:
3140         * html/HTMLOListElement.h:
3141         * html/HTMLObjectElement.h:
3142         * html/HTMLOptGroupElement.h:
3143         * html/HTMLOptionElement.h:
3144         * html/HTMLOptionsCollection.h:
3145         * html/HTMLParagraphElement.h:
3146         * html/HTMLParamElement.h:
3147         * html/HTMLParser.h:
3148         * html/HTMLPlugInElement.h:
3149         * html/HTMLPreElement.h:
3150         * html/HTMLQuoteElement.h:
3151         * html/HTMLScriptElement.h:
3152         * html/HTMLSelectElement.h:
3153         * html/HTMLStyleElement.h:
3154         * html/HTMLTableCaptionElement.h:
3155         * html/HTMLTableCellElement.h:
3156         * html/HTMLTableColElement.h:
3157         * html/HTMLTableElement.h:
3158         * html/HTMLTablePartElement.h:
3159         * html/HTMLTableRowElement.h:
3160         * html/HTMLTableSectionElement.h:
3161         * html/HTMLTextAreaElement.h:
3162         * html/HTMLTextFieldInnerElement.h:
3163         * html/HTMLTitleElement.h:
3164         * html/HTMLUListElement.h:
3165         * ksvg2/css/SVGRenderStyle.h:
3166         * ksvg2/css/SVGRenderStyleDefs.h:
3167         * ksvg2/events/JSSVGLazyEventListener.h:
3168         * ksvg2/events/SVGZoomEvent.h:
3169         * ksvg2/misc/KCanvasRenderingStyle.h:
3170         * ksvg2/misc/PointerEventsHitRules.h:
3171         * ksvg2/misc/SVGDocumentExtensions.h:
3172         * ksvg2/misc/SVGImageLoader.h:
3173         * ksvg2/misc/TimeScheduler.h:
3174         * ksvg2/svg/GradientAttributes.h:
3175         * ksvg2/svg/LinearGradientAttributes.h:
3176         * ksvg2/svg/PatternAttributes.h:
3177         * ksvg2/svg/RadialGradientAttributes.h:
3178         * ksvg2/svg/SVGAElement.h:
3179         * ksvg2/svg/SVGAngle.h:
3180         * ksvg2/svg/SVGAnimateColorElement.h:
3181         * ksvg2/svg/SVGAnimateElement.h:
3182         * ksvg2/svg/SVGAnimateMotionElement.h:
3183         * ksvg2/svg/SVGAnimateTransformElement.h:
3184         * ksvg2/svg/SVGAnimatedPathData.h:
3185         * ksvg2/svg/SVGAnimatedPoints.h:
3186         * ksvg2/svg/SVGAnimatedTemplate.h:
3187         * ksvg2/svg/SVGAnimationElement.h:
3188         * ksvg2/svg/SVGCircleElement.h:
3189         * ksvg2/svg/SVGClipPathElement.h:
3190         * ksvg2/svg/SVGColor.h:
3191         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
3192         * ksvg2/svg/SVGCursorElement.h:
3193         * ksvg2/svg/SVGDOMImplementation.h:
3194         * ksvg2/svg/SVGDefsElement.h:
3195         * ksvg2/svg/SVGDescElement.h:
3196         * ksvg2/svg/SVGDocument.h:
3197         * ksvg2/svg/SVGElement.h:
3198         * ksvg2/svg/SVGElementInstance.h:
3199         * ksvg2/svg/SVGElementInstanceList.h:
3200         * ksvg2/svg/SVGEllipseElement.h:
3201         * ksvg2/svg/SVGExternalResourcesRequired.h:
3202         * ksvg2/svg/SVGFEBlendElement.h:
3203         * ksvg2/svg/SVGFEColorMatrixElement.h:
3204         * ksvg2/svg/SVGFEComponentTransferElement.h:
3205         * ksvg2/svg/SVGFECompositeElement.h:
3206         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
3207         * ksvg2/svg/SVGFEDisplacementMapElement.h:
3208         * ksvg2/svg/SVGFEDistantLightElement.h:
3209         * ksvg2/svg/SVGFEFloodElement.h:
3210         * ksvg2/svg/SVGFEFuncAElement.h:
3211         * ksvg2/svg/SVGFEFuncBElement.h:
3212         * ksvg2/svg/SVGFEFuncGElement.h:
3213         * ksvg2/svg/SVGFEFuncRElement.h:
3214         * ksvg2/svg/SVGFEGaussianBlurElement.h:
3215         * ksvg2/svg/SVGFEImageElement.h:
3216         * ksvg2/svg/SVGFELightElement.h:
3217         * ksvg2/svg/SVGFEMergeElement.h:
3218         * ksvg2/svg/SVGFEMergeNodeElement.h:
3219         * ksvg2/svg/SVGFEOffsetElement.h:
3220         * ksvg2/svg/SVGFEPointLightElement.h:
3221         * ksvg2/svg/SVGFESpecularLightingElement.h:
3222         * ksvg2/svg/SVGFESpotLightElement.h:
3223         * ksvg2/svg/SVGFETileElement.h:
3224         * ksvg2/svg/SVGFETurbulenceElement.h:
3225         * ksvg2/svg/SVGFilterElement.h:
3226         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
3227         * ksvg2/svg/SVGFitToViewBox.h:
3228         * ksvg2/svg/SVGForeignObjectElement.h:
3229         * ksvg2/svg/SVGGElement.h:
3230         * ksvg2/svg/SVGGradientElement.h:
3231         * ksvg2/svg/SVGImageElement.h:
3232         * ksvg2/svg/SVGLangSpace.h:
3233         * ksvg2/svg/SVGLength.h:
3234         * ksvg2/svg/SVGLengthList.h:
3235         * ksvg2/svg/SVGLineElement.h:
3236         * ksvg2/svg/SVGLinearGradientElement.h:
3237         * ksvg2/svg/SVGList.h:
3238         * ksvg2/svg/SVGListTraits.h:
3239         * ksvg2/svg/SVGLocatable.h:
3240         * ksvg2/svg/SVGMarkerElement.h:
3241         * ksvg2/svg/SVGMaskElement.h:
3242         * ksvg2/svg/SVGMetadataElement.h:
3243         * ksvg2/svg/SVGNumberList.h:
3244         * ksvg2/svg/SVGPaint.h:
3245         * ksvg2/svg/SVGParserUtilities.h:
3246         * ksvg2/svg/SVGPathElement.h:
3247         * ksvg2/svg/SVGPathSeg.h:
3248         * ksvg2/svg/SVGPathSegArc.h:
3249         * ksvg2/svg/SVGPathSegClosePath.h:
3250         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
3251         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
3252         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
3253         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
3254         * ksvg2/svg/SVGPathSegLineto.h:
3255         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
3256         * ksvg2/svg/SVGPathSegLinetoVertical.h:
3257         * ksvg2/svg/SVGPathSegList.h:
3258         * ksvg2/svg/SVGPathSegMoveto.h:
3259         * ksvg2/svg/SVGPatternElement.h:
3260         * ksvg2/svg/SVGPointList.h:
3261         * ksvg2/svg/SVGPolyElement.h:
3262         * ksvg2/svg/SVGPolygonElement.h:
3263         * ksvg2/svg/SVGPolylineElement.h:
3264         * ksvg2/svg/SVGPreserveAspectRatio.h:
3265         * ksvg2/svg/SVGRadialGradientElement.h:
3266         * ksvg2/svg/SVGRectElement.h:
3267         * ksvg2/svg/SVGRenderingIntent.h:
3268         * ksvg2/svg/SVGSVGElement.h:
3269         * ksvg2/svg/SVGScriptElement.h:
3270         * ksvg2/svg/SVGSetElement.h:
3271         * ksvg2/svg/SVGStopElement.h:
3272         * ksvg2/svg/SVGStringList.h:
3273         * ksvg2/svg/SVGStylable.h:
3274         * ksvg2/svg/SVGStyleElement.h:
3275         * ksvg2/svg/SVGStyledElement.h:
3276         * ksvg2/svg/SVGStyledLocatableElement.h:
3277         * ksvg2/svg/SVGStyledTransformableElement.h:
3278         * ksvg2/svg/SVGSwitchElement.h:
3279         * ksvg2/svg/SVGSymbolElement.h:
3280         * ksvg2/svg/SVGTRefElement.h:
3281         * ksvg2/svg/SVGTSpanElement.h:
3282         * ksvg2/svg/SVGTests.h:
3283         * ksvg2/svg/SVGTextContentElement.h:
3284         * ksvg2/svg/SVGTextElement.h:
3285         * ksvg2/svg/SVGTextPositioningElement.h:
3286         * ksvg2/svg/SVGTitleElement.h:
3287         * ksvg2/svg/SVGTransform.h:
3288         * ksvg2/svg/SVGTransformList.h:
3289         * ksvg2/svg/SVGTransformable.h:
3290         * ksvg2/svg/SVGURIReference.h:
3291         * ksvg2/svg/SVGUnitTypes.h:
3292         * ksvg2/svg/SVGUseElement.h:
3293         * ksvg2/svg/SVGViewElement.h:
3294         * ksvg2/svg/SVGZoomAndPan.h:
3295         * loader/CachedCSSStyleSheet.h:
3296         * loader/CachedImage.h:
3297         * loader/CachedXSLStyleSheet.h:
3298         * loader/DocumentLoader.h:
3299         * loader/Request.h:
3300         * loader/SubresourceLoader.h:
3301         * loader/icon/IconDataCache.h:
3302         * loader/icon/IconDatabase.h:
3303         * loader/icon/IconLoader.h:
3304         * loader/icon/SQLDatabase.h:
3305         * loader/icon/SQLStatement.h:
3306         * loader/icon/SQLTransaction.h:
3307         * page/Frame.h:
3308         * page/FrameLoadRequest.h:
3309         * page/FrameTree.h:
3310         * page/FrameView.h:
3311         * page/PageState.h:
3312         * page/Plugin.h:
3313         * page/qt/FrameQt.h:
3314         * page/qt/FrameQtClient.h:
3315         * platform/Arena.h:
3316         * platform/ArrayImpl.h:
3317         * platform/Cursor.h:
3318         * platform/DeprecatedArray.h:
3319         * platform/DeprecatedCString.h:
3320         * platform/FileChooser.h:
3321         * platform/Font.h:
3322         * platform/FontCache.h:
3323         * platform/FontData.h:
3324         * platform/FontDescription.h:
3325         * platform/FontFamily.h:
3326         * platform/GlyphBuffer.h:
3327         * platform/GlyphMap.h:
3328         * platform/GlyphWidthMap.h:
3329         * platform/Logging.h:
3330         * platform/Pasteboard.h:
3331         * platform/PlatformString.h:
3332         * platform/PlugInInfoStore.h:
3333         * platform/PopupMenu.h:
3334         * platform/PopupMenuClient.h:
3335         * platform/ScrollBar.h:
3336         * platform/ScrollView.h:
3337         * platform/SearchPopupMenu.h:
3338         * platform/Shared.h:
3339         * platform/Sound.h:
3340         * platform/SystemTime.h:
3341         * platform/Timer.h:
3342         * platform/Widget.h:
3343         * platform/cf/RetainPtr.h:
3344         * platform/gdk/ChromeClientGdk.h:
3345         * platform/gdk/FontPlatformData.h:
3346         * platform/gdk/FrameGdk.h:
3347         * platform/gdk/KeyboardCodes.h:
3348         * platform/gdk/RenderPopupMenuGdk.h:
3349         * platform/gdk/RenderThemeGdk.h:
3350         * platform/graphics/BitmapImage.h:
3351         * platform/graphics/Color.h:
3352         * platform/graphics/FloatPoint.h:
3353         * platform/graphics/FloatPoint3D.h:
3354         * platform/graphics/FloatRect.h:
3355         * platform/graphics/Icon.h:
3356         * platform/graphics/Image.h:
3357         * platform/graphics/ImageAnimationObserver.h:
3358         * platform/graphics/ImageBuffer.h:
3359         * platform/graphics/ImageSource.h:
3360         * platform/graphics/IntPoint.h:
3361         * platform/graphics/IntRect.h:
3362         * platform/graphics/IntSize.h:
3363         * platform/graphics/IntSizeHash.h:
3364         * platform/graphics/PathTraversalState.h:
3365         * platform/graphics/Pen.h:
3366         * platform/graphics/qt/ImageDecoderQt.h:
3367         * platform/graphics/svg/SVGImage.h:
3368         * platform/graphics/svg/SVGImageEmptyClients.h:
3369         * platform/graphics/svg/SVGPaintServer.h:
3370         * platform/graphics/svg/SVGPaintServerGradient.h:
3371         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
3372         * platform/graphics/svg/SVGPaintServerPattern.h:
3373         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
3374         * platform/graphics/svg/SVGPaintServerSolid.h:
3375         * platform/graphics/svg/SVGResource.h:
3376         * platform/graphics/svg/SVGResourceClipper.h:
3377         * platform/graphics/svg/SVGResourceFilter.h:
3378         * platform/graphics/svg/SVGResourceMarker.h:
3379         * platform/graphics/svg/SVGResourceMasker.h:
3380         * platform/graphics/svg/cg/CgSupport.h:
3381         * platform/graphics/svg/filters/SVGDistantLightSource.h:
3382         * platform/graphics/svg/filters/SVGFEBlend.h:
3383         * platform/graphics/svg/filters/SVGFEColorMatrix.h:
3384         * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
3385         * platform/graphics/svg/filters/SVGFEComposite.h:
3386         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
3387         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
3388         * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
3389         * platform/graphics/svg/filters/SVGFEFlood.h:
3390         * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
3391         * platform/graphics/svg/filters/SVGFEImage.h:
3392         * platform/graphics/svg/filters/SVGFEMerge.h:
3393         * platform/graphics/svg/filters/SVGFEMorphology.h:
3394         * platform/graphics/svg/filters/SVGFEOffset.h:
3395         * platform/graphics/svg/filters/SVGFESpecularLighting.h:
3396         * platform/graphics/svg/filters/SVGFETile.h:
3397         * platform/graphics/svg/filters/SVGFETurbulence.h:
3398         * platform/graphics/svg/filters/SVGFilterEffect.h:
3399         * platform/graphics/svg/filters/SVGLightSource.h:
3400         * platform/graphics/svg/filters/SVGPointLightSource.h:
3401         * platform/graphics/svg/filters/SVGSpotLightSource.h:
3402         * platform/mac/FontPlatformData.h:
3403         * platform/mac/PlatformScrollBar.h:
3404         * platform/network/AuthenticationChallenge.h:
3405         * platform/network/Credential.h:
3406         * platform/network/HTTPHeaderMap.h:
3407         * platform/network/ProtectionSpace.h:
3408         * platform/network/ResourceError.h:
3409         * platform/network/ResourceRequest.h:
3410         * platform/network/ResourceResponse.h:
3411         * platform/network/cf/FormDataStreamCFNet.h:
3412         * platform/network/cf/ResourceRequestCFNet.h:
3413         * platform/network/cf/ResourceResponseCFNet.h:
3414         * platform/network/gdk/ResourceHandleManager.h:
3415         * platform/network/mac/AuthenticationMac.h:
3416         * platform/network/mac/FormDataStreamMac.h:
3417         * platform/network/qt/ResourceHandleManagerKDE.h:
3418         * platform/network/qt/ResourceHandleManagerQt.h:
3419         * platform/network/win/ResourceHandleWin.h:
3420         * platform/qt/FontPlatformData.h:
3421         * platform/qt/KeyboardCodes.h:
3422         * platform/qt/PlatformScrollBar.h:
3423         * platform/qt/ScrollViewCanvasQt.h:
3424         * platform/qt/SharedTimerQt.h:
3425         * platform/win/FontPlatformData.h:
3426         * platform/win/PlatformScrollBar.h:
3427         * rendering/AutoTableLayout.h:
3428         * rendering/HitTestRequest.h:
3429         * rendering/HitTestResult.h:
3430         * rendering/InlineBox.h:
3431         * rendering/InlineFlowBox.h:
3432         * rendering/Length.h:
3433         * rendering/ListMarkerBox.h:
3434         * rendering/RenderBox.h:
3435         * rendering/RenderMenuList.h:
3436         * rendering/RenderPart.h:
3437         * rendering/RenderPartObject.h:
3438         * rendering/RenderPath.h:
3439         * rendering/RenderReplaced.h:
3440         * rendering/RenderSVGContainer.h:
3441         * rendering/RenderSVGImage.h:
3442         * rendering/RenderSVGInline.h:
3443         * rendering/RenderSVGInlineText.h:
3444         * rendering/RenderSVGTSpan.h:
3445         * rendering/RenderSVGText.h:
3446         * rendering/RenderStyle.h:
3447         * rendering/RenderTableCol.h:
3448         * rendering/RenderThemeWin.h:
3449         * rendering/bidi.h:
3450         * xml/DOMParser.h:
3451         * xml/XPathEvaluator.h:
3452         * xml/XPathExpression.h:
3453         * xml/XPathExpressionNode.h:
3454         * xml/XPathFunctions.h:
3455         * xml/XPathNSResolver.h:
3456         * xml/XPathNamespace.h:
3457         * xml/XPathParser.h:
3458         * xml/XPathPath.h:
3459         * xml/XPathPredicate.h:
3460         * xml/XPathResult.h:
3461         * xml/XPathStep.h:
3462         * xml/XPathUtil.h:
3463         * xml/XPathValue.h:
3464         * xml/XPathVariableReference.h:
3465         * xml/XSLImportRule.h:
3466         * xml/XSLStyleSheet.h:
3467         * xml/XSLTProcessor.h:
3468         * xml/xmlhttprequest.h:
3469
3470 2007-01-15  Anders Carlsson  <acarlsson@apple.com>
3471
3472         Build fix.
3473         
3474         * loader/ProgressTracker.cpp:
3475
3476 2007-01-15  Lars Knoll <lars@trolltech.com>
3477
3478         Fix the Qt build
3479
3480         * WebCore.pro:
3481
3482 2007-01-15  Anders Carlsson  <acarlsson@apple.com>
3483
3484         Reviewed by Darin.
3485
3486         * loader/ProgressTracker.cpp:
3487         Set finalProgressValue to its value explicitly instead of calculating it 
3488         (which causes a global initializer to be generated).
3489
3490 2007-01-15  Anders Carlsson  <acarlsson@apple.com>
3491
3492         Reviewed by Darin and Adam.
3493
3494         Move progress tracking down to WebCore.
3495         
3496         * WebCore.exp:
3497         Add ProgressTracker::estimatedProgress() to be used by WebKit.
3498         
3499         * WebCore.xcodeproj/project.pbxproj:
3500         Add ProgressTracker.[cpp|h]
3501         
3502         * loader/FrameLoader.cpp:
3503         (WebCore::FrameLoader::prepareForLoadStart):
3504         (WebCore::FrameLoader::clearProvisionalLoad):
3505         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3506         (WebCore::FrameLoader::startLoading):
3507         (WebCore::FrameLoader::didReceiveResponse):
3508         (WebCore::FrameLoader::didReceiveData):
3509         (WebCore::FrameLoader::didFailToLoad):
3510         (WebCore::FrameLoader::requestFromDelegate):
3511         (WebCore::FrameLoader::didFinishLoad):
3512         Call directly to the progress tracker instead of through the frame loader client.
3513         
3514         * loader/FrameLoaderClient.h:
3515         Get rid of the old methods and add new methods for tracking progress.
3516         
3517         * loader/ProgressTracker.cpp: Added.
3518         (WebCore::ProgressItem::ProgressItem):
3519         (WebCore::ProgressTracker::ProgressTracker):
3520         (WebCore::ProgressTracker::~ProgressTracker):
3521         (WebCore::ProgressTracker::estimatedProgress):
3522         (WebCore::ProgressTracker::reset):
3523         (WebCore::ProgressTracker::progressStarted):
3524         (WebCore::ProgressTracker::progressCompleted):
3525         (WebCore::ProgressTracker::finalProgressComplete):
3526         (WebCore::ProgressTracker::incrementProgress):
3527         (WebCore::ProgressTracker::completeProgress):
3528         (WebCore::ProgressTracker::createUniqueIdentifier):
3529         * loader/ProgressTracker.h: Added.
3530         New per page class which tracks progress.
3531         
3532         * loader/ResourceLoader.cpp:
3533         (WebCore::ResourceLoader::willSendRequest):
3534         * page/Page.cpp:
3535         (WebCore::Page::Page):
3536         * page/Page.h:
3537         (WebCore::Page::progress):
3538         Move createUniqueIdentifier to ProgressTracker, add ProgressTracker object to Page.
3539         
3540         * platform/graphics/svg/SVGImageEmptyClients.h:
3541         (WebCore::SVGEmptyFrameLoaderClient::willChangeEstimatedProgress):
3542         (WebCore::SVGEmptyFrameLoaderClient::didChangeEstimatedProgress):
3543         (WebCore::SVGEmptyFrameLoaderClient::postProgressStartedNotification):
3544         (WebCore::SVGEmptyFrameLoaderClient::postProgressEstimateChangedNotification):
3545         (WebCore::SVGEmptyFrameLoaderClient::postProgressFinishedNotification):
3546         Add new methods, get rid of the old ones.
3547
3548 2007-01-15  Adam Roben  <aroben@apple.com>
3549
3550         Reviewed by Anders.
3551
3552         Fix comment.
3553
3554         * html/HTMLScriptElement.cpp:
3555         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
3556
3557 2007-01-15  John Sullivan  <sullivan@apple.com>
3558
3559         * platform/ContextMenu.cpp:
3560         (WebCore::ContextMenu::checkOrEnableIfNeeded):
3561         Leopard build fix; don't declare one of the case values twice
3562
3563 2007-01-15  Mitz Pettel  <mitz@webkit.org>
3564
3565         Reviewed by Darin.
3566
3567         - fix http://bugs.webkit.org/show_bug.cgi?id=8604
3568           rowspan does not work when set through javascript
3569
3570         Covered by existing tests.
3571
3572         * rendering/RenderTableCell.cpp:
3573         (WebCore::RenderTableCell::updateFromElement): Mark the section for grid recalc
3574         if row span or column span change.
3575
3576 2007-01-15  Adam Roben  <aroben@apple.com>
3577
3578         Reviewed by Darin.
3579
3580         Small context menu fixes.
3581
3582         * platform/ContextMenu.cpp:
3583         (WebCore::ContextMenu::populate): Fix typo.
3584         (WebCore::ContextMenu::checkOrEnableIfNeeded): Disabled "No Guesses
3585         Found", and added all enum values explicitly.
3586
3587 2007-01-15  Alexey Proskuryakov  <ap@webkit.org>
3588
3589         Reviewed by Darin.
3590
3591         http://bugs.webkit.org/show_bug.cgi?id=6272
3592         XMLHttpRequest freezes on getting a missing document with overridden Content-Length
3593
3594         http://bugs.webkit.org/show_bug.cgi?id=6212
3595         Investigate disallowing some XMLHttpRequest headers from being set via setRequestHeader.
3596
3597         Tests:
3598         - http/tests/xmlhttprequest/connection-error-sync.html
3599         - http/tests/xmlhttprequest/set-dangerous-headers.html
3600
3601         * bindings/js/kjs_binding.cpp:
3602         (KJS::):
3603         (KJS::setDOMException): Added support for NETWORK_ERR. Changed the temporary 
3604         PERMISSION_DENIED error into a special case.
3605
3606         * loader/FrameLoader.cpp:
3607         (WebCore::FrameLoader::loadResourceSynchronously):
3608         * loader/FrameLoader.h:
3609         Return the error object to the caller. Removed an extra local variable for error, 
3610         which shadowed the one from enclosing block.
3611
3612         * dom/XMLTokenizer.cpp:
3613         (WebCore::openFunc): 
3614         * xml/XSLTProcessor.cpp:
3615         (WebCore::docLoaderFunc): 
3616         Updated to pass an error object (currently ignored).
3617
3618         * xml/xmlhttprequest.cpp:
3619         (WebCore::canSetRequestHeader): Added. The headers to block include the ones from 
3620         the current XMLHttpRequest draft plus "Via", which is blocked by Firefox.
3621         (WebCore::XMLHttpRequest::send): Raise an exception if a sync request results in 
3622         an error.
3623         (WebCore::XMLHttpRequest::setRequestHeader): Call canSetRequestHeader().
3624         * xml/xmlhttprequest.h:
3625         (WebCore::): Added NETWORK_ERR and a comment about PERMISSION_DENIED.
3626
3627 2007-01-15  Zack Rusin  <zack@kde.org>
3628
3629         Optimizing rendering on the Qt platform. Mainly
3630         switching from client side QImage to QPixmap's.
3631         Also cleaning the the ScrollViewCanvasQt code
3632         quite a bit.
3633
3634         * platform/graphics/ImageSource.h: use QPixmap
3635         * platform/graphics/qt/GraphicsContextQt.cpp:
3636         (WebCore::TransparencyLayer::TransparencyLayer):
3637         (WebCore::GraphicsContext::clip): clip rects when you can
3638         * platform/graphics/qt/ImageDecoderQt.cpp:
3639         (WebCore::ImageDecoderQt::ImageData::ImageData):
3640         (WebCore::ImageDecoderQt::ReadContext::read):
3641         (WebCore::ImageDecoderQt::ReadContext::readImageLines):
3642         (WebCore::ImageDecoderQt::imageAtIndex):
3643         * platform/graphics/qt/ImageDecoderQt.h: use QPixmap
3644         * platform/graphics/qt/ImageQt.cpp: QPixmap instead of QImage
3645         (WebCore::BitmapImage::draw):
3646         (WebCore::BitmapImage::drawTiled):
3647         * platform/graphics/qt/ImageSourceQt.cpp:
3648         (WebCore::):
3649         (WebCore::ImageSource::createFrameAtIndex):
3650         (WebCore::ImageSource::frameHasAlphaAtIndex):
3651         * platform/qt/ScrollViewCanvasQt.cpp: clean up
3652         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
3653         (WebCore::ScrollViewCanvasQt::updateFrameView):
3654         (WebCore::ScrollViewCanvasQt::paintEvent):
3655         (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
3656         (WebCore::ScrollViewCanvasQt::mousePressEvent):
3657         (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
3658         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
3659         * platform/qt/ScrollViewCanvasQt.h:
3660         * platform/qt/ScrollViewQt.cpp: remove hacks
3661         (WebCore::ScrollView::ScrollView):
3662         (WebCore::ScrollView::setParentWidget):
3663         (WebCore::ScrollView::updateContents):
3664
3665 2007-01-15  Lars Knoll <lars@trolltech.com>
3666
3667         Reviewed by Zack
3668
3669         Fix weird crashes when running the layout tests. The
3670         reason was that I used KURL (and thus DeprecatedString)
3671         in a thread. Unfortunately that class is not threadsafe
3672         at all.
3673
3674         * platform/network/qt/ResourceHandleManagerQt.cpp:
3675         (WebCore::RequestQt::RequestQt):
3676         (WebCore::RequestQt::setURL):
3677         (WebCore::ResourceHandleManager::add):
3678         (WebCore::ResourceHandleManager::cancel):
3679         (WebCore::ResourceHandleManager::receivedResponse):
3680         (WebCore::FileLoader::request):
3681         (WebCore::HostInfo::HostInfo):
3682         (WebCore::NetworkLoader::request):
3683         (WebCore::NetworkLoader::cancel):
3684         * platform/network/qt/ResourceHandleManagerQt.h:
3685         (WebCore::HostInfo::HostInfo):
3686         (WebCore::HostInfo::isLocalFile):
3687
3688 2007-01-15  Eric Seidel  <eric@webkit.org>
3689
3690         Reviewed by rwlbuis.
3691
3692         Make isValid check not malloc 3 SVGStringLists for every element.
3693         
3694         No test possible, performance fix only.
3695
3696         * ksvg2/svg/SVGTests.cpp:
3697         (WebCore::SVGTests::isValid):
3698
3699 2007-01-15  Rob Buis  <buis@kde.org>
3700
3701         Reviewed by Eric.
3702
3703         Remove unused member var.
3704
3705         * ksvg2/svg/SVGStyledElement.h:
3706
3707 2007-01-15  Rob Buis  <buis@kde.org>
3708
3709         Reviewed by Eric.
3710
3711         http://bugs.webkit.org/show_bug.cgi?id=12069
3712         Hit detection fails under some viewbox constraints
3713
3714         Do not take viewBox into account when hit testing svg container.
3715
3716         * rendering/RenderSVGContainer.cpp:
3717         (WebCore::RenderSVGContainer::nodeAtPoint):
3718
3719 2007-01-15  David Hyatt  <hyatt@apple.com>
3720
3721         Fix  for 12275, negative margins confuse page breaks.
3722
3723         Reviewed by Eric
3724
3725         * rendering/RenderBlock.cpp:
3726         (WebCore::RenderBlock::paintChildren):
3727
3728 2007-01-15  Eric Seidel  <eric@webkit.org>
3729
3730         Reviewed by mjs.
3731         
3732         SVG gradients do not notice stop additions
3733         http://bugs.webkit.org/show_bug.cgi?id=12192
3734
3735         Test: svg/custom/gradient-add-stops.svg
3736
3737         * ksvg2/svg/SVGGradientElement.cpp:
3738         (WebCore::SVGGradientElement::childrenChanged):
3739         * ksvg2/svg/SVGGradientElement.h:
3740
3741 2007-01-14  David Hyatt  <hyatt@apple.com>
3742
3743         Fix for bug 10356, positioning doesn't work with <svg> elements in XHTML.  Change the requiresLayer
3744         check to use the DOM, since the old check would fail if the parent block had no element.
3745
3746         Reviewed by Eric
3747
3748         Added svg/custom/relative-positioning.html (absolute/fixed too)
3749
3750         * rendering/RenderSVGContainer.cpp:
3751         (WebCore::RenderSVGContainer::requiresLayer):
3752
3753 2007-01-14  Eric Seidel  <eric@webkit.org>
3754
3755         Reviewed by hyatt.
3756         
3757         SVG does not correctly handle float: left
3758         http://bugs.webkit.org/show_bug.cgi?id=12210
3759
3760         Test: svg/custom/svg-float-border-padding.xml
3761
3762         * rendering/RenderSVGContainer.cpp:
3763         (WebCore::RenderSVGContainer::paint):
3764
3765 2007-01-14  David Hyatt  <hyatt@apple.com>
3766
3767         More work to fix 10145, regression where form elements don't break properly.  Make sure to really use
3768         the parent of the replaced element's whitespace value everywhere.
3769
3770         Reviewed by olliej
3771
3772         fast/replaced/three-selects-break.html
3773
3774         * rendering/bidi.cpp:
3775         (WebCore::RenderBlock::findNextLineBreak):
3776
3777 2007-01-14  Sam Weinig  <sam@webkit.org>
3778
3779         Reviewed by Darin and then by Mitz.
3780
3781         Patch for http://bugs.webkit.org/show_bug.cgi?id=12228
3782         Cleanup assorted CSS classes
3783
3784         * css/CSSBorderImageValue.cpp:
3785         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
3786         (WebCore::CSSBorderImageValue::cssText):
3787         * css/CSSBorderImageValue.h:
3788         * css/CSSComputedStyleDeclaration.cpp:
3789         (WebCore::valueForLength):
3790         (WebCore::valueForBorderStyle):
3791         (WebCore::valueForTextAlign):
3792         (WebCore::valueForShadow):
3793         (WebCore::getPositionOffsetValue):
3794         (WebCore::CSSComputedStyleDeclaration::cssText):
3795         (WebCore::primitiveValueFromLength):
3796         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3797         (WebCore::CSSComputedStyleDeclaration::getPropertyPriority):
3798         (WebCore::CSSComputedStyleDeclaration::removeProperty):
3799         (WebCore::CSSComputedStyleDeclaration::setProperty):
3800         (WebCore::CSSComputedStyleDeclaration::length):
3801         (WebCore::CSSComputedStyleDeclaration::item):
3802         * css/CSSComputedStyleDeclaration.h:
3803         * css/CSSCursorImageValue.cpp:
3804         (WebCore::CSSCursorImageValue::CSSCursorImageValue):
3805         * css/CSSCursorImageValue.h:
3806         * css/CSSGrammar.y:
3807         * css/CSSImageValue.cpp:
3808         * css/CSSImageValue.h:
3809         * css/CSSInheritedValue.cpp:
3810         * css/CSSInheritedValue.h:
3811         * css/CSSInitialValue.cpp:
3812         * css/CSSInitialValue.h:
3813         * css/CSSMutableStyleDeclaration.cpp:
3814         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
3815         (WebCore::CSSMutableStyleDeclaration::operator=):
3816         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
3817         (WebCore::CSSMutableStyleDeclaration::get4Values):
3818         (WebCore::CSSMutableStyleDeclaration::getShorthandValue):
3819         (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
3820         (WebCore::CSSMutableStyleDeclaration::removeProperty):
3821         (WebCore::CSSMutableStyleDeclaration::setChanged):
3822         (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
3823         (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
3824         (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
3825         (WebCore::CSSMutableStyleDeclaration::setProperty):
3826         (WebCore::CSSMutableStyleDeclaration::setImageProperty):
3827         (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
3828         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
3829         (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
3830         (WebCore::CSSMutableStyleDeclaration::cssText):
3831         (WebCore::CSSMutableStyleDeclaration::merge):
3832         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
3833         * css/CSSMutableStyleDeclaration.h:
3834         (WebCore::CSSMutableStyleDeclaration::setProperty):
3835         (WebCore::CSSMutableStyleDeclaration::removeProperty):
3836         * css/CSSNamespace.h:
3837         (WebCore::CSSNamespace::CSSNamespace):
3838         * css/CSSPrimitiveValue.cpp:
3839         (WebCore::isCSSTokenizerIdentifier):
3840         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3841         (WebCore::CSSPrimitiveValue::cleanup):
3842         (WebCore::CSSPrimitiveValue::computeLengthInt):
3843         (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
3844         (WebCore::CSSPrimitiveValue::computeLengthShort):
3845         (WebCore::CSSPrimitiveValue::computeLengthFloat):
3846         (WebCore::CSSPrimitiveValue::setFloatValue):
3847         (WebCore::scaleFactorForConversion):
3848         (WebCore::CSSPrimitiveValue::getFloatValue):
3849         (WebCore::CSSPrimitiveValue::setStringValue):
3850         (WebCore::CSSPrimitiveValue::getStringValue):
3851         (WebCore::CSSPrimitiveValue::parseString):
3852         (WebCore::CSSPrimitiveValue::getIdent):
3853         (WebCore::CSSPrimitiveValue::cssText):
3854         * css/CSSPrimitiveValue.h:
3855         (WebCore::CSSPrimitiveValue::getCounterValue):
3856         (WebCore::CSSPrimitiveValue::getRectValue):
3857         (WebCore::CSSPrimitiveValue::getRGBColorValue):
3858         (WebCore::CSSPrimitiveValue::getPairValue):
3859         (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
3860         * css/CSSProperty.cpp:
3861         (WebCore::operator==):
3862         * css/CSSProperty.h:
3863         (WebCore::CSSProperty::operator=):
3864         * css/CSSQuirkPrimitiveValue.h:
3865         (WebCore::CSSQuirkPrimitiveValue::CSSQuirkPrimitiveValue):
3866         * css/CSSRuleList.cpp:
3867         (WebCore::CSSRuleList::CSSRuleList):
3868         (WebCore::CSSRuleList::deleteRule):
3869         (WebCore::CSSRuleList::insertRule):
3870         * css/CSSRuleList.h:
3871         (WebCore::CSSRuleList::item):
3872         * css/CSSSelector.cpp:
3873         (WebCore::CSSSelector::print):
3874         (WebCore::CSSSelector::specificity):
3875         (WebCore::CSSSelector::extractPseudoType):
3876         (WebCore::CSSSelector::operator==):
3877         (WebCore::CSSSelector::selectorText):
3878         * css/CSSSelector.h:
3879         (WebCore::CSSSelector::CSSSelector):
3880         (WebCore::CSSSelector::~CSSSelector):
3881         (WebCore::CSSSelector::append):
3882         (WebCore::CSSSelector::next):
3883         (WebCore::CSSSelector::pseudoType):
3884         (WebCore::CSSSelector::hasTag):
3885         (WebCore::CSSSelector::hasAttribute):
3886         * css/CSSStyleDeclaration.cpp:
3887         (WebCore::propertyID):
3888         (WebCore::CSSStyleDeclaration::getPropertyPriority):
3889         (WebCore::CSSStyleDeclaration::getPropertyShorthand):
3890         (WebCore::CSSStyleDeclaration::isPropertyImplicit):
3891         (WebCore::CSSStyleDeclaration::setProperty):
3892         (WebCore::CSSStyleDeclaration::isPropertyName):
3893         (WebCore::CSSStyleDeclaration::parentRule):
3894         (WebCore::CSSStyleDeclaration::diff):
3895         (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
3896         * css/CSSStyleDeclaration.h:
3897         * css/Counter.h:
3898         (WebCore::Counter::Counter):
3899         (WebCore::Counter::listStyleNumber):
3900         * css/csshelper.cpp:
3901         (WebCore::parseURL):
3902         * css/csshelper.h:
3903         * css/cssparser.h:
3904         (WebCore::domString):
3905         (WebCore::atomicString):
3906         (WebCore::CSSParser::operator|):
3907         * css/cssstyleselector.cpp:
3908         (WebCore::CSSStyleSelector::matchRulesForList):
3909         (WebCore::CSSStyleSelector::checkSelector):
3910         (WebCore::CSSStyleSelector::checkOneSelector):
3911         (WebCore::CSSRuleSet::addRule):
3912
3913 2007-01-14  Mitz Pettel  <mitz@webkit.org>
3914
3915         Reviewed by Adam.
3916
3917         - fix http://bugs.webkit.org/show_bug.cgi?id=12264
3918           REGRESSION (r18843): Webkit crashes on 43Folders.com home page
3919
3920         Test: fast/tokenizer/ignore-tags-in-iframe.html
3921
3922         * html/HTMLParser.cpp:
3923         (WebCore::HTMLParser::reset): Removed unused inSelect member variable.
3924         (WebCore::HTMLParser::selectCreateErrorCheck): Ditto.
3925         (WebCore::HTMLParser::processCloseTag): Ditto.
3926         * html/HTMLParser.h: Ditto.
3927         * html/HTMLTokenizer.cpp:
3928         (WebCore::HTMLTokenizer::parseTag): Changed not to process <pre>, <listing>,
3929         <script>, <style>, <title>, <textarea> and <xmp> if the parser is in skip mode
3930         (waiting for a close tag of an element whose contents are not parsed,
3931         such as iframe).
3932         * html/HTMLTokenizer.h:
3933         (WebCore::HTMLTokenizer::State::setInStyle): Removed unused bit.
3934         (WebCore::HTMLTokenizer::State::): Ditto.
3935
3936 2007-01-14  Alexey Proskuryakov  <ap@webkit.org>
3937
3938         Reviewed by Darin.
3939
3940         http://bugs.webkit.org/show_bug.cgi?id=12258
3941         fast/tokenizer/002 test broken
3942
3943         * loader/FrameLoader.h: Added a flush parameter to write().
3944         * loader/FrameLoader.cpp:
3945         (WebCore::FrameLoader::write): Ditto.
3946         (WebCore::FrameLoader::endIfNotLoading): Instead of poorly duplicating the logic in write(),
3947         call it directly.
3948
3949 2007-01-14  Adam Roben  <aroben@apple.com>
3950
3951         Reviewed by Maciej.
3952
3953         Make sure our whitelisting of the type and language attributes of the
3954         <script> element is enforced in all HTMLTokenizer/HTMLScriptElement
3955         code paths.
3956
3957         All layout tests pass.
3958
3959         * html/HTMLScriptElement.cpp:
3960         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): New method to
3961         determine whether the script should be executed, given its type and
3962         language attributes.
3963         (WebCore::HTMLScriptElement::evaluateScript): Check type/language
3964         before executing.
3965         * html/HTMLScriptElement.h: Added new declarations.
3966         * html/HTMLTokenizer.cpp:
3967         (WebCore::HTMLTokenizer::begin): Made scriptSrc a String. 
3968         (WebCore::HTMLTokenizer::scriptHandler): Check
3969         shouldExecuteAsJavaScript before executing.
3970         (WebCore::HTMLTokenizer::notifyFinished): Ditto.
3971         (WebCore::HTMLTokenizer::parseTag): Moved type/language checking from
3972         here to HTMLScriptElement::shouldExecuteAsJavaScript.
3973         * html/HTMLTokenizer.h: Made scriptSrc a String, and removed the
3974         javascript member.
3975
3976 2007-01-14  David Hyatt  <hyatt@apple.com>
3977
3978         Make sure floats are avoided if you have non-auto column property values.  Fixes the crazy layout
3979         on http://weblogs.mozillazine.org/roc.
3980
3981         Reviewed by mitz
3982
3983         Added fast/multicol/float-avoidance.html
3984
3985         * rendering/RenderBlock.cpp:
3986         (WebCore::RenderBlock::avoidsFloats):
3987
3988 2007-01-14  David Hyatt  <hyatt@apple.com>
3989
3990         Fix for 10145, regression where line breaks are not being honored between adjacent replaced elements.
3991         When checking for break opportunities where replaced elements are involved, we ignore their white-space
3992         values and use their parents' instead.  The assumption/idea behind this change is that because the element
3993         is replaced, its white-space value is irrelevant except as a means of applying style to its interior.
3994
3995         The CSS spec does not cover this situation, so we're implementing this based off what other browsers seem to
3996         do.
3997
3998         Reviewed by aroben
3999
4000         * css/CSSComputedStyleDeclaration.cpp:
4001         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4002         * css/CSSValueKeywords.in:
4003         * css/cssparser.cpp:
4004         (WebCore::CSSParser::parseValue):
4005         * css/cssstyleselector.cpp:
4006         (WebCore::CSSStyleSelector::applyProperty):
4007         * page/EventHandler.cpp:
4008         (WebCore::EventHandler::EventHandler):
4009         (WebCore::EventHandler::clear):
4010         (WebCore::EventHandler::handleWheelEvent):
4011         * page/EventHandler.h:
4012         * rendering/RenderBox.cpp:
4013         (WebCore::RenderBox::calcHeight):
4014         * rendering/RenderLayer.cpp:
4015         (WebCore::Marquee::Marquee):
4016         (WebCore::Marquee::start):
4017         (WebCore::Marquee::updateMarqueePosition):
4018         (WebCore::Marquee::updateMarqueeStyle):
4019         (WebCore::Marquee::timerFired):
4020         * rendering/RenderLayer.h:
4021         * rendering/RenderPartObject.cpp:
4022         (WebCore::RenderPartObject::viewCleared):
4023         * rendering/RenderStyle.h:
4024         (WebCore::):
4025         * rendering/bidi.cpp:
4026         (WebCore::RenderBlock::findNextLineBreak):
4027
4028 2007-01-13  David Hyatt  <hyatt@apple.com>
4029
4030         While optimizing form controls and fixing their clipping, I caused this text zoom regression.  The layout
4031         of text is necessary because it needs to recalc minmaxwidth.  This is still a really unfortunate
4032         bit of code... since a lot of properties don't apply to text (e.g., borders), we're marking text renderers
4033         as dirty when we don't have to.
4034
4035         Reviewed by mitz
4036
4037         * rendering/RenderObject.cpp:
4038         (WebCore::RenderObject::setStyle):
4039
4040 2007-01-13  Lars Knoll <lars@trolltech.com>
4041
4042         Reviewed by Alexey
4043
4044         String::format() was relying on undefined behaviour, which
4045         happened to work on lots of systems (Mac and 32bit Linux at least)
4046         but broke badly on 64bit Linux.
4047         
4048         * platform/String.cpp:
4049         (WebCore::String::format):
4050
4051 2007-01-13  Martin Reddy  <reddy@pixar.com>
4052
4053         Fix for bug 11924: WebCore would crash on any HTML content
4054         with a non-empty <table> tag in it on a 64-bit machine. The
4055         size_t (64bit) vs int (32bit) cast is now fixed in ensureRows,
4056         and the clients of this function have been updated to check
4057         for a false return code.
4058
4059         Reviewed by Darin, landed by Lars
4060
4061         * rendering/RenderTableSection.cpp:
4062         (WebCore::RenderTableSection::addChild):
4063         (WebCore::RenderTableSection::ensureRows):
4064         (WebCore::RenderTableSection::recalcCells):
4065
4066 2007-01-13  Alexey Proskuryakov  <ap@webkit.org>
4067
4068         Reviewed by Darin.
4069
4070         http://bugs.webkit.org/show_bug.cgi?id=12165
4071         REGRESSION: text encoding problem at jn.sapo.pt
4072
4073         Test: fast/encoding/script-in-head.html
4074
4075         * loader/TextResourceDecoder.cpp:
4076         (WebCore::TextResourceDecoder::checkForHeadCharset):
4077         Ignore tags within <script> elements in head, just like we do for <title>.
4078
4079 2007-01-13  Lars Knoll <lars@trolltech.com>
4080
4081         Reviewed by Maciej
4082
4083         Don't crash when constructing a GraphicsContext with a 0
4084         PlatformGraphicsContext and don't do anything if painting
4085         is disabled.
4086
4087         * platform/graphics/qt/GraphicsContextQt.cpp:
4088         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
4089         (WebCore::GraphicsContext::origin):
4090         (WebCore::GraphicsContext::setPlatformFont):
4091         (WebCore::GraphicsContext::setPlatformStrokeColor):
4092         (WebCore::GraphicsContext::setPlatformStrokeStyle):
4093         (WebCore::GraphicsContext::setPlatformStrokeThickness):
4094         (WebCore::GraphicsContext::setPlatformFillColor):
4095
4096 2007-01-13  Eric Seidel  <eric@webkit.org>
4097
4098         Reviewed by hyatt.
4099
4100         RichDraw demo does not live-update in Safari
4101         (SVG elements should ignore CSS position)
4102         http://bugs.webkit.org/show_bug.cgi?id=10364
4103
4104         * css/cssstyleselector.cpp:
4105         (WebCore::CSSStyleSelector::adjustRenderStyle): ignore position for everything but <svg>
4106         * ksvg2/svg/SVGStyledElement.cpp:
4107         (WebCore::SVGStyledElement::rebuildRenderer): move path generation into layout()
4108         * rendering/RenderContainer.cpp:
4109         (WebCore::RenderContainer::layout): ASSERT kids marked as having completed layout
4110         * rendering/RenderPath.cpp:
4111         (WebCore::RenderPath::layout): move path generation into layout()
4112         * rendering/RenderSVGContainer.cpp:
4113         (WebCore::RenderSVGContainer::layout): ASSERT kids marked as having completed layout
4114
4115 2007-01-12  David Hyatt  <hyatt@apple.com>
4116
4117         Add support for column rules.
4118
4119         Reviewed by bdash
4120
4121         fast/multicol/column-rules.html
4122
4123         * rendering/RenderBlock.cpp:
4124         (WebCore::RenderBlock::paintColumns):
4125         * rendering/RenderStyle.h:
4126         (WebCore::RenderStyle::columnRuleIsTransparent):
4127
4128 2007-01-12  David Hyatt  <hyatt@apple.com>
4129
4130         Make multicolumn layout work with floats.
4131
4132         Reviewed by andersca
4133
4134         Added fast/multicol/float-multicol.html
4135
4136         * rendering/RenderBlock.cpp:
4137         (WebCore::RenderBlock::layoutBlock):
4138         (WebCore::RenderBlock::paintColumns):
4139         (WebCore::RenderBlock::paintObject):
4140         * rendering/RenderBlock.h:
4141
4142 2007-01-12  David Kilzer  <ddkilzer@kilzer.net>
4143
4144         Reviewed by Maciej.
4145
4146         - fix http://bugs.webkit.org/show_bug.cgi?id=12239
4147           REGRESSION (r18816-r18818): Assertion failure in 
4148           WebCore::Length::Length[in-charge](int, WebCore::LengthType, bool)
4149
4150         Test: fast/css/line-height.html
4151
4152         * rendering/RenderTextControl.cpp:
4153         (WebCore::RenderTextControl::createInnerTextStyle): Use a float to create a percent Length.
4154
4155 2007-01-12  Anders Carlsson  <acarlsson@apple.com>
4156
4157         Reviewed by Darin.
4158
4159         Use unsigned long for identifiers instead of Objective-C objects.
4160         
4161         * loader/FrameLoader.cpp:
4162         (WebCore::FrameLoader::loadResourceSynchronously):
4163         (WebCore::FrameLoader::startLoadingMainResource):
4164         (WebCore::FrameLoader::startLoading):
4165         (WebCore::FrameLoader::assignIdentifierToInitialRequest):
4166         (WebCore::FrameLoader::opened):
4167         (WebCore::FrameLoader::sendRemainingDelegateMessages):
4168         (WebCore::FrameLoader::requestFromDelegate):
4169         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
4170         * loader/FrameLoader.h:
4171         * loader/FrameLoaderClient.h:
4172         * loader/ResourceLoader.cpp:
4173         (WebCore::ResourceLoader::ResourceLoader):