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