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