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