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