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