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