Reviewed by Adele.
[WebKit-https.git] / WebCore / ChangeLog
1 2006-10-23  Adam Roben  <aroben@apple.com>
2
3         Reviewed by Adele.
4
5         Move border-radius rule for <select>s into RenderThemeMac, as this is
6         really a platform-specific look.
7
8         * css/html4.css:
9         * rendering/RenderThemeMac.mm:
10         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
11
12 2006-10-23  Maciej Stachowiak  <mjs@apple.com>
13
14         Reviewed by Brady.
15
16         - moved things around so loadURL:... is only called from one place
17
18         * bridge/mac/FrameMac.h:
19         * bridge/mac/FrameMac.mm:
20         (WebCore::FrameMac::frameDetached):
21         (WebCore::FrameMac::loadRequest):
22         (WebCore::FrameMac::submitForm):
23         (WebCore::FrameMac::openURL):
24         (WebCore::FrameMac::openURLRequest):
25         (WebCore::FrameMac::urlSelected):
26
27 2006-10-23  Justin Garcia  <justin.garcia@apple.com>
28
29         Reviewed by john
30         
31         <http://bugs.webkit.org/show_bug.cgi?id=11333>
32         Writely Editor: After inserting a HR element, pressing return key creates a copy of this HR element in the document
33         
34         Added special cases in InsertLineBreakCommand for inserting before
35         and after tables and horizontal rules.  Also, perform InsertLineBreak
36         instead of InsertParagraphSeparator at these positions.
37
38         * editing/InsertLineBreakCommand.cpp:
39         (WebCore::InsertLineBreakCommand::doApply):  Use the canonical form
40         of the caret position when we check for the new special cases because 
41         we know that we canonicalize VisiblePositions to those positions.
42         Added code to handle inserting before/after tables and horizontal rules.  
43         Fixed a bug when inserting at the end of a block (it checked for a collapse
44         of the inserted br by looking for the absence of a br, but the line break 
45         might have been a '\n' in white-space:pre text).  Removed unused LOGs.
46         * editing/InsertParagraphSeparatorCommand.cpp:
47         (WebCore::InsertParagraphSeparatorCommand::doApply): Perform an 
48         InsertLineBreakCommand when before/after a table or a horizontal rule
49         so that we don't have to maintain two pieces of special case code.
50         Migrated to enclosingBlock.
51         * editing/htmlediting.cpp: Added a FIXME.
52         * editing/visible_units.cpp:
53         (WebCore::startOfParagraph): Added a workaround for 8622.
54         
55 2006-10-23  Adam Roben  <aroben@apple.com>
56
57         Reviewed by Adele.
58
59         Make popups a little more flexible.
60
61         * platform/PopupMenu.h:
62
63 2006-10-23  Sam Weinig  <sam.weinig@gmail.com>
64
65         Reviewed by Tim H.
66
67         Cleanup CodeGeneratorJS.pm
68
69         * bindings/scripts/CodeGeneratorJS.pm:
70
71 2006-10-23  Adam Roben  <aroben@apple.com>
72
73         Rubberstamped by Brady.
74
75         * loader/icon/IconLoader.h: Changed angle-brackets to quotes for
76         #include of ResourceLoader.h, since it's a WebCore header.
77
78 2006-10-23  Darin Adler  <darin@apple.com>
79
80         - fixed mistake that was preventing any loading from happening
81
82         * platform/network/ResourceLoaderClient.h: (WebCore::ResourceLoaderClient::didReceiveData):
83         Changed parameter back to int. Perhaps we want to move to "long long" consistently, but
84         I'll leave that up to Maciej.
85
86 2006-10-23  Maciej Stachowiak  <mjs@apple.com>
87
88         Reviewed by Anders.
89
90         - start converting ResourceLoaderClient to new API
91
92         Did the bits I could do without introducing new types:
93         
94         - renamed receivedData to didReceiveData
95         - renamed version of receivedAllData that doesn't pass any data to didFinishLoading
96
97         * bridge/mac/WebCoreResourceLoaderImp.mm:
98         (-[WebCoreResourceLoaderImp addData:]):
99         (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
100         * loader/icon/IconLoader.cpp:
101         (IconLoader::didReceiveData):
102         (IconLoader::didFinishLoading):
103         * loader/icon/IconLoader.h:
104         * loader/loader.cpp:
105         (WebCore::Loader::didReceiveData):
106         * loader/loader.h:
107         * platform/gdk/FrameGdk.cpp:
108         (WebCore::FrameGdkClientDefault::didReceiveData):
109         * platform/gdk/FrameGdk.h:
110         * platform/network/ResourceLoaderClient.h:
111         (WebCore::ResourceLoaderClient::didReceiveData):
112         (WebCore::ResourceLoaderClient::didFinishLoading):
113         (WebCore::ResourceLoaderClient::receivedResponse):
114         * platform/network/cf/ResourceLoaderCFNet.cpp:
115         (WebCore::didReceiveData):
116         (WebCore::didFinishLoading):
117         (WebCore::didFail):
118         (WebCore::ResourceLoader::cancel):
119         * platform/network/gdk/ResourceLoaderManager.cpp:
120         (WebCore::writeCallback):
121         (WebCore::ResourceLoaderManager::downloadTimerCallback):
122         (WebCore::ResourceLoaderManager::remove):
123         * platform/network/qt/ResourceLoaderManager.cpp:
124         (WebCore::ResourceLoaderManager::slotData):
125         (WebCore::ResourceLoaderManager::remove):
126         * platform/network/win/ResourceLoaderWin.cpp:
127         (WebCore::ResourceLoader::onRequestComplete):
128         (WebCore::ResourceLoader::fileLoadTimer):
129         (WebCore::ResourceLoader::cancel):
130         * platform/qt/FrameQtClient.cpp:
131         (WebCore::FrameQtClientDefault::didReceiveData):
132         * platform/qt/FrameQtClient.h:
133         * xml/xmlhttprequest.cpp:
134         (WebCore::XMLHttpRequest::processSyncLoadResults):
135         (WebCore::XMLHttpRequest::didFinishLoading):
136         (WebCore::XMLHttpRequest::didReceiveData):
137         * xml/xmlhttprequest.h:
138
139 2006-10-23  Maciej Stachowiak  <mjs@apple.com>
140
141         Rubber stamped by Anders.
142
143         - marked files executable
144         
145         * ksvg2/scripts/csscssmakeprops:
146         * ksvg2/scripts/csscssmakevalues:
147
148 2006-10-22  Maciej Stachowiak  <mjs@apple.com>
149
150         Reviewed by Anders.
151
152         - moved ResourceLoader and related files to platform/network
153         in preparation for building out this API.
154
155         I tried to update all the build systems but I'm not sure they are
156         all fixed properly
157
158         * page/ResourceRequest.h: Moved to platform/network.
159         * platform/ResourceLoader.cpp: Moved to platform/network.
160         * platform/ResourceLoader.h: Moved to platform/network.
161         * platform/ResourceLoaderClient.h: Moved to platform/network.
162         * platform/ResourceLoaderInternal.h: Moved to platform/network.
163         * platform/cf/ResourceLoaderCFNet.cpp: Moved to platform/network/cf.
164         * platform/gdk/ResourceLoaderCurl.cpp: Moved to platform/network/gdk.
165         * platform/gdk/ResourceLoaderManager.cpp: Moved to platform/network/gdk.
166         * platform/gdk/ResourceLoaderManager.h: Moved to platform/network/gdk.
167         * platform/mac/ResourceLoaderMac.mm: Moved to platform/network/mac.
168         * platform/qt/ResourceLoaderManager.cpp: Moved to platform/network/qt.
169         * platform/qt/ResourceLoaderManager.h: Moved to platform/network/qt.
170         * platform/qt/ResourceLoaderQt.cpp: Moved to platform/network/qt.
171         * platform/win/ResourceLoaderWin.cpp: Moved to platform/network/win.
172         * platform/win/ResourceLoaderWin.h: Moved to platform/network/win.
173         * webcore-base.bkl: Updated for new paths.
174         * CMakeLists.txt: ditto
175         * Projects/gdk/webcore-gdk.bkl: ditto
176         * WebCore.xcodeproj/project.pbxproj: ditto
177         * WebCoreSources.bkl: ditto
178
179 2006-10-22  Sam Weinig  <sam.weinig@gmail.com>
180
181         Reviewed by Tim H.
182
183         - Add DOMHTMLFormElementPrivate.h to the project.
184
185         * WebCore.xcodeproj/project.pbxproj:
186         * bindings/objc/DOMPrivate.h:
187
188 2006-10-22  Darin Adler  <darin@apple.com>
189
190         - another try at fixing Qt
191
192         * CMakeLists.txt: Added DeleteButton.cpp and DeleteButtonController.cpp.
193
194         - and fix a couple warnings while I'm at it
195
196         * platform/image-decoders/ImageDecoder.h: (WebCore::RGBA32Buffer::setRGBA):
197         Don't do unsigned *= float.
198
199         * rendering/break_lines.cpp: (WebCore::nextBreakablePosition): Move unused variable
200         inside #if so it's consistent.
201
202 2006-10-21  Darin Adler  <darin@apple.com>
203
204         - fix the Qt build
205
206         * platform/qt/EditorClientQt.cpp:
207         (WebCore::EditorClientQt::shouldShowDeleteInterface):
208         * platform/qt/EditorClientQt.h:
209         * platform/qt/FrameQt.cpp:
210
211 2006-10-21  Darin Adler  <darin@apple.com>
212
213         Reviewed by Adele.
214
215         - convert WebLoader and its 3 subclasses to C++ (this time with a leak fixed)
216
217         Renamed WebLoader to WebCore::WebResourceLoader (should be ResourceLoader, but
218         there's currently another class with that name).
219         Renamed WebMainResourceLoader to WebCore::MainResourceLoader.
220         Renamed WebSubresourceLoader to WebCore::SubresourceLoader.
221         Renamed WebNetscapePlugInStreamLoader to WebCore::NetscapePlugInStreamLoader.
222
223         Converted the classes to C++ and added Objective-C delegates to forward from
224         API that still requires Objective-C.
225
226         Did not yet rename the source files.
227
228         * WebCore.exp: Removed WebLoader, WebNetscapePlugInStreamLoader, and WebSubresourceLoader
229         classes. Added 5 functions from the WebResourceLoader and NetscapePlugInStreamLoader
230         classes.
231
232         * WebCore.xcodeproj/project.pbxproj: Made RetainPtr.h a private header instead of project.
233
234         * platform/cf/RetainPtr.h: Put into the WebCore namespace rather than the WTF namespace.
235
236         * loader/mac/WebLoader.h:
237         * loader/mac/WebLoader.mm:
238         * loader/mac/WebMainResourceLoader.h:
239         * loader/mac/WebMainResourceLoader.mm:
240         * loader/mac/WebNetscapePlugInStreamLoader.h:
241         * loader/mac/WebNetscapePlugInStreamLoader.mm:
242         * loader/mac/WebSubresourceLoader.h:
243         * loader/mac/WebSubresourceLoader.mm:
244         Translate to C++.
245
246         * bridge/mac/WebCoreFrameBridge.mm:
247         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
248         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
249         * loader/mac/WebFrameLoader.h:
250         * loader/mac/WebFrameLoader.mm:
251         (isCaseInsensitiveEqual):
252         (isBackForwardLoadType):
253         (-[WebFrameLoader dealloc]):
254         (-[WebFrameLoader addPlugInStreamLoader:]):
255         (-[WebFrameLoader removePlugInStreamLoader:]):
256         (-[WebFrameLoader setDefersCallbacks:]):
257         (-[WebFrameLoader stopLoadingPlugIns]):
258         (-[WebFrameLoader isLoadingMainResource]):
259         (-[WebFrameLoader isLoadingSubresources]):
260         (-[WebFrameLoader isLoadingPlugIns]):
261         (-[WebFrameLoader stopLoadingSubresources]):
262         (-[WebFrameLoader addSubresourceLoader:]):
263         (-[WebFrameLoader removeSubresourceLoader:]):
264         (-[WebFrameLoader mainResourceData]):
265         (-[WebFrameLoader releaseMainResourceLoader]):
266         (-[WebFrameLoader cancelMainResourceLoad]):
267         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
268         (-[WebFrameLoader stopLoadingWithError:]):
269         (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
270         (-[WebFrameLoader archiveLoadPendingForLoader:]):
271         (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
272         * loader/mac/WebFrameLoaderClient.h:
273         Call the new C++ API.
274
275 2006-10-21  Adam Roben  <aroben@apple.com>
276
277         Reviewed by Anders.
278
279         Popup tweaks.
280
281         * platform/PopupMenu.h:
282
283 2006-10-21  Darin Adler  <darin@apple.com>
284
285         * editing/DeleteButtonController.cpp: (WebCore::enclosingDeletableTable):
286         Oops, edited this before landing it and introduced a null-deref! This fixes it.
287
288 2006-10-21  Darin Adler  <darin@apple.com>
289
290         Reviewed by Anders.
291
292         - fix http://bugs.webkit.org/show_bug.cgi?id=11379
293           assertion failure seen in editing tests (in new DeleteButtonController)
294
295         I cleaned up the relationship between the Frame, Editor, EditorClient, and
296         DeleteButtonController a bit while also making the simple change to fix the
297         assertion failure.
298
299         * bridge/mac/FrameMac.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
300         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):
301
302         * page/Frame.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
303         * page/Frame.cpp:
304         (WebCore::Frame::Frame): Ditto.
305         (WebCore::Frame::appliedEditing): Removed unneeded parameter to the respondToChangedContents
306         function, and moved it to Editor rather than right on the DeleteButtonController.
307         (WebCore::Frame::unappliedEditing): Ditto.
308         (WebCore::Frame::reappliedEditing): Ditto.
309         * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): More of the same.
310
311         * editing/DeleteButtonController.h:
312         * editing/DeleteButtonController.cpp:
313         (WebCore::DeleteButtonController::DeleteButtonController): Replaced Editor* with a Frame*.
314         The general pattern is that we always use the Frame* as the frame identifier. See FrameTree,
315         for example.
316         (WebCore::enclosingDeletableTable): Added. Helper function used by the respondToChangedSelection
317         function. Includes an additional check for whether the container is contentEditable, which
318         was missing from the old version. This prevents the assertion failure. Also added a check that
319         the table itself is editable.
320         (WebCore::DeleteButtonController::respondToChangedSelection): Rewrote to use the helper.
321         (WebCore::DeleteButtonController::respondToChangedContents): Removed the unnecessary
322         selection parameter. No need to pass in the state of the frame since we can get it if we need it.
323         (WebCore::DeleteButtonController::show): Updated to use frame pointer rather than editor pointer.
324
325         * editing/Editor.cpp: Fixed formatting. Even the temporary placeholder functions should be
326         formatted on multiple lines as usual.
327         (WebCore::Editor::respondToChangedSelection): Added. Forwards to the delete button controller.
328         (WebCore::Editor::respondToChangedContents): Ditto.
329         (WebCore::Editor::Editor): Changed EditorClient parameter to a PassRefPtr since we take ownership.
330
331         * editing/Editor.h: Changed the DeleteButtonController to use an OwnPtr instead of being
332         defined inline to decouple so that we don't have to include DeleteButtonController.h. That way
333         changes to DeleteButtonController.h cause very little to recompile.
334
335         * editing/SelectionController.cpp: (WebCore::SelectionController::setSelection):
336         Updated to call the editor instead of the delete button controller for the selection change.
337
338 2006-10-21  Anders Carlsson  <acarlsson@apple.com>
339
340         Reviewed by Darin.
341
342         * loader/mac/LoaderFunctionsMac.mm:
343         (WebCore::ServeSynchronousRequest):
344         * platform/mac/ResourceLoaderMac.mm:
345         (WebCore::ResourceLoader::start):
346         Don't leak the header dictionary.
347
348 2006-10-21  Darin Adler  <darin@apple.com>
349
350         Reviewed by Adam.
351
352         - http://bugs.webkit.org/show_bug.cgi?id=11376
353           build scripts should invoke make with "-j" option for multiple processors
354
355         * WebCore.xcodeproj/project.pbxproj: Pass -j `sysctl -n hw.ncpu` to make.
356
357 2006-10-21  Timothy Hatcher  <timothy@apple.com>
358
359         Reviewed by Geoff.
360
361         <rdar://problem/4478625> HTML Editing: Basic table editing and culling
362
363         Initial implementaltion of table deletion user interface:
364         * Interface shows up on the nearest table containing the entire selection.
365         * Shows a Dashboard style close button in the top left corner.
366         * Shows a 60% opaque black outline around the table.
367         * Adds a new EditorClient function shouldShowDeleteInterface.
368
369         Also adds a new constructor CachedImage and setter functions on
370         HTMLImageElement and HTMLImageLoader allowing an Image object to be set
371         and image element in the page. This change also paves the way to allow an
372         NSImage setter on DOMHTMLImageElement. 
373
374         * Resources/deleteButton.tiff: Added.
375         * Resources/deleteButtonPressed.tiff: Added.
376         * WebCore.xcodeproj/project.pbxproj:
377         * bridge/EditorClient.h:
378         * editing/DeleteButton.cpp: Added.
379         (WebCore::DeleteButton::DeleteButton):
380         (WebCore::DeleteButton::defaultEventHandler): notify the controller to delete on click
381         * editing/DeleteButton.h: Added.
382         * editing/DeleteButtonController.cpp: Added.
383         (WebCore::DeleteButtonController::DeleteButtonController):
384         (WebCore::DeleteButtonController::respondToChangedSelection): move the interface to the new element, or hide
385         (WebCore::DeleteButtonController::respondToChangedContents): call updateOutlineStyle
386         (WebCore::DeleteButtonController::updateOutlineStyle): resize the outline if the table changed size
387         (WebCore::DeleteButtonController::show): shows the interface on a new element
388         (WebCore::DeleteButtonController::hide): hides the existing interface
389         (WebCore::DeleteButtonController::deleteTarget): deletes the targeted element
390         * editing/DeleteButtonController.h: Added.
391         (WebCore::DeleteButtonController::target): getter for the current target
392         * editing/Editor.cpp:
393         (WebCore::Editor::shouldShowDeleteInterface): call the new shouldShowDeleteInterface client function
394         (WebCore::Editor::Editor): remove the manual ref now that we use RefPtr for m_client
395         (WebCore::Editor::~Editor): remove the manual deref now that we use RefPtr for m_client
396         * editing/Editor.h:
397         (WebCore::Editor::frame): new getter
398         (WebCore::Editor::deleteButtonController): ditto
399         * editing/SelectionController.cpp:
400         (WebCore::SelectionController::setSelection): notify the DeleteButtonController about the new selection
401         * html/HTMLImageElement.h:
402         (WebCore::HTMLImageElement::setCachedImage): new setter that replaces the CachedImage
403         * html/HTMLImageLoader.cpp:
404         (WebCore::HTMLImageLoader::setImage): ditto
405         * html/HTMLImageLoader.h:
406         * loader/CachedImage.cpp:
407         (WebCore::CachedImage::CachedImage): new constructor that takes an Image
408         * loader/CachedImage.h: ditto
409         * page/Frame.cpp:
410         (WebCore::Frame::selectionController): cleanup coding style
411         (WebCore::Frame::editor): ditto
412         (WebCore::Frame::command): ditto
413         (WebCore::Frame::appliedEditing): tell the delete button outline to update
414         (WebCore::Frame::unappliedEditing): ditto
415         (WebCore::Frame::reappliedEditing): ditto
416         * rendering/RenderTable.cpp:
417         (WebCore::RenderTable::addChild): workaround until bug 11363 is fixed
418
419 2006-10-21  Sam Weinig  <sam.weinig@gmail.com>
420
421         Reviewed by Tim H.
422
423         Cleanup bindings generation a little through re-factoring 
424         and general style cleanup.
425
426         * bindings/scripts/CodeGenerator.pm:
427         * bindings/scripts/CodeGeneratorJS.pm:
428         * bindings/scripts/CodeGeneratorObjC.pm:
429
430 2006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
431
432         Reviewed by Mitz.
433
434         Fix crashes on Qt/Linux. Offer a default EditorClient and pass it down to Frame ctor.
435
436         * CMakeLists.txt:
437         * platform/qt/EditorClientQt.cpp: Added.
438         (WebCore::EditorClientQt::shouldDeleteRange):
439         * platform/qt/EditorClientQt.h: Added.
440         (WebCore::EditorClientQt::~EditorClientQt):
441         * platform/qt/FrameQt.cpp:
442         (WebCore::FrameQt::FrameQt):
443         * platform/qt/FrameQt.h:
444
445 2006-10-21  Sam Weinig  <sam.weinig@gmail.com>
446
447         Reviewed by Tim H.
448
449         Fix for http://bugs.webkit.org/show_bug.cgi?id=11372
450         Auto-generate a few more Objective-C DOM methods.
451
452         - Auto-generate getMatchedCSSRules and getComputedStyle methods.
453
454         * bindings/objc/DOMCSS.h:
455         * bindings/objc/DOMCSS.mm:
456         * bindings/objc/DOMExtensions.h:
457         * bindings/objc/PublicDOMInterfaces.h:
458         * bindings/scripts/CodeGeneratorObjC.pm:
459         * dom/Document.idl:
460         * page/DOMWindow.idl:
461
462 2006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
463
464         Reviewed by aliu, landed by aliu.
465
466         Fix Qt/Linux build.
467
468         * CMakeLists.txt:
469         * platform/qt/FrameQt.cpp:
470         (WebCore::FrameQt::FrameQt):
471         * platform/qt/SoundQt.cpp: Added.
472         (WebCore::systemBeep):
473
474 2006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
475
476         Reviewed by Mitz, landed by ap.
477
478         Fix obscure crashes in RenderTableSection on Rob's musicdb file.
479         The problem was a missing layout() call on the frame view.
480         Thanks go to Mitz Pettel for the initial hint!
481
482         * platform/qt/ScrollViewCanvasQt.cpp:
483         (WebCore::ScrollViewCanvasQt::paintEvent):
484
485 2006-10-20  Steve Falkenburg  <sfalken@apple.com>
486
487         Reviewed by Anders.
488
489         Send User-Agent on requests.
490         Send custom request headers properly.
491
492         * platform/cf/ResourceLoaderCFNet.cpp:
493         (WebCore::addHeadersFromHashMap): Switch over to HashMap iteration from string parsing
494         (WebCore::ResourceLoader::start): Send proper User-Agent, change call to add headers
495
496 2006-10-20  Timothy Hatcher  <timothy@apple.com>
497
498         Reviewed by Hyatt.
499
500         Fix some bad formatting.
501
502         * css/cssstyleselector.cpp:
503         (WebCore::CSSStyleSelector::checkOneSelector):
504
505 2006-10-20  Darin Adler  <darin@apple.com>
506
507         Reviewed by John.
508
509         - fixed <rdar://problem/4795716> REGRESSION: User names and passwords aren't being saved (.Mac, etc.) -- WebKit formState passing empty strings
510
511         * loader/mac/WebFormState.mm: (WebCore::FormState::FormState): Fix typo -- need to pass "key"
512         as the key, not the dictionary itself.
513
514 2006-10-20  Alice Liu  <alice.liu@apple.com>
515
516         Reviewed by Maciej.
517
518         This is the initial foundation for the EditingController class and
519         everything else it needs to work.  The idea is that the Frame has an
520         EditingController object that it calls to handle editing commands, the
521         most simple examples being copy/paste.  This controller will handle
522         these editing commands in WebCore, and only hand off to WebKit to call
523         editing delegates (to the let the app intercept editing actions if it
524         wants to).  Thus we need a platform-specific client to which the
525         EditingController hands off the delegate calls, 
526         WebCoreEditingControllerClient.  On the WebCore side this is an 
527         abstract base class, and on the WebKit(Mac) side this is an ObjC++
528         subclass, WebEditingControllerClient.  How does the EditingController
529         get a handle to its platform-specific client?  In WebKit, the creator
530         of a platform-specific Frame creates the client (which is ref-counted)
531         and passes it down the chain of constructors until it gets back to the
532         EditingController, which then refs it in its constructor and derefs in
533         its destructor.
534         
535         No Layout tests needed.
536         
537         * WebCore.xcodeproj/project.pbxproj:
538         Added files and made DomRangeInternal.h and EditingClient.h private headers, necessary for WebKit to compile
539
540         * bridge/EditorClient.h: Added.
541         (WebCore::EditorClient::~EditorClient):
542
543         * bridge/mac/FrameMac.h:
544         Added an EditingClient to the constructor, to pass down to Frame constructor
545
546         * bridge/mac/FrameMac.mm:
547         (WebCore::FrameMac::FrameMac):
548         Passed client down to Frame constructor
549         
550         * bridge/mac/WebCoreFrameBridge.h:
551         Added an EditingClient to the constructor, to pass down to FrameMac constructor
552         
553         * bridge/mac/WebCoreFrameBridge.mm:
554         (-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]):
555         (-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]):
556         Passed client down to FrameMac constructor
557         
558         * editing/Editor.cpp: Added.
559         Mostly stuf implementations of the following functions, except for a couple.  These are all needed by cut, copy, paste, delete.
560         (WebCore::generalPasteboard):
561         (WebCore::Editor::canCopy):
562         (WebCore::Editor::canCut):
563         (WebCore::Editor::canDelete):
564         (WebCore::Editor::canDeleteRange):
565         (WebCore::Editor::canPaste):
566         (WebCore::Editor::canSmartCopyOrDelete):
567         (WebCore::Editor::deleteSelection):
568         (WebCore::Editor::deleteSelectionWithSmartDelete):
569         (WebCore::Editor::isSelectionRichlyEditable):
570         (WebCore::Editor::pasteAsPlainTextWithPasteboard):
571         (WebCore::Editor::pasteWithPasteboard):
572         (WebCore::Editor::selectedRange):
573         (WebCore::Editor::shouldDeleteRange):
574         (WebCore::Editor::tryDHTMLCopy):
575         (WebCore::Editor::tryDHTMLCut):
576         (WebCore::Editor::tryDHTMLPaste):
577         (WebCore::Editor::writeSelectionToPasteboard):
578         (WebCore::Editor::Editor):
579         (WebCore::Editor::~Editor):
580         (WebCore::Editor::cut):
581         (WebCore::Editor::copy):
582         (WebCore::Editor::paste):
583         (WebCore::Editor::performDelete):
584         
585         * editing/Editor.h: Added.
586         
587         * page/Frame.h:
588         Added an EditingClient to the constructor, to pass down to Editor constructor
589
590         * page/Frame.cpp:
591         (WebCore::Frame::Frame):
592         Passed down to Editor constructor
593         (WebCore::Frame::editor):
594         Accessfor for Editor stored in FramePrivate
595         
596         * page/FramePrivate.h:
597         (WebCore::FramePrivate::FramePrivate):
598         Added an Editor object to the FramePrivate data
599         
600         * platform/Sound.h: Added.
601         Made a platform-independent accessor to a beep function
602         
603         * platform/mac/SoundMac.mm: Added.
604         (WebCore::systemBeep):
605         calls mac system beep
606         
607 2006-10-20  David Hyatt  <hyatt@apple.com>
608
609         Make sure to support the "encoding" property on form elements for
610         legacy compatibility.
611
612         Reviewed by darin/john
613
614         No test cases added.  Not sure how to do a form submission of
615         various encodings as a layout test.
616
617         * html/HTMLFormElement.h:
618         (WebCore::HTMLFormElement::encoding):
619         (WebCore::HTMLFormElement::setEncoding):
620         * html/HTMLFormElement.idl:
621
622 2006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
623
624         Reviewed and by Anders.
625
626         Fix warnings in JS generation by killing the whole isRefPtr logic,
627         and just using WTF::getPtr as Sam Weinig suggested. Also kill some
628         places using get() where getPtr() is cleaner - not for m_impl.get().
629
630         * CMakeLists.txt: Tiny cleanup + add deps for CodeGenerator(JS).pm on all IDLs.
631         * bindings/scripts/CodeGeneratorJS.pm:
632
633 2006-10-20  Darin Adler  <darin@apple.com>
634
635         - rolled out my loader change; caused world leak and possibly a plug-in crash
636
637 2006-10-20  Anders Carlsson  <acarlsson@apple.com>
638
639         Reviewed by Tim H
640
641         * loader/mac/LoaderFunctionsMac.mm:
642         Autorelease the header NSDictionary.
643         
644 2006-10-20  Anders Carlsson  <acarlsson@apple.com>
645
646         Reviewed by Geoff.
647
648         * bindings/js/kjs_window.cpp:
649         (KJS::Window::timerFired):
650         Check if the timeout id is still in the table before trying to access it. If it isn't in the table
651         it has been deleted inside of the execute method.
652
653 2006-10-20  Anders Carlsson  <acarlsson@apple.com>
654
655         Reviewed by Darin and Geoff.
656
657         Remove debugging output.
658         * xml/xmlhttprequest.cpp:
659         (WebCore::XMLHttpRequest::send):
660
661 2006-10-20  David Harrison  <harrison@apple.com>
662
663         Reviewed by John.
664
665         <rdar://problem/4792755> REGRESSON: Drag selecting is erratic
666
667         No test because it would require autoscrolling, which is not available to layout tests.
668
669         * rendering/RenderLayer.cpp:
670         (WebCore::RenderLayer::autoscroll):
671         Use hitTest() to find the correct node.
672         
673         (WebCore::RenderLayer::hitTest):
674         Trivial source formatting.
675
676 2006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
677
678         Reviewed and landed by Anders.
679
680         Fix regression introduced during the ResourceLoader transition (Maciej's rewrite).
681
682         * platform/qt/ResourceLoaderManager.cpp:
683         (WebCore::ResourceLoaderManager::add):
684
685 2006-10-20  Darin Adler  <darin@apple.com>
686
687         Reviewed by Adele.
688
689         - convert WebLoader and its 3 subclasses to C++
690
691         Renamed WebLoader to WebCore::WebResourceLoader (should be ResourceLoader, but
692         there's currently another class with that name).
693         Renamed WebMainResourceLoader to WebCore::MainResourceLoader.
694         Renamed WebSubresourceLoader to WebCore::SubresourceLoader.
695         Renamed WebNetscapePlugInStreamLoader to WebCore::NetscapePlugInStreamLoader.
696
697         Converted the classes to C++ and added Objective-C delegates to forward from
698         API that still requires Objective-C.
699
700         Did not yet rename the source files.
701
702         * WebCore.exp: Removed WebLoader, WebNetscapePlugInStreamLoader, and WebSubresourceLoader
703         classes. Added 5 functions from the WebResourceLoader and NetscapePlugInStreamLoader
704         classes.
705
706         * WebCore.xcodeproj/project.pbxproj: Made RetainPtr.h a private header instead of project.
707
708         * platform/cf/RetainPtr.h: Put into the WebCore namespace rather than the WTF namespace.
709
710         * loader/mac/WebLoader.h:
711         * loader/mac/WebLoader.mm:
712         * loader/mac/WebMainResourceLoader.h:
713         * loader/mac/WebMainResourceLoader.mm:
714         * loader/mac/WebNetscapePlugInStreamLoader.h:
715         * loader/mac/WebNetscapePlugInStreamLoader.mm:
716         * loader/mac/WebSubresourceLoader.h:
717         * loader/mac/WebSubresourceLoader.mm:
718         Translate to C++.
719
720         * bridge/mac/WebCoreFrameBridge.mm:
721         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
722         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
723         * loader/mac/WebFrameLoader.h:
724         * loader/mac/WebFrameLoader.mm:
725         (isCaseInsensitiveEqual):
726         (isBackForwardLoadType):
727         (-[WebFrameLoader dealloc]):
728         (-[WebFrameLoader addPlugInStreamLoader:]):
729         (-[WebFrameLoader removePlugInStreamLoader:]):
730         (-[WebFrameLoader setDefersCallbacks:]):
731         (-[WebFrameLoader stopLoadingPlugIns]):
732         (-[WebFrameLoader isLoadingMainResource]):
733         (-[WebFrameLoader isLoadingSubresources]):
734         (-[WebFrameLoader isLoadingPlugIns]):
735         (-[WebFrameLoader stopLoadingSubresources]):
736         (-[WebFrameLoader addSubresourceLoader:]):
737         (-[WebFrameLoader removeSubresourceLoader:]):
738         (-[WebFrameLoader mainResourceData]):
739         (-[WebFrameLoader releaseMainResourceLoader]):
740         (-[WebFrameLoader cancelMainResourceLoad]):
741         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
742         (-[WebFrameLoader stopLoadingWithError:]):
743         (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
744         (-[WebFrameLoader archiveLoadPendingForLoader:]):
745         (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
746         * loader/mac/WebFrameLoaderClient.h:
747         Call the new C++ API.
748
749 2006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
750
751         Reviewed and landed by Anders.
752
753         Offer a way for WebKitPart to be able to detect when
754         the webpage has been completly loaded (including subresources).
755
756         Also fix Qt/Linux build by removing PopupMenu.cpp from CMakeLists.txt
757         and removing some functions from PopupMenuQt.cpp, and alter FrameQt.cpp.
758
759         * CMakeLists.txt:
760         * platform/qt/FrameQt.cpp:
761         (WebCore::FrameQt::submitForm):
762         (WebCore::FrameQt::client):
763         * platform/qt/FrameQt.h:
764         * platform/qt/FrameQtClient.cpp:
765         (WebCore::FrameQtClientDefault::setFrame):
766         (WebCore::FrameQtClientDefault::openURL):
767         (WebCore::FrameQtClientDefault::submitForm):
768         (WebCore::FrameQtClientDefault::checkLoaded):
769         (WebCore::FrameQtClientDefault::traverseNextFrameStayWithin):
770         (WebCore::FrameQtClientDefault::numPendingOrLoadingRequests):
771         (WebCore::FrameQtClientDefault::receivedAllData):
772         * platform/qt/FrameQtClient.h:
773         * platform/qt/LoaderFunctionsQt.cpp:
774         (WebCore::CheckCacheObjectStatus):
775         * platform/qt/PopupMenuQt.cpp:
776         * platform/qt/ResourceLoaderManager.cpp:
777         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
778         (WebCore::ResourceLoaderManager::slotResult):
779         (WebCore::ResourceLoaderManager::add):
780         * platform/qt/ResourceLoaderManager.h:
781         * platform/qt/ResourceLoaderQt.cpp:
782         (WebCore::ResourceLoader::start):
783
784 2006-10-20  Steve Falkenburg  <sfalken@apple.com>
785
786         Reviewed by Geoff.
787
788         Fix compiler warnings
789
790         * platform/ResourceLoaderClient.h:
791
792 2006-10-20  Sam Weinig  <sam.weinig@gmail.com>
793
794         Reviewed by Mitz.
795
796         Win32 build fix and cleanup.
797
798         * WebCore.vcproj/WebCore/WebCore.vcproj:
799         * bridge/win/FrameWin.cpp:
800         (WebCore::FrameWin::FrameWin):
801         (WebCore::FrameWin::submitForm):
802         * page/ResourceRequest.h:
803         (WebCore::ResourceRequest::addHTTPHeaderField):
804         * platform/win/TemporaryLinkStubs.cpp:
805         (WebCore::Slider::~Slider):
806         (WebCore::Slider::setMinValue):
807         (WebCore::searchableIndexIntroduction):
808         (WebCore::findNextSentenceFromIndex):
809         (WebCore::findSentenceBoundary):
810         (WebCore::findNextWordFromIndex):
811         (WebCore::FrameWin::getObjectInstanceForWidget):
812         (WebCore::FrameWin::getEmbedInstanceForWidget):
813         (WebCore::FrameWin::runJavaScriptPrompt):
814         (WebCore::FrameWin::restoreDocumentState):
815         (WebCore::FrameWin::partClearedInBegin):
816         (WebCore::FrameWin::createEmptyDocument):
817         (WebCore::FrameWin::overrideMediaType):
818         (WebCore::FrameWin::markedTextRange):
819         (WebCore::FrameWin::passSubframeEventToSubframe):
820         (WebCore::FrameWin::lastEventIsMouseUp):
821         (WebCore::FrameWin::addMessageToConsole):
822         (WebCore::FrameWin::shouldChangeSelection):
823         (WebCore::FrameWin::respondToChangedSelection):
824         (WebCore::FrameWin::createFrame):
825         (WebCore::FrameWin::saveDocumentState):
826         (WebCore::FrameWin::clearUndoRedoOperations):
827         (WebCore::FrameWin::incomingReferrer):
828         (WebCore::FrameWin::markMisspellingsInAdjacentWords):
829         (WebCore::FrameWin::respondToChangedContents):
830         (WebCore::FrameWin::handledOnloadEvents):
831         (WebCore::FrameWin::createPlugin):
832         (WebCore::FrameWin::objectContentType):
833         (WebCore::screenDepthPerComponent):
834         (WebCore::screenIsMonochrome):
835         (WebCore::historyContains):
836         (WebCore::submitButtonDefaultLabel):
837         (WebCore::inputElementAltText):
838         (WebCore::resetButtonDefaultLabel):
839         (WebCore::fileButtonChooseFileLabel):
840         (WebCore::fileButtonNoFileSelectedLabel):
841         (WebCore::defaultLanguage):
842         (WebCore::findWordBoundary):
843         (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
844         (WebCore::PlugInInfoStore::supportsMIMEType):
845         (WebCore::refreshPlugins):
846         (WebCore::ResourceLoader::assembleResponseHeaders):
847         (WebCore::ResourceLoader::retrieveResponseEncoding):
848         (WebCore::ResourceLoader::startHTTPRequest):
849         (WebCore::TextField::TextField):
850         (WebCore::focusRingColor):
851         (WebCore::setFocusRingColorChangeFunction):
852         (WebCore::PopupMenu::~PopupMenu):
853         (WebCore::PopupMenu::hide):
854
855 2006-10-20  Rob Buis  <buis@kde.org>
856
857         Reviewed by Darin.
858
859         http://bugs.webkit.org/show_bug.cgi?id=11303
860         Path::transform() should be implemented on Qt build
861
862         Use QPainterPath API to implement Path::transform.
863         This fixes svg/custom/clip-path-with-transform.svg on
864         the qt build.
865
866         * platform/qt/PathQt.cpp:
867         (WebCore::Path::transform):
868
869 2006-10-20  Rob Buis  <buis@kde.org>
870
871         Reviewed by Mitz.
872
873         http://bugs.webkit.org/show_bug.cgi?id=11217
874         Cleanup svg coding style
875
876         Cleanup coding style in svg clipping and painting classes.
877
878         * ksvg2/svg/SVGClipPathElement.cpp:
879         (WebCore::SVGClipPathElement::parseMappedAttribute):
880         (WebCore::SVGClipPathElement::canvasResource):
881         * ksvg2/svg/SVGClipPathElement.h:
882         * ksvg2/svg/SVGMarkerElement.cpp:
883         (WebCore::SVGMarkerElement::SVGMarkerElement):
884         (WebCore::SVGMarkerElement::parseMappedAttribute):
885         (WebCore::SVGMarkerElement::setOrientToAngle):
886         (WebCore::SVGMarkerElement::canvasResource):
887         * ksvg2/svg/SVGMarkerElement.h:
888         (WebCore::SVGMarkerElement::rendererIsNeeded):
889         * ksvg2/svg/SVGMaskElement.cpp:
890         (WebCore::SVGMaskElement::SVGMaskElement):
891         (WebCore::SVGMaskElement::parseMappedAttribute):
892         (WebCore::SVGMaskElement::drawMaskerContent):
893         (WebCore::SVGMaskElement::canvasResource):
894         * ksvg2/svg/SVGMaskElement.h:
895         (WebCore::SVGMaskElement::rendererIsNeeded):
896         * ksvg2/svg/SVGPaint.cpp:
897         (WebCore::SVGPaint::setPaint):
898         (WebCore::SVGPaint::cssText):
899         * ksvg2/svg/SVGPaint.h:
900
901 2006-10-20  David Hyatt  <hyatt@apple.com>
902
903         Make sure to do the code that checks the repeatInterval before the timer has been
904         deleted. (Duh.)
905
906         Reviewed by andersca
907
908         * bindings/js/kjs_window.cpp:
909         (KJS::DOMWindowTimer::setNestingLevel):
910         (KJS::Window::timerFired):
911         (KJS::DOMWindowTimer::fired):
912         * platform/Timer.h:
913
914 2006-10-20  David Hyatt  <hyatt@apple.com>
915
916         Honor tiny timer intervals for JS timeouts as they are nested until a cutoff point is reached.
917         At that point clamp to 10ms to prevent excessive CPU usage.
918
919         Reviewed by anders
920
921         * bindings/js/kjs_window.cpp:
922         (KJS::DOMWindowTimer::DOMWindowTimer):
923         (KJS::DOMWindowTimer::nestingLevel):
924         (KJS::Window::installTimeout):
925         (KJS::Window::pauseTimeouts):
926         (KJS::Window::resumeTimeouts):
927         (KJS::DOMWindowTimer::fired):
928         * platform/Timer.h:
929         (WebCore::TimerBase::startRepeating):
930         (WebCore::TimerBase::startOneShot):
931         (WebCore::TimerBase::repeatInterval):
932         (WebCore::TimerBase::augmentRepeatInterval):
933         (WebCore::TimerBase::inHeap):
934         (WebCore::Timer::Timer):
935         (WebCore::Timer::fired):
936
937 2006-10-20  Steve Falkenburg  <sfalken@apple.com>
938
939         Build fix
940
941         * ksvg2/svg/SVGAElement.cpp:
942         (WebCore::SVGAElement::defaultEventHandler):
943
944 2006-10-19  Steve Falkenburg  <sfalken@apple.com>
945
946         Reviewed by Adam.
947
948         Use GetKeyState rather than GetAsyncKeyState since we're
949         calling in these cases in direct response to an event, and want the
950         key state associated with that event.
951         
952         Pass triggering event to url selection method.
953         
954         * bridge/mac/FrameMac.h: Add triggeringEvent parameter
955         * bridge/mac/FrameMac.mm:
956         (WebCore::FrameMac::urlSelected): Add triggeringEvent parameter
957         * bridge/win/FrameWin.cpp:
958         (WebCore::FrameWin::urlSelected): Add triggeringEvent parameter
959         * bridge/win/FrameWin.h: Add triggeringEvent parameter
960         * html/HTMLAnchorElement.cpp:
961         (WebCore::HTMLAnchorElement::defaultEventHandler): Pass triggering event to URL selection method
962         * page/Frame.cpp:
963         (WebCore::Frame::changeLocation): Add 0 as triggeringEvent
964         (WebCore::Frame::urlSelected): Pass through triggeringEvent
965         * page/Frame.h: Add triggeringEvent parameter to urlSelected methods
966         * platform/win/KeyEventWin.cpp:
967         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Use GetKeyState instead of GetAsyncKeyState
968         * platform/win/MouseEventWin.cpp: Use GetKeyState instead of GetAsyncKeyState
969         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
970
971 2006-10-19  David Hyatt  <hyatt@apple.com>
972
973         Correct typos from changing "flush" to "prune" using automated search/replace.
974
975         Change the cache heuristic for flushing to allow a higher watermark before initiating an
976         aggressive prune.  This ensures that small cache sizes are no worse in terms of performance
977         than the old buggy cache.
978
979         Make sizes unsigned instead of ints in the cache's APIs and member variables.
980
981         * loader/Cache.cpp:
982         (WebCore::Cache::prune):
983         (WebCore::Cache::setMaximumSize):
984         * loader/Cache.h:
985         (WebCore::Cache::maximumSize):
986
987 2006-10-19  Anders Carlsson  <acarlsson@apple.com>
988
989         Reviewed by Daddy Hyatt.
990
991         Use a real hash map for the headers.
992
993         * loader/LoaderFunctions.h:
994         * loader/mac/LoaderFunctionsMac.mm:
995         (WebCore::ServeSynchronousRequest):
996         * platform/ResourceLoader.cpp:
997         (WebCore::ResourceLoader::setRequestHeaders):
998         (WebCore::ResourceLoader::requestHeaders):
999         * platform/ResourceLoader.h:
1000         * platform/ResourceLoaderInternal.h:
1001         * platform/mac/ResourceLoaderMac.mm:
1002         (WebCore::ResourceLoader::start):
1003         * xml/xmlhttprequest.cpp:
1004         (WebCore::XMLHttpRequest::open):
1005         (WebCore::XMLHttpRequest::send):
1006         (WebCore::XMLHttpRequest::setRequestHeader):
1007         (WebCore::XMLHttpRequest::getRequestHeader):
1008         * xml/xmlhttprequest.h:
1009
1010 2006-10-19  Adam Roben  <aroben@apple.com>
1011
1012         Reviewed by Ada.
1013
1014         Pippity-poppity popup tweaks.
1015
1016         * WebCore.xcodeproj/project.pbxproj: Removed PopupMenu.cpp from project.
1017         * html/HTMLSelectElement.cpp:
1018         (WebCore::HTMLSelectElement::setSelectedIndex): Only fire onChange if
1019         requested and the new index is actually different than the old one.
1020         * platform/IntPoint.h: Added another casting operator.
1021         * platform/PopupMenu.cpp: Removed. The code in here, while
1022         platform-independent, was only useful for the NSPopUpButtonCell
1023         implementation of popup menus, so I've moved it to PopupMenuMac.mm.
1024         * platform/PopupMenu.h: Moved the definition of PopupMenu::create into
1025         the header since it's fairly simple. Made some more methods private now
1026         that we don't have subclasses and virtual methods anymore.
1027         (WebCore::PopupMenu::create):
1028         (WebCore::PopupMenu::menuList):
1029         (WebCore::PopupMenu::itemHeight):
1030         (WebCore::PopupMenu::windowRect):
1031         (WebCore::PopupMenu::listIndexAtPoint):
1032         (WebCore::PopupMenu::focusedIndex):
1033         (WebCore::PopupMenu::setWasClicked):
1034         (WebCore::PopupMenu::wasClicked):
1035         (WebCore::PopupMenu::setScrollOffset):
1036         (WebCore::PopupMenu::scrollOffset):
1037         (WebCore::PopupMenu::wheelDelta):
1038         * platform/mac/PopupMenuMac.mm: Added the code from PopupMenu.cpp.
1039         (WebCore::PopupMenu::populate): Call our own clear() method to clear
1040         the menu.
1041         * platform/win/IntPointWin.cpp: New casting operator.
1042         (WebCore::IntPoint::IntPoint):
1043         (WebCore::IntPoint::operator POINTS):
1044
1045 2006-10-19  Adam Roben  <aroben@apple.com>
1046
1047         Reviewed by Darin.
1048
1049         Cleaning up Document::nextFocusNode and Document::previousFocusNode.
1050
1051         * dom/Document.cpp:
1052         (WebCore::Document::nextFocusNode):
1053         (WebCore::Document::previousFocusNode):
1054
1055 2006-10-19  Maciej Stachowiak  <mjs@apple.com>
1056
1057         Reviewed by Geoff.
1058
1059         - implement new ResourceRequest API and fix up code as appropriate
1060         
1061         * bindings/js/kjs_window.cpp:
1062         (KJS::createNewWindow):
1063         (KJS::WindowFunc::callAsFunction):
1064         * bridge/mac/BrowserExtensionMac.mm:
1065         (WebCore::BrowserExtensionMac::createNewWindow):
1066         * bridge/mac/FrameMac.mm:
1067         (WebCore::FrameMac::submitForm):
1068         (WebCore::FrameMac::openURLRequest):
1069         (WebCore::FrameMac::urlSelected):
1070         * bridge/mac/WebCoreFrameBridge.mm:
1071         (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
1072         * dom/DOMImplementation.cpp:
1073         (WebCore::addString):
1074         (WebCore::isSVG10Feature):
1075         (WebCore::isSVG11Feature):
1076         * dom/Document.h:
1077         * editing/CommandByName.cpp:
1078         * editing/JSEditor.cpp:
1079         * page/Frame.cpp:
1080         (WebCore::Frame::changeLocation):
1081         (WebCore::Frame::urlSelected):
1082         (WebCore::Frame::requestFrame):
1083         (WebCore::Frame::submitForm):
1084         * page/Frame.h:
1085         * page/FramePrivate.h:
1086         * page/ResourceRequest.h:
1087         (WebCore::):
1088         (WebCore::ResourceRequest::ResourceRequest):
1089         (WebCore::ResourceRequest::cachePolicy):
1090         (WebCore::ResourceRequest::setCachePolicy):
1091         (WebCore::ResourceRequest::timeoutInterval):
1092         (WebCore::ResourceRequest::setTimeoutInterval):
1093         (WebCore::ResourceRequest::mainDocumentURL):
1094         (WebCore::ResourceRequest::setMainDocumentURL):
1095         (WebCore::ResourceRequest::httpMethod):
1096         (WebCore::ResourceRequest::setHTTPMethod):
1097         (WebCore::ResourceRequest::httpHeaderField):
1098         (WebCore::ResourceRequest::setHTTPHeaderField):
1099         (WebCore::ResourceRequest::httpContentType):
1100         (WebCore::ResourceRequest::setHTTPContentType):
1101         (WebCore::ResourceRequest::httpReferrer):
1102         (WebCore::ResourceRequest::setHTTPReferrer):
1103         (WebCore::ResourceRequest::httpUserAgent):
1104         (WebCore::ResourceRequest::setHTTPUserAgent):
1105         (WebCore::ResourceRequest::httpBody):
1106         (WebCore::ResourceRequest::setHTTPBody):
1107         (WebCore::ResourceRequest::addHTTPHeaderField):
1108         * platform/FontCache.cpp:
1109         (WebCore::computeHash):
1110         * platform/StringHash.h:
1111         (WTF::):
1112         * platform/StringImpl.cpp:
1113         (WebCore::equalIgnoringCase):
1114         * rendering/RenderPartObject.cpp:
1115         (WebCore::RenderPartObject::updateWidget):
1116
1117 2006-10-19  Justin Garcia  <justin.garcia@apple.com>
1118
1119         Reviewed by levi
1120         
1121         <rdar://problem/4447885>
1122         API: WebView should have a method something like incrementLeftMarginBy: or indentBy:
1123         
1124         Fixed indent/outdent to only increment the left margin, to match other browsers.
1125         Used blockquote class="webkit-indent-blockquote" to do this.  Mail can now
1126         implement indent/outdent by customizing the appearance of these blockquotes,
1127         instead of using a new API.
1128         
1129         * css/html4.css: Added margin: 0 0 0 40px for webkit-indent-blockquotes.
1130         * editing/IndentOutdentCommand.cpp:
1131         (WebCore::indentBlockquoteString): Added.
1132         (WebCore::createIndentBlockquoteElement): Added.
1133         (WebCore::isIndentBlockquote): Added.
1134         (WebCore::isListOrBlockquote): Added.
1135         (WebCore::IndentOutdentCommand::IndentOutdentCommand):
1136         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Fixed
1137         a bug in the code that added an extra br if the placeholder collapsed upon insertion.
1138         Used the new indentBlockquote checks and enclosing element getters.  
1139         (WebCore::IndentOutdentCommand::indentRegion): Ditto.
1140         (WebCore::IndentOutdentCommand::outdentParagraph): Ditto.  Cleaned up the
1141         logic to pull the selection out of a list a bit.
1142         * editing/htmlediting.cpp:
1143         (WebCore::enclosingNodeOfType): Added this generic enclosing element getter.
1144         * editing/htmlediting.h:
1145
1146 2006-10-19  Timothy Hatcher  <timothy@apple.com>
1147
1148         Rolling out the this change since it caused a bad regression:
1149         <rdar://problem/4788524> REGRESSION: Incomplete repaint of text area when deleting (11277)
1150
1151 2006-10-12  Adele Peterson  <adele@apple.com>
1152           
1153         Reviewed by Dave Harrison.
1154           
1155         - Fixed <rdar://problem/4650813> REGRESSION: typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
1156           
1157         * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout):
1158         Make subtree layouts work for textareas as well as text fields.
1159
1160 2006-10-19  Nikolas Zimmermann  <zimmermann@kde.org>
1161
1162         Reviewed and landed by Anders.
1163
1164         Fix Qt/Linux build.
1165
1166         * CMakeLists.txt:
1167         * loader/Cache.h:
1168         * platform/qt/BrowserExtensionQt.cpp:
1169         * platform/qt/BrowserExtensionQt.h:
1170         * platform/qt/CursorQt.cpp:
1171         (WebCore::pointerCursor):
1172         * platform/qt/LoaderFunctionsQt.cpp:
1173         (WebCore::NumberOfPendingOrLoadingRequests):
1174         (WebCore::CheckCacheObjectStatus):
1175         * platform/qt/ResourceLoaderQt.cpp:
1176         (WebCore::ResourceLoader::retrieveResponseEncoding):
1177         (WebCore::ResourceLoader::receivedResponse):
1178
1179 2006-10-19  Sam Weinig  <sam.weinig@gmail.com>
1180
1181         Reviewed by ap.
1182
1183         Win32 build fix.
1184
1185         * bridge/win/FrameWin.cpp:
1186         * bridge/win/FrameWin.h:
1187         * platform/win/TemporaryLinkStubs.cpp:
1188         (WebCore::ResourceLoader::retrieveResponseEncoding):
1189
1190 2006-10-19  Alexey Proskuryakov  <ap@nypop.com>
1191
1192         Reviewed by Mitz.
1193
1194         http://bugs.webkit.org/show_bug.cgi?id=11141
1195         REGRESSION(r16681-r16691): CSS '@import' doesn't respect HTML Base element
1196
1197         Undo one misguided change made in bug 11011 - stop setting inline stylesheet's href
1198         to document URL. This matches WinIE and partially matches Firefox - although the latter
1199         reports the href as if it were inherited, it still doesn't use it when resolving URIs in
1200         @import rules.
1201
1202         Test: http/tests/uri/css-href.php
1203
1204         * html/HTMLStyleElement.cpp:
1205         (WebCore::HTMLStyleElement::childrenChanged):
1206         * ksvg2/svg/SVGStyleElement.cpp:
1207         (WebCore::SVGStyleElement::childrenChanged):
1208
1209 2006-10-19  Anders Carlsson  <acarlsson@apple.com>
1210
1211         * loader/Cache.cpp:
1212         Get rid of #include "loader.h", Cache.h already includes this and it breaks on operating systems
1213         with case-sensitive file systems.
1214
1215 2006-10-19  Anders Carlsson  <acarlsson@apple.com>
1216
1217         Reviewed by Maciej, Brady.
1218
1219         Remove "charset" from the ResourceLoader metadata map and use 
1220         a getter function instead. Also, rename charset to encoding in a couple of places.
1221         
1222         * loader/CachedCSSStyleSheet.cpp:
1223         (WebCore::CachedCSSStyleSheet::setEncoding):
1224         * loader/CachedCSSStyleSheet.h:
1225         * loader/CachedResource.h:
1226         (WebCore::CachedResource::setEncoding):
1227         * loader/CachedScript.cpp:
1228         (WebCore::CachedScript::setEncoding):
1229         * loader/CachedScript.h:
1230         * loader/CachedXBLDocument.cpp:
1231         (WebCore::CachedXBLDocument::setEncoding):
1232         * loader/CachedXBLDocument.h:
1233         * loader/CachedXSLStyleSheet.cpp:
1234         (WebCore::CachedXSLStyleSheet::setEncoding):
1235         * loader/CachedXSLStyleSheet.h:
1236         * loader/loader.cpp:
1237         (WebCore::Loader::receivedResponse):
1238         * platform/ResourceLoader.cpp:
1239         (WebCore::ResourceLoader::responseEncoding):
1240         (WebCore::ResourceLoader::queryMetaData):
1241         * platform/ResourceLoader.h:
1242         * platform/ResourceLoaderInternal.h:
1243         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
1244         * platform/mac/ResourceLoaderMac.mm:
1245         (WebCore::ResourceLoader::retrieveResponseEncoding):
1246         (WebCore::ResourceLoader::receivedResponse):
1247         * xml/xmlhttprequest.cpp:
1248         (WebCore::XMLHttpRequest::receivedData):
1249
1250 2006-10-19  David Hyatt  <hyatt@apple.com>
1251
1252         Rewrite of the WebCore memory cache.  The following changes have been made (along with many more):
1253
1254         (1) Referenced objects are now also cached.
1255
1256         (2) Pruning of the cache will occur once the cache is both full and in addition
1257         more than half full with unreferenced objects.
1258
1259         (3) The prune is much more aggressive now, since referenced objects are counted when
1260         pruning.  The cache will therefore often prune out every unreferenced object if lots of
1261         windows/tabs are open.
1262
1263         (4) Consolidated the request methods for various types of resources to go through a single
1264         requestResource bottleneck function.
1265
1266         (5) deref on CachedResource is no longer virtual, since the implementation in every subclass was
1267         identical.
1268
1269         (6) Changed "object" to "resource" everywhere.
1270
1271         (7) The Cache is now an actual object, obtained via cache().
1272
1273         (8) Fixed bugs with the autoload images preference so that it would really work properly when disabled
1274         and enabled.
1275
1276         (9) Tweaked ImageDocuments to set up the status properly for the CachedResource that they use.
1277
1278         (10) Fixed the LRU-SP algorithm so that the LRU aspect really kicks in (by leaving the live objects
1279         in the LRU lists).  Also fixed a bug with the "-SP" part of the algorithm where the access count was
1280         being incorrectly weighted too much due to a math error.
1281
1282         (11) Fixed a bug where the old cache could grow without bound because it didn't know anything about
1283         the size of referenced resources.
1284
1285         Reviewed by Maciej, bradee-oh
1286
1287         * bridge/mac/WebCoreCache.mm:
1288         (+[WebCoreCache statistics]):
1289         (+[WebCoreCache empty]):
1290         (+[WebCoreCache setDisabled:]):
1291         * bridge/mac/WebCoreFrameBridge.mm:
1292         (-[WebCoreFrameBridge initMainFrameWithPage:]):
1293         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
1294         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
1295         * css/CSSImageValue.cpp:
1296         (WebCore::CSSImageValue::image):
1297         * dom/XMLTokenizer.cpp:
1298         (WebCore::openFunc):
1299         * html/HTMLImageLoader.cpp:
1300         (WebCore::HTMLImageLoader::updateFromElement):
1301         * loader/Cache.cpp:
1302         (WebCore::cache):
1303         (WebCore::Cache::Cache):
1304         (WebCore::createResource):
1305         (WebCore::Cache::requestResource):
1306         (WebCore::Cache::resourceForURL):
1307         (WebCore::Cache::prune):
1308         (WebCore::Cache::setMaximumSize):
1309         (WebCore::Cache::remove):
1310         (WebCore::Cache::addDocLoader):
1311         (WebCore::Cache::removeDocLoader):
1312         (WebCore::fastLog2):
1313         (WebCore::Cache::lruListFor):
1314         (WebCore::Cache::removeFromLRUList):
1315         (WebCore::Cache::insertInLRUList):
1316         (WebCore::Cache::resourceAccessed):
1317         (WebCore::Cache::adjustSize):
1318         (WebCore::Cache::getStatistics):
1319         (WebCore::Cache::setDisabled):
1320         * loader/Cache.h:
1321         (WebCore::LRUList::LRUList):
1322         (WebCore::Cache::loader):
1323         (WebCore::Cache::maximumSize):
1324         (WebCore::Cache::disabled):
1325         (WebCore::Cache::addToLiveObjectSize):
1326         (WebCore::Cache::removeFromLiveObjectSize):
1327         (WebCore::Cache::TypeStatistic::TypeStatistic):
1328         * loader/CachedCSSStyleSheet.cpp:
1329         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
1330         * loader/CachedCSSStyleSheet.h:
1331         * loader/CachedImage.cpp:
1332         (WebCore::CachedImage::CachedImage):
1333         (WebCore::CachedImage::~CachedImage):
1334         (WebCore::brokenImage):
1335         (WebCore::nullImage):
1336         (WebCore::CachedImage::image):
1337         (WebCore::CachedImage::data):
1338         * loader/CachedImage.h:
1339         (WebCore::CachedImage::stillNeedsLoad):
1340         * loader/CachedResource.cpp:
1341         (WebCore::CachedResource::CachedResource):
1342         (WebCore::CachedResource::~CachedResource):
1343         (WebCore::CachedResource::finish):
1344         (WebCore::CachedResource::setExpireDate):
1345         (WebCore::CachedResource::isExpired):
1346         (WebCore::CachedResource::setRequest):
1347         (WebCore::CachedResource::ref):
1348         (WebCore::CachedResource::deref):
1349         (WebCore::CachedResource::setSize):
1350         * loader/CachedResource.h:
1351         (WebCore::CachedResource::):
1352         (WebCore::CachedResource::setCharset):
1353         (WebCore::CachedResource::url):
1354         (WebCore::CachedResource::type):
1355         (WebCore::CachedResource::referenced):
1356         (WebCore::CachedResource::count):
1357         (WebCore::CachedResource::status):
1358         (WebCore::CachedResource::size):
1359         (WebCore::CachedResource::isLoaded):
1360         (WebCore::CachedResource::setLoading):
1361         (WebCore::CachedResource::isImage):
1362         (WebCore::CachedResource::accessCount):
1363         (WebCore::CachedResource::increaseAccessCount):
1364         (WebCore::CachedResource::setInCache):
1365         (WebCore::CachedResource::inCache):
1366         (WebCore::CachedResource::cachePolicy):
1367         (WebCore::CachedResource::response):
1368         (WebCore::CachedResource::allData):
1369         (WebCore::CachedResource::canDelete):
1370         (WebCore::CachedResource::schedule):
1371         (WebCore::CachedResource::accept):
1372         (WebCore::CachedResource::setAccept):
1373         * loader/CachedScript.cpp:
1374         (WebCore::CachedScript::CachedScript):
1375         * loader/CachedScript.h:
1376         * loader/CachedXBLDocument.cpp:
1377         * loader/CachedXBLDocument.h:
1378         * loader/CachedXSLStyleSheet.cpp:
1379         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
1380         * loader/CachedXSLStyleSheet.h:
1381         * loader/DocLoader.cpp:
1382         (WebCore::DocLoader::DocLoader):
1383         (WebCore::DocLoader::~DocLoader):
1384         (WebCore::DocLoader::checkForReload):
1385         (WebCore::DocLoader::requestImage):
1386         (WebCore::DocLoader::requestCSSStyleSheet):
1387         (WebCore::DocLoader::requestScript):
1388         (WebCore::DocLoader::requestXSLStyleSheet):
1389         (WebCore::DocLoader::requestXBLDocument):
1390         (WebCore::DocLoader::requestResource):
1391         (WebCore::DocLoader::setAutoLoadImages):
1392         (WebCore::DocLoader::removeCachedResource):
1393         * loader/DocLoader.h:
1394         (WebCore::DocLoader::cachedResource):
1395         (WebCore::DocLoader::allCachedResources):
1396         (WebCore::DocLoader::autoLoadImages):
1397         (WebCore::DocLoader::cachePolicy):
1398         (WebCore::DocLoader::expireDate):
1399         (WebCore::DocLoader::frame):
1400         (WebCore::DocLoader::doc):
1401         (WebCore::DocLoader::loadInProgress):
1402         * loader/ImageDocument.cpp:
1403         (WebCore::ImageTokenizer::finish):
1404         * loader/loader.cpp:
1405         (WebCore::Loader::receivedAllData):
1406         (WebCore::Loader::cancelRequests):
1407         * loader/mac/LoaderFunctionsMac.mm:
1408         (WebCore::NumberOfPendingOrLoadingRequests):
1409         (WebCore::CheckCacheObjectStatus):
1410         * page/Frame.cpp:
1411         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
1412         (WebCore::Frame::Frame):
1413         (WebCore::Frame::stopLoading):
1414         (WebCore::Frame::setAutoLoadImages):
1415         (WebCore::Frame::autoLoadImages):
1416         (WebCore::Frame::begin):
1417         (WebCore::Frame::checkCompleted):
1418         (WebCore::Frame::reparseConfiguration):
1419         * page/Frame.h:
1420         * xml/XSLTProcessor.cpp:
1421         (WebCore::docLoaderFunc):
1422         * xml/xmlhttprequest.cpp:
1423         (WebCore::XMLHttpRequest::send):
1424
1425 2006-10-18  Maciej Stachowiak  <mjs@apple.com>
1426
1427         Reviewed by Geoff.
1428
1429         - remove vestiges of KXMLCore name (former name of WTF).
1430
1431         * config.h:
1432
1433 2006-10-18  Geoffrey Garen  <ggaren@apple.com>
1434
1435         Reviewed by Beth.
1436         
1437         Fixed http://bugs.webkit.org/show_bug.cgi?id=11222
1438
1439         Some global JS objects lacked references to their property hashtables,
1440         so for-in enumeration didn't work. I added the references, and then removed
1441         a few bogus properties from the tables. The bogus ones got in there through
1442         bit rot.
1443         
1444         We should come up with some solution to these hand-written bindings bugs.
1445         Maybe we could use a script to autogenerate them or something.
1446
1447         * bindings/js/kjs_window.cpp:
1448         (KJS::):
1449         (KJS::History::getValueProperty):
1450
1451 2006-10-18  Adam Roben  <aroben@apple.com>
1452
1453         Reviewed by Brady.
1454
1455         Change Shift-Tab to generate keyIdentifier U+000009 (Tab) instead of
1456         U+000019 (Backtab). This matches our windowsKeyCode for this key
1457         combination.
1458
1459         * platform/mac/KeyEventMac.mm:
1460         (WebCore::keyIdentifierForKeyEvent):
1461
1462 2006-10-18  Steve Falkenburg  <sfalken@apple.com>
1463
1464         Reviewed by Adam, Brady.
1465
1466         Loader tweaks.
1467
1468         * platform/cf/ResourceLoaderCFNet.cpp:
1469         (WebCore::didFinishLoading):
1470         (WebCore::didFail):
1471         (WebCore::didReceiveChallenge):
1472         (WebCore::runLoaderThread):
1473         (WebCore::ResourceLoader::start):
1474         (WebCore::ResourceLoader::cancel):
1475
1476 2006-10-18  Timothy Hatcher  <timothy@apple.com>
1477
1478         Reviewed by Darin.
1479
1480         <rdar://problem/4752138> Manipulating popup in HTML page crashed Xcode
1481
1482         - Store the Mac popup button cell as a RetainPtr to prevent GC collection.
1483         - Convert more ObjC local statics and member variables to use RetainPtr.
1484         - Convert more CFRetain/CFRelease to HardRetain/HardRelease.
1485
1486         * bindings/objc/DOM.mm:
1487         (ObjCNodeFilterCondition::ObjCNodeFilterCondition): use HardRetain and not CFRetain
1488         (ObjCNodeFilterCondition::~ObjCNodeFilterCondition): use HardRelease and not CFRelease
1489         * bridge/mac/AXObjectCacheMac.mm:
1490         (WebCore::AXObjectCache::~AXObjectCache): use HardRelease and not CFRelease
1491         (WebCore::AXObjectCache::get): use HardRetain and not CFRetain
1492         (WebCore::AXObjectCache::remove): use HardRelease and not CFRelease
1493         * bridge/mac/WebCoreFrameBridge.mm:
1494         (+[WebCoreFrameBridge supportedImageResourceMIMETypes]): use RetainPtr
1495         (+[WebCoreFrameBridge supportedImageMIMETypes]): ditto
1496         * bridge/mac/WebCoreIconDatabaseBridge.mm:
1497         (+[WebCoreIconDatabaseBridge sharedInstance]): use RetainPtr
1498         * platform/PopupMenu.h: renamed popup to m_popup and switched to RetainPtr<NSPopUpButtonCell>
1499         * platform/cf/RetainPtr.h:
1500         (WTF::::operator): implement a missing operator= template function
1501         * platform/mac/PopupMenuMac.mm:
1502         (WebCore::PopupMenu::PopupMenu): remove nil initialization
1503         (WebCore::PopupMenu::~PopupMenu): use .get(), remove release message and rename to m_popup
1504         (WebCore::PopupMenu::clear): use .get() when sending a message and rename to m_popup
1505         (WebCore::PopupMenu::populate): ditto 
1506         (WebCore::PopupMenu::show): ditto
1507         (WebCore::PopupMenu::hide): ditto
1508         (WebCore::PopupMenu::addSeparator): ditto
1509         (WebCore::PopupMenu::addGroupLabel): ditto
1510         (WebCore::PopupMenu::addOption): ditto
1511
1512 2006-10-18  Geoffrey Garen  <ggaren@apple.com>
1513
1514         Reviewed by Adele.
1515
1516         Fixed <rdar://problem/3673233> JavaScript timers do not fire if controls
1517         are tracking or menus are down (run loop modes)
1518
1519         I spent a few hours trying to write an automated test, but DRT doesn't
1520         seem to support it. Manual tests attached to related bugs.
1521         
1522         * bridge/mac/FrameMac.mm:
1523         (WebCore::FrameMac::passMouseDownEventToWidget):
1524         * platform/mac/SharedTimerMac.cpp:
1525         (WebCore::setSharedTimerFireTime):
1526
1527 2006-10-18  Sam Weinig  <sam.weinig@gmail.com>
1528
1529         Reviewed by Maciej.
1530
1531         More Win32 buildfix.
1532
1533         * bridge/win/FrameWin.h:
1534
1535 2006-10-18  Sam Weinig  <sam.weinig@gmail.com>
1536
1537         Reviewed by Mitz
1538
1539         Win32 build fix.
1540
1541         * bridge/win/BrowserExtensionWin.cpp:
1542         (WebCore::BrowserExtensionWin::BrowserExtensionWin):
1543         (WebCore::BrowserExtensionWin::createNewWindow):
1544         * bridge/win/BrowserExtensionWin.h:
1545         * bridge/win/FrameWin.cpp:
1546         (WebCore::FrameWin::createNewWindow):
1547         * bridge/win/FrameWin.h:
1548         * platform/win/CursorWin.cpp:
1549         * platform/win/TemporaryLinkStubs.cpp:
1550         (Image::getHBITMAP):
1551
1552 2006-10-18  Justin Garcia  <justin.garcia@apple.com>
1553
1554         Reviewed by harrison
1555         
1556         <rdar://problem/4784823>
1557         GMail Editor: Hang occurs when removing list styling on text in a rich text message
1558
1559         List removal moves the contents of every list item out of the list it's 
1560         in. When the code tried to move the contents of an empty list item (an li 
1561         with no child nodes, not even a placeholder br), moveParagraph didn't prune 
1562         the li, like it would if the li had a placeholder inside it.  So the list 
1563         removal code went into an infinite loop, continually attempting to de-list 
1564         an empty list item.
1565
1566         * editing/CompositeEditCommand.cpp:
1567         (WebCore::CompositeEditCommand::moveParagraphs): If the selection
1568         to move was empty and in an empty block that doesn't require a 
1569         placeholder to prop itself open (like a bordered div or an li), 
1570         remove it during the move.
1571
1572 2006-10-18  Adele Peterson  <adele@apple.com>
1573
1574         Reviewed by Beth.
1575
1576         - Fixed http://bugs.webkit.org/show_bug.cgi?id=11343
1577           REGRESSION (r16975): fast/events/objc-event-api is failing
1578
1579           When I moved the autoscroll code from FrameMac to Frame, I mistakingly changed the order of
1580           a call to invalidateClick.  This change moves it back to the sequence that existed before.  This allows
1581           the click count to get properly reset during a selection.
1582
1583         * page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent):
1584
1585 2006-10-17  Geoffrey Garen  <ggaren@apple.com>
1586         
1587         Reviewed by Anders.
1588         
1589         Factored common scaling code into a helper function.
1590
1591         * platform/mac/ScreenMac.mm:
1592         (WebCore::scale):
1593         (WebCore::scaleScreenRectToPageCoordinates):
1594         (WebCore::scalePageRectToScreenCoordinates):
1595
1596 2006-10-17  Steve Falkenburg  <sfalken@apple.com>
1597
1598         Build fixes
1599
1600         * bridge/win/BrowserExtensionWin.cpp:
1601         (WebCore::BrowserExtensionWin::createNewWindow):
1602         * bridge/win/BrowserExtensionWin.h:
1603         * bridge/win/FrameWin.cpp:
1604         (WebCore::FrameWin::createNewWindow):
1605         * bridge/win/FrameWin.h:
1606         * platform/gdk/BrowserExtensionGdk.h:
1607         * platform/gdk/TemporaryLinkStubs.cpp:
1608         (BrowserExtensionGdk::createNewWindow):
1609         * platform/qt/BrowserExtensionQt.cpp:
1610         (WebCore::BrowserExtensionQt::createNewWindow):
1611         * platform/qt/BrowserExtensionQt.h:
1612
1613 2006-10-17  Geoffrey Garen  <ggaren@apple.com>
1614
1615         Reviewed by Anders.
1616         
1617         Renamed WindowArgs to WindowFeatures, and moved it into its own header.
1618         ("Features" is the term of art in IE documentation. "Args" is pirate
1619         talk.)
1620
1621         * WebCore.xcodeproj/project.pbxproj:
1622         * bindings/js/kjs_window.cpp:
1623         (KJS::createNewWindow):
1624         (KJS::showModalDialog):
1625         (KJS::setWindowFeature):
1626         (KJS::parseWindowFeatures):
1627         (KJS::constrainToVisible):
1628         (KJS::WindowFunc::callAsFunction):
1629         * bridge/BrowserExtension.h:
1630         * bridge/WindowFeatures.h: Added.
1631         * bridge/mac/BrowserExtensionMac.h:
1632         * bridge/mac/BrowserExtensionMac.mm:
1633         (WebCore::BrowserExtensionMac::createNewWindow):
1634
1635 2006-10-17  Sam Weinig  <sam.weinig@gmail.com>
1636
1637         Reviewed by Tim H.
1638
1639         Patch for http://bugs.webkit.org/show_bug.cgi?id=11268
1640         Implement the Objective-C DOM bindings for SVGNumber, SVGRect, and SVGPoint
1641
1642         - Adds implementation for DOMSVGNumber, DOMSVGRect, and DOMSVGPoint.
1643
1644         - Moves the contents of ksvg/bindings/js/ to bindings/js/.
1645
1646         - Moves SVGZoomEvent.idl from ksvg/svg/ to ksvg/events/.
1647
1648         - Adds isSVGColor() and isSVGPaint() methods to StyleBase, matching 
1649           the other CSSValue classing, and allowing the bindings to allocate
1650           appropriately.
1651
1652         - Removes #ifdefs around the getBBox() method in SVGLocatable.idl allowing
1653           generation for Objective-C.
1654
1655         - Assorted style cleanups.
1656
1657         * DerivedSources.make:
1658         * WebCore.xcodeproj/project.pbxproj:
1659         * bindings/objc/DOMCSS.mm:
1660         (+[DOMCSSValue _CSSValueWith:WebCore::]):
1661         * bindings/objc/DOMEvents.mm:
1662         (+[DOMEvent _eventWith:WebCore::]):
1663         * bindings/objc/DOMSVG.h:
1664         * bindings/objc/DOMSVGNumber.mm:
1665         (-[DOMSVGNumber dealloc]):
1666         (-[DOMSVGNumber finalize]):
1667         (-[DOMSVGNumber value]):
1668         (-[DOMSVGNumber setValue:]):
1669         (-[DOMSVGNumber _SVGNumber]):
1670         (-[DOMSVGNumber _initWithFloat:]):
1671         (+[DOMSVGNumber _SVGNumberWith:]):
1672         * bindings/objc/DOMSVGPoint.mm:
1673         (-[DOMSVGPoint dealloc]):
1674         (-[DOMSVGPoint finalize]):
1675         (-[DOMSVGPoint x]):
1676         (-[DOMSVGPoint setX:]):
1677         (-[DOMSVGPoint y]):
1678         (-[DOMSVGPoint setY:]):
1679         (-[DOMSVGPoint WebCore::]):
1680         (-[DOMSVGPoint _initWithFloatPoint:WebCore::]):
1681         (+[DOMSVGPoint _SVGPointWith:WebCore::]):
1682         * bindings/objc/DOMSVGRect.mm:
1683         (-[DOMSVGRect dealloc]):
1684         (-[DOMSVGRect finalize]):
1685         (-[DOMSVGRect x]):
1686         (-[DOMSVGRect setX:]):
1687         (-[DOMSVGRect y]):
1688         (-[DOMSVGRect setY:]):
1689         (-[DOMSVGRect width]):
1690         (-[DOMSVGRect setWidth:]):
1691         (-[DOMSVGRect height]):
1692         (-[DOMSVGRect setHeight:]):
1693         (-[DOMSVGRect WebCore::]):
1694         (-[DOMSVGRect _initWithFloatRect:WebCore::]):
1695         (+[DOMSVGRect _SVGRectWith:WebCore::]):
1696         * bindings/scripts/CodeGeneratorObjC.pm:
1697         * css/StyleBase.h:
1698         (WebCore::StyleBase::isSVGColor):
1699         (WebCore::StyleBase::isSVGPaint):
1700         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Removed.
1701         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Removed.
1702         * ksvg2/bindings/js/JSSVGNumber.cpp: Removed.
1703         * ksvg2/bindings/js/JSSVGNumber.h: Removed.
1704         * ksvg2/bindings/js/JSSVGPoint.cpp: Removed.
1705         * ksvg2/bindings/js/JSSVGPoint.h: Removed.
1706         * ksvg2/bindings/js/JSSVGRect.cpp: Removed.
1707         * ksvg2/bindings/js/JSSVGRect.h: Removed.
1708         * ksvg2/svg/SVGColor.h:
1709         (WebCore::SVGColor::isSVGColor):
1710         * ksvg2/svg/SVGFECompositeElement.idl:
1711         * ksvg2/svg/SVGFEFloodElement.idl:
1712         * ksvg2/svg/SVGLocatable.idl:
1713         * ksvg2/svg/SVGMarkerElement.idl:
1714         * ksvg2/svg/SVGPaint.h:
1715         (WebCore::SVGPaint::isSVGPaint):
1716         * ksvg2/svg/SVGRectElement.idl:
1717         * ksvg2/svg/SVGZoomEvent.idl: Removed.
1718
1719 2006-10-17  David Hyatt  <hyatt@apple.com>
1720
1721         Prepare for the elimination of the RenderLayer for <html> elements.  The layer is still present,
1722         but this patch makes everything work without a root layer being around.
1723
1724         Reviewed by beth
1725
1726         * rendering/RenderBlock.cpp:
1727         (WebCore::RenderBlock::paint):
1728         (WebCore::RenderBlock::paintChildren):
1729         (WebCore::RenderBlock::nodeAtPoint):
1730         * rendering/RenderLayer.cpp:
1731         (WebCore::frameVisibleRect):
1732         (WebCore::RenderLayer::hitTest):
1733         (WebCore::RenderLayer::hitTestLayer):
1734         (WebCore::RenderLayer::intersectsDamageRect):
1735         * rendering/RenderObject.cpp:
1736         (WebCore::RenderObject::setInnerNode):
1737         * rendering/RenderView.cpp:
1738         (WebCore::RenderView::paint):
1739
1740 2006-10-17  David Hyatt  <hyatt@apple.com>
1741
1742         Back out my previous patch to the WebCore memory cache.
1743
1744         * loader/Cache.cpp:
1745         (WebCore::Cache::flush):
1746         (WebCore::Cache::setSize):
1747         (WebCore::Cache::getLRUListFor):
1748         (WebCore::Cache::removeFromLRUList):
1749         (WebCore::Cache::insertInLRUList):
1750         * loader/Cache.h:
1751         * loader/CachedCSSStyleSheet.cpp:
1752         (WebCore::CachedCSSStyleSheet::deref):
1753         * loader/CachedCSSStyleSheet.h:
1754         * loader/CachedImage.cpp:
1755         (WebCore::CachedImage::deref):
1756         * loader/CachedImage.h:
1757         * loader/CachedResource.cpp:
1758         (WebCore::CachedResource::setRequest):
1759         (WebCore::CachedResource::deref):
1760         * loader/CachedResource.h:
1761         (WebCore::CachedResource::allowInLRUList):
1762         * loader/CachedScript.cpp:
1763         (WebCore::CachedScript::deref):
1764         * loader/CachedScript.h:
1765         * loader/CachedXBLDocument.cpp:
1766         (WebCore::CachedXBLDocument::deref):
1767         * loader/CachedXBLDocument.h:
1768         * loader/CachedXSLStyleSheet.cpp:
1769         (WebCore::CachedXSLStyleSheet::deref):
1770         * loader/CachedXSLStyleSheet.h:
1771
1772 2006-10-17  Oliver Hunt  <oliver@apple.com>
1773
1774         Reviewed by Anders.
1775
1776         Make north and east resize cursors use correct image
1777
1778         * platform/win/CursorWin.cpp:
1779         (WebCore::eastResizeCursor):
1780         (WebCore::northResizeCursor):
1781
1782 2006-10-17  Oliver Hunt  <oliver@apple.com>
1783
1784         Reviewed by Brady
1785
1786         Various cursor fixes
1787
1788         * page/FrameView.cpp:
1789         (WebCore::FrameView::handleMouseMoveEvent):
1790         * platform/Cursor.h:
1791         * platform/mac/CursorMac.mm:
1792         (WebCore::pointerCursor):
1793         * platform/win/CursorWin.cpp:
1794         (WebCore::supportsAlphaCursors):
1795         (WebCore::Cursor::Cursor):
1796         (WebCore::Cursor::~Cursor):
1797         (WebCore::pointerCursor):
1798
1799 2006-10-17  Justin Garcia  <justin.garcia@apple.com>
1800
1801         Reviewed by harrison
1802         
1803         <rdar://problem/4776665>
1804         REGRESSION: In Mail, caret is visible when the message body isn't focused
1805
1806         * page/Frame.cpp:
1807         (WebCore::Frame::paintCaret): If a caret blink timer is ever on in error
1808         (like when the frame that contains the caret isn't focused) then we don't 
1809         want to paint the caret.  We should eventually move to using a single bool
1810         for caret painting.
1811
1812 2006-10-17  Justin Garcia  <justin.garcia@apple.com>
1813
1814         Reviewed by harrison
1815         
1816         <rdar://problem/4774354>
1817         REGRESSION: In Gmail, caret reappears when dragging a selection over some text in the message body
1818
1819         Functions call recomputCaretRect to see if the caret rect has changed, 
1820         and, if it has, they invalidate (repaint) it.  recomputeCaretRect was 
1821         returning false if the caret turned into a range selection or was blown 
1822         away.
1823
1824         * editing/SelectionController.cpp:
1825         (WebCore::SelectionController::recomputeCaretRect): Don't early return if
1826         !isCaret().  Obtain the FrameView* using the m_frame pointer, because m_sel 
1827         may now be null.
1828
1829 2006-10-17  Geoffrey Garen  <ggaren@apple.com>
1830
1831         Reviewed by Brady.
1832
1833         BrowserExtension cleanup.
1834         
1835         - Removed unnecessary #include of BrowserExtension in Frame.h, added
1836         #includes to compensate in other files.
1837         
1838         - Removed unused versions of createNewWindow.
1839         
1840         * bindings/js/kjs_window.cpp:
1841         * bridge/BrowserExtension.h:
1842         * bridge/mac/BrowserExtensionMac.h:
1843         * bridge/mac/BrowserExtensionMac.mm:
1844         (WebCore::BrowserExtensionMac::createNewWindow):
1845         * bridge/mac/WebCoreFrameBridge.mm:
1846         * html/HTMLFormElement.cpp:
1847         * loader/mac/LoaderFunctionsMac.mm:
1848         * page/Frame.h:
1849         * page/FramePrivate.h:
1850
1851 2006-10-15  Geoffrey Garen  <ggaren@apple.com>
1852
1853         Reviewed by Adam.
1854         
1855         - Fixed "FIXME: Violates Liskov Substitution principle."
1856         
1857         IFRAME was never a true subclass of FRAME, since they disagreed on a
1858         number of behaviors, which, confusingly, IFRAME just overrode and contradicted. 
1859
1860         The fix here is to factor out things common to IFRAME and FRAME into a
1861         common base class, HTMLFrameElementBase.
1862         
1863         I also changed some " *" to "* " and added #includes in files that implicitly
1864         assumed that HTMLIFrameElement.h #included HTMLFrameElement.h.
1865
1866 2006-10-16  Justin Garcia  <justin.garcia@apple.com>
1867
1868         Reviewed by sullivan
1869         
1870         <rdar://problem/4776765>
1871         REGRESSION: Caret's ghost left behind after inserting a paragraph separator (11237)
1872
1873         We set m_needsLayout to false and call caretRect() in the hopes that it will give us 
1874         the old caret rect.  It in fact corrects the caret rect for an offset that it 
1875         believes is due to scrolling but which is actually due to a change in selection
1876         without an accompanying layout.  So it returns the new caret rect regardless of
1877         what m_needsLayout is set to.
1878         
1879         * editing/SelectionController.cpp:
1880         (WebCore::repaintRectForCaret): Moved the code from caretRepaintRect that
1881         adds a one pixel slop to this new function.
1882         (WebCore::SelectionController::caretRepaintRect): Moved this code to
1883         repaintRectForCaret.
1884         (WebCore::SelectionController::recomputeCaretRect): Compare the old
1885         caret rect to the new one that's computed with a fresh layout.  If
1886         they are different, invalidate both repaint rects.
1887
1888 2006-10-17  David Harrison  <harrison@apple.com>
1889
1890         Reviewed by Adele.
1891
1892         <rdar://problem/4770453> VO not honoring secure edit fields in web pages
1893
1894         * bridge/mac/WebCoreAXObject.mm:
1895         (-[WebCoreAXObject isPasswordField]):
1896         New. Checks for input with inputType() of PASSWORD.
1897         
1898         (-[WebCoreAXObject subrole]):
1899         Returns NSAccessibilitySecureTextFieldSubrole if [self isPasswordField].
1900         
1901         (-[WebCoreAXObject roleDescription]):
1902         Pass [self subrole] instead of nil when calling NSAccessibilityRoleDescription.
1903         
1904         (-[WebCoreAXObject value]):
1905         Return nil if [self isPasswordField].
1906         
1907         (-[WebCoreAXObject accessibilityAttributeNames]):
1908         Return generic attributes if [self isPasswordField].
1909
1910         (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
1911         Return empty array if [self isPasswordField].
1912
1913 2006-10-17  David Hyatt  <hyatt@apple.com>
1914
1915         Fix "flash to white' problem on yahoo.com as it finishes loading.  Refine the FOUC suppression
1916         code so that it will only run if the body still has no renderer.
1917
1918         * dom/Document.cpp:
1919         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
1920
1921 2006-10-17  David Hyatt  <hyatt@apple.com>
1922
1923         Fix a bug where the WebCore memory cache could grow without bound during extended browsing
1924         sessions.
1925
1926         Reviewed by mjs
1927
1928         * loader/Cache.cpp:
1929         (WebCore::Cache::flush):
1930         (WebCore::Cache::setSize):
1931         (WebCore::Cache::getLRUListFor):
1932         (WebCore::Cache::removeFromLRUList):
1933         (WebCore::Cache::insertInLRUList):
1934         * loader/Cache.h:
1935         * loader/CachedCSSStyleSheet.cpp:
1936         * loader/CachedCSSStyleSheet.h:
1937         * loader/CachedImage.cpp:
1938         * loader/CachedImage.h:
1939         * loader/CachedResource.cpp:
1940         (WebCore::CachedResource::setRequest):
1941         (WebCore::CachedResource::deref):
1942         * loader/CachedResource.h:
1943         (WebCore::CachedResource::allowInLRUList):
1944         * loader/CachedScript.cpp:
1945         * loader/CachedScript.h:
1946         * loader/CachedXBLDocument.cpp:
1947         * loader/CachedXBLDocument.h:
1948         * loader/CachedXSLStyleSheet.cpp:
1949         * loader/CachedXSLStyleSheet.h:
1950
1951 2006-10-13  Justin Garcia  <justin.garcia@apple.com>
1952
1953         Reviewed by harrison
1954         
1955         <rdar://problem/3655385>
1956         Editing: -indent: method unimplemented
1957
1958         Added Frame and bridge methods.
1959
1960         * bridge/mac/WebCoreFrameBridge.h:
1961         * bridge/mac/WebCoreFrameBridge.mm:
1962         (-[WebCoreFrameBridge indent]):
1963         (-[WebCoreFrameBridge outdent]):
1964         * page/Frame.cpp:
1965         (WebCore::Frame::indent): 
1966         (WebCore::Frame::outdent):
1967         * page/Frame.h:
1968
1969 2006-10-16  Adam Roben  <aroben@apple.com>
1970
1971         Reviewed by John.
1972
1973         More menulist cleanup/tweaking.
1974
1975         * html/HTMLSelectElement.cpp:
1976         (WebCore::HTMLSelectElement::setSelectedIndex): Renamed 'index'
1977         parameter to 'optionIndex' for clarity.
1978         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Skip over
1979         items that are not enabled <option> elements when using arrow keys, and
1980         make sure we pass an option index to setSelectedIndex.
1981         * platform/PopupMenu.h:
1982         (WebCore::PopupMenu::setWasClicked): Specify default argument.
1983         * rendering/RenderMenuList.cpp:
1984         (WebCore::RenderMenuList::setTextFromOption): Strip whitespace from
1985         option text before setting the control text so that options within
1986         <optgroup>s don't appear indented in the actual control.
1987
1988 2006-10-16  Sam Weinig  <sam.weinig@gmail.com>
1989
1990         Reviewed by Adam.
1991
1992         Win32 build fix.
1993
1994         * WebCore.vcproj/WebCore/WebCore.vcproj:
1995         * bridge/win/BrowserExtensionWin.cpp:
1996         (WebCore::BrowserExtensionWin::createNewWindow):
1997         * bridge/win/FrameWin.cpp:
1998         (WebCore::FrameWin::urlSelected):
1999         (WebCore::FrameWin::submitForm):
2000         (WebCore::FrameWin::createNewWindow):
2001         * bridge/win/FrameWin.h:
2002         * loader/loader.cpp:
2003         (WebCore::Loader::receivedResponse):
2004         * platform/win/GraphicsContextWin.cpp:
2005         (WebCore::GraphicsContext::getWindowsContext):
2006         (WebCore::GraphicsContext::releaseWindowsContext):
2007         * platform/win/TemporaryLinkStubs.cpp:
2008         (FrameWin::openURLRequest):
2009         (WebCore::ServeSynchronousRequest):
2010         (WebCore::CheckIfReloading):
2011         (WebCore::IsResponseURLEqualToURL):
2012         (WebCore::ResponseMIMEType):
2013         (WebCore::ResponseIsMultipart):
2014         (WebCore::CacheObjectExpiresTime):
2015         (CachedResource::setResponse):
2016         (CachedResource::setAllData):
2017         * rendering/RenderThemeWin.cpp:
2018         (WebCore::doneDrawing):
2019         (WebCore::RenderThemeWin::paintButton):
2020         (WebCore::RenderThemeWin::paintTextField):
2021
2022 2006-10-16  David Hyatt  <hyatt@apple.com>
2023
2024         Fix for bug 9347, positioned elements have the wrong containing block.  This is a change from CSS2 to
2025         CSS2.1.  In the absence of any other enclosing positioned elements, the containing block for a positioned
2026         element is the initial containing block (our RenderView).
2027
2028         Reviewed by mjs
2029
2030         Test cases added to fast/block/positioning for quirks and strict modes.
2031
2032         * rendering/RenderBlock.cpp:
2033         (WebCore::RenderBlock::lowestPosition):
2034         (WebCore::RenderBlock::rightmostPosition):
2035         (WebCore::RenderBlock::leftmostPosition):
2036         * rendering/RenderBox.cpp:
2037         (WebCore::RenderBox::containingBlockHeightForPositioned):
2038         (WebCore::RenderBox::calcAbsoluteVertical):
2039         * rendering/RenderObject.cpp:
2040         (WebCore::RenderObject::containingBlock):
2041         (WebCore::RenderObject::container):
2042
2043 2006-10-15  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
2044
2045         Reviewed by Anders.
2046
2047         Misc Gdk/Linux build fixes.
2048
2049         * platform/gdk/BrowserExtensionGdk.h:
2050         * platform/gdk/FrameGdk.cpp:
2051         (WebCore::FrameGdk::submitForm):
2052         (WebCore::FrameGdk::urlSelected):
2053         * platform/gdk/FrameGdk.h:
2054         * platform/gdk/RenderPopupMenuGdk.cpp:
2055         (WebCore::PopupMenu::PopupMenu):
2056         (WebCore::PopupMenu::~PopupMenu):
2057         (WebCore::PopupMenu::clear):
2058         (WebCore::PopupMenu::populate):
2059         (WebCore::PopupMenu::show):
2060         (WebCore::PopupMenu::hide):
2061         (WebCore::PopupMenu::addSeparator):
2062         (WebCore::PopupMenu::addGroupLabel):
2063         (WebCore::PopupMenu::addOption):
2064         * platform/gdk/RenderPopupMenuGdk.h:
2065         * platform/gdk/RenderThemeGdk.cpp:
2066         * platform/gdk/RenderThemeGdk.h:
2067         (WebCore::RenderThemeGdk::RenderThemeGdk):
2068         * platform/gdk/TemporaryLinkStubs.cpp:
2069         (BrowserExtensionGdk::createNewWindow):
2070         (BrowserExtensionGdk::BrowserExtensionGdk):
2071         (BrowserExtensionGdk::setTypedIconURL):
2072         (BrowserExtensionGdk::setIconURL):
2073         (BrowserExtensionGdk::getHistoryLength):
2074         (WebCore::CheckIfReloading):
2075         (WebCore::CacheObjectExpiresTime):
2076         (WebCore::ResponseURL):
2077         (WebCore::IsResponseURLEqualToURL):
2078         (WebCore::ResponseIsMultipart):
2079         (WebCore::ResponseMIMEType):
2080         (WebCore::CachedResource::setResponse):
2081         (WebCore::CachedResource::setAllData):
2082         (FileChooser::disconnectUploadControl):
2083         * rendering/RenderTheme.h:
2084         * rendering/RenderThemeMac.h:
2085
2086 2006-10-15  Sam Weinig  <sam.weinig@gmail.com>
2087
2088         Reviewed by Mitz.
2089
2090         Fix for http://bugs.webkit.org/show_bug.cgi?id=11294
2091         Add getModifierState method to KeyboardEvent
2092
2093         * bindings/objc/DOMEvents.h:
2094         * bindings/objc/DOMEvents.mm:
2095         * bindings/objc/PublicDOMInterfaces.h:
2096         * dom/KeyboardEvent.cpp:
2097         (WebCore::KeyboardEvent::getModifierState):
2098         * dom/KeyboardEvent.h:
2099         * dom/KeyboardEvent.idl:
2100
2101 2006-10-15  Nikolas Zimmermann  <zimmermann@kde.org>
2102
2103         Reviewed and landed by ap.
2104
2105         Changed PlatformResponse handling for Qt. Don't just store
2106         a QString object containing the data but a new PlatformResponseQt struct
2107         containing data and url, and store it as pointer. This is compatible
2108         to the OS X handling and removes the Qt plaform specific hacks from
2109         CachedCSSStyleSheet, CachedResource & loader.
2110
2111         Add new file LoaderFunctionsQt, similar to LoaderFunctionsMac, and move
2112         all methods from TemporaryLinkStubs related to loading in there, and implement
2113         some like ServeSynchronousRequest (yay for xslt handling!).
2114
2115         * CMakeLists.txt:
2116         * loader/CachedCSSStyleSheet.cpp:
2117         (WebCore::CachedCSSStyleSheet::checkNotify):
2118         * loader/CachedResource.h:
2119         (WebCore::CachedResource::CachedResource):
2120         * loader/loader.cpp:
2121         (WebCore::Loader::receivedResponse):
2122         * platform/ResourceLoaderClient.h:
2123         * platform/ResourceLoaderInternal.h:
2124         * platform/qt/FrameQt.cpp:
2125         (WebCore::FrameQt::~FrameQt):
2126         (WebCore::FrameQt::createEmptyDocument):
2127         * platform/qt/FrameQt.h:
2128         (WebCore::QtFrame):
2129         * platform/qt/FrameQtClient.cpp:
2130         (WebCore::FrameQtClientDefault::setFrame):
2131         (WebCore::FrameQtClientDefault::openURL):
2132         (WebCore::FrameQtClientDefault::loadFinished):
2133         (WebCore::FrameQtClientDefault::receivedAllData):
2134         * platform/qt/FrameQtClient.h:
2135         * platform/qt/LoaderFunctionsQt.cpp: Added.
2136         (WebCore::ServeSynchronousRequest):
2137         (WebCore::NumberOfPendingOrLoadingRequests):
2138         (WebCore::CheckIfReloading):
2139         (WebCore::CheckCacheObjectStatus):
2140         (WebCore::IsResponseURLEqualToURL):
2141         (WebCore::ResponseURL):
2142         (WebCore::ResponseMIMEType):
2143         (WebCore::ResponseIsMultipart):
2144         (WebCore::CacheObjectExpiresTime):
2145         (WebCore::CachedResource::setResponse):
2146         (WebCore::CachedResource::setAllData):
2147         * platform/qt/ResourceLoaderManager.cpp:
2148         (WebCore::ResourceLoaderManager::remove):
2149         * platform/qt/ResourceLoaderQt.cpp:
2150         (WebCore::ResourceLoader::~ResourceLoader):
2151         (WebCore::ResourceLoader::start):
2152         (WebCore::ResourceLoader::assembleResponseHeaders):
2153         (WebCore::ResourceLoader::receivedResponse):
2154         * platform/qt/TemporaryLinkStubs.cpp:
2155
2156 2006-10-14  Rob Buis  <buis@kde.org>
2157
2158         Reviewed by Mitz.
2159
2160         http://bugs.webkit.org/show_bug.cgi?id=11217
2161         Cleanup svg coding style
2162
2163         Cleanup coding style in svg basic datastructure classes.
2164
2165         * ksvg2/svg/SVGAngle.cpp:
2166         (WebCore::SVGAngle::valueAsString):
2167         (WebCore::SVGAngle::context):
2168         (WebCore::SVGAngle::setContext):
2169         * ksvg2/svg/SVGAngle.h:
2170         * ksvg2/svg/SVGColor.cpp:
2171         * ksvg2/svg/SVGColor.h:
2172         * ksvg2/svg/SVGElement.cpp:
2173         (WebCore::SVGElement::ownerSVGElement):
2174         (WebCore::SVGElement::viewportElement):
2175         (WebCore::SVGElement::parseMappedAttribute):
2176         (WebCore::SVGElement::childShouldCreateRenderer):
2177         * ksvg2/svg/SVGElement.h:
2178         (WebCore::svg_dynamic_cast):
2179         * ksvg2/svg/SVGFitToViewBox.cpp:
2180         (WebCore::SVGFitToViewBox::parseViewBox):
2181         * ksvg2/svg/SVGFitToViewBox.h:
2182         * ksvg2/svg/SVGLangSpace.cpp:
2183         (WebCore::SVGLangSpace::parseMappedAttribute):
2184         * ksvg2/svg/SVGLangSpace.h:
2185         * ksvg2/svg/SVGLength.cpp:
2186         (WebCore::SVGLength::SVGLength):
2187         (WebCore::SVGLength::setValueAsString):
2188         (WebCore::SVGLength::dpi):
2189         (WebCore::SVGLength::updateValue):
2190         (WebCore::SVGLength::updateValueInSpecifiedUnits):
2191         (WebCore::SVGLength::context):
2192         (WebCore::SVGLength::setContext):
2193         * ksvg2/svg/SVGLength.h:
2194         * ksvg2/svg/SVGLengthList.cpp:
2195         * ksvg2/svg/SVGLengthList.h:
2196         * ksvg2/svg/SVGLocatable.cpp:
2197         (WebCore::SVGLocatable::nearestViewportElement):
2198         (WebCore::SVGLocatable::farthestViewportElement):
2199         (WebCore::SVGLocatable::getBBox):
2200         (WebCore::SVGLocatable::getCTM):
2201         (WebCore::SVGLocatable::getScreenCTM):
2202         * ksvg2/svg/SVGNumberList.cpp:
2203         * ksvg2/svg/SVGNumberList.h:
2204         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
2205         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
2206         (WebCore::SVGPreserveAspectRatio::getCTM):
2207         * ksvg2/svg/SVGPreserveAspectRatio.h:
2208         * ksvg2/svg/SVGStringList.cpp:
2209         (WebCore::SVGStringList::reset):
2210         * ksvg2/svg/SVGStringList.h:
2211         * ksvg2/svg/SVGStylable.cpp:
2212         * ksvg2/svg/SVGStylable.h:
2213         * ksvg2/svg/SVGTests.cpp:
2214         (WebCore::SVGTests::requiredFeatures):
2215         (WebCore::SVGTests::requiredExtensions):
2216         (WebCore::SVGTests::systemLanguage):
2217         (WebCore::SVGTests::isValid):
2218         (WebCore::SVGTests::parseMappedAttribute):
2219         * ksvg2/svg/SVGTests.h:
2220         * ksvg2/svg/SVGTransformable.cpp:
2221         (WebCore::SVGTransformable::parseTransformAttribute):
2222         * ksvg2/svg/SVGTransformable.h:
2223         * ksvg2/svg/SVGURIReference.cpp:
2224         (WebCore::SVGURIReference::parseMappedAttribute):
2225         * ksvg2/svg/SVGZoomAndPan.cpp:
2226         (WebCore::SVGZoomAndPan::parseMappedAttribute):
2227         * ksvg2/svg/SVGZoomAndPan.h:
2228
2229 2006-10-15  Nikolas Zimmermann  <zimmermann@kde.org>
2230
2231         Reviewed by Oliver.
2232
2233         Implement some functions in FrameQt / ScrollViewQt.
2234
2235         Added comments what needs to be done in quite some places,
2236         marked some functions as no-ops.
2237
2238         * CMakeLists.txt:
2239         * platform/qt/FrameQt.cpp:
2240         (WebCore::FrameQt::FrameQt):
2241         (WebCore::FrameQt::runJavaScriptConfirm):
2242         (WebCore::FrameQt::locationbarVisible):
2243         (WebCore::FrameQt::createFrame):
2244         (WebCore::FrameQt::passSubframeEventToSubframe):
2245         (WebCore::FrameQt::menubarVisible):
2246         (WebCore::FrameQt::personalbarVisible):
2247         (WebCore::FrameQt::statusbarVisible):
2248         (WebCore::FrameQt::toolbarVisible):
2249         (WebCore::FrameQt::markedTextRange):
2250         (WebCore::FrameQt::lastEventIsMouseUp):
2251         (WebCore::FrameQt::openURLRequest):
2252         (WebCore::FrameQt::scheduleClose):
2253         (WebCore::FrameQt::unfocusWindow):
2254         (WebCore::FrameQt::focusWindow):
2255         (WebCore::FrameQt::overrideMediaType):
2256         (WebCore::FrameQt::runJavaScriptPrompt):
2257         (WebCore::FrameQt::bindingRootObject):
2258         (WebCore::FrameQt::addPluginRootObject):
2259         (WebCore::FrameQt::registerCommandForUndo):
2260         (WebCore::FrameQt::registerCommandForRedo):
2261         (WebCore::FrameQt::clearUndoRedoOperations):
2262         (WebCore::FrameQt::respondToChangedSelection):
2263         (WebCore::FrameQt::respondToChangedContents):
2264         (WebCore::FrameQt::shouldChangeSelection):
2265         (WebCore::FrameQt::canGoBackOrForward):
2266         (WebCore::FrameQt::canPaste):
2267         (WebCore::FrameQt::canRedo):
2268         (WebCore::FrameQt::canUndo):
2269         * platform/qt/FrameQt.h:
2270         * platform/qt/FrameQtClient.cpp:
2271         (WebCore::FrameQtClientDefault::runJavaScriptAlert):
2272         (WebCore::FrameQtClientDefault::runJavaScriptConfirm):
2273         (WebCore::FrameQtClientDefault::runJavaScriptPrompt):
2274         (WebCore::FrameQtClientDefault::menubarVisible):
2275         (WebCore::FrameQtClientDefault::toolbarVisible):
2276         (WebCore::FrameQtClientDefault::statusbarVisible):
2277         (WebCore::FrameQtClientDefault::personalbarVisible):
2278         (WebCore::FrameQtClientDefault::locationbarVisible):
2279         * platform/qt/FrameQtClient.h:
2280         * platform/qt/ImageSourceQt.cpp:
2281         * platform/qt/RenderThemeQt.cpp:
2282         * platform/qt/ScrollViewQt.cpp:
2283         (WebCore::ScrollView::scrollPointRecursively):
2284         * platform/qt/TemporaryLinkStubs.cpp:
2285         (WebCore::CachedResource::setResponse):
2286         (WebCore::CachedResource::setAllData):
2287
2288 2006-10-14  David Harrison  <harrison@apple.com>
2289
2290         Reviewed by Geoff.
2291
2292         <rdar://problem/4775213> REGRESSION: Can't from tab from last link on the page to URL address field
2293         <rdar://problem/4783926> REGRESSION: Typing tab key enters no text
2294
2295         The problem is that EventTargetNode::defaultEventHandler() calls event->setDefaultHandled() regardless
2296         of whether frame->view()->advanceFocus() actually changed the focus.
2297
2298         Trivial fix is to preventDefault() only if advanceFocus() returns true.
2299
2300         * No test is possible because DumpRenderTree sets the WebView preference to
2301         tab to links, and that preference cannot be changed dynamically after
2302         the webview is initialized. Also, the "tab from last link" is not testable
2303         because DumpRenderTree uses the WebView for the whole window, so tabs can't
2304         shift focus out of the WebView regardless.
2305
2306         * dom/EventTargetNode.cpp:
2307         (WebCore::EventTargetNode::defaultEventHandler):
2308
2309 2006-10-14  Nikolas Zimmermann  <zimmermann@kde.org>
2310
2311         Reviewed by Mitz.
2312
2313         Fix Qt/Linux build & some little fixes:
2314
2315         - Adapt to Maciej's FrameLoadRequest changes.
2316         - Fix response handling - don't try to compare with '0' - for us it's a non-ptr QString object.
2317         - Actually call setAllData from loader/loader.cpp (David Carson forgot that in his last commit)
2318         - Fix CacheObjectExpiresTime/ResponseIsMultipart signature.
2319
2320         * loader/CachedCSSStyleSheet.cpp:
2321         (WebCore::CachedCSSStyleSheet::checkNotify):
2322         * loader/CachedResource.h:
2323         (WebCore::CachedResource::CachedResource):
2324         * loader/loader.cpp:
2325         (WebCore::Loader::receivedAllData):
2326         (WebCore::Loader::receivedResponse):
2327         * platform/qt/BrowserExtensionQt.cpp:
2328         (WebCore::BrowserExtensionQt::createNewWindow):
2329         * platform/qt/BrowserExtensionQt.h:
2330         * platform/qt/FrameQt.cpp:
2331         (WebCore::FrameQt::submitForm):
2332         (WebCore::FrameQt::urlSelected):
2333         (WebCore::FrameQt::openURLRequest):
2334         * platform/qt/FrameQt.h:
2335         * platform/qt/GraphicsContextQt.cpp:
2336         (WebCore::GraphicsContext::setURLForRect):
2337         * platform/qt/TemporaryLinkStubs.cpp:
2338         (WebCore::CacheObjectExpiresTime):
2339         (WebCore::ResponseIsMultipart):
2340         (WebCore::CachedResource::setResponse):
2341         (WebCore::CachedResource::setAllData):
2342
2343 2006-10-14  David Carson  <dacarson@gmail.com>
2344
2345         Reviewed by Maciej.
2346
2347         Fix: http://bugs.webkit.org/show_bug.cgi?id=11257
2348         Removed Mac platform dependance, changed WebCore functions to
2349         use PlatformResponse/PlatformData rather than NSURLResponse/
2350         NSData. 
2351
2352         * loader/CachedCSSStyleSheet.cpp:
2353         (WebCore::CachedCSSStyleSheet::checkNotify):
2354         * loader/CachedImage.cpp:
2355         (WebCore::CachedImage::createImage):
2356         * loader/CachedResource.cpp:
2357         (WebCore::CachedResource::~CachedResource):
2358         * loader/CachedResource.h:
2359         (WebCore::CachedResource::CachedResource):
2360         (WebCore::CachedResource::response):
2361         (WebCore::CachedResource::allData):
2362         * loader/LoaderFunctions.h:
2363         * loader/loader.cpp:
2364         (WebCore::Loader::receivedResponse):
2365         * loader/mac/LoaderFunctionsMac.mm:
2366         (WebCore::ResponseMIMEType):
2367         (WebCore::ResponseIsMultipart):
2368         (WebCore::CacheObjectExpiresTime):
2369         (WebCore::CachedResource::setResponse):
2370         (WebCore::CachedResource::setAllData):
2371         * platform/qt/TemporaryLinkStubs.cpp:
2372         (WebCore::CacheObjectExpiresTime):
2373         (WebCore::ResponseIsMultipart):
2374         (WebCore::ResponseMIMEType):
2375         (WebCore::CachedResource::setResponse):
2376         (WebCore::CachedResource::setAllData):
2377         * platform/win/TemporaryLinkStubs.cpp:
2378         (WebCore::CacheObjectExpiresTime):
2379         (WebCore::ResponseIsMultipart):
2380         (WebCore::ResponseMIMEType):
2381         (WebCore::CachedResource::setResponse):
2382         (WebCore::CachedResource::setAllData):
2383
2384 2006-10-14  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
2385
2386         Reviewed by Maciej.
2387
2388         Fix GDK build by defining FrameGdkClient() constructor as non-virtual.
2389         Pure virtual classes require non-pure destructor, who knew.
2390
2391         Make CURL networking dependent on USE(CURL) instead of PLATFORM(GDK),
2392         so that other platforms can also use CURL, if they wish.
2393
2394         Silence compiler warning about unused variable in SharedTimerLinux.cpp
2395
2396         * platform/ResourceLoaderInternal.h:
2397         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
2398         * platform/gdk/FrameGdk.h:
2399         (WebCore::FrameGdkClient::~FrameGdkClient):
2400         * platform/gdk/ResourceLoaderManager.cpp:
2401         (WebCore::ResourceLoaderManager::downloadTimerCallback):
2402         * platform/gdk/SharedTimerLinux.cpp:
2403         (WebCore::stopSharedTimer):
2404
2405 2006-10-13  Beth Dakin  <bdakin@apple.com>
2406
2407         Reviewed by Geoff.
2408
2409         Build fix from my last check-in. Make hasOutlineAnnotation() non-
2410         inline so that we don't have to include Document.h in 
2411         RenderObject.h
2412         Doing so causes a build failure in WebKit, and it probably isn't a 
2413         good idea anyway.
2414
2415         * rendering/RenderObject.cpp:
2416         (WebCore::RenderObject::hasOutlineAnnotation):
2417         * rendering/RenderObject.h:
2418         (WebCore::RenderObject::hasOutline):
2419
2420 2006-10-13  Beth Dakin  <bdakin@apple.com>
2421
2422         Patch written mostly by Ken Kraisler, but also by me.
2423
2424         Reviewed by Hyatt.
2425
2426         Fix for http://bugs.webkit.org/show_bug.cgi?id=10216 and <rdar://
2427         problem/3391162> PDF created by printing should have live 
2428         hyperlinks
2429
2430         * platform/GraphicsContext.cpp:
2431         (WebCore::GraphicsContext::focusRingBoundingRect):
2432         * platform/GraphicsContext.h:
2433         * platform/cairo/GraphicsContextCairo.cpp:
2434         (WebCore::GraphicsContext::setURLForRect):
2435         * platform/cg/GraphicsContextCG.cpp:
2436         (WebCore::GraphicsContext::setURLForRect): Implement method to add 
2437         URL link to PDF document.
2438         * rendering/InlineFlowBox.cpp:
2439         (WebCore::InlineFlowBox::paint): Ask hasOutline() instead of 
2440         querying the outline width
2441         * rendering/RenderBlock.cpp:
2442         (WebCore::RenderBlock::paintObject): Same as above.
2443         * rendering/RenderFlow.cpp:
2444         (WebCore::RenderFlow::paintLines): Call the new paintOutline()
2445         (WebCore::RenderFlow::paintOutline): Take care of focus ring and 
2446         pdf url rects, and outline painting.
2447         * rendering/RenderFlow.h:
2448         * rendering/RenderObject.cpp:
2449         (WebCore::RenderObject::addPDFURLRect): Declaration to apply a PDF 
2450         link to a rectanglular region.
2451         (WebCore::RenderObject::paintOutline): Take care of pdf rects as 
2452         well as focus ring painting.
2453         * rendering/RenderObject.h:
2454         (WebCore::RenderObject::hasOutlineAnnotation): Returns true is the 
2455         element is a link and we are printing.
2456         (WebCore::RenderObject::hasOutline): Returns true is the style has 
2457         an outline and hasOutlineAnnotation() is true.
2458         * rendering/RenderStyle.h:
2459         (WebCore::RenderStyle::hasOutline): Returns true if outlineWidth is 
2460         greater than 0 and outlineStyle is greater than BHIDDEN.
2461
2462 2006-10-13  Justin Garcia  <justin.garcia@apple.com>
2463
2464         Reviewed by ggaren and harrison
2465         
2466         <rdar://problem/4744008>
2467         9A270: Mail crashes when I try to paste large items from Safari
2468
2469         * editing/ReplaceSelectionCommand.cpp:
2470         (WebCore::ReplaceSelectionCommand::removeRedundantStyles):
2471         Even though we put nodes in the hash map in pre-order, they don't necessary
2472         come out of the iterator that way.  If a node is a redundant style span
2473         and one of its pruned ancestors comes off the hash map after it, and that
2474         ancestor is a redundant style span or font tag, we will try to remove it
2475         even though it has already been removed and we'll crash.
2476         The test case added with the fix depends on our hash map implementation
2477         because it requires that a particular redundant style span come out of 
2478         the iterator before its parent. So, it may eventually not provide 
2479         coverage for the fix.
2480
2481 2006-10-13  Maciej Stachowiak  <mjs@apple.com>
2482
2483         Reviewed by Darin.
2484
2485         - split FrameLoadRequest off from ResourceRequest - it's a ResourceRequest plus frame name plus lockHistory bool
2486
2487         * WebCore.xcodeproj/project.pbxproj:
2488         * bindings/js/kjs_window.cpp:
2489         (KJS::createNewWindow):
2490         (KJS::WindowFunc::callAsFunction):
2491         * bridge/BrowserExtension.h:
2492         * bridge/mac/BrowserExtensionMac.h:
2493         * bridge/mac/BrowserExtensionMac.mm:
2494         (WebCore::BrowserExtensionMac::createNewWindow):
2495         * bridge/mac/FrameMac.h:
2496         * bridge/mac/FrameMac.mm:
2497         (WebCore::FrameMac::submitForm):
2498         (WebCore::FrameMac::openURLRequest):
2499         (WebCore::FrameMac::urlSelected):
2500         * bridge/win/BrowserExtensionWin.h:
2501         * page/Frame.cpp:
2502         (WebCore::Frame::changeLocation):
2503         (WebCore::Frame::urlSelected):
2504         (WebCore::Frame::requestFrame):
2505         (WebCore::Frame::submitForm):
2506         * page/Frame.h:
2507         * page/FrameLoadRequest.h: Added.
2508         (WebCore::FrameLoadRequest::FrameLoadRequest):
2509         (WebCore::FrameLoadRequest::lockHistory):
2510         (WebCore::FrameLoadRequest::setLockHistory):
2511         * page/ResourceRequest.h:
2512         (WebCore::ResourceRequest::ResourceRequest):
2513
2514 2006-10-13  John Sullivan  <sullivan@apple.com>
2515
2516         Reviewed by Maciej
2517
2518         * loader/mac/WebFrameLoader.mm:
2519         (-[WebFrameLoader loadDocumentLoader:]):
2520         Replace ASSERT(!policyDocumentLoader) with code that handles this case. This can
2521         happen when loading a page during a decidePolicyForNavigationAction callback.
2522
2523 2006-10-13  Dave Hyatt  <hyatt@apple.com>
2524
2525         Transparency layer work.
2526
2527         Reviewed by aroben
2528
2529         * platform/GraphicsContext.h:
2530         * platform/cg/GraphicsContextCG.cpp:
2531         (WebCore::GraphicsContext::beginTransparencyLayer):
2532         (WebCore::GraphicsContext::endTransparencyLayer):
2533         * platform/cg/GraphicsContextPlatformPrivate.h:
2534         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
2535         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
2536
2537 2006-10-13  Rob Buis  <buis@kde.org>
2538
2539         Reviewed by Mitz.
2540
2541         http://bugs.webkit.org/show_bug.cgi?id=11217
2542         Cleanup svg coding style
2543
2544         Cleanup coding style in svg paint server classes.
2545
2546         * ksvg2/svg/SVGGradientElement.cpp:
2547         (WebCore::SVGGradientElement::SVGGradientElement):
2548         (WebCore::SVGGradientElement::parseMappedAttribute):
2549         (WebCore::SVGGradientElement::notifyAttributeChange):
2550         (WebCore::SVGGradientElement::canvasResource):
2551         (WebCore::SVGGradientElement::rebuildStops):
2552         * ksvg2/svg/SVGGradientElement.h:
2553         * ksvg2/svg/SVGLinearGradientElement.cpp:
2554         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
2555         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
2556         (WebCore::SVGLinearGradientElement::buildGradient):
2557         * ksvg2/svg/SVGLinearGradientElement.h:
2558         * ksvg2/svg/SVGPatternElement.cpp:
2559         (WebCore::SVGPatternElement::SVGPatternElement):
2560         (WebCore::SVGPatternElement::parseMappedAttribute):
2561         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
2562         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
2563         (WebCore::SVGPatternElement::notifyClientsToRepaint):
2564         (WebCore::SVGPatternElement::notifyAttributeChange):
2565         (WebCore::SVGPatternElement::canvasResource):
2566         (WebCore::SVGPatternElement::getCTM):
2567         * ksvg2/svg/SVGPatternElement.h:
2568         (WebCore::SVGPatternElement::rendererIsNeeded):
2569         * ksvg2/svg/SVGRadialGradientElement.cpp:
2570         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
2571         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
2572         (WebCore::SVGRadialGradientElement::buildGradient):
2573         * ksvg2/svg/SVGRadialGradientElement.h:
2574         * ksvg2/svg/SVGStopElement.cpp:
2575         (WebCore::SVGStopElement::SVGStopElement):
2576         (WebCore::SVGStopElement::parseMappedAttribute):
2577         * ksvg2/svg/SVGStopElement.h:
2578
2579 2006-10-13  Geoffrey Garen  <ggaren@apple.com>
2580
2581         Reviewed by Darin, John.
2582
2583         - Merged more frame and iframe code
2584         - Fixed a bug where iframes returned incorrect values for renderer-dependent 
2585         properties during javascript: loads because they didn't have renderers at 
2586         load time
2587         
2588         PLT insists this is a small performance win. Don't believe its lies.
2589
2590         * bindings/js/kjs_html.cpp:
2591         (KJS::JSHTMLElement::frameGetter): Renamed frameWidth and frameHeight to
2592         width and height, for consistency with the rest of the DOM.
2593         * dom/ContainerNode.cpp:
2594         (WebCore::ContainerNode::queuePostAttachCallback): Added a post-attach callback
2595         queue that gets drained after the render tree is fully constructed. Currently,
2596         this is only used for frame loading.
2597         (WebCore::ContainerNode::attach):
2598         * dom/ContainerNode.h:
2599         * html/HTMLFrameElement.cpp:
2600         (WebCore::HTMLFrameElement::insertedIntoDocument): Removed frame loading from
2601         attach() because loading iframes during attach() causes a crash. 
2602         Moved frame loading logic into insertedIntoDocument(). That's a more 
2603         logical place for it because  document insertion is what 
2604         triggers frame loading. Made frame loading a post-attach callback, instead
2605         of an immediate action, to fix the incorrect values bug.
2606         (WebCore::HTMLFrameElement::attach): Added setWidget call that used to be
2607         in HTMLIFrameElement::attach. IFRAME requires this call. FRAME will soon 
2608         require this call, once I remove the call from WebKit.
2609         (WebCore::HTMLFrameElement::setLocation):
2610         (WebCore::HTMLFrameElement::width):
2611         (WebCore::HTMLFrameElement::height):
2612         * html/HTMLFrameElement.h: Made openURL non-virtual to avoid the unnecessary
2613         killing of puppies.
2614         * html/HTMLIFrameElement.cpp: Merged code into HTMLFrameElement
2615         (WebCore::HTMLIFrameElement::rendererIsNeeded):
2616         (WebCore::HTMLIFrameElement::createRenderer):
2617         (WebCore::HTMLIFrameElement::insertedIntoDocument):
2618         (WebCore::HTMLIFrameElement::removedFromDocument):
2619         (WebCore::HTMLIFrameElement::attach):
2620         * page/FrameView.h: Removed unused method.
2621
2622 2006-10-13  David Harrison  <harrison@apple.com>
2623
2624         Reviewed by Justin.
2625
2626         <rdar://problem/4746860> Mail crash in WebCore::CSSMutableStyleDeclaration::merge(WebCore::CSSMutableStyleDeclaration*, bool)
2627
2628         Tests added or changed:
2629         * editing/style/style-boundary-005.html: Added. Matches steps from bug.
2630         * editing/execCommand/hilitecolor-expected.txt: Updated (no empty Apple style spans).
2631         * editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Updated (no empty Apple style spans).
2632         * editing/style/remove-underline-in-bold-expected.txt: Updated (no empty Apple style spans).
2633         * editing/style/typing-style-003-expected.txt: Updated (no empty Apple style spans).
2634
2635         * dom/Text.cpp:
2636         (WebCore::Text::splitText):
2637         Comment changes.
2638         
2639         * editing/ApplyStyleCommand.cpp:
2640         (WebCore::isUnstyledStyleSpan):
2641         Renamed from isEmptyStyleSpan.
2642         
2643         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2644         Rename emptySpans local to unstyledSpans.
2645         
2646         (WebCore::dummySpanAncestorForNode):
2647         New. To locate Apple style span created when splitting a text node.
2648         
2649         (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
2650         Renamed from cleanUpEmptyStyleSpans. Algorithm changed to scan children
2651         of dummy span's parents, rather than traversing up from start and
2652         end locations. Old algorithm would miss empty spans in the bug case.
2653         
2654         (WebCore::ApplyStyleCommand::applyInlineStyle):
2655         Use dummySpanAncestorForNode() and cleanupUnstyledAppleStyleSpans().
2656         
2657         (WebCore::ApplyStyleCommand::removeCSSStyle):
2658         Renamed isEmptyStyleSpan() to isUnstyledStyleSpan().
2659         
2660         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
2661         Comment changes.
2662         
2663         * editing/ApplyStyleCommand.h:
2664         Renamed cleanUpEmptyStyleSpans() to cleanupUnstyledAppleStyleSpans().
2665           
2666         * editing/ReplaceSelectionCommand.cpp:
2667         (WebCore::ReplaceSelectionCommand::removeRedundantStyles):
2668         Allow for Apple style span to be unstyled, because old email may have this in the DOM.
2669         Use !node->hasChildNodes() instead of !node->firstChild().
2670         
2671         * editing/SplitTextNodeCommand.cpp:
2672         (WebCore::SplitTextNodeCommand::doApply):
2673         Comment changes.
2674         
2675         * rendering/RenderTreeAsText.cpp:
2676         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
2677         (WebCore::operator<<):
2678         Flag empty or unstyled AppleStyleSpa nbecause we never want to leave them in the DOM
2679
2680 2006-10-13  Nikolas Zimmermann  <zimmermann@kde.org>
2681
2682         Reviewed by Eric.
2683
2684         Fix Qt/Linux build after Adele's popup menu changes.
2685
2686         * CMakeLists.txt:
2687         * platform/qt/FileChooserQt.cpp:
2688         (WebCore::FileChooser::disconnectUploadControl):
2689         * platform/qt/PopupMenuQt.cpp: Added.
2690         (WebCore::PopupMenu::PopupMenu):
2691         (WebCore::PopupMenu::~PopupMenu):
2692         (WebCore::PopupMenu::clear):
2693         (WebCore::PopupMenu::populate):
2694         (WebCore::PopupMenu::show):
2695         (WebCore::PopupMenu::hide):
2696         (WebCore::PopupMenu::addSeparator):
2697         (WebCore::PopupMenu::addGroupLabel):
2698         (WebCore::PopupMenu::addOption):
2699         * platform/qt/RenderPopupMenuQt.cpp: Removed.
2700         * platform/qt/RenderPopupMenuQt.h: Removed.
2701         * platform/qt/RenderThemeQt.cpp:
2702
2703 2006-10-13  Kevin McCullough  <KMcCullough@apple.com>
2704
2705         Reviewed by Darin.
2706
2707         fixed build failure 
2708
2709         * WebCore.xcodeproj/project.pbxproj:
2710         * loader/mac/WebFrameLoader.mm:
2711
2712 2006-10-13  Darin Adler  <darin@apple.com>
2713
2714         Reviewed by Adele.
2715
2716         - converted WebFormState from Objective-C to C++
2717
2718         * WebCore.exp: Added a new symbol, changed one symbol from C to C++.
2719
2720         * WebCore.xcodeproj/project.pbxproj: Made lots of headers "private" instead of "project".
2721         Added UChar.h and FrameLoaderTypes.h.
2722
2723         * loader/FrameLoaderTypes.h: Added. Has enums from WebFrameLoader.h.
2724
2725         * loader/mac/WebFormState.h: Converted class to C++.
2726         * loader/mac/WebFormState.mm: Ditto.
2727
2728         * loader/mac/WebFrameLoader.h:
2729         * loader/mac/WebFrameLoader.mm:
2730         (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
2731         (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
2732         (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
2733         (-[WebFrameLoader invalidatePendingPolicyDecisionCallingDefaultAction:]):
2734         (-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
2735         (-[WebFrameLoader continueAfterNewWindowPolicy:]):
2736         (-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
2737         (-[WebFrameLoader continueAfterNavigationPolicy:]):
2738         (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
2739         (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
2740         (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
2741         (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
2742         Changed Objective-C WebFormState uses to C++ WebCore::FormState.
2743
2744 2006-10-13  Adele Peterson  <adele@apple.com>
2745
2746         Reviewed by Maciej.
2747
2748         - Fix for <rdar://problem/4768591> REGRESSION: List box selection color should just be a darker version of regular selection color
2749
2750         * rendering/RenderListBox.cpp:
2751         (WebCore::RenderListBox::paintItemForeground):
2752         * rendering/RenderTheme.cpp:
2753         (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
2754         (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
2755         (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
2756         (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
2757         * rendering/RenderThemeMac.h:
2758         * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::activeListBoxSelectionBackgroundColor):
2759
2760 2006-10-13  Rob Buis  <buis@kde.org>
2761
2762         Reviewed by Mitz.
2763
2764         http://bugs.webkit.org/show_bug.cgi?id=11217
2765         Cleanup svg coding style
2766
2767         Cleanup coding style in svg structure classes.
2768
2769         * ksvg2/svg/SVGDefsElement.cpp:
2770         (WebCore::SVGDefsElement::SVGDefsElement):
2771         * ksvg2/svg/SVGDefsElement.h:
2772         * ksvg2/svg/SVGDescElement.cpp:
2773         (WebCore::SVGDescElement::SVGDescElement):
2774         * ksvg2/svg/SVGDescElement.h:
2775         * ksvg2/svg/SVGDocument.cpp:
2776         * ksvg2/svg/SVGDocument.h:
2777         * ksvg2/svg/SVGElementInstance.cpp:
2778         (WebCore::SVGElementInstance::SVGElementInstance):
2779         (WebCore::SVGElementInstance::correspondingElement):
2780         (WebCore::SVGElementInstance::correspondingUseElement):
2781         (WebCore::SVGElementInstance::parentNode):
2782         (WebCore::SVGElementInstance::childNodes):
2783         (WebCore::SVGElementInstance::previousSibling):
2784         (WebCore::SVGElementInstance::nextSibling):
2785         (WebCore::SVGElementInstance::firstChild):
2786         (WebCore::SVGElementInstance::lastChild):
2787         * ksvg2/svg/SVGElementInstance.h:
2788         * ksvg2/svg/SVGElementInstanceList.cpp:
2789         * ksvg2/svg/SVGElementInstanceList.h:
2790         * ksvg2/svg/SVGGElement.cpp:
2791         (WebCore::SVGGElement::SVGGElement):
2792         (WebCore::SVGGElement::parseMappedAttribute):
2793         (WebCore::SVGDummyElement::SVGDummyElement):
2794         * ksvg2/svg/SVGGElement.h:
2795         (WebCore::SVGGElement::rendererIsNeeded):
2796         * ksvg2/svg/SVGImageElement.cpp:
2797         (WebCore::SVGImageElement::createRenderer):
2798         * ksvg2/svg/SVGImageElement.h:
2799         * ksvg2/svg/SVGSVGElement.cpp:
2800         (WebCore::SVGSVGElement::SVGSVGElement):
2801         (WebCore::SVGSVGElement::pixelUnitToMillimeterX):
2802         (WebCore::SVGSVGElement::pixelUnitToMillimeterY):
2803         (WebCore::SVGSVGElement::currentScale):
2804         (WebCore::SVGSVGElement::setCurrentScale):
2805         (WebCore::SVGSVGElement::currentTranslate):
2806         (WebCore::SVGSVGElement::parseMappedAttribute):
2807         (WebCore::SVGSVGElement::suspendRedraw):
2808         (WebCore::SVGSVGElement::unsuspendRedraw):
2809         (WebCore::SVGSVGElement::unsuspendRedrawAll):
2810         (WebCore::SVGSVGElement::forceRedraw):
2811         (WebCore::SVGSVGElement::getIntersectionList):
2812         (WebCore::SVGSVGElement::getEnclosureList):
2813         (WebCore::SVGSVGElement::checkIntersection):
2814         (WebCore::SVGSVGElement::checkEnclosure):
2815         (WebCore::SVGSVGElement::deselectAll):
2816         (WebCore::SVGSVGElement::createSVGLength):
2817         (WebCore::SVGSVGElement::createSVGAngle):
2818         (WebCore::SVGSVGElement::createSVGMatrix):
2819         (WebCore::SVGSVGElement::createSVGTransform):
2820         (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
2821         (WebCore::SVGSVGElement::getCTM):
2822         (WebCore::SVGSVGElement::getScreenCTM):
2823         (WebCore::SVGSVGElement::setCurrentTime):
2824         * ksvg2/svg/SVGSVGElement.h:
2825         (WebCore::SVGSVGElement::rendererIsNeeded):
2826         * ksvg2/svg/SVGSwitchElement.cpp:
2827         (WebCore::SVGSwitchElement::SVGSwitchElement):
2828         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
2829         * ksvg2/svg/SVGSwitchElement.h:
2830         (WebCore::SVGSwitchElement::rendererIsNeeded):
2831         * ksvg2/svg/SVGSymbolElement.cpp:
2832         (WebCore::SVGSymbolElement::SVGSymbolElement):
2833         (WebCore::SVGSymbolElement::parseMappedAttribute):
2834         * ksvg2/svg/SVGSymbolElement.h:
2835         (WebCore::SVGSymbolElement::shouldAttachChild):
2836         * ksvg2/svg/SVGTitleElement.cpp:
2837         (WebCore::SVGTitleElement::SVGTitleElement):
2838         * ksvg2/svg/SVGTitleElement.h:
2839         * ksvg2/svg/SVGUseElement.cpp:
2840         (WebCore::SVGUseElement::parseMappedAttribute):
2841         (WebCore::SVGUseElement::closeRenderer):
2842         * ksvg2/svg/SVGUseElement.h:
2843         (WebCore::SVGUseElement::rendererIsNeeded):
2844
2845 2006-10-12  Adele Peterson  <adele@apple.com>
2846
2847         Reviewed by Anders.
2848
2849         - Fix for http://bugs.webkit.org/show_bug.cgi?id=11172
2850           REGRESSION (NativeListBox): OPTION text paints over the edge of the select element at http://jobs.apple.com/
2851         
2852          Test: fast/forms/listbox-width-change.html
2853
2854         * rendering/RenderListBox.cpp: (WebCore::RenderListBox::updateFromElement):
2855           When the options change, call setNeedsLayoutAndMinMaxRecalc.
2856
2857 2006-10-12  Maciej Stachowiak  <mjs@apple.com>
2858
2859         Reviewed by Oliver.
2860
2861         - moved a bunch of WebFrameBridge code down to WebCoreFrameBridge, now that it no longer has any WebKit dependencies
2862
2863         * WebCore.xcodeproj/project.pbxproj:
2864         * bridge/mac/WebCoreFrameBridge.h:
2865         * bridge/mac/WebCoreFrameBridge.mm:
2866         (stringByCollapsingNonPrintingCharacters):
2867         (-[WebCoreFrameBridge setTitle:]):
2868         (-[WebCoreFrameBridge didFirstLayout]):
2869         (-[WebCoreFrameBridge notifyIconChanged:]):
2870         (-[WebCoreFrameBridge originalRequestURL]):
2871         (-[WebCoreFrameBridge isLoadTypeReload]):
2872         (-[WebCoreFrameBridge frameDetached]):
2873         (-[WebCoreFrameBridge tokenizerProcessedData]):
2874         (-[WebCoreFrameBridge receivedData:textEncodingName:]):
2875         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
2876         (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
2877         (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
2878         (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
2879         (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
2880         (-[WebCoreFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
2881         (-[WebCoreFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
2882         (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2883         (-[WebCoreFrameBridge incomingReferrer]):
2884         (-[WebCoreFrameBridge isReloading]):
2885         (-[WebCoreFrameBridge handledOnloadEvents]):
2886         (-[WebCoreFrameBridge mainResourceURLResponse]):
2887         (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
2888         * loader/mac/LoaderNSURLExtras.h:
2889         * loader/mac/LoaderNSURLRequestExtras.h: Added.
2890         * loader/mac/LoaderNSURLRequestExtras.m: Added.
2891         (isConditionalRequest):
2892         (setHTTPReferrer):
2893         * loader/mac/WebFrameLoader.mm:
2894         * loader/mac/WebSubresourceLoader.mm:
2895
2896 2006-10-12  Adele Peterson  <adele@apple.com>
2897
2898         RS by Geoff.
2899
2900         Renamed menuListIsDetaching to disconnectMenuList, 
2901         uploadControlDetaching to disconnectUploadControl, and fileChooserDetachingSoon to disconnectFileChooser.  
2902         These names match similar methods in WebCore a little better.
2903
2904         * platform/FileChooser.h:
2905         * platform/PopupMenu.h: (WebCore::PopupMenu::disconnectMenuList):
2906         * platform/mac/FileChooserMac.mm: (-[OpenPanelController disconnectFileChooser]):
2907         (WebCore::FileChooser::disconnectUploadControl):
2908         * platform/win/TemporaryLinkStubs.cpp: (FileChooser::disconnectUploadControl):
2909         * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
2910         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::~RenderMenuList):
2911
2912 2006-10-12  Adele Peterson  <adele@apple.com>
2913
2914         Reviewed by Maciej.
2915
2916         WebCore part of fix for <rdar://problem/4450613> need a means to attach user data to any menu that is popuped up in HTML
2917
2918         Added private delegate method for clients that want access to a PopupMenu's NSMenu.
2919
2920         * bridge/mac/FrameMac.h:
2921         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::willPopupMenu):
2922         * bridge/mac/WebCoreFrameBridge.h:
2923
2924         * platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Calls willPopupMenu with the NSMenu about to be popped up.
2925
2926 2006-10-12  Adele Peterson  <adele@apple.com>
2927
2928         Reviewed by Alice.
2929
2930         - Fix for <rdar://problem/4707372> 
2931           After timers fix, crash in -[NSMenu performActionForItemAtIndex:] after moving/detroying active popup menu
2932
2933         * platform/PopupMenu.h: (WebCore::PopupMenu::menuListIsDetaching): Added. Zeros out the pointer to the menu list.
2934         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::~RenderMenuList): Calls menuListIsDetaching.
2935         * platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Added a RefPtr to protect the PopupMenu while the NSMenu is up,
2936           in case the RenderMenuList goes away.  Also, checks the pointer to the menu list immediately afterwards.
2937
2938 2006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>
2939
2940         Reviewed by Maciej.
2941
2942         Trying to fix "DRT hangs on certain testcases" like fast/dom/Document/document-reopen.html
2943         document.open(); document.write(..); and NO document.close(). On the Qt platform this
2944         leaves a HTMLDocument which is still in parsing mode (parsing() always returns true).
2945         DRT waits forever, but m_frame->isComplete() is never true due the parsing mode problem.
2946
2947         Hmpf, this took me nine hours to debug today.
2948         Result: Couldn't find the real fix, going for a workaround for now.
2949         
2950         540 minutes, 1 line of code changed after all -> 0,0019 lines per minute.
2951
2952         * platform/qt/FrameQt.cpp:
2953         (WebCore::FrameQt::handledOnloadEvents): Call endIfNotLoading() manually.
2954         * platform/qt/FrameQtClient.cpp:
2955         (WebCore::FrameQtClientDefault::receivedData): Use write() again instead of addData().
2956
2957 2006-10-12  Adam Roben  <aroben@apple.com>
2958
2959         Reviewed by Adele.
2960
2961         Move popup menu code out of rendering/ and into platform/.
2962         RenderPopupMenu becomes PopupMenu, the
2963         RenderPopupMenuMac/RenderPopupMenuWin subclasses and all the associated
2964         virtual methods go away, RenderTheme gets to stop worrying about popup
2965         menus, PopupMenu becomes ref-counted, and everyone becomes happy.
2966
2967         * WebCore.vcproj/WebCore/WebCore.vcproj: Move files within project.
2968         * WebCore.xcodeproj/project.pbxproj: Ditto.
2969         * html/HTMLSelectElement.cpp: Remove unnecessary #include.
2970         * platform/PopupMenu.cpp: Moved from rendering/RenderPopupMenu.cpp.
2971         Also renamed showPopup()/hidePopup() to show()/hide() to disambiguate
2972         from RenderMenuList::showPopup/hidePopup.
2973         (WebCore::PopupMenu::create): New static creation method to hand back a
2974         PassRefPtr<PopupMenu>.
2975         (WebCore::PopupMenu::addItems): This platform-independent method should
2976         be called by PopupMenu::populate when the platform-specific
2977         implementation is ready to receive the menu items. Fixed an ASSERT
2978         while I was at it.
2979         * platform/PopupMenu.h: Moved from rendering/RenderPopupMenu.h. No more
2980         need for virtual methods.
2981         (WebCore::PopupMenu::wasClicked):
2982         (WebCore::PopupMenu::setWasClicked):
2983         (WebCore::PopupMenu::popupHandle):
2984         * platform/mac/PopupMenuMac.mm: Moved from
2985         rendering/RenderPopupMenuMac.mm. Much renaming ensues.
2986         (WebCore::PopupMenu::PopupMenu):
2987         (WebCore::PopupMenu::~PopupMenu):
2988         (WebCore::PopupMenu::clear):
2989         (WebCore::PopupMenu::populate):
2990         (WebCore::PopupMenu::show):
2991         (WebCore::PopupMenu::hide):
2992         (WebCore::PopupMenu::addSeparator):
2993         (WebCore::PopupMenu::addGroupLabel): Since we don't have our own
2994         RenderStyle anymore, just pick up the style from our RenderMenuList.
2995         (WebCore::PopupMenu::addOption): Ditto.
2996         * platform/win/TemporaryLinkStubs.cpp: Rename-fest.
2997         (PopupMenu::PopupMenu):
2998         (PopupMenu::~PopupMenu):
2999         (PopupMenu::clear):
3000         (PopupMenu::populate):
3001         (PopupMenu::show):
3002         (PopupMenu::hide):
3003         (PopupMenu::addSeparator):
3004         (PopupMenu::addGroupLabel):
3005         (PopupMenu::addOption):
3006         * rendering/RenderMenuList.cpp:
3007         (WebCore::RenderMenuList::~RenderMenuList):
3008         (WebCore::RenderMenuList::showPopup): Use nice new simple
3009         PopupMenu::create to make the popup.
3010         (WebCore::RenderMenuList::hidePopup):
3011         * rendering/RenderMenuList.h: Hold a RefPtr<PopupMenu> instead of a
3012         RenderPopupMenu*.
3013         (WebCore::RenderMenuList::popup):
3014         * rendering/RenderPopupMenu.cpp: Removed.
3015         * rendering/RenderPopupMenu.h: Removed.
3016         * rendering/RenderPopupMenuMac.h: Removed.
3017         * rendering/RenderPopupMenuMac.mm: Removed.
3018         * rendering/RenderPopupMenuWin.h: Removed.
3019         * rendering/RenderTheme.cpp: Get rid of createPopupMenu() method.
3020         * rendering/RenderTheme.h: Ditto.
3021         * rendering/RenderThemeMac.h: Ditto.
3022         * rendering/RenderThemeMac.mm: Ditto.
3023         * rendering/RenderThemeWin.cpp: Ditto.
3024         * rendering/RenderThemeWin.h: Ditto.
3025
3026 2006-10-12  Adele Peterson  <adele@apple.com>
3027
3028         Reviewed by Dave Harrison.
3029
3030         - Fixed <rdar://problem/4650813> REGRESSION: typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
3031
3032         * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout):
3033         Make subtree layouts work for textareas as well as text fields.
3034
3035 2006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>
3036
3037         Reviewed by MacDome.
3038
3039         Finally found a way to remove our begin() trickery in FrameQt.
3040         The (probably misnamed) Frame::setEncoding() function automatically
3041         calls Frame::receivedFirstData() which calls being on the working
3042         url, which has been passed to didOpenUrl(). Took me some hours
3043         to figure out that the missing charset logic, forced us to do hacks.
3044
3045         * platform/ResourceLoader.h:
3046         * platform/ResourceLoaderInternal.h:
3047         * platform/qt/FrameQt.cpp:
3048         (WebCore::FrameQt::tokenizerProcessedData):
3049         * platform/qt/FrameQt.h:
3050         * platform/qt/FrameQtClient.cpp:
3051         (WebCore::FrameQtClientDefault::FrameQtClientDefault):
3052         (WebCore::FrameQtClientDefault::openURL):
3053         (WebCore::FrameQtClientDefault::submitForm):
3054         (WebCore::FrameQtClientDefault::receivedData):
3055         (WebCore::FrameQtClientDefault::receivedAllData):
3056         * platform/qt/FrameQtClient.h:
3057         * platform/qt/ResourceLoaderManager.cpp:
3058         (WebCore::ResourceLoaderManager::slotData):
3059         (WebCore::ResourceLoaderManager::slotMimetype):
3060         (WebCore::ResourceLoaderManager::slotResult):
3061         (WebCore::ResourceLoaderManager::remove):
3062         * platform/qt/ResourceLoaderQt.cpp:
3063         (WebCore::ResourceLoader::retrieveCharset):
3064         (WebCore::ResourceLoader::extractCharsetFromHeaders):
3065
3066 2006-10-12  Adam Roben  <aroben@apple.com>
3067
3068         Reviewed by Hyatt.
3069
3070         Bandaid-ing a null-dereference crash until a real fix is made.
3071
3072         * page/FrameView.cpp:
3073         (WebCore::FrameView::windowClipRect):
3074
3075 2006-10-12  Rob Buis  <buis@kde.org>
3076
3077         Reviewed by Mitz.
3078
3079         http://bugs.webkit.org/show_bug.cgi?id=11217
3080         Cleanup svg coding style
3081
3082         Cleanup coding style in svg text classes.
3083
3084         * ksvg2/svg/SVGTRefElement.cpp:
3085         (WebCore::SVGTRefElement::SVGTRefElement):
3086         (WebCore::SVGTRefElement::updateReferencedText):
3087         (WebCore::SVGTRefElement::parseMappedAttribute):
3088         (WebCore::SVGTRefElement::childShouldCreateRenderer):
3089         (WebCore::SVGTRefElement::createRenderer):
3090         * ksvg2/svg/SVGTRefElement.h:
3091         (WebCore::SVGTRefElement::rendererIsNeeded):
3092         * ksvg2/svg/SVGTSpanElement.cpp:
3093         (WebCore::SVGTSpanElement::SVGTSpanElement):
3094         (WebCore::SVGTSpanElement::childShouldCreateRenderer):
3095         (WebCore::SVGTSpanElement::createRenderer):
3096         * ksvg2/svg/SVGTSpanElement.h:
3097         (WebCore::SVGTSpanElement::rendererIsNeeded):
3098         * ksvg2/svg/SVGTextContentElement.cpp:
3099         (WebCore::SVGTextContentElement::SVGTextContentElement):
3100         (WebCore::SVGTextContentElement::parseMappedAttribute):
3101         * ksvg2/svg/SVGTextContentElement.h:
3102         * ksvg2/svg/SVGTextElement.cpp:
3103         (WebCore::SVGTextElement::SVGTextElement):
3104         (WebCore::SVGTextElement::localMatrix):
3105         (WebCore::SVGTextElement::parseMappedAttribute):
3106         (WebCore::SVGTextElement::updateLocalTransform):
3107         (WebCore::SVGTextElement::nearestViewportElement):
3108         (WebCore::SVGTextElement::farthestViewportElement):
3109         (WebCore::SVGTextElement::getScreenCTM):
3110         (WebCore::SVGTextElement::getCTM):
3111         (WebCore::SVGTextElement::createRenderer):
3112         (WebCore::SVGTextElement::childShouldCreateRenderer):
3113         * ksvg2/svg/SVGTextElement.h:
3114         (WebCore::SVGTextElement::getTransformToElement):
3115         (WebCore::SVGTextElement::rendererIsNeeded):
3116         * ksvg2/svg/SVGTextPositioningElement.cpp:
3117         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
3118         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
3119         * ksvg2/svg/SVGTextPositioningElement.h:
3120
3121 2006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>
3122
3123         Reviewed by Maciej.
3124
3125         Specialization of alert() for DumpRenderTree - just log the output, don't show any message box.
3126
3127         * platform/qt/FrameQt.cpp:
3128         (WebCore::FrameQt::runJavaScriptAlert): Move runJavaScriptAlert functionality to FrameQtClientDefault.
3129         * platform/qt/FrameQtClient.cpp:
3130         (WebCore::FrameQtClientDefault::runJavaScriptAlert):
3131         * platform/qt/FrameQtClient.h:
3132
3133 2006-10-12  Maciej Stachowiak  <mjs@apple.com>
3134
3135         Reviewed by Eric.
3136
3137         - move m_responseMIMEType out of ResourceRequest, where it doesn't belong
3138
3139         * page/FramePrivate.h: Add m_responseMIMEType
3140         * page/ResourceRequest.h: Remove m_responseMIMEType
3141         * page/Frame.cpp:
3142         (WebCore::Frame::setResponseMIMEType): added
3143         (WebCore::Frame::responseMIMEType): added
3144         (WebCore::Frame::begin): get MIME type from the right place
3145         (WebCore::Frame::write): ditto
3146         * page/Frame.h:
3147         * bindings/js/kjs_window.cpp:
3148         (KJS::createNewWindow): updated to use new Frame methods
3149         (KJS::WindowFunc::callAsFunction): ditto
3150         * bridge/mac/WebCoreFrameBridge.mm:
3151         (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): ditto
3152         (-[WebCoreFrameBridge canProvideDocumentSource]): ditto
3153         * loader/PluginDocument.cpp:
3154         (WebCore::PluginTokenizer::createDocumentStructure): ditto
3155
3156 2006-10-12  Maciej Stachowiak  <mjs@apple.com>
3157
3158         Reviewed by Eric.
3159         
3160         <rdar://problem/4774321> REGRESSION: "Can't find the server" error page contains unstyled text and missing image
3161
3162         We really need some way to test loadHTMLString since it keeps breaking!
3163         
3164         * loader/mac/WebFrameLoader.mm:
3165         (-[WebFrameLoader commitProvisionalLoad:]): Set stuff up on the proper data source.
3166
3167 2006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>
3168
3169         Reviewed by Eric.
3170
3171         Fix Qt/Linux build.
3172
3173         * CMakeLists.txt:
3174         * platform/qt/FileChooserQt.cpp:
3175         (WebCore::FileChooser::create):
3176
3177 2006-10-12  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
3178
3179         Reviewed by Maciej.
3180
3181         Update Gdk\Linux build for recent changes, based on Qt code
3182
3183         * platform/gdk/FrameGdk.cpp:
3184         (WebCore::FrameGdkClientDefault::FrameGdkClientDefault):
3185         (WebCore::FrameGdkClientDefault::~FrameGdkClientDefault):
3186         (WebCore::FrameGdkClientDefault::setFrame):
3187         (WebCore::FrameGdkClientDefault::openURL):
3188         (WebCore::FrameGdkClientDefault::submitForm):
3189         (WebCore::FrameGdkClientDefault::receivedResponse):
3190         (WebCore::FrameGdkClientDefault::receivedData):
3191         (WebCore::FrameGdkClientDefault::receivedAllData):
3192         (WebCore::FrameGdk::FrameGdk):
3193         (WebCore::FrameGdk::openURL):
3194         (WebCore::FrameGdk::submitForm):
3195         (WebCore::FrameGdk::urlSelected):
3196         * platform/gdk/FrameGdk.h:
3197         * platform/gdk/TemporaryLinkStubs.cpp:
3198         (FrameGdk::createJavaAppletWidget):
3199         (FileChooser::create):
3200
3201 2006-10-12  Dave Hyatt  <hyatt@apple.com>
3202
3203         Patch to add more clipping retrieval functionality for widgets.
3204        
3205         Reviewed by mjs
3206
3207         * page/Frame.h:
3208         Remove windowResizerRect.  This is in the wrong place.
3209         
3210         * page/FrameView.cpp:
3211         (WebCore::FrameView::windowClipRect):
3212         (WebCore::FrameView::windowClipRectForLayer):
3213         Break out windowClipRect into helper functions that can be called separately (to make
3214         it easier for scrollbars in overflow sections and list boxes to get to an enclosing
3215         layer and get the right clip.
3216         
3217         * page/FrameView.h:
3218         Add the new windowClipRect helper methods.
3219         
3220         * platform/ScrollBar.h:
3221         Add a new interface to ScrollbarClient so that scrollbars can hand back proper
3222         clip rects for themselves depending on how they are used.
3223         
3224         * platform/ScrollView.h:
3225         Stub out methods for talking to a double buffer backing store on Win32.
3226         
3227         * platform/Widget.h:
3228         Add the ability to query for invalidation suppression.
3229         
3230         * rendering/RenderLayer.cpp:
3231         (WebCore::RenderLayer::windowClipRect):
3232         (WebCore::RenderLayer::paintOverflowControls):
3233         (WebCore::RenderLayer::calculateRects):
3234         (WebCore::RenderLayer::childrenClipRect):
3235         (WebCore::RenderLayer::selfClipRect):
3236         * rendering/RenderLayer.h:
3237         Enhance layers so that they can return either their foreground or background
3238         document clip rects.  Make sure a layer scrollbar can return a proper clip.
3239         
3240         * rendering/RenderListBox.cpp:
3241         (WebCore::RenderListBox::windowClipRect):
3242         * rendering/RenderListBox.h:
3243         Make sure a list box scrollbar can return a proper clip.
3244         
3245         * rendering/RenderObject.cpp:
3246         (WebCore::RenderObject::enclosingLayer):
3247         * rendering/RenderObject.h:
3248         Make enclosingLayer const.
3249         
3250 2006-10-11  Darin Adler  <darin@apple.com>
3251
3252         Reviewed by John.
3253
3254         - some changes to prepare for converting more code to C++
3255
3256         * bridge/mac/WebCoreFrameBridge.h: Added import of <Cocoa/Cocoa.h> so this header is
3257         self-sufficient.
3258
3259         * bridge/mac/WebCoreViewFactory.h: Added forward declaration of the NSMenu class.
3260         Needed since the class is used in this header (for some work I have not landed yet).
3261
3262         * loader/mac/LoaderNSURLExtras.h:
3263         * loader/mac/WebFormDataStream.h:
3264         Added extern "C" so this code can be used from C++.
3265
3266         * loader/mac/LoaderNSURLExtras.m:
3267         * loader/mac/WebDataProtocol.mm:
3268         * loader/mac/WebDocumentLoader.mm:
3269         * loader/mac/WebFormDataStream.m:
3270         * loader/mac/WebLoader.mm:
3271         * loader/mac/WebMainResourceLoader.mm:
3272         * loader/mac/WebNetscapePlugInStreamLoader.mm:
3273         * loader/mac/WebPolicyDecider.mm:
3274         * loader/mac/WebSubresourceLoader.mm:
3275         Added missing includes of config.h.
3276
3277 2006-10-11  John Sullivan  <sullivan@apple.com>
3278         
3279         Darin wrote this code; we tested it; I give it the thumbs up.
3280         
3281         - fixed regression from svn revision 16982 that was generating the wrong Obj-C classes
3282
3283         The hash table to look up an element class given a QualifiedName was
3284         not working at all.
3285
3286         * dom/QualifiedName.h:
3287         (WebCore::QualifiedName::impl):
3288         Added. This new accessor method for impl is needed if we want to use
3289         a QualifiedName as a hash table key without doing the kind of specialization
3290         we do for String. Maybe later we can do the String thing.
3291
3292         * bindings/objc/DOM.mm:
3293         (WebCore::addElementClass):
3294         Use QualifiedName.impl instead of the QualifiedName pointer itself.
3295         The QualifiedName pointer is *not* unique so almost nothing would be found
3296         in this hash table!
3297         (WebCore::elementClass):
3298         ditto
3299         
3300 2006-10-11  Adam Roben  <aroben@apple.com>
3301
3302         Rubberstamped by Anders.
3303
3304         Clean up FileChooser::create and Icon::newIconForFile.
3305
3306         * WebCore.xcodeproj/project.pbxproj:
3307         * platform/mac/FileChooserMac.mm:
3308         (WebCore::FileChooser::create):
3309         * platform/mac/IconMac.mm:
3310         (WebCore::Icon::newIconForFile):
3311
3312 2006-10-11  Oliver Hunt  <oliver@apple.com>
3313
3314         Reviewed by Adam.
3315
3316         Fix for http://bugs.webkit.org/show_bug.cgi?id=11251
3317         Corrects canvas tag to not throw JS exception when drawing
3318         zero sized rects, arcs, etc
3319
3320         * html/CanvasRenderingContext2D.cpp:
3321         (WebCore::CanvasRenderingContext2D::arcTo):
3322         (WebCore::CanvasRenderingContext2D::arc):
3323         (WebCore::CanvasRenderingContext2D::rect):
3324         (WebCore::CanvasRenderingContext2D::clearRect):
3325         (WebCore::CanvasRenderingContext2D::fillRect):
3326         (WebCore::CanvasRenderingContext2D::strokeRect):
3327
3328 2006-10-11  Rob Buis  <buis@kde.org>
3329
3330         Reviewed by Mitz.
3331
3332         http://bugs.webkit.org/show_bug.cgi?id=11221
3333         REGRESSION: iExploder crash due to style="cursor: url()"
3334
3335         Take better care of empty cursor lists.
3336
3337         Test: fast/css/invalid-cursor-property-crash.html
3338
3339         * css/cssparser.cpp:
3340         (WebCore::CSSParser::parseValue):
3341
3342 2006-10-11  Adam Roben  <aroben@apple.com>
3343
3344         Fixing Windows for real this time.
3345
3346         * platform/win/TemporaryLinkStubs.cpp:
3347         (FileChooser::create):
3348
3349 2006-10-11  Adam Roben  <aroben@apple.com>
3350
3351         Fix Windows build.
3352
3353         * platform/win/TemporaryLinkStubs.cpp:
3354         (FileChooser::create):
3355
3356 2006-10-11  Antti Koivisto  <koivisto@iki.fi>
3357
3358         Reviewed by Hyatt.
3359         
3360         http://bugs.webkit.org/show_bug.cgi?id=4377
3361         
3362         Respect css visibility semantics for layers too
3363
3364         * rendering/RenderContainer.cpp:
3365         (WebCore::RenderContainer::removeChildNode):
3366         (WebCore::RenderContainer::appendChildNode):
3367         (WebCore::RenderContainer::insertChildNode):
3368         * rendering/RenderLayer.cpp:
3369         (WebCore::RenderLayer::RenderLayer):
3370         (WebCore::RenderLayer::updateLayerPositions):
3371         (WebCore::RenderLayer::setHasVisibleContent):
3372         (WebCore::RenderLayer::dirtyVisibleContentStatus):
3373         (WebCore::RenderLayer::childVisibilityChanged):
3374         (WebCore::RenderLayer::dirtyVisibleDescendantStatus):
3375         (WebCore::RenderLayer::updateVisibilityStatus):
3376         (WebCore::RenderLayer::addChild):
3377         (WebCore::RenderLayer::removeChild):
3378         (WebCore::RenderLayer::updateZOrderLists):
3379         (WebCore::RenderLayer::collectLayers):
3380         * rendering/RenderLayer.h:
3381         (WebCore::RenderLayer::hasVisibleContent):
3382         * rendering/RenderObject.cpp:
3383         (WebCore::RenderObject::setStyle):
3384
3385 2006-10-10  Maciej Stachowiak  <mjs@apple.com>
3386
3387         Reviewed by Oliver.
3388
3389         - added RetainPtr, smart pointer for refcounted ObjC objects and CFTypes
3390
3391         * WebCore.xcodeproj/project.pbxproj:
3392         * platform/cf/RetainPtr.h: Added.
3393         (WTF::):
3394         (WTF::RetainPtr::RetainPtr):
3395         (WTF::RetainPtr::~RetainPtr):
3396         (WTF::RetainPtr::get):
3397         (WTF::RetainPtr::operator*):
3398         (WTF::RetainPtr::operator->):
3399         (WTF::RetainPtr::operator!):
3400         (WTF::RetainPtr::operator UnspecifiedBoolType):
3401         (WTF::::operator):
3402         (WTF::::swap):
3403         (WTF::swap):
3404         (WTF::operator==):
3405         (WTF::operator!=):
3406         (WTF::static_pointer_cast):
3407         (WTF::const_pointer_cast):
3408         (WTF::getPtr):
3409         
3410         - use it in WidgetMac so it gets tested in at least one place
3411         
3412         * platform/mac/WidgetMac.mm:
3413         (WebCore::Widget::Widget):
3414         (WebCore::Widget::~Widget):
3415         (WebCore::Widget::setEnabled):
3416         (WebCore::Widget::isEnabled):
3417         (WebCore::Widget::setCursor):
3418         (WebCore::Widget::getView):
3419         (WebCore::Widget::setView):
3420         (WebCore::Widget::getOuterView):
3421
3422 2006-10-10  Brady Eidson  <beidson@apple.com>
3423
3424         Reviewed by Maciej.
3425
3426         Moved WebFrameLoader from WebFrameBridge into WebCoreFrameBridge
3427
3428         * bridge/mac/WebCoreFrameBridge.h:
3429         * bridge/mac/WebCoreFrameBridge.mm:
3430         (-[WebCoreFrameBridge initMainFrameWithPage:]):
3431         (-[WebCoreFrameBridge initSubframeWithOwnerElement:]):
3432         (-[WebCoreFrameBridge dealloc]):
3433         (-[WebCoreFrameBridge close]):
3434         (-[WebCoreFrameBridge setFrameLoaderClient:]):
3435         (-[WebCoreFrameBridge frameLoader]):
3436         * loader/mac/WebFrameLoader.h:
3437         * loader/mac/WebFrameLoader.mm:
3438         (-[WebFrameLoader initWithFrameBridge:]):
3439         (-[WebFrameLoader setFrameLoaderClient:]):
3440
3441 2006-10-10  Adam Roben  <aroben@apple.com>
3442
3443         Reviewed by Oliver.
3444
3445         Make FileChooser ref-counted.
3446
3447         * platform/FileChooser.h:
3448         * platform/mac/FileChooserMac.mm:
3449         (WebCore::FileChooser::create):
3450         * rendering/RenderFileUploadControl.cpp:
3451         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
3452         (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
3453         * rendering/RenderFileUploadControl.h:
3454
3455 2006-10-10  Sam Weinig  <sam.weinig@gmail.com>
3456
3457         Reviewed by Tim H.
3458
3459         Patch for http://bugs.webkit.org/show_bug.cgi?id=11248
3460         Even More auto-generated Objective-C DOM bindings changes
3461
3462         - Auto-generate DOMSVGPathElement.
3463
3464         - Auto-generate the internal interfaces even for classes that have
3465           custom internal implementations.  Change IDL property from ObjCNoInternal
3466           to ObjCCustomInternalImpl to indicate the change.
3467
3468         - Add SVG classes to DOMNode and DOMEvent internal interfaces.
3469
3470         - Add isSVGZoomEvent() method to Event class to match other Event subclasses
3471           and make DOM binding possible.
3472
3473         - Assorted cleanups.
3474
3475         * DerivedSources.make:
3476         * WebCore.xcodeproj/project.pbxproj:
3477         * bindings/objc/DOM.mm:
3478         (WebCore::addElementClass):
3479         (WebCore::createElementClassMap):
3480         (WebCore::elementClass):
3481         (-[DOMNode description]):
3482         (+[DOMNode _nodeWith:WebCore::]):
3483         (-[DOMNode addEventListener:listener:useCapture:]):
3484         (-[DOMNode removeEventListener:listener:useCapture:]):
3485         (-[DOMElement _NPObject]):
3486         (WebCore::ObjCEventListener::handleEvent):
3487         * bindings/objc/DOMEvents.mm:
3488         (+[DOMEvent _eventWith:WebCore::]):
3489         * bindings/objc/DOMInternal.h:
3490         * bindings/objc/DOMRGBColor.mm:
3491         (-[DOMRGBColor WebCore::]):
3492         * bindings/objc/DOMSVGPathSegInternal.h: Removed.
3493         * bindings/scripts/CodeGeneratorObjC.pm:
3494         * css/CSSRule.idl:
3495         * css/CSSValue.idl:
3496         * css/StyleSheet.idl:
3497         * dom/Event.cpp:
3498         (WebCore::Event::isSVGZoomEvent):
3499         * dom/Event.h:
3500         * dom/Event.idl:
3501         * dom/Node.idl:
3502         * ksvg2/events/SVGZoomEvent.cpp:
3503         (WebCore::SVGZoomEvent::isSVGZoomEvent):
3504         * ksvg2/events/SVGZoomEvent.h:
3505         * ksvg2/svg/SVGAnimatedAngle.idl:
3506         * ksvg2/svg/SVGCircleElement.idl:
3507         * ksvg2/svg/SVGClipPathElement.idl:
3508         * ksvg2/svg/SVGPathElement.idl:
3509         * ksvg2/svg/SVGPathSeg.idl:
3510
3511 2006-10-10  Oliver Hunt  <oliver@apple.com>
3512
3513         rubber stamped by Anders.
3514
3515         More buildbot bustage
3516
3517         * kcanvas/SVGInlineFlowBox.cpp:
3518         (WebCore::placeBoxesVerticallyWithAbsBaseline):
3519
3520 2006-10-10  Oliver Hunt  <oliver@apple.com>
3521
3522         Reviewed by Anders 
3523
3524         Unbreak build bots
3525
3526         * dom/Text.cpp:
3527         * kcanvas/RenderSVGText.cpp:
3528         (WebCore::RenderSVGText::layout):
3529         * kcanvas/SVGInlineFlowBox.cpp:
3530         (WebCore::placePositionedBoxesHorizontally):
3531         (WebCore::placeBoxesVerticallyWithAbsBaseline):
3532
3533 2006-10-10  Oliver Hunt  <oliver@apple.com>
3534
3535         Reviewed by hyatt.
3536
3537         Fixes bugs #6423, #6559, #10380 and #10839 
3538
3539         * WebCore.xcodeproj/project.pbxproj:
3540         * css/svg.css:
3541         * dom/Text.cpp:
3542         (WebCore::Text::createRenderer):
3543         * kcanvas/RenderSVGInline.cpp: Added.
3544         (WebCore::RenderSVGInline::RenderSVGInline):
3545         (WebCore::RenderSVGInline::createInlineBox):
3546         * kcanvas/RenderSVGInline.h: Added.
3547         (WebCore::RenderSVGInline::renderName):
3548         (WebCore::RenderSVGInline::requiresLayer):
3549         * kcanvas/RenderSVGInlineText.cpp: Added.
3550         (WebCore::RenderSVGInlineText::RenderSVGInlineText):
3551         (WebCore::RenderSVGInlineText::absoluteRects):
3552         (WebCore::RenderSVGInlineText::selectionRect):
3553         * kcanvas/RenderSVGInlineText.h: Added.
3554         (WebCore::RenderSVGInlineText::renderName):
3555         (WebCore::RenderSVGInlineText::requiresLayer):
3556         * kcanvas/RenderSVGTSpan.cpp: Added.
3557         (WebCore::RenderSVGTSpan::RenderSVGTSpan):
3558         (WebCore::RenderSVGTSpan::absoluteRects):
3559         * kcanvas/RenderSVGTSpan.h: Added.
3560         (WebCore::RenderSVGTSpan::renderName):
3561         * kcanvas/RenderSVGText.cpp:
3562         (WebCore::RenderSVGText::RenderSVGText):
3563         (WebCore::RenderSVGText::computeAbsoluteRepaintRect):
3564         (WebCore::RenderSVGText::layout):
3565         (WebCore::RenderSVGText::createInlineBox):
3566         (WebCore::RenderSVGText::nodeAtPoint):
3567         (WebCore::RenderSVGText::absoluteRects):
3568         (WebCore::RenderSVGText::paint):
3569         (WebCore::RenderSVGText::relativeBBox):
3570         * kcanvas/RenderSVGText.h:
3571         (WebCore::RenderSVGText::renderName):
3572         * kcanvas/SVGInlineFlowBox.cpp: Added.
3573         (WebCore::SVGInlineFlowBox::paint):
3574         (WebCore::SVGInlineFlowBox::placeBoxesHorizontally):
3575         (WebCore::SVGInlineFlowBox::verticallyAlignBoxes):
3576         (WebCore::paintSVGInlineFlow):
3577         (WebCore::translateBox):
3578         (WebCore::placePositionedBoxesHorizontally):
3579         (WebCore::placeSVGFlowHorizontally):
3580         (WebCore::placeBoxesVerticallyWithAbsBaseline):
3581         (WebCore: