4d341c15a96464261782058fcb4c9bf9acadd0b4
[WebKit-https.git] / WebCore / ChangeLog
1 2008-08-05  David D. Kilzer  <ddkilzer@apple.com>
2
3         Bug 20038: REGRESSION (r35151): Can't post comments on flickr.com
4
5         <https://bugs.webkit.org/show_bug.cgi?id=20038>
6         <rdar://problem/6092270>
7
8         Reviewed by Eric Seidel.
9
10         Test: fast/forms/submit-to-url-fragment.html
11
12         The problem was that isFormSubmission was not being set to true in
13         FrameLoader::loadWithDocumentLoader() when we were actually
14         submitting a form, causing the page to scroll instead of the form to
15         be submitted.
16
17         The isFormSubmission variable wasn't set to true because a FormState
18         object was not being created in
19         FrameLoader::loadFrameRequestWithFormAndValues().
20
21         The FormState object was not being created because
22         HTMLFormElement::submit(Event*, bool activateSubmitButton) would
23         only set FrameLoader::m_formAboutToBeSubmitted to the current form
24         if there was a "text field" element in the form (type = text,
25         password, search or isindex).
26
27         Thus when FrameLoader::submitForm(const FrameLoadRequest&, Event*)
28         called FrameLoader::loadFrameRequestWithFormAndValues(), a null
29         HTMLFormElement pointer would be sent and cause the above failures.
30
31         * html/HTMLFormElement.cpp:
32         (WebCore::HTMLFormElement::submit): Call new
33         FrameLoader::setFormAboutToBeSubmitted() method outside the for
34         loop so we always set FrameLoader::m_formAboutToBeSubmitted exactly
35         once for any form submission.  The FrameLoader::recordFormValue()
36         method is only called with the name/value pair of each text field.
37
38         * loader/FrameLoader.cpp:
39         (WebCore::FrameLoader::setFormAboutToBeSubmitted): Added method that
40         only sets m_formAboutToBeSubmitted.
41         (WebCore::FrameLoader::recordFormValue): Removed
42         PassRefPtr<HTMLFormElement> argument since this method only sets
43         name/value pairs on m_formValuesAboutToBeSubmitted now.
44         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Create a
45         FormState object as long as submitForm is not null so that other
46         FrameLoader methods know when a form is being submitted.
47         * loader/FrameLoader.h:
48
49 2008-08-06  David D. Kilzer  <ddkilzer@apple.com>
50
51         BUILD FIX: Add HTMLPlugInImageElement.cpp to all other build systems
52
53         * GNUmakefile.am:
54         * WebCore.pro:
55         * WebCoreSources.bkl:
56
57 2008-08-06  Dan Bernstein  <mitz@apple.com>
58
59         - Windows build fix
60
61         * WebCore.vcproj/WebCore.vcproj: Added PlugInImageElement.*
62
63 2008-08-06  Kevin McCullough  <kmccullough@apple.com>
64
65         Reviewed by Tim and Darin.
66
67         <rdar://problem/6126160> URLs in the console should be clickable.
68         - Implemented and now use linkifyString() to parse console messages for
69         URLs.
70
71         * page/inspector/Console.js:
72         * page/inspector/inspector.js:
73         * page/inspector/utilities.js:
74
75 2008-07-02  David Kilzer  <ddkilzer@apple.com>
76
77         Images using QT plugin do not display correctly
78
79         <https://bugs.webkit.org/show_bug.cgi?id=9214>
80         <rdar://problem/5683413>
81
82         Reviewed by Darin.
83
84         Tests: fast/images/embed-image.html
85                fast/images/object-image.html
86
87         Use RenderImage instead of RenderPartObject for a renderer when
88         the <embed> tag references an image.  Extract common code from
89         HTMLEmbedElement and HTMLObjectElement into HTMLPlugInImageElement.
90
91         * WebCore.xcodeproj/project.pbxproj: Added new source files.
92
93         * html/HTMLEmbedElement.cpp: Cleaned up #include statements.
94         (WebCore::HTMLEmbedElement::HTMLEmbedElement): Extend
95         HTMLPlugInImageElement which extends HTMLPlugInElement.
96         (WebCore::HTMLEmbedElement::parseMappedAttribute): Split codeAttr
97         and srcAttr cases.  Create or clear HTMLImageLoader as needed for
98         srcAttr.
99         (WebCore::HTMLEmbedElement::rendererIsNeeded): Use
100         HTMLPlugInElement::rendererIsNeeded() for images.
101         (WebCore::HTMLEmbedElement::createRenderer): Create a
102         RenderImage instead of a RenderPartObject for images.
103         (WebCore::HTMLEmbedElement::attach): Create HTMLImageLoader,
104         load image and populate RenderImage for images.
105         (WebCore::HTMLEmbedElement::updateWidget): Don't call
106         RenderPartObject::updateWidget() for images.
107         (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added.
108         * html/HTMLEmbedElement.h: Removed unneeded namespace and class
109         declarations.  Extend HTMLPlugInImageElement which extends
110         HTMLPlugInElement.
111         (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added.
112         (WebCore::HTMLEmbedElement::serviceType): Moved to
113         HTMLPlugInImageElement.
114         (WebCore::HTMLEmbedElement::url): Ditto.
115
116         * html/HTMLObjectElement.cpp: Cleaned up #include statements.
117         (WebCore::HTMLObjectElement::attach): Removed local variable.
118         (WebCore::HTMLObjectElement::isImageType): Moved to
119         HTMLPlugInImageElement.
120         * html/HTMLObjectElement.h: Extend HTMLPlugInImageElement which
121         extends HTMLPlugInElement.
122         (WebCore::HTMLObjectElement::isImageType): Moved to
123         HTMLPlugInImageElement.
124         (WebCore::HTMLObjectElement::serviceType): Ditto.
125         (WebCore::HTMLObjectElement::url): Ditto.
126
127         * html/HTMLPlugInImageElement.cpp: Added.
128         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Added.
129         (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Added.
130         (WebCore::HTMLPlugInImageElement::isImageType): Moved from
131         HTMLObjectElement.
132         * html/HTMLPlugInImageElement.h: Added.
133         (WebCore::HTMLPlugInImageElement::isImageType): Added from 
134         HTMLObjectElement.
135         (WebCore::HTMLPlugInImageElement::serviceType): Ditto.
136         (WebCore::HTMLPlugInImageElement::url): Ditto.
137
138         * rendering/HitTestResult.cpp:
139         (WebCore::HitTestResult::absoluteImageURL): Return urlString
140         for embed elements with images.
141
142 2008-08-06  Marco Barisione  <marco.barisione@collabora.co.uk>
143
144         Reviewed by Eric Seidel.
145
146         http://bugs.webkit.org/show_bug.cgi?id=20295
147         RegularExpression::match should not crash when a null string is passed
148
149         RegularExpression::match used to pass null subject strings to
150         jsRegExpExecute causing an ASSERT failure and then a crash.
151         There is no need to fix also RegularExpression:search and
152         RegularExpression::searchRev as they just call
153         RegularExpression::match.
154
155         * platform/text/RegularExpression.cpp:
156         (WebCore::RegularExpression::match): Return -1 if the string is null.
157
158 2008-08-06  Jan Michael Alonzo  <jmalonzo@webkit.org>
159
160         Gtk build fix only
161
162         * bindings/js/ScriptControllerGtk.cpp:
163         * plugins/gtk/PluginViewGtk.cpp:
164         (WebCore::PluginView::getValue):
165         (WebCore::PluginView::~PluginView):
166
167 2008-08-06  Ariya Hidayat  <ariya.hidayat@trolltech.com>
168
169         Fix the Qt build due to recent ScriptController refactoring.
170
171         * plugins/qt/PluginViewQt.cpp:
172         (WebCore::PluginView::getValue):
173         (WebCore::PluginView::~PluginView):
174
175 2008-08-06  Eric Seidel  <eric@webkit.org>
176
177         Reviewed by Cameron Zwarich.
178
179         Fix warnings and errors seen on Qt bot.
180         Including one correctness fix for ThreadingQt.
181         According to the Qt 4.4 docs, we were always passing
182         seconds to "wait()" when we should have been passing
183         milliseconds.
184         
185         Lots of float <-> int conversion warnings.
186
187         * css/CSSCursorImageValue.cpp:
188         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
189         * dom/Element.cpp:
190         (WebCore::adjustForLocalZoom):
191         (WebCore::adjustForAbsoluteZoom):
192         (WebCore::Element::setScrollLeft):
193         (WebCore::Element::setScrollTop):
194         * dom/EventTargetNode.cpp:
195         (WebCore::EventTargetNode::dispatchMouseEvent):
196         * loader/CachedImage.cpp:
197         (WebCore::CachedImage::imageRect):
198         * page/DOMWindow.cpp:
199         (WebCore::DOMWindow::innerHeight):
200         (WebCore::DOMWindow::innerWidth):
201         (WebCore::DOMWindow::scrollX):
202         (WebCore::DOMWindow::scrollY):
203         (WebCore::DOMWindow::scrollTo):
204         * page/EventHandler.cpp:
205         (WebCore::scrollAndAcceptEvent):
206         * plugins/npapi.cpp:
207         * plugins/qt/PluginViewQt.cpp:
208         (WebCore::PluginView::getValue):
209         (WebCore::PluginView::~PluginView):
210         * rendering/RenderReplaced.cpp:
211         (WebCore::RenderReplaced::intrinsicSizeChanged):
212
213 2008-08-06  Eric Seidel  <eric@webkit.org>
214
215         Build fix only, no review.
216
217         Attempt to fix the Windows and Qt builds.
218
219         * bindings/js/ScriptControllerWin.cpp: add runtime.h include
220         * bindings/js/ScriptControllerQt.cpp: add QWidget include
221         * page/win/FrameWin.cpp: remove bogus using namespace
222         * plugins/PluginView.cpp:
223         (WebCore::PluginView::bindingInstance): use script()
224         * plugins/win/PluginViewWin.cpp:
225         (WebCore::PluginView::getValue): use script()
226         (WebCore::PluginView::~PluginView): use script()
227
228   2008-08-06  Eric Seidel  <eric@webkit.org>
229
230         Build fix only, no review.
231
232         Attempt to fix the Linux and --no-svg builds.
233
234         * bindings/js/ScriptController.h: wrap RetainPtr include in PLATFORM(MAC)
235         * css/CSSComputedStyleDeclaration.cpp:
236         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): add missing CSSProperties to switch
237
238 2008-08-06  Eric Seidel  <eric@webkit.org>
239
240         Reviewed by Cameron Zwarich.
241
242         Move more methods from Frame into ScriptController
243         https://bugs.webkit.org/show_bug.cgi?id=20294
244         
245         Finally finish more of the work which Darin started long ago
246         Move a few more Frame methods into ScriptController.
247         I also took this opportunity to clean up some of the plugin
248         code as well, and moved some of that into ScriptController.
249
250         I removed Frame::clearScriptController() and ScriptController::clear() is now clearWindowShell()
251
252         No functional changes, thus no test cases.
253
254         * GNUmakefile.am:
255         * WebCore.NPAPI.exp:
256         * WebCore.base.exp:
257         * WebCore.pro:
258         * WebCore.vcproj/WebCore.vcproj:
259         * WebCore.xcodeproj/project.pbxproj:
260         * bindings/js/ScriptController.cpp:
261         (WebCore::ScriptController::ScriptController):
262         (WebCore::ScriptController::~ScriptController):
263         (WebCore::ScriptController::bindingRootObject):
264         (WebCore::ScriptController::createRootObject):
265         (WebCore::ScriptController::windowScriptNPObject):
266         (WebCore::ScriptController::createScriptObjectForPluginElement): New method.
267         (WebCore::ScriptController::clearPlatformScriptObjects):
268         (WebCore::ScriptController::disconnectPlatformScriptObjects):
269         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
270         (WebCore::ScriptController::clearScriptObjects):
271         * bindings/js/ScriptController.h:
272         (WebCore::ScriptController::sourceURL):
273         (WebCore::ScriptController::clearFormerWindow):
274         * bindings/js/ScriptControllerGtk.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp.
275         (WebCore::Frame::createScriptInstanceForWidget):
276         * bindings/js/ScriptControllerMac.mm: Added.
277         (WebCore::ScriptController::createScriptInstanceForWidget):
278         (WebCore::ScriptController::windowScriptObject):
279         (WebCore::ScriptController::clearPlatformScriptObjects):
280         (WebCore::ScriptController::disconnectPlatformScriptObjects):
281         (WebCore::updateRenderingForBindings):
282         (WebCore::ScriptController::initJavaJSBindings):
283         * bindings/js/ScriptControllerQt.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp.
284         (WebCore::ScriptController::createScriptInstanceForWidget):
285         * bindings/js/ScriptControllerWin.cpp: Copied from WebCore/svg/graphics/cg/SVGResourceMaskerCg.cpp.
286         (WebCore::ScriptController::createScriptInstanceForWidget):
287         * bindings/objc/DOM.mm:
288         (-[DOMNode KJS::Bindings::]):
289         * bindings/objc/DOMInternal.mm:
290         (-[WebScriptObject _initializeScriptDOMNodeImp]):
291         * bridge/jni/jni_jsobject.mm:
292         (createRootObject):
293         * html/HTMLAppletElement.cpp:
294         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
295         * html/HTMLAppletElement.h:
296         * html/HTMLEmbedElement.cpp:
297         (WebCore::findWidgetRenderer):
298         (WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
299         * html/HTMLEmbedElement.h:
300         * html/HTMLObjectElement.cpp:
301         (WebCore::HTMLObjectElement::~HTMLObjectElement):
302         (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
303         (WebCore::HTMLObjectElement::detach):
304         * html/HTMLObjectElement.h:
305         * html/HTMLPlugInElement.cpp:
306         (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
307         (WebCore::HTMLPlugInElement::detach):
308         (WebCore::HTMLPlugInElement::getInstance):
309         (WebCore::HTMLPlugInElement::parseMappedAttribute):
310         (WebCore::HTMLPlugInElement::getNPObject):
311         * html/HTMLPlugInElement.h:
312         * loader/FrameLoader.cpp:
313         (WebCore::FrameLoader::clear):
314         * page/Frame.cpp:
315         (WebCore::Frame::Frame):
316         (WebCore::Frame::~Frame):
317         (WebCore::Frame::pageDestroyed):
318         (WebCore::FramePrivate::FramePrivate):
319         * page/Frame.h:
320         * page/FramePrivate.h:
321         * page/gtk/FrameGtk.cpp:
322         * page/mac/FrameMac.mm:
323         * page/qt/FrameQt.cpp:
324         * page/win/FrameWin.cpp:
325         (WebCore::computePageRectsForFrame):
326
327 2008-08-05  Steve Falkenburg  <sfalken@apple.com>
328
329         Fix last timer fix.
330         Add null check, clear timer using InterlockedExchange.
331         
332         Reviewed by Alice Liu.
333
334         * platform/win/SharedTimerWin.cpp:
335         (WebCore::clearTimer):
336         (WebCore::queueTimerProc):
337         (WebCore::stopSharedTimer):
338
339 2008-08-05  Steve Falkenburg  <sfalken@apple.com>
340
341         Fix timer leak, flag.
342         
343         Timers need to be deleted explicitly, even if they fire.
344         Also added WT_EXECUTEONLYONCE flag, since this is not a repeating timer.
345         
346         Reviewed by Ada Chan.
347
348         * platform/win/SharedTimerWin.cpp:
349         (WebCore::queueTimerProc):
350
351 2008-08-05  Anders Carlsson  <andersca@apple.com>
352
353         Reviewed by Darin.
354
355         <rdar://problem/6037398>
356         ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
357         
358         Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
359         
360         * bindings/objc/DOMRGBColor.mm:
361         (-[DOMRGBColor dealloc]):
362         * bindings/objc/WebScriptObject.mm:
363         (-[WebScriptObject dealloc]):
364         * platform/mac/SharedBufferMac.mm:
365         (-[WebCoreSharedBufferData dealloc]):
366
367 2008-08-05  Anders Carlsson  <andersca@apple.com>
368
369         Reviewed by Darin.
370
371         Move the main thread deallocator here from WebKit.
372         
373         * WebCore.base.exp:
374         * WebCore.xcodeproj/project.pbxproj:
375         * platform/mac/WebCoreObjCExtras.c:
376         (method_getImplementation):
377         (deallocCallback):
378         (WebCoreObjCScheduleDeallocateOnMainThread):
379         * platform/mac/WebCoreObjCExtras.h:
380
381 2008-08-05  Dean Jackson  <dino@apple.com>
382
383         Parse CSS Animations, including the new
384         -webkit-animation properties and the @-webkit-keyframes rule.
385         Adds some new interfaces for the style rules.
386         
387         https://bugs.webkit.org/show_bug.cgi?id=20088
388
389         Reviewed by David Hyatt.
390
391         * GNUmakefile.am:
392         * WebCore.pro:
393         * WebCore.vcproj/WebCore.vcproj:
394         * WebCore.xcodeproj/project.pbxproj:
395         * WebCoreSources.bkl:
396             build config for new files
397         * css/tokenizer.flex:
398         * css/CSSGrammar.y:
399         * css/CSSParser.cpp:
400         * css/CSSParser.h:
401             new @-webkit-keyframes parsing
402         * css/CSSPropertyNames.in:
403             -webkit-animation properties
404         * css/CSSRule.h:
405         * css/CSSStyleSelector.cpp:
406         * css/CSSStyleSelector.h:
407         * css/CSSValueKeywords.in:
408         * css/StyleBase.h:
409         * css/WebKitCSSKeyframeRule.cpp: Added.
410         * css/WebKitCSSKeyframeRule.h: Added.
411         * css/WebKitCSSKeyframesRule.cpp: Added.
412         * css/WebKitCSSKeyframesRule.h: Added.
413
414 2008-08-05  Kevin McCullough  <kmccullough@apple.com>
415
416         Reviewed by Tim.
417
418         - LayoutTests fix.  Log only to the Inspector because other listeners may not want
419         XHR notifications, including DRT and the numerous tests that don't expect them.
420
421         * xml/XMLHttpRequest.cpp:
422         (WebCore::XMLHttpRequest::didFinishLoading):
423
424 2008-08-05  Timothy Hatcher  <timothy@apple.com>
425
426         Makes DOM attribute editing start on double-click to match the styles
427         pane. Links in attributes are now triggered with a single click again.
428
429         https://bugs.webkit.org/show_bug.cgi?id=20281
430
431         Reviewed by Adam Roben.
432
433         * English.lproj/localizedStrings.js: Removed some strings.
434         * page/inspector/ElementsPanel.js:
435         (WebInspector.DOMNodeTreeElement.prototype.onattach): Call
436         _preventFollowingLinksOnDoubleClick.
437         (WebInspector.DOMNodeTreeElement.prototype._preventFollowingLinksOnDoubleClick):
438         Renamed from _makeURLsActivateOnModifiedClick. Simply sets the
439         preventFollowOnDoubleClick property on all links.
440         (WebInspector.DOMNodeTreeElement.prototype.onselect): Removed
441         _selectedByCurrentMouseDown.
442         (WebInspector.DOMNodeTreeElement.prototype.onmousedown): Moved
443         editing code to ondblclick.
444         (WebInspector.DOMNodeTreeElement.prototype.ondblclick): Calls
445         _startEditing. Removed URL check.
446         (WebInspector.DOMNodeTreeElement.prototype._updateTitle): Calls
447         _preventFollowingLinksOnDoubleClick.
448         * page/inspector/inspector.css:
449         (.editing): Removed the text-decoration property.
450         (.editing, .editing *): Added the text-decoration property here
451         so it removes underlines on child elements.
452         * page/inspector/inspector.js:
453         (WebInspector.documentClick): Removed the followOnAltClick code.
454         Added support for preventFollowOnDoubleClick, which sets a timeout
455         on the first click where future clicks will cancel it (double click).
456         If the timeout isn't canceled, the link is followed.
457
458 2008-08-05  Antti Koivisto  <antti@apple.com>
459
460         Reviewed by Sam Weinig.
461
462         <rdar://problem/6112219> Video in standalone media document flashes when navigating away
463
464         When navigating out from a page, MediaPlayer was set invisible and then immediately 
465         made visible again causing flicker in some cases.
466         
467         The document is not yet marked being in page cache when willSaveToCache() is called.
468
469         * html/HTMLMediaElement.cpp:
470         (WebCore::HTMLMediaElement::willSaveToCache):
471         * rendering/RenderVideo.cpp:
472         (WebCore::RenderVideo::updatePlayer):
473
474 2008-08-05  Dan Bernstein  <mitz@apple.com>
475
476         - fix typo
477
478         * page/mac/FrameMac.mm:
479
480 2008-08-05  Dan Bernstein  <mitz@apple.com>
481
482         - try to fix the 64-bit build
483
484         * page/mac/FrameMac.mm:
485
486 2008-08-05  Alp Toker  <alp@nuanti.com>
487
488         Remove leftover mark pragma from r35568 to fix compiler warning spew.
489
490         * rendering/style/RenderStyle.h:
491
492 2008-08-05  Kevin McCullough  <kmccullough@apple.com>
493
494         - Added a test that checks for several edge cases (see description in
495         test.
496
497         * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Added.
498
499 2008-08-05  Dean Jackson  <dino@apple.com>
500
501         Reviewed by Dave Hyatt
502
503         Add support for CSS Animation properties to RenderStyle
504         https://bugs.webkit.org/show_bug.cgi?id=20068
505
506         (also fix some minor whitespace issues and remove debugging code)
507
508         * css/CSSComputedStyleDeclaration.cpp:
509         * css/CSSStyleSelector.cpp:
510         * page/AnimationController.cpp:
511         * rendering/style/RenderStyle.cpp:
512         * rendering/style/RenderStyle.h:
513
514 2008-08-05  Kevin McCullough  <kmccullough@apple.com>
515
516         - Updated a manual test to be an accurate description of what it is
517         actually testing.
518
519         * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html:
520
521 2008-08-05  Kevin McCullough  <kmccullough@apple.com>
522
523         Reviewed by Tim.
524
525         <rdar://problem/5732836> XMLHttpRequest: Inspector should show network
526         activity/XHR in Console (17233)
527
528         * xml/XMLHttpRequest.cpp:
529         (WebCore::XMLHttpRequest::didFinishLoading):
530
531 2008-08-05  Dean Jackson  <dino@apple.com>
532
533         Fix the ChangeLog that was corrupted by r34545.
534
535 2008-08-04  Timothy Hatcher  <timothy@apple.com>
536
537         Makes the selection surround just the name or value that was
538         double clicked when editing CSS properties. This regressed when
539         the Inspector started using focus/blur events, since a focus on
540         a content editable region changes the selection.
541
542         https://bugs.webkit.org/show_bug.cgi?id=20280
543
544         Reviewed by Adam Roben.
545
546         * page/inspector/StylesSidebarPane.js:
547         (WebInspector.StylePropertyTreeElement.prototype.startEditing):
548         Change the selection after calling WebInspector.startEditing,
549         since WebInspector.startEditing will set an initial selection
550         due to a focus event.
551
552 2008-08-04  Timothy Hatcher  <timothy@apple.com>
553
554         Changes the editing behavior in the Inspector to commit changes
555         when focus is lost, instead of reverting the changes.
556
557         https://bugs.webkit.org/show_bug.cgi?id=20279
558
559         Reviewed by Adam Roben.
560
561         * page/inspector/inspector.js:
562         (WebInspector.startEditing): Call editingCommitted in blurEventListener
563         instead of editingCancelled.
564
565 2008-08-04  Timothy Hatcher  <timothy@apple.com>
566
567         Adds the ability to increment/decrement numbers in editable style
568         properties with the arrow and page keys.
569
570         Reviewed by Adam Roben.
571
572         https://bugs.webkit.org/show_bug.cgi?id=20273
573
574         * page/inspector/StylesSidebarPane.js:
575         (WebInspector.StylePropertyTreeElement.prototype.updateAll):
576         Updates all properties in the current section, or all sections
577         depending in the argument passed.
578         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
579         Call updateAll instead of having duplicate code.
580         (WebInspector.StylePropertyTreeElement.prototype.startEditing):
581         Assign the list element's handleKeyEvent to editingKeyDown.
582         (WebInspector.StylePropertyTreeElement.prototype.editingKeyDown):
583         Handles the Up and Down arrows keys. Finds the word based on the
584         selection and extracts the number, prefix and suffix. Increments
585         or decrements the number based on the key and modifiers. Replaces
586         the original word with the new value and selects it. Also applies
587         the style so the page reflects the changes live.
588         (WebInspector.StylePropertyTreeElement.prototype.editingEnded):
589         Delete the handleKeyEvent and originalCSSText properties.
590         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
591         If originalCSSText exists, set the cssText to that value and call
592         updateAll. Otherwise just call updateTitle like before.
593         (WebInspector.StylePropertyTreeElement.prototype.editingCommitted):
594         Factored out the style applying code to applyStyleText.
595         (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
596         Factored out from editingCommitted. Takes an argument that specifies
597         if the interface should be updated when the style is applied.
598         * page/inspector/inspector.js:
599         (WebInspector.startEditing): Call the original key handler, if one
600         existed before interrupting key events.
601         * page/inspector/utilities.js:
602         (getStyleTextWithShorthands): Helper to return CSS text that preserves
603         shorthand values, since the cssText property only outputs longhands.
604
605 2008-08-04  Timothy Hatcher  <timothy@apple.com>
606
607         Factors out the TextPrompt.scanBackwards function into a generic
608         helper function on the Node prototype, named rangeOfWord.
609
610         Reviewed by Adam Roben.
611
612         * page/inspector/Console.js:
613         (WebInspector.Console.prototype.completions): Use rangeOfWord.
614         * page/inspector/TextPrompt.js:
615         (WebInspector.TextPrompt.prototype.complete): Ditto.
616         (WebInspector.TextPrompt.prototype.scanBackwards): Removed.
617         * page/inspector/utilities.js:
618         (Node.prototype.rangeOfWord): Added. Copied from TextPrompt.scanBackwards,
619         and added a direction argument allowing scanning forward, backward or
620         both directions from the offset.
621
622 2008-08-04  Timothy Hatcher  <timothy@apple.com>
623
624         Fixes a bug where the property toggle button would not be hidden
625         during editing.
626
627         Reviewed by Adam Roben.
628
629         * page/inspector/inspector.css:
630         (li.editing .swatch, li.editing .enabled-button):
631         Make the display !important, since a more specific rule for 
632         .enabledbutton overrides display.
633
634 2008-08-05  Dan Bernstein  <mitz@apple.com>
635
636         Reviewed by Geoffrey Garen.
637
638         - remove redundant #imports from FrameMac.mm
639
640         * page/mac/FrameMac.mm:
641
642 2008-08-04  Bernhard Krüpl  <kruepl@dbai.tuwien.ac.at>
643
644         Reviewed by Dave Hyatt.
645
646         Fix for https://bugs.webkit.org/show_bug.cgi?id=19094
647         Corrected offsetTop for table cells by subtracting borderTopExtra
648
649         * rendering/RenderObject.cpp:
650         (WebCore::RenderObject::offsetTop):
651
652 2008-08-04  Dean Jackson  <dino@apple.com>
653
654         Reviewed by Dave Hyatt.
655
656         Improve AnimationController
657         https://bugs.webkit.org/show_bug.cgi?id=19938
658
659         - Transition class is now called Animation
660         - new state-based AnimationController that can support CSS Animations
661         - add support for -webkit-transition-delay
662         - remove -webkit-transition-repeat-count (since it never existed officially)
663         - updates the -webkit-transition shorthand to reflect removing repeat count
664         - updates the Transition class so that properties can be shared with animations
665         - adds a "now" keyword for -webkit-transition-delay
666         - adds a new change type for style (changed by animation)
667         - adds new event names (although they are not dispatched yet)
668         - makes text stroke and text fill colors returned by RenderStyle const
669
670         Tests:
671         - manual-tests/transition-left.html
672         - manual-tests/transition-delay.html
673         - manual-tests/transition-timing-functions.html
674
675         * css/CSSComputedStyleDeclaration.cpp:
676         * css/CSSParser.cpp:
677         * css/CSSParser.h:
678         * css/CSSPropertyNames.in:
679         * css/CSSStyleSelector.cpp:
680         * css/CSSStyleSelector.h:
681         * css/CSSTimingFunctionValue.h:
682         * css/CSSValue.h:
683         * css/CSSValueKeywords.in:
684         * css/WebKitCSSTransformValue.cpp:
685         * dom/Document.cpp:
686         * dom/Document.h:
687         * dom/Element.cpp:
688         * dom/EventNames.h:
689         * dom/Node.cpp:
690         * dom/Node.h:
691         * history/CachedPage.cpp:
692         * page/AnimationController.cpp:
693         * page/AnimationController.h:
694         * page/Frame.cpp:
695         * rendering/RenderObject.cpp:
696         * rendering/RenderWidget.cpp:
697         * rendering/style/RenderStyle.cpp:
698         * rendering/style/RenderStyle.h:
699
700 2008-08-04  Mike Belshe  <mike@belshe.com>
701
702         Reviewed by Antti.
703         
704         Currently we create two copies of script in the HTMLTokenizer.
705         One copy gets passed into the javascript engine, the other gets
706         stored in the DOM.  Modify the HTMLParser so that it does not
707         chunk the string into it's normal 64K chunks for script code,
708         and modify the HTMLTokenizer to pass that same string into the
709         JS engine.  On some sites (e.g. GMail), which have hundreds of
710         KB of inline JS, this saves more than a MB of RAM to run the page.
711         (Strings use 16bit strings, so 600KB of JS code == 1.2MB of memory)
712
713         * html\HTMLParser.cpp
714         * html\HTMLTokenizer.cpp
715
716 2008-08-04  Sam Weinig  <sam@webkit.org>
717
718         Reviewed by Mark Rowe.
719
720         Remove extra braces left in from JSLock removal.
721
722         * xml/XMLHttpRequest.cpp:
723         (WebCore::XMLHttpRequest::dropProtection):
724
725 2008-08-02  Sam Weinig  <sam@webkit.org>
726
727         Reviewed by Dan Bernstein.
728
729         Implement the Access-control for Cross Site requests
730         preflight cache.
731
732         Tests: http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-header.html
733                http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-method.html
734                http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-timeout.html
735                http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html
736
737         * WebCore.vcproj/WebCore.vcproj:
738         * WebCore.xcodeproj/project.pbxproj:
739         * platform/KURL.h:
740         (WTF::):
741         * platform/KURLHash.h: Added.
742         (WebCore::KURLHash::hash):
743         (WebCore::KURLHash::equal):
744         (WTF::):
745         * xml/XMLHttpRequest.cpp:
746         (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
747         (WebCore::preflightResultCache):
748         (WebCore::appendPreflightResultCacheEntry):
749         (WebCore::canSkipPrelight):
750         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
751         (WebCore::parseAccessControlAllowList):
752         (WebCore::parseAccessControlMaxAge):
753         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
754
755 2008-08-04  Eric Seidel  <eric@webkit.org>
756
757         Reviewed by Adam Roben.
758
759         Fix warning seen in MSVC converting ints to floats.
760
761         * rendering/Length.h:
762         (WebCore::Length::calcFloatValue):
763
764 2008-08-04  Eric Seidel  <eric@webkit.org>
765
766         Reviewed by hyatt.
767
768         Clean up Gradient constructors, make sure all members are initialized.
769
770         * platform/graphics/Gradient.cpp:
771         (WebCore::Gradient::Gradient):
772
773 2008-08-02  Maxime Britto  <britto@apple.com>
774
775         Reviewed by Eric Seidel.
776
777         <rdar://problem/6118969>
778         https://bugs.webkit.org/show_bug.cgi?id=19971 
779         Modifiy the cursor interactively when on panning mode (middle click auto scroll)
780         When the panning is in progress the cursor is an arrow representing the direction of the current scroll
781
782         * page/EventHandler.cpp:
783         (WebCore::EventHandler::autoscrollTimerFired): Before each scroll we actualize the cursor to match the current direction
784         (WebCore::EventHandler::setPanScrollCursor): determines the direction of the upcoming scroll.
785         (WebCore::EventHandler::handleMouseMoveEvent):
786         * page/EventHandler.h: 
787         * platform/Cursor.h: Add propotypes for the new cursor functions
788         * platform/gtk/CursorGtk.cpp: to avoid build break
789         (WebCore::middlePanningCursor):
790         (WebCore::eastPanningCursor):
791         (WebCore::northPanningCursor):
792         (WebCore::northEastPanningCursor):
793         (WebCore::northWestPanningCursor):
794         (WebCore::southPanningCursor):
795         (WebCore::southEastPanningCursor):
796         (WebCore::southWestPanningCursor):
797         (WebCore::westPanningCursor):
798         * platform/mac/CursorMac.mm: to avoid build break
799         (WebCore::middlePanningCursor):
800         (WebCore::eastPanningCursor):
801         (WebCore::northPanningCursor):
802         (WebCore::northEastPanningCursor):
803         (WebCore::northWestPanningCursor):
804         (WebCore::southPanningCursor):
805         (WebCore::southEastPanningCursor):
806         (WebCore::southWestPanningCursor):
807         (WebCore::westPanningCursor):
808         * platform/qt/CursorQt.cpp: to avoid build break
809         (WebCore::middlePanningCursor):
810         (WebCore::eastPanningCursor):
811         (WebCore::northPanningCursor):
812         (WebCore::northEastPanningCursor):
813         (WebCore::northWestPanningCursor):
814         (WebCore::southPanningCursor):
815         (WebCore::southEastPanningCursor):
816         (WebCore::southWestPanningCursor):
817         (WebCore::westPanningCursor):
818         * platform/win/CursorWin.cpp: Add specific icons for the panning as windows resizing icons are both sides arrows
819         (WebCore::middlePanningCursor):
820         (WebCore::eastPanningCursor):
821         (WebCore::northPanningCursor):
822         (WebCore::northEastPanningCursor):
823         (WebCore::northWestPanningCursor):
824         (WebCore::southPanningCursor):
825         (WebCore::southEastPanningCursor):
826         (WebCore::southWestPanningCursor):
827         (WebCore::westPanningCursor):
828         * platform/wx/CursorWx.cpp: to avoid build break
829         (WebCore::middlePanningCursor):
830         (WebCore::eastPanningCursor):
831         (WebCore::northPanningCursor):
832         (WebCore::northEastPanningCursor):
833         (WebCore::northWestPanningCursor):
834         (WebCore::southPanningCursor):
835         (WebCore::southEastPanningCursor):
836         (WebCore::southWestPanningCursor):
837         (WebCore::westPanningCursor):
838
839 2008-08-02  Kevin Ollivier  <kevino@theolliviers.com>
840
841         Move to using constants in accordance with discussions about wx renderer commit.
842
843         * platform/wx/RenderThemeWx.cpp:
844         (WebCore::RenderThemeWx::minimumMenuListSize):
845         (WebCore::RenderThemeWx::popupInternalPaddingLeft):
846         (WebCore::RenderThemeWx::popupInternalPaddingRight):
847         (WebCore::RenderThemeWx::popupInternalPaddingTop):
848         (WebCore::RenderThemeWx::popupInternalPaddingBottom):
849
850 2008-08-02  Wouter Bolsterlee  <wbolster@svn.gnome.org>
851
852         Reviewed by Eric Seidel.
853
854         * plugins/gtk/gtk2xtbin.h:
855
856         https://bugs.webkit.org/show_bug.cgi?id=20034
857         Fix malformed Vim modeline.
858
859 2008-08-01  Dan Bernstein  <mitz@apple.com>
860
861         Reviewed by Dave Hyatt.
862
863         - tweak a comment
864
865         * platform/graphics/cg/ImageCG.cpp:
866         (WebCore::BitmapImage::draw):
867
868 2008-08-01  Jan Michael Alonzo  <jmalonzo@webkit.org>
869
870         * ChangeLog: Fix date of previous commit (r35520)
871
872 2008-08-01  Marco Barisione  <marco.barisione@collabora.co.uk>
873
874         Reviewed by Eric Seidel.
875
876         https://bugs.webkit.org/show_bug.cgi?id=19603
877         [SOUP] segfault when closing a file using gio
878
879         Call client->didFinishLoading() only after releasing all the gio
880         resources.
881
882         * platform/network/soup/ResourceHandleSoup.cpp:
883         (WebCore::closeCallback):
884         (WebCore::readCallback):
885
886 2008-08-01  Anders Carlsson  <andersca@apple.com>
887
888         Reviewed by Jon.
889
890         <rdar://problem/6120206>
891         Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
892         
893         Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
894         
895         * plugins/PluginStream.cpp:
896         (WebCore::PluginStream::wantsAllStreams):
897
898 2008-08-01  Robin Dunn  <robin@alldunn.com>
899
900         Reviewed by Eric Seidel.
901
902         Native rendering implementations for form elements in the wx port.
903         
904         https://bugs.webkit.org/show_bug.cgi?id=19069
905
906         * platform/wx/RenderThemeWx.cpp:
907         (WebCore::RenderThemeWx::adjustRepaintRect):
908         (WebCore::RenderThemeWx::paintButton):
909         (WebCore::RenderThemeWx::paintTextField):
910         (WebCore::RenderThemeWx::minimumMenuListSize):
911         (WebCore::RenderThemeWx::adjustMenuListStyle):
912         (WebCore::RenderThemeWx::paintMenuList):
913         (WebCore::RenderThemeWx::adjustMenuListButtonStyle):
914         (WebCore::RenderThemeWx::paintMenuListButton):
915         (WebCore::RenderThemeWx::popupInternalPaddingLeft):
916         (WebCore::RenderThemeWx::popupInternalPaddingRight):
917         (WebCore::RenderThemeWx::popupInternalPaddingTop):
918         (WebCore::RenderThemeWx::popupInternalPaddingBottom):
919
920 2008-07-30  David Hyatt  <hyatt@apple.com>
921
922         Improvements to selection drawing.
923
924         Clip out floating and positioned objects when drawing selection so
925         that there is no "double painting" of selection when the selection spans both the space behind the positioned/floating
926         object and the positioned/floating object itself.  Improves most Web pages.
927
928         Do not paint left/right selection gaps if the object's edge is already outside the boundary (at a negative
929         position).  Significantly improves the look of selections on digg.com, since it uses giant negative text-indent.
930
931         Reviewed by Dan
932
933         Covered by existing selection pixel tests.
934
935         * rendering/RenderBlock.cpp:
936         (WebCore::RenderBlock::isSelectionRoot):
937         (WebCore::RenderBlock::paintSelection):
938         (WebCore::clipOutPositionedObjects):
939         (WebCore::RenderBlock::fillSelectionGaps):
940         (WebCore::RenderBlock::fillLeftSelectionGap):
941         (WebCore::RenderBlock::fillRightSelectionGap):
942
943 2008-08-01  Timothy Hatcher  <timothy@apple.com>
944
945         Adds the ability to disable individual properties of a CSS rule.
946         When hovering over a rule, checkboxes show up to the right of all
947         properties and toggling a checkbox disables/enables the property.
948         Behind the scenes the property is removed from the rule when disabled,
949         but still remains in the list and in the computed style. When disabled
950         the property has a line through it, and is faded in computed style.
951
952         <rdar://problem/5712828> Support disabling individual CSS properties
953         https://bugs.webkit.org/show_bug.cgi?id=14377
954
955         Reviewed by Adam Roben.
956
957         * page/inspector/StylesSidebarPane.js:
958         (WebInspector.StylesSidebarPane.prototype.update): Include the
959         inline style when it also has disabled properties. Call
960         deleteDisabledProperty for any property that is in the style,
961         since it might have been added back by the page. Remember all
962         disabled properties so they show up in computed style.
963         (deleteDisabledProperty): Helper function to delete all the
964         right properties that track disabled properties.
965         (WebInspector.StylePropertiesSection): Add the computed-style
966         class when  the section is Computed Style.
967         (WebInspector.StylePropertiesSection.prototype.onpopulate):
968         Include disabled properties.
969         (WebInspector.StylePropertyTreeElement): Added a disabled argument.
970         (WebInspector.StylePropertyTreeElement.prototype.get/set disabled):
971         Sets the _disabled property and calls updateState.
972         (WebInspector.StylePropertyTreeElement.prototype.get priority):
973         Return the priority of enabled or disabled properties.
974         (WebInspector.StylePropertyTreeElement.prototype.get value):
975         Return the value of enabled or disabled properties.
976         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Use the
977         priority and value getter. Append the checkbox for root elements of
978         an editable section.
979         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
980         Add or remove properties from the rule and remember removed ones
981         by adding three objects to the style: __disabledProperties,
982         __disabledPropertyValues and __disabledPropertyPriorities.
983         The __disabledProperties object will include all longhand
984         properties of a shorthand for use by Computed Style.
985         (WebInspector.StylePropertyTreeElement.prototype.updateState):
986         Use the value getter. Update the disabled state.
987         * page/inspector/inspector.css:
988         * page/inspector/utilities.js:
989         (Object.hasProperties): Added. Helper to test if an object
990         has any properties.
991
992 2008-07-31  Anders Carlsson  <andersca@apple.com>
993
994         Reviewed by Darin.
995
996         <rdar://problem/5949410>
997         Add the ability to transfer a given application cache to a new database.
998         
999         * WebCore.base.exp:
1000         Export ApplicationCacheStorage::storeCopyOfCache.
1001         
1002         * loader/appcache/ApplicationCache.cpp:
1003         (WebCore::ApplicationCache::~ApplicationCache):
1004         Don't call cacheDestroyed for our special "copy" groups.
1005         
1006         * loader/appcache/ApplicationCacheGroup.cpp:
1007         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
1008         (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
1009         Add a "copy" flag to the ApplicationCacheGroup constructor. A "copied" group is special
1010         and can only be stored to disk.
1011         
1012         * loader/appcache/ApplicationCacheGroup.h:
1013         (WebCore::ApplicationCacheGroup::isCopy):
1014         New getter.
1015         
1016         * loader/appcache/ApplicationCacheStorage.cpp:
1017         (WebCore::ApplicationCacheStorage::store):
1018         Make sure to set the storageID when storing an application resource.
1019         
1020         (WebCore::ApplicationCacheStorage::storeNewestCache):
1021         Change this to return true/false depending on whether storing the cache succeeded or not.
1022         
1023         (WebCore::ApplicationCacheStorage::storeCopyOfCache):
1024         New method which stores a given cache in a new storage (database file).
1025         
1026         * loader/appcache/ApplicationCacheStorage.h:
1027         Add new methods.
1028
1029 2008-07-31  John Sullivan  <sullivan@apple.com>
1030
1031         WebCore part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
1032
1033         Reviewed by Hyatt
1034
1035         * WebCore.base.exp:
1036         export symbol for WebCoreSettings::setZoomsTextOnly()
1037         
1038         * page/Frame.cpp:
1039         (WebCore::Frame::isZoomFactorTextOnly):
1040         use value from Settings instead of data member
1041         (WebCore::Frame::shouldApplyTextZoom):
1042         call isZoomFactorTextOnly() to get value instead of accessing now-removed data member
1043         (WebCore::Frame::shouldApplyPageZoom):
1044         ditto
1045         (WebCore::Frame::setZoomFactor):
1046         set value into Settings rather than into data member
1047         (WebCore::FramePrivate::FramePrivate):
1048         don't set initial value of now-removed data member; this is managed by Settings now
1049         
1050         * page/FramePrivate.h:
1051         removed m_zoomFactorIsTextOnly
1052         
1053         * page/Settings.cpp:
1054         (WebCore::Settings::setZoomsTextOnly):
1055         new function, sets values and reapplies styles in all frames
1056         
1057         * page/Settings.h:
1058         (WebCore::Settings::zoomsTextOnly):
1059         new function, returns value of new data member
1060
1061 2008-07-31  Simon Fraser  <simon.fraser@apple.com>
1062
1063         Reviewed by Dave Hyatt
1064
1065         Null-check parent clip rects, because they may not have been
1066         set up yet.
1067         https://bugs.webkit.org/show_bug.cgi?id=20243
1068
1069         * rendering/RenderLayer.cpp:
1070         (WebCore::RenderLayer::calculateClipRects):
1071
1072 2008-07-31  Dan Bernstein  <mitz@apple.com>
1073
1074         Reviewed by Dave Hyatt.
1075
1076         - fix <rdar://problem/6058958> REGRESSION (r34210): Seams are visible in border-image
1077
1078         * platform/graphics/cg/ImageCG.cpp:
1079         (WebCore::BitmapImage::draw): To work around a Core Graphics
1080         interpolation issue, reverted to using a temporary subimage for drawing
1081         a portion of the image with scaling and high-quality interpolation in
1082         effect.
1083
1084 2008-07-31  chris fleizach  <cfleizach@apple.com>
1085
1086         Reviewed by Alice Liu
1087
1088         <rdar://problem/3563671> VO doesn't highlight characters when interacting when static text in web areas
1089
1090         Need to expose the AXBoundsForRange parameter which allows an AX client to get the visible bounds
1091         for individual characters on a webpage.
1092
1093         Test: accessibility/bounds-for-range.html
1094
1095         * ChangeLog:
1096         * page/AccessibilityRenderObject.cpp:
1097         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
1098         * page/mac/AccessibilityObjectWrapper.mm:
1099         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1100         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1101
1102 2008-07-31  Kevin Ollivier <kevino@theolliviers.com>
1103
1104         Second attempt at Windows/wx build fix. Instead of avoiding inclusion of windows.h,
1105         use defines, etc. to avoid conflicts in each affected file.
1106
1107         * config.h:
1108         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1109         * platform/wx/PopupMenuWx.cpp:
1110
1111 2008-07-31  Erik Bunce  <elbunce@thehive.com>
1112
1113         Reviewed by Simon.
1114
1115         https://bugs.webkit.org/show_bug.cgi?id=20224
1116
1117         Include the Writing Direction sub-menu in the context menu of all
1118         platforms but GTK. This fixes a regression introduced by revision
1119         34426.
1120
1121         * platform/ContextMenu.cpp:
1122         (WebCore::ContextMenu::populate):
1123
1124 2008-07-31  Brady Eidson  <beidson@apple.com>
1125
1126         Reviewed by Adam and Hyatt
1127
1128         Fix for <rdar://problem/6099748>
1129
1130         Adds a "don't enforce CSS mime type in strict mode" quirk for iWeb 2
1131
1132         * WebCore.base.exp:
1133
1134         * html/HTMLLinkElement.cpp:
1135         (WebCore::HTMLLinkElement::setCSSStyleSheet):
1136
1137         * loader/CachedCSSStyleSheet.cpp:
1138         (WebCore::CachedCSSStyleSheet::canUseSheet):
1139         * loader/CachedCSSStyleSheet.h:
1140         (WebCore::CachedCSSStyleSheet::sheetText): 
1141         * page/Settings.cpp:
1142
1143         (WebCore::Settings::Settings):
1144         (WebCore::Settings::setEnforceCSSMIMETypeInStrictMode):
1145         * page/Settings.h:
1146         (WebCore::Settings::enforceCSSMIMETypeInStrictMode):
1147
1148 2008-07-31  Erik Bunce  <elbunce@thehive.com>
1149
1150         Reviewed by Simon.
1151
1152         Added the ability to get SQLite headers and source from the location 
1153         specified via the SQLITE3SRCDIR environtment variable.
1154
1155         * WebCore.pro:
1156
1157 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
1158
1159         Rubber-stamped by Maciej.
1160
1161         Eliminate JSLock (it was already disabled, removing the stub implementaion and all
1162         call sites now).
1163
1164         * ForwardingHeaders/kjs/JSLock.h: Removed.
1165         * WebCore.vcproj/WebCore.vcproj:
1166         * bindings/js/GCController.cpp:
1167         (WebCore::collect):
1168         (WebCore::GCController::gcTimerFired):
1169         (WebCore::GCController::garbageCollectNow):
1170         * bindings/js/JSCustomSQLStatementCallback.cpp:
1171         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1172         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1173         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1174         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1175         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1176         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1177         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1178         * bindings/js/JSCustomVoidCallback.cpp:
1179         (WebCore::JSCustomVoidCallback::handleEvent):
1180         * bindings/js/JSCustomXPathNSResolver.cpp:
1181         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1182         * bindings/js/JSDOMWindowBase.cpp:
1183         (WebCore::DOMWindowTimer::~DOMWindowTimer):
1184         (WebCore::JSDOMWindowBase::clear):
1185         (WebCore::JSDOMWindowBase::timerFired):
1186         * bindings/js/JSEventCustom.cpp:
1187         (WebCore::toJS):
1188         * bindings/js/JSEventListener.cpp:
1189         (WebCore::JSAbstractEventListener::handleEvent):
1190         (WebCore::JSLazyEventListener::parseCode):
1191         * bindings/js/JSNSResolver.cpp:
1192         (WebCore::JSNSResolver::lookupNamespaceURI):
1193         * bindings/js/JSNodeFilterCondition.cpp:
1194         (WebCore::JSNodeFilterCondition::acceptNode):
1195         * bindings/js/ScheduledAction.cpp:
1196         (WebCore::ScheduledAction::execute):
1197         * bindings/js/ScriptController.cpp:
1198         (WebCore::ScriptController::evaluate):
1199         (WebCore::ScriptController::clear):
1200         (WebCore::ScriptController::createHTMLEventHandler):
1201         (WebCore::ScriptController::createSVGEventHandler):
1202         (WebCore::ScriptController::initScript):
1203         (WebCore::ScriptController::updateDocument):
1204         * bindings/objc/WebScriptObject.mm:
1205         (_didExecute):
1206         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1207         (-[WebScriptObject evaluateWebScript:]):
1208         (-[WebScriptObject setValue:forKey:]):
1209         (-[WebScriptObject valueForKey:]):
1210         (-[WebScriptObject removeWebScriptKey:]):
1211         (-[WebScriptObject stringRepresentation]):
1212         (-[WebScriptObject webScriptValueAtIndex:]):
1213         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
1214         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
1215         * bridge/NP_jsobject.cpp:
1216         (_NPN_InvokeDefault):
1217         (_NPN_Invoke):
1218         (_NPN_Evaluate):
1219         (_NPN_GetProperty):
1220         (_NPN_SetProperty):
1221         (_NPN_RemoveProperty):
1222         (_NPN_HasProperty):
1223         (_NPN_HasMethod):
1224         (_NPN_Enumerate):
1225         * bridge/c/c_class.cpp:
1226         (KJS::Bindings::CClass::~CClass):
1227         (KJS::Bindings::CClass::methodsNamed):
1228         (KJS::Bindings::CClass::fieldNamed):
1229         * bridge/c/c_instance.cpp:
1230         (KJS::Bindings::CInstance::invokeMethod):
1231         (KJS::Bindings::CInstance::invokeDefaultMethod):
1232         (KJS::Bindings::CInstance::getPropertyNames):
1233         * bridge/c/c_runtime.cpp:
1234         (KJS::Bindings::CField::valueFromInstance):
1235         (KJS::Bindings::CField::setValueToInstance):
1236         * bridge/c/c_utility.cpp:
1237         (KJS::Bindings::convertValueToNPVariant):
1238         (KJS::Bindings::convertNPVariantToValue):
1239         * bridge/jni/jni_class.cpp:
1240         (JavaClass::JavaClass):
1241         (JavaClass::~JavaClass):
1242         * bridge/jni/jni_instance.cpp:
1243         (JavaInstance::stringValue):
1244         * bridge/jni/jni_jsobject.mm:
1245         (JavaJSObject::call):
1246         (JavaJSObject::eval):
1247         (JavaJSObject::getMember):
1248         (JavaJSObject::setMember):
1249         (JavaJSObject::removeMember):
1250         (JavaJSObject::getSlot):
1251         (JavaJSObject::setSlot):
1252         (JavaJSObject::toString):
1253         (JavaJSObject::convertValueToJObject):
1254         (JavaJSObject::convertJObjectToValue):
1255         * bridge/jni/jni_objc.mm:
1256         (KJS::Bindings::dispatchJNICall):
1257         * bridge/jni/jni_runtime.cpp:
1258         (appendClassName):
1259         (JavaMethod::signature):
1260         * bridge/jni/jni_runtime.h:
1261         (KJS::Bindings::JavaString::JavaString):
1262         (KJS::Bindings::JavaString::_commonInit):
1263         (KJS::Bindings::JavaString::~JavaString):
1264         (KJS::Bindings::JavaString::UTF8String):
1265         * bridge/jni/jni_utility.cpp:
1266         (KJS::Bindings::convertValueToJValue):
1267         * bridge/npruntime.cpp:
1268         (_NPN_GetStringIdentifier):
1269         * bridge/objc/objc_instance.mm:
1270         (ObjcInstance::moveGlobalExceptionToExecState):
1271         (ObjcInstance::invokeMethod):
1272         (ObjcInstance::invokeDefaultMethod):
1273         (ObjcInstance::setValueOfUndefinedField):
1274         (ObjcInstance::getValueOfUndefinedField):
1275         * bridge/objc/objc_runtime.mm:
1276         (ObjcField::valueFromInstance):
1277         (ObjcField::setValueToInstance):
1278         * bridge/objc/objc_utility.mm:
1279         (KJS::Bindings::convertValueToObjcValue):
1280         (KJS::Bindings::convertNSStringToString):
1281         (KJS::Bindings::convertObjcValueToValue):
1282         * bridge/qt/qt_instance.cpp:
1283         (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
1284         (KJS::Bindings::QtInstance::~QtInstance):
1285         (KJS::Bindings::QtInstance::getQtInstance):
1286         (KJS::Bindings::QtInstance::getRuntimeObject):
1287         * bridge/qt/qt_runtime.cpp:
1288         (KJS::Bindings::convertValueToQVariant):
1289         (KJS::Bindings::convertQVariantToValue):
1290         (KJS::Bindings::QtRuntimeMetaMethod::call):
1291         (KJS::Bindings::QtRuntimeConnectionMethod::call):
1292         (KJS::Bindings::QtConnectionObject::QtConnectionObject):
1293         (KJS::Bindings::QtConnectionObject::execute):
1294         * bridge/runtime.cpp:
1295         (KJS::Bindings::Instance::createRuntimeObject):
1296         * bridge/testbindings.cpp:
1297         (main):
1298         * bridge/testbindings.mm:
1299         (main):
1300         * bridge/testqtbindings.cpp:
1301         (main):
1302         * dom/Document.cpp:
1303         (WebCore::Document::~Document):
1304         * dom/Node.cpp:
1305         (WebCore::Node::setDocument):
1306         * history/CachedPage.cpp:
1307         (WebCore::CachedPage::CachedPage):
1308         (WebCore::CachedPage::restore):
1309         (WebCore::CachedPage::clear):
1310         * html/HTMLPlugInElement.cpp:
1311         (WebCore::HTMLPlugInElement::createNPObject):
1312         * loader/FrameLoader.cpp:
1313         (WebCore::getString):
1314         * page/Frame.cpp:
1315         (WebCore::Frame::bindingRootObject):
1316         (WebCore::Frame::windowScriptNPObject):
1317         (WebCore::Frame::clearScriptObjects):
1318         * page/InspectorController.cpp:
1319         (WebCore::jsStringRef):
1320         (WebCore::ConsoleMessage::ConsoleMessage):
1321         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
1322         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
1323         (WebCore::getResourceDocumentNode):
1324         (WebCore::search):
1325         (WebCore::inspectedWindow):
1326         (WebCore::wrapCallback):
1327         (WebCore::currentCallFrame):
1328         (WebCore::profiles):
1329         (WebCore::InspectorController::focusNode):
1330         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
1331         (WebCore::InspectorController::addDatabaseScriptResource):
1332         (WebCore::InspectorController::addScriptProfile):
1333         * page/JavaScriptCallFrame.cpp:
1334         (WebCore::JavaScriptCallFrame::evaluate):
1335         * page/JavaScriptProfileNode.cpp:
1336         (WebCore::getTotalTime):
1337         (WebCore::getSelfTime):
1338         (WebCore::getTotalPercent):
1339         (WebCore::getSelfPercent):
1340         (WebCore::getNumberOfCalls):
1341         (WebCore::getChildren):
1342         (WebCore::getVisible):
1343         * page/Page.cpp:
1344         * page/mac/FrameMac.mm:
1345         (WebCore::Frame::windowScriptObject):
1346         * page/qt/FrameQt.cpp:
1347         * plugins/PluginView.cpp:
1348         (WebCore::PluginView::start):
1349         (WebCore::getString):
1350         (WebCore::PluginView::performRequest):
1351         (WebCore::PluginView::bindingInstance):
1352         * plugins/gtk/PluginViewGtk.cpp:
1353         (WebCore::PluginView::paint):
1354         (WebCore::PluginView::handleKeyboardEvent):
1355         (WebCore::PluginView::handleMouseEvent):
1356         (WebCore::PluginView::setNPWindowRect):
1357         (WebCore::PluginView::stop):
1358         (WebCore::PluginView::init):
1359         * plugins/qt/PluginViewQt.cpp:
1360         (WebCore::PluginView::setNPWindowRect):
1361         (WebCore::PluginView::stop):
1362         (WebCore::PluginView::init):
1363         * plugins/win/PluginViewWin.cpp:
1364         (WebCore::PluginView::dispatchNPEvent):
1365         (WebCore::PluginView::handleKeyboardEvent):
1366         (WebCore::PluginView::handleMouseEvent):
1367         (WebCore::PluginView::setNPWindowRect):
1368         (WebCore::PluginView::stop):
1369         * xml/XMLHttpRequest.cpp:
1370         (WebCore::XMLHttpRequest::clearResponse):
1371         (WebCore::XMLHttpRequest::didFinishLoading):
1372         (WebCore::XMLHttpRequest::didReceiveData):
1373
1374 2008-07-30  Timothy Hatcher  <timothy@apple.com>
1375
1376         Fix various minor bugs with style editing in the Inspector.
1377
1378         - Restores the scroll position to 0,0 when finished editing a
1379         string that was longer than the editing input area.
1380
1381         - Adjusts the margin of the list item to ensure the text does
1382         not shift when entering and exiting editing mode.
1383
1384         - Reliably remembers if a shorthand has children when the
1385         children haven't been populated yet.
1386
1387         - Reliably remembers if a shorthand was expanded, and expands
1388         if needed after editing finishes.
1389
1390         - Hides color swatches when editing.
1391
1392         https://bugs.webkit.org/show_bug.cgi?id=20238
1393
1394         Reviewed by Adam Roben.
1395
1396         * page/inspector/StylesSidebarPane.js:
1397         (WebInspector.StylePropertyTreeElement.prototype.startEditing):
1398         Store the expanded state and children state in wasExpanded and
1399         reallyHasChildren properties.
1400         (WebInspector.StylePropertyTreeElement.prototype.editingEnded):
1401         Removed the wasExpanded argument and use the reallyHasChildren and
1402         wasExpanded properties to restore state. Deletes the state properties.
1403         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
1404         Removed the wasExpanded argument.
1405         (WebInspector.StylePropertyTreeElement.prototype.editingCommitted):
1406         Removed the wasExpanded argument.
1407         * page/inspector/inspector.css: Tweak the margin and hides the color
1408         swatches. ALso removes a rule that was not needed.
1409         * page/inspector/inspector.js:
1410         (WebInspector.startEditing): Restore the scrollLeft and scrollTop
1411         to zero when editing finishes.
1412
1413 2008-07-30  Alice Liu  <alice.liu@apple.com>
1414
1415         Implement userIdleTime() for Windows, and place a band-aid over other
1416         platform implementations of userIdleTime().  This will fix the issue
1417         of indefinitely postposing releasing pages from the PageCache
1418         on non-Mac platforms, causing us to hang onto just about everything 
1419         else about a web page.
1420         
1421         Reviewed by Sam Weinig.
1422
1423         * platform/gtk/TemporaryLinkStubs.cpp:
1424         * platform/wx/TemporaryLinkStubs.cpp:
1425         * platform/qt/TemporaryLinkStubs.cpp:
1426         (WebCore::userIdleTime): set to FLT_MAX
1427
1428         * platform/win/SystemTimeWin.cpp:
1429         (WebCore::userIdleTime): implemented
1430
1431 2008-07-30  Beth Dakin  <bdakin@apple.com>
1432
1433         Reviewed by Anders Carlsson.
1434
1435         Fixes <rdar://problem/6041390>
1436
1437         Adds the ability to have a frame that is "disconnected" from the 
1438         main frame from the perspective of top and parent in 
1439         Javascript.
1440
1441         * WebCore.base.exp:
1442         * page/DOMWindow.cpp:
1443         (WebCore::DOMWindow::parent):
1444         (WebCore::DOMWindow::top):
1445         * page/Frame.cpp:
1446         (WebCore::Frame::isDisconnectedFrame):
1447         (WebCore::Frame::setIsDisconnectedFrame):
1448         (WebCore::FramePrivate::FramePrivate):
1449         * page/Frame.h:
1450         * page/FramePrivate.h:
1451         * page/FrameTree.cpp:
1452         (WebCore::FrameTree::parent):
1453         (WebCore::FrameTree::top):
1454         * page/FrameTree.h:
1455
1456 2008-07-25  Eric Seidel  <eric@webkit.org>
1457
1458         Reviewed by Justin.
1459
1460         Crash Safari when dragging images into Google presentations
1461         https://bugs.webkit.org/show_bug.cgi?id=20161
1462
1463         Test: manual-tests/remove-on-drop-crash.html
1464
1465         * editing/ReplaceSelectionCommand.cpp:
1466         (WebCore::ReplaceSelectionCommand::doApply):
1467         * manual-tests/remove-on-drop-crash.html: Added.
1468
1469 2008-07-30  Christian Dywan  <christian@twotoasts.de>
1470
1471         Reviewed by Mark.
1472
1473         Build fix for Cairo < 1.6
1474
1475         * platform/graphics/cairo/PathCairo.cpp:
1476         (WebCore::Path::boundingRect): use cairo_stroke_extends for < 1.6
1477
1478 2008-07-29  Kevin McCullough  <kmccullough@apple.com>
1479
1480         Reviewed by Geoff.
1481
1482         <rdar://problem/6110314> Crash in profiler dereferencing null frame or
1483         page (20214)
1484         - Null check.
1485
1486         * page/Console.cpp:
1487         (WebCore::Console::finishedProfiling):
1488
1489 2008-07-30  David Hyatt  <hyatt@apple.com>
1490
1491         https://bugs.webkit.org/show_bug.cgi?id=18070
1492         
1493         Full page zoom needs to work properly with JS mouse events.  Make sure to adjust the coordinates of the
1494         JS mouse event to account for zoom.
1495
1496         Reviewed by olliej
1497
1498         * dom/EventTargetNode.cpp:
1499         (WebCore::EventTargetNode::dispatchMouseEvent):
1500
1501 2008-07-29  Sam Weinig  <sam@webkit.org>
1502
1503         Reviewed by Darin Adler.
1504
1505         Update Cross-site XMLHttpRequests using Access control to
1506         the latest spec. (Editor's Draft 8 July 2008)
1507
1508         - This leaves us at about the same place as we previously were
1509           still needing preflight caching and better redirect support.
1510
1511         * GNUmakefile.am:
1512         * WebCore.pro:
1513         * WebCore.vcproj/WebCore.vcproj:
1514         * WebCore.xcodeproj/project.pbxproj:
1515         * WebCoreSources.bkl:
1516         * xml/AccessControlList.cpp: Removed.
1517         * xml/AccessControlList.h: Removed.
1518         * xml/AccessItem.cpp: Removed.
1519         * xml/AccessItem.h: Removed.
1520         * xml/AccessItemRule.cpp: Removed.
1521         * xml/AccessItemRule.h: Removed.
1522         * xml/XMLHttpRequest.cpp:
1523         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
1524         (WebCore::XMLHttpRequest::XMLHttpRequest):
1525         (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
1526         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
1527         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
1528         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1529         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
1530         (WebCore::XMLHttpRequest::abort):
1531         (WebCore::XMLHttpRequest::clearRequest):
1532         (WebCore::XMLHttpRequest::didFinishLoading):
1533         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
1534         (WebCore::XMLHttpRequest::accessControlCheck):
1535         (WebCore::XMLHttpRequest::didReceiveResponse):
1536         (WebCore::parseAccessControlAllowList):
1537         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1538         * xml/XMLHttpRequest.h:
1539
1540 2008-07-29  Kevin Calhoun  <kcalhoun@apple.com>
1541
1542         Reviewed by Adele.
1543
1544         Fix for <rdar://problem/6060647> Adopt QTMovieOpenForPlaybackAttribute flag
1545
1546         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
1547
1548 2008-07-29  Kevin Calhoun  <kcalhoun@apple.com>
1549
1550         Reviewed by Adele.
1551
1552         Fix for <rdar://problem/6031021> Make standalone video render more like the quicktime plugin to improve performance
1553
1554         For standalone video, use QTMovieView to draw.
1555
1556         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1557         (WebCore::MediaPlayerPrivate::createQTMovieView): Moved nil checks to setUpVideoRendering.
1558          Associate the QTMovieView with the WebCoreMovieObserver.
1559          If we're in a media document, allow QTMovieView to render in its default mode; otherwise tell it to draw synchronously. 
1560         (WebCore::MediaPlayerPrivate::detachQTMovieView): Set the WebCoreMovieObserver's view to nil.
1561         (WebCore::MediaPlayerPrivate::createQTVideoRenderer): Nil check is now in setUpVideoRendering, which is the only caller of this.
1562         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Added nil checks.  Call createQTMovieView for media documents.
1563         (WebCore::MediaPlayerPrivate::tearDownVideoRendering): Call detachQTMovieView if a QTMovieView exists.
1564         (WebCore::MediaPlayerPrivate::setRect): Call setFrame on the QTMovieView if necessary.
1565         (-[WebCoreMovieObserver menuForEventDelegate:]): Added. Returns the frame view's menu.
1566         (-[WebCoreMovieObserver setView:]): Added.
1567
1568 2008-07-29  Adele Peterson  <adele@apple.com>
1569
1570         Reviewed by Dan Bernstein.
1571
1572         Fix for <rdar://problem/6073372> Move built-in controls below <video> element for standalone media documents
1573
1574         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added -webkit-full-page-media pseudo class.
1575         * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoFullPageMedia.
1576         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added case to
1577         apply PseudoFullPageMedia for elements in a full page media document.
1578
1579         * css/html4.css: Added rule to shift control panel down for video in standalone media documents.
1580
1581         * rendering/RenderMedia.cpp:
1582         (WebCore::RenderMedia::lowestPosition): Added implementation that takes the controls into account.
1583         This makes sure that scrollbars on the page will account for controls not directly contained in the RenderMedia.
1584         (WebCore::RenderMedia::rightmostPosition): ditto.
1585         (WebCore::RenderMedia::leftmostPosition): ditto.
1586         * rendering/RenderMedia.h:
1587
1588 2008-07-29  Sam Weinig  <sam@webkit.org>
1589
1590         Reviewed by Anders Carlsson.
1591
1592         <rdar://problem/6084585> Investigate upload progress events.
1593
1594         - Add progress notifications for data being sent via a ResourceHandle.
1595         - Add XMLHttpRequestUpload support.
1596
1597         Upload notifications only work on the Mac right now as the CFNetwork API
1598         on windows does not expose enough information.
1599
1600         Tests: http/tests/xmlhttprequest/upload-onload-event.html
1601                http/tests/xmlhttprequest/upload-onloadstart-event.html
1602                http/tests/xmlhttprequest/upload-onprogress-event.html
1603                http/tests/xmlhttprequest/upload-progress-events.html
1604
1605         * DerivedSources.make:
1606         * GNUmakefile.am:
1607         * WebCore.pro:
1608         * WebCore.vcproj/WebCore.vcproj:
1609         * WebCore.xcodeproj/project.pbxproj:
1610         * WebCoreSources.bkl:
1611         * bindings/js/JSEventTargetBase.cpp:
1612         (WebCore::toJS):
1613         * bindings/js/JSXMLHttpRequestCustom.cpp:
1614         (WebCore::JSXMLHttpRequest::mark):
1615         * bindings/js/JSXMLHttpRequestUploadCustom.cpp: Added.
1616         (WebCore::JSXMLHttpRequestUpload::mark):
1617         (WebCore::JSXMLHttpRequestUpload::onabort):
1618         (WebCore::JSXMLHttpRequestUpload::setOnabort):
1619         (WebCore::JSXMLHttpRequestUpload::onerror):
1620         (WebCore::JSXMLHttpRequestUpload::setOnerror):
1621         (WebCore::JSXMLHttpRequestUpload::onload):
1622         (WebCore::JSXMLHttpRequestUpload::setOnload):
1623         (WebCore::JSXMLHttpRequestUpload::onloadstart):
1624         (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
1625         (WebCore::JSXMLHttpRequestUpload::onprogress):
1626         (WebCore::JSXMLHttpRequestUpload::setOnprogress):
1627         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1628         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1629         (WebCore::JSXMLHttpRequestUpload::dispatchEvent):
1630         * dom/EventTarget.cpp:
1631         (WebCore::EventTarget::toXMLHttpRequestUpload):
1632         * dom/EventTarget.h:
1633         * loader/ResourceLoader.cpp:
1634         (WebCore::ResourceLoader::didSendData):
1635         * loader/ResourceLoader.h:
1636         * loader/SubresourceLoader.cpp:
1637         (WebCore::SubresourceLoader::didSendData):
1638         * loader/SubresourceLoader.h:
1639         * loader/SubresourceLoaderClient.h:
1640         (WebCore::SubresourceLoaderClient::didSendData):
1641         * page/DOMWindow.idl:
1642         * platform/network/FormData.cpp:
1643         (WebCore::FormData::FormData):
1644         * platform/network/FormData.h:
1645         (WebCore::FormData::alwaysStream):
1646         (WebCore::FormData::setAlwaysStream):
1647         * platform/network/ResourceHandleClient.h:
1648         (WebCore::ResourceHandleClient::didSendData):
1649         * platform/network/mac/FormDataStreamMac.h:
1650         * platform/network/mac/FormDataStreamMac.mm:
1651         (WebCore::getStreamFormDataMap):
1652         (WebCore::getStreamResourceHandleMap):
1653         (WebCore::associateStreamWithResourceHandle):
1654         (WebCore::disassociateStreamWithResourceHandle):
1655         (WebCore::DidSendDataCallbackData::DidSendDataCallbackData):
1656         (WebCore::performDidSendDataCallback):
1657         (WebCore::formCreate):
1658         (WebCore::formFinalize):
1659         (WebCore::formRead):
1660         (WebCore::setHTTPBody):
1661         (WebCore::httpBodyFromStream):
1662         * platform/network/mac/ResourceHandleMac.mm:
1663         (WebCore::ResourceHandle::start):
1664         (WebCore::ResourceHandle::cancel):
1665         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
1666         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
1667         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
1668         * xml/XMLHttpRequest.cpp:
1669         (WebCore::XMLHttpRequest::XMLHttpRequest):
1670         (WebCore::XMLHttpRequest::~XMLHttpRequest):
1671         (WebCore::XMLHttpRequest::upload):
1672         (WebCore::XMLHttpRequest::open):
1673         (WebCore::XMLHttpRequest::send):
1674         (WebCore::XMLHttpRequest::createRequest):
1675         (WebCore::XMLHttpRequest::abort):
1676         (WebCore::XMLHttpRequest::networkError):
1677         (WebCore::XMLHttpRequest::abortError):
1678         (WebCore::XMLHttpRequest::didSendData):
1679         * xml/XMLHttpRequest.h:
1680         (WebCore::XMLHttpRequest::optionalUpload):
1681         * xml/XMLHttpRequest.idl:
1682         * xml/XMLHttpRequestUpload.cpp: Added.
1683         (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
1684         (WebCore::XMLHttpRequestUpload::addEventListener):
1685         (WebCore::XMLHttpRequestUpload::removeEventListener):
1686         (WebCore::XMLHttpRequestUpload::dispatchEvent):
1687         (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
1688         (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
1689         (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
1690         (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
1691         (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
1692         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
1693         * xml/XMLHttpRequestUpload.h: Added.
1694         (WebCore::XMLHttpRequestUpload::create):
1695         (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
1696         (WebCore::XMLHttpRequestUpload::associatedXMLHttpRequest):
1697         (WebCore::XMLHttpRequestUpload::disconnectXMLHttpRequest):
1698         (WebCore::XMLHttpRequestUpload::setOnAbortListener):
1699         (WebCore::XMLHttpRequestUpload::onAbortListener):
1700         (WebCore::XMLHttpRequestUpload::setOnErrorListener):
1701         (WebCore::XMLHttpRequestUpload::onErrorListener):
1702         (WebCore::XMLHttpRequestUpload::setOnLoadListener):
1703         (WebCore::XMLHttpRequestUpload::onLoadListener):
1704         (WebCore::XMLHttpRequestUpload::setOnLoadStartListener):
1705         (WebCore::XMLHttpRequestUpload::onLoadStartListener):
1706         (WebCore::XMLHttpRequestUpload::setOnProgressListener):
1707         (WebCore::XMLHttpRequestUpload::onProgressListener):
1708         (WebCore::XMLHttpRequestUpload::eventListeners):
1709         (WebCore::XMLHttpRequestUpload::refEventTarget):
1710         (WebCore::XMLHttpRequestUpload::derefEventTarget):
1711         * xml/XMLHttpRequestUpload.idl: Added.
1712
1713 2008-07-29  Maxime Britto  <britto@apple.com>
1714
1715         Reviewed by Darin.
1716
1717         <rdar://problem/6095023> "When pan-scrolling, mouse click on hyperlink stop the pan-Scroll but follow the link after that."
1718         With this patch we now stop the pan scroll and swallow the event to prevent any following action.
1719
1720         * page/EventHandler.cpp:
1721         (WebCore::EventHandler::handleMousePressEvent): If we were in pan scrolling mode we no longer just stop the pan scroll and continue with the function, we now stop and return true to attest that we swallowed the event.
1722
1723 2008-07-29  Maxime Britto  <britto@apple.com>
1724
1725         Reviewed by adele.
1726
1727         Test: fast/events/autoscroll-in-textfield.html
1728
1729         * rendering/RenderObject.cpp:
1730         (WebCore::RenderObject::canBeProgramaticallyScrolled): reverted a bad change introduced in r35244
1731         nb:the test case introduced in r35244 is still working.
1732
1733 2008-07-29  Maxime Britto  <britto@apple.com>
1734
1735         Reviewed by adele.
1736         This test verifies that the autoscroll works within textfields.
1737
1738         * fast/events/autoscroll-in-textfield-expected.txt: Added.
1739         * fast/events/autoscroll-in-textfield.html: Added.
1740
1741 2008-07-29  Adele Peterson  <adele@apple.com>
1742
1743         Reviewed by Sammy Weinig.
1744
1745         Fix for <rdar://problem/6103024>
1746         When a QT movie is loaded directly in the browser, I can't pause it by single-clicking on the video
1747
1748         Test: media/video-click-dlbclick-standalone.html
1749
1750         * loader/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): For standalone media documents,
1751         match the default Quicktime plugin behavior to allow clicking and double-clicking to pause and play the media.
1752         * loader/MediaDocument.h: Added defaultEventHandler.
1753
1754         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::defaultEventHandler): Return early if the event has been handled.
1755         * rendering/MediaControlElements.cpp:
1756         (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Correct what was probably a typo.  Instead of "event->defaultHandled()",
1757          it is supposed to be "event->setDefaultHandled()".
1758         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
1759         (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
1760         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
1761
1762 2008-07-29  Dan Bernstein  <mitz@apple.com>
1763
1764         Reviewed by Dave Hyatt.
1765
1766         - fix <rdar://problem/6059648> Some content not visible when the window is short at courtneyalbright.com
1767
1768         Test: fast/overflow/float-in-relpositioned.html
1769
1770         * rendering/RenderBlock.cpp:
1771         (WebCore::RenderBlock::lowestPosition): Add this block's relative offset
1772         to floats' and positioned objects' lowest position.
1773         (WebCore::RenderBlock::rightmostPosition): Ditto.
1774         (WebCore::RenderBlock::leftmostPosition): Ditto.
1775         * rendering/RenderBox.cpp:
1776         (WebCore::RenderBox::lowestPosition): Removed redundant test.
1777         (WebCore::RenderBox::rightmostPosition): Ditto.
1778         (WebCore::RenderBox::leftmostPosition): Ditto.
1779
1780 2008-07-29  Dan Bernstein  <mitz@apple.com>
1781
1782         Reviewed by Dave Hyatt.
1783
1784         - fix <rdar://problem/6048566> Repaint original element's position, not its offset position
1785
1786         Test: fast/repaint/layout-state-relative.html
1787
1788         * rendering/RenderBox.cpp:
1789         (WebCore::RenderBox::absolutePosition): Changed the LayoutState-enabled
1790         code path to account for the object's relative offset.
1791         (WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto.
1792
1793 2008-07-29  Keishi Hattori  <casey.hattori@gmail.com>
1794
1795         Fixed Bug 19158: Inspector should support console.group/console.groupEnd
1796
1797         <https://bugs.webkit.org/show_bug.cgi?id=19158>
1798
1799         Reviewed by Tim Hatcher and Adam Roben.
1800
1801         * bindings/js/JSConsoleCustom.cpp:
1802         (WebCore::JSConsole::group): Added.
1803         * page/Console.cpp:
1804         (WebCore::Console::group): Added.
1805         (WebCore::Console::groupEnd): Added.
1806         * page/Console.h:
1807         (WebCore::):
1808         * page/Console.idl: Added group/groupEnd.
1809         * page/InspectorController.cpp:
1810         (WebCore::ConsoleMessage::ConsoleMessage):
1811         (WebCore::InspectorController::InspectorController): Added m_groupLevel.
1812         (WebCore::InspectorController::addMessageToConsole): Added groupLevel argument.
1813         (WebCore::InspectorController::startGroup): Increments m_groupLevel by one and calls js function if needed.
1814         (WebCore::InspectorController::endGroup): Decrements m_groupLevel by one and calls js function if needed.
1815         (WebCore::InspectorController::addScriptConsoleMessage): Added groupLevel argument.
1816         (WebCore::InspectorController::didCommitLoad): Resets m_groupLevel.
1817         * page/InspectorController.h:
1818         * page/inspector/Console.js:
1819         (WebInspector.Console): Added groupLevel and currentGroup topGroup.
1820         (WebInspector.Console.addMessage): Calls addMessage method in the currentGroup.
1821         (WebInspector.Console.startGroup): Added.
1822         (WebInspector.Console.endGroup): Added.
1823         (WebInspector.Console.clearMessages): Resets groupLevel and currentGroup.
1824         (WebInspector.ConsoleMessage): Added groupLevel property.
1825         (WebInspector.ConsoleMessage.MessageLevel.GroupTitle): Added.
1826         (WebInspector.ConsoleGroup): Added.
1827         (WebInspector.ConsoleGroup.addMessage): Adds console message to group.
1828         (WebInspector.ConsoleGroup._titleClicked): Adds "collapsed" style class.
1829         * page/inspector/inspector.css:
1830         * page/inspector/inspector.js:
1831         (WebInspector.startGroupInConsole): Calls console.startGroup
1832         (WebInspector.endGroupInConsole): Calls console.endGroup
1833
1834 2008-07-29  Adam Roben  <aroben@apple.com>
1835
1836         Add names for WebCore's threads
1837
1838         Reviewed by Anders Carlsson.
1839
1840         * loader/icon/IconDatabase.cpp:
1841         (WebCore::IconDatabase::open):
1842         * storage/DatabaseThread.cpp:
1843         (WebCore::DatabaseThread::start):
1844         * storage/LocalStorageThread.cpp:
1845         (WebCore::LocalStorageThread::start):
1846         Pass in names to createThread.
1847
1848         * platform/network/cf/ResourceHandleCFNet.cpp:
1849         (WebCore::runLoaderThread):
1850         (WebCore::ResourceHandle::loaderRunLoop):
1851         Changed to use WTF::createThread.
1852
1853 2008-07-28  Anders Carlsson  <andersca@apple.com>
1854
1855         Reviewed by Kevin Decker.
1856
1857         Based on a patch from Dimcho Balev.
1858         
1859         Windows part of 
1860     
1861         https://bugs.webkit.org/show_bug.cgi?id=18676
1862         <rdar://problem/6106578>
1863         Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
1864
1865         * plugins/PluginStream.cpp:
1866         (WebCore::PluginStream::wantsAllStreams):
1867         * plugins/PluginStream.h:
1868
1869 2008-07-28  Brady Eidson  <beidson@apple.com>
1870
1871         Reviewed by Sam Weinig
1872
1873         Test: security/autocomplete-cleared-on-back.html
1874
1875         <rdar://problem/6093281> - autocomplete="off" should work when going back
1876
1877         Taken care of in two ways:
1878         1 - Listening for the page cache notification to clear the form, in cases where the page
1879             is being restored from the page cache
1880         2 - Not saving such form elements when doing the normal "save state" to a history item,
1881             for cases with no page cache
1882
1883         * html/HTMLFormElement.cpp:
1884         (WebCore::HTMLFormElement::~HTMLFormElement):
1885         (WebCore::HTMLFormElement::parseMappedAttribute):
1886         (WebCore::HTMLFormElement::didRestoreFromCache):
1887         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
1888         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
1889         * html/HTMLFormElement.h:
1890
1891         * html/HTMLInputElement.cpp:
1892         (WebCore::HTMLInputElement::~HTMLInputElement):
1893         (WebCore::HTMLInputElement::setInputType):
1894         (WebCore::HTMLInputElement::saveState):
1895         (WebCore::HTMLInputElement::parseMappedAttribute):
1896         (WebCore::HTMLInputElement::needsCacheCallback):
1897         (WebCore::HTMLInputElement::registerForCacheCallbackIfNeeded): Only register if the type or attribute
1898           indicate we should.
1899         (WebCore::HTMLInputElement::unregisterForCacheCallbackIfNeeded): Only unregister if both the type
1900           and attribute are clear of needing registration.
1901         (WebCore::HTMLInputElement::didRestoreFromCache):
1902         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
1903         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
1904         * html/HTMLInputElement.h:
1905
1906 2008-07-28  David Hyatt  <hyatt@apple.com>
1907
1908         Add support for CSS variable declaration blocks.
1909
1910         Reviewed by Sam
1911
1912         Added tests in fast/css/variables.
1913
1914         * css/CSSGrammar.y:
1915         * css/CSSMutableStyleDeclaration.h:
1916         (WebCore::CSSMutableStyleDeclaration::isMutableStyleDeclaration):
1917         * css/CSSParser.cpp:
1918         (WebCore::CSSParser::addVariableDeclarationBlock):
1919         * css/CSSParser.h:
1920         * css/CSSProperty.cpp:
1921         (WebCore::CSSProperty::cssText):
1922         * css/CSSPropertyNames.in:
1923         * css/CSSStyleSelector.cpp:
1924         (WebCore::CSSStyleSelector::addMatchedDeclaration):
1925         (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
1926         * css/CSSStyleSelector.h:
1927         * css/CSSValueList.h:
1928         (WebCore::CSSValueList::isValueList):
1929         * css/CSSVariablesDeclaration.cpp:
1930         (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
1931         (WebCore::CSSVariablesDeclaration::getVariableValue):
1932         (WebCore::CSSVariablesDeclaration::removeVariable):
1933         (WebCore::CSSVariablesDeclaration::addParsedVariable):
1934         (WebCore::CSSVariablesDeclaration::getParsedSimpleVariable):
1935         (WebCore::CSSVariablesDeclaration::getParsedComplexVariable):
1936         * css/CSSVariablesDeclaration.h:
1937         (WebCore::CSSVariablesDeclaration::create):
1938         * css/StyleBase.cpp:
1939         (WebCore::StyleBase::cssText):
1940         * css/StyleBase.h:
1941         (WebCore::StyleBase::isValueList):
1942         (WebCore::StyleBase::isMutableStyleDeclaration):
1943
1944 2008-07-28  Anders Carlsson  <andersca@apple.com>
1945
1946         Reviewed by Sam.
1947
1948         <rdar://problem/6098335>
1949         https://bugs.webkit.org/show_bug.cgi?id=20150
1950         
1951         Handle willSendRequest correctly.
1952
1953         * loader/SubresourceLoader.cpp:
1954         (WebCore::SubresourceLoader::willSendRequest):
1955         Make sure to keep the previous URL around so we know when to call willSendRequest.
1956         
1957         * xml/XMLHttpRequest.cpp:
1958         (WebCore::XMLHttpRequest::processSyncLoadResults):
1959         Abort if we don't have access to the response URL.
1960         
1961         (WebCore::XMLHttpRequest::willSendRequest):
1962         Dispatch a network error if we can't access the new URL.
1963
1964 2008-07-28  Geoffrey Garen  <ggaren@apple.com>
1965
1966         Reviewed by Sam Weinig.
1967
1968         Renamed "ConstructTypeNative" => "ConstructTypeHost".
1969         
1970 2008-07-28  Anders Carlsson  <andersca@apple.com>
1971
1972         Reviewed by Kevin Decker.
1973
1974         Based on a patch by Dimcho Balev.
1975
1976         https://bugs.webkit.org/show_bug.cgi?id=18676
1977         <rdar://problem/6106578>
1978         Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
1979         
1980         * bridge/npapi.h:
1981         Add new enum values.
1982         
1983         * loader/NetscapePlugInStreamLoader.cpp:
1984         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
1985         When the plug-in indicates that it wants all streams to be delivered, don't cancel the stream
1986         if an error occurs.
1987         
1988         * loader/NetscapePlugInStreamLoader.h:
1989         (WebCore::NetscapePlugInStreamLoaderClient::wantsAllStreams):
1990         Add new client method.
1991
1992 2008-07-27  Sam Weinig  <sam@webkit.org>
1993
1994         Reviewed by Oliver Hunt.
1995
1996         Fix for https://bugs.webkit.org/show_bug.cgi?id=20176
1997         querySelectorAll id optimization no longer working
1998
1999         Turn the querySelector/querySelectorAll id optimization back on
2000         for only strict and almost strict mode.  In quirks mode, the optimiztion
2001         won't work as the id match is not case sensitive.
2002
2003         Tests: fast/dom/SelectorAPI/caseID-almost-strict.html
2004                fast/dom/SelectorAPI/caseID-strict.html
2005                fast/dom/SelectorAPI/caseID.html
2006
2007         * dom/Node.cpp:
2008         (WebCore::Node::querySelector):
2009         (WebCore::Node::querySelectorAll):
2010         * dom/SelectorNodeList.cpp:
2011         (WebCore::createSelectorNodeList):
2012         * dom/SelectorNodeList.h:
2013
2014 2008-07-27  Anatoli Papirovski  <apapirovski@mac.com>
2015
2016         Reviewed by Dave Hyatt.
2017
2018         Fix for https://bugs.webkit.org/show_bug.cgi?id=14346
2019         Modified the css parser:
2020         - not to fail when closing braces are not found for 
2021           a declaration at the end of the file
2022         - not to accept "!important fail" as valid
2023         - to keep accepting @import when it comes after invalid @ rules
2024         - not to drop the whole @media block when there's an error before the 
2025           closing brace
2026         + some other minor css parsing revisions.
2027
2028         CSSGrammar.y tweaked by David Kilzer to fix Tiger builds.
2029
2030         * css/CSSGrammar.y:
2031
2032 2008-07-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
2033
2034         Reviewed by Eric Seidel.
2035
2036         Use --outputDir instead of --output when invoking make_names.pl
2037         There's no option named "output" in make_names.pl
2038
2039         * GNUmakefile.am:
2040         * WebCore.pro:
2041         * DerivedSources.make: Remove --output. Not necessary here.
2042         * bindings/scripts/generate-bindings.pl: Rename --outputdir to
2043           --outputDir for consistency with make_names.pl
2044
2045 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
2046
2047         Reviewed by Eric Seidel.
2048
2049         http://bugs.webkit.org/show_bug.cgi?id=18694
2050         [CAIRO] Problem with rotation in a given matrix in SVG
2051
2052         Changed values given to AffineTransform.
2053
2054         * platform/graphics/cairo/AffineTransformCairo.cpp:
2055         (WebCore::AffineTransform::AffineTransform):
2056         (WebCore::AffineTransform::setMatrix):
2057
2058 2008-07-26  Jan Michael Alonzo  <jmalonzo@webkit.org>
2059
2060         Reviewed by Mark Rowe.
2061
2062         Call curl_global_cleanup() to release resources acquired by curl_global_init()
2063
2064         * platform/network/curl/ResourceHandleManager.cpp:
2065         (WebCore::ResourceHandleManager::~ResourceHandleManager):
2066
2067 2008-07-26  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>
2068
2069         Reviewed by Simon Hausmann.
2070
2071         Bug 18938: [GTK] Plugins not resized
2072         https://bugs.webkit.org/show_bug.cgi?id=18938
2073
2074         * plugins/PluginView.cpp:
2075         (WebCore::PluginView::setFrameGeometry): When viewing a full-page
2076         plugin in unix, geometry changes have to be passed to the plugin.
2077
2078 2008-07-26  Keishi Hattori  <casey.hattori@gmail.com>
2079
2080         Reviewed by Adam Roben.
2081
2082         Add console.time/timeEnd.
2083         https://bugs.webkit.org/show_bug.cgi?id=19159
2084
2085         * manual-tests/inspector/console-time.html: Added. Test cases for console.time/timeEnd.
2086         * page/Console.cpp:
2087         (WebCore::Console::time): Added.
2088         (WebCore::Console::timeEnd): Added.
2089         * page/Console.h:
2090         * page/Console.idl: Added console.time/timeEnd.
2091         * page/InspectorController.cpp:
2092         (WebCore::InspectorController::startTiming): Added.
2093         (WebCore::InspectorController::stopTiming): Added.
2094         * page/InspectorController.h:
2095
2096 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
2097
2098         Reviewed by Nikolas Zimmermann.
2099
2100         Fixes rendering issues with gradients in SVG/Cairo.
2101
2102         * platform/graphics/cairo/PathCairo.cpp:
2103         (WebCore::Path::boundingRect):
2104         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
2105         (WebCore::applyStrokeStyleToContext):
2106         (WebCore::SVGPaintServerGradient::setup):
2107
2108 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
2109
2110         Reviewed by Nikolas Zimmermann.
2111
2112         Added pattern-support for SVG in Cairo.
2113
2114         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
2115         (WebCore::applyStrokeStyleToContext):
2116         (WebCore::SVGPaintServerPattern::setup):
2117
2118 2008-07-26  Keishi Hattori  <casey.hattori@gmail.com>
2119
2120         Reviewed by Adam Roben.
2121
2122         Fixed bug 18540: console.log('multiple', 'strings') quotes all strings after the first
2123         <https://bugs.webkit.org/show_bug.cgi?id=18540>
2124
2125         * page/inspector/Console.js:
2126         (WebInspector.ConsoleMessage.prototype._format): String arguments are appended without formatting.
2127
2128 2008-07-26  Anthony Ricaud  <rik24d@gmail.com>
2129
2130         Reviewed by Tim Hatcher.
2131
2132         <https://bugs.webkit.org/show_bug.cgi?id=17589> Line highlighting should last longer
2133
2134         Restore the fade out effect after highlighting.
2135
2136         * page/inspector/SourceFrame.js: Add a class for fade-out effects and sets it at the end of highlighting time.
2137
2138 2008-07-26  Michelangelo De Simone  <michelangelo@me.com>
2139
2140         Reviewed by Adele Petersen.
2141
2142         Added the simple willValidate attribute to form controls according to
2143         WebForms 2 spec.
2144
2145         URL: http://www.w3.org/TR/web-forms-2/#willvalidate
2146
2147         Tests: fast/forms/willvalidate-000.html
2148                fast/forms/willvalidate-001.html
2149                fast/forms/willvalidate-002.html
2150                fast/forms/willvalidate-003.html
2151                fast/forms/willvalidate-004.html
2152                fast/forms/willvalidate-005.html
2153                fast/forms/willvalidate-006.html
2154                fast/forms/willvalidate-007.html
2155                fast/forms/willvalidate-008.html
2156                fast/forms/willvalidate-009.html
2157
2158         * html/HTMLButtonElement.h: Added willValidate(), always false.
2159         * html/HTMLButtonElement.idl: willValidate attribute exposed.
2160         * html/HTMLFieldSetElement.h: Added willValidate(), always false.
2161         * html/HTMLFieldSetElement.idl: willValidate attribute exposed.
2162         * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::willValidate):
2163         Added base willValidate() implementation.
2164         * html/HTMLFormControlElement.h: Added willValidate().
2165         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willValidate):
2166         Added willValidate(), checks for input type.
2167         * html/HTMLInputElement.h: Added willValidate()
2168         * html/HTMLInputElement.idl: willValidate attribute exposed.
2169         * html/HTMLSelectElement.idl: willValidate attribute exposed.
2170         * html/HTMLTextAreaElement.idl: willValidate attribute exposed.
2171
2172 2008-07-26  Mark Rowe  <mrowe@apple.com>
2173
2174         Build fix.
2175
2176         * loader/FrameLoader.cpp:
2177         (WebCore::FrameLoader::load): Use 0 rather than nil as this is a C++ file.
2178
2179 2008-07-26  Mark Rowe  <mrowe@apple.com>
2180
2181         Build fix.
2182
2183         * loader/FrameLoader.h: Use 0 rather than nil as this is a C++ header.
2184
2185 2008-07-26  Daniel Jalkut  <jalkut@red-sweater.com>
2186
2187         Reviewed by Geoff Garen.
2188
2189         Revised the FrameLoader class to clean up a variety of load methods, and hopefully
2190         move things closer to integrating into a smaller set of load methods. To this
2191         end, I renamed many of the overloaded load() methods to have more meaningful and 
2192         easier to search names.  I added comments to the header file to provide clues as 
2193         to how many of the load methods are being used, and how they fit into the loading 
2194         process. I suspect that the renamed methods and comments indicating their present 
2195         usage will facilitate easier cleanup by myself and others as inspiration strikes.
2196
2197         Updated clients of FrameLoader where necessary to adapt to the new method names and signatures.
2198
2199         Combined the 3 canLoad() methods into a single canLoad which expresses the 
2200         intended logic of the 3 with a single method interface.
2201
2202         Removed unnecessary "treatAsLocal" attribute of CachedResource. It was only called from
2203         one place in FrameLoader.cpp, and it derived at initialization time by calling back to FrameLoader.
2204
2205         Removed unused userGesture parameter to one variant of the urlSelected method, and 
2206         moved one of the urlSelected methods so that it lives nearer to its overloaded 
2207         sibling.
2208
2209         * WebCore.base.exp:
2210         * loader/Cache.cpp:
2211         (WebCore::Cache::requestResource):
2212         * loader/CachedResource.cpp:
2213         (WebCore::CachedResource::CachedResource):
2214         * loader/CachedResource.h:
2215         (WebCore::CachedResource::errorOccurred):
2216         * loader/FrameLoader.cpp:
2217         (WebCore::FrameLoader::createWindow):
2218         (WebCore::FrameLoader::urlSelected):
2219         (WebCore::FrameLoader::loadURLIntoChildFrame):
2220         (WebCore::FrameLoader::loadPlugin):
2221         (WebCore::FrameLoader::loadFrameRequestWithFormState):
2222         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
2223         (WebCore::FrameLoader::loadURL):
2224         (WebCore::FrameLoader::loadWithNavigationAction):
2225         (WebCore::FrameLoader::load):
2226         (WebCore::FrameLoader::loadWithDocumentLoader):
2227         (WebCore::FrameLoader::canLoad):
2228         (WebCore::FrameLoader::reloadAllowingStaleData):
2229         (WebCore::FrameLoader::reload):
2230         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
2231         (WebCore::FrameLoader::submitForm):
2232         (WebCore::FrameLoader::loadPostRequest):
2233         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
2234         (WebCore::FrameLoader::loadItem):
2235         * loader/FrameLoader.h:
2236         * loader/SubresourceLoader.cpp:
2237         (WebCore::SubresourceLoader::create):
2238         * page/ContextMenuController.cpp:
2239         (WebCore::ContextMenuController::contextMenuItemSelected):
2240
2241 2008-07-26  Sam Weinig  <sam@webkit.org>
2242
2243         Reviewed by Dan Bernstein.
2244
2245         Fix https://bugs.webkit.org/show_bug.cgi?id=20122
2246         <rdar://problem/6089522>
2247         REGRESSION (r35075-r35110): Cannot enlarge images at Apple Store product page
2248
2249         Use strict parsing when in AlmostStrict mode.
2250
2251         Tests: fast/dom/SelectorAPI/dumpNodeList-almost-strict.html
2252                fast/dom/SelectorAPI/id-fastpath-almost-strict.html
2253                fast/dom/SelectorAPI/id-fastpath-strict.html
2254
2255         * dom/Node.cpp:
2256         (WebCore::Node::querySelector):
2257         (WebCore::Node::querySelectorAll):
2258
2259 2008-07-25  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2260
2261         Reviewed by Simon.
2262
2263         Switch off QPainter's anti aliasing when painting the widgets using QStyle
2264         because otherwise the widgets will look blurry and not crisp.
2265
2266         * platform/qt/RenderThemeQt.cpp:
2267         (WebCore::StylePainter::StylePainter):
2268         (WebCore::StylePainter::~StylePainter):
2269         * platform/qt/RenderThemeQt.h:
2270
2271 2008-07-25  Dan Bernstein  <mitz@apple.com>
2272
2273         Reviewed by Anders Carlsson.
2274
2275         - fix crash due to re-entering purgeInactiveFontData() now that it is
2276           called by releaseFontData()
2277
2278         Not testable in DumpRenderTree
2279
2280         * platform/graphics/FontCache.cpp:
2281         (WebCore::FontCache::purgeInactiveFontData): Added a reentry guard.
2282
2283 2008-07-25  Brady Eidson  <beidson@apple.com>
2284
2285         Reviewed by Sam
2286
2287         Test: security/set-form-autocomplete-attribute.html
2288
2289         Part of the fix for <rdar://problem/6093281> - Improper handling of autocomplete
2290
2291         The autocomplete attribute works on both <form> and <input> elements, but was not
2292         inherited properly when someone asked an <input> if it should autocomplete.
2293
2294         I fixed this up based on the rules in the current WF2 spec so if the <input> element
2295         has its own autocomplete attribute set, it will follow that but otherwise it will
2296         inherit from its parent <form>
2297
2298         * WebCore.base.exp:
2299
2300         * html/HTMLInputElement.cpp:
2301         (WebCore::HTMLInputElement::init):
2302         (WebCore::HTMLInputElement::autoComplete):
2303         (WebCore::HTMLInputElement::parseMappedAttribute):
2304         * html/HTMLInputElement.h:
2305         (WebCore::HTMLInputElement::):
2306
2307 2008-07-25  Wouter Bolsterlee  <uws+webkit@xs4all.nl>
2308
2309         Reviewed by Holger Freyther.
2310
2311         https://bugs.webkit.org/show_bug.cgi?id=20078
2312         [GTK] Use G_* macros instead of deprecated GTK_* macros in gtk2xtbin.h
2313
2314         * plugins/gtk/gtk2xtbin.h:
2315
2316 2008-07-25  Anders Carlsson  <andersca@apple.com>
2317
2318         Reviewed by Sam.
2319
2320         Add workaround for a Leopard bug which causes webarchive/test-xml-stylesheet.xml to fail.
2321
2322         * platform/network/mac/WebCoreURLResponse.mm:
2323         (-[NSURLResponse _webcore_MIMEType]):
2324
2325 2008-07-25  chris fleizach  <cfleizach@apple.com>
2326
2327         Reviewed by Beth Dakin
2328
2329         <rdar://problem/6084806> AX: REGRESSION: returned line number from TextArea is incorrect
2330
2331         Tests: accessibility/textarea-insertion-point-line-number.html
2332                accessibility/textarea-line-for-index.html
2333
2334         * page/AccessibilityObject.cpp:
2335         (WebCore::AccessibilityObject::lineForPosition):
2336         * page/AccessibilityObject.h:
2337         * page/mac/AccessibilityObjectWrapper.mm:
2338         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2339         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2340
2341 2008-07-25  Jacob Refstrup  <jacob.refstrup@hp.com>
2342
2343         Reviewed by mitz.
2344
2345         - fix https://bugs.webkit.org/show_bug.cgi?id=17906
2346         <rdar://problem/5805741> white-space: pre-wrap or -webkit-line-break: after-white-space text can overlap float at end of line
2347         
2348         Test: fast/block/float/editable-text-overlapping-float.html
2349
2350         * rendering/RenderBlock.h:
2351         * rendering/bidi.cpp:
2352         (WebCore::RenderBlock::skipTrailingWhitespace):
2353         - renamed to reflect usage and removed call to position floats; 
2354           they only get added
2355         (WebCore::RenderBlock::skipLeadingWhitespace):
2356         - renamed to reflect usage
2357         (WebCore::RenderBlock::findNextLineBreak):
2358         - use skipTrailingWhitespace at end of line (as before but with new
2359           name)
2360
2361 2008-07-25  Dan Bernstein  <mitz@apple.com>
2362
2363         Reviewed by Sam Weinig.
2364
2365         - Finish fixing https://bugs.webkit.org/show_bug.cgi?id=17097
2366           <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
2367
2368         * platform/graphics/FontCache.cpp:
2369         (WebCore::FontDataCacheKeyTraits): Changed needsDestruction to true because FontPlatformData
2370         instances hold references to the platform resources and release them in the destructor.
2371         (WebCore::cTargetInactiveFontData): Added, replacing cInactiveFontDataPurgeRatio with the
2372         number of inactive FontData instances to leave in the cache when automatically purging.
2373         (WebCore::FontCache::getCachedFontData): Moved the code that checks if there are too many
2374         inactive FontData instances and if so calls purgeInactiveFontData() from here...
2375         (WebCore::FontCache::releaseFontData): ... to here.
2376         (WebCore::FontCache::purgeInactiveFontData): Added code to also purge the platform font data
2377         cache. All FontPlatformData instances that do not have entries in the font data cache are
2378         removed, thus releasing the platform resources (such as HFONTs and NSFonts).
2379
2380 2008-07-24  David Hyatt  <hyatt@apple.com>
2381
2382         Add support for an alternate syntax for CSS variables.  Testers on www-style will be able to try out
2383         both versions of the syntax in WebKit to help us make a decision regarding which one to go with.
2384
2385         Reviewed by Dan
2386
2387         Added fast/css/variables/alternate-syntax/ (duplicated all existing CSS variables tests)
2388
2389         * css/CSSGrammar.y:
2390         * css/CSSParser.cpp:
2391         (WebCore::CSSParser::createVariablesRule):
2392         (WebCore::CSSParser::checkForVariables):
2393         * css/CSSParser.h:
2394         * css/CSSParserValues.cpp:
2395         (WebCore::CSSParserValue::isVariable):
2396         (WebCore::CSSParserValueList::addValue):
2397         (WebCore::CSSParserValueList::deleteValueAt):
2398         (WebCore::CSSParserValue::createCSSValue):
2399         * css/CSSParserValues.h:
2400         * css/CSSPrimitiveValue.cpp:
2401         (WebCore::CSSPrimitiveValue::cleanup):
2402         (WebCore::CSSPrimitiveValue::getStringValue):
2403         (WebCore::CSSPrimitiveValue::cssText):
2404         (WebCore::CSSPrimitiveValue::parserValue):
2405         * css/CSSPrimitiveValue.h:
2406         (WebCore::CSSPrimitiveValue::):
2407         (WebCore::CSSPrimitiveValue::isVariable):
2408         * css/CSSStyleSelector.cpp:
2409         (WebCore::CSSStyleSelector::addMatchedDeclaration):
2410         * css/CSSVariablesRule.cpp:
2411         (WebCore::CSSVariablesRule::CSSVariablesRule):
2412         (WebCore::CSSVariablesRule::cssText):
2413         * css/CSSVariablesRule.h:
2414         (WebCore::CSSVariablesRule::create):
2415         * css/maketokenizer:
2416         * css/tokenizer.flex:
2417
2418 2008-07-25  Maxime Britto  <britto@apple.com>
2419
2420         Reviewed by Anders Carlsson.
2421
2422         <rdar://6102387> "REGRESSION: horizontal scroll with the mouse wheel is inverted on some subframes"
2423
2424         * page/EventHandler.cpp:
2425         (WebCore::EventHandler::handleWheelEvent): Inverted the scroll direction relative to the delta value (positive scrolls left,negative scrolls right)
2426
2427 2008-07-25  Adele Peterson  <adele@apple.com>
2428
2429         Another build fix.
2430
2431         * platform/win/PlatformScrollBarSafari.cpp:
2432         (WebCore::PlatformScrollbar::paint):
2433
2434 2008-07-25  Adele Peterson  <adele@apple.com>
2435
2436         More build fixes.
2437
2438         * platform/win/PlatformScrollBarSafari.cpp:
2439         (WebCore::PlatformScrollbar::paint):
2440
2441 2008-07-25  Adele Peterson  <adele@apple.com>
2442
2443         Build fix.
2444
2445         * platform/win/PlatformScrollBarSafari.cpp:
2446
2447 2008-07-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
2448
2449         Reviewed by Simon
2450
2451         Provide access to the underlying QKeyEvent in PlatformKeyboardEvent.
2452
2453         * platform/PlatformKeyboardEvent.h: add accessor and member.
2454         * platform/qt/PlatformKeyboardEventQt.cpp: copy pointer in ctor.
2455         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2456
2457 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
2458
2459         Fix linking of QtWebKit against the statically built JavaScriptCore
2460         library, under Windows/Mac we may need _d/_debug suffixes.
2461
2462         * WebCore.pro:
2463
2464 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
2465
2466         Rubber-stamped by Lars.
2467
2468         Fix the Qt build by adapting to the latest ArgList API changes and
2469         replacing the inclusion of npapi.h in MainThreadScheduler with a forward
2470         declaration of NPP to avoid an include conflict. npapi.h on X11 includes
2471         X headers, which include wonderful defines such as "#define Status" that
2472         cause conflicts.
2473
2474         * bridge/qt/qt_runtime.cpp:
2475         (KJS::Bindings::findMethodIndex):
2476         (KJS::Bindings::QtRuntimeConnectionMethod::call):
2477         * plugins/PluginMainThreadScheduler.h:
2478
2479 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
2480
2481         Discussed with and rubber-stamped by Lars.
2482
2483         Fix the build system for the Qt port.
2484
2485         Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
2486         include search path. With a build process that combines JavaScriptCore and
2487         WebCore in one build process/Makefile the existance of
2488         JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.
2489
2490         This commit solves this by introducing a separate build of JavaScriptCore into
2491         a static library.
2492
2493         As a result of the split-up a race-condition due to broken dependencies of
2494         regular source files to header files of generated sources showed up very
2495         frequently when doing parallel builds (which the buildbot does). This commit at
2496         the same time tries to address the dependency problem by making the
2497         addExtraCompiler() function also generate a pseudo extra compiler that
2498         represents the header file output, so that qmake is aware of the creation of
2499         the header file for dependency calculation.
2500
2501         At the same time I removed a lot of cruft from the pro files to ease maintenance.
2502
2503         * WebCore.pro:
2504
2505 2008-07-24  kevino  <kevino@theolliviers.com>
2506
2507         wx build fix on Win for plugins coode.
2508
2509         * plugins/PluginDatabase.cpp:
2510         * plugins/PluginView.cpp:
2511         (WebCore::PluginView::PluginView):
2512         * plugins/PluginView.h:
2513
2514 2008-07-24  Sam Weinig  <sam@webkit.org>
2515
2516         Reviewed by Anders Carlsson.
2517
2518         Make isElementNode() non-virtual for a speedup on many benchmarks
2519         including 20% on http://ejohn.org/apps/fragment/.
2520
2521         - Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in 
2522           Element and Attr where space was available.  Use the new free bit
2523           to represent if an node is an element or not.
2524
2525         * dom/Attr.cpp:
2526         (WebCore::Attr::Attr):
2527         * dom/Attr.h:
2528         (WebCore::Attr::specified):
2529         (WebCore::Attr::setSpecified):
2530         * dom/ContainerNode.cpp:
2531         (WebCore::ContainerNode::ContainerNode):
2532         * dom/ContainerNode.h:
2533         * dom/Element.cpp:
2534         (WebCore::Element::Element):
2535         * dom/Element.h:
2536         (WebCore::Element::hasRareData):
2537         (WebCore::Element::setHasRareData):
2538         * dom/EventTargetNode.cpp:
2539         (WebCore::EventTargetNode::EventTargetNode):
2540         * dom/EventTargetNode.h:
2541         * dom/Node.cpp:
2542         (WebCore::Node::Node):
2543         * dom/Node.h:
2544         (WebCore::Node::isElementNode):
2545
2546 2008-07-24  Dan Bernstein  <mitz@apple.com>
2547
2548         Reviewed by Dave Hyatt.
2549
2550         - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically
2551
2552         Not testable in DumpRenderTree
2553
2554         * rendering/RenderView.cpp:
2555         (WebCore::RenderView::layout): Ensured that all children with percentage
2556         heights get laid out again if the height changes.
2557
2558 2008-07-24  kevino  <kevino@theolliviers.com>
2559
2560         Windows build fix for wx. wx doesn't implement pan scrolling yet. 
2561
2562         * page/EventHandler.cpp:
2563         (WebCore::EventHandler::handleAutoscroll):
2564         (WebCore::EventHandler::autoscrollTimerFired):
2565         (WebCore::EventHandler::stopAutoscrollTimer):
2566         (WebCore::EventHandler::handleMousePressEvent):
2567
2568 2008-07-24  David Hyatt  <hyatt@apple.com>
2569
2570         Fix for bug 18673, crash when using full page zoom on generated content.  Don't call
2571         intrinsicSizeChanged when we are first setting our style.
2572
2573         Reviewed by olliej
2574
2575         * ChangeLog:
2576         * rendering/RenderReplaced.cpp:
2577         (WebCore::RenderReplaced::setStyle):
2578
2579 2008-07-24  Julien Chaffraix  <jchaffraix@webkit.org>
2580
2581         Reviewed by Eric.
2582
2583         Bug 20053: .in files should use a custom format instead of XML
2584
2585         - Remove our XML parser perl module (XML::Tiny)
2586
2587         - Add a custom perl parser
2588
2589         - Move XML files to the new format
2590
2591         * bindings/scripts/InFilesParser.pm: Added.
2592         * bindings/scripts/XMLTiny.pm: Removed.
2593         * dom/make_names.pl: Switched to our new
2594         parser.
2595
2596         * html/HTMLAttributeNames.in: Switched to
2597         our custom format.
2598         * html/HTMLTagNames.in: Ditto.
2599         * svg/svgattrs.in: Ditto.
2600         * svg/svgtags.in: Ditto.
2601         * svg/xlinkattrs.in: Ditto.
2602         * xml/xmlattrs.in: Ditto.
2603
2604 2008-07-23  Julien Chaffraix  <jchaffraix@webkit.org>
2605
2606         Reviewed by Eric.
2607
2608         Bug 19588: CRASH doing open() on destroyed window
2609         https://bugs.webkit.org/show_bug.cgi?id=19588
2610
2611         Add frame's page null check as it could have been
2612         detached from the page.
2613
2614         Test: fast/frames/crash-removed-iframe.html
2615
2616         * bindings/js/JSDOMWindowBase.cpp:
2617         (WebCore::windowProtoFuncOpen):
2618         * page/FrameTree.cpp:
2619         (WebCore::FrameTree::find):
2620
2621 2008-07-23  Dan Bernstein  <mitz@apple.com>
2622
2623         Reviewed by Alexey Proskuryakov.
2624
2625         - fix a leak when using hex color values in CSS variables
2626
2627         - fix CSSOM access to hex color values in variables declarations
2628
2629         Test: fast/css/variables/color-hex-test.html
2630
2631         Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
2632         CSSParserValues coming from colors in hex notation. CSSParserValues can
2633         no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
2634         used as the type for CSSValues in CSS variables declarations where the
2635         parser value was a hex color. However the type of all other color
2636         CSSValues remains CSS_RGBCOLOR.
2637
2638         * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value
2639         for color values in hex notation.
2640         * css/CSSParser.cpp:
2641         (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
2642         * css/CSSParserValues.cpp:
2643         (WebCore::CSSParserValue::createCSSValue): Ditto.
2644         * css/CSSPrimitiveValue.cpp:
2645         (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the
2646         string containing the color.
2647         (WebCore::CSSPrimitiveValue::cssText): Added support for
2648         CSS_PARSER_HEXCOLOR for when serializing variable values.
2649         (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
2650         * css/CSSPrimitiveValue.h:
2651         (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.
2652
2653 2008-07-23  Beth Dakin  <bdakin@apple.com>
2654
2655         Reviewed by Dan Bernstein.
2656
2657         Fix for <rdar://problem/5997215> display: table-row-group 
2658         for :before content causes a crash
2659  
2660         The actual bug fix here is to ddd the generated content container 
2661         as a child before adding any of the generated content to the 
2662         container. There are two correctness fixes as well that deal with 
2663         style changes and correctly.
2664
2665         This patch also makes Node::diff() a static function.
2666
2667         * dom/Node.cpp:
2668         (WebCore::Node::diff):
2669         * dom/Node.h:
2670         (WebCore::Node::):
2671         (WebCore::Node::recalcStyle):
2672         * rendering/RenderContainer.cpp:
2673         (WebCore::findBeforeAfterParent):
2674         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
2675         * svg/SVGUseElement.cpp:
2676         (WebCore::SVGUseElement::recalcStyle):
2677
2678 2008-07-23  Timothy Hatcher  <timothy@apple.com>
2679
2680         Updates the elements DOM tree when nodes are added or removed from
2681         the inspected document.
2682
2683         https://bugs.webkit.org/show_bug.cgi?id=6590
2684         <rdar://problem/5712921>
2685
2686         Reviewed by Adam Roben.
2687
2688         * loader/FrameLoader.cpp:
2689         (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to
2690         InspectorController::inspectedWindowScriptObjectCleared.
2691         * page/InspectorController.cpp:
2692         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
2693         Calls the WebInspector.inspectedWindowCleared script function.
2694         * page/InspectorController.h:
2695         * page/inspector/ElementsPanel.js:
2696         (WebInspector.ElementsPanel): Create the event listener callback wrappers.
2697         (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if
2698         there are any recently modified nodes.
2699         (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners.
2700         Adds a check for InspectorController.isWindowVisible to prevent adding
2701         event listeners when the window isn't visible.
2702         (WebInspector.ElementsPanel.prototype.inspectedWindowCleared): 
2703         (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted,
2704         DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document.
2705         (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners
2706         added in _addMutationEventListeners.
2707         (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners
2708         again to reinstate the listners if the document changed or window cleared them.
2709         (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to
2710         _mutationMonitoredWindows and call _addMutationEventListeners.
2711         (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from
2712         _mutationMonitoredWindows and call _removeMutationEventListeners.
2713         (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call
2714         _removeMutationEventListeners for all windows in _mutationMonitoredWindows and
2715         clear _mutationMonitoredWindows.
2716         (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent
2717         to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible.
2718         (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto.
2719         (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto.
2720         (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call
2721         _updateModifiedNodes on a zero timeout.
2722         (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over
2723         the recentlyModifiedNodes array and call updateChildren on all the parent
2724         elements that had changes. Only calls updateChildren once per parent element.
2725         (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return
2726         false if the nodes are the same. Return true if the nodes are the same while
2727         looking at ancestor frame elements. THis use to return false, which was incorrect.
2728         (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren.
2729         (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from
2730         onpopulate and changed to rebuild the children elements by adding new children,
2731         moving existing children and removed old children.
2732         (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument
2733         call registerMutationEventListeners to track any mutations.
2734         * page/inspector/inspector.js:
2735         (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
2736         * page/inspector/treeoutline.js:
2737         (TreeElement.prototype.get hasChildren): Return _hasChildren.
2738         (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className.
2739         (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor.
2740         (TreeElement.prototype.expand): Fix an exception that can happen if expand is
2741         called before _attach.
2742         * WebCore/manual-tests/inspector/dom-mutation.html: Added.
2743         * WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
2744         * WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.
2745
2746 2008-07-22  Timothy Hatcher  <timothy@apple.com>
2747
2748         Fix an exception that occurred when double clicking the closing tag
2749         of an element in the DOM tree.
2750
2751         Reviewed by Anders Carlsson.
2752
2753         * page/inspector/ElementsPanel.js:
2754         (WebInspector.ElementsPanel.prototype._ondblclick): Null check
2755         element.ondblclick.
2756
2757 2008-07-22  Timothy Hatcher  <timothy@apple.com>
2758
2759         Fix a regression where elements in subframes would not be revealed
2760         or selected when inspected from the context menu. This was caused by
2761         JavaScript equality is not being true for JSInspectedObjectWrappers
2762         of the same node wrapped with different global ExecStates. This change
2763         adds a helper function that uses isSameNode to compare wrapped nodes.
2764
2765         https://bugs.webkit.org/show_bug.cgi?id=19377
2766
2767         Reviewed by Adam Roben.
2768
2769         * page/inspector/ElementsPanel.js:
2770         (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame
2771         to compare nodes.
2772         (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto.
2773         (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto. 
2774         (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto.
2775         (WebInspector.ElementsPanel.prototype.revealNode): Ditto.
2776         (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto.
2777         (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
2778         * page/inspector/treeoutline.js:
2779         (TreeOutline.prototype.findTreeElement): Add an equal argument
2780         to accept a functions to compare two representedObjects. Defaults
2781         to strict equal if not supplied. All current clients pass objectsAreSame.
2782         * page/inspector/utilities.js:
2783         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame
2784         to compare nodes.
2785         (Node.prototype.enclosingNodeOrSelfWithClass): Ditto.
2786         (Element.prototype.query): Use the ownerDocument of the node, not document.
2787         (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if
2788         it exists on both objects.
2789         (isAncestorNode): Use objectsAreSame to compare nodes.
2790         (firstCommonNodeAncestor): Ditto.
2791         (traverseNextNode): Ditto.
2792
2793 2008-07-21  Timothy Hatcher  <timothy@apple.com>
2794
2795         Added InspectorController.isWindowVisible to the JavaScript class
2796         for use in an upcoming change. This will allow the Inspector to not
2797         perform selective actions while the window is hidden.
2798
2799         Reviewed by Adam Roben.
2800
2801         * page/InspectorController.cpp:
2802         (WebCore::isWindowVisible): Call InspectorController::windowVisible.
2803         (WebCore::InspectorController::windowScriptObjectAvailable): Add
2804         the isWindowVisible function to the JavaScript class.
2805
2806 2008-07-21  Timothy Hatcher  <timothy@apple.com>
2807
2808         Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
2809         for efficiency of callers that know the index of the child. This
2810         will be used in an upcoming change.
2811
2812         Reviewed by Adam Roben.
2813
2814         * page/inspector/treeoutline.js:
2815         (TreeOutline._removeChildAtIndex): Renamed from _removeChild
2816         and modified to take an index.
2817         (TreeOutline._removeChild): Call _removeChildAtIndex with the
2818         child index found using indexOf.
2819         (TreeOutline.prototype.removeChildAtIndex): Added. Calls
2820         TreeOutline._removeChildAtIndex.
2821         (TreeElement.prototype.removeChildAtIndex): Ditto.
2822
2823 2008-07-21  Timothy Hatcher  <timothy@apple.com>
2824
2825         Fixes a regression where TreeOutline.findTreeElement would
2826         return the parent TreeElement of the representedObject instead
2827         of the TreeElement for the representedObject. Regressed with the
2828         fix for bug 19164.
2829
2830         Reviewed by Adam Roben.
2831
2832         * page/inspector/treeoutline.js:
2833         (TreeOutline.prototype.findTreeElement): When performing a slow search,
2834         do a final search for representedObject instead of returning item, which
2835         is the parent of representedObject.
2836
2837 2008-07-23  Adele Peterson  <adele@apple.com>
2838
2839         Reviewed by Adam.
2840
2841         WebCore part of fix for <rdar://problem/5698672>  Add drawing callback for a WebKit app to draw its own scrollbars
2842
2843         * WebCore.base.exp: Added symbols.
2844         * page/Chrome.cpp:
2845         (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method.
2846         (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
2847         * page/ChromeClient.h:
2848         * page/Settings.cpp:
2849         (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars.
2850         (WebCore::Settings::setShouldPaintCustomScrollbars):
2851         * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
2852         * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
2853         * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
2854         * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
2855         * platform/win/PlatformScrollBarSafari.cpp:
2856         (WebCore::ScrollbarPartToScrollBarPiece): Added helper function.
2857         (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto.
2858         (WebCore::ScrollbarControlStateFromThemeState): ditto.
2859         (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place.
2860          Added new code to paint the custom scrollbars if necessary.
2861         * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.
2862
2863 2008-07-23  Sam Weinig  <sam@webkit.org>
2864
2865         Reviewed by Anders Carlsson.
2866
2867         Cleanup and pack the member variables in Node.
2868
2869         * bindings/js/JSNodeCustom.cpp:
2870         (WebCore::JSNode::mark):
2871         * dom/Attr.cpp:
2872         (WebCore::Attr::Attr):
2873         * dom/Attr.h:
2874         (WebCore::Attr::specified):
2875         (WebCore::Attr::setSpecified):
2876         * dom/ContainerNode.cpp:
2877         (WebCore::ContainerNode::setFocus):
2878         * dom/Document.cpp:
2879         (WebCore::Document::adoptNode):
2880         * dom/Element.cpp:
2881         (WebCore::Element::~Element):
2882         (WebCore::Element::rareData):
2883         (WebCore::Element::createRareData):
2884         * dom/Element.h:
2885         (WebCore::Element::hasRareData):
2886         (WebCore::Element::setHasRareData):
2887         * dom/Node.h:
2888         (WebCore::Node::setIsLink):
2889         (WebCore::Node::inSubtreeMark):
2890         (WebCore::Node::setInSubtreeMark):
2891         (WebCore::Node::attrWasSpecifiedOrElementHasRareData):
2892         (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
2893         * html/HTMLAnchorElement.cpp:
2894         (WebCore::HTMLAnchorElement::supportsFocus):
2895         (WebCore::HTMLAnchorElement::isFocusable):
2896         (WebCore::HTMLAnchorElement::defaultEventHandler):
2897         (WebCore::HTMLAnchorElement::parseMappedAttribute):
2898         (WebCore::HTMLAnchorElement::isLiveLink):
2899         * html/HTMLImageElement.cpp:
2900         (WebCore::HTMLImageElement::parseMappedAttribute):
2901         * html/HTMLInputElement.cpp:
2902         (WebCore::HTMLInputElement::setInputType):
2903         * html/HTMLTableElement.cpp:
2904         (WebCore::HTMLTableElement::attach):
2905         * svg/SVGAElement.cpp:
2906         (WebCore::SVGAElement::svgAttributeChanged):
2907         (WebCore::SVGAElement::defaultEventHandler):
2908
2909 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
2910
2911         Reviewed by Adele.
2912
2913         Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
2914
2915         Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
2916
2917         * platform/graphics/win/QTMovieWin.cpp:
2918         (QTMovieWinPrivate::QTMovieWinPrivate):
2919         (QTMovieWinPrivate::~QTMovieWinPrivate):
2920         (QTMovieWinPrivate::task):
2921         (QTMovieWinPrivate::createMovieController):
2922         (QTMovieWinPrivate::createGWorld):
2923         (QTMovieWinPrivate::setSize):
2924         (QTMovieWinPrivate::deleteGWorld):
2925         (QTMovieWin::play):
2926         (QTMovieWin::pause):
2927         (QTMovieWin::setRate):
2928         (QTMovieWin::setCurrentTime):
2929         (QTMovieWin::load):
2930
2931 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
2932
2933         Reviewed by Adele.
2934
2935         Added a debug mode for viewing frames per second for videos.  This is controlled by two 
2936         independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
2937         Unless either flags is turned on there is no change to the code for video frame drawing.
2938
2939         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2940         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2941         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2942         (WebCore::MediaPlayerPrivate::play):
2943         (WebCore::MediaPlayerPrivate::pause):
2944         (WebCore::MediaPlayerPrivate::didEnd):
2945         (WebCore::MediaPlayerPrivate::repaint):
2946         (WebCore::MediaPlayerPrivate::paint):
2947         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2948         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2949         (WebCore::MediaPlayerPrivate::play):
2950         (WebCore::MediaPlayerPrivate::pause):
2951         (WebCore::MediaPlayerPrivate::didEnd):
2952         (WebCore::MediaPlayerPrivate::paint):
2953         (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
2954         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2955
2956 2008-07-23  Adele Peterson  <adele@apple.com>
2957
2958         Reviewed by Sam.
2959
2960         Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
2961
2962         * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage):
2963         Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
2964         * platform/graphics/GraphicsContext.h:
2965         (WebCore::): Added InterpolationQuality enum.
2966         (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation.
2967         The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low".
2968         (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
2969         * platform/graphics/cg/GraphicsContextCG.cpp:
2970         (WebCore::GraphicsContext::setImageInterpolationQuality): Added.
2971         (WebCore::GraphicsContext::imageInterpolationQuality): Added.
2972         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
2973         Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
2974
2975 2008-07-23  Sam Weinig  <sam@webkit.org>
2976
2977         Reviewed by Anders Carlsson.
2978
2979         Remove extraneous allocations by using equalIgnoringCase rather than
2980         String::lower.
2981
2982         * dom/StyledElement.cpp:
2983         (WebCore::StyledElement::addCSSColor):
2984         * html/HTMLCollection.cpp:
2985         (WebCore::HTMLCollection::checkForNameMatch):
2986         * html/HTMLFormCollection.cpp:
2987         (WebCore::HTMLFormCollection::getNamedFormItem):
2988         * html/HTMLLinkElement.cpp:
2989         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2990         * html/HTMLObjectElement.cpp:
2991         (WebCore::HTMLObjectElement::containsJavaApplet):
2992         * html/PreloadScanner.cpp:
2993         (WebCore::PreloadScanner::emitCSSRule):
2994         * loader/FrameLoader.cpp:
2995         (WebCore::FrameLoader::createJavaAppletWidget):
2996         * page/DOMSelection.cpp:
2997         (WebCore::DOMSelection::modify):
2998         * rendering/RenderPartObject.cpp:
2999         (WebCore::RenderPartObject::updateWidget):
3000
3001 2008-07-23  Maxime Britto  <britto@apple.com>
3002
3003         Reviewed by Adam Roben.
3004
3005         <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
3006         Add a check for the m_page member value before asking for page()->mainFrame()
3007
3008         * page/EventHandler.cpp:
3009         (WebCore::EventHandler::stopAutoscrollTimer):
3010
3011 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
3012
3013        Reviewed by Adele.
3014
3015        Fix for <rdar://problem/5710065> QT movies should be inactive when opened
3016
3017        Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and 
3018        until after movie tracks of unsupported types have been disabled, to make sure they never draw.
3019
3020         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3021         (WebCore::MediaPlayerPrivate::load):
3022         (WebCore::MediaPlayerPrivate::updateStates):
3023         (WebCore::MediaPlayerPrivate::setVisible):
3024
3025 2008-07-22  Maxime Britto  <britto@apple.com>
3026
3027         Reviewed by John Sullivan.
3028
3029         <rdar://problem/6083116>
3030         When pan-scrolling, Back then Forward causes pan-scrolling to start again
3031
3032         * page/Frame.cpp:
3033         (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
3034         * loader/FrameLoader.cpp:
3035         (WebCore::FrameLoader::scrollToAnchor): When the link is an anchor we Frame::clearTimers() isn't called since we're only scrolling the page so we need to ask to stop the autoscroll timer here too.
3036
3037 2008-07-22  Geoffrey Garen  <ggaren@apple.com>
3038
3039         Reviewed by Oliver Hunt and Sam Weinig.
3040
3041         Next step toward putting doubles in registers: Prepare the Register class
3042         and its clients for registers that don't contain JSValue*s.
3043         
3044 2008-07-22  Sam Weinig  <sam@webkit.org>
3045
3046         Reviewed by Mark Rowe.
3047
3048         <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
3049         Add additional support for JPEG and GIF for toDataURL encoding canvases.
3050
3051         * platform/MIMETypeRegistry.cpp:
3052         (WebCore::initializeSupportedImageMIMETypesForEncoding):
3053         * platform/graphics/cg/ImageBufferCG.cpp:
3054         (WebCore::utiFromMIMEType):
3055
3056 2008-07-22  Chris Fleizach  <cfleizach@apple.com>
3057
3058         Reviewed by Dave Hyatt.
3059
3060         <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
3061         Test: accessibility/internal-link-anchors2.html
3062
3063         * page/AccessibilityRenderObject.cpp:
3064         (WebCore::AccessibilityRenderObject::internalLinkElement):
3065
3066 2008-07-22  Anders Carlsson  <andersca@apple.com>
3067
3068         Reviewed by Adam.
3069
3070         Allocate the empty StringImpl from the heap.
3071         
3072         * platform/text/StringImpl.cpp:
3073         (WebCore::StringImpl::empty):
3074
3075 2008-07-21  Kevin McCullough  <kmccullough@apple.com>
3076
3077         Reviewed by Tim.
3078
3079         <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
3080         view (19228)
3081         - Implement UI for Heavy (Bottom Up) view.
3082
3083         * English.lproj/localizedStrings.js:
3084         * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree
3085         profile from a profile to the Web Inspector's JavaScript.
3086         (WebCore::getHeavyProfileCallback):
3087         (WebCore::getTreeProfileCallback):
3088         (WebCore::ProfileClass):
3089         * page/inspector/ProfileView.js: Implement the dropdown for changing
3090         profile views.
3091         * page/inspector/inspector.css:
3092
3093 2008-07-22  Alexey Proskuryakov  <ap@webkit.org>
3094
3095         Reviewed by Adam Roben.
3096
3097         <rdar://problem/5955602> WebKit should support charset name x-windows-949
3098
3099         Test: fast/encoding/char-decoding.html
3100
3101         * platform/text/TextCodecICU.cpp:
3102         (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
3103         Firefox compatibility.
3104
3105 2008-07-22  Gavin Barraclough  <barraclough@apple.com>
3106
3107         Reviewed by Alexey Proskuryakov.
3108
3109         New test to check that arrays fail gracefully (throw an out of memory exception)
3110         when the vector grows to large.
3111
3112         * manual-tests/array-out-of-memory.html: Added.
3113
3114 2008-07-21  Alexey Proskuryakov  <ap@webkit.org>
3115
3116         Reviewed by Dan Bernstein.
3117
3118         https://bugs.webkit.org/show_bug.cgi?id=20117
3119         setBaseAndExtent fails to reverse the current selection
3120
3121         Test: editing/selection/setBaseAndExtent-revert-selection.html
3122
3123         * editing/Selection.h: (WebCore::operator==): Compare direction, too.
3124
3125 2008-07-21  Julien Chaffraix  <jchaffraix@webkit.org>
3126
3127         Reviewed by Sam Weinig.
3128
3129         Bug 19919: Add selectors' string parsing in CSSParser
3130         https://bugs.webkit.org/show_bug.cgi?id=19919
3131
3132         No functional change.
3133
3134         * css/CSSGrammar.y: Added entry for parsing only a selector.
3135         * css/CSSParser.cpp:
3136         (WebCore::CSSParser::CSSParser):
3137         (WebCore::CSSParser::parseSelector):
3138         * css/CSSParser.h: Added m_floatingSelector to hold the
3139         Selector parsed in parseSelector.
3140
3141         * css/tokenizer.flex: Added "@-webkit-selector" token.
3142         * dom/Node.cpp:
3143         (WebCore::Node::querySelector):
3144         (WebCore::Node::querySelectorAll): Switched to parseSelector
3145         method.
3146
3147 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
3148
3149         Reviewed by Adele.
3150
3151         Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed
3152
3153         * platform/graphics/win/QTMovieWin.cpp:
3154         (initializeSupportedTypes): Do a Quicktime version minimum version check.
3155         (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.
3156
3157 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
3158
3159         Reviewed by Adele.
3160
3161         Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page
3162
3163         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache
3164         so that everything starts back up normally when the page is retrieved from the cache.
3165
3166 2008-07-21  Sam Weinig  <sam@webkit.org>
3167
3168         Reviewed by Mark Rowe.
3169
3170         Remove unused interface declaration.
3171
3172         * platform/network/mac/ResourceHandleMac.mm:
3173
3174 2008-07-21  Mark Rowe  <mrowe@apple.com>
3175
3176         Reviewed by Sam Weinig.
3177
3178         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
3179
3180         * Configurations/Version.xcconfig:
3181         * Info.plist:
3182
3183 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
3184
3185         Reviewed by Adele.
3186
3187         Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
3188
3189         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
3190         * platform/graphics/MediaPlayer.h:
3191         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
3192         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
3193
3194 2008-07-21  Anders Carlsson  <andersca@apple.com>
3195
3196         Reviewed by Jon.
3197
3198         Don't allow requests to be made when the document loader is stopping all loaders.
3199
3200         * plugins/PluginView.cpp:
3201         (WebCore::PluginView::load):
3202
3203 2008-07-20  Maxime Britto  <britto@apple.com>
3204
3205         Reviewed by John Sullivan.
3206
3207         [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
3208         Accelerate and enhance the smoothness of the pan scrollling.
3209
3210         * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
3211         * rendering/RenderLayer.cpp: 
3212         (WebCore::RenderLayer::panScrollFromPoint): Differentiate the speed within a 200 pixel side square, around the original click location to the speed for farther distances. This way we allow easyier handle when we are close to the center and very fast scrolling when we go far from the original point.
3213
3214 2008-07-18  David Hyatt  <hyatt@apple.com>
3215
3216         Change the cached clip rects to not assume they should be infinite when the root layer has been
3217         shifted as the result of a transformation.
3218
3219         Reviewed by Maciej
3220
3221         Added fast/transforms/overflow-with-transform.html
3222
3223         * rendering/RenderLayer.cpp:
3224         (WebCore::RenderLayer::calculateClipRects):
3225
3226 2008-07-21  Rob Buis  <buis@kde.org>
3227
3228         Reviewed by Mitz.
3229
3230         https://bugs.webkit.org/show_bug.cgi?id=19966
3231         CSS variables crash when using hex notation for colors
3232
3233         Support hex colors as values for the css variables.
3234
3235         Test: fast/css/variables/color-hex-test.html
3236
3237         * css/CSSParserValues.cpp:
3238         (WebCore::CSSParserValue::createCSSValue):
3239         * css/CSSPrimitiveValue.cpp:
3240         (WebCore::CSSPrimitiveValue::parserValue):
3241         * css/CSSVariablesRule.cpp:
3242
3243 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
3244
3245         Reviewed by Holger.
3246
3247         Fix drawing of windowless plugins on Windows with the Qt port by
3248         avoiding the reset of the translation of the HDC to 0, 0.
3249
3250         * plugins/win/PluginViewWin.cpp:
3251         (WebCore::PluginView::paint):
3252
3253 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
3254
3255         Reviewed by Holger.
3256
3257         Fix rendering of transparent windowless netscape plugins by passing
3258         the right conversion parameter to QPixmap::fromWinHBITMAP when
3259         converting from HBITMAP to QPixmap.
3260
3261         * platform/graphics/qt/GraphicsContextQt.cpp:
3262         (WebCore::GraphicsContext::releaseWindowsContext):
3263
3264 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
3265
3266         Reviewed by Holger.
3267
3268         In the implementation of getValue for NPNVnetscapeWindow treat
3269         windowHandleForPlatformWidget on the return value of
3270         containingWindow() to receive the correct HWND for the Qt port.
3271
3272         * plugins/win/PluginViewWin.cpp:
3273         (WebCore::PluginView::getValue):
3274
3275 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
3276
3277         Reviewed by Holger.
3278
3279         Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
3280         a QWidget. This can happen on page/view destruction for example.
3281
3282         * plugins/win/PluginViewWin.cpp:
3283         (windowHandleForPlatformWidget):
3284
3285 2008-07-20  Steve Falkenburg  <sfalken@apple.com>
3286
3287         Touch file to force rebuild for vsprops change.
3288
3289         * WebCorePrefix.h:
3290
3291 2008-07-20  Sam Weinig  <sam@webkit.org>
3292
3293         Remove extra space Oliver Hunt left in.
3294
3295         * page/Console.cpp:
3296         (WebCore::Console::reportException):
3297         (WebCore::Console::reportCurrentException):
3298
3299 2008-07-20  Oliver Hunt  <oliver@apple.com>
3300
3301         Reviewed by Dan Bernstein.
3302
3303         Bug 19757: Crash when an ondragstart handler hides the element
3304         <https://bugs.webkit.org/show_bug.cgi?id=19757>
3305
3306         The solution to this is problem is just to null check the renderer
3307         immediately before launching the system drag, and terminate the
3308         drag if the renderer is gone.
3309
3310         * page/EventHandler.cpp:
3311         (WebCore::EventHandler::handleDrag):
3312
3313 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
3314
3315         Reviewed by Oliver.
3316
3317         Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
3318
3319         Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
3320         Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
3321
3322         * svg/SVGPointList.cpp:
3323         (WebCore::SVGPointList::valueAsString):
3324         * svg/SVGPointList.h:
3325         (WebCore::SVGPointList::create):
3326         * svg/SVGPolyElement.cpp:
3327         (WebCore::SVGPolyElement::SVGPolyElement):
3328         (WebCore::SVGPolyElement::svgAttributeChanged):
3329         (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
3330         * svg/SVGPolyElement.h:
3331
3332 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
3333
3334         Reviewed by Oliver.
3335
3336         Cleanup JSSVGPODTypeWrapper code.
3337
3338         Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
3339                 JSSVGPODTypeWrapperReadWrite       -> JSSVGDynamicPODTypeWrapper
3340                 JSSVGPODTypeWrapperCache           -> JSSVGDynamicPODTypeWrapperCacheCache
3341
3342         No functional changes.
3343
3344         * bindings/js/JSSVGMatrixCustom.cpp:
3345         (WebCore::JSSVGMatrix::multiply):
3346         (WebCore::JSSVGMatrix::inverse):
3347         (WebCore::JSSVGMatrix::translate):
3348         (WebCore::JSSVGMatrix::scale):
3349         (WebCore::JSSVGMatrix::scaleNonUniform):
3350         (WebCore::JSSVGMatrix::rotate):
3351         (WebCore::JSSVGMatrix::rotateFromVector):
3352         (WebCore::JSSVGMatrix::flipX):
3353         (WebCore::JSSVGMatrix::flipY):
3354         (WebCore::JSSVGMatrix::skewX):
3355         (WebCore::JSSVGMatrix::skewY):
3356         * bindings/js/JSSVGPODTypeWrapper.h:
3357         (WebCore::JSSVGDynamicPODTypeWrapper::create):
3358         (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
3359         (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
3360         (WebCore::JSSVGStaticPODTypeWrapper::create):
3361         (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
3362         (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
3363         (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
3364         (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
3365         (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
3366         (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
3367         (WebCore::PODTypeWrapperCacheInfo::operator==):
3368         (WebCore::PODTypeWrapperCacheInfoHash::hash):
3369         (WebCore::PODTypeWrapperCacheInfoHash::equal):
3370         (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
3371         (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
3372         (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
3373         (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
3374         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
3375         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
3376         * bindings/js/JSSVGPointListCustom.cpp:
3377         (WebCore::finishGetter):
3378         (WebCore::finishSetter):
3379         (WebCore::finishSetterReadOnlyResult):
3380         (WebCore::JSSVGPointList::initialize):
3381         (WebCore::JSSVGPointList::insertItemBefore):
3382         (WebCore::JSSVGPointList::replaceItem):
3383         (WebCore::JSSVGPointList::appendItem):
3384         * bindings/js/JSSVGTransformListCustom.cpp:
3385         (WebCore::finishGetter):
3386         (WebCore::finishSetter):
3387         (WebCore::finishSetterReadOnlyResult):
3388         (WebCore::JSSVGTransformList::initialize):
3389         (WebCore::JSSVGTransformList::getItem):
3390         (WebCore::JSSVGTransformList::insertItemBefore):
3391         (WebCore::JSSVGTransformList::replaceItem):
3392         (WebCore::JSSVGTransformList::removeItem):
3393         (WebCore::JSSVGTransformList::appendItem):
3394         * bindings/scripts/CodeGeneratorJS.pm:
3395
3396 2008-07-19  Oliver Hunt  <oliver@apple.com>
3397
3398         Reviewed by Mark Rowe.
3399
3400         Bug 15979: Console logs in a database callback lose line number information
3401         <https://bugs.webkit.org/show_bug.cgi?id=15979>
3402
3403         The problem was that there were multiple versions of the logic to
3404         log an exception to the console, many of which were incorrect.  We
3405         resolve this by making one single shared reportException method,
3406         which handles the exceptions correctly.
3407
3408         This improves fidelity of callback errors, and ensures that
3409         exceptions thrown in timer callbacks correctly report line numbers,
3410         etc.
3411
3412         Test: fast/js/exceptions-thrown-in-callbacks.html
3413
3414         * bindings/js/JSCustomSQLStatementCallback.cpp:
3415         (WebCore::JSCustomSQLStatementCallback::handleEvent):
3416         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3417         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
3418         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3419         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
3420         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3421         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
3422         * bindings/js/JSCustomVoidCallback.cpp:
3423         (WebCore::JSCustomVoidCallback::handleEvent):
3424         * bindings/js/JSCustomXPathNSResolver.cpp:
3425         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3426         * bindings/js/JSEventListener.cpp:
3427         (WebCore::JSAbstractEventListener::handleEvent):
3428         * bindings/js/ScheduledAction.cpp:
3429         (WebCore::ScheduledAction::execute):
3430         * bindings/js/ScriptController.cpp:
3431         (WebCore::ScriptController::evaluate):
3432         * bindings/objc/WebScriptObject.mm:
3433         (WebCore::addExceptionToConsole):
3434         * page/Console.cpp:
3435         (WebCore::Console::reportException):
3436         * page/Console.h:
3437
3438 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
3439
3440         Rubber stamped by Oliver.
3441
3442         Another attempt to fix the win build.
3443
3444         * svg/SVGAnimatedProperty.h:
3445
3446 2008-07-20  Alexey Proskuryakov  <ap@webkit.org>
3447
3448         Reviewed by David Kilzer.
3449
3450         Fix high CPU usage on testmyiphone.com.
3451
3452         - Made the logic for determining when to stop looking for meta charset more strainghtforward.
3453         Previously, this happened if a tag that's disallowed in HEAD was seen past the first 512
3454         bytes. Now, the algorithm bails out at the boundary if we are lo longer in HEAD (i.e, an
3455         offending tag was seen at any point before).
3456
3457         - The above change made one of our regression tests fail, because it had its <meta>
3458         declaration past the 512 byte boundary. Fixed it by raising the boundary to 1024 bytes.
3459
3460         - Made the algorithm bail out quickly if a comment that's not in HEAD crosses the boundary.
3461
3462         - Moved a check for XML content type out of the loop.
3463
3464         * loader/TextResourceDecoder.cpp:
3465         (WebCore::TextResourceDecoder::checkForHeadCharset): 
3466
3467 2008-07-20  Oliver Hunt  <oliver@apple.com>
3468
3469         Reviewed by NOBODY (build fix).
3470
3471         Attempt to fix windows build
3472
3473         * svg/SVGAnimatedProperty.h:
3474
3475 2008-07-19  Nikolas Zimmermann  <zimmermann@kde.org>
3476
3477         Reviewed by Oliver & parts by Eric.
3478
3479         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20051
3480
3481         Rewrite animated property concept without heavy macro usage, replace by a templatified solution.
3482         Fewer virtual function calls, no more usage of the tear-off's within internal code (synchronization needed it before.)
3483
3484         * dom/Element.cpp:
3485         (WebCore::Element::attributes):
3486         (WebCore::Element::getAttribute):
3487         (WebCore::Element::hasAttributes):
3488         * dom/Element.h:
3489         (WebCore::Element::updateAnimatedSVGAttribute): Take const String&, not StringImpl*.
3490         * svg/SVGAElement.cpp:
3491         (WebCore::SVGAElement::SVGAElement):
3492         * svg/SVGAElement.h:
3493         * svg/SVGAltGlyphElement.h:
3494         * svg/SVGAnimatedProperty.h: Added.
3495         * svg/SVGAnimatedTemplate.h:
3496         (WebCore::lookupOrCreateWrapper):
3497         * svg/SVGAnimationElement.h:
3498         * svg/SVGCircleElement.cpp:
3499         (WebCore::SVGCircleElement::SVGCircleElement):
3500         * svg/SVGCircleElement.h:
3501         * svg/SVGClipPathElement.cpp:
3502         (WebCore::SVGClipPathElement::SVGClipPathElement):
3503         * svg/SVGClipPathElement.h:
3504         * svg/SVGComponentTransferFunctionElement.cpp:
3505         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
3506         * svg/SVGComponentTransferFunctionElement.h:
3507         * svg/SVGCursorElement.cpp:
3508         (WebCore::SVGCursorElement::SVGCursorElement):
3509         * svg/SVGCursorElement.h:
3510         * svg/SVGDefsElement.h:
3511         (WebCore::SVGDefsElement::contextElement):
3512         * svg/SVGElement.cpp:
3513         (WebCore::SVGElement::updateAnimatedSVGAttribute):
3514         * svg/SVGElement.h:
3515         (WebCore::SVGElement::supplementalTransform):
3516         (WebCore::SVGElement::invokeSVGPropertySynchronizer):
3517         (WebCore::SVGElement::invokeAllSVGPropertySynchronizers):
3518         (WebCore::SVGElement::addSVGPropertySynchronizer):
3519         * svg/SVGEllipseElement.cpp:
3520         (WebCore::SVGEllipseElement::SVGEllipseElement):
3521         * svg/SVGEllipseElement.h:
3522         * svg/SVGExternalResourcesRequired.cpp:
3523         (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
3524         * svg/SVGExternalResourcesRequired.h:
3525         * svg/SVGFEBlendElement.cpp:
3526         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
3527         * svg/SVGFEBlendElement.h:
3528         * svg/SVGFEColorMatrixElement.cpp:
3529         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
3530         * svg/SVGFEColorMatrixElement.h:
3531         * svg/SVGFEComponentTransferElement.cpp:
3532         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
3533         * svg/SVGFEComponentTransferElement.h:
3534         * svg/SVGFECompositeElement.cpp:
3535         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
3536         * svg/SVGFECompositeElement.h:
3537         * svg/SVGFEDiffuseLightingElement.cpp:
3538         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
3539         * svg/SVGFEDiffuseLightingElement.h:
3540         * svg/SVGFEDisplacementMapElement.cpp:
3541         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
3542         * svg/SVGFEDisplacementMapElement.h:
3543         * svg/SVGFEFloodElement.h:
3544         * svg/SVGFEGaussianBlurElement.cpp:
3545         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
3546         * svg/SVGFEGaussianBlurElement.h:
3547         * svg/SVGFEImageElement.cpp:
3548         (WebCore::SVGFEImageElement::SVGFEImageElement):
3549         * svg/SVGFEImageElement.h:
3550         * svg/SVGFELightElement.cpp:
3551         (WebCore::SVGFELightElement::SVGFELightElement):
3552         * svg/SVGFELightElement.h:
3553         (WebCore::SVGFELightElement::contextElement):
3554         * svg/SVGFEMergeElement.h:
3555         * svg/SVGFEMergeNodeElement.cpp:
3556         (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
3557         * svg/SVGFEMergeNodeElement.h:
3558         * svg/SVGFEOffsetElement.cpp:
3559         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
3560         * svg/SVGFEOffsetElement.h:
3561         * svg/SVGFESpecularLightingElement.cpp:
3562         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
3563         * svg/SVGFESpecularLightingElement.h:
3564         * svg/SVGFETileElement.cpp:
3565         (WebCore::SVGFETileElement::SVGFETileElement):
3566         * svg/SVGFETileElement.h:
3567         * svg/SVGFETurbulenceElement.cpp:
3568         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
3569         * svg/SVGFETurbulenceElement.h:
3570         * svg/SVGFilterElement.cpp:
3571         (WebCore::SVGFilterElement::SVGFilterElement):
3572         * svg/SVGFilterElement.h:
3573         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3574         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
3575         * svg/SVGFilterPrimitiveStandardAttributes.h:
3576         * svg/SVGFitToViewBox.cpp:
3577         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
3578         * svg/SVGFitToViewBox.h:
3579         * svg/SVGFontElement.h:
3580         (WebCore::SVGFontElement::rendererIsNeeded):
3581         (WebCore::SVGFontElement::contextElement):
3582         * svg/SVGForeignObjectElement.cpp:
3583         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
3584         * svg/SVGForeignObjectElement.h:
3585         * svg/SVGGElement.h:
3586         * svg/SVGGradientElement.cpp:
3587         (WebCore::SVGGradientElement::SVGGradientElement):
3588         * svg/SVGGradientElement.h:
3589         (WebCore::SVGGradientElement::contextElement):
3590         * svg/SVGImageElement.cpp:
3591         (WebCore::SVGImageElement::SVGImageElement):
3592         * svg/SVGImageElement.h:
3593         * svg/SVGLineElement.cpp:
3594         (WebCore::SVGLineElement::SVGLineElement):
3595         * svg/SVGLineElement.h:
3596         * svg/SVGLinearGradientElement.cpp:
3597         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
3598         * svg/SVGLinearGradientElement.h:
3599         * svg/SVGMarkerElement.cpp:
3600         (WebCore::SVGMarkerElement::SVGMarkerElement):
3601         (WebCore::SVGMarkerElement::canvasResource):
3602         * svg/SVGMarkerElement.h:
3603         * svg/SVGMaskElement.cpp:
3604         (WebCore::SVGMaskElement::SVGMaskElement):
3605         * svg/SVGMaskElement.h:
3606         * svg/SVGPathElement.cpp:
3607         (WebCore::SVGPathElement::SVGPathElement):
3608         (WebCore::SVGPathElement::parseMappedAttribute):
3609         * svg/SVGPathElement.h:
3610         * svg/SVGPatternElement.cpp:
3611         (WebCore::SVGPatternElement::SVGPatternElement):
3612         * svg/SVGPatternElement.h:
3613         (WebCore::SVGPatternElement::contextElement):
3614         * svg/SVGPolyElement.h:
3615         * svg/SVGPreserveAspectRatio.cpp:
3616         * svg/SVGRadialGradientElement.cpp:
3617         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
3618         * svg/SVGRadialGradientElement.h:
3619         * svg/SVGRectElement.cpp:
3620         (WebCore::SVGRectElement::SVGRectElement):
3621         * svg/SVGRectElement.h:
3622         * svg/SVGSVGElement.cpp:
3623         (WebCore::SVGSVGElement::SVGSVGElement):
3624         * svg/SVGSVGElement.h:
3625         * svg/SVGScriptElement.cpp:
3626         * svg/SVGScriptElement.h:
3627         * svg/SVGStopElement.cpp:
3628         (WebCore::SVGStopElement::SVGStopElement):
3629         * svg/SVGStopElement.h:
3630         * svg/SVGStyledElement.cpp:
3631         (WebCore::SVGStyledElement::SVGStyledElement):
3632         * svg/SVGStyledElement.h:
3633         * svg/SVGStyledTransformableElement.cpp:
3634         (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
3635         * svg/SVGStyledTransformableElement.h:
3636         * svg/SVGSwitchElement.h:
3637         * svg/SVGSymbolElement.h:
3638         (WebCore::SVGSymbolElement::contextElement):
3639         * svg/SVGTRefElement.h:
3640         * svg/SVGTSpanElement.h:
3641         * svg/SVGTextContentElement.cpp:
3642         (WebCore::SVGTextContentElement::SVGTextContentElement):
3643         * svg/SVGTextContentElement.h:
3644         (WebCore::SVGTextContentElement::contextElement):
3645         * svg/SVGTextElement.cpp:
3646         (WebCore::SVGTextElement::SVGTextElement):
3647         * svg/SVGTextElement.h:
3648         * svg/SVGTextPathElement.cpp:
3649         (WebCore::SVGTextPathElement::SVGTextPathElement):
3650         * svg/SVGTextPathElement.h:
3651         * svg/SVGTextPositioningElement.cpp:
3652         (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
3653         * svg/SVGTextPositioningElement.h:
3654         * svg/SVGTransformable.h:
3655         * svg/SVGURIReference.cpp:
3656         (WebCore::SVGURIReference::SVGURIReference):
3657         * svg/SVGURIReference.h:
3658         * svg/SVGUseElement.cpp:
3659         (WebCore::SVGUseElement::SVGUseElement):
3660         * svg/SVGUseElement.h:
3661         * svg/SVGViewElement.h:
3662         * svg/SVGViewSpec.h:
3663
3664 2008-07-18  Maxime Britto  <britto@apple.com>
3665
3666         Reviewed by Adele.
3667         
3668         Fixed <rdar://problem/6049803>
3669         Prevent the autoscroll to trigger in WebClips when starting or hovering on an editable field.
3670
3671         Test: fast/events/autoscroll-with-non-scrollable-parent.html
3672
3673         * ChangeLog:
3674         * page/EventHandler.cpp: Edited
3675         (WebCore::EventHandler::handleMousePressEvent): changed the name of the funtion called to canBeProgramaticallyScrolled()
3676         (WebCore::EventHandler::handleMouseDraggedEvent): prevent the autoscroll to keep looking for a renderer when it's already triggered
3677         * rendering/RenderLayer.cpp:
3678         (WebCore::RenderLayer::scrollRectToVisible): verifies that the top layer can be programmatically scrolled before asking him to make the rect visible
3679         * rendering/RenderListBox.h:
3680         (WebCore::RenderListBox::canBeProgramaticallyScrolled):
3681         * rendering/RenderObject.cpp:
3682         (WebCore::RenderObject::canBeProgramaticallyScrolled): Edited : For the 3rd case we want document's renderer to have scrollbar as it's the top layer   
3683         (WebCore::RenderObject::hasScrollableView): Verifies that the Object has a view with scrollBars
3684         * rendering/RenderObject.h: Renamed shouldAutosroll() for canBeProgramaticallyScrolled()
3685         * rendering/RenderTextControl.h:
3686         (WebCore::RenderTextControl::canBeProgramaticallyScrolled):
3687
3688 2008-07-18  Sam Weinig  <sam@webkit.org>
3689
3690         Reviewed by Anders Carlsson.
3691
3692         <rdar://problem/6087283> Add support for uploading files via XMLHttpRequest
3693
3694         - Overload XMLHttpRequests send() method to accept File tokens.
3695
3696         * bindings/js/JSXMLHttpRequestCustom.cpp:
3697         (WebCore::JSXMLHttpRequest::send): 
3698         * xml/XMLHttpRequest.cpp:
3699         (WebCore::XMLHttpRequest::send):
3700         * xml/XMLHttpRequest.h:
3701
3702 2008-07-18  Geoffrey Garen  <ggaren@apple.com>
3703
3704         Reviewed by Cameron Zwarich.
3705         
3706         Three renames:
3707         
3708         "CallTypeNative" => "CallTypeHost"
3709         "code" => "byteCode"
3710         "generatedCode" => "generatedByteCode"
3711
3712 2008-07-18  Adele Peterson  <adele@apple.com>
3713
3714         Reviewed by Dan Bernstein.
3715
3716         I recently made a change to avoid fading media controls in and out if a video element actually only contains audio,
3717         which broke the code that did the same thing for audio elements that contain video (but don't actually display that video).
3718         This change will now check both the media element and the player to decide whether or not to make the controls persistent.
3719
3720         * rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControlVisibility):
3721
3722 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
3723
3724         Reviewed by mitz
3725
3726         Remove braces around single-line conditional.
3727         
3728         * css/CSSComputedStyleDeclaration.cpp:
3729         (WebCore::computedTransform):
3730
3731 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
3732
3733         Reviewed by Dave Hyatt
3734
3735         getComputedStyle() for -webkit-transform should return 
3736         'none' for elements with no renderer, or those with no
3737         transform.
3738
3739         https://bugs.webkit.org/show_bug.cgi?id=20008
3740
3741         Testcase: LayoutTests/fast/css/computed-style-without-renderer
3742                   LayoutTests/fast/css/computed-style-expected.txt
3743
3744         * css/CSSComputedStyleDeclaration.cpp:
3745         (WebCore::computedTransform):
3746
3747 2008-07-18  Simon Fraser  <simon.fraser@apple.com>
3748
3749         Reviewed by Dave Hyatt
3750
3751         Fix assertion about creating Length values with percentage types
3752         when blending transforms.
3753         https://bugs.webkit.org/show_bug.cgi?id=20086
3754
3755         * rendering/style/RenderStyle.cpp:
3756         (WebCore::TranslateTransformOperation::blend):
3757
3758 2008-07-17  Jacob Refstrup  <jacob.refstrup@hp.com>
3759
3760         Reviewed by rwlbuis@gmail.com
3761
3762         https://bugs.webkit.org/show_bug.cgi?id=19965
3763
3764         - Added "@"{ident} rule (below other @-rules) to use flex for longest match
3765           (if an earlier rule - e.g. @media - also matches then flex chooses that one
3766            however, if a longer match - e.g. @mediaall matches flex will choose that)
3767         - Updated grammar to defined ATKEYWORD token and to use that instead of '@'
3768           in the error recovery grammar. 
3769
3770         Test: css2.1/atrule_longest_match.html
3771
3772         * ChangeLog:
3773         * css/CSSGrammar.y:
3774         * css/tokenizer.flex:
3775
3776 2008-07-17  David Hyatt  <hyatt@apple.com>
3777
3778         Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
3779         recursive (and checks for transparency layers all the way up the ancestor document chain back to
3780         the top-level frame).
3781
3782         Reviewed by Dan
3783
3784         * rendering/RenderView.cpp:
3785         (WebCore::RenderView::paintBoxDecorations):
3786
3787 2008-07-16  Jon Honeycutt  <jhoneycutt@apple.com>
3788
3789         REGRESSION: Can't create windowless plug-in with Flash 9
3790         https://bugs.webkit.org/show_bug.cgi?id=20070
3791
3792         Reviewed by Mark Rowe.
3793
3794         * plugins/win/PluginPackageWin.cpp:
3795         (WebCore::PluginPackage::determineQuirks): Reverse argument order;
3796         PlatformModuleVersion constructor takes leastSig, mostSig.
3797
3798 2008-07-16  Eric Seidel  <eric@webkit.org>
3799
3800         Reviewed by mitz.
3801
3802         Attempt to make initializeATSUStyle human-readable by
3803         splitting it out into better-named static inline functions.
3804
3805         No functional changes, thus no tests.
3806
3807         * platform/graphics/mac/FontMac.mm:
3808         (WebCore::fontHasMirroringInfo):
3809         (WebCore::disableLigatures):
3810         (WebCore::initializeATSUStyle):
3811
3812 2008-07-16  Eric Seidel  <eric@webkit.org>
3813
3814         No review, build fix only.
3815
3816         Attempt to fix Mac build
3817
3818         * WebCore.xcodeproj/project.pbxproj: Make TextRun.h a private header.
3819
3820 2008-07-16  Eric Seidel  <eric@webkit.org>
3821
3822         Reviewed by mitz.
3823
3824         Make ATSULayoutParameters a real C++ class
3825         (Give it a destructor to clean up after itself)
3826         (Also use OwnArrayPtr instead of manual member cleanup)
3827
3828         * platform/graphics/mac/FontMac.mm:
3829         (WebCore::ATSULayoutParameters::ATSULayoutParameters):
3830         (WebCore::ATSULayoutParameters::~ATSULayoutParameters):
3831         (WebCore::overrideLayoutOperation):
3832         (WebCore::ATSULayoutParameters::initialize):
3833         (WebCore::Font::selectionRectForComplexText):
3834         (WebCore::Font::drawComplexText):
3835         (WebCore::Font::floatWidthForComplexText):
3836         (WebCore::Font::offsetForPositionForComplexText):
3837
3838 2008-07-16  Eric Seidel  <eric@webkit.org>
3839
3840         Reviewed by mitz.
3841
3842         Make ownership of copied UChar buffer clearer
3843         (and more leak-proof) by using a OwnArrayPtr.
3844
3845         No functional changes, thus no tests.
3846
3847         * platform/graphics/mac/FontMac.mm:
3848         (WebCore::copyRunForDirectionalOverrideIfNecessary):
3849         (WebCore::Font::selectionRectForComplexText):
3850         (WebCore::Font::drawComplexText):
3851         (WebCore::Font::offsetForPositionForComplexText):
3852
3853 2008-07-16  Eric Seidel  <eric@webkit.org>
3854
3855         Reviewed by Sam.
3856
3857         Split out TextRun into its own header file.
3858         Re-order members to place all bools together
3859         (to allow compilers to better pack the struct)
3860
3861         No functional changes, thus no tests.
3862
3863         * WebCore.vcproj/WebCore.vcproj:
3864         * WebCore.xcodeproj/project.pbxproj:
3865         * platform/graphics/Font.h: Moved TextRun into its own file.
3866         * platform/graphics/TextRun.h: Split out from Font.h
3867
3868 2008-07-16  Simon Fraser  <simon.fraser@apple.com>
3869
3870         Reviewed by Dave Hyatt
3871
3872         AnimationController needs to adjust z-index in the blended
3873         style in case opacity or transform were changed by blending.
3874
3875         https://bugs.webkit.org/show_bug.cgi?id=20047
3876         
3877         Test: transitions/opacity-transition-zindex.html
3878
3879         * page/AnimationController.cpp:
3880         (WebCore::AnimationController::updateImplicitAnimations):
3881
3882 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
3883
3884         Reviewed by Sam.
3885
3886         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20052 
3887         Prepare SVGAnimatedProperty introduction.
3888
3889         Export the tag & attribute names as string literals for SVGNames/XLinkNames and one property in HTMLNames. SVGAnimatedProperty
3890         contains two string literal template parameters, and we're using these exported string literals from {SVG,HTML,XLink}Names as input paramters.
3891         See https://bugs.webkit.org/show_bug.cgi?id=20051 for details.
3892
3893         * dom/make_names.pl: Handle new params "exportString" / "exportStrings".
3894         * html/HTMLAttributeNames.in: Expose just the single "class" attribute, as string.
3895         * svg/svgattrs.in: Export all SVG attributes as strings.
3896         * svg/svgtags.in: Export all SVG tags as strings.
3897         * svg/xlinkattrs.in: Expose all XLink attributes as strings.
3898
3899 2008-07-16  Nikolas Zimmermann  <zimmermann@kde.org>
3900
3901         Reviewed by Eric.
3902
3903         Fixes: https://bugs.webkit.org/show_bug.cgi?id=10745 (SVGLength object needs some weight loss)
3904         Don't store a context pointer in SVGLength, saving memory. Let the caller of the value() & convertToSpecifiedUnits() pass it.
3905
3906         Remove some uneeded contextElement() functions, by moving into approriate shared base classes.
3907
3908         * GNUmakefile.am:
3909         * WebCore.pro:
3910         * WebCore.vcproj/WebCore.vcproj:
3911         * WebCore.xcodeproj/project.pbxproj:
3912         * bindings/js/JSSVGLengthCustom.cpp: Added.
3913         (WebCore::JSSVGLength::value):
3914         (WebCore::JSSVGLength::convertToSpecifiedUnits):
3915         * bindings/scripts/CodeGeneratorObjC.pm:
3916         * css/CSSCursorImageValue.cpp:
3917         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
3918         * rendering/RenderForeignObject.cpp:
3919         (WebCore::RenderForeignObject::translationForAttributes):
3920         * rendering/RenderSVGImage.cpp:
3921         (WebCore::RenderSVGImage::layout):
3922         * rendering/RenderSVGRoot.cpp:
3923         (WebCore::RenderSVGRoot::calcViewport):
3924         * rendering/RenderSVGText.cpp:
3925         (WebCore::RenderSVGText::layout):
3926         * rendering/RenderSVGViewportContainer.cpp:
3927         (WebCore::RenderSVGViewportContainer::calcViewport):
3928         * rendering/SVGCharacterLayoutInfo.cpp:
3929         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
3930         (WebCore::SVGCharacterLayoutInfo::addStackContent):
3931         * rendering/SVGCharacterLayoutInfo.h:
3932         * rendering/SVGRootInlineBox.cpp:
3933         (WebCore::SVGRootInlineBox::buildTextChunks):
3934         * svg/SVGAnimateElement.h:
3935         * svg/SVGAnimateMotionElement.h:
3936         * svg/SVGAnimateTransformElement.h:
3937         * svg/SVGAnimationElement.h:
3938         (WebCore::SVGAnimationElement::contextElement):
3939         * svg/SVGCircleElement.cpp:
3940         (WebCore::SVGCircleElement::SVGCircleElement):
3941         (WebCore::SVGCircleElement::parseMappedAttribute):
3942         (WebCore::SVGCircleElement::toPathData):
3943         * svg/SVGCursorElement.cpp:
3944         (WebCore::SVGCursorElement::SVGCursorElement):
3945         (WebCore::SVGCursorElement::parseMappedAttribute):
3946         * svg/SVGEllipseElement.cpp:
3947         (WebCore::SVGEllipseElement::SVGEllipseElement):
3948         (WebCore::SVGEllipseElement::parseMappedAttribute):
3949         (WebCore::SVGEllipseElement::toPathData):
3950         * svg/SVGFilterElement.cpp:
3951         (WebCore::SVGFilterElement::SVGFilterElement):
3952         (WebCore::SVGFilterElement::parseMappedAttribute):
3953         (WebCore::SVGFilterElement::canvasResource):
3954         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3955         (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
3956         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
3957         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
3958         * svg/SVGForeignObjectElement.cpp:
3959         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
3960         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
3961         * svg/SVGImageElement.cpp:
3962         (WebCore::SVGImageElement::SVGImageElement):
3963         (WebCore::SVGImageElement::parseMappedAttribute):
3964         * svg/SVGLength.cpp:
3965         (WebCore::SVGLength::SVGLength):
3966         (WebCore::SVGLength::value):
3967         (WebCore::SVGLength::convertToSpecifiedUnits):
3968         (WebCore::SVGLength::PercentageOfViewport):
3969         * svg/SVGLength.h:
3970         * svg/SVGLength.idl:
3971         * svg/SVGLengthList.cpp:
3972         (WebCore::SVGLengthList::parse):
3973         * svg/SVGLengthList.h:
3974         * svg/SVGLineElement.cpp:
3975         (WebCore::SVGLineElement::SVGLineElement):
3976         (WebCore::SVGLineElement::parseMappedAttribute):
3977         (WebCore::SVGLineElement::toPathData):
3978         * svg/SVGLinearGradientElement.cpp:
3979         (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
3980         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
3981         * svg/SVGMarkerElement.cpp:
3982         (WebCore::SVGMarkerElement::SVGMarkerElement):
3983         (WebCore::SVGMarkerElement::parseMappedAttribute):
3984         (WebCore::SVGMarkerElement::canvasResource):
3985         * svg/SVGMaskElement.cpp:
3986         (WebCore::SVGMaskElement::SVGMaskElement):
3987         (WebCore::SVGMaskElement::parseMappedAttribute):
3988         (WebCore::SVGMaskElement::drawMaskerContent):
3989         * svg/SVGPatternElement.cpp:
3990         (WebCore::SVGPatternElement::SVGPatternElement):
3991         (WebCore::SVGPatternElement::parseMappedAttribute):
3992         (WebCore::SVGPatternElement::buildPattern):
3993         * svg/SVGRadialGradientElement.cpp:
3994         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
3995         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
3996         * svg/SVGRectElement.cpp:
3997         (WebCore::SVGRectElement::SVGRectElement):
3998         (WebCore::SVGRectElement::parseMappedAttribute):
3999         (WebCore::SVGRectElement::toPathData):
4000         * svg/SVGSVGElement.cpp:
4001         (WebCore::SVGSVGElement::SVGSVGElement):
4002         (WebCore::SVGSVGElement::viewport):
4003         (WebCore::SVGSVGElement::parseMappedAttribute):
4004         (WebCore::SVGSVGElement::getCTM):
4005         (WebCore::SVGSVGElement::getScreenCTM):
4006         * svg/SVGTextContentElement.cpp:
4007         (WebCore::SVGTextContentElement::SVGTextContentElement):
4008         (WebCore::SVGTextContentElement::parseMappedAttribute):
4009         * svg/SVGTextPathElement.cpp:
4010         (WebCore::SVGTextPathElement::SVGTextPathElement):
4011         (WebCore::SVGTextPathElement::parseMappedAttribute):
4012         * svg/SVGTextPositioningElement.cpp:
4013         (WebCore::SVGTextPositioningElement::parseMappedAttribute):
4014         * svg/SVGUseElement.cpp:
4015         (WebCore::SVGUseElement::SVGUseElement):
4016         (WebCore::SVGUseElement::parseMappedAttribute):
4017         (WebCore::SVGUseElement::buildPendingResource):
4018         (WebCore::SVGUseElement::buildInstanceTree):
4019         (WebCore::SVGUseElement::handleDeepUseReferencing):
4020         (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
4021         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
4022         (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
4023         * svg/SVGUseElement.h:
4024         * svg/SynchronizableTypeWrapper.h:
4025         * svg/graphics/SVGImage.cpp:
4026         (WebCore::SVGImage::size):
4027
4028 2008-07-16  Geoffrey Garen  <ggaren@apple.com>
4029
4030         Reviewed by Oliver Hunt.
4031
4032         Support for JavaScriptCore's first step toward putting doubles in
4033         registers: Treat ArgList iterators as Register*'s, not JSValue*'s.
4034
4035         * bindings/js/ScheduledAction.cpp:
4036         (WebCore::ScheduledAction::ScheduledAction):
4037
4038 2008-07-15  Maxime Britto  <britto@apple.com>
4039
4040         Reviewed by Eric.
4041
4042         https://bugs.webkit.org/show_bug.cgi?id=17589
4043         <rdar://problem/5770893>
4044         Retrieve the wheel sensitivity setting from windows system settings for the horizontal and the vertical scrolling.
4045         Allows the page scrolling with the wheel (if activated in windows settings) on both horizontal and vertical ways
4046         For the other platforms, nothing is changed but if someone want to activate this feature 
4047         he/she has to retrieve the settings and fill out the m_lineScrollSensitivity and/or m_charScrollSensitivity in his/her PlatformWheelEvent constructor.
4048
4049         * ChangeLog:
4050         * page/EventHandler.cpp:
4051         (WebCore::scrollAndAcceptEvent): static inline function to avoid copy/paste in the member functions
4052         (WebCore::EventHandler::handleWheelEvent): Call to the above mentionned static inline function with the right parameters 
4053         * platform/PlatformWheelEvent.h:
4054         (WebCore::PlatformWheelEvent::deltaX): Now returns the delta multiplied by the user settings for the number of lines to scroll
4055         (WebCore::PlatformWheelEvent::deltaY): Now returns the delta multiplied by the user settings for the number of chars to scroll
4056         (WebCore::PlatformWheelEvent::isPageXScrollModeEnabled):
4057         (WebCore::PlatformWheelEvent::isPageYScrollModeEnabled):
4058         * platform/gtk/WheelEventGtk.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
4059         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
4060         * platform/mac/WheelEventMac.mm: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
4061         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
4062         * platform/qt/WheelEventQt.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
4063         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
4064         * platform/win/ScrollViewWin.cpp: Added the page scroll (horiz/vertical) and reduced the number of pixels to scroll per line to keep the standard behavior with the factor
4065         (WebCore::adjustDeltaForPageScrollMode): static inline function to avoid copy/paste in the member functions
4066         (WebCore::ScrollView::updateScrollbars):
4067         (WebCore::ScrollView::wheelEvent):
4068         * platform/win/WheelEventWin.cpp: Retrieves the new values by using the win32 API.
4069         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
4070         * platform/wx/MouseWheelEventWx.cpp: Add the values to avoid build break but the factors are initialized to 1 not to change the previous behavior
4071         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
4072
4073 2008-07-15  Kevin Ollivier  <kevino@theolliviers.com>
4074
4075         wx build fix - adding AccessibilityImageMapLink.cpp to the wx build.
4076
4077         * WebCoreSources.bkl:
4078
4079 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
4080
4081         Reviewed by Dan.
4082
4083         <rdar://problem/5620273> REGRESSION: Apparent caching between form
4084         submits twice (on Maconomy) (18401)
4085
4086         Frames did not set the createdByParser flag even when they were.
4087
4088         * html/HTMLElementFactory.cpp:
4089         (WebCore::frameConstructor):
4090         (WebCore::iframeConstructor):
4091
4092 2008-07-15  Dan Bernstein  <mitz@apple.com>
4093
4094         Reviewed by Dave Hyatt.
4095
4096         - fix https://bugs.webkit.org/show_bug.cgi?id=19525
4097           <rdar://problem/5961768> -webkit-box-reflect in hyperlink causes webkit to crash
4098
4099         Test: fast/reflections/inline-crash.html
4100
4101         * rendering/RenderInline.cpp:
4102         (WebCore::RenderInline::setStyle): Added setHasReflection(false).
4103         Inline flows never have reflections.
4104
4105 2008-07-14  David Hyatt  <hyatt@apple.com>
4106
4107         Allow <style> and <link> pretty much anywhere.  They will still be moved to the <head> if
4108         no <body> exists yet though.
4109
4110         Reviewed by Sam
4111
4112         Added fast/css/style-parsed-outside-of-head.html
4113
4114         * html/HTMLElement.cpp:
4115         (WebCore::inlineTagList):
4116
4117 2008-07-15  Kevin McCullough  <kmccullough@apple.com>
4118
4119         Reviewed by Geoff.
4120
4121         Rename pageGroupIdentifier to profileGroup to keep mention of a
4122         pageGroup out of JavaScriptCore.
4123
4124         * bindings/js/JSQuarantinedObjectWrapper.cpp:
4125         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
4126         * bindings/js/ScriptController.cpp:
4127         (WebCore::ScriptController::clear):
4128         (WebCore::ScriptController::initScript):
4129         * history/CachedPage.cpp:
4130         (WebCore::CachedPage::restore):
4131
4132 2008-07-15  Adam Roben  <aroben@apple.com>
4133
4134         WebCore part of adding WebKit[Set]ShouldUseFontSmoothing functions
4135
4136         <rdar://6059127>
4137
4138         Reviewed by John Sullivan.
4139
4140         * platform/graphics/win/FontCGWin.cpp:
4141         (WebCore::Font::drawGlyphs): Pass the result of
4142         WebCoreShouldUseFontSmoothing() into wkSetFontSmoothingStyle.
4143         * platform/win/WebCoreTextRenderer.cpp:
4144         (WebCore::WebCoreSetShouldUseFontSmoothing):
4145         (WebCore::WebCoreShouldUseFontSmoothing):
4146         Added.
4147         * platform/win/WebCoreTextRenderer.h:
4148
4149 2008-07-15  Adam Roben  <aroben@apple.com>
4150
4151         Windows build fix
4152
4153         * WebCore.vcproj/WebCore.vcproj: Add AccessibilityImageMapLink.{cpp,h}
4154         to the project.
4155
4156 2008-07-15  Holger Hans Peter Freyther  <zecke@selfish.org>
4157
4158         Build fix for the Gtk+ and Qt platform.
4159
4160         * GNUmakefile.am: Add AccessibilityImageMapLink.cpp to the build
4161         * WebCore.pro: Add AccessibilityImageMapLink.cpp to the build
4162
4163 2008-07-14  Dan Bernstein  <mitz@apple.com>
4164
4165         - Tiger build fix
4166
4167         * platform/mac/WidgetMac.mm:
4168         (WebCore::Widget::paint):
4169
4170 2008-07-14  Dan Bernstein  <mitz@apple.com>
4171
4172         Reviewed by John Sullivan.
4173
4174         - WebCore part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
4175
4176         * platform/mac/WidgetMac.mm:
4177         (WebCore::Widget::paint): Changed to account for the case of drawing
4178         into a bitmap context that is not a window's backing store. In that
4179         case, -displayRectIgnoringOpacity:inContext: is used to redirect the
4180         drawing to the correct context, after setting up the right transform
4181         on it. For subframes, additional code ensures that the scroll view will
4182         not paint the background behind a transparent frame.
4183
4184 2008-07-14  chris fleizach  <cfleizach@apple.com>
4185
4186         Reviewed by Beth Dakin
4187
4188         <rdar://problem/6038106> AXChildren returned for this web area is null
4189         Accessibility of image maps needed to be updated
4190
4191         Tests: accessibility/image-map1.html
4192                accessibility/image-map2.html
4193
4194         * WebCore.xcodeproj/project.pbxproj:
4195         * page/AXObjectCache.cpp:
4196         (WebCore::AXObjectCache::get):
4197         * page/AccessibilityImageMapLink.cpp: Added.
4198         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
4199         (WebCore::AccessibilityImageMapLink::~AccessibilityImageMapLink):
4200         (WebCore::AccessibilityImageMapLink::create):
4201         (WebCore::AccessibilityImageMapLink::parentObject):
4202         (WebCore::AccessibilityImageMapLink::anchorElement):
4203         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
4204         (WebCore::AccessibilityImageMapLink::title):
4205         (WebCore::AccessibilityImageMapLink::elementRect):
4206         (WebCore::AccessibilityImageMapLink::size):
4207         * page/AccessibilityImageMapLink.h: Added.
4208         (WebCore::AccessibilityImageMapLink::setHTMLAreaElement):
4209         (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
4210         (WebCore::AccessibilityImageMapLink::roleValue):
4211         (WebCore::AccessibilityImageMapLink::accessibilityIsIgnored):
4212         (WebCore::AccessibilityImageMapLink::isLink):
4213         * page/AccessibilityListBoxOption.h:
4214         * page/AccessibilityObject.cpp:
4215         (WebCore::AccessibilityObject::selectedChildren):
4216         (WebCore::AccessibilityObject::visibleChildren):
4217         * page/AccessibilityObject.h:
4218         (WebCore::):
4219         * page/AccessibilityRenderObject.cpp:
4220         (WebCore::AccessibilityRenderObject::parentObject):
4221         (WebCore::AccessibilityRenderObject::isAnchor):
4222         (WebCore::AccessibilityRenderObject::anchorElement):
4223         (WebCore::AccessibilityRenderObject::helpText):
4224         (WebCore::AccessibilityRenderObject::intValue):