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