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