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