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