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