6cb2db63537372f1d4966420936e8c30afda0faa
[WebKit-https.git] / WebCore / ChangeLog
1 2007-10-23  David Hyatt  <hyatt@apple.com>
2
3         Get basic hit testing right for transforms.
4
5         Reviewed by ollliej
6
7         * platform/graphics/AffineTransform.cpp:
8         (WebCore::AffineTransform::mapPoint):
9         * platform/graphics/AffineTransform.h:
10         * rendering/InlineBox.cpp:
11         (WebCore::InlineBox::nodeAtPoint):
12         * rendering/RenderBlock.cpp:
13         (WebCore::RenderBlock::nodeAtPoint):
14         * rendering/RenderLayer.cpp:
15         (WebCore::RenderLayer::paintLayer):
16         (WebCore::RenderLayer::hitTest):
17         (WebCore::RenderLayer::hitTestLayer):
18         * rendering/RenderLayer.h:
19         * rendering/RenderObject.cpp:
20         (WebCore::RenderObject::hitTest):
21         * rendering/RenderObject.h:
22
23 2007-10-23  Eric Seidel  <eric@webkit.org>
24
25         Reviewed by Mark Rowe.
26
27         Fix leaks seen on TOT from new font-face code.
28
29         * ksvg2/svg/SVGFontFaceElement.cpp:
30         (WebCore::SVGFontFaceElement::rebuildFontFace): use a stack allocated CSSProperty instead of mallocing
31
32 2007-10-23  Eric Seidel  <eric@webkit.org>
33
34         Build fix only, no review.
35
36         Sacrifice three virgin hours upon the altar of the heathen XCode gods
37         and pray that our build troubles are finally over. :(
38
39         * DerivedSources.make: add DOMSVGException.h
40         * WebCore.xcodeproj/project.pbxproj: Remove DOMSVG*Interal.h files from "Copy Generated Headers" phase. Why?  Who knows.
41
42 2007-10-22  Steve Falkenburg  <sfalken@apple.com>
43
44         Fix build.
45
46         * plugins/win/PluginViewWin.cpp:
47
48 2007-10-22  Eric Seidel  <eric@webkit.org>
49
50         Build fix only, no review.
51
52         * WebCore.xcodeproj/project.pbxproj: re-add all DOMSVG headers to copy-files phase to make sure.
53
54 2007-10-22  Eric Seidel  <eric@webkit.org>
55
56         Build fix only, no review.
57
58         * WebCore.xcodeproj/project.pbxproj: make sure DOMSVGAnimateElement.h is copied into headers.
59
60 2007-10-22  Eric Seidel  <eric@webkit.org>
61
62         Reviewed by Maciej.
63
64         Fix build by properly exposing SVG font-face dom bindings.
65
66         * DerivedSources.make:
67         * WebCore.vcproj/WebCore.vcproj: add font-face files to build
68         * WebCore.xcodeproj/project.pbxproj: add missing DOM bindings files
69         * bindings/js/JSSVGElementWrapperFactory.cpp:
70         * bindings/objc/DOM.mm:
71         (WebCore::createElementClassMap):
72         * bindings/objc/DOMSVG.h:
73         * ksvg2/svg/SVGDefinitionSrcElement.idl: inherit from SVGElement
74
75 2007-10-22  Mark Rowe  <mrowe@apple.com>
76
77         Gtk build fix.
78
79         * WebCore.pro:
80
81 2007-10-22  Darin Adler  <darin@apple.com>
82
83         - a first cut at fixing the Qt and GTK builds
84
85         * WebCore.pro: Add new .idl and .cpp files.
86         * DerivedSources.make: Re-sorted.
87
88 2007-10-22  Eric Seidel  <eric@webkit.org>
89
90         Reviewed by hyatt.
91
92         Implement <font-face> and friends for SVG.
93         http://bugs.webkit.org/show_bug.cgi?id=10652
94
95         * DerivedSources.make:
96         * WebCore.xcodeproj/project.pbxproj:
97         * bindings/js/JSSVGElementWrapperFactory.cpp:
98         * dom/Document.cpp:
99         (WebCore::Document::mappedElementSheet):
100         (WebCore::Document::recalcStyleSelector):
101         * dom/Document.h:
102         * ksvg2/scripts/make_names.pl:
103         * ksvg2/svg/SVGDefinitionSrcElement.cpp: Added.
104         (WebCore::SVGDefinitionSrcElement::SVGDefinitionSrcElement):
105         (WebCore::SVGDefinitionSrcElement::~SVGDefinitionSrcElement):
106         (WebCore::SVGDefinitionSrcElement::childrenChanged):
107         * ksvg2/svg/SVGDefinitionSrcElement.h: Added.
108         * ksvg2/svg/SVGDefinitionSrcElement.idl: Added.
109         * ksvg2/svg/SVGFontFaceElement.cpp: Added.
110         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
111         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
112         (WebCore::cssPropertyIdForName):
113         (WebCore::mapAttributeToCSSProperty):
114         (WebCore::cssPropertyIdForSVGAttributeName):
115         (WebCore::SVGFontFaceElement::parseMappedAttribute):
116         (WebCore::SVGFontFaceElement::rebuildFontFace):
117         (WebCore::SVGFontFaceElement::childrenChanged):
118         * ksvg2/svg/SVGFontFaceElement.h: Added.
119         * ksvg2/svg/SVGFontFaceElement.idl: Added.
120         * ksvg2/svg/SVGFontFaceFormatElement.cpp: Added.
121         (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
122         (WebCore::SVGFontFaceFormatElement::~SVGFontFaceFormatElement):
123         (WebCore::SVGFontFaceFormatElement::childrenChanged):
124         * ksvg2/svg/SVGFontFaceFormatElement.h: Added.
125         * ksvg2/svg/SVGFontFaceFormatElement.idl: Added.
126         * ksvg2/svg/SVGFontFaceNameElement.cpp: Added.
127         (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
128         (WebCore::SVGFontFaceNameElement::~SVGFontFaceNameElement):
129         (WebCore::SVGFontFaceNameElement::srcValue):
130         * ksvg2/svg/SVGFontFaceNameElement.h: Added.
131         * ksvg2/svg/SVGFontFaceNameElement.idl: Added.
132         * ksvg2/svg/SVGFontFaceSrcElement.cpp: Added.
133         (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
134         (WebCore::SVGFontFaceSrcElement::~SVGFontFaceSrcElement):
135         (WebCore::SVGFontFaceSrcElement::srcValue):
136         (WebCore::SVGFontFaceSrcElement::childrenChanged):
137         * ksvg2/svg/SVGFontFaceSrcElement.h: Added.
138         * ksvg2/svg/SVGFontFaceSrcElement.idl: Added.
139         * ksvg2/svg/SVGFontFaceUriElement.cpp: Added.
140         (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
141         (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
142         (WebCore::SVGFontFaceUriElement::srcValue):
143         (WebCore::SVGFontFaceUriElement::childrenChanged):
144         * ksvg2/svg/SVGFontFaceUriElement.h: Added.
145         * ksvg2/svg/SVGFontFaceUriElement.idl: Added.
146         * ksvg2/svg/svgtags.in:
147
148 2007-10-22  Jon Honeycutt  <jhoneycutt@apple.com>
149
150         Reviewed by Anders.
151
152         <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
153         java page
154
155         We purposefully do not destroy our Java VM when its reference count
156         reaches 0, but we were unloading our JavaPlugin.dll when its reference
157         count reached 0, which lost the reference to the VM. This led to our
158         process trying to create a new VM the next time a page using Java was
159         loaded, and the JNI spec states that a single process is not allowed to
160         create more than one VM. The fix is to avoid unloading the Java plugin
161         via our PluginQuirkDontUnloadPlugin. 
162
163         * plugins/win/PluginViewWin.cpp:
164         (WebCore::PluginViewWin::determineQuirks):
165
166 2007-10-22  David Hyatt  <hyatt@apple.com>
167
168         Fix for bug 15624, make transforms work properly with opacity.
169
170         Make sure a unitless 0 is allowed as an angle argument to rotation/skew.
171
172         Reviewed by Mitz Pettel
173
174         fast/transforms/transforms-with-opacity.html
175         fast/transforms/skew-with-unitless-zero.html
176
177         * css/CSSParser.cpp:
178         (WebCore::CSSParser::validUnit):
179         * rendering/RenderLayer.cpp:
180         (WebCore::transparencyClipBox):
181         (WebCore::RenderLayer::beginTransparencyLayers):
182         (WebCore::RenderLayer::paintLayer):
183         (WebCore::RenderLayer::calculateClipRects):
184         * rendering/RenderLayer.h:
185         (WebCore::RenderLayer::transform):
186
187 2007-10-22  Adam Roben  <aroben@apple.com>
188
189         Windows build fix
190
191         Reviewed by NOBODY.
192
193         * WebCore.vcproj/WebCore.vcproj: Copy header files from platform/sql.
194         * page/Page.cpp: Touched to force the header files to be copied.
195
196 2007-10-22  Nikolas Zimmermann  <zimmermann@kde.org>
197
198         Reviewed by Simon.
199
200         Move textPath related SVGChar data in it's own structure SVGCharOnPath.
201         Store a pointer to that datastructure inside SVGChar, instead of 4 floats & one bool.
202
203         Saves space for the common case. And allows me to add more data (another float) to support
204         glyph-orientation-* on textPath later on...
205
206         * rendering/SVGCharacterLayoutInfo.cpp:
207         (WebCore::SVGChar::characterTransform):
208         * rendering/SVGCharacterLayoutInfo.h:
209         * rendering/SVGRootInlineBox.cpp:
210         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
211         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
212
213 2007-10-22  Alp Toker  <alp@atoker.com>
214
215         Reviewed by Nikolas Zimmermann.
216
217         Implement more GraphicsContextCairo stubs.
218
219         Remove a hack "to work around no current point bug" that was breaking
220         canvas tests.
221
222         Fix warnings.
223
224         * platform/graphics/cairo/CairoPath.h:
225         (WebCore::CairoPath::CairoPath):
226         * platform/graphics/cairo/GraphicsContextCairo.cpp:
227         (WebCore::GraphicsContext::addInnerRoundedRectClip):
228         (WebCore::GraphicsContext::strokeRect):
229         * platform/graphics/cairo/PathCairo.cpp:
230         (WebCore::Path::isEmpty):
231         * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
232         (WebCore::SVGPaintServerGradient::setup):
233         * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
234         (WebCore::SVGPaintServerSolid::setup):
235
236 2007-10-22  Simon Hausmann  <hausmann@kde.org>
237
238         Reviewed by Nikolas.
239
240         Fix compilation from a clean build with the database feature disabled.
241         JSCustomVersionChangeCallback.cpp doesn't actually need the SQL header file, just ScriptInterpreter.
242
243         * bindings/js/JSCustomVersionChangeCallback.cpp:
244         * page/InspectorController.cpp:
245
246 2007-10-22  Andrew Wellington  <proton@wiretapped.net>
247
248         Reviewed by Mark Rowe.
249
250         Fix for local database support after r26879
251         Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
252
253         * Configurations/WebCore.xcconfig:
254         * WebCore.pro:
255         * WebCore.vcproj/build-generated-files.sh:
256
257 2007-10-22  Simon Hausmann  <hausmann@kde.org>
258
259         Reviewed by Lars.
260
261         Disable the Database feature for the qmake build for now.
262
263         * WebCore.pro:
264
265 2007-10-22  Simon Hausmann  <hausmann@kde.org>
266
267         Reviewed by Lars.
268
269         Make disabling the database feature (ENABLE_DATABASE=0) work by
270         placing various #ifdefs into the code and making the compilation of
271         some files optional.
272
273         * WebCore.pro:
274         * dom/Document.cpp:
275         (WebCore::Document::~Document):
276         (WebCore::Document::defaultEventHandler):
277         * dom/Document.h:
278         * page/DOMWindow.cpp:
279         * page/DOMWindow.h:
280         * page/DOMWindow.idl:
281         * page/InspectorController.cpp:
282         (WebCore::InspectorController::windowScriptObjectAvailable):
283         (WebCore::InspectorController::populateScriptResources):
284         (WebCore::InspectorController::clearDatabaseScriptResources):
285         (WebCore::InspectorController::didCommitLoad):
286         * page/InspectorController.h:
287
288 2007-10-22  Alp Toker  <alp@atoker.com>
289
290         Reviewed by Mark Rowe.
291
292         http://bugs.webkit.org/show_bug.cgi?id=15611
293         [GTK] Text selection behaviour different in Debug and Release builds
294
295         http://bugs.webkit.org/show_bug.cgi?id=15578
296         [GTK] Text editor caret does not blink
297
298         Never allow control to reach the end of non-void functions.
299
300         Return more sensible values, or in some cases, nulls.
301
302         * page/gtk/EventHandlerGtk.cpp:
303         (WebCore::isKeyboardOptionTab):
304         (WebCore::EventHandler::tabsToAllControls):
305         (WebCore::EventHandler::eventActivatedView):
306
307 2007-10-22  Holger Freyther  <zecke@selfish.org>
308
309         Reviewed by Simon Hausmann <hausmann@kde.org>.
310
311         Implement ResourceHandle::loadResourceSynchronously using ResourceHandle and a special ResourceHandleClient. This approach has the possible danger of reentrancy.
312
313         * platform/network/qt/ResourceHandleQt.cpp:
314         (WebCore::WebCoreSynchronousLoader::resourceResponse):
315         (WebCore::WebCoreSynchronousLoader::resourceError):
316         (WebCore::WebCoreSynchronousLoader::data):
317         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
318         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
319         (WebCore::WebCoreSynchronousLoader::didReceiveData):
320         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
321         (WebCore::WebCoreSynchronousLoader::didFail):
322         (WebCore::WebCoreSynchronousLoader::waitForCompletion):
323         (WebCore::ResourceHandle::loadResourceSynchronously):
324
325 2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
326
327         Reviewed by Lars Knoll <lars@trolltech.com>.
328
329         Style fix. It is allowed to attempt to delete 0.
330
331         * platform/qt/ClipboardQt.cpp:
332
333 2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
334
335         Reviewed by Lars Knoll <lars@trolltech.com>.
336
337         Make it actually localizable....
338
339         * platform/qt/Localizations.cpp:
340         (WebCore::submitButtonDefaultLabel):
341         (WebCore::inputElementAltText):
342         (WebCore::searchableIndexIntroduction):
343         (WebCore::fileButtonChooseFileLabel):
344         (WebCore::fileButtonNoFileSelectedLabel):
345         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
346         (WebCore::contextMenuItemTagDownloadLinkToDisk):
347         (WebCore::contextMenuItemTagCopyLinkToClipboard):
348         (WebCore::contextMenuItemTagOpenImageInNewWindow):
349         (WebCore::contextMenuItemTagDownloadImageToDisk):
350         (WebCore::contextMenuItemTagCopyImageToClipboard):
351         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
352         (WebCore::contextMenuItemTagCopy):
353         (WebCore::contextMenuItemTagGoBack):
354         (WebCore::contextMenuItemTagGoForward):
355         (WebCore::contextMenuItemTagStop):
356         (WebCore::contextMenuItemTagReload):
357         (WebCore::contextMenuItemTagCut):
358         (WebCore::contextMenuItemTagPaste):
359         (WebCore::contextMenuItemTagNoGuessesFound):
360         (WebCore::contextMenuItemTagIgnoreSpelling):
361         (WebCore::contextMenuItemTagLearnSpelling):
362         (WebCore::contextMenuItemTagSearchWeb):
363         (WebCore::contextMenuItemTagLookUpInDictionary):
364         (WebCore::contextMenuItemTagOpenLink):
365         (WebCore::contextMenuItemTagIgnoreGrammar):
366         (WebCore::contextMenuItemTagSpellingMenu):
367         (WebCore::contextMenuItemTagShowSpellingPanel):
368         (WebCore::contextMenuItemTagCheckSpelling):
369         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
370         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
371         (WebCore::contextMenuItemTagFontMenu):
372         (WebCore::contextMenuItemTagBold):
373         (WebCore::contextMenuItemTagItalic):
374         (WebCore::contextMenuItemTagUnderline):
375         (WebCore::contextMenuItemTagOutline):
376         (WebCore::contextMenuItemTagWritingDirectionMenu):
377         (WebCore::contextMenuItemTagDefaultDirection):
378         (WebCore::contextMenuItemTagLeftToRight):
379         (WebCore::contextMenuItemTagRightToLeft):
380         (WebCore::contextMenuItemTagInspectElement):
381         (WebCore::searchMenuNoRecentSearchesText):
382         (WebCore::searchMenuRecentSearchesText):
383
384 2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
385
386         Reviewed by Lars Knoll <lars@trolltech.com>.
387
388         Adjust the code to obey the Coding Style.
389
390         * platform/qt/Localizations.cpp:
391         (WebCore::submitButtonDefaultLabel):
392         (WebCore::inputElementAltText):
393         (WebCore::resetButtonDefaultLabel):
394         (WebCore::defaultLanguage):
395         (WebCore::searchableIndexIntroduction):
396         (WebCore::fileButtonChooseFileLabel):
397         (WebCore::fileButtonNoFileSelectedLabel):
398         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
399         (WebCore::contextMenuItemTagDownloadLinkToDisk):
400         (WebCore::contextMenuItemTagCopyLinkToClipboard):
401         (WebCore::contextMenuItemTagOpenImageInNewWindow):
402         (WebCore::contextMenuItemTagDownloadImageToDisk):
403         (WebCore::contextMenuItemTagCopyImageToClipboard):
404         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
405         (WebCore::contextMenuItemTagCopy):
406         (WebCore::contextMenuItemTagGoBack):
407         (WebCore::contextMenuItemTagGoForward):
408         (WebCore::contextMenuItemTagStop):
409         (WebCore::contextMenuItemTagReload):
410         (WebCore::contextMenuItemTagCut):
411         (WebCore::contextMenuItemTagPaste):
412         (WebCore::contextMenuItemTagNoGuessesFound):
413         (WebCore::contextMenuItemTagIgnoreSpelling):
414         (WebCore::contextMenuItemTagLearnSpelling):
415         (WebCore::contextMenuItemTagSearchWeb):
416         (WebCore::contextMenuItemTagLookUpInDictionary):
417         (WebCore::contextMenuItemTagOpenLink):
418         (WebCore::contextMenuItemTagIgnoreGrammar):
419         (WebCore::contextMenuItemTagSpellingMenu):
420         (WebCore::contextMenuItemTagShowSpellingPanel):
421         (WebCore::contextMenuItemTagCheckSpelling):
422         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
423         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
424         (WebCore::contextMenuItemTagFontMenu):
425         (WebCore::contextMenuItemTagBold):
426         (WebCore::contextMenuItemTagItalic):
427         (WebCore::contextMenuItemTagUnderline):
428         (WebCore::contextMenuItemTagOutline):
429         (WebCore::contextMenuItemTagWritingDirectionMenu):
430         (WebCore::contextMenuItemTagDefaultDirection):
431         (WebCore::contextMenuItemTagLeftToRight):
432         (WebCore::contextMenuItemTagRightToLeft):
433         (WebCore::contextMenuItemTagInspectElement):
434         (WebCore::searchMenuNoRecentSearchesText):
435         (WebCore::searchMenuRecentSearchesText):
436         (WebCore::searchMenuClearRecentSearchesText):
437         (WebCore::AXWebAreaText):
438         (WebCore::AXLinkText):
439         (WebCore::AXListMarkerText):
440         (WebCore::AXImageMapText):
441         (WebCore::AXHeadingText):
442         (WebCore::unknownFileSizeText):
443
444 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
445
446         Reviewed by Lars Knoll <lars@trolltech.com>.
447
448         Return a non empty string in more functions.
449
450         * platform/qt/Localizations.cpp:
451         (WebCore::contextMenuItemTagShowSpellingPanel):
452
453 2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
454
455         Reviewed by Lars Knoll <lars@trolltech.com>.
456
457         Shrink the TemporaryLinkStubs and move the
458         Frame::setNeedsReapplyStyles stub to FrameQt.cpp
459
460         * page/qt/FrameQt.cpp:
461         (WebCore::Frame::setNeedsReapplyStyles):
462         * platform/qt/TemporaryLinkStubs.cpp:
463
464 2007-10-22  Holger Freyther  <zecke@selfish.org>
465
466         Reviewed by Lars Knoll <lars@trolltech.com>.
467
468         Implement the WebCore::fileSize function. The
469         implementation assumes that QFileInfo will cache
470         the result of the stat so that info.size() and
471         info.exists() use the same stat result.
472
473         * platform/qt/FileSystemQt.cpp:
474         (WebCore::deleteFile):
475         * platform/qt/TemporaryLinkStubs.cpp:
476
477 2007-10-21  Alp Toker  <alp@atoker.com>
478
479         Reviewed by Mark Rowe.
480
481         Use the portable GLib time function.
482
483         Use event timestamps rather than the current time where available.
484
485         Rename SharedTimerLinux.cpp since it isn't Linux-specific.
486
487         * WebCore.pro:
488         * platform/gtk/MouseEventGtk.cpp:
489         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
490         * platform/gtk/SystemTimeGtk.cpp: Added.
491         (WebCore::currentTime):
492         * platform/gtk/SharedTimerGtk.cpp: Copied from platform/gtk/SharedTimerLinux.cpp.
493         * platform/gtk/SharedTimerLinux.cpp: Removed.
494
495 2007-10-22  David Hyatt  <hyatt@apple.com>
496
497         Fix for 15596, regression from my transform changes.  Preserve null checks on the clip rects calls for parent(),
498         since the method is called on orphaned layers.  This is not very well understood.
499
500         Reviewed by eric
501
502         * rendering/RenderLayer.cpp:
503         (WebCore::RenderLayer::calculateClipRects):
504         (WebCore::RenderLayer::calculateRects):
505
506 2007-10-21  Mark Rowe  <mrowe@apple.com>
507
508         Reviewed by Alp.
509
510         http://bugs.webkit.org/show_bug.cgi?id=15575
511         Bug 15575: [GTK] Implement threading using GThread
512
513         * WebCore.pro: Remove ThreadingPthreads.cpp from the Gtk build and link against libgthreads.
514         * loader/icon/IconDatabase.cpp: Initialize threading before the mutex is created to be compatible with gthreads.
515         (WebCore::iconDatabase):
516         (WebCore::IconDatabase::open):
517         * platform/Threading.h:
518         * platform/gtk/ThreadingGtk.cpp: Threading implementation in terms of GThread, based heavily on the pthreads implementation.
519         (WebCore::initializeThreading):
520         (WebCore::threadMapMutex):
521         (WebCore::threadMap):
522         (WebCore::establishIdentifierForThread):
523         (WebCore::threadForIdentifier):
524         (WebCore::clearThreadForIdentifier):
525         (WebCore::createThread):
526         (WebCore::waitForThreadCompletion):
527         (WebCore::detachThread):
528         (WebCore::Mutex::Mutex):
529         (WebCore::Mutex::~Mutex):
530         (WebCore::Mutex::lock):
531         (WebCore::Mutex::tryLock):
532         (WebCore::Mutex::unlock):
533         (WebCore::ThreadCondition::ThreadCondition):
534         (WebCore::ThreadCondition::~ThreadCondition):
535         (WebCore::ThreadCondition::wait):
536         (WebCore::ThreadCondition::signal):
537         (WebCore::ThreadCondition::broadcast):
538         * storage/Database.cpp:
539         (WebCore::Database::Database): Initialize threading when Database is used so that it will be initialized even
540         if the icon database is compiled out
541
542 2007-10-21  Mark Rowe  <mrowe@apple.com>
543
544         Build fix.
545
546         * ksvg2/css/SVGCSSStyleSelector.cpp: Use fabsf when dealing with a float to prevent the
547         implicit conversion warning.
548
549 2007-10-21  Alp Toker  <alp@atoker.com>
550
551         Reviewed by Mark Rowe.
552
553         Implement spelling and grammar mistake underlining with Pango/Cairo.
554
555         This change does not add any actual support for spelling or grammar
556         checking to any port.
557
558         * platform/graphics/cairo/GraphicsContextCairo.cpp:
559         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
560
561 2007-10-21  Alp Toker  <alp@atoker.com>
562
563         Reviewed by Mark Rowe.
564
565         Cairo canvas fixes:
566
567         Fix a refcounting issue leading to leaks and crashes on canvas
568         content.
569
570         Delegate memory management of canvas images to Cairo.
571
572         Mark unhandled conditions with notImplemented() instead of silently
573         ignoring them.
574
575         * html/CanvasRenderingContext2D.cpp:
576         (WebCore::CanvasRenderingContext2D::drawImage):
577         * html/CanvasStyle.cpp:
578         (WebCore::CanvasStyle::applyStrokeColor):
579         * html/CanvasStyle.h:
580         * html/HTMLCanvasElement.cpp:
581         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
582         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
583         (WebCore::HTMLCanvasElement::reset):
584         (WebCore::HTMLCanvasElement::paint):
585         (WebCore::HTMLCanvasElement::createDrawingContext):
586         (WebCore::HTMLCanvasElement::createPlatformImage):
587
588 2007-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
589
590         Reviewed by Eric.
591
592         Handle glyph-orientation-vertical / glyph-orientation-horizontal SVG CSS properties.
593
594         The SVG layouting code itself doesn't handle these properties yet,
595         it's just about recognizing them in the SVG CSS engine.
596
597         * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
598         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
599         * ksvg2/css/SVGCSSParser.cpp:
600         (WebCore::CSSParser::parseSVGValue):
601         * ksvg2/css/SVGCSSStyleSelector.cpp:
602         (WebCore::CSSStyleSelector::applySVGProperty):
603         * ksvg2/css/SVGRenderStyle.h:
604         (WebCore::SVGRenderStyle::InheritedFlags::operator==):
605         (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
606         (WebCore::SVGRenderStyle::setBitDefaults):
607         * ksvg2/css/SVGRenderStyleDefs.h:
608
609 2007-10-21  Christian Dywan  <christian@twotoasts.de>
610
611         Reviewed by Alp.
612
613         http://bugs.webkit.org/show_bug.cgi?id=15589
614         Use glib's path separator on gtk
615
616         * platform/gtk/FileSystemGtk.cpp:
617         (WebCore::pathByAppendingComponent):
618
619 2007-10-21  Dan Bernstein  <mitz@apple.com>
620
621         Reviewed by Dave Hyatt.
622
623         - fix http://bugs.webkit.org/show_bug.cgi?id=15259
624           <rdar://problem/5499902> REGRESSION: Text overflows when using word spacing and centering (affects myspace.com music videos page)
625
626         Test: fast/text/word-space.html
627
628         * rendering/RenderBlock.cpp:
629         (WebCore::stripTrailingSpace): Added word-spacing to the width of the
630         space being stripped out.
631         * rendering/RenderText.cpp:
632         (WebCore::RenderText::trimmedPrefWidths): Changed handling of
633         leading space. Since Font::width includes leading space width but not
634         leading word spacing, this method needs to either remove the width of a
635         space character or add word spacing,
636         depending on stripFrontSpaces. 
637         (WebCore::RenderText::calcPrefWidths): Corrected the check for adding
638         trailing word spacing so that it would work in the case where the last
639         space is ignored.
640         * rendering/bidi.cpp:
641         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to
642         actually add word spacing to the total width.
643
644 2007-10-20  David Hyatt  <hyatt@apple.com>
645
646         Land support for the transform CSS property.  Basic painting now works properly. There are many open issues
647         that will have to be covered by individual bugs.
648
649         Reviewed by olliej
650
651         * css/CSSParser.cpp:
652         (WebCore::CSSParser::validUnit):
653         (WebCore::CSSParser::parseTransform):
654         * rendering/RenderLayer.cpp:
655         (WebCore::RenderLayer::RenderLayer):
656         (WebCore::RenderLayer::~RenderLayer):
657         (WebCore::RenderLayer::updateLayerPositions):
658         (WebCore::RenderLayer::updateTransform):
659         (WebCore::transparencyClipBox):
660         (WebCore::RenderLayer::beginTransparencyLayers):
661         (WebCore::RenderLayer::paintLayer):
662         (WebCore::RenderLayer::calculateClipRects):
663         (WebCore::RenderLayer::calculateRects):
664         (WebCore::RenderLayer::childrenClipRect):
665         (WebCore::RenderLayer::selfClipRect):
666         (WebCore::RenderLayer::intersectsDamageRect):
667         (WebCore::RenderLayer::boundingBox):
668         * rendering/RenderLayer.h:
669         * rendering/RenderObject.cpp:
670         (WebCore::RenderObject::containingBlock):
671         (WebCore::RenderObject::container):
672         * rendering/RenderStyle.cpp:
673         (WebCore::RenderStyle::applyTransform):
674         * rendering/RenderStyle.h:
675         (WebCore::TransformOperation::isScaleOperation):
676         (WebCore::TransformOperation::isRotateOperation):
677         (WebCore::TransformOperation::isSkewOperation):
678         (WebCore::TransformOperation::isTranslateOperation):
679         (WebCore::TransformOperation::isMatrixOperation):
680         (WebCore::ScaleTransformOperation::isScaleOperation):
681         (WebCore::RotateTransformOperation::isRotateOperation):
682         (WebCore::SkewTransformOperation::isSkewOperation):
683         (WebCore::TranslateTransformOperation::isTranslateOperation):
684         (WebCore::MatrixTransformOperation::isMatrixOperation):
685         * rendering/RenderTableRow.h:
686         (WebCore::RenderTableRow::requiresLayer):
687         * rendering/RenderTreeAsText.cpp:
688         (WebCore::writeLayers):
689
690 2007-10-20  Timothy Hatcher  <timothy@apple.com>
691
692         Reviewed by Adam.
693
694         Add basic @font-face to the Web Inspector.
695
696         * page/InspectorController.cpp:
697         (WebCore::InspectorResource::type): Check for CachedResource::FontResource.
698         * page/inspector/Resource.js: Add support for Font types and font preview in the icon.
699         * page/inspector/ResourcePanel.js: Show a font preview for font resources.
700         * page/inspector/inspector.css: Style for the font preview and font icon.
701         * page/inspector/inspector.js: Add font mime types.
702
703 2007-10-20  Sam Weinig  <sam@webkit.org>
704
705         Reviewed by Mark Rowe.
706
707         Fixes:
708             - http://bugs.webkit.org/show_bug.cgi?id=14393
709               Column on the left side of the Web Inspector should have a smaller minimum width for resizing
710             - http://bugs.webkit.org/show_bug.cgi?id=14394
711               Left pane of the Web Inspector "shakes" when resizing it to maximum width
712
713         * page/inspector/inspector.js: Change the constraint logic to only enforce a 100px min-width
714           and window.innerWidth - 100 max-width for the sidebar.  The change also makes the viewbuttons
715           move with the sidebar.
716
717 2007-10-20  Dan Bernstein  <mitz@apple.com>
718
719         Reviewed by Dave Hyatt.
720
721         - fix http://bugs.webkit.org/show_bug.cgi?id=15208
722           display:table causes the collapsed text to show at a different position when expanded
723
724         Test: fast/table/insert-before-anonymous-ancestors.html
725
726         * rendering/RenderTable.cpp:
727         (WebCore::RenderTable::addChild): Rolled out r11579. I think whatever
728         that change was supposed to accomplish has since been done in other
729         places in the code.
730
731 2007-10-20  Mark Rowe  <mrowe@apple.com>
732
733         Reviewed by Dave Hyatt.
734
735         Fix http://bugs.webkit.org/show_bug.cgi?id=15584
736         Bug 15584: REGRESSION(r26696): GtkLauncher segfaults on WebCore::WidthIterator::advance
737
738         * platform/Font.cpp:
739         (WebCore::Font::glyphDataForCharacter): If the fallback page exists but does not have a
740         glyph for the character, fall back to the missing glyph data rather than returning an
741         invalid GlyphData.
742
743 2007-10-20  Jasper Bryant-Greene  <m@ni.ac.nz>
744
745         Reviewed by Maciej.
746
747         Changed the hard-coded scroll delta in WheelEventGtk from 120 to 0.25,
748         as suggested by George Wright in #15108 (which this patch will
749         resolve).
750
751         This gives a more sane scrolling behaviour, rather than the
752         jumping to the end or start of the document as occurred previously.
753
754         * platform/gtk/WheelEventGtk.cpp:
755         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
756
757 2007-10-20  Alp Toker  <alp@atoker.com>
758
759         Reviewed by Eric.
760
761         Support text boundary detection.
762         Move TextBoundariesWin.cpp to platform/ since it's portable and useful.
763         Split out and implement some TemporaryLinkStubs.
764
765         * WebCore.pro:
766         * WebCore.vcproj/WebCore.vcproj:
767         * platform/TextBoundariesICU.cpp: Copied from WebCore/platform/win/TextBoundariesWin.cpp.
768         * platform/gtk/Language.cpp: Added.
769         (WebCore::defaultLanguage):
770         * platform/gtk/TemporaryLinkStubs.cpp:
771         * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Added.
772         (WebCore::currentTextBreakLocaleID):
773         * platform/win/TextBoundariesWin.cpp: Removed.
774
775 2007-10-20  Mark Rowe  <mrowe@apple.com>
776
777         Reviewed by Tim Hatcher.
778
779         Workaround for http://bugs.webkit.org/show_bug.cgi?id=15574
780         Bug 15574: Web Inspector doesn't work with the new Database feature
781
782         The executeSql callback is executed in the security domain of the web page that owns the database,
783         while the inspector's window object is in the callback functions scope chain.  This is leading to a
784         security violation when the callback attempts to access "document".  We can work around this by
785         ensuring that "document" can be found in the scope chain before the window object.
786
787         * page/inspector/DatabasePanel.js:
788
789 2007-10-20  Darin Adler  <darin@apple.com>
790
791         Reviewed by Maciej.
792
793         - http://bugs.webkit.org/show_bug.cgi?id=15567
794           speed up hashing const char* by removing call to strlen
795
796         This includes one other fix as well. Both were from a day where I did some
797         profiling to find hot spots when running the page load test.
798
799         * platform/StringImpl.cpp:
800         (WebCore::StringImpl::computeHash): Compute the hash without calling strlen.
801         Also change the argument names to not confusingly use m_ prefixes.
802         (WebCore::StringImpl::createStrippingNull): Added a faster case for strings that
803         don't have null.
804
805 2007-10-20  Mark Rowe  <mrowe@apple.com>
806
807         Reviewed by Alp.
808
809         Gtk changes needed to enable HTML 5 client-side database storage.
810
811         * WebCore.pro: Have Gtk use ThreadingPthreads.cpp.
812         * platform/pthreads/ThreadingPthreads.cpp: Include errno so that EDEADLK and EBUSY are available.
813
814 2007-10-20  Mark Rowe  <mrowe@apple.com>
815
816         Reviewed by Alp.
817
818         Implement callOnMainThread for Gtk+ via a one-shot zero-delay timer that will be dispatched
819         from the main event loop.
820
821         * WebCore.pro:
822         * platform/gtk/TemporaryLinkStubs.cpp:
823         * platform/gtk/ThreadingGtk.cpp: Added.
824         (WebCore::callFunctionOnMainThread):
825         (WebCore::callOnMainThread):
826
827 2007-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
828
829         Reviewed by Eric.
830
831         Fix non-functional display="inline" / display="none" for SVG text.
832
833         Fixes: svg/W3C-SVG-1.1/animate-elem-39-t.svg (display="inline" support)
834         Fixes: svg/batik/text/textProperties2.svg (display="inline/none" support)
835         Fixes: svg/carto.net/tabgroup.svg (display="none" support, stray content before layouting)
836         
837         * css/svg.css: Remove "important" flag on text/foreignObject display: block property
838         * rendering/RenderSVGBlock.cpp:
839         (WebCore::RenderSVGBlock::setStyle):
840
841 2007-10-20  Mark Rowe  <mrowe@apple.com>
842
843         Reviewed by Alp.
844
845         Replace #ifdef'd code with the appropriate use of a forwarding header.
846
847         * ForwardingHeaders/kjs/array_instance.h: Added.
848         * bindings/js/JSDatabaseCustom.cpp:
849
850 2007-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
851
852         Reviewed by Oliver.
853
854         Add support for 'kerning' property in SVG text layout code.
855         Support all textLength/lengthAdjust modes on normal text & textPaths.
856
857         Support letter & word spacing on textPath.
858         Fix text selection when any spacing (letter/word/kerning) is involved.
859
860         Fixes: http://bugs.webkit.org/show_bug.cgi?id=15571
861         Fixes: svg/batik/text/textOnPathSpaces.svg (spacing)
862                svg/batik/text/textLayout.svg (kerning support)
863                svg/text/text-spacing-01-b.svg (text selection)
864
865         * platform/Font.cpp:
866         (WebCore::WidthIterator::advance):
867         * platform/TextStyle.h:
868         (WebCore::TextStyle::TextStyle):
869         (WebCore::TextStyle::spacingDisabled):
870         (WebCore::TextStyle::disableSpacing):
871         * rendering/SVGCharacterLayoutInfo.cpp:
872         (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
873         (WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle):
874         (WebCore::SVGCharacterLayoutInfo::setInPathLayout):
875         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
876         (WebCore::SVGChar::characterTransform):
877         * rendering/SVGCharacterLayoutInfo.h:
878         (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
879         * rendering/SVGRootInlineBox.cpp:
880         (WebCore::closeTextChunk):
881         (WebCore::calculateKerning):
882         (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
883         (WebCore::svgTextStyleForInlineTextBox):
884         (WebCore::calculateTextAnchorShiftForTextChunk):
885         (WebCore::applyTextAnchorToTextChunk):
886         (WebCore::calculateTextLengthCorrectionForTextChunk):
887         (WebCore::applyTextLengthCorrectionToTextChunk):
888         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
889         (WebCore::SVGRootInlineBox::buildLayoutInformation):
890         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
891         (WebCore::SVGRootInlineBox::buildTextChunks):
892         (WebCore::SVGRootInlineBox::layoutTextChunks):
893         * rendering/SVGRootInlineBox.h:
894
895 2007-10-20  Rodney Dawes  <dobey@wayofthemonkey.com>
896
897         Reviewd by Darin.
898
899         http://bugs.webkit.org/show_bug.cgi?id=15563
900         Fix conflict with X11 Window type in WebCore
901
902         * WebCore/bindings/js/JSDocumentCustom.cpp:
903         * WebCore/bindings/js/JSHTMLDocumentCustom.cpp:
904         * WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp:
905         * WebCore/bindings/js/kjs_dom.cpp:
906         * WebCore/bindings/js/kjs_events.cpp:
907         * WebCore/bindings/js/kjs_proxy.cpp:
908         * WebCore/history/CachedPage.cpp:
909         * WebCore/page/Chrome.cpp:
910         * WebCore/page/Frame.cpp:
911
912 2007-10-20  Simon Hausmann  <hausmann@kde.org>
913
914         Build fix, not reviewed.
915
916         Fix the Qt build by adding the two missing FileSystem functions.
917
918         * platform/qt/FileSystemQt.cpp:
919         (WebCore::makeAllDirectories):
920         (WebCore::pathByAppendingComponent):
921
922 2007-10-19  Alp Toker  <alp@atoker.com>
923
924         Reviewed by Oliver.
925
926         GTK+ build fix enabling the new local database storage feature.
927         There is also a prospective Qt build fix.
928
929         * WebCore.pro:
930         * bindings/js/JSDatabaseCustom.cpp:
931         * platform/gtk/FileSystemGtk.cpp:
932         (WebCore::pathByAppendingComponent):
933         (WebCore::makeAllDirectories):
934
935 2007-10-19  Andrew Wellington  <proton@wiretapped.net>
936
937         Reviewed by Brady Eidson.
938
939         Mac build fix.
940
941         * WebCore.xcodeproj/project.pbxproj:
942
943 2007-10-19  Alp Toker  <alp@atoker.com>
944
945         Reviewed by Oliver.
946
947         Use platform colors for text selection.
948         Update the cache when the GTK style is changed.
949
950         * platform/gtk/RenderThemeGtk.cpp:
951         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
952         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
953         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
954         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
955         (WebCore::RenderThemeGtk::gtkStyleSet):
956         (WebCore::RenderThemeGtk::gtkEntry):
957         * platform/gtk/RenderThemeGtk.h:
958
959 2007-10-19  Adele Peterson  <adele@apple.com>
960
961         Reviewed by Beth.
962
963         Fix for: <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com
964
965         Test: fast/forms/menulist-no-overflow.html
966
967         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): Don't allow overflow on menu lists.
968
969 2007-10-19  Anders Carlsson  <andersca@apple.com>
970
971         Reviewed by Brady.
972
973         Move some SQL-related classes to platform/sql.
974         
975         * WebCore.vcproj/WebCore.vcproj:
976         * WebCore.xcodeproj/project.pbxproj:
977         * loader/icon/SQLDatabase.cpp: Removed.
978         * loader/icon/SQLDatabase.h: Removed.
979         * loader/icon/SQLStatement.cpp: Removed.
980         * loader/icon/SQLStatement.h: Removed.
981         * loader/icon/SQLTransaction.cpp: Removed.
982         * loader/icon/SQLTransaction.h: Removed.
983         * platform/sql/SQLDatabase.cpp: Copied from loader/icon/SQLDatabase.cpp.
984         * platform/sql/SQLDatabase.h: Copied from loader/icon/SQLDatabase.h.
985         * platform/sql/SQLStatement.cpp: Copied from loader/icon/SQLStatement.cpp.
986         * platform/sql/SQLStatement.h: Copied from loader/icon/SQLStatement.h.
987         * platform/sql/SQLTransaction.cpp: Copied from loader/icon/SQLTransaction.cpp.
988         * platform/sql/SQLTransaction.h: Copied from loader/icon/SQLTransaction.h.
989
990 2007-10-19  Anders Carlsson  <andersca@apple.com>
991
992         Reviewed by Adam.
993
994         Update to match the latest version of the spec. Now, executeSQL takes an array
995         of SQL parameters instead of them being passed as arguments.
996         
997         * bindings/js/JSDatabaseCustom.cpp:
998         (WebCore::JSDatabase::executeSql):
999         * page/inspector/DatabasePanel.js:
1000         * storage/Database.idl:
1001
1002 2007-10-19  Brady Eidson  <beidson@apple.com>
1003
1004         Reviewed by Tim
1005
1006         Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :(
1007
1008         * storage/Database.cpp:
1009         (WebCore::Database::performOpenAndVerify):
1010         * storage/DatabaseTracker.cpp:
1011         (WebCore::DatabaseTracker::DatabaseTracker):
1012
1013 2007-10-19  Anders Carlsson  <andersca@apple.com>
1014
1015         Release build fix.
1016         
1017         * WebCore.vcproj/WebCore.vcproj:
1018
1019 2007-10-19  Brady Eidson  <beidson@apple.com>
1020
1021         Remove stray printfs
1022
1023         * dom/Document.cpp:
1024         (WebCore::Document::Document):
1025         (WebCore::Document::~Document):
1026
1027 2007-10-19  Anders Carlsson  <andersca@apple.com>
1028
1029         Reviewed by Brady.
1030
1031         Apparently the Win32 pthreads impl we use does not allow unlocking a mutex that has not
1032         already been locked, so lock the mutex first.
1033         
1034         * storage/DatabaseThread.cpp:
1035         (WebCore::DatabaseThread::databaseThread):
1036
1037 2007-10-19  Brady Eidson  <beidson@apple.com>
1038
1039         Better build fix
1040
1041         * loader/icon/SQLDatabase.cpp:
1042         (WebCore::SQLDatabase::authorizerFunction):  Definite works by 3.3.13
1043
1044 2007-10-19  Brady Eidson  <beidson@apple.com>
1045
1046         Build fix
1047
1048         * loader/icon/SQLDatabase.cpp:
1049         (WebCore::SQLDatabase::authorizerFunction): I don't know *when* these constants were
1050           added to SQLite, but I know they were by 3.4.0
1051
1052 2007-10-19  Brady Eidson  <beidson@apple.com>
1053         Reviewed by Anders
1054
1055         Windows specific changes, as well as renaming Queue -> Deque
1056
1057         * ForwardingHeaders/wtf/Deque.h: Added.
1058         * ForwardingHeaders/wtf/Queue.h: Removed.
1059         * platform/win/FileSystemWin.cpp:
1060         (WebCore::fileSize):
1061         (WebCore::fileExists):
1062         (WebCore::deleteFile):
1063         (WebCore::pathByAppendingComponent):
1064         (WebCore::fileSystemRepresentation):
1065         (WebCore::makeAllDirectories):
1066         (WebCore::homeDirectoryPath):
1067         * storage/Database.h:
1068         * storage/DatabaseThread.cpp:
1069         (WebCore::DatabaseThread::documentGoingAway):
1070         (WebCore::DatabaseThread::databaseGoingAway):
1071         (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
1072         (WebCore::DatabaseThread::scheduleTask):
1073         (WebCore::DatabaseThread::scheduleImmediateTask):
1074         * storage/DatabaseThread.h:
1075
1076 2007-10-19  Brady Eidson <beidson@apple.com>
1077
1078         Reviewed by Tim and Anders
1079
1080         Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/)
1081
1082         The specification is still in flux but the fundamentals are pretty solid and we can start using and testing 
1083         this implementation even while filing bugs to track changes in the spec as it becomes more final
1084
1085         There are some implementation details in this patch that seem unused or useless, but they remain in place 
1086         while the spec is in flux and might go one way or another.
1087
1088         * platform/Logging.cpp: Add StorageAPI logging channel
1089         * platform/Logging.h:
1090
1091         * storage/Database.cpp: Added.
1092         (WebCore::Database::databaseInfoTableName):
1093         (WebCore::databaseVersionKey):
1094         (WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API
1095         (WebCore::Database::Database):
1096         (WebCore::Database::~Database):
1097         (WebCore::Database::openAndVerifyVersion):
1098         (WebCore::retrieveTextResultFromDatabase):
1099         (WebCore::Database::getVersionFromDatabase):
1100         (WebCore::setTextValueInDatabase):
1101         (WebCore::Database::setVersionInDatabase):
1102         (WebCore::Database::databaseThreadGoingAway): May be removed in the future
1103         (WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions
1104         (WebCore::Database::enableAuthorizer):
1105         (WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker.  
1106           The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future
1107         (WebCore::Database::resetAuthorizer):
1108         (WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage 
1109         (WebCore::Database::scheduleDatabaseCallback):
1110         (WebCore::Database::performOpenAndVerify): 
1111         (WebCore::Database::performChangeVersion):
1112         (WebCore::Database::performExecuteSql):
1113         (WebCore::Database::performCloseTransaction):
1114         (WebCore::Database::performGetTableNames):
1115         (WebCore::Database::version): C++ version of the javascript API
1116         (WebCore::Database::changeVersion): Ditto
1117         (WebCore::Database::executeSql): Ditto
1118         (WebCore::Database::closeTransaction): Ditto
1119         (WebCore::Database::tableNames): For internal (WebInspector) use
1120         (WebCore::Database::deliverAllPendingCallbacks):
1121         (WebCore::Database::deliverPendingCallbacks):
1122         * storage/Database.h: Added.
1123         (WebCore::Database::databaseDebugName): For debug logging purposes
1124         * storage/Database.idl: Added.
1125
1126         * storage/DatabaseAuthorizer.cpp: Added.
1127           The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as
1128           tracking when effects certain sql statements might have (such as increasing the size of the database)
1129         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
1130         (WebCore::DatabaseAuthorizer::reset):
1131         (WebCore::DatabaseAuthorizer::createTable):
1132         (WebCore::DatabaseAuthorizer::createTempTable):
1133         (WebCore::DatabaseAuthorizer::dropTable):
1134         (WebCore::DatabaseAuthorizer::dropTempTable):
1135         (WebCore::DatabaseAuthorizer::allowAlterTable):
1136         (WebCore::DatabaseAuthorizer::createIndex):
1137         (WebCore::DatabaseAuthorizer::createTempIndex):
1138         (WebCore::DatabaseAuthorizer::dropIndex):
1139         (WebCore::DatabaseAuthorizer::dropTempIndex):
1140         (WebCore::DatabaseAuthorizer::createTrigger):
1141         (WebCore::DatabaseAuthorizer::createTempTrigger):
1142         (WebCore::DatabaseAuthorizer::dropTrigger):
1143         (WebCore::DatabaseAuthorizer::dropTempTrigger):
1144         (WebCore::DatabaseAuthorizer::createVTable):
1145         (WebCore::DatabaseAuthorizer::dropVTable):
1146         (WebCore::DatabaseAuthorizer::allowDelete):
1147         (WebCore::DatabaseAuthorizer::allowInsert):
1148         (WebCore::DatabaseAuthorizer::allowUpdate):
1149         (WebCore::DatabaseAuthorizer::allowRead):
1150         (WebCore::DatabaseAuthorizer::allowAnalyze):
1151         (WebCore::DatabaseAuthorizer::allowPragma):
1152         (WebCore::DatabaseAuthorizer::allowAttach):
1153         (WebCore::DatabaseAuthorizer::allowDetach):
1154         (WebCore::DatabaseAuthorizer::allowFunction):
1155         (WebCore::DatabaseAuthorizer::disable):
1156         (WebCore::DatabaseAuthorizer::enable):
1157         (WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the __WebKit meta info table as
1158           it should be invisible to scripts
1159         * storage/DatabaseAuthorizer.h: Added.
1160         (WebCore::DatabaseAuthorizer::lastActionWasInsert):
1161         (WebCore::DatabaseAuthorizer::lastActionIncreasedSize):
1162
1163         * storage/DatabaseCallback.cpp: Added.
1164           Generic item to queue up for callbacks on the main thread for database activities that take place on 
1165           a secondary thread
1166         (WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback):
1167         (WebCore::DatabaseChangeVersionCallback::performCallback):
1168         (WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback):
1169         (WebCore::DatabaseExecuteSqlCallback::performCallback):
1170         * storage/DatabaseCallback.h: Added.
1171         (WebCore::DatabaseCallback::~DatabaseCallback):
1172         (WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback):
1173         (WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback):
1174
1175         * storage/DatabaseTask.h: Added.
1176           Generic work-item to be queued up on the background database thread
1177         (WebCore::DatabaseTask::isComplete):
1178         (WebCore::DatabaseOpenTask::exceptionCode):
1179         (WebCore::DatabaseOpenTask::openSuccessful):
1180         (WebCore::DatabaseTableNamesTask::tableNames):
1181         * storage/DatabaseTask.cpp: Added.
1182         (WebCore::DatabaseTask::DatabaseTask):
1183         (WebCore::DatabaseTask::~DatabaseTask):
1184         (WebCore::DatabaseTask::performTask):
1185         (WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished 
1186           synchronously
1187         (WebCore::DatabaseTask::waitForSynchronousCompletion):
1188
1189         (WebCore::DatabaseOpenTask::DatabaseOpenTask):
1190         (WebCore::DatabaseOpenTask::doPerformTask):
1191
1192         (WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask):
1193         (WebCore::DatabaseExecuteSqlTask::doPerformTask):
1194
1195         (WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask):
1196         (WebCore::DatabaseChangeVersionTask::doPerformTask):
1197
1198         (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
1199         (WebCore::DatabaseTableNamesTask::doPerformTask):
1200
1201         * storage/DatabaseThread.cpp: Added.
1202           The current design is that each Document will have its own DatabaseThread.  This makes scripts on each
1203           individual document more response at the cost of adding more threads and potentially creating concurrency
1204           issues when the same database is open twice from two different documents
1205         (WebCore::DatabaseThread::DatabaseThread):
1206         (WebCore::DatabaseThread::~DatabaseThread):
1207         (WebCore::DatabaseThread::start):
1208         (WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed
1209         (WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database
1210         (WebCore::DatabaseThread::databaseThreadStart):
1211         (WebCore::DatabaseThread::databaseThread):
1212         (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
1213         (WebCore::DatabaseThread::scheduleTask):
1214         (WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when
1215           the main thread requires a task be performed synchronously
1216         (WebCore::DatabaseThread::wakeWorkThread):
1217         * storage/DatabaseThread.h: Added.
1218
1219         * storage/DatabaseTracker.cpp: Added.
1220           The DatabaseTracker is the master management of all databases.  It will keep track of the filename for a given
1221           unique database, keep track of the total disk usage per-origin, and policys per database/origin
1222         (WebCore::DatabaseTracker::setDatabasePath):
1223         (WebCore::DatabaseTracker::databasePath):
1224         (WebCore::DatabaseTracker::tracker):
1225         (WebCore::DatabaseTracker::DatabaseTracker):
1226         (WebCore::DatabaseTracker::fullPathForDatabase):
1227         (WebCore::DatabaseTracker::populateOrigins):
1228         (WebCore::DatabaseTracker::origins):
1229         (WebCore::DatabaseTracker::databaseNamesForOrigin):
1230         (WebCore::DatabaseTracker::addDatabase):
1231         (WebCore::DatabaseTracker::deleteAllDatabases):
1232         (WebCore::DatabaseTracker::deleteAllDatabasesForOrigin):
1233         * storage/DatabaseTracker.h: Added.
1234
1235         * storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback
1236         (WebCore::SQLCallback::~SQLCallback):
1237         * storage/SQLCallback.idl: Added.
1238
1239         * storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object
1240         (WebCore::SQLResultSet::SQLResultSet):
1241         (WebCore::SQLResultSet::insertId):
1242         (WebCore::SQLResultSet::rowsAffected):
1243         (WebCore::SQLResultSet::errorCode):
1244         (WebCore::SQLResultSet::error):
1245         (WebCore::SQLResultSet::rows):
1246         (WebCore::SQLResultSet::setInsertId):
1247         (WebCore::SQLResultSet::setRowsAffected):
1248         (WebCore::SQLResultSet::setErrorCode):
1249         (WebCore::SQLResultSet::setErrorMessage):
1250         * storage/SQLResultSet.h: Added.
1251         * storage/SQLResultSet.idl: Added.
1252
1253         * storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object
1254         (WebCore::SQLResultSetRowList::length):
1255         * storage/SQLResultSetRowList.h: Added.
1256         (WebCore::SQLResultSetRowList::columnNames):
1257         (WebCore::SQLResultSetRowList::values):
1258         (WebCore::SQLResultSetRowList::addColumn):
1259         (WebCore::SQLResultSetRowList::addResult):
1260         * storage/SQLResultSetRowList.idl: Added.
1261
1262         * storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback
1263         (WebCore::VersionChangeCallback::~VersionChangeCallback):
1264         * storage/VersionChangeCallback.idl: Added.
1265
1266 2007-10-19  Brady Eidson <beidson@apple.com>
1267
1268         Reviewed by Oliver + Same
1269
1270         Forwarding header for the new wtf/Queue.h
1271
1272         * ForwardingHeaders/wtf/Queue.h: Added.
1273
1274 2007-10-19  Anders Carlsson <beidson@apple.com>
1275
1276         Reviewed by Sam Weinig
1277
1278         Most of the Javascript binding support for the Storage API
1279
1280         * bindings/js/JSCustomSQLCallback.cpp: Added.
1281         (WebCore::JSCustomSQLCallback::JSCustomSQLCallback):
1282         (WebCore::JSCustomSQLCallback::handleEvent):
1283         * bindings/js/JSCustomSQLCallback.h: Added.
1284                 Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
1285                 handleEvent to a JS function or a JS object with a handleEvent function.
1286
1287         * bindings/js/JSCustomVersionChangeCallback.cpp: Added.
1288         (WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback):
1289         (WebCore::JSCustomVersionChangeCallback::handleEvent):
1290         * bindings/js/JSCustomVersionChangeCallback.h: Added.
1291                 Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
1292                 handleEvent to a JS function or a JS object with a handleEvent function.
1293
1294         * bindings/js/JSDatabaseCustom.cpp: Added.
1295         (WebCore::JSDatabase::executeSql):
1296                 Custom implementation of executeSql that takes an array of parameters.
1297                 
1298         (WebCore::JSDatabase::changeVersion):
1299                 Custom implementation of changeVersion.
1300                 
1301         * bindings/js/JSSQLResultSetRowListCustom.cpp: Added.
1302         (WebCore::JSSQLResultSetRowList::item):
1303                 Custom method that returns a JS object that corresponds to a given row in the database.
1304
1305         * bindings/scripts/CodeGeneratorJS.pm:
1306
1307         * page/DOMWindow.cpp:
1308         (WebCore::DOMWindow::openDatabase):
1309         * page/DOMWindow.h:
1310         * page/DOMWindow.idl:
1311                 Add openDatabase implementation.
1312
1313 2007-10-19  Brady Eidson <beidson@apple.com>
1314
1315         Reviewed by Oliver
1316
1317         Added tons of utility to the FileSystem abstractions, including moving
1318         some stuff over from IconDatabase
1319
1320         * platform/FileSystem.h:
1321
1322         * platform/cf/FileSystemCF.cpp: Added.
1323         (WebCore::fileSystemRepresentation):
1324
1325         * platform/mac/FileSystemMac.mm:
1326
1327         * platform/posix/FileSystemPOSIX.cpp: Added.
1328         (WebCore::fileExists):
1329         (WebCore::deleteFile):
1330         (WebCore::fileSize):
1331         (WebCore::pathByAppendingComponent):
1332         (WebCore::makeAllDirectories):
1333
1334 2007-10-19  Timothy Hatcher  <timothy@apple.com>
1335
1336         Reviewed by Adam Roben
1337
1338         Preliminary Web Inspector support for the Storage API
1339         (This patch does not include the support artwork)
1340
1341         * page/InspectorController.cpp:
1342         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
1343         (WebCore::InspectorDatabaseResource::setScriptObject):
1344         (WebCore::databaseTableNames): Return the table names for a Database object.
1345         (WebCore::InspectorController::setWindowVisible):
1346         (WebCore::InspectorController::windowScriptObjectAvailable):
1347         (WebCore::InspectorController::populateScriptResources):
1348         (WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database.
1349         (WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database.
1350         (WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources.
1351         (WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources().
1352         (WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources.
1353         * page/InspectorController.h:
1354         * page/inspector/Database.js: Added.
1355         * page/inspector/DatabasePanel.js: Added.
1356         * page/inspector/ResourceCategory.js: Make resource categories assume less about the resource.
1357         * page/inspector/inspector.css: Add styles for the database panel.
1358         * page/inspector/inspector.html: Include DatabasePanel.js
1359         * page/inspector/inspector.js: Support for adding and removing Database resources.
1360
1361 2007-10-19  Brady Eidson <beidson@apple.com>
1362
1363         Reviewed by Tim Hatcher
1364
1365         Added support for Chrome prompts required by the Storage API
1366
1367         * page/Chrome.cpp:
1368         (WebCore::Chrome::runDatabaseSizeLimitPrompt):
1369         * page/Chrome.h:
1370         * page/ChromeClient.h:
1371         * platform/graphics/svg/SVGImageEmptyClients.h:
1372
1373 2007-10-19  Brady Eidson <beidson@apple.com>
1374
1375         Contributions and Review by Anders
1376
1377         Various SQLite tweaks in preparation for the storage API
1378
1379         * loader/icon/SQLDatabase.cpp:
1380         (WebCore::SQLDatabase::~SQLDatabase):
1381         (WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions
1382         (WebCore::SQLDatabase::setAuthorizer):
1383         (WebCore::SQLDatabase::lock):
1384         (WebCore::SQLDatabase::unlock):
1385         * loader/icon/SQLDatabase.h:
1386
1387         * loader/icon/SQLStatement.cpp:
1388         (WebCore::SQLStatement::prepare): Switch to prepare16_v2
1389         (WebCore::SQLStatement::bindDouble): Added
1390         (WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later)
1391         (WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements
1392         * loader/icon/SQLStatement.h:
1393         (WebCore::SQLStatement::isPrepared):
1394
1395         * platform/sql/SQLAuthorizer.cpp: Added.  Fully virtual interface to implement your own SQLite authorizer
1396         * platform/sql/SQLAuthorizer.h: Added.
1397         (WebCore::SQLAuthorizer::~SQLAuthorizer):
1398         (WebCore::SQLAuthorizer::createTable):
1399         (WebCore::SQLAuthorizer::createTempTable):
1400         (WebCore::SQLAuthorizer::dropTable):
1401         (WebCore::SQLAuthorizer::dropTempTable):
1402         (WebCore::SQLAuthorizer::allowAlterTable):
1403         (WebCore::SQLAuthorizer::createIndex):
1404         (WebCore::SQLAuthorizer::createTempIndex):
1405         (WebCore::SQLAuthorizer::dropIndex):
1406         (WebCore::SQLAuthorizer::dropTempIndex):
1407         (WebCore::SQLAuthorizer::createTrigger):
1408         (WebCore::SQLAuthorizer::createTempTrigger):
1409         (WebCore::SQLAuthorizer::dropTrigger):
1410         (WebCore::SQLAuthorizer::dropTempTrigger):
1411         (WebCore::SQLAuthorizer::createView):
1412         (WebCore::SQLAuthorizer::createTempView):
1413         (WebCore::SQLAuthorizer::dropView):
1414         (WebCore::SQLAuthorizer::dropTempView):
1415         (WebCore::SQLAuthorizer::createVTable):
1416         (WebCore::SQLAuthorizer::dropVTable):
1417         (WebCore::SQLAuthorizer::allowDelete):
1418         (WebCore::SQLAuthorizer::allowInsert):
1419         (WebCore::SQLAuthorizer::allowUpdate):
1420         (WebCore::SQLAuthorizer::allowTransaction):
1421         (WebCore::SQLAuthorizer::allowSelect):
1422         (WebCore::SQLAuthorizer::allowRead):
1423         (WebCore::SQLAuthorizer::allowAttach):
1424         (WebCore::SQLAuthorizer::allowDetach):
1425         (WebCore::SQLAuthorizer::allowReindex):
1426         (WebCore::SQLAuthorizer::allowAnalyze):
1427         (WebCore::SQLAuthorizer::allowFunction):
1428
1429         * platform/sql/SQLValue.cpp: Added.  Contains a value for a SQLite database that can be one of a few types.  
1430           For now, just a String or a double
1431         (WebCore::SQLValue::SQLValue):
1432         (WebCore::SQLValue::string):
1433         (WebCore::SQLValue::number):
1434         * platform/sql/SQLValue.h: Added.
1435         (WebCore::SQLValue::):
1436         (WebCore::SQLValue::SQLValue):
1437         (WebCore::SQLValue::type):
1438
1439 2007-10-19  Brady Eidson <beidson@apple.com>
1440
1441         Reviewed by Maciej
1442
1443         Changed IconDatabase over to use new FileSystem apis
1444
1445         * loader/icon/IconDatabase.cpp:
1446         (WebCore::IconDatabase::open):
1447
1448 2007-10-19  David Hyatt  <hyatt@apple.com>
1449
1450         Fix for ebay parser crash.
1451
1452         Reviewed by Beth
1453
1454         fast/invalid/table-residual-style-crash.html added as a test
1455
1456         * html/HTMLParser.cpp:
1457         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
1458
1459 2007-10-19  Sam Weinig  <sam@webkit.org>
1460
1461         Fix Windows, Qt and GTK builds.
1462
1463         * WebCore.pro:
1464         * WebCore.vcproj/WebCore.vcproj:
1465
1466 2007-10-19  Sam Weinig  <sam@webkit.org>
1467
1468         Reviewed by Darin.
1469
1470         Encapsulate the same origin check into the new SecurityOrigin class.
1471
1472         * WebCore.xcodeproj/project.pbxproj:
1473         * bindings/js/kjs_window.cpp:
1474         (KJS::Window::isSafeScript):
1475         * dom/Document.cpp:
1476         (WebCore::Document::Document):
1477         (WebCore::Document::defaultEventHandler):
1478         * dom/Document.h:
1479         (WebCore::Document::securityOrigin):
1480         * loader/FrameLoader.cpp:
1481         (WebCore::FrameLoader::begin):
1482         (WebCore::FrameLoader::setOpener):
1483         * loader/FrameLoader.h:
1484         * platform/SecurityOrigin.cpp: Added.
1485         (WebCore::SecurityOrigin::SecurityOrigin):
1486         (WebCore::SecurityOrigin::clear):
1487         (WebCore::SecurityOrigin::isEmpty):
1488         (WebCore::SecurityOrigin::setForFrame):
1489         (WebCore::SecurityOrigin::setDomainFromDOM):
1490         (WebCore::SecurityOrigin::allowsAccessFrom):
1491         (WebCore::SecurityOrigin::isSecureTransitionTo):
1492         * platform/SecurityOrigin.h: Added.
1493
1494 2007-10-19  Simon Hausmann  <hausmann@kde.org>
1495
1496         Fix the Qt/Windows build: Added missing FontSelector.h include.
1497
1498         * platform/qt/FontQt.cpp:
1499
1500 2007-10-19  Simon Hausmann  <hausmann@kde.org>
1501
1502         Reviewed by Lars.
1503
1504         Qt/Windows build fix: Threading.h uses int32_t but doesn't include stdint.h.
1505
1506         * platform/Threading.h:
1507
1508 2007-10-19  Simon Hausmann  <hausmann@kde.org>
1509
1510         Reviewed by Lars.
1511
1512         Fix the Qt/Windows build, don't use cat but use the perl print trick
1513         instead.
1514
1515         * WebCore.pro:
1516
1517 2007-10-18  Justin Garcia  <justin.garcia@apple.com>
1518
1519         Reviewed by Kevin McCullough.
1520
1521         <rdar://problem/5483526> 
1522         GoogleDocs: A hang occurs when applying list styling to a selection containing a table and line breaks
1523
1524         * editing/TextIterator.cpp:
1525         (WebCore::TextIterator::exitNode): For selection preservation, we must emit a character
1526         between every VisiblePosition.  We weren't emitting a space after some tables, because
1527         we won't try to emit a space if shouldEmitNewlineAFterNode is true, even if no newline
1528         was emitted.
1529
1530 2007-10-18  Dan Bernstein  <dan.bernstein@apple.com>
1531
1532         Reviewed by Adam Roben.
1533
1534         - fix <rdar://problem/5313523>
1535         REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
1536
1537         * platform/network/mac/ResourceResponseMac.mm:
1538         (WebCore::ResourceResponse::doUpdateResourceResponse): Work around
1539         <rdar://problem/5321972> by testing for the case of a response
1540         with a MIME type of application/octet-stream and a Content-Type header
1541         starting with text/plain and setting the MIME type to text/plain in
1542         that case.
1543
1544 2007-10-18  Mark Rowe  <mrowe@apple.com>
1545
1546         Fix the no-SVG build.
1547
1548         * css/CSSPrimitiveValueMappings.h: Move the CSSPrimitiveValue implementations for
1549         LineCap, LineJoin and WindRule inside #if ENABLE(SVG).
1550
1551 2007-10-18  Darin Adler  <darin@apple.com>
1552
1553         Reviewed by Anders.
1554
1555         - some small tweaks to the threading implementation
1556
1557         I had trouble building on Windows. Either the problem went away by itself
1558         or one of these changes fixed it.
1559
1560         * platform/Threading.h: Eliminated the use of friend, and shared a single
1561         declaration for the initializeThreading function.
1562
1563         * platform/pthreads/ThreadingPthreads.cpp: (WebCore::ThreadCondition::wait):
1564         Call impl() here.
1565
1566         * platform/win/ThreadingWin.cpp: Got rid of two globals here with static
1567         constructors. Also added a typedef for the type of the function queue.
1568         (WebCore::functionQueueMutex): Added function.
1569         (WebCore::functionQueue): Ditto.
1570         (WebCore::callFunctionsOnMainThread): Use functions instead of using the
1571         globals directly.
1572         (WebCore::callOnMainThread): Ditto.
1573
1574         * css/CSSParser.cpp: Had to touch this file to make things build.
1575
1576 2007-10-18  Adam Roben  <aroben@apple.com>
1577
1578         Fix <rdar://5547462> Need to copy Inspector resources in Production builds
1579
1580         I also added an excludes file for the xcopy command to avoid copying
1581         .svn folders.
1582
1583         Reviewed by Geoff.
1584
1585         * WebCore.vcproj/WebCore.make: Make sure we copy the Inspector
1586         resources.
1587         * WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to
1588         xcopy.
1589         * WebCore.vcproj/xcopy.excludes: Added.
1590
1591 2007-10-18  Darin Adler  <darin@apple.com>
1592
1593         Reviewed by Sam.
1594
1595         - fix http://bugs.webkit.org/show_bug.cgi?id=15541
1596           REGRESSION (r26616): prompt with one argument uses the literal "undefined" as default reply
1597
1598         * page/DOMWindow.idl: Add ConvertUndefinedOrNullToNullString back for defaultValue.
1599
1600 2007-10-18  Nikolas Zimmermann  <zimmermann@kde.org>
1601
1602         Build fix. Not reviewed.
1603
1604         Hopefully fix win build by including wtf/MathExtras.h.
1605
1606         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1607
1608 2007-10-18  Dan Bernstein  <dan.bernstein@apple.com>
1609
1610         Reviewed by Nikolas Zimmermann.
1611
1612         - fix http://bugs.webkit.org/show_bug.cgi?id=15367
1613           Assertion failure inspecting a document including soft hyphen code (0xad)
1614
1615         Test: fast/text/word-break-soft-hyphen.html
1616
1617         * rendering/RenderText.cpp:
1618         (WebCore::RenderText::calcPrefWidths): Changed to treat soft hyphens as 
1619         word boundaries. This fixes the bug and is consistent with the fact that
1620         run rounding does occur at soft hyphens.
1621
1622 2007-10-18  Nikolas Zimmermann  <zimmermann@kde.org>
1623
1624         Reviewed by Anders.
1625
1626         Fix last layout test failure seen on buildbot "trunk-mac-ppc-release".
1627         Problem: "svg/custom/mask-excessive-malloc.svg -> crashed"
1628
1629         Clamp any ImageBuffer allocation within SVG to the RenderView's visibleSize
1630         to avoid excessive mallocs (in the testcase above 1000000x1000000)
1631
1632         * ksvg2/svg/SVGMaskElement.cpp:
1633         (WebCore::SVGMaskElement::drawMaskerContent):
1634         * ksvg2/svg/SVGPatternElement.cpp:
1635         (WebCore::SVGPatternElement::buildPattern):
1636         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1637         (WebCore::SVGPaintServerGradient::teardown):
1638         (WebCore::SVGPaintServerGradient::setup):
1639         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
1640         (WebCore::SVGResourceMasker::applyMask):
1641         * rendering/SVGRenderSupport.cpp:
1642         (WebCore::clampImageBufferSizeToViewport):
1643         * rendering/SVGRenderSupport.h:
1644
1645 2007-10-18  Alexey Proskuryakov  <ap@webkit.org>
1646
1647         Windows build fix.
1648
1649         * css/CSSStyleSelector.cpp:
1650         (WebCore::CSSStyleSelector::applyProperty): Add braces around cases that have local variables now.
1651
1652 2007-10-18  Alexey Proskuryakov  <ap@webkit.org>
1653
1654         Release build fix.
1655
1656         * css/CSSStyleSelector.cpp:
1657         (WebCore::CSSStyleSelector::applyProperty): 
1658
1659 2007-10-18  Alexey Proskuryakov  <ap@webkit.org>
1660
1661         Reviewed by Darin.
1662
1663         Split most of CSSPrimitiveValue enum mapping out of CSSComputedStyleDeclaration::getPropertyCSSValue()
1664         and CSSStyleSelector::applyProperty() (and their SVG counterparts). This should make the code more readable.
1665
1666         * WebCore.xcodeproj/project.pbxproj:
1667         * css/CSSComputedStyleDeclaration.cpp:
1668         (WebCore::getPositionOffsetValue):
1669         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1670         * css/CSSPrimitiveValue.cpp:
1671         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1672         (WebCore::CSSPrimitiveValue::init):
1673         * css/CSSPrimitiveValue.h:
1674         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1675         * css/CSSPrimitiveValueMappings.h: Added.
1676         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1677         (WebCore::CSSPrimitiveValue::operator EBorderStyle):
1678         (WebCore::CSSPrimitiveValue::operator CompositeOperator):
1679         (WebCore::CSSPrimitiveValue::operator EAppearance):
1680         (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
1681         (WebCore::CSSPrimitiveValue::operator EBackgroundRepeat):
1682         (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
1683         (WebCore::CSSPrimitiveValue::operator EBoxDirection):
1684         (WebCore::CSSPrimitiveValue::operator EBoxLines):
1685         (WebCore::CSSPrimitiveValue::operator EBoxOrient):
1686         (WebCore::CSSPrimitiveValue::operator ECaptionSide):
1687         (WebCore::CSSPrimitiveValue::operator EClear):
1688         (WebCore::CSSPrimitiveValue::operator ECursor):
1689         (WebCore::CSSPrimitiveValue::operator EDisplay):
1690         (WebCore::CSSPrimitiveValue::operator EEmptyCell):
1691         (WebCore::CSSPrimitiveValue::operator EFloat):
1692         (WebCore::CSSPrimitiveValue::operator EKHTMLLineBreak):
1693         (WebCore::CSSPrimitiveValue::operator EListStylePosition):
1694         (WebCore::CSSPrimitiveValue::operator EListStyleType):
1695         (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
1696         (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
1697         (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
1698         (WebCore::CSSPrimitiveValue::operator EMatchNearestMailBlockquoteColor):
1699         (WebCore::CSSPrimitiveValue::operator ENBSPMode):
1700         (WebCore::CSSPrimitiveValue::operator EOverflow):
1701         (WebCore::CSSPrimitiveValue::operator EPageBreak):
1702         (WebCore::CSSPrimitiveValue::operator EPosition):
1703         (WebCore::CSSPrimitiveValue::operator EResize):
1704         (WebCore::CSSPrimitiveValue::operator ETableLayout):
1705         (WebCore::CSSPrimitiveValue::operator ETextAlign):
1706         (WebCore::CSSPrimitiveValue::operator ETextSecurity):
1707         (WebCore::CSSPrimitiveValue::operator ETextTransform):
1708         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
1709         (WebCore::CSSPrimitiveValue::operator EUserDrag):
1710         (WebCore::CSSPrimitiveValue::operator EUserModify):
1711         (WebCore::CSSPrimitiveValue::operator EUserSelect):
1712         (WebCore::CSSPrimitiveValue::operator EVisibility):
1713         (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
1714         (WebCore::CSSPrimitiveValue::operator EWordBreak):
1715         (WebCore::CSSPrimitiveValue::operator EWordWrap):
1716         (WebCore::CSSPrimitiveValue::operator LineCap):
1717         (WebCore::CSSPrimitiveValue::operator LineJoin):
1718         (WebCore::CSSPrimitiveValue::operator TextDirection):
1719         (WebCore::CSSPrimitiveValue::operator WindRule):
1720         (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
1721         (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
1722         (WebCore::CSSPrimitiveValue::operator EColorRendering):
1723         (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
1724         (WebCore::CSSPrimitiveValue::operator EImageRendering):
1725         (WebCore::CSSPrimitiveValue::operator EPointerEvents):
1726         (WebCore::CSSPrimitiveValue::operator EShapeRendering):
1727         (WebCore::CSSPrimitiveValue::operator ETextAnchor):
1728         (WebCore::CSSPrimitiveValue::operator ETextRendering):
1729         (WebCore::CSSPrimitiveValue::operator EWritingMode):
1730         * css/CSSStyleSelector.cpp:
1731         (WebCore::CSSStyleSelector::checkSelector):
1732         (WebCore::CSSStyleSelector::checkOneSelector):
1733         (WebCore::CSSRuleSet::addRulesFromSheet):
1734         (WebCore::convertToLength):
1735         (WebCore::CSSStyleSelector::applyDeclarations):
1736         (WebCore::CSSStyleSelector::applyProperty):
1737         (WebCore::CSSStyleSelector::mapBackgroundAttachment):
1738         (WebCore::CSSStyleSelector::mapBackgroundClip):
1739         (WebCore::CSSStyleSelector::mapBackgroundComposite):
1740         (WebCore::CSSStyleSelector::mapBackgroundOrigin):
1741         (WebCore::CSSStyleSelector::mapBackgroundRepeat):
1742         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
1743         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
1744         * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
1745         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
1746         * ksvg2/css/SVGCSSStyleSelector.cpp:
1747         (WebCore::CSSStyleSelector::applySVGProperty):
1748
1749 2007-10-18  Eric Seidel  <eric@webkit.org>
1750
1751         Reviewed by Maciej.
1752
1753         Fix crashers in SVGViewSpec::parseViewSpec
1754         http://bugs.webkit.org/show_bug.cgi?id=15504
1755
1756         Test is blocked by bug 15503, landed as:
1757         * svg/dom/viewspec-parser.html-disabled
1758
1759         * bindings/scripts/CodeGeneratorObjC.pm: support classes where all parents are interfaces
1760         * ksvg2/svg/SVGViewSpec.cpp:
1761         (WebCore::SVGViewSpec::parseViewSpec):
1762         * ksvg2/svg/SVGViewSpec.idl: Added.
1763
1764 2007-10-17  Rob Buis  <buis@kde.org>
1765
1766         Reviewed by Darin, Adam, and Maciej.
1767
1768         http://bugs.webkit.org/show_bug.cgi?id=12988
1769         First element (in document order) is not returned when other duplicate ID-ed elements were created first
1770
1771         Reset the element id cache when an id is added and there is a duplicate for that id.
1772
1773         * dom/Document.cpp:
1774         (WebCore::Document::addElementById):
1775
1776 2007-10-17  Mark Rowe  <mrowe@apple.com>
1777
1778         Mac build fix.
1779
1780         * Configurations/WebCore.xcconfig:  Make it possible to include CoreGraphics header files.
1781
1782 2007-10-17  Adam Roben  <aroben@apple.com>
1783
1784         Fix an ASSERT on launch on Windows
1785
1786         Fix dictated to me by Brady.
1787
1788         * loader/icon/IconDatabase.cpp:
1789         (WebCore::IconDatabase::syncThreadMainLoop): Make sure we hold
1790         m_syncLock before going into the loop.
1791
1792 2007-10-17  Adam Roben  <aroben@apple.com>
1793
1794         Windows build fix
1795
1796         Reviewed by NOBODY.
1797
1798         * platform/graphics/AffineTransform.h: Don't #include
1799         ApplicationServices.h.
1800         * platform/graphics/cg/GraphicsContextCG.cpp: Add an #include that's
1801         needed now that we're not #including ApplicationServices.h.
1802
1803 2007-10-17  Mark Rowe  <mrowe@apple.com>
1804
1805         Gtk build fix.  Move non-pthread stubs from Threading.h to ThreadingNone.cpp to prevent
1806         multiple-definition link errors.
1807
1808         * WebCore.pro:
1809         * platform/Threading.h:
1810         * platform/ThreadingNone.cpp: Added.
1811         (WebCore::createThread):
1812         (WebCore::waitForThreadCompletion):
1813         (WebCore::detachThread):
1814         (WebCore::Mutex::Mutex):
1815         (WebCore::Mutex::~Mutex):
1816         (WebCore::Mutex::lock):
1817         (WebCore::Mutex::tryLock):
1818         (WebCore::Mutex::unlock):
1819         (WebCore::ThreadCondition::ThreadCondition):
1820
1821 2007-10-17  Anders Carlsson  <andersca@apple.com>
1822
1823         Reviewed by Oliver.
1824
1825         * WebCore.xcodeproj/project.pbxproj:
1826         * WebCore.vcproj/WebCore.vcproj:
1827         
1828         * config.h:
1829         #define USE_PTHREADS on Windows.
1830         
1831         * loader/icon/IconDatabase.cpp:
1832         (WebCore::IconDatabase::getOrCreateIconRecord):
1833         (WebCore::IconDatabase::getOrCreatePageURLRecord):
1834         Update for mutex changes.
1835         
1836         * platform/Threading.h:
1837         (WebCore::):
1838         (WebCore::ThreadSafeShared::ThreadSafeShared):
1839         (WebCore::ThreadSafeShared::ref):
1840         (WebCore::ThreadSafeShared::deref):
1841         (WebCore::ThreadSafeShared::hasOneRef):
1842         (WebCore::ThreadSafeShared::refCount):
1843         (WebCore::ThreadSafeShared::isThreadSafe):
1844         Add a new Shared base class that uses a mutex to manage its refcount.
1845         
1846         (WebCore::createThread):
1847         (WebCore::waitForThreadCompletion):
1848         (WebCore::detachThread):
1849         New functions for thread creation.
1850         
1851         (WebCore::Mutex::Mutex):
1852         (WebCore::Mutex::~Mutex):
1853         (WebCore::Mutex::lock):
1854         (WebCore::Mutex::tryLock):
1855         (WebCore::Mutex::unlock):
1856         Move the definitions to ThreadingPthreads.cpp
1857         
1858         (WebCore::ThreadCondition::ThreadCondition):
1859         (WebCore::ThreadCondition::~ThreadCondition):
1860         (WebCore::ThreadCondition::wait):
1861         (WebCore::ThreadCondition::signal):
1862         (WebCore::ThreadCondition::broadcast):
1863         Move the definitions to ThreadingPthreads.cpp
1864         
1865         * platform/pthreads: Added.
1866         * platform/pthreads/ThreadingPthreads.cpp: Added.
1867         Add pthread specific implementation of the thread creation functions, Mutex and ThreadCondition.
1868
1869 2007-10-17  David Hyatt  <hyatt@apple.com>
1870
1871         Add support for creating a layer when a transform is in effect.  Add support to RenderStyle for
1872         handing back a computed AffineTransform.
1873
1874         Reviewed by Mitz Pettel
1875
1876         * css/CSSStyleSelector.cpp:
1877         (WebCore::CSSStyleSelector::adjustRenderStyle):
1878         * rendering/RenderBox.cpp:
1879         (WebCore::RenderBox::setStyle):
1880         * rendering/RenderObject.cpp:
1881         (WebCore::RenderObject::RenderObject):
1882         (WebCore::RenderObject::requiresLayer):
1883         (WebCore::RenderObject::setStyle):
1884         * rendering/RenderObject.h:
1885         (WebCore::RenderObject::hasTransform):
1886         (WebCore::RenderObject::setHasTransform):
1887         * rendering/RenderStyle.cpp:
1888         (WebCore::RenderStyle::applyTransform):
1889         * rendering/RenderStyle.h:
1890         (WebCore::RenderStyle::hasTransform):
1891         * rendering/RenderTableCell.cpp:
1892         (WebCore::RenderTableCell::requiresLayer):
1893         * rendering/RenderTableRow.h:
1894         (WebCore::RenderTableRow::requiresLayer):
1895
1896 2007-10-17  David Hyatt  <hyatt@apple.com>
1897
1898         Add support for mapping of the transform CSS property into RenderStyles.  Everything is now ready for the front
1899         end to use.
1900
1901         Reviewed by Mitz Pettel
1902
1903         * WebCore.xcodeproj/project.pbxproj:
1904         * css/CSSStyleSelector.cpp:
1905         (WebCore::CSSStyleSelector::applyProperty):
1906         * css/CSSTransformValue.h:
1907         (WebCore::CSSTransformValue::type):
1908         (WebCore::CSSTransformValue::values):
1909         * platform/graphics/AffineTransform.cpp:
1910         (WebCore::AffineTransform::skew):
1911         * platform/graphics/AffineTransform.h:
1912         * rendering/RenderStyle.cpp:
1913         (WebCore::StyleTransformData::StyleTransformData):
1914         (WebCore::StyleTransformData::operator==):
1915         (WebCore::StyleTransformData::transformDataEquivalent):
1916         * rendering/RenderStyle.h:
1917         (WebCore::TransformOperation::~TransformOperation):
1918         (WebCore::TransformOperation::operator!=):
1919         (WebCore::TransformOperation::isScaleOperation):
1920         (WebCore::TransformOperation::isRotateOperation):
1921         (WebCore::TransformOperation::isSkewOperation):
1922         (WebCore::TransformOperation::isTranslateOperation):
1923         (WebCore::TransformOperation::isMatrixOperation):
1924         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
1925         (WebCore::ScaleTransformOperation::isScaleOperation):
1926         (WebCore::ScaleTransformOperation::operator==):
1927         (WebCore::ScaleTransformOperation::apply):
1928         (WebCore::RotateTransformOperation::RotateTransformOperation):
1929         (WebCore::RotateTransformOperation::isRotateOperation):
1930         (WebCore::RotateTransformOperation::operator==):
1931         (WebCore::RotateTransformOperation::apply):
1932         (WebCore::SkewTransformOperation::SkewTransformOperation):
1933         (WebCore::SkewTransformOperation::isSkewOperation):
1934         (WebCore::SkewTransformOperation::operator==):
1935         (WebCore::SkewTransformOperation::apply):
1936         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
1937         (WebCore::TranslateTransformOperation::isTranslateOperation):
1938         (WebCore::TranslateTransformOperation::operator==):
1939         (WebCore::TranslateTransformOperation::apply):
1940         (WebCore::MatrixTransformOperation::MatrixTransformOperation):
1941         (WebCore::MatrixTransformOperation::isMatrixOperation):
1942         (WebCore::MatrixTransformOperation::operator==):
1943         (WebCore::MatrixTransformOperation::apply):
1944         (WebCore::StyleTransformData::operator!=):
1945         (WebCore::RenderStyle::transform):
1946         (WebCore::RenderStyle::setTransform):
1947         (WebCore::RenderStyle::initialTransform):
1948
1949 2007-10-17  Adam Roben  <aroben@apple.com>
1950
1951         * page/Frame.cpp: I had to touch this file when fixing the Windows
1952         build. Checking it in in case it helps others, too.
1953
1954 2007-10-17  Eric Seidel  <eric@webkit.org>
1955
1956         Reviewed by Mark Rowe.
1957         
1958         Remove a couple more uses of svg_dynamic_cast.
1959
1960         No functional changes, no tests.
1961
1962         * ksvg2/svg/SVGPatternElement.cpp:
1963         (WebCore::SVGPatternElement::buildPattern):
1964
1965 2007-10-17  Mark Rowe  <mrowe@apple.com>
1966
1967         Reviewed by Eric and Geoff.
1968
1969         <rdar://problem/5453743> Repro ASSERT in CachedResource::setEncodedSize() loading image in background tab
1970         http://bugs.webkit.org/show_bug.cgi?id=15191
1971
1972         * loader/DocLoader.cpp:
1973         (WebCore::DocLoader::setAutoLoadImages): Don't start a load if the CachedImage is already loading.
1974
1975 2007-10-17  Justin Garcia  <justin.garcia@apple.com>
1976
1977         Reviewed by Harrison.
1978         
1979         <rdar://problem/5481523> 
1980         GoogleDocs: Safari hangs when indenting a particular table twice
1981         
1982         Fixed by fixing problems with the selection preservation done by IndentOutdentCommand.
1983         It is now more difficult to create selections that cause hangs.  Those are covered by:
1984         <rdar://problem/5543472>
1985
1986         * editing/IndentOutdentCommand.cpp:
1987         (WebCore::indexForVisiblePosition): Compute indices from the first VisiblePosition
1988         in the document, instead of the first Position.
1989         Use rangeCompliantEquivalents when creating the Range that we pass to rangeLength.
1990         Tell TextIterator::rangeLength that we're doing selection preservation, so that it
1991         will emit characters between all VisiblePositions.
1992         (WebCore::IndentOutdentCommand::indentRegion): Fixed a bug where the range and location
1993         passed to rangeFromLocationAndLength were reversed.
1994         Tell rangeFromLocationAndLength that we're doing doing selection preservation, as
1995         above.
1996         * editing/TextIterator.cpp:
1997         (WebCore::CharacterIterator::CharacterIterator): 
1998         (WebCore::TextIterator::rangeLength): Rename emitSpacesForReplacedElements
1999         to forSelectionPreservation, to match the name of the boolean inside TextIterator and
2000         to match its meaning after r25522.
2001         (WebCore::TextIterator::rangeFromLocationAndLength): Ditto.
2002
2003 2007-10-16  Darin Adler  <darin@apple.com>
2004
2005         Reviewed by Mitz.
2006
2007         - fix http://bugs.webkit.org/show_bug.cgi?id=15536
2008           need to cache missing glyph so we're not slow on pages that show missing glyphs
2009
2010         - <rdar://problem/5404359> UI thread stall (>60sec) in MLANG running stress test
2011           (related to font data caching)
2012
2013         * platform/Font.cpp: (WebCore::Font::glyphDataForCharacter): Check for a null value
2014         for fontData rather than for glyph to detect non-cached entries in the glyph data.
2015
2016         * platform/gtk/GlyphPageTreeNodeGtk.cpp: (WebCore::GlyphPage::fill):
2017         * platform/mac/GlyphPageTreeNodeMac.cpp: (WebCore::GlyphPage::fill):
2018         * platform/win/GlyphPageTreeNodeWin.cpp: (WebCore::GlyphPage::fill):
2019         Set fontData to 0 for missing glyph entries. Also fixed the Windows and GTK versions
2020         to return the proper value for haveGlyphs.
2021
2022 2007-10-16  Mark Rowe  <mrowe@apple.com>
2023
2024         Gtk build fix.  Replace use of assert with ASSERT_NOT_REACHED.
2025
2026         * platform/gtk/FontCacheGtk.cpp:
2027         (WebCore::FontCache::platformInit):
2028
2029 2007-10-16  Darin Adler  <darin@apple.com>
2030
2031         Reviewed by Adam.
2032
2033         - fix http://bugs.webkit.org/show_bug.cgi?id=15534
2034           WebScriptObject.h has some formatting and editorial mistakes
2035
2036         * bindings/objc/WebScriptObject.h: Fix wording and formatting.
2037
2038 2007-10-16  Darin Adler  <darin@apple.com>
2039
2040         - try to fix the Qt build
2041
2042         * config.h: Don't use DisallowCType.h, since it's incompatible with some C++ headers
2043         that are used in some Qt-specific source files.
2044
2045 2007-10-16  Darin Adler  <darin@apple.com>
2046
2047         Reviewed by Adele.
2048
2049         - fix http://bugs.webkit.org/show_bug.cgi?id=15525
2050           transpose (control-T) should do the last two characters on a line if at end of line
2051         - remove unused CommandByName class
2052         - move transpose command implementation here from Mac OS X WebKit
2053
2054         * editing/Editor.h:
2055         * editing/Editor.cpp:
2056         (WebCore::execTranspose): Added.
2057         (WebCore::Editor::transpose): Added. This has the transpose implementation from
2058         WebCoreFrameBridge and WebHTMLView, translated into WebCore-style C++ and with
2059         a special case for the end of a paragraph.
2060
2061         * page/Frame.h: Removed unused command() function member.
2062         * page/FramePrivate.h: Removed unused m_command data member.
2063         * page/Frame.cpp: Ditto.
2064
2065         * page/mac/WebCoreFrameBridge.h: Removed rangeOfCharactersAroundCaret method.
2066         * page/mac/WebCoreFrameBridge.mm: Ditto.
2067
2068         * WebCore.pro: Removed CommandByName.h/cpp.
2069         * WebCore.vcproj/WebCore.vcproj: Ditto.
2070         * WebCore.xcodeproj/project.pbxproj: Ditto.
2071
2072         * editing/CommandByName.cpp: Removed.
2073         * editing/CommandByName.h: Removed.
2074
2075 2007-10-16  Darin Adler  <darin@apple.com>
2076
2077         Reviewed by Maciej and Geoff (and looked over by Eric).
2078
2079         - http://bugs.webkit.org/show_bug.cgi?id=15519
2080           eliminate use of <ctype.h> for processing ASCII
2081
2082         * ForwardingHeaders/wtf/ASCIICType.h: Added.
2083         * ForwardingHeaders/wtf/DisallowCType.h: Added.
2084
2085         * WebCorePrefix.h: Get rid of inclusion of <ctype.h>.
2086         * config.h: Include DisallowCType.h.
2087
2088         * css/CSSParser.cpp:
2089         (WebCore::ParseString::lower):
2090         * css/CSSPrimitiveValue.cpp:
2091         (WebCore::isCSSTokenizerIdentifier):
2092         * css/CSSStyleDeclaration.cpp:
2093         (WebCore::propertyID):
2094         * html/HTMLSelectElement.cpp:
2095         (WebCore::stripLeadingWhiteSpace):
2096         * html/HTMLTokenizer.cpp:
2097         (WebCore::tagMatch):
2098         * loader/FTPDirectoryParser.cpp:
2099         (WebCore::parseOneFTPLine):
2100         * loader/TextResourceDecoder.cpp:
2101         (WebCore::TextResourceDecoder::checkForHeadCharset):
2102         * platform/DeprecatedCString.cpp:
2103         (WebCore::DeprecatedCString::lower):
2104         (WebCore::DeprecatedCString::upper):
2105         (WebCore::DeprecatedCString::find):
2106         (WebCore::DeprecatedCString::contains):
2107         * platform/DeprecatedString.cpp:
2108         (WebCore::equalCaseInsensitive):
2109         (WebCore::isCharacterAllowedInBase):
2110         (WebCore::DeprecatedString::find):
2111         (WebCore::DeprecatedString::contains):
2112         (WebCore::toIntegralType):
2113         * platform/DeprecatedString.h:
2114         (WebCore::DeprecatedChar::isSpace):
2115         (WebCore::DeprecatedChar::lower):
2116         (WebCore::DeprecatedChar::upper):
2117         * platform/KURL.cpp:
2118         (WebCore::KURL::parse):
2119         * platform/StringImpl.cpp:
2120         (WebCore::isSpace):
2121         (WebCore::StringImpl::containsOnlyWhitespace):
2122         (WebCore::StringImpl::isLower):
2123         (WebCore::StringImpl::lower):
2124         (WebCore::StringImpl::find):
2125         (WebCore::StringImpl::reverseFind):
2126         (WebCore::equalIgnoringCase):
2127         * platform/TextEncodingRegistry.cpp:
2128         (WebCore::TextEncodingNameHash::equal):
2129         (WebCore::TextEncodingNameHash::hash):
2130         (WebCore::atomicCanonicalTextEncodingName):
2131         * platform/mac/KeyEventMac.mm:
2132         (WebCore::keyIdentifierForKeyEvent):
2133         * platform/win/KeyEventWin.cpp:
2134         (WebCore::keyIdentifierForWindowsKeyCode):
2135         * platform/win/PopupMenuWin.cpp:
2136         (WebCore::isASCIIPrintable):
2137         (WebCore::PopupWndProc):
2138         * plugins/win/PluginViewWin.cpp:
2139         (WebCore::capitalizeRFC822HeaderFieldName):
2140         * rendering/RenderText.cpp:
2141         (WebCore::RenderText::widthFromCache):
2142         Use ASCIICType.h functions instead of ctype.h ones.
2143
2144 2007-10-16  Mitz Pettel  <mitz@webkit.org>
2145
2146         Reviewed by Dave Hyatt.
2147
2148         - fix http://bugs.webkit.org/show_bug.cgi?id=15296
2149           REGRESSION (r19716-r19719): width not specified for <marquee> tag is causing the alignment issue.
2150
2151         Test: fast/block/float/marquee-shrink-to-avoid-floats.html
2152
2153         * rendering/RenderObject.cpp:
2154         (WebCore::RenderObject::shrinkToAvoidFloats): Changed to return 'true' for <marquee>s with auto width.
2155
2156 2007-10-16  Beth Dakin  <bdakin@apple.com>
2157
2158         Reviewed by Darin.
2159
2160         Fix for <rdar://problem/5517118> REGRESSION: 9A570 - Safari renders 
2161         Amazon seller page way too small
2162
2163         The font size at Amazon was way too small because the calls to 
2164         getComputedStyle and getPropertyValue did not cause the div to 
2165         attach because there was a pending stylesheet. The fix is to call 
2166         updateLayoutIgnorePendingStylesheets() instead of just 
2167         updateLayout().
2168
2169         * css/CSSComputedStyleDeclaration.cpp:
2170         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2171
2172 2007-10-16  David Hyatt  <hyatt@apple.com>
2173
2174         Get transform-origin(x/y) mapped into the front end RenderStyle.  Adds a new StyleTransformData struct that
2175         holds transform-origin (and that will also eventually hold the parsed transform operations as well).
2176
2177         Reviewed by Beth
2178
2179         * css/CSSStyleSelector.cpp:
2180         (WebCore::CSSStyleSelector::applyProperty):
2181         * rendering/RenderStyle.cpp:
2182         (WebCore::StyleTransformData::StyleTransformData):
2183         (WebCore::StyleTransformData::operator==):
2184         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2185         (WebCore::StyleRareNonInheritedData::operator==):
2186         (WebCore::RenderStyle::RenderStyle):
2187         (WebCore::RenderStyle::diff):
2188         * rendering/RenderStyle.h:
2189         (WebCore::StyleTransformData::operator!=):
2190         (WebCore::RenderStyle::transformOriginX):
2191         (WebCore::RenderStyle::transformOriginY):
2192         (WebCore::RenderStyle::setTransformOriginX):
2193         (WebCore::RenderStyle::setTransformOriginY):
2194         (WebCore::RenderStyle::initialTransformOriginX):
2195         (WebCore::RenderStyle::initialTransformOriginY):
2196
2197 2007-10-16  Adele Peterson  <adele@apple.com>
2198
2199         Reviewed by Alice.
2200
2201         Fix for <rdar://problem/5538793> REGRESSION: Failing layout test: fast/forms/select-change-listbox-to-popup.html (due to landing feature branch)
2202
2203         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute):  When switching between types of select elements, call setRecalcListItems
2204           since recalcListItems updates the default selection in different ways for the different controls. 
2205
2206 2007-10-16  Alice Liu  <alice.liu@apple.com>
2207
2208         rubber-stamped by Darin.
2209
2210         flipping my previous fix around so that mac is special-cased instead of win.
2211
2212         * dom/Document.cpp:
2213         (WebCore::Document::defaultEventHandler):
2214
2215 2007-10-16  David Hyatt  <hyatt@apple.com>
2216
2217         Clean up transform parsing.  Fix a crash, ditch the extra parse context class, and use RefPtr/PassRefPtr more
2218         to simplify the code.
2219
2220         Reviewed by aroben
2221
2222         * css/CSSParser.cpp:
2223         (WebCore::CSSParser::parseValue):
2224         (WebCore::CSSParser::parseTransform):
2225         * css/CSSParser.h:
2226
2227 2007-10-16  Alice Liu  <alice.liu@apple.com>
2228
2229         Reviewed by Adele.
2230
2231         fixed <rdar://5085596> Accesskeys don't work
2232         
2233         * dom/Document.cpp:
2234         (WebCore::Document::defaultEventHandler):
2235         accesskey modifier is platform-depedent.
2236
2237 2007-10-15  Mark Rowe  <mrowe@apple.com>
2238
2239         Reviewed by John.
2240
2241         <rdar://problem/5494040> Reproducible assertion failure in WebCore::IconDatabase::iconForPageURL
2242
2243         A race condition between icon database import and Safari asking for an icon for the empty URL
2244         was resulting in a PageURLRecord being created for a URL that can never be retained.  By enforcing
2245         that PageURLRecord's cannot be created for the empty URL we can prevent the assertion from failing.
2246
2247         * loader/icon/IconDatabase.cpp:
2248         (WebCore::IconDatabase::iconForPageURL):
2249         (WebCore::IconDatabase::getOrCreatePageURLRecord): Bail out early if the URL is empty.
2250         (WebCore::IconDatabase::performURLImport): Don't create the PageURLRecord if the URL is empty.
2251
2252 2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
2253
2254         Reviewed by Ollie.
2255
2256         Use OwnPtr for m_deliveryData, and fix a bug where we were memmove()ing
2257         over m_deliveryData instead of its data buffer
2258
2259         * plugins/win/PluginStreamWin.cpp:
2260         (WebCore::PluginStreamWin::~PluginStreamWin): Don't delete
2261         m_deliveryData
2262         (WebCore::PluginStreamWin::deliverData): Fix memmove() call
2263         (WebCore::PluginStreamWin::didReceiveData): Assign using OwnPtr::set()
2264         * plugins/win/PluginStreamWin.h: Use OwnPtr
2265
2266 2007-10-15  Steve Falkenburg  <sfalken@apple.com>
2267
2268         Reviewed by Oliver.
2269
2270         Add missing null check.
2271
2272         * platform/network/cf/AuthenticationCF.cpp:
2273         (WebCore::core):
2274
2275 2007-10-15  Mark Rowe  <mrowe@apple.com>
2276
2277         Fix the no-SVG build again.  Add new transform CSS properties to the switch statements.
2278
2279         * css/CSSComputedStyleDeclaration.cpp:
2280         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2281         * css/CSSStyleSelector.cpp:
2282         (WebCore::CSSStyleSelector::applyProperty):
2283
2284 2007-10-15  Darin Adler  <darin@apple.com>
2285
2286         Reviewed by Mitz.
2287
2288         - http://bugs.webkit.org/show_bug.cgi?id=15518
2289           Remove the unused attemptFontSubstitution feature and do some
2290           cleanup of glyphDataForCharacter.
2291
2292         * platform/Font.h:
2293         * platform/Font.cpp:
2294         (WebCore::WidthIterator::advance): Eliminated uneeded attemptFontSubstitution
2295         and cluster parameters to the glyphDataForCharacter function.
2296         (WebCore::Font::glyphDataForCharacter): Removed the cluster parameter and
2297         attemptFontSubstitution parameter. Removed the isUpper check before calling
2298         toUpper in the small caps code path. Split up the inner loop into separate
2299         copies for non-small-caps and small caps. Broke out the system fallback
2300         page handling so it's not inside the loop. Changed system fallback so it uses
2301         the character and breaks it up into UTF-16 as needed, instead of using a
2302         passed-in "character cluster".
2303
2304         * platform/TextStyle.h:
2305         (WebCore::TextStyle::TextStyle): Removed attemptFontSubstitution.
2306         (WebCore::TextStyle::applyWordRounding): Ditto.
2307
2308 2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
2309
2310         Reviewed by Ollie.
2311
2312         Remove an operator precedence warning on Windows
2313
2314         * editing/markup.cpp:
2315         (WebCore::escapeContentText): Use (a) | (b)
2316         (WebCore::appendEscapedContent): Use (a) | (b)
2317
2318 2007-10-15  Kevin McCullough  <kmccullough@apple.com>
2319
2320         Reviewed by Darin.
2321
2322         - <rdar://problem/5238818> window.resizeTo doesn't restrict the resized window to the size of the screen
2323         - Now we take the doc into account when resizing.
2324         - Also I found an issue where we would resize to outside the window, because
2325           the resize would be smaller than the window size but the location of the
2326           window would make the resize go off-screen. Now we move the window back into the screen.
2327
2328         * bindings/js/kjs_window.cpp:
2329         (KJS::adjustWindowRect):
2330         (KJS::WindowFunc::callAsFunction):
2331
2332 2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
2333
2334         Reviewed by Anders.
2335
2336         <rdar://5510700> Repro crash loading embedded Windows Media Player
2337         content
2338
2339         Anders noticed that the older Windows Media Player plugin (npdsplay.dll)
2340         will crash if it receives its resource requests out of order, whereas we
2341         were immediately fulfilling untargeted, non-JavaScript requests and
2342         scheduling targeted or JavaScript resource requests. Implement his
2343         suggested fix, which is to schedule PluginRequests for all resource
2344         requests 
2345
2346         * plugins/win/PluginViewWin.cpp:
2347         (WebCore::getString):
2348         (WebCore::PluginViewWin::performRequest): If this non-JavaScript request
2349         has no target, create a stream for it
2350         (WebCore::PluginViewWin::load): Schedule PluginRequests for all resource
2351         requests
2352
2353 2007-10-15  Mark Rowe  <mrowe@apple.com>
2354
2355         Gtk and Qt build fix.  Add new .cpp file to project.
2356
2357         * WebCore.pro:
2358
2359 2007-10-15  John Sullivan  <sullivan@apple.com>
2360
2361         * platform/mac/FontDataMac.mm:
2362         D'oh! Added missing #import to fix build
2363
2364 2007-10-15  John Sullivan  <sullivan@apple.com>
2365
2366         Reviewed by Geoff
2367
2368         * platform/mac/FontDataMac.mm:
2369         (WebCore::FontData::smallCapsFontData):
2370         replace NS_DURING/NS_HANDLER with WebCore-style BEGIN/END_BLOCK_OBJC_EXCEPTIONS
2371
2372 2007-10-15  David Hyatt  <hyatt@apple.com>
2373
2374         The CSS WG has been discussing the concept of rotation.  In the latest draft specification, two properties
2375         have been introduced: rotation and rotation-point.  I believe these properties should be generalized to
2376         allow for arbitrary transformations (e.g., translation, skew, rotate, scale).
2377
2378         This patch adds support for the back-end parsing of two new CSS properties: transform and transform-origin.
2379         They are directly analogous to the properties specified by the CSS WG, except that they are designed to allow
2380         for arbitrary affine transforms rather than just rotation.
2381
2382         Reviewed by Beth Dakin
2383
2384         * WebCore.xcodeproj/project.pbxproj:
2385         * WebCore.vcproj/WebCore.vcproj:
2386         * css/CSSComputedStyleDeclaration.cpp:
2387         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2388         * css/CSSParser.cpp:
2389         (WebCore::CSSParser::parseValue):
2390         (WebCore::TransformParseContext:::m_list):
2391         (WebCore::TransformParseContext::list):
2392         (WebCore::TransformParseContext::failed):
2393         (WebCore::TransformParseContext::addValue):
2394         (WebCore::TransformOperationInfo::TransformOperationInfo):
2395         (WebCore::TransformOperationInfo::type):
2396         (WebCore::TransformOperationInfo::argCount):
2397         (WebCore::TransformOperationInfo::unit):
2398         (WebCore::TransformOperationInfo::unknown):
2399         (WebCore::TransformOperationInfo::hasCorrectArgCount):
2400         (WebCore::CSSParser::parseTransform):
2401         (WebCore::CSSParser::parseTransformOrigin):
2402         * css/CSSParser.h:
2403         * css/CSSPropertyNames.in:
2404         * css/CSSTransformValue.cpp: Added.
2405         (WebCore::CSSTransformValue::CSSTransformValue):
2406         (WebCore::CSSTransformValue::~CSSTransformValue):
2407         (WebCore::CSSTransformValue::addValue):
2408         (WebCore::CSSTransformValue::cssText):
2409         * css/CSSTransformValue.h: Added.
2410         (WebCore::CSSTransformValue::):
2411
2412 2007-10-15  Mark Rowe  <mrowe@apple.com>
2413
2414         Reviewed by Oliver.
2415
2416         Fix the no-SVG build.
2417
2418         * DerivedSources.make: Use the correct file as input to generate CSSPropertyNames.h.
2419         * rendering/RenderObject.cpp:
2420         (WebCore::objectIsRelayoutBoundary):
2421
2422 2007-10-15  Darin Adler  <darin@apple.com>
2423
2424         Reviewed by Sam.
2425
2426         - fix http://bugs.webkit.org/show_bug.cgi?id=15520
2427           alert(undefined) should say "undefined" in the alert
2428
2429         Test: fast/dom/Window/alert-undefined.html
2430
2431         * page/DOMWindow.idl: Remove ConvertUndefinedOrNullToNullString from alert, confirm, and prompt.
2432         It turns out that the default behavior is what the other browsers do (browsers tested: IE 7,
2433         Firefox 2).
2434
2435 2007-10-15  Adele Peterson  <adele@apple.com>
2436
2437         Reviewed by Darin.
2438
2439         Fix for http://bugs.webkit.org/show_bug.cgi?id=15252
2440         <rdar://problem/5498184> REGRESSION: <select multiple> doesn't scroll to top when old options are removed and new ones are added, leaving listbox empty-looking
2441
2442         * rendering/RenderListBox.cpp: (WebCore::RenderListBox::calcHeight): If the scrollbar is disabled, make sure the scroll offset gets reset to 0.  In general,
2443           we don't want to unnecessarily adjust the scroll offset, but in this case, there won't be an obvious way for the user to adjust the scroller position once it's disabled.
2444
2445 2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
2446
2447         Reviewed by Maciej.
2448
2449         Return a more appropriate error from NPN_RequestRange, which is
2450         currently unimplemented
2451
2452         * plugins/win/npapi.cpp: return NPERR_STREAM_NOT_SEEKABLE 
2453         (NPN_RequestRead):
2454
2455 2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
2456
2457         Reviewed by Maciej.
2458
2459         Add a missing function pointer to the m_browserFuncs structure
2460
2461         * plugins/win/PluginPackageWin.cpp:
2462         (WebCore::PluginPackageWin::load):
2463
2464 2007-10-15  Simon Hausmann  <hausmann@kde.org>
2465
2466         Reviewed by Lars.
2467
2468         Fix the compilation of the Font code in the Qt port by adding the necessary stubs to support downloadable fonts through the @font-face rules.
2469
2470         * WebCore.pro:
2471         * loader/CachedFont.cpp:
2472         * platform/qt/FontCacheQt.cpp: Removed.
2473         * platform/qt/FontCustomPlatformData.cpp: Removed.
2474         * platform/qt/FontCustomPlatformData.h: Removed.
2475         * platform/qt/FontDataQt.cpp: Removed.
2476         * platform/qt/FontPlatformData.h: Removed.
2477         * platform/qt/FontQt.cpp:
2478         * platform/qt/GlyphPageTreeNodeQt.cpp: Removed.
2479
2480 2007-10-15  Simon Hausmann  <hausmann@kde.org>
2481
2482         Reviewed by Lars.
2483
2484         Adapt to the latest API changes in the SVG API/Code.
2485
2486         * platform/graphics/svg/qt/RenderPathQt.cpp:
2487         (WebCore::RenderPath::strokeContains):
2488         (WebCore::getPathStroke):
2489         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
2490         (WebCore::SVGPaintServer::setPenProperties):
2491         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
2492
2493 2007-10-14  Nikolas Zimmermann  <zimmermann@kde.org>
2494
2495         Reviewed by Eric.
2496
2497         Fix bad abstraction in ImageBuffer class.
2498         While the class itself is platform-aware and thus it's location in platform/graphics
2499         is fine, it contains the "renderSubtreeToImage" method which operates on RenderObject.
2500
2501         As it's SVG specific I decided to move this method into SVGRenderSupport, to avoid
2502         implicit platform/ <-> rendering/ dependencies.
2503
2504         * WebCore.pro:
2505         * WebCore.vcproj/WebCore.vcproj:
2506         * WebCore.xcodeproj/project.pbxproj:
2507         * ksvg2/svg/SVGMaskElement.cpp:
2508         (WebCore::SVGMaskElement::drawMaskerContent):
2509         * ksvg2/svg/SVGPatternElement.cpp:
2510         (WebCore::SVGPatternElement::buildPattern):
2511         * platform/graphics/ImageBuffer.cpp: Removed.
2512         * platform/graphics/ImageBuffer.h:
2513         (WebCore::ImageBuffer::size):
2514         * platform/graphics/svg/SVGImage.cpp:
2515         (WebCore::SVGImage::nativeImageForCurrentFrame):
2516         * rendering/SVGRenderSupport.cpp:
2517         (WebCore::renderSubtreeToImage):
2518         * rendering/SVGRenderSupport.h:
2519
2520 2007-10-14  Peter Kasting  <zerodpx@gmail.com>
2521
2522         Reviewed by Maciej.
2523
2524         http://bugs.webkit.org/show_bug.cgi?id=15210
2525         Draw the image outline even for broken images.
2526
2527         * rendering/RenderImage.cpp:
2528         (WebCore::RenderImage::paint):
2529
2530 2007-10-14  Kevin Ollivier  <kevino@theolliviers.com>
2531
2532         Reviewed by Adam.
2533
2534         Add support for MSVC7, and fix cases where PLATFORM(WIN) should
2535         be PLATFORM(WIN_OS) for other ports building on Windows.
2536
2537         * dom/XMLTokenizer.cpp:
2538         * page/FrameTree.cpp:
2539         * platform/StaticConstructors.h:
2540         * platform/String.cpp:
2541
2542 2007-10-14  Maxime Britto  <mbritto@pleyo.com>
2543
2544         Reviewed by Mitz.
2545
2546         Fix an error in the goBackOrForward() function : confusion between forwardListCount and backListCount.
2547         http://bugs.webkit.org/show_bug.cgi?id=15212
2548
2549         * loader/FrameLoader.cpp:
2550         (WebCore::FrameLoader::goBackOrForward):
2551
2552 2007-10-14  Mitz Pettel  <mitz@webkit.org>
2553
2554         Reviewed by Darin.
2555
2556         - fix http://bugs.webkit.org/show_bug.cgi?id=15181
2557           text-transform: uppercase not working in input (submit, reset, button) elements
2558           <rdar://problem/5474647>
2559
2560         Test: fast/forms/button-text-transform.html
2561
2562         Text transformations require access to the original text. The button's inner
2563         text was an anonymous RenderText, meaning it did not have a node to retrieve
2564         the original text from. The patch fixes this by changing the inner text into a
2565         RenderTextFragment, which stores its own original text.
2566
2567         * rendering/RenderButton.cpp:
2568         (WebCore::RenderButton::setText):
2569         * rendering/RenderButton.h:
2570
2571 2007-10-14  Eric Seidel  <eric@webkit.org>
2572
2573         Reviewed by Maciej.
2574
2575         REGRESSION: Javascript bug in getElementsByName
2576         http://bugs.webkit.org/show_bug.cgi?id=15274
2577
2578         Test: fast/dom/getelementbyname-invalidation.html
2579
2580         * dom/NameNodeList.h: remove empty rootNodeChildrenChanged override
2581
2582 2007-10-14  Mitz Pettel  <mitz@webkit.org>
2583
2584         Reviewed by Maciej.
2585
2586         - http://bugs.webkit.org/show_bug.cgi?id=15303
2587           Remove now-redundant code to restore dialog arguments after clear
2588
2589         This patch reverts the kjs_window.* parts of r25576 because following
2590         r25783, window properties, including dialog arguments, are not cleared
2591         when the newly created modal dialog transitions to the document.
2592
2593         * bindings/js/kjs_window.cpp:
2594         (KJS::WindowPrivate::WindowPrivate):
2595         (KJS::createWindow):
2596         (KJS::showModalDialog):
2597         (KJS::Window::clear):
2598         (KJS::WindowFunc::callAsFunction):
2599         (KJS::Window::setReturnValueSlot):
2600         * bindings/js/kjs_window.h:
2601
2602 2007-10-14  Mitz Pettel  <mitz@webkit.org>
2603
2604         Reviewed by Dave Hyatt.
2605
2606         - fix http://bugs.webkit.org/show_bug.cgi?id=15309
2607           <rdar://problem/5512020> Crash due to infinite recursion in RenderTable::addChild
2608
2609         Test: fast/table/generated-caption.html
2610
2611         * rendering/RenderTable.cpp:
2612         (WebCore::RenderTable::addChild): Changed to make sure that the child is
2613         not added into generated after content. Also made adding a child before
2614         a table caption work correctly instead of adding the child after the caption.
2615
2616 2007-10-14  Peter Kasting  <zerodpx@gmail.com>
2617
2618         Reviewed by Maciej.
2619
2620         http://bugs.webkit.org/show_bug.cgi?id=15141
2621         Feed GIF reader data from the point in the stream it expects.  Also,
2622         mirror the reader's failure state up to the wrapping decoder.
2623
2624         * platform/image-decoders/gif/GIFImageReader.cpp:
2625         (GIFImageReader::read):
2626
2627 2007-10-14  Peter Kasting  <zerodpx@gmail.com>
2628
2629         Reviewed by Maciej.
2630
2631         http://bugs.webkit.org/show_bug.cgi?id=15142
2632         Return correct frame count in GIFImageDecoder::frameBufferAtIndex(),
2633         even if more data has arrived since the last decoding pass.
2634
2635         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2636         (WebCore::GIFImageDecoder::frameBufferAtIndex):
2637
2638 == Rolled over to ChangeLog-2007-10-14 ==