46e413814e7b51eddb3aa01e54b7d5b6b49ec070
[WebKit-https.git] / WebCore / ChangeLog
1 2007-12-18  Rodney Dawes  <dobey@wayofthemonkey.com>
2
3         Reviewed by Darin Adler.
4
5         Handle EINTR when set by select() and try the select() again
6         http://bugs.webkit.org/show_bug.cgi?id=16071
7
8         * platform/network/curl/ResourceHandleManager.cpp:
9         (ResourceHandleManager::downloadTimerCallback):
10
11 2007-12-18  Dan Bernstein  <mitz@apple.com>
12
13         Reviewed by Dave Hyatt.
14
15         - avoid the simplified Chinese font linking code for characters that are
16           not in any Windows code page
17
18         * platform/graphics/win/FontCacheWin.cpp:
19         (WebCore::FontCache::getFontDataForCharacters):
20
21 2007-12-18  Brady Eidson <beidson@apple.com>
22
23         Reviewed by Adele
24
25         <rdar://problem/5525770> REGRESSION: HTTP Auth protected favicon request results in a password sheet
26
27         Some http-auth protected sites have the main resource(s) unprotected, but many subresources are
28         protected by authentication.  Occasionally one can view the main page of a site but the favicon
29         is behind the iron curtain - in these cases, we should *not* prompt for a username and password
30         solely for the favicon.
31
32         * loader/ResourceLoader.h: Make didReceiveAuthenticationChallenge virtual
33
34         * loader/SubresourceLoader.cpp:
35         (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Now that this method
36           is virtual from ResourceLoader, SubresourceLoader can override.  First call to the 
37           SubresourceLoaderClient.  If they cancel the resource load, return early. Otherwise, let
38           ResourceLoader work its magic (resulting in the auth sheet coming down)
39         * loader/SubresourceLoader.h:
40
41         * loader/SubresourceLoaderClient.h:
42         (WebCore::SubresourceLoaderClient::didReceiveAuthenticationChallenge):
43
44         * loader/icon/IconLoader.cpp:
45         (WebCore::IconLoader::didReceiveAuthenticationChallenge): Cancel the resource load, since we should
46           never prompt the user for credentials just for a favicon.
47         * loader/icon/IconLoader.h:
48
49 2007-12-18  John Sullivan  <sullivan@apple.com>
50
51         Reviewed by Brady
52         
53         - fixed <rdar://problem/5652380> Initial prompt shows "" for databases with no user-visible name
54
55         * storage/DatabaseTracker.cpp:
56         (WebCore::DatabaseTracker::canEstablishDatabase):
57         pass "name" instead of "displayName" if there's no displayName
58
59 2007-12-17  Dan Bernstein  <mitz@apple.com>
60
61         Reviewed by Maciej Stachowiak.
62
63         - restore ButtonFace and ThreeDFace to their previous values for non-Mac
64           platforms. The Mac port also uses the same values for now instead
65           of NSColor-based ones.
66
67         * rendering/RenderTheme.cpp:
68         (WebCore::RenderTheme::systemColor):
69
70 2007-12-17  Rodney Dawes  <dobey@wayofthemonkey.com>
71
72         Reviewed by Maciej Stachowiak.
73
74         Define WTF_USE_NPOBJECT and WTF_USE_JAVASCRIPTCORE_BINDINGS for GTK+
75         Add required Frame::createScriptInstanceForWidget to FrameGtk
76
77         * config.h:
78         * page/gtk/FrameGtk.cpp (Frame::createScriptInstanceForWidget):
79
80 2007-12-17  Alice Liu  <alice.liu@apple.com>
81
82         Reviewed by Adam.
83
84         Fixed <rdar://5566435> window with no scrollbars can be scrolled
85
86         * platform/win/ScrollViewWin.cpp:
87         (WebCore::ScrollView::maximumScroll):
88         corrected maximumScroll() to account for scrolling not allowed.
89         (WebCore::ScrollView::wheelEvent):
90
91 2007-12-14  Juan A. Suarez Romero  <jasuarez@igalia.com>
92
93         Reviewed by Alp Toker.
94
95         http://bugs.webkit.org/show_bug.cgi?id=16042
96         [GTK] Eliminate webkit_init()
97
98         Move webkit initialization to WebView class init.
99
100         * WebCore.pro:
101
102 2007-12-17  Jon Honeycutt  <jhoneycutt@apple.com>
103
104         Reviewed by Darin.
105
106         <rdar://problem/5651291> REGRESSION: Flash content doesn't display
107         (www.adobe.com)
108
109         We were passing NPEvent** instead of NPEvent* to NPP_HandleEvent.
110
111         * plugins/win/PluginViewWin.cpp:
112         (WebCore::PluginViewWin::dispatchNPEvent): Changed to take NPEvent&, not
113         NPEvent*
114         (WebCore::PluginViewWin::paint): Pass NPEvent, not NPEvent*
115         (WebCore::PluginViewWin::handleKeyboardEvent): same
116         (WebCore::PluginViewWin::handleMouseEvent): same
117         * plugins/win/PluginViewWin.h:
118
119 2007-12-17  Alexey Proskuryakov  <ap@webkit.org>
120
121         Reviewed by Darin.
122
123         Live to the promise of never making AppKit special character codes visible via DOM.
124
125         Test: fast/events/arrow-keys-on-body.html
126
127         * page/EventHandler.cpp:
128         (WebCore::EventHandler::keyEvent): Check for empty keypress characters after disambiguation,
129         to let quirks-aware code strip special charactrers.
130         * platform/mac/KeyEventMac.mm:
131         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): If not in keyboard event quirks
132         mode, remove the text if it's a special character.
133
134 2007-12-17  Mark Rowe  <mrowe@apple.com>
135
136         Reviewed by Darin Adler.
137
138         Fix incorrect array size and incorrect array index in convertNSColorToColor.
139
140         * rendering/RenderThemeMac.mm:
141         (WebCore::convertNSColorToColor):
142
143 2007-12-17  Darin Adler  <darin@apple.com>
144
145         Reviewed by Mark Rowe.
146
147         - fix http://bugs.webkit.org/show_bug.cgi?id=16468
148           REGRESSION(r28781): Crash running storage/transaction_callback_exception_crash.html
149
150         * storage/DatabaseThread.cpp:
151         (WebCore::DatabaseThread::dispatchNextTaskIdentifier): Use a RefPtr for the database
152         because there's no guarantee it won't lose its last reference otherwise.
153
154 2007-12-17  Dan Bernstein  <mitz@apple.com>
155
156         Reviewed by Maciej Stachowiak.
157
158         - fix <rdar://problem/5333260> Some Chinese characters in Text Encoding menu are bold, others are not
159           and <rdar://problem/5280188> Chinese text looks worse on Safari for Windows cf. Safari for Mac
160
161         * platform/graphics/win/FontCacheWin.cpp:
162         (WebCore::FontCache::getFontDataForCharacters): To ensure that font
163         linking gives consistent results for characters that are exclusive to
164         the simplified Chinese code page and characters that belong to that
165         code page and other code pages, always ask to map to simplified Chinese
166         alone first.
167
168 2007-12-17  Christian Dywan  <christian@twotoasts.de>
169
170         Reviewed by Alp Toker.
171
172         http://bugs.webkit.org/show_bug.cgi?id=16378
173         Implement Icon for Gtk
174
175         Icon provides a GdkPixbuf containing a themed icon.
176         The icon theme is probed for an icon name according to the
177         Icon Naming Specification or conventional Gnome icon names respectively.
178
179         See http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
180
181         * platform/graphics/Icon.h:
182         * platform/graphics/gtk/IconGtk.cpp:
183         (WebCore::Icon::~Icon):
184         (WebCore::lookupIconName):
185         (WebCore::Icon::newIconForFile):
186         (WebCore::Icon::paint):
187
188 2007-12-16  Sam Weinig  <sam@webkit.org>
189
190         Reviewed by Mitz.
191
192         Fix for http://bugs.webkit.org/show_bug.cgi?id=16466
193         Move the JS Location object to its own file
194
195         - Move Location into its own file and rename it JSLocation.
196
197         * DerivedSources.make:
198         * WebCore.pro:
199         * WebCore.vcproj/WebCore.vcproj:
200         * WebCore.xcodeproj/project.pbxproj:
201         * WebCoreSources.bkl:
202         * bindings/js/JSDocumentCustom.cpp:
203         * bindings/js/JSLocation.cpp: Copied from WebCore/bindings/js/kjs_window.cpp.
204         (WebCore::):
205         (WebCore::JSLocation::JSLocation):
206         (WebCore::JSLocation::getValueProperty):
207         (WebCore::JSLocation::getOwnPropertySlot):
208         (WebCore::JSLocation::put):
209         (WebCore::JSLocationProtoFuncReplace::callAsFunction):
210         (WebCore::JSLocationProtoFuncReload::callAsFunction):
211         (WebCore::JSLocationProtoFuncAssign::callAsFunction):
212         (WebCore::JSLocationProtoFuncToString::callAsFunction):
213         * bindings/js/JSLocation.h: Copied from WebCore/bindings/js/kjs_window.h.
214         (WebCore::JSLocation::):
215         (WebCore::JSLocation::frame):
216         (WebCore::JSLocation::classInfo):
217         * bindings/js/kjs_window.cpp:
218         (KJS::Window::location):
219         * bindings/js/kjs_window.h:
220         * history/CachedPage.cpp:
221
222 2007-12-16  Dan Bernstein  <mitz@apple.com>
223
224         Reviewed by Sam Weinig.
225
226         - make 'cursor: copy' and 'cursor: none' work.
227
228         Already covered by manual-tests/cursor.html
229
230         * rendering/RenderStyle.h: Increase the _cursor_style field to 6 bits,
231         needed for the 33rd and 34th cursor values.
232
233 2007-12-16  Mark Rowe  <mrowe@apple.com>
234
235         Reviewed by Maciej Stachowiak.
236
237         Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
238
239         * WebCore.base.exp:
240         * WebCore.xcodeproj/project.pbxproj:
241         * loader/NetscapePlugInStreamLoader.h:
242         * loader/mac/NetscapePlugInStreamLoaderMac.mm: Removed.
243         * loader/mac/WebPlugInStreamLoaderDelegate.h: Moved to WebKit.
244
245 2007-12-16  Sam Weinig  <sam@webkit.org>
246
247         Reviewed by Maciej.
248
249         Yet more of http://bugs.webkit.org/show_bug.cgi?id=16385
250         Cleanup kjs_window
251
252         - Move ScheduledAction into its own file and put it in the WebCore namespace.
253
254         * WebCore.pro:
255         * WebCore.vcproj/WebCore.vcproj:
256         * WebCore.xcodeproj/project.pbxproj:
257         * WebCoreSources.bkl:
258         * bindings/js/PausedTimeouts.cpp:
259         * bindings/js/PausedTimeouts.h:
260         * bindings/js/ScheduledAction.cpp: Copied from bindings/js/kjs_window.cpp.
261         (WebCore::ScheduledAction::ScheduledAction):
262         (WebCore::ScheduledAction::execute):
263         * bindings/js/ScheduledAction.h: Copied from bindings/js/kjs_window.h.
264         (WebCore::ScheduledAction::ScheduledAction):
265         * bindings/js/kjs_window.cpp:
266         (KJS::DOMWindowTimer::DOMWindowTimer):
267         (KJS::DOMWindowTimer::action):
268         (KJS::DOMWindowTimer::takeAction):
269         (KJS::Window::installTimeout):
270         (KJS::Window::timerFired):
271         * bindings/js/kjs_window.h:
272
273 2007-12-16  Alp Toker  <alp@atoker.com>
274
275         Reviewed by Maciej.
276
277         http://bugs.webkit.org/show_bug.cgi?id=16356
278         [GTK] Integrate GStreamer video with the graphics backend
279
280         Integrate the GStreamer media backend with the Cairo graphics backend.
281         There are still some issues: Data is copied more often than necessary,
282         and repaint() is not called, causing transformed video not to update
283         sometimes.
284
285         * WebCore.pro:
286         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
287         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
288         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
289         (WebCore::MediaPlayerPrivate::currentTime):
290         (WebCore::MediaPlayerPrivate::setEndTime):
291         (WebCore::MediaPlayerPrivate::seeking):
292         (WebCore::MediaPlayerPrivate::naturalSize):
293         (WebCore::MediaPlayerPrivate::setMuted):
294         (WebCore::MediaPlayerPrivate::setRect):
295         (WebCore::MediaPlayerPrivate::setVisible):
296         (WebCore::MediaPlayerPrivate::repaint):
297         (WebCore::MediaPlayerPrivate::paint):
298         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
299         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
300         * platform/graphics/gtk/VideoSinkGStreamer.cpp: Added.
301         (webkit_video_sink_base_init):
302         (webkit_video_sink_init):
303         (webkit_video_sink_idle_func):
304         (webkit_video_sink_render):
305         (webkit_video_sink_set_caps):
306         (webkit_video_sink_dispose):
307         (webkit_video_sink_finalize):
308         (webkit_video_sink_set_property):
309         (webkit_video_sink_get_property):
310         (webkit_video_sink_stop):
311         (webkit_video_sink_class_init):
312         (webkit_video_sink_new):
313         (webkit_video_sink_set_surface):
314         (plugin_init):
315         * platform/graphics/gtk/VideoSinkGStreamer.h: Added.
316
317 2007-12-16  Mark Rowe  <mrowe@apple.com>
318
319         Mac build fix.
320
321         * WebCore.xcodeproj/project.pbxproj: Remove NetscapePlugInStreamLoader.cpp from the WebCore target.
322         Mac currently has its own implementation in NetscapePlugInStreamLoaderMac.mm which conflicts with the
323         new shared implementation.
324
325 2007-12-16  Rodney Dawes  <dobey@wayofthemonkey.com>
326
327         Reviewed by Maciej Stachowiak.
328
329         http://bugs.webkit.org/show_bug.cgi?id=16389
330         Bug 16389: Common Implementation of NetscapePlugInStreamLoader
331
332         * WebCore.vcproj/WebCore.vcproj: Remove NetscapePlugInStreamLoaderWin.cpp.
333         * loader/NetscapePlugInStreamLoader.cpp: Copy method implementations from NetscapePlugInStreamLoaderWin.cpp.
334         * loader/win/NetscapePlugInStreamLoaderWin.cpp: Removed.
335
336 2007-12-16  Grace Kloba  <klobag@gmail.com>
337
338         Reviewed by Darin Adler.
339
340         Fix http://bugs.webkit.org/show_bug.cgi?id=16433.
341         Bug 16433: LOW_BANDWIDTH_DISPLAY build is broken
342
343         * dom/Document.cpp:
344         (WebCore::Document::Document):
345         * loader/FrameLoader.cpp:
346         (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
347         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
348
349 2007-12-16  Darin Adler  <darin@apple.com>
350
351         Reviewed by Maciej.
352
353         - fix <rdar://problem/5636065> First form of SQLTransaction.executeSql() fails with TYPE_ERROR dom exception
354
355         Test: storage/execute-sql-args.html
356
357         * bindings/js/JSSQLTransactionCustom.cpp:
358         (WebCore::JSSQLTransaction::executeSql): Added exception handling code so that once an
359         exception happens, we won't try to do any more argument processing. Changed processing
360         of the second argument so that we allow an undefined value or null, and simply omit the
361         array. Changed processing of the second argument so that we don't require an actual
362         JavaScript array. Instead, as with the JavaScript array operations themselves, we use
363         the length property and corresponding numeric properties of the object, allowing other
364         objects to act as arrays. Changed processing of the third and fourth arguments to
365         allow the undefined value as well as null; we check the value of the argument rather
366         than looking at the size of the passed-in arguments list.
367
368 2007-12-16  Sam Weinig  <sam@webkit.org>
369
370         Reviewed by Darin.
371
372         More of http://bugs.webkit.org/show_bug.cgi?id=16385
373         Cleanup kjs_window
374
375         - Move PausedTimeouts into its own file and put it in the WebCore namespace.
376
377         * WebCore.pro:
378         * WebCore.vcproj/WebCore.vcproj:
379         * WebCore.xcodeproj/project.pbxproj:
380         * WebCoreSources.bkl:
381         * bindings/js/PausedTimeouts.cpp: Copied from bindings/js/kjs_window.cpp.
382         * bindings/js/PausedTimeouts.h: Copied from bindings/js/kjs_window.h.
383         * bindings/js/kjs_window.cpp:
384         (KJS::Window::pauseTimeouts):
385         * bindings/js/kjs_window.h:
386         * history/CachedPage.cpp:
387         * history/CachedPage.h:
388         * page/Chrome.cpp:
389
390 2007-12-16  Beth Dakin  <bdakin@apple.com>
391
392         Reviewed by Geoff.
393
394         Make relative-size SVGs work in border-image.
395
396         * rendering/RenderBox.cpp:
397         (WebCore::RenderBox::calculateBackgroundSize):
398         * rendering/RenderObject.cpp:
399         (WebCore::RenderObject::paintBorderImage):
400
401 2007-12-16  Darin Adler  <darin@apple.com>
402
403         - fix Tiger build (my fault it was broken)
404
405         * rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger.
406
407 2007-12-16  Andrew Wellington  <proton@wiretapped.net>
408
409         Reviewed by Darin.
410         
411         http://bugs.webkit.org/show_bug.cgi?id=6129
412         Incomplete implementation of CSS 2.1 system colors
413
414         Test: fast/css/css2-system-color.html
415         
416         Based on original patch by Rob Buis.
417         
418         System colors are retrieved from NSColor as appropriate. If the color is a pattern color
419         (and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the
420         color and sample that to get a solid color.
421
422         * css/CSSStyleSelector.cpp:
423         (WebCore::):
424         (WebCore::colorForCSSValue):
425         * rendering/RenderTheme.cpp:
426         (WebCore::RenderTheme::systemColor):
427         * rendering/RenderTheme.h:
428         * rendering/RenderThemeMac.h:
429         * rendering/RenderThemeMac.mm:
430         (WebCore::getSystemColor):
431         (WebCore::RenderThemeMac::platformColorsDidChange):
432         (WebCore::RenderThemeMac::systemColor):
433
434 2007-12-16  Dan Bernstein  <mitz@apple.com>
435
436         Reviewed by Darin Adler.
437
438         - fix http://bugs.webkit.org/show_bug.cgi?id=16426
439           Divs with overflow:auto: scrollbars not correctly updated when contents change
440
441         Test: fast/overflow/scrollbar-position-update.html
442
443         * platform/mac/PlatformScrollBarMac.mm:
444         (WebCore::PlatformScrollbar::updateThumbProportion): Update the
445         NSScroller's value for the new proportions.
446         * rendering/RenderLayer.cpp:
447         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary
448         repaint(). Scrollbars repaint themselves as needed.
449
450 2007-12-16  Alexey Proskuryakov  <ap@webkit.org>
451
452         Reviewed by Darin.
453
454         http://bugs.webkit.org/show_bug.cgi?id=14140
455         <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
456
457         * dom/KeyboardEvent.h:
458         (WebCore::KeypressCommand::KeypressCommand):
459         (WebCore::KeyboardEvent::keypressCommands):
460         Change stored command class to preserve complete information about commands.
461
462         * editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion
463         command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText:
464         as a command.
465
466         * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting
467         a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again.
468
469 2007-12-16  Alexey Proskuryakov  <ap@webkit.org>
470
471         Reviewed by Darin.
472
473         http://bugs.webkit.org/show_bug.cgi?id=16462
474         REGRESSION: access keys broken on Windows
475
476         * page/EventHandler.cpp:
477         (WebCore::EventHandler::handleAccessKey):
478         (WebCore::EventHandler::keyEvent):
479         * page/EventHandler.h:
480         Make handleAccessKey a class method; rely on WebKit to call it on Windows and wxWidgets.
481
482 2007-12-16  Xan Lopez  <xan@gnome.org>
483
484         Reviewed by Alexey Proskuryakov.
485
486         http://bugs.webkit.org/show_bug.cgi?id=16454
487         [GTK] Text input doesn't work consistently on PPC
488
489         * platform/gtk/KeyEventGtk.cpp:
490         (WebCore::singleCharacterString):
491
492         UChar is 2 bytes (UTF-16), so transform accordingly from
493         gunichar (UCS-4). Fixes keyboard input on big endian systems.
494
495 2007-12-15  Darin Adler  <darin@apple.com>
496
497         Reviewed by Mark Rowe.
498
499         - better build fix for the problem affecting GTK and some other platforms
500           "this time for sure"
501
502         * WebCore.xcodeproj/project.pbxproj:
503         * bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here.
504         * bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header,
505         which won't work, declare the tables that are in the .lut.h file in the header.
506
507 2007-12-12  Kevin Watters  <kevin@dotsyntax.com>
508
509         Reviewed by Darin Adler.
510
511         Fixed the Wx port's FontPlatformData for use in HashTable.
512         - FontPlatformData(Deleted) made unequal to FontPlatformData()
513
514         * platform/graphics/wx/FontPlatformData
515
516 2007-12-15  Dan Bernstein  <mitz@apple.com>
517
518         Reviewed by Darin Adler.
519
520         - fix <rdar://problem/5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs
521
522         * platform/graphics/win/FontCacheWin.cpp:
523         (WebCore::metaFileEnumProc): Added. Called during metafile record
524         enumeration and extracts the font from the create font record.
525         (WebCore::FontCache::getFontDataForCharacters): If font linking fails,
526         let Uniscribe draw the characters and see what font it chooses.
527
528 2007-12-15  Darin Adler  <darin@apple.com>
529
530         * WebCore.pro: Roll my last change out. Was wrong and didn't fix the build.
531
532 2007-12-15  Darin Adler  <darin@apple.com>
533
534         Another try at a GTK build fix.
535
536         * WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES.
537
538 2007-12-15  Sam Weinig  <sam@webkit.org>
539
540         Force windows to regenerate COM DOM bindings.
541
542         * WebCore.vcproj/build-generated-files.sh: Add license. 
543         * bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst.
544
545 2007-12-15  Sam Weinig  <sam@webkit.org>
546
547         Fix Windows and wx builds.
548
549         * WebCore.vcproj/WebCore.vcproj:
550         * WebCoreSources.bkl:
551
552 2007-12-15  Mark Rowe  <mrowe@apple.com>
553
554         Gtk build fix.  Add JSEventTargetBase.cpp to SOURCES.
555
556         * WebCore.pro:
557
558 2007-12-15  Sam Weinig  <sam@webkit.org>
559
560         Fix wx build.
561
562         * WebCoreSources.bkl:
563
564 2007-12-15  Nikolas Zimmermann  <zimmermann@kde.org>
565
566         Not reviewed. Build fix for Qt/Gtk.
567
568         * WebCore.pro: Include JSEventTargetBase.lut.h in generation
569
570 2007-12-15  Nikolas Zimmermann  <zimmermann@kde.org>
571
572         Reviewed by Eric.
573
574         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch)
575
576         Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down
577         in the base class. Applied the same refactorization to EventTargetNode.
578
579         This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance
580         to share as much code as possible with the EventTargetNode classes.
581
582         * DerivedSources.make:
583         * WebCore.xcodeproj/project.pbxproj:
584         * bindings/js/JSEventTargetBase.cpp: Added.
585         (WebCore::retrieveEventTargetAndCorrespondingNode):
586         (WebCore::eventNameForPropertyToken):
587         * bindings/js/JSEventTargetBase.h: Added.
588         (WebCore::JSEventTargetProperties::):
589         (WebCore::JSEventTargetPrototypeFunctionBase::JSEventTargetPrototypeFunctionBase):
590         (WebCore::JSEventTargetPrototypeFunction::JSEventTargetPrototypeFunction):
591         (WebCore::):
592         (WebCore::::create):
593         (WebCore::JSEventTargetBase::JSEventTargetBase):
594         (WebCore::JSEventTargetBase::getValueProperty):
595         (WebCore::JSEventTargetBase::putValueProperty):
596         (WebCore::JSEventTargetBase::getOwnPropertySlot):
597         (WebCore::JSEventTargetBase::put):
598         (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
599         (WebCore::JSEventTargetPrototype::self):
600         (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
601         (WebCore::JSEventTargetPrototype::classInfo):
602         * bindings/js/JSEventTargetNode.cpp:
603         (WebCore::JSEventTargetNode::getOwnPropertySlot):
604         (WebCore::JSEventTargetNode::getValueProperty):
605         (WebCore::JSEventTargetNode::put):
606         (WebCore::JSEventTargetNode::putValueProperty):
607         (WebCore::JSEventTargetNode::setListener):
608         (WebCore::toEventTargetNode):
609         * bindings/js/JSEventTargetNode.h:
610         (WebCore::JSEventTargetPrototypeInformation::prototypeClassName):
611         (WebCore::JSEventTargetPrototypeInformation::prototypeIdentifier):
612         * dom/EventTarget.cpp:
613         (WebCore::EventTarget::addEventListener):
614         (WebCore::EventTarget::removeEventListener):
615         (WebCore::EventTarget::dispatchGenericEvent):
616         (WebCore::EventTarget::removeAllEventListeners):
617         (WebCore::EventTarget::insertedIntoDocument):
618         (WebCore::EventTarget::removedFromDocument):
619         (WebCore::EventTarget::handleLocalEvents):
620         (WebCore::EventTarget::applySVGEventTargetRules):
621         (WebCore::forbidEventDispatch):
622         (WebCore::allowEventDispatch):
623         (WebCore::eventDispatchForbidden):
624         * dom/EventTarget.h:
625         (WebCore::EventTarget::preDispatchEventHandler):
626         (WebCore::EventTarget::postDispatchEventHandler):
627         (WebCore::forbidEventDispatch):
628         (WebCore::allowEventDispatch):
629         * dom/EventTargetNode.cpp:
630         (WebCore::EventTargetNode::~EventTargetNode):
631         (WebCore::EventTargetNode::insertedIntoDocument):
632         (WebCore::EventTargetNode::removedFromDocument):
633         (WebCore::EventTargetNode::addEventListener):
634         (WebCore::EventTargetNode::removeEventListener):
635         (WebCore::EventTargetNode::removeAllEventListeners):
636         (WebCore::EventTargetNode::handleLocalEvents):
637         (WebCore::EventTargetNode::dispatchEvent):
638         (WebCore::EventTargetNode::dispatchWindowEvent):
639         * dom/EventTargetNode.h:
640         (WebCore::EventTargetNode::localEventListeners):
641         * svg/SVGElement.cpp:
642         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
643         (WebCore::SVGElement::dispatchEvent):
644
645 2007-12-15  Eric Seidel  <eric@webkit.org>
646
647         Reviewed by Oliver.
648         
649         Width of SVG elements not applied to container elements
650         http://bugs.webkit.org/show_bug.cgi?id=16305
651         Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced)
652         This is caused by poor factoring in the render tree.  RenderContainer probably should be a template.
653
654         svg/css/css-box-min-width.html
655
656         * rendering/RenderSVGRoot.cpp:
657         (WebCore::RenderSVGRoot::calcPrefWidths): Added.
658         * rendering/RenderSVGRoot.h:
659         * css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds
660
661 2007-12-15  David Kilzer  <ddkilzer@apple.com>
662
663         Fix comment after isSafeScript() was renamed to allowsAccessFrom().
664
665         * bindings/js/kjs_window.cpp:
666         (KJS::createWindow):
667
668 2007-12-15  Alp Toker  <alp@atoker.com>
669
670         Reviewed by Mark Rowe.
671
672         http://bugs.webkit.org/show_bug.cgi?id=16449
673         cairo_arc() functions hang or crash when passed inf as radius or start/end angle
674
675         Add checks. This matches a similar workaround for a CG bug in the CG
676         graphics backend: <rdar://problem/5189233>
677
678         Fixes:
679           fast/canvas/arc-crash.html
680           fast/canvas/canvas-with-incorrect-args.html
681
682         * platform/graphics/cairo/PathCairo.cpp:
683         (WebCore::Path::addArc):
684
685 2007-12-15  Alexey Proskuryakov  <ap@webkit.org>
686
687         Reviewed by Darin.
688
689         http://bugs.webkit.org/show_bug.cgi?id=16078
690         Google Maps zooming via the scroll wheel (almost) always zooms IN only.
691
692         * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent):
693         Ensure that delta is never rounded down to zero - we are getting values less than 1 from 
694         many mice on OS X, and Google Maps code assumes scrolling up if event.wheelDelta is zero.
695
696 2007-12-14  Dan Bernstein  <mitz@apple.com>
697
698         - Windows build fix
699
700         * WebCore.vcproj/WebCore.vcproj:
701
702 2007-12-14  Alp Toker  <alp@atoker.com>
703
704         GTK+/Qt build fix. Track added files in r28722.
705
706         * WebCore.pro:
707
708 2007-12-14  Sam Weinig  <sam@webkit.org>
709
710         Reviewed by Geoff.
711
712         Speed up getElementByClassName.
713         - This makes getElementByClassName 33% faster on the stress test
714           linked to at http://bugs.webkit.org/show_bug.cgi?id=15760.
715
716         * platform/text/StringImpl.cpp:
717         (WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII.
718
719 2007-12-14  Alp Toker  <alp@atoker.com>
720
721         Reviewed by Maciej.
722
723         http://bugs.webkit.org/show_bug.cgi?id=16432
724         [GTK] Update license headers
725
726         Consent has been given by the authors of these files to change license
727         to the LGPL as outlined in the bug report.
728
729         * platform/gtk/ClipboardGtk.cpp:
730         * platform/gtk/ContextMenuGtk.cpp:
731         * platform/gtk/ContextMenuItemGtk.cpp:
732         * platform/gtk/CookieJarGtk.cpp:
733         * platform/gtk/CursorGtk.cpp:
734         * platform/gtk/DragDataGtk.cpp:
735         * platform/gtk/DragImageGtk.cpp:
736         * platform/gtk/PasteboardGtk.cpp:
737         * platform/gtk/PlatformScreenGtk.cpp:
738         * platform/gtk/PlatformScrollBarGtk.cpp:
739         * platform/gtk/SearchPopupMenuGtk.cpp:
740         * platform/gtk/WidgetGtk.cpp:
741
742 2007-12-14  Darin Adler  <darin@apple.com>
743
744         Reviewed by Adele.
745
746         - fix http://bugs.webkit.org/show_bug.cgi?id=16442
747           navigation policy delegate gets called twice for each load
748
749         * loader/MainResourceLoader.cpp:
750         (WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy.
751         That's handled by FrameLoader.
752
753         * loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy
754         and continueAfterNavigationPolicy.
755
756 2007-12-14  Anders Carlsson  <andersca@apple.com>
757
758         Reviewed by Brady.
759
760         Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't
761         return nil in that case.
762         
763         * loader/FrameLoader.cpp:
764         (WebCore::FrameLoader::didExplicitOpen):
765
766 2007-12-14  David Smith  <catfish.man@gmail.com>
767
768         Reviewed by Mitz.
769
770         - fix http://bugs.webkit.org/show_bug.cgi?id=14955
771           Implement getElementsByClassName.
772
773         This patch also renames AtomicStringList to ClassNames to better reflect its actual use,
774         and takes advantage of admitting that it's class-specific to encapsulate class attribute 
775         parsing so it can be shared.  It also changes the class to use a Vector, rather than a linked
776         list to store the class names.
777
778         Tests: fast/dom/getElementsByClassName/001.html
779                fast/dom/getElementsByClassName/002.html
780                fast/dom/getElementsByClassName/003.html
781                fast/dom/getElementsByClassName/004.html
782                fast/dom/getElementsByClassName/005.html
783                fast/dom/getElementsByClassName/006.html
784                fast/dom/getElementsByClassName/007.html
785                fast/dom/getElementsByClassName/008.html
786                fast/dom/getElementsByClassName/009.html
787                fast/dom/getElementsByClassName/010.xml
788                fast/dom/getElementsByClassName/011.xml
789                fast/dom/getElementsByClassName/012.html
790                fast/dom/getElementsByClassName/013.html
791                fast/dom/getElementsByClassName/014.html
792                fast/dom/getElementsByClassName/array/001.html
793                fast/dom/getElementsByClassName/array/002.html
794                fast/dom/getElementsByClassName/array/003.html
795                fast/dom/getElementsByClassName/array/004.html
796                fast/dom/getElementsByClassName/dumpNodeList.html
797
798         * WebCore.xcodeproj/project.pbxproj:
799         * css/CSSStyleSelector.cpp:
800         (WebCore::CSSStyleSelector::matchRules):
801         (WebCore::CSSStyleSelector::checkOneSelector):
802         * dom/AtomicStringList.h: Removed.
803         * dom/ClassNames.cpp: Added.
804         (WebCore::ClassNames::contains):
805         (WebCore::ClassNames::parseClassAttribute):
806         * dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h.
807         (WebCore::ClassNames::ClassNames):
808         (WebCore::ClassNames::size):
809         (WebCore::ClassNames::clear):
810         (WebCore::ClassNames::operator[]):
811         (WebCore::isClassWhitespace):
812         * dom/ClassNodeList.cpp: Added.
813         (WebCore::ClassNodeList::ClassNodeList):
814         (WebCore::ClassNodeList::length):
815         (WebCore::ClassNodeList::item):
816         (WebCore::ClassNodeList::nodeMatches):
817         * dom/ClassNodeList.h: Added.
818         * dom/Document.cpp:
819         (WebCore::Document::getElementsByName):
820         (WebCore::Document::getElementsByClassName):
821         * dom/Document.h:
822         * dom/Document.idl:
823         * dom/Element.cpp:
824         (WebCore::Element::getClassNames):
825         (WebCore::Element::getElementsByClassName):
826         * dom/Element.h:
827         * dom/Element.idl:
828         * dom/NameNodeList.cpp:
829         (WebCore::NameNodeList::NameNodeList):
830         (WebCore::NameNodeList::item):
831         (WebCore::NameNodeList::nodeMatches):
832         * dom/NameNodeList.h:
833         * dom/NamedMappedAttrMap.cpp:
834         (WebCore::NamedMappedAttrMap::clearAttributes):
835         (WebCore::NamedMappedAttrMap::parseClassAttribute):
836         * dom/NamedMappedAttrMap.h:
837         (WebCore::NamedMappedAttrMap::getClassNames):
838         * dom/StyledElement.cpp:
839         (WebCore::StyledElement::getClassNames):
840         * dom/StyledElement.h:
841
842 2007-12-14  Darin Adler  <darin@apple.com>
843
844         Reviewed by Sam.
845
846         - fix http://bugs.webkit.org/show_bug.cgi?id=16351
847           FontFallbackList.h doesn't include wtf/PassRefPtr.h
848           
849         * platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h>
850         * platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include.
851
852 2007-12-14  Darin Adler  <darin@apple.com>
853
854         Reviewed by Alexey.
855
856         - http://bugs.webkit.org/show_bug.cgi?id=16420
857           change regression tests to use document.execCommand instead of textInputController.doCommand
858
859         Add a few more operations to document.execCommand.
860
861         Finished up the transition to the new Editor::Command, including removing
862         the Editor::execCommand function.
863
864         * WebCore.base.exp: Added Editor::Command::isSupported.
865         * editing/Editor.h: Removed execCommand.
866         * editing/EditorCommand.cpp:
867         (WebCore::expandSelectionToGranularity): Added.
868         (WebCore::verticalScrollDistance): Added; replaces canScroll.
869         (WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView.
870         (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
871         (WebCore::executeDeleteForward): Ditto.
872         (WebCore::executeDeleteToBeginningOfLine): Ditto.
873         (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
874         (WebCore::executeDeleteToEndOfLine): Ditto.
875         (WebCore::executeDeleteToEndOfParagraph): Ditto.
876         (WebCore::executeMovePageDown): Renamed this command to be consistent with all the other
877         Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by
878         removing the explicit scrolling, and letting it be done automatically by code that makes
879         the caret visible. In some cases the old code would scroll twice which was harmless but
880         unnecessary.
881         (WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView.
882         (WebCore::executeMovePageUp): See MovePageDown above.
883         (WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView.
884         (WebCore::executeSelectLine): Ditto.
885         (WebCore::executeSelectParagraph): Ditto.
886         (WebCore::executeSelectSentence): Ditto.
887         (WebCore::executeSelectWord): Ditto.
888         (WebCore::executeSwapWithMark): Some small tweaks.
889
890         * page/ContextMenuController.cpp:
891         (WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command()
892         instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a
893         bit more, but I didn't do that this time.
894
895         - Removed some obsolete unused code.
896
897         * page/mac/EventHandlerMac.mm:
898         (WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for
899         NSTextView. This was left over from when we used NSTextField and NSTextView for form
900         elements and is no longer used at all.
901
902         * page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side
903         of the bridge or another. We really need to find a time to tear down the rest of the
904         bridge, but that's not this patch.
905
906         * page/mac/WebCoreFrameBridge.mm:
907         (-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly
908         instead of using a method.
909         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
910         Took out obsolete comment about matching enums (we use a single enum now and have for some
911         time).
912         (-[WebCoreFrameBridge selectionGranularity]): Ditto.
913
914 2007-12-14  Justin Garcia  <justin.garcia@apple.com>
915
916         Reviewed by Darin Adler.
917
918         <rdar://problem/5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list
919
920         * editing/CompositeEditCommand.cpp:
921         (WebCore::CompositeEditCommand::splitTreeToNode): Moved here.
922         * editing/CompositeEditCommand.h:
923         * editing/IndentOutdentCommand.cpp: Moved splitTreeToNode.
924         * editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo.
925         * editing/InsertListCommand.cpp:
926         (WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between
927         it and listNode, if they exists, so that moving listChildNode doesn't put it out
928         of order.  Added a test case to cover each change.
929         * editing/SplitElementCommand.cpp:
930         (WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that
931         tries to split a container at a bogus child, and an early return to avoid a
932         hang in that case.
933
934 2007-12-14  Anders Carlsson  <andersca@apple.com>
935
936         Reviewed by Darin and Geoff.
937
938         <rdar://problem/5619295> 
939         REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
940
941         _NPN_CreateScriptObject doesn't take an origin root object anymore.
942         
943         * html/HTMLPlugInElement.cpp:
944         (WebCore::HTMLPlugInElement::createNPObject):
945         * page/Frame.cpp:
946         (WebCore::Frame::windowScriptNPObject):
947
948 2007-12-14  Dan Bernstein  <mitz@apple.com>
949
950         Reviewed by Darin Adler.
951
952         - fix <rdar://problem/5643663> text-shadow and box-shadow offsets 1px smaller than specified
953           which is the root cause of:
954           http://bugs.webkit.org/show_bug.cgi?id=12943
955           box-shadow: small values don't affect shadow position
956           http://bugs.webkit.org/show_bug.cgi?id=14736
957           Safari implementation of text-shadow off by 1px
958
959         * platform/graphics/cg/GraphicsContextCG.cpp:
960         (WebCore::GraphicsContext::setShadow): Slightly increase the magnitude
961         of the offsets passed to CGContextSetShadow* to ensure that the end
962         result after truncation is the desired integer offsets.
963
964 2007-12-13  Alp Toker  <alp@atoker.com>
965
966         curl backend build fix for breakage introduced in r28709.
967
968         * platform/network/ResourceHandleInternal.h:
969         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
970
971 2007-12-13  Justin Garcia  <justin.garcia@apple.com>
972
973         Reviewed by Oliver Hunt.
974
975         <rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element
976
977         * editing/InsertLineBreakCommand.cpp:
978         (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to
979         handle editing positions, like [input, 0];
980         * editing/InsertParagraphSeparatorCommand.cpp:
981         (WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled
982         off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was
983         the input element itself.
984         Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or
985         nesting a <div>.
986
987 2007-12-13  Alp Toker  <alp@atoker.com>
988
989         Reviewed by Oliver Hunt.
990
991         http://bugs.webkit.org/show_bug.cgi?id=16365
992         [cURL] Acid2 test segmentation fault
993
994         This patch makes the Acid2 test pass.
995
996         Defer the cleanup of cancelled jobs and halt further transfer as early
997         as possible.
998
999         Bug found by and initial patch provided by Luca Bruno.
1000
1001         * platform/network/curl/ResourceHandleManager.cpp:
1002         (WebCore::writeCallback):
1003         (WebCore::headerCallback):
1004         (WebCore::ResourceHandleManager::downloadTimerCallback):
1005         (WebCore::ResourceHandleManager::cancel):
1006
1007 2007-12-13  Sam Weinig  <sam@webkit.org>
1008
1009         Reviewed by Mark Rowe.
1010
1011         Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy.
1012
1013         * page/InspectorController.cpp:
1014         (WebCore::moveByUnrestricted):
1015         (WebCore::InspectorController::windowScriptObjectAvailable):
1016         (WebCore::InspectorController::moveWindowBy):
1017         * page/InspectorController.h:
1018         * page/inspector/inspector.js:
1019
1020 2007-12-13  Dan Bernstein  <mitz@apple.com>
1021
1022         Reviewed by Dave Hyatt.
1023
1024         - fix <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function
1025
1026         Test: fast/css/transition-timing-function.html
1027
1028         * css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to
1029         not reject non-primitive non-list values, and instead made sure that the
1030         mapping functions rejected them if necessary. This allows non-primitive
1031         timing functions to be mapped.
1032         (WebCore::CSSStyleSelector::mapBackgroundAttachment):
1033         (WebCore::CSSStyleSelector::mapBackgroundClip):
1034         (WebCore::CSSStyleSelector::mapBackgroundComposite):
1035         (WebCore::CSSStyleSelector::mapBackgroundOrigin):
1036         (WebCore::CSSStyleSelector::mapBackgroundImage):
1037         (WebCore::CSSStyleSelector::mapBackgroundRepeat):
1038         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
1039         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
1040         (WebCore::CSSStyleSelector::mapTransitionDuration):
1041         (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
1042         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
1043         (WebCore::CSSStyleSelector::mapTransitionProperty):
1044         * css/CSSTimingFunctionValue.cpp:
1045         (WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the
1046         regression test.
1047         * css/CSSTimingFunctionValue.h:
1048         (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
1049         Added. Returns true.
1050         * css/CSSValue.h:
1051         (WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns
1052         false.
1053
1054 2007-12-13  Steve Falkenburg  <sfalken@apple.com>
1055
1056         Move source file generation into its own vcproj to fix build dependencies.
1057
1058         Reviewed by Adam.
1059
1060         * WebCore.vcproj/WebCore.make:
1061         * WebCore.vcproj/WebCore.sln:
1062         * WebCore.vcproj/WebCore.submit.sln:
1063         * WebCore.vcproj/WebCore.vcproj:
1064         * WebCore.vcproj/WebCoreGenerated.vcproj: Added.
1065
1066 2007-12-13  Justin Garcia  <justin.garcia@apple.com>
1067
1068         Reviewed by Oliver Hunt.
1069         
1070         <rdar://problem/4145786> Undoing a color change of text in a compose window always changes it back to black
1071         
1072         Some of the operations performed in removeHTMLFontStyle were non-undoable.
1073         
1074         I'm having trouble writing a layout test for this because I can't get DRT to
1075         perform editing operations in separate Undo steps without adding unacceptably long
1076         wait times between operations.  I filed:
1077         
1078         <rdar://problem/5646779> Can't get DRT to perform editing operations in separate Undo steps
1079
1080         * editing/ApplyStyleCommand.cpp:
1081         (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
1082
1083 2007-12-13  Sam Weinig  <sam@webkit.org>
1084
1085         Reviewed by Anders.
1086
1087         Fix for http://bugs.webkit.org/show_bug.cgi?id=16352
1088         Toolbar dragged inspector cannot be moved beyond screen edges
1089
1090         * page/InspectorController.cpp:
1091         (WebCore::moveByUnrestricted):
1092         (WebCore::InspectorController::windowScriptObjectAvailable):
1093         (WebCore::InspectorController::moveByUnrestricted):
1094         * page/InspectorController.h:
1095         * page/inspector/inspector.js:
1096
1097 2007-12-13  Adam Roben  <aroben@apple.com>
1098
1099         Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
1100
1101         Windows Media Player has a modal message loop that will deliver
1102         messages to us at inappropriate times and we will crash if we handle
1103         them when they are delivered. In PluginViewWin, we add a quirk for
1104         Media Player to set a flag whenever we give the plugin a chance to
1105         execute code, and in SharedTimerWin we check if the plugin is
1106         executing code and repost messages if so.
1107
1108         Reviewed by Anders.
1109
1110         * platform/win/SharedTimerWin.cpp:
1111         (WebCore::TimerWindowWndProc): Repost messages if we're calling a
1112         plugin.
1113         * plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with
1114         setCallingPlugin(true/false).
1115         (WebCore::PluginViewWin::updateWindow):
1116         (WebCore::PluginViewWin::dispatchNPEvent):
1117         (WebCore::PluginViewWin::setNPWindowRect):
1118         (WebCore::PluginViewWin::start):
1119         (WebCore::PluginViewWin::stop):
1120         (WebCore::PluginViewWin::performRequest):
1121         (WebCore::PluginViewWin::bindingInstance):
1122         (WebCore::PluginViewWin::determineQuirks):
1123         (WebCore::PluginViewWin::setCallingPlugin): Added.
1124         (WebCore::PluginViewWin::isCallingPlugin): Added.
1125         * plugins/win/PluginViewWin.h: Added a new quirk.
1126
1127 2007-12-13  Alp Toker  <alp@atoker.com>
1128
1129         Add a missing DEPENDPATH. Fixes non-clean builds following networking
1130         header changes.
1131
1132         * WebCore.pro:
1133
1134 2007-12-13  Dan Bernstein  <mitz@apple.com>
1135
1136         Reviewed by Anders Carlsson.
1137
1138         - fix regression in fast/text/international/bidi-override on Tiger
1139
1140         * platform/graphics/GlyphPageTreeNode.cpp:
1141         (WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here
1142         too. I forgot to add them when I added them to treatAsZeroWidthSpace in
1143         an earlier patch.
1144
1145 2007-12-13  Justin Garcia  <justin.garcia@apple.com>
1146
1147         Reviewed by Darin Adler.
1148
1149         <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text
1150         
1151         The code that checks the selected Range to see if it's inside an anchor
1152         checks ancestors of the Range's commonAncestor() but not the
1153         commonAncestor() itself, and so we'd fail to add markup for the enclosing
1154         anchor to the pasteboard.
1155         
1156         Some enclosing element getters check the node passed to the getter and some
1157         don't.  There were a few places where we incorrectly assumed that enclosing 
1158         element getters check the node passed to the getter, but this is the only 
1159         case that I'm able to write a test case for at the moment.
1160         
1161         In this patch I've:
1162         Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions,
1163         like the newer enclosing element getters.  This is important because we must
1164         soon add code to the getters so that they understand that some editing positions
1165         inside nodes don't actually refer to positions inside those nodes but positions
1166         before and after them.  Like [table, 0].
1167         Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with
1168         n where [n, o] is the position passed to the getter, instead of starting the the parent
1169         of n.  This makes all but a few of the enclosing element getters behave consistently.
1170         Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable 
1171         nodes if the input position was editable.  This fixes a bug that that the above change
1172         exposed.
1173         Changed enclosingTableCell to simply call enclosingNodeWithType.  We should do
1174         this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType
1175         unless doing so would affect readability, like it would in the case of enclosingTableCell.
1176         Ditto for enclosingBlock.
1177
1178         * editing/AppendNodeCommand.cpp:
1179         (WebCore::AppendNodeCommand::doApply):
1180         * editing/DeleteButtonController.cpp:
1181         (WebCore::enclosingDeletableElement):
1182         * editing/DeleteSelectionCommand.cpp:
1183         (WebCore::DeleteSelectionCommand::initializePositionData):
1184         (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
1185         * editing/Editor.cpp:
1186         (WebCore::Editor::selectionUnorderedListState):
1187         (WebCore::Editor::selectionOrderedListState):
1188         * editing/IndentOutdentCommand.cpp:
1189         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
1190         (WebCore::IndentOutdentCommand::outdentParagraph):
1191         * editing/InsertNodeBeforeCommand.cpp:
1192         (WebCore::InsertNodeBeforeCommand::doApply):
1193         * editing/InsertParagraphSeparatorCommand.cpp:
1194         (WebCore::InsertParagraphSeparatorCommand::doApply):
1195         * editing/ReplaceSelectionCommand.cpp:
1196         (WebCore::ReplaceSelectionCommand::shouldMerge):
1197         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
1198         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
1199         * editing/TextIterator.cpp:
1200         * editing/htmlediting.cpp:
1201         (WebCore::enclosingBlock):
1202         (WebCore::enclosingNodeWithTag):
1203         (WebCore::enclosingNodeOfType):
1204         (WebCore::enclosingTableCell):
1205         (WebCore::isTableCell):
1206         * editing/htmlediting.h:
1207         * editing/markup.cpp:
1208         (WebCore::appendStartMarkup):
1209         (WebCore::createMarkup):
1210
1211 2007-12-13  Alexey Proskuryakov  <ap@webkit.org>
1212
1213         Reviewed by Darin.
1214
1215         Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
1216
1217         * WebCore.base.exp:
1218         * dom/KeyboardEvent.cpp:
1219         (WebCore::KeyboardEvent::charCode):
1220         * page/EventHandler.cpp:
1221         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
1222         (WebCore::EventHandler::keyEvent):
1223         * page/EventHandler.h:
1224         * page/Settings.cpp:
1225         (WebCore::Settings::Settings):
1226         (WebCore::Settings::setNeedsKeyboardEventDisambiguationQuirks):
1227         * page/Settings.h:
1228         (WebCore::Settings::needsKeyboardEventDisambiguationQuirks):
1229         * page/mac/EventHandlerMac.mm:
1230         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
1231         * platform/PlatformKeyboardEvent.h:
1232         * platform/mac/KeyEventMac.mm:
1233         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1234         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1235
1236 2007-12-13  Dan Bernstein  <mitz@apple.com>
1237
1238         - build fix
1239
1240         * platform/network/cf/ResourceErrorCF.cpp:
1241
1242 2007-12-13  Antti Koivisto  <antti@apple.com>
1243
1244         Reviewed by Tim Hatcher.
1245
1246         Fix <rdar://problem/5605674> 
1247         Make <video> display WebKit context menu instead of the QTKit one.
1248     
1249         It doesn't really matter where the QTMovieView is.
1250
1251         * ChangeLog:
1252         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1253         (WebCore::MediaPlayerPrivate::createQTMovieView):
1254         (WebCore::MediaPlayerPrivate::setRect):
1255
1256 2007-12-13  Dan Bernstein  <mitz@apple.com>
1257
1258         Reviewed by Adam Roben.
1259
1260         - ensure that Unicode bidi control characters are rendered as zero width
1261           spaces
1262
1263         Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html
1264
1265         * platform/graphics/Font.h:
1266         (WebCore::Font::treatAsZeroWidthSpace):
1267         * platform/graphics/GlyphPageTreeNode.cpp:
1268         (WebCore::GlyphPageTreeNode::initializePage):
1269         * platform/text/CharacterNames.h:
1270
1271 2007-12-13  Brady Eidson  <beidson@apple.com>
1272
1273         Build fix
1274
1275         * platform/wx/TemporaryLinkStubs.cpp:
1276
1277 2007-12-12  Brady Eidson  <beidson@apple.com>
1278
1279         Build fix
1280
1281         * platform/gtk/TemporaryLinkStubs.cpp:
1282
1283 2007-12-12  Brady Eidson  <beidson@apple.com>
1284
1285         Build fix
1286
1287         * WebCore.pro:
1288         * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed
1289
1290 2007-12-12  Brady Eidson  <beidson@apple.com>
1291
1292         Build fix
1293
1294         * platform/win/TemporaryLinkStubs.cpp:
1295
1296 2007-12-12  Brady Eidson  <beidson@apple.com>
1297
1298         Reviewed by Sam Weinig
1299
1300         Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
1301
1302         All back/forward list and page cache related items used to be in WebKit.
1303         When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac.
1304         Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive.  We accomplished this via some #ifdefs
1305         in CachedPage and having the Mac-only CachedPageMac.mm
1306
1307         To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the 
1308         concept of "CachedPagePlatformData" which can contain anything the platform API wants.  
1309
1310         I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.
1311
1312         * WebCore.base.exp:
1313         * WebCore.xcodeproj/project.pbxproj:
1314
1315         * history/CachedPage.cpp:
1316         (WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here.
1317         (WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists.  Also delete the CachedPagePlatformData.
1318         (WebCore::CachedPage::setCachedPagePlatformData):
1319         (WebCore::CachedPage::cachedPagePlatformData):
1320         * history/CachedPage.h:
1321
1322         * history/CachedPagePlatformData.h: Added.
1323         (WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor.
1324         (WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear().
1325
1326         * history/PageCache.cpp:
1327         (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"
1328
1329         * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.
1330
1331         * loader/FrameLoader.cpp:
1332         (WebCore::FrameLoader::transitionToCommitted): Call the new client methods.  Make some work previously done by WebKitMac cross platform 
1333           (setting the cached DocumentLoader to the Frame).
1334         (WebCore::FrameLoader::cachePageForHistoryItem):  Renamed the client methods
1335
1336         * loader/FrameLoaderClient.h:  The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
1337           become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly
1338
1339         * svg/graphics/SVGImageEmptyClients.h:
1340         (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
1341         (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
1342         (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):
1343
1344 2007-12-12  Dan Bernstein  <mitz@apple.com>
1345
1346         Reviewed by Oliver Hunt.
1347
1348         - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
1349
1350         * css/CSSStyleSelector.cpp:
1351         (WebCore::CSSStyleSelector::applyProperty): When the font property is
1352         set to 'initial', set the font size to its initial value, 'medium',
1353         and the font family to the standard family.
1354
1355 2007-12-12  Justin Garcia  <justin.garcia@apple.com>
1356
1357         Reviewed by Darin Adler.
1358
1359         <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
1360
1361         * editing/DeleteSelectionCommand.cpp:
1362         (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
1363         Don't remove the table row that contained the end of the selection if it is where we are
1364         about to place the ending selection.
1365         Don't remove all empty rows after the row that contained the start of the selection,
1366         they might come after the row that contained the end of the selection.
1367
1368 2007-12-12  Sam Weinig  <sam@webkit.org>
1369
1370         Reviewed by Anders Carlsson.
1371
1372         Add button to clear the Web Inspector's console.
1373
1374         * English.lproj/InspectorLocalizedStrings.js:
1375         * page/inspector/ConsolePanel.js:
1376         * page/inspector/inspector.css:
1377
1378 2007-12-12  Anders Carlsson  <andersca@apple.com>
1379
1380         Reviewed by Adam and Jon.
1381
1382         <rdar://problem/5349282>
1383         popup blocking is not applied to plugins on Windows.
1384         
1385         Implement popup blocking. If the plug-in supports the new 
1386         NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that
1387         to determine if a plug-in request can open new windows.
1388         
1389         If a plug-in does not support the new API, we assume that a plug-in can open new windows
1390         in response to either mouse click or key press events.
1391         
1392         * plugins/win/PluginViewWin.cpp:
1393         (WebCore::PluginRequestWin::PluginRequestWin):
1394         (WebCore::PluginRequestWin::shouldAllowPopups):
1395         Add new shouldAllowPopups member.
1396         
1397         (WebCore::PluginViewWin::popPopupsStateTimerFired):
1398         Reset the popup state.
1399         
1400         (WebCore::isWindowsMessageUserGesture):
1401         New function that given a windows message id returns whether it's a user gesture or not.
1402         
1403         (WebCore::PluginViewWin::wndProc):
1404         Allow popups if the window message is a user gesture.
1405         
1406         (WebCore::PluginViewWin::dispatchNPEvent):
1407         New method that dispatches an NPEvent, turning on popups if necessary.
1408         
1409         (WebCore::PluginViewWin::paint):
1410         (WebCore::PluginViewWin::handleKeyboardEvent):
1411         (WebCore::PluginViewWin::handleMouseEvent):
1412         Call dispatchNPEvent().
1413         
1414         (WebCore::PluginViewWin::performRequest):
1415         (WebCore::PluginViewWin::load):
1416         Add calls to shouldAllowPopups().
1417         
1418         (WebCore::PluginViewWin::pushPopupsEnabledState):
1419         (WebCore::PluginViewWin::popPopupsEnabledState):
1420         New methods that maintain the popup state stack.
1421         
1422         (WebCore::PluginViewWin::arePopupsAllowed):
1423         New method that returns whether popups are allowed.
1424         
1425         (WebCore::PluginViewWin::PluginViewWin):
1426         * plugins/win/PluginViewWin.h:
1427         Add new instance variables.
1428         
1429         * plugins/win/npapi.cpp:
1430         (NPN_PushPopupsEnabledState):
1431         (NPN_PopPopupsEnabledState):
1432         Implement these.
1433
1434 2007-12-12  Dan Bernstein  <mitz@apple.com>
1435
1436         Reviewed by John Sullivan.
1437
1438         - fix a bug in debug builds only where selecting an earlier item in
1439           a popup selects the first item
1440
1441         Test: fast/forms/menulist-selection-reset.html
1442
1443         * html/HTMLSelectElement.cpp:
1444         (WebCore::HTMLSelectElement::recalcListItems): Added an argument that
1445         tells that function whether it should update the selected state of
1446         option elements.
1447         (WebCore::HTMLSelectElement::checkListItems): Changed to pass false
1448         as the above argument.
1449         * html/HTMLSelectElement.h:
1450
1451 2007-12-12  Adele Peterson  <adele@apple.com>
1452
1453         Reviewed by Geoff.
1454
1455         Fix for <rdar://problem/5643054> Remove cue point implementation for media elements
1456
1457         When the specification for cue ranges is more final, we will implement those.
1458
1459         * html/HTMLMediaElement.cpp:
1460         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1461         (WebCore::HTMLMediaElement::load):
1462         * html/HTMLMediaElement.h:
1463         * html/HTMLMediaElement.idl:
1464         * platform/graphics/MediaPlayer.cpp:
1465         * platform/graphics/MediaPlayer.h:
1466         (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
1467         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1468         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1469         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1470         (WebCore::MediaPlayerPrivate::load):
1471         (WebCore::MediaPlayerPrivate::play):
1472         (WebCore::MediaPlayerPrivate::pause):
1473         (WebCore::MediaPlayerPrivate::setEndTime):
1474         (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
1475         (WebCore::MediaPlayerPrivate::endPointTimerFired):
1476         (WebCore::MediaPlayerPrivate::timeChanged):
1477         (WebCore::MediaPlayerPrivate::didEnd):
1478         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1479         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1480         (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
1481         (WebCore::MediaPlayerPrivate::endPointTimerFired):
1482         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1483
1484 2007-12-12  MorganL  <morganl.webkit@yahoo.com>
1485
1486         Reviewed by Maciej.
1487
1488         Fixes:
1489         http://bugs.webkit.org/show_bug.cgi?id=16408
1490
1491         When navigating back/forward to a http:// link, we should prefer to
1492         load from cache if possible.
1493
1494         * loader/FrameLoader.cpp:
1495
1496 2007-12-12  Anders Carlsson  <andersca@apple.com>
1497
1498         Reviewed by Sam.
1499
1500         <rdar://problem/5132003>
1501         dumpResourceLoadCallbacks is not implemented in DRT on Windows.
1502         
1503         * platform/network/cf/ResourceErrorCF.cpp:
1504         (WebCore::ResourceError::unpackPlatformError):
1505         Handle kCFErrorDomainWinSock.
1506         
1507         * platform/network/cf/ResourceHandleCFNet.cpp:
1508         (WebCore::willSendRequest):
1509         Ignore willSendRequest calls where the redirect response is null, like we do in 
1510         the Mac version.
1511
1512 2007-12-12  Steve Falkenburg  <sfalken@apple.com>
1513
1514         <rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check.
1515         
1516         Reviewed by Anders.
1517
1518         * platform/win/SharedTimerWin.cpp:
1519         (WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc.
1520
1521 2007-12-12  Beth Dakin  <bdakin@apple.com>
1522
1523         Reviewed by Oliver.
1524
1525         Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs 
1526         with width and height 100% clip to 300 x 150
1527
1528         Though it was correct in an earlier iteration of my patch, it is 
1529         not sufficient in the final, committed version to ask if the 
1530         relativeWidthValue() or relativeHeightValue() is greater than 0 
1531         just to determine if one has been set, for, they are now 
1532         initialized to 300 and 150 respectively! This patch instead adds a 
1533         bool to keep track of whether a container size has been set, and 
1534         only used the relative value if it has.
1535
1536         * rendering/RenderSVGRoot.cpp:
1537         (WebCore::RenderSVGRoot::calcViewport):
1538         * svg/SVGSVGElement.cpp:
1539         (WebCore::SVGSVGElement::SVGSVGElement):
1540         * svg/SVGSVGElement.h:
1541         (WebCore::SVGSVGElement::setContainerSize):
1542         (WebCore::SVGSVGElement::hasSetContainerSize):
1543
1544 2007-12-12  Brady Eidson  <beidson@apple.com>
1545
1546         Reviewed by Steve Falkenburg 
1547
1548         <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm
1549
1550         * platform/network/ProtectionSpace.cpp:
1551         (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host
1552
1553 2007-12-12  Alp Toker  <alp@atoker.com>
1554
1555         Reviewed by Maciej.
1556
1557         http://bugs.webkit.org/show_bug.cgi?id=16388
1558         [GTK] Widget::setCursor() gets called frequently
1559
1560         Cache the current cursor to avoid calling gdk_window_set_cursor() when
1561         there's no change in cursor.
1562
1563         * platform/gtk/WidgetGtk.cpp:
1564         (WebCore::Widget::Widget):
1565         (WebCore::Widget::cursor):
1566         (WebCore::Widget::setCursor):
1567
1568 2007-12-12  Rodney Dawes  <dobey@wayofthemonkey.com>
1569
1570         Reviewed by Maciej.
1571
1572         http://bugs.webkit.org/show_bug.cgi?id=16342
1573         Build Warning and Error fixes in WebCore GTK+
1574
1575         Use C-style casts for casting function pointers to gpointer
1576         Use static_cast<int> to cast a float to int to fix a warning
1577
1578         * platform/gtk/PlatformScrollBarGtk.cpp:
1579         (PlatformScrollbar::PlatformScrollbar):
1580         (PlatformScrollbar::~PlatformScrollbar):
1581         (PlatformScrollbar::gtkValueChanged):
1582         * platform/gtk/ThreadingGtk.cpp:
1583         (callFunctionOnMainThread):
1584         (callOnMainThread):
1585
1586 2007-12-12  Dan Bernstein  <mitz@apple.com>
1587
1588         Reviewed by Darin Adler.
1589
1590         - better fix for a crash when pressing a key that is not associated
1591           with a command
1592
1593         * editing/EditorCommand.cpp:
1594         (WebCore::Editor::command): Return the empty command if the command name
1595         is empty.
1596
1597 2007-12-12  Alexey Proskuryakov  <ap@webkit.org>
1598
1599         Reviewed by Darin.
1600
1601         http://bugs.webkit.org/show_bug.cgi?id=16410
1602         Implement isKeypadEvent() on Windows
1603
1604         Test: platform/win/fast/events/keyLocation-numpad.html
1605
1606         * platform/win/KeyEventWin.cpp:
1607         (WebCore::isKeypadEvent): Added.
1608         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat.
1609
1610 2007-12-12  Oliver Hunt  <oliver@apple.com>
1611
1612         Reviewed by Maciej.
1613
1614         <rdar://problem/5071781> window.mouseout events are not sent 
1615         to window when mouse moves out of window 
1616
1617         Make PlatformMouseEvent recognise WM_MOUSELEAVE.
1618
1619         * platform/win/PlatformMouseEventWin.cpp:
1620         (WebCore::messageToEventType):
1621         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1622
1623 2007-12-12  Sam Weinig  <sam@webkit.org>
1624
1625         Fix Mac release build.
1626
1627         * WebCore.base.exp:
1628
1629 2007-12-12  Sam Weinig  <sam@webkit.org>
1630
1631         Build fix for Qt, Gtk, and Wx.
1632
1633         * css/CSSParser.cpp:
1634         (WebCore::CSSParser::parseValue):
1635         * loader/win/FrameLoaderWin.cpp:
1636         (WebCore::FrameLoader::urlSelected):
1637         * platform/network/curl/ResourceHandleManager.cpp:
1638         (WebCore::parseDataUrl):
1639         (WebCore::ResourceHandleManager::startJob):
1640         * platform/network/win/CookieJarWin.cpp:
1641         (WebCore::setCookies):
1642         (WebCore::cookies):
1643         * platform/network/win/ResourceHandleWin.cpp:
1644         (WebCore::ResourceHandle::start):
1645         * platform/qt/PasteboardQt.cpp:
1646         (WebCore::Pasteboard::writeURL):
1647
1648 2007-12-11  Dan Bernstein  <mitz@apple.com>
1649
1650         Reviewed by Maciej Stachowiak.
1651
1652         - allow non-integer font sizes on Windows for small caps
1653
1654         * platform/graphics/win/FontDataWin.cpp:
1655         (WebCore::FontData::smallCapsFontData):
1656         * platform/graphics/win/FontPlatformData.h:
1657         (WebCore::FontPlatformData::size):
1658         (WebCore::FontPlatformData::setSize):
1659         * platform/graphics/win/FontPlatformDataWin.cpp:
1660         (WebCore::FontPlatformData::FontPlatformData):
1661
1662 2007-12-11  Sam Weinig  <sam@webkit.org>
1663
1664         Build fix for Qt, Gtk, and Wx.
1665
1666         * platform/gtk/CookieJarGtk.cpp:
1667         (WebCore::setCookies):
1668         (WebCore::cookies):
1669         * platform/qt/ClipboardQt.cpp:
1670         (WebCore::ClipboardQt::writeURL):
1671         * platform/qt/CookieJarQt.cpp:
1672         (WebCore::setCookies):
1673         (WebCore::cookies):
1674         * platform/wx/PasteboardWx.cpp:
1675         (WebCore::Pasteboard::writeURL):
1676
1677 2007-12-11  Sam Weinig  <sam@webkit.org>
1678
1679         Reviewed by Darin Adler.
1680
1681         Scrub URL out of the tree in preparation for renaming KURL to URL.
1682             - Renames Document::URL() -> Document::url()
1683             - Renames DocumentLoader::URL() -> DocumentLoader::url()
1684             - Renames KURL::url() to KURL::string() and KURL::deprecatedString()
1685             - Remove FrameLoader::URL()
1686             - Various variable renames.
1687
1688         The change from Document::URL() to Document::url() required changes
1689         to the bindings scripts as well, because URL() is the name of a DOM
1690         method.  The code generation scripts now have code to special case URL()
1691         to url().
1692
1693         * WebCore.base.exp:
1694         * bindings/js/kjs_events.cpp:
1695         (WebCore::JSLazyEventListener::parseCode):
1696         * bindings/js/kjs_navigator.cpp:
1697         (KJS::Navigator::getValueProperty):
1698         * bindings/js/kjs_proxy.cpp:
1699         (WebCore::KJSProxy::initScript):
1700         * bindings/js/kjs_window.cpp:
1701         (KJS::Window::put):
1702         (KJS::Window::allowsAccessFrom):
1703         (KJS::Location::put):
1704         (KJS::LocationProtoFuncReplace::callAsFunction):
1705         (KJS::LocationProtoFuncReload::callAsFunction):
1706         (KJS::LocationProtoFuncAssign::callAsFunction):
1707         * bindings/scripts/CodeGenerator.pm:
1708         * bindings/scripts/CodeGeneratorCOM.pm:
1709         * bindings/scripts/CodeGeneratorJS.pm:
1710         * bindings/scripts/CodeGeneratorObjC.pm:
1711         * css/CSSImportRule.cpp:
1712         (WebCore::CSSImportRule::insertedIntoParent):
1713         * css/CSSParser.cpp:
1714         (WebCore::CSSParser::parseValue):
1715         (WebCore::CSSParser::parseContent):
1716         (WebCore::CSSParser::parseBackgroundImage):
1717         (WebCore::CSSParser::parseFontFaceSrc):
1718         (WebCore::CSSParser::parseBorderImage):
1719         (WebCore::CSSParser::createImportRule):
1720         * css/CSSStyleSelector.cpp:
1721         (WebCore::CSSStyleSelector::setEncodedURL):
1722         * dom/Document.cpp:
1723         (WebCore::Document::processHttpEquiv):
1724         (WebCore::Document::cookie):
1725         (WebCore::Document::setCookie):
1726         (WebCore::Document::domain):
1727         (WebCore::Document::setDomain):
1728         (WebCore::Document::getImageMap):
1729         (WebCore::Document::completeURL):
1730         * dom/Document.h:
1731         (WebCore::Document::url):
1732         (WebCore::Document::baseURL):
1733         * dom/Element.cpp:
1734         (WebCore::Element::baseURI):
1735         * dom/ProcessingInstruction.h:
1736         * dom/StyledElement.cpp:
1737         (WebCore::StyledElement::addCSSImageProperty):
1738         * dom/StyledElement.h:
1739         * dom/XMLTokenizer.cpp:
1740         (WebCore::XMLTokenizer::endElementNs):
1741         (WebCore::XMLTokenizer::end):
1742         (WebCore::):
1743         * dom/XMLTokenizer.h:
1744         * editing/Editor.cpp:
1745         (WebCore::Editor::copy):
1746         * editing/markup.cpp:
1747         (WebCore::completeURLs):
1748         * history/CachedPage.h:
1749         (WebCore::CachedPage::url):
1750         * history/HistoryItem.cpp:
1751         (WebCore::HistoryItem::HistoryItem):
1752         (WebCore::HistoryItem::setURL):
1753         (WebCore::HistoryItem::isCurrentDocument):
1754         * html/HTMLBaseElement.cpp:
1755         (WebCore::HTMLBaseElement::process):
1756         * html/HTMLParser.cpp:
1757         (WebCore::HTMLParser::reportErrorToConsole):
1758         * html/HTMLScriptElement.cpp:
1759         (WebCore::HTMLScriptElement::childrenChanged):
1760         (WebCore::HTMLScriptElement::insertedIntoDocument):
1761         (WebCore::HTMLScriptElement::evaluateScript):
1762         * html/HTMLScriptElement.h:
1763         * html/HTMLTokenizer.cpp:
1764         (WebCore::HTMLTokenizer::scriptExecution):
1765         * loader/Cache.cpp:
1766         (WebCore::createResource):
1767         (WebCore::Cache::requestResource):
1768         * loader/CachedCSSStyleSheet.cpp:
1769         (WebCore::CachedCSSStyleSheet::checkNotify):
1770         * loader/CachedResource.cpp:
1771         (WebCore::CachedResource::CachedResource):
1772         * loader/CachedResource.h:
1773         (WebCore::CachedResource::):
1774         * loader/CachedScript.h:
1775         * loader/DocLoader.cpp:
1776         (WebCore::DocLoader::checkForReload):
1777         (WebCore::DocLoader::requestResource):
1778         * loader/DocumentLoader.cpp:
1779         (WebCore::DocumentLoader::url):
1780         (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
1781         (WebCore::DocumentLoader::setRequest):
1782         (WebCore::DocumentLoader::startLoadingMainResource):
1783         * loader/DocumentLoader.h:
1784         * loader/FrameLoader.cpp:
1785         (WebCore::FormSubmission::FormSubmission):
1786         (WebCore::ScheduledRedirection::ScheduledRedirection):
1787         (WebCore::FrameLoader::changeLocation):
1788         (WebCore::FrameLoader::urlSelected):
1789         (WebCore::FrameLoader::requestFrame):
1790         (WebCore::FrameLoader::loadSubframe):
1791         (WebCore::FrameLoader::submitFormAgain):
1792         (WebCore::FrameLoader::submitForm):
1793         (WebCore::FrameLoader::didExplicitOpen):
1794         (WebCore::FrameLoader::replaceContentsWithScriptResult):
1795         (WebCore::FrameLoader::executeScript):
1796         (WebCore::FrameLoader::receivedFirstData):
1797         (WebCore::FrameLoader::begin):
1798         (WebCore::FrameLoader::startIconLoader):
1799         (WebCore::FrameLoader::commitIconURLToIconDatabase):
1800         (WebCore::FrameLoader::scheduleRefresh):
1801         (WebCore::FrameLoader::redirectionTimerFired):
1802         (WebCore::FrameLoader::loadPlugin):
1803         (WebCore::FrameLoader::didNotOpenURL):
1804         (WebCore::FrameLoader::updatePolicyBaseURL):
1805         (WebCore::FrameLoader::scrollToAnchor):
1806         (WebCore::FrameLoader::startRedirectionTimer):
1807         (WebCore::FrameLoader::load):
1808         (WebCore::FrameLoader::canLoad):
1809         (WebCore::FrameLoader::shouldHideReferrer):
1810         (WebCore::FrameLoader::shouldAllowNavigation):
1811         (WebCore::FrameLoader::commitProvisionalLoad):
1812         (WebCore::FrameLoader::clientRedirected):
1813         (WebCore::FrameLoader::open):
1814         (WebCore::FrameLoader::didTellBridgeAboutLoad):
1815         (WebCore::FrameLoader::haveToldBridgeAboutLoad):
1816         (WebCore::FrameLoader::post):
1817         (WebCore::FrameLoader::loadResourceSynchronously):
1818         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1819         (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
1820         (WebCore::FrameLoader::createHistoryItem):
1821         (WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
1822         (WebCore::FrameLoader::loadItem):
1823         (WebCore::FrameLoader::urlsMatchItem):
1824         (WebCore::FrameLoader::recursiveGoToItem):
1825         (WebCore::FrameLoader::updateHistoryForStandardLoad):
1826         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
1827         * loader/FrameLoader.h:
1828         (WebCore::FrameLoader::url):
1829         * loader/ImageDocument.cpp:
1830         (WebCore::ImageDocument::createDocumentStructure):
1831         * loader/MainResourceLoader.cpp:
1832         (WebCore::shouldLoadAsEmptyDocument):
1833         (WebCore::MainResourceLoader::didFinishLoading):
1834         * loader/NavigationAction.cpp:
1835         (WebCore::NavigationAction::NavigationAction):
1836         * loader/NavigationAction.h:
1837         (WebCore::NavigationAction::url):
1838         * loader/PluginDocument.cpp:
1839         (WebCore::PluginTokenizer::createDocumentStructure):
1840         * loader/SubresourceLoader.cpp:
1841         (WebCore::SubresourceLoader::load):
1842         (WebCore::SubresourceLoader::create):
1843         * loader/icon/IconLoader.cpp:
1844         (WebCore::IconLoader::startLoading):
1845         (WebCore::IconLoader::finishLoading):
1846         * loader/loader.cpp:
1847         (WebCore::Loader::servePendingRequests):
1848         * loader/mac/LoaderNSURLExtras.m:
1849         (urlOriginalData):
1850         * page/Chrome.cpp:
1851         (WebCore::Chrome::setToolTip):
1852         * page/ContextMenuController.cpp:
1853         (WebCore::ContextMenuController::contextMenuItemSelected):
1854         * page/Frame.cpp:
1855         (WebCore::Frame::setUserStyleSheetLocation):
1856         * page/InspectorController.cpp:
1857         (WebCore::InspectorResource::type):
1858         (WebCore::addSourceToFrame):
1859         (WebCore::InspectorController::addScriptResource):
1860         (WebCore::InspectorController::updateScriptResourceRequest):
1861         (WebCore::InspectorController::didCommitLoad):
1862         * page/mac/WebCoreFrameBridge.mm:
1863         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
1864         * platform/KURL.h:
1865         (WebCore::KURL::string):
1866         (WebCore::KURL::deprecatedString):
1867         * platform/mac/ClipboardMac.mm:
1868         (WebCore::ClipboardMac::getData):
1869         * platform/mac/CookieJar.mm:
1870         (WebCore::cookies):
1871         (WebCore::setCookies):
1872         * platform/mac/PasteboardMac.mm:
1873         (WebCore::Pasteboard::writeURL):
1874         (WebCore::fileWrapperForImage):
1875         (WebCore::Pasteboard::writeImage):
1876         (WebCore::Pasteboard::plainText):
1877         * platform/network/ResourceHandle.cpp:
1878         (WebCore::ResourceHandle::portAllowed):
1879         * platform/network/ResourceRequestBase.cpp:
1880         (WebCore::ResourceRequestBase::isNull):
1881         * platform/network/cf/ResourceHandleCFNet.cpp:
1882         (WebCore::willSendRequest):
1883         (WebCore::didReceiveResponse):
1884         (WebCore::didReceiveData):
1885         (WebCore::didFinishLoading):
1886         (WebCore::didFail):
1887         (WebCore::didReceiveChallenge):
1888         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1889         (WebCore::ResourceHandle::~ResourceHandle):
1890         (WebCore::ResourceHandle::start):
1891         * platform/win/ClipboardUtilitiesWin.cpp:
1892         (WebCore::createGlobalData):
1893         (WebCore::urlToMarkup):
1894         * platform/win/ClipboardWin.cpp:
1895         (WebCore::writeURL):
1896         (WebCore::writeImageToDataObject):
1897         (WebCore::ClipboardWin::writeURL):
1898         (WebCore::ClipboardWin::writeRange):
1899         * platform/win/PasteboardWin.cpp:
1900         (WebCore::Pasteboard::writeSelection):
1901         (WebCore::Pasteboard::writeURL):
1902         * plugins/win/PluginDatabaseWin.cpp:
1903         (WebCore::PluginDatabaseWin::findPlugin):
1904         * plugins/win/PluginStreamWin.cpp:
1905         (WebCore::PluginStreamWin::startStream):
1906         (WebCore::PluginStreamWin::destroyStream):
1907         * plugins/win/PluginViewWin.cpp:
1908         (WebCore::scriptStringIfJavaScriptURL):
1909         (WebCore::PluginViewWin::performRequest):
1910         * svg/SVGImageLoader.cpp:
1911         (WebCore::SVGImageLoader::updateFromElement):
1912         * xml/XMLHttpRequest.cpp:
1913         (WebCore::XMLHttpRequest::getResponseXML):
1914         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
1915         * xml/XSLImportRule.cpp:
1916         (WebCore::XSLImportRule::loadSheet):
1917         * xml/XSLTProcessor.cpp:
1918         (WebCore::XSLTProcessor::createDocumentFromSource):
1919         (WebCore::xsltStylesheetPointer):
1920         (WebCore::xmlDocPtrFromNode):
1921
1922 2007-12-11  Beth Dakin  <bdakin@apple.com>
1923
1924         Reviewed by Darin.
1925
1926         Fix for <rdar://problem/5641255> SVGs with width and height 100% 
1927         fail to render when used as background images
1928
1929         CachedImage now has a setImageContainerSize function. It is only 
1930         needed for SVG right now.
1931         * loader/CachedImage.cpp:
1932         (WebCore::CachedImage::setImageContainerSize):
1933         * loader/CachedImage.h:
1934
1935         Relatively sized SVGs have no intrinsic size. Because this call is 
1936         low-level enough that we cannot pass in the container size and get 
1937         the real size of the SVG, we need to know if it has relative 
1938         dimensions, and if so, we need to get the size from scaledTileSize.
1939         * platform/graphics/Image.cpp:
1940         (WebCore::Image::drawTiled):
1941         * platform/graphics/Image.h:
1942         (WebCore::Image::setContainerSize):
1943         (WebCore::Image::hasRelativeWidth):
1944         (WebCore::Image::hasRelativeHeight):
1945
1946         Re-factored calculateBackgroundSize a bit so that it returns an 
1947         IntSize. Made it a member function so that it can send m_width and 
1948         m_height along to setImageContainerSize.
1949         * rendering/RenderBox.cpp:
1950         (WebCore::RenderBox::calculateBackgroundSize):
1951         (WebCore::RenderBox::calculateBackgroundImageGeometry):
1952         * rendering/RenderBox.h:
1953
1954         Need to account for relatively sized SVGs in calcViewport()
1955         * rendering/RenderSVGRoot.cpp:
1956         (WebCore::RenderSVGRoot::calcViewport):
1957         
1958         Added new member variables to store the size of the SVG container. 
1959         relativeWidthValue() and relativeHeightValue() use the stored SVG 
1960         container size to correctly calculate the width and height of a 
1961         relatively sized SVG.
1962         * svg/SVGSVGElement.cpp:
1963         (WebCore::SVGSVGElement::SVGSVGElement):
1964         (WebCore::SVGSVGElement::setContainerSize):
1965         (WebCore::SVGSVGElement::relativeWidthValue):
1966         (WebCore::SVGSVGElement::relativeHeightValue):
1967         * svg/SVGSVGElement.h:
1968         (WebCore::SVGSVGElement::containerSize):
1969         
1970         Re-factored size calculations to use the size of the container.
1971         * svg/graphics/SVGImage.cpp:
1972         (WebCore::SVGImage::setContainerSize):
1973         (WebCore::SVGImage::size):
1974         (WebCore::SVGImage::hasRelativeWidth):
1975         (WebCore::SVGImage::hasRelativeHeight):
1976         * svg/graphics/SVGImage.h:
1977
1978 2007-12-11  Darin Adler  <darin@apple.com>
1979
1980         * editing/Editor.cpp:
1981         (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
1982         a missing return statement.
1983
1984 2007-12-11  Darin Adler  <darin@apple.com>
1985
1986         Reviewed by Geoff.
1987
1988         - exposed many new commands to the DOM Document executeCommand function by
1989           merging the JSEditor and Editor executeCommand implementations
1990         - replaced the execCommand function with a EditorCommand class
1991         - replaced the WTF::StrHash<> class template with the WebCore::StringHash class
1992         - replaced the WTF::CaseInsensitiveHash<> class template with the
1993           WebCore::CaseFoldingHash class
1994
1995         * WebCore.base.exp: Updated.
1996         * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp.
1997         * WebCore.vcproj/WebCore.vcproj: Ditto.
1998         * WebCore.xcodeproj/project.pbxproj: Ditto.
1999         * WebCoreSources.bkl: Ditto.
2000
2001         * dom/Document.cpp:
2002         (WebCore::Document::Document): Removed code to set up m_jsEditor.
2003         (WebCore::Document::~Document): Removed code to delete m_jsEditor.
2004         (WebCore::command): Added. Helper function that gets an Editor::Command.
2005         (WebCore::Document::executeCommand): Changed to use Editor::Command instead of
2006         JSEditor.
2007         (WebCore::Document::queryCommandEnabled): Ditto.
2008         (WebCore::Document::queryCommandIndeterm):
2009         (WebCore::Document::queryCommandState): Ditto.
2010         (WebCore::Document::queryCommandSupported): Ditto.
2011         (WebCore::Document::queryCommandValue): Ditto.
2012
2013         * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
2014         use CaseFoldingHash.
2015
2016         * editing/Editor.cpp:
2017         (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and
2018         made into a member function so it is accessible from the new EditorCommand.cpp file.
2019         Also changed to get the selection from the passed-in frame instead of from the
2020         page, because this should work on the targeted frame unless the event overrides it.
2021         (WebCore::Editor::handleKeypress): Updated for selectionForCommand change.
2022         (WebCore::Editor::handleInputMethodKeypress): Ditto.
2023         (WebCore::imageElementFromImageDocument): Renamed and changed to return
2024         a HTMLImageElement instead of a Node*.
2025         (WebCore::Editor::canCopy): Updated for name change.
2026         (WebCore::Editor::selectionUnorderedListState): Updated for TriState change.
2027         (WebCore::Editor::selectionOrderedListState): Ditto.
2028         (WebCore::Editor::selectionStartHasStyle): Make type of local more specific.
2029         (WebCore::updateState): Moved here from Frame.
2030         (WebCore::Editor::selectionHasStyle): Ditto.
2031         (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence.
2032         (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for
2033         selectionForCommand change.
2034         (WebCore::Editor::copy): Updated for imageElementFromImageDocument change.
2035         (WebCore::Editor::toggleBold): Call the ToggleBold command via the command
2036         machinery since it's no longer in this file as a local function.
2037         (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command.
2038         (WebCore::Editor::setBaseWritingDirection): Change type of argument and of
2039         local variable.
2040         (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful
2041         without a kill ring, but it's relatively straightforward to implement one.
2042         (WebCore::Editor::appendToKillRing): Put default implementation here for
2043         platforms other than Mac. We should probably put a simple kill ring
2044         implementation here -- doesn't need to be shared with the OS oh platforms
2045         other than Mac.
2046         (WebCore::Editor::prependToKillRing): Ditto.
2047         (WebCore::Editor::yankFromKillRing): Ditto.
2048         (WebCore::Editor::startNewKillRingSequence): Ditto.
2049         (WebCore::Editor::setKillRingToYankedState): Ditto.
2050
2051         * editing/Editor.h: Moved the TriState enum here instead of inside the
2052         Frame class. Added EditorCommandSource enum. Moved selectionHasStyle
2053         here from the Frame class. Added Editor::Command class with five functions
2054         for the various things you can do with a command (execute it, check if it
2055         can be used, and its state and value). Changed hte parameter of
2056         setBaseWritingDirection to be a const String& rather than a String.
2057         Got rid of the kill-ring-related operations, but added the kill ring
2058         functions themselves. Made selectedRange() public. Made the
2059         m_startNewKillRingSequence not Mac-specific and added "should" to its
2060         name.
2061
2062         * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp.
2063         Retained only the editing commands.
2064         (WebCore::targetFrame): Moved to the top of the file.
2065         (WebCore::executeApplyStyle): Added. Helper function for commands
2066         that need to apply styles.
2067         (WebCore::executeToggleStyle): Added. Helper function for commands
2068         that need to toggle styles based on the style of the start of selection.
2069         (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but
2070         for paragraph styles.
2071         (WebCore::executeInsertFragment): Added. Helper function for commands
2072         that need to insert a DOM fragment.
2073         (WebCore::executeInsertNode): Added. Helper function for commands that
2074         need to insert a tree rooted in a single DOM node.
2075         (WebCore::stateStyle): Added. Helper function for the state of commands
2076         that represent style.
2077         (WebCore::valueStyle): Added. Helper function for the value of commands
2078         that represent style.
2079         (WebCore::canScroll): Added. Helper functions for some move and scroll
2080         commands that need to determine if the renderer they are in can scroll.
2081         (WebCore::unionDOMRanges): Moved here from EditorMac.
2082         (WebCore::executeBackColor):
2083         (WebCore::executeBackwardDelete):
2084         (WebCore::executeCopy):
2085         (WebCore::executeCreateLink):
2086         (WebCore::executeCut):
2087         (WebCore::executeDelete):
2088         (WebCore::executeDeleteToMark):
2089         (WebCore::executeDeleteWordBackward):
2090         (WebCore::executeDeleteWordForward):
2091         (WebCore::executeFindString):
2092         (WebCore::executeFontName):
2093         (WebCore::executeFontSize):
2094         (WebCore::executeFontSizeDelta):
2095         (WebCore::executeForeColor):
2096         (WebCore::executeFormatBlock):
2097         (WebCore::executeForwardDelete):
2098         (WebCore::executeIndent):
2099         (WebCore::executeInsertBacktab):
2100         (WebCore::executeInsertHorizontalRule):
2101         (WebCore::executeInsertHTML):
2102         (WebCore::executeInsertImage):
2103         (WebCore::executeInsertLineBreak):
2104         (WebCore::executeInsertNewline):
2105         (WebCore::executeInsertNewlineInQuotedContent):
2106         (WebCore::executeInsertOrderedList):
2107         (WebCore::executeInsertParagraph):
2108         (WebCore::executeInsertTab):
2109         (WebCore::executeInsertText):
2110         (WebCore::executeInsertUnorderedList):
2111         (WebCore::executeJustifyCenter):
2112         (WebCore::executeJustifyFull):
2113         (WebCore::executeJustifyLeft):
2114         (WebCore::executeJustifyRight):
2115         (WebCore::executeMoveBackward):
2116         (WebCore::executeMoveBackwardAndModifySelection):
2117         (WebCore::executeMoveDown):
2118         (WebCore::executeMoveDownAndModifySelection):
2119         (WebCore::executeMoveDownByPageAndModifyCaret):
2120         (WebCore::executeMoveForward):
2121         (WebCore::executeMoveForwardAndModifySelection):
2122         (WebCore::executeMoveLeft):
2123         (WebCore::executeMoveLeftAndModifySelection):
2124         (WebCore::executeMoveRight):
2125         (WebCore::executeMoveRightAndModifySelection):
2126         (WebCore::executeMoveToBeginningOfDocument):
2127         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
2128         (WebCore::executeMoveToBeginningOfLine):
2129         (WebCore::executeMoveToBeginningOfLineAndModifySelection):
2130         (WebCore::executeMoveToBeginningOfParagraph):
2131         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
2132         (WebCore::executeMoveToBeginningOfSentence):
2133         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
2134         (WebCore::executeMoveToEndOfDocument):
2135         (WebCore::executeMoveToEndOfDocumentAndModifySelection):
2136         (WebCore::executeMoveToEndOfSentence):
2137         (WebCore::executeMoveToEndOfSentenceAndModifySelection):
2138         (WebCore::executeMoveToEndOfLine):
2139         (WebCore::executeMoveToEndOfLineAndModifySelection):
2140         (WebCore::executeMoveToEndOfParagraph):
2141         (WebCore::executeMoveToEndOfParagraphAndModifySelection):
2142         (WebCore::executeMoveParagraphBackwardAndModifySelection):
2143         (WebCore::executeMoveParagraphForwardAndModifySelection):
2144         (WebCore::executeMoveUp):
2145         (WebCore::executeMoveUpAndModifySelection):
2146         (WebCore::executeMoveUpByPageAndModifyCaret):
2147         (WebCore::executeMoveWordBackward):
2148         (WebCore::executeMoveWordBackwardAndModifySelection):
2149         (WebCore::executeMoveWordForward):
2150         (WebCore::executeMoveWordForwardAndModifySelection):
2151         (WebCore::executeMoveWordLeft):
2152         (WebCore::executeMoveWordLeftAndModifySelection):
2153         (WebCore::executeMoveWordRight):
2154         (WebCore::executeMoveWordRightAndModifySelection):
2155         (WebCore::executeOutdent):
2156         (WebCore::executePaste):
2157         (WebCore::executePasteAndMatchStyle):
2158         (WebCore::executePrint):
2159         (WebCore::executeRedo):
2160         (WebCore::executeRemoveFormat):
2161         (WebCore::executeSelectAll):
2162         (WebCore::executeSelectToMark):
2163         (WebCore::executeSetMark):
2164         (WebCore::executeStrikethrough):
2165         (WebCore::executeSubscript):
2166         (WebCore::executeSuperscript):
2167         (WebCore::executeSwapWithMark):
2168         (WebCore::executeToggleBold):
2169         (WebCore::executeToggleItalic):
2170         (WebCore::executeTranspose):
2171         (WebCore::executeUnderline):
2172         (WebCore::executeUndo):
2173         (WebCore::executeUnlink):
2174         (WebCore::executeUnscript):
2175         (WebCore::executeUnselect):
2176         (WebCore::executeYank):
2177         (WebCore::executeYankAndSelect):
2178         (WebCore::supported):
2179         (WebCore::supportedPaste):
2180         (WebCore::enabled):
2181         (WebCore::enabledAnySelection):
2182         (WebCore::enabledAnySelectionAndMark):
2183         (WebCore::enableCaretInEditableText):
2184         (WebCore::enabledCopy):
2185         (WebCore::enabledCut):
2186         (WebCore::enabledInEditableText):
2187         (WebCore::enabledInRichlyEditableText):
2188         (WebCore::enabledPaste):
2189         (WebCore::enabledRangeInEditableText):
2190         (WebCore::enabledRangeInRichlyEditableText):
2191         (WebCore::enabledRedo):
2192         (WebCore::enabledUndo):
2193         (WebCore::stateNone):
2194         (WebCore::stateBold):
2195         (WebCore::stateItalic):
2196         (WebCore::stateOrderedList):
2197         (WebCore::stateStrikethrough):
2198         (WebCore::stateSubscript):
2199         (WebCore::stateSuperscript):
2200         (WebCore::stateUnderline):
2201         (WebCore::stateUnorderedList):
2202         (WebCore::valueNull):
2203         (WebCore::valueBackColor):
2204         (WebCore::valueFontName):
2205         (WebCore::valueFontSize):
2206         (WebCore::valueFontSizeDelta):
2207         (WebCore::valueForeColor):
2208         (WebCore::createCommandMap): Added lots of commands, including all the commands
2209         from JSEditor. A few commands needed different behavior based on whether they are
2210         invoked from the DOM or a keyboard binding.
2211         (WebCore::Editor::command): Added. Gets a command object given a name.
2212         (WebCore::Editor::Command::Command): Added.
2213         (WebCore::Editor::Command::execute): Added.
2214         (WebCore::Editor::Command::isSupported): Added.
2215         (WebCore::Editor::Command::isEnabled): Added.
2216         (WebCore::Editor::Command::state): Added.
2217         (WebCore::Editor::Command::value): Added.
2218         (WebCore::Editor::execCommand): Changed to call command().execute().
2219
2220         * editing/JSEditor.cpp: Removed.
2221         * editing/JSEditor.h: Removed.
2222
2223         * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of
2224         kill ring commands, so the kill ring commands can be cross-platform.
2225         (WebCore::Editor::appendToKillRing): Added.
2226         (WebCore::Editor::prependToKillRing): Added.
2227         (WebCore::Editor::yankFromKillRing): Added.
2228         (WebCore::Editor::startNewKillRingSequence): Added.
2229         (WebCore::Editor::setKillRingToYankedState): Added.
2230
2231         * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
2232         * page/Frame.h: Ditto.
2233
2234         * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
2235         * page/mac/WebCoreFrameBridge.h: Ditto.
2236
2237         * platform/ContextMenu.cpp:
2238         (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
2239
2240         * platform/text/StringHash.h:
2241         (WebCore::StringHash::hash): Merged the StrHash<> template classes into this.
2242         (WebCore::StringHash::equal): Ditto.
2243         (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template
2244         classes into this.
2245         (WebCore::CaseFoldingHash::equal): Ditto.
2246
2247         * platform/text/StringImpl.cpp:
2248         (WebCore::equal): Changed to invoke StringHash.
2249         (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
2250
2251         * dom/DOMImplementation.cpp:
2252         (WebCore::addString): Updated to use StringHash and CaseFoldingHash.
2253         (WebCore::isSVG10Feature): Ditto.
2254         (WebCore::isSVG11Feature): Ditto.
2255         * loader/FrameLoader.cpp:
2256         (WebCore::localSchemes): Ditto.
2257         * platform/graphics/FontCache.cpp:
2258         (WebCore::computeHash): Ditto.
2259         * platform/network/HTTPHeaderMap.h: Ditto.
2260         * platform/text/PlatformString.h: Ditto.
2261         * platform/text/StringImpl.h: Ditto.
2262         * rendering/RenderPartObject.cpp:
2263         (WebCore::RenderPartObject::updateWidget): Ditto.
2264         * xml/XMLHttpRequest.cpp:
2265         (WebCore::canSetRequestHeader): Ditto.
2266
2267         * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
2268
2269 2007-12-11  Darin Adler  <darin@apple.com>
2270
2271         * platform/wx/KeyboardEventWx.cpp:
2272         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
2273         WX build. Changes the code around a little bit.
2274
2275 2007-12-11  Darin Adler  <darin@apple.com>
2276
2277         * platform/wx/KeyboardEventWx.cpp:
2278         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
2279
2280 2007-12-11  Dan Bernstein  <mitz@apple.com>
2281
2282         Reviewed by Darin Adler.
2283
2284         - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
2285
2286         Test: fast/text/international/complex-character-based-fallback.html
2287
2288         * platform/graphics/Font.cpp:
2289         (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument
2290         that forces this function to use the small caps font. It is used for
2291         combining marks that need to combine with a small cap.
2292         * platform/graphics/Font.h:
2293         * platform/win/UniscribeController.cpp:
2294         (WebCore::UniscribeController::advance): Changed to split the string
2295         into runs of characters that will be rendered using the same FontData.
2296         This is done by calling glyphDataForCharacter() for each cahracter to
2297         find the FontData it should be rendered with.
2298         (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData
2299         argument that is passed on to shapeAndPlaceItem() instead of the
2300         smallCaps argument.
2301         (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData
2302         argument and removed the font fallback logic from this function, as
2303         it is now expected to be called with an item all of whose characters
2304         can be rendered with the given fontData.
2305         * platform/win/UniscribeController.h:
2306
2307 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
2308
2309         Reviewed by Darin.
2310
2311         <rdar://problem/5535636>
2312         Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
2313
2314         http://bugs.webkit.org/show_bug.cgi?id=13916
2315         JavaScript detects Tab as a character input on a textfield validation
2316
2317         Test: platform/win/fast/events/double-dead-char.html
2318
2319         * platform/PlatformKeyboardEvent.h:
2320         (WebCore::PlatformKeyboardEvent::):
2321         (WebCore::PlatformKeyboardEvent::type):
2322         (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode):
2323         (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode):
2324         (WebCore::PlatformKeyboardEvent::keyIdentifier):
2325         (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
2326         Added an explicit type member to differentiate different kinds of events:
2327           RawKeyDown == keydown == WM_KEYDOWN
2328           KeyUp == keyup == WM_KEYUP
2329           Char == keypress == WM_CHAR
2330           KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for
2331           event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM.
2332
2333         * platform/mac/KeyEventMac.mm:
2334         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
2335         Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers.
2336         (WebCore::windowsKeyCodeForKeyEvent): 
2337         (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining
2338         that it still fails.
2339         (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that
2340         should not be available in those (because it cannot be provided on Windows).
2341
2342         * platform/win/KeyEventWin.cpp:
2343         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
2344         Used standard Windows constants for bit masks instead of our own ones.
2345         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows.
2346
2347         * platform/gtk/KeyEventGtk.cpp:
2348         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2349         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2350         * platform/qt/PlatformKeyboardEventQt.cpp:
2351         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2352         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2353         * platform/wx/KeyboardEventWx.cpp:
2354         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2355         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2356         Updated for cross-platform changes as much as it was possible without appropriate build
2357         environments.
2358
2359         * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to
2360         convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand().
2361
2362         * bridge/EditorClient.h:
2363         Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
2364         Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns.
2365
2366         * dom/Document.h:
2367         * dom/Document.cpp:
2368         (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
2369
2370         * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
2371
2372         * dom/KeyboardEvent.cpp:
2373         (WebCore::eventTypeForKeyboardEventType):
2374         (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is
2375         now straightforward, so scary hacks such as using autorepeat to distinguish types are
2376         not needed.
2377         (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior.
2378         (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior.
2379         Changed to a more compatible behavior: raw keydown/keyup events do not and can not have
2380         character codes.
2381
2382         * editing/Editor.h:
2383         * editing/Editor.cpp:
2384         (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise?
2385         (WebCore::Editor::handleKeyboardEvent): Updated for new function names.
2386         (WebCore::Editor::handleInputMethodKeydown): Ditto.
2387
2388         * html/HTMLButtonElement.cpp:
2389         (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an
2390         appropriate event. Enter is processed on keypress (and thus should be checked for via charCode,
2391         not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is
2392         highlighted when Space is pressed.
2393
2394         * html/HTMLInputElement.cpp:
2395         (WebCore::HTMLInputElement::defaultEventHandler):
2396         * html/HTMLSelectElement.cpp:
2397         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2398         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2399         Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones
2400         described above.
2401
2402         * page/EventHandler.cpp:
2403         (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event
2404         to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event
2405         handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress()
2406         now being handleInputMethodKeydown().
2407         (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown.
2408         (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler,
2409         as default tab handling happens when processing keydown.
2410         (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal
2411         event handling. Fixed accesskey processing to use information that's available in a raw keydown
2412         event.
2413
2414         (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
2415         handle tabs during keydown processing.
2416
2417         * page/mac/EventHandlerMac.mm:
2418         (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
2419         what callers want.
2420
2421         * platform/text/PlatformString.h:
2422         * platform/text/String.cpp:
2423         (WebCore::String::characterStartingAt):
2424         * platform/text/StringImpl.cpp:
2425         (WebCore::StringImpl::characterStartingAt):
2426         * platform/text/StringImpl.h:
2427         Added a UChar32 accessor.
2428
2429         * svg/graphics/SVGImageEmptyClients.h:
2430         (WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
2431         (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
2432         Updated for new function names.
2433
2434 2007-12-11  John Sullivan  <sullivan@apple.com>
2435
2436         Reviewed by Adele
2437
2438         Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
2439
2440         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2441         (WebCore::MediaPlayerPrivate::createQTMovieView):
2442         (WebCore::MediaPlayerPrivate::detachQTMovieView):
2443
2444 2007-12-11  Alexey Proskuryakov  <ap@webkit.org>
2445
2446         Reviewed by Darin.
2447
2448         http://bugs.webkit.org/show_bug.cgi?id=16325
2449         <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
2450
2451         Fix this on Windows, too!
2452
2453         Test: http/tests/misc/empty-cookie.html
2454
2455         * platform/network/win/CookieJarWin.cpp:
2456         (WebCore::setCookies):
2457         (WebCore::cookies):
2458         Same fix as on Mac, translated into CF.
2459
2460         * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
2461
2462 2007-12-11  Christian Dywan  <christian@twotoasts.de>
2463
2464         Reviewed by Alp Toker.
2465
2466         http://bugs.webkit.org/show_bug.cgi?id=16371
2467         Implement additional mouse cursors for Gtk
2468
2469         Added cursor bitmaps from Mozilla:
2470         http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
2471
2472         * platform/gtk/CursorGtk.cpp:
2473         (WebCore::customCursorNew):
2474         (WebCore::verticalTextCursor):
2475         (WebCore::cellCursor):
2476         (WebCore::contextMenuCursor):
2477         (WebCore::noDropCursor):
2478         (WebCore::copyCursor):
2479         (WebCore::progressCursor):
2480         (WebCore::aliasCursor):
2481         (WebCore::noneCursor):
2482         (WebCore::notAllowedCursor):
2483         (WebCore::zoomInCursor):
2484         (WebCore::zoomOutCursor):
2485         * platform/gtk/CursorGtk.h: Added.
2486
2487 2007-12-10  Oliver Hunt  <oliver@apple.com>
2488
2489         Reviewed by Weinig, Dan, and Alexey.
2490
2491         Fix character set used for dynamically loaded scripts.
2492
2493         Fix for:
2494             <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly.
2495             <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage.
2496             <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding
2497             
2498         Use the same logic to determine the charset for a script loaded dynamically
2499         as we do for a statically loaded script.
2500
2501         * html/HTMLScriptElement.cpp:
2502         (WebCore::HTMLScriptElement::insertedIntoDocument):
2503
2504 2007-12-10  Justin Garcia  <justin.garcia@apple.com>
2505
2506         Reviewed by Oliver Hunt.
2507
2508         <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
2509         
2510         We were trying to insert a block of the requested type before the body element.
2511         
2512         * editing/FormatBlockCommand.cpp:
2513         (WebCore::FormatBlockCommand::doApply): 
2514         Removed unnecessary ()s in the if condition.
2515         Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since
2516         a) upstreamStart will never be outside the root editable element, since in that case
2517         there would be no block inside the editable root to Format, and b) if upstreamStart.node() 
2518         *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert
2519         at [root, 0].
2520         Added comments to explain the use of upstream() in the second if-clause.
2521         Added an early return for case where there is nothing selected, in that case, there is nothing
2522         to move.
2523
2524 2007-12-10  Adele Peterson  <adele@apple.com>
2525
2526         Reviewed and partially fixed by Tim Hatcher.
2527
2528         Remaining part of fix for <rdar://problem/5633400>
2529         Transformed <video> is not clipped correctly until a repaint is forced
2530
2531         Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
2532         from clobbering the WebCore repaints.
2533
2534         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
2535         * html/HTMLMediaElement.h:
2536         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
2537         * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
2538
2539         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2540         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2541         (method_setImplementation): Added for Tiger.
2542
2543         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
2544         (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
2545         (WebCore::MediaPlayerPrivate::setVisible): ditto.
2546         (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
2547
2548         (WebCore::MediaPlayerPrivate::repaint): Added.  Triggers a repaint on the video renderer.
2549         (-[WebCoreMovieObserver repaint]): ditto.
2550
2551         (WebCore::mainThreadSetNeedsDisplay): Added.
2552          Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
2553         (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
2554
2555 2007-12-10  Geoffrey Garen  <ggaren@apple.com>
2556
2557         Reviewed by Sam Weinig.
2558
2559         Updated for rename in JavaScriptCore.
2560
2561         * bridge/mac/WebCoreScriptDebugger.mm:
2562         (-[WebCoreScriptCallFrame scopeChain]):
2563         (-[WebCoreScriptCallFrame functionName]):
2564         (-[WebCoreScriptCallFrame evaluateWebScript:]):
2565
2566 2007-12-10  Rodney Dawes  <dobey@wayofthemonkey.com>
2567
2568         Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
2569         <http://bugs.webkit.org/show_bug.cgi?id=16383>
2570
2571         Use KJS::Window not the ambiguous Window
2572
2573         Reviewed by ddkilzer.
2574
2575         * bindings/js/kjs_dom.cpp (checkNodeSecurity):
2576
2577 2007-12-10  Sam Weinig  <sam@webkit.org>
2578
2579         Fix non-mac builds.
2580
2581         * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
2582
2583 2007-12-10  Marvin Decker  <marv.decker@gmail.com>
2584
2585         Reviewed by Darin.
2586
2587         Fix a divide by 0 in the progress tracker.
2588         http://bugs.webkit.org/show_bug.cgi?id=15055
2589
2590         * loader/ProgressTracker.cpp:
2591         (WebCore::ProgressTracker::incrementProgress):
2592
2593 2007-12-09  Sam Weinig  <sam@webkit.org>
2594
2595         Reviewed by Darin.
2596
2597         More cleanup of kjs_window.
2598         - Move WindowFeatures from bridge/ to page/
2599         - Move functions related to WindowFeatures (boolFeature,
2600           floatFeature, setWindowFeature, parseWindowFeatures) into the class.
2601         - Fix up whitespace.
2602
2603         * WebCore.vcproj/WebCore.vcproj:
2604         * WebCore.xcodeproj/project.pbxproj:
2605         * bindings/js/kjs_window.cpp:
2606         (KJS::DOMWindowTimer::~DOMWindowTimer):
2607         (KJS::createWindow):
2608         (KJS::showModalDialog):
2609         (KJS::Window::getOwnPropertySlot):
2610         (KJS::Window::allowsAccessFrom):
2611         (KJS::Window::shouldInterruptScript):
2612         (KJS::WindowProtoFuncAToB::callAsFunction):
2613         (KJS::WindowProtoFuncOpen::callAsFunction):
2614         (KJS::Window::setReturnValueSlot):
2615         (KJS::ScheduledAction::execute):
2616         (KJS::Window::timerFired):
2617         (KJS::Location::Location):
2618         (KJS::Location::getValueProperty):
2619         (KJS::Location::getOwnPropertySlot):
2620         (KJS::Location::put):
2621         (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
2622         (KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
2623         (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
2624         allowsAccessFrom, cleanup the function a little.
2625         (KJS::PausedTimeouts::~PausedTimeouts):
2626         * bridge/WindowFeatures.h: Removed.
2627         * page/WindowFeatures.cpp: Added.
2628         (WebCore::isSeparator):
2629         (WebCore::WindowFeatures::WindowFeatures):
2630         (WebCore::WindowFeatures::setWindowFeature):
2631         (WebCore::WindowFeatures::boolFeature):
2632         (WebCore::WindowFeatures::floatFeature):
2633         * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
2634         (WebCore::WindowFeatures::WindowFeatures):
2635
2636 2007-12-10  Timothy Hatcher  <timothy@apple.com>
2637
2638         Reviewed by Mark Rowe.
2639
2640         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
2641
2642         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
2643           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
2644
2645 2007-12-10  Alp Toker  <alp@atoker.com>
2646
2647         Reviewed by Niko.
2648
2649         Cairo implementation of GraphicsContext::setUseAntialiasing().
2650
2651         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2652         (WebCore::GraphicsContext::setUseAntialiasing):
2653
2654 2007-12-10  Rob Buis  <buis@kde.org>
2655
2656         Reviewed by Darin.
2657
2658         http://bugs.webkit.org/show_bug.cgi?id=16182
2659         SVG should disable antialiasing for shape-rendering="crispEdges"
2660
2661         Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
2662
2663         * platform/graphics/GraphicsContext.h:
2664         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2665         (WebCore::GraphicsContext::setUseAntialiasing):
2666         * platform/graphics/cg/GraphicsContextCG.cpp:
2667         (WebCore::GraphicsContext::setUseAntialiasing):
2668         * platform/graphics/qt/GraphicsContextQt.cpp:
2669         (WebCore::GraphicsContext::setUseAntialiasing):
2670         * platform/graphics/wx/GraphicsContextWx.cpp:
2671         (WebCore::GraphicsContext::setUseAntialiasing):
2672         * rendering/RenderPath.cpp:
2673         (WebCore::RenderPath::paint):
2674
2675 2007-12-09  Rob Buis  <buis@kde.org>
2676
2677         Reviewed by Niko.
2678
2679         http://bugs.webkit.org/show_bug.cgi?id=16163
2680         SVG crash in Node::setChanged() on Debug builds only (trashed parent)
2681
2682         Fix the crash by properly unregistering as client from SVGResource
2683         when deleting a styled svg node.
2684
2685         * svg/SVGStyledElement.cpp:
2686         (WebCore::SVGStyledElement::~SVGStyledElement):
2687
2688 2007-12-10  Brady Eidson  <beidson@apple.com>
2689
2690         Rubberstamped by John
2691
2692         * storage/DatabaseTracker.cpp:
2693         (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
2694           for the new quota, we should allow the database to be created
2695
2696 2007-12-10  David D. Kilzer  <ddkilzer@webkit.org>
2697
2698         Bug 9683: Implement select.options.remove() method
2699         <http://bugs.webkit.org/show_bug.cgi?id=9683>
2700
2701         Reviewed by Maciej.
2702
2703         Implement select.options.remove() by calling select.remove()
2704         with the same arguments.  This is what MSIE 7 does, although its
2705         select.remove() method differs from WebKit's by throwing an
2706         exception when called with no arguments or with a negative
2707         integer argument.  Note that the DOM Level 1 documentation
2708         specifies that select.remove() does not throw an exception.
2709
2710         Tests: fast/js/select-options-remove-gc.html
2711                fast/js/select-options-remove.html
2712
2713         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2714         (WebCore::JSHTMLOptionsCollection::remove): Added.
2715         * html/HTMLOptionsCollection.cpp:
2716         (WebCore::HTMLOptionsCollection::remove): Added.
2717         * html/HTMLOptionsCollection.h:
2718         * html/HTMLOptionsCollection.idl:
2719
2720 2007-12-09  Sam Weinig  <sam@webkit.org>
2721
2722         Rubber stamped by Mark Rowe.
2723
2724         * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
2725
2726 2007-12-09  Oliver Hunt  <oliver@apple.com>
2727
2728         Reviewed by Niko.
2729
2730         Correction, 'z' and 'Z' are the only commands that cannot have an extended
2731         list of arguments.
2732
2733         * svg/SVGParserUtilities.cpp:
2734         (WebCore::SVGPathParser::parseSVG):
2735
2736 2007-12-09  Oliver Hunt  <oliver@apple.com>
2737
2738         Reviewed by Niko.
2739
2740         Prevent unlimited iteration in the case of invalid path data.
2741         
2742         The only path commands that can leave numbers trailing the command processing
2743         are 'm' and 'M', in which trailing numbers are parsed as arguments to an
2744         implicit lineto command.  In any case we should just terminate as an invalid
2745         path.
2746
2747         * svg/SVGParserUtilities.cpp:
2748         (WebCore::SVGPathParser::parseSVG):
2749
2750 2007-12-09  Luca Bruno  <lethalman88@gmail.com>
2751
2752         Reviewed by Alp Toker.
2753
2754         http://bugs.webkit.org/show_bug.cgi?id=15825
2755         [GTK] curl - slow dns causing hangs.
2756
2757         Create a vector of jobs, to satisfy requests in the right order.
2758         Set a limit to the number of simultaneous connections.
2759
2760         * platform/network/curl/ResourceHandleManager.cpp:
2761         (WebCore::maxRunningJobs): added
2762         (WebCore::ResourceHandleManager::ResourceHandleManager):
2763         (WebCore::ResourceHandleManager::removeFromCurl):
2764         (WebCore::ResourceHandleManager::startScheduledJobs):
2765
2766         * platform/network/curl/ResourceHandleManager.h:
2767         (WebCore::ResourceHandleList): removed
2768         (WebCore::ResourceHandleManager::m_runningJobs): added
2769         (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
2770         (WebCore::ResourceHandleManager::m_resourceHandleList): added
2771
2772 2007-12-08  Sam Weinig  <sam@webkit.org>
2773
2774         Reviewed by Oliver.
2775
2776         Cleanup kjs_window.h/cpp.
2777
2778         * bindings/js/kjs_window.cpp:
2779         (KJS::WindowPrivate::WindowPrivate):
2780         (KJS::DOMWindowTimer::DOMWindowTimer):
2781         (KJS::Window::Window):
2782         (KJS::Window::retrieveWindow):
2783         (KJS::Window::retrieveActive):
2784         (KJS::Window::retrieve):
2785         (KJS::Window::location):
2786         (KJS::Window::mark):
2787         (KJS::allowPopUp):
2788         (KJS::parseModalDialogFeatures):
2789         (KJS::floatFeature):
2790         (KJS::canShowModalDialog):
2791         (KJS::canShowModalDialogNow):
2792         (KJS::showModalDialog):
2793         (KJS::Window::getValueProperty):
2794         (KJS::Window::getOwnPropertySlot):
2795         (KJS::Window::globalExec):
2796         (KJS::Window::setListener):
2797         (KJS::Window::getListener):
2798         (KJS::Window::findOrCreateJSEventListener):
2799         (KJS::Window::findOrCreateJSUnprotectedEventListener):
2800         (KJS::Window::clearHelperObjectProperties):
2801         (KJS::Window::setCurrentEvent):
2802         (KJS::WindowProtoFuncAToB::callAsFunction):
2803         (KJS::WindowProtoFuncBToA::callAsFunction):
2804         (KJS::WindowProtoFuncOpen::callAsFunction):
2805         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
2806         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
2807         (KJS::WindowProtoFuncSetInterval::callAsFunction):
2808         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
2809         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
2810         (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
2811         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
2812         * bindings/js/kjs_window.h:
2813         (KJS::PausedTimeouts::PausedTimeouts):
2814         (KJS::PausedTimeouts::takeTimeouts):
2815         (KJS::ScheduledAction::ScheduledAction):
2816
2817 2007-12-08  Sam Weinig  <sam@webkit.org>
2818
2819         Reviewed by Mitz.
2820
2821         Move window scrolling, moving and resizing methods from KJS::Window
2822         to WebCore::DOMWindow so that there bindings can be autogenerated.
2823
2824         Tests: fast/dom/Window/window-resize-and-move-arguments.html
2825                fast/dom/Window/window-scroll-arguments.html
2826
2827         * WebCore.xcodeproj/project.pbxproj:
2828         * bindings/js/kjs_window.cpp:
2829         (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
2830         (KJS::WindowProtoFuncOpen::callAsFunction):
2831         (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
2832         * bindings/js/kjs_window.h:
2833         * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
2834         to ensure that the no less than the declared number of attributes
2835         is allowed.
2836         * page/DOMWindow.cpp:
2837         (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
2838         (WebCore::DOMWindow::scrollBy):
2839         (WebCore::DOMWindow::scrollTo):
2840         (WebCore::DOMWindow::moveBy):
2841         (WebCore::DOMWindow::moveTo):
2842         (WebCore::DOMWindow::resizeBy):
2843         (WebCore::DOMWindow::resizeTo):
2844         * page/DOMWindow.h:
2845         (WebCore::DOMWindow::scroll):
2846         * page/DOMWindow.idl:
2847
2848 2007-12-08  Kevin Ollivier  <kevino@theolliviers.com>
2849
2850         Reviewed by Alp Toker.
2851
2852         http://bugs.webkit.org/show_bug.cgi?id=14651
2853         [CURL] didReceiveResponse() only called for HTTP loads
2854
2855         http://bugs.webkit.org/show_bug.cgi?id=14583
2856         [GDK] file:// relative CSS include URLs handled incorrectly
2857
2858         Make sure CURL sets the ResourceResponse URL and calls
2859         didReceiveResponse for local files too. 
2860
2861         * platform/network/curl/ResourceHandleManager.cpp:
2862         (WebCore::writeCallback):
2863
2864 2007-12-08  Oliver Hunt  <oliver@apple.com>
2865
2866         Reviewed by Sam W.
2867
2868         Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
2869         
2870         Fixes <rdar://problem/5620249> Must disable SVG animation
2871         <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
2872         
2873         In order to allow finer grained control over the set of SVG features
2874         this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
2875         distinct flags:
2876         ENABLE_SVG_ANIMATION
2877         ENABLE_SVG_FILTERS
2878         ENABLE_SVG_FONTS
2879         ENABLE_SVG_AS_IMAGE
2880         ENABLE_SVG_USE
2881         
2882         by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
2883
2884         * Configurations/WebCore.xcconfig:
2885         * DerivedSources.make:
2886           Handle the increased number of build flags that may be necessary
2887           
2888         * WebCore.SVG.Animation.exp: Added.
2889         * WebCore.SVG.Filters.exp: Added.
2890         * WebCore.SVG.exp:
2891           We now may not need the animation or filter exports so 
2892           these need to be separate.
2893           
2894         * WebCore.vcproj/WebCore.vcproj:
2895         * WebCore.vcproj/build-generated-files.sh:
2896           Update for new flags
2897           
2898         Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES) 
2899         with the appropriate specific feature flag.  
2900         * bindings/js/JSSVGElementWrapperFactory.cpp:
2901         (WebCore::createJSSVGWrapper):
2902         * bindings/objc/DOM.mm:
2903         (WebCore::createElementClassMap):
2904         * dom/make_names.pl:
2905         * loader/CachedImage.cpp:
2906         (WebCore::CachedImage::createImage):
2907         * page/DOMWindow.idl:
2908         * rendering/RenderPath.cpp:
2909         (WebCore::RenderPath::absoluteClippedOverflowRect):
2910         * rendering/RenderSVGContainer.cpp:
2911         (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
2912         * rendering/RenderSVGImage.cpp:
2913         (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
2914         * rendering/RenderSVGRoot.cpp:
2915         (WebCore::RenderSVGRoot::paint):
2916         (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
2917         * rendering/RenderSVGText.cpp:
2918         (WebCore::RenderSVGText::absoluteClippedOverflowRect):
2919         * rendering/SVGRenderSupport.cpp:
2920         (WebCore::prepareToRenderSVGContent):
2921         (WebCore::finishRenderSVGContent):
2922         * svg/SVGAnimateElement.cpp:
2923         * svg/SVGAnimateElement.h:
2924         * svg/SVGAnimateElement.idl:
2925         * svg/SVGAnimateMotionElement.cpp:
2926         * svg/SVGAnimateMotionElement.h:
2927         * svg/SVGAnimateTransformElement.cpp:
2928         * svg/SVGAnimateTransformElement.h:
2929         * svg/SVGAnimateTransformElement.idl:
2930         * svg/SVGComponentTransferFunctionElement.cpp:
2931         * svg/SVGComponentTransferFunctionElement.h:
2932         * svg/SVGComponentTransferFunctionElement.idl:
2933         * svg/SVGDocumentExtensions.cpp:
2934         (WebCore::SVGDocumentExtensions::startAnimations):
2935         * svg/SVGFEBlendElement.cpp:
2936         * svg/SVGFEBlendElement.h:
2937         * svg/SVGFEBlendElement.idl:
2938         * svg/SVGFEColorMatrixElement.cpp:
2939         * svg/SVGFEColorMatrixElement.h:
2940         * svg/SVGFEColorMatrixElement.idl:
2941         * svg/SVGFEComponentTransferElement.cpp:
2942         * svg/SVGFEComponentTransferElement.h:
2943         * svg/SVGFEComponentTransferElement.idl:
2944         * svg/SVGFECompositeElement.cpp:
2945         * svg/SVGFECompositeElement.h:
2946         * svg/SVGFECompositeElement.idl:
2947         * svg/SVGFEDiffuseLightingElement.cpp:
2948         * svg/SVGFEDiffuseLightingElement.h:
2949         * svg/SVGFEDiffuseLightingElement.idl:
2950         * svg/SVGFEDisplacementMapElement.cpp:
2951         * svg/SVGFEDisplacementMapElement.h:
2952         * svg/SVGFEDisplacementMapElement.idl:
2953         * svg/SVGFEDistantLightElement.cpp:
2954         * svg/SVGFEDistantLightElement.h:
2955         * svg/SVGFEDistantLightElement.idl:
2956         * svg/SVGFEFloodElement.cpp:
2957         * svg/SVGFEFloodElement.h:
2958         * svg/SVGFEFloodElement.idl:
2959         * svg/SVGFEFuncAElement.cpp:
2960         * svg/SVGFEFuncAElement.h:
2961         * svg/SVGFEFuncAElement.idl:
2962         * svg/SVGFEFuncBElement.cpp:
2963         * svg/SVGFEFuncBElement.h:
2964         * svg/SVGFEFuncBElement.idl:
2965         * svg/SVGFEFuncGElement.cpp:
2966         * svg/SVGFEFuncGElement.h:
2967         * svg/SVGFEFuncGElement.idl:
2968         * svg/SVGFEFuncRElement.cpp:
2969         * svg/SVGFEFuncRElement.h:
2970         * svg/SVGFEFuncRElement.idl:
2971         * svg/SVGFEGaussianBlurElement.cpp:
2972         * svg/SVGFEGaussianBlurElement.h:
2973         * svg/SVGFEGaussianBlurElement.idl:
2974         * svg/SVGFEImageElement.cpp:
2975         * svg/SVGFEImageElement.h:
2976         * svg/SVGFEImageElement.idl:
2977         * svg/SVGFELightElement.cpp:
2978         * svg/SVGFELightElement.h:
2979         * svg/SVGFEMergeElement.cpp:
2980         * svg/SVGFEMergeElement.h:
2981         * svg/SVGFEMergeElement.idl:
2982         * svg/SVGFEMergeNodeElement.cpp:
2983         * svg/SVGFEMergeNodeElement.h:
2984         * svg/SVGFEMergeNodeElement.idl:
2985         * svg/SVGFEOffsetElement.cpp:
2986         * svg/SVGFEOffsetElement.h:
2987         * svg/SVGFEOffsetElement.idl:
2988         * svg/SVGFEPointLightElement.cpp:
2989         * svg/SVGFEPointLightElement.h:
2990         * svg/SVGFEPointLightElement.idl:
2991         * svg/SVGFESpecularLightingElement.cpp:
2992         * svg/SVGFESpecularLightingElement.h:
2993         * svg/SVGFESpecularLightingElement.idl:
2994         * svg/SVGFESpotLightElement.cpp:
2995         * svg/SVGFESpotLightElement.h:
2996         * svg/SVGFESpotLightElement.idl:
2997         * svg/SVGFETileElement.cpp:
2998         * svg/SVGFETileElement.h:
2999         * svg/SVGFETileElement.idl:
3000         * svg/SVGFETurbulenceElement.cpp:
3001         * svg/SVGFETurbulenceElement.h:
3002         * svg/SVGFETurbulenceElement.idl:
3003         * svg/SVGFilterElement.cpp:
3004         * svg/SVGFilterElement.h:
3005         * svg/SVGFilterElement.idl:
3006         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3007         * svg/SVGTimer.cpp:
3008         (WebCore::SVGTimer::animationsByElement):
3009         * svg/SVGUseElement.cpp:
3010         (WebCore::SVGUseElement::buildPendingResource):
3011         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3012         * svg/SVGUseElement.h:
3013         * svg/TimeScheduler.cpp:
3014         (WebCore::TimeScheduler::connectIntervalTimer):
3015         (WebCore::TimeScheduler::disconnectIntervalTimer):
3016         * svg/graphics/SVGResourceFilter.cpp:
3017         * svg/graphics/SVGResourceFilter.h:
3018         * svg/graphics/cg/SVGResourceFilterCg.cpp:
3019         * svg/graphics/cg/SVGResourceFilterCg.mm:
3020         * svg/graphics/filters/SVGDistantLightSource.h:
3021         * svg/graphics/filters/SVGFEBlend.cpp:
3022         * svg/graphics/filters/SVGFEBlend.h:
3023         * svg/graphics/filters/SVGFEColorMatrix.cpp:
3024         * svg/graphics/filters/SVGFEColorMatrix.h:
3025         * svg/graphics/filters/SVGFEComponentTransfer.cpp:
3026         * svg/graphics/filters/SVGFEComponentTransfer.h:
3027         * svg/graphics/filters/SVGFEComposite.cpp:
3028         * svg/graphics/filters/SVGFEComposite.h:
3029         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
3030         * svg/graphics/filters/SVGFEConvolveMatrix.h:
3031         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
3032         * svg/graphics/filters/SVGFEDiffuseLighting.h:
3033         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
3034         * svg/graphics/filters/SVGFEDisplacementMap.h:
3035         * svg/graphics/filters/SVGFEFlood.cpp:
3036         * svg/graphics/filters/SVGFEFlood.h:
3037         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
3038         * svg/graphics/filters/SVGFEGaussianBlur.h:
3039         * svg/graphics/filters/SVGFEImage.cpp:
3040         * svg/graphics/filters/SVGFEImage.h:
3041         * svg/graphics/filters/SVGFEMerge.cpp:
3042         * svg/graphics/filters/SVGFEMerge.h:
3043         * svg/graphics/filters/SVGFEMorphology.cpp:
3044         * svg/graphics/filters/SVGFEMorphology.h:
3045         * svg/graphics/filters/SVGFEOffset.cpp:
3046         * svg/graphics/filters/SVGFEOffset.h:
3047         * svg/graphics/filters/SVGFESpecularLighting.cpp:
3048         * svg/graphics/filters/SVGFESpecularLighting.h:
3049         * svg/graphics/filters/SVGFETile.h:
3050         * svg/graphics/filters/SVGFETurbulence.cpp:
3051         * svg/graphics/filters/SVGFETurbulence.h:
3052         * svg/graphics/filters/SVGFilterEffect.cpp:
3053         * svg/graphics/filters/SVGFilterEffect.h:
3054         * svg/graphics/filters/SVGLightSource.cpp:
3055         * svg/graphics/filters/SVGLightSource.h:
3056         * svg/graphics/filters/SVGPointLightSource.h:
3057         * svg/graphics/filters/SVGSpotLightSource.h:
3058         * svg/graphics/filters/cg/SVGFEBlendCg.mm:
3059         * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
3060         * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
3061         * svg/graphics/filters/cg/SVGFECompositeCg.mm:
3062         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
3063         * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
3064         * svg/graphics/filters/cg/SVGFEFloodCg.mm:
3065         * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
3066         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
3067         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
3068         * svg/graphics/filters/cg/SVGFEImageCg.mm:
3069         * svg/graphics/filters/cg/SVGFEMergeCg.mm:
3070         * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
3071         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
3072         * svg/graphics/filters/cg/SVGFETileCg.mm:
3073         * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
3074         * svg/graphics/filters/cg/WKArithmeticFilter.h:
3075         * svg/graphics/filters/cg/WKArithmeticFilter.m:
3076         * svg/graphics/filters/cg/WKComponentMergeFilter.h:
3077         * svg/graphics/filters/cg/WKComponentMergeFilter.m:
3078         * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
3079         * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
3080         * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
3081         * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
3082         * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
3083         * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
3084         * svg/graphics/filters/cg/WKDistantLightFilter.h:
3085         * svg/graphics/filters/cg/WKDistantLightFilter.m:
3086         * svg/graphics/filters/cg/WKGammaTransferFilter.h:
3087         * svg/graphics/filters/cg/WKGammaTransferFilter.m:
3088         * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
3089         * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
3090         * svg/graphics/filters/cg/WKLinearTransferFilter.h:
3091         * svg/graphics/filters/cg/WKLinearTransferFilter.m:
3092         * svg/graphics/filters/cg/WKNormalMapFilter.h:
3093         * svg/graphics/filters/cg/WKNormalMapFilter.m:
3094         * svg/graphics/filters/cg/WKPointLightFilter.h:
3095         * svg/graphics/filters/cg/WKPointLightFilter.m:
3096         * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
3097         * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
3098         * svg/graphics/filters/cg/WKSpotLightFilter.h:
3099         * svg/graphics/filters/cg/WKSpotLightFilter.m:
3100         * svg/graphics/filters/cg/WKTableTransferFilter.h:
3101         * svg/graphics/filters/cg/WKTableTransferFilter.m:
3102         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
3103         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
3104         * svg/svgtags.in:
3105
3106 2007-12-08  Dan Bernstein  <mitz@apple.com>
3107
3108         Reviewed by Adele Peterson.
3109
3110         - fix two bugs in parsing of stylesheets in <style> elements created by
3111           the parser:
3112           1. each such stylesheet is parsed twice, once when the text node is
3113              added and again when the </style> tag is reached
3114           2. re-inserting such a <style> element into the document fails to
3115              re-parse and apply its stylesheet.
3116
3117         Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
3118
3119         * html/HTMLStyleElement.cpp:
3120         (WebCore::HTMLStyleElement::finishedParsing):
3121         * svg/SVGStyleElement.cpp:
3122         (WebCore::SVGStyleElement::finishedParsing):
3123
3124 2007-12-07  Sam Weinig  <sam@webkit.org>
3125
3126         Reviewed by Darin.
3127
3128         - Removes the faulty isSafeScript implementation that was only
3129           used for plugins.
3130         - Renames isSafeScript to allowsAccessFrom.
3131
3132         * bindings/js/JSDOMWindowCustom.cpp:
3133         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
3134         (WebCore::JSDOMWindow::customPut):
3135         * bindings/js/kjs_dom.cpp:
3136         (WebCore::checkNodeSecurity):
3137         * bindings/js/kjs_window.cpp:
3138         (KJS::createWindow):
3139         (KJS::Window::getValueProperty):
3140         (KJS::Window::namedItemGetter):
3141         (KJS::Window::getOwnPropertySlot):
3142         (KJS::Window::put):
3143         (KJS::Window::allowsAccessFrom):
3144         (KJS::Window::setListener):
3145         (KJS::Window::getListener):
3146         (KJS::WindowProtoFuncOpen::callAsFunction):
3147         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
3148         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
3149         (KJS::WindowProtoFuncSetInterval::callAsFunction):
3150         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
3151         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
3152         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
3153         (KJS::Location::getOwnPropertySlot):
3154         (KJS::Location::put):
3155         (KJS::LocationProtoFuncReplace::callAsFunction):
3156         (KJS::LocationProtoFuncReload::callAsFunction):
3157         (KJS::LocationProtoFuncAssign::callAsFunction):
3158         (KJS::LocationProtoFuncToString::callAsFunction):
3159         * bindings/js/kjs_window.h:
3160         (KJS::Window::allowsAccessFrom):
3161         * bindings/objc/WebScriptObject.mm:
3162         (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
3163         the new call.
3164         * bindings/scripts/CodeGeneratorJS.pm:
3165
3166 2007-12-08  Rob Buis  <buis@kde.org>
3167
3168         Reviewed by Darin.
3169
3170         http://bugs.webkit.org/show_bug.cgi?id=15464
3171         SVGLengthList allows bad values
3172
3173         Be more strict with svg lengths without a unit identifier.
3174
3175         Test: svg/custom/invalid-lengthlist.svg
3176
3177         * svg/SVGLength.cpp:
3178         (WebCore::SVGLength::setValueAsString):
3179
3180 2007-12-08  Rob Buis  <buis@kde.org>
3181
3182         Mac Tiger build fix.
3183
3184         Use the wtf prefix when including MathExtras.h.
3185
3186         * rendering/RenderMedia.cpp:
3187
3188 2007-12-08  Alp Toker  <alp@atoker.com>
3189
3190         GTK+ build fix (for ENABLE_VIDEO builds):
3191
3192         Include MathExtras.h to get isfinite().
3193
3194         * rendering/RenderMedia.cpp:
3195
3196 2007-12-08  Rob Buis  <buis@kde.org>
3197
3198         Reviewed by Darin.
3199
3200         http://bugs.webkit.org/show_bug.cgi?id=15528
3201         svg_dynamic_cast should be removed
3202
3203         Replace svg_dynamic_cast with a combination of
3204         isSVGElement and static_cast.
3205
3206         * rendering/SVGRootInlineBox.cpp:
3207         (WebCore::SVGRootInlineBox::buildLayoutInformation):
3208         (WebCore::SVGRootInlineBox::buildTextChunks):
3209         * svg/SVGAnimationElement.cpp:
3210         (WebCore::SVGAnimationElement::targetElement):
3211         * svg/SVGElement.h:
3212         * svg/SVGElementInstance.cpp:
3213         (WebCore::SVGElementInstance::updateInstance):
3214         * svg/SVGFilterElement.cpp:
3215         (WebCore::SVGFilterElement::canvasResource):
3216         * svg/SVGGradientElement.cpp:
3217         (WebCore::SVGGradientElement::buildStops):
3218         * svg/SVGLocatable.cpp:
3219         (WebCore::SVGLocatable::getTransformToElement):
3220         * svg/SVGMaskElement.cpp:
3221         (WebCore::SVGMaskElement::drawMaskerContent):
3222         * svg/SVGSwitchElement.cpp:
3223         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
3224         * svg/SVGUseElement.cpp:
3225         (WebCore::SVGUseElement::insertedIntoDocument):
3226         (WebCore::SVGUseElement::buildPendingResource):
3227         (WebCore::SVGUseElement::buildInstanceTree):
3228         (WebCore::SVGUseElement::handleDeepUseReferencing):
3229         (WebCore::SVGUseElement::buildShadowTree):
3230         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
3231         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3232         * svg/graphics/SVGResource.cpp:
3233         (WebCore::getResourceById):
3234
3235 2007-12-07  Antti Koivisto  <antti@apple.com>
3236
3237         Reviewed by Adele.
3238         
3239         Partial fix for <rdar://problem/5633400>
3240         Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
3241         
3242         Fix video painting when transform is applied.
3243
3244         Test: media/video-transformed.html
3245
3246         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3247         (WebCore::MediaPlayerPrivate::paint):
3248
3249 2007-12-07  Dan Bernstein  <mitz@apple.com>
3250
3251         Reviewed by Sam Weinig.
3252
3253         - fix http://bugs.webkit.org/show_bug.cgi?id=16348
3254           @font-face does not affect the default style
3255
3256         Test: fast/css/font-face-default-font.html
3257
3258         * dom/Document.cpp:
3259         (WebCore::Document::recalcStyle): Pass our font selector to
3260         Font::update() if we already have one.
3261
3262 2007-12-07  Darin Adler  <darin@apple.com>
3263
3264         - fix Windows build
3265
3266         * bridge/win/GlobalHistoryWin.cpp:
3267         (WebCore::historyContains): Missed a rename.
3268
3269 2007-12-07  Brady Eidson  <beidson@apple.com>
3270
3271         Reviewed by Anders and Darin
3272
3273         When a statement bumps up against the quota and the UI Delegate grants more space, we need to
3274         actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
3275         in the DatabaseTracker, which was already done)
3276
3277         * storage/SQLTransaction.cpp:
3278         (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
3279           the SQLiteDatabase to the new maximum size
3280
3281 2007-12-07  Darin Adler  <darin@apple.com>
3282
3283         - fix Tiger build
3284
3285         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
3286         QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
3287
3288 2007-12-07  Darin Adler  <darin@apple.com>
3289
3290         - fix 64-bit build, hopefully without breaking Tiger build
3291
3292         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3293         (WebCore::MediaPlayerPrivate::updateStates):
3294         Don't use Movies.h constants that are nonexistent in 64-bit.
3295         Define the new QTMovie.h constants, though, when using an older QTKit.
3296
3297 2007-12-07  Brady Eidson  <beidson@apple.com>
3298
3299         Reviewed by Anders
3300
3301         Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
3302
3303         * storage/DatabaseTracker.cpp:
3304         (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
3305         (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
3306         * storage/DatabaseTracker.h:
3307
3308 2007-12-07  Darin Adler  <darin@apple.com>
3309
3310         Reviewed by Mitz.
3311
3312         - http://bugs.webkit.org/show_bug.cgi?id=15981
3313           speed up visited-link code a bit
3314
3315         * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
3316         instead of requiring a DeprecatedString.
3317
3318         * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
3319         Also removes pointless "fast Latin-1" case that was never used.
3320         * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
3321         * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
3322         * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
3323
3324         * css/CSSStyleSelector.cpp:
3325         (WebCore::findHash): Added. Helper for cleanpath.
3326         (WebCore::findSlashDotDotSlash): Ditto.
3327         (WebCore::findSlashSlash): Ditto.
3328         (WebCore::findSlashDotSlash): Ditto.
3329         (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
3330         DeprecatedString find function.
3331         (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
3332         (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
3333         instead of an AtomicString for the attribute value. Changed to use fast helper function
3334         instead of slower DeprecatedString::contains function, and also made the fast case not
3335         bother allocating a DeprecatedConstString.
3336
3337         - unrelated tiny cleanup
3338
3339         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3340         (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
3341         (WebCore::cgGradientCallback): Ditto.
3342
3343 2007-12-07  Darin Adler  <darin@apple.com>
3344
3345         Fix build on Tiger (Mark Rowe told me how).
3346
3347         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3348         Include <objc/objc-runtime.h>, which existed back on Tiger,
3349         rather than <objc/runtime.h>, which did not.
3350
3351 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
3352
3353         Build fix: rolling out last build fix to change #include path.
3354
3355         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3356
3357 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
3358
3359         Re-named our B&I flag from BUILDBOT to PRODUCTION.
3360
3361         Reviewed by Sam Weinig.
3362
3363         * WebCore.vcproj/WebCore.make:
3364
3365 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
3366
3367         Build fix: corrected #include path.
3368
3369         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3370
3371 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
3372
3373         Reviewed by Sam Weinig.
3374
3375         Added some namespace qualifications and a forwarding header, now that
3376         KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
3377
3378         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
3379         * bindings/js/JSXSLTProcessor.cpp:
3380         (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
3381         * bindings/js/kjs_binding.cpp:
3382         (KJS::ScriptInterpreter::getDOMNodeForDocument):
3383         (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
3384         (KJS::ScriptInterpreter::putDOMNodeForDocument):
3385         (KJS::ScriptInterpreter::markDOMNodesForDocument):
3386         (KJS::ScriptInterpreter::updateDOMNodeDocument):
3387
3388 2007-12-07  Adam Roben  <aroben@apple.com>
3389
3390         Add SoftLinking.h for Windows and use it in a few places
3391
3392         Reviewed by Oliver.
3393
3394         * WebCore.vcproj/WebCore.vcproj: Added new file to project.
3395         * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
3396         (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
3397         soft-linking calls.
3398         (WebCore::PlatformScrollbar::paintButton): Check for the presence of
3399         the SafariTheme library now that we can't check for the presence of
3400         paintThemePart directly.
3401         (WebCore::PlatformScrollbar::paintTrack): Ditto.
3402         (WebCore::PlatformScrollbar::paintThumb): Ditto.
3403         * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
3404         * rendering/RenderThemeSafari.cpp: Same basic changes as to
3405         PlatformScrollBarSafari.cpp.
3406         (WebCore::RenderThemeSafari::RenderThemeSafari):
3407         (WebCore::RenderThemeSafari::isControlStyled):
3408         (WebCore::RenderThemeSafari::paintCapsLockIndicator):
3409         * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
3410
3411 2007-12-07  Darin Adler  <darin@apple.com>
3412
3413         Reviewed by Adele.
3414
3415         - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
3416           at WebCore::HTMLSelectElement::saveState const + 152
3417
3418         Test: fast/forms/select-set-inner.html
3419
3420         * dom/ContainerNode.cpp:
3421         (WebCore::ContainerNode::removeChildren): Added a return value, as with other
3422         calls that change children, so we can optimize for the case where it does nothing.
3423         (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
3424         * dom/ContainerNode.h: See above.
3425
3426         * html/HTMLOptGroupElement.cpp:
3427         (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
3428         recalcSelectOptions in that case.
3429         (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
3430         addChild, for consistency with HTMLSelectElement; no need to override both.
3431         (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
3432         * html/HTMLOptGroupElement.h: See above.
3433
3434         * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
3435         override childrenChanged, and addChild calls that.
3436         (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
3437         recalcSelectOptions in that case.
3438         (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
3439         by using a for loop and traverseNextSibling. Also added some new comments and
3440         removed some obsolete ones.
3441         (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
3442         sure we don't have a stale list items vector.
3443         * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
3444         This will help us catch cases where we have too few calls to setRecalcListItems.
3445
3446 2007-12-07  Dan Bernstein  <mitz@apple.com>
3447
3448         Reviewed by Darin Adler.
3449
3450         - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
3451
3452         Test: fast/repaint/focus-ring.html
3453
3454         * editing/SelectionController.cpp:
3455         (WebCore::SelectionController::caretRepaintRect): Changed to return just
3456         the caret rect without any padding.
3457         (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
3458         just the caret rect without any padding.
3459         * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
3460         clearFocusRingClip().
3461         * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
3462         * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
3463         * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
3464         m_focusRingClip member.
3465         * platform/graphics/mac/GraphicsContextMac.mm:
3466         (WebCore::GraphicsContext::drawFocusRing): Changed to call
3467         wkDrawFocusRing() once without setting up additional clip. On Leopard,
3468         wkDrawFocusRing() respects the context clip now. On Tiger, a
3469         transparency layer is used to apply clipping to the focus ring.
3470         * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
3471         methods and member.
3472         * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
3473         * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
3474         to wkDrawFocusRing().
3475         * platform/mac/WebCoreSystemInterface.mm: Ditto.
3476         * rendering/RenderLayer.cpp:
3477         (WebCore::setClip): Removed call to set the focus ring clip.
3478         (WebCore::restoreClip): Removed call to reset the focus ring clip.
3479
3480 2007-12-07  Darin Adler  <darin@apple.com>
3481
3482         Reviewed by Antti Koivisto and Kevin Decker.
3483
3484         - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
3485
3486         Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
3487
3488         * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
3489
3490         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
3491         Made a lot more functions const. Made a few more members private and a couple inline.
3492         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
3493         things we currently use in QTKit. It's a little more awkward for classes and other data objects
3494         than it is for functions, but still relatively straightforward, with no changes needed to the
3495         client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
3496         it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
3497         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
3498         members to nil.
3499         (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
3500         (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
3501         (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
3502         Changed to use long instead of int because that's the type for a QTTime time scale anyway.
3503         (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
3504         (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
3505         (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
3506         points set to avoid a potential problem with a set being modified as we iterate it.
3507         (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
3508         (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
3509         values, used the constants from the headers directly.
3510         (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
3511         pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
3512         of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
3513         no better). Used RetainPtr instead of explicit CFRelease calls.
3514
3515         * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
3516         It's not quite as automatic as the soft linking we can do for functions, since these define
3517         functions to get the values, so you need to define macros to make what look like variable
3518         accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
3519
3520         * html/HTMLMediaElement.h:
3521         * html/TimeRanges.h:
3522         * html/VoidCallback.h:
3523         * platform/graphics/MediaPlayer.h:
3524         Use angle brackets for wtf includes. Omit unneeded includes.
3525
3526 2007-12-07  Dan Bernstein  <mitz@apple.com>
3527
3528         Reviewed by Darin Adler.
3529
3530         - fix http://bugs.webkit.org/show_bug.cgi?id=16334
3531           <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
3532
3533         Test: fast/dynamic/subtree-no-common-root-static-y.html
3534
3535         * rendering/RenderObject.cpp:
3536         (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
3537         to setChildNeedsLayout() to not mark containing blocks and added a
3538         separate call to markContainingBlocksForLayout() that will not schedule
3539         a layout if we are already in the middle of scheduleRelayoutOfSubtree().
3540
3541 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
3542
3543         Reviewed by Darin.
3544
3545         http://bugs.webkit.org/show_bug.cgi?id=16325
3546         <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
3547         
3548         Test: http/tests/misc/empty-cookie.html
3549
3550         * platform/mac/CookieJar.mm:
3551         (WebCore::setCookies): Don't store empty cookies.
3552         (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
3553         with an earlier version of Leopard!
3554
3555 2007-12-06  Ada Chan  <adachan@apple.com>
3556
3557         Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
3558         returning true when there's an error).
3559