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