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