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