2006-12-08 MorganL <morganl.webkit@yahoo.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2006-12-08  MorganL  <morganl.webkit@yahoo.com>
2
3         Reviewed by Darin.
4
5         http://bugs.webkit.org/show_bug.cgi?id=11778
6         CString::data() should be documented as returning a null terminated char array
7
8         * platform/CString.h:
9         Add some basic documentation to CString.h
10
11 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
12
13         Reviewed by Geoff.
14
15         http://bugs.webkit.org/show_bug.cgi?id=11718
16         REGRESSION: When I mouse up after dragging a selection outside of a iframe, the iframe
17         continues to scroll automatically.
18
19         Test: manual-tests/autoscroll.html
20
21         * manual-tests/autoscroll.html: Added.
22
23         * page/EventHandler.cpp:
24         (WebCore::EventHandler::handleMousePressEvent):
25         Assign to m_mousePressNode earlier, so that it is available in the superframe as well.
26         Reset m_mouseDownWasInSubframe to false when starting to handle a mousedown - previously, its value
27         was only defined if the event was passed down to a widget or a subframe.
28
29         (WebCore::EventHandler::stopAutoscrollTimer):
30         If the mouse down event was in a subframe, stop the subframe's timer.
31
32 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
33
34         Reviewed by Geoff.
35
36         http://bugs.webkit.org/show_bug.cgi?id=6275
37         XMLHttpRequest.getResponseHeader should return a null string for non-existent headers
38
39         * bindings/js/JSXMLHttpRequest.cpp:
40         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
41         Convert null getResponseHeader strings to JS null, rather than undefined.
42
43 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
44
45         Reviewed by Darin.
46
47         http://bugs.webkit.org/show_bug.cgi?id=9854
48         HTTP Refresh header with quotes is parsed incorrectly
49
50         Test: http/tests/misc/redirect-with-quotes.php
51
52         * WebCore.xcodeproj/project.pbxproj:
53         Added HTTPParsers.{h,cpp}. I intend to move Content-Type parsing here, as well.
54
55         * dom/Document.cpp:
56         (WebCore::Document::processHttpEquiv):
57         * loader/FrameLoader.cpp:
58         (WebCore::FrameLoader::receivedFirstData):
59         Use the new implementation in HTTPHeaders.
60
61         * platform/network/HTTPParsers.cpp: Added.
62         (WebCore::skipWhiteSpace):
63         (WebCore::parseHTTPRefresh):
64         * platform/network/HTTPParsers.h: Added.
65         Merged and rewrote existing implementations for better Firefox compatibility.
66
67 2006-12-08  Alexey Proskuryakov  <ap@webkit.org>
68
69         Reviewed by Tim H.
70
71         http://bugs.webkit.org/show_bug.cgi?id=11772
72         REGRESSION: XMLSerializer.serializeToString incorrect value for CDATA nodes
73
74         Test: fast/dom/serialize-cdata.html
75
76         * editing/markup.cpp:
77         (WebCore::startMarkup): Dump CDATA sections, too.
78
79 2006-12-08  Mitz Pettel  <mitz@webkit.org>
80
81         Reviewed by hyatt.
82
83         Deleted misplaced comment.
84
85         * rendering/RenderWidget.cpp:
86
87 2006-12-08  Rob Buis  <buis@kde.org>
88
89         Reviewed by Darin.
90
91         http://bugs.webkit.org/show_bug.cgi?id=6074
92         WebKit+SVG and FireFox disagree on invalid "transform" handling
93
94         Test for parsing failure on transform attribute and clear the transform
95         list upon failure to match FF behaviour.
96
97         * ksvg2/svg/SVGGradientElement.cpp:
98         (WebCore::SVGGradientElement::parseMappedAttribute):
99         * ksvg2/svg/SVGPatternElement.cpp:
100         (WebCore::SVGPatternElement::parseMappedAttribute):
101         * ksvg2/svg/SVGStyledTransformableElement.cpp:
102         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
103         * ksvg2/svg/SVGTextElement.cpp:
104         (WebCore::SVGTextElement::parseMappedAttribute):
105         * ksvg2/svg/SVGTransformable.cpp:
106         (WebCore::SVGTransformable::parseTransformAttribute):
107         * ksvg2/svg/SVGTransformable.h:
108
109 2006-12-07  Geoffrey Garen  <ggaren@apple.com>
110
111         Reviewed by Beth Dakin.
112
113         Fixed <rdar://problem/4870551> 9A320: <input type="text"> no longer 
114         dispatches onchange event in response to enter key
115         
116         To match our old behavior and FF, we need to dispatch onchange in response to the
117         ENTER key. The strategy here is just to dispatch a blur event, since that's how
118         the search field always worked, and the DOM spec says onchange only fires
119         as a precursor to blur.
120
121         * ChangeLog:
122         * html/HTMLInputElement.cpp:
123         (WebCore::HTMLInputElement::defaultEventHandler):
124
125 2006-12-07  Adam Roben  <aroben@apple.com>
126
127         Reviewed by Oliver.
128
129         Some small context menu-related fixes.
130
131         * html/HTMLFrameSetElement.cpp:
132         (WebCore::HTMLFrameSetElement::defaultEventHandler): Don't try to
133         resize on a contextmenuEvent.
134         * html/HTMLInputElement.cpp:
135         (WebCore::HTMLInputElement::defaultEventHandler): Only pass the event
136         off to HTMLGenericFormElement if we haven't handled it.
137
138 2006-12-07  Anders Carlsson  <acarlsson@apple.com>
139
140         Reviewed by Darin.
141
142         <rdar://problem/4838778>
143         Title: DashboardClient crashing in WebCore::SubresourceLoader::didFail
144         
145         * loader/SubresourceLoader.cpp:
146         (WebCore::SubresourceLoader::stopLoading):
147         * loader/SubresourceLoader.h:
148         Add stopLoading method which currently just clears the client. This isn't the ideal fix,
149         since it doesn't actually stop the load.
150         
151         * loader/mac/SubresourceLoaderMac.mm:
152         (WebCore::SubresourceLoader::willSendRequest):
153         (WebCore::SubresourceLoader::didReceiveResponse):
154         (WebCore::SubresourceLoader::didReceiveData):
155         (WebCore::SubresourceLoader::didFinishLoading):
156         (WebCore::SubresourceLoader::didFail):
157         (WebCore::SubresourceLoader::didCancel):
158         Add null-checks.
159         
160         * xml/xmlhttprequest.cpp:
161         (WebCore::XMLHttpRequest::abort):
162         Call stopLoading.
163
164 2006-12-07  Kevin McCullough  <kmccullough@apple.com>
165
166         Reviewed by Geof.
167
168         - added the ability to set the auto repeating variable to force a keyPressed
169         event from a keyDown event.
170
171         * platform/PlatformKeyboardEvent.h:
172         (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
173
174 2006-12-07  Don Gibson  <dgibson77@gmail.com>
175
176         Reviewed by Darin.
177
178         http://bugs.webkit.org/show_bug.cgi?id=11749
179         Don't call updateThumbProportion() unnecessarily.
180
181         * platform/ScrollBar.cpp:
182         (WebCore::Scrollbar::setProportion):
183
184 2006-12-07  Beth Dakin  <bdakin@apple.com>
185
186         Reviewed by Brady.
187
188         Fixes "Open in new Window" item in WebCore ContextMenus. It wasn't 
189         doing anything before, and now it works! Also some formatting 
190         changes, etc.
191
192         * page/ContextMenuClient.h: Several of the parameters to several of 
193         the functions here should be const or const references. And now 
194         they are!
195         * page/ContextMenuController.cpp:
196         (WebCore::openNewWindow): Moved the open new window functionality 
197         into a helper function since it is used by several menu item tags. 
198         Now after calling chrome()->createWindow() we call chrome()->show() 
199         on the new window, and so it appears!
200         (WebCore::ContextMenuController::contextMenuItemSelected): Call new 
201         openNewWindow function to do the right thing. Shift some 
202         formatting, use local variable for HitTestResult. Implement action 
203         for ContextMenuItemTagOpenLink.
204
205 2006-12-06  Kevin McCullough  <KMcCullough@apple.com>
206
207         Reviewed by.
208
209         - Removed a conflict marker
210
211         * ChangeLog:
212
213 2006-12-06  Justin Garcia  <justin.garcia@apple.com>
214
215         Reviewed by darin
216         
217         <rdar://problem/4818134>
218         Crash in WebCore::selectRange when invoking WebView:insertNewLine in any empty content editable DIV.
219
220         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed RebalanceWhitespaceCommand.*.
221         * editing/visible_units.cpp:
222         (WebCore::startOfLine): There are VisiblePositions at offset 0 in blocks without
223         RootInlineBoxes, like empty editable blocks and bordered blocks.
224         (WebCore::endOfLine): Ditto.
225         
226 2006-12-06  Kevin McCullough  <KMcCullough@apple.com>
227
228         Reviewed by.
229
230         - Removed a conflict marker
231
232         * ChangeLog:
233
234 2006-12-06  Justin Garcia  <justin.garcia@apple.com>
235
236         Reviewed by john
237         
238         <rdar://problem/4854869>
239         Inserting a new line in a contenteditable=true SPAN whose parent is a DIV asserts
240
241         * editing/htmlediting.cpp:
242         (WebCore::enclosingBlock): Use enclosingNodeWithType to prevent escape
243         from editable content.
244         * editing/markup.cpp:
245         (WebCore::createMarkup): A null commonAncestorBlock will happen
246         if commonAncestor is inside an inline editable root that doesn't
247         contain any blocks.  Removed an early return for this case: the 
248         code below the early return can and must handle it.
249
250 2006-12-06  Timothy Hatcher  <timothy@apple.com>
251
252         Reviewed by Mark Rowe.
253
254         <rdar://problem/4843505> Fix cross-library ivar use for 64-bit Objective-C
255
256         Adds a new WebCore.LP64.exp file that gets appended to the normal export file.
257         This new file will have 64-bit only symbols we need to export.
258
259         * WebCore.LP64.exp: Added.
260         * WebCore.xcodeproj/project.pbxproj:
261
262 2006-12-06  Anders Carlsson  <acarlsson@apple.com>
263
264         Reviewed by Maciej.
265         
266         Change SubresourceLoader to use a ResourceHandle, and change ResourceHandle to use a NSURLConnection.
267         
268         * loader/ResourceLoader.h:
269         * loader/SubresourceLoader.cpp:
270         (WebCore::SubresourceLoader::create):
271         (WebCore::SubresourceLoader::didReceiveData):
272         (WebCore::SubresourceLoader::didFinishLoading):
273         (WebCore::SubresourceLoader::didFail):
274         * loader/SubresourceLoader.h:
275         (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge):
276         (WebCore::SubresourceLoader::didCancelAuthenticationChallenge):
277         (WebCore::SubresourceLoader::willStopBufferingData):
278         (WebCore::SubresourceLoader::willCacheResponse):
279         (WebCore::SubresourceLoader::receivedCredential):
280         (WebCore::SubresourceLoader::receivedRequestToContinueWithoutCredential):
281         (WebCore::SubresourceLoader::receivedCancellation):
282         * loader/SubresourceLoaderClient.h:
283         (WebCore::SubresourceLoaderClient::didFail):
284         * loader/icon/IconLoader.cpp:
285         (WebCore::IconLoader::didFail):
286         * loader/icon/IconLoader.h:
287         * loader/loader.cpp:
288         (WebCore::Loader::didFail):
289         * loader/loader.h:
290         * loader/mac/ResourceLoaderMac.mm:
291         (WebCore::ResourceLoader::ResourceLoader):
292         (WebCore::ResourceLoader::addData):
293         (WebCore::ResourceLoader::resourceData):
294         * loader/mac/SubresourceLoaderMac.mm:
295         (WebCore::SubresourceLoader::SubresourceLoader):
296         (WebCore::SubresourceLoader::setDefersLoading):
297         (WebCore::SubresourceLoader::resourceData):
298         (WebCore::SubresourceLoader::load):
299         (WebCore::SubresourceLoader::create):
300         (WebCore::SubresourceLoader::willSendRequest):
301         (WebCore::SubresourceLoader::didReceiveResponse):
302         (WebCore::SubresourceLoader::didReceiveData):
303         (WebCore::SubresourceLoader::didFinishLoading):
304         (WebCore::SubresourceLoader::didFail):
305         (WebCore::SubresourceLoader::didCancel):
306         * platform/network/ResourceHandle.cpp:
307         (WebCore::ResourceHandle::ResourceHandle):
308         (WebCore::ResourceHandle::create):
309         * platform/network/ResourceHandle.h:
310         * platform/network/ResourceHandleClient.h:
311         (WebCore::ResourceHandleClient::didReceiveData):
312         (WebCore::ResourceHandleClient::didFail):
313         (WebCore::ResourceHandleClient::didReceiveAuthenticationChallenge):
314         (WebCore::ResourceHandleClient::didCancelAuthenticationChallenge):
315         (WebCore::ResourceHandleClient::willStopBufferingData):
316         (WebCore::ResourceHandleClient::willCacheResponse):
317         (WebCore::ResourceHandleClient::receivedCredential):
318         (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential):
319         (WebCore::ResourceHandleClient::receivedCancellation):
320         * platform/network/ResourceHandleInternal.h:
321         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
322         * platform/network/mac/ResourceHandleMac.mm:
323         (WebCore::ResourceHandle::~ResourceHandle):
324         (WebCore::ResourceHandle::start):
325         (WebCore::ResourceHandle::cancel):
326         (WebCore::ResourceHandle::setDefersLoading):
327         (WebCore::ResourceHandle::delegate):
328         (WebCore::ResourceHandle::releaseDelegate):
329         (WebCore::ResourceHandle::supportsBufferedData):
330         (WebCore::ResourceHandle::bufferedData):
331         (-[WebCoreResourceHandleAsDelegate initWithHandle:]):
332         (-[WebCoreResourceHandleAsDelegate detachHandle]):
333         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
334         (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
335         (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
336         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
337         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
338         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
339         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
340         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
341         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
342         (-[WebCoreResourceHandleAsDelegate useCredential:forAuthenticationChallenge:]):
343         (-[WebCoreResourceHandleAsDelegate continueWithoutCredentialForAuthenticationChallenge:]):
344         (-[WebCoreResourceHandleAsDelegate cancelAuthenticationChallenge:]):
345         * xml/xmlhttprequest.cpp:
346         (WebCore::XMLHttpRequest::didFail):
347         * xml/xmlhttprequest.h:
348
349 2006-12-06  Beth Dakin  <bdakin@apple.com>
350
351         Reviewed by Adam.
352
353         There are two bugs with WebCore ContextMenus due to the static 
354         ContextMenuItems. One bug is that we often crashed in 
355         NSAutoreleasePool upon quitting the browser. The other bug is that 
356         we were adding static NSMenuItems to multiple NSMenus, which is 
357         disallowed. To fix these bugs, the MenuItems are no longer static. 
358         This is in line with the current design in WebKit anyway. I made 
359         some re-arrangements in the code because I also removed the macro 
360         that was used to create the menu items since it was a bit 
361         confusing.
362
363         * platform/ContextMenu.cpp:
364         (WebCore::createFontSubMenu):
365         (WebCore::createSpellingAndGrammarSubMenu):
366         (WebCore::createSpellingSubMenu):
367         (WebCore::createSpeechSubMenu):
368         (WebCore::createWritingDirectionSubMenu):
369         (WebCore::ContextMenu::populate):
370         * platform/ContextMenuItem.h:
371         * platform/mac/ContextMenuItemMac.mm:
372         (WebCore::ContextMenuItem::ContextMenuItem): Use the NSMenuItem 
373         global separator item if we have SeparatorType.
374         * platform/mac/ContextMenuMac.mm:
375         (WebCore::setMenuItemTarget):  Change name of getNSMenuItem since 
376         that is no longer accurate.
377         (WebCore::ContextMenu::appendItem): Above name change.
378         (WebCore::ContextMenu::insertItem): Same.
379
380 2006-12-06  Kevin McCullough  <kmccullough@apple.com>
381
382         Reviewed by Geof.
383
384         - Returned the semantic meaning of the mask to be the actual repeat count,
385         and changed auto_repeat to correctly differnetiate between keypressed and keydown.
386
387         * platform/win/KeyEventWin.cpp:
388         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
389
390 2006-12-06  Justin Garcia  <justin.garcia@apple.com>
391
392         Reviewed by harrison
393         
394         <rdar://problem/4753545>
395         REGRESSION: Edited whitespace sequences are all nbsps (10636)
396
397         * WebCore.xcodeproj/project.pbxproj: Removed RebalanceWhitespaceCommand.* from the project.
398         * editing/CompositeEditCommand.cpp:
399         (WebCore::isWhitespace): Moved from htmlediting.
400         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Moved the work that was
401         once done in its own command here.  
402         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): Prevents
403         whitespace around a position from collapsing when it's pushed apart during Paste.
404         This function can eventually be deployed to eliminate the need for leading/trailing 
405         whitespace handling in InsertParagraphSeparator, InsertLineBreak, Delete, and BreakBlockquote.
406         (WebCore::CompositeEditCommand::rebalanceWhitespace): Cleaned up.
407         * editing/CompositeEditCommand.h:
408         * editing/DeleteSelectionCommand.cpp:
409         (WebCore::DeleteSelectionCommand::doApply): Do rebalanceWhitespaceAt *before*
410         saving the typing style, because whitespace rebalancing is no longer it's own
411         command that claims to preserve the typing style.
412         * editing/RebalanceWhitespaceCommand.cpp: Removed.
413         * editing/RebalanceWhitespaceCommand.h: Removed.
414         * editing/ReplaceSelectionCommand.cpp:
415         (WebCore::ReplaceSelectionCommand::doApply): Moved the code to prepare whitespace
416         arond a position for being pushed aparat to its own method.
417         * editing/htmlediting.cpp:
418         (WebCore::stringWithRebalancedWhitespace): Added.  Returns a rebalanced string.
419         Takes in whether or not the beginning of that string will be at the start of
420         a paragraph, because a space at such a position must have be nbsp, even if
421         that doesn't follow the nbsp/space pattern used.  Similar stuff for the end 
422         of a paragraph.
423         * editing/htmlediting.h:
424         * editing/markup.cpp:
425         (WebCore::fillContainerFromString): Call stringWithRelabacedWhitespace.  Pass 
426         it the startOfParagraph/endOfParagraph bools.
427
428 >>>>>>> .r18054
429 2006-12-05  John Sullivan  <sullivan@apple.com>
430
431         Reviewed by Beth
432
433         Moved spelling and grammar code from Frame to Editor
434
435         * WebCore.exp:
436         updated for these changes
437
438         * page/Frame.h:
439         removed declarations of spelling and grammar functions
440
441         * bridge/mac/FrameMac.h:
442         removed declarations of spelling and grammar functions
443
444         * bridge/mac/FrameMac.mm:
445         moved implementation of spelling and grammar functions from here
446         (WebCore::FrameMac::respondToChangedSelection):
447         updated for moved functions
448
449         * editing/Editor.h:
450         moved declarations of spelling and grammar functions to here
451
452         * editing/mac/EditorMac.mm:
453         moved implementation of spelling and grammar functions to here; changed
454         only to make it compile (e.g. removing "editor()->" and adding "frame()->"
455         where appropraite.
456         (WebCore::findFirstMisspellingInRange):
457         (WebCore::paragraphAlignedRangeForRange):
458         (WebCore::findFirstGrammarDetailInRange):
459         (WebCore::findFirstBadGrammarInRange):
460         (WebCore::Editor::advanceToNextMisspelling):
461         (WebCore::Editor::isSelectionMisspelled):
462         (WebCore::isRangeUngrammatical):
463         (WebCore::Editor::isSelectionUngrammatical):
464         (WebCore::Editor::guessesForUngrammaticalSelection):
465         (WebCore::core):
466         (WebCore::Editor::guessesForMisspelledSelection):
467         (WebCore::Editor::markMisspellingsInAdjacentWords):
468         (WebCore::markAllMisspellingsInRange):
469         (WebCore::markAllBadGrammarInRange):
470         (WebCore::Editor::markMisspellings):
471
472         * platform/ContextMenu.cpp:
473         (WebCore::ContextMenu::populate):
474         updated for moved functions
475
476         * editing/TypingCommand.cpp:
477         (WebCore::TypingCommand::markMisspellingsAfterTyping):
478         updated for moved functions
479
480 2006-12-05  Anders Carlsson  <acarlsson@apple.com>
481
482         Reviewed by Maciej.
483
484         General cleanup, get rid of PlatformResponse (we have ResourceResponse now)
485         and remove a couple of functions that were unused.
486
487         * loader/CachedResource.h:
488         * loader/LoaderFunctions.h:
489         * loader/mac/LoaderFunctionsMac.mm:
490         * platform/network/ResourceHandle.h:
491         * platform/network/ResourceHandleClient.h:
492         * platform/network/mac/ResourceHandleMac.mm:
493         (WebCore::ResourceHandle::~ResourceHandle):
494
495 2006-12-05  Kevin McCullough  <kmccullough@apple.com>
496
497         Reviewed by John.
498
499         - keydown is now a keydown event instead of a keypress event.
500           Fixes some form submission oddities.
501
502         * platform/win/KeyEventWin.cpp:
503
504 2006-12-05  John Sullivan  <sullivan@apple.com>
505
506         Tiger build fix
507
508         * editing/mac/EditorMac.mm:
509         declare -[NSSpellChecker learnWord:], on Tiger only (it's API on Leopard)
510
511 2006-12-05  John Sullivan  <sullivan@apple.com>
512
513         Reviewed by Geoff Garen
514
515         * page/Frame.h:
516         remove declarations of ignoreSpelling() and learnSpelling()
517
518         * bridge/mac/FrameMac.h:
519         remove declarations of ignoreSpelling() and learnSpelling()
520         * bridge/mac/FrameMac.mm:
521         moved implementations of ignoreSpelling() and learnSpelling() from here
522
523         * editing/Editor.h:
524         added declarations of ignoreSpelling() and learnSpelling()
525
526         * editing/mac/EditorMac.mm:
527         (WebCore::Editor::ignoreSpelling):
528         moved here from FrameMac.mm
529         (WebCore::Editor::learnSpelling):
530         ditto
531
532         * page/ContextMenuController.cpp:
533         (WebCore::ContextMenuController::contextMenuItemSelected):
534         updated callers to use frame()->editor() rather than frame()
535
536 2006-12-05  John Sullivan  <sullivan@apple.com>
537
538         Reviewed by Adam
539
540         New context-menu mechanism fix for:
541         <rdar://problem/4864351> Should leave out "No Guesses Found" from context menu for bad grammar
542
543         * platform/ContextMenu.cpp:
544         (WebCore::ContextMenu::populate):
545         Leave out "No Guesses Found" and separator for grammar-checking case.
546
547 2006-12-05  Rob Buis  <buis@kde.org>
548
549         Reviewed by Mitz.
550
551         http://bugs.webkit.org/show_bug.cgi?id=11686
552         WebKit draws Carto.net tabgroup example completely incorrectly (ff does fine)
553
554         Make sure the SVG render objects are laid out before measuring their 
555         dimensions using relativeBBox.
556
557         * ksvg2/svg/SVGLocatable.cpp:
558         (WebCore::SVGLocatable::getBBox):
559
560 2006-12-05  John Sullivan  <sullivan@apple.com>
561
562         Reviewed by Darin
563
564         Grammar/Spelling code re-homing, baby step one: put isGrammarCheckingEnabled in Editor
565         since that's where isContinousSpellCheckingEnabled lives.
566
567         * editing/Editor.h:
568         * editing/Editor.cpp:
569         (WebCore::Editor::isGrammarCheckingEnabled):
570         new method, calls through to client a la isContinuousSpellCheckingEnabled
571
572         * bridge/mac/FrameMac.mm:
573         (WebCore::FrameMac::advanceToNextMisspelling):
574         call editor() rather than editor()->client()
575         (WebCore::FrameMac::markMisspellings):
576         ditto
577
578         * platform/ContextMenu.cpp:
579         (WebCore::ContextMenu::populate):
580         ditto
581
582 2006-12-05  Darin Adler  <darin@apple.com>
583
584         Reviewed by Geoff.
585
586         - a little cleanup
587
588         * html/HTMLInputElement.h: Removed unneeded includes of RenderObject.h
589         and RenderStyle.h.
590         * html/HTMLSelectElement.h: Removed unneeded include of RenderStyle.h.
591         * ksvg2/svg/SVGStyledElement.h: Removed unneeded include of RenderStyle.h.
592
593         * ksvg2/svg/SVGSVGElement.h: Remove unneeded parameter to createSVGPoint.
594         * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createSVGPoint):
595         Ditto.
596
597         * ksvg2/scripts/generateJSBindings.pl: Removed unused script.
598
599 2006-12-05  Darin Adler  <darin@apple.com>
600
601         * doc: Removed empty directory. It's not clear this is a good place for
602         documentation, so lets add it back later if we actually start using it.
603
604 2006-12-05  Anders Carlsson  <acarlsson@apple.com>
605
606         Reviewed by Brady, Darin.
607
608         * loader/loader.cpp:
609         (WebCore::Loader::receivedAllData):
610         Remove ref() call that was left around by mistake.
611
612 2006-12-05  Sam Weinig  <sam@webkit.org>
613
614         Reviewed by Tim H.
615
616         Fix for http://bugs.webkit.org/show_bug.cgi?id=11758
617         Don't compile custom SVG and XSLT bindings in non-svg build
618
619         * bindings/js/JSSVGNumber.cpp:
620         * bindings/js/JSSVGNumber.h:
621         * bindings/js/JSSVGPoint.cpp:
622         * bindings/js/JSSVGPoint.h:
623         * bindings/js/JSSVGRect.cpp:
624         * bindings/js/JSSVGRect.h:
625         * bindings/js/JSXSLTProcessor.cpp:
626         * bindings/js/JSXSLTProcessor.h:
627
628 2006-12-04  John Sullivan  <sullivan@apple.com>
629
630         Reviewed by Darin
631
632         WebCore part of fix for:
633         <rdar://problem/4817188> Context menu for bad grammar should include suggestions and "Ignore Grammar"
634
635         The context menu mechanism is currently in flux; the old mechanism is still in place, but an
636         up-and-coming new mechanism is waiting in the wings. I updated both of them, but couldn't
637         test the new mechanism because it doesn't work well enough yet. Also, some of this code 
638         should move from Frame to Editor, but that will wait for another checkin.
639
640         * page/Frame.h:
641         added pure virtual function declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()
642
643         * bridge/mac/FrameMac.h:
644         added virtual functions declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()
645
646         * bridge/mac/FrameMac.mm:
647         (WebCore::FrameMac::isSelectionMisspelled):
648         now updates spelling panel (whether or not it's showing), since this is now needed to make -[NSSSpellChecker
649         ignoreWord:inSpellDocumentWithTag:] work correctly
650         (WebCore::isRangeUngrammatical):
651         new function, helper used by both isSelectionUngrammatical() and guessesForUngrammaticalSelection()
652         (WebCore::FrameMac::isSelectionUngrammatical):
653         new function, calls isRangeUngrammatical
654         (WebCore::FrameMac::guessesForUngrammaticalSelection):
655         ditto
656
657         * platform/ContextMenu.cpp:
658         (WebCore::ContextMenu::populate):
659         now considers bad grammar as well as misspellings
660         
661         * platform/ContextMenuItem.h:
662         added ContextMenuItemTagIgnoreGrammar
663         
664 2006-12-05  Kirby White  <KWhiteRight@gmail.com>
665
666         Reviewed, tweaked and landed by Alexey.
667
668         <http://bugs.webkit.org/show_bug.cgi?id=11639> Form buttons don't look different when clicked
669
670         * rendering/RenderThemeWin.cpp:
671         (WebCore::RenderThemeWin::determineState): Moved test for active 
672         state before test for hover state, since active should override hover 
673         when both are true.
674
675         * platform/gdk/RenderThemeGdk.cpp: 
676         (WebCore::RenderThemeGdk::determineState): Same fix.
677
678 2006-12-05  Kirby White  <KWhiteRight@gmail.com>
679
680         Reviewed and landed by Alexey.
681
682         http://bugs.webkit.org/show_bug.cgi?id=11681
683         Don't select the first option when resetting a listbox-style form 
684         control (i.e., a multi-select control or one with size > 1) that
685         has no default selection.
686
687         Test: fast/dom/HTMLSelectElement/listbox-select-reset.html
688
689         * html/HTMLSelectElement.cpp:
690         (WebCore::HTMLSelectElement::reset):
691
692 2006-12-05  Lars Naesbye Christensen  <larsnaesbye@stud.ku.dk>
693
694         Reviewed and landed by Alexey.
695
696         http://bugs.webkit.org/show_bug.cgi?id=11752
697         [CSS 3] missing support for cursor selector 'copy'
698
699         * Resources/copyCursor.png: Added.
700         * WebCore.xcodeproj/project.pbxproj:
701         * css/CSSComputedStyleDeclaration.cpp:
702         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
703         * css/CSSValueKeywords.in:
704         * manual-tests/cursor.html:
705         * page/EventHandler.cpp:
706         (WebCore::selectCursor):
707         * platform/Cursor.h:
708         * platform/mac/CursorMac.mm:
709         (WebCore::copyCursor):
710         * rendering/RenderStyle.h:
711         (WebCore::):
712
713 2006-12-04  Beth Dakin  <bdakin@apple.com>
714
715         Reviewed by Geoff.
716
717         Fix from last check-in. This line was badbad.
718
719         * platform/mac/ContextMenuMac.mm:
720         (WebCore::ContextMenu::~ContextMenu):
721
722 2006-12-04  Beth Dakin  <bdakin@apple.com>
723
724         Reviewed by Geoff.
725
726         With the new changes to ContextMenuItems, WebCore context menus 
727         stopped appearing at all. And then when I got them to appear, they 
728         crashed. This fixes both of these problems.
729
730         * platform/mac/ContextMenuItemMac.mm:
731         (WebCore::ContextMenuItem::ContextMenuItem): keyEquivalent cannot 
732         be nil. This was causing Obj-C to throw an exception preventing the 
733         menus from popping up at all. 
734         * platform/mac/ContextMenuMac.mm:
735         (+[WebCoreMenuTarget sharedMenuTarget]): Re-name our static 
736         MenuTarget so that it is more clear that it is a static and shared 
737         WebCoreMenuTarget.
738         (WebCore::ContextMenu::ContextMenu): Initialize the 
739         WebCoreMenuTarget's controller in the ContextMenu constructor 
740         instead of in getNSMenuItem since the controller will only possibly 
741         change when a new ContextMenu has been created.
742         (WebCore::ContextMenu::~ContextMenu): Set the target's controller 
743         to 0.
744         (WebCore::getNSMenuItem): A lot of this work is being done other 
745         places now. Call new class method on WebCoreMenuTarget to get the 
746         shared target.
747         (WebCore::ContextMenu::appendItem): We should not be releasing the 
748         menuItem here! This caused the crashes I saw.
749         (WebCore::ContextMenu::insertItem): Same.
750
751 2006-12-04  Anders Carlsson  <acarlsson@apple.com>
752
753         Fix the build.
754         
755         * loader/mac/SubresourceLoaderMac.mm:
756         (WebCore::SubresourceLoader::~SubresourceLoader):
757         Add back the destructor.
758
759 2006-12-04  Anders Carlsson  <acarlsson@apple.com>
760
761         Reviewed by Darin.
762         
763         Change all ResourceHandleClients to be SubresourceLoaderClients instead. Also,
764         make SubresourceLoader a ResourceHandleClient. This is a first step towards turning ResourceHandle into a 
765         standalone class which doesn't need to know about SubresourceLoader.
766
767         * WebCore.xcodeproj/project.pbxproj:
768         * loader/ResourceLoader.cpp:
769         (WebCore::ResourceLoader::~ResourceLoader):
770         (WebCore::ResourceLoader::ResourceLoader):
771         (WebCore::ResourceLoader::setDefersLoading):
772         * loader/SubresourceLoader.cpp:
773         (WebCore::SubresourceLoader::SubresourceLoader):
774         (WebCore::SubresourceLoader::~SubresourceLoader):
775         (WebCore::SubresourceLoader::create):
776         (WebCore::SubresourceLoader::willSendRequest):
777         (WebCore::SubresourceLoader::didReceiveResponse):
778         (WebCore::SubresourceLoader::didReceiveData):
779         (WebCore::SubresourceLoader::didFinishLoading):
780         (WebCore::SubresourceLoader::didFailWithError):
781         (WebCore::SubresourceLoader::receivedAllData):
782         * loader/SubresourceLoader.h:
783         (WebCore::SubresourceLoader::loaderAsResourceHandleClient):
784         (WebCore::SubresourceLoader::handle):
785         * loader/SubresourceLoaderClient.h: Added.
786         (WebCore::SubresourceLoaderClient::~SubresourceLoaderClient):
787         (WebCore::SubresourceLoaderClient::willSendRequest):
788         (WebCore::SubresourceLoaderClient::didReceiveResponse):
789         (WebCore::SubresourceLoaderClient::didReceiveData):
790         (WebCore::SubresourceLoaderClient::didFinishLoading):
791         (WebCore::SubresourceLoaderClient::didFailWithError):
792         (WebCore::SubresourceLoaderClient::receivedAllData):
793         * loader/icon/IconLoader.cpp:
794         (WebCore::IconLoader::startLoading):
795         (WebCore::IconLoader::stopLoading):
796         (WebCore::IconLoader::didReceiveResponse):
797         (WebCore::IconLoader::didReceiveData):
798         (WebCore::IconLoader::didFailWithError):
799         (WebCore::IconLoader::didFinishLoading):
800         (WebCore::IconLoader::clearLoadingState):
801         * loader/icon/IconLoader.h:
802         * loader/loader.cpp:
803         (WebCore::Loader::servePendingRequests):
804         (WebCore::Loader::receivedAllData):
805         (WebCore::Loader::didFailWithError):
806         (WebCore::Loader::didReceiveResponse):
807         (WebCore::Loader::didReceiveData):
808         (WebCore::Loader::cancelRequests):
809         * loader/loader.h:
810         * loader/mac/SubresourceLoaderMac.mm:
811         (WebCore::SubresourceLoader::SubresourceLoader):
812         (WebCore::SubresourceLoader::create):
813         (WebCore::SubresourceLoader::willSendRequest):
814         (WebCore::SubresourceLoader::didReceiveResponse):
815         (WebCore::SubresourceLoader::didReceiveData):
816         (WebCore::SubresourceLoader::didFinishLoading):
817         (WebCore::SubresourceLoader::didFail):
818         (WebCore::SubresourceLoader::didCancel):
819         * platform/network/ResourceHandle.cpp:
820         (WebCore::ResourceHandle::ResourceHandle):
821         (WebCore::ResourceHandle::create):
822         * platform/network/ResourceHandle.h:
823         * platform/network/ResourceHandleClient.h:
824         * platform/network/ResourceHandleInternal.h:
825         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
826         * platform/network/mac/ResourceHandleMac.mm:
827         (WebCore::ResourceHandle::start):
828         (WebCore::ResourceHandle::finishJobAndHandle):
829         (WebCore::ResourceHandle::loader):
830         * xml/xmlhttprequest.cpp:
831         (WebCore::XMLHttpRequest::send):
832         (WebCore::XMLHttpRequest::didFailWithError):
833         (WebCore::XMLHttpRequest::didFinishLoading):
834         (WebCore::XMLHttpRequest::willSendRequest):
835         (WebCore::XMLHttpRequest::didReceiveResponse):
836         (WebCore::XMLHttpRequest::didReceiveData):
837         * xml/xmlhttprequest.h:
838
839 2006-12-04  Darin Adler  <darin@apple.com>
840
841         Reviewed by Adele.
842
843         - fix another part of http://bugs.webkit.org/show_bug.cgi?id=11628
844           REGRESSION (r17597): Command-return in text fields doesn't open a new tab or window
845
846         This fixes command-return when the focus is on a link.
847         Despite the title of the bug, Mitz wanted me to fix both, and I will not
848         say no to him!
849
850         Test: fast/events/simulated-key-state.html
851
852         * dom/EventTargetNode.cpp:
853         (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Instead of always passing
854         false for all the key state in simulated mouse events, pass the state from the
855         first underlying event in the chain that has key state; in the case in the bug,
856         the keyboard event will be the underlying event itself and we'll propagate the
857         alt key modifier to the mouse event, resulting in the effect we want. It's nice
858         that JavaScript also gets to see the proper modifiers in the mouse event.
859
860         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler):
861         Added code to pass in an underlying event to dispatchSimulatedClick. After looking
862         at all the other callers, this seems to be the only one that needs to pass an
863         event that is currently passing 0. Also removed the code that only simulated a
864         click when the event has a PlatformKeyboardEvent -- no reason for that and it
865         prevented me from writing a layout test for the fix. 
866
867         * dom/UIEventWithKeyState.h: Added findEventWithKeyState function that walks the
868         underlyingEvent chain to find the first event that has key state. This already
869         existed in WebKit, but I wanted to use it in dispatchSimulatedMouseEvent.
870         * dom/UIEventWithKeyState.cpp: Added.
871
872         * CMakeLists.txt: Added UIEventWithKeyState.cpp.
873         * WebCore.vcproj/WebCore/WebCore.vcproj: Added UIEventWithKeyState.cpp.
874         * WebCore.xcodeproj/project.pbxproj: Added UIEventWithKeyState.cpp.
875         * WebCoreSources.bkl: Added UIEventWithKeyState.cpp.
876
877         * WebCore.exp: Added findEventWithKeyState, used by WebKit.
878
879 2006-12-04  Kevin McCullough  <KMcCullough@apple.com>
880
881         Reviewed by Darin.
882
883         - removed the guards for the "multiple forms submission" issue, which may not be
884           an issue anymore and the guards prevent perfectly legitimate websites from
885           working correctly.
886
887         * bridge/mac/FrameMac.mm:
888         (WebCore::FrameMac::setView):
889         * bridge/mac/WebCoreAXObject.mm:
890         (-[WebCoreAXObject accessibilityPerformAction:]):
891         * bridge/win/FrameWin.cpp:
892         (WebCore::FrameWin::keyPress):
893         * config.h:
894         * loader/FrameLoader.cpp:
895         (WebCore::FrameLoader::submitForm):
896         * loader/FrameLoader.h:
897         * loader/mac/FrameLoaderMac.mm:
898         (WebCore::FrameLoader::receivedMainResourceError):
899         * loader/qt/FrameLoaderQt.cpp:
900         (WebCore::FrameLoader::submitForm):
901         * page/Frame.cpp:
902         (WebCore::Frame::setView):
903         * page/mac/EventHandlerMac.mm:
904         (WebCore::EventHandler::keyEvent):
905         (WebCore::EventHandler::mouseDown):
906         * platform/qt/FrameQt.cpp:
907         (WebCore::FrameQt::keyEvent):
908
909 2006-12-02  Geoffrey Garen  <ggaren@apple.com>
910
911         Reviewed by Darin Adler.
912         
913         Added support for Dashboard backward compatibility mode.
914         
915         * html/CanvasRenderingContext2D.cpp:
916         (WebCore::CanvasRenderingContext2D::stroke): Added support for old behavior
917         of automatically clearing the stroke path buffer after a call to stroke().
918         * html/HTMLCanvasElement.cpp: Added supoprt for old behavior of the canvas
919         tag being self-closing.
920         (WebCore::HTMLCanvasElement::endTagRequirement):
921         (WebCore::HTMLCanvasElement::tagPriority):
922         * html/HTMLCanvasElement.h:
923         * html/HTMLParser.cpp: Ditto.
924         (WebCore::HTMLParser::canvasCreateErrorCheck):
925         * xml/xmlhttprequest.cpp: Added support for old behavior of silently ignoring
926         a call to setRequestHeader() if it preceded a call to open() or followed a call
927         to send().
928         (WebCore::XMLHttpRequest::setRequestHeader):
929
930 2006-12-04  Darin Adler  <darin@apple.com>
931
932         Reviewed by Alice.
933
934         * bridge/EditorClient.h: Removed "_web_" prefix from
935         C++ userVisibleString member function. Alice will probably change
936         this so it's not on the editor client any more later.
937
938         * editing/Editor.h: Removed "_web_" prefix from
939         C++ userVisibleString member function.
940         * editing/Editor.cpp: Tweaked formatting a bit. Removed Mac-specific
941         code from this file.
942
943         * editing/mac/EditorMac.mm:
944         (WebCore::Editor::newGeneralClipboard): Removed unnneded local variable.
945         (WebCore::Editor::userVisibleString): Moved this function here.
946
947         * platform/Pasteboard.h: Added some FIXMEs. Removed unneeded includes.
948         Made Pasteboard noncopyable. Removed use of "protected" where we should
949         be using "private". Removed s_generalPasteboard.
950         * platform/mac/PasteboardMac.mm: Added some FIXMEs. Removed the
951         s_generalPasteboard global. Removed the unused destructor. Updated call
952         to userVisibleString for name change. Tweaked formatting.
953
954 2006-12-04  Alice Liu  <alice.liu@apple.com>
955
956         Reviewed by Oliver.
957
958         Moved some constants from EventHandlerMac.mm to EventHandler.cpp
959         Added some platform-specific data members and functions.
960
961         * page/EventHandler.cpp:
962         * page/EventHandler.h:
963         * page/mac/EventHandlerMac.mm:
964         * platform/PlatformMouseEvent.h:
965         (WebCore::):
966         (WebCore::PlatformMouseEvent::timestamp):
967         (WebCore::PlatformMouseEvent::activatedWebView):
968         (WebCore::PlatformMouseEvent::type):
969
970 2006-12-04  Anders Carlsson  <acarlsson@apple.com>
971
972         Reviewed by Darin, Geoff.
973
974         Get rid of ResourceHandle::kill(), all it did was to balance out a ref() in ResourceHandle::start().
975         We use RefPtrs to ResourceHandle instead.
976
977         * loader/icon/IconLoader.cpp:
978         (WebCore::IconLoader::~IconLoader):
979         (WebCore::IconLoader::stopLoading):
980         (WebCore::IconLoader::didReceiveResponse):
981         * loader/loader.cpp:
982         (WebCore::Loader::servePendingRequests):
983         (WebCore::Loader::cancelRequests):
984         (WebCore::Loader::jobForRequest):
985         * loader/loader.h:
986         * platform/network/ResourceHandle.cpp:
987         * platform/network/ResourceHandle.h:
988         * platform/network/mac/ResourceHandleMac.mm:
989         (WebCore::ResourceHandle::start):
990         (WebCore::ResourceHandle::finishJobAndHandle):
991         (WebCore::ResourceHandle::reportError):
992         * xml/xmlhttprequest.cpp:
993         (WebCore::XMLHttpRequest::abort):
994         (WebCore::XMLHttpRequest::didFinishLoading):
995
996 2006-12-04  Oliver Hunt  <oliver@apple.com>
997
998         Build fix for non-SVG builds
999
1000         * bindings/js/JSSVGPoint.cpp:
1001         (WebCore::JSSVGPointProtoFunc::callAsFunction):
1002
1003 2006-12-04  Darin Adler  <darin@apple.com>
1004
1005         Reviewed by Beth.
1006
1007         - fix http://bugs.webkit.org/show_bug.cgi?id=11632
1008           AKA <rdar://problem/4858866> REGRESSION (r17770): Overflow areas' scrollbars don't work
1009
1010         No test case added at the moment, but Beth said she'd investigate
1011         adding one after the fact.
1012
1013         * page/mac/EventHandlerMac.mm:
1014         (WebCore::EventHandler::passMousePressEventToScrollbar):
1015         Fix obvious-in-retrospect copy and paste error -- call
1016         passMouseDownEventToWidget instead of passWheelEventToWidget.
1017
1018 2006-12-04  Don Gibson  <dgibson77@gmail.com>
1019
1020         Reviewed and landed by Alexey.
1021
1022         http://bugs.webkit.org/show_bug.cgi?id=11738:
1023         Make link clicking work again on Windows.
1024
1025         This re-implements a few functions that used to be part of FrameWin in
1026         their new loader-based locations, and copies a few things from the Mac
1027         and Qt event handling code that aren't strictly necessary but are
1028         pretty simple.
1029
1030         * WebCore.vcproj/WebCore/WebCore.vcproj:
1031         * bridge/win/ChromeClientWin.h:
1032         * bridge/win/ContextMenuClientWin.h:
1033         * bridge/win/EditorClientWin.h:
1034         * bridge/win/FrameWin.cpp:
1035         (WebCore::FrameWin::client):
1036         * bridge/win/FrameWin.h:
1037         * loader/win/DocumentLoaderWin.cpp: Added.
1038         (WebCore::DocumentLoader::setTitle):
1039         * loader/win/FrameLoaderClientWin.cpp: Added.
1040         (WebCore::FrameLoaderClientWin::userAgent):
1041         * loader/win/FrameLoaderClientWin.h:
1042         * loader/win/FrameLoaderWin.cpp: Added.
1043         (WebCore::FrameLoader::urlSelected):
1044         (WebCore::FrameLoader::submitForm):
1045         (WebCore::FrameLoader::setTitle):
1046         * page/win/EventHandlerWin.cpp: Added.
1047         (WebCore::EventHandler::passMousePressEventToSubframe):
1048         (WebCore::EventHandler::passMouseMoveEventToSubframe):
1049         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
1050         (WebCore::EventHandler::passWheelEventToSubframe):
1051         (WebCore::EventHandler::passMousePressEventToScrollbar):
1052         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
1053         * platform/win/TemporaryLinkStubs.cpp:
1054         (WebCore::EventHandler::tabsToLinks):
1055         (WebCore::EventHandler::tabsToAllControls):
1056         (WebCore::EventHandler::lastEventIsMouseUp):
1057         (WebCore::EventHandler::passSubframeEventToSubframe):
1058         (WebCore::EventHandler::passMouseDownEventToWidget):
1059         (WebCore::EventHandler::passWheelEventToWidget):
1060         (WebCore::FrameLoader::getHistoryLength):
1061         (WebCore::FrameLoader::historyURL):
1062         (WebCore::FrameLoader::createFrame):
1063         (WebCore::FrameLoaderClientWin::setTitle):
1064
1065 2006-12-04  Don Gibson  <dgibson77@gmail.com>
1066
1067         Reviewed by Mitz.
1068
1069         http://bugs.webkit.org/show_bug.cgi?id=11748:
1070         Windows build bustage.
1071
1072         * WebCore.vcproj/WebCore/WebCore.vcproj:
1073         * platform/ContextMenuItem.h:
1074         * platform/win/TemporaryLinkStubs.cpp:
1075         (WebCore::ContextMenuItem::ContextMenuItem):
1076         (WebCore::ContextMenuItem::platformDescription):
1077         (WebCore::ContextMenuItem::action):
1078         (WebCore::ContextMenuItem::setAction):
1079         (WebCore::ContextMenuItem::title):
1080         (WebCore::ContextMenuItem::setTitle):
1081         (WebCore::ContextMenuItem::platformSubMenu):
1082         (WebCore::ContextMenuItem::setSubMenu):
1083
1084 2006-12-04  John Sullivan  <sullivan@apple.com>
1085
1086         Reviewed by Anders
1087
1088         Moved EditorMac.mm to its appropriate location
1089
1090         * platform/mac/EditorMac.mm: Removed.
1091         * editing/mac/EditorMac.mm: Added
1092
1093         * WebCore.xcodeproj/project.pbxproj:
1094         updated for this change
1095
1096 2006-12-04  Rob Buis  <buis@kde.org>
1097
1098         Reviewed by dhyatt.
1099
1100         Patch by pmax.
1101
1102         http://bugs.webkit.org/show_bug.cgi?id=3280
1103         With LEGEND element, align=right value is not supported
1104         http://bugs.webkit.org/show_bug.cgi?id=11544
1105         <legend> rendering doesn't take align into account
1106
1107         Allow aligning for legends in both RTL and LTR mode.
1108
1109         * rendering/RenderFieldset.cpp:
1110         (WebCore::RenderFieldset::layoutLegend):
1111
1112 2006-12-03  Mark Rowe  <bdash@webkit.org>
1113
1114         Reviewed by Alexey.
1115
1116         http://bugs.webkit.org/show_bug.cgi?id=11730
1117         Bug 11730: Meta HTTP Refresh that contains a fraction / decimal get ignored.
1118
1119         * dom/Document.cpp:
1120         (WebCore::Document::processHttpEquiv): Parse the refresh interval as a double rather than an integer.
1121
1122 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
1123
1124         Reviewed by Oliver.
1125
1126         Fix following bugs:
1127         http://bugs.webkit.org/show_bug.cgi?id=11734
1128         http://bugs.webkit.org/show_bug.cgi?id=11685
1129
1130         SVGPoint/SVGRect/SVGNumber were missing put() support.
1131         SVGPoint.matrixTransform() was missing.
1132
1133         In SVG DOM there are no cases where a readwrite property
1134         exists of type SVGRect/SVGNumber/SVGPoint. Only function
1135         calls returns instances of these objects. It would make
1136         no sense to be able to write "someObj.getBbox().x = 100", and
1137         modify the actual stored internal value of "someObj".
1138
1139         The only cases where these modification makes sense, is
1140         when these SVGPoint/SVGRect/SVGNumber objects are created
1141         via document.rootElement.createSVGPoint/Rect/Number (SVGSVGElement interface).
1142
1143         Result: The current implementation, where we just modify the stored FloatPoint/FloatRect/double
1144         values in the JSSVGPoint/Rect/Number wrappers directly, is sufficient.
1145
1146         Patch created by Rob & me - co production.
1147         Long live the great carto.next examples! :-)
1148
1149         * CMakeLists.txt:
1150         * DerivedSources.make:
1151         * bindings/js/JSSVGNumber.cpp:
1152         (WebCore::):
1153         (WebCore::JSSVGNumber::getOwnPropertySlot):
1154         (WebCore::JSSVGNumber::getValueProperty):
1155         (WebCore::JSSVGNumber::put):
1156         (WebCore::JSSVGNumber::putValueProperty):
1157         * bindings/js/JSSVGNumber.h:
1158         (WebCore::JSSVGNumber::):
1159         (WebCore::JSSVGNumber::impl):
1160         * bindings/js/JSSVGPoint.cpp:
1161         (WebCore::JSSVGPoint::JSSVGPoint):
1162         (WebCore::JSSVGPoint::put):
1163         (WebCore::JSSVGPoint::putValueProperty):
1164         (WebCore::JSSVGPointProtoFunc::callAsFunction):
1165         * bindings/js/JSSVGPoint.h:
1166         (WebCore::JSSVGPoint::):
1167         * bindings/js/JSSVGRect.cpp:
1168         (WebCore::JSSVGRect::put):
1169         (WebCore::JSSVGRect::putValueProperty):
1170         * bindings/js/JSSVGRect.h:
1171         * bindings/objc/DOMSVGPoint.mm:
1172         (-[DOMSVGPoint matrixTransform:]):
1173         * platform/graphics/FloatPoint.cpp:
1174         (WebCore::FloatPoint::matrixTransform):
1175         * platform/graphics/FloatPoint.h:
1176
1177 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
1178
1179         Reviewed by Dave.
1180
1181         Another missing piece in the platform/graphics move.
1182
1183         * WebCore.xcodeproj/project.pbxproj:
1184         * platform/ImageAnimationObserver.h: Moved to platform/graphics.
1185
1186 2006-12-03  Rob Buis  <buis@kde.org>
1187
1188         Reviewed by Oliver.
1189
1190         http://bugs.webkit.org/show_bug.cgi?id=11667
1191         SVG: method .getTransformToElement(elt) in SVGLocatable not implemented
1192
1193         Implement getTransformToElement functionality. Introduce virtual
1194         baseclass SVGLocatable to allow one implementation of the functionality.
1195         Finally cleanup some code.
1196
1197         * ksvg2/svg/SVGLocatable.cpp:
1198         (WebCore::SVGLocatable::getTransformToElement):
1199         * ksvg2/svg/SVGLocatable.h:
1200         * ksvg2/svg/SVGStyledLocatableElement.cpp:
1201         (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
1202         (WebCore::SVGStyledLocatableElement::nearestViewportElement):
1203         (WebCore::SVGStyledLocatableElement::farthestViewportElement):
1204         (WebCore::SVGStyledLocatableElement::getCTM):
1205         (WebCore::SVGStyledLocatableElement::getScreenCTM):
1206         * ksvg2/svg/SVGStyledLocatableElement.h:
1207         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1208         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
1209         (WebCore::SVGStyledTransformableElement::localMatrix):
1210         (WebCore::SVGStyledTransformableElement::getCTM):
1211         (WebCore::SVGStyledTransformableElement::getScreenCTM):
1212         (WebCore::SVGStyledTransformableElement::updateLocalTransform):
1213         (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
1214         (WebCore::SVGStyledTransformableElement::nearestViewportElement):
1215         (WebCore::SVGStyledTransformableElement::farthestViewportElement):
1216         * ksvg2/svg/SVGStyledTransformableElement.h:
1217         * ksvg2/svg/SVGTextElement.h:
1218         * ksvg2/svg/SVGTransformable.h:
1219
1220 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
1221
1222         Reviewed by Rob.
1223
1224         Move some files around, which have been forgotton in the platform/graphics move.
1225
1226         * CMakeLists.txt:
1227         * WebCore.xcodeproj/project.pbxproj:
1228         * platform/mac/GraphicsContextMac.mm: Moved to platform/graphics/mac.
1229         * platform/qt/GraphicsContextQt.cpp: Moved to platform/grahpics/qt.
1230
1231 2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>
1232
1233         Reviewed by Mitz.
1234
1235         Fix non-svg build.
1236
1237         * platform/graphics/GraphicsContext.h:
1238         * platform/mac/GraphicsContextMac.mm:
1239
1240 2006-12-02  John Sullivan  <sullivan@apple.com>
1241
1242         Reviewed by Tim Omernick
1243
1244         Removed a couple of big chunks of duplicated code from the spelling and grammar stuff by merging
1245         the find-next-instance functions with the mark-all-instances functions.
1246
1247         * bridge/mac/FrameMac.mm:
1248         (WebCore::findFirstMisspellingInRange):
1249         added markAll parameter, and reworked loop so that if markAll parameter is true, this function loops
1250         through the entire range and marks each misspelling
1251         (WebCore::findFirstGrammarDetailInRange):
1252         extracted from findFirstBadGrammarInRange; loops through the potentially-multiple details in a given
1253         ungrammatical phrase (e.g., multiple grammar errors in one sentence). Has a markAll parameter akin
1254         to the one in findFirstMisspellingInRange.
1255         (WebCore::findFirstBadGrammarInRange):
1256         added markAll parameter like the one in findFirstMisspellingInRange, and extracted findFirstGrammarDetailInRange
1257         (WebCore::FrameMac::advanceToNextMisspelling):
1258         pass "false" for new markAll parameters
1259         (WebCore::markAllMisspellingsInRange):
1260         now just calls findFirstMisspellingInRange with markAll = true, thus removing a big hunk of duplicated code
1261         (WebCore::markAllBadGrammarInRange):
1262         now just calls findFirstBadGrammarInRange with markAll = true, thus removing a big hunk of duplicated code
1263
1264 2006-12-02  Mitz Pettel  <mitz@webkit.org>
1265
1266         Reviewed by Hyatt.
1267
1268         - fix http://bugs.webkit.org/show_bug.cgi?id=11672
1269           REGRESSION (r17068): Repro crash due to painting without layout
1270
1271         Test: fast/dynamic/containing-block-change.html
1272
1273         * rendering/RenderObject.cpp:
1274         (WebCore::RenderObject::setStyle): Changed the logic used
1275         to find absolutely positioned descendant's current containing block to
1276         match the changes made to containingBlock() in the fix for bug 9347.
1277
1278 2006-12-02  MorganL  <morganl.webkit@yahoo.com>
1279
1280         Reviewed by Darin.
1281
1282         http://bugs.webkit.org/show_bug.cgi?id=11709
1283         DeprecatedString::format is broken on Windows
1284
1285         Use _vscprintf on Windows to compute the length of the buffer that
1286         vsnprintf would need.
1287
1288         * platform/DeprecatedString.cpp:
1289         (WebCore::DeprecatedString::format):
1290         * platform/String.cpp:
1291         (WebCore::String::format):
1292
1293 2006-12-01  Beth Dakin  <bdakin@apple.com>
1294
1295         Reviewed by Adam.
1296
1297         Support for sub-menus in WebCore context menus. This also re-
1298         architects the ContextMenuItem class so that it is more like
1299         ContextMenu in that the class is now really just a wrapper for the
1300         platformDescription
1301
1302         * WebCore.exp:
1303         * WebCore.xcodeproj/project.pbxproj:
1304         * page/ContextMenuController.cpp:
1305         (WebCore::ContextMenuController::contextMenuItemSelected): Add
1306         place-holders for new tags for the sub-menu items. I will flesh
1307         these out in a separate check-in.
1308         * platform/ContextMenu.cpp:
1309         (WebCore::createFontSubMenu):
1310         (WebCore::createSpellingAndGrammarSubMenu):
1311         (WebCore::createSpellingSubMenu):
1312         (WebCore::createSpeechSubMenu):
1313         (WebCore::createWritingDirectionSubMenu):
1314         (WebCore::ContextMenu::populate): Call the above functions to add
1315         the appropriate sub-menus to editing context menus.
1316         * platform/ContextMenu.h:
1317         * platform/ContextMenuItem.h:
1318         (WebCore::): New tags in the ContextMenuAction enumeration.
1319         (WebCore::ContextMenuItem::parentMenu):
1320         (WebCore::ContextMenuItem::setType):
1321         * platform/PlatformMenuDescription.h: Added. This defines
1322         PlatformMenuDesciption. It needs to be its own header because we
1323        have to include it from ContextMenu.h and ContextMenuItem.h
1324         * platform/mac/ContextMenuItemMac.mm: Lots of adjustments here to
1325         make this class basically just be a wrapper for NSMenuItem.
1326         (WebCore::ContextMenuItem::ContextMenuItem):
1327         (WebCore::ContextMenuItem::~ContextMenuItem):
1328         (WebCore::ContextMenuItem::platformDescription):
1329         (WebCore::ContextMenuItem::action):
1330         (WebCore::ContextMenuItem::title):
1331         (WebCore::ContextMenuItem::platformSubMenu):
1332         (WebCore::ContextMenuItem::setAction):
1333         (WebCore::ContextMenuItem::setTitle):
1334         (WebCore::ContextMenuItem::setSubMenu):
1335         * platform/mac/ContextMenuMac.mm:
1336         (WebCore::ContextMenu::ContextMenu):
1337         (WebCore::getNSMenuItem): Now we only have to get the
1338         platformDescription of the ContextMenuItem and then set its target
1339         and action.
1340         (WebCore::ContextMenu::itemCount):
1341
1342 2006-12-01  Kevin McCullough  <KMcCullough@apple.com>
1343
1344         Reviewed by .
1345
1346         - accidentally checked in with previous checkin
1347
1348         * platform/qt/FrameQt.cpp:
1349         (WebCore::FrameQt::keyEvent):
1350
1351 2006-12-01  Kevin McCullough  <KMcCullough@apple.com>
1352
1353         Reviewed by Adam.
1354
1355         - better solution to the ambiguous reference
1356
1357         * platform/Widget.h:
1358         (WebCore::Widget::handleMouseMoveEvent):
1359         (WebCore::Widget::handleMouseReleaseEvent):
1360         * platform/qt/FrameQt.cpp:
1361         (WebCore::FrameQt::keyEvent):
1362         * platform/win/PlatformScrollBar.h:
1363         * platform/win/TemporaryLinkStubs.cpp:
1364         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1365         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
1366
1367 2006-12-01  Justin Garcia  <justin.garcia@apple.com>
1368
1369         Reviewed by john
1370         
1371         <rdar://problem/4826940>
1372         Selection change performed even when delete delegate replies NO (11415)
1373
1374         No layout test for the bug fix, because there's no way to register a custom
1375         editing delegate from a layout test.  Layout tests are effected by the change
1376         to avoid sending unnecessary shouldChangeSelections, however. 
1377
1378         * editing/Editor.cpp:
1379         (WebCore::Editor::appliedEditing): Don't bother sending shouldChangeSelection
1380         if the editing operation didn't change the selection.  Still call
1381         setSelection though, because it does work in this case that's necessary,
1382         like clearing the typing style.
1383         (WebCore::Editor::unappliedEditing): Ditto.
1384         (WebCore::Editor::reappliedEditing): Ditto.
1385         * editing/TypingCommand.cpp:
1386         (WebCore::TypingCommand::deleteKeyPressed): Don't set the starting
1387         selection if the editing delegate returns NO from shouldDeleteRange.
1388         Notice we now call setStartingSelection in the case where
1389         the current selection was a range selection.  This is fine because
1390         it's a no-op (the starting selection is already the current selection).
1391         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
1392
1393 2006-12-01  John Sullivan  <sullivan@apple.com>
1394
1395         Reviewed by Darin
1396         
1397         Move subrange helper function from spellchecking code to TextIterator
1398
1399         * editing/TextIterator.h:
1400         added TextIterator::subrange
1401         * editing/TextIterator.cpp:
1402         (WebCore::CharacterIterator::advance):
1403         early return if count is <= 0; assert that it's not < 0
1404         (WebCore::TextIterator::subrange):
1405         new function, moved from FrameMac.mmm
1406
1407         * bridge/mac/FrameMac.mm:
1408         moved subrange() function to TextIterator
1409         (WebCore::FrameMac::advanceToNextMisspelling):
1410         use TextIterator::subrange
1411         (WebCore::markAllMisspellingsInRange):
1412         ditto
1413         (WebCore::markAllBadGrammarInRange):
1414         ditto
1415
1416 2006-12-01  Darin Adler  <darin@apple.com>
1417
1418         Reviewed by Mitz.
1419
1420         - fix http://bugs.webkit.org/show_bug.cgi?id=11628
1421           REGRESSION (r17597): Command-return in native text fields doesn't open a new tab or window
1422
1423         I couldn't think of an easy way to make a regression test for this, but maybe
1424         I'll get an idea later about how to do it.
1425
1426         The main thing I did was add a concept of a DOM event having an "underlying event".
1427         That allows the DOM activate event to contain inside it the original keyboard event
1428         that triggered the form submission, and thus allows WebKit to see the modifier keys
1429         from that original event. The code that uses the underlying event is in WebKit, but
1430         the code to set it up is here in WebCore.
1431
1432         - also do some clean-up to related event handling code
1433
1434         * bindings/js/kjs_events.cpp: (KJS::DOMEvent::getValueProperty): Updated for the
1435         name change of cancelBubble.
1436
1437         * dom/Event.h: Removed a useless comment. Fixed some whitespace and formatting.
1438         Renamed getCancelBubble to cancelBubble to match the DOM -- I suspect the old
1439         name predated the use of the m_ prefix on data members. Added the underlying event,
1440         and a getter and setter.
1441         * dom/Event.cpp:
1442         (WebCore::Event::setTarget): Updated to take a PassRefPtr.
1443         (WebCore::Event::setUnderlyingEvent): Added.
1444
1445         * dom/EventTargetNode.h: Added an optional underlyingEvent parameter to
1446         dispatchUIEvent, one of the overloads of dispatchMouseEvent, and
1447         dispatchSimulatedMouseEvent. Added a new dispatchSimulatedClick function here that
1448         mostly replaces the click function in HTMLElement.
1449         * dom/EventTargetNode.cpp:
1450         (WebCore::EventTargetNode::dispatchGenericEvent): Updated for the name change
1451         of cancelBubble.
1452         (WebCore::EventTargetNode::dispatchUIEvent): Added an underlying event parameter,
1453         which gets attached to the UIEvent object after it's created.
1454         (WebCore::EventTargetNode::dispatchMouseEvent): Tweaked formatting and parameter
1455         name for the version that creates a mouse event for a real platform mouse event.
1456         Added an underlying event parameter to the main version, and attached it to all
1457         three of the events that can be dispatched.
1458         (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Added an underlying
1459         event parameter, passed it along to dispatchMouseEvent.
1460         (WebCore::EventTargetNode::dispatchSimulatedClick): Moved this here from HTMLElement
1461         and renamed it from click. Added an underlyingEvent parameter, and passed that along
1462         in all three of the calls to dispatchSimulatedMouseEvent.
1463
1464         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::shouldClose): Updated call to
1465         setTarget that no longer needs a get().
1466         * ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
1467
1468         * html/HTMLAnchorElement.cpp:
1469         (WebCore::HTMLAnchorElement::defaultEventHandler): Converted a call to click
1470         to a call to dispatchSimulatedClick.
1471         (WebCore::HTMLAnchorElement::accessKeyAction): Ditto.
1472         * html/HTMLButtonElement.cpp:
1473         (WebCore::HTMLButtonElement::accessKeyAction): Ditto.
1474         * html/HTMLElement.h: Removed the parameters to click and made it non-virtual.
1475         We could move it down to the input and button elements, now that it's just
1476         a single function call, but it's also OK to just leave it here.
1477         * html/HTMLElement.cpp:
1478         (WebCore::HTMLElement::click): Removed the parameters and changed this to just
1479         call dispatchSimulatedClick. The real work is now in dispatchSimulatedClick.
1480         (WebCore::HTMLElement::accessKeyAction): Converted a call to click to a call to
1481         dispatchSimulatedClick.
1482         * html/HTMLFormElement.cpp:
1483         (WebCore::HTMLFormElement::submitClick): Ditto. But unlike accessKeyAction callers,
1484         pass the event along as the underlying event.
1485         * html/HTMLInputElement.h:
1486         * html/HTMLInputElement.cpp: Removed override of virtual click function. The
1487         special cases for the file control and hidden input elements aren't needed.
1488         (WebCore::HTMLInputElement::accessKeyAction): Converted a call to click to a call to
1489         dispatchSimulatedClick.
1490         (WebCore::HTMLInputElement::defaultEventHandler): Converted calls to click to calls to
1491         dispatchSimulatedClick, passing along the event as the underlying event.
1492         * html/HTMLLabelElement.cpp:
1493         (WebCore::HTMLLabelElement::defaultEventHandler): Converted a call to click to a call
1494         to dispatchSimulatedClick, passing the event along as the underlying event. Also
1495         changed the local variable for the element to a RefPtr since the code assumes it's
1496         still around after calling arbitrary JavaScript code.
1497         * html/HTMLSelectElement.cpp:
1498         (WebCore::HTMLSelectElement::accessKeyAction): Converted a call to click to a call to
1499         dispatchSimulatedClick.
1500
1501         * rendering/RenderFileUploadControl.h:
1502         * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::click):
1503         Removed unneeded ignored parameter to the click function, and also made it non-virtual.
1504
1505         * loader/NavigationAction.h: Removed unneeded includes.
1506         * loader/NavigationAction.cpp: Moved all the code here from NavigationActionMac.mm,
1507         since none of it is Mac-specific any more.
1508         * loader/mac/NavigationActionMac.mm: Removed.
1509         * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
1510
1511         * ksvg2/svg/SVGAElement.cpp: Removed an unnecessary include.
1512
1513         * loader/FrameLoader.cpp: Added a newly-needed incluude.
1514         * loader/mac/DocumentLoaderMac.mm: Ditto.
1515         * loader/mac/FrameLoaderMac.mm: Ditto.
1516         * rendering/RenderWidget.cpp: Ditto.
1517
1518 2006-12-01  John Sullivan  <sullivan@apple.com>
1519
1520         Reviewed by Darin
1521
1522         - fixed <rdar://problem/4811175> Many false reports of bad grammar appear, caused by 
1523           insufficient context passed to grammar checker
1524
1525         * bridge/mac/FrameMac.mm:
1526         (WebCore::markAllMisspellingsInRange):
1527         new function, extracted from markMisspellings -- ignores grammar
1528         (WebCore::markAllBadGrammarInRange):
1529         new function, extracted from markMisspellings -- ignores spelling, and operates on
1530         appropriately-sized chunks of text
1531         (WebCore::FrameMac::markMisspellings):
1532         now calls markAllMisspellingsInRange and (optionally) markAllBadGrammarInRange rather
1533         than trying to interweave the spelling and grammar logic
1534
1535 2006-12-01  John Sullivan  <sullivan@apple.com>
1536
1537         Reviewed by Darin
1538
1539         With these changes, grammar checking works correctly for the one-by-one case.
1540         It still doesn't work correctly for the check-as-you-type case; I need to make these
1541         same kinds of changes in markMisspellings, and refactor to share more code between
1542         the two cases, but I wanted to get this working code in before modifying it further.
1543
1544         The major change here is that advanceToNextMisspelling used to look at small chunks of
1545         text at a time, checking each one for both misspellings and questionable grammar. But
1546         grammar checking needs at least paragraph-sized chunks of text to have enough context
1547         to work correctly, so the old mechanism was causing many spurious complaints of bad
1548         grammar (e.g., almost every word seemed to be at the start of a sentence so the checker
1549         would complain about missing capitalization). So now the spell checker runs in the
1550         specified range first. Then the grammar checker runs on the same range (stopping at the
1551         next misspelling, if any), but expanded to paragraph-aligned boundaries.
1552
1553         * bridge/mac/FrameMac.mm:
1554         (WebCore::findFirstMisspellingInRange):
1555         new function, extracted from advanceToNextMisspelling, and ignores grammar
1556         (WebCore::paragraphAlignedRangeForRange):
1557         new function, used by findNextBadGrammarInRange
1558         (WebCore::findFirstBadGrammarInRange):
1559         new function, extracted from advanceToNextMisspelling, and rewritten to use paragraph-aligned
1560         chunks, and ignores spelling
1561         (WebCore::subrange):
1562         new helper function, used by advanceToNextMisspelling
1563         (WebCore::FrameMac::advanceToNextMisspelling):
1564         now calls out to both findFirstMisspellingInRange and findFirstBadGrammarInRange separately
1565         instead of trying to interweave the spelling and grammar logic
1566
1567 2006-12-01  Don Gibson  <dgibson77@gmail.com>
1568
1569         Reviewed by Mitz.
1570
1571         http://bugs.webkit.org/show_bug.cgi?id=11732:
1572         Windows build bustage.
1573
1574         * WebCore.vcproj/WebCore/WebCore.vcproj:
1575         * bridge/win/ChromeClientWin.h:
1576         * bridge/win/ContextMenuClientWin.h:
1577         * bridge/win/EditorClientWin.h:
1578         * bridge/win/FrameWin.cpp:
1579         (WebCore::FrameWin::FrameWin):
1580         (WebCore::FrameWin::keyPress):
1581         * bridge/win/FrameWin.h:
1582         * loader/win/FrameLoaderClientWin.h:
1583         * platform/ContextMenu.h:
1584         * platform/Widget.h:
1585         * platform/win/PlatformScrollBar.h:
1586         * platform/win/TemporaryLinkStubs.cpp:
1587         (WebCore::ChromeClientWin::chromeDestroyed):
1588         (WebCore::ChromeClientWin::addMessageToConsole):
1589         (WebCore::ContextMenu::ContextMenu):
1590         (WebCore::ContextMenu::~ContextMenu):
1591         (WebCore::ContextMenu::appendItem):
1592         (WebCore::ContextMenuClientWin::contextMenuDestroyed):
1593         (WebCore::ContextMenuClientWin::contextMenuItemSelected):
1594         (WebCore::ContextMenuItem::~ContextMenuItem):
1595         (WebCore::Editor::newGeneralClipboard):
1596         (WebCore::EditorClientWin::pageDestroyed):
1597         (WebCore::EditorClientWin::smartInsertDeleteEnabled):
1598         (WebCore::EditorClientWin::shouldInsertNode):
1599         (WebCore::FrameLoader::createPlugin):
1600         (WebCore::FrameLoaderClientWin::frameLoaderDestroyed):
1601         (WebCore::FrameLoaderClientWin::hasWebView):
1602         (WebCore::FrameLoaderClientWin::canHandleRequest):
1603         (WebCore::FrameWin::unfocusWindow):
1604         (WebCore::FrameWin::bindingRootObject):
1605         (WebCore::FrameWin::issueCopyCommand):
1606         (WebCore::FrameWin::markMisspellings):
1607         (WebCore::FrameWin::issueTransposeCommand):
1608         (WebCore::FrameWin::markedTextRange):
1609         (WebCore::FrameWin::respondToChangedSelection):
1610         (WebCore::FrameWin::markMisspellingsInAdjacentWords):
1611         (WebCore::FrameWin::isSelectionMisspelled):
1612         (WebCore::FrameWin::guessesForMisspelledSelection):
1613         (WebCore::Pasteboard::generalPasteboard):
1614         (WebCore::Pasteboard::writeSelection):
1615         (WebCore::Pasteboard::clearTypes):
1616         (WebCore::Pasteboard::canSmartReplace):
1617         (WebCore::Pasteboard::documentFragment):
1618         (WebCore::Pasteboard::plainText):
1619         (WebCore::Pasteboard::Pasteboard):
1620         (WebCore::Pasteboard::~Pasteboard):
1621         (WebCore::Pasteboard::registerSelectionPasteboardTypes):
1622         (WebCore::Pasteboard::replaceNBSP):
1623         (WebCore::Pasteboard::createHandle):
1624         (WebCore::Pasteboard::createCF_HTMLFromRange):
1625
1626 2006-11-30  Geoffrey Garen  <ggaren@apple.com>
1627
1628         Rubber Stamped by Anders Carlsson.
1629
1630         Global rename of Document::focusNode to Document::focusedNode. 'focusNode'
1631         suggested a command, and conflicted with a different meaning for 'focusNode'
1632         in the Mozilla selection API.
1633
1634 2006-11-30  John Sullivan  <sullivan@apple.com>
1635
1636         Reviewed by Justin
1637
1638         With Darin, fixed a problem in the Range constructors found while implementing grammar checking.
1639         That revealed another problem in the layout tests involving bad parameters passed to the Range
1640         constructors.
1641         
1642         With these fixes in place, one layout test (editing/execCommand/create-list-from-range-selection.html)
1643         no longer works as intended. This is apparently due to yet another bug being flushed out somewhere.
1644         I'm going to update the results for that test and file a separate radar about it, which Justin will
1645         investigate.
1646
1647         * dom/Position.h:
1648         removed equivalentRangeCompliantPosition(), which was declared but not implemented or called.
1649         
1650         * dom/Range.cpp:
1651         (WebCore::Range::Range):
1652         Call setStart and setEnd in the two Range constructors that take parameters, rather than just 
1653         directly setting the instance variables. This makes Range perform the boundary checks and
1654         compensations that the DOM spec requires.
1655         
1656         * editing/CompositeEditCommand.cpp:
1657         (WebCore::CompositeEditCommand::moveParagraphs):
1658         Use rangeCompliantEquivalent() on "editing-style" Positions before creating Ranges from them.
1659         
1660         * editing/TextIterator.cpp:
1661         (WebCore::TextIterator::TextIterator):
1662         Assert that the boundary points of the range are valid.
1663
1664 2006-11-30  Lou Amadio  <lamadio@apple.com>
1665
1666         Reviewed by Dave Hyatt
1667         Cleaned up generated files.
1668
1669         * html/HTMLElement.cpp:
1670         (WebCore::HTMLElement::isRecognizedTagName):
1671                 Uses the new method for retrieving the list of supported tags
1672         * ksvg2/scripts/make_names.pl:
1673                 Generates tag lists without using macros.
1674
1675 2006-11-30  Adam Roben  <aroben@apple.com>
1676
1677         Reviewed by Beth.
1678
1679         Store ContextMenu's NSMutableArray inside a RetainPtr so that we
1680         will retain/release it correctly.
1681
1682         * WebCore.exp:
1683         * platform/ContextMenu.cpp:
1684         (WebCore::ContextMenu::populate): Added a FIXME.
1685         * platform/ContextMenu.h:
1686         * platform/mac/ContextMenuMac.mm: 
1687         (WebCore::ContextMenu::ContextMenu):
1688         (WebCore::ContextMenu::~ContextMenu):
1689         (WebCore::getNSMenuItem):
1690         (WebCore::ContextMenu::appendItem):
1691         (WebCore::ContextMenu::itemCount):
1692         (WebCore::ContextMenu::insertItem):
1693         (WebCore::ContextMenu::setPlatformDescription):
1694         (WebCore::ContextMenu::platformDescription):
1695
1696 2006-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
1697
1698         Reviewed by Eric. Rubber stamped by Oliver.
1699
1700         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10383
1701      
1702         This is the final patch after the long "die kcanvas" journey.
1703
1704         All old kcanvas code is gone now, and properly integrated within
1705         WebCore (stuff like GraphicsContext changes etc.). It shares
1706         the platform/ design concept: no subclassing, but instead
1707         implementing parts of the classes/methods per-platform.
1708
1709         This commit removes the last pieces: KRenderingDevice & KRenderingDeviceContext.
1710         This layer was just obsolete, given the powerful GraphicsContext API we have
1711         since quite a while now. All the ugly pushContext/popContext stuff is gone now.
1712
1713         LayoutTests affected: svg/W3C-SVG-1.1/pservers-grad-11-b.svg
1714         Radial gradients as fill color for texts, work again!
1715         Though "Gradient on text stroke" remains broken. Funny thing:
1716         With this patch, if you "select" the text using the mouse, as
1717         soon as the selection rectangle is drawn, you see the correct
1718         gradient on stroke rendering - at least a hint where it breaks!
1719
1720         All svg layout tests have subtle text rendering changes - with and without this
1721         patch, it seems it was forgotton to update svg pixel test baseline, a while ago.
1722
1723         * CMakeLists.txt:
1724         * WebCore.xcodeproj/project.pbxproj:
1725         * kcanvas/device/KRenderingDevice.cpp: Removed.
1726         * kcanvas/device/KRenderingDevice.h: Removed.
1727         * kcanvas/device/qt/KRenderingDeviceQt.cpp: Removed.
1728         * kcanvas/device/qt/KRenderingDeviceQt.h: Removed.
1729         * kcanvas/device/qt/RenderPathQt.cpp: Moved to platform/graphics/qt
1730         * kcanvas/device/quartz/KCanvasItemQuartz.cpp: Moved to platform/graphics/svg/cg/RenderPathCg.cpp
1731         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp: Removed.
1732         * kcanvas/device/quartz/KRenderingDeviceQuartz.h: Removed.
1733         * kcanvas/device/quartz/QuartzSupport.cpp: Moved to platform/graphics/svg/cg/CgSupport.cpp
1734         * kcanvas/device/quartz/QuartzSupport.h: Moved to platform/graphics/svg/cg/CgSupport.h
1735         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1736         (WebCore::sharedSolidPaintServer):
1737         * ksvg2/misc/KCanvasRenderingStyle.h:
1738         * ksvg2/svg/SVGAElement.cpp:
1739         * ksvg2/svg/SVGClipPathElement.cpp:
1740         * ksvg2/svg/SVGFEBlendElement.cpp:
1741         (WebCore::SVGFEBlendElement::filterEffect):
1742         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1743         (WebCore::SVGFEColorMatrixElement::filterEffect):
1744         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1745         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
1746         (WebCore::SVGFEComponentTransferElement::parseMappedAttribute):
1747         (WebCore::SVGFEComponentTransferElement::filterEffect):
1748         * ksvg2/svg/SVGFECompositeElement.cpp:
1749         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
1750         (WebCore::SVGFECompositeElement::filterEffect):
1751         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1752         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
1753         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
1754         (WebCore::SVGFEDiffuseLightingElement::updateLights):
1755         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1756         (WebCore::SVGFEDisplacementMapElement::filterEffect):
1757         * ksvg2/svg/SVGFEDistantLightElement.cpp:
1758         (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
1759         (WebCore::SVGFEDistantLightElement::lightSource):
1760         * ksvg2/svg/SVGFEFloodElement.cpp:
1761         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
1762         (WebCore::SVGFEFloodElement::parseMappedAttribute):
1763         (WebCore::SVGFEFloodElement::filterEffect):
1764         * ksvg2/svg/SVGFEFuncAElement.cpp:
1765         * ksvg2/svg/SVGFEFuncBElement.cpp:
1766         * ksvg2/svg/SVGFEFuncGElement.cpp:
1767         (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
1768         * ksvg2/svg/SVGFEFuncRElement.cpp:
1769         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1770         (WebCore::SVGFEGaussianBlurElement::filterEffect):
1771         * ksvg2/svg/SVGFEImageElement.cpp:
1772         (WebCore::SVGFEImageElement::SVGFEImageElement):
1773         (WebCore::SVGFEImageElement::parseMappedAttribute):
1774         (WebCore::SVGFEImageElement::notifyFinished):
1775         (WebCore::SVGFEImageElement::filterEffect):
1776         * ksvg2/svg/SVGFELightElement.cpp:
1777         * ksvg2/svg/SVGFEMergeElement.cpp:
1778         (WebCore::SVGFEMergeElement::filterEffect):
1779         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
1780         * ksvg2/svg/SVGFEOffsetElement.cpp:
1781         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
1782         (WebCore::SVGFEOffsetElement::parseMappedAttribute):
1783         (WebCore::SVGFEOffsetElement::filterEffect):
1784         * ksvg2/svg/SVGFEPointLightElement.cpp:
1785         (WebCore::SVGFEPointLightElement::lightSource):
1786         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1787         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
1788         (WebCore::SVGFESpecularLightingElement::filterEffect):
1789         (WebCore::SVGFESpecularLightingElement::updateLights):
1790         * ksvg2/svg/SVGFESpotLightElement.cpp:
1791         (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
1792         (WebCore::SVGFESpotLightElement::lightSource):
1793         * ksvg2/svg/SVGFETileElement.cpp:
1794         (WebCore::SVGFETileElement::SVGFETileElement):
1795         (WebCore::SVGFETileElement::parseMappedAttribute):
1796         (WebCore::SVGFETileElement::filterEffect):
1797         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1798         (WebCore::SVGFETurbulenceElement::filterEffect):
1799         * ksvg2/svg/SVGFilterElement.cpp:
1800         (WebCore::SVGFilterElement::canvasResource):
1801         * ksvg2/svg/SVGGradientElement.cpp:
1802         (WebCore::SVGGradientElement::canvasResource):
1803         * ksvg2/svg/SVGLinearGradientElement.cpp:
1804         * ksvg2/svg/SVGMarkerElement.cpp:
1805         * ksvg2/svg/SVGMaskElement.cpp:
1806         (WebCore::SVGMaskElement::parseMappedAttribute):
1807         (WebCore::SVGMaskElement::drawMaskerContent):
1808         (WebCore::SVGMaskElement::canvasResource):
1809         * ksvg2/svg/SVGPatternElement.cpp:
1810         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
1811         (WebCore::SVGPatternElement::canvasResource):
1812         * ksvg2/svg/SVGStyledElement.cpp:
1813         * ksvg2/svg/SVGStyledElement.h:
1814         * platform/graphics/GraphicsContext.h:
1815         * platform/graphics/svg/SVGPaintServer.h:
1816         * platform/graphics/svg/SVGPaintServerGradient.cpp:
1817         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
1818         * platform/graphics/svg/SVGPaintServerGradient.h:
1819         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
1820         * platform/graphics/svg/SVGPaintServerPattern.h:
1821         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
1822         * platform/graphics/svg/SVGPaintServerSolid.h:
1823         * platform/graphics/svg/SVGResource.cpp:
1824         * platform/graphics/svg/SVGResource.h:
1825         * platform/graphics/svg/SVGResourceClipper.h:
1826         * platform/graphics/svg/SVGResourceFilter.h:
1827         * platform/graphics/svg/SVGResourceMasker.h:
1828         * platform/graphics/svg/cg/RenderPathCg.cpp: Added.
1829         * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
1830         (WebCore::SVGPaintServer::draw):
1831         (WebCore::SVGPaintServer::teardown):
1832         (WebCore::SVGPaintServer::renderPath):
1833         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1834         (WebCore::SVGPaintServerGradient::teardown):
1835         (WebCore::SVGPaintServerGradient::renderPath):
1836         (WebCore::SVGPaintServerGradient::setup):
1837         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
1838         (WebCore::SVGPaintServerPattern::setup):
1839         (WebCore::SVGPaintServerPattern::teardown):
1840         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
1841         (WebCore::SVGPaintServerSolid::setup):
1842         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
1843         (WebCore::SVGResourceClipper::applyClip):
1844         * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
1845         (WebCore::SVGResourceFilter::SVGResourceFilter):
1846         (WebCore::SVGResourceFilter::createFilterEffect):
1847         (WebCore::SVGResourceFilter::prepareFilter):
1848         (WebCore::SVGResourceFilter::applyFilter):
1849         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
1850         (WebCore::SVGResourceMasker::applyMask):
1851         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
1852         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
1853         (WebCore::SVGPaintServerLinearGradient::setup):
1854         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
1855         (WebCore::SVGPaintServerPattern::setup):
1856         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
1857         (WebCore::SVGPaintServer::draw):
1858         (WebCore::SVGPaintServer::teardown):
1859         (WebCore::SVGPaintServer::renderPath):
1860         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
1861         (WebCore::setup):
1862         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
1863         (WebCore::SVGPaintServerSolid::setup):
1864         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
1865         (WebCore::SVGResourceClipper::applyClip):
1866         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
1867         (WebCore::SVGResourceFilter::createFilterEffect):
1868         (WebCore::SVGResourceFilter::prepareFilter):
1869         (WebCore::SVGResourceFilter::applyFilter):
1870         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
1871         (WebCore::SVGResourceMasker::applyMask):
1872         * platform/qt/GraphicsContextQt.cpp:
1873         (WebCore::GraphicsContext::beginPath):
1874         (WebCore::GraphicsContext::addPath):
1875         (WebCore::GraphicsContext::setFillRule):
1876         (WebCore::GraphicsContext::currentPath):
1877         (WebCore::GraphicsContext::strokeRect):
1878         (WebCore::contextForImage):
1879         * rendering/RenderForeignObject.cpp:
1880         (WebCore::RenderForeignObject::paint):
1881         * rendering/RenderPath.cpp:
1882         (WebCore::RenderPath::paint):
1883         * rendering/RenderSVGContainer.cpp:
1884         (WebCore::RenderSVGContainer::paint):
1885         * rendering/RenderSVGImage.cpp:
1886         (WebCore::RenderSVGImage::paint):
1887         * rendering/RenderSVGImage.h:
1888         * rendering/RenderSVGInline.cpp:
1889         (WebCore::RenderSVGInline::RenderSVGInline):
1890         (WebCore::RenderSVGInline::createInlineBox):
1891         * rendering/RenderSVGInlineText.cpp:
1892         (WebCore::RenderSVGInlineText::RenderSVGInlineText):
1893         * rendering/RenderSVGTSpan.cpp:
1894         (WebCore::RenderSVGTSpan::RenderSVGTSpan):
1895         * rendering/RenderSVGText.cpp:
1896         (WebCore::RenderSVGText::paint):
1897         * rendering/SVGInlineFlowBox.cpp:
1898         (WebCore::paintSVGInlineFlow):
1899         * rendering/SVGRenderTreeAsText.cpp:
1900         (WebCore::writeStyle):
1901
1902 2006-11-30  Geoffrey Garen  <ggaren@apple.com>
1903
1904         Reviewed by Beth Dakin.
1905         
1906         Fixed up garbage collection at window close time.
1907
1908         * bindings/js/kjs_proxy.cpp: Don't garbage collect in the KJSProxy
1909         destructor, since the global object hasn't been freed yet.
1910         * bindings/js/kjs_proxy.h:
1911         * loader/FrameLoader.cpp:
1912         (WebCore::FrameLoader::detachFromParent): Made this function cross-
1913         platform.
1914         * loader/FrameLoader.h:
1915         * loader/mac/FrameLoaderMac.mm:
1916         (WebCore::FrameLoader::setTitle): Moved this function to FrameLoaderMac,
1917         since it's Mac-only.
1918         (WebCore::FrameLoader::closeBridge):
1919         * page/Page.cpp:
1920         (WebCore::Page::~Page): Don't garbage collect in the Page destructor,
1921         since the Interpreter destructor will do it for us.
1922
1923 2006-11-30  Brady Eidson  <beidson@apple.com>
1924
1925         Reviewed by Tim's rubberstamp
1926
1927         Amazingly, DocumentLoader.h survived all this time without a header guard...
1928
1929         * loader/DocumentLoader.h:  Added header guard
1930
1931 2006-11-30  Timothy Hatcher  <timothy@apple.com>
1932
1933         Reviewed by Brady and Eric.
1934
1935         XMLHttpRequest fails in a page loaded with WebFrame's loadHTMLString: or loadData:
1936         http://bugs.webkit.org/show_bug.cgi?id=11723
1937
1938         Allow cross-domain XMLHTTPRequest for applewebdata URLs. No automated way to test,
1939         tested in Safari's debug Snippet Editor.
1940
1941         * xml/xmlhttprequest.cpp:
1942         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
1943
1944 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
1945
1946         Reviewed by Brady.
1947
1948         Get rid of PlatformResponse, the platform specific response object is stored inside of 
1949         the ResourceResponse object now. This also gets rid of receivedResponse in ResourceHandleClient.
1950         
1951         * bridge/mac/WebCoreFrameBridge.mm:
1952         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
1953         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
1954         * loader/CachedResource.cpp:
1955         (WebCore::CachedResource::CachedResource):
1956         (WebCore::CachedResource::~CachedResource):
1957         * loader/CachedResource.h:
1958         (WebCore::CachedResource::response):
1959         * loader/loader.cpp:
1960         * loader/loader.h:
1961         * loader/mac/ImageDocumentMac.mm:
1962         (WebCore::finishImageLoad):
1963         * loader/mac/LoaderFunctionsMac.mm:
1964         (WebCore::CheckCacheObjectStatus):
1965         * loader/mac/SubresourceLoaderMac.mm:
1966         (WebCore::SubresourceLoader::didReceiveResponse):
1967         * platform/network/ResourceHandle.h:
1968         * platform/network/ResourceResponse.h:
1969         (WebCore::ResourceResponse::nsURLResponse):
1970         (WebCore::ResourceResponse::cfURLResponse):
1971         * platform/network/mac/ResourceHandleMac.mm:
1972         (WebCore::ResourceHandle::didReceiveResponse):
1973
1974 2006-11-29  Justin Garcia  <justin.garcia@apple.com>
1975
1976         Reviewed by sullivan
1977         
1978         <rdar://problem/4845371>
1979         In Mail, a crash occurs at WebCore::Node::traverseNextNode() when cutting selected text from a HTML message
1980         
1981         * editing/DeleteSelectionCommand.cpp:
1982         (WebCore::DeleteSelectionCommand::initializeStartEnd): The start/end were
1983         being inflated even when they were the start/end of a partially selected
1984         special element.
1985
1986 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
1987
1988         Reviewed by Oliver.
1989
1990         Fix fast/dom/xmlhttprequest-get layout test failure.
1991         
1992         * platform/network/mac/ResourceResponseMac.mm:
1993         Initialize the status code to 0 for non-http responses.
1994         
1995 2006-11-29  Geoffrey Garen  <ggaren@apple.com>
1996
1997         Reviewed by Anders Carlsson.
1998         
1999         Fixed http://bugs.webkit.org/show_bug.cgi?id=11712
2000         REGRESSION: Crash when clicking JS link on crateandbarrel.com (window.open("http[...]"))
2001         
2002         This was an accidental commit by Anders.
2003
2004         Chrome can't use the FrameView at window.open time, because it doesn't
2005         exist yet.
2006         
2007         * page/Chrome.cpp:
2008         (WebCore::Chrome::pageRect):
2009
2010 2006-11-29  Geoffrey Garen  <ggaren@apple.com>
2011
2012         Reviewed by Mitz Pettel.
2013         
2014         Fixed http://bugs.webkit.org/show_bug.cgi?id=11710
2015         REGRESSION (r17906): Crash in WebCore::FrameMac
2016
2017         Added null checks for EditorClient, since it can be NULL when the page
2018         has been destroyed. Removed external access to EditorClient, since it's
2019         an implementation detail of the Editor.
2020
2021         No test case because this crash depends on window tear-down. Layout tests
2022         pass.
2023         
2024 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
2025
2026         Fix build.
2027         
2028         * platform/network/mac/ResourceHandleMac.mm:
2029         (WebCore::ResourceHandle::receivedResponse):
2030         Fix tyop.
2031
2032 2006-11-29  Anders Carlsson  <acarlsson@apple.com>
2033
2034         Reviewed by Darin.
2035
2036         Have ResourceResponse hold on to the platform object and do lazy
2037         initialization of the data members.
2038         
2039         * WebCore.xcodeproj/project.pbxproj:
2040         * loader/mac/FrameLoaderMac.mm:
2041         (WebCore::FrameLoader::loadResourceSynchronously):
2042         * platform/network/ResourceRequest.cpp:
2043         (WebCore::ResourceRequest::updatePlatformRequest):
2044         (WebCore::ResourceRequest::updateResourceRequest):
2045         * platform/network/ResourceResponse.cpp: Added.
2046         (WebCore::ResourceResponse::url):
2047         (WebCore::ResourceResponse::mimeType):
2048         (WebCore::ResourceResponse::expectedContentLength):
2049         (WebCore::ResourceResponse::textEncodingName):
2050         (WebCore::ResourceResponse::suggestedFilename):
2051         (WebCore::ResourceResponse::httpStatusCode):
2052         (WebCore::ResourceResponse::setHTTPStatusCode):
2053         (WebCore::ResourceResponse::httpStatusText):
2054         (WebCore::ResourceResponse::setHTTPStatusText):
2055         (WebCore::ResourceResponse::httpHeaderField):
2056         (WebCore::ResourceResponse::httpHeaderFields):
2057         (WebCore::ResourceResponse::setExpirationDate):
2058         (WebCore::ResourceResponse::expirationDate):
2059         (WebCore::ResourceResponse::setLastModifiedDate):
2060         (WebCore::ResourceResponse::lastModifiedDate):
2061         (WebCore::ResourceResponse::updateResourceResponse):
2062         * platform/network/ResourceResponse.h:
2063         (WebCore::ResourceResponse::ResourceResponse):
2064         (WebCore::ResourceResponse::isMultipart):
2065         * platform/network/mac/ResourceHandleMac.mm:
2066         (WebCore::ResourceHandle::receivedResponse):
2067         (WebCore::ResourceHandle::willSendRequest):
2068         * platform/network/mac/ResourceResponseMac.h: Removed.
2069         * platform/network/mac/ResourceResponseMac.mm:
2070         (-[NSURLResponse WebCore]):
2071
2072 2006-11-28  Alice Liu  <alice.liu@apple.com>
2073
2074         Reviewed by Maciej.
2075
2076         A fix for a couple failing layout tests involving copy/cut in iframes.
2077
2078         * bridge/EditorClient.h:
2079         Add frame parameter to dataForArchivedSelectionInFrame instead of
2080         just getting the webview's selectedFrame.
2081
2082         * platform/mac/PasteboardMac.mm:
2083         (Pasteboard::writeSelection):
2084         Pass in the frame
2085
2086 2006-11-28  Geoffrey Garen  <ggaren@apple.com>
2087
2088         Reviewed by Beth Dakin.
2089
2090         Fixed <rdar://problem/4844855> Should clarify when to create clients in 
2091         the WebCore client API
2092         
2093         All clients must now be supplied as constructor arguments. This clarifies 
2094         when you need to create clients, and also guarantees that objects can't 
2095         (for the most part) be in a clientless state.
2096
2097         Layout tests pass. No leaks reported.
2098         
2099         * bridge/mac/WebCoreFrameBridge.mm: I had to move some initialization up into
2100         WebKit to resolve circular dependencies at init time.
2101
2102 2006-11-28  Adam Roben  <aroben@apple.com>
2103
2104         Reviewed by Ada.
2105
2106         Add platform-specific constructor/destructor to ContextMenu so we can
2107         properly retain/release the platform menu description.
2108
2109         * platform/ContextMenu.h:
2110         (WebCore::ContextMenu::platformDescription):
2111         * platform/mac/ContextMenuMac.mm:
2112         (WebCore::ContextMenu::ContextMenu):
2113         (WebCore::ContextMenu::~ContextMenu):
2114         (WebCore::getNSMenuItem):
2115         (WebCore::ContextMenu::appendItem):
2116         (WebCore::ContextMenu::itemCount):
2117         (WebCore::ContextMenu::insertItem):
2118         (WebCore::ContextMenu::setPlatformDescription):
2119
2120 2006-11-28  Adam Roben  <aroben@apple.com>
2121
2122         Build fix.
2123
2124         * platform/network/mac/ResourceRequestMac.mm:
2125
2126 2006-11-28  David Harrison  <harrison@apple.com>
2127
2128         Reviewed by Adele.
2129
2130         <rdar://problem/4852804> selection color does not get drawn over the missing image rectangle
2131
2132         Test:
2133         * editing/selection/select-missing-image.html: Added.
2134
2135         * rendering/RenderImage.cpp:
2136         (WebCore::RenderImage::paint):
2137         Draw the selection tint even if the image itself is not available.
2138
2139 2006-11-28  Anders Carlsson  <acarlsson@apple.com>
2140
2141         Reviewed by Maciej.
2142
2143         Have ResourceRequest hold on to the platform object so we don't
2144         have to convert back and forth when nothing in the object changes.
2145
2146         * WebCore.exp:
2147         * WebCore.xcodeproj/project.pbxproj:
2148         * loader/mac/FrameLoaderMac.mm:
2149         (WebCore::FrameLoader::continueAfterNavigationPolicy):
2150         * page/Chrome.cpp:
2151         (WebCore::Chrome::pageRect):
2152         * platform/network/ResourceRequest.cpp: Added.
2153         (WebCore::ResourceRequest::isEmpty):
2154         (WebCore::ResourceRequest::url):
2155         (WebCore::ResourceRequest::setURL):
2156         (WebCore::ResourceRequest::cachePolicy):
2157         (WebCore::ResourceRequest::setCachePolicy):
2158         (WebCore::ResourceRequest::timeoutInterval):
2159         (WebCore::ResourceRequest::setTimeoutInterval):
2160         (WebCore::ResourceRequest::mainDocumentURL):
2161         (WebCore::ResourceRequest::setMainDocumentURL):
2162         (WebCore::ResourceRequest::httpMethod):
2163         (WebCore::ResourceRequest::setHTTPMethod):
2164         (WebCore::ResourceRequest::httpHeaderFields):
2165         (WebCore::ResourceRequest::httpHeaderField):
2166         (WebCore::ResourceRequest::setHTTPHeaderField):
2167         (WebCore::ResourceRequest::httpBody):
2168         (WebCore::ResourceRequest::setHTTPBody):
2169         (WebCore::ResourceRequest::allowHTTPCookies):
2170         (WebCore::ResourceRequest::setAllowHTTPCookies):
2171         (WebCore::ResourceRequest::updatePlatformRequest):
2172         (WebCore::ResourceRequest::updateResourceRequest):
2173         (WebCore::ResourceRequest::addHTTPHeaderField):
2174         (WebCore::ResourceRequest::addHTTPHeaderFields):
2175         * platform/network/ResourceRequest.h:
2176         (WebCore::ResourceRequest::ResourceRequest):
2177         * platform/network/mac/ResourceHandleMac.mm:
2178         (WebCore::ResourceHandle::willSendRequest):
2179         * platform/network/mac/ResourceRequestMac.h: Removed.
2180         * platform/network/mac/ResourceRequestMac.mm:
2181         (WebCore::ResourceRequest::nsURLRequest):
2182         (WebCore::ResourceRequest::doUpdateResourceRequest):
2183         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2184
2185 2006-11-28  Adam Roben  <aroben@apple.com>
2186
2187         Reviewed by Beth.
2188
2189         More WebCore context menu work (still not turned on, however).
2190
2191         Split ContextMenuItem into its own files and make it a class.
2192
2193         * WebCore.exp: Updated symbols.
2194         * WebCore.xcodeproj/project.pbxproj: Added new ContextMenuItem files.
2195         * platform/ContextMenu.cpp:
2196         (WebCore::ContextMenu::populate): Code cleanup.
2197         * platform/ContextMenu.h: Split ContextMenuItem into a separate file,
2198         removed redundant "Menu" part of platformMenuDescription(),
2199         setPlatformMenuDescription().
2200         (WebCore::ContextMenu::ContextMenu):
2201         (WebCore::ContextMenu::hitTestResult):
2202         (WebCore::ContextMenu::platformDescription):
2203         * platform/ContextMenuItem.h: Added. Made ContextMenuItem a
2204         full-fledged class.
2205         (WebCore::):
2206         (WebCore::ContextMenuItem::ContextMenuItem):
2207         (WebCore::ContextMenuItem::menu):
2208         (WebCore::ContextMenuItem::platformDescription):
2209         (WebCore::ContextMenuItem::type):
2210         (WebCore::ContextMenuItem::action):
2211         (WebCore::ContextMenuItem::title):
2212         * platform/mac/ContextMenuItemMac.mm: Added.
2213         (WebCore::ContextMenuItem::ContextMenuItem):
2214         * platform/mac/ContextMenuMac.mm: Updated for ContextMenuItem changes.
2215         (-[MenuTarget forwardContextMenuAction:]):
2216         (getNSMenuItem): Handle separator items.
2217         (ContextMenu::appendItem):
2218         (ContextMenu::itemCount):
2219         (ContextMenu::insertItem):
2220         (ContextMenu::setPlatformDescription):
2221         * page/ContextMenuController.h: Updated declaration, added getter.
2222         (WebCore::ContextMenuController::contextMenu):
2223
2224         Added some more context menu plumbing.
2225
2226         * dom/EventTargetNode.cpp:
2227         (WebCore::EventTargetNode::defaultEventHandler): Added code to call the
2228         ContextMenuController when a context menu event is received.
2229         * page/ContextMenuClient.h: New client method declaration.
2230         * page/ContextMenuController.cpp:
2231         (WebCore::ContextMenuController::handleContextMenuEvent): Set the event
2232         defaultHandled after handling it.
2233         (WebCore::ContextMenuController::contextMenuItemSelected): Take a
2234         ContextMenuItem instead of a separate action and title.
2235
2236         Changed event-handling methods to return bools to signify whether the
2237         event was handled or not. This is needed so we can know whether to hand
2238         the event off to the OS. Also restructured some code to use early
2239         returns instead of nesting ifs.
2240
2241         * page/EventHandler.cpp:
2242         (WebCore::EventHandler::handleMousePressEventDoubleClick):
2243         (WebCore::EventHandler::handleMousePressEventTripleClick):
2244         (WebCore::EventHandler::handleMousePressEventSingleClick):
2245         (WebCore::EventHandler::handleMousePressEvent):
2246         (WebCore::EventHandler::handleMouseMoveEvent):
2247         (WebCore::EventHandler::handleMouseReleaseEvent):
2248         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2249         (WebCore::EventHandler::handleWheelEvent):
2250         (WebCore::EventHandler::canMouseDownStartSelect):
2251         * page/EventHandler.h:
2252         * page/FrameView.cpp:
2253         (WebCore::FrameView::handleMouseMoveEvent):
2254         (WebCore::FrameView::handleMouseReleaseEvent):
2255         * page/FrameView.h:
2256         * platform/ScrollBar.h: More bool return values.
2257         (WebCore::Scrollbar::handleMouseMoveEvent):
2258         (WebCore::Scrollbar::handleMouseOutEvent):
2259         * platform/Widget.h: Ditto.
2260         (WebCore::Widget::handleMouseMoveEvent):
2261         (WebCore::Widget::handleMouseReleaseEvent):
2262
2263         Reverted the changes made in r17805 so that we can have fewer header
2264         #includes.
2265
2266         * page/Page.cpp:
2267         (WebCore::Page::Page):
2268         * page/Page.h: Ditto.
2269         (WebCore::Page::dragCaretController):
2270         (WebCore::Page::chrome):
2271         (WebCore::Page::contextMenuController):
2272
2273 2006-11-28  Alice Liu  <alice.liu@apple.com>
2274
2275         Reviewed by Justin and Adam.
2276
2277         All layout tests pass as they do without this patch
2278
2279         * WebCore.exp:
2280         Exposed functions in Editor and removed functions in FrameMac due to changes in WebHTMLView.m
2281
2282         * WebCore.xcodeproj/project.pbxproj:
2283         Added Pasteboard.h, PasteboardMac.mm, WebNSAttributedStringExtras.h&mm, EditorMac.mm
2284
2285         * bridge/EditorClient.h:
2286         Added smartInsertDeleteEnabled and shouldInsertNode and some mac-specific functions
2287
2288         * bridge/mac/FrameMac.h:
2289         * bridge/mac/FrameMac.mm:
2290         Removed dispatchCPPEvent and [can|try]DHTML[cut|copy|paste] since the Editor's are called now
2291
2292         * dom/CharacterData.h:
2293         (WebCore::CharacterData::isCharacterDataNode):
2294         * dom/Node.h:
2295         (WebCore::Node::isCharacterDataNode):
2296         Added a type-identifying function to Node and the proper subclass
2297
2298         * dom/Clipboard.h:
2299         Exposed setAccessPolicy as public
2300         
2301         * editing/Editor.h:
2302         * editing/Editor.cpp:
2303         Implemented the following
2304         (WebCore::Editor::canDHTMLCut):
2305         (WebCore::Editor::canDHTMLCopy):
2306         (WebCore::Editor::canDHTMLPaste):
2307         (WebCore::Editor::canSmartCopyOrDelete):
2308         (WebCore::Editor::deleteSelection):
2309         (WebCore::Editor::pasteAsPlainTextWithPasteboard):
2310         (WebCore::Editor::pasteWithPasteboard):
2311         (WebCore::Editor::canSmartReplaceWithPasteboard):
2312         (WebCore::Editor::shouldInsertFragment):
2313         (WebCore::Editor::replaceSelectionWithFragment):
2314         (WebCore::Editor::replaceSelectionWithText):
2315         (WebCore::Editor::selectedRange):
2316         (WebCore::Editor::shouldDeleteRange):
2317         (WebCore::Editor::tryDHTMLCopy):
2318         (WebCore::Editor::tryDHTMLCut):
2319         (WebCore::Editor::tryDHTMLPaste):
2320         (WebCore::Editor::writeSelectionToPasteboard):
2321         (WebCore::Editor::dispatchCPPEvent):
2322         (WebCore::Editor::cut):
2323         (WebCore::Editor::copy):
2324         (WebCore::Editor::paste):
2325                 
2326         * platform/mac/ClipboardAccessPolicy.h: Removed.
2327         Not removed, but moved to dom/ClipboardAccessPolicy.h
2328         
2329         * platform/mac/EditorMac.mm: Added.
2330         (WebCore::Editor::newGeneralClipboard):
2331
2332         * platform/Pasteboard.h: Added.
2333         * platform/mac/PasteboardMac.mm: Added.
2334         The pasteboard class follows a singleton pattern
2335         (Pasteboard::generalPasteboard):
2336         (Pasteboard::~Pasteboard):
2337         (Pasteboard::Pasteboard):
2338         (Pasteboard::clearTypes):
2339         (Pasteboard::writeSelection):
2340         (Pasteboard::selectionPasteboardTypes):
2341         (Pasteboard::canSmartReplace):
2342         (Pasteboard::plainText):
2343         (Pasteboard::documentFragment):
2344         
2345         * platform/mac/WebNSAttributedStringExtras.h: Added.
2346         * platform/mac/WebNSAttributedStringExtras.mm: Added.
2347         Added select portions of this file from WebKit because the pasteboard needed the following function:
2348         (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
2349
2350 2006-11-28  Justin Garcia  <justin.garcia@apple.com>
2351
2352         Reviewed by harrison
2353
2354         <rdar://problem/4397952>
2355         Cannot select buttons at the end of a document, preventing copy/paste
2356         
2357         There were no VisiblePositions before/after buttons because editingIgnoresContent
2358         returned false for buttons. 
2359
2360         * dom/Position.cpp:
2361         (WebCore::Position::upstream): Fixed a comment.
2362         (WebCore::Position::downstream): Ditto.
2363         * editing/DeleteSelectionCommand.cpp:
2364         (WebCore::DeleteSelectionCommand::initializeStartEnd): Ditto.
2365         * editing/htmlediting.cpp:
2366         (WebCore::editingIgnoresContent): It's unnecessary to prefer renderer 
2367         checks over tag name checks because it seems that a node of a tag name 
2368         that we do not ignore content for can't have a renderer of a type that we do.
2369         (WebCore::canHaveChildrenForEditing): Added selects, buttons, applets, and embeds.
2370         * editing/visible_units.cpp:
2371         (WebCore::previousLinePosition): Migrate to enclosingBlock.  Fixes a bug where the
2372         caret would get stuck moving up/down a line from a caret just before an 
2373         input element.
2374         (WebCore::nextLinePosition): Ditto.
2375
2376 2006-11-28  Geoffrey Garen  <ggaren@apple.com>
2377
2378         Reviewed by Adam.
2379
2380         Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref 
2381         calls cause .5% PLT regression.
2382         
2383         Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
2384         from the Frame to the Page, since it's only responsible for
2385         Webview-level delegate calls.
2386         
2387         I don't really love this design, but it fixes the regression and allows
2388         a single WebKit object to implement multiple client interfaces.
2389         
2390         Layout tests pass.
2391
2392 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
2393
2394         Try fixing the build.
2395         
2396         * platform/graphics/IntRect.cpp:
2397         (WebCore::IntRect::IntRect):
2398
2399 2006-11-27  Beth Dakin  <bdakin@apple.com>
2400
2401         Reviewed by Adam.
2402
2403         Getting rid of some of the critical FIXMEs in ContextMenu.cpp.
2404
2405         * bridge/mac/FrameMac.h: Two new spell checker functions from 
2406         WebKit. (We will be able to delete the WebKit versions once we 
2407         switch over to WebCore context menus.)
2408         * bridge/mac/FrameMac.mm:
2409         (WebCore::FrameMac::isSelectionMisspelled):
2410         (WebCore::core): Convert from NSArray of Strings to a Vector of 
2411         Strings.
2412         (WebCore::FrameMac::guessesForMisspelledSelection):
2413         * loader/FrameLoader.cpp:
2414         (WebCore::FrameLoader::canHandleRequest):
2415         * loader/FrameLoader.h: Make canHandleRequest available through the 
2416         FrameLoader.
2417         * loader/FrameLoaderClient.h: canHandleRequest takes a 
2418         ResourceRequest instead of an NSURLRequest.
2419         * loader/mac/FrameLoaderMac.mm:
2420         (WebCore::FrameLoader::continueAfterNavigationPolicy): Same
2421         * page/Frame.h: New spell checker functions moved to Frame. These 
2422         should be moved some place better some day, but FrameMac currently 
2423         seems to be the place to be for spell checker stuff.
2424         * platform/ContextMenu.cpp:
2425         (WebCore::ContextMenu::populate): Use new FrameLoader and spell 
2426         checking functionality to get rid of two if (true) statements. Also 
2427         add spelling guesses to the editing context menus.
2428
2429 2006-11-27  Alexey Proskuryakov  <ap@webkit.org>
2430
2431         Reviewed by Hyatt.
2432
2433         http://bugs.webkit.org/show_bug.cgi?id=11694
2434         XSLT output method does not default to HTML when the target document is HTML
2435
2436         Test: fast/xsl/default-html.html
2437
2438         * xml/XSLTProcessor.cpp:
2439         (WebCore::XSLTProcessor::transformToString): Make mimeType an input/output parameter, 
2440         serving as a hint when the stylesheet doesn't specify the output method.
2441         (WebCore::XSLTProcessor::transformToFragment): Set mimeType to text/html if the target
2442         document is HTML.
2443
2444 2006-11-27  Oliver Hunt  <oliver@apple.com>
2445
2446         Reviewed by Adam.
2447
2448         Fixes a crash in SVG caused by an attempt to 
2449         perform css overflow clipping by preventing
2450         the css overflow clip from being set in SVG.
2451         
2452         <rdar:/problems/4839568>
2453
2454         * WebCore.xcodeproj/project.pbxproj:
2455         * rendering/RenderForeignObject.cpp:
2456         (WebCore::RenderForeignObject::RenderForeignObject):
2457         * rendering/RenderForeignObject.h:
2458         * rendering/RenderSVGBlock.cpp: Added.
2459         (WebCore::RenderSVGBlock::RenderSVGBlock):
2460         (WebCore::RenderSVGBlock::setStyle):
2461         * rendering/RenderSVGBlock.h: Added.
2462         * rendering/RenderSVGText.cpp:
2463         (WebCore::RenderSVGText::RenderSVGText):
2464         * rendering/RenderSVGText.h:
2465
2466 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
2467
2468         Reviewed by Adam.
2469
2470         Add an explicit IntRect constructor that takes a FloatRect.
2471         
2472         * platform/graphics/IntRect.cpp:
2473         (WebCore::IntRect::IntRect):
2474         * platform/graphics/IntRect.h:
2475
2476 2006-11-27  Ada Chan  <adachan@apple.com>
2477
2478         Reviewed by Adam.
2479
2480         Moved WebCoreCache up to WebKit.
2481
2482         * WebCore.exp:
2483         * WebCore.xcodeproj/project.pbxproj:
2484         * bridge/mac/WebCoreCache.h: Removed.
2485         * bridge/mac/WebCoreCache.mm: Removed.
2486
2487 2006-11-27  Anders Carlsson  <acarlsson@apple.com>
2488
2489         Reviewed by Adam.
2490
2491         Move addMessageToConsole to Chrome.
2492         
2493         * bindings/js/kjs_events.cpp:
2494         (KJS::JSAbstractEventListener::handleEvent):
2495         * bindings/js/kjs_proxy.cpp:
2496         (WebCore::KJSProxy::evaluate):
2497         * bindings/js/kjs_window.cpp:
2498         (KJS::Window::isSafeScript):
2499         (KJS::ScheduledAction::execute):
2500         * bridge/mac/FrameMac.h:
2501         * bridge/mac/FrameMac.mm:
2502         * bridge/mac/WebCoreFrameBridge.h:
2503         * page/Chrome.cpp:
2504         (WebCore::Chrome::addMessageToConsole):
2505         * page/Chrome.h:
2506         * page/ChromeClient.h:
2507         * page/Frame.h:
2508
2509 2006-11-27  Adele Peterson  <adele@apple.com>
2510
2511         Reviewed by Hyatt.
2512
2513         - Fix for http://bugs.webkit.org/show_bug.cgi?id=8062
2514           Caret color in new text field should take background color and foreground color into consideration
2515
2516         * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
2517           Use the foreground color of the rootEditableElement to determine the caret color.  This will work well for text controls in web pages (since the root is always the actual form control)
2518           as well as in editable WebViews, like in Mail, which will just pick up the color from the body element.
2519
2520 2006-11-26  Simon Hausmann  <hausmann@kde.org>
2521
2522         Reviewed by Maciej.
2523
2524         http://bugs.webkit.org/show_bug.cgi?id=11693
2525         Fix the Qt build, adapt to various enum/class renamings.
2526
2527         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
2528         (WebCore::KRenderingDeviceQt::createResource):
2529         (WebCore::KRenderingDeviceQt::createPaintServer):
2530         * kcanvas/device/qt/KRenderingDeviceQt.h:
2531         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
2532         (WebCore::SVGPaintServerLinearGradient::setup):
2533         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
2534         (WebCore::SVGPaintServer::renderPath):
2535         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
2536         (WebCore::setup):
2537         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
2538         (WebCore::SVGPaintServerSolid::setup):
2539
2540 2006-11-24  Rob Buis  <buis@kde.org>
2541
2542         Reviewed by Mitz.
2543
2544         http://bugs.webkit.org/show_bug.cgi?id=11666
2545         .getScreenCTM() returns wrong values
2546
2547         Take into account the local transform matrix too and
2548         so fix getScreenCTM/getCTM for <text>.
2549
2550         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2551         (SVGStyledTransformableElement::getCTM):
2552         (SVGStyledTransformableElement::getScreenCTM):
2553         * ksvg2/svg/SVGTextElement.cpp:
2554         (WebCore::SVGTextElement::getScreenCTM):
2555         (WebCore::SVGTextElement::getCTM):
2556         * ksvg2/svg/SVGTransformable.cpp:
2557         (WebCore::SVGTransformable::getCTM):
2558         (WebCore::SVGTransformable::getScreenCTM):
2559         * ksvg2/svg/SVGTransformable.h:
2560
2561 2006-11-22  Rob Buis  <buis@kde.org>
2562
2563         Reviewed by Eric.
2564
2565         http://bugs.webkit.org/show_bug.cgi?id=11661
2566         SVG: stroke not sensitive to mouse events (hit testing fails)
2567
2568         Use mapAbsolutePointToLocal when hit-testing strokes.
2569
2570         * rendering/RenderPath.cpp:
2571         (WebCore::RenderPath::fillContains):
2572         (WebCore::RenderPath::nodeAtPoint):
2573
2574 2006-11-21  Anders Carlsson  <acarlsson@apple.com>
2575
2576         Reviewed by Mitz.
2577
2578         General SVG cleanup. Change some enums to match the style guidelines, use PLATFORM(CG) instead of PLATFORM(MAC).
2579         Remove config.h inluce from AffineTransform.h
2580         
2581         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
2582         (WebCore::KRenderingDeviceQuartz::createPaintServer):
2583         (WebCore::KRenderingDeviceQuartz::createResource):
2584         * ksvg2/misc/KCanvasRenderingStyle.cpp:
2585         (WebCore::sharedSolidPaintServer):
2586         * ksvg2/svg/SVGFilterElement.cpp:
2587         (WebCore::SVGFilterElement::canvasResource):
2588         * ksvg2/svg/SVGLinearGradientElement.cpp:
2589         (WebCore::SVGLinearGradientElement::buildGradient):
2590         * ksvg2/svg/SVGLinearGradientElement.h:
2591         (WebCore::SVGLinearGradientElement::gradientType):
2592         * ksvg2/svg/SVGPatternElement.cpp:
2593         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2594         (WebCore::SVGPatternElement::canvasResource):
2595         * ksvg2/svg/SVGRadialGradientElement.cpp:
2596         (WebCore::SVGRadialGradientElement::buildGradient):
2597         * ksvg2/svg/SVGRadialGradientElement.h:
2598         (WebCore::SVGRadialGradientElement::gradientType):
2599         * platform/graphics/AffineTransform.h:
2600         * platform/graphics/svg/SVGPaintServer.h:
2601         (WebCore::):
2602         * platform/graphics/svg/SVGPaintServerGradient.cpp:
2603         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2604         (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
2605         * platform/graphics/svg/SVGPaintServerGradient.h:
2606         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
2607         (WebCore::SVGPaintServerLinearGradient::type):
2608         * platform/graphics/svg/SVGPaintServerPattern.h:
2609         (WebCore::SVGPaintServerPattern::type):
2610         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
2611         (WebCore::SVGPaintServerRadialGradient::type):
2612         * platform/graphics/svg/SVGPaintServerSolid.h:
2613         (WebCore::SVGPaintServerSolid::type):
2614         * platform/graphics/svg/SVGResource.h:
2615         (WebCore::):
2616         * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
2617         (WebCore::SVGPaintServer::renderPath):
2618         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2619         (WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
2620         (WebCore::SVGPaintServerGradient::teardown):
2621         (WebCore::SVGPaintServerGradient::renderPath):
2622         (WebCore::SVGPaintServerGradient::setup):
2623         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
2624         (WebCore::SVGPaintServerPattern::setup):
2625         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
2626         (WebCore::SVGPaintServerSolid::setup):
2627         * rendering/RenderPath.cpp:
2628         (WebCore::RenderPath::paint):
2629         * rendering/SVGInlineFlowBox.cpp:
2630         (WebCore::paintSVGInlineFlow):
2631
2632 2006-11-21  Nikolas Zimmermann  <zimmermann@kde.org>
2633
2634         Reviewed by Oliver.
2635
2636         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11658
2637
2638         Move KRenderingPaintServer* classes to the location
2639         of all other resources (platform/graphics/svg).
2640
2641         Soon the whole platform/graphics/svg stuff will bemoved
2642         into ksvg2/ itself, as discussed with Darin.
2643
2644         * CMakeLists.txt:
2645         * WebCore.xcodeproj/project.pbxproj:
2646         * kcanvas/device/KRenderingDevice.h:
2647         * kcanvas/device/KRenderingPaintServer.h: Removed.
2648         * kcanvas/device/KRenderingPaintServerGradient.cpp: Removed.
2649         * kcanvas/device/KRenderingPaintServerGradient.h: Removed.
2650         * kcanvas/device/KRenderingPaintServerPattern.cpp: Removed.
2651         * kcanvas/device/KRenderingPaintServerPattern.h: Removed.
2652         * kcanvas/device/KRenderingPaintServerSolid.cpp: Removed.
2653         * kcanvas/device/KRenderingPaintServerSolid.h: Removed.
2654         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp: Removed.
2655         * kcanvas/device/qt/KRenderingPaintServerGradientQt.h: Removed.
2656         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp: Removed.
2657         * kcanvas/device/qt/KRenderingPaintServerPatternQt.h: Removed.
2658         * kcanvas/device/qt/KRenderingPaintServerQt.cpp: Removed.
2659         * kcanvas/device/qt/KRenderingPaintServerQt.h: Removed.
2660         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp: Removed.
2661         * kcanvas/device/qt/KRenderingPaintServerSolidQt.h: Removed.
2662         * kcanvas/device/quartz/KCanvasItemQuartz.h: Removed.
2663         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
2664         (WebCore::KRenderingDeviceQuartz::createPaintServer):
2665         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2666         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.cpp: Removed.
2667         * kcanvas/device/quartz/KRenderingPaintServerQuartz.cpp: Removed.
2668         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: Removed.
2669         * ksvg2/misc/KCanvasRenderingStyle.cpp:
2670         (WebCore::sharedSolidPaintServer):
2671         (WebCore::KSVGPainterFactory::fillPaintServer):
2672         (WebCore::KSVGPainterFactory::strokePaintServer):
2673         * ksvg2/misc/KCanvasRenderingStyle.h:
2674         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2675         * ksvg2/svg/SVGFEOffsetElement.cpp:
2676         * ksvg2/svg/SVGGradientElement.cpp:
2677         (WebCore::SVGGradientElement::canvasResource):
2678         (WebCore::SVGGradientElement::resourceNotification):
2679         (WebCore::SVGGradientElement::rebuildStops):
2680         * ksvg2/svg/SVGGradientElement.h:
2681         * ksvg2/svg/SVGLinearGradientElement.cpp:
2682         (WebCore::SVGLinearGradientElement::buildGradient):
2683         * ksvg2/svg/SVGLinearGradientElement.h:
2684         (WebCore::SVGLinearGradientElement::gradientType):
2685         * ksvg2/svg/SVGPatternElement.cpp:
2686         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2687         (WebCore::SVGPatternElement::canvasResource):
2688         * ksvg2/svg/SVGPatternElement.h:
2689         * ksvg2/svg/SVGRadialGradientElement.cpp:
2690         (WebCore::SVGRadialGradientElement::buildGradient):
2691         * ksvg2/svg/SVGRadialGradientElement.h:
2692         (WebCore::SVGRadialGradientElement::gradientType):
2693         * platform/graphics/svg/SVGPaintServer.cpp: Added.
2694         (WebCore::SVGPaintServer::SVGPaintServer):
2695         (WebCore::SVGPaintServer::~SVGPaintServer):
2696         (WebCore::SVGPaintServer::activeClient):
2697         (WebCore::SVGPaintServer::setActiveClient):
2698         (WebCore::SVGPaintServer::isPaintingText):
2699         (WebCore::SVGPaintServer::setPaintingText):
2700         (WebCore::operator<<):
2701         (WebCore::getPaintServerById):
2702         * platform/graphics/svg/SVGPaintServer.h: Added.
2703         (WebCore::):
2704         (WebCore::SVGPaintServer::isPaintServer):
2705         * platform/graphics/svg/SVGPaintServerGradient.cpp: Added.
2706         (WebCore::compareStopOffset):
2707         (WebCore::operator<<):
2708         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2709         (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
2710         (WebCore::SVGPaintServerGradient::gradientStops):
2711         (WebCore::SVGPaintServerGradient::setGradientStops):
2712         (WebCore::SVGPaintServerGradient::spreadMethod):
2713         (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
2714         (WebCore::SVGPaintServerGradient::boundingBoxMode):
2715         (WebCore::SVGPaintServerGradient::setBoundingBoxMode):
2716         (WebCore::SVGPaintServerGradient::gradientTransform):
2717         (WebCore::SVGPaintServerGradient::setGradientTransform):
2718         (WebCore::SVGPaintServerGradient::listener):
2719         (WebCore::SVGPaintServerGradient::setListener):
2720         (WebCore::SVGPaintServerGradient::externalRepresentation):
2721         * platform/graphics/svg/SVGPaintServerGradient.h: Added.
2722         (WebCore::):
2723         (WebCore::SVGPaintServerGradient::):
2724         (WebCore::makeGradientStop):
2725         * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Added.
2726         (WebCore::SVGPaintServerLinearGradient::SVGPaintServerLinearGradient):
2727         (WebCore::SVGPaintServerLinearGradient::~SVGPaintServerLinearGradient):
2728         (WebCore::SVGPaintServerLinearGradient::gradientStart):
2729         (WebCore::SVGPaintServerLinearGradient::setGradientStart):
2730         (WebCore::SVGPaintServerLinearGradient::gradientEnd):
2731         (WebCore::SVGPaintServerLinearGradient::setGradientEnd):
2732         (WebCore::SVGPaintServerLinearGradient::externalRepresentation):
2733         * platform/graphics/svg/SVGPaintServerLinearGradient.h: Added.
2734         (WebCore::SVGPaintServerLinearGradient::type):
2735         * platform/graphics/svg/SVGPaintServerPattern.cpp: Added.
2736         (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
2737         (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
2738         (WebCore::SVGPaintServerPattern::bbox):
2739         (WebCore::SVGPaintServerPattern::setBbox):
2740         (WebCore::SVGPaintServerPattern::boundingBoxMode):
2741         (WebCore::SVGPaintServerPattern::setBoundingBoxMode):
2742         (WebCore::SVGPaintServerPattern::tile):
2743         (WebCore::SVGPaintServerPattern::setTile):
2744         (WebCore::SVGPaintServerPattern::patternTransform):
2745         (WebCore::SVGPaintServerPattern::setPatternTransform):
2746         (WebCore::SVGPaintServerPattern::listener):
2747         (WebCore::SVGPaintServerPattern::setListener):
2748         (WebCore::SVGPaintServerPattern::externalRepresentation):
2749         * platform/graphics/svg/SVGPaintServerPattern.h: Added.
2750         (WebCore::SVGPaintServerPattern::type):
2751         * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Added.
2752         (WebCore::SVGPaintServerRadialGradient::SVGPaintServerRadialGradient):
2753         (WebCore::SVGPaintServerRadialGradient::~SVGPaintServerRadialGradient):
2754         (WebCore::SVGPaintServerRadialGradient::gradientCenter):
2755         (WebCore::SVGPaintServerRadialGradient::setGradientCenter):
2756         (WebCore::SVGPaintServerRadialGradient::gradientFocal):
2757         (WebCore::SVGPaintServerRadialGradient::setGradientFocal):
2758         (WebCore::SVGPaintServerRadialGradient::gradientRadius):
2759         (WebCore::SVGPaintServerRadialGradient::setGradientRadius):
2760         (WebCore::SVGPaintServerRadialGradient::externalRepresentation):
2761         * platform/graphics/svg/SVGPaintServerRadialGradient.h: Added.
2762         (WebCore::SVGPaintServerRadialGradient::type):
2763         * platform/graphics/svg/SVGPaintServerSolid.cpp: Added.
2764         (WebCore::SVGPaintServerSolid::SVGPaintServerSolid):
2765         (WebCore::SVGPaintServerSolid::~SVGPaintServerSolid):
2766         (WebCore::SVGPaintServerSolid::color):
2767         (WebCore::SVGPaintServerSolid::setColor):
2768         (WebCore::SVGPaintServerSolid::externalRepresentation):
2769         * platform/graphics/svg/SVGPaintServerSolid.h: Added.
2770         (WebCore::SVGPaintServerSolid::type):
2771         * platform/graphics/svg/SVGResource.cpp:
2772         * platform/graphics/svg/SVGResource.h:
2773         * platform/graphics/svg/SVGResourceClipper.cpp:
2774         * platform/graphics/svg/SVGResourceMarker.cpp:
2775         * platform/graphics/svg/SVGResourceMasker.cpp:
2776         * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Added.
2777         (WebCore::SVGPaintServer::draw):
2778         (WebCore::SVGPaintServer::teardown):
2779         (WebCore::SVGPaintServer::renderPath):
2780         (WebCore::SVGPaintServer::strokePath):
2781         (WebCore::SVGPaintServer::clipToStrokePath):
2782         (WebCore::SVGPaintServer::fillPath):
2783         (WebCore::SVGPaintServer::clipToFillPath):
2784         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Added.
2785         (WebCore::cgGradientCallback):
2786         (WebCore::CGShadingRefForLinearGradient):
2787         (WebCore::CGShadingRefForRadialGradient):
2788         (WebCore::SVGPaintServerGradient::invalidateCaches):
2789         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2790         (WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
2791         (WebCore::SVGPaintServerGradient::teardown):
2792         (WebCore::SVGPaintServerGradient::renderPath):
2793         (WebCore::SVGPaintServerGradient::setup):
2794         (WebCore::SVGPaintServerGradient::invalidate):
2795         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Added.
2796         (WebCore::patternCallback):
2797         (WebCore::SVGPaintServerPattern::setup):
2798         (WebCore::SVGPaintServerPattern::teardown):
2799         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Added.
2800         (WebCore::SVGPaintServerSolid::setup):
2801         * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Added.
2802         (WebCore::SVGPaintServerGradient::fillColorArray):
2803         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Added.
2804         (WebCore::SVGPaintServerLinearGradient::setup):
2805         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Added.
2806         (WebCore::SVGPaintServerPattern::setup):
2807         * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Added.
2808         (WebCore::SVGPaintServer::setPenProperties):
2809         (WebCore::SVGPaintServer::draw):
2810         (WebCore::SVGPaintServer::teardown):
2811         (WebCore::SVGPaintServer::renderPath):
2812         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Added.
2813         (WebCore::setup):
2814         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Added.
2815         (WebCore::SVGPaintServerSolid::setup):
2816         * rendering/RenderPath.cpp:
2817         (WebCore::RenderPath::paint):
2818         * rendering/SVGInlineFlowBox.cpp:
2819         (WebCore::paintSVGInlineFlow):
2820         * rendering/SVGRenderTreeAsText.cpp:
2821         (WebCore::writeStyle):
2822         (WebCore::writeRenderResources):
2823
2824 2006-11-21  Alex Taylor  <darwin@techvisual.co.nz>
2825
2826         Reviewed by Mitz.
2827
2828         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11587
2829
2830         Adds calculations for bottom right radius's position
2831         which was being drawn incorrectly.
2832
2833         * rendering/RenderObject.cpp:
2834         (WebCore::RenderObject::paintBorder):
2835
2836 2006-11-20  Rob Buis  <buis@kde.org>
2837
2838         Reviewed by Maciej.
2839
2840         http://bugs.webkit.org/show_bug.cgi?id=11519
2841         REGRESSION: Disabled file upload control doesn't have disabled appearance, failing fast/forms/file-input-disabled.html
2842
2843         Transport disabled state from DOM element to the shadow
2844         DOM/render object.
2845
2846         * rendering/RenderFileUploadControl.cpp:
2847         (WebCore::RenderFileUploadControl::updateFromElement):
2848         * rendering/RenderTheme.h:
2849
2850 2006-11-20  Anders Carlsson  <acarlsson@apple.com>
2851
2852         Reviewed by Maciej.
2853
2854         * loader/TextResourceDecoder.cpp:
2855         (WebCore::findXMLEncoding):
2856         Use CString instead of DeprecatedCString.
2857         
2858         * platform/CString.cpp:
2859         (WebCore::CString::find):
2860         * platform/CString.h:
2861         (WebCore::CString::data):
2862         Add find method, make data method inline.
2863         
2864         * platform/TextStream.cpp:
2865         * platform/TextStream.h:
2866         Remove DeprecatedCString functions.
2867
2868 2006-11-20  Anders Carlsson  <acarlsson@apple.com>
2869
2870         Reviewed by Maciej.
2871
2872         Use CString instead of DeprecatedCString.
2873         
2874         * html/FormDataList.cpp:
2875         (WebCore::FormDataList::appendString):
2876         (WebCore::fixLineBreaks):
2877         (WebCore::FormDataList::appendFile):
2878
2879 2006-11-20  Samuel Weinig  <sam@webkit.org>
2880
2881         Reviewed by Alexey.
2882
2883         Fix for http://bugs.webkit.org/show_bug.cgi?id=11656
2884         Fix Windows build
2885
2886         * WebCore.vcproj/WebCore/WebCore.vcproj:
2887         * bridge/win/ContextMenuClientWin.h:
2888         * bridge/win/EditorClientWin.h:
2889         * bridge/win/FrameWin.h:
2890         * platform/win/TemporaryLinkStubs.cpp:
2891         (WebCore::ContextMenu::show):
2892         (WebCore::ContextMenuClientWin::copyLinkToClipboard):
2893         (WebCore::ContextMenuClientWin::downloadURL):
2894         (WebCore::ContextMenuClientWin::copyImageToClipboard):
2895         (WebCore::ContextMenuClientWin::lookUpInDictionary):
2896         (WebCore::EditorClientWin::shouldInsertText):
2897         (WebCore::FrameLoader::reload):
2898         (WebCore::FrameWin::ignoreSpelling):
2899         (WebCore::FrameWin::learnSpelling):
2900
2901 2006-11-20  Alexey Proskuryakov  <ap@webkit.org>
2902
2903         Reviewed by Maciej.
2904
2905         http://bugs.webkit.org/show_bug.cgi?id=10736
2906         XMLHttpRequest.responseXML should be null on error
2907
2908         * dom/XMLTokenizer.cpp:
2909         (WebCore::XMLTokenizer::wellFormed):
2910         * dom/XMLTokenizer.h:
2911         (WebCore::Tokenizer::wellFormed):
2912         * dom/Document.cpp:
2913         (WebCore::Document::Document):
2914         (WebCore::Document::implicitClose):
2915         * dom/Document.h:
2916         (WebCore::Document::wellFormed):
2917         Tell whether XMLTokenizer saw an error. Always true (success) for HTML.
2918
2919         * xml/xmlhttprequest.cpp:
2920         (WebCore::XMLHttpRequest::getResponseXML): Set the document to null if it's not well-formed.
2921
2922 2006-11-20  Alexey Proskuryakov  <ap@webkit.org>
2923
2924         Reviewed by Sam Weinig.
2925
2926         http://bugs.webkit.org/show_bug.cgi?id=11633
2927         Implement XMLDocument properties xmlEncoding, xmlVersion, xmlStandalone
2928
2929         * dom/Document.cpp:
2930         (WebCore::Document::Document):
2931         (WebCore::Document::setXMLVersion):
2932         (WebCore::Document::setXMLStandalone):
2933         * dom/Document.h:
2934         (WebCore::Document::xmlEncoding):
2935         (WebCore::Document::xmlVersion):
2936         (WebCore::Document::xmlStandalone):
2937         (WebCore::Document::setXMLEncoding):
2938         * dom/Document.idl:
2939         * dom/XMLTokenizer.cpp:
2940         (WebCore::XMLTokenizer::startDocument):
2941         (WebCore::startDocumentHandler):
2942         (WebCore::XMLTokenizer::initializeParserContext):
2943         Added support for these properties, getting them from an libxml2 context.
2944
2945         * html/HTMLDocument.cpp:
2946         (WebCore::HTMLDocument::HTMLDocument):
2947         HTMLDocument is the only kind of document that doesn't have xmlVersion default to "1.0".
2948
2949         * bindings/scripts/CodeGeneratorJS.pm:
2950         * bindings/scripts/CodeGeneratorObjC.pm:
2951         Added WK_ucfirst to properly uppercase xmlVersion and xmlStandalone.
2952
2953 2006-11-20  Nikolas Zimmermann  <zimmermann@kde.org>
2954
2955         Reviewed by Rob.
2956
2957         Fix Qt/Linux build.
2958
2959         * platform/qt/ContextMenuClientQt.cpp:
2960         (WebCore::ContextMenuClientQt::ref):
2961         (WebCore::ContextMenuClientQt::deref):
2962         (WebCore::ContextMenuClientQt::copyLinkToClipboard):
2963         (WebCore::ContextMenuClientQt::downloadURL):
2964         (WebCore::ContextMenuClientQt::copyImageToClipboard):
2965         (WebCore::ContextMenuClientQt::lookUpInDictionary):
2966         * platform/qt/ContextMenuClientQt.h:
2967         * platform/qt/ContextMenuQt.cpp:
2968         (WebCore::ContextMenu::appendItem):
2969         (WebCore::ContextMenu::show):
2970         (WebCore::ContextMenu::itemCount):
2971         (WebCore::ContextMenu::insertItem):
2972         * platform/qt/EditorClientQt.cpp:
2973         (WebCore::EditorClientQt::shouldInsertText):
2974         * platform/qt/EditorClientQt.h:
2975         * platform/qt/FrameQt.cpp:
2976         (WebCore::FrameQt::ignoreSpelling):
2977         (WebCore::FrameQt::learnSpelling):
2978         * platform/qt/FrameQt.h:
2979         * platform/qt/TemporaryLinkStubs.cpp:
2980         (FrameLoader::reload):
2981
2982 2006-11-20  Samuel Weinig  <sam@webkit.org>
2983
2984         Reviewed by Maciej.
2985
2986         Fix for http://bugs.webkit.org/show_bug.cgi?id=11647
2987         Fix Win32 build
2988
2989         * config.h: add #define NOMINMAX for windows build
2990         * platform/win/FontCacheWin.cpp:
2991         (WebCore::FontCache::createFontPlatformData):
2992         * platform/win/TemporaryLinkStubs.cpp: add definitions for 
2993         new cursors.
2994         (WebCore::aliasCursor):
2995         (WebCore::noDropCursor):
2996         (WebCore::progressCursor):
2997
2998 2006-11-19  Beth Dakin  <bdakin@apple.com>
2999
3000         Reviewed by Adam.
3001
3002         Implementation of actions for the new context menus.
3003
3004         * WebCore.exp:
3005         * WebCore.xcodeproj/project.pbxproj:
3006         * bridge/EditorClient.h: Declaration of shouldInsertText.
3007         * bridge/mac/FrameMac.h: Two new spelling functions.
3008         * bridge/mac/FrameMac.mm:
3009         (WebCore::FrameMac::ignoreSpelling):
3010         (WebCore::FrameMac::learnSpelling):
3011         * editing/Editor.cpp:
3012         (WebCore::Editor::shouldInsertText): Call into the client.
3013         * editing/Editor.h:
3014         * editing/EditorInsertAction.h: Added.
3015         (WebCore::): The WebCore equivalent of WebViewInsertAction. This is 
3016         defined in its own header so that we can use it from Editor.h and 
3017         EditorClient.h without having one of the above include the other.
3018         * page/ContextMenuClient.h: A few currently WebKit-implemented 
3019         function needed for menu actions.
3020         * page/ContextMenuController.cpp:
3021         (WebCore::makeGoogleSearchURL):
3022         (WebCore::ContextMenuController::contextMenuActionSelected): The 
3023         actions!
3024         * page/ContextMenuController.h:
3025         * page/Frame.h: New pure-virtual spelling functions.
3026         * platform/ContextMenu.cpp:
3027         (WebCore::ContextMenu::controller): Get the controller from the 
3028         menu.
3029         * platform/ContextMenu.h:
3030         * platform/mac/ContextMenuMac.mm:
3031         (-[MenuTarget 
3032         forwardContextMenuAction:initWithContextMenuController:WebCore::]): 
3033         Use the controller instead of the menu
3034         (-[MenuTarget WebCore::]):
3035         (-[MenuTarget setMenuController:WebCore::]):
3036         (-[MenuTarget forwardContextMenuAction:]):
3037         (getNSMenuItem):
3038         (ContextMenu::show):
3039         (ContextMenu::hide):
3040
3041 2006-11-19  Simon Hausmann  <hausmann@kde.org>
3042
3043         Reviewed by Zack.
3044
3045         http://bugs.webkit.org/show_bug.cgi?id=11649
3046         Fix CMake files for Qt-only build without KDE cmake files.
3047         Fix Qt/KDE build for the SVG support.
3048         Fix Qt-only build in the resource handler.
3049
3050         * CMakeLists.txt:
3051         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Added.
3052         (WebCore::SVGResourceFilter::SVGResourceFilter):
3053         (WebCore::SVGResourceFilter::~SVGResourceFilter):
3054         (WebCore::SVGResourceFilter::prepareFilter):
3055         (WebCore::SVGResourceFilter::applyFilter):
3056         * platform/network/qt/ResourceHandleManager.cpp:
3057         (WebCore::ResourceHandleManager::cancel):
3058         (WebCore::ResourceHandleManager::slotData):
3059         (WebCore::ResourceHandleManager::slotMimetype):
3060         (WebCore::ResourceHandleManager::slotResult):
3061         (WebCore::ResourceHandleManager::deliverJobData):
3062         * platform/network/qt/ResourceHandleManager.h:
3063         * platform/network/qt/ResourceHandleQt.cpp:
3064         * platform/qt/CursorQt.cpp:
3065         (WebCore::noDropCursor):
3066         (WebCore::progressCursor):
3067         (WebCore::aliasCursor):
3068
3069 2006-11-19  Mitz Pettel  <mitz@webkit.org>
3070
3071         Reviewed by Maciej.
3072
3073         - http://bugs.webkit.org/show_bug.cgi?id=11626
3074           Automate test for rdar://problem/4056100
3075
3076         * manual-tests/delete-into-nested-block.html: Removed.
3077
3078 2006-11-19  Nikolas Zimmermann  <zimmermann@kde.org>
3079
3080         Reviewed by Oliver.
3081
3082         Fixes: http://bugs.webkit.org/show_bug.cgi?id=11596
3083
3084         Split up KCanvasFilters & KCanvasFilterQuartz into several
3085         new classes (SVGFEBlend, SVGFEComposite...) and move them
3086         into platform/graphics/svg. This is still a temporary location,
3087         as discussed with Darin; the whole platform/graphics/svg directory
3088         will probably be moved into ksvg2/ in near future.
3089
3090         This finally removes the duplicated enumerations in the svg filter
3091         classes and within kcanvas. ksvg2/ and platform/graphics/svg share
3092         their enums now. As KCanvasFilters is gone now, The kcanvas/ subdirectory
3093         is empty.
3094
3095         * CMakeLists.txt:
3096         * WebCore.xcodeproj/project.pbxproj:
3097         * bindings/scripts/CodeGeneratorJS.pm:
3098         * kcanvas/KCanvasFilters.cpp: Removed.
3099         * kcanvas/KCanvasFilters.h: Removed.
3100         * kcanvas/device/KRenderingDevice.h:
3101         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
3102         (WebCore::KRenderingDeviceQt::createFilterEffect):
3103         * kcanvas/device/qt/KRenderingDeviceQt.h:
3104         * kcanvas/device/quartz/KCanvasFilterQuartz.h: Removed.
3105         * kcanvas/device/quartz/KCanvasFilterQuartz.mm: Removed.
3106         * kcanvas/device/quartz/KCanvasItemQuartz.cpp:
3107         * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
3108         (WebCore::KRenderingDeviceQuartz::createResource):
3109         (WebCore::KRenderingDeviceQuartz::createFilterEffect):
3110         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
3111         * kcanvas/device/quartz/filters/WKArithmeticFilter.cikernel: Removed.
3112         * kcanvas/device/quartz/filters/WKArithmeticFilter.h: Removed.
3113         * kcanvas/device/quartz/filters/WKArithmeticFilter.m: Removed.
3114         * kcanvas/device/quartz/filters/WKComponentMergeFilter.cikernel: Removed.
3115         * kcanvas/device/quartz/filters/WKComponentMergeFilter.h: Removed.
3116         * kcanvas/device/quartz/filters/WKComponentMergeFilter.m: Removed.
3117         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.cikernel: Removed.
3118         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.h: Removed.
3119         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m: Removed.
3120         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.cikernel: Removed.
3121         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.h: Removed.
3122         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m: Removed.
3123         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.cikernel: Removed.
3124         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.h: Removed.
3125         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m: Removed.
3126         * kcanvas/device/quartz/filters/WKDistantLightFilter.cikernel: Removed.
3127         * kcanvas/device/quartz/filters/WKDistantLightFilter.h: Removed.
3128         * kcanvas/device/quartz/filters/WKDistantLightFilter.m: Removed.
3129         * kcanvas/device/quartz/filters/WKGammaTransferFilter.cikernel: Removed.
3130         * kcanvas/device/quartz/filters/WKGammaTransferFilter.h: Removed.
3131         * kcanvas/device/quartz/filters/WKGammaTransferFilter.m: Removed.
3132         * kcanvas/device/quartz/filters/WKIdentityTransferFilter.h: Removed.
3133         * kcanvas/device/quartz/filters/WKIdentityTransferFilter.m: Removed.
3134         * kcanvas/device/quartz/filters/WKLinearTransferFilter.cikernel: Removed.
3135         * kcanvas/device/quartz/filters/WKLinearTransferFilter.h: Removed.
3136         * kcanvas/device/quartz/filters/WKLinearTransferFilter.m: Removed.
3137         * kcanvas/device/quartz/filters/WKNormalMapFilter.cikernel: Removed.
3138         * kcanvas/device/quartz/filters/WKNormalMapFilter.h: Removed.
3139         * kcanvas/device/quartz/filters/WKNormalMapFilter.m: Removed.
3140         * kcanvas/device/quartz/filters/WKPointLightFilter.cikernel: Removed.
3141         * kcanvas/device/quartz/filters/WKPointLightFilter.h: Removed.
3142         * kcanvas/device/quartz/filters/WKPointLightFilter.m: Removed.
3143         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.cikernel: Removed.
3144         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.h: Removed.
3145         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m: Removed.
3146         * kcanvas/device/quartz/filters/WKSpotLightFilter.cikernel: Removed.
3147         * kcanvas/device/quartz/filters/WKSpotLightFilter.h: Removed.
3148         * kcanvas/device/quartz/filters/WKSpotLightFilter.m: Removed.
3149         * kcanvas/device/quartz/filters/WKTableTransferFilter.cikernel: Removed.
3150         * kcanvas/device/quartz/filters/WKTableTransferFilter.h: Removed.
3151         * kcanvas/device/quartz/filters/WKTableTransferFilter.m: Removed.
3152         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
3153         (WebCore::SVGComponentTransferFunctionElement::transferFunction):
3154         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
3155         * ksvg2/svg/SVGFEBlendElement.cpp:
3156         (WebCore::SVGFEBlendElement::filterEffect):
3157         * ksvg2/svg/SVGFEBlendElement.h:
3158         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
3159         (WebCore::SVGFEColorMatrixElement::filterEffect):
3160         * ksvg2/svg/SVGFEColorMatrixElement.h:
3161         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
3162         (WebCore::SVGFEComponentTransferElement::filterEffect):
3163         * ksvg2/svg/SVGFEComponentTransferElement.h:
3164         * ksvg2/svg/SVGFECompositeElement.cpp:
3165         (WebCore::SVGFECompositeElement::filterEffect):
3166         * ksvg2/svg/SVGFECompositeElement.h:
3167         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
3168         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
3169         (WebCore::SVGFEDiffuseLightingElement::updateLights):
3170         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
3171         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
3172         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
3173         (WebCore::SVGFEDisplacementMapElement::filterEffect):
3174         * ksvg2/svg/SVGFEDisplacementMapElement.h:
3175         * ksvg2/svg/SVGFEDistantLightElement.cpp:
3176         (WebCore::SVGFEDistantLightElement::lightSource):
3177         * ksvg2/svg/SVGFEDistantLightElement.h:
3178         * ksvg2/svg/SVGFEFloodElement.cpp:
3179         (WebCore::SVGFEFloodElement::filterEffect):
3180         * ksvg2/svg/SVGFEFloodElement.h:
3181         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
3182         (WebCore::SVGFEGaussianBlurElement::filterEffect):
3183         * ksvg2/svg/SVGFEGaussianBlurElement.h:
3184         * ksvg2/svg/SVGFEImageElement.cpp:
3185         (WebCore::SVGFEImageElement::filterEffect):
3186         * ksvg2/svg/SVGFEImageElement.h:
3187         * ksvg2/svg/SVGFELightElement.h:
3188         * ksvg2/svg/SVGFEMergeElement.cpp:
3189         (WebCore::SVGFEMergeElement::filterEffect):
3190         * ksvg2/svg/SVGFEMergeElement.h:
3191         * ksvg2/svg/SVGFEOffsetElement.cpp:
3192         (WebCore::SVGFEOffsetElement::filterEffect):
3193         * ksvg2/svg/SVGFEOffsetElement.h:
3194         * ksvg2/svg/SVGFEPointLightElement.cpp:
3195         (WebCore::SVGFEPointLightElement::lightSource):
3196         * ksvg2/svg/SVGFEPointLightElement.h:
3197         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
3198         (WebCore::SVGFESpecularLightingElement::filterEffect):
3199         (WebCore::SVGFESpecularLightingElement::updateLights):
3200         * ksvg2/svg/SVGFESpecularLightingElement.h:
3201         * ksvg2/svg/SVGFESpotLightElement.cpp:
3202         (WebCore::SVGFESpotLightElement::lightSource):
3203         * ksvg2/svg/SVGFESpotLightElement.h:
3204         * ksvg2/svg/SVGFETileElement.cpp:
3205         (WebCore::SVGFETileElement::filterEffect):
3206         * ksvg2/svg/SVGFETileElement.h:
3207         * ksvg2/svg/SVGFETurbulenceElement.cpp:
3208         (WebCore::SVGFETurbulenceElement::filterEffect):
3209         * ksvg2/svg/SVGFETurbulenceElement.h:
3210         (WebCore::):
3211         * ksvg2/svg/SVGFilterElement.cpp:
3212         (WebCore::SVGFilterElement::canvasResource):
3213         * ksvg2/svg/SVGFilterElement.h:
3214         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
3215         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
3216         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
3217         * platform/graphics/FloatPoint3D.cpp: Added.
3218         (WebCore::FloatPoint3D::FloatPoint3D):
3219         (WebCore::FloatPoint3D::x):
3220         (WebCore::FloatPoint3D::setX):
3221         (WebCore::FloatPoint3D::y):
3222         (WebCore::FloatPoint3D::setY):
3223         (WebCore::FloatPoint3D::z):
3224         (WebCore::FloatPoint3D::setZ):
3225         (WebCore::FloatPoint3D::normalize):
3226         * platform/graphics/FloatPoint3D.h: Added.
3227         * platform/graphics/svg/SVGResourceFilter.cpp: Added.
3228         (WebCore::SVGResourceFilter::clearEffects):
3229         (WebCore::SVGResourceFilter::addFilterEffect):
3230         (WebCore::SVGResourceFilter::filterBBoxForItemBBox):
3231         (WebCore::SVGResourceFilter::externalRepresentation):
3232         (WebCore::getFilterById):
3233         * platform/graphics/svg/SVGResourceFilter.h: Added.
3234         (WebCore::SVGResourceFilter::isFilter):
3235         (WebCore::SVGResourceFilter::filterBoundingBoxMode):
3236         (WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
3237         (WebCore::SVGResourceFilter::effectBoundingBoxMode):
3238         (WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
3239         (WebCore::SVGResourceFilter::filterRect):
3240         (WebCore::SVGResourceFilter::setFilterRect):
3241         * platform/graphics/svg/SVGResourceImage.h:
3242         * platform/graphics/svg/SVGResourceListener.h:
3243         (SVGResourceListener::SVGResourceListener):
3244         (SVGResourceListener::~SVGResourceListener):
3245         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
3246         * platform/graphics/svg/cg/SVGResourceFilterCg.mm: Added.
3247         (WebCore::SVGResourceFilter::SVGResourceFilter):
3248         (WebCore::SVGResourceFilter::~SVGResourceFilter):
3249         (WebCore::SVGResourceFilter::prepareFilter):
3250         (WebCore::SVGResourceFilter::applyFilter):
3251         (WebCore::SVGResourceFilter::getCIFilterStack):
3252         (WebCore::SVGResourceFilter::imageForName):
3253         (WebCore::SVGResourceFilter::setImageForName):
3254         (WebCore::SVGResourceFilter::setOutputImage):
3255         (WebCore::alphaImageForImage):
3256         (WebCore::SVGResourceFilter::inputImage):
3257         * platform/graphics/svg/cg/SVGResourceMaskerCg.h: Removed.
3258         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
3259         * platform/graphics/svg/filters/SVGDistantLightSource.h: Added.
3260         (WebCore::SVGDistantLightSource::SVGDistantLightSource):
3261         (WebCore::SVGDistantLightSource::azimuth):
3262         (WebCore::SVGDistantLightSource::elevation):
3263         * platform/graphics/svg/filters/SVGFEBlend.cpp: Added.
3264         (WebCore::SVGFEBlend::in2):
3265         (WebCore::SVGFEBlend::setIn2):
3266         (WebCore::SVGFEBlend::blendMode):
3267         (WebCore::SVGFEBlend::setBlendMode):
3268         (WebCore::operator<<):
3269         (WebCore::SVGFEBlend::externalRepresentation):
3270         * platform/graphics/svg/filters/SVGFEBlend.h: Added.
3271         (WebCore::):
3272         * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Added.
3273         (WebCore::SVGFEColorMatrix::type):
3274         (WebCore::SVGFEColorMatrix::setType):
3275         (WebCore::SVGFEColorMatrix::values):
3276         (WebCore::SVGFEColorMatrix::setValues):
3277         (WebCore::operator<<):
3278         (WebCore::SVGFEColorMatrix::externalRepresentation):
3279         * platform/graphics/svg/filters/SVGFEColorMatrix.h: Added.
3280         (WebCore::):
3281         * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Added.
3282         (WebCore::SVGFEComponentTransfer::redFunction):
3283         (WebCore::SVGFEComponentTransfer::setRedFunction):
3284         (WebCore::SVGFEComponentTransfer::greenFunction):
3285         (WebCore::SVGFEComponentTransfer::setGreenFunction):
3286         (WebCore::SVGFEComponentTransfer::blueFunction):
3287         (WebCore::SVGFEComponentTransfer::setBlueFunction):
3288         (WebCore::SVGFEComponentTransfer::alphaFunction):
3289         (WebCore::SVGFEComponentTransfer::setAlphaFunction):
3290         (WebCore::operator<<):
3291         (WebCore::SVGFEComponentTransfer::externalRepresentation):
3292         * platform/graphics/svg/filters/SVGFEComponentTransfer.h: Added.
3293         (WebCore::):
3294         (WebCore::SVGComponentTransferFunction::SVGComponentTransferFunction):
3295         * platform/graphics/svg/filters/SVGFEComposite.cpp: Added.
3296         (WebCore::SVGFEComposite::in2):
3297         (WebCore::SVGFEComposite::setIn2):
3298         (WebCore::SVGFEComposite::operation):
3299         (WebCore::SVGFEComposite::setOperation):
3300         (WebCore::SVGFEComposite::k1):
3301         (WebCore::SVGFEComposite::setK1):
3302         (WebCore::SVGFEComposite::k2):
3303         (WebCore::SVGFEComposite::setK2):
3304         (WebCore::SVGFEComposite::k3):
3305         (WebCore::SVGFEComposite::setK3):
3306         (WebCore::SVGFEComposite::k4):
3307         (WebCore::SVGFEComposite::setK4):
3308         (WebCore::SVGFEComposite::externalRepresentation):
3309         * platform/graphics/svg/filters/SVGFEComposite.h: Added.
3310         (WebCore::):
3311         * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Added.
3312         (WebCore::SVGFEConvolveMatrix::kernelSize):
3313         (WebCore::SVGFEConvolveMatrix::setKernelSize):
3314         (WebCore::SVGFEConvolveMatrix::kernel):
3315         (WebCore::SVGFEConvolveMatrix::setKernel):
3316         (WebCore::SVGFEConvolveMatrix::divisor):
3317         (WebCore::SVGFEConvolveMatrix::setDivisor):
3318         (WebCore::SVGFEConvolveMatrix::bias):
3319         (WebCore::SVGFEConvolveMatrix::setBias):
3320         (WebCore::SVGFEConvolveMatrix::targetOffset):
3321         (WebCore::SVGFEConvolveMatrix::setTargetOffset):
3322         (WebCore::SVGFEConvolveMatrix::edgeMode):
3323         (WebCore::SVGFEConvolveMatrix::setEdgeMode):
3324         (WebCore::SVGFEConvolveMatrix::kernelUnitLength):
3325         (WebCore::SVGFEConvolveMatrix::setKernelUnitLength):
3326         (WebCore::SVGFEConvolveMatrix::preserveAlpha):
3327         (WebCore::SVGFEConvolveMatrix::setPreserveAlpha):
3328         (WebCore::operator<<):
3329         (WebCore::SVGFEConvolveMatrix::externalRepresentation):
3330         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Added.
3331         (WebCore::):
3332         * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Added.
3333         (WebCore::SVGFEDiffuseLighting::SVGFEDiffuseLighting):
3334         (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
3335         (WebCore::SVGFEDiffuseLighting::lightingColor):
3336         (WebCore::SVGFEDiffuseLighting::setLightingColor):
3337         (WebCore::SVGFEDiffuseLighting::surfaceScale):
3338         (WebCore::SVGFEDiffuseLighting::setSurfaceScale):
3339         (WebCore::SVGFEDiffuseLighting::diffuseConstant):
3340         (WebCore::SVGFEDiffuseLighting::setDiffuseConstant):
3341         (WebCore::SVGFEDiffuseLighting::kernelUnitLengthX):
3342         (WebCore::SVGFEDiffuseLighting::setKernelUnitLengthX):
3343         (WebCore::SVGFEDiffuseLighting::kernelUnitLengthY):
3344         (WebCore::SVGFEDiffuseLighting::setKernelUnitLengthY):
3345         (WebCore::SVGFEDiffuseLighting::lightSource):
3346         (WebCore::SVGFEDiffuseLighting::setLightSource):
3347         (WebCore::SVGFEDiffuseLighting::externalRepresentation):
3348         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Added.
3349         * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Added.
3350         (WebCore::SVGFEDisplacementMap::SVGFEDisplacementMap):
3351         (WebCore::SVGFEDisplacementMap::in2):
3352         (WebCore::SVGFEDisplacementMap::setIn2):
3353         (WebCore::SVGFEDisplacementMap::xChannelSelector):
3354         (WebCore::SVGFEDisplacementMap::setXChannelSelector):
3355         (WebCore::SVGFEDisplacementMap::yChannelSelector):
3356         (WebCore::SVGFEDisplacementMap::setYChannelSelector):
3357         (WebCore::SVGFEDisplacementMap::scale):
3358         (WebCore::SVGFEDisplacementMap::setScale):
3359         (WebCore::operator<<):
3360         (WebCore::SVGFEDisplacementMap::externalRepresentation):
3361         * platform/graphics/svg/filters/SVGFEDisplacementMap.h: Added.
3362         (WebCore::):
3363         * platform/graphics/svg/filters/SVGFEFlood.cpp: Added.
3364         (WebCore::SVGFEFlood::floodColor):
3365         (WebCore::SVGFEFlood::setFloodColor):
3366         (WebCore::SVGFEFlood::floodOpacity):
3367         (WebCore::SVGFEFlood::setFloodOpacity):
3368         (WebCore::SVGFEFlood::externalRepresentation):
3369         * platform/graphics/svg/filters/SVGFEFlood.h: Added.
3370         * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Added.
3371         (WebCore::SVGFEGaussianBlur::stdDeviationX):
3372         (WebCore::SVGFEGaussianBlur::setStdDeviationX):
3373         (WebCore::SVGFEGaussianBlur::stdDeviationY):
3374         (WebCore::SVGFEGaussianBlur::setStdDeviationY):
3375         (WebCore::SVGFEGaussianBlur::externalRepresentation):
3376         * platform/graphics/svg/filters/SVGFEGaussianBlur.h: Added.
3377         * platform/graphics/svg/filters/SVGFEImage.cpp: Added.
3378         (WebCore::SVGFEImage::SVGFEImage):
3379         (WebCore::SVGFEImage::~SVGFEImage):
3380         (WebCore::SVGFEImage::cachedImage):
3381         (WebCore::SVGFEImage::setCachedImage):
3382         (WebCore::SVGFEImage::externalRepresentation):
3383         * platform/graphics/svg/filters/SVGFEImage.h: Added.
3384         * platform/graphics/svg/filters/SVGFEMerge.cpp: Added.
3385         (WebCore::SVGFEMerge::mergeInputs):
3386         (WebCore::SVGFEMerge::setMergeInputs):
3387         (WebCore::SVGFEMerge::externalRepresentation):
3388         * platform/graphics/svg/filters/SVGFEMerge.h: Added.
3389         * platform/graphics/svg/filters/SVGFEMorphology.cpp: Added.
3390         (WebCore::SVGFEMorphology::morphologyOperator):
3391         (WebCore::SVGFEMorphology::setMorphologyOperator):
3392         (WebCore::SVGFEMorphology::radiusX):
3393         (WebCore::SVGFEMorphology::setRadiusX):
3394         (WebCore::SVGFEMorphology::radiusY):
3395         (WebCore::SVGFEMorphology::setRadiusY):
3396         (WebCore::operator<<):
3397         (WebCore::SVGFEMorphology::externalRepresentation):
3398         * platform/graphics/svg/filters/SVGFEMorphology.h: Added.
3399         (WebCore::):
3400         * platform/graphics/svg/filters/SVGFEOffset.cpp: Added.
3401         (WebCore::SVGFEOffset::dx):
3402         (WebCore::SVGFEOffset::setDx):
3403         (WebCore::SVGFEOffset::dy):
3404         (WebCore::SVGFEOffset::setDy):
3405         (WebCore::SVGFEOffset::externalRepresentation):
3406         * platform/graphics/svg/filters/SVGFEOffset.h: Added.
3407         * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Added.
3408         (WebCore::SVGFESpecularLighting::SVGFESpecularLighting):
3409         (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
3410         (WebCore::SVGFESpecularLighting::lightingColor):
3411         (WebCore::SVGFESpecularLighting::setLightingColor):
3412         (WebCore::SVGFESpecularLighting::surfaceScale):
3413         (WebCore::SVGFESpecularLighting::setSurfaceScale):
3414         (WebCore::SVGFESpecularLighting::specularConstant):
3415         (WebCore::SVGFESpecularLighting::setSpecularConstant):
3416         (WebCore::SVGFESpecularLighting::specularExponent):
3417         (WebCore::SVGFESpecularLighting::setSpecularExponent):
3418         (WebCore::SVGFESpecularLighting::kernelUnitLengthX):
3419         (WebCore::SVGFESpecularLighting::setKernelUnitLengthX):
3420         (WebCore::SVGFESpecularLighting::kernelUnitLengthY):
3421         (WebCore::SVGFESpecularLighting::setKernelUnitLengthY):
3422         (WebCore::SVGFESpecularLighting::lightSource):
3423         (WebCore::SVGFESpecularLighting::setLightSource):
3424         (WebCore::SVGFESpecularLighting::externalRepresentation):
3425         * platform/graphics/svg/filters/SVGFESpecularLighting.h: Added.
3426         * platform/graphics/svg/filters/SVGFETile.h: Added.
3427         * platform/graphics/svg/filters/SVGFETurbulence.cpp: Added.
3428         (WebCore::SVGFETurbulence::type):
3429         (WebCore::SVGFETurbulence::setType):
3430         (WebCore::SVGFETurbulence::baseFrequencyY):
3431         (WebCore::SVGFETurbulence::setBaseFrequencyY):
3432         (WebCore::SVGFETurbulence::baseFrequencyX):
3433         (WebCore::SVGFETurbulence::setBaseFrequencyX):
3434         (WebCore::SVGFETurbulence::seed):
3435         (WebCore::SVGFETurbulence::setSeed):
3436         (WebCore::SVGFETurbulence::numOctaves):
3437         (WebCore::SVGFETurbulence::setNumOctaves):
3438         (WebCore::SVGFETurbulence::stitchTiles):
3439         (WebCore::SVGFETurbulence::setStitchTiles):
3440         (WebCore::operator<<):
3441         (WebCore::SVGFETurbulence::externalRepresentation):
3442         * platform/graphics/svg/filters/SVGFETurbulence.h: Added.
3443         (WebCore::):
3444         * platform/graphics/svg/filters/SVGFilterEffect.cpp: Added.
3445         (WebCore::SVGFilterEffect::subRegion):
3446         (WebCore::SVGFilterEffect::setSubRegion):
3447         (WebCore::SVGFilterEffect::in):
3448         (WebCore::SVGFilterEffect::setIn):
3449         (WebCore::SVGFilterEffect::result):
3450         (WebCore::SVGFilterEffect::setResult):
3451         (WebCore::SVGFilterEffect::externalRepresentation):
3452         (WebCore::operator<<):
3453         * platform/graphics/svg/filters/SVGFilterEffect.h: Added.
3454         (WebCore::):
3455         (WebCore::SVGFilterEffect::SVGFilterEffect):
3456         (WebCore::SVGFilterEffect::~SVGFilterEffect):
3457         (WebCore::SVGFilterEffect::effectType):
3458         * platform/graphics/svg/filters/SVGLightSource.cpp: Added.
3459         (WebCore::operator<<):
3460         (WebCore::SVGPointLightSource::externalRepresentation):
3461         (WebCore::SVGSpotLightSource::externalRepresentation):
3462         (WebCore::SVGDistantLightSource::externalRepresentation):
3463         * platform/graphics/svg/filters/SVGLightSource.h: Added.
3464         (WebCore::):
3465         (WebCore::SVGLightSource::SVGLightSource):
3466         (WebCore::SVGLightSource::~SVGLightSource):
3467         (WebCore::SVGLightSource::type):
3468         * platform/graphics/svg/filters/SVGPointLightSource.h: Added.
3469         (WebCore::SVGPointLightSource::SVGPointLightSource):
3470         (WebCore::SVGPointLightSource::position):
3471         * platform/graphics/svg/filters/SVGSpotLightSource.h: Added.
3472         (WebCore::SVGSpotLightSource::SVGSpotLightSource):
3473         (WebCore::SVGSpotLightSource::position):
3474         (WebCore::SVGSpotLightSource::direction):
3475         (WebCore::SVGSpotLightSource::specularExponent):
3476         (WebCore::SVGSpotLightSource::limitingConeAngle):
3477         * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Added.
3478         (WebCore::SVGFEBlend::getCIFilter):
3479         * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Added.
3480         (WebCore::SVGFEColorMatrix::getCIFilter):
3481         * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Added.
3482         (WebCore::genImageFromTable):
3483         (WebCore::setParametersForComponentFunc):
3484         (WebCore::filterForComponentFunc):
3485         (WebCore::getFilterForFunc):
3486         (WebCore::SVGFEComponentTransfer::getFunctionFilter):
3487         (WebCore::SVGFEComponentTransfer::getCIFilter):
3488         * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Added.
3489         (WebCore::SVGFEComposite::getCIFilter):
3490         * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Added.
3491         (WebCore::SVGFEDiffuseLighting::getCIFilter):
3492         * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Added.
3493         (WebCore::SVGFEDisplacementMap::getCIFilter):
3494         * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Added.
3495         (WebCore::SVGFEFlood::getCIFilter):
3496         * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Added.
3497         (WebCore::SVGFEGaussianBlur::getCIFilter):
3498         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Added.
3499         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Added.
3500         (WebCore::getVectorForChannel):
3501         (WebCore::ciColor):
3502         (WebCore::getPointLightVectors):
3503         (WebCore::getLightVectors):
3504         (WebCore::getNormalMap):
3505         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Added.
3506         (WebCore::SVGFEImage::getCIFilter):
3507         * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Added.
3508         (WebCore::SVGFEMerge::getCIFilter):
3509         * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Added.
3510         (WebCore::SVGFEOffset::getCIFilter):
3511         * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Added.
3512         (WebCore::SVGFESpecularLighting::getCIFilter):
3513         * platform/graphics/svg/filters/cg/SVGFETileCg.mm: Added.
3514         (WebCore::SVGFETile::getCIFilter):
3515         * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Added.
3516         (WebCore::SVGFilterEffect::getCIFilter):
3517         * rendering/RenderPath.cpp:
3518         (WebCore::RenderPath::getAbsoluteRepaintRect):
3519         (WebCore::RenderPath::paint):
3520         * rendering/RenderSVGContainer.cpp:
3521         (WebCore::RenderSVGContainer::paint):
3522         (WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
3523         * rendering/RenderSVGImage.cpp:
3524         (WebCore::RenderSVGImage::paint):
3525         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
3526         * rendering/SVGInlineFlowBox.cpp:
3527         (WebCore::paintSVGInlineFlow):
3528
3529 2006-11-18  Rob Buis  <buis@kde.org>
3530
3531         Reviewed by Maciej.
3532
3533