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