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