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