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