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