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