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