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