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