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