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