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