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