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