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