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