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