Reviewed by Mitz.
[WebKit-https.git] / WebCore / ChangeLog
1 2006-12-30  Alexey Proskuryakov  <ap@webkit.org>
2
3         Reviewed by Mitz.
4
5         http://bugs.webkit.org/show_bug.cgi?id=11998
6         Incorrect serialization of quotation marks in XML attributes.
7
8         Test: fast/dom/serialize-attribute.xhtml
9
10         * editing/markup.cpp:
11         (WebCore::escapeTextForMarkup): Added an isAttributeValue parameter, as the quotation mark
12         only needs to be encoded in attribute values.
13         (WebCore::startMarkup): Pass appropriate isAttributeValue to escapeTextForMarkup().
14
15 2006-12-29  David Kilzer  <ddkilzer@webkit.org>
16
17         Build fix for no-svg build.
18
19         Change #if SVG_SUPPORT to #ifdef SVG_SUPPORT.
20
21         * bindings/js/kjs_css.cpp:
22         (KJS::toJS):
23         * loader/CachedImage.cpp:
24         (WebCore::CachedImage::createImage):
25
26 2006-12-29  Geoffrey Garen  <ggaren@apple.com>
27
28         Reviewed by Brian Dash... err... Mark Rowe.
29
30         More cleanup in preparation for fixing <rdar://problem/4608404> 
31         WebScriptObject's _executionContext lack of ownership policy causes 
32         crashes (e.g., in Dashcode)
33         
34         The key change here is to RootObject::RootObject().
35         
36         Layout tests pass.
37         
38         Renamed "_bindingRoot" => "_bindingRootObject" because "RootObject" is the
39         type name.
40         
41         * bindings/objc/WebScriptObject.mm:
42         (_didExecute): Use Interpreter::globalObject(), since RootObject::rootObjectImp() 
43         no longer exists.
44
45         * page/mac/FrameMac.mm:
46         (WebCore::FrameMac::bindingRootObject): Use the new RootObject constructor.
47         Stop lying about who deletes _bindingRoot.
48
49         (WebCore::FrameMac::cleanupPluginObjects): => "destroy". Fixed a bug where
50         the RootObject would only free its own memory if there were a ReferencesSet*
51         associated with it.
52
53         * page/mac/WebCoreFrameBridge.mm:
54         (-[WebCoreFrameBridge rootObjectForView:]): Use new constructor. Changed
55         misleading comment.
56
57 2006-12-29  Rob Buis  <buis@kde.org>
58
59         Reviewed by Eric.
60
61         http://bugs.webkit.org/show_bug.cgi?id=12007
62         SVGColor::setRGBColor color creates/deletes many strings, slowing down parsing
63
64         Refactor code so svg reuses cssparser methods. Also make
65         SVGColor and SVGPaint more efficient by avoiding using
66         setRGBColor internally.
67
68         * bindings/js/kjs_css.cpp:
69         (KJS::toJS):
70         * css/cssparser.cpp:
71         (WebCore::CSSParser::parseColor):
72         (WebCore::CSSParser::parseColorFromValue):
73         (WebCore::CSSParser::parseShadow):
74         * css/cssparser.h:
75         * ksvg2/css/SVGCSSParser.cpp:
76         (WebCore::CSSParser::parseSVGPaint):
77         (WebCore::CSSParser::parseSVGColor):
78         * ksvg2/svg/SVGColor.cpp:
79         (WebCore::SVGColor::SVGColor):
80         (WebCore::SVGColor::setRGBColor):
81         (WebCore::SVGColor::cssText):
82         * ksvg2/svg/SVGColor.h:
83         * ksvg2/svg/SVGPaint.cpp:
84         (WebCore::SVGPaint::SVGPaint):
85         * ksvg2/svg/SVGPaint.h:
86         * platform/graphics/Color.cpp:
87         (WebCore::Color::parseHexColor):
88         * platform/graphics/Color.h:
89
90 2006-12-29  Rob Buis  <buis@kde.org>
91
92         Reviewed by weinig.
93
94         http://bugs.webkit.org/show_bug.cgi?id=12022
95         typo in SVGTransformable.cpp introduce in r18440
96      
97         Use the helper method proposed by Eric.
98
99         * ksvg2/svg/SVGTransformable.cpp:
100         (WebCore::checkString):
101         (WebCore::):
102         (WebCore::SVGTransformable::parseTransformAttribute):
103
104 2006-12-29  Rob Buis  <buis@kde.org>
105
106         Reviewed by Eric.
107
108         http://bugs.webkit.org/show_bug.cgi?id=12028
109         Adapt viewBox parsing to SVGParserUtilities
110
111         Use the new parseNumber and add tests for viewBox parsing.
112
113         * ksvg2/svg/SVGFitToViewBox.cpp:
114         (WebCore::SVGFitToViewBox::parseViewBox):
115
116 2006-12-29  Geoffrey Garen  <ggaren@apple.com>
117
118         Build fix: SVGImage only works on Mac.
119
120         * loader/CachedImage.cpp:
121         (WebCore::CachedImage::createImage):
122
123 2006-12-29  Sam Weinig  <sam@webkit.org>
124
125         Reviewed by Geoff.
126
127         Patch for http://bugs.webkit.org/show_bug.cgi?id=12018
128         Cleanup of CSSRule and its subclasses
129
130         - Make CSSRule::type() virtual instead of using a member variable.
131         - General style cleanup.
132
133         * WebCore.xcodeproj/project.pbxproj:
134         * css/CSSCharsetRule.cpp:
135         (WebCore::CSSCharsetRule::CSSCharsetRule):
136         * css/CSSCharsetRule.h:
137         (WebCore::CSSCharsetRule::isCharsetRule):
138         (WebCore::CSSCharsetRule::type):
139         * css/CSSFontFaceRule.cpp:
140         (WebCore::CSSFontFaceRule::CSSFontFaceRule):
141         (WebCore::CSSFontFaceRule::cssText):
142         * css/CSSFontFaceRule.h:
143         (WebCore::CSSFontFaceRule::isFontFaceRule):
144         (WebCore::CSSFontFaceRule::type):
145         * css/CSSImportRule.cpp:
146         (WebCore::CSSImportRule::CSSImportRule):
147         (WebCore::CSSImportRule::setCSSStyleSheet):
148         (WebCore::CSSImportRule::insertedIntoParent):
149         * css/CSSImportRule.h:
150         (WebCore::CSSImportRule::isImportRule):
151         (WebCore::CSSImportRule::type):
152         * css/CSSMediaRule.cpp:
153         (WebCore::CSSMediaRule::CSSMediaRule):
154         (WebCore::CSSMediaRule::insertRule):
155         (WebCore::CSSMediaRule::deleteRule):
156         (WebCore::CSSMediaRule::cssText):
157         * css/CSSMediaRule.h:
158         (WebCore::CSSMediaRule::isMediaRule):
159         (WebCore::CSSMediaRule::type):
160         * css/CSSPageRule.cpp:
161         (WebCore::CSSPageRule::CSSPageRule):
162         (WebCore::CSSPageRule::selectorText):
163         (WebCore::CSSPageRule::setSelectorText):
164         (WebCore::CSSPageRule::cssText):
165         * css/CSSPageRule.h:
166         (WebCore::CSSPageRule::style):
167         (WebCore::CSSPageRule::type):
168         * css/CSSRule.cpp:
169         (WebCore::CSSRule::cssText):
170         (WebCore::CSSRule::setCssText):
171         * css/CSSRule.h:
172         (WebCore::CSSRule::):
173         (WebCore::CSSRule::CSSRule):
174         * css/CSSStyleRule.cpp:
175         (WebCore::CSSStyleRule::CSSStyleRule):
176         (WebCore::CSSStyleRule::setSelectorText):
177         (WebCore::CSSStyleRule::cssText):
178         (WebCore::CSSStyleRule::parseString):
179         * css/CSSStyleRule.h:
180         (WebCore::CSSStyleRule::isStyleRule):
181         (WebCore::CSSStyleRule::style):
182         (WebCore::CSSStyleRule::type):
183         * css/CSSUnknownRule.h:
184         (WebCore::CSSUnknownRule::CSSUnknownRule):
185         (WebCore::CSSUnknownRule::type):
186
187 2006-12-29  Eric Seidel  <eric@eseidel.com>
188
189         Reviewed by ap.
190
191         * platform/graphics/svg/SVGImage.cpp:
192         (WebCore::SVGImage::size): explicitly cast to integers to prevent compile error
193
194 2006-12-29  George Staikos  <staikos@kde.org>
195
196         Reviewed by Sam.
197
198         Don't crash on sites such as www.apple.com.  Painter was ended incorrectly among other issues.
199
200         * platform/graphics/qt/GraphicsContextQt.cpp:
201         (WebCore::TransparencyLayer::TransparencyLayer):
202         (WebCore::TransparencyLayer::cleanup):
203         (WebCore::GraphicsContext::endTransparencyLayer):
204         * platform/qt/ScrollViewCanvasQt.cpp:
205         (WebCore::ScrollViewCanvasQt::paintEvent):
206
207 2006-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
208
209         Build fixed, not reviewed. Noticed by Daniel Molkentin.
210
211         * platform/graphics/svg/SVGImage.h: s/WTF/wtf/ in include.
212
213 2006-12-29  Eric Seidel  <eric@webkit.org>
214
215         Reviewed by olliej.
216
217         * platform/graphics/svg/SVGImageEmptyClients.h:
218         (WebCore::SVGEmptyCromeClient::scaleFactor):  build fix, use 1.f instead of 1f
219
220 2006-12-29  Eric Seidel  <eric@webkit.org>
221
222         Reviewed by hyatt.
223
224         New tests:
225         * fast/images/svg-as-image.html
226         * fast/images/svg-as-background.html
227         * fast/images/svg-as-tiled-background.html
228         
229         Implement basic SVGImage support.
230         http://bugs.webkit.org/show_bug.cgi?id=5971
231         
232         This implementation depends on (rather ugly) stub Page and Frame clients in SVGImageEmptyClients.h
233
234         * WebCore.xcodeproj/project.pbxproj: add SVGImage.*
235         * ksvg2/svg/SVGFEImageElement.cpp:
236         (WebCore::SVGFEImageElement::parseMappedAttribute): ignore fragment urls
237         * loader/CachedImage.cpp:
238         (WebCore::CachedImage::createImage):
239         * platform/graphics/Image.h: made setData virtual
240         * platform/graphics/cg/PDFDocumentImage.cpp:
241         (WebCore::PDFDocumentImage::drawTiled): stub method
242         * platform/graphics/cg/PDFDocumentImage.h:
243         * platform/graphics/svg/SVGImage.cpp: Added.
244         (WebCore::SVGImage::SVGImage):
245         (WebCore::SVGImage::~SVGImage):
246         (WebCore::SVGImage::size):
247         (WebCore::SVGImage::draw):
248         (WebCore::SVGImage::drawTiled): stub method
249         (WebCore::SVGImage::setData):
250         * platform/graphics/svg/SVGImage.h: Added.
251         (WebCore::SVGImage::frameAtIndex):
252         * platform/graphics/svg/SVGImageEmptyClients.h: Added.
253         (WebCore::SVGEmptyCromeClient::~SVGEmptyCromeClient):
254         (WebCore::SVGEmptyCromeClient::chromeDestroyed):
255         (WebCore::SVGEmptyCromeClient::setWindowRect):
256         (WebCore::SVGEmptyCromeClient::windowRect):
257         (WebCore::SVGEmptyCromeClient::pageRect):
258         (WebCore::SVGEmptyCromeClient::scaleFactor):
259         (WebCore::SVGEmptyCromeClient::focus):
260         (WebCore::SVGEmptyCromeClient::unfocus):
261         (WebCore::SVGEmptyCromeClient::createWindow):
262         (WebCore::SVGEmptyCromeClient::createModalDialog):
263         (WebCore::SVGEmptyCromeClient::show):
264         (WebCore::SVGEmptyCromeClient::canRunModal):
265         (WebCore::SVGEmptyCromeClient::runModal):
266         (WebCore::SVGEmptyCromeClient::setToolbarsVisible):
267         (WebCore::SVGEmptyCromeClient::toolbarsVisible):
268         (WebCore::SVGEmptyCromeClient::setStatusbarVisible):
269         (WebCore::SVGEmptyCromeClient::statusbarVisible):
270         (WebCore::SVGEmptyCromeClient::setScrollbarsVisible):
271         (WebCore::SVGEmptyCromeClient::scrollbarsVisible):
272         (WebCore::SVGEmptyCromeClient::setMenubarVisible):
273         (WebCore::SVGEmptyCromeClient::menubarVisible):
274         (WebCore::SVGEmptyCromeClient::setResizable):
275         (WebCore::SVGEmptyCromeClient::addMessageToConsole):
276         (WebCore::SVGEmptyCromeClient::canRunBeforeUnloadConfirmPanel):
277         (WebCore::SVGEmptyCromeClient::runBeforeUnloadConfirmPanel):
278         (WebCore::SVGEmptyCromeClient::closeWindowSoon):
279         (WebCore::SVGEmptyFrameLoaderClient::~SVGEmptyFrameLoaderClient):
280         (WebCore::SVGEmptyFrameLoaderClient::frameLoaderDestroyed):
281         (WebCore::SVGEmptyFrameLoaderClient::hasWebView):
282         (WebCore::SVGEmptyFrameLoaderClient::hasFrameView):
283         (WebCore::SVGEmptyFrameLoaderClient::hasBackForwardList):
284         (WebCore::SVGEmptyFrameLoaderClient::resetBackForwardList):
285         (WebCore::SVGEmptyFrameLoaderClient::provisionalItemIsTarget):
286         (WebCore::SVGEmptyFrameLoaderClient::loadProvisionalItemFromPageCache):
287         (WebCore::SVGEmptyFrameLoaderClient::invalidateCurrentItemPageCache):
288         (WebCore::SVGEmptyFrameLoaderClient::privateBrowsingEnabled):
289         (WebCore::SVGEmptyFrameLoaderClient::makeDocumentView):
290         (WebCore::SVGEmptyFrameLoaderClient::makeRepresentation):
291         (WebCore::SVGEmptyFrameLoaderClient::setDocumentViewFromPageCache):
292         (WebCore::SVGEmptyFrameLoaderClient::forceLayout):
293         (WebCore::SVGEmptyFrameLoaderClient::forceLayoutForNonHTML):
294         (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForCommit):
295         (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForBackForwardNavigation):
296         (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForReload):
297         (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForStandardLoad):
298         (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForInternalLoad):
299         (WebCore::SVGEmptyFrameLoaderClient::updateHistoryAfterClientRedirect):
300         (WebCore::SVGEmptyFrameLoaderClient::setCopiesOnScroll):
301         (WebCore::SVGEmptyFrameLoaderClient::tokenForLoadErrorReset):
302         (WebCore::SVGEmptyFrameLoaderClient::resetAfterLoadError):
303         (WebCore::SVGEmptyFrameLoaderClient::doNotResetAfterLoadError):
304         (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent1):
305         (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent2):
306         (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent3):
307         (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent4):
308         (WebCore::SVGEmptyFrameLoaderClient::loadedFromPageCache):
309         (WebCore::SVGEmptyFrameLoaderClient::download):
310         (WebCore::SVGEmptyFrameLoaderClient::dispatchIdentifierForInitialRequest):
311         (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSendRequest):
312         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
313         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
314         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveResponse):
315         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveContentLength):
316         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoading):
317         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoading):
318         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
319         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidHandleOnloadEvents):
320         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
321         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelClientRedirect):
322         (WebCore::SVGEmptyFrameLoaderClient::dispatchWillPerformClientRedirect):
323         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidChangeLocationWithinPage):
324         (WebCore::SVGEmptyFrameLoaderClient::dispatchWillClose):
325         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveIcon):
326         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidStartProvisionalLoad):
327         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveTitle):
328         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCommitLoad):
329         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailProvisionalLoad):
330         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoad):
331         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoad):
332         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFirstLayout):
333         (WebCore::SVGEmptyFrameLoaderClient::dispatchCreatePage):
334         (WebCore::SVGEmptyFrameLoaderClient::dispatchShow):
335         (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForMIMEType):
336         (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
337         (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
338         (WebCore::SVGEmptyFrameLoaderClient::cancelPolicyCheck):
339         (WebCore::SVGEmptyFrameLoaderClient::dispatchUnableToImplementPolicy):
340         (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSubmitForm):
341         (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadMainResource):
342         (WebCore::SVGEmptyFrameLoaderClient::clearLoadingFromPageCache):
343         (WebCore::SVGEmptyFrameLoaderClient::isLoadingFromPageCache):
344         (WebCore::SVGEmptyFrameLoaderClient::revertToProvisionalState):
345         (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError):
346         (WebCore::SVGEmptyFrameLoaderClient::clearUnarchivingState):
347         (WebCore::SVGEmptyFrameLoaderClient::progressStarted):
348         (WebCore::SVGEmptyFrameLoaderClient::progressCompleted):
349         (WebCore::SVGEmptyFrameLoaderClient::incrementProgress):
350         (WebCore::SVGEmptyFrameLoaderClient::completeProgress):
351         (WebCore::SVGEmptyFrameLoaderClient::setMainFrameDocumentReady):
352         (WebCore::SVGEmptyFrameLoaderClient::startDownload):
353         (WebCore::SVGEmptyFrameLoaderClient::willChangeTitle):
354         (WebCore::SVGEmptyFrameLoaderClient::didChangeTitle):
355         (WebCore::SVGEmptyFrameLoaderClient::committedLoad):
356         (WebCore::SVGEmptyFrameLoaderClient::finishedLoading):
357         (WebCore::SVGEmptyFrameLoaderClient::finalSetupForReplace):
358         (WebCore::SVGEmptyFrameLoaderClient::cancelledError):
359         (WebCore::SVGEmptyFrameLoaderClient::cannotShowURLError):
360         (WebCore::SVGEmptyFrameLoaderClient::interruptForPolicyChangeError):
361         (WebCore::SVGEmptyFrameLoaderClient::cannotShowMIMETypeError):
362         (WebCore::SVGEmptyFrameLoaderClient::fileDoesNotExistError):
363         (WebCore::SVGEmptyFrameLoaderClient::shouldFallBack):
364         (WebCore::SVGEmptyFrameLoaderClient::setDefersLoading):
365         (WebCore::SVGEmptyFrameLoaderClient::willUseArchive):
366         (WebCore::SVGEmptyFrameLoaderClient::isArchiveLoadPending):
367         (WebCore::SVGEmptyFrameLoaderClient::cancelPendingArchiveLoad):
368         (WebCore::SVGEmptyFrameLoaderClient::clearArchivedResources):
369         (WebCore::SVGEmptyFrameLoaderClient::canHandleRequest):
370         (WebCore::SVGEmptyFrameLoaderClient::canShowMIMEType):
371         (WebCore::SVGEmptyFrameLoaderClient::representationExistsForURLScheme):
372         (WebCore::SVGEmptyFrameLoaderClient::generatedMIMETypeForURLScheme):
373         (WebCore::SVGEmptyFrameLoaderClient::frameLoadCompleted):
374         (WebCore::SVGEmptyFrameLoaderClient::restoreScrollPositionAndViewState):
375         (WebCore::SVGEmptyFrameLoaderClient::provisionalLoadStarted):
376         (WebCore::SVGEmptyFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
377         (WebCore::SVGEmptyFrameLoaderClient::addHistoryItemForFragmentScroll):
378         (WebCore::SVGEmptyFrameLoaderClient::didFinishLoad):
379         (WebCore::SVGEmptyFrameLoaderClient::prepareForDataSourceReplacement):
380         (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):
381         (WebCore::SVGEmptyFrameLoaderClient::setTitle):
382         (WebCore::SVGEmptyFrameLoaderClient::userAgent):
383         (WebCore::SVGEmptyEditorClient::~SVGEmptyEditorClient):
384         (WebCore::SVGEmptyEditorClient::pageDestroyed):
385         (WebCore::SVGEmptyEditorClient::shouldDeleteRange):
386         (WebCore::SVGEmptyEditorClient::shouldShowDeleteInterface):
387         (WebCore::SVGEmptyEditorClient::smartInsertDeleteEnabled):
388         (WebCore::SVGEmptyEditorClient::isContinuousSpellCheckingEnabled):
389         (WebCore::SVGEmptyEditorClient::toggleContinuousSpellChecking):
390         (WebCore::SVGEmptyEditorClient::isGrammarCheckingEnabled):
391         (WebCore::SVGEmptyEditorClient::toggleGrammarChecking):
392         (WebCore::SVGEmptyEditorClient::spellCheckerDocumentTag):
393         (WebCore::SVGEmptyEditorClient::selectWordBeforeMenuEvent):
394         (WebCore::SVGEmptyEditorClient::isEditable):
395         (WebCore::SVGEmptyEditorClient::shouldBeginEditing):
396         (WebCore::SVGEmptyEditorClient::shouldEndEditing):
397         (WebCore::SVGEmptyEditorClient::shouldInsertNode):
398         (WebCore::SVGEmptyEditorClient::shouldInsertText):
399         (WebCore::SVGEmptyEditorClient::shouldApplyStyle):
400         (WebCore::SVGEmptyEditorClient::didBeginEditing):
401         (WebCore::SVGEmptyEditorClient::respondToChangedContents):
402         (WebCore::SVGEmptyEditorClient::didEndEditing):
403         (WebCore::SVGEmptyEditorClient::registerCommandForUndo):
404         (WebCore::SVGEmptyEditorClient::registerCommandForRedo):
405         (WebCore::SVGEmptyEditorClient::clearUndoRedoOperations):
406         (WebCore::SVGEmptyEditorClient::canUndo):
407         (WebCore::SVGEmptyEditorClient::canRedo):
408         (WebCore::SVGEmptyEditorClient::undo):
409         (WebCore::SVGEmptyEditorClient::redo):
410         (WebCore::SVGEmptyEditorClient::dataForArchivedSelection):
411         (WebCore::SVGEmptyEditorClient::userVisibleString):
412         (WebCore::SVGEmptyContextMenuClient::~SVGEmptyContextMenuClient):
413         (WebCore::SVGEmptyContextMenuClient::contextMenuDestroyed):
414         (WebCore::SVGEmptyContextMenuClient::addCustomContextMenuItems):
415         (WebCore::SVGEmptyContextMenuClient::contextMenuItemSelected):
416         (WebCore::SVGEmptyContextMenuClient::downloadURL):
417         (WebCore::SVGEmptyContextMenuClient::copyImageToClipboard):
418         (WebCore::SVGEmptyContextMenuClient::lookUpInDictionary):
419         (WebCore::SVGEmptyContextMenuClient::speak):
420         (WebCore::SVGEmptyContextMenuClient::stopSpeaking):
421         (WebCore::SVGEmptyContextMenuClient::searchWithSpotlight):
422
423 2006-12-29  George Staikos  <staikos@kde.org>
424
425         Reviewed by Olliej.
426
427         Make redirects work properly.  Sites will thank us for this. :-)
428
429         * platform/network/qt/ResourceHandleManagerQt.cpp:
430         (WebCore::ResourceHandleManager::receivedResponse):
431
432 2006-12-28  George Staikos  <staikos@kde.org>
433
434         Reviewed by Olliej.
435
436         * loader/CachedImage.cpp: build for Qt
437
438 2006-12-28  Daniel Molkentin <molkentin@kde.org>
439
440         Reviewed by Eric Seidel <eric@webkit.org>
441
442         - Fix font sizes
443         - Make Qt plattform build again:
444           - Adjust Qt platform to the Image class split.
445           - Introduce BitmapImage class
446           - add stub PDFDocumentImage class
447
448         * WebCore.pro:
449         * editing/qt/EditorQt.cpp:
450         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
451         * loader/qt/FrameLoaderQt.cpp:
452         (WebCore::FrameLoader::partClearedInBegin):
453         * platform/graphics/qt/ImageQt.cpp:
454         (WebCore::BitmapImage::initPlatformData):
455         (WebCore::BitmapImage::invalidatePlatformData):
456         (WebCore::Image::loadPlatformResource):
457         (WebCore::BitmapImage::draw):
458         (WebCore::BitmapImage::drawTiled):
459         (WebCore::BitmapImage::checkForSolidColor):
460         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
461         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
462         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
463         (WebCore::SVGPaintServerLinearGradient::setup):
464         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
465         (WebCore::SVGPaintServerPattern::setup):
466         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
467         (WebCore::SVGPaintServer::teardown):
468         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
469         (WebCore::SVGPaintServerRadialGradient::setup):
470         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
471         (WebCore::SVGPaintServerSolid::setup):
472         * platform/qt/FrameQt.cpp:
473         (WebCore::FrameQt::FrameQt):
474         (WebCore::FrameQt::bindingRootObject):
475
476 2006-12-28  Geoffrey Garen  <ggaren@apple.com>
477
478         Reviewed by Brady Eidson.
479         
480         Some cleanup in preparation for fixing <rdar://problem/4608404> 
481         WebScriptObject's _executionContext lack of ownership policy causes 
482         crashes (e.g., in Dashcode)
483         
484         Layout tests pass.
485
486         Renamed "root" | "execContext" | "executionContext" => rootObject, because
487         that's the object's (admittedly vague) type name.
488         
489         * bindings/js/kjs_binding.cpp:
490         * bindings/js/kjs_binding.h: Removed createLanguageInstanceForValue
491         and createObjcInstanceForValue because their only purpose was to confuse you.
492         
493         * bindings/objc/DOMInternal.h: Moved declaration of createDOMWrapper here.
494         createDOMWrapper is the new name for createObjcInstanceForValue.
495         
496         * bindings/objc/DOMInternal.mm: Renamed Interpreter::createObjcInstanceForValue
497         to createDOMWrapper because creating DOM wrappers has nothing to do with the interpreter,
498         and everything to do with the DOM. Renamed value to object because it is one.
499         Removed newObj nil check that is unnecessary in ObjC.
500
501         * bindings/objc/WebScriptObject.mm: Replaced call to createLanguageInstanceForValue
502         with explicit code to do the same thing it would have done: (1) try to create 
503         a DOM wrapper; (2) if the object is not a wrappable DOM object, create a 
504         vanilla WebScriptObject for it instead.
505
506 2006-12-28  Mitz Pettel  <mitz@webkit.org>
507
508         Reviewed by Darin.
509
510         - fix http://bugs.webkit.org/show_bug.cgi?id=11729
511           REGRESSION: Crash closing page with frames after selection
512
513         * loader/FrameLoader.cpp:
514         (WebCore::FrameLoader::detachFromParent): Added call to pageDestroyed().
515         * page/FrameTree.cpp:
516         (WebCore::FrameTree::appendChild): Added an assertion that the parent and
517         the child are in the same page.
518         (WebCore::FrameTree::removeChild): Added calls to decrementFrameCount() and pageDestroyed().
519
520 2006-12-28  David Kilzer  <ddkilzer@webkit.org>
521
522         Reviewed by Mitz.
523
524         - fix http://bugs.webkit.org/show_bug.cgi?id=12016
525           REGRESSION: fast/text/stroking-decorations.html test fails with bus error in no-svg build
526
527         No test cases (no change in functionality).
528
529         * platform/TextStream.cpp: Properly initialize presicionFormats.
530         * rendering/RenderTreeAsText.cpp:
531         (WebCore::externalRepresentation): HTML tests now print out the stroke width, which is a float,
532         so the precision needs to be set.
533
534 2006-12-28  Eric Seidel  <eric@webkit.org>
535
536         Reviewed by rwlbuis.
537
538         Fix for memory smasher when drawing markers.
539         http://bugs.webkit.org/show_bug.cgi?id=12015
540         
541         No test case possible (crashes for some folks but not others, not even under --guard)
542
543         * platform/graphics/cg/PathCG.cpp:
544         (WebCore::CGPathApplierToPathApplier): array was too small
545
546 2006-12-28  Mitz Pettel  <mitz@webkit.org>
547
548         Reviewed by Darin.
549
550         - fix http://bugs.webkit.org/show_bug.cgi?id=11124
551           REGRESSION (r14297): No drag image for partially-selected complex text
552
553         Test: fast/text/atsui-partial-selection.html
554
555         * platform/Font.h: Changed comment.
556         * platform/mac/FontMac.mm:
557         (WebCore::Font::drawComplexText): Corrected the run length calculation.
558         Changed the ATSUI layout parameters to know about the entire text run, rather
559         than just the range we are drawing. ATSUI measures the characters before
560         the range and positions the range accordingly.
561
562 2006-12-28  Mitz Pettel  <mitz@webkit.org>
563
564         Reviewed by Darin.
565
566         - fix http://bugs.webkit.org/show_bug.cgi?id=9202
567           CSS3: border-radius not completely implemented, testcase hangs webkit
568
569         Test: fast/borders/borderRadiusAllStylesAllCorners.html
570
571         * rendering/RenderObject.cpp:
572         (WebCore::RenderObject::paintBorder): Changed to not draw "arcs" at straight
573         corners and to paint half-corners only where the styles mismatch.
574         Corrected the condition for matching styles: ridge, groove, inset and outset
575         all mismatch in the upper right and lower left corners and match in the other
576         two. The incorrect condition for a match was (almost) unnoticeable because of
577         the painting of both half-corners on each side that had at least one mismatch.
578
579 2006-12-28  Alexey Proskuryakov  <ap@webkit.org>
580
581         Reverting the previous checkin, as it caused an assertion in layout tests.
582
583         * rendering/RenderTableCell.cpp:
584         (WebCore::RenderTableCell::borderLeft):
585         (WebCore::RenderTableCell::borderRight):
586         (WebCore::RenderTableCell::borderTop):
587         (WebCore::RenderTableCell::borderBottom):
588         * rendering/RenderTableCell.h:
589
590 2006-12-28  Mitz Pettel  <mitz@webkit.org>
591
592         Reviewed by Darin.
593
594         - fix http://bugs.webkit.org/show_bug.cgi?id=11359
595           Incomplete repaint of table cell's collapsed border when changing only the cell
596
597         Test: fast/repaint/table-cell-collapsed-border.html
598
599         * rendering/RenderTableCell.cpp:
600         (WebCore::RenderTableCell::getAbsoluteRepaintRect): Overloaded to add the
601         outer half of any collapsed borders. This function checks the cell's borders'
602         widths but also the widths of the adjoining cells' borders, since they can
603         contribute to the length of this cell's borders perpendicular to them, making
604         such a border overflow the cell in both dimensions.
605         (WebCore::RenderTableCell::borderLeft): Split the collapsing borders case off to
606         borderHalfLeft().
607         (WebCore::RenderTableCell::borderRight): Ditto.
608         (WebCore::RenderTableCell::borderTop): Ditto.
609         (WebCore::RenderTableCell::borderBottom): Ditto.
610         (WebCore::RenderTableCell::borderHalfLeft): Added. Takes an 'outer' boolean
611         parameter. When true, this function returns the width of the part of the border
612         that is outside the cell (different from the inner width when the total width is odd).
613         (WebCore::RenderTableCell::borderHalfRight): Ditto.
614         (WebCore::RenderTableCell::borderHalfTop): Ditto.
615         (WebCore::RenderTableCell::borderHalfBottom): Ditto.
616         * rendering/RenderTableCell.h:
617
618 2006-12-28  Mitz Pettel  <mitz@webkit.org>
619
620         Reviewed by Alexey.
621
622         - fix http://bugs.webkit.org/show_bug.cgi?id=11671
623           REGRESSION (r13702): text-transform: capitalize changes non-breaking spaces to spaces
624
625         Test: fast/text/capitalize-preserve-nbsp.html
626
627         * platform/StringImpl.cpp:
628         (WebCore::StringImpl::capitalize): Copy back non-breaking spaces from the
629         original string to the capitalized string. Change a 'previous' non-breaking
630         space into a space (this improves the fix for <rdar://problem/4502311> from r13702).
631
632 2006-12-28  Mitz Pettel  <mitz@webkit.org>
633
634         Reviewed by Darin.
635
636         - fix http://bugs.webkit.org/show_bug.cgi?id=10699
637           div with border-radius does not redraw properly if element inside div is resized
638
639         Test: fast/repaint/border-radius-repaint.html
640
641         * rendering/RenderObject.cpp:
642         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
643
644 2006-12-28  Darin Adler  <darin@apple.com>
645
646         * loader/CachedImage.cpp: (WebCore::CachedImage::createImage):
647         Fixed an #ifdef PLATFORM(CG) that should be #if PLATFORM(CG).
648         Might have broken the build on some platforms.
649
650 2006-12-27  Geoffrey Garen  <ggaren@apple.com>
651
652         Build fix, plus a few "double &" => "double&" changes.
653         
654         * ksvg2/svg/SVGParserUtilities.cpp:
655         (WebCore::parseNumber):
656         (WebCore::SVGPathParser::calculateArc):
657
658 2006-12-27  Oliver Hunt <oliver@apple.com> 
659
660         Build fix
661
662         * platform/graphics/BitmapImage.h:
663         * platform/graphics/Image.cpp:
664         * platform/graphics/Image.h:
665         (WebCore::Image::getHBITMAP):
666         * platform/graphics/cg/PDFDocumentImage.cpp:
667         (WebCore::PDFDocumentImage::PDFDocumentImage):
668
669 2006-12-27  Eric Seidel  <eric@webkit.org>
670
671         Reviewed by olliej.
672
673         Add new PDFDocumentImage and BitmapImage classes (subclasses of Image)
674         (In preparation for adding SVGImage as part of bug 5971)
675         http://bugs.webkit.org/show_bug.cgi?id=11990
676         
677         Test cases landed separately as part of filing bug 11992.
678
679         * WebCore.xcodeproj/project.pbxproj: add BitmapImage.*
680         * loader/CachedImage.cpp:
681         (WebCore::nullImage): use BitmapImage directly
682         (WebCore::CachedImage::createImage): now create either BitmapImage or PDFDocumentImage directly
683         * loader/icon/IconDataCache.cpp:
684         (WebCore::IconDataCache::setImageData): use BitmapImage directly
685         * platform/graphics/BitmapImage.cpp: Added.
686         (WebCore::BitmapImage::BitmapImage):
687         (WebCore::BitmapImage::~BitmapImage):
688         (WebCore::BitmapImage::invalidateData):
689         (WebCore::BitmapImage::cacheFrame):
690         (WebCore::BitmapImage::size):
691         (WebCore::BitmapImage::setNativeData):
692         (WebCore::BitmapImage::frameCount):
693         (WebCore::BitmapImage::isSizeAvailable):
694         (WebCore::BitmapImage::frameAtIndex):
695         (WebCore::BitmapImage::frameDurationAtIndex):
696         (WebCore::BitmapImage::frameHasAlphaAtIndex):
697         (WebCore::BitmapImage::shouldAnimate):
698         (WebCore::BitmapImage::startAnimation):
699         (WebCore::BitmapImage::stopAnimation):
700         (WebCore::BitmapImage::resetAnimation):
701         (WebCore::BitmapImage::advanceAnimation):
702         * platform/graphics/BitmapImage.h: Added.
703         (WebCore::FrameData::FrameData):
704         (WebCore::BitmapImage::nativeImageForCurrentFrame): added.
705         (WebCore::BitmapImage::currentFrame):
706         (WebCore::BitmapImage::mayFillWithSolidColor): added.
707         (WebCore::BitmapImage::solidColor): added.
708         * platform/graphics/Image.cpp:
709         (WebCore::Image::Image):
710         (WebCore::Image::~Image):
711         * platform/graphics/Image.h:
712         (WebCore::Image::setNativeData): now virtual
713         (WebCore::Image::stopAnimation): now virtual
714         (WebCore::Image::resetAnimation): now virtual
715         (WebCore::Image::getNSImage): now virtual
716         (WebCore::Image::getTIFFRepresentation): now virtual
717         (WebCore::Image::getCGImageRef): now virtual
718         * platform/graphics/cg/ImageCG.cpp:
719         (WebCore::BitmapImage::checkForSolidColor):
720         (WebCore::BitmapImage::getCGImageRef): use nativeImageForCurrentFrame
721         (WebCore::fillWithSolidColor): added
722         (WebCore::BitmapImage::draw):
723         (WebCore::drawPattern): use fillWithSolidColor, mayFillWithSolidColor() and solidcolor()
724         (WebCore::BitmapImage::drawTiled): use fillWithSolidColor, mayFillWithSolidColor() and solidcolor()
725         * platform/graphics/cg/PDFDocumentImage.cpp:
726         (WebCore::PDFDocumentImage::PDFDocumentImage):
727         (WebCore::PDFDocumentImage::size): change to subclass from Image
728         (WebCore::PDFDocumentImage::setNativeData):
729         (WebCore::PDFDocumentImage::draw):
730         * platform/graphics/cg/PDFDocumentImage.h:
731         (WebCore::PDFDocumentImage::drawTiled):
732         * platform/graphics/mac/ImageMac.mm:
733         (WebCore::BitmapImage::initPlatformData):
734         (WebCore::BitmapImage::invalidatePlatformData):
735         (WebCore::Image::loadPlatformResource):
736         (WebCore::BitmapImage::getTIFFRepresentation):
737         (WebCore::BitmapImage::getNSImage):
738         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
739         (WebCore::SVGFEImage::getCIFilter): remove soon-to-be unnecessary comment
740         * rendering/RenderImage.cpp:
741         (WebCore::RenderImage::nullImage): use BitmapImage
742
743 2006-12-27  Mitz Pettel  <mitz@webkit.org>
744
745         Reviewed by Hyatt.
746
747         - fix http://bugs.webkit.org/show_bug.cgi?id=11452
748           REGRESSION (r16736-r16801): Incorrect repaint of fixed boxes
749
750         Test: fast/repaint/fixed.html
751
752         * rendering/RenderView.cpp:
753         (WebCore::RenderView::computeAbsoluteRepaintRect): Re-added.
754         * rendering/RenderView.h:
755
756 2006-12-27  Mitz Pettel  <mitz@webkit.org>
757
758         Reviewed by Geoff.
759
760         - fix http://bugs.webkit.org/show_bug.cgi?id=11930
761           Specifying border-radius makes the outline shrink
762
763         Test: fast/css/border-radius-outline-offset.html
764
765         * css/cssstyleselector.cpp:
766         (WebCore::CSSStyleSelector::applyProperty): Added missing return statement.
767
768 2006-12-27  Rob Buis  <buis@kde.org>
769
770         Reviewed by Eric.
771
772         http://bugs.webkit.org/show_bug.cgi?id=11108
773         Replace usage of split by proper parsers
774         http://bugs.webkit.org/show_bug.cgi?id=11908
775         WebKit spends 40% of its time displaying "bamboo.svg" executing Regexes
776
777         Get rid of split() when parsing transform attribute.
778
779         * CMakeLists.txt:
780         * WebCore.xcodeproj/project.pbxproj:
781         * ksvg2/svg/SVGParserUtilities.cpp: Added.
782         (WebCore::parseNumber):
783         (WebCore::parseNumberOptionalNumber):
784         (WebCore::SVGPolyParser::parsePoints):
785         (WebCore::SVGPathParser::parseSVG):
786         (WebCore::SVGPathParser::calculateArc):
787         (WebCore::SVGPathParser::svgLineToHorizontal):
788         (WebCore::SVGPathParser::svgLineToVertical):
789         (WebCore::SVGPathParser::svgCurveToCubicSmooth):
790         (WebCore::SVGPathParser::svgCurveToQuadratic):
791         (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
792         (WebCore::SVGPathParser::svgArcTo):
793         * ksvg2/svg/SVGParserUtilities.h: Added.
794         (WebCore::isWhitespace):
795         (WebCore::skipOptionalSpaces):
796         (WebCore::skipOptionalSpacesOrDelimiter):
797         (WebCore::SVGPolyParser::~SVGPolyParser):
798         (WebCore::SVGPathParser::~SVGPathParser):
799         * ksvg2/svg/SVGPathElement.cpp:
800         (WebCore::SVGPathElement::SVGPathElement):
801         * ksvg2/svg/SVGPathElement.h:
802         * ksvg2/svg/SVGTransformable.cpp:
803         (WebCore::parseTransformParamList):
804         (WebCore::SVGTransformable::parseTransformAttribute):
805         * ksvg2/svg/svgpathparser.cpp:
806         (WebCore::DeprecatedSVGPathParser::parseSVG):
807         (WebCore::DeprecatedSVGPathParser::calculateArc):
808         (WebCore::DeprecatedSVGPathParser::svgLineToHorizontal):
809         (WebCore::DeprecatedSVGPathParser::svgLineToVertical):
810         (WebCore::DeprecatedSVGPathParser::svgCurveToCubicSmooth):
811         (WebCore::DeprecatedSVGPathParser::svgCurveToQuadratic):
812         (WebCore::DeprecatedSVGPathParser::svgCurveToQuadraticSmooth):
813         (WebCore::DeprecatedSVGPathParser::svgArcTo):
814         * ksvg2/svg/svgpathparser.h:
815         (WebCore::DeprecatedSVGPathParser::~DeprecatedSVGPathParser):
816
817 2006-12-27  Mitz Pettel  <mitz@webkit.org>
818
819         Reviewed by Geoff.
820
821         - http://bugs.webkit.org/show_bug.cgi?id=11968
822           BidiContext's m_basicDir is redundant
823
824         No test possible (no functionality change)
825
826         * rendering/bidi.cpp:
827         (WebCore::BidiContext::BidiContext):
828         (WebCore::operator==):
829         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Use the block's
830         direction to resolve 'automatic' text-align.
831         * rendering/bidi.h:
832         (WebCore::BidiContext::dir):
833
834 2006-12-27  Nikolas Zimmermann  <zimmermann@kde.org>
835
836         Build fix, not reviewed.
837
838         Accidently commited an older revision of this file.
839
840         * platform/graphics/svg/SVGPaintServerPattern.h:
841
842 2006-12-27  Nikolas Zimmermann  <zimmermann@kde.org>
843
844         Reviewed by Mitz & Eric.
845
846         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11904
847
848         We need to cache the CGPatternRef (m_pattern) for efficiency
849         in SVGPaintServerPatternCg, and keep track wheter the underlying
850         ImageBuffer has changed, and only update the pattern in that case.
851
852         * platform/graphics/svg/SVGPaintServerPattern.cpp:
853         (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
854         (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
855         (WebCore::SVGPaintServerPattern::setTile):
856         * platform/graphics/svg/SVGPaintServerPattern.h:
857         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
858         (WebCore::SVGPaintServerPattern::setup):
859         (WebCore::SVGPaintServerPattern::teardown):
860
861 2006-12-26  Geoffrey Garen  <ggaren@apple.com>
862
863         Reviewed by Eric Seidel.
864
865         Fixed <rdar://problem/4740328> Safari crash on quit in _NPN_ReleaseObject 
866         from KJS::Bindings::CInstance::~CInstance
867         
868         No testcase because we can't open and close windows in DumpRenderTree.
869         
870         * loader/FrameLoader.cpp: Removed closeDocument helper function because
871         its only purpose was to call didCloseDocument, which is gone now.
872         (WebCore::FrameLoader::detachFromParent): closeDocument => closeURL, 
873         since didCloseDocument is gone now.
874
875         * loader/FrameLoaderClient.h: Removed didCloseDocument because it proved
876         unnecessary and harmful.
877         
878         * loader/mac/FrameLoaderMac.mm:
879         (WebCore::FrameLoader::transitionToCommitted): closeDocument => closeURL, 
880         since didCloseDocument is gone now.
881
882 2006-12-26  Eric Seidel  <eric@webkit.org>
883
884         Reviewed by olliej.
885
886         ASSERT while loading SVG map
887         http://bugs.webkit.org/show_bug.cgi?id=11987
888
889         * ksvg2/css/SVGCSSParser.cpp: remove a few .impl() calls previously missed.
890         (WebCore::CSSParser::parseSVGValue):
891         (WebCore::CSSParser::parseSVGPaint):
892         (WebCore::CSSParser::parseSVGColor):
893         * ksvg2/misc/KCanvasRenderingStyle.cpp: handle invalid colors
894         (WebCore::KSVGPainterFactory::fillPaintServer):
895         (WebCore::KSVGPainterFactory::strokePaintServer):
896
897 2006-12-26  Eric Seidel  <eric@webkit.org>
898
899         Reviewed by ggaren.
900
901         No test cases changed.
902         
903         Remove unnecessary (and inefficient) .impl() and .deprecatedString() calls.
904         http://bugs.webkit.org/show_bug.cgi?id=11989
905
906         * bindings/js/kjs_dom.cpp:
907         (KJS::DOMNodeList::getOwnPropertySlot):
908         * dom/Document.cpp:
909         (WebCore::Document::createAttributeNS):
910         * dom/Element.cpp:
911         (WebCore::Element::getAttributeNS):
912         (WebCore::Element::setAttribute):
913         (WebCore::Element::setAttributeNS):
914         (WebCore::Element::removeAttributeNS):
915         (WebCore::Element::getAttributeNode):
916         (WebCore::Element::getAttributeNodeNS):
917         (WebCore::Element::hasAttribute):
918         (WebCore::Element::hasAttributeNS):
919         * dom/NamedAttrMap.cpp:
920         (WebCore::NamedAttrMap::getNamedItemNS):
921         (WebCore::NamedAttrMap::removeNamedItemNS):
922         * dom/ProcessingInstruction.cpp:
923         (WebCore::ProcessingInstruction::checkStyleSheet):
924         * html/HTMLBaseElement.cpp:
925         (WebCore::HTMLBaseElement::process):
926         * html/HTMLEmbedElement.cpp:
927         (WebCore::HTMLEmbedElement::parseMappedAttribute):
928         * html/HTMLEmbedElement.h:
929         * html/HTMLHRElement.cpp:
930         (WebCore::HTMLHRElement::parseMappedAttribute):
931         * html/HTMLScriptElement.cpp:
932         (WebCore::HTMLScriptElement::insertedIntoDocument):
933         * html/HTMLStyleElement.cpp:
934         (WebCore::HTMLStyleElement::parseMappedAttribute):
935         * ksvg2/svg/SVGAnimateElement.cpp:
936         (WebCore::SVGAnimateElement::handleTimerEvent):
937         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
938         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
939         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
940         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
941         * ksvg2/svg/SVGFEImageElement.cpp:
942         (WebCore::SVGFEImageElement::parseMappedAttribute):
943         * ksvg2/svg/SVGFitToViewBox.cpp:
944         (WebCore::SVGFitToViewBox::parseMappedAttribute):
945         * ksvg2/svg/SVGImageElement.cpp:
946         (WebCore::SVGImageElement::parseMappedAttribute):
947         * ksvg2/svg/SVGPatternElement.cpp:
948         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
949         (WebCore::SVGPatternElement::notifyAttributeChange):
950         * ksvg2/svg/SVGPolyElement.cpp:
951         (WebCore::SVGPolyElement::notifyAttributeChange):
952         * ksvg2/svg/SVGStopElement.cpp:
953         (WebCore::SVGStopElement::parseMappedAttribute):
954         * ksvg2/svg/SVGTRefElement.cpp:
955         (WebCore::SVGTRefElement::updateReferencedText):
956         * ksvg2/svg/SVGTests.cpp:
957         (WebCore::SVGTests::parseMappedAttribute):
958         * ksvg2/svg/SVGTextPositioningElement.cpp:
959         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
960         * ksvg2/svg/SVGUseElement.cpp:
961         (WebCore::SVGUseElement::closeRenderer):
962         * ksvg2/svg/SVGViewElement.cpp:
963         (WebCore::SVGViewElement::parseMappedAttribute):
964         * page/Frame.cpp:
965         (WebCore::Frame::selectionComputedStyle):
966         * rendering/RenderPartObject.cpp:
967         (WebCore::RenderPartObject::updateWidget):
968         * rendering/SVGRenderTreeAsText.cpp:
969         (WebCore::writeRenderResources):
970
971 2006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>
972
973         Reviewed by Oliver.
974
975         Add patternContentUnits support, and cleanup SVGPaintServerGradientCg.cpp
976         Fixes coords-units-01-b.svg
977
978         * ksvg2/svg/SVGPatternElement.cpp:
979         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
980         * platform/graphics/svg/SVGPaintServerPattern.cpp:
981         (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
982         (WebCore::SVGPaintServerPattern::contentBoundingBoxMode):
983         (WebCore::SVGPaintServerPattern::setContentBoundingBoxMode):
984         * platform/graphics/svg/SVGPaintServerPattern.h:
985         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
986         (WebCore::SVGPaintServerGradient::renderPath):
987         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
988         (WebCore::SVGPaintServerPattern::setup):
989
990 2006-12-26  Eric Seidel  <eric@webkit.org>
991
992         Reviewed by ggaren
993
994         No test cases changed.
995         
996         Remove unneeded isPaintingText() and activeClient() from SVGPaintServer system
997
998         * platform/graphics/svg/SVGPaintServer.cpp:
999         (WebCore::SVGPaintServer::SVGPaintServer):
1000         * platform/graphics/svg/SVGPaintServer.h:
1001         * platform/graphics/svg/SVGPaintServerGradient.h:
1002         * platform/graphics/svg/SVGPaintServerPattern.h:
1003         * platform/graphics/svg/SVGPaintServerSolid.h:
1004         * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
1005         (WebCore::SVGPaintServer::teardown):
1006         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1007         (WebCore::SVGPaintServerGradient::teardown):
1008         (WebCore::SVGPaintServerGradient::setup):
1009         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
1010         (WebCore::SVGPaintServerPattern::setup):
1011         (WebCore::SVGPaintServerPattern::teardown):
1012         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
1013         (WebCore::SVGPaintServerSolid::setup):
1014         * rendering/RenderPath.cpp:
1015         (WebCore::RenderPath::paint):
1016         * rendering/SVGInlineFlowBox.cpp:
1017         (WebCore::paintSVGInlineFlow):
1018
1019 2006-12-25  Geoffrey Garen  <ggaren@apple.com>
1020
1021         Reviewed by Adam Roben.
1022         
1023         Fixed <rdar://problem/4778898> REGRESSION: crash in getInstanceForView() 
1024         when quitting from kcbs.com
1025         
1026         No testcase because we can't open and close windows in DRT.
1027         
1028         The crash was caused by deallocating plug-ins that were later referenced
1029         in the unload event handler.
1030
1031         * loader/FrameLoader.cpp:
1032         (WebCore::FrameLoader::closeDocument): Call didCloseDocument after closing
1033         instead of before, so plugins don't get deallocated until the document
1034         has been destroyed and all event handlers have fired.
1035         
1036         * loader/FrameLoaderClient.h: Renamed "willCloseDocument" to "didCloseDocument",
1037         since we call it after closing now.
1038
1039 2006-12-26  Eric Seidel  <eric@webkit.org>
1040
1041         Reviewed by rwlbuis.
1042
1043         Replace bogus SVGLength::isFraction() method with valueAsPercentage() to fix:
1044         http://bugs.webkit.org/show_bug.cgi?id=11973
1045         
1046         * ksvg2/svg/SVGLength.cpp:
1047         (WebCore::SVGLength::valueInSpecifiedUnits): remove extra spaces
1048         (WebCore::SVGLength::valueAsPercentage): new method
1049         * ksvg2/svg/SVGLength.h:
1050         * ksvg2/svg/SVGLinearGradientElement.cpp:
1051         (WebCore::SVGLinearGradientElement::buildGradient): use valueAsPercentage()
1052         * ksvg2/svg/SVGPatternElement.cpp:
1053         (WebCore::SVGPatternElement::drawPatternContentIntoTile): return if malloc fails
1054         * ksvg2/svg/SVGRadialGradientElement.cpp:
1055         (WebCore::SVGRadialGradientElement::buildGradient): use valueAsPercentage()
1056         * platform/graphics/cg/GraphicsContextCG.cpp:
1057         (WebCore::GraphicsContext::createImageBuffer): return 0 if malloc fails
1058         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1059         (WebCore::SVGPaintServerGradient::setup): return if malloc fails
1060         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
1061         (WebCore::SVGResourceMasker::applyMask): add comment about possible crash
1062
1063 2006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>
1064
1065         Reviewed by Oliver.
1066
1067         In the DOMParser class, we have to create content-type specific
1068         documents, instead of a pure "Document" object. Real-life SVG
1069         files us this way to convert strings "<svg><rect x=...></svg>
1070         to a new Document structure. 
1071
1072         Add new testcase dynamic-svg-document-creation.svg.
1073
1074         * xml/DOMParser.cpp:
1075         (WebCore::DOMParser::parseFromString):
1076
1077 2006-12-25  Geoffrey Garen  <ggaren@apple.com>
1078
1079         Reviewed by Oliver Hunt.
1080
1081         Removed WebCoreSettings, cleaned up WebCore::Settings.
1082
1083         * WebCore.exp: Exported Settings for use by WebKit, removed WebCoreSettings class.
1084         
1085         * WebCore.xcodeproj/project.pbxproj: Removed WebCoreSetttings.h/.mm.
1086         Added Settings.cpp.
1087
1088         * page/Frame.cpp: Removed cruft that duplicated Settings data. Callers now call
1089         through to Settings to get Settings data.
1090
1091         * page/Page.cpp: Added Settings data member, to replace the one that WebView
1092         used to hold.
1093
1094         * page/Settings.cpp: Added.
1095         * page/Settings.h:
1096             - Renamed all functions to match WebKit API. Renamed all variables to
1097             match functions. Favorite old name: "isPluginsEnabled."
1098             - Moved EditableLinkBehavior outside of the class. Having it inside
1099             just made it harder to type.
1100             - Merged in old WebCoreSettings functionality, like guarding against re-setting
1101             to the same value, and making sure to update page layout.
1102             - Paired setters and getters, putting setters first.            
1103
1104 2006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>
1105
1106         Reviewed by Oliver.
1107
1108         Fix some minor style issues.
1109
1110         * ksvg2/svg/SVGPolygonElement.cpp:
1111         (WebCore::SVGPolygonElement::toPathData):
1112         * ksvg2/svg/SVGPolygonElement.h:
1113         * ksvg2/svg/SVGPolylineElement.cpp:
1114         (WebCore::SVGPolylineElement::toPathData):
1115         * ksvg2/svg/SVGPolylineElement.h:
1116
1117 2006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>
1118
1119         Reviewed by Oliver.
1120
1121         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11963
1122         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11123
1123
1124         Fix SVGList JS wrappers, which operate on POD types (ie. Point).
1125         There exists a special JSSVGPODTypeWrapperCreatorForList class now,
1126         which operators on specialized SVGPODList's. It makes it possible
1127         to support stuff like "myList.getItem(0).value = 200", for POD lists.
1128
1129         Adding two new testcases demonstrating the usage of SVG DOM & SVGAnimatedPoints.
1130
1131         * WebCore.pro:
1132         * WebCore.xcodeproj/project.pbxproj:
1133         * bindings/js/JSSVGPODTypeWrapper.h:
1134         (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
1135         (WebCore::JSSVGPODTypeWrapperCreatorForList::~JSSVGPODTypeWrapperCreatorForList):
1136         (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
1137         * bindings/js/JSSVGPathSegListCustom.cpp:
1138         (WebCore::updatePathSegContextMap):
1139         (WebCore::removeFromPathSegContextMap):
1140         (WebCore::JSSVGPathSegList::clear):
1141         (WebCore::JSSVGPathSegList::initialize):
1142         * bindings/js/JSSVGPointListCustom.cpp: Added.
1143         (WebCore::JSSVGPointList::clear):
1144         (WebCore::JSSVGPointList::initialize):
1145         (WebCore::JSSVGPointList::getItem):
1146         (WebCore::JSSVGPointList::insertItemBefore):
1147         (WebCore::JSSVGPointList::replaceItem):
1148         (WebCore::JSSVGPointList::removeItem):
1149         (WebCore::JSSVGPointList::appendItem):
1150         * bindings/scripts/CodeGeneratorJS.pm:
1151         * ksvg2/misc/SVGDocumentExtensions.h:
1152         (WebCore::SVGDocumentExtensions::baseValueMap):
1153         (WebCore::SVGDocumentExtensions::genericContextMap):
1154         (WebCore::SVGDocumentExtensions::genericContext):
1155         (WebCore::SVGDocumentExtensions::setGenericContext):
1156         (WebCore::SVGDocumentExtensions::removeGenericContext):
1157         (WebCore::SVGDocumentExtensions::hasGenericContext):
1158         * ksvg2/svg/SVGAnimatedPathData.cpp:
1159         * ksvg2/svg/SVGAnimatedPathData.h:
1160         * ksvg2/svg/SVGAnimatedPoints.cpp:
1161         * ksvg2/svg/SVGAnimatedPoints.h:
1162         * ksvg2/svg/SVGLengthList.cpp:
1163         (WebCore::SVGLengthList::SVGLengthList):
1164         (WebCore::SVGLengthList::parse):
1165         * ksvg2/svg/SVGLengthList.h:
1166         * ksvg2/svg/SVGList.h:
1167         (WebCore::SVGPODListItem::SVGPODListItem):
1168         (WebCore::SVGPODListItem::operator Item&):
1169         (WebCore::SVGPODListItem::operator const Item&):
1170         (WebCore::SVGPODListItem::value):
1171         (WebCore::SVGPODListItem::setValue):
1172         (WebCore::SVGPODList::SVGPODList):
1173         (WebCore::SVGPODList::initialize):
1174         (WebCore::SVGPODList::getFirst):
1175         (WebCore::SVGPODList::getLast):
1176         (WebCore::SVGPODList::getItem):
1177         (WebCore::SVGPODList::insertItemBefore):
1178         (WebCore::SVGPODList::replaceItem):
1179         (WebCore::SVGPODList::removeItem):
1180         (WebCore::SVGPODList::appendItem):
1181         * ksvg2/svg/SVGPathSegList.idl:
1182         * ksvg2/svg/SVGPointList.cpp:
1183         (SVGPointList::SVGPointList):
1184         (SVGPointList::context):
1185         * ksvg2/svg/SVGPointList.h:
1186         * ksvg2/svg/SVGPointList.idl:
1187         * ksvg2/svg/SVGPolyElement.cpp:
1188         (WebCore::SVGPolyElement::SVGPolyElement):
1189         (WebCore::SVGPolyElement::points):
1190         (WebCore::SVGPolyElement::animatedPoints):
1191         (WebCore::SVGPolyElement::parseMappedAttribute):
1192         (WebCore::SVGPolyElement::notifyAttributeChange):
1193         * ksvg2/svg/SVGPolyElement.h:
1194         * rendering/RenderSVGText.cpp:
1195
1196 2006-12-25  Alexey Proskuryakov  <ap@webkit.org>
1197
1198         Reviewed by Maciej.
1199
1200         http://bugs.webkit.org/show_bug.cgi?id=10313
1201         Reproducible crash when doing importStylesheet in javascript with 
1202         xsl files that use xsl:import
1203
1204         This doesn't fully address the bug, but makes a couple of steps
1205         in that direction.
1206
1207         * xml/XSLTProcessor.cpp:
1208         (WebCore::transformToString): Set m_stylesheet even if it's created implicitly,
1209         rather than passed from outside. Always reset it in the end (this doesn't affect
1210         Document::applyXSLTransform(), which was the only user of setXSLStylesheet()).
1211
1212         * xml/xmlhttprequest.cpp:
1213         (WebCore::XMLHttpRequest::getResponseXML): Set the loaded document's URL.
1214
1215 2006-12-24  Mitz Pettel  <mitz@webkit.org>
1216
1217         Reviewed by Maciej and Geoff.
1218
1219         - remove unused member variable m_styleSelectorDirty
1220
1221         No test possible (no functionality change)
1222
1223         * dom/Document.cpp:
1224         (WebCore::Document::Document):
1225         (WebCore::Document::recalcStyleSelector):
1226         * dom/Document.h:
1227
1228 2006-12-24  Sam Weinig  <sam@webkit.org>
1229
1230         Reviewed by Geoff.
1231
1232         Patch for http://bugs.webkit.org/show_bug.cgi?id=11952
1233         style changes made through CSSMediaRule functions insertRule() 
1234         and deleteRule do not show up on the screen 
1235
1236         Tests added:
1237         * fast/dom/css-mediarule-deleteRule-update.html
1238         * fast/dom/css-mediarule-insertRule-update.html
1239
1240         * css/CSSMediaRule.cpp:
1241         (WebCore::CSSMediaRule::insertRule):
1242         (WebCore::CSSMediaRule::deleteRule):
1243
1244 2006-12-24  Rob Buis  <buis@kde.org>
1245
1246         Reviewed by Alexey.
1247
1248         Get rid of unused variable.
1249
1250         * ksvg2/svg/SVGURIReference.cpp:
1251         (WebCore::SVGURIReference::getTarget):
1252
1253 2006-12-23  Alexey Proskuryakov  <ap@webkit.org>
1254
1255         Reviewed by Geoff.
1256
1257         http://bugs.webkit.org/show_bug.cgi?id=11933
1258         REGRESSION: trying to change a property in a computed style declaration results in a crash
1259
1260         Test: fast/dom/computed-style-set-property.html
1261
1262         * bindings/js/kjs_css.cpp:
1263         (KJS::DOMCSSStyleDeclaration::put): Added a check for null m_impl->stylesheet(). Also, fixed
1264         incorrect logic in Dashboard branch - it didn't return in time if removeProperty() raised
1265         an exception (credit for noticing this bug goes to Geoff).
1266
1267 2006-12-23  Lars Naesbye Christensen  <larsnaesbye@stud.ku.dk>
1268
1269         Reviewed by Geoff.
1270
1271         Patch for http://bugs.webkit.org/show_bug.cgi?id=11940
1272         Bad transparency in some cursor pointer images
1273
1274         * Resources/northEastResizeCursor.png:
1275         * Resources/northEastSouthWestResizeCursor.png:
1276         * Resources/northWestResizeCursor.png:
1277         * Resources/northWestSouthEastResizeCursor.png:
1278         * Resources/southEastResizeCursor.png:
1279         * Resources/southWestResizeCursor.png:
1280
1281 2006-12-23  Sam Weinig  <sam@webkit.org>
1282
1283         Reviewed by Geoff.
1284
1285         Patch for http://bugs.webkit.org/show_bug.cgi?id=11876
1286         CSSMediaRule functions insertRule and deleteRule don't raise exceptions
1287
1288         Test added:
1289         * fast/dom/css-mediarule-functions.html
1290
1291         * bindings/js/kjs_css.cpp:
1292         (KJS::DOMCSSRuleFunc::callAsFunction):
1293         * css/CSSMediaRule.cpp: add exception handling
1294         (WebCore::CSSMediaRule::insertRule):
1295         (WebCore::CSSMediaRule::deleteRule):
1296         * css/CSSMediaRule.h: add ExceptionCode arguments
1297         * css/CSSMediaRule.idl: un-comment exceptions
1298
1299 2006-12-23  David Hyatt  <hyatt@apple.com>
1300
1301         Fix 11942.  The inheritable properties array is duplicated (lame).  Make
1302         sure to keep both in sync.
1303
1304         Reviewed by mitz
1305
1306         * css/CSSComputedStyleDeclaration.cpp:
1307         * css/CSSMutableStyleDeclaration.cpp:
1308         (WebCore::):
1309
1310 2006-12-22  Geoffrey Garen  <ggaren@apple.com>
1311
1312         Reviewed by Brady Eidson.
1313         
1314         Fixed <rdar://problem/4871518> Leopard9A321: Crash visiting www.audible.com 
1315         (WebCore::FrameLoader::loadSubframe)
1316
1317         * loader/mac/FrameLoaderMac.mm:
1318         (WebCore::FrameLoader::createFrame): Updated to reflect the fact that
1319         createChildFrameNamed: now returns a WebCore::Frame* instead of a 
1320         WebCoreFrameBridge *.
1321         * page/mac/WebCoreFrameBridge.h:
1322
1323 2006-12-22  David Hyatt  <hyatt@apple.com>
1324
1325         Make sure to actually set the stroke thickness for text decorations.
1326         Covered by bugzilla bug 11921.
1327
1328         Reviewed by mitz
1329
1330         * rendering/InlineFlowBox.cpp:
1331         (WebCore::InlineFlowBox::paintDecorations):
1332         * rendering/InlineTextBox.cpp:
1333         (WebCore::InlineTextBox::paintDecoration):
1334
1335 2006-12-22  Nikolas Zimmermann  <zimmermann@kde.org>
1336
1337         Reviewed by Rob.
1338
1339         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11934
1340
1341         Adding/removing SVGPathSeg* items to a SVGPathElement (through SVGPathSegList
1342         interface) has live update problems, as the notifyAttributeChange() function
1343         isn't called anywhere. The context param is currently stored per SVGPathSeg,
1344         which is not needed - as it can be done using SVGPathSegList completely. It
1345         wastes memory, that is fixed. In order to get rid of the context param in
1346         SVGPathSeg, we need a way to map SVGPathSeg* objects to SVGStyledElement*
1347         objects ("context element"). That is done using a new HashMap in the
1348         SVGDocumentExtensions class.
1349
1350         * WebCore.pro:
1351         * WebCore.xcodeproj/project.pbxproj:
1352         * bindings/js/JSSVGPathSegListCustom.cpp: Added.
1353         (WebCore::updatePathSegContextMap):
1354         (WebCore::removeFromPathSegContextMap):
1355         (WebCore::JSSVGPathSegList::getItem):
1356         (WebCore::JSSVGPathSegList::insertItemBefore):
1357         (WebCore::JSSVGPathSegList::replaceItem):
1358         (WebCore::JSSVGPathSegList::removeItem):
1359         (WebCore::JSSVGPathSegList::appendItem):
1360         * bindings/scripts/CodeGeneratorJS.pm:
1361         * ksvg2/misc/SVGDocumentExtensions.h:
1362         (WebCore::SVGDocumentExtensions::pathSegContextMap):
1363         (WebCore::SVGDocumentExtensions::pathSegContext):
1364         (WebCore::SVGDocumentExtensions::setPathSegContext):
1365         (WebCore::SVGDocumentExtensions::removePathSegContext):
1366         (WebCore::SVGDocumentExtensions::hasPathSegContext):
1367         * ksvg2/svg/SVGList.h:
1368         (WebCore::SVGList::getFirst):
1369         (WebCore::SVGList::getLast):
1370         * ksvg2/svg/SVGPathElement.cpp:
1371         (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
1372         (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
1373         (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
1374         (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
1375         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
1376         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
1377         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
1378         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
1379         (WebCore::SVGPathElement::createSVGPathSegArcAbs):
1380         (WebCore::SVGPathElement::createSVGPathSegArcRel):
1381         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
1382         (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
1383         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
1384         (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
1385         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
1386         (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
1387         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
1388         (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
1389         (WebCore::SVGPathElement::svgMoveTo):
1390         (WebCore::SVGPathElement::svgLineTo):
1391         (WebCore::SVGPathElement::svgLineToHorizontal):
1392         (WebCore::SVGPathElement::svgLineToVertical):
1393         (WebCore::SVGPathElement::svgCurveToCubic):
1394         (WebCore::SVGPathElement::svgCurveToCubicSmooth):
1395         (WebCore::SVGPathElement::svgCurveToQuadratic):
1396         (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
1397         (WebCore::SVGPathElement::svgArcTo):
1398         (WebCore::SVGPathElement::pathSegList):
1399         * ksvg2/svg/SVGPathElement.h:
1400         * ksvg2/svg/SVGPathSeg.cpp: Removed.
1401         * ksvg2/svg/SVGPathSeg.h:
1402         (WebCore::SVGPathSeg::SVGPathSeg):
1403         (WebCore::SVGPathSeg::~SVGPathSeg):
1404         (WebCore::SVGPathSeg::toString):
1405         * ksvg2/svg/SVGPathSegArc.cpp:
1406         (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
1407         (WebCore::SVGPathSegArcAbs::setX):
1408         (WebCore::SVGPathSegArcAbs::setY):
1409         (WebCore::SVGPathSegArcAbs::setR1):
1410         (WebCore::SVGPathSegArcAbs::setR2):
1411         (WebCore::SVGPathSegArcAbs::setAngle):
1412         (WebCore::SVGPathSegArcAbs::setLargeArcFlag):
1413         (WebCore::SVGPathSegArcAbs::setSweepFlag):
1414         (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
1415         (WebCore::SVGPathSegArcRel::setX):
1416         (WebCore::SVGPathSegArcRel::setY):
1417         (WebCore::SVGPathSegArcRel::setR1):
1418         (WebCore::SVGPathSegArcRel::setR2):
1419         (WebCore::SVGPathSegArcRel::setAngle):
1420         (WebCore::SVGPathSegArcRel::setLargeArcFlag):
1421         (WebCore::SVGPathSegArcRel::setSweepFlag):
1422         * ksvg2/svg/SVGPathSegArc.h:
1423         * ksvg2/svg/SVGPathSegClosePath.cpp:
1424         * ksvg2/svg/SVGPathSegClosePath.h:
1425         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
1426         (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
1427         (WebCore::SVGPathSegCurvetoCubicAbs::setX):
1428         (WebCore::SVGPathSegCurvetoCubicAbs::setY):
1429         (WebCore::SVGPathSegCurvetoCubicAbs::setX1):
1430         (WebCore::SVGPathSegCurvetoCubicAbs::setY1):
1431         (WebCore::SVGPathSegCurvetoCubicAbs::setX2):
1432         (WebCore::SVGPathSegCurvetoCubicAbs::setY2):
1433         (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
1434         (WebCore::SVGPathSegCurvetoCubicRel::setX):
1435         (WebCore::SVGPathSegCurvetoCubicRel::setY):
1436         (WebCore::SVGPathSegCurvetoCubicRel::setX1):
1437         (WebCore::SVGPathSegCurvetoCubicRel::setY1):
1438         (WebCore::SVGPathSegCurvetoCubicRel::setX2):
1439         (WebCore::SVGPathSegCurvetoCubicRel::setY2):
1440         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
1441         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
1442         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
1443         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX):
1444         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY):
1445         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX2):
1446         (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY2):
1447         (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
1448         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX):
1449         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY):
1450         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX2):
1451         (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY2):
1452         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
1453         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
1454         (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
1455         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX):
1456         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY):
1457         (WebCore::SVGPathSegCurvetoQuadraticAbs::setX1):
1458         (WebCore::SVGPathSegCurvetoQuadraticAbs::setY1):
1459         (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
1460         (WebCore::SVGPathSegCurvetoQuadraticRel::setX):
1461         (WebCore::SVGPathSegCurvetoQuadraticRel::setY):
1462         (WebCore::SVGPathSegCurvetoQuadraticRel::setX1):
1463         (WebCore::SVGPathSegCurvetoQuadraticRel::setY1):
1464         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
1465         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
1466         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
1467         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setX):
1468         (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setY):
1469         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
1470         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setX):
1471         (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setY):
1472         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
1473         * ksvg2/svg/SVGPathSegLineto.cpp:
1474         (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
1475         (WebCore::SVGPathSegLinetoAbs::setX):
1476         (WebCore::SVGPathSegLinetoAbs::setY):
1477         (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
1478         (WebCore::SVGPathSegLinetoRel::setX):
1479         (WebCore::SVGPathSegLinetoRel::setY):
1480         * ksvg2/svg/SVGPathSegLineto.h:
1481         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
1482         (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
1483         (WebCore::SVGPathSegLinetoHorizontalAbs::setX):
1484         (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
1485         (WebCore::SVGPathSegLinetoHorizontalRel::setX):
1486         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
1487         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
1488         (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
1489         (WebCore::SVGPathSegLinetoVerticalAbs::setY):
1490         (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
1491         (WebCore::SVGPathSegLinetoVerticalRel::setY):
1492         * ksvg2/svg/SVGPathSegLinetoVertical.h:
1493         * ksvg2/svg/SVGPathSegList.cpp:
1494         (WebCore::SVGPathSegList::SVGPathSegList):
1495         (WebCore::SVGPathSegList::context):
1496         * ksvg2/svg/SVGPathSegList.h:
1497         * ksvg2/svg/SVGPathSegList.idl:
1498         * ksvg2/svg/SVGPathSegMoveto.cpp:
1499         (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
1500         (WebCore::SVGPathSegMovetoAbs::setX):
1501         (WebCore::SVGPathSegMovetoAbs::setY):
1502         (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
1503         (WebCore::SVGPathSegMovetoRel::setX):
1504         (WebCore::SVGPathSegMovetoRel::setY):
1505         * ksvg2/svg/SVGPathSegMoveto.h:
1506
1507 2006-12-22  Mitz Pettel  <mitz@webkit.org>
1508
1509         Reviewed by Beth.
1510
1511         - fix http://bugs.webkit.org/show_bug.cgi?id=11903
1512           REGRESSION: outline not drawn if line style is dashed.
1513
1514         This fixes a bunch of existing pixel tests.
1515
1516         * rendering/RenderObject.cpp:
1517         (WebCore::RenderObject::drawBorder):
1518
1519 2006-12-22  John Sullivan  <sullivan@apple.com>
1520
1521         Reviewed by Kevin Decker
1522
1523         - renamed markMisspellingsInAdjacentWords to markMisspellingsAfterTypingToPosition
1524           in anticipation of fixing it to work more correctly with grammar checking, where
1525           only checking adjacent words isn't good enough.
1526
1527         * editing/Editor.h:
1528         renamed markMisspellingsInAdjacentWords to markMisspellingsAfterTypingToPosition 
1529
1530         * editing/TypingCommand.cpp:
1531         (WebCore::TypingCommand::markMisspellingsAfterTyping):
1532         updated for name change
1533
1534         * editing/mac/EditorMac.mm:
1535         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
1536         renamed from markMisspellingsInAdjacentWords and added FIXME comment
1537
1538 2006-12-22  Eric Seidel  <eric@webkit.org>
1539
1540         Reviewed by aroben.
1541
1542         http://bugs.webkit.org/show_bug.cgi?id=11912
1543         Overriding visibility does not behave as expected.
1544
1545         * rendering/RenderSVGContainer.cpp:
1546         (WebCore::RenderSVGContainer::paint): allow children to draw when container is visibility='hidden'
1547
1548 2006-12-22  Nikolas Zimmermann  <zimmermann@kde.org>
1549
1550         Reviewed by Rob.
1551
1552         Fix SVGPathSeg JS object creation. SVGPathSegList has to return
1553         the actual SVGPathSegLineToAbs/MoveToRel... object instead of a pure
1554         SVGPathSeg JS object.
1555
1556         * WebCore.xcodeproj/project.pbxproj:
1557         * WebCore/bindings/js/JSSVGPathSegCustom.cpp: Added.
1558         * bindings/scripts/CodeGeneratorJS.pm:
1559
1560 2006-12-21  Beth Dakin  <bdakin@apple.com>
1561
1562         Reviewed by Geoff.
1563
1564         Fix for <rdar://problem/4897162> REGRESSION: Attempting to create a 
1565         new message in .Mac web mail causes Safari to crash 
1566         ( KJS::DOMCSSStyleDeclaration::put() + 368 )
1567
1568         This was a regression from my clone-node change. This fix is very 
1569         simple.
1570
1571         * dom/StyledElement.cpp:
1572         (WebCore::StyledElement::copyNonAttributeProperties): Must set the 
1573         data that getInlineStyleDecl() points to instead of setting 
1574         m_inlineStyleDecl directly. I also changed some variable names.
1575         * dom/StyledElement.h: Don't need parameter name here.
1576
1577 2006-12-21  Adele Peterson  <adele@apple.com>
1578
1579         Reviewed by Geoff.
1580
1581         - Fix for <rdar://problem/4895716> REGRESSION: Pressing return key in search field doesn't begin search
1582
1583         Test: fast/events/onsearch-enter.html
1584
1585         * html/HTMLInputElement.cpp:
1586         (WebCore::HTMLInputElement::defaultEventHandler): Calls onSearch when handling "Enter".  Also removed
1587          special case for AppKit search fields, so now the enter event is considered handled here.
1588         (WebCore::HTMLInputElement::onSearch): Added. Dispatches search event.
1589         * html/HTMLInputElement.h: Added onSearch.
1590         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::onSearch): Calls onSearch on the node.
1591
1592 2006-12-21  Geoffrey Garen  <ggaren@apple.com>
1593
1594         Reviewed by Brady Eidson.
1595         
1596         Fixed <rdar://problem/4897205> ASSERTION FAILURE in ContainerNode::queuePostAttachCallback 
1597         when creating an iframe from an iframe onload handler
1598
1599         I added that assertion to try to "keep things simple," but I've found a 
1600         testcase that demonstrates why things need to be complicated.
1601
1602         * dom/ContainerNode.cpp:
1603         (WebCore::ContainerNode::queuePostAttachCallback):
1604
1605 2006-12-21  Alexey Proskuryakov  <ap@webkit.org>
1606
1607         Reviewed by Darin.
1608
1609         http://bugs.webkit.org/show_bug.cgi?id=11919
1610         Allow setting CSS values to null.
1611
1612         * bindings/js/kjs_css.cpp:
1613         (KJS::DOMCSSStyleDeclaration::put):
1614         (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
1615         Convert null values to null strings.
1616
1617 2006-12-21  Rob Buis  <buis@kde.org>
1618
1619         Reviewed by Anders.
1620
1621         http://bugs.webkit.org/show_bug.cgi?id=11898
1622         CSSMediaRule functions insertRule and deleteRule assert when called from js in debug builds
1623
1624         Test explicitly for the two media rule functions so it ends up calling callAsFunction.
1625
1626         * bindings/js/kjs_css.cpp:
1627         (KJS::DOMCSSRule::getOwnPropertySlot):
1628
1629 2006-12-21  Lars Knoll <lars@trolltech.com>
1630
1631         Reviewed by Zack
1632
1633         * loader/FrameLoaderClient.h:
1634         * loader/qt/FrameLoaderQt.cpp:
1635         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1636         (WebCore::FrameLoader::partClearedInBegin):
1637         (WebCore::FrameLoader::restoreDocumentState):
1638                 comment out a few notImplemented() warnings
1639         * platform/qt/FrameQt.cpp:
1640         (WebCore::FrameQt::bindingRootObject):
1641         (WebCore::FrameQt::addPluginRootObject):
1642         * platform/qt/FrameQt.h:
1643                  implement these
1644
1645 2006-12-20  David Hyatt  <hyatt@apple.com>
1646
1647         Make sure the execrable match-nearest-mail-blockquote-color CSS property is actually initialized (amazingly
1648         it started off with the value "match", since it wasn't even initialized).  Now that it is actually being
1649         initialized and properly copied and assigned to, tests have failed.  It seems that we were getting the
1650         behavior of "match" by default, when the initial value was supposed to be "normal."
1651
1652         Because this property really should not exist at all, it's unclear to me what the right solution is here.
1653         
1654         * rendering/RenderStyle.cpp:
1655         (WebCore::StyleCSS3NonInheritedData::StyleCSS3NonInheritedData):
1656         (WebCore::StyleCSS3NonInheritedData::operator==):
1657         * rendering/RenderStyle.h:
1658
1659 2006-12-20  Brady Eidson  <beidson@apple.com>
1660
1661         Reviewed by Adam's rubberstamp
1662
1663         Accidentally left a logging channel on in my checkin
1664
1665         * platform/Logging.cpp:
1666         (WebCore::):
1667
1668 2006-12-21  Nikolas Zimmermann  <zimmermann@kde.org>
1669
1670         Reviewed by Oliver.
1671
1672         Fix removeItem recursively calling itself (!). It was meant to call m_vector.remove(index)
1673         not removeItem(index, ec). This bug is in SVN for quite some time now :-)
1674
1675         * ksvg2/svg/SVGList.h:
1676         (WebCore::SVGList::removeItem):
1677
1678 2006-12-20  David Harrison  <harrison@apple.com>
1679
1680         Reviewed by John Sullivan.
1681
1682         <rdar://problem/4893376> REGRESSION: Crash occurs at WebCoreFrameBridge fontForSelection: when drag selecting from a line break
1683         
1684         No layout test added because crash only happens in path where editing window is key,
1685         which is never the case for the automated tests.
1686
1687         * page/mac/WebCoreFrameBridge.mm:
1688         (-[WebCoreFrameBridge fontForSelection:]):
1689         Add nil check of fontForSelection() result.
1690
1691 2006-12-21  Nikolas Zimmermann  <zimmermann@kde.org>
1692
1693         Reviewed by Maciej.
1694
1695         Fix dynamic gradient changes, via JS. It actually worked before, but it
1696         wasn't repainted. Behave just like the pattern notifyAttributeChange() code now.
1697
1698         * ksvg2/svg/SVGGradientElement.cpp:
1699         (WebCore::SVGGradientElement::notifyAttributeChange):
1700
1701 2006-12-20  Geoffrey Garen  <ggaren@apple.com>
1702
1703         Reviewed by Darin Adler.
1704
1705         Fixed <rdar://problem/4809825>. We need to check isSafeScript when converting
1706         a Location to string. 
1707         
1708         It's really a bug, and poor design, for objects to override toString.
1709         Subclasses that want custom toString implementations should add a toString 
1710         function to their prototypes instead of overriding the JavaScript ToString 
1711         operation. Following this design pattern would have avoided this bug in the
1712         first place.
1713         
1714         * bindings/js/kjs_window.cpp:
1715         (KJS::Location::toString):
1716
1717 2006-12-20  David Hyatt  <hyatt@apple.com>
1718
1719         Fix SVG stroking.  Make strokeThickness() get pushed into CG immediately
1720         when set in the GraphicsContext.  Remove setLineWidth since it is
1721         redundant with setStrokeThickness now.
1722
1723         Reviewed by mitz
1724
1725         * html/CanvasRenderingContext2D.cpp:
1726         (WebCore::CanvasRenderingContext2D::setLineWidth):
1727         * platform/graphics/GraphicsContext.cpp:
1728         (WebCore::GraphicsContext::setPlatformStrokeThickness):
1729         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1730         * platform/graphics/GraphicsContext.h:
1731         * platform/graphics/cg/GraphicsContextCG.cpp:
1732         (WebCore::GraphicsContext::drawLine):
1733         (WebCore::GraphicsContext::drawEllipse):
1734         (WebCore::GraphicsContext::strokeArc):
1735         (WebCore::GraphicsContext::drawConvexPolygon):
1736         (WebCore::GraphicsContext::setPlatformStrokeThickness):
1737         * platform/graphics/qt/GraphicsContextQt.cpp:
1738         * platform/mac/FontMac.mm:
1739         (WebCore::Font::drawComplexText):
1740         (WebCore::Font::drawGlyphs):
1741
1742 2006-12-20  David Hyatt  <hyatt@apple.com>
1743
1744         Fix for bug 11893, white text on form controls.  Just make sure that
1745         all form control drawing in RenderTheme is bracketed by save/restore
1746         calls.
1747
1748         Reviewed by adele
1749
1750         * platform/mac/LocalCurrentGraphicsContext.h:
1751         * platform/mac/LocalCurrentGraphicsContext.mm:
1752         (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
1753         (WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):
1754         * rendering/RenderThemeMac.mm:
1755         (WebCore::RenderThemeMac::paintTextField):
1756         (WebCore::RenderThemeMac::paintTextArea):
1757
1758 2006-12-20  Mark Rowe  <bdash@webkit.org>
1759
1760         Reviewed by Anders.
1761
1762         Fix leak of CGContextRef from GraphicsContext::createImageBuffer.
1763
1764         * platform/graphics/cg/GraphicsContextCG.cpp:
1765         (WebCore::GraphicsContext::createImageBuffer): Release newly-created CGContextRef after passing it to GraphicsContext.
1766
1767 2006-12-20  Timothy Hatcher  <timothy@apple.com>
1768
1769         Reviewed by Mark Rowe.
1770
1771         <rdar://problem/4871993> WebCore-421.31 build fails with "Public API change" error when gcc 3.3 is the default compiler
1772
1773         * bindings/scripts/CodeGeneratorObjC.pm: ignore blank lines in the public API check
1774
1775 2006-12-20  David Harrison  <harrison@apple.com>
1776
1777         Reviewed by John Sullivan.
1778
1779         <rdar://problem/4570218> REGRESSION (?-10.4.7): cntl-K only works the first time
1780
1781         Test:
1782         * editing/deleting/delete-to-end-of-paragraph.html
1783         
1784         * editing/TypingCommand.cpp:
1785         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1786         If the selection was a caret at the end of the paragraph, extend selection so it wraps to the start of next paragraph (if any),
1787
1788 2006-12-20  Nikolas Zimmermann  <zimmermann@kde.org>
1789
1790         Build fix, reviewed by Mitz.
1791
1792         Fix mac build, by using proper float -> int conversion.
1793
1794         * rendering/InlineFlowBox.cpp:
1795         (WebCore::InlineFlowBox::placeBoxesHorizontally):
1796
1797 2006-12-20  David Hyatt  <hyatt@apple.com>
1798
1799         Make sure text decoration colors prefer stroke over fill (and honor both of the new CSS properties added
1800         for these values over color).
1801
1802         Reviewed by mitz
1803
1804         Added fast/text/stroking-decorations.html
1805
1806         * rendering/InlineFlowBox.cpp:
1807         (WebCore::InlineFlowBox::paintDecorations):
1808         * rendering/RenderObject.cpp:
1809         (WebCore::decorationColor):
1810         (WebCore::RenderObject::getTextDecorationColors):
1811
1812 2006-12-20  David Kilzer  <ddkilzer@kilzer.net>
1813
1814         Reviewed by Darin.
1815
1816         http://bugs.webkit.org/show_bug.cgi?id=11746
1817         REGRESSION(r14931): Outlook Web Access incorrectly positions the insertion point when replying to e-mail
1818
1819         Set caret at beginning of text on initial focus.
1820
1821         Test: fast/forms/textarea-initial-caret-position.html
1822
1823         * html/HTMLTextAreaElement.cpp:
1824         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
1825
1826 2006-12-20  David Hyatt  <hyatt@apple.com>
1827
1828         Fix for bug 11889, support stroking and filling of HTML text from CSS.  This patch adds four new CSS properties:
1829         text-fill-color, text-stroke-color, text-stroke-width and text-stroke (a shorthand for the other two).  Text
1830         is filled and not stroked by default and does so using the text-fill-color.  If this property is not set, then
1831         color is used.
1832
1833         Stroking is accomplished by setting a stroke width.  Stroke color, if omitted, will be picked up from the color
1834         property.  You can set either color to be transparent or partially transparent.  A fully transparent fill color is
1835         the way to achieve an "outline" effect where only stroking happens.
1836
1837         Stroking and filling are both customizable inside the ::selection pseudo-element, and so when selecting you can
1838         vary colors and widths.
1839
1840         text-shadow applies to both the stroke and the fill.
1841
1842         text-decorations do not yet respect the stroke/fill colors.  This will follow in a later patch.
1843
1844         Reviewed by mitz
1845
1846         Added fast/text/stroking.html as a layout test.  Enhanced RenderTreeAsText.cpp to dump fill and stroke information.
1847
1848         * css/CSSComputedStyleDeclaration.cpp:
1849         (WebCore::):
1850         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1851         * css/CSSPropertyNames.in:
1852         * css/cssparser.cpp:
1853         (WebCore::CSSParser::parseValue):
1854         * css/cssstyleselector.cpp:
1855         (WebCore::CSSStyleSelector::applyProperty):
1856         * platform/mac/FontMac.mm:
1857         (WebCore::Font::drawComplexText):
1858         (WebCore::Font::drawGlyphs):
1859         * rendering/InlineFlowBox.cpp:
1860         (WebCore::InlineFlowBox::placeBoxesHorizontally):
1861         * rendering/InlineFlowBox.h:
1862         (WebCore::InlineFlowBox::InlineFlowBox):
1863         (WebCore::InlineFlowBox::maxHorizontalVisualOverflow):
1864         * rendering/InlineTextBox.cpp:
1865         (WebCore::updateGraphicsContext):
1866         (WebCore::InlineTextBox::paint):
1867         (WebCore::InlineTextBox::paintSelection):
1868         (WebCore::InlineTextBox::paintMarkedTextBackground):
1869         (WebCore::InlineTextBox::paintTextMatchMarker):
1870         * rendering/RenderObject.cpp:
1871         (WebCore::RenderObject::selectionForegroundColor):
1872         * rendering/RenderStyle.cpp:
1873         (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
1874         (WebCore::StyleCSS3InheritedData::operator==):
1875         (WebCore::RenderStyle::diff):
1876         * rendering/RenderStyle.h:
1877         (WebCore::RenderStyle::textStrokeColor):
1878         (WebCore::RenderStyle::textStrokeWidth):
1879         (WebCore::RenderStyle::textFillColor):
1880         (WebCore::RenderStyle::setTextStrokeColor):
1881         (WebCore::RenderStyle::setTextStrokeWidth):
1882         (WebCore::RenderStyle::setTextFillColor):
1883         (WebCore::RenderStyle::initialTextStrokeWidth):
1884         * rendering/RenderTreeAsText.cpp:
1885         (WebCore::operator<<):
1886
1887 2006-12-19  Adele Peterson  <adele@apple.com>
1888
1889         Reviewed by Anders.
1890
1891         - Fix for <rdar://problem/3824247> Select All works even if -khtml-user-select:none; style is set
1892
1893         Also made user-select:none work on new list boxes, and cleaned up the list box defaultEventHandler.
1894
1895         Test: editing/selection/select-all-user-select-none.html
1896
1897         * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): Make sure canSelect is true on the root renderer.
1898         * html/HTMLSelectElement.cpp:
1899         (WebCore::HTMLSelectElement::canSelectAll): Check canSelect here.
1900         (WebCore::HTMLSelectElement::selectAll): Added nil check for renderer.
1901         (WebCore::HTMLSelectElement::defaultEventHandler): Return early if the event has been handled.
1902         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Check canSelect here.
1903         * html/HTMLSelectElement.h:
1904
1905 2006-12-19  Anders Carlsson  <acarlsson@apple.com>
1906
1907         Reviewed by Adele.
1908
1909         <rdar://problem/4701860> 
1910         http://bugs.webkit.org/show_bug.cgi?id=11010
1911         [9A255] Crash in WebCore::EventTargetNode::dispatchEvent
1912         
1913         * html/HTMLScriptElement.cpp:
1914         (WebCore::HTMLScriptElement::notifyFinished):
1915         Ref the script element while running the script since it can be freed
1916         when executing the script.
1917
1918 2006-12-19  Darin Adler  <darin@apple.com>
1919
1920         Reviewed by Geoff.
1921
1922         - <rdar://problem/4885227>
1923           frame resizing is now live and no longer does direct drawing
1924
1925         * html/HTMLFrameSetElement.h: Made frameBorder() and noResize() const.
1926         Added rowLengths() and colLengths() getters so that we don't have to
1927         have RenderFrameSet as a friend. Stopped using bit fields.
1928
1929         * html/HTMLFrameSetElement.cpp:
1930         (WebCore::HTMLFrameSetElement::defaultEventHandler): Removed now-uneeded
1931         check for contextmenu events. Look at return value from userResize to
1932         decide whether to mark the event as "default handled". In the case where
1933         the event is handled, don't call through to the base class.
1934
1935         * rendering/RenderFrameSet.h: No longer mark HTMLFrameSetElement as a
1936         friend. Made positionFrames and canResize private, and changed canResize
1937         to take an IntPoint. Added isResizingRow, isResizingColumn, canResizeRow,
1938         and canResizeColumn functions to be used soon for cursor feedback.
1939         Removed override of non-virtual element() function and replaced it with
1940         a private frameSet() inline function. Grouped all the data members for
1941         each axis into a GridAxis class, and made one called m_cols and one called
1942         m_rows. Used vectors for the resizable bits of this instead of new/delete
1943         arrays. Added a constant named "noSplit" so we don't have to use -1
1944         everywhere explicitly for this purpose. Renamed setResizing to
1945         setIsResizing and made it private. Eliminated resizing() function.
1946         Added new private helper functions, layOutAxis, findNonResizableSplits,
1947         splitPosition, hitTestSplit, startResizing, and continueResizing.
1948         Renamed m_resizing to m_isResizing, and m_clientResizing to
1949         m_isChildResizing.
1950
1951         * rendering/RenderFrameSet.cpp:
1952         (WebCore::RenderFrameSet::RenderFrameSet): Removed now-unneeded initialization
1953         that is handled by the GridAxis and Vector constructors.
1954         (WebCore::RenderFrameSet::~RenderFrameSet): Ditto (for destructors).
1955         (WebCore::RenderFrameSet::GridAxis::GridAxis): Added.
1956         (WebCore::RenderFrameSet::frameSet): Added. Inline function so we don't have
1957         to cast the result of node() or element() everywhere.
1958         (WebCore::RenderFrameSet::nodeAtPoint): Updated for name changes.
1959         (WebCore::RenderFrameSet::GridAxis::resize): Added. Helper function to be used
1960         in the layout function.
1961         (WebCore::RenderFrameSet::layOutAxis): Added. Factored out the part of the
1962         layout function that used to be inside a for loop for the two axes.
1963         The algorithm is otherwise unchanged.
1964         (WebCore::RenderFrameSet::findNonResizableSplits): Added. Factored out the
1965         code that set up the "split variable" arrays from the layout function.
1966         (WebCore::RenderFrameSet::layout): Moved the bulk of this function into the
1967         new helpers. This allowed me to remove the use of goto.
1968         (WebCore::RenderFrameSet::positionFrames): Updated for change to data structures.
1969         Also added some more local variables for clarity.
1970         (WebCore::RenderFrameSet::startResizing): Added. Code factored out of the
1971         userResize function that handles mousedown events that might begin a resize.
1972         (WebCore::RenderFrameSet::continueResizing): Added. Code factored out of the
1973         userResize function that handles mouse events that continue a resize already
1974         in progress, including mouseup events that end the resizing. Uses the new
1975         splitPosition function so it can be used over and over again while resizing.
1976         (WebCore::RenderFrameSet::userResize): Restructured to use the new helper
1977         functions. Removed the direct drawing of a gray bar during mouse movement;
1978         instead we do the resizing live.
1979         (WebCore::RenderFrameSet::setIsResizing): Updated for name changes.
1980         (WebCore::RenderFrameSet::isResizingRow): Added.
1981         (WebCore::RenderFrameSet::isResizingColumn): Added.
1982         (WebCore::RenderFrameSet::canResize): Changed to use hitTestSplit for clarity.
1983         (WebCore::RenderFrameSet::canResizeRow): Added.
1984         (WebCore::RenderFrameSet::canResizeColumn): Added.
1985         (WebCore::RenderFrameSet::splitPosition): Added.
1986         (WebCore::RenderFrameSet::hitTestSplit): Added. Contains the guts of the code
1987         that was used both in canResize and userResize before -- now it's shared.
1988         (WebCore::RenderFrameSet::dump): Updated for name changes.
1989
1990 2006-12-19  Justin Garcia  <justin.garcia@apple.com>
1991
1992         Reviewed by harrison
1993         
1994         Added Selection::removeAllRanges() and ::addRange()
1995
1996         * bindings/js/kjs_window.cpp:
1997         (KJS::SelectionFunc::callAsFunction): Added the bindings for
1998         the two new functions.
1999         * bindings/js/kjs_window.h:
2000         (KJS::Selection::):
2001         * editing/SelectionController.cpp:
2002         (WebCore::SelectionController::removeAllRanges): Equivalent
2003         to clear().
2004         (WebCore::SelectionController::addRange): Until we support
2005         discontiguous selections, the new selected range is the 
2006         union of the old selected range and the passed range if
2007         the two intersect, and the old range if they don't.
2008         * editing/SelectionController.h:
2009
2010 2006-12-19  Beth Dakin  <bdakin@apple.com>
2011
2012         Reviewed by Hyatt.
2013
2014         Fix for <rdar://problem/4860924> outerHTML gives an out-of-date 
2015         result when applied to a clone
2016
2017         We were only copying the m_inlineStyleDecl over to clones, but we 
2018         need to copy m_isStyleAttributeValid and 
2019         m_synchronizingStyleAttribute as well to know when we have to 
2020         update style, etc.
2021
2022         * dom/StyledElement.cpp:
2023         (WebCore::StyledElement::copyNonAttributeProperties): Copy over all 
2024         three member variables.
2025         * dom/StyledElement.h:
2026         * html/HTMLElement.cpp:
2027         (WebCore::HTMLElement::cloneNode): No longer need to copy the 
2028         inline style decl explicitly because copyNonAttributeProperties() 
2029         will take care of it.
2030         * html/HTMLInputElement.cpp:
2031         (WebCore::HTMLInputElement::copyNonAttributeProperties): Call into 
2032         parent class implementation. This is important now that there is 
2033         more than one implementation of this function.
2034
2035 2006-12-19  Geoffrey Garen  <ggaren@apple.com>
2036
2037         Reviewed by Darin Adler.
2038
2039         Fixed http://bugs.webkit.org/show_bug.cgi?id=11880
2040         REGRESSION (r18304): Assertion failure in -[WebHTMLView _canProcessDragWithDraggingInfo:] 
2041         when dragging over the window's a scroll bar (innerFrame)
2042         
2043         RenderLayer needs to check 'active,' when deciding what to do if hit testing 
2044         hasn't hit anything, because we want the default hit testing mechanism to return the 
2045         document when we hit a scrollbar.
2046         
2047         This problem shows that the idea of 'capturing' was a little too ambitious
2048         in hit testing, at least given the current state of things. So, I've replaced
2049         'capturing' with 'mouseUp,' the condition that provided the immediate need
2050         for the capturing flag in the first place.
2051
2052         * page/EventHandler.cpp:
2053         (WebCore::EventHandler::handleMouseMoveEvent):
2054         * rendering/HitTestRequest.h: Removed 'capturing' 
2055         (WebCore::HitTestRequest::HitTestRequest):
2056         * rendering/RenderLayer.cpp:
2057         (WebCore::RenderLayer::hitTestLayer):
2058
2059 2006-12-19  Brady Eidson  <beidson@apple.com>
2060
2061         Reviewed by Ada
2062
2063         Added a logging channel for network activity for loader work
2064
2065         * platform/Logging.cpp:
2066         (WebCore::):
2067         * platform/Logging.h:
2068         * platform/mac/LoggingMac.mm:
2069         (WebCore::InitializeLoggingChannelsIfNecessary):
2070
2071 2006-12-19  Justin Garcia  <justin.garcia@apple.com>
2072
2073         Reviewed by hyatt
2074         
2075         <rdar://problem/4888891>
2076         Docs & Spreadsheets: Comment fails to insert if text is selected in the document
2077         
2078         * dom/Range.cpp:
2079         (WebCore::Range::surroundContents): If startContainer is a text node,
2080         it will be split when the range is extracted, and it will be its parent
2081         that will have to accept newParent.  Also cleaned up some code with 
2082         isDescendantOf.
2083
2084 2006-12-19  Timothy Hatcher  <timothy@apple.com>
2085
2086         Reviewed by Darin.
2087
2088         <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
2089
2090         * WebCore.xcodeproj/project.pbxproj:
2091
2092 2006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>
2093
2094         Reviewed by Oliver.
2095
2096         Fix SVGList index validation (off-by-one error).
2097
2098         Adding new testcase js-font-test.svg, which uses SVGLengthList interface.
2099         (This is a very old ksvg1 testcase, adopted for SVG1.1)
2100
2101         * ksvg2/svg/SVGList.h:
2102         (WebCore::SVGList::getItem):
2103         (WebCore::SVGList::replaceItem):
2104         (WebCore::SVGList::removeItem):
2105
2106 2006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>
2107
2108         Reviewed by Oliver.
2109
2110         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11879
2111
2112         Fix pattern on stroke/fill of text.
2113
2114         * ksvg2/svg/SVGPatternElement.cpp:
2115         (WebCore::SVGPatternElement::notifyAttributeChange):
2116         * platform/graphics/svg/SVGPaintServerGradient.cpp:
2117         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2118         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2119         (WebCore::SVGPaintServerGradient::teardown):
2120         (WebCore::SVGPaintServerGradient::setup):
2121         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
2122         (WebCore::SVGPaintServerPattern::setup):
2123
2124 2006-12-19  Alice Liu  <alice.liu@apple.com>
2125
2126         Build fix
2127
2128         * platform/graphics/ImageBuffer.cpp:
2129
2130 2006-12-19  Alexey Proskuryakov  <ap@webkit.org>
2131
2132         Reviewed by Darin.
2133
2134         http://bugs.webkit.org/show_bug.cgi?id=7296
2135         JavaScript error not thrown when trying to set a CSS property to an invalid value
2136
2137         * bindings/js/kjs_css.cpp:
2138         (KJS::DOMCSSStyleDeclaration::put): When not in Dashboard compatibility mode,
2139         raise exception for invalid values. Also removed an unnecessary call to
2140         removeProperty(), which prevented the property value from being preserved in 
2141         error case.
2142
2143         * css/CSSMutableStyleDeclaration.cpp:
2144         (WebCore::CSSMutableStyleDeclaration::setProperty): Moved the handling of
2145         empty property values here. Also removed an unnecessary call to removeProperty().
2146
2147 2006-12-19  Anders Carlsson  <acarlsson@apple.com>
2148
2149         Reviewed by Adam.
2150
2151         * dom/Document.h:
2152         * page/EventHandler.h:
2153         Use correct forward declarations for HitTestRequest.
2154         
2155 2006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>
2156
2157         Build fix, not reviewed.
2158
2159         Fix Qt/Linux build. Missing GraphicsContext.h include.
2160         Fix Mac build, by adding lroundf() (I swear this compiled w/o that, locally :-)
2161
2162         * platform/graphics/qt/ImageBufferQt.cpp:
2163         * ksvg2/svg/SVGPatternElement.cpp:
2164
2165 2006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>
2166
2167         Reviewed by Sam. Previous attempts reviewed by Oliver & Eric.
2168
2169         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11867
2170
2171         Bring back masking, by adding off-screen rendering functionality in GraphicsContext.
2172         Add new "static GraphicsContext* createImageContext(const IntSize& size, bool grayScale)"
2173         function, and implement it with CGBitmapContext in the GraphicsContextCG (stubs for Qt.)
2174
2175         Mask image sizes are dynamically calculated using the passed bounding box in applyMask,
2176         as it was orignally planned. Gradient stroke mask image sizes aren't hardcoded to 2048x2048
2177         anymore, but are as well dynamically calculated using getAbsoluteRepaintRect().
2178
2179         Add new ImageBuffer class encapsulating the size of the image, a platform-specific
2180         handle (ie. CGImageRef for CG platform) plus the GraphicsContext pointer, obtained
2181         via GraphicsContext::createImageBuffer. Offer a generic logic for rendering subtrees
2182         of the rendering tree into a ImageBuffer (see renderSubtreeToImage function)
2183         ImageBufferCG is completly implemented, ImageBufferQt is stubbed.
2184
2185         Also add correct default values for x/y/width/height of <mask>.
2186         Fixes masking related LayoutTests, and speeds up gradient-on-stroke a lot.
2187
2188         * CMakeLists.txt:
2189         * WebCore.pro:
2190         * WebCore.xcodeproj/project.pbxproj:
2191         * ksvg2/svg/SVGFEImageElement.cpp:
2192         * ksvg2/svg/SVGImageElement.cpp:
2193         * ksvg2/svg/SVGMaskElement.cpp:
2194         (WebCore::SVGMaskElement::SVGMaskElement):
2195         (WebCore::SVGMaskElement::attributeChanged):
2196         (WebCore::SVGMaskElement::parseMappedAttribute):
2197         (WebCore::SVGMaskElement::drawMaskerContent):
2198         (WebCore::SVGMaskElement::canvasResource):
2199         * ksvg2/svg/SVGMaskElement.h:
2200         * ksvg2/svg/SVGPatternElement.cpp:
2201         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2202         (WebCore::SVGPatternElement::notifyAttributeChange):
2203         * ksvg2/svg/SVGPatternElement.h:
2204         * platform/graphics/GraphicsContext.h:
2205         * platform/graphics/ImageBuffer.cpp: Added.
2206         (WebCore::ImageBuffer::renderSubtreeToImage):
2207         * platform/graphics/ImageBuffer.h: Added.
2208         * platform/graphics/cg/GraphicsContextCG.cpp:
2209         (WebCore::GraphicsContext::createImageBuffer):
2210         * platform/graphics/cg/ImageBufferCG.cpp: Added.
2211         (WebCore::ImageBuffer::ImageBuffer):
2212         (WebCore::ImageBuffer::~ImageBuffer):
2213         (WebCore::ImageBuffer::size):
2214         (WebCore::ImageBuffer::context):
2215         (WebCore::ImageBuffer::cgImage):
2216         * platform/graphics/mac/GraphicsContextMac.mm:
2217         * platform/graphics/qt/GraphicsContextQt.cpp:
2218         (WebCore::GraphicsContext::createImageBuffer):
2219         * platform/graphics/qt/ImageBufferQt.cpp: Added.
2220         (WebCore::ImageBuffer::ImageBuffer):
2221         (WebCore::ImageBuffer::~ImageBuffer):
2222         (WebCore::ImageBuffer::size):
2223         (WebCore::ImageBuffer::context):
2224         * platform/graphics/svg/SVGPaintServerGradient.h:
2225         * platform/graphics/svg/SVGPaintServerPattern.cpp:
2226         (WebCore::SVGPaintServerPattern::tile):
2227         (WebCore::SVGPaintServerPattern::setTile):
2228         * platform/graphics/svg/SVGPaintServerPattern.h:
2229         * platform/graphics/svg/SVGResourceImage.h: Removed.
2230         * platform/graphics/svg/SVGResourceMasker.cpp:
2231         (WebCore::SVGResourceMasker::setMask):
2232         (WebCore::SVGResourceMasker::mask):
2233         * platform/graphics/svg/SVGResourceMasker.h:
2234         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2235         (WebCore::SVGPaintServerGradient::teardown):
2236         (WebCore::SVGPaintServerGradient::renderPath):
2237         (WebCore::SVGPaintServerGradient::setup):
2238         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
2239         (WebCore::patternCallback):
2240         (WebCore::SVGPaintServerPattern::setup):
2241         * platform/graphics/svg/cg/SVGResourceImageCg.cpp: Removed.
2242         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
2243         (WebCore::SVGResourceMasker::applyMask):
2244         * platform/graphics/svg/qt/SVGResourceImageQt.cpp: Removed.
2245
2246 2006-12-19  David Hyatt  <hyatt@apple.com>
2247
2248         Make sure to initialize the CG fill and stroke colors to our initial fill/stroke colors when first
2249         constructing a GraphicsContextCG.  Because Safari actually draws text in the bookmarks bar using GraphicsContext
2250         and sets a fill color, this could only really be seen in another WebKit app.
2251
2252         Patched GraphicsContextQt as well, since it has the same pattern.
2253
2254         Reviewed by bdash
2255
2256         * platform/graphics/cg/GraphicsContextCG.cpp:
2257         (WebCore::setCGFillColor):
2258         (WebCore::setCGStrokeColor):
2259         (WebCore::GraphicsContext::GraphicsContext):
2260
2261 2006-12-19  Lars Knoll <lars@trolltech.com>
2262
2263         Reviewed by Rob.
2264
2265         * loader/FrameLoader.cpp:
2266         (WebCore::FrameLoader::URL):\
2267                 Fix a crash, because of the incompletely ported loader
2268         * platform/qt/FontQt.cpp:
2269         (WebCore::Font::drawGlyphs):
2270                 Adapt to the changes in GraphicsContext
2271
2272 2006-12-19  David Hyatt  <hyatt@apple.com>
2273
2274         Convert stroke thickness to a float.  This allows the thickness argument to strokeArc to be eliminated.
2275        
2276         Reviewed by olliej
2277
2278         * platform/graphics/GraphicsContext.cpp:
2279         (WebCore::GraphicsContext::setStrokeThickness):
2280         (WebCore::GraphicsContext::strokeThickness):
2281         (WebCore::GraphicsContext::setPlatformStrokeThickness):
2282         * platform/graphics/GraphicsContext.h:
2283         * platform/graphics/cg/GraphicsContextCG.cpp:
2284         (WebCore::GraphicsContext::drawEllipse):
2285         (WebCore::GraphicsContext::strokeArc):
2286         * platform/graphics/qt/GraphicsContextQt.cpp:
2287         (WebCore::GraphicsContext::strokeArc):
2288         (WebCore::GraphicsContext::setPlatformStrokeThickness):
2289         * rendering/RenderObject.cpp:
2290         (WebCore::RenderObject::drawBorderArc):
2291
2292 2006-12-19  David Hyatt  <hyatt@apple.com>
2293
2294         Rename drawArc to strokeArc and remove its strange behavior of trying to "fill" by stroking using the passed in
2295         thickness.  Now the method is purely about stroking an arc and always uses the passed in thickness.   Fix the
2296         border-radius code that calls the method so that it makes more sense now.  If stroke thickness is converted
2297         to a float, then even the extra argument can go away, and this method can be a clean stroke of an arc.
2298
2299         Make sure to get square list markers right by setting both stroke and fill color properly.
2300
2301         Reviewed by mitz, olliej
2302
2303         * platform/graphics/GraphicsContext.h:
2304         * platform/graphics/cg/GraphicsContextCG.cpp:
2305         (WebCore::GraphicsContext::strokeArc):
2306         * platform/graphics/qt/GraphicsContextQt.cpp:
2307         (WebCore::GraphicsContext::strokeArc):
2308         * rendering/RenderListMarker.cpp:
2309         (WebCore::RenderListMarker::paint):
2310         * rendering/RenderObject.cpp:
2311         (WebCore::RenderObject::drawBorderArc):
2312
2313 2006-12-18  Geoffrey Garen  <ggaren@apple.com>
2314
2315         Reviewed by Beth Dakin.
2316
2317         Fixed <rdar://problem/4549745> REGRESSION: scrolling on Google maps 
2318         continues after the mouse is released outside the window (8137)
2319         
2320         The RenderLayer hit testing code assumed that, when the mouse was outside
2321         the WebView, we only needed to capture mouse events while the mouse was
2322         down (in other words, mouse move events). We actually need to capture mouse 
2323         up events, as well.
2324
2325         * dom/Document.cpp:
2326         (WebCore::Document::prepareMouseEvent): To match EventHandler::prepareMouseEvent, 
2327         I changed this function to take a HitTestRequest instead of the broken-out values of one.
2328         For clarity, I moved an assert to top of function.
2329         (WebCore::Document::addMarker): Removed stray character.
2330         * dom/Document.h:
2331
2332         * page/EventHandler.cpp: Changed prepareMouseEvent to take a HitTestRequest,
2333         instead of the broken-out values of one. This simplified the code, and made
2334         the task of adding an extra, optional parameter to hit testing much easier.
2335         (WebCore::EventHandler::handleMousePressEvent):
2336         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2337         (WebCore::EventHandler::handleMouseMoveEvent): Set the 'capturing' flag
2338         if the move occurs while the mouse is down. This replaces RenderLayer's
2339         heavy-handed assumption that we should always capture if the mouse is down.
2340         (WebCore::EventHandler::handleMouseReleaseEvent): Set the 'capturing'
2341         flag, since we assume every mouse up follows a mouse down inside the WebView.
2342         (We'd like to ASSERT as much, but DRT's event sending mechanism is crazy, and
2343         violates this axiom.)
2344         (WebCore::EventHandler::updateDragAndDrop):
2345         (WebCore::EventHandler::prepareMouseEvent):
2346         (WebCore::EventHandler::handleWheelEvent):
2347         (WebCore::EventHandler::sendContextMenuEvent):
2348         (WebCore::EventHandler::hoverTimerFired):
2349         * page/EventHandler.h:
2350
2351         * rendering/HitTestRequest.h:
2352         (WebCore::HitTestRequest::HitTestRequest): Added 'capturing' data member,
2353         which specifies whether the hit test should capture mouse events that occur
2354         outside the WebView.
2355
2356         * rendering/RenderLayer.cpp:
2357         (WebCore::RenderLayer::hitTestLayer): Moved misleading comment to where
2358         it actually applies. Changed 'active' test to new 'capturing' test, so
2359         the hit test requester can decide whether we need to capture mouse events
2360         that don't intersect any layer.
2361
2362 2006-12-18  David Hyatt  <hyatt@apple.com>
2363
2364         Make sure a stroke style is set for list bullets.
2365
2366         Reviewed by mitz
2367
2368         * rendering/RenderListMarker.cpp:
2369         (WebCore::RenderListMarker::paint):
2370
2371 2006-12-18  Ada Chan  <adachan@apple.com>
2372
2373         Reviewed by Adam.
2374
2375         Moved implementation of Frame::scheduleClose to Frame.cpp.
2376         Added canRunBeforeUnloadConfirmPanel, runBeforeUnloadConfirmPanel, and closeWindowSoon
2377         in Chrome and ChromeClient.
2378
2379         * WebCore.exp:
2380         * bridge/win/FrameWin.h:
2381         * page/Chrome.cpp:
2382         (WebCore::Chrome::canRunBeforeUnloadConfirmPanel):
2383         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
2384         (WebCore::Chrome::closeWindowSoon):
2385         * page/Chrome.h:
2386         * page/ChromeClient.h:
2387         * page/Frame.cpp:
2388         (WebCore::Frame::shouldClose):
2389         (WebCore::Frame::scheduleClose):
2390         * page/Frame.h:
2391         * page/mac/FrameMac.h:
2392         * page/mac/FrameMac.mm:
2393         * page/mac/WebCoreFrameBridge.h:
2394         * platform/gdk/FrameGdk.h:
2395         * platform/gdk/TemporaryLinkStubs.cpp:
2396         (FrameGdk::issuePasteCommand):
2397         * platform/qt/FrameQt.cpp:
2398         * platform/qt/FrameQt.h:
2399         * platform/win/TemporaryLinkStubs.cpp:
2400         (WebCore::FrameWin::issuePasteCommand):
2401
2402 2006-12-18  Alice Liu  <alice.liu@apple.com>
2403
2404         Reviewed by Adam.
2405
2406         Fixed <rdar://problem/4766174> REGRESSION(r16081): Aspect eWFM: Unable to log in
2407
2408         * loader/FrameLoader.cpp:
2409         (WebCore::FrameLoader::didExplicitOpen):
2410
2411 2006-12-18  David Hyatt  <hyatt@apple.com>
2412
2413         Add save/restore calls around the painting of text areas on Mac, since the methods in question
2414         alter the current fill color in CG destructively.
2415
2416         Reviewed by olliej
2417
2418         * rendering/RenderThemeMac.mm:
2419         (WebCore::RenderThemeMac::paintButton):
2420         (WebCore::RenderThemeMac::paintTextField):
2421         (WebCore::RenderThemeMac::paintTextArea):
2422         (WebCore::RenderThemeMac::paintSliderTrack):
2423         (WebCore::RenderThemeMac::paintSliderThumb):
2424
2425 2006-12-18  David Hyatt  <hyatt@apple.com>
2426
2427         Fix list markers to properly stroke and fill.  I screwed this up when changing how text draws.
2428
2429         Reviewed by olliej
2430
2431         * rendering/RenderListMarker.cpp:
2432         (WebCore::RenderListMarker::paint):
2433
2434 2006-12-18  David Hyatt  <hyatt@apple.com>
2435
2436         Eliminate the Pen object in favor of separate stroke variables, since most code just wants to set the
2437         stroke color.  This also makes it easier for us to push only stroke color through into CG synchronously
2438         while leaving the others alone.
2439
2440         Reviewed by olliej
2441
2442         * platform/graphics/GraphicsContext.cpp:
2443         (WebCore::GraphicsContextState::GraphicsContextState):
2444         (WebCore::GraphicsContext::setStrokeThickness):
2445         (WebCore::GraphicsContext::setStrokeStyle):
2446         (WebCore::GraphicsContext::setStrokeColor):
2447         (WebCore::GraphicsContext::strokeThickness):
2448         (WebCore::GraphicsContext::strokeStyle):
2449         (WebCore::GraphicsContext::strokeColor):
2450         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2451         (WebCore::GraphicsContext::setPlatformStrokeThickness):
2452         * platform/graphics/GraphicsContext.h:
2453         (WebCore::):
2454         * platform/graphics/cg/GraphicsContextCG.cpp:
2455         (WebCore::GraphicsContext::drawRect):
2456         (WebCore::GraphicsContext::drawLine):
2457         (WebCore::GraphicsContext::drawEllipse):
2458         (WebCore::GraphicsContext::drawArc):
2459         (WebCore::GraphicsContext::drawConvexPolygon):
2460         (WebCore::GraphicsContext::drawLineForText):
2461         (WebCore::GraphicsContext::setPlatformStrokeColor):
2462         * platform/graphics/qt/GraphicsContextQt.cpp:
2463         (WebCore::toQPenStyle):
2464         (WebCore::GraphicsContext::setPlatformStrokeColor):
2465         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2466         (WebCore::GraphicsContext::setPlatformStrokeThickness):
2467         * platform/mac/FontMac.mm:
2468         (WebCore::Font::drawComplexText):
2469         (WebCore::Font::drawGlyphs):
2470         * rendering/InlineFlowBox.cpp:
2471         (WebCore::InlineFlowBox::paintDecorations):
2472         * rendering/InlineTextBox.cpp:
2473         (WebCore::updateTextColor):
2474         (WebCore::InlineTextBox::paint):
2475         (WebCore::InlineTextBox::paintDecoration):
2476         (WebCore::InlineTextBox::paintMarkedTextUnderline):
2477         * rendering/RenderBlock.cpp:
2478         (WebCore::RenderBlock::paintObject):
2479         * rendering/RenderBox.cpp:
2480         * rendering/RenderBox.h:
2481         * rendering/RenderFrameSet.cpp:
2482         (WebCore::RenderFrameSet::userResize):
2483         * rendering/RenderImage.cpp:
2484         (WebCore::RenderImage::paint):
2485         * rendering/RenderObject.cpp:
2486         (WebCore::RenderObject::drawBorderArc):
2487         (WebCore::RenderObject::drawBorder):
2488         * rendering/RenderTable.cpp:
2489         (WebCore::RenderTable::paint):
2490         * rendering/RenderTableCell.cpp:
2491         (WebCore::RenderTableCell::paint):
2492         * rendering/RenderText.cpp:
2493         * rendering/RenderThemeMac.mm:
2494         (WebCore::RenderThemeMac::paintMenuListButton):
2495
2496 2006-12-18  Darin Adler  <darin@apple.com>
2497
2498         Reviewed by Adele.
2499
2500         - fix <rdar://problem/4889565> REGRESSION (r17597): Command-clicking a submit
2501           button does not submit in a new tab/window
2502           http://bugs.webkit.org/show_bug.cgi?id=11858
2503
2504         - change DOMActivate events to be created as a part of default handling of
2505           click events instead of having the sender of the click event also send
2506           a DOMActivate event
2507
2508         - fixed some edge cases in the slider thumb element handler; since this is
2509           inside a shadow DOM, it's likely none of these can arise in practice
2510
2511         No easy way to test the command-click part since the behavior is in Safari.
2512         To make a test we'd have to provide JavaScript access to the modifiers passed
2513         to the policy delegate or have some way to query the underlying event from
2514         JavaScript.
2515
2516         * dom/EventTargetNode.cpp: Change all assert to ASSERT.
2517         (WebCore::EventTargetNode::dispatchMouseEvent): Renamed some local variables
2518         for clarity. Added a RefPtr for relatedTarget since it might be deallocated
2519         by the handlers for the click event and is used in the code that creates the
2520         dblclick event. Removed the code to create a DOMActivate event, since that's
2521         now done in the default event handler for the click event.
2522         (WebCore::EventTargetNode::defaultEventHandler): Added code to check for a
2523         click event and dispatch a DOMActivate event using the click event as the
2524         underlying event. The part of this that fixes the bug is that we use the
2525         click event as the underlying event; the old code used the same underlying
2526         event as for the click event, not the click event itself. The underlying event
2527         for the click event is usually 0, since we propagate the key state to the click
2528         event instead of using an underlying event in the common case.
2529
2530         * dom/Document.cpp: (WebCore::Document::defaultEventHandler): Added call
2531         to the base class's defaultEventHandler function, except in the case where
2532         the event is already handled.
2533
2534         * html/HTMLInputElement.h: Removed clickX() and clickY().
2535         * html/HTMLInputElement.cpp:
2536         (WebCore::HTMLInputElement::appendFormData): Use xPos and yPos directly,
2537         so we can remove clickX() and clickY().
2538         (WebCore::HTMLInputElement::defaultEventHandler): Removed code that calls
2539         setDefaultHandled for click events since we are just recording the x and y
2540         coordinates of the events; that's not "handling" an event, and setting
2541         the flag prevents us from calling the base class's default event handler,
2542         which is now needed to submmit the form.
2543
2544         * rendering/RenderSlider.cpp:
2545         (WebCore::HTMLSliderThumbElement::defaultEventHandler):
2546         Added some missing isMouseEvent checks in code that casts to a MouseEvent.
2547         Added check document()->frame() in code that manipulates the frame so that
2548         fake events, which might happen when there's no frame, can't cause a crash.
2549         Added an m_inDragMode check so we don't try to handle mouseup events when
2550         we are not handling a drag. Remove the setDefaultHandled call from the
2551         mousemove case, because mousemove events are observed, and not "handled"
2552         in the "nobody else should look at this event" sense. Added a call to the
2553         base class's default event handler, and some return statements so that we
2554         won't call it when the event has been handled.
2555
2556         * html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::defaultEventHandler):
2557         Removed an unneeded "return" for a function that has no return value.
2558
2559 2006-12-18  Beth Dakin  <bdakin@apple.com>
2560
2561         Reviewed by Adele.
2562
2563         Fix for <rdar://problem/4749770> WebCore crashes on a blog website 
2564         in WebCore::InlineBox::root() + 6
2565
2566         We null-check inlineBoxWrapper everywhere else in the code except 
2567         for these 3 spots. This patch adds them in. Only one of the checks 
2568         is required to fix the crash. What we render for the test case now 
2569         matches shipping Safari, but still seems wrong because we do not 
2570         match Firefox. I will file a follow-up about the rendering problem.
2571
2572         * rendering/RenderListItem.cpp:
2573         (WebCore::RenderListItem::positionListMarker): This is the required 
2574         null-check. 
2575         * rendering/RenderListMarker.cpp:
2576         (WebCore::RenderListMarker::setSelectionState): Null-check for 
2577         safety. 
2578         (WebCore::RenderListMarker::selectionRect): Same.
2579
2580 2006-12-18  David Hyatt  <hyatt@apple.com>
2581
2582         Fix performance regression caused by adding setting of stroke colors as well as fill colors to every font drawing
2583         call on Mac.  Fix is rather involved:
2584
2585         (1) Fill color is now updated in CG synchronously.  There is no more delay in the push.  I used the model that
2586         Qt added for this, setPlatformFillColor, so we're the same now.
2587
2588         (2) Text was being drawn using the pen color, which is tantamount to using the stroke color.  Since text in HTML
2589         is really a fill and not a stroke, all cross-platform code that draws text has been patched to use fill instead
2590         of the pen.
2591
2592         (3) Added a new API to GraphicsContext to set the text drawing mode to any combination of fill/stroke/clip.
2593         Ports should implement setPlatformTextDrawingMode or just query the mode in their drawGlyphs/drawComplexText
2594         method on their Font class to get the new functionality.
2595
2596         (4) InlineTextBox will set the fill and stroke colors appropriately now rather than always assuming fill.
2597
2598         (5) Fixed a bug in GraphicsContextCG where fillRectWithColor was updating the CG fill color in the state object
2599         as a side effect, creating a mismatch between CG's fill color and the stored cross-platform fill color.
2600
2601         Reviewed by olliej
2602
2603         * platform/graphics/GraphicsContext.cpp:
2604         (WebCore::GraphicsContextState::GraphicsContextState):
2605         (WebCore::GraphicsContext::textDrawingMode):
2606         (WebCore::GraphicsContext::setTextDrawingMode):
2607         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
2608         (WebCore::GraphicsContext::setPlatformPen):
2609         * platform/graphics/GraphicsContext.h:
2610         * platform/graphics/cg/GraphicsContextCG.cpp:
2611         (WebCore::GraphicsContext::fillRect):
2612         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
2613         (WebCore::GraphicsContext::setPlatformFillColor):
2614         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2615         (WebCore::SVGPaintServerGradient::teardown):
2616         (WebCore::SVGPaintServerGradient::setup):
2617         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
2618         (WebCore::SVGPaintServerPattern::setup):
2619         (WebCore::SVGPaintServerPattern::teardown):
2620         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
2621         (WebCore::SVGPaintServerSolid::setup):
2622         * platform/mac/FontMac.mm:
2623         (WebCore::Font::drawComplexText):
2624         (WebCore::Font::drawGlyphs):
2625         * platform/mac/WebCoreTextRenderer.mm:
2626         (WebCoreDrawTextAtPoint):
2627         * rendering/EllipsisBox.cpp:
2628         (WebCore::EllipsisBox::paint):
2629         * rendering/InlineTextBox.cpp:
2630         (WebCore::correctedTextColor):
2631         (WebCore::updateTextColor):
2632         (WebCore::InlineTextBox::paint):
2633         (WebCore::InlineTextBox::paintSelection):
2634         (WebCore::InlineTextBox::paintMarkedTextBackground):
2635         (WebCore::InlineTextBox::paintTextMatchMarker):
2636         * rendering/RenderFileUploadControl.cpp:
2637         (WebCore::RenderFileUploadControl::paintObject):
2638         * rendering/RenderListBox.cpp:
2639         (WebCore::RenderListBox::paintItemForeground):
2640         * rendering/RenderListMarker.cpp:
2641         (WebCore::RenderListMarker::paint):
2642
2643 2006-12-18  Dex Deacon  <occupant4@gmail.com>
2644
2645         Reviewed by Maciej.
2646
2647         Bug 11760: Animated GIFs with offsets crash WebKit
2648         http://bugs.webkit.org/show_bug.cgi?id=11760
2649
2650         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2651         ensure we don't write past the end of the image buffer when the offset
2652         is nonzero.  also fix the way we composite frames when animating.
2653         (WebCore::GIFImageDecoder::initFrameBuffer):
2654         (WebCore::GIFImageDecoder::haveDecodedRow):
2655
2656 2006-12-18  Kirby White  <KWhiteRight@gmail.com>
2657
2658         Reviewed by Darin.
2659
2660         Changed hidden input controls to reset to their initial values
2661         when the form is reset.  Also added layout tests for resetting
2662         other input controls.
2663
2664         Fixes http://bugs.webkit.org/show_bug.cgi?id=11866
2665
2666         * html/HTMLInputElement.cpp:
2667         (WebCore::HTMLInputElement::setValue):
2668         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
2669
2670 2006-12-18  Alice Liu  <alice.liu@apple.com>
2671
2672         Oops forgot a file. 
2673
2674         * editing/EditorDeleteAction.h: Added.
2675         (WebCore::):
2676
2677 2006-12-18  Alice Liu  <alice.liu@apple.com>
2678
2679         Reviewed by Adam.
2680
2681         Have the Editor handle deletion instead of WebHTMLView
2682
2683         * WebCore.exp:
2684         Exposed Editor::deleteWithDirection and ::deleteRange()
2685
2686         * WebCore.xcodeproj/project.pbxproj:
2687         Added EditorDeleteAction.h
2688
2689         * editing/Editor.cpp:
2690         (WebCore::Editor::deleteRange):
2691         (WebCore::Editor::deleteWithDirection):
2692         Implemented
2693
2694         (WebCore::Editor::deleteSelectionWithSmartDelete):
2695         Overloaded to take no params, in which case canSmartCopyOrDelete is called
2696
2697         (WebCore::execCopy):
2698         (WebCore::execCut):
2699         (WebCore::execDelete):
2700         (WebCore::execPaste):
2701         Call the editor instead of asking frame to cut/copy/paste/delete
2702
2703         (WebCore::execBackwardDelete):
2704         (WebCore::execForwardDelete):
2705         Call deleteWithDirection instead of just executing a TypingCommand
2706
2707         (WebCore::CommandEntry::):
2708         distinguished delete (which deletes selection) from backwards delete (single character, no selection)
2709
2710         (WebCore::Editor::cut):
2711         (WebCore::Editor::performDelete):
2712         Trivial changes
2713
2714         * editing/Editor.h:
2715         Added some functons.
2716         (WebCore::Editor::setStartNewKillRingSequence):
2717         (WebCore::Editor::propogateDOMException):
2718         (WebCore::Editor::addToKillRing):
2719         * editing/mac/EditorMac.mm:
2720         Factored out support for Kill Rings to this file
2721
2722         * platform/mac/PasteboardMac.mm:
2723         Trivial change
2724
2725 2006-12-18  Kevin McCullough  <KMcCullough@apple.com>
2726
2727         Reviewed by Oliver.
2728
2729         - Removed CG header include
2730
2731         * platform/graphics/ImageSource.h:
2732
2733 2006-12-18  John Sullivan  <sullivan@apple.com>
2734
2735         Reviewed by Tim Hatcher
2736
2737         - fixed <rdar://problem/4887764> GMAIL: Crash occurs at WebCore::Range::cloneRange() 
2738           when I ctrl-click in a empty list item
2739
2740         * editing/mac/EditorMac.mm:
2741         (WebCore::isRangeUngrammatical):
2742         bail out immediately for nil range (which selectionController()->toRange().get()
2743         can return). Also save some work by bailing out immediately for collapsed ranges.
2744
2745 2006-12-18  Alice Liu  <alice.liu@apple.com>
2746
2747         Leopard build fix.
2748
2749         * platform/ContextMenu.cpp:
2750         (WebCore::ContextMenu::checkOrEnableIfNeeded):
2751
2752 2006-12-17  Zack Rusin  <zack@kde.org>
2753
2754         Fix compilation after the const changes.
2755
2756         * platform/qt/ContextMenuItemQt.cpp:
2757         (WebCore::ContextMenuItem::type):
2758         (WebCore::ContextMenuItem::setTitle):
2759         (WebCore::ContextMenuItem::setChecked):
2760         (WebCore::ContextMenuItem::setEnabled):
2761
2762 2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
2763
2764         Reviewed by Eric.
2765
2766         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10956
2767
2768         Long standing regression. The old code in FontMac.mm, used set the fill/stroke
2769         color "[nsColor(graphicsContext->pen().color()) set];", and current code only
2770         sets the fill color. Reverting to old behaviour fixes gradient-on-stroke-of-text.
2771
2772         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2773         (WebCore::SVGPaintServerGradient::setup):
2774         * platform/mac/FontMac.mm:
2775         (WebCore::Font::drawComplexText):
2776         (WebCore::Font::drawGlyphs):
2777
2778 2006-12-17  Lars Naesbye Christensen  <larsnaesbye@stud.ku.dk>
2779
2780         Reviewed, tweaked and landed by Alexey.
2781
2782         http://bugs.webkit.org/show_bug.cgi?id=11798
2783         [CSS 3] missing cursor support for 'none'
2784
2785         * Resources/noneCursor.png: Added.
2786         * WebCore.xcodeproj/project.pbxproj:
2787         * css/CSSComputedStyleDeclaration.cpp:
2788         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2789         * css/CSSValueKeywords.in:
2790         * css/cssparser.cpp: Also fixed previously broken -webkit-background-composite: copy.
2791         * manual-tests/cursor.html:
2792         * page/EventHandler.cpp:
2793         (WebCore::selectCursor):
2794         * platform/Cursor.h:
2795         * platform/gdk/CursorGdk.cpp:
2796         (WebCore::noneCursor):
2797         * platform/mac/CursorMac.mm:
2798         (WebCore::noneCursor):
2799         * platform/qt/CursorQt.cpp:
2800         (WebCore::noneCursor):
2801         * platform/win/CursorWin.cpp:
2802         (WebCore::noneCursor):
2803         * rendering/RenderStyle.h:
2804         (WebCore::):
2805
2806 2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
2807
2808         Build fix, not reviewed.
2809
2810         This should hopefully fix Qt build.
2811
2812         * ksvg2/svg/SVGLength.cpp: Include math.h for Qt/Linux build.
2813
2814 2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
2815
2816         Reviewed by Rob.
2817
2818         Remove SVGHelper class. Move the last static function "parseSeparatedList"
2819         to the only place using it: SVGAnimationElement. Update all build files.
2820
2821         Remove any lazy_create macro usage, by what it does - cleaner.
2822
2823         * CMakeLists.txt:
2824         * WebCore.pro:
2825         * WebCore.xcodeproj/project.pbxproj:
2826         * ksvg2/misc/KCanvasRenderingStyle.cpp:
2827         * ksvg2/svg/SVGAElement.cpp:
2828         * ksvg2/svg/SVGAnimationElement.cpp:
2829         (WebCore::parseSeparatedList):
2830         (WebCore::SVGAnimationElement::parseMappedAttribute):
2831         * ksvg2/svg/SVGCircleElement.cpp:
2832         * ksvg2/svg/SVGClipPathElement.cpp:
2833         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
2834         * ksvg2/svg/SVGCursorElement.cpp:
2835         * ksvg2/svg/SVGEllipseElement.cpp:
2836         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
2837         * ksvg2/svg/SVGFEBlendElement.cpp:
2838         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2839         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2840         * ksvg2/svg/SVGFECompositeElement.cpp:
2841         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2842         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2843         * ksvg2/svg/SVGFEFloodElement.cpp:
2844         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2845         * ksvg2/svg/SVGFEImageElement.cpp:
2846         * ksvg2/svg/SVGFELightElement.cpp:
2847         * ksvg2/svg/SVGFEMergeElement.cpp:
2848         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
2849         * ksvg2/svg/SVGFEOffsetElement.cpp:
2850         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2851         * ksvg2/svg/SVGFETileElement.cpp:
2852         * ksvg2/svg/SVGFilterElement.cpp:
2853         * ksvg2/svg/SVGForeignObjectElement.cpp:
2854         * ksvg2/svg/SVGGradientElement.cpp:
2855         * ksvg2/svg/SVGHelper.cpp: Removed.
2856         * ksvg2/svg/SVGHelper.h: Removed.
2857         * ksvg2/svg/SVGImageElement.cpp:
2858         * ksvg2/svg/SVGLength.cpp:
2859         * ksvg2/svg/SVGLineElement.cpp:
2860         * ksvg2/svg/SVGLinearGradientElement.cpp:
2861         * ksvg2/svg/SVGMarkerElement.cpp:
2862         * ksvg2/svg/SVGMaskElement.cpp:
2863         * ksvg2/svg/SVGPathElement.cpp:
2864         * ksvg2/svg/SVGPatternElement.cpp:
2865         * ksvg2/svg/SVGPolyElement.cpp:
2866         * ksvg2/svg/SVGRadialGradientElement.cpp:
2867         * ksvg2/svg/SVGRectElement.cpp:
2868         * ksvg2/svg/SVGStopElement.cpp:
2869         * ksvg2/svg/SVGStyledElement.cpp:
2870         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2871         * ksvg2/svg/SVGSymbolElement.cpp:
2872         * ksvg2/svg/SVGTests.cpp:
2873         * ksvg2/svg/SVGTextContentElement.cpp:
2874         * ksvg2/svg/SVGTextElement.cpp:
2875         * ksvg2/svg/SVGTextPositioningElement.cpp:
2876         * ksvg2/svg/SVGTransformable.cpp:
2877         * ksvg2/svg/SVGURIReference.cpp:
2878         * ksvg2/svg/SVGUseElement.cpp:
2879         * ksvg2/svg/SVGViewElement.cpp:
2880         * ksvg2/svg/SVGZoomAndPan.cpp:
2881
2882 2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>
2883
2884         Reviewed by Rob.
2885
2886         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11813
2887
2888         Pass SVGLength around by value, remove any SVGLength* usage.
2889         Bindings work fine, as the SVG POD JS Wrapper stuff is already in svn.
2890
2891         No new regressions, none fixed. But the code itself is much cleaner.
2892         And some problems with width-full-percentage.svg have been fixed, viewport
2893         clipping works in any case now, also for percentual width/height values set on <svg>.
2894
2895         * bindings/scripts/CodeGenerator.pm:
2896         * bindings/scripts/CodeGeneratorJS.pm:
2897         * ksvg2/misc/KCanvasRenderingStyle.cpp:
2898         (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
2899         * ksvg2/svg/SVGAnimatedTemplate.h:
2900         * ksvg2/svg/SVGCircleElement.cpp:
2901         (WebCore::SVGCircleElement::SVGCircleElement):
2902         (WebCore::SVGCircleElement::parseMappedAttribute):
2903         (WebCore::SVGCircleElement::toPathData):
2904         * ksvg2/svg/SVGCircleElement.h:
2905         * ksvg2/svg/SVGCursorElement.cpp:
2906         (WebCore::SVGCursorElement::SVGCursorElement):
2907         (WebCore::SVGCursorElement::parseMappedAttribute):
2908         * ksvg2/svg/SVGCursorElement.h:
2909         * ksvg2/svg/SVGElement.cpp:
2910         * ksvg2/svg/SVGEllipseElement.cpp:
2911         (WebCore::SVGEllipseElement::SVGEllipseElement):
2912         (WebCore::SVGEllipseElement::parseMappedAttribute):
2913         (WebCore::SVGEllipseElement::toPathData):
2914         * ksvg2/svg/SVGEllipseElement.h:
2915         * ksvg2/svg/SVGFilterElement.cpp:
2916         (WebCore::SVGFilterElement::SVGFilterElement):
2917         (WebCore::SVGFilterElement::parseMappedAttribute):
2918         (WebCore::SVGFilterElement::canvasResource):
2919         * ksvg2/svg/SVGFilterElement.h:
2920         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
2921         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
2922         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
2923         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
2924         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
2925         * ksvg2/svg/SVGFitToViewBox.cpp:
2926         (WebCore::SVGFitToViewBox::parseViewBox):
2927         * ksvg2/svg/SVGForeignObjectElement.cpp:
2928         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
2929         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
2930         (WebCore::SVGForeignObjectElement::createRenderer):
2931         (WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
2932         * ksvg2/svg/SVGForeignObjectElement.h:
2933         * ksvg2/svg/SVGHelper.cpp:
2934         (WebCore::SVGHelper::parseSeparatedList):
2935         * ksvg2/svg/SVGHelper.h:
2936         * ksvg2/svg/SVGImageElement.cpp:
2937         (WebCore::SVGImageElement::SVGImageElement):
2938         (WebCore::SVGImageElement::parseMappedAttribute):
2939         * ksvg2/svg/SVGImageElement.h:
2940         * ksvg2/svg/SVGLength.cpp:
2941         (WebCore::storeUnit):
2942         (WebCore::extractMode):
2943         (WebCore::extractType):
2944         (WebCore::lengthTypeToString):
2945         (WebCore::stringToLengthType):
2946         (WebCore::SVGLength::SVGLength):
2947         (WebCore::SVGLength::unitType):
2948         (WebCore::SVGLength::value):
2949         (WebCore::SVGLength::setValue):
2950         (WebCore::SVGLength::setValueInSpecifiedUnits):
2951         (WebCore::SVGLength::setValueAsString):
2952         (WebCore::SVGLength::valueAsString):
2953         (WebCore::SVGLength::newValueSpecifiedUnits):
2954         (WebCore::SVGLength::convertToSpecifiedUnits):
2955         (WebCore::SVGLength::isFraction):
2956         (WebCore::SVGLength::dpi):
2957         (WebCore::SVGLength::PercentageOfViewport):
2958         * ksvg2/svg/SVGLength.h:
2959         (WebCore::):
2960         (WebCore::SVGLength::):
2961         * ksvg2/svg/SVGLength.idl:
2962         * ksvg2/svg/SVGLengthList.cpp:
2963         (WebCore::SVGLengthList::SVGLengthList):
2964         (WebCore::SVGLengthList::parse):
2965         * ksvg2/svg/SVGLengthList.h:
2966         * ksvg2/svg/SVGLineElement.cpp:
2967         (WebCore::SVGLineElement::SVGLineElement):
2968         (WebCore::SVGLineElement::parseMappedAttribute):
2969         (WebCore::SVGLineElement::toPathData):
2970         * ksvg2/svg/SVGLineElement.h:
2971         * ksvg2/svg/SVGLinearGradientElement.cpp:
2972         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
2973         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
2974         (WebCore::SVGLinearGradientElement::buildGradient):
2975         * ksvg2/svg/SVGLinearGradientElement.h:
2976         * ksvg2/svg/SVGMarkerElement.cpp:
2977         (WebCore::SVGMarkerElement::SVGMarkerElement):
2978         (WebCore::SVGMarkerElement::parseMappedAttribute):
2979         (WebCore::SVGMarkerElement::canvasResource):
2980         * ksvg2/svg/SVGMarkerElement.h:
2981         * ksvg2/svg/SVGMaskElement.cpp:
2982         (WebCore::SVGMaskElement::SVGMaskElement):
2983         (WebCore::SVGMaskElement::attributeChanged):
2984         (WebCore::SVGMaskElement::parseMappedAttribute):
2985         (WebCore::SVGMaskElement::drawMaskerContent):
2986         * ksvg2/svg/SVGMaskElement.h:
2987         * ksvg2/svg/SVGPatternElement.cpp:
2988         (WebCore::SVGPatternElement::SVGPatternElement):
2989         (WebCore::SVGPatternElement::parseMappedAttribute):
2990         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2991         (WebCore::SVGPatternElement::notifyAttributeChange):
2992         (WebCore::SVGPatternElement::getCTM):
2993         * ksvg2/svg/SVGPatternElement.h:
2994         * ksvg2/svg/SVGRadialGradientElement.cpp:
2995         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
2996         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
2997         (WebCore::SVGRadialGradientElement::buildGradient):
2998         * ksvg2/svg/SVGRadialGradientElement.h:
2999         * ksvg2/svg/SVGRectElement.cpp:
3000         (WebCore::SVGRectElement::SVGRectElement):
3001         (WebCore::SVGRectElement::parseMappedAttribute):
3002         (WebCore::SVGRectElement::toPathData):
3003         * ksvg2/svg/SVGRectElement.h:
3004         * ksvg2/svg/SVGSVGElement.cpp:
3005         (WebCore::SVGSVGElement::SVGSVGElement):
3006         (WebCore::SVGSVGElement::viewport):
3007         (WebCore::SVGSVGElement::parseMappedAttribute):
3008         (WebCore::SVGSVGElement::createSVGLength):
3009         (WebCore::SVGSVGElement::getCTM):
3010         (WebCore::SVGSVGElement::getScreenCTM):
3011         * ksvg2/svg/SVGSVGElement.h:
3012         * ksvg2/svg/SVGStyledElement.cpp:
3013         * ksvg2/svg/SVGStyledElement.h:
3014         * ksvg2/svg/SVGTextContentElement.cpp:
3015         (WebCore::SVGTextContentElement::SVGTextContentElement):
3016         (WebCore::SVGTextContentElement::parseMappedAttribute):
3017         * ksvg2/svg/SVGTextContentElement.h:
3018         * ksvg2/svg/SVGTextElement.cpp:
3019         * ksvg2/svg/SVGTextPositioningElement.cpp:
3020         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
3021         * ksvg2/svg/SVGUseElement.cpp:
3022         (WebCore::SVGUseElement::SVGUseElement):
3023         (WebCore::SVGUseElement::parseMappedAttribute):
3024         (WebCore::SVGUseElement::closeRenderer):
3025         * ksvg2/svg/SVGUseElement.h:
3026         * page/EventHandler.cpp:
3027         (WebCore::selectCursor):
3028         * rendering/RenderForeignObject.cpp:
3029         (WebCore::RenderForeignObject::translationForAttributes):
3030         * rendering/RenderPath.cpp:
3031         * rendering/RenderPath.h:
3032         * rendering/RenderSVGContainer.cpp:
3033         (WebCore::RenderSVGContainer::layout):
3034         (WebCore::RenderSVGContainer::calcViewport):
3035         * rendering/RenderSVGImage.cpp:
3036         (WebCore::RenderSVGImage::relativeBBox):
3037         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
3038         (WebCore::RenderSVGImage::translationForAttributes):
3039         * rendering/RenderSVGText.cpp:
3040         (WebCore::RenderSVGText::layout):
3041         * rendering/SVGInlineFlowBox.cpp:
3042         (WebCore::translateBox):
3043         (WebCore::placePositionedBoxesHorizontally):
3044         (WebCore::placeBoxesVerticallyWithAbsBaseline):
3045
3046 2006-12-16  Sam Weinig  <sam@webkit.org>
3047
3048         Reviewed by Maciej.
3049
3050         Patch for http://bugs.webkit.org/show_bug.cgi?id=11856
3051         Update renderName() methods to return current class names.
3052
3053         * rendering/RenderPath.h:
3054         (WebCore::RenderPath::renderName): Returns "RenderPath" instead of "KCanvasItem".
3055         * rendering/RenderSVGContainer.h:
3056         (WebCore::RenderSVGContainer::renderName): Returns "RenderSVGContainer" instead of "KCanvasContainer".
3057         * rendering/RenderTextControl.h:
3058         (WebCore::RenderTextControl::renderName): Returns "RenderTextControl" instead of "RenderTextField".
3059
3060 2006-12-16  Sam Weinig  <sam@webkit.org>
3061
3062         Reviewed by Mitz.
3063
3064         Patch for http://bugs.webkit.org/show_bug.cgi?id=11844
3065         Code Cleanup for more of the rendering code
3066
3067         * WebCore.xcodeproj/project.pbxproj:
3068         * rendering/RenderCounter.cpp:
3069         (WebCore::RenderCounter::calcMinMaxWidth):
3070         * rendering/RenderText.cpp:
3071         (WebCore::RenderText::RenderText):
3072         (WebCore::RenderText::setStyle):
3073         (WebCore::RenderText::destroy):
3074         (WebCore::RenderText::attachTextBox):
3075         (WebCore::RenderText::findNextInlineTextBox):
3076         (WebCore::RenderText::positionForCoordinates):
3077         (WebCore::firstRendererOnNextLine):
3078         (WebCore::lastRendererOnPrevLine):
3079         (WebCore::RenderText::caretRect):
3080         (WebCore::RenderText::posOfChar):
3081         (WebCore::RenderText::allAscii):
3082         (WebCore::RenderText::shouldUseMonospaceCache):
3083         (WebCore::RenderText::cacheWidths):
3084         (WebCore::RenderText::widthFromCache):
3085         (WebCore::RenderText::trimmedMinMaxWidth):
3086         (WebCore::RenderText::calcMinMaxWidth):
3087         (WebCore::isSpaceAccordingToStyle):
3088         (WebCore::RenderText::containsOnlyWhitespace):
3089         (WebCore::RenderText::minXPos):
3090         (WebCore::RenderText::setSelectionState):
3091         (WebCore::RenderText::setTextWithOffset):
3092         (WebCore::RenderText::setText):
3093         (WebCore::RenderText::position):
3094         (WebCore::RenderText::width):
3095         (WebCore::RenderText::getAbsoluteRepaintRect):
3096         (WebCore::RenderText::selectionRect):
3097         (WebCore::RenderText::verticalPositionHint):
3098         (WebCore::RenderText::font):
3099         (WebCore::RenderText::caretMinOffset):
3100         (WebCore::RenderText::caretMaxOffset):
3101         (WebCore::RenderText::previousOffset):
3102         (WebCore::RenderText::nextOffset):
3103         (WebCore::RenderText::inlineBox):
3104         * rendering/RenderText.h:
3105         (WebCore::RenderText::isTextFragment):
3106         (WebCore::RenderText::data):
3107         (WebCore::RenderText::string):
3108         (WebCore::RenderText::paint):
3109         (WebCore::RenderText::layout):
3110         (WebCore::RenderText::nodeAtPoint):
3111         (WebCore::RenderText::length):
3112         (WebCore::RenderText::text):
3113         (WebCore::RenderText::stringLength):
3114         * rendering/RenderTextControl.cpp:
3115         (WebCore::RenderTextControl::setStyle):
3116         (WebCore::disabledTextColor):
3117         (WebCore::RenderTextControl::createInnerBlockStyle):
3118         (WebCore::RenderTextControl::createInnerTextStyle):
3119         (WebCore::RenderTextControl::createResultsButtonStyle):
3120         (WebCore::RenderTextControl::createCancelButtonStyle):
3121         (WebCore::RenderTextControl::showPlaceholderIfNeeded):
3122         (WebCore::RenderTextControl::hidePlaceholderIfNeeded):
3123         (WebCore::RenderTextControl::createSubtreeIfNeeded):
3124         (WebCore::RenderTextControl::updateFromElement):
3125         (WebCore::RenderTextControl::selectionStart):
3126         (WebCore::RenderTextControl::setSelectionRange):
3127         (WebCore::RenderTextControl::visiblePositionForIndex):
3128         (WebCore::RenderTextControl::subtreeHasChanged):
3129         (WebCore::RenderTextControl::textWithHardLineBreaks):
3130         (WebCore::RenderTextControl::calcHeight):
3131         (WebCore::RenderTextControl::nodeAtPoint):
3132         (WebCore::RenderTextControl::layout):
3133         (WebCore::RenderTextControl::calcMinMaxWidth):
3134         (WebCore::RenderTextControl::addSearchResult):
3135         (WebCore::RenderTextControl::showPopup):
3136         (WebCore::RenderTextControl::itemText):
3137         (WebCore::RenderTextControl::itemIsEnabled):
3138         (WebCore::RenderTextControl::listSize):
3139         (WebCore::RenderTextControl::scroll):
3140         * rendering/RenderTextControl.h:
3141         (WebCore::RenderTextControl::renderName):
3142         (WebCore::RenderTextControl::removeLeftoverAnonymousBoxes):
3143         * rendering/RenderTextFragment.cpp:
3144         (WebCore::RenderTextFragment::RenderTextFragment):
3145         (WebCore::RenderTextFragment::originalString):
3146         * rendering/RenderTextFragment.h:
3147         (WebCore::RenderTextFragment::isTextFragment):
3148         * rendering/RenderTheme.cpp:
3149         (WebCore::RenderTheme::adjustStyle):
3150         (WebCore::RenderTheme::isControlStyled):
3151         (WebCore::RenderTheme::stateChanged):
3152         (WebCore::RenderTheme::adjustCheckboxStyle):
3153         (WebCore::RenderTheme::adjustRadioStyle):
3154         * rendering/RenderTheme.h:
3155         (WebCore::):
3156         * rendering/RenderThemeMac.h:
3157         * rendering/RenderThemeMac.mm:
3158         (WebCore::RenderThemeMac::RenderThemeMac):
3159         (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
3160         (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
3161         (WebCore::RenderThemeMac::activeListBoxSelectionBackgroundColor):
3162         (WebCore::RenderThemeMac::systemFont):
3163         (WebCore::RenderThemeMac::isControlStyled):
3164         (WebCore::RenderThemeMac::adjustRepaintRect):
3165         (WebCore::RenderThemeMac::updateCheckedState):
3166         (WebCore::RenderThemeMac::controlSupportsTints):
3167         (WebCore::RenderThemeMac::setFontFromControlSize):
3168         (WebCore::RenderThemeMac::paintCheckbox):
3169         (WebCore::RenderThemeMac::checkboxMargins):
3170         (WebCore::RenderThemeMac::setCheckboxCellState):
3171         (WebCore::RenderThemeMac::setCheckboxSize):
3172         (WebCore::RenderThemeMac::paintRadio):
3173         (WebCore::RenderThemeMac::radioMargins):
3174         (WebCore::RenderThemeMac::setRadioCellState):
3175         (WebCore::RenderThemeMac::setRadioSize):
3176         (WebCore::RenderThemeMac::adjustButtonStyle):
3177         (WebCore::RenderThemeMac::buttonMargins):
3178         (WebCore::RenderThemeMac::setButtonSize):
3179         (WebCore::RenderThemeMac::setButtonCellState):
3180         (WebCore::RenderThemeMac::adjustTextFieldStyle):
3181         (WebCore::RenderThemeMac::adjustTextAreaStyle):
3182         (WebCore::RenderThemeMac::popupButtonMargins):
3183         (WebCore::RenderThemeMac::popupButtonPadding):
3184         (WebCore::TopGradientInterpolate):
3185         (WebCore::BottomGradientInterpolate):
3186         (WebCore::MainGradientInterpolate):
3187         (WebCore::TrackGradientInterpolate):
3188         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
3189         (WebCore::RenderThemeMac::paintMenuListButton):
3190         (WebCore::RenderThemeMac::adjustMenuListStyle):
3191         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
3192         (WebCore::RenderThemeMac::paintSliderTrack):
3193         (WebCore::RenderThemeMac::paintSliderThumb):
3194         (WebCore::RenderThemeMac::paintSearchField):
3195         (WebCore::RenderThemeMac::setSearchCellState):
3196         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
3197         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
3198         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
3199         * rendering/RenderTreeAsText.cpp:
3200         (WebCore::operator<<):
3201         (WebCore::writeIndent):
3202         (WebCore::printBorderStyle):
3203         (WebCore::getTagName):
3204         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
3205         (WebCore::writeTextRun):
3206         (WebCore::write):
3207         (WebCore::writeLayers):
3208         (WebCore::nodePosition):
3209         (WebCore::writeSelection):
3210         * rendering/RenderTreeAsText.h:
3211         * rendering/RenderView.cpp:
3212         (WebCore::RenderView::RenderView):
3213         (WebCore::RenderView::calcMinMaxWidth):
3214         (WebCore::RenderView::layout):
3215         (WebCore::RenderView::absolutePosition):
3216         (WebCore::RenderView::paint):
3217         (WebCore::RenderView::repaintViewRectangle):
3218         (WebCore::rendererAfterPosition):
3219         (WebCore::RenderView::selectionRect):
3220         (WebCore::RenderView::setSelection):
3221         (WebCore::RenderView::selectionStartEnd):
3222         (WebCore::RenderView::updateWidgetPositions):
3223         (WebCore::RenderView::addWidget):
3224         (WebCore::RenderView::removeWidget):
3225         (WebCore::RenderView::viewRect):
3226         (WebCore::RenderView::docHeight):
3227         (WebCore::RenderView::docWidth):
3228         (WebCore::RenderView::setBestTruncatedAt):
3229         * rendering/RenderView.h:
3230         (WebCore::RenderView::renderName):
3231         (WebCore::RenderView::selectionStart):
3232         (WebCore::RenderView::selectionEnd):
3233         * rendering/RenderWidget.cpp:
3234         (WebCore::RenderWidget::destroy):
3235         (WebCore::RenderWidget::resizeWidget):
3236         (WebCore::RenderWidget::setStyle):
3237         (WebCore::RenderWidget::paint):
3238         (WebCore::RenderWidget::updateWidgetPosition):
3239         (WebCore::RenderWidget::setSelectionState):
3240         * rendering/RootInlineBox.cpp:
3241         (WebCore::RootInlineBox::placeEllipsis):
3242         (WebCore::RootInlineBox::fillLineSelectionGap):
3243         (WebCore::RootInlineBox::selectionState):
3244         (WebCore::RootInlineBox::firstSelectedBox):
3245         (WebCore::RootInlineBox::lastSelectedBox):
3246         (WebCore::RootInlineBox::selectionTop):
3247         (WebCore::RootInlineBox::closestLeafChildForXPos):
3248         * rendering/RootInlineBox.h:
3249         (WebCore::RootInlineBox::isRootInlineBox):
3250         (WebCore::RootInlineBox::setVerticalOverflowPositions):
3251         (WebCore::RootInlineBox::setHorizontalOverflowPositions):
3252         (WebCore::RootInlineBox::setVerticalSelectionPositions):
3253         (WebCore::RootInlineBox::lineBreakObj):
3254         (WebCore::RootInlineBox::lineBreakPos):
3255         (WebCore::RootInlineBox::setLineBreakPos):
3256         (WebCore::RootInlineBox::blockHeight):
3257         (WebCore::RootInlineBox::setBlockHeight):
3258         (WebCore::RootInlineBox::endsWithBreak):
3259         (WebCore::RootInlineBox::setEndsWithBreak):
3260         * rendering/SVGInlineFlowBox.cpp:
3261         (WebCore::SVGInlineFlowBox::paint):
3262         (WebCore::paintSVGInlineFlow):
3263         (WebCore::translateBox):
3264         (WebCore::placePositionedBoxesHorizontally):
3265         (WebCore::placeBoxesVerticallyWithAbsBaseline):
3266         (WebCore::placeSVGFlowVertically):
3267         * rendering/SVGInlineFlowBox.h:
3268         * rendering/SVGRenderTreeAsText.cpp:
3269         (WebCore::TextStreamSeparator::TextStreamSeparator):
3270         (WebCore::operator<<):
3271         (WebCore::hasFractions):
3272         (WebCore::writeIndent):
3273         (WebCore::writeStyle):
3274         (WebCore::getTagName):
3275         (WebCore::write):
3276         (WebCore::writeRenderResources):
3277         * rendering/SVGRenderTreeAsText.h:
3278         (WebCore::operator<<):
3279         * rendering/SVGRootInlineBox.cpp:
3280         (WebCore::SVGRootInlineBox::paint):
3281         (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
3282         * rendering/SVGRootInlineBox.h:
3283         * rendering/TableLayout.h:
3284
3285 2006-12-16  Adam Roben  <aroben@apple.com>
3286
3287         Build fixes.
3288
3289         * platform/ContextMenuItem.h: Fixed const declarations.
3290         * platform/mac/ContextMenuItemMac.mm: Dito.
3291         (WebCore::ContextMenuItem::type):
3292         (WebCore::ContextMenuItem::setTitle):
3293         (WebCore::ContextMenuItem::setChecked):
3294         (WebCore::ContextMenuItem::setEnabled):
3295
3296 2006-12-16  Adele Peterson  <adele@apple.com>
3297
3298         Reviewed by Maciej.
3299
3300         Fix for http://bugs.webkit.org/show_bug.cgi?id=11189
3301         <rdar://problem/4770249> REGRESSION (NativeListBox): When a list box has focus, pressing command- A (select all) doesn't selected all items in list
3302
3303         Test: fast/forms/listbox-select-all.html
3304
3305         * dom/Node.h: We should try to find a more appropriate place to put these methods.
3306         (WebCore::Node::canSelectAll): Added.
3307         (WebCore::Node::selectAll): Added.
3308         * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): Before selecting editable content, give the focused node
3309           a chance to select its content.
3310         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::selectAll): Selects all items in a multi-select list box.  Single-select
3311           list boxes will just do nothing, but we still want the select to handle this case when it has focus, rather than selecting other content.
3312         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::canSelectAll): Returns true for list boxes.
3313
3314 2006-12-16  Zack Rusin  <zack@kde.org>
3315
3316         Add a stub for SearchPopupMenu for Qt code.
3317
3318         * platform/qt/SearchPopupMenuQt.cpp: Added.
3319         (WebCore::SearchPopupMenu::SearchPopupMenu):
3320         (WebCore::SearchPopupMenu::saveRecentSearches):
3321         (WebCore::SearchPopupMenu::loadRecentSearches):
3322
3323 2006-12-16  Zack Rusin  <zack@kde.org>
3324
3325         Make it compile after last nights changes.
3326
3327         * WebCore.pro:
3328         * loader/qt/DocumentLoaderQt.cpp:
3329         (WebCore::DocumentLoader::stopLoading):
3330         (WebCore::DocumentLoader::prepareForLoadStart):
3331         * platform/qt/ContextMenuItemQt.cpp:
3332         (WebCore::ContextMenuItem::ContextMenuItem):
3333         (WebCore::ContextMenuItem::releasePlatformDescription):
3334         (WebCore::ContextMenuItem::type):
3335         (WebCore::ContextMenuItem::setType):
3336         (WebCore::ContextMenuItem::action):
3337         (WebCore::ContextMenuItem::setAction):
3338         (WebCore::ContextMenuItem::setTitle):
3339         (WebCore::ContextMenuItem::platformSubMenu):
3340         (WebCore::ContextMenuItem::setSubMenu):
3341         (WebCore::ContextMenuItem::setChecked):
3342         (WebCore::ContextMenuItem::setEnabled):
3343         * platform/qt/ContextMenuQt.cpp:
3344         (WebCore::ContextMenu::appendItem):
3345         (WebCore::ContextMenu::insertItem):
3346         * platform/qt/TemporaryLinkStubs.cpp:
3347
3348 2006-12-16  Adele Peterson  <adele@apple.com>
3349
3350         One more...
3351
3352         * editing/ReplaceSelectionCommand.cpp:
3353         (WebCore::ReplacementFragment::ReplacementFragment):
3354
3355 2006-12-16  Adele Peterson  <adele@apple.com>
3356
3357         Missed one instance of isNonWidgetTextField.
3358
3359         * editing/DeleteSelectionCommand.cpp:
3360         (WebCore::DeleteSelectionCommand::doApply):
3361
3362 2006-12-16  Hunter L. Williams <hlwebkit@gmail.com>
3363
3364         Reviewed by Adele.
3365
3366         Fix mouse wheel scrolling in <textarea> controls.
3367
3368         * rendering/RenderTextControl.cpp:
3369         * rendering/RenderTextControl.h:
3370         Override |scroll| on RenderTextControl to forward the call to the RenderObject of the 
3371         inner m_innerText, which has a layer that can be scrolled.
3372
3373 2006-12-16  Adele Peterson  <adele@apple.com>
3374
3375         RS by Adam.
3376
3377         Removed RenderLineEdit, TextField, WebCoreTextField classes, and use of isNonWidgetTextField,
3378
3379         * WebCore.xcodeproj/project.pbxproj:
3380         * html/HTMLInputElement.cpp:
3381         (WebCore::HTMLInputElement::isKeyboardFocusable):
3382         (WebCore::HTMLInputElement::isMouseFocusable):
3383         (WebCore::HTMLInputElement::focus):
3384         (WebCore::HTMLInputElement::updateFocusAppearance):
3385         (WebCore::HTMLInputElement::aboutToUnload):
3386         (WebCore::HTMLInputElement::dispatchFocusEvent):
3387         (WebCore::HTMLInputElement::dispatchBlurEvent):
3388         (WebCore::HTMLInputElement::setValue):
3389         (WebCore::HTMLInputElement::defaultEventHandler):
3390         * html/HTMLInputElement.h:
3391         (WebCore::HTMLInputElement::isTextField):
3392         * html/HTMLTextFieldInnerElement.cpp:
3393         (WebCore::HTMLTextFieldInnerTextElement::defaultEventHandler):
3394         * platform/TextField.h: Removed.
3395         * platform/mac/TextFieldMac.mm: Removed.
3396         * platform/mac/WebCoreTextField.h: Removed.
3397         * platform/mac/WebCoreTextField.mm: Removed.
3398         * rendering/RenderLineEdit.cpp: Removed.
3399         * rendering/RenderLineEdit.h: Removed.
3400
3401 2006-12-16  Adele Peterson  <adele@apple.com>
3402
3403         Two more files I forgot to svn add for search fields.
3404
3405         * platform/SearchPopupMenu.h: Added.
3406         (WebCore::SearchPopupMenu::create):
3407         * platform/mac/SearchPopupMenuMac.mm: Added.
3408         (WebCore::SearchPopupMenu::SearchPopupMenu):
3409         (WebCore::autosaveKey):
3410         (WebCore::SearchPopupMenu::saveRecentSearches):
3411         (WebCore::SearchPopupMenu::loadRecentSearches):
3412
3413 2006-12-16  Adele Peterson  <adele@apple.com>
3414
3415         Reviewed by Adam.
3416
3417         * platform/PopupMenuClient.h: Added. Broken out of PopupMenu class.
3418         (WebCore::PopupMenuClient::~PopupMenuClient):
3419
3420 2006-12-16  Adele Peterson  <adele@apple.com>
3421
3422         Reviewed by Adam.
3423
3424         WebCore part of fix for:
3425         <rdar://problem/4463829> Switch to use new search field implementation for <input type="search">
3426
3427         * WebCore.xcodeproj/project.pbxproj: Added SearchPopupMenu.h, SearchPopupMenuMac.mm, and PopupMenuClient.h.
3428
3429         Added pseudo classes and corresponding values for -webkit appearance for the cancel button and for the three types of "decoration" that 
3430         correspond to the different functions of the magnifier glass in the search field.  One for the button that will show and hide the
3431         recent searches menu.  One for decoration when the results attribute is set, but no results are saved.  And one for decoration
3432         when no results attribute is set.  We added these different pseudo elements so that RenderTextControl can decide which pseudo class
3433         is appropriate, and each theme can decide for itself which kind of image is appropriate for each function.
3434         
3435         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
3436         * css/CSSSelector.h: (WebCore::CSSSelector::): Added to PseudoType enum.
3437         * css/CSSValueKeywords.in: Added searchfield-decoration, searchfield-results-decoration, searchfield-results-button, searchfield-cancel-button values.
3438         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): Added cases for -webkit-search-cancel-button, 
3439           -webkit-search-decoration, -webkit-search-results-decoration, -webkit-search-results-button
3440         * rendering/RenderStyle.cpp: Addes new pseudoBits for matching pseudoIds.
3441         (WebCore::):
3442         (WebCore::pseudoBit):
3443         * rendering/RenderStyle.h: Added new appearance values and pseudoIds.
3444         (WebCore::):
3445         (WebCore::RenderStyle::):
3446         * css/html4.css: Added style for input[type=search], and the new pseudo elements.
3447
3448         The structure of the shadow DOM for new search field adds an intermediate block that contains 3 inline-blocks for the magnifier, text element, and cancel button.
3449         Since the tree has become deeper, some editing and event code that used to check for a shadowParent, really needs to check the shadowAncestorNode.
3450
3451         * editing/Editor.cpp: (WebCore::Editor::dispatchCPPEvent): Check shadowAncestorNode instead of shadowParentNode.
3452         * editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent): ditto.
3453         * editing/htmlediting.cpp:
3454         (WebCore::firstEditablePositionAfterPositionInRoot): ditto.
3455         (WebCore::lastEditablePositionBeforePositionInRoot): ditto.
3456         * editing/ReplaceSelectionCommand.cpp:
3457         (WebCore::ReplacementFragment::ReplacementFragment): ditto.
3458         (WebCore::ReplaceSelectionCommand::shouldMerge): Nil check enclosingBlock call.  I ran into this while testing search fields in mixed editability.
3459         (WebCore::ReplaceSelectionCommand::doApply): ditto.
3460
3461         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Remove use of RenderLineEdit.
3462         * html/HTMLInputElement.cpp:
3463         (WebCore::HTMLInputElement::selectionStart): ditto.
3464         (WebCore::HTMLInputElement::selectionEnd): ditto.
3465         (WebCore::HTMLInputElement::setSelectionStart): ditto.
3466         (WebCore::HTMLInputElement::setSelectionEnd): ditto.
3467         (WebCore::HTMLInputElement::select): ditto.
3468         (WebCore::HTMLInputElement::setSelectionRange): ditto.
3469         (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
3470         (WebCore::HTMLInputElement::createRenderer): ditto.
3471         (WebCore::HTMLInputElement::defaultEventHandler): ditto.
3472         (WebCore::HTMLInputElement::addSearchResult): Added. Calls addSearchResult on the renderer.
3473         * html/HTMLInputElement.h:
3474         (WebCore::HTMLInputElement::isNonWidgetTextField): Added case for search field.
3475         (WebCore::HTMLInputElement::isSearchField): Added.
3476
3477         * platform/PopupMenu.h: Broke PopupMenuClient out into a separate file.
3478         * platform/PopupMenuClient.h: Added.
3479         (WebCore::PopupMenuClient::~PopupMenuClient):
3480         * platform/graphics/Icon.h:
3481
3482         * platform/SearchPopupMenu.h: Added. Saves and loads recent search vector.
3483         (WebCore::SearchPopupMenu::create):
3484         * platform/mac/SearchPopupMenuMac.mm: Added.
3485         (WebCore::SearchPopupMenu::SearchPopupMenu):
3486         (WebCore::autosaveKey):
3487         (WebCore::SearchPopupMenu::saveRecentSearches):
3488         (WebCore::SearchPopupMenu::loadRecentSearches):
3489
3490         * html/HTMLTextFieldInnerElement.h: Reorganized this class.
3491           Added subclasses HTMLTextFieldInnerTextElement, HTMLSearchFieldResultsButtonElement, HTMLSearchFieldCancelButtonElement
3492         (WebCore::HTMLTextFieldInnerElement::isMouseFocusable): Added.  Returns false so setFocusNodeIfNeeded 
3493          will try to focus the input element instead of nodes in the shadow tree.
3494         (WebCore::HTMLTextFieldInnerElement::isShadowNode): Now returns whether or not a shadowParent has been specified.
3495          * html/HTMLTextFieldInnerElement.cpp:
3496         (WebCore::HTMLTextFieldInnerTextElement::HTMLTextFieldInnerTextElement):
3497         (WebCore::HTMLTextFieldInnerTextElement::defaultEventHandler): Moved this from the old HTMLTextFieldInnerElement class.
3498         (WebCore::HTMLSearchFieldResultsButtonElement::HTMLSearchFieldResultsButtonElement):
3499         (WebCore::HTMLSearchFieldResultsButtonElement::defaultEventHandler): Shows and hides recent searches menu.
3500         (WebCore::HTMLSearchFieldCancelButtonElement::HTMLSearchFieldCancelButtonElement):
3501         (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler): On mouse up, clears the value from the text field.
3502
3503        * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::listSize): Changed return type to unsigned.
3504         * rendering/RenderMenuList.h: (WebCore::RenderMenuList::valueShouldChangeOnHotTrack): Added.
3505         
3506         * WebCore.exp: Export _wkDrawTextFieldCellFocusRing.
3507         * platform/mac/WebCoreSystemInterface.h: Added wkDrawTextFieldCellFocusRing
3508         * platform/mac/WebCoreSystemInterface.mm: ditto.
3509
3510         * rendering/RenderTextControl.h:
3511         (WebCore::RenderTextControl::popupIsVisible): Added so HTMLSearchFieldResultsButtonElement knows whether or not the menu is already up.
3512         (WebCore::RenderTextControl::shouldPopOver): Added as a PopupClient method so the results menu shows up under the control instead of over.
3513         (WebCore::RenderTextControl::valueShouldChangeOnHotTrack):
3514         * rendering/RenderTextControl.cpp:
3515         (WebCore::RenderTextControl::RenderTextControl): Initialize m_placeholderIsVisible, m_searchPopup, and m_searchPopupIsVisible.
3516         (WebCore::RenderTextControl::~RenderTextControl): Detach the node at the top of the shadow tree (m_innerBlock for search fields, and m_innerText for other text controls).
3517         (WebCore::RenderTextControl::setStyle): Sets style on new elements.
3518         (WebCore::disabledTextColor): Added so this can be used in setPlaceholder.
3519         (WebCore::RenderTextControl::createInnerBlockStyle): Added.
3520         (WebCore::RenderTextControl::createInnerTextStyle): Added.
3521         (WebCore::RenderTextControl::createResultsButtonStyle): Added.
3522         (WebCore::RenderTextControl::createCancelButtonStyle): Added.
3523         (WebCore::RenderTextControl::showPlaceholderIfNeeded): Added. Shows the placeholder if there's no value and the field doesn't have focus.
3524         (WebCore::RenderTextControl::hidePlaceholderIfNeeded): Added. Clears the placeholder if there's a value or the field has focus. 
3525         (WebCore::RenderTextControl::createSubtreeIfNeeded): Added. Creates all of the shadow tree elements.
3526         (WebCore::RenderTextControl::updateFromElement): Calls showPlaceholderIfNeeded.
3527         (WebCore::RenderTextControl::visiblePositionForIndex): Renaming (m_div to m_innerText).
3528         (WebCore::RenderTextControl::indexForVisiblePosition): ditto.
3529         (WebCore::RenderTextControl::updateCancelButtonVisibility): Shows and hides cancel button based on the value of the control.
3530         (WebCore::RenderTextControl::subtreeHasChanged): Fires onSearch if the incremental attribute is set.
3531         (WebCore::RenderTextControl::