Other wx port fixes needed to restore the build bot.
[WebKit.git] / WebCore / ChangeLog
1 2007-11-30  Kevin Ollivier  <kevino@theolliviers.com>
2
3         Build fix for wx port. Adding editing/RemoveFormatCommand.cpp
4
5         * WebCoreSources.bkl:
6
7 2007-11-30  Simon Hausmann  <hausmann@webkit.org>
8
9         Reviewed by Adam Roben.
10
11         Fix the build with DATABASE=0.
12
13         * page/Settings.cpp:
14         (WebCore::Settings::setDefaultDatabaseOriginQuota):
15         (WebCore::Settings::defaultDatabaseOriginQuota):
16
17 2007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
18
19         Rubber stamped by Darin.
20
21         Fix misplaced file. The name "FontStyle" is not correct though - it probably
22         needs yet another move - but this time inside platform/graphics - as soon
23         as we agree on a better name.
24
25         * WebCore.xcodeproj/project.pbxproj:
26         * platform/graphics/FontStyle.h: Copied from platform/text/FontStyle.h.
27         * platform/text/FontStyle.h: Removed.
28
29 2007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
30
31         Reviewed by Sam.
32
33         Rename "FontStyle FontStyle(...)" to "FontStyle fontStyle(...)".
34         I scripted a bit too much while doing the TextStyle -> FontStyle change.
35
36         * platform/win/PopupMenuWin.cpp:
37         (WebCore::PopupMenu::paint):
38         * rendering/EllipsisBox.cpp:
39         (WebCore::EllipsisBox::paint):
40         * rendering/RenderFileUploadControl.cpp:
41         (WebCore::RenderFileUploadControl::paintObject):
42         * rendering/RenderListBox.cpp:
43         (WebCore::RenderListBox::updateFromElement):
44         (WebCore::RenderListBox::paintItemForeground):
45         * rendering/RenderTextControl.cpp:
46         (WebCore::RenderTextControl::setStyle):
47         (WebCore::RenderTextControl::createInnerTextStyle):
48         (WebCore::RenderTextControl::createSubtreeIfNeeded):
49         * rendering/RenderTextControl.h:
50         * rendering/SVGRootInlineBox.cpp:
51         (WebCore::svgFontStyleForInlineTextBox):
52
53 2007-11-30  Alp Toker  <alp@atoker.com>
54
55         GTK+ build fix following the recent text reorganization.
56
57         * WebCore.pro:
58
59 2007-11-29  Jon Honeycutt  <jhoneycutt@apple.com>
60
61         Reviewed by Adam.
62
63         Part of <rdar://problem/5506522> Seed: cannot type into text box in
64         Facebook, don't see plugin content (Adobe Flash)
65
66         * plugins/win/PluginViewWin.cpp:
67         (WebCore::PluginViewWin::handleMouseEvent): Focus the plugin's parent
68         frame  
69
70 2007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
71
72         Not reviewed. Trying to fix gtk/qt/wx build. (I expected problems because of the moves)
73
74         * WebCore.pro:
75         * webcore-base.bkl:
76
77 2007-11-30  Nikolas Zimmermann  <zimmermann@kde.org>
78
79         Rubber stamped by Brady.
80
81         Started platform reorganization (platform/text addition).
82         Moving string/text/font related classes into new places - as discussed on webkit-dev.
83
84         In a follow-up commit I'll move classes out of platform/{mac,win,...} into
85         platform/text/{mac,win,...}, and also do the ksvg2/ -> svg/ move.
86
87         * WebCore.order:
88         * WebCore.pro:
89         * WebCore.vcproj/WebCore.vcproj:
90         * WebCore.xcodeproj/project.pbxproj:
91         * WebCoreSources.bkl:
92         * editing/ReplaceSelectionCommand.cpp:
93         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
94         * platform/AtomicString.cpp: Removed.
95         * platform/AtomicString.h: Removed.
96         * platform/AtomicStringImpl.h: Removed.
97         * platform/Base64.cpp: Removed.
98         * platform/Base64.h: Removed.
99         * platform/BidiContext.cpp: Removed.
100         * platform/BidiContext.h: Removed.
101         * platform/BidiResolver.h: Removed.
102         * platform/CString.cpp: Removed.
103         * platform/CString.h: Removed.
104         * platform/CharacterNames.h: Removed.
105         * platform/CharsetData.h: Removed.
106         * platform/Font.cpp: Removed.
107         * platform/Font.h: Removed.
108         * platform/FontCache.cpp: Removed.
109         * platform/FontCache.h: Removed.
110         * platform/FontData.cpp: Removed.
111         * platform/FontData.h: Removed.
112         * platform/FontDescription.h: Removed.
113         * platform/FontFallbackList.cpp: Removed.
114         * platform/FontFallbackList.h: Removed.
115         * platform/FontFamily.cpp: Removed.
116         * platform/FontFamily.h: Removed.
117         * platform/FontSelector.h: Removed.
118         * platform/GlyphBuffer.h: Removed.
119         * platform/GlyphPageTreeNode.cpp: Removed.
120         * platform/GlyphPageTreeNode.h: Removed.
121         * platform/GlyphWidthMap.cpp: Removed.
122         * platform/GlyphWidthMap.h: Removed.
123         * platform/PlatformString.h: Removed.
124         * platform/RegularExpression.cpp: Removed.
125         * platform/RegularExpression.h: Removed.
126         * platform/SegmentedString.cpp: Removed.
127         * platform/SegmentedString.h: Removed.
128         * platform/String.cpp: Removed.
129         * platform/StringHash.h: Removed.
130         * platform/StringImpl.cpp: Removed.
131         * platform/StringImpl.h: Removed.
132         * platform/StringTruncator.cpp: Removed.
133         * platform/StringTruncator.h: Removed.
134         * platform/TextBoundaries.h: Removed.
135         * platform/TextBoundariesICU.cpp: Removed.
136         * platform/TextBreakIterator.h: Removed.
137         * platform/TextBreakIteratorICU.cpp: Removed.
138         * platform/TextBreakIteratorInternalICU.h: Removed.
139         * platform/TextCodec.cpp: Removed.
140         * platform/TextCodec.h: Removed.
141         * platform/TextCodecICU.cpp: Removed.
142         * platform/TextCodecICU.h: Removed.
143         * platform/TextCodecLatin1.cpp: Removed.
144         * platform/TextCodecLatin1.h: Removed.
145         * platform/TextCodecUTF16.cpp: Removed.
146         * platform/TextCodecUTF16.h: Removed.
147         * platform/TextCodecUserDefined.cpp: Removed.
148         * platform/TextCodecUserDefined.h: Removed.
149         * platform/TextDecoder.cpp: Removed.
150         * platform/TextDecoder.h: Removed.
151         * platform/TextDirection.h: Removed.
152         * platform/TextEncoding.cpp: Removed.
153         * platform/TextEncoding.h: Removed.
154         * platform/TextEncodingRegistry.cpp: Removed.
155         * platform/TextEncodingRegistry.h: Removed.
156         * platform/TextStream.cpp: Removed.
157         * platform/TextStream.h: Removed.
158         * platform/TextStyle.h: Removed.
159         * platform/UnicodeRange.cpp: Removed.
160         * platform/UnicodeRange.h: Removed.
161         * platform/graphics/Font.cpp: Copied from platform/Font.cpp.
162         (WebCore::WidthIterator::WidthIterator):
163         (WebCore::Font::width):
164         (WebCore::Font::drawSimpleText):
165         (WebCore::Font::drawGlyphBuffer):
166         (WebCore::Font::drawText):
167         (WebCore::Font::floatWidth):
168         (WebCore::Font::floatWidthForSimpleText):
169         (WebCore::Font::selectionRectForText):
170         (WebCore::Font::selectionRectForSimpleText):
171         (WebCore::Font::offsetForPosition):
172         (WebCore::Font::offsetForPositionForSimpleText):
173         * platform/graphics/Font.h: Copied from platform/Font.h.
174         * platform/graphics/FontCache.cpp: Copied from platform/FontCache.cpp.
175         * platform/graphics/FontCache.h: Copied from platform/FontCache.h.
176         * platform/graphics/FontData.cpp: Copied from platform/FontData.cpp.
177         * platform/graphics/FontData.h: Copied from platform/FontData.h.
178         * platform/graphics/FontDescription.h: Copied from platform/FontDescription.h.
179         * platform/graphics/FontFallbackList.cpp: Copied from platform/FontFallbackList.cpp.
180         * platform/graphics/FontFallbackList.h: Copied from platform/FontFallbackList.h.
181         * platform/graphics/FontFamily.cpp: Copied from platform/FontFamily.cpp.
182         * platform/graphics/FontFamily.h: Copied from platform/FontFamily.h.
183         * platform/graphics/FontSelector.h: Copied from platform/FontSelector.h.
184         * platform/graphics/GlyphBuffer.h: Copied from platform/GlyphBuffer.h.
185         * platform/graphics/GlyphPageTreeNode.cpp: Copied from platform/GlyphPageTreeNode.cpp.
186         * platform/graphics/GlyphPageTreeNode.h: Copied from platform/GlyphPageTreeNode.h.
187         * platform/graphics/GlyphWidthMap.cpp: Copied from platform/GlyphWidthMap.cpp.
188         * platform/graphics/GlyphWidthMap.h: Copied from platform/GlyphWidthMap.h.
189         * platform/graphics/GraphicsContext.cpp:
190         (WebCore::GraphicsContext::drawText):
191         (WebCore::GraphicsContext::drawBidiText):
192         (WebCore::GraphicsContext::drawHighlightForText):
193         * platform/graphics/GraphicsContext.h:
194         * platform/graphics/StringTruncator.cpp: Copied from platform/StringTruncator.cpp.
195         (WebCore::stringWidth):
196         * platform/graphics/StringTruncator.h: Copied from platform/StringTruncator.h.
197         * platform/graphics/qt/GraphicsContextQt.cpp:
198         * platform/gtk/FontGtk.cpp:
199         (WebCore::Font::drawComplexText):
200         (WebCore::Font::floatWidthForComplexText):
201         (WebCore::Font::offsetForPositionForComplexText):
202         (WebCore::Font::selectionRectForComplexText):
203         * platform/mac/FontMac.mm:
204         (WebCore::ATSULayoutParameters::ATSULayoutParameters):
205         (WebCore::Font::selectionRectForComplexText):
206         (WebCore::Font::drawComplexText):
207         (WebCore::Font::floatWidthForComplexText):
208         (WebCore::Font::offsetForPositionForComplexText):
209         * platform/mac/WebCoreTextRenderer.mm:
210         (WebCoreDrawTextAtPoint):
211         (WebCoreTextFloatWidth):
212         * platform/qt/FontQt.cpp:
213         (WebCore::generateComponents):
214         (WebCore::Font::drawText):
215         (WebCore::Font::width):
216         (WebCore::Font::floatWidth):
217         (WebCore::Font::offsetForPosition):
218         (WebCore::cursorToX):
219         (WebCore::Font::selectionRectForText):
220         * platform/text: Added.
221         * platform/text/AtomicString.cpp: Copied from platform/AtomicString.cpp.
222         * platform/text/AtomicString.h: Copied from platform/AtomicString.h.
223         * platform/text/AtomicStringImpl.h: Copied from platform/AtomicStringImpl.h.
224         * platform/text/Base64.cpp: Copied from platform/Base64.cpp.
225         * platform/text/Base64.h: Copied from platform/Base64.h.
226         * platform/text/BidiContext.cpp: Copied from platform/BidiContext.cpp.
227         * platform/text/BidiContext.h: Copied from platform/BidiContext.h.
228         * platform/text/BidiResolver.h: Copied from platform/BidiResolver.h.
229         * platform/text/CString.cpp: Copied from platform/CString.cpp.
230         * platform/text/CString.h: Copied from platform/CString.h.
231         * platform/text/CharacterNames.h: Copied from platform/CharacterNames.h.
232         * platform/text/FontStyle.h: Copied from platform/TextStyle.h.
233         (WebCore::FontStyle::FontStyle):
234         * platform/text/PlatformString.h: Copied from platform/PlatformString.h.
235         * platform/text/RegularExpression.cpp: Copied from platform/RegularExpression.cpp.
236         * platform/text/RegularExpression.h: Copied from platform/RegularExpression.h.
237         * platform/text/SegmentedString.cpp: Copied from platform/SegmentedString.cpp.
238         * platform/text/SegmentedString.h: Copied from platform/SegmentedString.h.
239         * platform/text/String.cpp: Copied from platform/String.cpp.
240         * platform/text/StringHash.h: Copied from platform/StringHash.h.
241         * platform/text/StringImpl.cpp: Copied from platform/StringImpl.cpp.
242         * platform/text/StringImpl.h: Copied from platform/StringImpl.h.
243         * platform/text/TextBoundaries.h: Copied from platform/TextBoundaries.h.
244         * platform/text/TextBoundariesICU.cpp: Copied from platform/TextBoundariesICU.cpp.
245         (WebCore::findNextWordFromIndex):
246         * platform/text/TextBreakIterator.h: Copied from platform/TextBreakIterator.h.
247         * platform/text/TextBreakIteratorICU.cpp: Copied from platform/TextBreakIteratorICU.cpp.
248         * platform/text/TextBreakIteratorInternalICU.h: Copied from platform/TextBreakIteratorInternalICU.h.
249         * platform/text/TextCodec.cpp: Copied from platform/TextCodec.cpp.
250         * platform/text/TextCodec.h: Copied from platform/TextCodec.h.
251         * platform/text/TextCodecICU.cpp: Copied from platform/TextCodecICU.cpp.
252         * platform/text/TextCodecICU.h: Copied from platform/TextCodecICU.h.
253         * platform/text/TextCodecLatin1.cpp: Copied from platform/TextCodecLatin1.cpp.
254         * platform/text/TextCodecLatin1.h: Copied from platform/TextCodecLatin1.h.
255         * platform/text/TextCodecUTF16.cpp: Copied from platform/TextCodecUTF16.cpp.
256         * platform/text/TextCodecUTF16.h: Copied from platform/TextCodecUTF16.h.
257         * platform/text/TextCodecUserDefined.cpp: Copied from platform/TextCodecUserDefined.cpp.
258         * platform/text/TextCodecUserDefined.h: Copied from platform/TextCodecUserDefined.h.
259         * platform/text/TextDecoder.cpp: Copied from platform/TextDecoder.cpp.
260         * platform/text/TextDecoder.h: Copied from platform/TextDecoder.h.
261         * platform/text/TextDirection.h: Copied from platform/TextDirection.h.
262         * platform/text/TextEncoding.cpp: Copied from platform/TextEncoding.cpp.
263         * platform/text/TextEncoding.h: Copied from platform/TextEncoding.h.
264         * platform/text/TextEncodingRegistry.cpp: Copied from platform/TextEncodingRegistry.cpp.
265         * platform/text/TextEncodingRegistry.h: Copied from platform/TextEncodingRegistry.h.
266         * platform/text/TextStream.cpp: Copied from platform/TextStream.cpp.
267         * platform/text/TextStream.h: Copied from platform/TextStream.h.
268         * platform/text/UnicodeRange.cpp: Copied from platform/UnicodeRange.cpp.
269         * platform/text/UnicodeRange.h: Copied from platform/UnicodeRange.h.
270         * platform/text/mac: Added.
271         * platform/text/mac/CharsetData.h: Copied from platform/CharsetData.h.
272         * platform/win/FontWin.cpp:
273         (WebCore::Font::selectionRectForComplexText):
274         (WebCore::Font::drawComplexText):
275         (WebCore::Font::floatWidthForComplexText):
276         (WebCore::Font::offsetForPositionForComplexText):
277         * platform/win/PopupMenuWin.cpp:
278         (WebCore::PopupMenu::paint):
279         * platform/win/UniscribeController.cpp:
280         (WebCore::UniscribeController::UniscribeController):
281         * platform/win/UniscribeController.h:
282         * platform/win/WebCoreTextRenderer.cpp:
283         (WebCore::doDrawTextAtPoint):
284         * platform/wx/FontWx.cpp:
285         (WebCore::Font::selectionRectForComplexText):
286         (WebCore::Font::drawComplexText):
287         (WebCore::Font::floatWidthForComplexText):
288         (WebCore::Font::offsetForPositionForComplexText):
289         * rendering/EllipsisBox.cpp:
290         (WebCore::EllipsisBox::paint):
291         * rendering/InlineTextBox.cpp:
292         (WebCore::InlineTextBox::selectionRect):
293         (WebCore::InlineTextBox::paint):
294         (WebCore::InlineTextBox::paintSelection):
295         (WebCore::InlineTextBox::paintCompositionBackground):
296         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
297         (WebCore::InlineTextBox::paintTextMatchMarker):
298         (WebCore::InlineTextBox::offsetForPosition):
299         (WebCore::InlineTextBox::positionForOffset):
300         * rendering/RenderFileUploadControl.cpp:
301         (WebCore::RenderFileUploadControl::paintObject):
302         (WebCore::RenderFileUploadControl::calcPrefWidths):
303         * rendering/RenderImage.cpp:
304         * rendering/RenderListBox.cpp:
305         (WebCore::RenderListBox::updateFromElement):
306         (WebCore::RenderListBox::paintItemForeground):
307         * rendering/RenderMenuList.cpp:
308         (WebCore::RenderMenuList::updateOptionsWidth):
309         * rendering/RenderText.cpp:
310         (WebCore::RenderText::widthFromCache):
311         (WebCore::RenderText::calcPrefWidths):
312         (WebCore::RenderText::width):
313         * rendering/RenderTextControl.cpp:
314         (WebCore::RenderTextControl::setStyle):
315         (WebCore::RenderTextControl::createInnerFontStyle):
316         (WebCore::RenderTextControl::createSubtreeIfNeeded):
317         (WebCore::RenderTextControl::calcPrefWidths):
318         * rendering/RenderTextControl.h:
319         * rendering/SVGInlineTextBox.cpp:
320         (WebCore::SVGInlineTextBox::calculateGlyphWidth):
321         (WebCore::SVGInlineTextBox::paintCharacters):
322         (WebCore::SVGInlineTextBox::paintSelection):
323         * rendering/SVGRootInlineBox.cpp:
324         (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
325         (WebCore::svgFontStyleForInlineTextBox):
326         * rendering/SVGRootInlineBox.h:
327
328 2007-11-30  Adele Peterson  <adele@apple.com>
329
330         Reviewed by Darin.
331
332         Fix for http://bugs.webkit.org/show_bug.cgi?id=16072
333         <rdar://problem/5463821> REGRESSION: Mousemove event isn't fired when mouse moves over scrollbar with pressed button (16072)
334
335         Test: fast/events/mousemove-after-drag-over-scrollbar.html
336
337         * page/EventHandler.cpp:
338         (WebCore::EventHandler::handleMouseMoveEvent): If the mouse is pressed, and we've moved over a new scrollbar, then we can clear m_lastScrollbarUnderMouse.
339          We should only need to show the hover effect when the mouse isn't pressed.
340
341 2007-11-29  Brady Eidson <beidson@apple.com>
342
343         Reviewed by Tim
344
345         Part of <rdar://problem/5556377> - Need to accurately track and enforce database quota
346
347         SQLite has the ability to enforce the page usage for databases.  This gives us bulletproof
348         enforcement of the database size limit with reasonable granularity (within 1023 bytes by 
349         default on OS X with SQLite 3.4.0)
350
351         This also involved enhancing the ability to install/remove the authorizer to run the PRAGMA
352         statements involved
353
354         Note this patch does not actually use the new maximumSize() functionality of the 
355         SQLiteDatabase class - that can be reviewed/landed seperately
356         
357         * platform/sql/SQLiteDatabase.cpp:
358         (WebCore::SQLiteDatabase::SQLiteDatabase): 
359         (WebCore::SQLiteDatabase::maximumSize): Return the current maximum size in bytes
360         (WebCore::SQLiteDatabase::setMaximumSize): Based on m_pageSize, set the maximum page count
361           to enforce the maximum size in bytes
362         (WebCore::SQLiteDatabase::pageSize): Fetch m_pageSize if it hasn't been fetched, or return
363           the cached value
364         (WebCore::SQLiteDatabase::setAuthorizer): Use enableAuthorizer for the sqlite_* level 
365           authorizer setup
366         (WebCore::SQLiteDatabase::enableAuthorizer): Install or remove the sqlite authorizer handler
367         * platform/sql/SQLiteDatabase.h: Add the m_pageSize member so we only have to fetch it once
368
369 2007-11-29  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
370
371         Reviewed by Maciej.
372
373         * Fix fast/events/mousedown_in_scrollbar.html
374         * This test used to crash in PlatformScrollbarQt::mouse*Event due parent() returning 0.
375         * Extend the current check that the scrollbar in the mev can be go away.
376         This happens if we destroy a RenderLayer as the result of a click. In the
377         case of Qt we can have this scrollbar in m_lastScrollbarUnderMouse. The RenderLayer
378         is the ScrollbarClient, m_lastScrollbarUnderMouse is a RefPtr and keeps the
379         last reference. When calling into this scrollbar the m_client pointer is a dangling pointer.
380         We extend the check to set m_lastScrollbarUnderMouse back to zero when it was the
381         scrollbar in the old mev and is gone in the new one.
382         * This happens only on the Qt port because we send more/different move events.
383
384         * page/EventHandler.cpp:
385         (WebCore::EventHandler::handleMousePressEvent):
386
387 2007-11-29  Antti Koivisto  <antti@apple.com>
388
389         Reviewed by Mitz.
390
391         Fix aspect ratio calculation of video.
392         
393         Video should always be treated as a replaced element in size calculation.
394         
395         Test: media/video-aspect-ratio.html
396
397         * rendering/RenderBox.cpp:
398         (WebCore::RenderBox::calcWidth):
399         (WebCore::RenderBox::calcHeight):
400         * rendering/RenderBox.h:
401         (WebCore::RenderBox::shouldCalculateSizeAsReplaced):
402         * rendering/RenderMedia.h:
403         (WebCore::RenderMedia::shouldCalculateSizeAsReplaced):
404
405 2007-11-29  Sam Weinig  <sam@webkit.org>
406
407         Reviewed by Oliver.
408
409         Additional fix for <rdar://problem/5592988> / http://bugs.webkit.org/show_bug.cgi?id=15936
410         - More closely match IE's policy for frame navigation.
411
412         * bindings/js/kjs_window.cpp:
413         (KJS::WindowProtoFuncOpen::callAsFunction):
414         * loader/FrameLoader.cpp:
415         (WebCore::FrameLoader::shouldAllowNavigation):
416         * page/FrameTree.cpp:
417         (WebCore::FrameTree::top):
418         * page/FrameTree.h:
419
420 2007-11-29  Dan Bernstein  <mitz@apple.com>
421
422         Reviewed by Adam Roben and John Sullivan.
423
424         - make the recent searches popup extend only along the straight part of
425           the search field (unless it needs to be wider).
426
427         * platform/PopupMenuClient.h:
428           Added clientInsetLeft() and clientInsetRight() for clients to
429           specify desired horizontal insets for the menu.
430         * platform/win/PopupMenuWin.cpp:
431         (WebCore::PopupMenu::calculatePositionAndSize):
432         (WebCore::PopupMenu::paint):
433         * rendering/RenderMenuList.cpp:
434         (WebCore::RenderMenuList::clientInsetLeft): Added. Returns 0.
435         (WebCore::RenderMenuList::clientInsetRight): Ditto.
436         * rendering/RenderMenuList.h:
437         * rendering/RenderTextControl.cpp:
438         (WebCore::RenderTextControl::clientInsetLeft): Added. Returns half the
439         control's height, which is the radius of the cap on the left.
440         (WebCore::RenderTextControl::clientInsetRight): Added.
441         * rendering/RenderTextControl.h:
442
443 2007-11-30  Alp Toker  <alp@atoker.com>
444
445         Reviewed by Maciej.
446
447         http://bugs.webkit.org/show_bug.cgi?id=16173
448         Licensing change
449
450         Change license from BSD to LGPL.
451
452         This is being done to encourage vendors to contribute their fixes back
453         upstream.
454
455         * platform/graphics/gtk/ColorGtk.cpp:
456         * platform/graphics/gtk/IntPointGtk.cpp:
457         * platform/graphics/gtk/IntRectGtk.cpp:
458         * platform/graphics/svg/cairo/RenderPathCairo.cpp:
459         * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp:
460         * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
461         * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp:
462         * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
463         * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp:
464         * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp:
465         * platform/gtk/Language.cpp:
466         * platform/gtk/LoggingGtk.cpp:
467         * platform/gtk/SoundGtk.cpp:
468         * platform/gtk/SystemTimeGtk.cpp:
469         * platform/gtk/TextBreakIteratorInternalICUGtk.cpp:
470
471 2007-11-29  Darin Adler  <darin@apple.com>
472
473         Reviewed by Adele.
474
475         - fix http://bugs.webkit.org/show_bug.cgi?id=16191
476           REGRESSION: cannot tab to radio input after setting checked to false
477
478         Test: fast/forms/input-radio-checked-tab.html
479
480         * html/HTMLFormElement.cpp:
481         (WebCore::HTMLFormElement::CheckedRadioButtons::addButton): Fix this code
482         so that it doesn't call setChecked(false) until after the map has been updated.
483         Otherwise, we can end up deallocating the map before manipulating it. As long
484         as I was changing the function, I decided to make it do only a single hash
485         table lookup.
486
487         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked):
488         Remove the button from the radio buttons set before changing the checked
489         state. This matches the idiom used elsewhere and fixes the problem where
490         setting checked to false would not remove it from the set.
491
492 2007-11-29  Justin Garcia  <justin.garcia@apple.com>
493
494         Reviewed by Darin Adler.
495
496         <rdar://problem/5620093> Brief hang when Safari caches page text of XML document
497
498         * editing/TextIterator.cpp:
499         (WebCore::TextIterator::representNodeOffsetZero): When we haven't been emitting any 
500         characters, shouldRepresentNodeOffsetZero() can create VisiblePositions, which is
501         expensive.  So, we perform the inexpensive checks on m_node to see if it necessitates 
502         emitting a character first and will early return before encountering 
503         shouldRepresentNodeOffsetZero()s worse case behavior.
504
505 2007-11-29  Anders Carlsson  <andersca@apple.com>
506
507         Reviewed by Sam.
508
509         Don't install event handlers or set the zoom cursor if auto-shrink has been disabled.
510
511         * loader/ImageDocument.cpp:
512         (WebCore::ImageDocument::createDocumentStructure):
513         (WebCore::ImageDocument::imageChanged):
514
515 2007-11-29  Beth Dakin  <bdakin@apple.com>
516
517         Reviewed by Geoff.
518
519         Fix for <rdar://problem/5620151> Disable JavaScript for SVG as 
520         image for <img> and CSS images
521
522         * platform/graphics/svg/SVGImage.cpp:
523         (WebCore::SVGImage::dataChanged): When we create the empty clients, 
524         explicitly disable JavaScript in the settings.
525
526 2007-11-29  Brady Eidson  <beidson@apple.com>
527
528         Reviewed by Anders
529
530         Support for <rdar://problem/5556381> and <rdar://problem/5556379>
531
532         The Database feature in the engine needs to support delegate calls for policy decisions and
533         also provide notifications when origins and databases change their state.
534
535         This patch also polishes off the missing features of the management API
536
537         * page/Chrome.cpp: Implement the two UIDelegate methods
538         (WebCore::Chrome::requestQuotaIncreaseForNewDatabase): Ask for more space to create a new database if it won't fit
539         (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation): Ask for more space to complete an in-progress operation
540         * page/Chrome.h:
541         * page/ChromeClient.h:
542         * platform/graphics/svg/SVGImageEmptyClients.h:
543         (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase):
544         (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation):
545
546         * storage/Database.cpp:
547         (WebCore::Database::openDatabase): Check to see if this database can be opened - the quota must be high 
548           enough and if it isn't, the UIDelegate should have a change to bump the quota.
549           Also update the UI-relevant details (display name and estimated size) upon successful opening of the database
550
551         * storage/DatabaseDetails.h: Remove the version parameter as it is a programatic detail of a
552           site database and is not important to API clients
553         (WebCore::DatabaseDetails::DatabaseDetails):
554         (WebCore::DatabaseDetails::isValid):
555         (WebCore::DatabaseDetails::name):
556
557         * storage/DatabaseTracker.cpp:
558         (WebCore::DatabaseTracker::openTrackerDatabase): Tweaked the schema here - there was a horrible bug with the old schema that would
559           prevent you from having two databases of the same name from two different origins.  Also simplify the origin-management schema
560         (WebCore::DatabaseTracker::canEstablishDatabase): Added.  Does some estimated size vs quota checks, and asks the UI delegate for 
561           more space if necessary
562         (WebCore::DatabaseTracker::hasEntryForOrigin):
563         (WebCore::DatabaseTracker::establishEntryForOrigin): Establishes a tracker entry for the given origin with the current default quota
564           Also notifies the client of the new origin
565         (WebCore::DatabaseTracker::setDatabaseDetails): Update the display name and estimated size for the given database
566         (WebCore::DatabaseTracker::fullPathForDatabase): Tweak to add the ability to get the path without creating it - for management purposes
567         (WebCore::DatabaseTracker::populateOrigins): Populate origins from the Origins table instead of the Databases table
568         (WebCore::DatabaseTracker::origins):
569         (WebCore::DatabaseTracker::detailsForNameAndOrigin): For API management
570         (WebCore::DatabaseTracker::usageForDatabase):
571         (WebCore::DatabaseTracker::usageForOrigin):
572         (WebCore::DatabaseTracker::quotaForOrigin):
573         (WebCore::DatabaseTracker::setQuota): Notify the client
574         (WebCore::DatabaseTracker::addDatabase): Notify the client 
575         (WebCore::DatabaseTracker::deleteAllDatabases):
576         (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
577         (WebCore::DatabaseTracker::deleteDatabase):
578         (WebCore::DatabaseTracker::deleteDatabaseFile):
579         * storage/DatabaseTracker.h:
580
581 2007-11-29  Dan Bernstein  <mitz@apple.com>
582
583         Reviewed by Beth Dakin and Darin Adler.
584
585         - manual test for <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame
586
587         * manual-tests/context-click-unfocused-frame.html: Added.
588
589 2007-11-28  Antti Koivisto  <antti@apple.com>
590
591         Reviewed by Geoff.
592         
593         Fallback content inside media elements should not be rendered.
594
595         Test: media/fallback.html
596
597         * rendering/RenderMedia.h:
598         (WebCore::RenderMedia::canHaveChildren):
599
600 2007-11-28  Mark Rowe  <mrowe@apple.com>
601
602         Windows build fix.
603
604         * WebCore.vcproj/WebCore.vcproj:
605
606 2007-11-28  Mark Rowe  <mrowe@apple.com>
607
608         Gtk build fix.
609
610         * WebCore.pro:
611
612 2007-11-28  Antti Koivisto  <antti@apple.com>
613
614         Reviewed by Oliver.
615
616         Make QTMovieView fill color transparent. This behavior matches the specification
617         (and allows nice alpha blended video).
618
619         * platform/graphics/mac/MoviePrivateQTKit.mm:
620         (WebCore::MoviePrivate::createQTMovieView):
621
622 2007-11-28  Antti Koivisto  <antti@apple.com>
623
624         Reviewed by Darin.
625
626         Test: media/video-controls.html
627         
628         <rdar://problem/5605668>
629         Implement controls attribute for video element
630         
631         - Add RenderMedia and make RenderVideo its subclass. Controls code goes to RenderMedia while
632           video specific (painting etc) code stays in RenderVideo. For example audio controls can be implemented
633           later by just instantiating RenderMedia as renderer.
634         - Make media renderer hierarchy inherit from RenderBlock instead of RenderReplaced so it can 
635           have child nodes (for controls).
636         - Controls are implemented as a shadow DOM.
637         - Current look is a placeholder. It is defined purely in CSS.
638         - Some things like volume controls are not yet implemented.
639         - Fade-in/out is done manually, CSS animations don't work well in shadow trees.
640           
641         * WebCore.xcodeproj/project.pbxproj:
642         * css/html4.css:
643         * html/HTMLMediaElement.cpp:
644         (WebCore::HTMLMediaElement::attributeChanged):
645         (WebCore::HTMLMediaElement::updateMovie):
646         (WebCore::HTMLMediaElement::defaultEventHandler):
647         * html/HTMLMediaElement.h:
648         * rendering/RenderMedia.cpp: Added.
649         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
650         (WebCore::MediaControlShadowRootElement::isShadowNode):
651         (WebCore::MediaControlShadowRootElement::shadowParentNode):
652         (WebCore::MediaControlInputElement::MediaControlInputElement):
653         (WebCore::MediaControlInputElement::attachToParent):
654         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
655         (WebCore::MediaControlPlayButtonElement::inPausedState):
656         (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
657         (WebCore::MediaControlPlayButtonElement::update):
658         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
659         (WebCore::MediaControlTimelineElement::defaultEventHandler):
660         (WebCore::MediaControlTimelineElement::update):
661         (WebCore::RenderMedia::RenderMedia):
662         (WebCore::RenderMedia::~RenderMedia):
663         (WebCore::RenderMedia::mediaElement):
664         (WebCore::RenderMedia::movie):
665         (WebCore::RenderMedia::setStyle):
666         (WebCore::RenderMedia::createControlsShadowRoot):
667         (WebCore::RenderMedia::createPanel):
668         (WebCore::RenderMedia::createPlayButton):
669         (WebCore::RenderMedia::createTimeline):
670         (WebCore::RenderMedia::createTimeDisplay):
671         (WebCore::RenderMedia::updateFromElement):
672         (WebCore::RenderMedia::updateControls):
673         (WebCore::RenderMedia::timeUpdateTimerFired):
674         (WebCore::RenderMedia::updateTimeDisplay):
675         (WebCore::RenderMedia::updateControlVisibility):
676         (WebCore::RenderMedia::changeOpacity):
677         (WebCore::RenderMedia::opacityAnimationTimerFired):
678         (WebCore::RenderMedia::forwardEvent):
679         * rendering/RenderMedia.h: Added.
680         (WebCore::RenderMedia::renderName):
681         (WebCore::RenderMedia::isMedia):
682         (WebCore::RenderMedia::intrinsicSize):
683         * rendering/RenderObject.h:
684         (WebCore::RenderObject::isMedia):
685         * rendering/RenderVideo.cpp:
686         (WebCore::RenderVideo::RenderVideo):
687         (WebCore::RenderVideo::videoSizeChanged):
688         (WebCore::RenderVideo::paintObject):
689         (WebCore::RenderVideo::layout):
690         (WebCore::RenderVideo::updateFromElement):
691         (WebCore::RenderVideo::calcAspectRatioWidth):
692         (WebCore::RenderVideo::calcAspectRatioHeight):
693         * rendering/RenderVideo.h:
694
695 2007-11-28  Justin Garcia  <justin.garcia@apple.com>
696
697         Reviewed by Darin Adler.
698
699         <rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating
700         
701         In the new beta, Google has added some custom code on top of our RemoveFormat
702         to work around a bug where fully selected lists aren't removed.  This code corrupts
703         the undo stack and causes crashes.  This change fixes two problems with RemoveFormat
704         so that Google doesn't have to have any custom code. After checking this in I'll 
705         work on bulletproofing the undo stack
706
707         * WebCore.xcodeproj/project.pbxproj: 
708         * editing/CompositeEditCommand.cpp:
709         (WebCore::CompositeEditCommand::insertLineBreak): Added this convenience method.
710         (WebCore::CompositeEditCommand::inputText): Added code to select all inserted text, not
711         just the last paragraph.  Added code to support an input string with '\n's.
712         * editing/CompositeEditCommand.h:
713         * editing/Editor.cpp:
714         (WebCore::Editor::removeFormattingAndStyle): Moved code to its own EditCommand.
715         * editing/RemoveFormatCommand.cpp: Added. Moved code from removeFormattingAndStyle here.
716         (WebCore::RemoveFormatCommand::RemoveFormatCommand):
717         (WebCore::RemoveFormatCommand::doApply): Added code to remove fully selected lists.
718         * editing/RemoveFormatCommand.h: Added.
719         (WebCore::RemoveFormatCommand::editingAction):
720
721 2007-11-28  Dan Bernstein  <mitz@apple.com>
722
723         Reviewed by Dave Hyatt.
724
725         - fix <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046
726
727         Test: fast/table/empty-auto-column-zero-divide.html
728
729         * rendering/AutoTableLayout.cpp:
730         (WebCore::AutoTableLayout::recalcColumn):
731         (WebCore::AutoTableLayout::fullRecalc):
732         (WebCore::AutoTableLayout::calcEffectiveWidth):
733         (WebCore::AutoTableLayout::layout): When distributing the remaining
734         width among columns, skip those whose effective (rather than
735         specified) width is auto and contain only empty cells.
736
737 2007-11-28  Peter Kasting  <zerodpx@gmail.com>
738
739         Reviewed by Alp Toker.
740
741         http://bugs.webkit.org/show_bug.cgi?id=16169
742         GIF decoder needs to set hasAlpha() correctly on subsequent frames.
743         
744         This also removes the workaround for this problem in
745         ImageSourceCairo.cpp.
746
747         * platform/graphics/cairo/ImageSourceCairo.cpp:
748         (WebCore::ImageSource::frameHasAlphaAtIndex):
749         * platform/image-decoders/gif/GIFImageDecoder.cpp:
750         (WebCore::GIFImageDecoder::initFrameBuffer):
751
752 2007-11-28  Dan Bernstein  <mitz@apple.com>
753
754         Reviewed by Darin Adler and Adam Roben.
755
756         - <rdar://problem/5057218> Reenable "recent searches" search field menu when menu is fully implemented
757
758         * platform/win/SearchPopupMenuWin.cpp:
759         (WebCore::SearchPopupMenu::enabled): Changed to return true.
760         (WebCore::autosaveKey): Added. Returns a preferences key for the
761         autosave name by prefixing it with "com.apple.WebKit.searchField:".
762         (WebCore::SearchPopupMenu::saveRecentSearches): Implemented.
763         (WebCore::SearchPopupMenu::loadRecentSearches): Implemented.
764
765 2007-11-28  Alp Toker  <alp@atoker.com>
766
767         Reviewed by Mark Rowe.
768
769         http://bugs.webkit.org/show_bug.cgi?id=15689
770         [GTK] Background of loading images is always black
771
772         frameHasAlphaAtIndex() exists only to allow optimization for cases we
773         are certain the image can be blitted rather than composited.
774
775         Thus we need to be conservative, returning false only when we are
776         absolutely certain there is no need for composited copying, and true
777         otherwise.
778
779         CG doesn't even bother with this optimization at all and always
780         returns true.
781
782         Patch includes a workaround for
783           http://bugs.webkit.org/show_bug.cgi?id=16169
784           GIF ImageDecoder hasAlpha() return value incorrect
785
786         * platform/graphics/cairo/ImageSourceCairo.cpp:
787         (WebCore::ImageSource::frameHasAlphaAtIndex):
788
789 2007-11-27  Alp Toker  <alp@atoker.com>
790
791         Reviewed by Mark Rowe.
792
793         Install the JavaScriptCore headers as part of the GTK+ port.
794
795         * WebCore.pro:
796
797 2007-11-27  Beth Dakin  <bdakin@apple.com>
798
799         Reviewed by Oliver.
800
801         Fix for <rdar://problem/5616052> SVGs with width or height of 100% 
802         hang when used as a background-image (16164)
803
804         * platform/graphics/svg/SVGImage.cpp:
805         (WebCore::SVGImage::size): Use valueAsPercentage() for percents 
806         instead of valueInSpecifiedUnits(). valueInSpecifiedUnits() 
807         returns, for example, 50 for 50%, so multiplying percentages by the 
808         default size of 300 x 150 led to ridiculously huge dimensions for 
809         SVG images, and the subsequent hang. 
810
811 2007-11-27  Jon Honeycutt  <jhoneycutt@apple.com>
812
813         Reviewed by Adam.
814
815         Set haveRegisteredWindowClass when we register the window class.
816
817         * plugins/win/PluginViewWin.cpp:
818         (WebCore::registerPluginView):
819
820 2007-11-27  Timothy Hatcher  <timothy@apple.com>
821
822         Reviewed by Sam Weinig.
823
824         Bug 16165: Dragging the inspector toolbar should move the window
825         http://bugs.webkit.org/show_bug.cgi?id=16165
826
827         * page/inspector/DocumentPanel.js: Call the new drag functions, and cleanup code.
828         * page/inspector/inspector.css: Only make the toolbar transparent in detached mode.
829         * page/inspector/inspector.js: Call the new drag functions, and cleanup code. Add
830           toolbar drag functions that move the window.
831
832 2007-11-27  Antti Koivisto  <antti@apple.com>
833
834         Reviewed by Mitz.
835
836         Small changes to make RenderSlider a bit more generic so it can be used in video controls.
837
838         * html/HTMLInputElement.cpp:
839         (WebCore::HTMLInputElement::defaultEventHandler): Fix coordinates with forwarded events.
840         * rendering/RenderSlider.cpp:
841         (WebCore::HTMLSliderThumbElement::defaultEventHandler): Fix coordinates with forwarded events.
842         (WebCore::RenderSlider::setStyle):
843         (WebCore::RenderSlider::createThumbStyle): Copy thumb left and top from the orginal style so position does not reset.
844         (WebCore::RenderSlider::mouseEventIsInThumb): Make this work with forwarded events.
845         * rendering/RenderSlider.h:
846
847 2007-11-27  Antti Koivisto  <antti@apple.com>
848
849         Reviewed by Darin.
850
851         - Don't use hasPseudoId() optimization for pseudo styles used in shadow trees. These styles
852           generally exist when asked for so the optimization does not do much. This reverses the continuing
853           growth of the _pseudoBits bitfield in RenderStyle.
854         - Add some pseudo elements for media controls
855
856         * css/CSSSelector.cpp:
857         (WebCore::CSSSelector::extractPseudoType):
858         * css/CSSSelector.h:
859         (WebCore::CSSSelector::):
860         * css/CSSStyleSelector.cpp:
861         (WebCore::CSSStyleSelector::matchRulesForList):
862         (WebCore::CSSStyleSelector::checkOneSelector):
863         * rendering/RenderObject.cpp:
864         (WebCore::RenderObject::getPseudoStyle):
865         * rendering/RenderStyle.cpp:
866         (WebCore::pseudoBit):
867         (WebCore::RenderStyle::hasPseudoStyle):
868         (WebCore::RenderStyle::setHasPseudoStyle):
869         * rendering/RenderStyle.h:
870         (WebCore::RenderStyle::):
871
872 2007-11-27  Timothy Hatcher  <timothy@apple.com>
873
874         Reviewed by Kevin McCullough.
875
876         Bug 16161: window.moveBy(0, 0) moves the window by -22px vertically
877         http://bugs.webkit.org/show_bug.cgi?id=16161
878
879         Removed the "Adjust the window rect to be in the coordinate space of
880         the screen rect" step which was always adding (0,22) to the window
881         position (on the main screen). Instead, account for screen X and Y
882         in the bottom and right constrain step.
883
884         Added more test cases to: fast/dom/Window/window-resize.html
885
886         * bindings/js/kjs_window.cpp:
887         (KJS::adjustWindowRect):
888
889 2007-11-27  Timothy Hatcher  <timothy@apple.com>
890
891         Reviewed by Adam Roben.
892
893         * page/inspector/inspector.css: Make the text in the Network
894         panel legend more readable.
895
896 2007-11-27  Timothy Hatcher  <timothy@apple.com>
897
898         Reviewed by Adam Roben.
899
900         Don't call setNeedsReapplyStylesInAllFrames if the
901         authorAndUserStylesEnabled setting didn't change.
902
903         * page/Settings.cpp:
904         (WebCore::Settings::setAuthorAndUserStylesEnabled):
905
906 2007-11-27  Alp Toker  <alp@atoker.com>
907
908         Fix potential broken build due to a missing DEPENDPATH.
909
910         * WebCore.pro:
911
912 2007-11-26  Timothy Hatcher  <timothy@apple.com>
913
914         Reviewed by Dave Hyatt.
915
916         <rdar://problem/5569233> Add the ability to disable author and user CSS styles
917
918         * WebCore.base.exp: Add the Settings::setAuthorAndUserStylesEnabled symbol.
919         * css/CSSStyleSelector.cpp:
920         (WebCore::CSSStyleSelector::CSSStyleSelector): Add a new matchAuthorAndUserStyles parameter.
921         (WebCore::CSSStyleSelector::styleForElement): Check m_matchAuthorAndUserStyles before
922         matching user and author rules.
923         (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto.
924         (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
925         * css/CSSStyleSelector.h: Add m_matchAuthorAndUserStyles and new constructor parameter.
926         * dom/Document.cpp:
927         (WebCore::Document::Document): Pass Settings::authorAndUserStylesEnabled to the CSSStyleSelector.
928         (WebCore::Document::recalcStyleSelector): Skip collecting the author stylesheets if
929         Settings::authorAndUserStylesEnabled is false, and pass that to the CSSStyleSelector.
930         * page/Settings.cpp:
931         (WebCore::Settings::Settings): Initialize m_authorAndUserStylesEnabled to true.
932         (WebCore::Settings::setAuthorAndUserStylesEnabled): Recalc style in all the frames
933         when the setting changes.
934         * page/Settings.h: Add m_authorAndUserStylesEnabled.
935         (WebCore::Settings::authorAndUserStylesEnabled): Return m_authorAndUserStylesEnabled.
936
937 2007-11-27  Alp Toker  <alp@atoker.com>
938
939         Reviewed by Mark Rowe.
940
941         Based on changes by Mike Emmel.
942
943         CURL HTTP backend local file fixes:
944
945         Set a MIME type for local files based on the file extension.
946
947         Remove any HTTP query part sent to a local file.
948
949         * platform/network/curl/ResourceHandleManager.cpp:
950         (WebCore::ResourceHandleManager::startJob):
951
952 2007-11-26  Brady Eidson  <beidson@apple.com>
953
954         Reviewed by Mark Rowe
955
956         Allow setting the default storage quota per database origin
957
958         * WebCore.base.exp:
959
960         * page/Settings.cpp:
961         (WebCore::Settings::setDefaultDatabaseOriginQuota):
962         (WebCore::Settings::defaultDatabaseOriginQuota):
963         * page/Settings.h:
964
965         * storage/DatabaseTracker.cpp:
966         (WebCore::DatabaseTracker::DatabaseTracker):
967         (WebCore::DatabaseTracker::setDefaultOriginQuota):
968         (WebCore::DatabaseTracker::defaultOriginQuota):
969         * storage/DatabaseTracker.h:
970
971 2007-11-26  Peter Kasting  <zerodpx@gmail.com>
972
973         Reviewed by Alp Toker.
974
975         http://bugs.webkit.org/show_bug.cgi?id=15974
976         GIF decoding should respect frames' specified disposal methods.
977
978         * platform/image-decoders/ImageDecoder.h:
979         (WebCore::RGBA32Buffer::):
980         (WebCore::RGBA32Buffer::RGBA32Buffer):
981         (WebCore::RGBA32Buffer::disposalMethod):
982         (WebCore::RGBA32Buffer::setDisposalMethod):
983         * platform/image-decoders/gif/GIFImageDecoder.cpp:
984         (WebCore::GIFImageDecoder::frameBufferAtIndex):
985         (WebCore::GIFImageDecoder::initFrameBuffer):
986         (WebCore::GIFImageDecoder::prepEmptyFrameBuffer):
987         (WebCore::GIFImageDecoder::haveDecodedRow):
988         (WebCore::GIFImageDecoder::frameComplete):
989         * platform/image-decoders/gif/GIFImageDecoder.h:
990         * platform/image-decoders/gif/GIFImageReader.cpp:
991         (GIFImageReader::read):
992         * platform/image-decoders/gif/GIFImageReader.h:
993         (GIFFrameReader::GIFFrameReader):
994
995 2007-11-26  Adam Roben  <aroben@apple.com>
996
997         Add a Color(CGColorRef) constructor
998
999         Reviewed by Darin.
1000
1001         * platform/graphics/Color.h:
1002         * platform/graphics/cg/ColorCG.cpp:
1003         (WebCore::Color::Color): Added.
1004
1005 2007-11-26  Adele Peterson  <adele@apple.com>
1006
1007         Reviewed by Darin.
1008
1009         Update to last change.  Moved addPendingSheet call to within nil check for m_cachedSheet.
1010
1011         * page/Frame.cpp:
1012         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
1013
1014 2007-11-26  Adele Peterson  <adele@apple.com>
1015
1016         Reviewed by Darin.
1017
1018         Fix for <rdar://problem/5591583> CrashTracer: [USER] 157 in Mail crashes at -[WebCoreFrameBridge reapplyStylesForDeviceType:]
1019
1020         * page/Frame.cpp: Add nil checks since every other caller of requestCSSStyleSheet checks for nil.
1021         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
1022         (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
1023
1024 2007-11-26  Mark Rowe  <mrowe@apple.com>
1025
1026         GCC 4.2 build fix.
1027
1028         * xml/XSLTUnicodeSort.cpp: Add another WTF_ATTRIBUTE_PRINTF.
1029
1030 2007-11-26  Feng Qian <ian.eng.webkit@gmail.com>
1031
1032         Reviewed and touched up by Sam Weinig.
1033
1034         Fix for http://bugs.webkit.org/show_bug.cgi?id=16073
1035
1036         Test: http/tests/security/xss-DENIED-invalid-domain-change.html
1037
1038         * dom/Document.cpp:
1039         (WebCore::Document::setDomain): Don't set the securityOrigin policy unless
1040         the set succeeds.  Adds some early returns as well.
1041
1042 2007-11-26  Steve Falkenburg  <sfalken@apple.com>
1043
1044         Build fix.
1045
1046         * WebCore.vcproj/WebCore.make:
1047         * WebCore.vcproj/migrate-idls.sh:
1048
1049 2007-11-26  Sam Weinig  <sam@webkit.org>
1050
1051         Fix potential null-dereference.
1052
1053         Reviewed by Adam Roben.
1054
1055         * page/FrameTree.cpp:
1056         (WebCore::FrameTree::isDescendantOf):
1057
1058 2007-11-26  Sam Weinig  <sam@webkit.org>
1059
1060         Reviewed by Darin.
1061
1062         Fix for <rdar://problem/5592988>
1063         - Enforce tighter restrictions on what frames in other domains
1064           can be navigated.
1065
1066         Tests: http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change.html
1067                http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html
1068
1069         * bindings/js/kjs_window.cpp:
1070         (KJS::Window::put):
1071         (KJS::Location::put):
1072         (KJS::LocationProtoFuncReplace::callAsFunction):
1073         (KJS::LocationProtoFuncAssign::callAsFunction):
1074         * loader/FrameLoader.cpp:
1075         (WebCore::FrameLoader::createWindow):
1076         (WebCore::FrameLoader::load):
1077         (WebCore::FrameLoader::shouldAllowNavigation): Move and update logic from canTarget().
1078         * loader/FrameLoader.h:
1079         * page/FrameTree.cpp:
1080         (WebCore::FrameTree::isDescendantOf): Make this O(1) in the case when both frames are not
1081         in the same page.
1082
1083 2007-11-26  Steve Falkenburg  <sfalken@apple.com>
1084
1085         Build fix.
1086
1087         * WebCore.vcproj/migrate-idls.sh:
1088
1089 2007-11-26  Dan Bernstein  <mitz@apple.com>
1090
1091         Reviewed by Dave Hyatt.
1092
1093         - fix <rdar://problem/5609337> Making a float shorter does not remove it from the floating object list of a nested block it intruded into
1094
1095         Test: fast/dynamic/float-withdrawal-2.html
1096
1097         * rendering/RenderBlock.cpp:
1098         (WebCore::RenderBlock::layoutBlockChildren): When a float may have
1099         been withdrawn from a child, mark all descendants if necessary and not
1100         just the child.
1101
1102 2007-11-26  Steve Falkenburg  <sfalken@apple.com>
1103
1104         Build fix.
1105
1106         * WebCore.vcproj/MigrateIDLAndScripts: Copied from WebCore.vcproj/MigrateIDLAndScripts.make.
1107         * WebCore.vcproj/MigrateIDLAndScripts.make: Removed.
1108         * WebCore.vcproj/migrate-idls.sh:
1109
1110 2007-11-26  Brady Eidson  <beidson@apple.com>
1111
1112         Reviewed by Anders (and typo lovingly found by Adam)
1113
1114         Change Databases to be stored in a per-origin directory hierarchy - this will make
1115         storage quotas much easier to enforce
1116
1117         * platform/SecurityOriginData.cpp:
1118         (WebCore::SecurityOriginData::SecurityOriginData): Parse string based on '_' instead of ':'
1119         (WebCore::SecurityOriginData::stringIdentifier): Change to use '_' as a separator instead of ':'.  
1120           '_' still works due to not being allowed in domain names, but also is a valid filename character '
1121           on all filesystems we care about
1122
1123         * storage/DatabaseTracker.cpp:
1124         (WebCore::DatabaseTracker::fullPathForDatabase): Create a per-origin directory hierarchy to categorize
1125           databases by origin
1126
1127 2007-11-26  Timothy Hatcher  <timothy@apple.com>
1128
1129         Reviewed by Adam Roben.
1130
1131         Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
1132         http://bugs.webkit.org/show_bug.cgi?id=16137
1133
1134         On Leopard the toolbar background will be transparent, to allow the
1135         window background to show through the transparent WebView. The 
1136         search results divs needed to move inside the "main" div, so they
1137         would be clipped and not show where the toolbar is.
1138
1139         * page/InspectorController.cpp:
1140         (WebCore::platform): Return a string for which platform we are.
1141         (WebCore::InspectorController::windowScriptObjectAvailable):
1142         Define the platform function on the JavaScript class.
1143         * page/inspector/Panel.js: Add panels to the panels div.
1144         * page/inspector/inspector.css: On the Leopard platform make
1145         the toolbar background transparent so the window background shows.
1146         * page/inspector/inspector.html: Add a panels div and move search
1147         result divs inside the main div.
1148         * page/inspector/inspector.js: Tweak the resize code to acount for
1149         the search results divs moving inside the main div.
1150
1151 2007-11-25  Rodney Dawes  <dobey@wayofthemonkey.com>
1152
1153         Reviewed by Maciej Stachowiak.
1154
1155         Remove the unneeded CFNETWORK #ifdefs.
1156
1157         * loader/NetscapePlugInStreamLoader.h:
1158
1159 2007-11-24  Laszlo Gombos  <laszlo.gombos@gmail.com>
1160
1161         Reviewed by Sam Weinig.
1162
1163         Add printf format attribute to several functions. Use the the new WTF_ATTRIBUTE_PRINTF define.
1164
1165         * dom/XMLTokenizer.cpp:
1166         * dom/XMLTokenizer.h:
1167         * platform/DeprecatedString.h:
1168         * platform/PlatformString.h:
1169
1170 2007-11-25  Dan Bernstein  <mitz@apple.com>
1171
1172         Reviewed by Adam Roben.
1173
1174         - fix off-center error images
1175
1176         Covered by many pixel tests with missing images
1177
1178         * rendering/RenderImage.cpp:
1179         (WebCore::RenderImage::paint): Account for the 1 pixel outline when
1180         positioning the error image.
1181
1182 2007-11-25  Kevin Ollivier  <kevino@theolliviers.com>
1183
1184         wx build fix. Fix filename case for case-sensitive filesystems.
1185
1186         * WebCoreSources.bkl:
1187
1188 2007-11-22  Nikolas Zimmermann  <zimmermann@kde.org>
1189
1190         Reviewed by Adam Roben.
1191
1192         Fixes: http://bugs.webkit.org/show_bug.cgi?id=15564
1193
1194         Fix problems with hidden glyphs. They were taken into account for quite
1195         some operations (hit testing, length calulcations etc..) except painting.
1196         Especially fixes boundaries of <textPath> (see using Web Inspector) if
1197         text-anchor isn't equal to 'start'.
1198
1199         Added testcase:
1200         svg/text/textPathBoundsBug.svg
1201
1202         Fixed testcase: (all showed text selection problems on text paths)
1203         svg/batik/text/textGlyphOrientationHorizontal.svg
1204         svg/batik/text/textOnPath.svg
1205         svg/batik/text/textOnPath3.svg
1206         svg/batik/text/verticalTextOnPath.svg
1207         svg/text/text-align-04-b.svg
1208         svg/W3C-SVG-1.1/text-align-04-b.svg
1209
1210         * rendering/SVGCharacterLayoutInfo.cpp:
1211         (WebCore::SVGChar::isHidden):
1212         * rendering/SVGCharacterLayoutInfo.h:
1213         (WebCore::SVGCharOnPath::SVGCharOnPath):
1214         * rendering/SVGInlineTextBox.cpp:
1215         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
1216         (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
1217         * rendering/SVGRootInlineBox.cpp:
1218         (WebCore::topLeftPositionOfCharacterRange):
1219         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
1220         (WebCore::cummulatedWidthOrHeightOfTextChunk):
1221         (WebCore::applyTextAnchorToTextChunk):
1222         (WebCore::applyTextLengthCorrectionToTextChunk):
1223         (WebCore::SVGRootInlineBox::layoutInlineBoxes):
1224         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1225         (WebCore::SVGRootInlineBox::buildTextChunks):
1226
1227 2007-11-25  Alexey Proskuryakov  <ap@webkit.org>
1228
1229         Reviewed by Maciej.
1230
1231         http://bugs.webkit.org/show_bug.cgi?id=15919
1232         XSLTProcessor.transformToFragment creates an extra not defined TEXT_NODE at the end
1233
1234         Test: fast/xsl/extra-lf-at-end.html
1235
1236         * xml/XSLTProcessor.cpp:
1237         (WebCore::writeToVector): Changed to use Vector to avoid slow String::apend().
1238         (WebCore::saveResultToString): Remove trailing line feed if present.
1239
1240 2007-11-24  Mark Rowe  <mrowe@apple.com>
1241
1242         Reviewed by Tim Hatcher.
1243
1244         Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
1245         http://bugs.webkit.org/show_bug.cgi?id=13705
1246
1247         Don't buffer the entire stream contents in memory in the ResourceLoader.
1248
1249         * loader/mac/NetscapePlugInStreamLoaderMac.mm:
1250         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
1251         (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
1252         * loader/mac/WebPlugInStreamLoaderDelegate.h:
1253
1254 2007-11-23  Adam Roben  <aroben@apple.com>
1255
1256         Get rid of WebCoreSystemInterface on Windows
1257
1258         The one function defined in that file is now in WebKitSystemInterface.
1259
1260         Reviewed by Tim.
1261
1262         * WebCore.vcproj/WebCore.vcproj: Removed
1263         WebCoreSystemInterface.{cpp,h}.
1264         * platform/graphics/cg/ImageCG.cpp: Made #include of
1265         WebCoreSystemInterface.h Mac-only.
1266         * platform/win/GraphicsContextWin.cpp: Ditto.
1267         * platform/win/WebCoreSystemInterface.cpp: Removed.
1268         * platform/win/WebCoreSystemInterface.h: Removed.
1269
1270 2007-11-24  Adam Roben  <aroben@apple.com>
1271
1272         Replace uses of %@ with %s in the inspector
1273
1274         Rubberstamped by Tim.
1275
1276         * English.lproj/InspectorLocalizedStrings.js: Changed %@ to %s.
1277         * page/inspector/DatabasePanel.js: Ditto.
1278         * page/inspector/StylesSidebarPane.js: Ditto.
1279         * page/inspector/inspector.js: Ditto.
1280         * page/inspector/utilities.js:
1281         (String.vsprintf): Removed @ as a format specifier.
1282
1283 2007-11-24  Adam Roben  <aroben@apple.com>
1284
1285         Windows build fix
1286
1287         Turn off the change made in r27984 on Windows for now.
1288
1289         * xml/XSLTProcessor.cpp:
1290         (WebCore::XSLTProcessor::transformToString):
1291         * xml/XSLTUnicodeSort.cpp:
1292
1293 2007-11-24  Timothy Hatcher  <timothy@apple.com>
1294
1295         Reviewed by Adam Roben.
1296
1297         Bug 16121: Web Inspector needs helper functions that pass a 'this' object to
1298         addEventListener and setTimeout
1299         http://bugs.webkit.org/show_bug.cgi?id=16121
1300
1301         Add Function.prototype.bind. This helper will return a wrapper function
1302         that will call the original function with the supplied arguments
1303         and using the supplied 'this' object.
1304
1305         * page/inspector/Database.js: Remove a use of setTimeout by
1306           inheriting some common functions from Resource.
1307         * page/inspector/DatabasePanel.js: Use the new bind function.
1308         * page/inspector/ConsolePanel.js: Ditto.
1309         * page/inspector/DocumentPanel.js: Ditto.
1310         * page/inspector/NetworkPanel.js: Ditto.
1311         * page/inspector/PropertiesSection.js: Ditto.
1312         * page/inspector/Resource.js: Ditto.
1313         * page/inspector/SidebarPane.js: Ditto.
1314         * page/inspector/inspector.html: Moved Database.js after Resource.js,
1315           now that Database.js uses it.
1316         * page/inspector/inspector.js: Use the new bind function. Also
1317           removed a setTimeout used for the localized strings code. There is
1318           now a load event listener added to the localized strings script
1319           element that will call WebInspector.loaded.
1320         * page/inspector/utilities.js: Add Function.prototype.bind.
1321
1322 2007-11-24  Timothy Hatcher  <timothy@apple.com>
1323
1324         Reviewed by Adam Roben.
1325
1326         Bug 16112: Some Web Inspector UI elements use offsetWidth and offsetHeight before the stylesheet loads
1327         http://bugs.webkit.org/show_bug.cgi?id=16112
1328
1329         In the places where we use offsetWidth and offsetHeight before
1330         the stylesheet loads there is now a check. If the body's
1331         offsetWidth is not greater than zero, then set a timeout
1332         to do the updates requiring the stylesheet later.
1333
1334         The three places this happened:
1335         - DOM tree selection highlight would show up at the wrong height
1336           when using Inspect Element to open the inspector.
1337         - DOM tree breadcrumbs would not collapse when using Inspect Element
1338           to open the inspector.
1339         - Network Timeline divider lines would not show when opening directly
1340           into the timeline.
1341
1342         * page/inspector/DocumentPanel.js: Check if the stylesheet loaded.
1343         * page/inspector/NetworkPanel.js: Ditto.
1344         * page/inspector/inspector.html: Include the stylesheet before
1345           any scripts, this will help get it loaded sooner.
1346
1347 2007-11-24  Kevin Ollivier  <kevino@theolliviers.com>
1348
1349         Add wx implementation for pathGetFilename
1350
1351         Reviewed by David D. Kilzer.
1352
1353         * html/HTMLFormElement.cpp:
1354         (WebCore::pathGetFilename):
1355
1356 2007-11-23  Timothy Hatcher  <timothy@apple.com>
1357
1358         Reviewed by Adam Roben.
1359
1360         Bug 16110: Clicking inside the resource headers in the network timeline collapses them
1361         http://bugs.webkit.org/show_bug.cgi?id=16110
1362
1363         Toggle the resource headers only if the click happens on the
1364         resource row, not within the headers area.
1365
1366         * WebCore.xcodeproj/project.pbxproj:
1367         * page/inspector/NetworkPanel.js:
1368
1369 2007-11-23  Kevin Ollivier  <kevino@theolliviers.com>
1370
1371         Win build fixes. CURL needs winsock, so don't disable it, and
1372         include pthreads.h to get the threadsafe *_r functions.
1373
1374         Reviewed by Adam Roben.
1375
1376         * config.h:
1377         * loader/FTPDirectoryDocument.cpp:
1378         * loader/FTPDirectoryParser.cpp:
1379
1380 2007-11-23  Kevin Ollivier  <kevino@theolliviers.com>
1381
1382         wx build fix. Move wx settings to project build settings,
1383         remove some old settings that were masking a build problem,
1384         and fix include ordering to ensure proper config.h and
1385         unicode/utf8.h headers are used. 
1386
1387         * webcore-base.bkl:
1388         * webcore-wx.bkl:
1389
1390 2007-11-23  Simon Hausmann  <hausmann@webkit.org>
1391
1392         Reviewed by George Staikos <staikos@kde.org>.
1393
1394         Another build fix specific to trunk (instead of the stable branch) to fix make clean (which the buildbots call).
1395
1396         * WebCore.pro:
1397
1398 2007-11-23  Alexey Proskuryakov  <ap@webkit.org>
1399
1400         Not reviewed, trivial leak fix.
1401
1402         Fix xsltUnicodeSortFunction() memory leaks.
1403
1404         * xml/XSLTUnicodeSort.cpp:
1405         (WebCore::xsltUnicodeSortFunction):
1406
1407 2007-11-23  Alexey Proskuryakov  <ap@webkit.org>
1408
1409         Reviewed by Maciej.
1410
1411         <rdar://problem/5539306> REGRESSION: redirect fails when subframe's document is opened but
1412         not closed (affects digg.com)
1413
1414         Tests: fast/loader/meta-refresh-vs-open.html
1415                fast/loader/redirect-with-open-subframe-2.html
1416                fast/loader/redirect-with-open-subframe.html
1417                http/tests/loading/onload-vs-immediate-refresh.pl
1418
1419         * loader/FrameLoader.cpp:
1420         (WebCore::FrameLoader::scheduleRedirection): Only check whether the load is complete for
1421         HTTP redirects - JavaScript-initiated ones are effective immediately.
1422
1423 2007-11-23  Dan Bernstein  <mitz@apple.com>
1424
1425         Reviewed by Alexey Proskuryakov.
1426
1427         - apply matrix transforms on the correct side of the transformation
1428           matrix (not on the side where the vector is multiplied).
1429
1430         Test: fast/transforms/matrix-02.html
1431
1432         * rendering/RenderStyle.h:
1433         (WebCore::MatrixTransformOperation::apply):
1434
1435 2007-11-23  Alexey Proskuryakov  <ap@webkit.org>
1436
1437         Reviewed by Maciej.
1438
1439         http://bugs.webkit.org/show_bug.cgi?id=16077
1440         <rdar://problem/5609785> XSLT processor <xsl:sort> algorithm is incompatible with other
1441         browser implementations
1442
1443         Test: fast/xsl/sort-unicode.xml
1444
1445         * xml/XSLTProcessor.cpp:
1446         (WebCore::XSLTProcessor::transformToString): Set a custom sort function.
1447
1448         * xml/XSLTUnicodeSort.cpp: Added.
1449         (init_xsltTransformError):
1450         (xsltTransformError):
1451         (WebCore::xsltUnicodeSortFunction):
1452         * xml/XSLTUnicodeSort.h: Added.
1453         ICU-based implementation of xsl:sort, using an example from libxslt distribution.
1454         Only minimal coding style fixes to ease synchronization with upstream in the future.
1455
1456         * icu/unicode/ucol.h: Added.
1457         * icu/unicode/uset.h: Added.
1458         Taken from ICU 3.2
1459
1460         * WebCore.pro:
1461         * WebCore.vcproj/WebCore.vcproj:
1462         * WebCore.xcodeproj/project.pbxproj:
1463         * WebCoreSources.bkl:
1464         Added XSLTUnicodeSort.cpp.
1465
1466 2007-11-22  Alexey Proskuryakov  <ap@webkit.org>
1467
1468         Reviewed by Maciej.
1469
1470         http://bugs.webkit.org/show_bug.cgi?id=14977
1471         Hixie's DOM Core performance test shows insert >10x slower than append
1472
1473         Each invocation of Element.childNodes[n] was creating and registering a new ChildNodeList,
1474         which persisted and listened to notifications until GC.
1475
1476         A fix is to avoid registering child node lists for notifications - they don't need them, as
1477         they share a common cache in Node.
1478
1479         * dom/Node.cpp:
1480         (WebCore::Node::registerNodeList):
1481         (WebCore::Node::unregisterNodeList):
1482         (WebCore::Node::notifyLocalNodeListsAttributeChanged):
1483         (WebCore::Node::notifyLocalNodeListsChildrenChanged):
1484         * dom/NodeList.h:
1485         (WebCore::NodeList::needsNotifications):
1486
1487 2007-11-22  Dan Bernstein  <mitz@apple.com>
1488
1489         Reviewed by Antti Koivisto.
1490
1491         - fix http://bugs.webkit.org/show_bug.cgi?id=15811
1492           WebKit plug-ins can re-enter WebKit under attach()
1493           <rdar://problem/5577978>
1494
1495         Defer plug-in loading until after attach and recalcStyle using the
1496         post-attach callback mechanism. Netscape plug-ins are still loaded only
1497         after layout.
1498
1499         * dom/ContainerNode.cpp:
1500         Made NodeCallbackQueue elements retain the Node because callbacks might
1501         delete nodes that are in the callback queue.
1502         (WebCore::ContainerNode::suspendPostAttachCallbacks): Added. Needed to
1503         prevent post-attach callbacks from being dispatched under recalcStyle().
1504         (WebCore::ContainerNode::resumePostAttachCallbacks): Ditto.
1505         (WebCore::ContainerNode::dispatchPostAttachCallbacks): Factored out from
1506         attach().
1507         (WebCore::ContainerNode::attach):
1508         * dom/ContainerNode.h:
1509         * dom/Document.cpp:
1510         (WebCore::Document::recalcStyle): Added calls to
1511         suspendPostAttachCallbacks() and resumePostAttachCallbacks().
1512         * html/HTMLEmbedElement.cpp:
1513         (WebCore::HTMLEmbedElement::HTMLEmbedElement):
1514         (WebCore::HTMLEmbedElement::attach): Changed to queue the widget update
1515         for post-attach.
1516         (WebCore::HTMLEmbedElement::updateWidget): Added. Called by the
1517         post-attach callback.
1518         * html/HTMLEmbedElement.h: Added an m_needWidgetUpdate member needed to
1519         prevent a double update if another plug-in's post-attach updateWidget()
1520         triggers a layout which updates the widget before this plug-in's
1521         post-attach callback is invoked.
1522         (WebCore::HTMLEmbedElement::setNeedWidgetUpdate): Added a setter for
1523         m_needWidgetUpdate.
1524         * html/HTMLObjectElement.cpp:
1525         (WebCore::HTMLObjectElement::attach): Changed to queue the widget update
1526         for post-attach.
1527         (WebCore::HTMLObjectElement::updateWidget): Added. Called by the
1528         post-attach callback.
1529         * html/HTMLObjectElement.h:
1530         (WebCore::HTMLObjectElement::setNeedWidgetUpdate): Added a setter for
1531         m_needWidgetUpdate.
1532         * html/HTMLPlugInElement.cpp:
1533         (WebCore::HTMLPlugInElement::updateWidgetCallback): Added.
1534         * html/HTMLPlugInElement.h:
1535         (WebCore::HTMLPlugInElement::updateWidget):
1536         * rendering/RenderPartObject.cpp:
1537         (WebCore::RenderPartObject::updateWidget): Added calls to
1538         setNeedWidgetUpdate(false) so that if this method is called from
1539         FrameView::layout() during post-attach dispatch of another plug-in,
1540         it will not be called again when this plug-in's post-attach callback
1541         is dispatched.
1542         * rendering/RenderPartObject.h:
1543         (WebCore::RenderPartObject::updateWidget) Renamed argument to match
1544         the method definition.
1545
1546 2007-11-22  Timothy Hatcher  <timothy@apple.com>
1547
1548         Reviewed by Dan Bernstein.
1549
1550         Fix the Element.hasStyleClass and Element.removeStyleClass helpers
1551         to not find and replace substrings, but whole class names at the
1552         beginning or end of the string or surrounded by whitespace.
1553
1554         * page/inspector/utilities.js:
1555
1556 2007-11-22  Timothy Hatcher  <timothy@apple.com>
1557
1558         Revert part of my r27935 change that made the Tip balloons
1559         animate with CSS transitions. The balloon was only opacity 0,
1560         so it would cause its row to highlight when hovering over
1561         another row.
1562
1563         * page/inspector/NetworkPanel.js:
1564         * page/inspector/inspector.css:
1565
1566 2007-11-22  Dan Bernstein  <mitz@apple.com>
1567
1568         Reviewed by Maciej Stachowiak.
1569
1570         - fix http://bugs.webkit.org/show_bug.cgi?id=15943
1571           -webkit-transform matrix does not work
1572
1573         Test: fast/transforms/matrix-01.html
1574
1575         Parse all six matrix entries as numbers.
1576
1577         * css/CSSParser.cpp:
1578         (WebCore::TransformOperationInfo::TransformOperationInfo):
1579         (WebCore::CSSParser::parseTransform):
1580         * css/CSSStyleSelector.cpp:
1581         (WebCore::CSSStyleSelector::applyProperty):
1582         * rendering/RenderStyle.cpp:
1583         (WebCore::MatrixTransformOperation::blend):
1584         * rendering/RenderStyle.h:
1585         (WebCore::MatrixTransformOperation::MatrixTransformOperation):
1586         (WebCore::MatrixTransformOperation::apply):
1587
1588 2007-11-22  Laszlo Gombos  <laszlo.gombos@gmail.com>
1589
1590         Reviewed by Alp Toker.
1591
1592         Fix some compilation warnings.  Do not reference undefined (platform) specific type (WebCore::CachedFont::m_fontData)
1593
1594         * loader/CachedFont.cpp:
1595         (WebCore::CachedFont::~CachedFont):
1596         (WebCore::CachedFont::allReferencesRemoved):
1597
1598 2007-11-22  Alp Toker  <alp@atoker.com>
1599
1600         Reviewed by Mark Rowe.
1601
1602         GTK+ drawing fix.
1603
1604         Add a check to avoid crashing when the GraphicsContext is not
1605         associated with a GdkEventExpose. This was noticed when adding
1606         printing support but might be triggered in other situations too.
1607
1608         * platform/gtk/WidgetGtk.cpp:
1609         (WebCore::Widget::paint):
1610
1611 2007-11-22  Julien Chaffraix  <julien.chaffraix@gmail.com>
1612
1613         Reviewed by Alexey.
1614
1615         Bug 15530: XMLHttpRequest should not support certain methods
1616
1617         Test: http/tests/xmlhttprequest/xmlhttprequest-forbidden-methods-exception.html
1618
1619         * xml/XMLHttpRequest.cpp:
1620         (WebCore::XMLHttpRequest::open):
1621
1622 2007-11-22  Simon Hausmann  <hausmann@kde.org>
1623
1624         Reviewed by George.
1625
1626         For the build inside Qt include qbase.pri and don't duplicate what qbase.pri otherwise does (install targets, etc.)
1627
1628         * WebCore.pro:
1629
1630 2007-11-22  Simon Hausmann  <hausmann@kde.org>
1631
1632         Reviewed by George.
1633
1634         Don't set OBJECTS_DIR when building inside Qt
1635
1636         * WebCore.pro:
1637
1638 2007-11-22  Simon Hausmann  <hausmann@kde.org>
1639
1640         Reviewed by George.
1641
1642         Use ../generated as path for the generated sources for builds inside Qt
1643
1644         * WebCore.pro:
1645
1646 2007-11-22  Simon Hausmann  <hausmann@kde.org>
1647
1648         Reviewed by George.
1649
1650         Make the directory of where to put the generated sources configurable through the GENERATED_SOURCE_DIR variable
1651
1652         * WebCore.pro:
1653
1654 2007-11-22  Simon Hausmann  <hausmann@kde.org>
1655
1656         Reviewed by George.
1657
1658         Centralize the setup for all the extra compilers in a addExtraCompiler function.
1659         
1660         This allows adding a "generated_files" target that builds all generated files using "make generated_files".
1661         For the build inside Qt we do not generate actual rules for the extra compilers but instead
1662         do the variable substitution of compiler.output manually and add the generated sources to SOURCES.
1663
1664         * WebCore.pro:
1665
1666 2007-11-21  Timothy Hatcher  <timothy@apple.com>
1667
1668         Reviewed by Eric Seidel.
1669
1670         Show Fonts as Yellow in the network timeline.
1671
1672         * page/inspector/NetworkPanel.js:
1673         * page/inspector/inspector.css:
1674
1675 2007-11-21  Dan Bernstein  <mitz@apple.com>
1676
1677         Reviewed by Eric Seidel.
1678
1679         - fix <rdar://problem/5607037> REGRESSION (r27351): Departure date does not repaint when changed on Google Maps public transit planner (16034)
1680
1681         Test: fast/repaint/subtree-root-skipped.html
1682
1683         * page/FrameView.cpp:
1684         (WebCore::FrameViewPrivate::FrameViewPrivate): Initialize the layout
1685         root to 0.
1686         (WebCore::FrameView::layoutRoot): Changed to return a RenderObject
1687         instead of a Node.
1688         (WebCore::FrameView::layout): Changed for layout root being a renderer
1689         rather than a DOM node. Also replaced clearing the repaint rects
1690         set with asserting that it is empty if this is the top-level call to
1691         layout(). If it is not, the set may contain rects from enclosing
1692         layout() and those should not be removed.
1693         (WebCore::FrameView::scheduleRelayout): Changed for layout root being
1694         a renderer rather than a DOM node.
1695         (WebCore::isObjectAncestorContainerOf): Added this helper function that
1696         tests whether one object will be marked by calling
1697         markContainingBlocksForLayout() on the other.
1698         (WebCore::FrameView::scheduleRelayoutOfSubtree): Changed for layout
1699         root being a renderer rather than a DOM node. Changed the check if new
1700         and current layout roots are on the same path from the root to use
1701         the subgraph of the render tree defined by container()hood instead of
1702         the DOM tree and parenthood.
1703         * page/FrameView.h:
1704         * rendering/RenderBox.cpp: 
1705         (WebCore::RenderBox::calcWidth): Changed for layout root being a
1706         renderer rather than a DOM node.
1707         * rendering/RenderObject.cpp:
1708         (WebCore::RenderObject::~RenderObject): Added an assertion that the
1709         object being deleted is not currently the layout root.
1710         (WebCore::RenderObject::scheduleRelayout): Changed for layout root being
1711         a renderer rather than a DOM node.
1712
1713 2007-11-21  Mark Rowe  <mrowe@apple.com>
1714
1715         Reviewed by Eric.
1716
1717         Fix WebCore to build without warnings under GCC 4.2.
1718
1719         * Configurations/Base.xcconfig:
1720         * css/CSSRuleList.cpp:
1721         (WebCore::CSSRuleList::deleteRule):
1722         * css/CSSStyleSelector.cpp:
1723         (WebCore::CSSStyleSelector::locateSharedStyle):
1724         * html/HTMLParser.cpp:
1725         (WebCore::HTMLParser::allowNestedRedundantTag):
1726         * rendering/RenderBlock.cpp:
1727         (WebCore::RenderBlock::fillInlineSelectionGaps):
1728         (WebCore::RenderBlock::fillBlockSelectionGaps):
1729         * rendering/RenderLayer.cpp:
1730         (WebCore::RenderLayer::stackingContext):
1731         (WebCore::RenderLayer::enclosingPositionedAncestor):
1732         (WebCore::RenderLayer::transparentAncestor):
1733         * rendering/RenderStyle.cpp:
1734         (WebCore::BackgroundLayer::fillUnsetProperties):
1735         (WebCore::Transition::fillUnsetProperties):
1736         * rendering/RenderText.cpp:
1737         (WebCore::RenderText::containsOnlyWhitespace):
1738         * rendering/bidi.cpp:
1739         (WebCore::RenderBlock::determineStartPosition):
1740
1741 2007-11-21  Alp Toker  <alp@atoker.com>
1742
1743         Reviewed by Mark Rowe.
1744
1745         http://bugs.webkit.org/show_bug.cgi?id=16071
1746         Curl backend handles EINTR incorrectly
1747
1748         Defer timers during select() to avoid interruption by timer signals.
1749
1750         * platform/network/curl/ResourceHandleManager.cpp:
1751         (WebCore::ResourceHandleManager::downloadTimerCallback):
1752
1753 2007-11-21  Mark Rowe  <mrowe@apple.com>
1754
1755         Reviewed by Tim Hatcher.
1756
1757         Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
1758
1759         Update format strings to use format specifiers that match the argument types.
1760
1761         * loader/icon/IconDatabase.cpp:
1762         (WebCore::IconDatabase::performURLImport):
1763         (WebCore::IconDatabase::writeToDatabase):
1764         * platform/mac/TextCodecMac.cpp:
1765         (WebCore::TextCodecMac::decode):
1766         * storage/Database.cpp:
1767         (WebCore::Database::deliverAllPendingCallbacks):
1768
1769 2007-11-21  Xan Lopez  <xan@gnome.org>
1770
1771         Reviewed by Alp Toker.
1772
1773         Clarify scroll event processing with a comment.
1774
1775         * platform/gtk/PlatformScrollBarGtk.cpp:
1776         (gtkScrollEventCallback):
1777
1778 2007-11-21  Timothy Hatcher  <timothy@apple.com>
1779
1780         Reviewed by Adam Roben.
1781
1782         Bug 16085: Web Inspector's Network Timeline graph code clean up and misc. fixes
1783         http://bugs.webkit.org/show_bug.cgi?id=16085
1784         
1785         Changes include:
1786         - Refactor the drawing code as nested functions instead of global functions.
1787         - Compute the segment percentages only once per call to drawSummaryGraph.
1788         - Account for percentages that rounded down to total less-than 100%.
1789         - Draw the pill shadow better using the canvas shadow drawing properties.
1790         - Removes a couple canvas context saves and restores.
1791
1792         * page/inspector/NetworkPanel.js:
1793
1794 2007-11-21  Alexey Proskuryakov  <ap@webkit.org>
1795
1796         Reviewed by Adam Roben.
1797
1798         http://bugs.webkit.org/show_bug.cgi?id=16056
1799         Unicode not being interpreted correctly in Web Inspector source view
1800
1801         Cannot be tested automatically.
1802
1803         * loader/CachedCSSStyleSheet.cpp:
1804         (WebCore::CachedCSSStyleSheet::encoding):
1805         * loader/CachedCSSStyleSheet.h:
1806         * loader/CachedResource.h:
1807         (WebCore::CachedResource::encoding):
1808         * loader/CachedScript.cpp:
1809         (WebCore::CachedScript::encoding):
1810         * loader/CachedScript.h:
1811         * loader/CachedXBLDocument.cpp:
1812         (WebCore::CachedXBLDocument::encoding):
1813         * loader/CachedXBLDocument.h:
1814         * loader/CachedXSLStyleSheet.cpp:
1815         (WebCore::CachedXSLStyleSheet::encoding):
1816         * loader/CachedXSLStyleSheet.h:
1817         Teach textual CachedResources to report their encodings.
1818
1819         * page/InspectorController.cpp:
1820         (WebCore::addSourceToFrame):
1821         (WebCore::updateResourceResponse):
1822         Use the actual encoding - the network layer has little idea about it.
1823
1824 2007-11-20  Mark Rowe  <mrowe@apple.com>
1825
1826         Reviewed by Maciej Stachowiak.
1827
1828         Fix <rdar://problem/5609579> (DOMParser().parseFromString() freezes Safari when parsing large nodes with XML entities)
1829         http://bugs.webkit.org/show_bug.cgi?id=16076
1830
1831         XMLTokenizer was calling CharacterData::appendData twice per entity in the fragment of XML being
1832         parsed (once for text before the entity, once for the entity itself).  This triggered O(n^2) copying
1833         of the CharacterData's string due to resizing.  We now prevent this happening by buffering all the
1834         content for a given Text node in the XMLTokenizer before sending it out to the node in a single go.
1835
1836         * dom/XMLTokenizer.cpp:
1837         (WebCore::XMLTokenizer::characters): Append the characters to the buffer.
1838         (WebCore::XMLTokenizer::endDocument): Ensure the buffer is flushed when the document has ended.
1839         (WebCore::endDocumentHandler):
1840         (WebCore::XMLTokenizer::enterText):
1841         (WebCore::XMLTokenizer::exitText): Append the contents of the buffer to the node.
1842         (WebCore::XMLTokenizer::initializeParserContext): Add the endDocument handler.
1843         (WebCore::parseXMLDocumentFragment): Force endDocument to be called when parsing a fragment to ensure
1844         that the buffer gets flushed to the node.
1845         * dom/XMLTokenizer.h:
1846
1847 2007-11-20  Timothy Hatcher  <timothy@apple.com>
1848
1849         Reviewed by Mark Rowe.
1850
1851         Animate the status area and tip balloons in the Web Inspector
1852         with CSS animations.
1853
1854         * page/inspector/NetworkPanel.js:
1855         * page/inspector/inspector.css:
1856         * page/inspector/inspector.js:
1857
1858 2007-11-20  Kevin Ollivier  <kevino@theolliviers.com>
1859
1860         wx build fix for Windows. Don't use WebCore/move-js-headers.sh as
1861         it indiscriminately copies any headers inside JavaScriptCore,
1862         which includes Tiger ICU headers. 
1863
1864         * webcore-base.bkl:
1865         Remove references to the WebCore/include dir generated by
1866         move-js-headers.sh, and also get headers from JavaScriptCore
1867         directly rather than from WebCore/ForwardingHeaders. 
1868
1869 2007-11-20  Alp Toker  <alp@atoker.com>
1870
1871         Reviewed by Mark Rowe.
1872
1873         Avoid pointlessly mallocing and freeing this transform matrix.
1874
1875         * platform/gtk/FontPlatformDataGtk.cpp:
1876         (WebCore::FontPlatformData::FontPlatformData):
1877
1878 2007-11-20  Naiem Shaik  <naiem.shaik@gmail.com>
1879
1880         Reviewed by Alp Toker.
1881
1882         http://bugs.webkit.org/show_bug.cgi?id=15763
1883         [GTK] Enter key does not take to the link highlighted.
1884
1885         Add missing keycode cases.
1886
1887         * platform/gtk/KeyEventGtk.cpp:
1888         (WebCore::keyIdentifierForGdkKeyCode):
1889         (WebCore::windowsKeyCodeForKeyEvent):
1890         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1891
1892 2007-11-20  Mark Rowe  <mrowe@apple.com>
1893
1894         Reviewed by Sam Weinig.
1895
1896         Fix http://bugs.webkit.org/show_bug.cgi?id=16074
1897         Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted
1898
1899         For consistency with InsertOrderedList and InsertUnorderedList a value parameter of "" should
1900         not result in an id being set.
1901
1902         * editing/JSEditor.cpp: Don't set the id attribute if value is empty.
1903
1904 2007-11-20  Dan Bernstein  <mitz@apple.com>
1905
1906         Reviewed by Adam Roben.
1907
1908         - fix <rdar://problem/5090708> Textareas render broken-looking scrollbars when too short to show full scrollbar
1909
1910         * platform/win/PlatformScrollBar.h:
1911         * platform/win/PlatformScrollBarSafari.cpp:
1912         Added the "hit inset" constants (representing how far the track eats
1913         into the button).
1914         (WebCore::PlatformScrollbar::paint): Changed to paint the buttons and
1915         the thumb only if they should be showing.
1916         (WebCore::PlatformScrollbar::hasButtons): Added. Returns whether the
1917         arrows should be drawn.
1918         (WebCore::PlatformScrollbar::hasThumb): Added. Returns whether the thumb
1919         should be drawn.
1920         (WebCore::PlatformScrollbar::forwardButtonRect):
1921         (WebCore::PlatformScrollbar::trackRect): Changed to return the entire
1922         bounds of the scrollbar if the scrollbar has no buttons.
1923         (WebCore::PlatformScrollbar::paintTrack): Changed to paint a disabled
1924         track along the entire scrollbar if it has not buttons.
1925         (WebCore::PlatformScrollbar::hitTest): Changed to hit test only the
1926         parts that the scrollbar has in its current dimensions.
1927
1928 2007-11-20  Mark Rowe  <mrowe@apple.com>
1929
1930         Reviewed by Alp Toker.
1931
1932         * config.h: Change #if to #ifdef to silence warnings on non-Apple platforms.
1933
1934 2007-11-20  Simon Hausmann  <hausmann@kde.org>
1935
1936         Reviewed by Adam Treat <treat@kde.org>.
1937
1938         Remove static linkage of QtWebKit against the ICO image format plugin.
1939         Instead build the support for the ICO image format as a proper standalone qt image format plugin and install it.
1940
1941         * WebCore.pro:
1942         * platform/graphics/qt/ImageDecoderQt.cpp:
1943
1944 2007-11-20  David D. Kilzer  <ddkilzer@webkit.org>
1945
1946         no-svg build broken after r27278
1947         <http://bugs.webkit.org/show_bug.cgi?id=16061>
1948
1949         Reviewed by Eric.
1950
1951         * bindings/scripts/CodeGeneratorObjC.pm: Always generate DOMHTMLEmbedElementPrivate.h
1952         and DOMHTMLObjectElementPrivate.h for no-svg build.
1953
1954 2007-11-20  Adam Treat  <treat@kde.org>
1955
1956         Reviewed by Simon.
1957
1958         * Don't use so much heap memory.
1959
1960         * platform/graphics/qt/ImageDecoderQt.cpp:
1961         * platform/graphics/qt/ImageDecoderQt.h:
1962         * platform/graphics/qt/ImageSourceQt.cpp:
1963         (WebCore::ImageSource::createFrameAtIndex):
1964
1965 2007-11-20  Lars Knoll  <lars@trolltech.com>
1966
1967         Reviewed by Simon.
1968
1969         Fix text break interators.
1970         
1971         The break iterators where trying to be smart about the input
1972         string and caching their results. Unfortunately a pointer/string length
1973         comparison is not good enough in all cases (since some input is stack based
1974         temp strings). Removed the caching but at the same time started to use a more
1975         efficient constructor of QTextBoundaryFinder that doesn't need to malloc for
1976         most strings.
1977         
1978         Fixes two test cases that test "text-transform: capitalize".
1979
1980         * platform/qt/TextBreakIteratorQt.cpp:
1981         (WebCore::wordBreakIterator):
1982         (WebCore::characterBreakIterator):
1983         (WebCore::lineBreakIterator):
1984         (WebCore::sentenceBreakIterator):
1985
1986 2007-11-20  Adam Treat  <treat@kde.org>
1987
1988         Reviewed by George.
1989
1990         * Make gif animations work for instance.
1991
1992         * platform/graphics/qt/ImageDecoderQt.cpp:
1993         (WebCore::ImageDecoderQt::reset):
1994         (WebCore::ImageDecoderQt::setData):
1995         (WebCore::ImageDecoderQt::frameCount):
1996         (WebCore::ImageDecoderQt::repetitionCount):
1997         * platform/graphics/qt/ImageDecoderQt.h:
1998
1999 2007-11-20  Adam Treat  <treat@kde.org>
2000
2001         * Build in release mode
2002
2003         * platform/NotImplemented.h:
2004
2005 2007-11-20  Adam Treat  <treat@kde.org>
2006
2007         Reviewed by Simon and George.
2008
2009         * Be quiet and allow suppression of NotImplemented calls at runtime.
2010
2011         * platform/NotImplemented.h:
2012
2013 2007-11-19  Doug Turner  <dougt@meer.net>
2014
2015         Reviewed by Alp Toker.
2016
2017         http://bugs.webkit.org/show_bug.cgi?id=16054
2018         Crash when GlyphPage::fill is called with more than 256 bytes of data
2019
2020         http://bugs.webkit.org/show_bug.cgi?id=14446
2021         [GDK] Crash on http://www.wikipedia.org/
2022
2023         setGlyphDataForIndex() uses a fixed array of size 256 which we can't
2024         exceed. We need to return failure if the buffer has Unicode
2025         supplementary characters for now.
2026
2027         This strategy matches the Win port, which also doesn't support this
2028         case yet.
2029
2030         Add an assertion so nobody makes this mistake again.
2031
2032         * platform/GlyphPageTreeNode.h:
2033         (WebCore::GlyphPage::setGlyphDataForIndex):
2034         * platform/gtk/GlyphPageTreeNodeGtk.cpp:
2035         (WebCore::GlyphPage::fill):
2036
2037 2007-11-19  Doug Turner  <dougt@meer.net>
2038
2039         Reviewed by Timothy Hatcher.
2040
2041         http://bugs.webkit.org/show_bug.cgi?id=16050
2042         sqlite3_prepare16_v2 build bustage.
2043
2044         Using the correct SQLITE_VERSION_NUMBER around sqlite_prepare16_v2
2045         to fix build bustage.
2046
2047         * platform/sql/SQLiteStatement.cpp:
2048         (WebCore::SQLiteStatement::prepare):
2049
2050 2007-11-19  Mark Rowe  <mrowe@apple.com>
2051
2052         Build fix.  Don't over-qualify the constructor name.
2053
2054         * storage/DatabaseDetails.h:
2055
2056 2007-11-19  Brady Eidson <beidson@apple.com>
2057
2058         Reviewed by Maciej
2059
2060         Stub out the WebCore parts of the WebKit API
2061
2062         * WebCore.base.exp:
2063         * WebCore.xcodeproj/project.pbxproj:
2064
2065         * storage/DatabaseDetails.h: Added.  Simple container for vitals on a specific database
2066         (WebCore::DatabaseDetails::DatabaseDetails::DatabaseDetails):
2067         (WebCore::DatabaseDetails::DatabaseDetails):
2068         (WebCore::DatabaseDetails::isValid):
2069         (WebCore::DatabaseDetails::name):
2070         (WebCore::DatabaseDetails::version):
2071         (WebCore::DatabaseDetails::displayName):
2072         (WebCore::DatabaseDetails::expectedUsage):
2073         (WebCore::DatabaseDetails::currentUsage):
2074
2075         * storage/DatabaseTracker.cpp:  Added various methods for API usage
2076         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
2077         (WebCore::DatabaseTracker::usageForOrigin):
2078         (WebCore::DatabaseTracker::quotaForOrigin):
2079         (WebCore::DatabaseTracker::setQuota):
2080         * storage/DatabaseTracker.h:
2081
2082 2007-11-19  Kevin Ollivier  <kevino@theolliviers.com>
2083
2084         wx port build fix.
2085
2086         * platform/graphics/wx/AffineTransformWx.cpp:
2087         (WebCore::AffineTransform::operator== ):
2088         m_transform is only available when using wxGraphicsContext.
2089
2090 2007-11-19  Alp Toker  <alp@atoker.com>
2091
2092         Reviewed by Mark Rowe.
2093
2094         GTK+ drawing fixes.
2095
2096         Add a check to avoid crashing when the GraphicsContext is not
2097         associated with a GdkDrawable. This was noticed when adding printing
2098         support but might be triggered in other situations too.
2099
2100         Do not render themes when painting is disabled. This is an
2101         optimisation for cases where GraphicsContext is used to calculate page
2102         dimensions etc. without actually rendering.
2103
2104         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2105         (WebCore::GraphicsContext::gdkDrawable):
2106         * platform/gtk/RenderThemeGtk.cpp:
2107         (WebCore::paintMozWidget):
2108
2109 2007-11-13  Rahul Abrol  <ra5ul@comcast.net>
2110
2111         Reviewed by Tim Hatcher.
2112
2113         http://bugs.webkit.org/show_bug.cgi?id=15977
2114         Resizing images preference now toggles default image state.
2115
2116         * loader/ImageDocument.cpp:
2117         (WebCore::ImageDocument::ImageDocument):
2118         (WebCore::ImageDocument::createDocumentStructure):
2119         (WebCore::ImageDocument::imageChanged):
2120
2121 2007-11-19  Kevin Ollivier  <kevino@theolliviers.com>
2122
2123         Update wx port build sources with recent changes, update
2124         wx FontPlatformData to be a class (MSVC7 gets confused
2125         otherwise...) and implement its hash() method.
2126
2127         Reviewed by Adam.
2128
2129         * WebCoreSources.bkl:
2130         * platform/wx/FontPlatformData.h:
2131         (WebCore::FontPlatformData::hash):
2132
2133 2007-11-19  Julien Chaffraix  <julien.chaffraix@gmail.com>
2134
2135         Reviewed by Darin.
2136
2137         http://bugs.webkit.org/show_bug.cgi?id=12194
2138         Bug 12194: Trying to access XMLHttpRequest.responseText or responseXML when they 
2139         are not available should raise an exception
2140
2141         Tests: http/tests/xmlhttprequest/xmlhttprequest-responseText-exception.html
2142                http/tests/xmlhttprequest/xmlhttprequest-responseXML-exception.html
2143
2144         * bindings/js/JSXMLHttpRequest.cpp:
2145         (KJS::JSXMLHttpRequest::getValueProperty):
2146         * xml/XMLHttpRequest.cpp:
2147         (WebCore::XMLHttpRequest::getResponseText):
2148         (WebCore::XMLHttpRequest::getResponseXML):
2149         * xml/XMLHttpRequest.h:
2150
2151 2007-11-19  Peter Kasting  <zerodpx@gmail.com>
2152
2153         Reviewed by Darin Adler.
2154
2155         http://bugs.webkit.org/show_bug.cgi?id=15971
2156         The GIF decoder should not fail decoding if the caller asks it to
2157         decode again when no new data has arrived since the last call.
2158
2159         * platform/image-decoders/gif/GIFImageReader.cpp:
2160         (GIFImageReader::read):
2161
2162 2007-11-18  Brady Eidson <beidson@apple.com>
2163
2164         Reviewed by Eric
2165
2166         Fix a crash hashing a default SecurityOriginData object 
2167
2168         * storage/DatabaseTracker.cpp:
2169         (WebCore::SecurityOriginDataHash::hash): The default object has some default strings with NULL
2170           StringImpls - don't try to hash those!
2171
2172 2007-11-18  Timothy Hatcher  <timothy@apple.com>
2173
2174         Reviewed by Sam Weinig.
2175
2176         Bug 16043: Remove InspectorController.log now that console.log works
2177         http://bugs.webkit.org/show_bug.cgi?id=16043
2178
2179         Remove the last uses of InspectorController.log. Once use was no longer needed,
2180         checking an erro case that can't happen anymore. The other case now uses console.error.
2181
2182         * page/InspectorController.cpp: Remove the log function.
2183         (WebCore::InspectorController::windowScriptObjectAvailable): Remove the log function from
2184         InspectorController script class.
2185         * page/inspector/DocumentPanel.js: Remove a use of InspectorController.log that isn't needed.
2186         * page/inspector/Panel.js: Change InspectorController.log to console.log and early return.
2187
2188 2007-11-18  Timothy Hatcher  <timothy@apple.com>
2189
2190         Reviewed by Brady.
2191
2192         Bug 16041: REGRESSION: the Database panel in the Inspector stopped showing errors
2193         http://bugs.webkit.org/show_bug.cgi?id=16041
2194
2195         * page/inspector/DatabasePanel.js: Implement error callbacks to pass to executeSql()
2196           and transaction(). Refactored some code for the success and error callbacks to use.
2197
2198 2007-11-18  Alexey Proskuryakov  <ap@webkit.org>
2199
2200         Reviewed by Maciej.
2201
2202         <rdar://problem/5546393> Whitespace handling doesn't match HTML5.
2203
2204         HTML5 definition is the same as MSIE's, with the exception that the latter strips null
2205         characters. Firefox also treats U+0008 as whitespace, but not U+000B or U+000C.
2206
2207         Test: fast/parser/html-whitespace.html
2208
2209         * html/HTMLTokenizer.cpp:
2210         (WebCore::HTMLTokenizer::parseSpecial):
2211         (WebCore::HTMLTokenizer::parseTag):
2212         Use isASCIISpace, which matches HTML5 definition of whitespace, and also what we use to
2213         check for whitespace almost everywhere.
2214
2215 2007-11-17  Mark Rowe  <mrowe@apple.com>
2216
2217         Reviewed by Darin Adler.
2218
2219         Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
2220              <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
2221              http://bugs.webkit.org/show_bug.cgi?id=16033
2222
2223         Update for changes in Interpreter method signatures.
2224
2225         * bindings/js/kjs_binding.cpp:
2226         (KJS::ScriptInterpreter::ScriptInterpreter):
2227         * bindings/js/kjs_window.cpp:
2228         (KJS::Window::clear):
2229
2230 2007-11-17  Timothy Hatcher  <timothy@apple.com>
2231
2232         Reviewed by Mark Rowe.
2233
2234         Bug 13470: i18n: The Web Inspector is not localizable
2235         http://bugs.webkit.org/show_bug.cgi?id=13470
2236
2237         Add support for localization to the Web Inspector. Clients need to
2238         implement localizedStringsURL() to return the URL of the
2239         InspectorLocalizedStrings.js that best matches the user's language.
2240
2241         * English.lproj: Added.
2242         * English.lproj/InspectorLocalizedStrings.js: Added.
2243         * WebCore.xcodeproj/project.pbxproj: Add InspectorLocalizedStrings.js.
2244         * page/InspectorClient.h: Add localizedStringsURL.
2245         * page/InspectorController.cpp: Add localizedStringsURL that calls
2246           the client. Also added a version exposed to JavaScript.
2247         * page/InspectorController.h: Add localizedStringsURL.
2248         * page/inspector/ConsolePanel.js: Call WebInspector.UIString
2249           for user visible strings.
2250         * page/inspector/DatabasePanel.js: Ditto.
2251         * page/inspector/DocumentPanel.js: Ditto.
2252         * page/inspector/ImagePanel.js: Ditto.
2253         * page/inspector/MetricsSidebarPane.js: Ditto.
2254         * page/inspector/NetworkPanel.js: Ditto.
2255         * page/inspector/Panel.js: Ditto.
2256         * page/inspector/PropertiesSidebarPane.js: Ditto.
2257         * page/inspector/Resource.js: Ditto.
2258         * page/inspector/ResourceCategory.js: Ditto.
2259         * page/inspector/SourcePanel.js: Ditto.
2260         * page/inspector/StylesSidebarPane.js: Ditto.
2261         * page/inspector/inspector.css: Use pre-wrap so database errors can use \n.
2262         * page/inspector/inspector.html: Remove some user visible strings.
2263         * page/inspector/inspector.js: Added WebInspector.UIString and call
2264           WebInspector.UIString for user visible strings. Some code needed to be 
2265           moved to WebInspector.loaded to use UIString after the localized strings
2266           get loaded.
2267         * platform/graphics/svg/SVGImageEmptyClients.h:
2268         (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): Remove WebCore:: prefix.
2269         (WebCore::SVGEmptyInspectorClient::createPage): Ditto.
2270         (WebCore::SVGEmptyInspectorClient::localizedStringsURL): Add empty stub.
2271         (WebCore::SVGEmptyInspectorClient::highlight): Remove WebCore:: prefix.
2272         (WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto.
2273
2274 2007-11-17  Timothy Hatcher  <timothy@apple.com>
2275
2276         Reviewed by Adam.
2277
2278         Reworte String.sprintf to fix many bad bugs and to not use RegExp. Also added
2279         String.vsprintf so it can be used later for the localization function.
2280
2281         This version only supports argument reordering, precision for floats, and these
2282         format characters: d, f, s and @. Any unsupported format characters are logged
2283         and substituted like strings.
2284
2285         * page/inspector/utilities.js:
2286
2287 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
2288
2289         Windows build fix.
2290
2291         * editing/Editor.h: Made canSmartCopyOrDelete public, as Windows WebView still needs it.
2292
2293 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
2294
2295         Reviewed by Darin.
2296
2297         http://bugs.webkit.org/show_bug.cgi?id=15969
2298         Eliminate Editor::deleteRange()
2299
2300         No change in functionality.
2301
2302         * editing/CompositeEditCommand.h: Removed unimplemented deleteKeyPressed().
2303
2304         * editing/Editor.cpp:
2305         (WebCore::Editor::deleteWithDirection):
2306         (WebCore::Editor::cut):
2307         (WebCore::Editor::performDelete):
2308         * editing/Editor.h:
2309         Moved relevant Editor::deleteRange() functionality to its callers.
2310         Removed deleteSelectionWithSmartDelete(void), which was more confusing than helpful
2311         in my opinion.
2312
2313         * editing/mac/EditorMac.mm:
2314         (WebCore::initializeKillRingIfNeeded):
2315         (WebCore::Editor::addToKillRing):
2316         (WebCore::Editor::yank):
2317         (WebCore::Editor::yankAndSelect):
2318         (WebCore::Editor::setMark):
2319         (WebCore::unionDOMRanges):
2320         (WebCore::Editor::deleteToMark):
2321         (WebCore::Editor::selectToMark):
2322         (WebCore::Editor::swapWithMark):
2323         Pushed kill ring handling down from WebCore.
2324
2325         * page/mac/WebCoreFrameBridge.h:
2326         * page/mac/WebCoreFrameBridge.mm:
2327         Removed setMarkDOMRange (the corresponding getter is still needed).
2328
2329         * WebCore.base.exp: No longer need to export Editor::deleteRange() and Editor::insertTextWithoutSendingTextEvent().
2330         Export the new kill ring functions.
2331
2332 2007-11-16  Ryan Leavengood  <leavengood@gmail.com>
2333
2334         Reviewed by David Kilzer.
2335
2336         Build fix: the needed headers for POSIX file functions were not
2337         included.
2338
2339         * platform/posix/FileSystemPOSIX.cpp:
2340
2341 2007-11-16  Dan Bernstein  <mitz@apple.com>
2342
2343         Reviewed by Darin Adler.
2344
2345         - fix the common case of <http://bugs.webkit.org/show_bug.cgi?id=15994>
2346           REGRESSION: Incomplete repaint of CSS image substitution
2347
2348         Test: fast/repaint/clip-with-layout-delta.html
2349
2350         * rendering/LayoutState.cpp:
2351         (WebCore::LayoutState::LayoutState): Account for layout delta when
2352         pushing additional clip.
2353
2354 2007-11-16  Antti Koivisto  <antti@apple.com>
2355
2356         Reviewed by Adele.
2357         
2358         Seeking related fixes, updates to match the latest specification
2359         - rename loopCount of HTMLMediaElement to playCount
2360         - add explicit seeking attribute to HTMLMediaElement to get semantics right
2361         - implement the specification behavior that currentTime must immediately return seeked position in HTMLMediaElement 
2362           instead of MoviePrivateQTKit 
2363         - fix broken behavior when seeking past end of the media, add tests
2364         - replace Movie didEnd callback with broader timeChanged callback (which gets called in didEnd case too)
2365         - use setDelayCallbacks: in various MoviePrivateQTKit methods to avoid bug prone synchronous callbacks from QT, make
2366           HTMLMediaElement not depend on synchronous callbacks
2367         - do some cleanups and simplifications in MoviePrivateQTKit, get rid of m_rateBeforeSeek and m_blockStateUpdate variables
2368
2369         Tests: http/tests/media/video-seekable-stall.html
2370                media/video-seeking.html
2371                media/video-seek-past-end-paused.html
2372                media/video-seek-past-end-playing.html
2373
2374         * html/HTMLAttributeNames.in: 
2375         * html/HTMLMediaElement.cpp:
2376         (WebCore::HTMLMediaElement::HTMLMediaElement):
2377         (WebCore::HTMLMediaElement::load):
2378         (WebCore::HTMLMediaElement::movieNetworkStateChanged):
2379         (WebCore::HTMLMediaElement::setReadyState):
2380         (WebCore::HTMLMediaElement::seek):
2381         (WebCore::HTMLMediaElement::seeking):
2382         (WebCore::HTMLMediaElement::currentTime):
2383         (WebCore::HTMLMediaElement::ended):
2384         (WebCore::HTMLMediaElement::play):
2385         (WebCore::HTMLMediaElement::pause):
2386         (WebCore::HTMLMediaElement::playCount):
2387         (WebCore::HTMLMediaElement::setPlayCount):
2388         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
2389         (WebCore::HTMLMediaElement::movieTimeChanged):
2390         (WebCore::HTMLMediaElement::endedPlayback):
2391         (WebCore::HTMLMediaElement::updateMovie):
2392         * html/HTMLMediaElement.h:
2393         * html/HTMLMediaElement.idl:
2394         * platform/graphics/Movie.cpp:
2395         (WebCore::Movie::timeChanged):
2396         * platform/graphics/Movie.h:
2397         (WebCore::MovieClient::movieTimeChanged):
2398         * platform/graphics/mac/MoviePrivateQTKit.h:
2399         * platform/graphics/mac/MoviePrivateQTKit.mm:
2400         (WebCore::MoviePrivate::MoviePrivate):
2401         (WebCore::MoviePrivate::load):
2402         (WebCore::MoviePrivate::play):
2403         (WebCore::MoviePrivate::pause):
2404         (WebCore::MoviePrivate::currentTime):
2405         (WebCore::MoviePrivate::seek):
2406         (WebCore::MoviePrivate::doSeek):
2407         (WebCore::MoviePrivate::cancelSeek):
2408         (WebCore::MoviePrivate::seekTimerFired):
2409         (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
2410         (WebCore::MoviePrivate::paused):
2411         (WebCore::MoviePrivate::updateStates):
2412         (WebCore::MoviePrivate::timeChanged):
2413         (WebCore::MoviePrivate::didEnd):
2414
2415 2007-11-16  Anders Carlsson  <andersca@apple.com>
2416
2417         Reviewed by Adam.
2418
2419         <rdar://problem/5603832>
2420         XMLHttpRequest readyState 3 & responseText buffer issues.
2421
2422         * platform/network/cf/ResourceHandleCFNet.cpp:
2423         (WebCore::makeFinalRequest):
2424         Add new parameter which controls whether content sniffing should be turned off.
2425         
2426         (WebCore::ResourceHandle::loadResourceSynchronously):
2427         Always content sniff sync loads.
2428         
2429         * platform/network/cf/ResourceRequestCFNet.cpp:
2430         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2431         If the ResourceRequest already has a backing CFURLRequest, make a copy of it. This preserves
2432         any properties set on the CFURLRequest.
2433
2434 2007-11-16  Jon Honeycutt  <jhoneycutt@apple.com>
2435
2436         Reviewed by Ollie.
2437
2438         <rdar://problem/5605175> Crash closing or leaving window with ViewPoint 
2439         Media player plugin
2440
2441         ViewPoint plugin requires that we pass a valid NPSavedData* to
2442         NPP_Destroy.
2443
2444         * plugins/win/PluginViewWin.cpp: Pass a valid NPSavedData* to
2445         NPP_Destroy. If the plugin allocates data, discard it
2446
2447 2007-11-16  Mark Rowe  <mrowe@apple.com>
2448
2449         Reviewed by Tim Hatcher.
2450
2451         Build WebCore as a sub-framework of WebKit in all configurations.
2452
2453         * Configurations/WebCore.xcconfig:
2454         * WebCore.xcodeproj/project.pbxproj:
2455
2456 2007-11-16  Doug Turner  <dougt@meer.net>
2457
2458         Reviewed by Alp.
2459
2460         http://bugs.webkit.org/show_bug.cgi?id=16018
2461         build bustage when building on debian 4.0
2462
2463         Fix build bustage on GTK+ with older versions of Pango.
2464
2465         Don't cache the return value since the docs say it can change.
2466
2467         * platform/gtk/Language.cpp:
2468         (WebCore::defaultLanguage):
2469
2470 2007-11-16  Brady Eidson  <beidson@apple.com>
2471
2472         Build fix
2473
2474         * platform/SecurityOriginData.h:
2475         (WebCore::operator!=): Whoops!
2476
2477 2007-11-16  Brady Eidson  <beidson@apple.com>
2478
2479         Reviewed by Sam
2480
2481         Further purify DatabaseTracker to use SecurityOriginData instead of "a String"
2482
2483         * WebCore.base.exp:
2484         * WebCore.xcodeproj/project.pbxproj:
2485         * WebCore.vcproj/WebCore.vcproj
2486         * WebCore.pro
2487
2488         * platform/SecurityOriginData.cpp: Added.
2489         (WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string,
2490           since that form is what will be stored in the Databases.db on disk
2491         (WebCore::SecurityOriginData::stringIdentifier):
2492         * platform/SecurityOriginData.h:
2493         (WebCore::SecurityOriginData::protocol):
2494         (WebCore::SecurityOriginData::host):
2495         (WebCore::SecurityOriginData::port):
2496
2497         * storage/DatabaseTracker.cpp:
2498         (WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for 
2499           a SecurityOriginData object
2500         (WebCore::SecurityOriginDataHash::equal):
2501         (WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation
2502         (WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation
2503         (WebCore::DatabaseTracker::fullPathForDatabase):
2504         (WebCore::DatabaseTracker::populateOrigins):
2505         (WebCore::DatabaseTracker::origins):
2506         (WebCore::DatabaseTracker::addDatabase):
2507         * storage/DatabaseTracker.h:
2508
2509 2007-11-16  Alexey Proskuryakov  <ap@webkit.org>
2510
2511         Windows build fix.
2512
2513         * WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}.
2514
2515 2007-11-16  Nikolas Zimmermann  <zimmermann@kde.org>
2516
2517         Reviewed by Eric.
2518
2519         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290
2520
2521         Implement all SVGTextContentElement DOM methods.
2522         This is the last missing SVG text feature. SVG fonts is next.
2523
2524         Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods)
2525
2526         * ksvg2/svg/SVGTextContentElement.cpp:
2527         (WebCore::cummulatedCharacterRangeLength):
2528         (WebCore::SVGInlineTextBoxQueryWalker::):
2529         (WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker):
2530         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
2531         (WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters):
2532         (WebCore::SVGInlineTextBoxQueryWalker::longResult):
2533         (WebCore::SVGInlineTextBoxQueryWalker::floatResult):
2534         (WebCore::SVGInlineTextBoxQueryWalker::pointResult):
2535         (WebCore::SVGInlineTextBoxQueryWalker::rectResult):
2536         (WebCore::SVGInlineTextBoxQueryWalker::stopProcessing):
2537         (WebCore::findInlineTextBoxInTextChunks):
2538         (WebCore::rootInlineBoxForTextContentElement):
2539         (WebCore::executeTextQuery):
2540         (WebCore::SVGTextContentElement::getNumberOfChars):
2541         (WebCore::SVGTextContentElement::getComputedTextLength):
2542         (WebCore::SVGTextContentElement::getSubStringLength):
2543         (WebCore::SVGTextContentElement::getStartPositionOfChar):
2544         (WebCore::SVGTextContentElement::getEndPositionOfChar):
2545         (WebCore::SVGTextContentElement::getExtentOfChar):
2546         (WebCore::SVGTextContentElement::getRotationOfChar):
2547         (WebCore::SVGTextContentElement::getCharNumAtPosition):
2548         (WebCore::SVGTextContentElement::selectSubString):
2549         * ksvg2/svg/SVGTextContentElement.h:
2550         * rendering/SVGInlineTextBox.h:
2551
2552 2007-11-15  Adele Peterson  <adele@apple.com>
2553
2554         Reviewed by Oliver.
2555
2556         Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)
2557
2558         Test: fast/forms/menulist-no-renderer-onmousedown.html
2559
2560         * html/HTMLSelectElement.cpp:
2561         (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here.  None of the default behavior makes sense if there's no renderer.
2562         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler.
2563
2564 2007-11-15  Antti Koivisto  <antti@apple.com>
2565
2566         Reviewed by Adele.
2567
2568         Fix <rdar://problem/5601598>
2569         The movie tag should do initialization on need and not during startup.
2570         
2571         Initialize Movie MIME type hash on demand
2572
2573         * platform/MIMETypeRegistry.cpp:
2574         (WebCore::initialiseSupportedMovieMIMETypes):
2575         (WebCore::initialiseMIMETypeRegistry):
2576         (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
2577         (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
2578
2579 2007-11-15  Mark Rowe  <mrowe@apple.com>
2580
2581         Build fix for Qt on Windows.
2582
2583         * xml/XPathStep.cpp:
2584         (WebCore::XPath::Step::nodesInAxis):
2585
2586 2007-11-15  Timothy Hatcher  <timothy@apple.com>
2587
2588         Reviewed by Mark Rowe.
2589
2590         Bug 14761: Web Inspector leaks JS objects and DOM nodes
2591         http://bugs.webkit.org/show_bug.cgi?id=14761
2592
2593         * page/InspectorController.cpp:
2594         (WebCore::InspectorController::~InspectorController):
2595         Change the tear down order so that inspectorDestroyed() is called before
2596         InspectorController private data is set to Zero. The inspectorDestroyed()
2597         call ends up closing the WebView and triggering InspectorController::close()
2598         which unprotects m_scriptObject. This didn't happen when the private data
2599         was cleared before calling inspectorDestroyed().
2600
2601 2007-11-15  Mark Rowe  <mrowe@apple.com>
2602
2603         Gtk build fix.
2604
2605         * WebCore.pro:
2606
2607 2007-11-15  Alexey Proskuryakov  <ap@webkit.org>
2608
2609         Reviewed by Darin.
2610
2611         http://bugs.webkit.org/show_bug.cgi?id=15989
2612         XPath queries with predicates incorrectly retains the current node across unions
2613
2614         Test: fast/xpath/union-context-node.xhtml
2615
2616         * xml/XPathPath.cpp:
2617         (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation.
2618         * xml/XPathStep.cpp:
2619         (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it.
2620
2621 2007-11-15  Alexey Proskuryakov  <ap@webkit.org>
2622
2623         Reviewed by Darin.
2624
2625         http://bugs.webkit.org/show_bug.cgi?id=15988
2626         REGRESSION: XPath preceding-axis query misses nested elements
2627
2628         Test: fast/xpath/preceding-axis.xhtml
2629
2630         * xml/XPathStep.cpp:
2631         (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time.
2632
2633 2007-11-15  Timothy Hatcher  <timothy@apple.com>
2634
2635         Reviewed by Mark Rowe and Sam.
2636
2637         This corrects a couple of issues in the Web Inspector where selected search results
2638         would not have the right text color when the window is inactive or the results are focused.
2639
2640         * page/inspector/inspector.css:
2641
2642 2007-11-15  Timothy Hatcher  <timothy@apple.com>
2643
2644         Reviewed by Sam.
2645
2646         Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels
2647         http://bugs.webkit.org/show_bug.cgi?id=16007
2648
2649         Makes the click width an option on TreeElement and make ResourceCategoryTreeElement
2650         a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is 
2651         20 pixels, and the default is 10 pixels.
2652
2653         * page/inspector/ResourceCategory.js:
2654         * page/inspector/treeoutline.js:
2655
2656 2007-11-15  Anders Carlsson  <andersca@apple.com>
2657
2658         Reviewed by Brady.
2659
2660         Pass a VoidCallback to Database::transaction and Database::changeVersion.
2661         This is not yet hooked up to the database machinery.
2662         
2663         * WebCore.vcproj/WebCore.vcproj:
2664         * bindings/js/JSDatabaseCustom.cpp:
2665         (WebCore::JSDatabase::changeVersion):
2666         (WebCore::JSDatabase::transaction):
2667         * storage/Database.cpp:
2668         (WebCore::Database::changeVersion):
2669         (WebCore::Database::transaction):
2670         * storage/Database.h:
2671
2672 2007-11-15  Timothy Hatcher  <timothy@apple.com>
2673
2674         Reviewed by Adam.
2675
2676         Bug 16005: Hovering in the breadcrumbs causes jumpy behavior
2677         http://bugs.webkit.org/show_bug.cgi?id=16005
2678
2679         Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed
2680         crumb will expose as many hidden crumbs as possible to the user. Also crumbs
2681         that have ID attributes will compact to the ID over the tag name.
2682
2683         * page/inspector/DocumentPanel.js:
2684
2685 2007-11-15  Anders Carlsson  <andersca@apple.com>
2686
2687         Reviewed by Sam.
2688
2689         Make the VoidCallback DOM interface behave more like our other DOM interfaces.
2690         
2691         * bindings/js/JSCustomVoidCallback.h: Added.
2692         * bindings/js/JSCustomVoidCallback.cpp: Added.
2693         (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
2694         (WebCore::JSCustomVoidCallback::handleEvent):
2695         VoidCallback implementation that wraps a JS object.
2696         
2697         (WebCore::toVoidCallback):
2698         New method that creates a VoidCallback implementation given a JS object.
2699         
2700         * bindings/scripts/CodeGeneratorJS.pm:
2701         Specify that VoidCallback can fail conversion and add a custom conversion function.
2702         
2703         * html/HTMLMediaElement.cpp:
2704         (WebCore::HTMLMediaElement::movieCuePointReached):
2705         Call handleEvent on the callback.
2706         
2707         (WebCore::HTMLMediaElement::removeCuePoint):
2708         Comment out parts of this method, it has already been removed in the HTML5 spec and it relies
2709         on overriding VoidCallback equality.
2710         
2711         * html/VoidCallback.cpp: Removed.
2712         
2713         * html/VoidCallback.h:
2714         (WebCore::VoidCallback::VoidCallback):
2715         (WebCore::VoidCallback::~VoidCallback):
2716         Make this an abstract class with a pure virtual handleEvent method.
2717         
2718 2007-11-15  Adam Roben  <aroben@apple.com>
2719
2720         Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work
2721
2722         There were two things broken here:
2723            - WebView now requires a WM_CHAR message to be sent before it will
2724              create a keyboard event with a charCode, but we were only sending
2725              a WM_KEYDOWN event.
2726            - The popup menu was not updating its focused index when the
2727              <select> element's selectedIndex changed.
2728
2729         Reviewed by Adele.
2730
2731         * platform/win/PopupMenuWin.cpp:
2732         (WebCore::PopupMenu::updateFromElement): Update the focused index from
2733         the client's selected index.
2734         (WebCore::PopupWndProc): When we receive a WM_CHAR message for a
2735         printable character, manufacture a WM_KEYDOWN message for it and post
2736         both that and the current WM_CHAR message to the WebView.
2737
2738 2007-11-15  Brady Eidson  <beidson@apple.com>
2739
2740         Build fix
2741
2742         * storage/DatabaseTracker.cpp:
2743         (WebCore::DatabaseTracker::fullPathForDatabase):
2744         (WebCore::DatabaseTracker::databaseNamesForOrigin):
2745
2746 2007-11-15  Brady Eidson  <beidson@apple.com>
2747
2748         Reviewed by John and Sam
2749
2750         Stubbing out everything required for a WebKit API for databases
2751
2752         Biggest change in WebCore is that we passed around SecurityOriginData as the representation
2753         of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
2754         that has a different purpose besides just hanging on to the data)
2755
2756         * WebCore.base.exp:
2757         * WebCore.xcodeproj/project.pbxproj:
2758
2759         * platform/SecurityOrigin.cpp:
2760         * platform/SecurityOrigin.h:
2761         * platform/SecurityOriginData.h: Added.  Simple object to encapsulate the 3
2762           pieces of data in the SecurityOrigin tuple
2763         (WebCore::SecurityOriginData::SecurityOriginData):
2764         (WebCore::SecurityOriginData::protocol):
2765         (WebCore::SecurityOriginData::host):
2766         (WebCore::SecurityOriginData::port):
2767         (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components,
2768           colon separated
2769
2770         * storage/Database.cpp:
2771         (WebCore::Database::Database): Use SecurityOriginData instead
2772
2773         * storage/DatabaseTracker.cpp:
2774         (WebCore::DatabaseTracker::fullPathForDatabase):
2775         (WebCore::DatabaseTracker::databaseNamesForOrigin):
2776         (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
2777         (WebCore::DatabaseTracker::deleteDatabase):
2778         * storage/DatabaseTracker.h:
2779
2780         * storage/DatabaseTrackerClient.h: Added.  For dispatching notifications up to WebKit
2781         (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15  Jon Honeycutt  <jhoneycutt@apple.com>
2782
2783 2007-11-15  Jon Honeycutt  <jhoneycutt@apple.com>
2784
2785         Reviewed by Anders.
2786
2787         NP_ASFILEONLY streams should not buffer data in m_deliveryData.
2788
2789         * plugins/win/PluginStreamWin.cpp:
2790         (WebCore::PluginStreamWin::didReceiveData):
2791
2792 2007-11-15  Justin Garcia  <justin.garcia@apple.com>
2793
2794         Reviewed by Adele Peterson.
2795
2796         <rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode
2797         
2798         A textarea that contained the selection was removed but the selection wasn't cleared,
2799         and we'd crash in code that assumed a valid, in-document selection.
2800
2801         * editing/SelectionController.cpp:
2802         (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the
2803         shadowAncestorNode of the node that contains the position, not just if the node being removed
2804         contains that shadowAncestorNode.
2805
2806 2007-11-15  Nikolas Zimmermann  <zimmermann@kde.org>
2807
2808         Reviewed by Maciej.
2809
2810         Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before.
2811
2812         * rendering/SVGInlineTextBox.cpp:
2813         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
2814         (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
2815
2816 2007-11-15  Anders Carlsson  <andersca@apple.com>
2817
2818         Reviewed by Brady.
2819
2820         <rdar://problem/5562470>
2821         openDatabase does not work when the version string is empty
2822
2823         If the string is empty, pass a real empty string to sqlite3_bind_text16.
2824         
2825         * platform/sql/SQLiteStatement.cpp:
2826         (WebCore::SQLiteStatement::bindText):
2827
2828 2007-11-15  Anders Carlsson  <andersca@apple.com>
2829
2830         Reviewed by Brady.
2831
2832         Get rid of SQLiteStatement::bindText and rename bindText16 to bindText.
2833         Remove the copy parameter from bindText and bindBlob and always copy passed in data instead.
2834
2835         * loader/icon/IconDatabase.cpp:
2836         (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
2837         (WebCore::IconDatabase::removePageURLFromSQLDatabase):
2838         (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
2839         (WebCore::IconDatabase::addIconURLToSQLDatabase):
2840         (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
2841         (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
2842         * platform/sql/SQLiteStatement.cpp:
2843         (WebCore::SQLiteStatement::prepare):
2844         * platform/sql/SQLiteStatement.h:
2845         * storage/Database.cpp:
2846         (WebCore::setTextValueInDatabase):
2847         * storage/DatabaseTracker.cpp:
2848         (WebCore::DatabaseTracker::fullPathForDatabase):
2849         (WebCore::DatabaseTracker::databaseNamesForOrigin):
2850         (WebCore::DatabaseTracker::addDatabase):
2851
2852 2007-11-14  Brady Eidson <beidson@apple.com>
2853
2854         Rubberstamped by Sam
2855
2856         * platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports?
2857
2858 2007-11-14  Alexey Proskuryakov  <ap@webkit.org>
2859
2860         Reviewed by Justin Garcia.
2861
2862         http://bugs.webkit.org/show_bug.cgi?id=15781
2863         REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle
2864         a marked range that covers half of a composed character sequence)
2865
2866         Test: platform/mac/editing/input/devanagari-ligature.html
2867
2868         This fix is somewhat of a hack, as it asks editing commands to work with invalid selections.
2869         However, this is not entirely new for them, as Roman accents are typed in a similar manner.
2870
2871         In the future, we probably want to make commands work with ranges (or Positions explicitly).
2872
2873         * editing/Editor.cpp:
2874         (WebCore::Editor::selectComposition): Force selection to composition range.
2875         * editing/InsertTextCommand.cpp:
2876         (WebCore::InsertTextCommand::input): Force ending selection to inserted text range.
2877
2878 2007-11-14  Beth Dakin  <bdakin@apple.com>
2879
2880         Reviewed by Hyatt.
2881
2882         Fix for <rdar://problem/5540855> REGRESSION: Combination of client-
2883         side image map and <a> tag is not working properly (15522)
2884
2885         * html/HTMLMapElement.cpp:
2886         (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block 
2887         and inline children rather than just block children. This matches 
2888         Firefox. 
2889
2890 2007-11-14  Justin Garcia  <justin.garcia@apple.com>
2891
2892         Reviewed by Alexey Proskuryakov.
2893
2894         <rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs
2895
2896         * editing/DeleteSelectionCommand.cpp:
2897         (WebCore::DeleteSelectionCommand::handleGeneralDelete): 
2898         Removed an irrelevant FIXME.
2899         (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection
2900         hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition
2901         inside that block, which could lead to a crash.  If that happens, there's no content in the block to move,
2902         so just remove the block and return.
2903         Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does
2904         its own placeholder insertion when necessary.
2905         (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs,
2906         because it handles preserving m_needPlaceholder when it calls moveParagraphs.
2907         
2908 2007-11-14  Timothy Hatcher  <timothy@apple.com>
2909
2910         Reviewed by Adam.
2911
2912         Bug 14380: Long DOM ancestry breadcrumb lists get cut off
2913         http://bugs.webkit.org/show_bug.cgi?id=14380
2914
2915         The breadcumbs will now be compacted and collapsed if there isn't enough room
2916         to show everything. The collapsing algorithm always affects the crumbs that
2917         are farthest away from the selected or hovered crumb first.
2918
2919         * page/inspector/DocumentPanel.js:
2920         * page/inspector/inspector.css:
2921
2922 2007-11-14  Anders Carlsson  <andersca@apple.com>
2923
2924         Use the correct include path.
2925         
2926         * platform/Cursor.h:
2927         * plugins/win/PluginPackageWin.h:
2928         * plugins/win/PluginStreamWin.h:
2929
2930 2007-11-13  Brady Eidson  <beidson@apple.com>
2931
2932         Reviewed by Adam
2933
2934         http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception
2935
2936         * storage/SQLTransaction.cpp:
2937         (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the 
2938           SQLTransactionCallback fails
2939         (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it
2940           and make the commit/rollback decision accordingly
2941
2942 2007-11-13  Oliver Hunt  <oliver@apple.com>
2943
2944         Reviewed by Anders.
2945
2946         <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780)
2947
2948         When drawing directly to PDF CG may delay the use of the gradient function until outside our
2949         standard drawing path, which in turn could let us invalidate the caches before they were used.
2950
2951         To work around this we now store the cached stops in a RefCounted object, so that we can ensure
2952         that cache exists as long as required.
2953         
2954         * platform/graphics/svg/SVGPaintServerGradient.cpp:
2955         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2956         * platform/graphics/svg/SVGPaintServerGradient.h:
2957         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2958         (WebCore::cgGradientCallback):
2959         (WebCore::CGShadingRefForLinearGradient):
2960         (WebCore::CGShadingRefForRadialGradient):
2961         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2962
2963 2007-11-13  Anders Carlsson  <andersca@apple.com>
2964
2965         Fix Windows build.
2966         
2967         * platform/Cursor.h:
2968         * plugins/win/PluginPackageWin.h:
2969         * plugins/win/PluginStreamWin.h:
2970
2971 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
2972
2973         Reviewed by Anders Carlsson.
2974
2975         Renamed Shared to RefCounted.
2976
2977         * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
2978         * ForwardingHeaders/wtf/Shared.h: Removed.
2979         * bindings/js/JSSVGPODTypeWrapper.h:
2980         * css/CSSFontFace.h:
2981         * css/CSSRuleList.h:
2982         * css/Counter.h:
2983         * css/Pair.h:
2984         * css/Rect.h:
2985         * css/StyleBase.h:
2986         * css/StyleSheetList.h:
2987         * dom/Attribute.h:
2988         * dom/Clipboard.h:
2989         * dom/DOMImplementation.h:
2990         * dom/Event.h:
2991         * dom/EventListener.h:
2992         * dom/NamedNodeMap.h:
2993         * dom/NodeFilter.h:
2994         * dom/NodeFilterCondition.h:
2995         * dom/NodeList.h:
2996         * dom/QualifiedName.h:
2997         * dom/Range.h:
2998         * dom/RangeException.h:
2999         * dom/RegisteredEventListener.h:
3000         * dom/Traversal.h:
3001         * editing/EditCommand.h:
3002         * history/BackForwardList.h:
3003         * history/CachedPage.h:
3004         * history/HistoryItem.cpp:
3005         (WebCore::HistoryItem::HistoryItem):
3006         * history/HistoryItem.h:
3007         * html/CanvasGradient.h:
3008         * html/CanvasPattern.h:
3009         * html/CanvasRenderingContext2D.h:
3010         * html/CanvasStyle.h:
3011         * html/HTMLCollection.h:
3012         * html/MediaError.h:
3013         * html/TimeRanges.h:
3014         * html/VoidCallback.h:
3015         * ksvg2/css/SVGRenderStyle.cpp:
3016         (WebCore::SVGRenderStyle::SVGRenderStyle):
3017         * ksvg2/css/SVGRenderStyle.h:
3018         * ksvg2/css/SVGRenderStyleDefs.cpp:
3019         (StyleFillData::StyleFillData):
3020         (StyleStrokeData::StyleStrokeData):
3021         (StyleStopData::StyleStopData):
3022         (StyleTextData::StyleTextData):
3023         (StyleClipData::StyleClipData):
3024         (StyleMaskData::StyleMaskData):
3025         (StyleMarkerData::StyleMarkerData):
3026         (StyleMiscData::StyleMiscData):
3027         * ksvg2/css/SVGRenderStyleDefs.h:
3028         * ksvg2/svg/SVGAngle.cpp:
3029         (WebCore::SVGAngle::SVGAngle):
3030         * ksvg2/svg/SVGAngle.h:
3031         * ksvg2/svg/SVGAnimatedTemplate.h:
3032         * ksvg2/svg/SVGElementInstanceList.h:
3033         * ksvg2/svg/SVGException.h:
3034         * ksvg2/svg/SVGList.h:
3035         * ksvg2/svg/SVGPathSeg.h:
3036         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
3037         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
3038         * ksvg2/svg/SVGPreserveAspectRatio.h:
3039         * ksvg2/svg/SVGRenderingIntent.h:
3040         * ksvg2/svg/SVGTransform.h:
3041         * ksvg2/svg/SVGUnitTypes.h:
3042         * loader/DocumentLoader.h:
3043         * loader/FormState.h:
3044         * loader/ResourceLoader.h:
3045         * loader/TextResourceDecoder.h:
3046         * loader/icon/IconRecord.h:
3047         * page/BarInfo.h:
3048         * page/Console.h:
3049         * page/DOMSelection.h:
3050         * page/DOMWindow.h:
3051         * page/Frame.h:
3052         * page/History.h:
3053         * page/InspectorController.cpp:
3054         * page/Plugin.h:
3055         * page/Screen.h:
3056         * platform/ArrayImpl.h:
3057         * platform/CString.h:
3058         * platform/Cursor.h:
3059         * platform/DeprecatedValueListImpl.cpp:
3060         (WebCore::DeprecatedValueListImpl::Private::Private):
3061         * platform/FileChooser.h:
3062         * platform/FontFallbackList.h:
3063         * platform/FontFamily.cpp:
3064         (WebCore::FontFamily::FontFamily):
3065         * platform/FontFamily.h:
3066         * platform/FontSelector.h:
3067         * platform/GlyphPageTreeNode.h:
3068         * platform/PopupMenu.h:
3069         * platform/RegularExpression.cpp:
3070         * platform/ScrollBar.h:
3071         * platform/SharedBuffer.h:
3072         * platform/StringImpl.h:
3073         * platform/graphics/Icon.h:
3074         * platform/graphics/svg/SVGResource.h:
3075         * platform/network/FormData.cpp:
3076         (WebCore::FormData::FormData):
3077         * platform/network/FormData.h:
3078         * platform/network/ResourceHandle.h:
3079         * platform/network/ResourceHandleClient.h:
3080         * rendering/RenderStyle.cpp:
3081         (WebCore::StyleSurroundData::StyleSurroundData):
3082         (WebCore::StyleBoxData::StyleBoxData):
3083         (WebCore::StyleVisualData::StyleVisualData):
3084         (WebCore::StyleBackgroundData::StyleBackgroundData):
3085         (WebCore::StyleMarqueeData::StyleMarqueeData):
3086         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
3087         (WebCore::StyleMultiColData::StyleMultiColData):
3088         (WebCore::StyleTransformData::StyleTransformData):
3089         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3090         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3091         (WebCore::StyleInheritedData::StyleInheritedData):
3092         * rendering/RenderStyle.h:
3093         * rendering/SVGCharacterLayoutInfo.h:
3094         (WebCore::SVGCharOnPath::SVGCharOnPath):
3095         * storage/SQLResultSetRowList.h:
3096         * xml/DOMParser.h:
3097         * xml/XMLHttpRequest.h:
3098         * xml/XMLSerializer.h:
3099         * xml/XPathEvaluator.h:
3100         * xml/XPathExpression.h:
3101         * xml/XPathNSResolver.h:
3102         * xml/XPathResult.h:
3103         * xml/XPathValue.h:
3104         * xml/XSLTProcessor.h:
3105
3106 2007-11-13  Brady Eidson  <beidson@apple.com>
3107
3108         Reviewed by Mark Rowe
3109
3110         Remove errantly added files, and fix the idl (for reference's sake)
3111
3112         * storage/JSCustomSQLStatementCallback.h: Removed.
3113         * storage/JSCustomSQLStatementErrorCallback.h: Removed.
3114         * storage/JSCustomSQLTransactionCallback.h: Removed.
3115         * storage/JSCustomSQLTransactionErrorCallback.h: Removed.
3116         * storage/SQLStatementCallback.idl:
3117
3118 2007-11-13  Adam Roben  <aroben@apple.com>
3119
3120         Fix a bug and improve upon Brady's fix
3121
3122         Reviewed by Anders.
3123
3124         * bindings/js/JSSQLTransactionCustom.cpp:
3125         (WebCore::JSSQLTransaction::executeSql): Made the code a little
3126         clearer and more correct.
3127         * loader/icon/IconDatabase.cpp: Put parentheses around the expansion
3128         of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the
3129         comparison it meant to.
3130
3131 2007-11-13  Sam Weinig  <sam@webkit.org>
3132
3133         Fix Qt and Gtk builds.
3134
3135         * WebCore.pro: Remove non-generated idl files.
3136
3137 2007-11-13  Mark Rowe  <mrowe@apple.com>
3138
3139         Remove removed file from the project.
3140
3141         * WebCore.pro:
3142
3143 2007-11-13  Brady Eidson  <beidson@apple.com>
3144
3145         Release build fix
3146
3147         * bindings/js/JSSQLTransactionCustom.cpp:
3148         (WebCore::JSSQLTransaction::executeSql):
3149
3150 2007-11-13  Adam Roben  <aroben@apple.com>
3151
3152         Add WindowMessageBroadcaster
3153
3154         This class is used to listen in on messages sent to HWNDs. Multiple
3155         WindowMessageListeners can be notified about messages sent to a single
3156         HWND, and one WindowMessageListener can listen to messages from
3157         multiple HWNDs.
3158
3159         Reviewed by Ada.
3160
3161         * WebCore.vcproj/WebCore.vcproj: Added new files to project.
3162         * platform/win/WindowMessageBroadcaster.cpp: Added.
3163         (WebCore::instancesMap): Static helper.
3164         (WebCore::WindowMessageBroadcaster::addListener): Registers a listener
3165         for a particular HWND.
3166         (WebCore::WindowMessageBroadcaster::removeListener): Removes a
3167         listener for a particular HWND.
3168         (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster):
3169         (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster):
3170         (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster
3171         from the instancesMap, removes all of its listeners, unsubclasses the
3172         window, and deletes the broadcaster.
3173         (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses
3174         the window (which means that SubclassedWndProc won't be called again
3175         for this window).
3176         (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all
3177         the listeners about every message sent to the HWND
3178         * platform/win/WindowMessageBroadcaster.h: Added.
3179         (WebCore::WindowMessageBroadcaster::listeners):
3180         (WebCore::WindowMessageBroadcaster::originalWndProc):
3181         * platform/win/WindowMessageListener.h: Added.
3182
3183 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
3184
3185         Reviewed by Sam Weinig.
3186
3187         Moved Shared.h into wtf so it could be used in more places. Retained 
3188         TreeShared, but moved it to its own file, TreeShared.h.
3189
3190         * ForwardingHeaders/wtf/Shared.h: Added.
3191         * WebCore.xcodeproj/project.pbxproj:
3192         * bindings/js/JSSVGPODTypeWrapper.h:
3193         * css/CSSFontFace.h:
3194         * css/CSSRuleList.h:
3195         * css/Counter.h:
3196         * css/Pair.h:
3197         * css/Rect.h:
3198         * css/StyleBase.h:
3199         * css/StyleSheetList.h:
3200         * dom/Clipboard.h:
3201         * dom/DOMImplementation.h:
3202         * dom/Event.h:
3203         * dom/EventListener.h:
3204         * dom/NamedNodeMap.h:
3205         * dom/NodeFilterCondition.h:
3206         * dom/NodeList.h:
3207         * dom/Range.h:
3208         * dom/RangeException.h:
3209         * dom/RegisteredEventListener.h:
3210         * dom/Traversal.h:
3211         * history/BackForwardList.h:
3212         * history/CachedPage.h:
3213         * history/HistoryItem.h:
3214         * html/CanvasGradient.h:
3215         * html/CanvasPattern.h:
3216         * html/HTMLCollection.h:
3217         * html/MediaError.h:
3218         * html/TimeRanges.h:
3219         * html/VoidCallback.h:
3220         * ksvg2/css/SVGRenderStyleDefs.h:
3221         * ksvg2/svg/SVGAnimatedTemplate.h:
3222         * ksvg2/svg/SVGElementInstanceList.h:
3223         * ksvg2/svg/SVGList.h:
3224         * ksvg2/svg/SVGPathSeg.h:
3225         * ksvg2/svg/SVGPreserveAspectRatio.h:
3226         * ksvg2/svg/SVGRenderingIntent.h:
3227         * ksvg2/svg/SVGTransform.h:
3228         * ksvg2/svg/SVGUnitTypes.h:
3229         * loader/DocumentLoader.h:
3230         * loader/FormState.h:
3231         * loader/ResourceLoader.h:
3232         * loader/TextResourceDecoder.h:
3233         * loader/icon/IconRecord.h:
3234         * page/BarInfo.h:
3235         * page/Console.h:
3236         * page/DOMSelection.h:
3237         * page/DOMWindow.h:
3238         * page/History.h:
3239         * page/InspectorController.cpp:
3240         * page/Plugin.h:
3241         * page/Screen.h:
3242         * platform/ArrayImpl.h:
3243         * platform/CString.h:
3244         * platform/DeprecatedValueListImpl.cpp:
3245         * platform/FontFallbackList.h:
3246         * platform/FontFamily.h:
3247         * platform/FontSelector.h:
3248         * platform/GlyphPageTreeNode.h:
3249         * platform/PopupMenu.h:
3250         * platform/RegularExpression.cpp:
3251         * platform/ScrollBar.h:
3252         * platform/Shared.h: Removed.
3253         * platform/SharedBuffer.h:
3254         * platform/StringImpl.h:
3255         * platform/graphics/Icon.h:
3256         * platform/graphics/svg/SVGResource.h:
3257         * platform/network/FormData.h:
3258         * platform/network/ResourceHandleClient.h:
3259         * rendering/RenderStyle.h:
3260         * rendering/SVGCharacterLayoutInfo.h:
3261         * storage/SQLResultSetRowList.h:
3262         * xml/DOMParser.h:
3263         * xml/XMLSerializer.h:
3264         * xml/XPathEvaluator.h:
3265         * xml/XPathExpression.h:
3266         * xml/XPathNSResolver.h:
3267         * xml/XPathResult.h:
3268
3269 2007-11-13  Brady Eidson  <beidson@apple.com>
3270
3271         JS bindings by Anders, reviewed by Brady
3272         WebCore changes by Brady, reviewed by Anders and Tim
3273
3274         Adapt to the new iteration of the HTML5 client-side storage spec.
3275
3276         Based largely on implementation feedback we generated in landing our first version of this API and also
3277         on the input of others in the community, the database spec went through a large overhaul that addresses
3278         many concerns.  Amongst other changes/improvements:
3279         - SQLTransaction object is added and all transactions are explicit.  In addition, since the API manages
3280           transactions explicitly, transaction-related language in SQL statements is disallowed
3281         - executeSql() is now on a transaction object instead of the database object.
3282         - Database.changeVersion() now takes place within the context of a transaction.  Therefore the version 
3283           change can be atomic along with the statements that modify the DB schema
3284
3285         Most of the logic now takes place during the "transaction steps," which the specification clearly lays out
3286         as a chain of events on the SQLTransaction object where processing is handed off between being processed 
3287         asynchronously and calling back up to javascript.  To accomplish this voodoo, SQLTransaction has a series of 
3288         methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step.
3289
3290         * DerivedSources.make:
3291         * WebCore.xcodeproj/project.pbxproj:
3292
3293         * bindings/js/JSDatabaseCustom.cpp:
3294         (WebCore::JSDatabase::changeVersion): Adapt to the new API
3295         (WebCore::JSDatabase::transaction): Added
3296
3297         * bindings/js/JSSQLTransactionCustom.cpp: Added.
3298         (WebCore::JSSQLTransaction::executeSql): Added
3299
3300         * page/DOMWindow.cpp:
3301         (WebCore::DOMWindow::openDatabase): Add the new arguments
3302         * page/DOMWindow.h:
3303         * page/DOMWindow.idl:
3304
3305         * page/inspector/DatabasePanel.js: Use the new API
3306
3307         * storage/ChangeVersionWrapper.cpp: Added.  Implementation of "SQLTransactionWrapper" that enforces
3308           changing the version of the database
3309         (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
3310         (WebCore::ChangeVersionWrapper::performPreflight):
3311         (WebCore::ChangeVersionWrapper::performPostflight):
3312         * storage/ChangeVersionWrapper.h: Added.
3313         (WebCore::ChangeVersionWrapper::sqlError):
3314
3315         * storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now
3316           happen solely on the background thread - most of these changes result from that change
3317         (WebCore::Database::Database): Removed an obsolete FIXME
3318         (WebCore::Database::openAndVerifyVersion): 
3319         (WebCore::Database::getVersionFromDatabase):
3320         (WebCore::Database::setVersionInDatabase):
3321         (WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same
3322         (WebCore::Database::performOpenAndVerify):
3323         (WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread
3324         (WebCore::Database::changeVersion): Changed for the new API from JS
3325         (WebCore::Database::transaction): Added, for the new API from JS
3326         (WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue
3327         (WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread
3328         (WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread
3329         (WebCore::Database::performGetTableNames):
3330         (WebCore::Database::deliverAllPendingCallbacks):
3331         (WebCore::Database::deliverPendingCallback):
3332         (WebCore::Database::setExpectedVersion):
3333         * storage/Database.h: 
3334         * storage/Database.idl:
3335
3336         * storage/DatabaseTask.cpp:  Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex
3337           to replace the m_synchronous flag
3338         (WebCore::DatabaseTask::performTask):
3339         (WebCore::DatabaseTask::lockForSynchronousScheduling):
3340         (WebCore::DatabaseTask::waitForSynchronousCompletion):
3341         (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
3342         * storage/DatabaseTask.h:
3343
3344         * storage/SQLError.h: New API object
3345
3346         * storage/SQLResultSet.cpp:
3347         (WebCore::SQLResultSet::SQLResultSet): Small changes to the API object
3348         * storage/SQLResultSet.h:
3349         * storage/SQLResultSet.idl:
3350
3351         * storage/SQLStatement.cpp: Added.
3352         (WebCore::SQLStatement::SQLStatement):
3353         (WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid
3354         (WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case
3355           of an actual version vs. expected version mismatch
3356         (WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement
3357         * storage/SQLStatement.h: Added.
3358         (WebCore::SQLStatement::hasStatementCallback):
3359         (WebCore::SQLStatement::hasStatementErrorCallback):
3360         (WebCore::SQLStatement::sqlError): Get the error for this statement, if any
3361
3362         * storage/SQLTransaction.cpp: Added.
3363         (WebCore::SQLTransaction::SQLTransaction):
3364         (WebCore::SQLTransaction::executeSQL): Entry point for the API from JS
3365         (WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue
3366         (WebCore::SQLTransaction::performNextStep): Call the method for the next step
3367         (WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback
3368         (WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight 
3369           using the SQLTransactionWrapper, if any
3370         (WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread
3371         (WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread 
3372           and make runStatements() the next step
3373         (WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction 
3374         (WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue
3375         (WebCore::SQLTransaction::runCurrentStatement): Execute the current statement
3376         (WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement
3377         (WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it
3378         (WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction
3379         (WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback
3380         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the
3381           transaction after it error'ed out
3382         * storage/SQLTransaction.h:
3383         (WebCore::SQLTransactionWrapper::~SQLTransactionWrapper): 
3384         (WebCore::SQLTransaction::database):
3385         * storage/SQLTransaction.idl:
3386
3387         The following were made obsolete by the new version of the API:
3388         * bindings/js/JSCustomSQLCallback.cpp: Removed.
3389         * bindings/js/JSCustomSQLCallback.h: Removed.
3390         * bindings/js/JSCustomVersionChangeCallback.cpp: Removed.
3391         * bindings/js/JSCustomVersionChangeCallback.h: Removed.
3392         * storage/DatabaseCallback.cpp: Removed.
3393         * storage/DatabaseCallback.h: Removed.
3394         * storage/SQLCallback.h: Removed.
3395         * storage/SQLCallback.idl: Removed.
3396         * storage/VersionChangeCallback.h: Removed.
3397         * storage/VersionChangeCallback.idl: Removed.
3398
3399 2007-11-13  Dan Bernstein  <mitz@apple.com>
3400
3401         Reviewed by Beth Dakin.
3402
3403         - fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click
3404
3405         * css/html4.css: Added a 'cursor: auto' rule for links.
3406         * manual-tests/link-cursor-auto.html: Added.
3407
3408 2007-11-13  Dan Bernstein  <mitz@apple.com>
3409
3410         Reviewed by Beth Dakin.
3411
3412         - fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view)
3413
3414         The root cause for the crash is that when a non-HTML view enters the
3415         frame, the frame's document pointer keeps pointing at the last HTML-type
3416         document it contained. This patch does not address the root cause, but
3417         makes changes to account for that condition.
3418
3419         * loader/FrameLoader.cpp:
3420         (WebCore::FrameLoader::receivedMainResourceError): Do not change the
3421         frame's current document's page cache state here.
3422         (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's
3423         current document is in fact the history item being invalidated, then
3424         set its page cache state here.
3425
3426 2007-11-12  Antti Koivisto  <antti@apple.com>
3427
3428         Reviewed by Adele.
3429
3430         Fix that 'timeupdate' and 'waiting' events were never dispatched.
3431         
3432         Add explicit m_paused attribute instead of trying to derive paused state from
3433         underlying media. Call updatePlayState() to start/stop media playback
3434         when any attribute that affects active playback state changes. This matches 
3435         specification text.
3436         
3437         Test: http/tests/media/video-play-stall.html
3438
3439         * html/HTMLMediaElement.cpp:
3440         (WebCore::HTMLMediaElement::HTMLMediaElement):
3441         (WebCore::HTMLMediaElement::setReadyState):
3442         (WebCore::HTMLMediaElement::paused):
3443         (WebCore::HTMLMediaElement::play):
3444         (WebCore::HTMLMediaElement::pause):
3445         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
3446         (WebCore::HTMLMediaElement::movieDidEnd):
3447         (WebCore::HTMLMediaElement::updatePlayState):
3448         * html/HTMLMediaElement.h:
3449
3450 2007-11-13  John Sullivan  <sullivan@apple.com>
3451
3452         Reviewed by Darin.
3453
3454         removed recently-added PreferredType concept; we found a better way to do what
3455         ths was accomplishing
3456
3457         * bridge/WindowFeatures.h:
3458         (WebCore::WindowFeatures::WindowFeatures):
3459         removed definition of PreferredType
3460                         
3461         * page/ContextMenuController.cpp:
3462         (WebCore::openNewWindow):
3463         removed use of PreferredType
3464
3465 2007-11-12  Alexey Proskuryakov  <ap@webkit.org>
3466
3467         Reviewed by Darin.
3468
3469         http://bugs.webkit.org/show_bug.cgi?id=15954
3470         Move DOM Selection operations out of SelectionController
3471
3472         No change in functionality.
3473
3474         * editing/SelectionController.cpp:
3475         (WebCore::SelectionController::setSelectedRange):
3476         * editing/SelectionController.h:
3477         * page/DOMSelection.cpp:
3478         (WebCore::DOMSelection::anchorNode):
3479         (WebCore::DOMSelection::baseNode):
3480         (WebCore::DOMSelection::anchorOffset):
3481         (WebCore::DOMSelection::baseOffset):
3482         (WebCore::DOMSelection::focusNode):
3483         (WebCore::DOMSelection::extentNode):
3484         (WebCore::DOMSelection::focusOffset):
3485         (WebCore::DOMSelection::extentOffset):
3486         (WebCore::DOMSelection::isCollapsed):
3487         (WebCore::DOMSelection::type):
3488         (WebCore::DOMSelection::rangeCount):
3489         (WebCore::DOMSelection::collapse):
3490         (WebCore::DOMSelection::collapseToEnd):
3491         (WebCore::DOMSelection::collapseToStart):
3492         (WebCore::DOMSelection::empty):
3493         (WebCore::DOMSelection::setBaseAndExtent):
3494         (WebCore::DOMSelection::setPosition):
3495         (WebCore::DOMSelection::modify):
3496         (WebCore::DOMSelection::extend):
3497         (WebCore::DOMSelection::getRangeAt):
3498         (WebCore::DOMSelection::removeAllRanges):
3499         (WebCore::DOMSelection::addRange):
3500         (WebCore::DOMSelection::deleteFromDocument):
3501         (WebCore::DOMSelection::containsNode):
3502         (WebCore::DOMSelection::selectAllChildren):
3503         (WebCore::DOMSelection::toString):
3504         * page/DOMSelection.h:
3505         Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange()
3506         to return its result directly instead of via an ExceptionCode that no caller wanted.
3507
3508         * editing/Editor.cpp:
3509         (WebCore::Editor::deleteRange):
3510         (WebCore::Editor::removeFormattingAndStyle):
3511         (WebCore::Editor::selectComposition):
3512         (WebCore::Editor::setComposition):
3513         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
3514         Adapted for SelectionController::setSelectedRange() now returning a bool.
3515         SelectionController::toString() is no longer avasilable, use plainText() explicitly.
3516
3517         * WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.
3518
3519 2007-11-12  Dan Bernstein  <mitz@apple.com>
3520
3521         Reviewed by Darin Adler.
3522
3523         - <http://bugs.webkit.org/show_bug.cgi?id=15890>
3524           Most of www.aol.com still redraws unnecessarily when headline/photo section changes
3525
3526         Test: fast/repaint/invisible-objects.html
3527
3528         Avoid repainting invisible blocks if they are enclosed in a layer that
3529         contains no visible objects.
3530
3531         * rendering/RenderBlock.cpp:
3532         (WebCore::RenderBlock::layoutBlock):
3533         * rendering/RenderBox.cpp:
3534         (WebCore::RenderBox::absoluteClippedOverflowRect):
3535
3536 2007-11-12  Timothy Hatcher  <timothy@apple.com>
3537
3538         Reviewed by Mark Rowe.
3539
3540         Prevent selecting a word in the breadcrumb or the styles section when double
3541         clicking on a DOM node in the outline tree.
3542
3543         * page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event
3544           with a detail of 2 or higher comes in. This prevents the selection.
3545         * page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
3546
3547 2007-11-12  Oliver Hunt  <oliver@apple.com>
3548
3549         Reviewed by John S.
3550
3551         <rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)
3552         
3553         EventHandler needs to reset these fields when a drag terminates, otherwise
3554         EventHandler is left in an inconsistent state when a drag is initiated on a
3555         page with multiple frames.
3556
3557         * page/EventHandler.cpp:
3558         (WebCore::EventHandler::cancelDragAndDrop):
3559         (WebCore::EventHandler::performDragAndDrop):
3560         (WebCore::EventHandler::clearDragState):
3561         * page/EventHandler.h:
3562
3563 2007-11-12  Oliver Hunt  <oliver@apple.com>
3564
3565         Reviewed by Darin and Antti.
3566
3567         Return behaviour for 0 sized pattern back to what it was prior to r27704
3568
3569         This change in behaviour broke two layout tests in DRT, so correcting it
3570         corrects existing tests.
3571
3572         * platform/graphics/cg/ImageBufferCG.cpp:
3573
3574 2007-11-12  Timothy Hatcher  <timothy@apple.com>
3575
3576         Reviewed by John.
3577
3578         <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]
3579
3580         * page/mac/WebCoreFrameBridge.mm:
3581         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
3582         If the SharedBuffer is null insert an empty NSData instead of nil.
3583
3584 2007-11-12  Darin Adler  <darin@apple.com>
3585
3586         Reviewed by Tim.
3587
3588         - http://bugs.webkit.org/show_bug.cgi?id=15947
3589           speed up page loading a bit by inlining
3590
3591         * loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange):
3592         Factored out the slow case of isScheduledLocationChangePending into this.
3593
3594         * loader/FrameLoader.h:
3595         (WebCore::FrameLoader::isScheduledLocationChangePending): Added an
3596         inline check of the far and away most common case, where m_scheduledRedirection
3597         is 0; the rest is in the isLocationChange function.
3598
3599 2007-11-12  George Staikos  <staikos@kde.org>
3600
3601         Reviewed by Tim.
3602
3603         Extract the text match marker highlight color into RenderTheme instead
3604         of the hardcoded yellow.
3605
3606         * rendering/InlineTextBox.cpp:
3607         (WebCore::InlineTextBox::paintTextMatchMarker):
3608         * rendering/RenderTheme.cpp:
3609         (WebCore::RenderTheme::platformTextSearchHighlightColor):
3610         * rendering/RenderTheme.h:
3611
3612 2007-11-12  Mark Rowe  <mrowe@apple.com>
3613
3614         Fix deadlock on launch on the Mac.
3615
3616         * loader/icon/IconDatabase.cpp:
3617         (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
3618
3619 2007-11-12  Justin Haygood  <jhaygood@reaktix.com>
3620
3621         Reviewed by Brady.
3622
3623         http://bugs.webkit.org/show_bug.cgi?id=15955
3624         Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions
3625
3626         * loader/icon/IconDatabase.cpp:
3627         (WebCore::IconDatabase::open):
3628         (WebCore::IconDatabase::close):
3629         * loader/icon/IconDatabase.h:
3630         * platform/sql/SQLiteDatabase.cpp:
3631         (WebCore::SQLiteDatabase::SQLiteDatabase):
3632         (WebCore::SQLiteDatabase::open):
3633         (WebCore::SQLiteDatabase::close):
3634         * platform/sql/SQLiteDatabase.h:
3635
3636 2007-11-12  Adam Roben  <aroben@apple.com>
3637
3638         Windows build fix
3639
3640         * config.h: Touch because VS apparently can't figure out which files
3641         depend on ResourceResponse.h.
3642         * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to
3643         project and remove old ResourceResponse files.
3644
3645 2007-11-12  Julien Chaffraix  <julien.chaffraix@gmail.com>
3646
3647         Reviewed by Darin.
3648
3649         http://bugs.webkit.org/show_bug.cgi?id=15334
3650         Split ResourceResponse into platform specific files
3651
3652         * WebCore.base.exp:
3653         * WebCore.pro:
3654     &nbs