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