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