Add initial markers for feature-branch merge
[WebKit-https.git] / WebCore / ChangeLog
1 === End merge of feature-branch 11-11-2007 ===
2
3 2007-10-11  Jon Honeycutt  <jhoneycutt@apple.com>
4
5         Reviewed by Anders.
6
7         Handle a race condition that could arise if a plugin was loaded while it
8         was scheduled to be freed: check whether the timer that schedules
9         library frees is active in PluginPackageWin::load().
10
11         * plugins/win/PluginPackageWin.cpp:
12         (WebCore::PluginPackageWin::freeLibrarySoon): Added assertions
13         (WebCore::PluginPackageWin::freeLibraryTimerFired): Added assertion
14         (WebCore::PluginPackageWin::load): If we are scheduled to free this
15         library, cancel the timer, and don't call LoadLibrary
16
17 2007-10-11  Justin Garcia  <justin.garcia@apple.com>
18
19         Reviewed by Harrison.
20
21         <rdar://problem/5483567> REGRESSION (Tiger only): Pasting words copied from TextEdit in Mail adds extra newline
22         
23         * editing/ReplaceSelectionCommand.cpp:
24         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Added.
25         We would like to insert the fragment as-is if possible, but AppKit on Tiger
26         creates fragments from RTF data that have carriage returns and spaces at the
27         beginning and end, and those need to be removed since they'll interfere with 
28         paragraph merging.
29         (WebCore::ReplaceSelectionCommand::doApply):
30         * editing/ReplaceSelectionCommand.h:
31
32 2007-10-10  Justin Garcia  <justin.garcia@apple.com>
33
34         Reviewed by Maciej.
35         
36         <rdar://problem/5521237> Pasting a word copied from TextEdit after a regular, breaking space, adds a leading newline
37         
38         * editing/CompositeEditCommand.cpp:
39         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
40         Fixed a typo.
41
42 2007-10-10  Jon Honeycutt  <jhoneycutt@apple.com>
43
44         Reviewed by Darin.
45
46         <rdar://5530519> REGRESSION (303-310A18): Crash when closing tab with
47         pdf file (Reader 7 only)
48
49         Reader 7 subclasses its parent window, so posting a WM_DESTROY to this
50         window puts us in plugin code. When the plugin forwards the message
51         back to the original window proc, and we free the plugin library from
52         there, we will jump back to code we just freed when we return, so delay 
53         calling FreeLibrary at least until the next message loop
54
55         * plugins/win/PluginPackageWin.cpp:
56         (WebCore::PluginPackageWin::freeLibrarySoon): Start a timer to free the
57         plugin library
58         (WebCore::PluginPackageWin::freeLibraryTimerFired): Free the library
59         (WebCore::PluginPackageWin::PluginPackageWin): Initialize the timer that
60         will free this library
61         (WebCore::PluginPackageWin::unloadWithoutShutdown): Call
62         freeLibrarySoon()
63         * plugins/win/PluginPackageWin.h: Added m_freeLibraryTimer
64
65 2007-10-11  Ada Chan  <adachan@apple.com>
66
67         <rdar://problem/5534421> 
68         Switched to using wkGetDefaultHTTPCookieStorage() and removed some cookie-related
69         methods we no longer need in ResourceHandle.
70         
71         <rdar://problem/5244261> "Never" cookie policy was ignored on windows
72         Need to set the cookie accept policy on each CFURLRequest.
73         
74         Reviewed by Oliver.
75
76         * platform/network/ResourceHandle.h:
77         * platform/network/cf/ResourceHandleCFNet.cpp:
78         (WebCore::makeFinalRequest):
79         * platform/network/cf/ResourceRequestCFNet.cpp:
80         (WebCore::ResourceRequest::doUpdatePlatformRequest):
81         * platform/network/win/CookieJarWin.cpp:
82         (WebCore::setCookies):
83         (WebCore::cookies):
84         (WebCore::cookiesEnabled):
85
86 2007-10-11  Mark Rowe  <mrowe@apple.com>
87
88         Reviewed by Tim Hatcher.
89
90         Fix for <rdar://problem/5488678>.  Disable debugging symbols in production builds for 10.4
91         PowerPC to prevent a huge STABS section from being generated.
92
93         * Configurations/Base.xcconfig:
94
95 2007-10-11  Lars Knoll  <lars@trolltech.com>
96
97         Reviewed by Erik Seidel and Simon.
98
99         Ensure that setting innerHTML on an element doesn't do
100         weird things with the document.
101         Fixes most issues with http://bugs.webkit.org/show_bug.cgi?id=15456
102
103         Test: fast/innerHTML/innerHTML-changing-document-properties.xhtml
104
105         * dom/XMLTokenizer.cpp:
106         (WebCore::XMLTokenizer::write):
107         (WebCore::XMLTokenizer::startDocument):
108         (WebCore::XMLTokenizer::end):
109         (WebCore::):
110
111 2007-10-10  George Staikos  <staikos@kde.org>
112
113         Reviewed by Adam Roben.
114
115         Fix Qt build on Win32 with VS2005.
116
117         * loader/FTPDirectoryDocument.cpp:
118         (WebCore::processFileDateString):
119         * loader/FTPDirectoryParser.cpp:
120         (WebCore::parseOneFTPLine):
121
122 2007-10-10  Alice Liu  <alice.liu@apple.com>
123
124         Reviewed by Geoff Garen.
125
126         Fixed <rdar://5464402> Crash when running fast/frames/onload-remove-iframe-crash.html in DRT
127         createFrame() now returns a RefPtr instead of a raw Frame pointer. 
128         Making this change improves the way we handle frames on Windows webkit. 
129
130         * loader/FrameLoader.cpp:
131         (WebCore::FrameLoader::loadSubframe):
132         * loader/FrameLoaderClient.h:
133         * platform/graphics/svg/SVGImageEmptyClients.h:
134         (WebCore::SVGEmptyFrameLoaderClient::createFrame):
135
136 2007-10-10  Simon Hausmann  <hausmann@kde.org>
137
138         Reviewed by Lars.
139
140         Fix compilation using gcc 4.3. Header files have been reorganized and as a result some extra
141         includes are needed for INT_MAX, std::auto_ptr and the like.
142
143         WARNING: NO TEST CASES ADDED OR CHANGED
144
145         * bridge/AXObjectCache.h:
146         * ksvg2/misc/SVGDocumentExtensions.h:
147         * platform/Base64.cpp:
148         * platform/graphics/svg/SVGPaintServerPattern.h:
149         * platform/graphics/svg/SVGResourceMasker.h:
150
151 2007-10-08  Sam Weinig  <sam@webkit.org>
152
153         Reviewed by Steve Falkenburg.
154
155         Fix for <rdar://problem/5519698> CrashTracer: [USER] 47 crashes in Safari at com.apple.WebCore: WebCore::XMLTokenizer::lineNumber const + 9
156
157         Test: fast/innerHTML/innerHTML-script-tag-crash.xhtml
158
159         * dom/XMLTokenizer.cpp:
160         (WebCore::XMLTokenizer::lineNumber): Return 1 when there is no context.
161         (WebCore::XMLTokenizer::columnNumber): ditto.
162
163 2007-10-08  Adam Roben  <aroben@apple.com>
164
165         Fix Bug 15305: Crash when dragging an image when "load images automatically" preference is off
166
167         http://bugs.webkit.org/show_bug.cgi?id=15305
168         <rdar://problem/5524774>
169
170         Reviewed by Eric Seidel.
171
172         No test possible: to reproduce this you have to change a WebKit
173         preference and reload the page. See
174         http://bugs.webkit.org/show_bug.cgi?id=15414
175
176         * platform/win/ClipboardWin.cpp:
177         (WebCore::createGlobalImageFileDescriptor): ASSERT that we have an
178         image and that it has a SharedBuffer.
179         (WebCore::writeImageToDataObject): The fix: null-check imageBuffer.
180
181 2007-10-05  Geoffrey Garen  <ggaren@apple.com>
182
183         Reviewed by Sam Weinig.
184         
185         New fix for <rdar://problem/5522487> REGRESSION: With JavaScript 
186         disabled, any page load causes a crash in PropertyMap::put
187         
188         Explicitly remove the "document" property from the window. The old 
189         solution would leave a stale "document" property around after JavaScript
190         was re-enabled.
191
192         The architecture for disabling JavaScript could use some consolidation. 
193         It seems wrong that a script proxy even exists when JavaScript is 
194         disabled. It also seems wrong that so many individual call sites are 
195         responsible for checking whether JavaScript is enabled. I've filed a 
196         bug about this: http://bugs.webkit.org/show_bug.cgi?id=15385.
197
198         * bindings/js/kjs_proxy.cpp:
199         (WebCore::KJSProxy::clearDocumentWrapper):
200         * bindings/js/kjs_proxy.h:
201         * page/Frame.cpp:
202         (WebCore::Frame::setDocument):
203
204 2007-10-05  Jon Honeycutt  <jhoneycutt@apple.com>
205
206         Reviewed by Anders.
207
208         <rdar://5520913> Ticketmaster.com doesn't display correctly (Flash
209         related?)
210
211         The plugin is requesting files that don't exist on the server, and
212         we are passing the 404 error page to the plugin. This change cancels the
213         stream if the response code indicates a failure.
214
215         This is a port of the safari / mac code.
216
217         * loader/win/NetscapePlugInStreamLoaderWin.cpp:
218         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): If the
219         response code indicates a failure, cancel the stream
220
221 2007-10-05  Geoffrey Garen  <ggaren@apple.com>
222
223         Reviewed by Sam Weinig.
224         
225         Fixed <rdar://problem/5522487> REGRESSION: With JavaScript disabled, 
226         any page load causes a crash in PropertyMap::put
227         
228         The problem was that we were using JavaScript when JavaScript was
229         disabled. The architecture for disabling JavaScript could use some
230         consolidation, but this is the simplest, safest change for now.
231         
232         Currently passing layout tests still pass.
233
234         * bindings/js/kjs_proxy.cpp:
235         (WebCore::KJSProxy::updateDocumentWrapper):
236
237 2007-10-04  Beth Dakin  <bdakin@apple.com>
238
239         Reviewed by John Sullivan.
240
241         Fix for <rdar://problem/5441823> REGRESSION (r25142, Tiger only): 
242         Vertical scroll bar not redrawn properly when going back in history 
243         (15033)
244
245         This fix if-defs r25142 to be Leopard-only since it causes 
246         correctness issues on Tiger and does not seem to have any 
247         performance impact on Tiger either.
248
249         * loader/FrameLoader.cpp:
250         (WebCore::FrameLoader::transitionToCommitted):
251
252 2007-10-05  Ada Chan  <adachan@apple.com>
253
254         <rdar://problem/5436617> Favicons sometimes don't show up even when they are
255         in the database
256         - A client can try to retain an icon for a page before the database is actually
257         opened.  Since isOpened() is not a requirement to retain an icon, remove the check
258         for that.  Instead, we'll check to make sure whether this database is enabled
259         before proceeding.
260
261         Reviewed by Brady.
262
263         * loader/icon/IconDatabase.cpp:
264         (WebCore::IconDatabase::retainIconForPageURL):
265         (WebCore::IconDatabase::releaseIconForPageURL): only check isOpen() before we
266         schedule for a sync.
267
268 2007-10-05  Lars Knoll  <lars@trolltech.com>
269
270         Reviewed by olliej.
271
272         fix a hang in editing/selection/extend-by-word-002.html
273
274         * platform/qt/TextBreakIteratorQt.cpp:
275         (WebCore::CharBreakIteratorQt::next):
276         (WebCore::characterBreakIterator):
277
278 2007-10-04  Mark Rowe  <mrowe@apple.com>
279
280         Reviewed by Oliver.
281
282         Switch to default level of debugging symbols to resolve <rdar://problem/5488678>.
283         The "full" level appears to offer no observable benefits even though the documentation
284         suggests it be used for dead code stripping.  This should also decrease link times.
285
286         * Configurations/Base.xcconfig:
287
288 2007-10-04  Adele Peterson  <adele@apple.com>
289
290         Reviewed by Darin.
291
292         WebCore part of fix for <rdar://problem/5369017> REGRESSION: Can't tab to webview that doesn't have editable content
293
294         * page/FocusController.h: Added FocusDirection argument.
295         * page/FocusController.cpp: (WebCore::FocusController::setInitialFocus):
296           Use FocusDirection argument instead of key modifiers to send direction to advanceFocus.
297         * WebCore.exp: Updated symbol.
298
299 2007-10-04  Kevin Decker  <kdecker@apple.com>
300
301         Reviewed by John.
302         
303         <rdar://problems/5516309>
304         
305         * page/FrameView.cpp:
306         (WebCore::FrameView::updateControlTints): Avoid the expense of updating tints on controls for the
307         empty-window case since this can take a significant amount of time even on windows that have no
308         content at all. Note this fix specifically optimizes the empty window/tab case; for a more broad
309         fix John wrote up rdar://problem/5521050.
310
311 2007-10-04  Darin Adler  <darin@apple.com>
312
313         * page/Frame.h: Put functions into categories to indicate other classes
314         we'd like to move them into in the future. Just organizational -- no code
315         change.
316
317 2007-10-04  Lars Knoll  <lars@trolltech.com>
318
319         Reviewed by maciej.
320
321         fix a crash in the FrameLoader that can happen under certain
322         conditions in the Qt port.
323
324         Test: fast/loader/iframe-crash-on-missing-image.xhtml
325
326         * loader/FrameLoader.cpp:
327         (WebCore::FrameLoader::receivedMainResourceError):
328
329 2007-10-03  Alp Toker  <alp@atoker.com>
330
331         Reviewed by Adam.
332
333         http://bugs.webkit.org/show_bug.cgi?id=14726
334         [gtk] API design. Mapping the WebView delegates to signals.
335
336         Change the API namespace of the Gtk+ port from 'WebKitGtk' to 'WebKit'.
337
338         * WebCore.pro:
339
340 2007-10-03  Alp Toker  <alp@atoker.com>
341
342         Reviewed by Eric.
343
344         http://bugs.webkit.org/show_bug.cgi?id=14129
345         [CAIRO] Support the canvas element
346
347         Add a new canvas implementation using Cairo for rendering.
348
349         * html/CanvasGradient.cpp:
350         (WebCore::CanvasGradient::CanvasGradient):
351         (WebCore::CanvasGradient::~CanvasGradient):
352         (WebCore::CanvasGradient::addColorStop):
353         (WebCore::CanvasGradient::platformShading):
354         * html/CanvasGradient.h:
355         * html/CanvasRenderingContext2D.cpp:
356         (WebCore::CanvasRenderingContext2D::setFillStyle):
357         (WebCore::CanvasRenderingContext2D::fill):
358         (WebCore::CanvasRenderingContext2D::stroke):
359         (WebCore::CanvasRenderingContext2D::fillRect):
360         (WebCore::CanvasRenderingContext2D::drawImage):
361         (WebCore::CanvasRenderingContext2D::applyStrokePattern):
362         * html/CanvasStyle.cpp:
363         (WebCore::CanvasStyle::applyStrokeColor):
364         * html/HTMLCanvasElement.cpp:
365         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
366         (WebCore::HTMLCanvasElement::reset):
367         (WebCore::HTMLCanvasElement::paint):
368         (WebCore::HTMLCanvasElement::createDrawingContext):
369         (WebCore::HTMLCanvasElement::createPlatformImage):
370         * html/HTMLCanvasElement.h:
371
372 2007-10-03  Lars Knoll  <lars@trolltech.com>
373
374         Signed off by olliej.
375
376         move WebKitQt to WebKit/qt for consistency with the other ports.
377
378         WARNING: NO TEST CASES ADDED OR CHANGED
379
380         * WebCore.pro:
381
382 2007-10-02  Sam Weinig  <sam@webkit.org>
383
384         Reviewed by Oliver and Adam.
385
386         Patch for <rdar://problem/5506968> Fail to DnD local file with non-ascii character in path from desktop to Safari (can open it with file menu)
387
388         Use CoreFoundation to do the conversion from path to URL, as the Windows API was not
389         correctly converting to UTF-8 and we know CFURL will.
390
391         * platform/win/ClipboardUtilitiesWin.cpp:
392         (WebCore::urlFromPath):
393         (WebCore::getURL):
394
395 2007-10-02  Tristan O'Tierney  <tristan@apple.com>
396
397         Reviewed by Darin Adler.
398
399         <rdar://problem/5511842> REGRESSION: Webkit stops responding while loading Apple Store Canada page (15304)
400         
401         Included the NSSynchronousURLConnection_PrivateMode mode, in addition to the default run loop modes
402         as an acceptable mode when using performSelectorOnMainThread with our syncronous url callbacks.
403
404         * platform/network/mac/ResourceHandleMac.mm:
405         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
406         Added NSSynchronousURLConnection_PrivateMode to the list of accepted modes.
407
408 2007-10-02  Darin Adler  <darin@apple.com>
409
410         Reviewed by Adam.
411
412         - add support for GDI objects to OwnPtr; I plan to use this
413           to fix some GDI handle leaks
414
415         * css/CSSGrammar.y: Change parser to avoid macro that conflicts
416         with macro defined in Windows system headers: FLOAT. This is needed
417         because OwnPtr.h will now include <windows.h>.
418         * css/CSSParser.cpp: (WebCore::CSSParser::lex): Ditto.
419         * css/tokenizer.flex: Ditto.
420
421         * platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor):
422         Use OwnPtr for a few HBITMAP objects as a test case.
423
424         * platform/win/COMPtr.h: (COMPtr::COMPtr): Fix so that we can use
425         Query with other COMPtr. Before this would not compile if it was
426         ever instantiated.
427
428 2007-10-02  Steve Falkenburg  <sfalken@apple.com>
429
430         Reviewed by Adam, Ada.
431
432         Fix leak of GDI handle when we call MLANG.
433
434         * platform/win/FontCacheWin.cpp:
435         (WebCore::FontCache::getFontDataForCharacters):
436
437 2007-10-02  Lars Knoll  <lars@trolltech.com>
438
439         Reviewed by Olliej.
440
441         The cookies() method should only return the value of the
442         cookie, not additional info such as the expiration date.
443
444         * platform/qt/CookieJarQt.cpp:
445         (WebCore::cookies):
446
447 2007-10-01  Lars Knoll  <lars@trolltech.com>
448
449         Reviewed by Eric.
450
451         Fix a wrong extension mapping in the MIMETypeRegistry and identify about: url's as frames in the FrameLoaderClient.
452
453         * platform/qt/MIMETypeRegistryQt.cpp:
454         (WebCore::):
455
456 2007-10-01  Justin Garcia  <justin.garcia@apple.com>
457
458         Reviewed by Harrison.
459
460         <rdar://problem/5516183> REGRESSION: Creating a ToDo on an incoming message fails
461         
462         Rolling out r25721.
463
464         * editing/ReplaceSelectionCommand.cpp:
465         (WebCore::ReplaceSelectionCommand::doApply):
466         * editing/ReplaceSelectionCommand.h:
467
468 2007-10-01  Beth Dakin  <bdakin@apple.com>
469
470         Reviewed by Adam.
471
472         Fix for <rdar://problem/5515426> NetNewsWire 3 crashes at launch in 
473         WebCore::FrameView::layout (other repro scenarios too)
474
475         The new call to updateWidget() that we added to FrameView::layout() 
476         can destroy the RenderPartObject. And so we were crashing on the 
477         subsequent call to updateWidgetPosition(). This patch fixes that by 
478         checking to make sure the RenderPartObject is still in the HashSet 
479         after updateWidget(). Because m_widgetUpdateSet can be modified 
480         during the call to updateWidget(), we need it to be intact while we 
481         are iterating through the copy, so we cannot use the HashSet::swap 
482         call we were using before. This patch instead uses a Vector to 
483         iterate through the HashSet data and calls clear() on the HashSet 
484         at the end.
485
486         * page/FrameView.cpp:
487         (WebCore::FrameView::layout):
488
489 2007-10-01  Eli Fidler  <eli@staikos.net>
490
491         Reviewed by George Staikos.
492
493         Switch bogus assert to a conditional and return.  This case happens
494         when a widget is hidden.
495
496         * platform/qt/WidgetQt.cpp:
497         (WebCore::Widget::invalidateRect):
498
499 2007-09-30  Darin Adler  <darin@apple.com>
500
501         Reviewed by Maciej.
502
503         - tone down the assertion I asked Harrison to include in his fix for
504           <rdar://problem/5511128>; it's OK to re-ref and deref the document
505           as long as you do so after the children are done being destroyed
506
507         No effect on release builds. Assertion change only.
508
509         Besides the changes listed below, renamed m_hasDeleted flag to
510         m_deletionHasBegun.
511
512         * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeAllChildren):
513         Added code to set the m_deletionHasBegun flag and some assertions
514         that test its state.
515
516         * dom/Document.h: Removed m_hasDeleted -- we now use m_deletionHasBegun
517         in the base class TreeShared.
518         * dom/Document.cpp:
519         (WebCore::Document::Document): Removed initialization of m_hasDeleted.
520         (WebCore::Document::removedLastRef): Added code to clear
521         m_inRemovedLastRefFunction if we end up deciding not to delete this.
522
523         * platform/Shared.h:
524         (WebCore::TreeShared::TreeShared): Added m_deletionHasBegun in addition to
525         m_inRemovedLastRefFunction (formerly named m_hasRemovedLastRef).
526         (WebCore::TreeShared::~TreeShared): Assert that m_deletionHasBegun is true.
527         (WebCore::TreeShared::ref): Assert neither flag is true.
528         (WebCore::TreeShared::deref): Ditto.
529         (WebCore::TreeShared::hasOneRef): Ditto.
530         (WebCore::TreeShared::removedLastRef): Made private. Added code to
531         set m_hasDeleted to true. Also removed cast; since this class template
532         has a virtual destructor, we don't need to cast before calling delete.
533
534 2007-09-29  Holger Hans Peter Freyther  <zecke@selfish.org>
535
536         Reviewed by Mark.
537
538         -Fix http://bugs.webkit.org/show_bug.cgi?id=13226.
539         Remove Bakefiles from svn.
540
541         * Projects/gdk/webcore-gdk.bkl: Removed.
542         * Projects/wx/webcore-wx.bkl: Removed.
543         * WebCoreSources.bkl: Removed.
544         * webcore-base.bkl: Removed.
545
546 2007-09-28  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
547
548         Reviewed by Mark.
549
550         -Fix http://bugs.webkit.org/show_bug.cgi?id=15254.
551
552         * platform/gtk/RenderThemeGtk.cpp:
553         (WebCore::RenderThemeGtk::determineState):
554             - Apply state if control is readonly
555             - Added state GTK_STATE_SELECTED of object is checked
556             - Apply GTK_STATE_ACTIVE if RenderObject isFocused()
557         (WebCore::RenderThemeGtk::paintTextField):
558         (WebCore::RenderThemeGtk::gtkEntry):
559             - Implemented theme-aware text field based on gtk/gtkentry.c implementation
560
561 2007-09-29  Holger Hans Peter Freyther  <zecke@selfish.org>
562
563         Reviewed by Eric.
564
565         Build fix for Mac Gtk+ and Qt builds. In revision 25798 changing
566         XSLTProcessor.cpp was forgotten.
567
568         * xml/XSLTProcessor.cpp: Use PLATFORM(MAC) instead of PLATFORM(DARWIN)
569
570 2007-09-29  Adam Roben  <aroben@apple.com>
571
572         Fix <rdar://4965715> Horizontal scrollwheel scrolling moves in opposite direction on Vista
573
574         Reviewed by Sam.
575
576         No regression test possible.
577
578         * platform/win/WheelEventWin.cpp:
579         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use a negative
580         delta when scrolling right to match EventHandler's expectations (which
581         are based on AppKit).
582
583 2007-09-28  Kevin Decker  <kdecker@apple.com>
584
585         Reviewed by Mark Rowe
586
587         Build fix for Mac Gtk+ and Qt builds.
588         
589         * xml/XSLStyleSheet.cpp: Use PLATFORM(MAC) instead of PLATFORM(DARWIN)
590         * xml/XSLTExtensions.cpp: Ditto.
591
592 2007-09-28  David Harrison  <harrison@apple.com>
593
594         Reviewed by Darin Adler.
595
596         <rdar://problem/5511128> Crash closing or reloading this SVG
597
598         * dom/ContainerNode.cpp:
599         (WebCore::dispatchChildInsertionEvents):
600         (WebCore::dispatchChildRemovalEvents):
601         Use DocPtr instead of RefPtr, since these events are dispatched
602         when the Document is being being torn down by removedLastRef().
603
604         * dom/DocPtr.h:
605         (WebCore::DocPtr::DocPtr):
606         Fix longstanding typo in template so that the DocPtr(DocPtr) constructor can be used.
607
608         * dom/Document.cpp:
609         (WebCore::Document::Document):
610         (WebCore::Document::removedLastRef):
611         * dom/Document.h:
612         (WebCore::Document::selfOnlyRef):
613         (WebCore::Document::selfOnlyDeref):
614         * platform/Shared.h:
615         (WebCore::Shared::Shared):
616         (WebCore::Shared::ref):
617         (WebCore::Shared::deref):
618         (WebCore::Shared::hasOneRef):
619         (WebCore::TreeShared::TreeShared):
620         (WebCore::TreeShared::ref):
621         (WebCore::TreeShared::deref):
622         (WebCore::TreeShared::hasOneRef):
623         (WebCore::TreeShared::refCount):
624         Add debug-only checks for a document being ref-counted while being deleted.
625
626 2007-09-27  Kevin McCullough  <kmccullough@apple.com>
627
628         Reviewed by Darin.
629
630         - <rdar://5261371> Nothing downloaded when exporting bookmarks from iGoogle web history
631
632         Function for use by WebKit. Currently used only on Windows.
633
634         * platform/network/ResourceResponse.cpp:
635         (WebCore::ResourceResponse::isAttachment):
636         * platform/network/ResourceResponse.h:
637
638 2007-09-27  Mitz Pettel  <mitz@webkit.org>
639
640         Reviewed by Dave Hyatt.
641
642         - fix http://bugs.webkit.org/show_bug.cgi?id=15262
643           REGRESSION: Margin-top:18px is pushing down the multiple select list box outside the div.
644
645         Reflected in existing tests.
646
647         * css/html4.css: Changed listboxes to use border-box sizing, to match Firefox,
648         WinIE and apparently also Safari 2.
649
650 2007-09-27  Kevin Decker  <kdecker@apple.com>
651
652         <rdar://problem/5493093>
653     
654         Rubber stamped by John Sullivan.
655         
656         * WebCore.order: Added.
657         * WebCore.xcodeproj/project.pbxproj:  We're changing from using an order file built by another team to using one
658          we actually check into our project repository. Linker settings for Symbol Ordering Flags have been updated
659          accordingly.
660          
661 2007-09-27  Antti Koivisto  <antti@apple.com>
662
663         Reviewed by Geoff.
664         
665         Fix for <rdar://problem/5499125>
666         REGRESSION (r21367): After launching Kidzui beta, a webview frame fails to appear in its main window
667         
668         If window object properties were modified when it had initial empty document (synchronously after 
669         window.open() for example) those modifications were lost when the real document was switched in.
670         
671         Match Firefox behavior where window properties are not cleared if the inital document and the loaded one
672         have matching security domains.
673
674         Tests: fast/dom/Window/window-early-properties.html
675                http/tests/security/window-properties-clear-domain.html
676                http/tests/security/window-properties-clear-port.html
677                http/tests/security/window-properties-pass.html
678
679         * WebCore.exp:
680         * loader/FrameLoader.cpp:
681         (WebCore::FrameLoader::FrameLoader):
682         (WebCore::FrameLoader::init):
683         (WebCore::FrameLoader::clear):
684         (WebCore::FrameLoader::isSecureTransition):
685         (WebCore::FrameLoader::begin):
686         * loader/FrameLoader.h:
687         If we are transitioning from initial empty document to the final one, do a domain security check
688         between old security policy URL and new URL. If that passes don't clear script proxy and script objects.
689         
690         * bindings/js/kjs_proxy.cpp:
691         (WebCore::KJSProxy::updateDocumentWrapper):
692         * bindings/js/kjs_proxy.h:
693         * page/Frame.cpp:
694         (WebCore::Frame::setDocument):
695         Since we don't always clear window properties anymore, we need to update the document property to point to
696         the newly created one. 
697         
698 2007-09-27  Kevin Decker  <kdecker@apple.com>
699
700         Reviewed by Darin.
701
702         <rdar://problem/5493093>
703         
704         * WebCore.xcodeproj/project.pbxproj: Removed libxslt from statically linked frameworks.
705         * platform/mac/SoftLinking.h: Formatting tweakes, added SOFT_LINK_LIBRARY, and if'def for 
706         PLATFORM(DARWIN)
707         * xml/XSLStyleSheet.cpp: Soft-linked libxslt.
708         * xml/XSLTExtensions.cpp: Removed the call to xsltGenericError, and added a FIXME comment stating
709         that it might be helpful to push any errors from xmlXPathNewValueTree up to the Javascript Console. 
710         * xml/XSLTProcessor.cpp: Soft-linked libxslt.
711         
712 2007-09-27  Adele Peterson  <adele@apple.com>
713
714         Reviewed by Brady.
715
716         Fix for <rdar://problem/5453350> REGRESSION (r18541, Tiger only): Refreshing a cached https page does not reload CSS and JavaScript resources
717         http://bugs.webkit.org/show_bug.cgi?id=15121
718
719         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Now sets the cache policy to ReloadIgnoringCacheData.  Without setting the cache policy,
720         the default policy in this case was ReturnCacheDataElseLoad.  If we're in a situation where the resource is in the cache, we want to make sure to avoid loading from the cache in this case.
721
722 2007-09-27  Timothy Hatcher  <timothy@apple.com>
723
724         Reviewed by Darin.
725
726         <rdar://problem/5199546> CrashTracer: [REGRESSION] 8216 crashes in Safari at com.apple.WebCore: WebCore::ResourceHandle::client const + 6
727
728         On Tiger NSURLConnection can sometimes call the connection:willCacheResponse: delegate method on
729         a secondary thread instead of the main thread. This was never an issue before, since the implementation 
730         of this method was very simple and thread safe.
731
732         The fix is to block during connection:willCacheResponse: and perform the work on the main thread.
733         We need to block since this delegate method needs to return a result. If we are already on the
734         main thread (which sometimes we are), the method does nothing different. If we are on a secondary
735         thread, we make a mutable dictionary to hold all the arguments and later the result object.
736         Then performSelectorOnMainThread:withObject: using the _callConnectionWillCacheResponseWithInfo:
737         selector. This new method just pulls the arguments out for the dictionary and calls the real
738         connection:willCacheResponse: delegate method (this time on the main thread). The result is stored
739         in the dictionary, and when performSelectorOnMainThread:withObject: finishes the result is pulled
740         out and returned.
741
742         * platform/network/mac/ResourceHandleMac.mm:
743         (-[WebCoreResourceHandleAsDelegate _callConnectionWillCacheResponseWithInfo:]):
744         (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
745
746 2007-09-27  David Hyatt  <hyatt@apple.com>
747
748         Update to reflect the minimal WebKitSystemInterface changes required
749         to support @font-face.
750
751         Reviewed by john
752
753         * platform/mac/FontDataMac.mm:
754         (WebCore::FontData::platformInit):
755         (WebCore::FontData::platformWidthForGlyph):
756         * platform/mac/WebCoreSystemInterface.h:
757         * platform/mac/WebCoreSystemInterface.mm:
758
759 2007-09-26  Darin Adler  <darin@apple.com>
760
761         - fix Windows build
762
763         * platform/win/ClipboardWin.cpp:
764         (WebCore::writeURL): Add a check for empty URL. Remove the check for invalid URL.
765         (WebCore::ClipboardWin::setData): Remove the check for invalid URL.
766         * plugins/win/PluginViewWin.cpp:
767         (WebCore::PluginViewWin::start): Check for empty URL instead of invalid URL.
768         (WebCore::PluginViewWin::load): Same here.
769
770 2007-09-26  Darin Adler  <darin@apple.com>
771
772         Reviewed by John Sullivan.
773
774         - fix <rdar://problem/5491054> REGRESSION (Mail, plain-text only): Nothing happens
775           when you click on rdar://<num>&<num> links (or AOL links in Safari)
776
777         Remove the non-useful concept of a "malformed"/"invalid" URL.
778
779         There are URLs we can parse, and others we can't, but that's not sufficient to
780         determine if we should try to work with the URL. It's entirely possible that
781         a so-called "malformed" URL will work just fine if it's passed to the right
782         software.
783
784         * platform/KURL.h: Removed isMalformed() and isValid().
785
786         * loader/Cache.cpp: (WebCore::Cache::requestResource): Removed unneeded check
787         if the URL is valid. But do check for an empty URL just to guarantee we don't
788         trip up with a null string. It's possible we can remove this empty URL check
789         later, but it's less risky to leave the empty string behavior alone for now.
790
791         * loader/FrameLoader.cpp:
792         (WebCore::FrameLoader::urlSelected): Removed unneeded check if the URL is valid.
793         Back on 2007-07-08, we realized that we needed to allow empty URLs. But we also
794         need to allow other URLs here. This is the code path from the Mail case.
795         (WebCore::FrameLoader::submitForm): Replaced URL validity check with a check
796         for an empty URL (same reasoning as for requestResource above).
797
798         * page/InspectorController.cpp: (WebCore::InspectorResource::type):
799         * rendering/RenderObject.cpp: (WebCore::RenderObject::addPDFURLRect):
800         Removed unneeded check for an invalid URL. In both of these cases it's definitely
801         safe to allow event an empty URL.
802
803 2007-09-26  George Staikos  <staikos@kde.org>
804
805         Reviewed by John Sullivan.
806
807         Only highlight the applicable portion of the text run for a search
808         highlight.  No way to make a testcase for this presently.
809
810         * rendering/InlineTextBox.cpp:
811         (WebCore::InlineTextBox::paintTextMatchMarker):
812
813 2007-09-25  David Kilzer  <ddkilzer@webkit.org>
814
815         Reviewed by Adam.
816
817         - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
818           LGPL'ed files contain incorrect FSF address
819
820         * LICENSE-LGPL-2:
821         * LICENSE-LGPL-2.1:
822         * WebCorePrefix.h:
823         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
824         * bindings/js/JSDOMWindowCustom.cpp:
825         * bindings/js/JSDocumentCustom.cpp:
826         * bindings/js/JSHTMLCollectionCustom.cpp:
827         * bindings/js/JSHTMLElementWrapperFactory.cpp:
828         * bindings/js/JSHTMLElementWrapperFactory.h:
829         * bindings/js/JSHTMLInputElementBase.cpp:
830         * bindings/js/JSHTMLInputElementBase.h:
831         * bindings/js/JSHTMLOptionElementConstructor.cpp:
832         * bindings/js/JSHTMLOptionElementConstructor.h:
833         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
834         * bindings/js/JSHTMLSelectElementCustom.cpp:
835         * bindings/js/JSNodeFilterCondition.cpp:
836         * bindings/js/JSNodeFilterCondition.h:
837         * bindings/js/JSNodeIteratorCustom.cpp:
838         * bindings/js/JSSVGElementWrapperFactory.cpp:
839         * bindings/js/JSSVGElementWrapperFactory.h:
840         * bindings/js/JSSVGMatrixCustom.cpp:
841         * bindings/js/JSSVGPathSegCustom.cpp:
842         * bindings/js/JSSVGPathSegListCustom.cpp:
843         * bindings/js/JSSVGPointListCustom.cpp:
844         * bindings/js/JSTreeWalkerCustom.cpp:
845         * bindings/js/JSXMLHttpRequest.cpp:
846         * bindings/js/JSXMLHttpRequest.h:
847         * bindings/js/kjs_binding.cpp:
848         * bindings/js/kjs_binding.h:
849         * bindings/js/kjs_css.cpp:
850         * bindings/js/kjs_css.h:
851         * bindings/js/kjs_dom.cpp:
852         * bindings/js/kjs_dom.h:
853         * bindings/js/kjs_events.cpp:
854         * bindings/js/kjs_events.h:
855         * bindings/js/kjs_html.cpp:
856         * bindings/js/kjs_html.h:
857         * bindings/js/kjs_navigator.cpp:
858         * bindings/js/kjs_navigator.h:
859         * bindings/js/kjs_proxy.cpp:
860         * bindings/js/kjs_proxy.h:
861         * bindings/js/kjs_window.cpp:
862         * bindings/js/kjs_window.h:
863         * bindings/objc/DOMImplementationFront.cpp:
864         * bindings/objc/DOMImplementationFront.h:
865         * bindings/scripts/CodeGenerator.pm:
866         * bindings/scripts/CodeGeneratorJS.pm:
867         * bindings/scripts/CodeGeneratorObjC.pm:
868         * bindings/scripts/IDLParser.pm:
869         * bindings/scripts/IDLStructure.pm:
870         * bindings/scripts/generate-bindings.pl:
871         * config.h:
872         * css/CSSBorderImageValue.cpp:
873         * css/CSSBorderImageValue.h:
874         * css/CSSCharsetRule.cpp:
875         * css/CSSCharsetRule.h:
876         * css/CSSCharsetRule.idl:
877         * css/CSSComputedStyleDeclaration.cpp:
878         * css/CSSComputedStyleDeclaration.h:
879         * css/CSSCursorImageValue.cpp:
880         * css/CSSCursorImageValue.h:
881         * css/CSSFontFaceRule.cpp:
882         * css/CSSFontFaceRule.h:
883         * css/CSSFontFaceRule.idl:
884         * css/CSSGrammar.y:
885         * css/CSSHelper.cpp:
886         * css/CSSHelper.h:
887         * css/CSSImageValue.cpp:
888         * css/CSSImageValue.h:
889         * css/CSSImportRule.cpp:
890         * css/CSSImportRule.h:
891         * css/CSSImportRule.idl:
892         * css/CSSInheritedValue.cpp:
893         * css/CSSInheritedValue.h:
894         * css/CSSInitialValue.cpp:
895         * css/CSSInitialValue.h:
896         * css/CSSMediaRule.cpp:
897         * css/CSSMediaRule.h:
898         * css/CSSMediaRule.idl:
899         * css/CSSMutableStyleDeclaration.cpp:
900         * css/CSSMutableStyleDeclaration.h:
901         * css/CSSNamespace.h:
902         * css/CSSPageRule.cpp:
903         * css/CSSPageRule.h:
904         * css/CSSPageRule.idl:
905         * css/CSSParser.cpp:
906         * css/CSSParser.h:
907         * css/CSSPrimitiveValue.cpp:
908         * css/CSSPrimitiveValue.h:
909         * css/CSSPrimitiveValue.idl:
910         * css/CSSProperty.cpp:
911         * css/CSSProperty.h:
912         * css/CSSQuirkPrimitiveValue.h:
913         * css/CSSRule.cpp:
914         * css/CSSRule.h:
915         * css/CSSRule.idl:
916         * css/CSSRuleList.cpp:
917         * css/CSSRuleList.h:
918         * css/CSSSelector.cpp:
919         * css/CSSSelector.h:
920         * css/CSSStyleDeclaration.cpp:
921         * css/CSSStyleDeclaration.h:
922         * css/CSSStyleDeclaration.idl:
923         * css/CSSStyleRule.cpp:
924         * css/CSSStyleRule.h:
925         * css/CSSStyleRule.idl:
926         * css/CSSStyleSelector.cpp:
927         * css/CSSStyleSelector.h:
928         * css/CSSStyleSheet.cpp:
929         * css/CSSStyleSheet.h:
930         * css/CSSStyleSheet.idl:
931         * css/CSSUnknownRule.h:
932         * css/CSSUnknownRule.idl:
933         * css/CSSValue.h:
934         * css/CSSValue.idl:
935         * css/CSSValueList.cpp:
936         * css/CSSValueList.h:
937         * css/Counter.h:
938         * css/Counter.idl:
939         * css/DashboardRegion.h:
940         * css/FontFamilyValue.cpp:
941         * css/FontFamilyValue.h:
942         * css/FontValue.cpp:
943         * css/FontValue.h:
944         * css/MediaFeatureNames.cpp:
945         * css/MediaFeatureNames.h:
946         * css/MediaList.cpp:
947         * css/MediaList.h:
948         * css/Pair.h:
949         * css/RGBColor.idl:
950         * css/Rect.h:
951         * css/Rect.idl:
952         * css/ShadowValue.cpp:
953         * css/ShadowValue.h:
954         * css/StyleBase.cpp:
955         * css/StyleBase.h:
956         * css/StyleList.cpp:
957         * css/StyleList.h:
958         * css/StyleSheet.cpp:
959         * css/StyleSheet.h:
960         * css/StyleSheet.idl:
961         * css/StyleSheetList.cpp:
962         * css/StyleSheetList.h:
963         * css/StyleSheetList.idl:
964         * css/html4.css:
965         * css/make-css-file-arrays.pl:
966         * css/makegrammar.pl:
967         * css/makeprop.pl:
968         * css/maketokenizer:
969         * css/makevalues.pl:
970         * css/quirks.css:
971         * dom/AtomicStringList.h:
972         * dom/Attr.cpp:
973         * dom/Attr.h:
974         * dom/Attr.idl:
975         * dom/Attribute.cpp:
976         * dom/Attribute.h:
977         * dom/BeforeUnloadEvent.cpp:
978         * dom/BeforeUnloadEvent.h:
979         * dom/CDATASection.cpp:
980         * dom/CDATASection.h:
981         * dom/CDATASection.idl:
982         * dom/CSSMappedAttributeDeclaration.cpp:
983         * dom/CSSMappedAttributeDeclaration.h:
984         * dom/CharacterData.cpp:
985         * dom/CharacterData.h:
986         * dom/CharacterData.idl:
987         * dom/ChildNodeList.cpp:
988         * dom/ChildNodeList.h:
989         * dom/Clipboard.h:
990         * dom/ClipboardEvent.cpp:
991         * dom/ClipboardEvent.h:
992         * dom/Comment.cpp:
993         * dom/Comment.h:
994         * dom/Comment.idl:
995         * dom/ContainerNode.cpp:
996         * dom/ContainerNode.h:
997         * dom/DOMImplementation.cpp:
998         * dom/DOMImplementation.h:
999         * dom/DOMImplementation.idl:
1000         * dom/DocPtr.h:
1001         * dom/Document.cpp:
1002         * dom/Document.h:
1003         * dom/Document.idl:
1004         * dom/DocumentFragment.cpp:
1005         * dom/DocumentFragment.h:
1006         * dom/DocumentFragment.idl:
1007         * dom/DocumentMarker.h:
1008         * dom/DocumentType.cpp:
1009         * dom/DocumentType.h:
1010         * dom/DocumentType.idl:
1011         * dom/EditingText.cpp:
1012         * dom/EditingText.h:
1013         * dom/Element.cpp:
1014         * dom/Element.h:
1015         * dom/Element.idl:
1016         * dom/Entity.cpp:
1017         * dom/Entity.h:
1018         * dom/Entity.idl:
1019         * dom/EntityReference.cpp:
1020         * dom/EntityReference.h:
1021         * dom/EntityReference.idl:
1022         * dom/Event.cpp:
1023         * dom/Event.h:
1024         * dom/Event.idl:
1025         * dom/EventListener.h:
1026         * dom/EventListener.idl:
1027         * dom/EventNames.cpp:
1028         * dom/EventNames.h:
1029         * dom/EventTarget.idl:
1030         * dom/EventTargetNode.cpp:
1031         * dom/EventTargetNode.h:
1032         * dom/ExceptionCode.h:
1033         * dom/KeyboardEvent.cpp:
1034         * dom/KeyboardEvent.h:
1035         * dom/KeyboardEvent.idl:
1036         * dom/MappedAttribute.cpp:
1037         * dom/MappedAttribute.h:
1038         * dom/MappedAttributeEntry.h:
1039         * dom/MouseEvent.cpp:
1040         * dom/MouseEvent.h:
1041         * dom/MouseEvent.idl:
1042         * dom/MouseRelatedEvent.cpp:
1043         * dom/MouseRelatedEvent.h:
1044         * dom/MutationEvent.cpp:
1045         * dom/MutationEvent.h:
1046         * dom/MutationEvent.idl:
1047         * dom/NameNodeList.cpp:
1048         * dom/NameNodeList.h:
1049         * dom/NamedAttrMap.cpp:
1050         * dom/NamedAttrMap.h:
1051         * dom/NamedMappedAttrMap.cpp:
1052         * dom/NamedMappedAttrMap.h:
1053         * dom/NamedNodeMap.h:
1054         * dom/NamedNodeMap.idl:
1055         * dom/Node.cpp:
1056         * dom/Node.h:
1057         * dom/Node.idl:
1058         * dom/NodeFilter.cpp:
1059         * dom/NodeFilter.h:
1060         * dom/NodeFilter.idl:
1061         * dom/NodeFilterCondition.cpp:
1062         * dom/NodeFilterCondition.h:
1063         * dom/NodeIterator.cpp:
1064         * dom/NodeIterator.h:
1065         * dom/NodeIterator.idl:
1066         * dom/NodeList.cpp:
1067         * dom/NodeList.h:
1068         * dom/NodeList.idl:
1069         * dom/Notation.cpp:
1070         * dom/Notation.h:
1071         * dom/Notation.idl:
1072         * dom/ProcessingInstruction.cpp:
1073         * dom/ProcessingInstruction.h:
1074         * dom/ProcessingInstruction.idl:
1075         * dom/QualifiedName.cpp:
1076         * dom/QualifiedName.h:
1077         * dom/Range.cpp:
1078         * dom/Range.h:
1079         * dom/Range.idl:
1080         * dom/RangeException.h:
1081         * dom/RangeException.idl:
1082         * dom/RegisteredEventListener.cpp:
1083         * dom/RegisteredEventListener.h:
1084         * dom/StyleElement.cpp:
1085         * dom/StyleElement.h:
1086         * dom/StyledElement.cpp:
1087         * dom/StyledElement.h:
1088         * dom/Text.cpp:
1089         * dom/Text.h:
1090         * dom/Text.idl:
1091         * dom/Tokenizer.h:
1092         * dom/Traversal.cpp:
1093         * dom/Traversal.h:
1094         * dom/TreeWalker.cpp:
1095         * dom/TreeWalker.h:
1096         * dom/TreeWalker.idl:
1097         * dom/UIEvent.cpp:
1098         * dom/UIEvent.h:
1099         * dom/UIEvent.idl:
1100         * dom/UIEventWithKeyState.cpp:
1101         * dom/UIEventWithKeyState.h:
1102         * dom/WheelEvent.cpp:
1103         * dom/WheelEvent.h:
1104         * dom/WheelEvent.idl:
1105         * dom/XMLTokenizer.cpp:
1106         * dom/XMLTokenizer.h:
1107         * html/FormDataList.cpp:
1108         * html/FormDataList.h:
1109         * html/HTMLAnchorElement.cpp:
1110         * html/HTMLAnchorElement.h:
1111         * html/HTMLAnchorElement.idl:
1112         * html/HTMLAppletElement.cpp:
1113         * html/HTMLAppletElement.h:
1114         * html/HTMLAppletElement.idl:
1115         * html/HTMLAreaElement.cpp:
1116         * html/HTMLAreaElement.h:
1117         * html/HTMLAreaElement.idl:
1118         * html/HTMLBRElement.cpp:
1119         * html/HTMLBRElement.h:
1120         * html/HTMLBRElement.idl:
1121         * html/HTMLBaseElement.cpp:
1122         * html/HTMLBaseElement.h:
1123         * html/HTMLBaseElement.idl:
1124         * html/HTMLBaseFontElement.cpp:
1125         * html/HTMLBaseFontElement.h:
1126         * html/HTMLBaseFontElement.idl:
1127         * html/HTMLBlockquoteElement.cpp:
1128         * html/HTMLBlockquoteElement.h:
1129         * html/HTMLBlockquoteElement.idl:
1130         * html/HTMLBodyElement.cpp:
1131         * html/HTMLBodyElement.h:
1132         * html/HTMLBodyElement.idl:
1133         * html/HTMLButtonElement.cpp:
1134         * html/HTMLButtonElement.h:
1135         * html/HTMLButtonElement.idl:
1136         * html/HTMLCollection.cpp:
1137         * html/HTMLCollection.h:
1138         * html/HTMLCollection.idl:
1139         * html/HTMLDListElement.cpp:
1140         * html/HTMLDListElement.h:
1141         * html/HTMLDListElement.idl:
1142         * html/HTMLDirectoryElement.cpp:
1143         * html/HTMLDirectoryElement.h:
1144         * html/HTMLDirectoryElement.idl:
1145         * html/HTMLDivElement.cpp:
1146         * html/HTMLDivElement.h:
1147         * html/HTMLDivElement.idl:
1148         * html/HTMLDocument.cpp:
1149         * html/HTMLDocument.h:
1150         * html/HTMLDocument.idl:
1151         * html/HTMLElement.cpp:
1152         * html/HTMLElement.h:
1153         * html/HTMLElement.idl:
1154         * html/HTMLElementFactory.cpp:
1155         * html/HTMLElementFactory.h:
1156         * html/HTMLEmbedElement.cpp:
1157         * html/HTMLEmbedElement.h:
1158         * html/HTMLEmbedElement.idl:
1159         * html/HTMLEntityNames.gperf:
1160         * html/HTMLFieldSetElement.cpp:
1161         * html/HTMLFieldSetElement.h:
1162         * html/HTMLFieldSetElement.idl:
1163         * html/HTMLFontElement.cpp:
1164         * html/HTMLFontElement.h:
1165         * html/HTMLFontElement.idl:
1166         * html/HTMLFormCollection.cpp:
1167         * html/HTMLFormCollection.h:
1168         * html/HTMLFormElement.cpp:
1169         * html/HTMLFormElement.h:
1170         * html/HTMLFormElement.idl:
1171         * html/HTMLFrameElement.cpp:
1172         * html/HTMLFrameElement.h:
1173         * html/HTMLFrameElement.idl:
1174         * html/HTMLFrameElementBase.cpp:
1175         * html/HTMLFrameElementBase.h:
1176         * html/HTMLFrameOwnerElement.cpp:
1177         * html/HTMLFrameOwnerElement.h:
1178         * html/HTMLFrameSetElement.cpp:
1179         * html/HTMLFrameSetElement.h:
1180         * html/HTMLFrameSetElement.idl:
1181         * html/HTMLGenericFormElement.cpp:
1182         * html/HTMLGenericFormElement.h:
1183         * html/HTMLHRElement.cpp:
1184         * html/HTMLHRElement.h:
1185         * html/HTMLHRElement.idl:
1186         * html/HTMLHeadElement.cpp:
1187         * html/HTMLHeadElement.h:
1188         * html/HTMLHeadElement.idl:
1189         * html/HTMLHeadingElement.cpp:
1190         * html/HTMLHeadingElement.h:
1191         * html/HTMLHeadingElement.idl:
1192         * html/HTMLHtmlElement.cpp:
1193         * html/HTMLHtmlElement.h:
1194         * html/HTMLHtmlElement.idl:
1195         * html/HTMLIFrameElement.cpp:
1196         * html/HTMLIFrameElement.h:
1197         * html/HTMLIFrameElement.idl:
1198         * html/HTMLImageElement.cpp:
1199         * html/HTMLImageElement.h:
1200         * html/HTMLImageElement.idl:
1201         * html/HTMLImageLoader.cpp:
1202         * html/HTMLImageLoader.h:
1203         * html/HTMLInputElement.cpp:
1204         * html/HTMLInputElement.h:
1205         * html/HTMLInputElement.idl:
1206         * html/HTMLIsIndexElement.cpp:
1207         * html/HTMLIsIndexElement.h:
1208         * html/HTMLIsIndexElement.idl:
1209         * html/HTMLKeygenElement.cpp:
1210         * html/HTMLKeygenElement.h:
1211         * html/HTMLLIElement.cpp:
1212         * html/HTMLLIElement.h:
1213         * html/HTMLLIElement.idl:
1214         * html/HTMLLabelElement.cpp:
1215         * html/HTMLLabelElement.h:
1216         * html/HTMLLabelElement.idl:
1217         * html/HTMLLegendElement.cpp:
1218         * html/HTMLLegendElement.h:
1219         * html/HTMLLegendElement.idl:
1220         * html/HTMLLinkElement.cpp:
1221         * html/HTMLLinkElement.h:
1222         * html/HTMLLinkElement.idl:
1223         * html/HTMLMapElement.cpp:
1224         * html/HTMLMapElement.h:
1225         * html/HTMLMapElement.idl:
1226         * html/HTMLMarqueeElement.cpp:
1227         * html/HTMLMarqueeElement.h:
1228         * html/HTMLMarqueeElement.idl:
1229         * html/HTMLMenuElement.cpp:
1230         * html/HTMLMenuElement.h:
1231         * html/HTMLMenuElement.idl:
1232         * html/HTMLMetaElement.cpp:
1233         * html/HTMLMetaElement.h:
1234         * html/HTMLMetaElement.idl:
1235         * html/HTMLModElement.cpp:
1236         * html/HTMLModElement.h:
1237         * html/HTMLModElement.idl:
1238         * html/HTMLNameCollection.cpp:
1239         * html/HTMLNameCollection.h:
1240         * html/HTMLOListElement.cpp:
1241         * html/HTMLOListElement.h:
1242         * html/HTMLOListElement.idl:
1243         * html/HTMLObjectElement.cpp:
1244         * html/HTMLObjectElement.h:
1245         * html/HTMLObjectElement.idl:
1246         * html/HTMLOptGroupElement.cpp:
1247         * html/HTMLOptGroupElement.h:
1248         * html/HTMLOptGroupElement.idl:
1249         * html/HTMLOptionElement.cpp:
1250         * html/HTMLOptionElement.h:
1251         * html/HTMLOptionElement.idl:
1252         * html/HTMLOptionsCollection.cpp:
1253         * html/HTMLOptionsCollection.h:
1254         * html/HTMLOptionsCollection.idl:
1255         * html/HTMLParagraphElement.cpp:
1256         * html/HTMLParagraphElement.h:
1257         * html/HTMLParagraphElement.idl:
1258         * html/HTMLParamElement.cpp:
1259         * html/HTMLParamElement.h:
1260         * html/HTMLParamElement.idl:
1261         * html/HTMLParser.cpp:
1262         * html/HTMLParser.h:
1263         * html/HTMLPlugInElement.cpp:
1264         * html/HTMLPlugInElement.h:
1265         * html/HTMLPreElement.cpp:
1266         * html/HTMLPreElement.h:
1267         * html/HTMLPreElement.idl:
1268         * html/HTMLQuoteElement.cpp:
1269         * html/HTMLQuoteElement.h:
1270         * html/HTMLQuoteElement.idl:
1271         * html/HTMLScriptElement.cpp:
1272         * html/HTMLScriptElement.h:
1273         * html/HTMLScriptElement.idl:
1274         * html/HTMLSelectElement.cpp:
1275         * html/HTMLSelectElement.h:
1276         * html/HTMLSelectElement.idl:
1277         * html/HTMLStyleElement.cpp:
1278         * html/HTMLStyleElement.h:
1279         * html/HTMLStyleElement.idl:
1280         * html/HTMLTableCaptionElement.cpp:
1281         * html/HTMLTableCaptionElement.h:
1282         * html/HTMLTableCaptionElement.idl:
1283         * html/HTMLTableCellElement.cpp:
1284         * html/HTMLTableCellElement.h:
1285         * html/HTMLTableCellElement.idl:
1286         * html/HTMLTableColElement.cpp:
1287         * html/HTMLTableColElement.h:
1288         * html/HTMLTableColElement.idl:
1289         * html/HTMLTableElement.cpp:
1290         * html/HTMLTableElement.h:
1291         * html/HTMLTableElement.idl:
1292         * html/HTMLTablePartElement.cpp:
1293         * html/HTMLTablePartElement.h:
1294         * html/HTMLTableRowElement.cpp:
1295         * html/HTMLTableRowElement.h:
1296         * html/HTMLTableRowElement.idl:
1297         * html/HTMLTableSectionElement.cpp:
1298         * html/HTMLTableSectionElement.h:
1299         * html/HTMLTableSectionElement.idl:
1300         * html/HTMLTextAreaElement.cpp:
1301         * html/HTMLTextAreaElement.h:
1302         * html/HTMLTextAreaElement.idl:
1303         * html/HTMLTitleElement.cpp:
1304         * html/HTMLTitleElement.h:
1305         * html/HTMLTitleElement.idl:
1306         * html/HTMLTokenizer.cpp:
1307         * html/HTMLTokenizer.h:
1308         * html/HTMLUListElement.cpp:
1309         * html/HTMLUListElement.h:
1310         * html/HTMLUListElement.idl:
1311         * ksvg2/css/SVGCSSParser.cpp:
1312         * ksvg2/css/SVGCSSStyleSelector.cpp:
1313         * ksvg2/css/SVGRenderStyle.cpp:
1314         * ksvg2/css/SVGRenderStyle.h:
1315         * ksvg2/css/SVGRenderStyleDefs.cpp:
1316         * ksvg2/css/SVGRenderStyleDefs.h:
1317         * ksvg2/events/JSSVGLazyEventListener.cpp:
1318         * ksvg2/events/JSSVGLazyEventListener.h:
1319         * ksvg2/events/SVGZoomEvent.cpp:
1320         * ksvg2/events/SVGZoomEvent.h:
1321         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1322         * ksvg2/misc/KCanvasRenderingStyle.h:
1323         * ksvg2/misc/PointerEventsHitRules.cpp:
1324         * ksvg2/misc/PointerEventsHitRules.h:
1325         * ksvg2/misc/SVGDocumentExtensions.cpp:
1326         * ksvg2/misc/SVGDocumentExtensions.h:
1327         * ksvg2/misc/SVGImageLoader.cpp:
1328         * ksvg2/misc/SVGImageLoader.h:
1329         * ksvg2/misc/SVGTimer.cpp:
1330         * ksvg2/misc/SVGTimer.h:
1331         * ksvg2/misc/TimeScheduler.cpp:
1332         * ksvg2/misc/TimeScheduler.h:
1333         * ksvg2/scripts/cssmakeprops:
1334         * ksvg2/scripts/cssmakevalues:
1335         * ksvg2/svg/ColorDistance.cpp:
1336         * ksvg2/svg/ColorDistance.h:
1337         * ksvg2/svg/GradientAttributes.h:
1338         * ksvg2/svg/LinearGradientAttributes.h:
1339         * ksvg2/svg/PatternAttributes.h:
1340         * ksvg2/svg/RadialGradientAttributes.h:
1341         * ksvg2/svg/SVGAElement.cpp:
1342         * ksvg2/svg/SVGAElement.h:
1343         * ksvg2/svg/SVGAngle.cpp:
1344         * ksvg2/svg/SVGAngle.h:
1345         * ksvg2/svg/SVGAngle.idl:
1346         * ksvg2/svg/SVGAnimateColorElement.cpp:
1347         * ksvg2/svg/SVGAnimateColorElement.h:
1348         * ksvg2/svg/SVGAnimateElement.cpp:
1349         * ksvg2/svg/SVGAnimateElement.h:
1350         * ksvg2/svg/SVGAnimateMotionElement.cpp:
1351         * ksvg2/svg/SVGAnimateMotionElement.h:
1352         * ksvg2/svg/SVGAnimateTransformElement.cpp:
1353         * ksvg2/svg/SVGAnimateTransformElement.h:
1354         * ksvg2/svg/SVGAnimatedPathData.cpp:
1355         * ksvg2/svg/SVGAnimatedPathData.h:
1356         * ksvg2/svg/SVGAnimatedPoints.cpp:
1357         * ksvg2/svg/SVGAnimatedPoints.h:
1358         * ksvg2/svg/SVGAnimatedTemplate.h:
1359         * ksvg2/svg/SVGAnimationElement.cpp:
1360         * ksvg2/svg/SVGAnimationElement.h:
1361         * ksvg2/svg/SVGCircleElement.cpp:
1362         * ksvg2/svg/SVGCircleElement.h:
1363         * ksvg2/svg/SVGClipPathElement.cpp:
1364         * ksvg2/svg/SVGClipPathElement.h:
1365         * ksvg2/svg/SVGColor.cpp:
1366         * ksvg2/svg/SVGColor.h:
1367         * ksvg2/svg/SVGColor.idl:
1368         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1369         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
1370         * ksvg2/svg/SVGCursorElement.cpp:
1371         * ksvg2/svg/SVGCursorElement.h:
1372         * ksvg2/svg/SVGDefsElement.cpp:
1373         * ksvg2/svg/SVGDefsElement.h:
1374         * ksvg2/svg/SVGDescElement.cpp:
1375         * ksvg2/svg/SVGDescElement.h:
1376         * ksvg2/svg/SVGDocument.cpp:
1377         * ksvg2/svg/SVGDocument.h:
1378         * ksvg2/svg/SVGDocument.idl:
1379         * ksvg2/svg/SVGElement.cpp:
1380         * ksvg2/svg/SVGElement.h:
1381         * ksvg2/svg/SVGElement.idl:
1382         * ksvg2/svg/SVGElementInstance.cpp:
1383         * ksvg2/svg/SVGElementInstance.h:
1384         * ksvg2/svg/SVGElementInstanceList.cpp:
1385         * ksvg2/svg/SVGElementInstanceList.h:
1386         * ksvg2/svg/SVGEllipseElement.cpp:
1387         * ksvg2/svg/SVGEllipseElement.h:
1388         * ksvg2/svg/SVGException.h:
1389         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
1390         * ksvg2/svg/SVGExternalResourcesRequired.h:
1391         * ksvg2/svg/SVGFEBlendElement.cpp:
1392         * ksvg2/svg/SVGFEBlendElement.h:
1393         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1394         * ksvg2/svg/SVGFEColorMatrixElement.h:
1395         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1396         * ksvg2/svg/SVGFEComponentTransferElement.h:
1397         * ksvg2/svg/SVGFECompositeElement.cpp:
1398         * ksvg2/svg/SVGFECompositeElement.h:
1399         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1400         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
1401         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1402         * ksvg2/svg/SVGFEDisplacementMapElement.h:
1403         * ksvg2/svg/SVGFEDistantLightElement.cpp:
1404         * ksvg2/svg/SVGFEDistantLightElement.h:
1405         * ksvg2/svg/SVGFEFloodElement.cpp:
1406         * ksvg2/svg/SVGFEFloodElement.h:
1407         * ksvg2/svg/SVGFEFuncAElement.cpp:
1408         * ksvg2/svg/SVGFEFuncAElement.h:
1409         * ksvg2/svg/SVGFEFuncBElement.cpp:
1410         * ksvg2/svg/SVGFEFuncBElement.h:
1411         * ksvg2/svg/SVGFEFuncGElement.cpp:
1412         * ksvg2/svg/SVGFEFuncGElement.h:
1413         * ksvg2/svg/SVGFEFuncRElement.cpp:
1414         * ksvg2/svg/SVGFEFuncRElement.h:
1415         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1416         * ksvg2/svg/SVGFEGaussianBlurElement.h:
1417         * ksvg2/svg/SVGFEImageElement.cpp:
1418         * ksvg2/svg/SVGFEImageElement.h:
1419         * ksvg2/svg/SVGFELightElement.cpp:
1420         * ksvg2/svg/SVGFELightElement.h:
1421         * ksvg2/svg/SVGFEMergeElement.cpp:
1422         * ksvg2/svg/SVGFEMergeElement.h:
1423         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
1424         * ksvg2/svg/SVGFEMergeNodeElement.h:
1425         * ksvg2/svg/SVGFEOffsetElement.cpp:
1426         * ksvg2/svg/SVGFEOffsetElement.h:
1427         * ksvg2/svg/SVGFEPointLightElement.cpp:
1428         * ksvg2/svg/SVGFEPointLightElement.h:
1429         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1430         * ksvg2/svg/SVGFESpecularLightingElement.h:
1431         * ksvg2/svg/SVGFESpotLightElement.cpp:
1432         * ksvg2/svg/SVGFESpotLightElement.h:
1433         * ksvg2/svg/SVGFETileElement.cpp:
1434         * ksvg2/svg/SVGFETileElement.h:
1435         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1436         * ksvg2/svg/SVGFETurbulenceElement.h:
1437         * ksvg2/svg/SVGFilterElement.cpp:
1438         * ksvg2/svg/SVGFilterElement.h:
1439         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
1440         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
1441         * ksvg2/svg/SVGFitToViewBox.cpp:
1442         * ksvg2/svg/SVGFitToViewBox.h:
1443         * ksvg2/svg/SVGForeignObjectElement.cpp:
1444         * ksvg2/svg/SVGForeignObjectElement.h:
1445         * ksvg2/svg/SVGGElement.cpp:
1446         * ksvg2/svg/SVGGElement.h:
1447         * ksvg2/svg/SVGGradientElement.cpp:
1448         * ksvg2/svg/SVGGradientElement.h:
1449         * ksvg2/svg/SVGImageElement.cpp:
1450         * ksvg2/svg/SVGImageElement.h:
1451         * ksvg2/svg/SVGLangSpace.cpp:
1452         * ksvg2/svg/SVGLangSpace.h:
1453         * ksvg2/svg/SVGLength.cpp:
1454         * ksvg2/svg/SVGLength.h:
1455         * ksvg2/svg/SVGLength.idl:
1456         * ksvg2/svg/SVGLengthList.cpp:
1457         * ksvg2/svg/SVGLengthList.h:
1458         * ksvg2/svg/SVGLineElement.cpp:
1459         * ksvg2/svg/SVGLineElement.h:
1460         * ksvg2/svg/SVGLinearGradientElement.cpp:
1461         * ksvg2/svg/SVGLinearGradientElement.h:
1462         * ksvg2/svg/SVGList.h:
1463         * ksvg2/svg/SVGListTraits.h:
1464         * ksvg2/svg/SVGLocatable.cpp:
1465         * ksvg2/svg/SVGLocatable.h:
1466         * ksvg2/svg/SVGMPathElement.cpp:
1467         * ksvg2/svg/SVGMPathElement.h:
1468         * ksvg2/svg/SVGMarkerElement.cpp:
1469         * ksvg2/svg/SVGMarkerElement.h:
1470         * ksvg2/svg/SVGMaskElement.cpp:
1471         * ksvg2/svg/SVGMaskElement.h:
1472         * ksvg2/svg/SVGMatrix.idl:
1473         * ksvg2/svg/SVGMetadataElement.cpp:
1474         * ksvg2/svg/SVGMetadataElement.h:
1475         * ksvg2/svg/SVGMetadataElement.idl:
1476         * ksvg2/svg/SVGNumber.idl:
1477         * ksvg2/svg/SVGNumberList.cpp:
1478         * ksvg2/svg/SVGNumberList.h:
1479         * ksvg2/svg/SVGPaint.cpp:
1480         * ksvg2/svg/SVGPaint.h:
1481         * ksvg2/svg/SVGParserUtilities.cpp:
1482         * ksvg2/svg/SVGParserUtilities.h:
1483         * ksvg2/svg/SVGPathElement.cpp:
1484         * ksvg2/svg/SVGPathElement.h:
1485         * ksvg2/svg/SVGPathSeg.h:
1486         * ksvg2/svg/SVGPathSegArc.cpp:
1487         * ksvg2/svg/SVGPathSegArc.h:
1488         * ksvg2/svg/SVGPathSegClosePath.cpp:
1489         * ksvg2/svg/SVGPathSegClosePath.h:
1490         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
1491         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
1492         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
1493         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
1494         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
1495         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
1496         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
1497         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
1498         * ksvg2/svg/SVGPathSegLineto.cpp:
1499         * ksvg2/svg/SVGPathSegLineto.h:
1500         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
1501         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
1502         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
1503         * ksvg2/svg/SVGPathSegLinetoVertical.h:
1504         * ksvg2/svg/SVGPathSegList.cpp:
1505         * ksvg2/svg/SVGPathSegList.h:
1506         * ksvg2/svg/SVGPathSegMoveto.cpp:
1507         * ksvg2/svg/SVGPathSegMoveto.h:
1508         * ksvg2/svg/SVGPatternElement.cpp:
1509         * ksvg2/svg/SVGPatternElement.h:
1510         * ksvg2/svg/SVGPoint.idl:
1511         * ksvg2/svg/SVGPointList.cpp:
1512         * ksvg2/svg/SVGPointList.h:
1513         * ksvg2/svg/SVGPolyElement.cpp:
1514         * ksvg2/svg/SVGPolyElement.h:
1515         * ksvg2/svg/SVGPolygonElement.cpp:
1516         * ksvg2/svg/SVGPolygonElement.h:
1517         * ksvg2/svg/SVGPolylineElement.cpp:
1518         * ksvg2/svg/SVGPolylineElement.h:
1519         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
1520         * ksvg2/svg/SVGPreserveAspectRatio.h:
1521         * ksvg2/svg/SVGRadialGradientElement.cpp:
1522         * ksvg2/svg/SVGRadialGradientElement.h:
1523         * ksvg2/svg/SVGRect.idl:
1524         * ksvg2/svg/SVGRectElement.cpp:
1525         * ksvg2/svg/SVGRectElement.h:
1526         * ksvg2/svg/SVGRenderingIntent.h:
1527         * ksvg2/svg/SVGSVGElement.cpp:
1528         * ksvg2/svg/SVGSVGElement.h:
1529         * ksvg2/svg/SVGSVGElement.idl:
1530         * ksvg2/svg/SVGScriptElement.cpp:
1531         * ksvg2/svg/SVGScriptElement.h:
1532         * ksvg2/svg/SVGSetElement.cpp:
1533         * ksvg2/svg/SVGSetElement.h:
1534         * ksvg2/svg/SVGStopElement.cpp:
1535         * ksvg2/svg/SVGStopElement.h:
1536         * ksvg2/svg/SVGStringList.cpp:
1537         * ksvg2/svg/SVGStringList.h:
1538         * ksvg2/svg/SVGStylable.cpp:
1539         * ksvg2/svg/SVGStylable.h:
1540         * ksvg2/svg/SVGStyleElement.cpp:
1541         * ksvg2/svg/SVGStyleElement.h:
1542         * ksvg2/svg/SVGStyledElement.cpp:
1543         * ksvg2/svg/SVGStyledElement.h:
1544         * ksvg2/svg/SVGStyledLocatableElement.cpp:
1545         * ksvg2/svg/SVGStyledLocatableElement.h:
1546         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1547         * ksvg2/svg/SVGStyledTransformableElement.h:
1548         * ksvg2/svg/SVGSwitchElement.cpp:
1549         * ksvg2/svg/SVGSwitchElement.h:
1550         * ksvg2/svg/SVGSymbolElement.cpp:
1551         * ksvg2/svg/SVGSymbolElement.h:
1552         * ksvg2/svg/SVGTRefElement.cpp:
1553         * ksvg2/svg/SVGTRefElement.h:
1554         * ksvg2/svg/SVGTSpanElement.cpp:
1555         * ksvg2/svg/SVGTSpanElement.h:
1556         * ksvg2/svg/SVGTests.cpp:
1557         * ksvg2/svg/SVGTests.h:
1558         * ksvg2/svg/SVGTextContentElement.cpp:
1559         * ksvg2/svg/SVGTextContentElement.h:
1560         * ksvg2/svg/SVGTextElement.cpp:
1561         * ksvg2/svg/SVGTextElement.h:
1562         * ksvg2/svg/SVGTextPositioningElement.cpp:
1563         * ksvg2/svg/SVGTextPositioningElement.h:
1564         * ksvg2/svg/SVGTitleElement.cpp:
1565         * ksvg2/svg/SVGTitleElement.h:
1566         * ksvg2/svg/SVGTransform.cpp:
1567         * ksvg2/svg/SVGTransform.h:
1568         * ksvg2/svg/SVGTransform.idl:
1569         * ksvg2/svg/SVGTransformDistance.cpp:
1570         * ksvg2/svg/SVGTransformDistance.h:
1571         * ksvg2/svg/SVGTransformList.cpp:
1572         * ksvg2/svg/SVGTransformList.h:
1573         * ksvg2/svg/SVGTransformable.cpp:
1574         * ksvg2/svg/SVGTransformable.h:
1575         * ksvg2/svg/SVGURIReference.cpp:
1576         * ksvg2/svg/SVGURIReference.h:
1577         * ksvg2/svg/SVGUnitTypes.h:
1578         * ksvg2/svg/SVGUseElement.cpp:
1579         * ksvg2/svg/SVGUseElement.h:
1580         * ksvg2/svg/SVGViewElement.cpp:
1581         * ksvg2/svg/SVGViewElement.h:
1582         * ksvg2/svg/SVGZoomAndPan.cpp:
1583         * ksvg2/svg/SVGZoomAndPan.h:
1584         * loader/Cache.cpp:
1585         * loader/Cache.h:
1586         * loader/CachedCSSStyleSheet.cpp:
1587         * loader/CachedCSSStyleSheet.h:
1588         * loader/CachedImage.cpp:
1589         * loader/CachedImage.h:
1590         * loader/CachedResource.cpp:
1591         * loader/CachedResource.h:
1592         * loader/CachedResourceClient.h:
1593         * loader/CachedResourceClientWalker.cpp:
1594         * loader/CachedResourceClientWalker.h:
1595         * loader/CachedScript.cpp:
1596         * loader/CachedScript.h:
1597         * loader/CachedXBLDocument.cpp:
1598         * loader/CachedXBLDocument.h:
1599         * loader/CachedXSLStyleSheet.cpp:
1600         * loader/CachedXSLStyleSheet.h:
1601         * loader/DocLoader.cpp:
1602         * loader/DocLoader.h:
1603         * loader/FTPDirectoryParser.cpp:
1604         * loader/FTPDirectoryParser.h:
1605         * loader/Request.cpp:
1606         * loader/Request.h:
1607         * loader/TextResourceDecoder.cpp:
1608         * loader/TextResourceDecoder.h:
1609         * loader/loader.cpp:
1610         * loader/loader.h:
1611         * page/Chrome.cpp:
1612         * page/Chrome.h:
1613         * page/ChromeClient.h:
1614         * page/Frame.cpp:
1615         * page/Frame.h:
1616         * page/FramePrivate.h:
1617         * page/FrameTree.cpp:
1618         * page/FrameTree.h:
1619         * page/FrameView.cpp:
1620         * page/FrameView.h:
1621         * page/MouseEventWithHitTestResults.cpp:
1622         * page/MouseEventWithHitTestResults.h:
1623         * page/Page.cpp:
1624         * page/Page.h:
1625         * page/Plugin.h:
1626         * page/mac/ChromeMac.mm:
1627         * platform/Arena.cpp:
1628         * platform/Arena.h:
1629         * platform/AtomicString.cpp:
1630         * platform/AtomicString.h:
1631         * platform/AtomicStringImpl.h:
1632         * platform/BidiContext.cpp:
1633         * platform/BidiContext.h:
1634         * platform/BidiResolver.h:
1635         * platform/Font.cpp:
1636         * platform/Font.h:
1637         * platform/FontData.h:
1638         * platform/FontDescription.h:
1639         * platform/FontFallbackList.h:
1640         * platform/PlatformString.h:
1641         * platform/PopupMenu.h:
1642         * platform/PopupMenuClient.h:
1643         * platform/SearchPopupMenu.h:
1644         * platform/SegmentedString.cpp:
1645         * platform/SegmentedString.h:
1646         * platform/Shared.h:
1647         * platform/StaticConstructors.h:
1648         * platform/String.cpp:
1649         * platform/StringHash.h:
1650         * platform/StringImpl.cpp:
1651         * platform/StringImpl.h:
1652         * platform/TextBreakIterator.h:
1653         * platform/TextBreakIteratorICU.cpp:
1654         * platform/TextBreakIteratorInternalICU.h:
1655         * platform/TextStyle.h:
1656         * platform/UnicodeRange.cpp:
1657         * platform/UnicodeRange.h:
1658         * platform/cf/StringCF.cpp:
1659         * platform/cf/StringImplCF.cpp:
1660         * platform/graphics/FloatPoint3D.cpp:
1661         * platform/graphics/FloatPoint3D.h:
1662         * platform/graphics/Icon.h:
1663         * platform/graphics/IntSizeHash.h:
1664         * platform/graphics/PathTraversalState.cpp:
1665         * platform/graphics/cairo/CairoPath.h:
1666         * platform/graphics/cairo/PathCairo.cpp:
1667         * platform/graphics/mac/IconMac.mm:
1668         * platform/graphics/qt/IconQt.cpp:
1669         * platform/graphics/svg/SVGResourceFilter.cpp:
1670         * platform/graphics/svg/SVGResourceFilter.h:
1671         * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
1672         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1673         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
1674         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
1675         * platform/graphics/svg/filters/SVGDistantLightSource.h:
1676         * platform/graphics/svg/filters/SVGFEBlend.cpp:
1677         * platform/graphics/svg/filters/SVGFEBlend.h:
1678         * platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
1679         * platform/graphics/svg/filters/SVGFEColorMatrix.h:
1680         * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
1681         * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
1682         * platform/graphics/svg/filters/SVGFEComposite.cpp:
1683         * platform/graphics/svg/filters/SVGFEComposite.h:
1684         * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
1685         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
1686         * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
1687         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
1688         * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
1689         * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
1690         * platform/graphics/svg/filters/SVGFEFlood.cpp:
1691         * platform/graphics/svg/filters/SVGFEFlood.h:
1692         * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
1693         * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
1694         * platform/graphics/svg/filters/SVGFEImage.cpp:
1695         * platform/graphics/svg/filters/SVGFEImage.h:
1696         * platform/graphics/svg/filters/SVGFEMerge.cpp:
1697         * platform/graphics/svg/filters/SVGFEMerge.h:
1698         * platform/graphics/svg/filters/SVGFEMorphology.cpp:
1699         * platform/graphics/svg/filters/SVGFEMorphology.h:
1700         * platform/graphics/svg/filters/SVGFEOffset.cpp:
1701         * platform/graphics/svg/filters/SVGFEOffset.h:
1702         * platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
1703         * platform/graphics/svg/filters/SVGFESpecularLighting.h:
1704         * platform/graphics/svg/filters/SVGFETile.h:
1705         * platform/graphics/svg/filters/SVGFETurbulence.cpp:
1706         * platform/graphics/svg/filters/SVGFETurbulence.h:
1707         * platform/graphics/svg/filters/SVGFilterEffect.cpp:
1708         * platform/graphics/svg/filters/SVGFilterEffect.h:
1709         * platform/graphics/svg/filters/SVGLightSource.cpp:
1710         * platform/graphics/svg/filters/SVGLightSource.h:
1711         * platform/graphics/svg/filters/SVGPointLightSource.h:
1712         * platform/graphics/svg/filters/SVGSpotLightSource.h:
1713         * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm:
1714         * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm:
1715         * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm:
1716         * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm:
1717         * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm:
1718         * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm:
1719         * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm:
1720         * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm:
1721         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
1722         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm:
1723         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
1724         * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm:
1725         * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm:
1726         * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm:
1727         * platform/graphics/svg/filters/cg/SVGFETileCg.mm:
1728         * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm:
1729         * platform/graphics/svg/qt/RenderPathQt.cpp:
1730         * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp:
1731         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
1732         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
1733         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
1734         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
1735         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
1736         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
1737         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
1738         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
1739         * platform/graphics/win/IconWin.cpp:
1740         * platform/gtk/FontPlatformData.h:
1741         * platform/gtk/FontPlatformDataGtk.cpp:
1742         * platform/gtk/PopupMenuGtk.cpp:
1743         * platform/gtk/RenderThemeGtk.cpp:
1744         * platform/gtk/RenderThemeGtk.h:
1745         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1746         * platform/image-decoders/png/PNGImageDecoder.cpp:
1747         * platform/mac/FontMac.mm:
1748         * platform/mac/FontPlatformData.h:
1749         * platform/mac/LocalCurrentGraphicsContext.h:
1750         * platform/mac/LocalCurrentGraphicsContext.mm:
1751         * platform/mac/PopupMenuMac.mm:
1752         * platform/mac/SearchPopupMenuMac.mm:
1753         * platform/mac/StringImplMac.mm:
1754         * platform/mac/StringMac.mm:
1755         * platform/mac/TextBreakIteratorInternalICUMac.mm:
1756         * platform/network/FormData.cpp:
1757         * platform/network/FormData.h:
1758         * platform/qt/FileChooserQt.cpp:
1759         * platform/qt/FontQt.cpp:
1760         * platform/qt/MenuEventProxy.h:
1761         * platform/qt/PlugInInfoStoreQt.cpp:
1762         * platform/qt/PopupMenuQt.cpp:
1763         * platform/qt/QWebPopup.cpp:
1764         * platform/qt/QWebPopup.h:
1765         * platform/qt/RenderThemeQt.cpp:
1766         * platform/qt/RenderThemeQt.h:
1767         * platform/qt/SearchPopupMenuQt.cpp:
1768         * platform/qt/TextBreakIteratorQt.cpp:
1769         * platform/qt/WheelEventQt.cpp:
1770         * platform/win/FontPlatformData.h:
1771         * platform/win/FontPlatformDataWin.cpp:
1772         * platform/win/PopupMenuWin.cpp:
1773         * platform/win/SearchPopupMenuWin.cpp:
1774         * platform/win/TextBreakIteratorInternalICUWin.cpp:
1775         * rendering/AutoTableLayout.cpp:
1776         * rendering/AutoTableLayout.h:
1777         * rendering/CounterNode.cpp:
1778         * rendering/CounterNode.h:
1779         * rendering/DataRef.h:
1780         * rendering/EllipsisBox.cpp:
1781         * rendering/EllipsisBox.h:
1782         * rendering/FixedTableLayout.cpp:
1783         * rendering/FixedTableLayout.h:
1784         * rendering/GapRects.h:
1785         * rendering/HitTestRequest.h:
1786         * rendering/HitTestResult.cpp:
1787         * rendering/HitTestResult.h:
1788         * rendering/InlineBox.cpp:
1789         * rendering/InlineBox.h:
1790         * rendering/InlineFlowBox.cpp:
1791         * rendering/InlineFlowBox.h:
1792         * rendering/InlineRunBox.h:
1793         * rendering/InlineTextBox.cpp:
1794         * rendering/InlineTextBox.h:
1795         * rendering/Length.h:
1796         * rendering/ListMarkerBox.cpp:
1797         * rendering/ListMarkerBox.h:
1798         * rendering/RenderApplet.cpp:
1799         * rendering/RenderApplet.h:
1800         * rendering/RenderArena.cpp:
1801         * rendering/RenderArena.h:
1802         * rendering/RenderBR.cpp:
1803         * rendering/RenderBR.h:
1804         * rendering/RenderBlock.cpp:
1805         * rendering/RenderBlock.h:
1806         * rendering/RenderBox.cpp:
1807         * rendering/RenderBox.h:
1808         * rendering/RenderButton.cpp:
1809         * rendering/RenderButton.h:
1810         * rendering/RenderContainer.cpp:
1811         * rendering/RenderContainer.h:
1812         * rendering/RenderCounter.cpp:
1813         * rendering/RenderCounter.h:
1814         * rendering/RenderFieldset.cpp:
1815         * rendering/RenderFieldset.h:
1816         * rendering/RenderFileUploadControl.cpp:
1817         * rendering/RenderFileUploadControl.h:
1818         * rendering/RenderFlexibleBox.cpp:
1819         * rendering/RenderFlexibleBox.h:
1820         * rendering/RenderFlow.cpp:
1821         * rendering/RenderFlow.h:
1822         * rendering/RenderForeignObject.cpp:
1823         * rendering/RenderForeignObject.h:
1824         * rendering/RenderFrame.cpp:
1825         * rendering/RenderFrame.h:
1826         * rendering/RenderFrameSet.cpp:
1827         * rendering/RenderFrameSet.h:
1828         * rendering/RenderImage.cpp:
1829         * rendering/RenderImage.h:
1830         * rendering/RenderInline.cpp:
1831         * rendering/RenderInline.h:
1832         * rendering/RenderLayer.cpp:
1833         * rendering/RenderLayer.h:
1834         * rendering/RenderLegend.cpp:
1835         * rendering/RenderLegend.h:
1836         * rendering/RenderListItem.cpp:
1837         * rendering/RenderListItem.h:
1838         * rendering/RenderListMarker.cpp:
1839         * rendering/RenderListMarker.h:
1840         * rendering/RenderMenuList.cpp:
1841         * rendering/RenderMenuList.h:
1842         * rendering/RenderObject.cpp:
1843         * rendering/RenderObject.h:
1844         * rendering/RenderPart.cpp:
1845         * rendering/RenderPart.h:
1846         * rendering/RenderPartObject.cpp:
1847         * rendering/RenderPartObject.h:
1848         * rendering/RenderPath.cpp:
1849         * rendering/RenderPath.h:
1850         * rendering/RenderReplaced.cpp:
1851         * rendering/RenderReplaced.h:
1852         * rendering/RenderSVGBlock.cpp:
1853         * rendering/RenderSVGBlock.h:
1854         * rendering/RenderSVGContainer.cpp:
1855         * rendering/RenderSVGContainer.h:
1856         * rendering/RenderSVGGradientStop.cpp:
1857         * rendering/RenderSVGGradientStop.h:
1858         * rendering/RenderSVGHiddenContainer.cpp:
1859         * rendering/RenderSVGHiddenContainer.h:
1860         * rendering/RenderSVGImage.cpp:
1861         * rendering/RenderSVGImage.h:
1862         * rendering/RenderSVGInline.cpp:
1863         * rendering/RenderSVGInline.h:
1864         * rendering/RenderSVGInlineText.cpp:
1865         * rendering/RenderSVGInlineText.h:
1866         * rendering/RenderSVGTSpan.cpp:
1867         * rendering/RenderSVGTSpan.h:
1868         * rendering/RenderSVGText.cpp:
1869         * rendering/RenderSVGText.h:
1870         * rendering/RenderSlider.cpp:
1871         * rendering/RenderSlider.h:
1872         * rendering/RenderStyle.cpp:
1873         * rendering/RenderStyle.h:
1874         * rendering/RenderTable.cpp:
1875         * rendering/RenderTable.h:
1876         * rendering/RenderTableCell.cpp:
1877         * rendering/RenderTableCell.h:
1878         * rendering/RenderTableCol.cpp:
1879         * rendering/RenderTableCol.h:
1880         * rendering/RenderTableRow.cpp:
1881         * rendering/RenderTableRow.h:
1882         * rendering/RenderTableSection.cpp:
1883         * rendering/RenderTableSection.h:
1884         * rendering/RenderText.cpp:
1885         * rendering/RenderText.h:
1886         * rendering/RenderTextControl.cpp:
1887         * rendering/RenderTextControl.h:
1888         * rendering/RenderTextFragment.cpp:
1889         * rendering/RenderTextFragment.h:
1890         * rendering/RenderTheme.cpp:
1891         * rendering/RenderTheme.h:
1892         * rendering/RenderThemeMac.h:
1893         * rendering/RenderThemeMac.mm:
1894         * rendering/RenderThemeSafari.cpp:
1895         * rendering/RenderThemeSafari.h:
1896         * rendering/RenderThemeWin.cpp:
1897         * rendering/RenderThemeWin.h:
1898         * rendering/RenderView.cpp:
1899         * rendering/RenderView.h:
1900         * rendering/RenderWidget.cpp:
1901         * rendering/RenderWidget.h:
1902         * rendering/RootInlineBox.cpp:
1903         * rendering/RootInlineBox.h:
1904         * rendering/SVGInlineFlowBox.cpp:
1905         * rendering/SVGInlineFlowBox.h:
1906         * rendering/SVGInlineTextBox.cpp:
1907         * rendering/SVGInlineTextBox.h:
1908         * rendering/SVGRootInlineBox.cpp:
1909         * rendering/SVGRootInlineBox.h:
1910         * rendering/TableLayout.h:
1911         * rendering/bidi.cpp:
1912         * rendering/bidi.h:
1913         * rendering/break_lines.cpp:
1914         * rendering/break_lines.h:
1915         * xml/DOMParser.cpp:
1916         * xml/DOMParser.h:
1917         * xml/DOMParser.idl:
1918         * xml/XMLHttpRequest.cpp:
1919         * xml/XMLHttpRequest.h:
1920         * xml/XMLSerializer.cpp:
1921         * xml/XMLSerializer.h:
1922         * xml/XMLSerializer.idl:
1923         * xml/XPathEvaluator.idl:
1924         * xml/XPathExpression.idl:
1925         * xml/XPathNSResolver.idl:
1926         * xml/XPathResult.idl:
1927         * xml/XSLImportRule.cpp:
1928         * xml/XSLImportRule.h:
1929         * xml/XSLStyleSheet.cpp:
1930         * xml/XSLStyleSheet.h:
1931         * xml/XSLTProcessor.cpp:
1932         * xml/XSLTProcessor.h:
1933
1934 2007-09-25  Darin Adler  <darin@apple.com>
1935
1936         Reviewed by Harrison.
1937
1938         - fix <rdar://problem/5503225> CrashTracer: [USER] 2 crashes in Dashcode
1939           at com.apple.WebCore: WebCore::Frame::document const + 0
1940
1941         * page/FrameView.cpp: (WebCore::FrameView::updateControlTints):
1942         Added null check.
1943
1944 2007-09-25  Beth Dakin  <bdakin@apple.com>
1945
1946         Reviewed by Darin.
1947
1948         Fixes http://bugs.webkit.org/show_bug.cgi?id=15282 r25726 caused 
1949         plugins/mouse-events.html to fail
1950
1951         * page/FrameView.cpp:
1952         (WebCore::FrameView::layout): We need to call 
1953         updateWidgetPosition() after updating each widget.
1954
1955 2007-09-25  Anders Carlsson  <andersca@apple.com>
1956
1957         Build fix.
1958         
1959         * page/Chrome.cpp:
1960         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1961
1962 2007-09-25  Anders Carlsson  <andersca@apple.com>
1963
1964         Reviewed by Geoff.
1965
1966         <rdar://problem/5283916>
1967         JavaScript timers may be firing while JavaScript alerts are displayed.
1968         
1969         Pause JavaScript timeouts while calling UI delegate methods that might show dialogs.
1970         
1971         * page/Chrome.cpp:
1972         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1973         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
1974
1975 2007-09-26  Holger Hans Peter Freyther  <zecke@selfish.org>
1976
1977         Reviewed by Anders.
1978
1979         Implement PopupMenu using GtkMenu.
1980
1981         * platform/PopupMenu.h:
1982         * platform/gtk/PopupMenuGtk.cpp:
1983         (WebCore::PopupMenu::PopupMenu):
1984         (WebCore::PopupMenu::~PopupMenu):
1985         (WebCore::PopupMenu::show):
1986         (WebCore::PopupMenu::hide):
1987         (WebCore::PopupMenu::updateFromElement):
1988         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
1989         (WebCore::PopupMenu::menuItemActivated):
1990         (WebCore::PopupMenu::menuUnmapped):
1991         (WebCore::PopupMenu::menuPositionFunction):
1992         (WebCore::PopupMenu::menuRemoveItem):
1993
1994 2007-09-23  Holger Hans Peter Freyther  <zecke@selfish.org>
1995
1996         Rubber stamped by Mark.
1997
1998         Obey the Coding-Style and move the asterisk to the
1999         left to be part of the type.
2000
2001         * platform/gtk/RenderThemeGtk.h:
2002
2003 2007-09-25  Beth Dakin  <bdakin@apple.com>
2004
2005         Reviewed by Darin.
2006
2007         Fix for <rdar://problem/5466459> CrashTracer: [USER] 1 crash in 
2008         NetNewsWire at com.apple.WebCore: WebCore::bidiNext + 485 (15241)
2009
2010         Mitz discovered that this crash appeared because r25128 made it 
2011         possible for RenderPartObject::updateWidget() to be called during 
2012         layout. updateWidget() can, through a series of calls, cause an 
2013         attach/detach to happen, which is very bad in the middle of a 
2014         layout and is what led to this crash. This patch fixes that by 
2015         having the FrameView keep track of a queue of RenderPartObjects 
2016         that need to call updateWidget(), and it goes through the queue 
2017         calling updateWidget() as soon as layout is done.
2018
2019         * page/FrameView.cpp: We only want to call updateWidget() if we are 
2020         not in a nested layout. Unfortunately, the existing variables on 
2021         FrameViewPrivate do not have exactly the information that we need, 
2022         so I added nestedLayoutCount.
2023         (WebCore::FrameViewPrivate::reset): Reset nestedLayoutCount.
2024         (WebCore::FrameView::layout): Increment nestedLayoutCount once we 
2025         have gotten through all of the early returns. Call updateWidget() 
2026         after layout is nestedLayoutCount is 1 and there are widgets to 
2027         update. Decrement nestedLayoutCount at the end.
2028         (WebCore::FrameView::addWidgetToUpdate):
2029         (WebCore::FrameView::removeWidgetToUpdate):
2030         * page/FrameView.h:
2031         * rendering/RenderPartObject.cpp:
2032         (WebCore::RenderPartObject::~RenderPartObject): Remove this from 
2033         the FrameView's update set.
2034         (WebCore::RenderPartObject::layout): Instead of calling 
2035         updateWidget() immediately, add this to the update widget set on 
2036         FrameView.
2037         * rendering/RenderPartObject.h:
2038
2039 2007-09-25  David Kilzer  <ddkilzer@webkit.org>
2040
2041         Reviewed by Mark Rowe.
2042
2043         - fix http://bugs.webkit.org/show_bug.cgi?id=15275
2044           SVG dependency on WebCore/dom/XMLTokenizer.cpp
2045
2046         * dom/XMLTokenizer.cpp: Moved #include "SVGStyleElement.h" into #if ENABLE(SVG).
2047
2048 2007-09-25  Justin Garcia  <justin.garcia@apple.com>
2049
2050         Reviewed by Darin.
2051
2052         <rdar://problem/5483567> 
2053         REGRESSION (Tiger only, workaround in AppKit on Leopard): Pasting words copied from TextEdit in Mail adds extra newline
2054         
2055         * editing/ReplaceSelectionCommand.cpp:
2056         (WebCore::ReplaceSelectionCommand::removeUnrenderedNodes): Added.
2057         (WebCore::ReplaceSelectionCommand::doApply): Call removeUnrenderedNodes
2058         to prevent unrendered spaces from interfering with paragraph merging.
2059         * editing/ReplaceSelectionCommand.h:
2060
2061 2007-09-24  Steve Falkenburg  <sfalken@apple.com>
2062
2063         Reviewed by Darin.
2064
2065         - fix <rdar://problem/5502513>
2066
2067         * platform/win/FontCacheWin.cpp:
2068         (WebCore::FontCache::getFontLinkInterface):
2069         Roll back this file; the old code leaked a global COM object, but that's
2070         no big deal and the new code caused a crash on quit.
2071
2072 2007-09-24  Anders Carlsson  <andersca@apple.com>
2073
2074         Reviewed by Adam.
2075
2076         <rdar://problem/5494608>
2077         Seed: Safari will follow links in Flash movies without clicking.
2078
2079         Make sure to handle mouseover and mouseout so the plug-in can track when the mouse is over it.
2080                 
2081         * plugins/win/PluginViewWin.cpp:
2082         (WebCore::PluginViewWin::handleMouseEvent):
2083
2084 2007-09-24  Mike Fenton  <mike@staikos.net>
2085
2086         Reviewed by George Staikos.
2087
2088         Switch to using a QImage instead of a QPixmap to make transparency work.
2089
2090         * html/CanvasRenderingContext2D.cpp:
2091         (WebCore::CanvasRenderingContext2D::drawImage):
2092         * html/HTMLCanvasElement.cpp:
2093         (WebCore::HTMLCanvasElement::paint):
2094         (WebCore::HTMLCanvasElement::createDrawingContext):
2095         (WebCore::HTMLCanvasElement::createPlatformImage):
2096         * html/HTMLCanvasElement.h:
2097
2098 2007-09-21  Kevin McCullough  <kmccullough@apple.com>
2099
2100         Reviewed by Sam.
2101
2102         - Updated project files to not use Edit and Continue for Debug Information since it doesn't work and breaks some functionality.
2103
2104         * WebCore.vcproj/WebCore.vcproj:
2105
2106 2007-09-24  Brady Eidson  <beidson@apple.com>
2107
2108         Reviewed by John Sullivan
2109
2110         * loader/icon/IconDatabase.cpp:
2111         (WebCore::IconDatabase::iconForPageURL): Assert the page url is non-null
2112
2113 2007-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
2114
2115         Rubber stamped by Adam.
2116
2117         Renamed files from *Gdk to *Gtk (see #14732) using the
2118         work of Juan A. Suarez Romero as a base.
2119
2120         GDK -> GTK
2121
2122         * Projects/gdk/webcore-gdk.bkl:
2123         * WebCore.pro:
2124         * WebCoreSources.bkl:
2125         * loader/gdk: Removed.
2126         * loader/gdk/DocumentLoaderGdk.cpp: Removed.
2127         * loader/gtk: Added.
2128         * loader/gtk/DocumentLoaderGdk.cpp: Removed.
2129         * loader/gtk/DocumentLoaderGtk.cpp: Added.
2130         * page/FrameView.cpp:
2131         * page/FrameView.h:
2132         * page/gdk: Removed.
2133         * page/gdk/DragControllerGdk.cpp: Removed.
2134         * page/gdk/EventHandlerGdk.cpp: Removed.
2135         * page/gdk/FrameGdk.cpp: Removed.
2136         * page/gtk: Added.
2137         * page/gtk/DragControllerGdk.cpp: Removed.
2138         * page/gtk/DragControllerGtk.cpp: Added.
2139         * page/gtk/EventHandlerGdk.cpp: Removed.
2140         * page/gtk/EventHandlerGtk.cpp: Added.
2141         (WebCore::EventHandler::createDraggingClipboard):
2142         * page/gtk/FrameGdk.cpp: Removed.
2143         * page/gtk/FrameGtk.cpp: Added.
2144         * platform/ContextMenuItem.h:
2145         * platform/Cursor.h:
2146         * platform/DragData.h:
2147         * platform/DragImage.h:
2148         * platform/FontData.h:
2149         * platform/NotImplemented.h:
2150         * platform/PlatformKeyboardEvent.h:
2151         * platform/PlatformMenuDescription.h:
2152         * platform/PlatformMouseEvent.h:
2153         * platform/PlatformWheelEvent.h:
2154         * platform/ScrollView.h:
2155         * platform/Widget.h:
2156         * platform/gdk: Removed.
2157         * platform/gdk/ClipboardGdk.cpp: Removed.
2158         * platform/gdk/ClipboardGdk.h: Removed.
2159         * platform/gdk/ContextMenuGdk.cpp: Removed.
2160         * platform/gdk/ContextMenuItemGdk.cpp: Removed.
2161         * platform/gdk/CookieJarGdk.cpp: Removed.
2162         * platform/gdk/CursorGdk.cpp: Removed.
2163         * platform/gdk/DragDataGdk.cpp: Removed.
2164         * platform/gdk/DragImageGdk.cpp: Removed.
2165         * platform/gdk/FileChooserGdk.cpp: Removed.
2166         * platform/gdk/FileSystemGdk.cpp: Removed.
2167         * platform/gdk/FontCacheGdk.cpp: Removed.
2168         * platform/gdk/FontDataGdk.cpp: Removed.
2169         * platform/gdk/FontGdk.cpp: Removed.
2170         * platform/gdk/FontPlatformData.h: Removed.
2171         * platform/gdk/FontPlatformDataGdk.cpp: Removed.
2172         * platform/gdk/GlyphPageTreeNodeGdk.cpp: Removed.
2173         * platform/gdk/KeyEventGdk.cpp: Removed.
2174         * platform/gdk/KeyboardCodes.h: Removed.
2175         * platform/gdk/LocalizedStringsGdk.cpp: Removed.
2176         * platform/gdk/LoggingGdk.cpp: Removed.
2177         * platform/gdk/MIMETypeRegistryGdk.cpp: Removed.
2178         * platform/gdk/MouseEventGdk.cpp: Removed.
2179         * platform/gdk/PasteboardGdk.cpp: Removed.
2180         * platform/gdk/PlatformScreenGdk.cpp: Removed.
2181         * platform/gdk/PlatformScrollBar.h: Removed.
2182         * platform/gdk/PlatformScrollBarGdk.cpp: Removed.
2183         * platform/gdk/PopupMenuGdk.cpp: Removed.
2184         * platform/gdk/RenderThemeGdk.cpp: Removed.
2185         * platform/gdk/RenderThemeGdk.h: Removed.
2186         * platform/gdk/ScrollViewGdk.cpp: Removed.
2187         * platform/gdk/SearchPopupMenuGdk.cpp: Removed.
2188         * platform/gdk/SharedTimerLinux.cpp: Removed.
2189         * platform/gdk/SoundGdk.cpp: Removed.
2190         * platform/gdk/SystemTimeLinux.cpp: Removed.
2191         * platform/gdk/TemporaryLinkStubs.cpp: Removed.
2192         * platform/gdk/WheelEventGdk.cpp: Removed.
2193         * platform/gdk/WidgetGdk.cpp: Removed.
2194         * platform/graphics/GraphicsContext.h:
2195         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2196         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2197         (WebCore::GraphicsContext::setPlatformFont):
2198         * platform/graphics/gdk: Removed.
2199         * platform/graphics/gdk/IconGdk.cpp: Removed.
2200         * platform/graphics/gdk/ImageGdk.cpp: Removed.
2201         * platform/graphics/gtk: Added.
2202         * platform/graphics/gtk/IconGdk.cpp: Removed.
2203         * platform/graphics/gtk/IconGtk.cpp: Added.
2204         * platform/graphics/gtk/ImageGdk.cpp: Removed.
2205         * platform/graphics/gtk/ImageGtk.cpp: Added.
2206         * platform/gtk: Added.
2207         * platform/gtk/ClipboardGdk.cpp: Removed.
2208         * platform/gtk/ClipboardGdk.h: Removed.
2209         * platform/gtk/ClipboardGtk.cpp: Added.
2210         (WebCore::ClipboardGtk::ClipboardGtk):
2211         (WebCore::ClipboardGtk::~ClipboardGtk):
2212         (WebCore::ClipboardGtk::clearData):
2213         (WebCore::ClipboardGtk::clearAllData):
2214         (WebCore::ClipboardGtk::getData):
2215         (WebCore::ClipboardGtk::setData):
2216         (WebCore::ClipboardGtk::types):
2217         (WebCore::ClipboardGtk::dragLocation):
2218         (WebCore::ClipboardGtk::dragImage):
2219         (WebCore::ClipboardGtk::setDragImage):
2220         (WebCore::ClipboardGtk::dragImageElement):
2221         (WebCore::ClipboardGtk::setDragImageElement):
2222         (WebCore::ClipboardGtk::createDragImage):
2223         (WebCore::ClipboardGtk::declareAndWriteDragImage):
2224         (WebCore::ClipboardGtk::writeURL):
2225         (WebCore::ClipboardGtk::writeRange):
2226         (WebCore::ClipboardGtk::hasData):
2227         * platform/gtk/ClipboardGtk.h: Added.
2228         * platform/gtk/ContextMenuGdk.cpp: Removed.
2229         * platform/gtk/ContextMenuGtk.cpp: Added.
2230         * platform/gtk/ContextMenuItemGdk.cpp: Removed.
2231         * platform/gtk/ContextMenuItemGtk.cpp: Added.
2232         * platform/gtk/CookieJarGdk.cpp: Removed.
2233         * platform/gtk/CookieJarGtk.cpp: Added.
2234         * platform/gtk/CursorGdk.cpp: Removed.
2235         * platform/gtk/CursorGtk.cpp: Added.
2236         * platform/gtk/DragDataGdk.cpp: Removed.
2237         * platform/gtk/DragDataGtk.cpp: Added.
2238         * platform/gtk/DragImageGdk.cpp: Removed.
2239         * platform/gtk/DragImageGtk.cpp: Added.
2240         * platform/gtk/FileChooserGdk.cpp: Removed.
2241         * platform/gtk/FileChooserGtk.cpp: Added.
2242         * platform/gtk/FileSystemGdk.cpp: Removed.
2243         * platform/gtk/FileSystemGtk.cpp: Added.
2244         * platform/gtk/FontCacheGdk.cpp: Removed.
2245         * platform/gtk/FontCacheGtk.cpp: Added.
2246         * platform/gtk/FontDataGdk.cpp: Removed.
2247         * platform/gtk/FontDataGtk.cpp: Added.
2248         * platform/gtk/FontGdk.cpp: Removed.
2249         * platform/gtk/FontGtk.cpp: Added.
2250         * platform/gtk/FontPlatformDataGdk.cpp: Removed.
2251         * platform/gtk/FontPlatformDataGtk.cpp: Added.
2252         * platform/gtk/GlyphPageTreeNodeGdk.cpp: Removed.
2253         * platform/gtk/GlyphPageTreeNodeGtk.cpp: Added.
2254         * platform/gtk/KeyEventGdk.cpp: Removed.
2255         * platform/gtk/KeyEventGtk.cpp: Added.
2256         * platform/gtk/LocalizedStringsGdk.cpp: Removed.
2257         * platform/gtk/LocalizedStringsGtk.cpp: Added.
2258         * platform/gtk/LoggingGdk.cpp: Removed.
2259         * platform/gtk/LoggingGtk.cpp: Added.
2260         * platform/gtk/MIMETypeRegistryGdk.cpp: Removed.
2261         * platform/gtk/MIMETypeRegistryGtk.cpp: Added.
2262         * platform/gtk/MouseEventGdk.cpp: Removed.
2263         * platform/gtk/MouseEventGtk.cpp: Added.
2264         * platform/gtk/PasteboardGdk.cpp: Removed.
2265         * platform/gtk/PasteboardGtk.cpp: Added.
2266         * platform/gtk/PlatformScreenGdk.cpp: Removed.
2267         * platform/gtk/PlatformScreenGtk.cpp: Added.
2268         * platform/gtk/PlatformScrollBarGdk.cpp: Removed.
2269         * platform/gtk/PlatformScrollBarGtk.cpp: Added.
2270         * platform/gtk/PopupMenuGdk.cpp: Removed.
2271         * platform/gtk/PopupMenuGtk.cpp: Added.
2272         * platform/gtk/RenderThemeGdk.cpp: Removed.
2273         * platform/gtk/RenderThemeGdk.h: Removed.
2274         * platform/gtk/RenderThemeGtk.cpp: Added.
2275         (WebCore::theme):
2276         (WebCore::RenderThemeGtk::RenderThemeGtk):
2277         (WebCore::RenderThemeGtk::close):
2278         (WebCore::RenderThemeGtk::addIntrinsicMargins):
2279         (WebCore::RenderThemeGtk::supportsFocus):
2280         (WebCore::RenderThemeGtk::determineState):
2281         (WebCore::RenderThemeGtk::determineShadow):
2282         (WebCore::RenderThemeGtk::getThemeData):
2283         (WebCore::RenderThemeGtk::setCheckboxSize):
2284         (WebCore::RenderThemeGtk::paintCheckbox):
2285         (WebCore::RenderThemeGtk::setRadioSize):
2286         (WebCore::RenderThemeGtk::paintRadio):
2287         (WebCore::RenderThemeGtk::paintButton):
2288         (WebCore::RenderThemeGtk::adjustTextFieldStyle):
2289         (WebCore::RenderThemeGtk::paintTextField):
2290         (WebCore::RenderThemeGtk::paintTextArea):
2291         (WebCore::RenderThemeGtk::adjustButtonStyle):
2292         (WebCore::RenderThemeGtk::systemFont):
2293         (WebCore::RenderThemeGtk::gtkButton):
2294         (WebCore::RenderThemeGtk::gtkCheckbox):
2295         (WebCore::RenderThemeGtk::gtkRadioButton):
2296         (WebCore::RenderThemeGtk::gtkWindowContainer):
2297         * platform/gtk/RenderThemeGtk.h: Added.
2298         * platform/gtk/ScrollViewGdk.cpp: Removed.
2299         * platform/gtk/ScrollViewGtk.cpp: Added.
2300         * platform/gtk/SearchPopupMenuGdk.cpp: Removed.
2301         * platform/gtk/SearchPopupMenuGtk.cpp: Added.
2302         * platform/gtk/SoundGdk.cpp: Removed.
2303         * platform/gtk/SoundGtk.cpp: Added.
2304         * platform/gtk/WheelEventGdk.cpp: Removed.
2305         * platform/gtk/WheelEventGtk.cpp: Added.
2306         * platform/gtk/WidgetGdk.cpp: Removed.
2307         * platform/gtk/WidgetGtk.cpp: Added.
2308         * platform/network/ResourceHandle.h:
2309
2310 2007-09-23  Rob Buis  <buis@kde.org>
2311
2312         Reviewed by Hyatt.
2313
2314         http://bugs.webkit.org/show_bug.cgi?id=15025
2315         Background repeat css property is not inherited from parent if unspecified
2316
2317         Don't let invalid url specification in background shorthand make
2318         the entire shorthand invalid.
2319
2320         * css/CSSParser.cpp:
2321         (WebCore::CSSParser::parseBackgroundImage):
2322         (WebCore::CSSParser::parseBackgroundProperty):
2323         * css/CSSParser.h:
2324
2325 2007-09-22  Adam Roben  <aroben@apple.com>
2326
2327         Fix Bug 15251: REGRESSION: <input type=range> doesn't respond to form.reset() or setting input.value
2328
2329         http://bugs.webkit.org/show_bug.cgi?id=15251
2330         <rdar://5498169>
2331
2332         Reviewed by Maciej.
2333
2334         Test: fast/forms/range-reset.html
2335
2336         * html/HTMLInputElement.cpp:
2337         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): <input
2338         type=range> should be storing its value separately from the value
2339         attribute, as do all of our variable-input input types.
2340
2341 2007-09-21  Mark Rowe  <mrowe@apple.com>
2342
2343         Build fix for non-Mac platforms after r25697.
2344         
2345         Rename Frame::cleanupPlatformScriptObjects to Frame::clearPlatformScriptObjects.
2346
2347         * bridge/win/FrameWin.cpp:
2348         * page/gdk/FrameGdk.cpp:
2349         * page/qt/FrameQt.cpp:
2350         * platform/wx/TemporaryLinkStubs.cpp:
2351
2352 2007-09-21  Adele Peterson  <adele@apple.com>
2353
2354         Reviewed by Sam.
2355
2356         Fix for <rdar://problem/5497357> REGRESSION: Safari doesn't show the month days on AirFrance reservation page
2357
2358         Test: fast/dom/HTMLSelectElement/options-collection-set-string-length.html
2359
2360         * bindings/js/JSHTMLOptionsCollectionCustom.cpp: (WebCore::JSHTMLOptionsCollection::setLength):
2361           Convert the value to a number.  We already have code here to check if the value is not a number.
2362           This matches other browsers, which allow a string value to be used to set the length.
2363
2364 2007-09-21  Timothy Hatcher  <timothy@apple.com>
2365
2366         Reviewed by Darin.
2367
2368         <rdar://problem/5491013> REGRESSION: -[WebView windowScriptObject] returns a dummy object or nil if a page hasn't loaded
2369
2370         Calling -[WebView windowScriptObject] before the page loads would give you nil. This behavior didn't match Tiger.
2371         The API behavior in Tiger let you get the window script object once and keep ahold of it as long as you needed it.
2372         The window object would remain valid even after page loads. This change restores the Tiger behavior.
2373
2374         <rdar://problem/5495790> NULL dereference crash beneath Bindings::RootObject::interpreter when saving Dashcode document
2375
2376         The changes to WebScriptObject's _isSafeScript call also fixed the crash in Dashcode.
2377
2378         * bindings/objc/WebScriptObject.mm:
2379         (-[WebScriptObject _setOriginRootObject:andRootObject:]): New method used to update the the root objects,
2380         so the WebScriptObject can still be used after a page load.
2381         (-[WebScriptObject _isSafeScript]): Call [self _rootObject] instead of accessing the data member directly.
2382         DOMNode has an override for the _rootObject method, and it can return 0 when _private->_rootObject
2383         is non-zero. We would return YES here when it wasn't safe and later crash with my modified layout tests.
2384         Checking _rootObject first prevents other calls sites from needing to check for a valid root object,
2385         this fixed the Dashcode crash.
2386         (-[WebScriptObject _imp]): Ditto.
2387
2388         * bindings/objc/WebScriptObjectPrivate.h: Add _setOriginRootObject:andRootObject:.
2389
2390         * loader/FrameLoader.cpp:
2391         (WebCore::FrameLoader::clear): Call the renamed clearScriptObjects function.
2392         (WebCore::FrameLoader::dispatchWindowObjectAvailable): Some gratuitous code cleanup.
2393
2394         * page/Frame.cpp:
2395         (WebCore::Frame::clearScriptObjects): Renamed cleanupScriptObject to clearScriptObjects.
2396         Call clearPlatformScriptObjects last so m_bindingRootObject is already NULL.
2397         (WebCore::Frame::windowScriptNPObject): Hold a JSLock before accessing the window. This
2398         change is unrelated to the bug, but should be fixed.
2399
2400         * page/mac/FrameMac.mm:
2401         (WebCore::Frame::windowScriptObject): Return a script object even if the interpreter is NULL.
2402         This resotres the Tiger behavior of always being able to access the window object.
2403         (WebCore::Frame::clearPlatformScriptObjects): Keep the window script object around, and update
2404         the root objects for the window script object.
2405
2406         * page/Frame.h: Rename cleanupScriptObject to clearScriptObjects.
2407         * page/FramePrivate.h: Use a RetainPtr for m_windowScriptObject.
2408
2409 2007-09-21  Mike Fenton  <mike@staikos.net>
2410
2411         Reviewed by George Staikos.
2412
2413         Fix styled pen support by not clobbering QPen properties.
2414
2415         * html/CanvasStyle.cpp:
2416         (WebCore::CanvasStyle::applyStrokeColor):
2417         (WebCore::CanvasStyle::applyFillColor):
2418
2419 2007-09-21  Oliver Hunt  <oliver@apple.com>
2420
2421         Reviewed by Tristan and Darin
2422
2423         http://bugs.webkit.org/show_bug.cgi?id=15239
2424         <rdar://problem/5491955> REGRESSION (r25547): With Hanin IME, one cannot input characters into forms (15239)
2425         
2426         This problem was caused by the setComposition method failing to clear
2427         the composition markers in the presence of an empty string.  This would 
2428         result in the caret being locked within the 0 length bounds of the "composition"
2429         and so preventing basic keyboard interaction.
2430
2431         * editing/Editor.cpp:
2432         (WebCore::Editor::setComposition):
2433
2434 2007-09-21  Adele Peterson  <adele@apple.com>
2435
2436         Reviewed by Tristan.
2437
2438         Fix for <rdar://problem/5497346> "Check spelling when I click Send" crashes on stationery messages every time
2439
2440         No test. I wasn't able to find a way to get this to occur with Safari or DumpRenderTree.
2441
2442         * editing/Editor.cpp: (WebCore::Editor::advanceToNextMisspelling): Updated comment.
2443         * editing/htmlediting.cpp:
2444         (WebCore::firstEditablePositionAfterPositionInRoot): Only return the root position if its editable.
2445         (WebCore::maxDeepOffset): Added nil check & assert.
2446
2447 2007-09-21  Anders Carlsson  <andersca@apple.com>
2448
2449         Reviewed by Steve.
2450
2451         <rdar://problem/5404339>
2452         Site redirects continuosly, starving UI thread, causing app to hang.
2453         
2454         Use GetQueueStatus to see if there are input messages in the queue that aren't being processed.
2455         If so, use a low-priority timer instead of PostMessage.
2456         
2457         * platform/win/SharedTimerWin.cpp:
2458         (WebCore::setSharedTimerFireTime):
2459
2460 2007-09-22  Darin Adler  <darin@apple.com>
2461
2462         Reviewed by Anders.
2463
2464         - add QueryInterface capabilities to COMPtr
2465
2466         * platform/win/COMPtr.h:
2467         (COMPtr::COMPtr): Added constructor that takes a Query tag and
2468         does an appropriate QueryInterface.
2469         (COMPtr::query): Added function to do a queryInterface.
2470         (COMPtr::copyQueryInterfaceRef): Added private helper used by
2471         both of the above. Note that when the query fails you get a 0,
2472         which is the same thing you get if a 0 pointer is passed in.
2473
2474         * platform/win/FontCacheWin.cpp:
2475         (WebCore::FontCache::getFontLinkInterface): Convert to using
2476         the new query as a test case. Also eliminate the unnecessary
2477         second global variable and use COMPtr objects rather than just
2478         leaking references.
2479
2480         * platform/win/WCDataObject.h: Removed unneeded include and
2481         using statements.
2482
2483 2007-09-21  Anders Carlsson  <andersca@apple.com>
2484
2485         Reviewed by Adam.
2486
2487         <rdar://problem/5494790>
2488         clicking any link in the Flash regions at bananarepublic.com results in bad page
2489
2490         Don't replace the frame contents, the Mac version doesn't do this.
2491         
2492         * plugins/win/PluginViewWin.cpp:
2493         (WebCore::PluginViewWin::performRequest):
2494
2495 2007-09-21  Anders Carlsson  <andersca@apple.com>
2496
2497         Reviewed by Darin.
2498
2499         <rdar://problem/5496700>
2500         Repro crash loading http://www.tivo.com/whatistivo/tivohd/index.html
2501
2502         Don't continue if the plug-in cancelled the stream.
2503                 
2504         * loader/win/NetscapePlugInStreamLoaderWin.cpp:
2505         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
2506
2507 2007-09-21  Kevin Decker  <kdecker@apple.com>
2508
2509         * platform/mac/SoftLinking.h: Build fix; added necessary #imports. 
2510
2511 2007-09-21  Kevin Decker  <kdecker@apple.com>
2512
2513         Reviewed by Darin Adler.
2514
2515         * WebCore.xcodeproj/project.pbxproj: Added SoftLinking.h to the project.
2516         * platform/mac/SoftLinking.h: Contains a new macro; useful in helping to lazily load frameworks.
2517
2518 2007-09-20  Ada Chan  <adachan@apple.com>
2519
2520         <rdar://problem/5477240> Regression: Footer is too high in print preview
2521         Make computePageRectsForFrame() return the height of the page adjusted for margins.
2522
2523         Reviewed by Steve.
2524
2525         * bridge/win/FrameWin.cpp:
2526         (WebCore::computePageRectsForFrame):
2527         * bridge/win/FrameWin.h:
2528
2529 2007-09-19  Kevin McCullough  <kmccullough@apple.com>
2530
2531         Reviewed by Hyatt.
2532
2533         - <rdar://problem/5101991> Avril Lavigne music player comes up in a window with scrollbars
2534         - Implementing missing scrollbar functionality to allow turning off scrollbars correctly.
2535
2536         * platform/ScrollView.h:
2537         * platform/win/ScrollViewWin.cpp:
2538         (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
2539         (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
2540         (WebCore::ScrollView::updateScrollbars):
2541         (WebCore::ScrollView::setAllowsScrolling):
2542         (WebCore::ScrollView::allowsScrolling):
2543
2544 2007-09-20  Brady Eidson  <beidson@apple.com>
2545
2546         Reviewed by Dave Hyatt
2547
2548         <rdar://problem/5245981> - No favicon shows up for cnet.com
2549         
2550         CNet's favicon has two images in it - a 32x32 white square, and a 16x16 image that is their actual icon
2551         Till now on Windows we've always gone straight for the first image in an icon for the favicon, now we
2552         actually do proper size matching
2553
2554         * platform/graphics/BitmapImage.h:
2555
2556         * platform/graphics/Image.h:
2557         (WebCore::Image::getHBITMAPOfSize): 
2558         (WebCore::Image::drawFrameMatchingSourceSize): Search through the frames of the image for the correct size
2559
2560         * platform/graphics/win/ImageWin.cpp:
2561         (WebCore::BitmapImage::getHBITMAP):
2562         (WebCore::BitmapImage::getHBITMAPOfSize):
2563         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
2564
2565 2007-09-20  Steve Falkenburg  <sfalken@apple.com>
2566
2567         Reviewed by Brady.
2568
2569         Call ascii() instead of utf8() from debug logging code to avoid threading
2570         issues associated w/ converting to UTF8.
2571
2572         * loader/icon/IconDatabase.cpp:
2573         (WebCore::makeAllDirectories):
2574         (WebCore::IconDatabase::retainIconForPageURL):
2575         (WebCore::IconDatabase::releaseIconForPageURL):
2576         (WebCore::IconDatabase::setIconDataForIconURL):
2577         (WebCore::IconDatabase::setIconURLForPageURL):
2578         (WebCore::IconDatabase::loadDecisionForIconURL):
2579         (WebCore::IconDatabase::getOrCreatePageURLRecord):
2580         (WebCore::IconDatabase::iconDatabaseSyncThread):
2581         (WebCore::IconDatabase::performOpenInitialization):
2582         (WebCore::IconDatabase::checkIntegrity):
2583         (WebCore::IconDatabase::performURLImport):
2584         (WebCore::IconDatabase::readFromDatabase):
2585         (WebCore::IconDatabase::writeToDatabase):
2586         (WebCore::readySQLStatement):
2587         (WebCore::IconDatabase::setIconURLForPageURLInSQLDatabase):
2588         (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
2589         (WebCore::IconDatabase::removePageURLFromSQLDatabase):
2590         (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
2591         (WebCore::IconDatabase::addIconURLToSQLDatabase):
2592         (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
2593         (WebCore::IconDatabase::removeIconFromSQLDatabase):
2594         (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
2595
2596 2007-09-20  Mike Fenton  <mike@staikos.net>
2597
2598         Reviewed by George Staikos.
2599
2600         Implement gradients and more of canvas for Qt.  Style changes and some
2601         of the stroking fixes by George.
2602
2603         * html/CanvasGradient.cpp:
2604         (WebCore::CanvasGradient::CanvasGradient):
2605         (WebCore::CanvasGradient::~CanvasGradient):
2606         (WebCore::CanvasGradient::addColorStop):
2607         (WebCore::CanvasGradient::platformShading):
2608         * html/CanvasGradient.h:
2609         * html/CanvasRenderingContext2D.cpp:
2610         (WebCore::CanvasRenderingContext2D::fill):
2611         (WebCore::CanvasRenderingContext2D::stroke):
2612         (WebCore::CanvasRenderingContext2D::fillRect):
2613         (WebCore::CanvasRenderingContext2D::applyFillPattern):
2614
2615 2007-09-20  Rob Buis  <buis@kde.org>
2616
2617         Reviewed by Mitz.
2618
2619         http://bugs.webkit.org/show_bug.cgi?id=15235
2620         Options can not be removed from a Select element with OptGroup's using JavaScript
2621         <rdar://problem/5494123>
2622
2623         Remove HTMLOptionElement children against the proper parent node.
2624
2625         * html/HTMLSelectElement.cpp:
2626         (WebCore::HTMLSelectElement::remove):
2627
2628 2007-09-19  John Sullivan  <sullivan@apple.com>
2629
2630         Reviewed by Darin Adler.
2631         
2632         - WebCore part of speculative fix for <rdar://problem/5490627>, about crashes constructing a
2633           String using the values filled in by checkSpellingOfString()
2634
2635         * editing/Editor.cpp:
2636         (WebCore::findFirstMisspellingInRange):
2637         initialize out parameters the way we do elsewhere; add many assertions for improper results
2638         from checkSpellingOfString(); don't create a String at all until we've checked all the ways
2639         that checkSpellingOfString() results could indicate invalid string, even the unexpected ones;
2640         as an optimization, don't construct a String at all when looping through to mark all instances.
2641
2642 2007-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2643
2644         Reviewed by Adam.
2645
2646         There is no need to have FTPDirectoryDocument stubs. We can
2647         compile FTPDirectoryDocument.cpp and FTPDirectoryTokenizer.cpp
2648         instead.
2649
2650         * WebCore.pro:
2651         * platform/gdk/TemporaryLinkStubs.cpp:
2652         * platform/qt/TemporaryLinkStubs.cpp:
2653
2654 2007-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2655
2656         Reviewed by Adam.
2657
2658         Remove includes that are not needed.
2659
2660         * platform/gdk/TemporaryLinkStubs.cpp:
2661
2662 2007-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2663
2664         Reviewed by Adam.
2665
2666         Move the Pasteboard stubs to PasteboardGdk.cpp.
2667
2668         * WebCore.pro:
2669         * platform/gdk/PasteboardGdk.cpp: Added.
2670         (WebCore::Pasteboard::generalPasteboard):
2671         (WebCore::Pasteboard::writeSelection):
2672         (WebCore::Pasteboard::writeURL):
2673         (WebCore::Pasteboard::writeImage):
2674         (WebCore::Pasteboard::clear):
2675         (WebCore::Pasteboard::canSmartReplace):
2676         (WebCore::Pasteboard::documentFragment):
2677         (WebCore::Pasteboard::plainText):
2678         (WebCore::Pasteboard::Pasteboard):
2679         * platform/gdk/TemporaryLinkStubs.cpp:
2680
2681 2007-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2682
2683         Reviewed by Adam.
2684
2685         Move the Icon stubs to IconGdk.cpp
2686
2687         * WebCore.pro:
2688         * platform/gdk/TemporaryLinkStubs.cpp:
2689         * platform/graphics/gdk/IconGdk.cpp: Added.
2690         (WebCore::Icon::Icon):
2691         (WebCore::Icon::~Icon):
2692         (WebCore::Icon::newIconForFile):
2693
2694 2007-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2695
2696         Reviewed by Adam.
2697
2698         Move the Font stubs to FontGdk.cpp
2699
2700         * platform/gdk/FontGdk.cpp:
2701         (WebCore::Font::drawComplexText):
2702         (WebCore::Font::floatWidthForComplexText):
2703         (WebCore::Font::offsetForPositionForComplexText):
2704         (WebCore::Font::selectionRectForComplexText):
2705         * platform/gdk/TemporaryLinkStubs.cpp:
2706
2707 2007-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2708
2709         Reviewed by Adam.
2710
2711         Move the SearchPopupMenu stubs to SearchPopupMenuGdk.cpp
2712
2713         * WebCore.pro:
2714         * platform/gdk/SearchPopupMenuGdk.cpp: Added.
2715         (WebCore::SearchPopupMenu::SearchPopupMenu):
2716         (WebCore::SearchPopupMenu::saveRecentSearches):
2717         (WebCore::SearchPopupMenu::loadRecentSearches):
2718         (WebCore::SearchPopupMenu::enabled):
2719         * platform/gdk/TemporaryLinkStubs.cpp:
2720
2721 2007-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2722
2723         Reviewed by Adam.
2724
2725         Move the ContextMenu and ContextMenuItem stubs to
2726         ContextMenuGdk.cpp and ContextMenuItemGdk.cpp.
2727
2728         * WebCore.pro:
2729         * platform/gdk/ContextMenuGdk.cpp: Added.
2730         (WebCore::ContextMenu::ContextMenu):
2731         (WebCore::ContextMenu::~ContextMenu):
2732         (WebCore::ContextMenu::appendItem):
2733         (WebCore::ContextMenu::setPlatformDescription):
2734         (WebCore::ContextMenu::platformDescription):
2735         (WebCore::ContextMenu::releasePlatformDescription):
2736         * platform/gdk/ContextMenuItemGdk.cpp: Added.
2737         (WebCore::ContextMenuItem::ContextMenuItem):
2738         (WebCore::ContextMenuItem::~ContextMenuItem):
2739         (WebCore::ContextMenuItem::releasePlatformDescription):
2740         (WebCore::ContextMenuItem::type):
2741         (WebCore::ContextMenuItem::setType):
2742         (WebCore::ContextMenuItem::action):
2743         (WebCore::ContextMenuItem::setAction):
2744         (WebCore::ContextMenuItem::title):
2745         (WebCore::ContextMenuItem::setTitle):
2746         (WebCore::ContextMenuItem::platformSubMenu):
2747         (WebCore::ContextMenuItem::setSubMenu):
2748         (WebCore::ContextMenuItem::setChecked):
2749         * platform/gdk/TemporaryLinkStubs.cpp:
2750
2751 2007-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2752
2753         Reviewed by Adam.
2754
2755         Implement the WebCore::fileSize function using g_stat.
2756
2757         * platform/gdk/FileSystemGdk.cpp:
2758         (WebCore::fileSize):
2759         * platform/gdk/TemporaryLinkStubs.cpp:
2760
2761 2007-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
2762
2763         Reviewed by Adam.
2764
2765         Move the ResourceHandle stubs from TemporaryLinkStubs
2766         to the ResourceHandleCurl.cpp file. This affects the
2767         Gtk+ and wx port as they share the curl implementation.
2768
2769
2770         * platform/gdk/TemporaryLinkStubs.cpp:
2771         * platform/network/curl/ResourceHandleCurl.cpp:
2772         (WebCore::ResourceHandle::willLoadFromCache):
2773         (WebCore::ResourceHandle::loadsBlocked):
2774         * platform/wx/TemporaryLinkStubs.cpp:
2775
2776 2007-09-17  Holger Hans Peter Freyther  <zecke@selfish.org>
2777
2778         Reviewed by Mark.
2779
2780         Take http://bugs.webkit.org/show_bug.cgi?id=15221 into account
2781         and change the variable names from nameSystem to systemName and
2782         change the name of the function to stringByAdoptingFileSystemRepresentation.
2783
2784         * platform/gdk/FileChooserGdk.cpp:
2785         (WebCore::stringByAdoptingFileSystemRepresentation):
2786         (WebCore::FileChooser::basenameForWidth):
2787
2788 2007-09-19  Sam Weinig  <sam@webkit.org>
2789
2790         Reviewed by Geoff Garen.
2791
2792         Fix <rdar://problem/5492141> Assertion in isdigit() on windows Safari
2793
2794         Test: fast/css/hexColor-isDigit-assert.html
2795
2796         * platform/DeprecatedString.cpp:
2797         (WebCore::isCharacterAllowedInBase): Check that the character is ascii 
2798         to avoid an assertions on Windows.
2799
2800 2007-09-19  Anders Carlsson  <andersca@apple.com>
2801
2802         Reviewed by Geoff.
2803
2804         <rdar://problem/5489879>
2805         Combination of real player with high connection quality in selecting player makes Safari quit.
2806         
2807         Prevent the Real Player plug-in from calling the window proc recursively.
2808         
2809         * plugins/win/PluginViewWin.cpp:
2810         (WebCore::PluginViewWin::wndProc):
2811         (WebCore::PluginViewWin::setNPWindowRect):
2812         (WebCore::PluginViewWin::determineQuirks):
2813         (WebCore::PluginViewWin::PluginViewWin):
2814         * plugins/win/PluginViewWin.h:
2815         (WebCore::):
2816
2817 2007-09-18  Adele Peterson  <adele@apple.com>
2818
2819         Reviewed by Maciej.
2820
2821         Fix for <rdar://problem/5472062> -webkit-user-select: none makes selection difficult
2822         and for <rdar://problem/5472056> REGRESSION: Cannot type into edit fields on a form (sccsheriff.org)
2823
2824         Tests:
2825
2826         This fix has a few steps:
2827         1) Removes the ignore value for the -webkit-user-select property.  We now decide when to prevent selection from starting by calling canStartSelection on the node.
2828         2) Implements canStartSelection which returns false for all elements that used to have -webkit-user-select:ignore set, true for content editable nodes, 
2829            and walks up the tree to ask the parent before allowing selection to be started on any other nodes.
2830         3) We used to disallow selection from starting within -webkit-user-select:none blocks, but now we only use canStartSelection for that.  This will allow easy selections
2831            in cases like iChat where there's a mix of selectable and non-selectable content.
2832         4) Makes -webkit-user-select inherited.  After removing the "ignore" value, -webkit-user-select would behave like it was inherited anyways since we already allowed the text value to override the none value.
2833
2834
2835         * css/html4.css: Removed all usage of -webkit-user-select: ignore.  This is now handled internally with canStartSelection().
2836           Now -webkit-user-select won't be unintentionally overridden by nodes that don't want to allow selection to be started, but do want to honor the -webkit-user-select to
2837           determine whether or not selection is allowed at all.
2838
2839         * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll):
2840           Don't try to determine whether selection is allowed inside the root node here.  VisiblePosition and Selection creation will keep Selection endpoints out of -webkit-user-select:none regions.
2841         
2842         * dom/Node.h:
2843         * dom/Node.cpp: (WebCore::Node::canStartSelection): Added. Always allows selection to be started in a content editable node.  If there's a parent, ask the parent if starting a selection is allowed.
2844           If there's no parent, default to allowing selection.
2845         * html/HTMLAnchorElement.h:
2846         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::canStartSelection): Added. If its not a link, then calls the base class. Disallows selection for non-editable links.
2847           Allows selection for editable links.
2848           This logic used to be done in CSSStyleSelector by changing the user-select property.
2849         * html/HTMLButtonElement.h: (WebCore::HTMLButtonElement::canStartSelection): Added. Disallows selection from starting in buttons.
2850         * html/HTMLImageElement.h: (WebCore::HTMLImageElement::canStartSelection): Added. Disallows selection from starting in images.
2851         * html/HTMLInputElement.h:
2852         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::canStartSelection): Added. Disallows selection from anything that's not a text field.  Text fields call up to the base class.
2853           When they're editable, text controls will always be selectable because of the case for content editable content. Otherwise, they'll respect their parent element's decision about starting a selection. 
2854         * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::canStartSelection): Added. Disallows selection from starting in popup buttons.
2855
2856         * page/EventHandler.cpp:
2857         (WebCore::EventHandler::selectClosestWordFromMouseEvent): Use canMouseDownStartSelect instead of the ambiguously named shouldSelect().
2858         (WebCore::EventHandler::handleMousePressEventTripleClick): ditto.
2859         (WebCore::EventHandler::handleMousePressEventSingleClick): ditto.
2860         (WebCore::EventHandler::updateSelectionForMouseDrag): Use canMouseDragExtendSelect.
2861         (WebCore::EventHandler::selectCursor): Paint an ibeam in any region that allows you to click to create a selection.
2862         (WebCore::EventHandler::canMouseDownStartSelect): Now fires the selectStart event, and calls canStartSelection instead of checking the user-select property.
2863         (WebCore::EventHandler::canMouseDragExtendSelect): This is identical to canMouseDownStartSelect because of 12823, even though it seems strange that we would fire the selectStart event here.
2864         * page/EventHandler.h:
2865         * page/FocusController.cpp: (WebCore::clearSelectionIfNeeded): Calls canStartSelection instead of checking the user-select property to decide when to prevent selection creation. 
2866         * rendering/RenderObject.cpp: (WebCore::RenderObject::draggableNode): ditto.
2867         * rendering/RenderObject.h: Removed helper methods that are no longer needed.
2868
2869         * rendering/RenderStyle.h: Made userSelect inherited.  After removing the "ignore" value, -webkit-user-select would behave like it was inherited 
2870           anyways since we already allowed the text value to override the none value.
2871           Removed the SELECT_AUTO and SELECT_IGNORE values since they're no longer used.
2872         (WebCore::):
2873         (WebCore::RenderStyle::userSelect):
2874         (WebCore::RenderStyle::setUserSelect):
2875         (WebCore::RenderStyle::initialUserSelect):
2876         * rendering/RenderStyle.cpp:
2877         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2878         (WebCore::StyleRareNonInheritedData::operator==):
2879         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2880         (WebCore::StyleRareInheritedData::operator==):
2881         (WebCore::RenderStyle::diff):
2882
2883         * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Remove case for SELECT_AUTO and SELECT_IGNORE
2884         * css/CSSStyleSelector.cpp:
2885         (WebCore::CSSStyleSelector::adjustRenderStyle):  Remove adjustment for links.  This is now handled in HTMLAnchorElement::canStartSelection.
2886         (WebCore::CSSStyleSelector::applyProperty): Map CSS_VAL_AUTO to SELECT_TEXT.  Remove CSS_VAL_IGNORE.
2887
2888 2007-09-18  Timothy Hatcher  <timothy@apple.com>
2889
2890         Reviewed by Darin.
2891
2892         <rdar://problem/5478250> REGRESSION: After pasting text copied from Mail subject and typing return, the cursor disappears because of negative left margin
2893
2894         When pasting text from the Mail subject line, the RTF pasteboard contains text that has a first line negative indent along with a
2895         paragraph indent that has a counteracting positive indent. This results in the first line being flush left justified, and the remaining
2896         wrapped lines being indented. When this is converted to a DOM fragment, AppKit makes a block element with a margin-left and a negative
2897         text-indent that matches the RTF. So far this is all correct behavior.
2898
2899         When this content is pasted on the line of an existing paragraph that has content, ReplaceSelectionCommand will decided to merge the paragraphs.
2900         This will convert the block element to a style span that has all inherited style properties. These inherited properties will still contain block
2901         properties that have no affect on inline elements. These block properties will hang around on the style span and will get cloned to new block
2902         elements if the user hit return on that line. The new block elements would then have the text-indent but not the margin-left, so the text would be
2903         hidden off the left edge of the page.
2904
2905         In the end, we should never hang on to block-only properties in our style spans. This cuts out meaningless properties and prevents properties
2906         from magically affecting blocks later if the style is cloned for a new block element during a future editing operation.
2907
2908         * editing/ReplaceSelectionCommand.cpp:
2909         (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Remove any inherited block properties that are now in the span's style.
2910         * editing/markup.cpp:
2911         (WebCore::createMarkup): Ditto.
2912
2913 2007-09-18  Dave Hyatt  <hyatt@apple.com>
2914
2915         Land a UnicodeRange helper class (ported from Mozilla) that we are going to use to prepare for making
2916         language-sensitive fallback choices for fonts.
2917
2918         Reviewed by olliej
2919
2920         * WebCore.vcproj/WebCore.vcproj:
2921         * platform/UnicodeRange.cpp: Added.
2922         (WebCore::):
2923         (WebCore::findCharUnicodeRange):
2924         (WebCore::langGroupFromUnicodeRange):
2925         * platform/UnicodeRange.h: Added.
2926
2927 2007-09-18  Dave Hyatt  <hyatt@apple.com>
2928
2929         Fix a bug in my previous patch.  Make sure to select the old font back into the HDC and to also release the HDC.
2930        
2931         Reviewed by aroben
2932
2933         * platform/win/FontCacheWin.cpp:
2934         (WebCore::FontCache::getFontDataForCharacters):
2935
2936 2007-09-18  Sam Weinig  <sam@webkit.org>
2937
2938         Reviewed by Darin.
2939
2940         Patch for <rdar://problem/5488478> Safari crashes when passing null to Range.insertNode()
2941
2942         Test: fast/dom/Range-insertNode-crash.html
2943
2944         * dom/Range.cpp:
2945         (WebCore::Range::insertNode): Null check the passed in node to insert.
2946
2947 2007-09-18  Mike Fenton  <mike@staikos.net>
2948
2949         Reviewed by George Staikos.
2950
2951         Retain the pen properties when changing one aspect of the pen.
2952
2953         * html/CanvasStyle.cpp:
2954         (WebCore::CanvasStyle::applyStrokeColor):
2955
2956 2007-09-18  Mike Fenton  <mike@staikos.net>
2957
2958         Reviewed by George Staikos.
2959
2960         Make <canvas> work in more cases by restarting the painter after we
2961         finish painting, and restoring the pen and opacity.
2962
2963         * html/HTMLCanvasElement.cpp:
2964         (WebCore::HTMLCanvasElement::paint):
2965
2966 2007-09-18  Mitz Pettel  <mitz@webkit.org>
2967
2968         Reviewed by Darin.
2969
2970         - fix http://bugs.webkit.org/show_bug.cgi?id=15169
2971           Freeze on Google maps using the "Dig a hole" tool
2972           <rdar://problem/5477414>
2973
2974         Test: fast/dom/CSSStyleDeclaration-empty-string-property.html
2975
2976         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2977         (WebCore::cssPropertyName): Added an early return if the property name
2978         is the empty string, thus avoiding a loop that is not prepared for that
2979         case.
2980
2981 2007-09-19  Darin Adler <darin@apple.com>
2982
2983         Reviewed by Adam.
2984
2985         - fix <rdar://problem/5415734> <select> draws incorrectly if size of menu options
2986           is changed after it pops up once
2987
2988         * platform/win/PopupMenuWin.cpp:
2989         (WebCore::PopupMenu::PopupMenu): Removed unnecessary initialization of IntRect.
2990         (WebCore::PopupMenu::show): Check that the clientRect is empty instead of checking
2991         the entire windowRect -- this fixes a bug where we pop up a tiny 2-pixel high black
2992         box when you click on an empty menu.
2993         (WebCore::PopupMenu::visibleItems): Base the number of items on the client rect
2994         instead of the window rect. Rounding down means this would have worked anyway, but
2995         it's more correct to do it this way.
2996         (WebCore::PopupMenu::paint): Deallocate the bitmap so it gets reallocated if it
2997         has the wrong width or height (or if GetObject returns false, which should not
2998         happen in practice).
2999
3000 2007-09-18  David Harrison  <harrison@apple.com>
3001
3002         Reviewed by Darin.
3003
3004         <rdar://problem/5486974> REGRESSION(r25373): 1/4 second to doubleclick word in GMail when using Kotoeri IM, also slow in other IMs (15163)
3005
3006         Updated tests:
3007         * fast/dom/Window/window-xy-properties-expected.txt:
3008         * fast/dom/plugin-attributes-enumeration-expected.txt:
3009         * fast/events/onerror-bubbling-expected.txt:
3010         * fast/events/related-target-expected.txt:
3011         * fast/forms/select-namedItem-expected.txt:
3012         * fast/table/incomplete-table-in-fragment-2-expected.txt:
3013         * fast/table/incomplete-table-in-fragment-hang-expected.txt:
3014         * fast/table/large-rowspan-crash-expected.txt:
3015         * plugins/embed-attributes-setting-expected.txt:
3016
3017         * editing/TextIterator.cpp:
3018         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
3019         Avoid VisiblePosition check if the current node is a descendant
3020         of the start container and the start offset was 0. In that case
3021         we already had enough context to correctly decide whether to emit
3022         a newline after a preceding block. We chose not to emit
3023         (m_haveEmitted is false), so don't second guess that.
3024             
3025         (WebCore::TextIterator::exitNode):
3026         Changed some comments.
3027
3028 2007-09-17  Geoffrey Garen  <ggaren@apple.com>
3029
3030         Reviewed by Darin Adler.
3031
3032         Speculative fix for <rdar://problem/5479443> REGRESSION: Hang due to 
3033         infinite JS recursion on close @ engadget.com (onunload-based ad)
3034         
3035         If page is NULL, shouldInterruptScript now returns true, so you can't 
3036         get stuck in a state in which a script executes forever without putting 
3037         up a UI to ask if it should stop.
3038
3039         * bindings/js/kjs_binding.cpp:
3040         (KJS::ScriptInterpreter::shouldInterruptScript):
3041
3042 2007-09-17  Dave Hyatt  <hyatt@apple.com>
3043
3044         Fix for bug 14743, missing glyphs on many international sites because of MLang's tiny cache.
3045         
3046         Bypass Mlang's cache entirely.  Get the mapped font from MLang, obtain the font name, and then feed
3047         the name back into our own system so that it gets created and cached again without MLang being involved.
3048         Then free up the font obtained from MLang immediately so that its cache just remains empty.
3049            
3050         Reviewed by aroben
3051
3052         * platform/FontData.h:
3053         (WebCore::FontData::isSystemFont):
3054         * platform/win/FontCacheWin.cpp:
3055         (WebCore::FontCache::getFontDataForCharacters):
3056         * platform/win/FontDataWin.cpp:
3057         (WebCore::FontData::platformInit):
3058         (WebCore::FontData::platformDestroy):
3059         * platform/win/UniscribeController.cpp:
3060         (WebCore::UniscribeController::shapeAndPlaceItem):
3061         
3062 2007-09-17  Adam Roben  <aroben@apple.com>
3063
3064         Fix <rdar://5423441> Should get focus ring color from SafariTheme
3065
3066         Reviewed by Hyatt.
3067
3068         No regression test possible.
3069
3070         * WebCore.vcproj/WebCore.vcproj: Added ColorSafari.cpp.
3071         * platform/graphics/win/ColorSafari.cpp: Added.
3072         (WebCore::makeRGBAFromCGColor): Added.
3073         (WebCore::focusRingColor): Added. Gets the focus ring color from
3074         SafariTheme if SafariTheme has support for it.
3075         (WebCore::setFocusRingColorChangeFunction): Added.
3076         * platform/win/TemporaryLinkStubs.cpp: Removed focus ring color
3077         functions.
3078
3079 2007-09-17  Anders Carlsson  <andersca@apple.com>
3080
3081         Fix Windows build.
3082
3083         * WebCore.vcproj/WebCore.vcproj:
3084         * loader/NetscapePlugInStreamLoader.h:
3085
3086 2007-09-17  Anders Carlsson  <andersca@apple.com>
3087
3088         Fix Mac build.
3089         
3090         * loader/NetscapePlugInStreamLoader.cpp:
3091         * loader/NetscapePlugInStreamLoader.h:
3092         * loader/win/NetscapePlugInStreamLoaderWin.cpp: Copied from loader/NetscapePlugInStreamLoader.cpp.
3093
3094 2007-09-17  Anders Carlsson  <andersca@apple.com>
3095
3096         Reviewed by Adam.
3097
3098         <rdar://problem/5483346>
3099         crash at vw.com WebCore::PluginViewWin::disconnectStream.
3100         
3101         The following events would lead to this crash:
3102         
3103         1. a plug-in stream finishes loading and calls NPP_DestroyStream.
3104         2. the DestroyStream handler calls NPN_Evaluate, submitting a form through JavaScript.
3105         3. A new page is going to be loaded and DocumentLoader::stopLoading is called.
3106         4. DocumentLoader::stopLoading will stop all loader, including the one that is done loading!
3107         
3108         The fix is to port NetscapePluginStreamLoader over from the Mac code and use it instead. This fixes the crash
3109         because it disassociates the stream loader with the document loader _before_ calling NPP_DestroyStream, whereas
3110         SubresourceLoader does this _after_ calling NPP_DestroyStream. 
3111         
3112         * loader/NetscapePlugInStreamLoader.cpp:
3113         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
3114         (WebCore::NetscapePlugInStreamLoader::~NetscapePlugInStreamLoader):
3115         (WebCore::NetscapePlugInStreamLoader::create):
3116         (WebCore::NetscapePlugInStreamLoader::isDone):
3117         (WebCore::NetscapePlugInStreamLoader::releaseResources):
3118         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
3119         (WebCore::NetscapePlugInStreamLoader::didReceiveData):
3120         (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
3121         (WebCore::NetscapePlugInStreamLoader::didFail):
3122         (WebCore::NetscapePlugInStreamLoader::didCancel):
3123         * loader/NetscapePlugInStreamLoader.h:
3124         (WebCore::NetscapePlugInStreamLoaderClient::didFinishLoading):
3125         * plugins/win/PluginStreamWin.cpp:
3126         (WebCore::PluginStreamWin::start):
3127         (WebCore::PluginStreamWin::didReceiveResponse):
3128         (WebCore::PluginStreamWin::didReceiveData):
3129         (WebCore::PluginStreamWin::didFail):
3130         (WebCore::PluginStreamWin::didFinishLoading):
3131         * plugins/win/PluginStreamWin.h:
3132         * plugins/win/PluginViewWin.cpp:
3133         (WebCore::PluginViewWin::load):
3134
3135 2007-09-17  Anders Carlsson  <andersca@apple.com>
3136
3137         Reviewed by Adam.
3138
3139         <rdar://problem/5483839>
3140         Crash loading http://www.microsoft.com if Silverlight 1.0 is installed.
3141         
3142         Work around a problem in our NPRuntime implementation by never unloading the silverlight plug-in dll.
3143         
3144         * plugins/win/PluginViewWin.cpp:
3145         (WebCore::PluginViewWin::~PluginViewWin):
3146         (WebCore::PluginViewWin::determineQuirks):
3147         * plugins/win/PluginViewWin.h:
3148         (WebCore::):
3149
3150 2007-09-17  Brady Eidson  <beidson@apple.com>
3151
3152         Reviewed by John Sullivan
3153
3154         Fix for http://bugs.webkit.org/show_bug.cgi?id=15178
3155         and
3156         <rdar://problem/5474001>
3157
3158         The stress test proves that this was an overzealous ASSERT.  It is very possible to mark an icon
3159         for addition to the on-disk database and then mark it for removal before it is ever written out.  
3160         This is not an error and was already handled gracefully
3161
3162         * loader/icon/IconDatabase.cpp:
3163         (WebCore::IconDatabase::removeIconFromSQLDatabase): Don't ASSERT of log if the icon wasn't on disk
3164
3165 2007-09-17  Brady Eidson  <beidson@apple.com>
3166
3167         Reviewed by Oliver
3168
3169         <rdar://problem/5487048> - ASSERT in stress test in IconDatabase
3170
3171         If a PageURLRecord went away, it never clears its URL from the IconRecord it retained.
3172
3173         * loader/icon/PageURLRecord.cpp:
3174         (WebCore::PageURLRecord::~PageURLRecord): Set the icon record to 0, clearing the page url
3175         * loader/icon/PageURLRecord.h: Add the destructor
3176
3177 2007-09-17  Antti Koivisto  <antti@apple.com>
3178
3179         Reviewed by Darin.
3180         
3181         Fix <rdar://problem/5480050>
3182         Leopard9A551 with Dashcode 112: Dashcode crash when dragging image into canvas.
3183         
3184         If @import stylesheet was modified through CSS DOM style selector would not get updated. This
3185         could lead to crashes.
3186
3187         Test: fast/css/import-style-update.html
3188
3189         * css/CSSStyleSheet.cpp:
3190         (WebCore::CSSStyleSheet::styleSheetChanged):
3191
3192 2007-09-17  Anders Carlsson  <andersca@apple.com>
3193
3194         Reviewed by Adam.
3195
3196         <rdar://problem/5421997>
3197         http://bugs.webkit.org/show_bug.cgi?id=14247
3198         Display problem with Flash - image does not stop changing
3199         
3200         Port the manual load code over from the Mac version.
3201
3202         * plugins/win/PluginDatabaseWin.cpp:
3203         (WebCore::PluginDatabaseWin::createPluginView):
3204         * plugins/win/PluginDatabaseWin.h:
3205         Add load manually parameter.
3206         
3207         * plugins/win/PluginStreamWin.cpp:
3208         (WebCore::PluginStreamWin::stop):
3209         If we're loading manually, cancel the main resource load.
3210          
3211         (WebCore::PluginStreamWin::destroyStream):
3212         Don't disconnect the stream if we're loading manually.
3213         
3214         * plugins/win/PluginViewWin.cpp:
3215         (WebCore::PluginViewWin::setFrameGeometry):
3216         Always call updateWindow()
3217         
3218         (WebCore::PluginViewWin::PluginViewWin):
3219         Initialize loadManually.
3220         
3221         (WebCore::PluginViewWin::init):
3222         Don't set the width and height of the window here since it will make the plug-in HWND show briefly
3223         before it's been positioned.
3224         
3225         (WebCore::PluginViewWin::didReceiveResponse):
3226         Create the manual stream.
3227         
3228         (WebCore::PluginViewWin::didReceiveData):
3229         (WebCore::PluginViewWin::didFinishLoading):
3230         (WebCore::PluginViewWin::didFail):
3231         Call through to the manual stream.
3232         
3233         * plugins/win/PluginViewWin.h:
3234
3235 2007-09-16  Sam Weinig  <sam@webkit.org>
3236
3237         Reviewed by Maciej.
3238
3239         Fix for http://bugs.webkit.org/show_bug.cgi?id=14693
3240         document.width/height doesn't force layout
3241
3242         Test: fast/dom/document-width-height-force-layout.html
3243
3244         * html/HTMLDocument.cpp:
3245         (WebCore::HTMLDocument::width): Force layout.
3246         (WebCore::HTMLDocument::height): ditto.
3247         * html/HTMLDocument.h:
3248
3249 2007-09-15  Holger Hans Peter Freyther  <zecke@selfish.org>
3250
3251         Reviewed by Mark.
3252
3253         Convert the filenames from WebCore::String to the filesystem encoding
3254         and vice versa using g_filename_{from,to}_utf8 functions. Also add the needed NULL
3255         checks for the return values where glib and gtk+ can return NULL.
3256
3257         * platform/gdk/FileChooserGdk.cpp:
3258         (WebCore::convertToStringByAdoptingTheFilesystemRepresentation):
3259         (WebCore::FileChooser::openFileChooser):
3260         (WebCore::FileChooser::basenameForWidth):
3261
3262 2007-09-15  Holger Hans Peter Freyther  <zecke@selfish.org>
3263
3264         Reviewed by Mark.
3265
3266         Use the new WebCore::String::fromUTF8 function to create
3267         the labels.
3268
3269         * platform/gdk/LocalizedStringsGdk.cpp:
3270         (WebCore::submitButtonDefaultLabel):
3271         (WebCore::inputElementAltText):
3272         (WebCore::resetButtonDefaultLabel):
3273         (WebCore::searchableIndexIntroduction):
3274         (WebCore::fileButtonChooseFileLabel):
3275         (WebCore::fileButtonNoFileSelectedLabel):
3276         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
3277         (WebCore::contextMenuItemTagDownloadLinkToDisk):
3278         (WebCore::contextMenuItemTagCopyLinkToClipboard):
3279         (WebCore::contextMenuItemTagOpenImageInNewWindow):
3280         (WebCore::contextMenuItemTagDownloadImageToDisk):
3281         (WebCore::contextMenuItemTagCopyImageToClipboard):
3282         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
3283         (WebCore::contextMenuItemTagCopy):
3284         (WebCore::contextMenuItemTagGoBack):
3285         (WebCore::contextMenuItemTagGoForward):
3286         (WebCore::contextMenuItemTagStop):
3287         (WebCore::contextMenuItemTagReload):
3288         (WebCore::contextMenuItemTagCut):
3289         (WebCore::contextMenuItemTagPaste):
3290         (WebCore::contextMenuItemTagNoGuessesFound):
3291         (WebCore::contextMenuItemTagIgnoreSpelling):
3292         (WebCore::contextMenuItemTagLearnSpelling):
3293         (WebCore::contextMenuItemTagSearchWeb):
3294         (WebCore::contextMenuItemTagLookUpInDictionary):
3295         (WebCore::contextMenuItemTagOpenLink):
3296         (WebCore::contextMenuItemTagIgnoreGrammar):
3297         (WebCore::contextMenuItemTagSpellingMenu):
3298         (WebCore::contextMenuItemTagShowSpellingPanel):
3299         (WebCore::contextMenuItemTagCheckSpelling):
3300         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
3301         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
3302         (WebCore::contextMenuItemTagFontMenu):
3303         (WebCore::contextMenuItemTagBold):
3304         (WebCore::contextMenuItemTagItalic):
3305         (WebCore::contextMenuItemTagUnderline):
3306         (WebCore::contextMenuItemTagOutline):
3307         (WebCore::contextMenuItemTagWritingDirectionMenu):
3308         (WebCore::contextMenuItemTagDefaultDirection):
3309         (WebCore::contextMenuItemTagLeftToRight):
3310         (WebCore::contextMenuItemTagRightToLeft):
3311         (WebCore::contextMenuItemTagInspectElement):
3312         (WebCore::searchMenuNoRecentSearchesText):
3313         (WebCore::searchMenuRecentSearchesText):
3314         (WebCore::searchMenuClearRecentSearchesText):
3315
3316 2007-09-15  Holger Hans Peter Freyther  <zecke@selfish.org>
3317
3318         Reviewed by Mark.
3319
3320         Add WebCore::String::fromUTF8 to convert from UTF-8
3321         to a WebCore::String. This is meant to be used by
3322         the Gtk+ port and the signature and implementation
3323         is similiar to the one of DeprecatedString.
3324
3325         * platform/PlatformString.h:
3326         * platform/String.cpp:
3327         (WebCore::String::fromUTF8):
3328
3329 2007-09-13  Holger Hans Peter Freyther  <zecke@selfish.org>
3330
3331         Reviewed by Anders.
3332
3333         Implement the fileExists and deleteFile functions
3334         using glib.
3335
3336         * WebCore.pro:
3337         * platform/gdk/FileSystemGdk.cpp: Added.
3338         (WebCore::fileExists):
3339         * platform/gdk/TemporaryLinkStubs.cpp:
3340
3341 2007-09-16  David Harrison  <harrison@apple.com>
3342
3343         Reviewed by Darin.
3344
3345         <rdar://problem/5472125> REGRESSION (9A535-9A548): No VO cursor shown when navigating in a mail message body
3346
3347         The problem was that the visible units code was mishandling non-editable content, generating null
3348         VisiblePositions instead of the actual boundary VisiblePositions.
3349         
3350         Updated tests:
3351         * fast/dom/Window/window-xy-properties-expected.txt:
3352         * fast/dom/plugin-attributes-enumeration-expected.txt:
3353         * fast/events/onerror-bubbling-expected.txt:
3354         * fast/events/related-target-expected.txt:
3355         * fast/forms/select-namedItem-expected.txt:
3356         * fast/table/incomplete-table-in-fragment-2-expected.txt:
3357         * fast/table/incomplete-table-in-fragment-hang-expected.txt:
3358         * fast/table/large-rowspan-crash-expected.txt:
3359         * plugins/embed-attributes-setting-expected.txt:
3360        
3361         Source Changes:
3362         * editing/VisiblePosition.cpp:
3363         (WebCore::VisiblePosition::next):
3364         (WebCore::VisiblePosition::previous):
3365         (WebCore::VisiblePosition::honorEditableBoundaryAtOrBefore):
3366         (WebCore::VisiblePosition::honorEditableBoundaryAtOrAfter):
3367         Rename firstEditablePositionAtOrAfter to honorEditableBoundaryAtOrAfter.
3368         Rename firstEditablePositionAtOrBefore to honorEditableBoundaryAtOrBefore.
3369         Changed these two functions to handle non-editable positions.
3370         
3371         * editing/VisiblePosition.h:
3372         * editing/visible_units.cpp:
3373         (WebCore::previousWordPosition):
3374         (WebCore::nextWordPosition):
3375         (WebCore::positionAvoidingFirstPositionInTable):
3376         (WebCore::startPositionForLine):
3377         (WebCore::startOfLine):
3378         (WebCore::endOfLine):
3379         (WebCore::previousSentencePosition):
3380         (WebCore::nextSentencePosition):
3381         Rename firstEditablePositionAtOrAfter to honorEditableBoundaryAtOrAfter.
3382         Rename firstEditablePositionAtOrBefore to honorEditableBoundaryAtOrBefore.
3383         Also, startOfLine() now calls positionAvoidingFirstPositionInTable() in the empty block early return case.
3384         positionAvoidingFirstPositionInTable() was the logic startOfLine() used in the normal case. Now in a reusable function.
3385
3386 2007-09-14  Oliver Hunt  <oliver@apple.com>
3387
3388         Reviewed by Adam.
3389
3390         Mac doesn't have any kind of not implemented macro, so we'll actually implement
3391         fileSize.
3392
3393         * platform/mac/FileSystemMac.mm:
3394         (WebCore::fileSize):
3395
3396 2007-09-14  Timothy Hatcher  <timothy@apple.com>
3397
3398         Initialize m_dialogArguments to 0. Fixes the newly crashing layout tests.
3399
3400         * bindings/js/kjs_window.cpp:
3401         (KJS::WindowPrivate::WindowPrivate):
3402
3403 2007-09-14  Oliver Hunt  <oliver@apple.com>
3404
3405         Reviewed by Brady, John H.
3406
3407         <rdar://problem/5483632> File system operation wrappers are unimplemented on windows
3408         
3409         Implement Windows versions of fileExists and deleteFile. 
3410         Also corrects fileSize to use a 64-bit version of stat.
3411
3412         * platform/win/FileSystemWin.cpp:
3413         (WebCore::fileSize):  
3414           Renamed argument to be more consistent with others.
3415           And converted to _stat32i64 to allow 64-bit filesizes
3416         (WebCore::fileExists):
3417         (WebCore::deleteFile):
3418         * platform/win/TemporaryLinkStubs.cpp:
3419
3420 2007-09-14  Oliver Hunt  <oliver@apple.com>
3421
3422         Reviewed by Sam and Geoff.
3423
3424         <rdar://problem/5333272> Cannot upload files when path contains 
3425         non-ascii/multibyte characters
3426
3427         We can't use _stat to determine file size on Windows as it may not 
3428         correctly handle multibyte characters, so we have to use _wstat.
3429         
3430         In deference to the fact that we may one day use the FormDataStreamCFNet.cpp
3431         on Mac i've wrapped the call to _wstat with a generic fileSize
3432         method in FileSystem.h
3433
3434         * WebCore.vcproj/WebCore.vcproj:
3435         * platform/FileSystem.h:
3436         * platform/network/cf/FormDataStreamCFNet.cpp:
3437         * platform/win/FileSystemWin.cpp: Added.
3438         (WebCore::setHTTPBody):
3439         * platform/gdk/TemporaryLinkStubs.cpp:
3440         * platform/mac/FileSystemMac.mm:
3441         (WebCore::fileSize):
3442         * platform/qt/TemporaryLinkStubs.cpp:
3443
3444 2007-09-14  Timothy Hatcher  <timothy@apple.com>
3445
3446         Reviewed by Sam.
3447
3448         <rdar://problem/5472970> REGRESSION (r24276): TinyMCE popups show an empty window with no content
3449
3450         Accessing the document of a window before the load finished would cause the window
3451         object to hold onto the initial empty document, and never switch over to the real document
3452         once the load finished. This regression was caused by r24276 which added a check to prevent
3453         clearing the window object when the load finished. The absence of this clear allowed the
3454         dialogArguments set with showModalDialog to persist on the window after the load. However,
3455         not clearing the window would keep other properties (and the empty document object) around.
3456
3457         So the fix is to store away the dialog arguments that were passed to showModalDialog and
3458         put them back on the window object in the dialogArguments property each time
3459         the window is cleared.
3460
3461         * bindings/js/kjs_window.cpp:
3462         (KJS::createWindow): No longer put dialogArguments on the window here.
3463         (KJS::showModalDialog): Put dialogArguments on the window and call
3464         setDialogArgumentsAndReturnValueSlot to remember the arguments.
3465         (KJS::Window::clear): Put m_dialogArguments back on the window as dialogArguments.
3466         (KJS::WindowFunc::callAsFunction): Call the new setDialogArgumentsAndReturnValue.
3467         (KJS::Window::setDialogArgumentsAndReturnValue): Store the arguments in m_dialogArguments.
3468         * bindings/js/kjs_window.h: Rename setReturnValueSlot to setDialogArgumentsAndReturnValueSlot.
3469         * manual-tests/modal-dialog-arguments.html: Confirmed that this test still passes.
3470
3471         Reverted r24276 which was all the changes in FrameLoader.cpp and FrameLoader.h.
3472
3473         * loader/FrameLoader.cpp:
3474         (WebCore::FrameLoader::FrameLoader): Remove m_shouldClearWindowProperties.
3475         (WebCore::FrameLoader::createWindow): Remove the call to setShouldClearWindowProperties.
3476         (WebCore::FrameLoader::clear): No longer check m_shouldClearWindowProperties, clear the
3477         window whenever clearWindowProperties is set.
3478         (WebCore::FrameLoader::begin): Remove m_shouldClearWindowProperties.
3479         (WebCore::FrameLoader::open): Ditto.
3480         * loader/FrameLoader.h: Remove m_shouldClearWindowProperties.
3481
3482 2007-09-14  Brady Eidson  <beidson@apple.com>
3483
3484         How about a build fix that works on *all* platforms?
3485
3486         * platform/Threading.h:
3487         (WebCore::initializeThreading):
3488
3489 2007-09-14  Brady Eidson  <beidson@apple.com>
3490
3491         Roll out my previous build fix and just make the stupid thing inline
3492         (I knew there was something easier but oh boy, no coffee yet... weinig?)
3493
3494 2007-09-14  Brady Eidson  <beidson@apple.com>
3495
3496         Rubberstamped by Mark Rowe
3497
3498         Add the logging channel I just created to the initialize list on Mac
3499
3500         * platform/mac/LoggingMac.mm:
3501         (WebCore::InitializeLoggingChannelsIfNecessary):
3502
3503 2007-09-14  Brady Eidson  <beidson@apple.com>
3504
3505         Build fix
3506
3507         That method can't go in the header, apparently
3508
3509         * platform/Threading.h:
3510         * platform/gdk/TemporaryLinkStubs.cpp:
3511         (WebCore::initializeThreading):
3512         * platform/mac/Threading.mm:
3513         (WebCore::initializeThreading):
3514         * platform/qt/TemporaryLinkStubs.cpp:
3515         (WebCore::initializeThreading):
3516
3517 2007-09-14  Brady Eidson  <beidson@apple.com>
3518
3519         Reviewed by Darin
3520
3521         -Add callOnMainThread() implementation to Windows
3522
3523         * WebCore.vcproj/WebCore.vcproj:
3524         
3525         * loader/icon/IconDatabase.cpp:
3526         (WebCore::IconDatabase::open): Call initializeThreading() from the main thread before kicking off the secondary thread
3527         
3528         * platform/Logging.cpp: Added Threading logging channel
3529         (WebCore::):
3530         * platform/Logging.h: Ditto
3531         
3532         * platform/Threading.h:
3533         (WebCore::initializeThreading): Added - only needs Windows impl for now
3534         * platform/win/ThreadingWin.cpp: Added.
3535         (WebCore::callFunctionsOnMainThread): Calls each function currently in the main-thread queue
3536         (WebCore::ThreadingWindowWndProc):
3537         (WebCore::initializeThreading): Creates a message-only window to use for callOnMainThread()
3538         (WebCore::callOnMainThread): Queues the function to be called and posts a message to the threading
3539           window such that the function-call-queue can be addressed
3540         
3541         * platform/win/TemporaryLinkStubs.cpp:
3542         (WebCore::signedPublicKeyAndChallengeString):
3543         
3544 2007-09-14  Anders Carlsson  <andersca@apple.com>
3545
3546         Reviewed by Adam.
3547
3548         <rdar://problem/5316743>
3549         Safari does not handle filename parameter of content-disposition
3550         
3551         Use CFURLResponseCopySuggestedFilename instead of our own hand-rolled implementation. 
3552         
3553         While we do return the correct filename in all cases I've tried, using CFNetwork is better because
3554         it might handle corner cases that we don't.