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