WebCore:
[WebKit-https.git] / WebCore / ChangeLog
1 2008-04-28  Dan Bernstein  <mitz@apple.com>
2
3         Reviewed by Dave Hyatt.
4
5         - support multiple box- and text-shadows
6
7         Tests: fast/css/shadow-multiple.html
8                fast/repaint/shadow-multiple-horizontal.html
9                fast/repaint/shadow-multiple-strict-horizontal.html
10                fast/repaint/shadow-multiple-strict-vertical.html
11                fast/repaint/shadow-multiple-vertical.html
12
13         * css/CSSComputedStyleDeclaration.cpp:
14         (WebCore::valueForShadow): Changed to account for reversing the order
15         of the shadow values in the ShadowData list.
16
17         * css/CSSValueList.cpp:
18         (WebCore::CSSValueList::prepend): Added.
19         * css/CSSValueList.h:
20
21         * rendering/InlineFlowBox.cpp:
22         (WebCore::InlineFlowBox::placeBoxesHorizontally): Changed to account for
23         all shadows in overflow calculation.
24         (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
25         (WebCore::InlineFlowBox::paint): Changed to account for all shadows
26         when testing for intersection with the damage rect.
27         (WebCore::InlineFlowBox::paintTextDecorations): Changed to paint all
28         shadows.
29
30         * rendering/InlineTextBox.cpp:
31         (WebCore::paintTextWithShadows): Factored out from paint() and changed
32         to paint all shadows.
33         (WebCore::InlineTextBox::paint): Moved the text painting code out to
34         paintTextWithShadows(). Changed to not paint shadows for markers and
35         composition underlines and in "force black text" mode.
36         (WebCore::InlineTextBox::paintSelection):
37         (WebCore::InlineTextBox::paintCompositionBackground):
38         (WebCore::InlineTextBox::paintDecoration): Changed to paint all shadows.
39         * rendering/InlineTextBox.h: Changed some public methods to private
40         or protected.
41
42         * rendering/RenderBlock.cpp:
43         (WebCore::RenderBlock::overflowHeight): Changed to account for all
44         shadows.
45         (WebCore::RenderBlock::overflowWidth): Ditto.
46         (WebCore::RenderBlock::overflowLeft): Ditto.
47         (WebCore::RenderBlock::overflowTop): Ditto.
48         (WebCore::RenderBlock::overflowRect): Ditto.
49         (WebCore::RenderBlock::layoutBlock): Ditto.
50
51         * rendering/RenderFlexibleBox.cpp:
52         (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
53
54         * rendering/RenderLayer.cpp:
55         (WebCore::RenderLayer::calculateRects): Ditto.
56
57         * rendering/RenderObject.cpp:
58         (WebCore::RenderObject::paintBoxShadow): Changed to paint all shadows.
59         Changed to avoid clipping out the box if it has a fully opaque
60         background.
61         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Changed to account
62         for all shadows.
63         (WebCore::RenderObject::selectionForegroundColor): Cleaned up.
64         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Changed to
65         account for all shadows.
66
67         * rendering/RenderReplaced.cpp:
68         (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Ditto.
69
70         * rendering/RenderStyle.cpp:
71         (WebCore::RenderStyle::setTextShadow): Changed to prepend when adding
72         so that the stacking order of shadows when painting will be "first o
73         top".
74         (WebCore::RenderStyle::setBoxShadow): Ditto.
75
76         * rendering/RenderTable.cpp:
77         (WebCore::RenderTable::layout): Changed to account for all shadows.
78
79 2008-04-28  Adam Roben  <aroben@apple.com>
80
81         Fix some more Windows build errors in COMPtr
82
83         * platform/win/COMPtr.h:
84         (WTF::): Define DefaultHash<COMPtr<P> > by using PtrHash<COMPtr<P> >,
85         which is just a copy of PtrHash<RefPtr<P> >.
86
87 2008-04-28  Adam Roben  <aroben@apple.com>
88
89         Fix some Windows build errors in COMPtr
90
91         * platform/win/COMPtr.h: Explicitly name the WTF namespace when using
92         HashTableDeletedValueType.
93
94 2008-04-28  Adam Roben  <aroben@apple.com>
95
96         Fix some Windows build errors in FontPlatfomrData
97
98         * platform/graphics/win/FontPlatformData.h: Removed the Deleted
99         constructor and replaced it with a HashTableDeletedValueType
100         constructor. Also added isHashTableDeletedValue() and
101         hashTableDeletedFontValue().
102
103 2008-04-28  David Hyatt  <hyatt@apple.com>
104
105         https://bugs.webkit.org/show_bug.cgi?id=18780
106
107         Canvas can't draw itself into its own buffer.  Make sure the dirtying call comes after the image()
108         has been accessed.  Technically willDraw should be renamed to didDraw and all calls should be moved
109         to after draws have occurred (since if the draw op itself wants to reference the image it shouldn't get
110         a dirty copy either), but I'll take that up with olliej when he wakes up. :)
111
112         Reviewed by Dan Bernstein
113
114         Added fast/canvas/canvasDrawsIntoSelf.html
115
116         * html/CanvasRenderingContext2D.cpp:
117         (WebCore::CanvasRenderingContext2D::drawImage):
118
119 2008-04-28  Alexey Proskuryakov  <ap@webkit.org>
120
121         Reviewed by Geoff Garen.
122
123         <rdar://problem/5825192> Replace use of Gestalt with BSD sysctl
124
125         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
126         (WebCore::MediaPlayerPrivate::isAvailable): There is no need to check QuickTime version post-Tiger,
127         as it will never be below 7.3 again. This change may make library loading happen earlier in
128         some cases, hopefully, that's not a big deal.
129
130 2008-04-25  Alexey Proskuryakov  <ap@webkit.org>
131
132         Reviewed by Darin.
133
134         Fix run-webkit-tests --threading
135         and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
136         Proxy server issue in Sunday's Nightly
137
138         Adjusted for JavaScriptCore changes: added a new member to ClassInfo objects, turned
139         ClassInfo::propHashTable into a function, made getPropertyAttributes() take an ExecState pointer.
140
141         * bindings/js/JSAudioConstructor.cpp:
142         (WebCore::):
143         * bindings/js/JSDOMWindowBase.cpp:
144         (WebCore::):
145         * bindings/js/JSDOMWindowCustom.cpp:
146         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
147         * bindings/js/JSDOMWindowWrapper.cpp:
148         (WebCore::):
149         (WebCore::JSDOMWindowWrapper::getPropertyAttributes):
150         * bindings/js/JSDOMWindowWrapper.h:
151         * bindings/js/JSEventTargetBase.h:
152         (WebCore::JSEventTargetPrototype::classInfo):
153         * bindings/js/JSHTMLInputElementBase.cpp:
154         (WebCore::):
155         * bindings/js/JSHTMLOptionElementConstructor.cpp:
156         (WebCore::):
157         * bindings/js/JSHistoryCustom.cpp:
158         (WebCore::JSHistory::customGetOwnPropertySlot):
159         * bindings/js/JSImageConstructor.cpp:
160         (WebCore::):
161         * bindings/js/JSInspectedObjectWrapper.cpp:
162         (WebCore::):
163         * bindings/js/JSInspectorCallbackWrapper.cpp:
164         (WebCore::):
165         * bindings/js/JSLocationCustom.cpp:
166         (WebCore::JSLocation::customGetOwnPropertySlot):
167         (WebCore::JSLocation::customPut):
168         * bindings/js/JSNamedNodesCollection.cpp:
169         (WebCore::):
170         * bindings/js/JSQuarantinedObjectWrapper.cpp:
171         (WebCore::):
172         * bindings/js/JSRGBColor.cpp:
173         (WebCore::):
174         * bindings/js/JSStorageCustom.cpp:
175         (WebCore::JSStorage::customPut):
176         * bindings/js/JSXMLHttpRequestConstructor.cpp:
177         (WebCore::):
178         * bindings/js/JSXSLTProcessor.cpp:
179         (WebCore::):
180         * bindings/scripts/CodeGeneratorJS.pm:
181         * bridge/objc/objc_runtime.mm:
182         * bridge/runtime_array.cpp:
183         * bridge/runtime_object.cpp:
184
185 2008-04-28  David Hyatt  <hyatt@apple.com>
186
187         https://bugs.webkit.org/show_bug.cgi?id=18779
188
189         The arguments in drawImage were reversed when I switched away from the image buffer method.
190
191         Reviewed by Tim Hatcher
192
193         Added fast/canvas/drawImage.html
194
195         * html/CanvasRenderingContext2D.cpp:
196         (WebCore::CanvasRenderingContext2D::drawImage):
197
198 2008-04-28  Holger Hans Peter Freyther  <zecke@selfish.org>
199
200         Reviewed by Simon.
201
202         Fix the crash on http://www.orad.pl. We called end too early.
203
204         1. we need a ::write that will pause the parser due a pending
205         script
206         2. we need a second write to queue data (tricky part)
207         3. we need to get a finish call (document loaded)
208         4. we resume the script and parse, schedule loading of a new script
209         and have called end
210         5. we resume the new script and we get a crash
211
212         This bug is hard to trigger, e.g. if the web server is only allowing
213         one connection per client/IP. This is why we need to sleep in the scripts. We
214         want to make sure that the page is first fully received before serving the
215         scripts.
216
217         Test: http/tests/misc/xmltokenizer-do-not-crash.pl
218
219         * dom/XMLTokenizer.cpp:
220
221 2008-04-28  Ariya Hidayat  <ahidayat@trolltech.com>
222
223         Reviewed by Simon.
224
225         Fix rounded corner on combo box with CSS border
226
227         * platform/qt/RenderThemeQt.cpp:
228         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
229
230 2008-04-28  Ariya Hidayat  <ahidayat@trolltech.com>
231
232         Reviewed by Simon.
233
234         Fix CSS border does not show up for combo boxes
235
236         Do not clear the border when painting the combo box for 'select' form element
237
238         * platform/qt/RenderThemeQt.cpp:
239
240 2008-04-28  Olivier Goffart  <ogoffart@trolltech.com>
241
242         Reviewed by Simon.
243
244         Avoid comparing to 0 in qFuzzyCompare for increased
245         numeric stability.
246
247         * platform/graphics/qt/PathQt.cpp:
248         (WebCore::Path::addArc):
249
250 2008-04-28  Benjamin Meyer  <bmeyer@trolltech.com>
251
252         Reviewed by Simon.
253
254         Fixes: Pages returning 404 with content are not displayed.
255
256         A web page that returns 404 can still have content.
257
258         * platform/network/qt/QNetworkReplyHandler.cpp:
259         (WebCore::QNetworkReplyHandler::finish):
260
261 2008-04-28  Paul Olav Tvete  <paul@trolltech.com>
262
263         Reviewed by Simon.
264
265         Fix compiler warning; Avoid the implicity QString(const char *)
266         constructor
267
268         * platform/qt/RenderThemeQt.cpp:
269         (WebCore::RenderThemeQt::fallbackStyle):
270
271 2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
272
273         Reviewed by Simon.
274
275         Prevent middle-click from triggering open URL from clipboard when the event has already been accepted.
276
277         * platform/qt/PlatformScrollBarQt.cpp:
278         (WebCore::PlatformScrollbar::handleMousePressEvent):
279
280 2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
281
282         Reviewed by Simon.
283
284         Fix scrollbar behavior in QtWebKit to match QScrollBar.
285
286         Right click context menu is now supported, along with
287         middle click to center slider thumb over mouse cursor.
288
289         * platform/qt/PlatformScrollBar.h:
290         * platform/qt/PlatformScrollBarQt.cpp:
291         (tr):
292         (WebCore::PlatformScrollbar::pixelPosToRangeValue):
293         (WebCore::PlatformScrollbar::handleMousePressEvent):
294         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
295         (WebCore::PlatformScrollbar::handleContextMenuEvent):
296
297 2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
298
299         Reviewed by Simon.
300
301         Implemented channel-based logging for QtWebKit.
302
303         Comma-separated log channels are read from the QT_WEBKIT_LOG environment variable.
304         Warnings for notImplemented() is still output by default, but can be disabled
305         by setting DISABLE_NI_WARNINGS=1.
306
307         * WebCore.pro:
308         * platform/NotImplemented.h:
309         * platform/qt/LoggingQt.cpp: Added.
310         (WebCore::getChannelFromName):
311         (WebCore::InitializeLoggingChannelsIfNecessary):
312
313 2008-04-28  Simon Hausmann  <shausman@trolltech.com>
314
315         Reviewed by Holger.
316
317         Fixes: Popups/Context menu in WebKit appearing at the wrong location when embedded in the graphics view or using multiple screens
318
319         Give the popups the right parent widget and the right coordinates relative within the parent.
320
321         * platform/qt/PopupMenuQt.cpp:
322         (WebCore::PopupMenu::show):
323
324 2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
325
326         Reviewed by Simon.
327
328         Fixes: Tabbing to a checkbox/button doesn't work on Win/X11
329
330         Respect platform settings for tabbing to all controls.
331
332         * page/qt/EventHandlerQt.cpp:
333
334 2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
335
336         Reviewed by Simon.
337
338         First part of the fix for tabbing to a checkbox/button doesn't work on Win/X11
339
340         Draw controls instead of pimitive elements, to get focus rects for free.
341
342         * platform/qt/RenderThemeQt.cpp:
343         (WebCore::RenderThemeQt::paintButton):
344
345 2008-04-28  Lincoln Ramsay  <lincoln.ramsay@trolltech.com>
346
347         Reviewed by Simon.
348
349         Compile when QT_NO_CLIPBOARD is defined.
350
351         * platform/qt/ClipboardQt.cpp:
352         (WebCore::ClipboardQt::ClipboardQt):
353         (WebCore::ClipboardQt::clearData):
354         (WebCore::ClipboardQt::clearAllData):
355         (WebCore::ClipboardQt::setData):
356         (WebCore::ClipboardQt::declareAndWriteDragImage):
357         (WebCore::ClipboardQt::writeURL):
358         (WebCore::ClipboardQt::writeRange):
359         * platform/qt/PasteboardQt.cpp:
360         (WebCore::Pasteboard::writeSelection):
361         (WebCore::Pasteboard::plainText):
362         (WebCore::Pasteboard::documentFragment):
363         (WebCore::Pasteboard::writeURL):
364         (WebCore::Pasteboard::writeImage):
365
366 2008-04-28  Ariya Hidayat  <ariya.hidayat@trolltech.com>
367
368         Reviewed by Simon.
369
370         Draw the arrow button on the styled combo box using the fallback ("Windows") style
371
372         * platform/qt/RenderThemeQt.cpp:
373         (WebCore::RenderThemeQt::RenderThemeQt):
374         (WebCore::RenderThemeQt::~RenderThemeQt):
375         (WebCore::RenderThemeQt::fallbackStyle):
376         (WebCore::RenderThemeQt::paintMenuListButton):
377         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
378         * platform/qt/RenderThemeQt.h:
379
380 2008-04-28  Simon Hausmann  <hausmann@webkit.org>
381
382         Reviewed by Holger.
383
384         Fix positioning of native widgets (plugins).
385
386         Correctly convert the coordinates of the Widget in Widget::setFrameGeometry()
387         to be relative to the containing toplevel QWidget using convertToContainingWindow().
388
389         Note: convertToContainingWindow() takes child coordinates.
390
391         * platform/qt/WidgetQt.cpp:
392         (WebCore::Widget::frameGeometry):
393         (WebCore::Widget::setFrameGeometry):
394
395 2008-04-28  Holger Hans Peter Freyther  <zecke@selfish.org>
396
397         Reviewed by Simon.
398
399         plugins: fix scrolling issues
400
401         When scrolling you can see artefacts that remain on the screen, they
402         seem to originate from the backingstore handling. I'm not entirely sure
403         where they come from, my workarounds involved a
404         data->m_widget->parentWidget()->update() call in Widget::geometryChanged or
405         handling widgets with a native QWidget embedded like web pages with a
406         static background. This needs more investigations, I think the ScrollView
407         change is cleaner than the brute force in Widget::geometryChanged
408
409         Focus handling seems to be broken as well and needs further work, we don't
410         clip plugin QWidgets and they can draw out of their bounds, e.g. on the ScrollBar,
411         the z-order is likely not honored as well.
412
413         * platform/ScrollView.h:
414         * platform/qt/ScrollViewQt.cpp:
415         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
416         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
417         (WebCore::ScrollView::addChild):
418         (WebCore::ScrollView::removeChild):
419         (WebCore::ScrollView::incrementNativeWidgetCount):
420         (WebCore::ScrollView::decrementNativeWidgetCount):
421         (WebCore::ScrollView::hasNativeWidgets):
422
423 2008-04-28  Holger Hans Peter Freyther  <zecke@selfish.org>
424
425         Reviewed by Simon.
426
427         Add manual test to test placement of QWidgets in iframe's
428
429         * manual-tests/qt/main.html: Added.
430         * manual-tests/qt/qtplugin.html: Added.
431
432 2008-04-28  Simon Hausmann  <hausmann@webkit.org>
433
434         Fix the build with ENABLE_DATABASE=0 (Qt/Windows) by including
435         SecurityOrigin.h. It's used in the file and also implicitly included
436         through the database headers.
437
438         * page/DOMWindow.cpp:
439
440 2008-04-28  Simon Hausmann  <hausmann@webkit.org>
441
442         Prospective Wx build fix.
443
444         * platform/graphics/wx/FontPlatformData.h:
445
446 2008-04-28  Simon Hausmann  <hausmann@webkit.org>
447
448         Reviewed by Alp.
449
450         Gtk build fix, similar to the changes done in r32609.
451
452         * platform/graphics/gtk/FontPlatformData.h:
453         (WebCore::FontPlatformData::FontPlatformData):
454         (WebCore::FontPlatformData::isHashTableDeletedValue):
455         (WebCore::FontPlatformData::hashTableDeletedFontValue):
456
457 2008-04-28  Simon Hausmann  <hausmann@webkit.org>
458
459         Prospective build fix. After r32609 it seems the workaround here
460         is not needed anymore. With gcc 4.2/4.3 before 32609 the workaround
461         is needed for compilation, after 32609 compilation only succeeds
462         without the workaround.
463
464         * plugins/PluginPackage.h: Removed workaround of extra StorageTraits
465         specification for the custom hash function of PluginPackage used in
466         PluginSet.
467
468 2008-04-28  Tor Arne Vestbø  <tavestbo@trolltech.com>
469
470         Reviewed by Simon.
471
472         https://bugs.webkit.org/show_bug.cgi?id=18713
473
474         Fix scrollbar painting issues in QtWebKit.
475
476         Hovering and click-draging outside of the scrollbar would
477         produce unexpected and inconcistent results. We also didn't
478         pass on leave-events to the underlying WebKit code, which
479         was nessecary to implement the paint fix.
480
481         * platform/qt/PlatformScrollBarQt.cpp:
482         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
483         (WebCore::PlatformScrollbar::handleMouseOutEvent):
484         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
485
486 2008-04-27  Oliver Hunt  <oliver@apple.com>
487
488         Reviewed by Maciej.
489
490         Bug 17173: HTML5 Canvas API requires us to ignore certain operations
491         <https://bugs.webkit.org/show_bug.cgi?id=17173>
492
493         This fixes the semantics of a number of Canvas functions to match
494         the new HTML5 non-throwing semantics.
495
496         Test: fast/canvas/canvas-path-with-inf-nan-dimensions.html
497
498         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
499         (WebCore::JSCanvasRenderingContext2D::strokeRect):
500         * html/CanvasRenderingContext2D.cpp:
501         (WebCore::CanvasRenderingContext2D::moveTo):
502         (WebCore::CanvasRenderingContext2D::lineTo):
503         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
504         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
505         (WebCore::CanvasRenderingContext2D::arcTo):
506         (WebCore::CanvasRenderingContext2D::arc):
507         (WebCore::validateRectForCanvas):
508         (WebCore::CanvasRenderingContext2D::rect):
509         (WebCore::CanvasRenderingContext2D::clearRect):
510         (WebCore::CanvasRenderingContext2D::fillRect):
511         (WebCore::CanvasRenderingContext2D::strokeRect):
512         * html/CanvasRenderingContext2D.h:
513         * html/CanvasRenderingContext2D.idl:
514
515 2008-04-27  Rob Buis  <buis@kde.org>
516
517         Reviewed by Adele.
518
519         https://bugs.webkit.org/show_bug.cgi?id=18652
520         onchange events don't seem to fire for input[type=range] controls.
521
522         Fire changeEvent when dragging the slider.
523
524         Test: fast/forms/slider-onchange-event.html
525
526         * rendering/RenderSlider.cpp:
527         (WebCore::RenderSlider::valueChanged):
528
529 2008-04-25  Darin Adler  <darin@apple.com>
530
531         Reviewed by Maciej.
532
533         - update for compatibility with HashTable that no longer has optimization to share
534           implementation between hash tables with integers, pointers, RefPtr, and String
535           objects as keys
536
537         * bindings/js/JSSVGPODTypeWrapper.h:
538         (WebCore::PODTypeReadWriteHashInfo::PODTypeReadWriteHashInfo): Added constructor
539         for HashTableDeletedValue.
540         (WebCore::PODTypeReadWriteHashInfo::isHashTableDeletedValue): Added.
541         (WebCore::PODTypeReadWriteHashInfoTraits::constructDeletedValue): Added.
542         (WebCore::PODTypeReadWriteHashInfoTraits::isDeletedValue): Added.
543
544         * dom/Document.cpp: Made changedDocuments internal to the file rather than a
545         static data member of Document.
546         (WebCore::FormElementKey::ref): Removed unneeded check for deleted value -- this
547         will never be called on a deleted element.
548         (WebCore::FormElementKey::deref): Ditto.
549
550         * dom/Document.h: Added HashTableDeletedValue constructor and isHashTableDeletedValue
551         to FormElementKey. Changed FormElementKeyHashTraits to use construct/isDeletedValue.
552         Got rid of the changedDocuments data member. Changed iconURL to be an inline that
553         returns a const String&.
554
555         * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to use
556         construct/isDeletedValue.
557
558         * page/mac/AXObjectCacheMac.mm:
559         (WebCore::AXObjectCache::getAXID): Call isDeletedValue instead of deletedValue.
560
561         * platform/SecurityOriginHash.h: Added overload so that SecurityOriginHash can work
562         with raw pointers as well as RefPt (helpful with the new RefPtrHashMap). Eliminated
563         SecurityOriginTraits, since we can now use the default traits. Changed the value of
564         safeToCompareToEmptyOrDeleted to false, since it's not safe to compare a deleted
565         value using this hash function. I don't think it was safe before either; I'm not sure
566         why it didn't cause a problem before.
567
568         * platform/cf/SchedulePair.h: Removed SchedulePairTraits -- custom traits are no
569         longer needed.
570
571         * platform/graphics/FontCache.cpp:
572         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Added constructor
573         for HashTableDeletedValue.
574         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): Added.
575         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): Added.
576         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): Added.
577         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): Added.
578         (WebCore::FontDataCacheKeyTraits::constructDeletedValue): Added.
579         (WebCore::FontDataCacheKeyTraits::isDeletedValue): Added.
580
581         * platform/graphics/IntSizeHash.h: Changed HashTraits<IntSize> to use
582         construct/isDeletedValue.
583
584         * platform/graphics/mac/FontPlatformData.h:
585         (WebCore::FontPlatformData::FontPlatformData): Added constructor for
586         HashTableDeletedValue.
587         (WebCore::FontPlatformData::isHashTableDeletedValue): Added.
588         (WebCore::FontPlatformData::hashTableDeletedFontValue): Added.
589
590         * platform/text/PlatformString.h:
591         (WebCore::String::swap): Added. Avoids any refcount churn when swapping two strings.
592         (WebCore::String::String): Added constructor for HashTableDeletedValue.
593         (WebCore::String::isHashTableDeletedValue): Added.
594         (WebCore::swap): Added. Avoids any refcount churn when swapping two strings.
595
596         * platform/text/StringHash.h: Changed specialization of HashTraits for
597         WebCore::String to use the deleted value now defined in that class and removed
598         the code to do ref/deref. Removed HashKeyStorageTraits specializations.
599         
600         * platform/win/COMPtr.h: Changed specialization of HashTraits for
601         COMPtr to use the deleted value now defined in that class and removed
602         the code to do ref/deref. Removed HashKeyStorageTraits specializations.
603         (COMPtr::COMPtr): Added constructor for HashTableDeletedValue.
604         (COMPtr::isHashTableDeletedValue): Added.
605         (COMPtr::query): Removed inline keyword not needed since functions defined in the
606         class definition are automatically marked inline.
607         (COMPtr::hashTableDeletedValue): Added.
608
609         * storage/DatabaseTracker.h: Removed now-unneeded SecurityOriginTraits.
610         * storage/LocalStorage.h: Ditto.
611         * storage/OriginQuotaManager.h: Ditto.
612         * storage/SessionStorage.h: Ditto.
613
614         * svg/SVGAnimatedTemplate.h:
615         (WebCore::SVGAnimatedTypeWrapperKey::SVGAnimatedTypeWrapperKey): Added constructor
616         for HashTableDeletedValue.
617         (WebCore::SVGAnimatedTypeWrapperKey::isHashTableDeletedValue): Added.
618         (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue): Added.
619         (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue): Added.
620
621 2008-04-27  Mark Rowe  <mrowe@apple.com>
622
623         Reviewed by Tim Hatcher.
624
625         Initialize the extra member of the xmlEntity struct when using libxml2 >= 2.6.27.
626
627         * dom/XMLTokenizer.cpp:
628         (WebCore::):
629
630 2008-04-27  Dan Bernstein  <mitz@apple.com>
631
632         Reviewed by Darin Adler.
633
634         - fix https://bugs.webkit.org/show_bug.cgi?id=3729
635           <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
636
637         Test: editing/selection/move-left-right.html
638
639         * editing/SelectionController.cpp:
640         (WebCore::SelectionController::modifyMovingRight): Added. Currently
641         implemented for character granularity, all other being treated as
642         "forward".
643         (WebCore::SelectionController::modifyMovingForward): Renamed
644         modifyMovingRightForward() to this.
645         (WebCore::SelectionController::modifyMovingLeft): Added. Currently
646         implemented for character granularity, all other being treated as
647         "backward".
648         (WebCore::SelectionController::modifyMovingBackward): Renamed
649         modifyMovingLeftBackward() to this.
650         (WebCore::SelectionController::modify): Changed to call either the
651         visual (left/right) or logical (backward/forward) methods depending on
652         the 'dir' argument for moves.
653         * editing/SelectionController.h:
654         * editing/VisiblePosition.cpp:
655         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Added.
656         (WebCore::VisiblePosition::left): Added.
657         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Added.
658         (WebCore::VisiblePosition::right): Added.
659         * editing/VisiblePosition.h:
660
661 2008-04-27  Sam Weinig  <sam@webkit.org>
662
663         Reviewed by Maciej Stachowiak.
664
665         Fix for <rdar://problem/5893385> Need to provide access to the CanvasRenderingContext2D prototype
666         Add a JS constructor for CanvasRenderingContext2D.
667
668         * html/CanvasRenderingContext2D.idl:
669         * page/DOMWindow.idl:
670
671 2008-04-26  Adam Barth  <hk9565@gmail.com>
672
673         Reviewed by Adam Roben and Sam Weinig.
674
675         Fixes bug http://bugs.webkit.org/show_bug.cgi?id=17331
676         Fixes bug http://bugs.webkit.org/show_bug.cgi?id=16848
677         
678         Updates postMessage implementation to match HTML 5 specification:
679         1) Adds origin parameter to postMessage.
680         2) Removes domain and uri attributes of MessageEvent in favor of
681            origin attribute.
682
683         In order to do this correctly, we need to distinguish between hosts and domains
684         in the SecurityOrigin class. There are now three ways to compare security origins:
685         1) isSameSchemeHostPort compares scheme, host, and port, and is used for postMessage
686         2) equal compares all aspects of the security origin, and is used for hash keys
687         3) canAccess understands the semantics of schemes such as file:// and data:// URLs,
688            and should be used for scripting access checks.
689
690         Changed SecurityOrigin::toString() to generate identifiers that are suitable for 
691         being used as a MessageEvent's origin property. In the future, they could be used 
692         as database string identifiers as well. Re-used KURL parser to parse serialized 
693         SecurityOrigins.
694
695         Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
696         
697         Tests: http/tests/security/postMessage/invalid-origin-throws-exception.html
698                http/tests/security/postMessage/javascript-page-still-sends-origin.html
699                http/tests/security/postMessage/origin-unaffected-by-base-tag.html
700                http/tests/security/postMessage/origin-unaffected-by-document-domain.html
701                http/tests/security/postMessage/target-origin.html
702
703         * WebCore.base.exp:
704         * bindings/js/JSDOMWindowCustom.cpp:
705         (WebCore::JSDOMWindow::postMessage):
706         * dom/Document.cpp:
707         (WebCore::Document::domain):
708         * dom/MessageEvent.cpp:
709         (WebCore::MessageEvent::MessageEvent):
710         (WebCore::MessageEvent::initMessageEvent):
711         * dom/MessageEvent.h:
712         (WebCore::MessageEvent::origin):
713         * dom/MessageEvent.idl:
714         * html/CanvasRenderingContext2D.cpp:
715         (WebCore::CanvasRenderingContext2D::checkOrigin):
716         (WebCore::CanvasRenderingContext2D::createPattern):
717         * page/DOMWindow.cpp:
718         (WebCore::DOMWindow::postMessage):
719         * page/DOMWindow.h:
720         * page/DOMWindow.idl:
721         * platform/SecurityOrigin.cpp:
722         (WebCore::SecurityOrigin::SecurityOrigin):
723         (WebCore::SecurityOrigin::create):
724         (WebCore::SecurityOrigin::createForFrame):
725         (WebCore::SecurityOrigin::copy):
726         (WebCore::SecurityOrigin::setDomainFromDOM):
727         (WebCore::SecurityOrigin::canAccess):
728         (WebCore::SecurityOrigin::isSecureTransitionTo):
729         (WebCore::SecurityOrigin::toString):
730         (WebCore::SecurityOrigin::createFromString):
731         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
732         (WebCore::SecurityOrigin::databaseIdentifier):
733         (WebCore::SecurityOrigin::equal):
734         (WebCore::SecurityOrigin::isSameSchemeHostPort):
735         * platform/SecurityOrigin.h:
736         (WebCore::SecurityOrigin::host):
737         (WebCore::SecurityOrigin::domain):
738         * platform/SecurityOriginHash.h:
739         (WebCore::SecurityOriginTraits::deletedValue):
740         * storage/DatabaseTracker.cpp:
741         (WebCore::DatabaseTracker::hasEntryForDatabase):
742         (WebCore::DatabaseTracker::originPath):
743         (WebCore::DatabaseTracker::fullPathForDatabase):
744         (WebCore::DatabaseTracker::populateOrigins):
745         (WebCore::DatabaseTracker::databaseNamesForOrigin):
746         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
747         (WebCore::DatabaseTracker::setDatabaseDetails):
748         (WebCore::DatabaseTracker::setQuota):
749         (WebCore::DatabaseTracker::addDatabase):
750         (WebCore::DatabaseTracker::deleteOrigin):
751         (WebCore::DatabaseTracker::deleteDatabase):
752
753 2008-04-26  Kevin Ollivier  <kevino@theolliviers.com>
754
755         wx build fix. Add the AX*ActionVerb functions to the wx build.
756         
757         * platform/wx/LocalizedStringsWx.cpp:
758         (WebCore::AXButtonActionVerb):
759         (WebCore::AXRadioButtonActionVerb):
760         (WebCore::AXTextFieldActionVerb):
761         (WebCore::AXCheckedCheckBoxActionVerb):
762         (WebCore::AXUncheckedCheckBoxActionVerb):
763         (WebCore::AXLinkActionVerb):
764
765 2008-04-26  Robin Dunn  <robin@alldunn.com>
766
767         Reviewed by Kevin Ollivier.
768
769         wx build fix. Add needed wx includes for compilation.
770
771         https://bugs.webkit.org/show_bug.cgi?id=18758
772
773         * platform/wx/FileSystemWx.cpp:
774
775 2008-04-26  Anatoli Papirovski  <apapirovski@mac.com>
776
777         Reviewed by Dave Hyatt.
778
779         Fix for https://bugs.webkit.org/show_bug.cgi?id=18583
780         WebKit should ignore declarations with a negative value for
781         line-height and font-size, including in the shorthand font form.
782
783         Tests: fast/css/font-size-negative.html
784                fast/css/line-height-negative.html
785
786         * css/CSSParser.cpp:
787         (WebCore::CSSParser::parseValue):
788         (WebCore::CSSParser::parseFont):
789
790 2008-04-25  Anders Carlsson  <andersca@apple.com>
791
792         Reviewed by Sam.
793
794         Add empty ApplicationCacheStorage class.
795         
796         * WebCore.vcproj/WebCore.vcproj:
797         * WebCore.xcodeproj/project.pbxproj:
798         * loader/appcache/ApplicationCacheStorage.cpp: Added.
799         (WebCore::cacheStorage):
800         * loader/appcache/ApplicationCacheStorage.h: Added.
801
802 2008-04-24  Sam Weinig  <sam@webkit.org>
803
804         Reviewed by Geoffrey Garen.
805
806         Replace the JSDOMWindow with a new one instead of clearing it.
807
808         * bindings/js/JSDOMWindowBase.cpp:
809         (WebCore::JSDOMWindowBase::clear):
810         Don't reset the window.
811
812         * bindings/js/kjs_proxy.cpp:
813         (WebCore::KJSProxy::clear):
814         Replace the current JSDOMWindow stored in the wrapper window
815         with a new one.
816
817         * history/CachedPage.cpp:
818         (WebCore::CachedPage::CachedPage):
819         (WebCore::CachedPage::restore):
820         (WebCore::CachedPage::clear):
821         * history/CachedPage.h:
822         Instead of storing the builtins, properties and localstorage in
823         special holding structs, store the entire JSDOMWindow.
824
825         For the case of a page that has no JSDOMWindow before it's first
826         navigation, has one created while it is in the cache and is then
827         navigated back, create a new JSDOMWindow to keep the assumption
828         in JSDOMWindowWrapper that it always has the correct window.
829
830         * loader/FrameLoader.cpp:
831         (WebCore::FrameLoader::clear):
832         We must clear the DOMWindow first, so that we create a new JSDOMWindow,
833         it gets a new one.
834
835         * page/Frame.cpp:
836         (WebCore::Frame::clearDOMWindow):
837         Null out the domWindow so that on the next access, a new one is
838         created.
839
840 2008-04-25  Sam Weinig  <sam@webkit.org>
841
842         Reviewed by Mark Rowe.
843
844         The EventListeners need to operate and store JSDOMWindows, not JSDOMWrapperWindows.
845
846         * bindings/js/JSDOMWindowBase.cpp:
847         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
848         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
849         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
850         * bindings/js/JSSVGLazyEventListener.cpp:
851         (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
852         * bindings/js/JSSVGLazyEventListener.h:
853         * bindings/js/kjs_events.cpp:
854         (WebCore::JSAbstractEventListener::handleEvent):
855         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
856         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
857         (WebCore::JSUnprotectedEventListener::window):
858         (WebCore::JSUnprotectedEventListener::clearWindow):
859         (WebCore::JSEventListener::JSEventListener):
860         (WebCore::JSEventListener::~JSEventListener):
861         (WebCore::JSEventListener::window):
862         (WebCore::JSEventListener::clearWindow):
863         (WebCore::JSLazyEventListener::JSLazyEventListener):
864         (WebCore::JSLazyEventListener::parseCode):
865         * bindings/js/kjs_events.h:
866         * bindings/js/kjs_proxy.cpp:
867         (WebCore::KJSProxy::createHTMLEventHandler):
868         (WebCore::KJSProxy::createSVGEventHandler):
869
870 2008-04-25  Mark Rowe  <mrowe@apple.com>
871
872         Rubber-stamped by Sam Weinig.
873
874         Add some content to an empty ICU header file to prevent verification errors.
875
876         * icu/unicode/utf_old.h:
877
878 2008-04-25  Anders Carlsson  <andersca@apple.com>
879
880         Fix tyop.
881         
882         * loader/DocumentLoader.cpp:
883         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
884
885 2008-04-25  Anders Carlsson  <andersca@apple.com>
886
887         Reviewed by Sam.
888
889         Add and honor offlineWebApplicationCacheEnabled setting.
890         
891         * WebCore.base.exp:
892         * loader/DocumentLoader.cpp:
893         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
894         * loader/MainResourceLoader.cpp:
895         (WebCore::MainResourceLoader::load):
896         * loader/appcache/ApplicationCacheGroup.cpp:
897         (WebCore::ApplicationCacheGroup::selectCache):
898         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
899         * page/Settings.cpp:
900         (WebCore::Settings::Settings):
901         (WebCore::Settings::setOfflineWebApplicationCacheEnabled):
902         * page/Settings.h:
903         (WebCore::Settings::offlineWebApplicationCacheEnabled):
904
905 2008-04-25  Anders Carlsson  <andersca@apple.com>
906
907         Reviewed by Adam.
908
909         <rdar://problem/5629139>
910         PluginInfoStoreWin needs to implement pluginNameForMIMEType().
911         
912         * plugins/PluginInfoStore.cpp:
913         (WebCore::PluginInfoStore::pluginNameForMIMEType):
914
915 2008-04-25  Tor Arne Vestbø  <tavestbo@trolltech.com>
916
917         Reviewed by Simon.
918
919         Respect antialiasing hint when drawing focus rects.
920
921         * platform/graphics/qt/GraphicsContextQt.cpp:
922         (WebCore::GraphicsContext::drawFocusRing):
923
924 2008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
925
926         Reviewed by Simon.
927
928         networking: Use Qt::QueuedConnection in QNetworkReplyHandler
929
930         Make sure we leave the networking backend before calling
931         into WebCore. Otheriwse we might return to the networking
932         backend when it is already deleted.
933
934         * platform/network/qt/QNetworkReplyHandler.cpp:
935         (WebCore::FormDataIODevice::setParent):
936         (WebCore::QNetworkReplyHandler::start):
937
938 2008-04-25  Tor Arne Vestbø  <tavestbo@trolltech.com>
939
940         Reviewed by Simon.
941
942         Fix propagation of mouse double click events.
943
944         Treat a mouse double click as a regular mouse press with just a different click count.
945
946         * platform/qt/PlatformMouseEventQt.cpp:
947         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
948
949 2008-04-25  Tor Arne Vestbø  <tavestbo@trolltech.com>
950
951         Reviewed by Simon.
952
953         Fixes: Fix strange button sizes (push, radio, and check) in QtWebKit.
954
955         We now use pixel metrics instead of fixed sizes for the
956         button margins, or if the style supports layout rects we
957         use the delta between the content rect and the layout rect.
958
959         In adition we compensate for the difference between the size
960         for content and the actual layout rect (if supported) by
961         reporting back the layout rect to WebKit for page layout,
962         and then inflating the rect we actually paint to.
963
964         * platform/qt/RenderThemeQt.cpp:
965         (WebCore::StylePainter::StylePainter):
966         (WebCore::StylePainter::~StylePainter):
967         (WebCore::RenderThemeQt::RenderThemeQt):
968         (WebCore::inflateButtonRect):
969         (WebCore::RenderThemeQt::adjustRepaintRect):
970         (WebCore::RenderThemeQt::isControlStyled):
971         (WebCore::computeSizeBasedOnStyle):
972         (WebCore::RenderThemeQt::setCheckboxSize):
973         (WebCore::RenderThemeQt::paintCheckbox):
974         (WebCore::RenderThemeQt::setRadioSize):
975         (WebCore::RenderThemeQt::adjustButtonStyle):
976         (WebCore::RenderThemeQt::setButtonSize):
977         (WebCore::RenderThemeQt::setButtonPadding):
978         (WebCore::RenderThemeQt::paintButton):
979         (WebCore::RenderThemeQt::adjustMenuListStyle):
980         (WebCore::RenderThemeQt::setPopupPadding):
981         (WebCore::RenderThemeQt::paintMenuList):
982         * platform/qt/RenderThemeQt.h:
983
984 2008-04-25  Benjamin Meyer  <bmeyer@trolltech.com>
985
986         Reviewed by Holger.
987
988         Fixes: Valgrind warnings about uninitilized variables used in jumps
989
990         * rendering/RenderText.cpp:
991         (WebCore::RenderText::trimmedPrefWidths):
992
993 2008-04-25  Warwick Allison  <warwick@trolltech.com>
994
995         Reviewed by Simon.
996
997         Added simple getter function to PlatformScrollBar to return the
998         maximum value. Needed in the WebKit/qt API.
999
1000         * platform/qt/PlatformScrollBar.h:
1001
1002 2008-04-25  Benjamin Meyer  <bmeyer@trolltech.com>
1003
1004         Reviewed by Holger, Simon.
1005
1006         Implement NoDrop, ZoomIn, and ZoomOut cursors
1007
1008         * Resources/WebKitResources.qrc:
1009         * platform/qt/CursorQt.cpp:
1010         (WebCore::noDropCursor):
1011         (WebCore::notAllowedCursor):
1012         (WebCore::zoomInCursor):
1013         (WebCore::zoomOutCursor):
1014
1015 2008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1016
1017         Reviewed by Simon.
1018
1019         Handle the ListboxAppearance as 'TextField' as well. We are mainly interested in the background.
1020
1021         RenderBox will call us to paint the outline/background, it is handled the same as a
1022         TextAreaAppearance in RenderTheme, handle it the same in the RenderThemeQt
1023
1024         * platform/qt/RenderThemeQt.cpp:
1025         (WebCore::RenderThemeQt::paintTextField):
1026
1027 2008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1028
1029         Reviewed by Simon.
1030
1031         No reason to exit the application when we can not paint something. Replace the Q_ASSERT
1032         with a runtime check. Return true to indicate that we did not handle the painting
1033         of this element.
1034
1035         * platform/qt/RenderThemeQt.cpp:
1036         (WebCore::RenderThemeQt::paintTextField):
1037
1038 2008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1039
1040         Reviewed by Simon.
1041
1042         Correct the comment. We are in painTextField and don't paint a button.
1043
1044         * platform/qt/RenderThemeQt.cpp:
1045         (WebCore::RenderThemeQt::paintTextField):
1046
1047 2008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1048
1049         Reviewed by Simon.
1050
1051         Allow ListboxAppearance to take focus as well. Stolen from Tor Arne
1052
1053         * platform/qt/RenderThemeQt.cpp:
1054         (WebCore::RenderThemeQt::supportsFocus):
1055
1056 2008-04-25  Simon Hausmann  <hausmann@webkit.org>
1057
1058         Reviewed by Holger.
1059
1060         Remove debug output.
1061
1062         * platform/network/qt/ResourceHandleQt.cpp:
1063         (WebCore::ResourceHandle::loadResourceSynchronously):
1064
1065 2008-04-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1066
1067         Reviewed by Simon.
1068
1069         Change the string for searchableIndexIntroduction() to match the mac
1070         and pass http/tests/misc/isindex-formdata.html
1071
1072         * platform/qt/Localizations.cpp:
1073
1074 2008-04-25  Simon Hausmann  <hausmann@webkit.org>
1075
1076         Reviewed by Holger.
1077
1078         When we encounter a new/unknown HTTP request type report it back to WebCore as loading error.
1079
1080         * platform/network/qt/QNetworkReplyHandler.cpp:
1081         (WebCore::QNetworkReplyHandler::start):
1082
1083 2008-04-25  Benjamin Meyer  <bmeyer@trolltech.com>
1084
1085         Reviewed by Simon.
1086
1087         Fix crash in the networking layer.
1088
1089         Set the m_reply to null right after calling deleteLater().
1090
1091         * platform/network/qt/QNetworkReplyHandler.cpp:
1092         (WebCore::QNetworkReplyHandler::finish):
1093
1094 2008-04-24  Mark Rowe  <mrowe@apple.com>
1095
1096         Rubber-stamped by Oliver Hunt.
1097
1098         * WebCore.base.exp: Remove two symbols from the export list that don't need to be exported.
1099
1100 2008-04-24  Dan Bernstein  <mitz@apple.com>
1101
1102         Reviewed by Dave Hyatt.
1103
1104         - fix https://bugs.webkit.org/show_bug.cgi?id=18722
1105           <rdar://problem/5888360> REGRESSION (3.1 -> TOT): Webkit Nightly Build crashes when visiting i has a hotdog
1106
1107         Test: fast/dynamic/float-remove-above-line.html
1108
1109         * rendering/bidi.cpp:
1110         (WebCore::RenderBlock::layoutInlineChildren): Avoid adding floats that
1111         do not intrude into the line to its floats vector. When such floats go
1112         away, they do not dirty the line (because they do not intersect with it)
1113         and having it keep them in its floats vector is what caused the crash.
1114
1115 2008-04-24  Justin Garcia  <justin.garcia@apple.com>
1116
1117         Reviewed by John Sullivan.
1118         
1119         It is possible, despite our safeguards, for createMarkup to iterate past the end of the Range
1120         that is passed to it.  Added a null check to prevent crashes in this situation (we won't crash but
1121         we will create too much markup), and added an ASSERT to hopefully catch the scenario in a debugger 
1122         and help us understand what's going on.
1123
1124         * editing/markup.cpp:
1125         (WebCore::createMarkup):
1126
1127 2008-04-24  Mark Rowe  <mrowe@apple.com>
1128
1129         Reviewed by Sam Weinig.
1130
1131         Remove code for calculating the glyph cache size.
1132
1133         * WebCore.base.exp: Remove unused symbol.
1134         * platform/graphics/mac/FontCacheMac.mm: Remove code that is unused now that we do not compute the glyph cache size.
1135         * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
1136         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1137
1138 2008-04-24  Mark Rowe  <mrowe@apple.com>
1139
1140         Reviewed by Sam Weinig.
1141
1142         Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.
1143
1144         * WebCorePrefix.h:
1145
1146 2008-04-24  Cameron McCormack  <cam@mcc.id.au>
1147
1148         Reviewed by Maciej Stachowiak.
1149
1150         Ensure that changes to rx="" and ry="" attributes on an SVG <rect>
1151         element cause a relayout.
1152
1153         Test: svg/dom/SVGRectElement/rect-modify-rx.svg
1154
1155         * svg/SVGRectElement.cpp:
1156         (WebCore::SVGRectElement::svgAttributeChanged): Call needsLayout()
1157         when the attribute is rx or ry.
1158         (WebCore::SVGRectElement::hasRelativeValues): Return true when the
1159         attribute is rx or ry, since they also can have relative values.
1160
1161 2008-04-24  Adam Barth  <hk9565@gmail.com>
1162
1163         Reviewed by Sam Weinig.
1164
1165         Update the XMLHttpRequest header black list to match the spec.
1166
1167         * xml/XMLHttpRequest.cpp:
1168         (WebCore::isSafeRequestHeader):
1169
1170 2008-04-22  Feng Qian  <ian.eng.webkit@gmail.com>
1171
1172         Reviewed by Geoff Garen.
1173
1174         Fix https://bugs.webkit.org/show_bug.cgi?id=18677
1175         Bug 18677: Synchronous event dispatch confuses the popup blocker into incorrectly blocking chat popups in gmail.com.
1176
1177         Test: fast/events/nested-window-event.html
1178
1179         * bindings/js/kjs_events.cpp:
1180         (WebCore::JSAbstractEventListener::handleEvent): Save and restore the current event around the event dispatch.
1181
1182 2008-04-24  Brady Eidson  <beidson@apple.com>
1183
1184         Reviewed by Teh Mitzpettel
1185
1186         Make it so PageGroups know what their own name is.
1187
1188         * WebCore.base.exp:
1189
1190         * page/Page.cpp:
1191         (WebCore::Page::setGroupName):
1192         (WebCore::Page::groupName):
1193         * page/Page.h:
1194
1195         * page/PageGroup.cpp: Move the PageGroupMap into the PageGroup class.
1196         (WebCore::PageGroup::PageGroup): Added a c'tor that takes the group name as an argument instead of
1197           the initial Page.
1198         (WebCore::PageGroup::pageGroup): Handles creating and mapping names to groups
1199         * page/PageGroup.h:
1200         (WebCore::PageGroup::name):
1201
1202 2008-04-24  Adele Peterson  <adele@apple.com>
1203
1204         Reviewed by Darin.
1205
1206         Consolidate two versions of pathGetFileName.
1207
1208         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Call FileSystem.h version of pathGetFileName and removed the static helper function.
1209         * platform/posix/FileSystemPOSIX.cpp: (WebCore::pathGetFileName): Moved general case from HTMLFormElement version here.
1210           If other platforms relied on that default they should implement this function for their platform specific version of FileSystem.cpp
1211         * platform/win/FileSystemWin.cpp: (WebCore::pathGetFileName): Moved win implementation from HTMLFormElement here.
1212         * platform/wx/FileSystemWx.cpp: (WebCore::pathGetFileName): Moved wx implementation from HTMLFormElement here.
1213
1214 2008-04-24  Anders Carlsson  <andersca@apple.com>
1215
1216         Windows build fix.
1217         
1218         * html/HTMLFormElement.cpp:
1219         (WebCore::pathGetFilename):
1220
1221 2008-04-24  Anders Carlsson  <andersca@apple.com>
1222
1223         Don't crash when the string is empty.
1224         
1225         * html/HTMLMediaElement.cpp:
1226         (WebCore::parseTimeOffset):
1227
1228 2008-04-24  Dan Bernstein  <mitz@apple.com>
1229
1230         Reviewed by Darin Adler.
1231
1232         - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
1233           <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
1234
1235         The three main changes in this patch are:
1236
1237         1) Making all inline boxes know their bidi level, instead of just text
1238            boxes knowing whether their bidi level is odd or even. This is
1239            required for the next change.
1240
1241         2) Replacing RenderObject::inlineBox() with
1242            Position::getInlineBoxAndOffset() in recognition of the fact that the
1243            inline box containing the primary caret for a position in a given
1244            node may belong to a different node's renderer.
1245
1246         3) Changing RenderObject::caretRect() to take an InlineBox parameter,
1247            and changing callers to call VisiblePosition::caretRect(), which
1248            locates the inline box, then calls caretRect() on the renderer for
1249            that box. This, combined with the previous change, ensures that the
1250            primary caret is rendered at the right place for positions that
1251            lie on a directionality boundary.
1252
1253         Test: platform/mac/editing/input/caret-primary-bidi.html
1254
1255         * WebCore.base.exp: Added the VisiblePosition(Node*, int, EAffinity)
1256         constructor and VisiblePosition::caretRect(), and sorted.
1257
1258         * dom/Position.cpp:
1259         (WebCore::nextRenderedEditable): Adjusted for the removal of
1260         RenderObject::inlineBox().
1261         (WebCore::previousRenderedEditable): Ditto.
1262         (WebCore::Position::rendersInDifferentPosition): Ditto.
1263         (WebCore::Position::getInlineBoxAndOffset): Added. Gets the inline box
1264         and the offset within that box at which the primary caret for this
1265         position should render.
1266
1267         * dom/Position.h:
1268
1269         * editing/DeleteSelectionCommand.cpp:
1270         (WebCore::DeleteSelectionCommand::mergeParagraphs): Changed to call
1271         VisiblePosition::caretRect() instead of calling the RenderObject method.
1272
1273         * editing/SelectionController.cpp:
1274         (WebCore::caretY): Ditto.
1275         (WebCore::SelectionController::xPosForVerticalArrowNavigation): Ditto.
1276         (WebCore::SelectionController::layout): Ditto.
1277
1278         * editing/VisiblePosition.cpp:
1279         (WebCore::VisiblePosition::caretRect): Changed to call
1280         getInlineBoxAndOffset() to get the correct inline box and call the
1281         renderer for that box.
1282
1283         * editing/VisiblePosition.h:
1284         (WebCore::VisiblePosition::getInlineBoxAndOffset): Added convenience
1285         methods for getting the inline box and caret offset for a visible
1286         position, accounting for its affinity.
1287
1288         * editing/visible_units.cpp:
1289         (WebCore::rootBoxForLine): Changed to use getInlineBoxAndOffset()
1290         instead of RenderObject::inlineBox().
1291         (WebCore::startPositionForLine):
1292         (WebCore::endPositionForLine):
1293         (WebCore::previousLinePosition): Ditto.
1294         (WebCore::nextLinePosition): Ditto.
1295
1296         * page/AccessibilityObject.cpp:
1297         (WebCore::updateAXLineStartForVisiblePosition): Ditto.
1298
1299         * page/Frame.cpp:
1300         (WebCore::Frame::firstRectForRange): Ditto.
1301
1302         * rendering/InlineBox.cpp:
1303         (WebCore::InlineBox::caretMinOffset): Changed to forward to the
1304         renderer.
1305         (WebCore::InlineBox::caretMaxOffset): Ditto.
1306         * rendering/InlineBox.h: Replaced the m_reversed bit, intended for use
1307         in InlineTextBox only, with six bits of the bidi level of the box,
1308         intended for use in all leaf inline boxes.
1309         (WebCore::InlineBox::InlineBox): Added missing initializer for
1310         m_dirOverride and initialized the bidi level.
1311         (WebCore::InlineBox::bidiLevel): Added this accessor.
1312         (WebCore::InlineBox::setBidiLevel): Ditto.
1313         (WebCore::InlineBox::direction): Ditto.
1314         (WebCore::InlineBox::caretLeftmostOffset): Added this convenience
1315         method.
1316         (WebCore::InlineBox::caretRightmostOffset): Ditto.
1317
1318         * rendering/InlineTextBox.cpp: Replaced all references to m_reversed
1319         with checking of direction().
1320         (WebCore::InlineTextBox::selectionRect):
1321         (WebCore::InlineTextBox::placeEllipsisBox):
1322         (WebCore::InlineTextBox::paint):
1323         (WebCore::InlineTextBox::paintSelection):
1324         (WebCore::InlineTextBox::paintCompositionBackground):
1325         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1326         (WebCore::InlineTextBox::paintTextMatchMarker):
1327         (WebCore::InlineTextBox::textPos):
1328         (WebCore::InlineTextBox::offsetForPosition):
1329         (WebCore::InlineTextBox::positionForOffset):
1330
1331         * rendering/RenderBR.cpp: Removed inlineBox().
1332         * rendering/RenderBR.h: Ditto.
1333
1334         * rendering/RenderBox.cpp:
1335         (WebCore::RenderBox::caretRect): Changed to take an inline box and
1336         account for the direction of the box (or the renderer) in positioning
1337         the caret: in right-to-left boxes, the "before" position is to the right
1338         while "after" is to the left.
1339         * rendering/RenderBox.h:
1340
1341         * rendering/RenderFlow.cpp:
1342         (WebCore::RenderFlow::caretRect): Updated the signature.
1343         * rendering/RenderFlow.h:
1344
1345         * rendering/RenderObject.cpp:
1346         (WebCore::RenderObject::caretRect): Updated the signature.
1347         (WebCore::RenderObject::caretMaxOffset): Changed to return the child
1348         node count (or 1 if there are no children) for replaced elements, such
1349         as <select>s.
1350         * rendering/RenderObject.h:
1351
1352         * rendering/RenderReplaced.cpp: Removed caretMinOffset() and
1353         caretMaxOffset() because the base class implementation does the right
1354         thing for replaced objects now.
1355         * rendering/RenderReplaced.h:
1356
1357         * rendering/RenderSVGInlineText.cpp:
1358         (WebCore::RenderSVGInlineText::caretRect): Updated the signature.
1359         (WebCore::RenderSVGInlineText::positionForCoordinates): Updated for
1360         the change from m_reversed to direction().
1361         * rendering/RenderSVGInlineText.h:
1362
1363         * rendering/RenderText.cpp:
1364         (WebCore::RenderText::caretRect): Changed to take an inline box and
1365         removed the code that used to find the inline for the given position.
1366         Changed use of m_reversed to use direction().
1367         (WebCore::RenderText::position): Changed use of m_reversed to use
1368         direction().
1369         * rendering/RenderText.h:
1370
1371         * rendering/RenderTextControl.cpp:
1372         (WebCore::RenderTextControl::textWithHardLineBreaks): Adjusted for the
1373         removal of RenderObject::inlineBox().
1374
1375         * rendering/RenderTreeAsText.cpp:
1376         (WebCore::writeTextRun): Changed to use direction() instead of
1377         m_reversed.
1378
1379         * rendering/SVGInlineTextBox.cpp: Ditto.
1380         (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
1381         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
1382         (WebCore::SVGInlineTextBox::svgCharacterHitsPosition):
1383
1384         * rendering/SVGRenderTreeAsText.cpp: Ditto.
1385         (WebCore::writeSVGInlineTextBox):
1386
1387         * rendering/SVGRootInlineBox.cpp: Ditto.
1388         (WebCore::svgTextRunForInlineTextBox):
1389         (WebCore::cummulatedWidthOrHeightOfTextChunk):
1390         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1391
1392         * rendering/bidi.cpp:
1393         (WebCore::RenderBlock::constructLine): Made this function set the
1394         bidi level on all leaf boxes.
1395
1396         * svg/SVGTextContentElement.cpp: Changed to use direction() instead of
1397         m_reversed.
1398         (WebCore::cumulativeCharacterRangeLength):
1399         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
1400
1401 2008-04-24  Sam Weinig  <sam@webkit.org>
1402
1403         Fix the world.
1404
1405         * bindings/js/kjs_proxy.cpp:
1406         (WebCore::KJSProxy::clear):
1407
1408 2008-04-24  Darin Adler  <darin@apple.com>
1409
1410         Reviewed by Geoff.
1411
1412         - fix crash in regression test where we'd ask a frame for a user agent string
1413           after the WebView was already closed
1414
1415         * loader/FrameLoader.cpp:
1416         (WebCore::FrameLoader::scheduleHTTPRedirection): Quietly do nothing if this is
1417         called on a frame that's already detached from its page.
1418         (WebCore::FrameLoader::scheduleLocationChange): Ditto.
1419         (WebCore::FrameLoader::scheduleRefresh): Ditto.
1420         (WebCore::FrameLoader::scheduleHistoryNavigation): Ditto.
1421         (WebCore::FrameLoader::redirectionTimerFired): Assert that this is never called
1422         for a frame that's already detached from its page.
1423         (WebCore::FrameLoader::scheduleRedirection): Ditto.
1424         (WebCore::FrameLoader::startRedirectionTimer): Ditto.
1425
1426 2008-04-23  Timothy Hatcher  <timothy@apple.com>
1427
1428         Add a new callFunction helper function to remove duplicate code
1429         for calling JavaScript functions with arguments.
1430
1431         Reviewed by Darin Adler.
1432
1433         * page/InspectorController.cpp:
1434         (WebCore::InspectorController::callSimpleFunction): Call callFunction.
1435         (WebCore::InspectorController::callFunction): Extended version of the original
1436         callSimpleFunction, with script function arguments and an exception argument.
1437         (WebCore::InspectorController::focusNode): Use callFunction.
1438         (WebCore::InspectorController::addScriptResource): Ditto.
1439         (WebCore::InspectorController::removeScriptResource): Ditto.
1440         (WebCore::InspectorController::addDatabaseScriptResource): Ditto.
1441         (WebCore::InspectorController::removeDatabaseScriptResource): Ditto.
1442         (WebCore::InspectorController::addScriptConsoleMessage): Ditto.
1443         * page/InspectorController.h: Add callFunction.
1444
1445 2008-04-24  Anders Carlsson  <andersca@apple.com>
1446
1447         Reviewed by Sam.
1448
1449         Change some String arguments to be const references instead.
1450         
1451         * css/CSSRule.cpp:
1452         (WebCore::CSSRule::setCssText):
1453         * css/CSSRule.h:
1454         * html/HTMLFormElement.cpp:
1455         (WebCore::pathGetFilename):
1456         * html/HTMLMediaElement.cpp:
1457         (WebCore::parseTimeOffset):
1458         * page/EditorClient.h:
1459         * platform/SecurityOrigin.cpp:
1460         (WebCore::isDefaultPortForProtocol):
1461         * platform/graphics/MediaPlayer.cpp:
1462         (WebCore::MediaPlayer::load):
1463         * platform/graphics/MediaPlayer.h:
1464         * rendering/MediaControlElements.cpp:
1465         (WebCore::MediaControlInputElement::MediaControlInputElement):
1466         * rendering/MediaControlElements.h:
1467         * svg/animation/SVGSMILElement.cpp:
1468         (WebCore::SVGSMILElement::Condition::Condition):
1469         * svg/animation/SVGSMILElement.h:
1470         * svg/graphics/SVGImageEmptyClients.h:
1471         (WebCore::SVGEmptyEditorClient::shouldInsertText):
1472         * xml/XSLTProcessor.cpp:
1473         (WebCore::createFragmentFromSource):
1474
1475 2008-04-24  Justin Garcia  <justin.garcia@apple.com>
1476
1477         Reviewed by Darin Adler.
1478
1479         <rdar://problem/5604313> FormatBlock to apply an h1 also inserts a style span around the first letter (16004)
1480         
1481         * editing/TextIterator.cpp:
1482         (WebCore::TextIterator::advance): We emit an extra newline when leaving a
1483         block element that has atypical margin/padding. When we emit the extra newline, 
1484         it needs to be positioned after that block's contents, not after the block. 
1485         This is how we position the first newline, too, since the range for emitted newlines 
1486         should start where the line break begins visually.
1487
1488 2008-04-24  Anders Carlsson  <andersca@apple.com>
1489
1490         Reviewed by Adam.
1491
1492         Only avoid implicit entries when doing the initial caching.
1493         
1494         * loader/appcache/ApplicationCacheGroup.cpp:
1495         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1496         (WebCore::ApplicationCacheGroup::startLoadingEntry):
1497
1498 2008-04-24  Kevin McCullough  <kmccullough@apple.com>
1499
1500         Reviewed by Adam and Sam.
1501
1502         -<rdar://problem/5770054> JavaScript profiler (10928)
1503         -Only profile the page group that starts profiling to avoid profiling
1504         tools that shouldn't be profiled unless explicitly requested to.
1505
1506         * bindings/js/kjs_proxy.cpp: When a new global object is created set its
1507         page group identifier.
1508         (WebCore::KJSProxy::clear):
1509         (WebCore::KJSProxy::initScript):
1510         * page/Console.cpp: When calling console.profile set the identifier of
1511         the page group being profiled.
1512         (WebCore::Console::profile):
1513         * page/PageGroup.cpp: Implement unique identifiers.
1514         (WebCore::getUniqueIdentifier):
1515         (WebCore::PageGroup::PageGroup):
1516         * page/PageGroup.h: Ditto.
1517         (WebCore::PageGroup::identifier):
1518
1519 2008-04-24  John Sullivan  <sullivan@apple.com>
1520
1521         Mac buid fix
1522
1523         * page/mac/WebCoreViewFactory.h:
1524         add declarations of six new AX methods that were added to LocalizedStrings.h
1525         
1526         * platform/mac/LocalizedStringsMac.mm:
1527         (WebCore::AXButtonActionVerb):
1528         implement by calling through to WebCoreViewFactory as we do with the other functions here
1529         (WebCore::AXRadioButtonActionVerb):
1530         ditto
1531         (WebCore::AXTextFieldActionVerb):
1532         ditto
1533         (WebCore::AXCheckedCheckBoxActionVerb):
1534         ditto
1535         (WebCore::AXUncheckedCheckBoxActionVerb):
1536         ditto
1537         (WebCore::AXLinkActionVerb):
1538         ditto
1539
1540 2008-04-24  Simon Hausmann  <hausmann@webkit.org>
1541
1542         Rubber-stamped by Lars
1543
1544         Fix text rendering in -reverse mode on Qt/Mac.
1545
1546         For Font::width() don't use a plain QFontMetrics object but also the properly
1547         setup QTextLayout that has the RTL/LTR force flags set.
1548
1549         * platform/graphics/qt/FontQt.cpp:
1550         (WebCore::Font::width):
1551
1552 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
1553
1554         Reviewed by Simon.
1555
1556         Don't do anti-aliasing for arcs, lines and rects, but continue to anti-alias
1557         all drawing primitives in the HTML Canvas element.
1558
1559         This speeds up drawing of dashed outlines significantly.
1560
1561         Also preserve the anti-aliasing renderhint for transparency layers and
1562         get rid of the mostly unused device pointer.
1563
1564         * platform/graphics/qt/GraphicsContextQt.cpp:
1565         (WebCore::TransparencyLayer::TransparencyLayer):
1566         (WebCore::GraphicsContextPlatformPrivate::p):
1567         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1568         (WebCore::GraphicsContext::beginTransparencyLayer):
1569         (WebCore::GraphicsContext::drawRect):
1570         (WebCore::GraphicsContext::drawLine):
1571         (WebCore::GraphicsContext::strokeArc):
1572
1573 2008-04-24  Paul Olav Tvete <paul@trolltech.com>
1574
1575         Reviewed by Simon.
1576
1577         Fix various compiler warnings related to QString(const char *)
1578         construction by using QLatin1String.
1579
1580         * bridge/qt/qt_instance.cpp:
1581         (KJS::Bindings::QtField::valueFromInstance):
1582         (KJS::Bindings::QtField::setValueToInstance):
1583         * dom/XMLTokenizer.cpp:
1584         (WebCore::):
1585         * platform/graphics/qt/PathQt.cpp:
1586         (WebCore::Path::debugString):
1587
1588 2008-04-24  Morten Johan Sørvig  <msorvig@trolltech.com>
1589
1590         Reviewed by Simon.
1591
1592         Work around QMacStyle bug in repainting the vertical scrollbar.
1593
1594         We draw the scrollbar using HITheme but somehow the translation and the
1595         clipping we previously set using ClipCGContextToRegion is ignored. Drawing
1596         without the translation fixes the clip.
1597
1598         * platform/qt/PlatformScrollBarQt.cpp:
1599         (WebCore::PlatformScrollbar::paint):
1600
1601 2008-04-24  Holger Hans Peter Freyther  <zecke@selfish.org>
1602
1603         Reviewed by Simon.
1604
1605         * Set an expiration date for local files as we do not know what will happen
1606         to these files (in contrast to a http server with max-age and other headers)
1607         * Remember the time when we started the job and use that for the expiration date
1608         * QNetworkManager does not handle expiration at all, we might want to set the
1609         expiration for all downloads but this will be a performance nightmare.
1610
1611         * platform/network/qt/QNetworkReplyHandler.cpp:
1612         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1613         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1614         (WebCore::QNetworkReplyHandler::start):
1615         * platform/network/qt/QNetworkReplyHandler.h:
1616
1617 2008-04-24  Simon Hausmann  <hausmann@webkit.org>
1618
1619         Fix the Gtk and Qt builds.
1620
1621         Added missing localization stubs for accessibility.
1622
1623         * platform/gtk/LocalizedStringsGtk.cpp:
1624         (WebCore::AXButtonActionVerb):
1625         (WebCore::AXRadioButtonActionVerb):
1626         (WebCore::AXTextFieldActionVerb):
1627         (WebCore::AXCheckedCheckBoxActionVerb):
1628         (WebCore::AXUncheckedCheckBoxActionVerb):
1629         (WebCore::AXLinkActionVerb):
1630         * platform/qt/Localizations.cpp:
1631         (WebCore::AXButtonActionVerb):
1632         (WebCore::AXRadioButtonActionVerb):
1633         (WebCore::AXTextFieldActionVerb):
1634         (WebCore::AXCheckedCheckBoxActionVerb):
1635         (WebCore::AXUncheckedCheckBoxActionVerb):
1636         (WebCore::AXLinkActionVerb):
1637
1638 2008-04-24  Olivier Goffart  <ogoffart@trolltech.com>
1639
1640         Reviewed by Simon
1641
1642         Fix various compiler warnings in the Qt port.
1643
1644         * platform/graphics/qt/ImageQt.cpp:
1645         (loadResourcePixmap):
1646         * platform/qt/CookieJarQt.cpp:
1647         (WebCore::cookies):
1648         * platform/qt/ScrollViewQt.cpp:
1649         (WebCore::ScrollView::wheelEvent):
1650         * plugins/qt/PluginDataQt.cpp:
1651         (WebCore::PluginData::initPlugins):
1652
1653 2008-04-24  Andre Poenitz  <andre.poenitz@trolltech.com>
1654
1655         Reviewed by Simon.
1656
1657         Removed spurious QHideEvent forward declaration.
1658
1659         * platform/qt/QWebPopup.h:
1660
1661 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
1662
1663         Reviewed by Simon.
1664
1665         Render text areas using Qt (ensures proper style).
1666
1667         * platform/qt/RenderThemeQt.cpp:
1668         (WebCore::RenderThemeQt::paintTextField):
1669         (WebCore::RenderThemeQt::adjustTextFieldStyle):
1670         (WebCore::RenderThemeQt::paintTextArea):
1671         (WebCore::RenderThemeQt::supportsFocus):
1672         * platform/qt/RenderThemeQt.h:
1673
1674 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
1675
1676         Reviewed by Simon.
1677
1678         Make mouse wheel events over scrollbars behave the same as in Qt, i.e. both
1679         horizontal and vertical wheel events will scroll the view in the orientation
1680         of the scrollbar underneath the cursor.
1681
1682         * platform/qt/ScrollViewQt.cpp:
1683         (WebCore::ScrollView::paint):
1684         (WebCore::ScrollView::wheelEvent):
1685
1686 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
1687
1688         Reviewed by Brady.
1689
1690         * page/AccessibilityObject.cpp:
1691         (WebCore::AccessibilityObject::press): Return false if this object
1692         doesn't have an action element associated with it.
1693         * page/AccessibilityObject.h: Added a performDefaultAction() method,
1694         which just calls press(). Marked press() const and changed its return
1695         type to bool.
1696
1697 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
1698
1699         Reviewed by Adam.
1700
1701         Don't allow a hit test to return an AccessibilityObject that should be
1702         ignored.
1703
1704         * page/AccessibilityObject.cpp:
1705         (WebCore::AccessibilityObject::doAccessibilityHitTest): If this result
1706         object's accessibility is ignored, return the parent unignored object.
1707
1708 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
1709
1710         Reviewed by Adam.
1711
1712         Fix a crash when performing a hit test on an AccessibilityObject with
1713         no layer (e.g., an AccessibilityObject for a RenderText object).
1714
1715         * page/AccessibilityObject.cpp:
1716         (WebCore::AccessibilityObject::doAccessibilityHitTest): Added a null
1717         check for layer. Removed a null check for m_renderer, which shouldn't
1718         occur.
1719
1720 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
1721
1722         * page/AccessibilityObject.cpp:
1723         (WebCore::AccessibilityObject::boundingBoxRect): Added FIXME about this
1724         method not working correctly for objects with CSS transforms applied.
1725
1726 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
1727
1728         Reviewed by Adam.
1729
1730         Implement contentsToScreen() and screenToContents() on Windows.
1731
1732         * platform/ScrollView.h: Make these declarations conditional on
1733         HAVE(ACCESSIBILITY) instead of PLATFORM(MAC).
1734         * platform/win/ScrollViewWin.cpp:
1735         (WebCore::ScrollView::contentsToScreen): Translate from coordinates
1736         relative to the ScrollView to coordinates relative to the screen. Do
1737         this by getting the offset of the ScrollView in screen coordinates and
1738         moving the rect by this amount.
1739         (WebCore::ScrollView::screenToContents): Translate from coordinates
1740         relative to the screen to coordinates relative to the ScrollView.
1741
1742 2008-04-23  Jon Honeycutt  <jhoneycutt@apple.com>
1743
1744         Reviewed by Oliver.
1745
1746         Add a method to get a localized, human-readable string stating this
1747         object's default action, e.g., a button's default action is "press."
1748
1749         * page/AccessibilityObject.cpp:
1750         (WebCore::AccessibilityObject::actionVerb): Added.
1751         * page/AccessibilityObject.h: Added declaration for actionVerb().
1752         * platform/LocalizedStrings.h: Added declarations for:
1753             AXButtonActionVerb()
1754             AXRadioButtonActionVerb()
1755             AXTextFieldActionVerb()
1756             AXCheckedCheckBoxActionVerb()
1757             AXUncheckedCheckBoxActionVerb()
1758             AXLinkActionVerb()
1759
1760 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
1761
1762         Reviewed by Simon.
1763
1764         Cleaned up copyright headers in the Qt port (removed misplaced class
1765         descriptions and fixed inconsistent whitespace and indentation).
1766
1767         * platform/graphics/qt/FontQt.cpp:
1768         * platform/qt/WheelEventQt.cpp:
1769
1770 2008-04-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
1771
1772         Reviewed by Simon.
1773
1774         Disable vanlilla focus rings since Qt provides this as part of the style.
1775
1776         * platform/qt/RenderThemeQt.cpp:
1777
1778 2008-04-24  George Staikos  <george@staikos.net>
1779
1780         Reviewed by Simon.
1781
1782         This optimization in BitmapImage::drawPattern for the identity
1783         transform is bogus and causes incorrect results on sites like youtube.
1784
1785         * platform/graphics/qt/ImageQt.cpp:
1786         (WebCore::BitmapImage::drawPattern):
1787
1788 2008-04-23  Brady Eidson  <beidson@apple.com>
1789
1790         Reviewed by Jon Honeycutt
1791
1792         Preparing for making LocalStorageAreas persistent.
1793
1794         Since LocalStorageAreas will need to do a lot of additional work for each of the basic
1795         operations a Storage object supports, this patch makes the API entry points virtual so
1796         LocalStorageArea can override them.  The behavior for both Local and Session StorageAreas
1797         is unchanged with this patch, but LocalStorageArea will override them in the future.
1798
1799         * storage/StorageArea.cpp: Rename the implementations to internalFoo
1800         (WebCore::StorageArea::internalLength):
1801         (WebCore::StorageArea::internalKey):
1802         (WebCore::StorageArea::internalGetItem):
1803         (WebCore::StorageArea::internalSetItem):
1804         (WebCore::StorageArea::internalRemoveItem):
1805         (WebCore::StorageArea::internalContains):
1806
1807         * storage/StorageArea.h: Call internalFoo variants
1808         (WebCore::StorageArea::length):
1809         (WebCore::StorageArea::key):
1810         (WebCore::StorageArea::getItem):
1811         (WebCore::StorageArea::setItem):
1812         (WebCore::StorageArea::removeItem):
1813         (WebCore::StorageArea::contains):
1814
1815 2008-04-23  David Hyatt  <hyatt@apple.com>
1816
1817         Implement getComputedStyle for border-image.
1818
1819         Reviewed by Dan Bernstein
1820
1821         Added fast/css/getComputedStyle-border-image.html
1822
1823         * css/CSSComputedStyleDeclaration.cpp:
1824         (WebCore::):
1825         (WebCore::valueForRepeatRule):
1826         (WebCore::valueForNinePieceImage):
1827         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1828
1829 2008-04-22  Darin Adler  <darin@apple.com>
1830
1831         Reviewed by Anders.
1832
1833         - simplify use of HashTraits to prepare for some upcoming hash table changes
1834
1835         * page/AXObjectCache.h: Removed uneeded AXIDHashTraits, which are no different
1836         from the default hash traits for unsigned.
1837         * page/mac/AXObjectCacheMac.mm:
1838         (WebCore::AXObjectCache::removeAXID): Remove assertion that's already done
1839         by HashTable that the value is not the deleted value.
1840
1841         * platform/graphics/StringTruncator.cpp: Removed unneeded include.
1842         * svg/SVGFontFaceElement.cpp: Removed unneeded include.
1843
1844 2008-04-23  Kevin Ollivier  <kevino@theolliviers.com>
1845
1846         wx build fixes. Changing BackgroundLayer -> FillLayer and adding
1847         Frame::disconnectPlatformScriptObjects().
1848
1849         * platform/wx/RenderThemeWx.cpp:
1850         (WebCore::RenderThemeWx::isControlStyled):
1851         * platform/wx/TemporaryLinkStubs.cpp:
1852         (Frame::disconnectPlatformScriptObjects):
1853
1854 2008-04-23  David Hyatt  <hyatt@apple.com>
1855
1856         Add support for mask-box-image (similar to border-image).  This property enables a single image
1857         to overlay the entire mask area (with nine-piece slicing rules similar to border image).
1858
1859         Reviewed by Dan Bernstein
1860
1861         Added inline-mask-overlay.html, block-mask-overlay.html
1862
1863         * css/CSSComputedStyleDeclaration.cpp:
1864         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1865         * css/CSSParser.cpp:
1866         (WebCore::CSSParser::parseValue):
1867         (WebCore::CSSParser::parseBorderImage):
1868         * css/CSSPropertyNames.in:
1869         * css/CSSStyleSelector.cpp:
1870         (WebCore::CSSStyleSelector::applyProperty):
1871         * rendering/InlineFlowBox.cpp:
1872         (WebCore::InlineFlowBox::paintMask):
1873         * rendering/RenderBox.cpp:
1874         (WebCore::RenderBox::paintMask):
1875         * rendering/RenderFlow.cpp:
1876         (WebCore::RenderFlow::paintLines):
1877         * rendering/RenderObject.cpp:
1878         (WebCore::RenderObject::paintNinePieceImage):
1879         (WebCore::RenderObject::paintBorder):
1880         * rendering/RenderObject.h:
1881         * rendering/RenderStyle.cpp:
1882         (WebCore::NinePieceImage::operator==):
1883         * rendering/RenderStyle.h:
1884         (WebCore::):
1885         (WebCore::NinePieceImage::m_verticalRule):
1886         (WebCore::NinePieceImage::horizontalRule):
1887         (WebCore::NinePieceImage::verticalRule):
1888         (WebCore::RenderStyle::borderImage):
1889         (WebCore::RenderStyle::maskOverlayImage):
1890         (WebCore::RenderStyle::hasMask):
1891         (WebCore::RenderStyle::resetBorderImage):
1892         (WebCore::RenderStyle::setBorderImage):
1893         (WebCore::RenderStyle::setMaskOverlayImage):
1894         (WebCore::RenderStyle::initialNinePieceImage):
1895         * rendering/RenderTable.cpp:
1896         (WebCore::RenderTable::paintMask):
1897         * rendering/RenderTableCell.cpp:
1898         (WebCore::RenderTableCell::paintMask):
1899
1900 2008-04-23  Justin Garcia  <justin.garcia@apple.com>
1901
1902         Reviewed by Darin Adler.
1903
1904         <rdar://problem/5825350> OWA: Caret disappears when navigating with arrows keys in contenteditable div
1905
1906         * editing/htmlediting.cpp:
1907         (WebCore::firstEditablePositionAfterPositionInRoot): Return a null VisiblePosition if
1908         this function moves out of highestRoot.  Re-wrote so as to not duplicate code inside
1909         and outside of the while loop.
1910         (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
1911
1912 2008-04-23  Daniel Zucker  <zucker@wake3.com>
1913
1914         Reviewed by Adam Roben.
1915
1916         Fix build errors needed to compile Curl in Cairo build.  Add stubs for
1917         didReceiveAuthenticationChallenge, receivedCredential,
1918         receivedRequestToContinueWithoutCredential, and receivedCancellation.
1919         <https://bugs.webkit.org/show_bug.cgi?id=18468>
1920
1921         * platform/network/ResourceHandle.h:  
1922         * platform/network/curl/ResourceHandleCurl.cpp:
1923         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1924         (WebCore::ResourceHandle::receivedCredential):
1925         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
1926         (WebCore::ResourceHandle::receivedCancellation):
1927
1928 2008-04-23  Dan Bernstein  <mitz@apple.com>
1929
1930         Reviewed by Darin Adler.
1931
1932         - fix a bug where moving forward in bidirectional text skips over the
1933           position after the end of the line
1934
1935         Test: editing/selection/move-past-trailing-space.html
1936
1937         * dom/Position.cpp:
1938         (WebCore::Position::upstream): Changed the logic for identifying when a
1939         position is after the last character of a text box of a text node that
1940         continues on the next line, to make it work correctly when boxes are not
1941         laid out in logical order.
1942         (WebCore::Position::downstream): Ditto.
1943
1944 2008-04-23  Brad Hughes  <bhughes@trolltech.com>
1945
1946         Reviewed by Simon.
1947
1948         Fix release build with the intel compiler
1949
1950         Intel compiler can't compile qtwebkit with -O2 or -O1, so we're left with -O0
1951
1952         * WebCore.pro:
1953
1954 2008-04-22  Dan Bernstein  <mitz@apple.com>
1955
1956         Reviewed by Anders Carlsson.
1957
1958         - remove unused calls to Position::upstream()
1959
1960         * editing/InsertLineBreakCommand.cpp:
1961         (WebCore::InsertLineBreakCommand::insertNodeAfterPosition):
1962         (WebCore::InsertLineBreakCommand::insertNodeBeforePosition):
1963
1964 2008-04-22  Jon Honeycutt  <jhoneycutt@apple.com>
1965
1966         Reviewed by Sam.
1967
1968         Add a method to query which modifier keys the platform uses for access
1969         key actions.
1970
1971         * page/EventHandler.cpp:
1972         (WebCore::EventHandler::handleAccessKey): Bitwise and the event's
1973         modifier keys with the platform's access key modifier mask to determine
1974         whether this event can perform an access key action.
1975         * page/EventHandler.h: Added s_accessKeyModifiers, a platform-defined
1976         mask of modifier keys used for access key actions, and a getter.
1977         * page/mac/EventHandlerMac.mm: Use PlatformKeyboardEvent::CtrlKey for
1978         access key actions.
1979         * page/qt/EventHandlerQt.cpp: Same.
1980         * page/gtk/EventHandlerGtk.cpp: Use AltKey.
1981         * page/win/EventHandlerWin.cpp: Same.
1982         * page/wx/EventHandlerWx.cpp: Same.
1983         * platform/PlatformKeyboardEvent.h: Added an enum, ModifierKey.
1984         (WebCore::PlatformKeyboardEvent::):
1985         (WebCore::PlatformKeyboardEvent::modifiers): Return which modifier keys
1986         were active, a combination of ModifierKey values.
1987
1988 2008-04-22  Sam Weinig  <sam@webkit.org>
1989
1990         Reviewed by Maciej Stachowiak.
1991
1992         Make the KJSProxy and FrameLoader member variables instead of pointers
1993         in FramePrivate in a bid to do a little clean up before the last of the
1994         split window patches.  Also, make the KJSProxy not lazily created, as the
1995         real benefit comes from lazily creating the JSDOMWindowWrapper, which we
1996         still do.
1997
1998         * page/Frame.cpp:
1999         (WebCore::Frame::~Frame):
2000         (WebCore::Frame::init):
2001         (WebCore::Frame::loader):
2002         (WebCore::Frame::scriptProxy):
2003         (WebCore::Frame::document):
2004         (WebCore::Frame::setDocument):
2005         (WebCore::Frame::clearScriptProxy):
2006         (WebCore::Frame::pageDestroyed):
2007         (WebCore::FramePrivate::FramePrivate):
2008         (WebCore::FramePrivate::~FramePrivate):
2009         * page/FramePrivate.h:
2010
2011 2008-04-22  Anatoli Papirovski  <apapirovski@mac.com>
2012
2013         Reviewed by Dan Bernstein.
2014
2015         - fix https://bugs.webkit.org/show_bug.cgi?id=18584
2016         border-color, outline-color, column-color, -webkit-text-stroke-color,
2017         and -webkit-text-fill-color inheritance to correctly use parent's color
2018         if the parent's corresponding (border, outline, etc.)-color property
2019         wasn't set.
2020
2021         Test: fast/borders/border-color-inherit.html
2022
2023         * css/CSSStyleSelector.cpp:
2024         (WebCore::CSSStyleSelector::applyProperty):
2025
2026 2008-04-22  Alp Toker  <alp@nuanti.com>
2027
2028         Rubber-stamped by Dave Hyatt.
2029
2030         Move GraphicsContext::clipToImageBuffer() notImplemented() stub to
2031         GraphicsContextCairo.
2032
2033         * platform/graphics/GraphicsContext.cpp:
2034         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2035         (WebCore::GraphicsContext::clipToImageBuffer):
2036
2037 2008-04-22  David Hyatt  <hyatt@apple.com>
2038
2039         Add support for mask-composite to match background-composite.
2040
2041         Reviewed by Sam Weinig
2042
2043         Added fast/backgrounds/mask-composite.html
2044
2045         * css/CSSComputedStyleDeclaration.cpp:
2046         (WebCore::):
2047         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2048         * css/CSSParser.cpp:
2049         (WebCore::CSSParser::parseValue):
2050         (WebCore::CSSParser::parseFillProperty):
2051         * css/CSSPropertyNames.in:
2052         * css/CSSStyleSelector.cpp:
2053         (WebCore::CSSStyleSelector::applyProperty):
2054         * rendering/InlineFlowBox.cpp:
2055         (WebCore::InlineFlowBox::paintMask):
2056
2057 2008-04-22  David Hyatt  <hyatt@apple.com>
2058
2059         Fix for bug 18688, background-color stopped painting on inlines.  Fix a virtual function
2060         misnaming that led to the derived class not getting called properly.
2061
2062         Reviewed by Mark Rowe
2063
2064         * ChangeLog:
2065         * rendering/InlineFlowBox.cpp:
2066         (WebCore::InlineFlowBox::paintFillLayer):
2067         * rendering/RenderObject.h:
2068         (WebCore::RenderObject::paintFillLayerExtended):
2069
2070 2008-04-22  Brady Eidson  <beidson@apple.com>
2071
2072         Reviewed by Sam Weinig
2073
2074         <rdar://problem/5733282> and https://bugs.webkit.org/show_bug.cgi?id=18680
2075         Always loads default shortcut icon URL when an external <script> is referenced before the icon URL is set.
2076
2077         * dom/Document.cpp:
2078         (WebCore::Document::implicitClose): Call FrameLoader->startIconLoader() here, when the document is
2079           finished parsing.
2080
2081         * loader/FrameLoader.cpp:
2082         (WebCore::FrameLoader::endIfNotLoadingMainResource):  Don't start the icon load here, when the
2083           document is finished parsing.  This was often too early, as document parsing may be blocked
2084           on an external script and therefore the correct iconURL is not set yet.
2085           The isLoadingFromCachedPage() check was when we started the icon load based on *loading* instead parsing,
2086           and is now irrelevant.
2087         * loader/FrameLoader.h:  Make startIconLoader() public
2088
2089 2008-04-22  Antti Koivisto  <antti@apple.com>
2090
2091         Reviewed by Oliver.
2092
2093         Support keyPoints attribute of <animateMotion>.
2094         
2095         Tested by SVG test suite test
2096         animate-elem-33-t.svg
2097
2098         * svg/SVGAnimateMotionElement.cpp:
2099         (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
2100         * svg/SVGAnimationElement.cpp:
2101         (WebCore::parseKeyTimes):
2102         (WebCore::SVGAnimationElement::parseMappedAttribute):
2103         (WebCore::SVGAnimationElement::calculatePercentForSpline):
2104         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
2105         (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
2106         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
2107         (WebCore::SVGAnimationElement::startedActiveInterval):
2108         (WebCore::SVGAnimationElement::updateAnimation):
2109         * svg/SVGAnimationElement.h:
2110
2111 2008-04-22  Holger Hans Peter Freyther  <zecke@selfish.org>
2112
2113         Unreviewed build fix.
2114
2115         Update WebKit.qrc to catch up with the addition and removal of images
2116         from page/inspector/Images in recent commits.
2117
2118         * page/inspector/WebKit.qrc:
2119
2120 2008-04-22  David Hyatt  <hyatt@apple.com>
2121
2122         Fix for <rdar://5589634>.
2123
2124         Implement CSS alpha masks.  The syntax is very similar to that used for backgrounds.  Multiple mask images
2125         can be specified, and each one can be tiled, positioned, etc.  The following new properties have been
2126         added (all of which are analogous to their background-* counterparts).
2127
2128         mask, mask-image, mask-clip, mask-origin, mask-repeat, mask-attachment, mask-position
2129
2130         The alpha values in the final composite image are used to determine how the mask applies (alpha of 1 = show,
2131         alpha of 0 = don't show).
2132
2133         SVG images and CSS gradients can also be used as masks.
2134
2135         Reviewed by Dan
2136
2137         Added fast/backgrounds/repeat/mask-negative-offset-repeat.html, fast/backgrounds/svg-as-mask.html
2138
2139         * css/CSSMutableStyleDeclaration.cpp:
2140         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2141         (WebCore::initShorthandMap):
2142         * css/CSSParser.cpp:
2143         (WebCore::CSSParser::parseFillProperty):
2144         (WebCore::CSSParser::parseTransformOrigin):
2145         * css/CSSStyleSelector.cpp:
2146         (WebCore::CSSStyleSelector::adjustRenderStyle):
2147         (WebCore::CSSStyleSelector::applyProperty):
2148         * rendering/InlineFlowBox.cpp:
2149         (WebCore::InlineFlowBox::paint):
2150         (WebCore::InlineFlowBox::paintFillLayers):
2151         (WebCore::InlineFlowBox::paintFillLayer):
2152         (WebCore::InlineFlowBox::paintBoxDecorations):
2153         (WebCore::InlineFlowBox::paintMask):
2154         * rendering/InlineFlowBox.h:
2155         * rendering/RenderBlock.cpp:
2156         (WebCore::RenderBlock::paint):
2157         (WebCore::RenderBlock::paintObject):
2158         * rendering/RenderBox.cpp:
2159         (WebCore::RenderBox::paintRootBoxDecorations):
2160         (WebCore::RenderBox::paintBoxDecorations):
2161         (WebCore::RenderBox::paintMask):
2162         (WebCore::RenderBox::paintFillLayers):
2163         (WebCore::RenderBox::paintFillLayer):
2164         (WebCore::RenderBox::paintFillLayerExtended):
2165         * rendering/RenderBox.h:
2166         * rendering/RenderFieldset.cpp:
2167         (WebCore::RenderFieldset::paintBoxDecorations):
2168         (WebCore::RenderFieldset::paintMask):
2169         * rendering/RenderFieldset.h:
2170         * rendering/RenderInline.cpp:
2171         (WebCore::RenderInline::requiresLayer):
2172         * rendering/RenderLayer.cpp:
2173         (WebCore::RenderLayer::isTransparent):
2174         (WebCore::RenderLayer::paintLayer):
2175         * rendering/RenderObject.cpp:
2176         (WebCore::RenderObject::requiresLayer):
2177         (WebCore::mustRepaintFillLayers):
2178         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
2179         (WebCore::RenderObject::setStyle):
2180         (WebCore::RenderObject::updateFillImages):
2181         * rendering/RenderObject.h:
2182         (WebCore::):
2183         (WebCore::RenderObject::hasMask):
2184         (WebCore::RenderObject::paintMask):
2185         (WebCore::RenderObject::paintFillExtended):
2186         * rendering/RenderReplaced.cpp:
2187         (WebCore::RenderReplaced::paint):
2188         * rendering/RenderStyle.cpp:
2189         (WebCore::FillLayer::FillLayer):
2190         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2191         * rendering/RenderStyle.h:
2192         (WebCore::FillLayer::initialFillComposite):
2193         (WebCore::FillLayer::initialFillSize):
2194         (WebCore::FillLayer::FillLayer):
2195         (WebCore::RenderStyle::hasMask):
2196         * rendering/RenderTable.cpp:
2197         (WebCore::RenderTable::paint):
2198         (WebCore::RenderTable::paintBoxDecorations):
2199         (WebCore::RenderTable::paintMask):
2200         * rendering/RenderTable.h:
2201         * rendering/RenderTableCell.cpp:
2202         (WebCore::RenderTableCell::requiresLayer):
2203         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2204         (WebCore::RenderTableCell::paintMask):
2205         * rendering/RenderTableCell.h:
2206         * rendering/RenderWidget.cpp:
2207         (WebCore::RenderWidget::paint):
2208         * svg/graphics/SVGImage.cpp:
2209         (WebCore::SVGImage::draw):
2210         (WebCore::SVGImage::dataChanged):
2211
2212 2008-04-22  Sam Weinig  <sam@webkit.org>
2213
2214         Reviewed by Geoffrey Garen.
2215
2216         Make DOMAbstractView have a weak reference to the Frame instead of ref'ing
2217         the DOMWindow.
2218
2219         To ensure that the WindowScriptObject (which is a DOMAbstractView) stays valid
2220         after a navigation once the split window is completed, the DOMAbstractView must
2221         wrap the Frame instead of a DOMWindow since the DOMWindow will change.
2222
2223         * WebCore.xcodeproj/project.pbxproj:
2224         * bindings/objc/DOMAbstractView.mm: Added.
2225         (-[DOMAbstractView dealloc]):
2226         (-[DOMAbstractView finalize]):
2227         (-[DOMAbstractView document]):
2228         (-[DOMAbstractView _disconnectFrame]):
2229         (-[DOMAbstractView WebCore::]):
2230         (-[DOMAbstractView _initWithFrame:WebCore::]):
2231         (+[DOMAbstractView _wrapAbstractView:WebCore::]):
2232         Add custom implementation to implement weak reference semantics.
2233
2234         * bindings/objc/DOMAbstractViewFrame.h: Added.
2235         Declare the [DOMAbstractView _disconectFrame] selector.
2236         * bindings/objc/DOMInternal.h:
2237         Remove DOMRGBColor Internal category since it is now generated.
2238
2239         * bindings/objc/DOMUtility.mm:
2240         (KJS::createDOMWrapper):
2241         Don't ever create a DOMAbstractView from a JSDOMWindow, only from JSDOMWindowWrapper.
2242
2243         * bindings/scripts/CodeGeneratorObjC.pm:
2244         Generate internal header for IDLs that want custom implementations.
2245
2246         * css/RGBColor.idl:
2247         Make this a PODType as it really is in the implementation.
2248
2249         * page/AbstractView.idl:
2250         This now needs a custom objective-c binding implementation.
2251
2252         * page/Frame.cpp:
2253         (WebCore::Frame::~Frame):
2254         disconnect the weak frame reference in the WindowScriptObject.
2255
2256         * page/Frame.h:
2257         * page/gtk/FrameGtk.cpp:
2258         (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
2259         * page/mac/FrameMac.mm:
2260         (WebCore::Frame::windowScriptObject): ASSERT that the windowScriptObject is a DOMAbstractView.
2261         (WebCore::Frame::disconnectPlatformScriptObjects): Disconnect the frame pointer from the windowScriptObject.
2262         * page/qt/FrameQt.cpp:
2263         (WebCore::Frame::disconnectPlatformScriptObjects): Dummy implementation.
2264         * page/win/FrameWin.cpp:
2265         (WebCore::Frame::disconnectPlatformScriptObjects): Ditto.
2266
2267 2008-04-22  Dan Bernstein  <mitz@apple.com>
2268
2269         Reviewed by Sam Weinig.
2270
2271         - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
2272           <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
2273
2274         * rendering/bidi.cpp:
2275         (WebCore::RenderBlock::layoutInlineChildren): Make sure to give the
2276         trailing white space a bidi level consistent with its position.
2277
2278 2008-04-22  Timothy Hatcher  <timothy@apple.com>
2279
2280         Remove many unused Web Inspector images.
2281
2282         Rubber-stamped by Adam Roben and Sam Weinig.
2283
2284         * page/inspector/Images/attachedShadow.png: Removed.
2285         * page/inspector/Images/backNormal.png: Removed.
2286         * page/inspector/Images/bottomShadow.png: Removed.
2287         * page/inspector/Images/breadcrumbBackground.png: Removed.
2288         * page/inspector/Images/console.png: Removed.
2289         * page/inspector/Images/databaseBrowserViewNormal.png: Removed.
2290         * page/inspector/Images/databaseBrowserViewNormalSelected.png: Removed.
2291         * page/inspector/Images/databaseBrowserViewSmall.png: Removed.
2292         * page/inspector/Images/databaseBrowserViewSmallSelected.png: Removed.
2293         * page/inspector/Images/databaseQueryViewNormal.png: Removed.
2294         * page/inspector/Images/databaseQueryViewNormalSelected.png: Removed.
2295         * page/inspector/Images/databaseQueryViewSmall.png: Removed.
2296         * page/inspector/Images/databaseQueryViewSmallSelected.png: Removed.
2297         * page/inspector/Images/disclosureDownPressed.png: Removed.
2298         * page/inspector/Images/disclosureRightDown.png: Removed.
2299         * page/inspector/Images/disclosureRightPressed.png: Removed.
2300         * page/inspector/Images/document.png: Removed.
2301         * page/inspector/Images/domViewNormal.png: Removed.
2302         * page/inspector/Images/domViewNormalSelected.png: Removed.
2303         * page/inspector/Images/domViewSmall.png: Removed.
2304         * page/inspector/Images/domViewSmallSelected.png: Removed.
2305         * page/inspector/Images/downTriangle.png: Removed.
2306         * page/inspector/Images/folder.png: Removed.
2307         * page/inspector/Images/forwardNormal.png: Removed.
2308         * page/inspector/Images/gradient.png: Removed.
2309         * page/inspector/Images/gradientHighlight.png: Removed.
2310         * page/inspector/Images/gradientHighlightBottom.png: Removed.
2311         * page/inspector/Images/hideStatusWidget.png: Removed.
2312         * page/inspector/Images/hideStatusWidgetPressed.png: Removed.
2313         * page/inspector/Images/network.png: Removed.
2314         * page/inspector/Images/plainDocument.png: Removed.
2315         * page/inspector/Images/popupArrows.png: Removed.
2316         * page/inspector/Images/popupArrowsBlack.png: Removed.
2317         * page/inspector/Images/reload.png: Removed.
2318         * page/inspector/Images/rightTriangle.png: Removed.
2319         * page/inspector/Images/showStatusWidget.png: Removed.
2320         * page/inspector/Images/showStatusWidgetPressed.png: Removed.
2321         * page/inspector/Images/sidbarItemBackground.png: Removed.
2322         * page/inspector/Images/sidebarActionWidget.png: Removed.
2323         * page/inspector/Images/sidebarActionWidgetPressed.png: Removed.
2324         * page/inspector/Images/sidebarAttachWidget.png: Removed.
2325         * page/inspector/Images/sidebarAttachWidgetPressed.png: Removed.
2326         * page/inspector/Images/sidebarDetachWidget.png: Removed.
2327         * page/inspector/Images/sidebarDetachWidgetPressed.png: Removed.
2328         * page/inspector/Images/sidebarResizeWidget.png: Removed.
2329         * page/inspector/Images/sidebarStatusAreaBackground.png: Removed.
2330         * page/inspector/Images/sourceViewNormal.png: Removed.
2331         * page/inspector/Images/sourceViewNormalSelected.png: Removed.
2332         * page/inspector/Images/sourceViewSmall.png: Removed.
2333         * page/inspector/Images/sourceViewSmallSelected.png: Removed.
2334         * page/inspector/Images/tab.png: Removed.
2335         * page/inspector/Images/tabSelected.png: Removed.
2336         * page/inspector/Images/toggleDown.png: Removed.
2337         * page/inspector/Images/toggleUp.png: Removed.
2338         * page/inspector/Images/toolbarButtonNormal.png: Removed.
2339         * page/inspector/Images/toolbarButtonNormalInactive.png: Removed.
2340         * page/inspector/Images/toolbarButtonNormalPressed.png: Removed.
2341         * page/inspector/Images/toolbarButtonNormalSelected.png: Removed.
2342         * page/inspector/Images/toolbarButtonNormalSelectedInactive.png: Removed.
2343         * page/inspector/Images/toolbarButtonSmall.png: Removed.
2344         * page/inspector/Images/toolbarButtonSmallInactive.png: Removed.
2345         * page/inspector/Images/toolbarButtonSmallPressed.png: Removed.
2346         * page/inspector/Images/toolbarButtonSmallSelected.png: Removed.
2347         * page/inspector/Images/toolbarButtonSmallSelectedInactive.png: Removed.
2348         * page/inspector/Images/toolbarPopupButtonNormal.png: Removed.
2349         * page/inspector/Images/toolbarPopupButtonNormalInactive.png: Removed.
2350         * page/inspector/Images/toolbarPopupButtonNormalPressed.png: Removed.
2351         * page/inspector/Images/toolbarPopupButtonSmall.png: Removed.
2352         * page/inspector/Images/toolbarPopupButtonSmallInactive.png: Removed.
2353         * page/inspector/Images/toolbarPopupButtonSmallPressed.png: Removed.
2354         * page/inspector/Images/toolbarSplitButtonDividerNormal.png: Removed.
2355         * page/inspector/Images/toolbarSplitButtonDividerNormalInactive.png: Removed.
2356         * page/inspector/Images/toolbarSplitButtonDividerSmall.png: Removed.
2357         * page/inspector/Images/toolbarSplitButtonDividerSmallInactive.png: Removed.
2358         * page/inspector/Images/treeLeftTriangleBlack.png: Removed.
2359
2360 2008-04-22  Anders Carlsson  <andersca@apple.com>
2361
2362         Reviewed by Darin.
2363
2364         Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
2365
2366         * bridge/npapi.h:
2367         * bridge/npruntime.h:
2368         * plugins/npfunctions.h:
2369
2370 2008-04-22  Alice Liu  <alice.liu@apple.com>
2371
2372         Reviewed by John Sullivan and Adam Roben.
2373
2374         Test: fast/events/tabindex-focus-chain.html
2375
2376         * dom/Document.cpp:
2377         (WebCore::Document::nextFocusableNode):
2378         (WebCore::Document::previousFocusableNode):
2379         If the focused node has been removed from the normal tabbing order,
2380         advancing focus from this node should advance to the next focusable
2381         node in tree order, and not start over at the beginning of the focus
2382         chain. 
2383
2384 2008-04-22  Timothy Hatcher  <timothy@apple.com>
2385
2386         Adds a debugger toggle button to the scripts status bar that will start
2387         and stop debugging of the inspected page.
2388
2389         Reviewed by Adam Roben.
2390
2391         * English.lproj/InspectorLocalizedStrings.js: Adds the two new tooltip strings.
2392         * page/InspectorController.cpp:
2393         (WebCore::debuggerAttached): Call InspectorController::debuggerAttached.
2394         (WebCore::InspectorController::InspectorController): Initialize
2395         m_debuggerAttached to false.
2396         (WebCore::InspectorController::windowScriptObjectAvailable): Add the debuggerAttached
2397         property to the InspectorController class.
2398         (WebCore::InspectorController::startDebuggingAndReloadInspectedPage):
2399         Set m_debuggerAttached to true.
2400         (WebCore::InspectorController::stopDebugging): Set m_debuggerAttached to false.
2401         * page/InspectorController.h:
2402         * page/inspector/Images/debuggingButtons.png: Added.
2403         * page/inspector/ScriptsPanel.js:
2404         (WebInspector.ScriptsPanel): Disable the pause button. Create the debugging
2405         button and setup the id, className and event listener. Call reset.
2406         (WebInspector.ScriptsPanel.prototype.get statusBarItems): Return an array
2407         (WebInspector.ScriptsPanel.prototype.reset): Call _updateDebuggerButtons.
2408         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Adjust the title of
2409         the debugging button to match what will happen when clicked. Change the style class,
2410         and toggle the disabled state of the pause button.
2411         (WebInspector.ScriptsPanel.prototype._toggleDebugging): Start or stop debugging
2412         depending on InspectorController.debuggerAttached().
2413         * page/inspector/inspector.css: Added style rules for the debugger button.
2414
2415 2008-04-21  Adam Roben  <aroben@apple.com>
2416
2417         Change PlatformWheelEvent to use GET_WHEEL_DELTA_WPARAM
2418
2419         Reviewed by Dan Bernstein.
2420
2421         * platform/win/WheelEventWin.cpp:
2422         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use
2423         GET_WHEEL_DELTA_WPARAM, which is documented way of getting the wheel
2424         delta (it is equivalent to what we were previously doing, however).
2425
2426 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
2427
2428         Qt build fix.
2429
2430         Adjust the Qt resource file to removed image files.
2431
2432         * page/inspector/WebKit.qrc:
2433
2434 2008-04-21  Timothy Hatcher  <timothy@apple.com>
2435
2436         Use CSS gradients to replace many image files in the Web Inspector.
2437
2438         Rubber-stamped by Adam Roben.
2439
2440         * page/inspector/Images/alternateTableRows.png: Removed.
2441         * page/inspector/Images/darkShadow.png: Removed.
2442         * page/inspector/Images/paneHeader.png: Removed.
2443         * page/inspector/Images/paneHeaderActive.png: Removed.
2444         * page/inspector/Images/sidebarSelection.png: Removed.
2445         * page/inspector/Images/sidebarSelectionBackground.png: Removed.
2446         * page/inspector/Images/sidebarSelectionBackgroundFocused.png: Removed.
2447         * page/inspector/Images/sidebarSelectionBackgroundInactive.png: Removed.
2448         * page/inspector/Images/sidebarSelectionBlurred.png: Removed.
2449         * page/inspector/Images/sidebarSelectionBlurredTall.png: Removed.
2450         * page/inspector/Images/sidebarSelectionGray.png: Removed.
2451         * page/inspector/Images/sidebarSelectionGrayTall.png: Removed.
2452         * page/inspector/Images/sidebarSelectionTall.png: Removed.
2453         * page/inspector/Images/sidebarSmallSelectionBackground.png: Removed.
2454         * page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Removed.
2455         * page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Removed.
2456         * page/inspector/Images/toolbarBackground.png: Removed.
2457         * page/inspector/Images/toolbarBackgroundInactive.png: Removed.
2458         * page/inspector/inspector.css:
2459
2460 2008-04-22  Andre Poenitz  <andre.poenitz@trolltech.com>
2461
2462         Reviewed by Simon.
2463
2464         Remove compiler warnings on string literals used to construct QStrings
2465         in webkit.
2466
2467         * bridge/qt/qt_instance.cpp:
2468         (KJS::Bindings::QtField::valueFromInstance):
2469         (KJS::Bindings::QtField::setValueToInstance):
2470         * bridge/qt/qt_runtime.cpp:
2471         (KJS::Bindings::convertValueToQVariant):
2472         (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
2473
2474 2008-04-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
2475
2476         Reviewed by Simon.
2477
2478         Fall back to last path component for suggested filename if the HTTP content disposition is not set.
2479
2480         * platform/network/qt/QNetworkReplyHandler.cpp:
2481         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2482
2483 2008-04-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
2484
2485         Reviewed by Simon.
2486
2487         Implemented the generation of the title string for images.
2488
2489         * platform/qt/Localizations.cpp:
2490
2491 2008-04-22  Simon Hausmann  <hausmann@webkit.org>
2492
2493         Qt build fix.
2494
2495         * platform/qt/RenderThemeQt.cpp: Adjust isControlStyled signature to
2496         the signature in the base class.
2497         * platform/qt/RenderThemeQt.h: Ditto.
2498
2499 2008-04-19  Jon Honeycutt  <jhoneycutt@apple.com>
2500
2501         Reviewed by Darin.
2502
2503         Add a method to get the AccessibilityObject's access key,
2504
2505         * page/AccessibilityObject.cpp:
2506         (WebCore::AccessibilityObject::accessKey): Added; returns the object's
2507         access key attribute.
2508         * page/AccessibilityObject.h: Added declaration for accessKey().
2509
2510 2008-04-21  Sam Weinig  <sam@webkit.org>
2511
2512         Reviewed by Anders Carlsson.
2513
2514         Fix numerous crashing tests.
2515
2516         * html/HTMLHtmlElement.cpp:
2517         (WebCore::HTMLHtmlElement::insertedIntoDocument): Null check document->frame().
2518
2519 2008-04-21  Dan Bernstein  <mitz@apple.com>
2520
2521         Reviewed by Darin Adler.
2522
2523         Tests: fast/media/implicit-media-all.html
2524                fast/media/monochrome.html
2525
2526         - allow implicit "all" media in media queries
2527         - use a value of 0 for the monochrome media feature on color displays
2528
2529         * css/CSSGrammar.y:
2530         * css/CSSParser.cpp:
2531         (WebCore::CSSParser::createFloatingMediaQuery):
2532         * css/CSSParser.h:
2533         * css/MediaQueryEvaluator.cpp:
2534         (WebCore::monochromeMediaFeatureEval):
2535
2536 2008-04-21  Brady Eidson  <beidson@apple.com>
2537
2538         Rockingly reviewed by Adele
2539
2540         Small StorageArea cleanups
2541
2542         * storage/SessionStorageArea.cpp:
2543         (WebCore::SessionStorageArea::copy): Pass "this" instead of the StorageMap belonging to this
2544         (WebCore::SessionStorageArea::SessionStorageArea):
2545         * storage/SessionStorageArea.h:
2546
2547         * storage/StorageArea.cpp:  Changed to not expose the StorageMap at all - it's dangerous to expose
2548           it since we rely explicitly on its ref-count
2549         (WebCore::StorageArea::StorageArea): Take another StorageArea as the c'tor argument and get the 
2550           StorageMap from that.
2551         (WebCore::StorageArea::setItem):  The previous comment/code here was bogus.  All JS objects passed in
2552           to this API are stringified, so there's no such thing as "null" for setItem()
2553         * storage/StorageArea.h:
2554
2555 2008-04-21  Justin Garcia  <justin.garcia@apple.com>
2556
2557         Reviewed by John Sullivan.
2558
2559         <rdar://problem/5803706> Pressing return at the end of a header doesn't break out of header (17460)
2560         
2561         If we're doing InsertParagraphSeparator at the end of a header element, do not clone it.
2562         Renamed m_useDefaultParagraphElement to m_mustUseDefaultParagraphElement, since now,
2563         when it is false, that does not necessarily mean that a default paragraph element
2564         will not be used.  Callers that passed false for this argument are OK with this.
2565
2566         * editing/InsertParagraphSeparatorCommand.cpp:
2567         (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): 
2568         (WebCore::InsertParagraphSeparatorCommand::shouldUseDefaultParagraphElement):
2569         (WebCore::InsertParagraphSeparatorCommand::doApply):
2570         * editing/InsertParagraphSeparatorCommand.h:
2571
2572 2008-04-21  Anders Carlsson  <andersca@apple.com>
2573
2574         Reviewed by Adam.
2575
2576         Perform cache selection. If a main resource has a URL that exists in a cache, load it from there.
2577         
2578         * html/HTMLAttributeNames.in:
2579         Add manifest attribute.
2580         
2581         * html/HTMLHtmlElement.cpp:
2582         (WebCore::HTMLHtmlElement::insertedIntoDocument):
2583         * html/HTMLHtmlElement.h:
2584         Perform cache selection.
2585         
2586         * loader/MainResourceLoader.cpp:
2587         (WebCore::MainResourceLoader::load):
2588         * loader/appcache/ApplicationCacheGroup.cpp:
2589         (WebCore::cacheHostSet):
2590         (WebCore::urlHostHash):
2591         (WebCore::ApplicationCacheGroup::cacheForRequest):
2592         (WebCore::ApplicationCacheGroup::selectCache):
2593         * loader/appcache/ApplicationCacheGroup.h:
2594         * platform/KURL.h:
2595         (WebCore::KURL::hostStart):
2596         (WebCore::KURL::hostEnd):
2597
2598 2008-04-21  Mike Belshe  <mike@belshe.com>
2599
2600         Reviewed by eseidel and darin.  Landed by eseidel.
2601
2602         Fix broken optimization in createStrippingNullCharacters.
2603
2604         * platform/text/StringImpl.cpp:
2605         (WebCore::StringImpl::createStrippingNullCharacters):
2606
2607 2008-04-21  David Hyatt  <hyatt@apple.com>
2608
2609         Make the back end parsing of background properties generic.  Rename all the parsing functions from
2610         background -> fill.
2611
2612         Add a new set of properties for doing masks.  The code is now refactored so that the mask properties
2613         and the background properties share parsing routines.
2614
2615         Reviewed by Dan
2616
2617         * css/CSSComputedStyleDeclaration.cpp:
2618         (WebCore::):
2619         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2620         * css/CSSParser.cpp:
2621         (WebCore::CSSParser::parseValue):
2622         (WebCore::CSSParser::addFillValue):
2623         (WebCore::CSSParser::parseFillShorthand):
2624         (WebCore::CSSParser::parseFillImage):
2625         (WebCore::CSSParser::parseFillPositionXY):
2626         (WebCore::CSSParser::parseFillPosition):
2627         (WebCore::CSSParser::parseFillSize):
2628         (WebCore::CSSParser::parseFillProperty):
2629         (WebCore::CSSParser::parseTransformOrigin):
2630         * css/CSSParser.h:
2631         * css/CSSPropertyNames.in:
2632         * css/CSSStyleSelector.cpp:
2633         (WebCore::CSSStyleSelector::CSSStyleSelector):
2634         (WebCore::CSSStyleSelector::mapFillAttachment):
2635         (WebCore::CSSStyleSelector::mapFillClip):
2636         (WebCore::CSSStyleSelector::mapFillComposite):
2637         (WebCore::CSSStyleSelector::mapFillOrigin):
2638         (WebCore::CSSStyleSelector::mapFillImage):
2639         (WebCore::CSSStyleSelector::mapFillRepeat):
2640         (WebCore::CSSStyleSelector::mapFillSize):
2641         (WebCore::CSSStyleSelector::mapFillXPosition):
2642         (WebCore::CSSStyleSelector::mapFillYPosition):
2643         * rendering/RenderStyle.cpp:
2644         (WebCore::FillLayer::FillLayer):
2645         (WebCore::FillLayer::operator=):
2646         (WebCore::FillLayer::operator==):
2647         (WebCore::StyleBackgroundData::StyleBackgroundData):
2648         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2649         (WebCore::StyleRareNonInheritedData::operator==):
2650         (WebCore::RenderStyle::diff):
2651         * rendering/RenderStyle.h:
2652         (WebCore::LengthSize::LengthSize):
2653         (WebCore::):
2654         (WebCore::FillLayer::type):
2655         (WebCore::FillLayer::initialFillAttachment):
2656         (WebCore::FillLayer::initialFillClip):
2657         (WebCore::FillLayer::initialFillOrigin):
2658         (WebCore::FillLayer::initialFillRepeat):
2659         (WebCore::FillLayer::initialFillComposite):
2660         (WebCore::FillLayer::initialFillSize):
2661         (WebCore::FillLayer::initialFillXPosition):
2662         (WebCore::FillLayer::initialFillYPosition):
2663         (WebCore::FillLayer::initialFillImage):
2664         (WebCore::RenderStyle::maskImage):
2665         (WebCore::RenderStyle::maskRepeat):
2666         (WebCore::RenderStyle::maskComposite):
2667         (WebCore::RenderStyle::maskAttachment):
2668         (WebCore::RenderStyle::maskClip):
2669         (WebCore::RenderStyle::maskOrigin):
2670         (WebCore::RenderStyle::maskXPosition):
2671         (WebCore::RenderStyle::maskYPosition):
2672         (WebCore::RenderStyle::maskSize):
2673         (WebCore::RenderStyle::accessMaskLayers):
2674         (WebCore::RenderStyle::maskLayers):
2675         (WebCore::RenderStyle::clearBackgroundLayers):
2676         (WebCore::RenderStyle::clearMaskLayers):
2677         (WebCore::RenderStyle::inheritMaskLayers):
2678
2679 2008-04-21  Timothy Hatcher  <timothy@apple.com>
2680
2681         Fixes the issue were a Database view could still be visible after navigating to a new page.
2682
2683         Reviewed by Darin Adler.
2684
2685         * page/inspector/DatabasesPanel.js:
2686         (WebInspector.DatabasesPanel.prototype.reset): Delete the _tableViews and _queryView properties
2687         from all databases. Remove all the children from databaseViews.
2688
2689 2008-04-21  Timothy Hatcher  <timothy@apple.com>
2690
2691         Adds the ability to enter multi-line commands in the console by holding the
2692         alt/option key when pressing enter/return.
2693
2694         https://bugs.webkit.org/show_bug.cgi?id=18454
2695
2696         Reviewed by Darin Adler.
2697
2698         * page/inspector/Console.js:
2699         (WebInspector.Console.prototype._enterKeyPressed): Return early if the
2700         alt/option key is held when enter is pressed.
2701         * page/inspector/inspector.css:
2702         (.console-message-text): Added. Set white-space: pre-wrap.
2703
2704 2008-04-21  Timothy Hatcher  <timothy@apple.com>
2705
2706         Fixes the bug where the Database table names do not update when
2707         running the CREATE TABLE or DROP TABLE queries. Also makes the
2708         table names update every time the database is collapsed and expanded.
2709
2710         https://bugs.webkit.org/show_bug.cgi?id=18453
2711
2712         Reviewed by Darin Adler.
2713
2714         * page/inspector/DatabasesPanel.js:
2715         (WebInspector.DatabasesPanel.prototype.updateDatabaseTables):
2716         Set shouldRefreshChildren to true on the Database's tree element.
2717         The refreshChildren property was renamed to shouldRefreshChildren.
2718         (WebInspector.DatabaseSidebarTreeElement.prototype.oncollapse):
2719         Request a refresh after every collapse so the next expand will
2720         have an updated table list.
2721
2722 2008-04-21  Timothy Hatcher  <timothy@apple.com>
2723
2724         Adds INDEX to the list of completion words for the Databases query view.
2725
2726         https://bugs.webkit.org/show_bug.cgi?id=18452
2727
2728         Reviewed by Darin Adler.
2729
2730         * page/inspector/DatabaseQueryView.js:
2731         (WebInspector.DatabaseQueryView.prototype.completions): Split up "CREATE TABLE "
2732         and "DROP TABLE " into "CREATE ", "DROP ", "TABLE ". And added "INDEX ".
2733
2734 2008-04-21  Timothy Hatcher  <timothy@apple.com>
2735
2736         Adds the UI portions of the Scripts panel to the Web Inspector.
2737         The Scripts panel has not been added to the toolbar yet.
2738
2739         https://bugs.webkit.org/show_bug.cgi?id=18601
2740
2741         Reviewed by Adam Roben.
2742
2743         * English.lproj/InspectorLocalizedStrings.js: Changed "Show inherited properties"
2744         to "Show inherited". Adds new strings for the Scripts' panel tooltips.
2745         * page/inspector/BreakpointsSidebarPane.js: Added.
2746         * page/inspector/CallStackSidebarPane.js: Added.
2747         * page/inspector/Images/back.png: Added.
2748         * page/inspector/Images/debuggerContinue.png: Added.
2749         * page/inspector/Images/debuggerPause.png: Added.
2750         * page/inspector/Images/debuggerStepInto.png: Added.
2751         * page/inspector/Images/debuggerStepOut.png: Added.
2752         * page/inspector/Images/debuggerStepOver.png: Added.
2753         * page/inspector/Images/forward.png: Added.
2754         * page/inspector/Images/statusbarResizerHorizontal.png: Added.
2755         * page/inspector/PropertiesSection.js:
2756         (WebInspector.PropertiesSection): Flip the order the subtile is appended
2757         so it can float right in the CSS.
2758         * page/inspector/ScriptsPanel.js: Added.
2759         * page/inspector/StylesSidebarPane.js:
2760         (WebInspector.StylePropertiesSection): Changed "Show inherited properties"
2761         to "Show inherited".
2762         * page/inspector/inspector.css: Added new CSS rules for the Scripts panel. 
2763         Also changes the look of the section to match the mockup, this affects
2764         Styles and Properties in Elements.
2765         * page/inspector/inspector.html: Import new files.
2766         * page/inspector/inspector.js:
2767         (Preferences.minScriptsSidebarWidth): Added.
2768
2769 2008-04-21  Kevin McCullough  <kmccullough@apple.com>
2770
2771         Reviewed by Adam.
2772
2773         <rdar://problem/5770054> JavaScript profiler (10928)
2774         Took out debugging printing since we really want to hook into the
2775         inspector and not to print to the terminal.
2776
2777         * page/Console.cpp:
2778         (WebCore::Console::profileEnd):
2779
2780 2008-04-21  Sam Weinig  <sam@webkit.org>
2781
2782         Reviewed by Alexey Proskuryakov.
2783
2784         Fix up XMLHttpRequestProgressEvent.
2785
2786         * bindings/js/JSEventCustom.cpp:
2787         (WebCore::toJS):
2788         * xml/XMLHttpRequestProgressEvent.cpp:
2789         * xml/XMLHttpRequestProgressEvent.h:
2790
2791 2008-04-21  Adam Roben  <aroben@apple.com>
2792
2793         Fix Bug 18615: Crash in PluginPackage::hash
2794
2795         <https://bugs.webkit.org/show_bug.cgi?id=18615>
2796
2797         Reviewed by Anders Carlsson.
2798
2799         * plugins/PluginDatabase.cpp:
2800         (WebCore::PluginDatabase::refresh): Don't pass a null PluginPackage*
2801         to add().
2802
2803 2008-04-21  Anders Carlsson  <andersca@apple.com>
2804
2805         Reviewed by Adam.
2806
2807         Add cache group implementation.
2808
2809         * loader/DocumentLoader.cpp:
2810         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
2811         * loader/appcache/ApplicationCache.cpp:
2812         (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet):
2813         (WebCore::ApplicationCache::resourceForRequest):
2814         * loader/appcache/ApplicationCache.h:
2815         * loader/appcache/ApplicationCacheGroup.cpp:
2816         (WebCore::cacheGroupMap):
2817         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
2818         (WebCore::ApplicationCacheGroup::selectCache):
2819         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
2820         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
2821         (WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
2822         (WebCore::ApplicationCacheGroup::cacheDestroyed):
2823         (WebCore::ApplicationCacheGroup::update):
2824         (WebCore::ApplicationCacheGroup::didReceiveResponse):
2825         (WebCore::ApplicationCacheGroup::didReceiveData):
2826         (WebCore::ApplicationCacheGroup::didFinishLoading):
2827         (WebCore::ApplicationCacheGroup::didFail):
2828         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
2829         (WebCore::ApplicationCacheGroup::didReceiveManifestData):
2830         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
2831         (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
2832         (WebCore::ApplicationCacheGroup::didFailToLoadManifest):
2833         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2834         (WebCore::ApplicationCacheGroup::startLoadingEntry):
2835         (WebCore::ApplicationCacheGroup::addEntry):
2836         (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
2837         (WebCore::ApplicationCacheGroup::callListenersOnAssociatedDocuments):
2838         (WebCore::ApplicationCacheGroup::callListeners):
2839         * loader/appcache/ApplicationCacheGroup.h:
2840         (WebCore::ApplicationCacheGroup::status):
2841         (WebCore::ApplicationCacheGroup::newestCache):
2842         * platform/KURL.h:
2843         (WebCore::KURL::hostStart):
2844         (WebCore::KURL::hostEnd):
2845
2846 2008-04-21  David Hyatt  <hyatt@apple.com>
2847
2848         Rename BackgroundLayer -> FillLayer in preparation for it being used for other types of fills.
2849
2850         Reviewed by Dan
2851
2852         * css/CSSComputedStyleDeclaration.cpp:
2853         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2854         * css/CSSPrimitiveValueMappings.h:
2855         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2856         (WebCore::CSSPrimitiveValue::operator EFillBox):
2857         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
2858         * css/CSSStyleSelector.cpp:
2859         (WebCore::CSSStyleSelector::applyProperty):
2860         (WebCore::CSSStyleSelector::mapFillAttachment):
2861         (WebCore::CSSStyleSelector::mapFillClip):
2862         (WebCore::CSSStyleSelector::mapFillComposite):
2863         (WebCore::CSSStyleSelector::mapFillOrigin):
2864         (WebCore::CSSStyleSelector::mapFillImage):
2865         (WebCore::CSSStyleSelector::mapFillRepeat):
2866         (WebCore::CSSStyleSelector::mapFillSize):
2867         (WebCore::CSSStyleSelector::mapFillXPosition):
2868         (WebCore::CSSStyleSelector::mapFillYPosition):
2869         (WebCore::CSSStyleSelector::mapTransitionDuration):
2870         (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
2871         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
2872         (WebCore::CSSStyleSelector::mapTransitionProperty):
2873         * css/CSSStyleSelector.h:
2874         * page/AnimationController.cpp:
2875         (WebCore::ImplicitAnimation::ImplicitAnimation):
2876         (WebCore::CompositeImplicitAnimation::animate):
2877         * rendering/InlineFlowBox.cpp:
2878         (WebCore::InlineFlowBox::paintBackgrounds):
2879         (WebCore::InlineFlowBox::paintBackground):
2880         * rendering/InlineFlowBox.h:
2881         * rendering/RenderBox.cpp:
2882         (WebCore::RenderBox::paintRootBoxDecorations):
2883         (WebCore::RenderBox::paintBackgrounds):
2884         (WebCore::RenderBox::paintBackground):
2885         (WebCore::RenderBox::calculateBackgroundSize):
2886         (WebCore::RenderBox::imageChanged):
2887         (WebCore::RenderBox::calculateBackgroundImageGeometry):
2888         (WebCore::RenderBox::paintBackgroundExtended):
2889         * rendering/RenderBox.h:
2890         * rendering/RenderObject.cpp:
2891         (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
2892         (WebCore::RenderObject::updateBackgroundImages):
2893         (WebCore::RenderObject::arenaDelete):
2894         * rendering/RenderObject.h:
2895         (WebCore::RenderObject::paintBackgroundExtended):
2896         * rendering/RenderStyle.cpp:
2897         (WebCore::FillLayer::FillLayer):
2898         (WebCore::FillLayer::~FillLayer):
2899         (WebCore::FillLayer::operator=):
2900         (WebCore::FillLayer::operator==):
2901         (WebCore::FillLayer::fillUnsetProperties):
2902         (WebCore::FillLayer::cullEmptyLayers):
2903         (WebCore::Transition::fillUnsetProperties):
2904         * rendering/RenderStyle.h:
2905         (WebCore::):
2906         (WebCore::FillLayer::image):
2907         (WebCore::FillLayer::xPosition):
2908         (WebCore::FillLayer::yPosition):
2909         (WebCore::FillLayer::attachment):
2910         (WebCore::FillLayer::clip):
2911         (WebCore::FillLayer::origin):
2912         (WebCore::FillLayer::repeat):
2913         (WebCore::FillLayer::composite):
2914         (WebCore::FillLayer::size):
2915         (WebCore::FillLayer::next):
2916         (WebCore::FillLayer::isImageSet):
2917         (WebCore::FillLayer::isXPositionSet):
2918         (WebCore::FillLayer::isYPositionSet):
2919         (WebCore::FillLayer::isAttachmentSet):
2920         (WebCore::FillLayer::isClipSet):
2921         (WebCore::FillLayer::isOriginSet):
2922         (WebCore::FillLayer::isRepeatSet):
2923         (WebCore::FillLayer::isCompositeSet):
2924         (WebCore::FillLayer::isSizeSet):
2925         (WebCore::FillLayer::setImage):
2926         (WebCore::FillLayer::setXPosition):
2927         (WebCore::FillLayer::setYPosition):
2928         (WebCore::FillLayer::setAttachment):
2929         (WebCore::FillLayer::setClip):
2930         (WebCore::FillLayer::setOrigin):
2931         (WebCore::FillLayer::setRepeat):
2932         (WebCore::FillLayer::setComposite):
2933         (WebCore::FillLayer::setSize):
2934         (WebCore::FillLayer::clearImage):
2935         (WebCore::FillLayer::clearXPosition):
2936         (WebCore::FillLayer::clearYPosition):
2937         (WebCore::FillLayer::clearAttachment):
2938         (WebCore::FillLayer::clearClip):
2939         (WebCore::FillLayer::clearOrigin):
2940         (WebCore::FillLayer::clearRepeat):
2941         (WebCore::FillLayer::clearComposite):
2942         (WebCore::FillLayer::clearSize):
2943         (WebCore::FillLayer::setNext):
2944         (WebCore::FillLayer::operator!=):
2945         (WebCore::FillLayer::hasFixedImage):
2946         (WebCore::Transition::isDurationSet):
2947         (WebCore::Transition::isRepeatCountSet):
2948         (WebCore::Transition::isTimingFunctionSet):
2949         (WebCore::Transition::isPropertySet):
2950         (WebCore::Transition::clearDuration):
2951         (WebCore::Transition::clearRepeatCount):
2952         (WebCore::Transition::clearTimingFunction):
2953         (WebCore::Transition::clearProperty):
2954         (WebCore::Transition::duration):
2955         (WebCore::Transition::repeatCount):
2956         (WebCore::Transition::timingFunction):
2957         (WebCore::Transition::property):
2958         (WebCore::Transition::setDuration):
2959         (WebCore::Transition::setRepeatCount):
2960         (WebCore::Transition::setTimingFunction):
2961         (WebCore::Transition::setProperty):
2962         (WebCore::RenderStyle::NonInheritedFlags::operator==):
2963         (WebCore::RenderStyle::setBitDefaults):
2964         (WebCore::RenderStyle::backgroundRepeat):
2965         (WebCore::RenderStyle::backgroundComposite):
2966         (WebCore::RenderStyle::backgroundAttachment):
2967         (WebCore::RenderStyle::backgroundClip):
2968         (WebCore::RenderStyle::backgroundOrigin):
2969         (WebCore::RenderStyle::backgroundSize):
2970         (WebCore::RenderStyle::accessBackgroundLayers):
2971         (WebCore::RenderStyle::backgroundLayers):
2972         (WebCore::RenderStyle::clearBackgroundLayers):
2973         (WebCore::RenderStyle::inheritBackgroundLayers):
2974         (WebCore::RenderStyle::initialFillAttachment):
2975         (WebCore::RenderStyle::initialFillClip):
2976         (WebCore::RenderStyle::initialFillOrigin):
2977         (WebCore::RenderStyle::initialFillRepeat):
2978         (WebCore::RenderStyle::initialFillComposite):
2979         (WebCore::RenderStyle::initialFillSize):
2980         (WebCore::RenderStyle::initialFillXPosition):
2981         (WebCore::RenderStyle::initialFillYPosition):
2982         (WebCore::RenderStyle::initialFillImage):
2983         (WebCore::RenderStyle::initialWhiteSpace):
2984         (WebCore::RenderStyle::initialColor):
2985         * rendering/RenderTableCell.cpp:
2986         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2987         * rendering/RenderTheme.cpp:
2988         (WebCore::RenderTheme::adjustStyle):
2989         (WebCore::RenderTheme::isControlStyled):
2990         * rendering/RenderTheme.h:
2991         * rendering/RenderThemeMac.h:
2992         * rendering/RenderThemeMac.mm:
2993         (WebCore::RenderThemeMac::isControlStyled):
2994
2995 2008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
2996
2997         Rubber-stamped by Ap.
2998
2999         Add 2 explicit casts.
3000         Fixes built on 64-bit machines (64-bit to 32-bit conversion warning).
3001
3002         * xml/XMLHttpRequest.cpp:
3003         (WebCore::XMLHttpRequest::dispatchProgressEvent):
3004
3005 2008-04-21  Anders Carlsson  <andersca@apple.com>
3006
3007         Reviewed by Adam.
3008
3009         Make it possible to load resources from the cache. 
3010         (Currently no documents are ever associated with a cache though.)
3011         
3012         * loader/DocumentLoader.cpp:
3013         (WebCore::DocumentLoader::setPrimaryLoadComplete):
3014         (WebCore::DocumentLoader::mainResourceApplicationCache):
3015         (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
3016         * loader/DocumentLoader.h:
3017         * loader/MainResourceLoader.cpp:
3018         (WebCore::MainResourceLoader::didFinishLoading):
3019         (WebCore::MainResourceLoader::load):
3020         * loader/MainResourceLoader.h:
3021         (WebCore::MainResourceLoader::applicationCache):
3022         * loader/ResourceLoader.cpp:
3023         (WebCore::ResourceLoader::ResourceLoader):
3024         (WebCore::ResourceLoader::load):
3025         * loader/ResourceLoader.h:
3026         * loader/appcache/ApplicationCacheGroup.h:
3027         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
3028
3029 2008-04-21  MorganL  <morganl.webkit@yahoo.com>
3030
3031         Reviewed by eseidel.  Landed by eseidel.
3032
3033         Add FrameLoader::policyDocumentLoader, and change
3034         provisionalDocumentLoader to have a const signature to be
3035         consistent with documentLoader and activeDocumentLoader.
3036
3037         * WebCore.base.exp:
3038         * WebCore.order:
3039         * loader/FrameLoader.cpp:
3040         (WebCore::FrameLoader::policyDocumentLoader):
3041         (WebCore::FrameLoader::provisionalDocumentLoader):
3042         * loader/FrameLoader.h:
3043
3044 2008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
3045
3046         Not reviewed, add missing files in my previous commit.
3047
3048         Test: http/tests/xmlhttprequest/infoOnProgressEvent.html
3049
3050         * xml/XMLHttpRequestProgressEvent.cpp: Added.
3051         (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
3052         (WebCore::XMLHttpRequestProgressEvent::position):
3053         (WebCore::XMLHttpRequestProgressEvent::totalSize):
3054         * xml/XMLHttpRequestProgressEvent.h: Added.
3055         (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent):
3056         (WebCore::XMLHttpRequestProgressEvent::isProgressEvent):
3057         (WebCore::XMLHttpRequestProgressEvent::lengthComputable):
3058         (WebCore::XMLHttpRequestProgressEvent::loaded):
3059         (WebCore::XMLHttpRequestProgressEvent::total):
3060         * xml/XMLHttpRequestProgressEvent.idl: Added.
3061
3062 2008-04-21  Julien Chaffraix  <jchaffraix@webkit.org>
3063
3064         Reviewed by Ap.
3065
3066         Bug 13596: Implement .onprogress handler on XMLHttpRequest objects to support
3067         progressive download content length information.
3068
3069         - Add the onprogress attribute to XMLHttpRequest and the necessary bindings.
3070
3071         - We use a custom event XMLHttpRequestProgressEvent that is derived from ProgressEvent
3072          (as specified by the XHR2 specification) but also implement LSProgressEvent interface
3073          (to be compliant with Firefox event).
3074
3075         Test: http/tests/xmlhttprequest/infoOnProgressEvent.html
3076
3077         * DerivedSources.make:
3078         * GNUmakefile.am:
3079         * WebCore.pro:
3080         * WebCore.vcproj/WebCore.vcproj:
3081         * WebCore.xcodeproj/project.pbxproj:
3082         * WebCoreSources.bkl:
3083         * bindings/js/JSEventCustom.cpp:
3084         (WebCore::toJS):
3085         * bindings/js/JSXMLHttpRequestCustom.cpp:
3086         (WebCore::JSXMLHttpRequest::mark):
3087         (WebCore::JSXMLHttpRequest::onprogress):
3088         (WebCore::JSXMLHttpRequest::setOnprogress):
3089         * dom/Event.cpp:
3090         (WebCore::Event::isXMLHttpRequestProgressEvent):
3091         * dom/Event.h:
3092         * dom/ProgressEvent.h: Replaced 'private' by 'protected' to enable derivation.
3093         * xml/XMLHttpRequest.cpp:
3094         (WebCore::XMLHttpRequest::onProgressListener): onprogress getter.
3095         (WebCore::XMLHttpRequest::setOnProgressListener): onprogress setter.
3096         (WebCore::XMLHttpRequest::XMLHttpRequest): initialize m_receivedLength.
3097         (WebCore::XMLHttpRequest::internalAbort): reset m_receivedLength on abort.
3098         (WebCore::XMLHttpRequest::didReceiveData): add updateAndDispatchOnProgress call.
3099         (WebCore::XMLHttpRequest::updateAndDispatchOnProgress):
3100         (WebCore::XMLHttpRequest::dispatchProgressEvent):
3101         * xml/XMLHttpRequest.h:
3102         * xml/XMLHttpRequest.idl: Add onprogress event handler.
3103         * xml/XMLHttpRequestProgressEvent.cpp: Added.
3104         (WebCore::XMLHttpRequestProgressEvent::XMLHttpRequestProgressEvent):
3105         (WebCore::XMLHttpRequestProgressEvent::position):
3106         (WebCore::XMLHttpRequestProgressEvent::totalSize):
3107         The two previous methods are used for Firefox compatibility and map to the
3108         same value as the ProgressEvent methods (but they are deprecated and display
3109
3110         * xml/XMLHttpRequestProgressEvent.h: Added.
3111         (WebCore::XMLHttpRequestProgressEvent::isXMLHttpRequestProgressEvent):
3112         (WebCore::XMLHttpRequestProgressEvent::isProgressEvent):
3113         (WebCore::XMLHttpRequestProgressEvent::lengthComputable):
3114         (WebCore::XMLHttpRequestProgressEvent::loaded):
3115         (WebCore::XMLHttpRequestProgressEvent::total):
3116         * xml/XMLHttpRequestProgressEvent.idl: Added.
3117
3118 2008-04-21  Michael Goddard  <michael.goddard@trolltech.com>
3119
3120         Reviewed by Simon.
3121
3122         Better handle Qt binding object lifetime in JS.
3123         Add explicit marking of JS objects created for Qt
3124         bindings, and remove the gcProtect calls.
3125
3126         * bridge/qt/qt_class.cpp:
3127         (KJS::Bindings::QtClass::fallbackObject):
3128         * bridge/qt/qt_instance.cpp:
3129         (KJS::Bindings::QtRuntimeObjectImp::mark):
3130         (KJS::Bindings::QtInstance::~QtInstance):
3131         (KJS::Bindings::QtInstance::mark):
3132         (KJS::Bindings::QtInstance::invokeDefaultMethod):
3133         (KJS::Bindings::QtField::valueFromInstance):
3134         * bridge/qt/qt_instance.h:
3135
3136 2008-04-21  Michael Goddard  <michael.goddard@trolltech.com>
3137
3138         Reviewed by Simon.
3139
3140         Add better support for RuntimeArray type conversions.
3141         It seems that RuntimeArray claims to inherit ArrayInstance
3142         (in the JS sense), but the C++ class doesn't, so properly
3143         access RuntimeArrays.  Also, properly support turning
3144         a JS object into a QVariantMap, since we support the
3145         reverse.
3146
3147         * bridge/qt/qt_runtime.cpp:
3148         (KJS::Bindings::):
3149         (KJS::Bindings::operator<<):
3150         (KJS::Bindings::valueRealType):
3151         (KJS::Bindings::convertValueToQVariant):
3152         (KJS::Bindings::convertQVariantToValue):
3153
3154 2008-04-21  Simon Hausmann  <hausmann@webkit.org>
3155
3156         Reviewed by Holger.
3157
3158         Fix painting of text fields in the CleanLooks style.
3159
3160         The CleanLooks style calls painter->drawRect() and expects a painter
3161         that has no brush set. This is a fairly common assumption and therefore
3162         we now always set the brush to NoBrush before calling a style. This
3163         is done by centralizing the painter setup code into StylePainter
3164         and restore the old brush in the StylePainter destructor.
3165
3166         In addition for textfields it is not necessary anymore to draw
3167         PE_FrameLineEdit as we set the lineWidth in the style option correctly
3168         and it's the style responsibility (QCommonStyle usually) to draw
3169         PE_FrameLineEdit.
3170
3171         * platform/qt/RenderThemeQt.cpp:
3172         (WebCore::RenderThemeQt::paintButton):
3173         (WebCore::RenderThemeQt::paintTextField):
3174         (WebCore::RenderThemeQt::paintMenuList):
3175         (WebCore::StylePainter::StylePainter):
3176         (WebCore::StylePainter::~StylePainter):
3177         * platform/qt/RenderThemeQt.h:
3178         (WebCore::StylePainter::isValid):
3179         (WebCore::StylePainter::drawPrimitive):
3180         (WebCore::StylePainter::drawControl):
3181         (WebCore::StylePainter::drawComplexControl):
3182
3183 2008-04-21  Olivier Goffart  <ogoffart@trolltech.com>
3184
3185         Reviewed by Simon.
3186
3187         Fixes copy and paste of international characters.
3188
3189         When exporting HTML to the clipboard we need meta tags for now that confirm the
3190         conversion to utf-8 done inside QClipboard.
3191
3192         * platform/qt/PasteboardQt.cpp:
3193         (WebCore::Pasteboard::writeSelection):
3194
3195 2008-04-21  Olivier Goffart  <ogoffart@trolltech.com>
3196
3197         Reviewed by Simon.
3198
3199         Fixes: Copying on X11 doesn't always work in webkit
3200
3201         Calling QClipboard::clear right before QClipboard::setData create a race condition with klipper. So don't call QClipboard::clear since it's not required.
3202
3203         * platform/qt/PasteboardQt.cpp:
3204
3205 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3206
3207         Reviewed by Simon.
3208
3209         * Assume that our lineedit has a frame. This is needed for the motif style
3210
3211         * platform/qt/RenderThemeQt.cpp:
3212         (WebCore::RenderThemeQt::paintTextField):
3213
3214 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3215
3216         Reviewed by Simon.
3217
3218         * Follow the windows render theme when determining whether to style
3219         listboxes or not.
3220
3221         * platform/qt/RenderThemeQt.cpp:
3222         (WebCore::RenderThemeQt::isControlStyled):
3223
3224 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3225
3226         Reviewed by Simon.
3227
3228         * Try to bring the notImplemented implementations closer together. This will
3229         print each unimplemted method name only once.
3230
3231         * We might want to change wtf/Assertions.cpp to use qDebug
3232
3233         * platform/NotImplemented.h:
3234
3235 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3236
3237         Reviewed by Simon.
3238
3239         * Remove the special Qt ctor of BitmapImage as it did not work. The Bitmap returned
3240         0 as width and after intialising drawing would fail. BitmapImage relies on a proper
3241         ImageSource.
3242         * Instead of adding more special cases to BitmapImage create a new class called StillImage
3243         which is getting one QPixmap and is implementing Image::draw and Image::size. This is
3244         working well for the images created using Image::loadPlatformResource.
3245
3246         * platform/graphics/BitmapImage.h:
3247         * platform/graphics/qt/ImageQt.cpp:
3248         (WebCore::BitmapImage::initPlatformData):
3249         (WebCore::BitmapImage::getPixmap):
3250         (WebCore::StillImage::StillImage):
3251         (WebCore::StillImage::size):
3252         (WebCore::StillImage::getPixmap):
3253         (WebCore::StillImage::draw):
3254
3255 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3256
3257         Reviewed by Simon.
3258
3259         * Package the Resources into a qrc
3260
3261         * Resources/WebKitResources.qrc: Added.
3262         * WebCore.pro:
3263
3264 2008-04-21  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
3265
3266         Reviewed by Simon.
3267
3268         * Make sure every resource is available als png as well.
3269
3270         * Resources/deleteButton.png: Added.
3271         * Resources/deleteButtonPressed.png: Added.
3272         * Resources/missingImage.png: Added.
3273         * Resources/nullPlugin.png: Copied from WebKit/win/WebKit.vcproj/nullplugin.png.
3274         * Resources/textAreaResizeCorner.png: Added.
3275         * Resources/urlIcon.png: Copied from WebKit/win/WebKit.vcproj/urlIcon.png.
3276
3277 2008-04-20  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
3278
3279         Reviewed by Alp Toker.
3280
3281         Implement FileSystemGtk's getFileModificationTime() with GLib.
3282
3283         * platform/gtk/FileSystemGtk.cpp:
3284         (WebCore::getFileModificationTime):
3285
3286 2008-04-20  Christian Persch  <chpe@gnome.org>
3287
3288         Reviewed by Alp Toker.
3289
3290         Bundle GTK+ Xt compatibility code from Mozilla. These files are used
3291         by all currently proposed GTK+ plugin patches and will make the
3292         proposed patches smaller and easier to review.
3293
3294         These files should be kept as close to the upstream versions as
3295         possible so fixes can be shared between projects and to ensure
3296         compatibility with the reference implementation.
3297
3298         * plugins/gtk/gtk2xtbin.c: Added.
3299         (xt_event_prepare):
3300         (xt_event_check):
3301         (xt_event_dispatch):
3302         (xt_event_polling_timer_callback):
3303         (gtk_xtbin_get_type):
3304         (gtk_xtbin_class_init):
3305         (gtk_xtbin_init):
3306         (gtk_xtbin_realize):
3307         (gtk_xtbin_new):
3308         (gtk_xtbin_set_position):
3309         (gtk_xtbin_resize):
3310         (gtk_xtbin_unrealize):
3311         (gtk_xtbin_destroy):
3312         (xt_client_init):
3313         (xt_client_create):
3314         (xt_client_unrealize):
3315         (xt_client_destroy):
3316         (xt_client_set_info):
3317         (xt_client_handle_xembed_message):
3318         (xt_client_event_handler):
3319         (send_xembed_message):
3320         (error_handler):
3321         (trap_errors):
3322         (untrap_error):
3323         (xt_client_focus_listener):
3324         (xt_add_focus_listener):
3325         (xt_remove_focus_listener):
3326         (xt_add_focus_listener_tree):
3327         * plugins/gtk/gtk2xtbin.h: Added.
3328
3329 2008-04-20  Dirk Schulze  <vbs85@gmx.de>
3330
3331         Reviewed by Alp Toker.
3332
3333         http://bugs.webkit.org/show_bug.cgi?id=15449
3334         [CAIRO] SVG gradients do not work properly
3335
3336         Fixed SVG-gradients in Cairo.
3337
3338         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
3339         (WebCore::SVGPaintServerGradient::setup):
3340
3341 2008-04-20  Simon Hausmann  <hausmann@webkit.org>
3342
3343         Reviewed by Alp Toker.
3344
3345         http://bugs.webkit.org/show_bug.cgi?id=18578
3346         Share the printing code between the Gtk and the Qt port
3347
3348         Share the printing code between the Gtk and the Qt port
3349         and added printing to the Qt WebKit API.
3350
3351         * GNUmakefile.am:
3352         * WebCore.pro:
3353         * page/PrintContext.cpp: Added.
3354         (WebCore::PrintContext::PrintContext):
3355         (WebCore::PrintContext::~PrintContext):
3356         (WebCore::PrintContext::pageCount):
3357         (WebCore::PrintContext::computePageRects):
3358         (WebCore::PrintContext::begin):
3359         (WebCore::PrintContext::spoolPage):
3360         * page/PrintContext.h: Added.
3361
3362 2008-04-19  Alp Toker  <alp@nuanti.com>
3363
3364         Reviewed by Mark Rowe.
3365
3366         Complete the Cairo (CSS) gradient implementation.
3367
3368         * platform/graphics/Gradient.h:
3369         * platform/graphics/cairo/GradientCairo.cpp:
3370         (WebCore::Gradient::platformDestroy):
3371         (WebCore::Gradient::fill):
3372
3373 2008-04-19  Alp Toker  <alp@nuanti.com>
3374
3375         Reviewed by Dave Hyatt.
3376
3377         Restore Cairo canvas support following the recent changes in
3378         BitmapImage and ImageBuffer integrating canvas with CSS. Some
3379         drawing regressions remain unfixed.
3380
3381         * platform/graphics/BitmapImage.h:
3382         * platform/graphics/ImageBuffer.h:
3383         * platform/graphics/cairo/ImageBufferCairo.cpp:
3384         (WebCore::ImageBuffer::image):
3385         * platform/graphics/cairo/ImageCairo.cpp:
3386         (WebCore::BitmapImage::BitmapImage):
3387         (WebCore::BitmapImage::draw):
3388         * platform/graphics/cairo/ImageSourceCairo.cpp:
3389         (WebCore::ImageSource::createFrameAtIndex):
3390
3391 2008-04-19  Dan Bernstein  <mitz@apple.com>
3392
3393         Reviewed by Dave Hyatt.
3394
3395         - fix additional cases of https://bugs.webkit.org/show_bug.cgi?id=17921
3396           namely cases where the trailing white space is already in a separate
3397           run but still needs to be re-ordered.
3398
3399         Test: fast/text/trailing-white-space-2.html
3400
3401         * platform/text/BidiResolver.h:
3402         (WebCore::::moveRunToEnd):
3403         (WebCore::::moveRunToBeginning):
3404         * rendering/bidi.cpp:
3405         (WebCore::RenderBlock::layoutInlineChildren):
3406
3407 2008-04-19  Alp Toker  <alp@nuanti.com>
3408
3409         Reviewed by Nikolas.
3410
3411         Add text shadow support for simple text in FontCairo.
3412
3413         * platform/graphics/cairo/FontCairo.cpp:
3414         (WebCore::Font::drawGlyphs):
3415
3416 2008-04-19  David Hyatt  <hyatt@apple.com>
3417
3418         Fix a minor typo in CSSGradientValue's cssText() method.
3419
3420         Reviewed by olliej
3421
3422         * css/CSSGradientValue.cpp:
3423         (WebCore::CSSGradientValue::cssText):
3424
3425 2008-04-19  Brady Eidson  <beidson@apple.com>
3426
3427         Reviewed by Tim Hatcher
3428
3429         Add LocalStorageDatabasePath to the settings for the location of persistent local storage.
3430
3431         * WebCore.base.exp:
3432
3433         * page/Settings.cpp:
3434         (WebCore::Settings::setLocalStorageDatabasePath):
3435         * page/Settings.h:
3436         (WebCore::Settings::localStorageDatabasePath):
3437
3438 2008-04-18 Jan  Michael Alonzo  <jmalonzo@unpluggable.com>
3439
3440         Reviewed by Alp Toker.
3441
3442         http://bugs.webkit.org/show_bug.cgi?id=16620
3443         [GTK] Autotools make dist and make check support
3444
3445         Cleanups.
3446
3447         * GNUmakefile.am:
3448
3449 2008-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
3450
3451         Reviewed by Ollie.
3452
3453         Change when AccessibilityObject children are added.
3454
3455         Children are now added when children() is called if the children vector
3456         is not up to date. This removes the need for addChildren() and
3457         hasChildren() to be called from outside of AccessibilityObject.
3458
3459         * page/AccessibilityObject.cpp:
3460         (WebCore::AccessibilityObject::AccessibilityObject): Initialize
3461         m_haveChildren to false.
3462         (WebCore::AccessibilityObject::clearChildren): Set m_haveChildren to
3463         false.
3464         (WebCore::AccessibilityObject::children): If m_haveChildren is false,
3465         call addChildren().
3466         (WebCore::AccessibilityObject::addChildren): Set m_haveChildren to true.
3467         * page/AccessibilityObject.h: Removed hasChildren(). Made addChildren()
3468         private and const. Added m_haveChildren. Made m_children mutable so
3469         children() could modify it.
3470         * page/mac/AccessibilityObjectWrapper.mm:
3471         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Don't
3472         call hasChildren() or addChildren().
3473
3474 2008-04-18  Marco Barisione  <marco.barisione@collabora.co.uk>
3475
3476         Reviewed by Alexey.
3477
3478         http://bugs.webkit.org/show_bug.cgi?id=18357
3479         [GTK] Enter on buttons doesn't work
3480
3481         * platform/gtk/KeyEventGtk.cpp:
3482         (WebCore::singleCharacterString): Set the text of a keyboard event for
3483         GDK_ISO_Enter, GDK_KP_Enter, GDK_Return to "\r" instead of an empty
3484         string.
3485
3486 2008-04-18  Marco Barisione  <marco@barisione.org>
3487
3488         Reviewed by Alp Toker.
3489
3490         https://bugs.webkit.org/show_bug.cgi?id=18576
3491         [GTK] windowsKeyCodeForKeyEvent doesn't handle GDK_ISO_Enter and
3492         GDK_KP_Enter
3493
3494         * platform/gtk/KeyEventGtk.cpp:
3495         (WebCore::windowsKeyCodeForKeyEvent): handle GDK_ISO_Enter and
3496         GDK_KP_Enter in windowsKeyCodeForKeyEvent.
3497
3498 2008-04-18  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
3499
3500         Reviewed by Mark Rowe.
3501
3502         Gtk build fix.  Profiler.h does not live inside the kjs directory of JavaScriptCore
3503         so it doesn't make sense to include it as kjs/Profiler.h from WebCore.
3504
3505         * ForwardingHeaders/profiler/Profiler.h: Renamed from WebCore/ForwardingHeaders/kjs/Profiler.h.
3506         * page/Console.cpp:
3507
3508 2008-04-18  Antti Koivisto  <antti@apple.com>
3509
3510         Reviewed by Oliver.
3511
3512         Implement path animation for <animateMotion>.
3513         
3514         SVG test suite tests
3515         animate-elem-07-t.svg
3516         animate-elem-08-t.svg
3517         animate-elem-24-t.svg
3518         animate-elem-30-t.svg
3519
3520         * svg/SVGAnimateMotionElement.cpp:
3521         (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
3522         (WebCore::SVGAnimateMotionElement::hasValidTarget):
3523         (WebCore::SVGAnimateMotionElement::parseMappedAttribute):
3524         (WebCore::SVGAnimateMotionElement::rotateMode):
3525         (WebCore::SVGAnimateMotionElement::animationPath):
3526         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
3527         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
3528         * svg/SVGAnimateMotionElement.h:
3529         (WebCore::SVGAnimateMotionElement::):
3530         * svg/SVGAnimationElement.cpp:
3531         (WebCore::SVGAnimationElement::animationMode):
3532         (WebCore::SVGAnimationElement::startedActiveInterval):
3533         * svg/SVGAnimationElement.h:
3534         (WebCore::SVGAnimationElement::):
3535         (WebCore::SVGAnimationElement::calculateDistance):
3536         (WebCore::SVGAnimationElement::animationPath):
3537
3538 2008-04-11  Mark Rowe  <mrowe@apple.com>
3539
3540         Rubber-stamped by Antti Koivisto.
3541
3542         Silence GCC 4.3 warnings by removing extraneous consts.
3543
3544         * platform/graphics/Font.h:
3545         * platform/network/ResourceRequestBase.cpp:
3546         * platform/network/ResourceRequestBase.h:
3547
3548 2008-04-18  Brady Eidson  <beidson@apple.com>
3549
3550         Rubberstamped by Mark Rowe
3551
3552         Roll out http://trac.webkit.org/projects/webkit/changeset/32204 as it was an incorrect build fix.
3553         The feature in question was NOT database support.
3554
3555         The proper build fix was later applied by Mark in http://trac.webkit.org/projects/webkit/changeset/32225
3556
3557         * page/PageGroup.cpp:
3558         (WebCore::PageGroup::localStorage):
3559
3560 2008-04-18  Brady Eidson  <beidson@apple.com>
3561
3562         Reviewed by Darin and Sam
3563
3564         Don't forget PageGroups when their last Page goes away, as this hurts visited links and anything
3565         else that will be per-PageGroup in the future (such as LocalStorage).
3566
3567         This also fixes a leak, since PageGroups are ref-counted and therefore clearing the raw pointer out
3568         of the PageGroups map without manual deletion leaked it!
3569
3570         * page/Page.cpp:
3571         (WebCore::Page::setGroupName):
3572
3573 2008-04-18  Dan Bernstein  <mitz@apple.com>
3574
3575         Reviewed by Brady Eidson.
3576
3577         - fix <rdar://problem/5872671> REGRESSION (3.1.1-TOT): Repro crash going to Ortega Park home page
3578
3579         Test: fast/dynamic/5872671.html
3580
3581         * rendering/bidi.cpp:
3582         (WebCore::RenderBlock::layoutInlineChildren): Added a missing null
3583         check.
3584
3585 2008-04-18  Sam Weinig  <sam@webkit.org>
3586
3587         Rubber-stamped by Mark Rowe.
3588
3589         responseText and responseXML don't throw exceptions so they don't need an ExceptionCode parameter.
3590
3591         * bindings/js/JSXMLHttpRequestCustom.cpp:
3592         * xml/XMLHttpRequest.cpp:
3593         (WebCore::XMLHttpRequest::responseText):
3594         (WebCore::XMLHttpRequest::responseXML):
3595         * xml/XMLHttpRequest.h:
3596         * xml/XMLHttpRequest.idl:
3597
3598 2008-04-18  Kevin McCullough  <kmccullough@apple.com>
3599
3600         Reviewed by Sam.
3601
3602         - Build fix.
3603
3604         * page/Console.cpp:
3605         (WebCore::Console::profile):
3606         * page/Console.h:
3607         * page/Console.idl:
3608
3609 2008-04-18  Eric Seidel  <eric@webkit.org>
3610
3611         Reviewed by darin.
3612
3613         Fix probable crasher caused by invalid static_cast
3614         https://bugs.webkit.org/show_bug.cgi?id=18585
3615
3616         * page/Frame.cpp:
3617         (WebCore::Frame::contentRenderer):
3618         (WebCore::Frame::ownerRenderer):
3619         * rendering/RenderObject.h: sort the "is*" functions
3620         (WebCore::RenderObject::isApplet):
3621         (WebCore::RenderObject::isBR):
3622         (WebCore::RenderObject::isBlockFlow):
3623         (WebCore::RenderObject::isCounter):
3624         (WebCore::RenderObject::isFrame):
3625         (WebCore::RenderObject::isFrameSet):
3626         (WebCore::RenderObject::isImage):
3627         (WebCore::RenderObject::isInlineBlockOrInlineTable):
3628         (WebCore::RenderObject::isInlineFlow):
3629         (WebCore::RenderObject::isListBox):
3630         (WebCore::RenderObject::isListItem):
3631         (WebCore::RenderObject::isListMarker):
3632         (WebCore::RenderObject::isMedia):
3633         (WebCore::RenderObject::isMenuList):
3634         (WebCore::RenderObject::isRenderBlock):
3635         (WebCore::RenderObject::isRenderImage):
3636         (WebCore::RenderObject::isRenderInline):
3637         (WebCore::RenderObject::isRenderPart):
3638         (WebCore::RenderObject::isRenderView):
3639         (WebCore::RenderObject::isSlider):
3640         (WebCore::RenderObject::isTable):
3641         (WebCore::RenderObject::isTableCell):
3642         (WebCore::RenderObject::isTableCol):
3643         (WebCore::RenderObject::isTableRow):
3644         (WebCore::RenderObject::isTableSection):
3645         (WebCore::RenderObject::isTextArea):
3646         * rendering/RenderPart.h:
3647
3648 2008-04-17  Eric Seidel  <eric@webkit.org>
3649
3650         Reviewed by beth.
3651
3652         Rename Frame::renderer() to contentRenderer() and fix uses.
3653
3654         * WebCore.base.exp:
3655         * editing/Editor.cpp:
3656         (WebCore::Editor::respondToChangedContents):
3657         * loader/FrameLoader.cpp:
3658         (WebCore::FrameLoader::gotoAnchor):
3659         * page/DragController.cpp:
3660         (WebCore::DragController::canProcessDrag):
3661         (WebCore::DragController::mayStartDragAtEventLocation):
3662         (WebCore::DragController::startDrag):
3663         * page/EventHandler.cpp:
3664         (WebCore::EventHandler::eventMayStartDrag):
3665         (WebCore::EventHandler::updateSelectionForMouseDrag):
3666         (WebCore::EventHandler::hitTestResultAtPoint):
3667         (WebCore::EventHandler::hoverTimerFired):
3668         (WebCore::EventHandler::handleDrag):
3669         * page/Frame.cpp:
3670         (WebCore::Frame::selectionLayoutChanged):
3671         (WebCore::Frame::contentRenderer):
3672         (WebCore::Frame::paint):
3673         (WebCore::Frame::markAllMatchesForText):
3674         (WebCore::Frame::documentAtPoint):
3675         * page/Frame.h:
3676         * page/FrameView.cpp:
3677         (WebCore::FrameView::~FrameView):
3678         (WebCore::FrameView::adjustViewSize):
3679         (WebCore::FrameView::layout):
3680         (WebCore::FrameView::scheduleRelayoutOfSubtree):
3681         (WebCore::FrameView::needsLayout):
3682         (WebCore::FrameView::setNeedsLayout):
3683         (WebCore::FrameView::updateControlTints):
3684         * rendering/RenderTreeAsText.cpp:
3685         (WebCore::write):
3686         * svg/graphics/SVGImage.cpp:
3687         (WebCore::SVGImage::nativeImageForCurrentFrame):
3688
3689 2008-04-18  Antti Koivisto  <antti@apple.com>
3690
3691         Reviewed by Oliver.
3692
3693         https://bugs.webkit.org/show_bug.cgi?id=18551
3694         REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests
3695         
3696         Fix for test svg/W3C-SVG-1.1/animate-elem-62-t.svg which was still
3697         crashing under guard malloc after the previous fix.
3698         
3699         If the event base element was a parent of the current element, dereffing it during 
3700         removedFromDocument() would cause problems. Avoid this by not holding ref pointer
3701         to the event base but instead checking from the ref count of the event listener whether
3702         it is still alive and in need for unregistering.
3703         
3704         This shold not be a problem for syncbase pointers since those are always animation elements
3705         and leaf nodes.
3706
3707         * svg/animation/SVGSMILElement.cpp:
3708         (WebCore::ConditionEventListener::ConditionEventListener):
3709         (WebCore::ConditionEventListener::unregister):
3710         (WebCore::ConditionEventListener::handleEvent):
3711         (WebCore::SVGSMILElement::connectConditions):
3712         (WebCore::SVGSMILElement::disconnectConditions):
3713         (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
3714         * svg/animation/SVGSMILElement.h:
3715
3716 2008-04-18  Kevin McCullough  <kmccullough@apple.com>
3717
3718         Reviewed by Sam and Adam.
3719
3720         -<rdar://problem/5770054> JavaScript profiler (10928)
3721         - Added support for console.profile() and console.profileEnd().
3722
3723         * ForwardingHeaders/kjs/FunctionCallProfile.h: Added.
3724         * ForwardingHeaders/kjs/Profiler.h: Added.
3725         * page/Console.cpp:
3726         (WebCore::Console::profile):
3727         (WebCore::Console::profileEnd):
3728         * page/Console.h:
3729         * page/Console.idl:
3730
3731 2008-04-18  Kevin Ollivier  <kevino@theolliviers.com>
3732
3733         wx build fix. Add the new loader/appcache files.
3734
3735         * WebCoreSources.bkl:
3736
3737 2008-04-18  Dan Bernstein  <mitz@apple.com>
3738
3739         Reviewed by Darin Adler.
3740
3741         - fix https://bugs.webkit.org/show_bug.cgi?id=17921
3742           Extra white space at the end of right-aligned or justified text with -webkit-line-break: after-white-space
3743
3744         Test: fast/text/trailing-white-space.html
3745
3746         Made trailing white space on the line always behave like it has the base
3747         bidi level of the block, meaning it will always go on the right (left)
3748         of the line in a left-to-right (right-to-left) block. Made the trailing
3749         white space vanish when it is next to a margin that the text should
3750         be touching, and made its width not count when computing the center
3751         point for center alignment.
3752
3753         * platform/text/BidiResolver.h:
3754         (WebCore::::prependRun): Added.
3755         * rendering/RenderBlock.h:
3756         * rendering/bidi.cpp:
3757         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed the
3758         logicallyLastRun parameter to an optional trailingSpaceRun and changed
3759         the alignment logic to implement the above rules.
3760         (WebCore::RenderBlock::layoutInlineChildren): Added code to identify
3761         when there is trailing white space that needs to be split into its own
3762         run and optionally re-ordered.
3763         (WebCore::RenderBlock::findNextLineBreak): Removed code that split some
3764         trailing space into a separate run in one special case.
3765
3766 2008-04-10  Mark Rowe  <mrowe@apple.com>
3767
3768         Rubber-stamped by Brady Eidson.
3769
3770         Fix builds that do not have DOM storage enabled.
3771
3772         * page/DOMWindow.cpp:
3773         * page/Page.cpp:
3774         * page/PageGroup.cpp:
3775         * page/PageGroup.h:
3776
3777 2008-04-18  Timothy Hatcher  <timothy@apple.com>
3778
3779         Fixes the regression where style rules in the Inspector always show "inline stylesheet"
3780         for the source of the rule and not the URL or other sources.
3781
3782         https://bugs.webkit.org/show_bug.cgi?id=18592
3783
3784         Reviewed by Dan Bernstein.
3785
3786         * page/inspector/StylesSidebarPane.js:
3787         (WebInspector.StylesSidebarPane.prototype.update): Add parentStyleSheet to the anonymous obejct
3788         that we make for each matched rule. The parentStyleSheet property is used later to make the subtitle.
3789
3790 2008-04-18  Dean Jackson <dino@apple.com>
3791
3792         Fixed marquee suspension on wrong document. Passes current
3793         document into Frame::clearTimers.
3794
3795         Reviewed by hyatt.
3796
3797         * history/CachedPage.cpp:
3798         (WebCore::CachedPage::clear):
3799         * page/Frame.cpp:
3800         (WebCore::Frame::clearTimers):
3801         * page/Frame.h:
3802
3803 2008-04-18  Dean Jackson <dino@apple.com>
3804
3805         Add 'ease' timing function to transitions and
3806         make it the default. See latest specification proposal at:
3807         http://webkit.org/specs/CSSVisualEffects/CSSTransitions.html
3808
3809         Reviewed by hyatt.
3810
3811         NOTE: still working on a way to test animating/transitioning content
3812
3813         * css/CSSParser.cpp:
3814         (WebCore::CSSParser::parseTransitionTimingFunction):
3815         * css/CSSStyleSelector.cpp:
3816         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
3817         * css/CSSValueKeywords.in:
3818
3819 2008-04-18  Adam Roben  <aroben@apple.com>
3820
3821         Change JavaScriptDebugListener to use KJS::UString instead of
3822         WebCore::String
3823
3824         This should reduce the number of string allocations performed while
3825         debugging.
3826
3827         Reviewed by Tim Hatcher.
3828
3829         * page/InspectorController.cpp: Updated JavaScriptDebugListener
3830         functions.
3831         * page/InspectorController.h: Ditto.
3832         * page/JavaScriptDebugListener.h: Changed to use KJS::UString instead
3833         of WebCore::String.
3834         * page/JavaScriptDebugServer.cpp: Ditto.
3835         * platform/win/BString.cpp:
3836         (WebCore::BString::BString): Added a constructor that takes a
3837         KJS::UString.
3838         * platform/win/BString.h:
3839
3840 2008-04-18  Adam Roben  <aroben@apple.com>
3841
3842         Mac build fix
3843
3844         * WebCore.xcodeproj/project.pbxproj: Mark JavaScriptDebugListener.h
3845         private.
3846
3847 2008-04-18  Adam Roben  <aroben@apple.com>
3848
3849         Make InspectorController a JavaScriptDebugListener
3850
3851         I added two new functions to the InspectorController JS object:
3852         reloadInspectedPageAndStartDebugging and stopDebugging. These control
3853         when the InspectorController adds/removes itself to/from the
3854         JavaScriptDebugServer.
3855
3856         Reviewed by Tim Hatcher.
3857
3858         * page/InspectorController.cpp:
3859         (WebCore::reloadInspectedPageAndStartDebugging): Added. Just calls
3860         through to InspectorController.
3861         (WebCore::stopDebugging): Ditto.
3862         (WebCore::InspectorController::~InspectorController): Make sure we
3863         stop debugging before we are destroyed so the JavaScriptDebugServer
3864         won't be left with a stale pointer.
3865         (WebCore::InspectorController::windowScriptObjectAvailable): Added two
3866         new functions to our JS object.
3867         (WebCore::InspectorController::closeWindow): Stop debugging when the
3868         window closes.
3869         (WebCore::InspectorController::reloadInspectedPageAndStartDebugging):
3870         Added.
3871         (WebCore::InspectorController::stopDebugging): Added.
3872
3873         (WebCore::InspectorController::didParseSource):
3874         (WebCore::InspectorController::failedToParseSource):
3875         (WebCore::InspectorController::didEnterCallFrame):
3876         (WebCore::InspectorController::willExecuteStatement):
3877         (WebCore::InspectorController::willLeaveCallFrame):
3878         Added empty implementations of the JavaScriptDebugListener functions.
3879
3880         * page/InspectorController.h:
3881
3882 2008-04-17  Adam Roben  <aroben@apple.com>
3883
3884         Rename ExecState* instances from state to exec
3885
3886         Requested by Darin Adler and Sam Weinig.
3887
3888         * bindings/js/JSConsoleCustom.cpp:
3889
3890 2008-04-17  Adam Roben  <aroben@apple.com>
3891
3892         Clean up InspectorController's use of JSStringRef
3893
3894         All JSStringRef creation now happens through a helper function,
3895         jsStringRef, which takes either a const char* or a const String& and
3896         returns a JSRetainPtr<JSStringRef>.
3897
3898         Reviewed by Mitz Pettel.
3899
3900         * page/InspectorController.cpp:
3901         Added jsStringRef and converted all callers to
3902         JSStringCreateWithUTF8CString or JSStringCreateWithCharacters to use
3903         it.
3904
3905 2008-04-17  Adam Roben  <aroben@apple.com>
3906
3907         Add wrappers around InspectorClient::{show,close}Window
3908
3909         This will let us perform actions when the window is actually
3910         showing/closing (InspectorController::show doesn't always directly
3911         show the window).
3912
3913         Reviewed by Tim Hatcher.
3914
3915         * page/InspectorController.cpp:
3916         (WebCore::InspectorController::scriptObjectReady): Call showWindow()
3917         instead of m_client->showWindow().
3918         (WebCore::InspectorController::show): Ditto.
3919         (WebCore::InspectorController::close): Ditto for closeWindow().
3920         (WebCore::InspectorController::showWindow):
3921         (WebCore::InspectorController::closeWindow):
3922         * page/InspectorController.h:
3923
3924 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
3925
3926         Reviewed by Holger.
3927
3928         Adapt to the API changes in WebKit/qt/
3929
3930         * platform/graphics/qt/ImageQt.cpp:
3931         (loadResourcePixmap):
3932
3933 2008-04-18  Ariya Hidayat  <ariya.hidayat@trolltech.com>
3934
3935         Reviewed by Adam Roben.
3936
3937         https://bugs.webkit.org/show_bug.cgi?id=18477
3938
3939         No resize indication is shown when moving/hovering over the frame
3940         border/splitter.
3941
3942         * page/EventHandler.cpp:
3943         (WebCore::EventHandler::selectCursor):
3944
3945 2008-04-18  Adam Roben  <aroben@apple.com>
3946
3947         Windows build fix
3948
3949         Same as before, but for fabs/fabsf.
3950
3951         * svg/SVGAnimateTransformElement.cpp:
3952         (WebCore::SVGAnimateTransformElement::calculateDistance): Changed to
3953         use fabsf and removed narrowPrecisionToFloat.
3954
3955 2008-04-18  Adam Roben  <aroben@apple.com>
3956
3957         Windows build fix
3958
3959         In MSVC, sqrt() has three overloads: float, double, and long
3960         double. In GCC, sqrt() is only for doubles. Both MSVC and GCC have
3961         sqrtf() to operate explicitly on floats.
3962
3963         * svg/SVGAnimateMotionElement.cpp:
3964         (WebCore::SVGAnimateMotionElement::calculateDistance): Changed to use
3965         sqrtf and removed narrowPrecisionToFloat.
3966         * svg/SVGAnimateTransformElement.cpp:
3967         (WebCore::SVGAnimateTransformElement::calculateDistance): Ditto.
3968
3969 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
3970
3971         Fix the build without Database support (fixes the Qt/win build).
3972
3973         * page/PageGroup.cpp:
3974         (WebCore::PageGroup::localStorage):
3975
3976 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
3977
3978         Fix the Gtk build on the build bot.
3979
3980         * GNUmakefile.am: Back out the previous LocalStorage, etc. additions
3981         as they're already listed in another sources group that wasn't used
3982         due to a local configure error.
3983
3984 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
3985
3986         Prospective wx build fix.
3987
3988         * webcore-base.bkl: Add loader/appcache to include paths.
3989
3990 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
3991
3992         Build fix. Back out previous #include fix for PageGroup.h as it broke
3993         the Mac build due to forwarding headers.
3994
3995         * page/PageGroup.h:
3996
3997 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
3998
3999         Build fix for Qt and gcc 4.3.
4000
4001         * WebCore.pro: Added missing files and include paths, re-ordered
4002         the storage/ include path to avoid conflict of storage/LocalStorage.h
4003         with kjs/LocalStorage.h
4004         * page/PageGroup.h: Include LocalStorage.h instead of forward
4005         declaration to fix compilation with gcc 4.3.
4006
4007 2008-04-18  Simon Hausmann  <hausmann@webkit.org>
4008
4009         Build fix for Gtk and gcc 4.3.
4010
4011         * GNUmakefile.am: Added missing files and include paths.
4012         * storage/LocalStorage.h: Include LocalStorageArea.h instead of
4013         forward declaring it due to the HashMap use where gcc 4.3 needs to
4014         see the class.
4015
4016 2008-04-17  Antti Koivisto  <antti@apple.com>
4017
4018         Reviewed by Oliver.
4019         
4020         https://bugs.webkit.org/show_bug.cgi?id=18573
4021
4022         Implement supplemental transforms and use them for <animateMotion> instead of the transform list.
4023         This will allow <animateTransform> and <animateMotion> combine properly.
4024
4025         * svg/SVGAnimateMotionElement.cpp:
4026         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
4027         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
4028         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
4029         * svg/SVGElement.h:
4030         (WebCore::SVGElement::supplementalTransform):
4031         * svg/SVGStyledTransformableElement.cpp:
4032         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
4033         * svg/SVGStyledTransformableElement.h:
4034         (WebCore::SVGStyledTransformableElement::supplementalTransform):
4035         * svg/SVGTextElement.cpp:
4036         (WebCore::SVGTextElement::animatedLocalTransform):
4037         * svg/SVGTextElement.h:
4038         (WebCore::SVGTextElement::supplementalTransform):
4039
4040 2008-04-17  Antti Koivisto  <antti@apple.com>
4041
4042         Reviewed by Oliver.
4043
4044         Implement calcMode=paced.
4045         
4046         Tested by SVG testsuite tests
4047         animate-elem-11-t.svg
4048         animate-elem-15-t.svg
4049         animate-elem-82-t.svg
4050
4051         * svg/SVGAnimateElement.cpp:
4052         (WebCore::SVGAnimateElement::calculateDistance):
4053         * svg/SVGAnimateElement.h:
4054         * svg/SVGAnimateMotionElement.cpp:
4055         (WebCore::SVGAnimateMotionElement::calculateDistance):
4056         * svg/SVGAnimateMotionElement.h:
4057         * svg/SVGAnimateTransformElement.cpp:
4058         (WebCore::SVGAnimateTransformElement::calculateDistance):
4059         * svg/SVGAnimateTransformElement.h:
4060         * svg/SVGAnimationElement.cpp:
4061         (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
4062         (WebCore::SVGAnimationElement::startedActiveInterval):
4063         * svg/SVGAnimationElement.h:
4064         (WebCore::SVGAnimationElement::calculateDistance):
4065
4066 2008-04-17  David Hyatt  <hyatt@apple.com>
4067
4068         Fix a leak in ImageBuffer's clearImage method.
4069
4070         Reviewed by olliej
4071
4072         * platform/graphics/ImageBuffer.h:
4073         (WebCore::ImageBuffer::clearImage):
4074
4075 2008-04-17  Antti Koivisto  <antti@apple.com>
4076
4077         Reviewed by Eric.
4078         
4079         https://bugs.webkit.org/show_bug.cgi?id=12438
4080
4081         More SVG animation:
4082         
4083         - Make multiple additive animations work
4084         - Support animating <use> instance trees
4085
4086         * svg/SVGAnimateColorElement.cpp:
4087         (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
4088         * svg/SVGAnimateColorElement.h:
4089         
4090         Made this AnimateElement subclass. All functionality is now provided by AnimateElement.
4091         
4092         * svg/SVGAnimateElement.cpp:
4093         (WebCore::SVGAnimateElement::determinePropertyType):
4094         (WebCore::SVGAnimateElement::calculateAnimatedValue):
4095         (WebCore::SVGAnimateElement::calculateFromAndToValues):
4096         (WebCore::SVGAnimateElement::calculateFromAndByValues):
4097         (WebCore::SVGAnimateElement::resetToBaseValue):
4098         (WebCore::SVGAnimateElement::applyResultsToTarget):
4099         * svg/SVGAnimateElement.h:
4100         * svg/SVGAnimateMotionElement.cpp:
4101         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
4102         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
4103         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
4104         * svg/SVGAnimateMotionElement.h:
4105         * svg/SVGAnimateTransformElement.cpp:
4106         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
4107         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
4108         (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
4109         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
4110         * svg/SVGAnimateTransformElement.h:
4111         
4112         Switch to new model where
4113         - resetToBaseValue() resets the animated value back to the base value
4114         - calculateAnimatedValue() computes the value and adds it to the element used for accumulation
4115         - applyResultsToTarget() sets the computed value the target element
4116         
4117         * svg/SVGAnimationElement.cpp:
4118         (WebCore::SVGAnimationElement::fromValue):
4119         (WebCore::SVGAnimationElement::attributeIsCSS):
4120         (WebCore::SVGAnimationElement::targetAttributeIsCSS):
4121         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
4122         
4123         Update instances too.
4124         
4125         (WebCore::SVGAnimationElement::startedActiveInterval):
4126         (WebCore::SVGAnimationElement::updateAnimation):
4127         (WebCore::SVGAnimationElement::endedActiveInterval):
4128         * svg/SVGAnimationElement.h:
4129         * svg/SVGSVGElement.cpp:
4130         (WebCore::SVGSVGElement::SVGSVGElement):
4131         * svg/SVGSetElement.cpp:
4132         (WebCore::SVGSetElement::SVGSetElement):
4133         * svg/SVGSetElement.h:
4134         
4135         Made this AnimateElement subclass. All functionality is now provided by AnimateElement.
4136         
4137         * svg/animation/SMILTimeContainer.cpp:
4138         (WebCore::SMILTimeContainer::SMILTimeContainer):
4139         (WebCore::SMILTimeContainer::unschedule):
4140         (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
4141         (WebCore::PriorityCompare::PriorityCompare):
4142         (WebCore::PriorityCompare::operator()):
4143         (WebCore::SMILTimeContainer::sortByPriority):
4144         (WebCore::applyOrderSortFunction):
4145         (WebCore::sortByApplyOrder):
4146         (WebCore::SMILTimeContainer::baseValueFor):
4147         (WebCore::SMILTimeContainer::updateAnimations):
4148         * svg/animation/SMILTimeContainer.h:
4149         (WebCore::SMILTimeContainer::create):
4150         (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
4151         
4152         Do additive animation with the following steps
4153         - sort active animations based on their priority (begin time, document order).
4154         - if not yet saved for each (element, attribute) pair save the base value.
4155         - lowest priority animation for each (element, attribute) acts as the result element.
4156         - animation results are resolved in priority order and results are accumulated to the result element.
4157         - after all active animations have been processed the values in result elements are applied to the target elements.
4158         
4159         * svg/animation/SVGSMILElement.cpp:
4160         (WebCore::SVGSMILElement::SVGSMILElement):
4161         (WebCore::SVGSMILElement::insertedIntoDocument):
4162         
4163         Invalidate document order index.
4164         
4165         (WebCore::SVGSMILElement::attributeName):
4166         (WebCore::SVGSMILElement::isInactive):
4167         (WebCore::SVGSMILElement::isFrozen):
4168         (WebCore::SVGSMILElement::beginListChanged):
4169         (WebCore::SVGSMILElement::determineActiveState):
4170         (WebCore::SVGSMILElement::isContributing):
4171         (WebCore::SVGSMILElement::progress):
4172         
4173         Take care that animations in frozen state still contribute to the total. Since we now build the result starting
4174         from the base value, fill="replace" works magically simply by not contributing anything.
4175         
4176         * svg/animation/SVGSMILElement.h:
4177         (WebCore::SVGSMILElement::previousIntervalBegin):
4178         (WebCore::SVGSMILElement::documentOrderIndex):
4179         (WebCore::SVGSMILElement::setDocumentOrderIndex):
4180
4181 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
4182
4183         Reviewed by Darin, Alice.
4184
4185         Implement AXObjectCache::detachWrapper() on Windows.
4186
4187         * page/win/AXObjectCacheWin.cpp:
4188         (WebCore::AXObjectCache::detachWrapper): If this object has a wrapper,
4189         call its detach() method.
4190
4191 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
4192
4193         Reviewed by mrowe.
4194
4195         Define HAVE_ACCESSIBILITY in a way that WebKit and WebCore can see it.
4196
4197         * config.h: Remove HAVE_ACCESSIBILITY.
4198         * page/AccessibilityObject.h: Include wtf/Platform.h to pick up
4199         HAVE_ACCESSIBILITY.
4200
4201 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
4202
4203         Reviewed by aliu.
4204
4205         * page/AccessibilityObject.cpp:
4206         (WebCore::AccessibilityObject::layoutCount): Check isRenderView() before
4207         casting to RenderView.
4208
4209 2008-04-17  Antti Koivisto  <antti@apple.com>
4210
4211         Reviewed by Oliver.
4212         
4213         Fix https://bugs.webkit.org/show_bug.cgi?id=18551
4214         Bug 18551: REGRESSION (r31801?): Crash in ContainerNode::removedFromDocument on many SVG tests under guard malloc
4215         
4216         Freeing a RefPtr that is the last ref to the parent from removedFromDocument() is a bad idea.
4217
4218         Caching the target element is too dangerous, let's simply not do it. Getting it is very cheap anyway.
4219
4220         * svg/animation/SVGSMILElement.cpp:
4221         (WebCore::SVGSMILElement::removedFromDocument):
4222         (WebCore::SVGSMILElement::attributeChanged):
4223         (WebCore::SVGSMILElement::targetElement):
4224         * svg/animation/SVGSMILElement.h:
4225
4226 2008-04-17  Sam Weinig  <sam@webkit.org>
4227
4228         Reviewed by Anders Carlsson.
4229
4230         Autogenerate the XMLHttpRequest javascript binding.
4231
4232         * GNUmakefile.am:
4233         * WebCore.pro:
4234         * WebCore.vcproj/WebCore.vcproj:
4235         * WebCoreSources.bkl:
4236         * DerivedSources.make:
4237         * WebCore.xcodeproj/project.pbxproj:
4238         * bindings/js/JSDOMWindowBase.cpp:
4239         * bindings/js/JSXMLHttpRequest.cpp: Removed.
4240         * bindings/js/JSXMLHttpRequest.h: Removed.
4241         * bindings/js/JSXMLHttpRequestConstructor.cpp: Added.
4242         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
4243         (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
4244         (WebCore::JSXMLHttpRequestConstructor::construct):
4245         * bindings/js/JSXMLHttpRequestConstructor.h: Added.
4246         (WebCore::JSXMLHttpRequestConstructor::classInfo):
4247         * bindings/js/JSXMLHttpRequestCustom.cpp: Added.
4248         (WebCore::JSXMLHttpRequest::mark):
4249         (WebCore::JSXMLHttpRequest::onreadystatechange):
4250         (WebCore::JSXMLHttpRequest::setOnreadystatechange):
4251         (WebCore::JSXMLHttpRequest::onload):
4252         (WebCore::JSXMLHttpRequest::setOnload):
4253         (WebCore::JSXMLHttpRequest::responseXML):
4254         (WebCore::JSXMLHttpRequest::open):
4255         (WebCore::JSXMLHttpRequest::setRequestHeader):
4256         (WebCore::JSXMLHttpRequest::send):
4257