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