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