2008-10-27 Anders Carlsson <andersca@apple.com>
[webkit/qt.git] / WebCore / ChangeLog
blobe2fb21e73f7e798f303b59bc2125d4119f1e083a
1 2008-10-27  Anders Carlsson  <andersca@apple.com>
3         Reviewed by Kevin Decker.
5         <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
6         
7         Make sure to null check the NSURLConnection object.
8         
9         * platform/network/mac/ResourceHandleMac.mm:
10         (WebCore::ResourceHandle::start):
11         (WebCore::ResourceHandle::setDefersLoading):
13 2008-10-27  Alexey Proskuryakov  <ap@webkit.org>
15         Fix non-Mac builds.
17         * GNUmakefile.am:
18         * WebCore.pro:
19         * WebCore.vcproj/WebCore.vcproj:
20         * WebCoreSources.bkl:
21         Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
23 2008-10-26  Alexey Proskuryakov  <ap@webkit.org>
25         Reviewed by Sam Weinig.
27         https://bugs.webkit.org/show_bug.cgi?id=21886
28         window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
30         Test: fast/dom/HTMLOptionElement/option-prototype.html
32         We now have separate objects for window.Option and window.HTMLOptionElement - the latter
33         "constructor" cannot be used to construct anything. This matches Firefox behavior.
35         * WebCore.xcodeproj/project.pbxproj:
36         * bindings/js/JSDOMWindowBase.cpp:
37         (jsDOMWindowBaseOption):
38         * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
39         * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
40         * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
41         * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
42         * html/HTMLOptionElement.idl:
43         Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
45         * html/HTMLOptionElement.idl: Generate a constructor.
47 2008-10-25  Geoffrey Garen  <ggaren@apple.com>
49         Not reviewed.
50         
51         Try to fix Mac debug build on the buildbot.
53         * platform/FileChooser.cpp:
54         (WebCore::FileChooserClient::~FileChooserClient):
55         * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
56         weak exported symbol.
58 2008-10-25  Jade Han  <jade.han@nokia.com>
60         Reviewed by Anders.
62         Enable custom properties for Qt runtime objects in QtWebKit
64         https://bugs.webkit.org/show_bug.cgi?id=21813
66         * bridge/runtime_object.cpp:
67         (JSC::RuntimeObjectImp::getOwnPropertySlot):
68         (JSC::RuntimeObjectImp::put):
70 2008-10-24  Sam Weinig  <sam@webkit.org>
72         Fix windows build.
74         * page/Chrome.cpp:
75         * page/Chrome.h:
77 2008-10-24  Sam Weinig  <sam@webkit.org>
79         Fix Qt build.
81         * platform/qt/FileChooserQt.cpp:
83 2008-10-24  Sam Weinig  <sam@webkit.org>
85         Reviewed by Dan Bernstein.
87         Fix https://bugs.webkit.org/show_bug.cgi?id=21759
88         Layering violation: FileChooser should not depend on Document/Frame/Page
90         Move file choosing into WebKit ChromeClient.
92         * loader/EmptyClients.h:
93         (WebCore::EmptyChromeClient::runOpenPanel):
94         * page/Chrome.cpp:
95         (WebCore::Chrome::runOpenPanel):
96         * page/Chrome.h:
97         * page/ChromeClient.h:
98         * page/mac/ChromeMac.mm:
99         * platform/FileChooser.h:
100         * platform/mac/FileChooserMac.mm:
101         * platform/qt/FileChooserQt.cpp:
102         * platform/win/FileChooserWin.cpp:
103         * platform/wx/TemporaryLinkStubs.cpp:
104         * rendering/RenderFileUploadControl.cpp:
105         (WebCore::RenderFileUploadControl::click):
107 2008-10-24  Kevin Ollivier  <kevino@theolliviers.com>
109         wx build fix - add newIconForFiles stub.
111         * platform/wx/TemporaryLinkStubs.cpp:
112         (Icon::newIconForFiles):
114 2008-10-24  Kevin Watters  <kevinwatters@gmail.com>
116         Reviewed by Kevin Ollivier.
118         Use the CGFont metrics APIs for more accurate measurements, and tweak the y
119         value the text is drawn at (it was a couple pixels off before because wx
120         internally adds to the y value.
122         https://bugs.webkit.org/show_bug.cgi?id=21853
124         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
125         (wxFontProperties::wxFontProperties):
126         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
127         (WebCore::drawTextWithSpacing):
129 2008-10-24  Eric Seidel  <eric@webkit.org>
131         Reviewed by Sam Weinig.
133         Generate missing constructors and add test to prevent missing ones in the future
134         https://bugs.webkit.org/show_bug.cgi?id=21846
136         Test: fast/js/global-constructors.html
138         * css/CSSStyleSheet.idl:
139         * css/RGBColor.idl:
140         * dom/NodeIterator.idl:
141         * dom/TreeWalker.idl:
142         * xml/XPathExpression.idl:
144 2008-10-24  Alexey Proskuryakov  <ap@webkit.org>
146         Reviewed by Darin Adler.
148         https://bugs.webkit.org/show_bug.cgi?id=21836
149         REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
151         Test: http/tests/xmlhttprequest/detaching-frame.html
153         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
154         even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
155         when dispatching the same callback that results in this function being called.
157 2008-10-24  David Kilzer  <ddkilzer@apple.com>
159         Gtk build fix.
161         * platform/gtk/TemporaryLinkStubs.cpp:
162         (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
164 2008-10-24  Mark Rowe  <mrowe@apple.com>
166         Reviewed by Sam Weinig.
168         <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
170         * platform/graphics/cg/GraphicsContextCG.cpp:
171         (WebCore::GraphicsContext::setImageInterpolationQuality):
172         (WebCore::GraphicsContext::imageInterpolationQuality):
174 2008-10-24  Anders Carlsson  <andersca@apple.com>
176         Reviewed by Sam Weinig.
178         <rdar://problem/5440917> Support NPN_Construct
179                 
180         * WebCore.NPAPI.exp:
181         Export _NPN_Construct.
182         
183         * bridge/NP_jsobject.cpp:
184         (_NPN_Construct):
185         Implement this.
186         
187         * bridge/c/c_instance.cpp:
188         (JSC::Bindings::CInstance::supportsConstruct):
189         (JSC::Bindings::CInstance::invokeConstruct):
190         Have this call the appropriate NPClass method.
191         
192         * bridge/npruntime.h:
193         Add NPN_Construct.
195         * bridge/npruntime_impl.h:
196         Add _NPN_Construct.
197         
198         * bridge/runtime.h:
199         (JSC::Bindings::Instance::supportsConstruct):
200         (JSC::Bindings::Instance::invokeConstruct):
201         New methods.
202         
203         * bridge/runtime_object.cpp:
204         (JSC::callRuntimeConstructor):
205         Call the native instance.
206         
207         (JSC::RuntimeObjectImp::getConstructData):
208         Implement this.
209         
210         * bridge/runtime_object.h:
211         Add new method declarations.
212         
213         * plugins/gtk/PluginPackageGtk.cpp:
214         (WebCore::PluginPackage::load):
215         * plugins/qt/PluginPackageQt.cpp:
216         (WebCore::PluginPackage::load):
217         * plugins/win/PluginPackageWin.cpp:
218         (WebCore::PluginPackage::load):
219         Initialize m_pluginFuncs.construct.
221 2008-10-24  Adele Peterson  <adele@apple.com>
223         Build fix.
225         * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
226         * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
228 2008-10-24  Greg Bolsinga  <bolsinga@apple.com>
230         Fix GTK build break.
232         Reviewed by David Kilzer.
234         * GNUmakefile.am: Do not include .idl files whose generated files should not be
235         compiled.
237 2008-10-24  David Kilzer  <ddkilzer@apple.com>
239         Wx build fix.
241         * platform/wx/TemporaryLinkStubs.cpp:
242         (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
244 2008-10-24  Adele Peterson  <adele@apple.com>
246         Reviewed by Sam Weinig.
248         WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
250         This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
251         This is consistent with the direction HTML5 will be going in the future.
253         The initial implementation here will show "n files" as the text next to the control when multiple files are selected.  You can view
254         the individual files in a tooltip for now.  Improvements to this control will come later.  
256         Web developers will be able to access the FileList from the HTMLInputElement element, where they can get a base name and a size for each file.  
257         These FileList Files can also be sent in an XMLHTTPRequest.
259         * manual-tests/post-multi-file-upload.html: Added.
260         * manual-tests/resources/multiFileResources: Added.
261         * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
262         * manual-tests/resources/multiFileResources/testFile1.html: Added.
263         * manual-tests/resources/multiFileResources/testFile2.html: Added.
264         * manual-tests/resources/multiFileResources/testFile3.html: Added.
266         * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
268         * html/HTMLInputElement.cpp:
269         (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
270         (WebCore::HTMLInputElement::value): Added comments.  The HTML5 spec says that value shouldn't apply for the file upload control,
271         but we don't want to break the behavior for existing websites that may rely on this.
272         (WebCore::HTMLInputElement::setValue): ditto.
273         (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
274         (WebCore::HTMLInputElement::setFileListFromRenderer): Added. 
275         * html/HTMLInputElement.h:
277         * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
279         * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
281         * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
282         (WebCore::FileChooser::FileChooser):
283         (WebCore::FileChooser::create):
284         (WebCore::FileChooser::clear):
285         (WebCore::FileChooser::chooseFile):
286         (WebCore::FileChooser::chooseFiles):
287         (WebCore::FileChooser::chooseIcon):
288         * platform/FileChooser.h:
289         (WebCore::FileChooser::filePaths):
290         (WebCore::FileChooser::allowsMultipleFiles):
292         * platform/graphics/Icon.h:
293         * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
294         * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
295         * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
296         * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
298         * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):  Updated to deal with new filenames vector.
299         * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
300         * platform/qt/FileChooserQt.cpp:
301         (WebCore::FileChooser::openFileChooser):
302         (WebCore::FileChooser::basenameForWidth):
303         * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
305         * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
306         Removed unnecessary assertion.  This can get hit when connectionDidFinishLoading and cancel
307         both get called for the same ResourceHandle.  This getting called twice has no negative effect.
309         * rendering/RenderFileUploadControl.cpp:
310         (WebCore::RenderFileUploadControl::valueChanged):  Calls setFileListFromRenderer.
311         (WebCore::RenderFileUploadControl::allowsMultipleFiles):  Added.
312         (WebCore::RenderFileUploadControl::updateFromElement):  Uses the new filenames call from FileChooser.
313         (WebCore::RenderFileUploadControl::receiveDroppedFiles):  Updated to support multiple files.
314         * rendering/RenderFileUploadControl.h:
316 2008-10-23  Peter Kasting  <pkasting@google.com>
318         Reviewed by David Hyatt.
320         https://bugs.webkit.org/show_bug.cgi?id=21844
321         Remove setFocusRingColorChangeFunction.
323         * page/Page.cpp:
324         (WebCore::Page::Page):
325         * platform/graphics/Color.h:
326         * platform/graphics/mac/ColorMac.mm:
327         (WebCore::focusRingColor):
328         * platform/graphics/qt/GraphicsContextQt.cpp:
329         * platform/graphics/win/ColorSafari.cpp:
331 2008-10-24  David Kilzer  <ddkilzer@apple.com>
333         Build fix for Qt.
335         Reviewed by Greg.
337         * WebCore.pro: Added missing *.idl files.
339 2008-10-24  Greg Bolsinga  <bolsinga@apple.com>
341         Reviewed by Sam Weinig.
343         https://bugs.webkit.org/show_bug.cgi?id=21475
344         
345         Provide support for the Geolocation API
346         
347         http://dev.w3.org/geo/api/spec-source.html
349         Test: geolocation/geolocation-not-implemented.html
351         * DerivedSources.make:
352         * GNUmakefile.am: Added Geolocation support
353         * WebCore.pro: Added Geolocation support
354         * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
355         * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
356         * WebCoreSources.bkl: Added Geolocation support
357         * bindings/js/JSCustomPositionCallback.cpp: Added.
358         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
359         (WebCore::JSCustomPositionCallback::handleEvent):
360         * bindings/js/JSCustomPositionCallback.h: Added.
361         (WebCore::JSCustomPositionCallback::create):
362         * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
363         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
364         (WebCore::JSCustomPositionErrorCallback::handleEvent):
365         * bindings/js/JSCustomPositionErrorCallback.h: Added.
366         (WebCore::JSCustomPositionErrorCallback::create):
367         * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
368         (WebCore::markDOMObjectWrapper):
369         * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
370         * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
371         * bindings/js/JSGeolocationCustom.cpp: Added.
372         (WebCore::JSGeolocation::getCurrentPosition):
373         (WebCore::JSGeolocation::watchPosition):
374         * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
375         (WebCore::JSNavigator::mark):
376         * dom/Document.cpp:
377         (WebCore::Document::Document):
378         * dom/Document.h:
379         (WebCore::Document::setUsingGeolocation):
380         (WebCore::Document::usingGeolocation):
381         * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
382         (WebCore::FrameLoader::canCachePage):
383         * page/Geolocation.cpp: Added.
384         (WebCore::Geolocation::GeoNotifier::GeoNotifier):
385         (WebCore::Geolocation::GeoNotifier::timerFired):
386         (WebCore::Geolocation::Geolocation):
387         (WebCore::Geolocation::disconnectFrame):
388         (WebCore::Geolocation::getCurrentPosition):
389         (WebCore::Geolocation::watchPosition):
390         (WebCore::Geolocation::clearWatch):
391         (WebCore::Geolocation::stopUpdatingIfEmpty):
392         (WebCore::Geolocation::sendErrorToOneShots):
393         (WebCore::Geolocation::sendErrorToWatchers):
394         (WebCore::Geolocation::sendPositionToOneShots):
395         (WebCore::Geolocation::sendPositionToWatchers):
396         (WebCore::Geolocation::handleError):
397         (WebCore::Geolocation::geolocationServicePositionChanged):
398         (WebCore::Geolocation::geolocationServiceErrorOccurred):
399         * page/Geolocation.h: Added.
400         (WebCore::Geolocation::create):
401         (WebCore::Geolocation::~Geolocation):
402         (WebCore::Geolocation::lastPosition):
403         (WebCore::Geolocation::GeoNotifier::create):
404         * page/Geolocation.idl: Added.
405         * page/Geoposition.cpp: Added.
406         (WebCore::Geoposition::toString):
407         * page/Geoposition.h: Added.
408         (WebCore::Geoposition::create):
409         (WebCore::Geoposition::latitude):
410         (WebCore::Geoposition::longitude):
411         (WebCore::Geoposition::altitude):
412         (WebCore::Geoposition::accuracy):
413         (WebCore::Geoposition::altitudeAccuracy):
414         (WebCore::Geoposition::heading):
415         (WebCore::Geoposition::velocity):
416         (WebCore::Geoposition::timestamp):
417         (WebCore::Geoposition::Geoposition):
418         * page/Geoposition.idl: Added.
419         * page/Navigator.cpp:
420         (WebCore::Navigator::disconnectFrame): disconnect Geolocation
421         (WebCore::Navigator::geolocation): accessor for Geolocation
422         * page/Navigator.h:
423         (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
424         * page/Navigator.idl: accessor for Geolocation
425         * page/PositionCallback.h: Added.
426         (WebCore::PositionCallback::~PositionCallback):
427         * page/PositionCallback.idl: Added.
428         * page/PositionError.h: Added.
429         (WebCore::PositionError::):
430         (WebCore::PositionError::create):
431         (WebCore::PositionError::code):
432         (WebCore::PositionError::message):
433         (WebCore::PositionError::PositionError):
434         * page/PositionError.idl: Added.
435         * page/PositionErrorCallback.h: Added.
436         (WebCore::PositionErrorCallback::~PositionErrorCallback):
437         * page/PositionErrorCallback.idl: Added.
438         * page/PositionOptions.h: Added.
439         (WebCore::PositionOptions::create):
440         (WebCore::PositionOptions::enableHighAccuracy):
441         (WebCore::PositionOptions::setEnableHighAccuracy):
442         (WebCore::PositionOptions::timeout):
443         (WebCore::PositionOptions::setTimeout):
444         (WebCore::PositionOptions::PositionOptions):
445         * page/PositionOptions.idl: Added.
446         * platform/GeolocationService.cpp: Added.
447         (WebCore::GeolocationService::GeolocationService):
448         (WebCore::GeolocationService::positionChanged):
449         (WebCore::GeolocationService::errorOccurred):
450         * platform/GeolocationService.h: Added.
451         (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
452         (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
453         (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
454         (WebCore::GeolocationService::~GeolocationService):
456 2008-10-24  Simon Fraser  <simon.fraser@apple.com>
458         Reviewed by Darin Adler
460         https://bugs.webkit.org/show_bug.cgi?id=21818
461         
462         Add HashTraits for AtomicString so that AtomicString can be used as
463         the key for a HashMap or HashSet.
465         * GNUmakefile.am: add AtomicStringHash.h
466         * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
467         * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
468         * platform/text/AtomicString.h:
469         (WebCore::AtomicString::AtomicString):
470         (WebCore::AtomicString::isHashTableDeletedValue):
471             specialize DefaultHash for AtomicString to use AtomicStringHash
472         * platform/text/AtomicStringHash.h: Added.
473         * platform/text/StringImpl.cpp:
474         (WebCore::StringImpl::StringImpl):
475             compute the hash up-front for the empty string
476         * platform/text/StringImpl.h:
477         (WebCore::StringImpl::existingHash):
478             method to get the hash without a test and branch, for callers like
479             AtomicStringHash who can guarantee that the hash has already been computed.
481 2008-10-24  Simon Fraser  <simon.fraser@apple.com>
483         Reviewed by Sam Weinig
485         https://bugs.webkit.org/show_bug.cgi?id=21857
487         Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
488         switch in _wrapCSSRule.
489         
490         * bindings/objc/DOMCSS.mm:
491         (+[DOMCSSRule _wrapCSSRule:WebCore::]):
493 2008-10-24  Adam Roben  <aroben@apple.com>
495         Windows build fix
497         * plugins/PluginView.cpp:
499 2008-10-24  Dan Bernstein  <mitz@apple.com>
501         Reviewed by Sam Weinig.
503         - fix https://bugs.webkit.org/show_bug.cgi?id=21851
504           <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
506         Test: fast/replaced/percent-height-in-anonymous-block-widget.html
508         * rendering/RenderWidget.cpp:
509         (WebCore::RenderWidget::destroy): Copied code added to
510         RenderBox::destroy() in r36513 into this function.
512 2008-10-24  Timothy Hatcher  <timothy@apple.com>
514         Add a mechanism to ask the InspectorClient for key/value setting pairs.
515         These settings can be strings, numbers, booleans or string vectors. The
516         settings are also bridged to and from JavaScript.
518         https://bugs.webkit.org/show_bug.cgi?id=21856
520         Reviewed by Darin Adler.
522         * WebCore.base.exp: Expose the String CFStringRef constructor.
523         * inspector/InspectorClient.h:
524         (WebCore::InspectorClient::populateSetting): Added, pure virtual.
525         (WebCore::InspectorClient::storeSetting): Ditto.
526         (WebCore::InspectorClient::removeSetting): Ditto.
527         * inspector/InspectorController.cpp:
528         (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
529         (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
530         (WebCore::InspectorController::InspectorController): Increment a global static
531         to track the number of live InspectorControllers.
532         (WebCore::InspectorController::~InspectorController): Decrement the global static
533         that tracks the number of live InspectorControllers. Delete the setting cache if there
534         are no more live controllers.
535         (WebCore::InspectorController::setting): Check the cache and return the setting from there,
536         otherwise make a new Setting and ask the client to populate it.
537         (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
538         (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
539         to the InspectorController script class.
540         * inspector/InspectorController.h:
541         (WebCore::InspectorController::Setting::Setting):
542         (WebCore::InspectorController::Setting::operator=):
543         (WebCore::InspectorController::Setting::type): Return m_type.
544         (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
545         (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
546         Assert the type is correct.
547         (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
548         Assert the type is correct.
549         (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
550         Assert the type is correct.
551         (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
552         Assert the type is correct.
553         (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
554         field and the type.
555         * loader/EmptyClients.h:
556         (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
557         (WebCore::EmptyInspectorClient::storeSetting): Ditto.
558         (WebCore::EmptyInspectorClient::removeSetting): Ditto.
560 2008-10-24  Cameron Zwarich  <zwarich@apple.com>
562         Reviewed by Sam Weinig.
564         Remove some C-style casts.
566         * html/HTMLViewSourceDocument.cpp:
567         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
569 2008-10-24  Darin Adler  <darin@apple.com>
571         - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
573         * bindings/js/JSAttrCustom.cpp:
574         * bindings/js/JSCSSRuleCustom.cpp:
575         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
576         * bindings/js/JSCSSValueCustom.cpp:
577         * bindings/js/JSCanvasPixelArrayCustom.h:
578         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
579         * bindings/js/JSClipboardCustom.cpp:
580         * bindings/js/JSConsoleCustom.cpp:
581         * bindings/js/JSCustomSQLStatementCallback.cpp:
582         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
583         * bindings/js/JSCustomSQLTransactionCallback.cpp:
584         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
585         * bindings/js/JSCustomVoidCallback.cpp:
586         * bindings/js/JSCustomVoidCallback.h:
587         * bindings/js/JSCustomXPathNSResolver.cpp:
588         * bindings/js/JSCustomXPathNSResolver.h:
589         * bindings/js/JSDOMApplicationCacheCustom.cpp:
590         * bindings/js/JSDOMBinding.cpp:
591         * bindings/js/JSDOMBinding.h:
592         * bindings/js/JSDOMWindowBase.cpp:
593         * bindings/js/JSDOMWindowBase.h:
594         * bindings/js/JSDOMWindowCustom.cpp:
595         * bindings/js/JSDOMWindowCustom.h:
596         * bindings/js/JSDOMWindowShell.cpp:
597         * bindings/js/JSDOMWindowShell.h:
598         * bindings/js/JSDatabaseCustom.cpp:
599         * bindings/js/JSDedicatedWorkerCustom.cpp:
600         * bindings/js/JSDocumentCustom.cpp:
601         * bindings/js/JSElementCustom.cpp:
602         * bindings/js/JSEventCustom.cpp:
603         * bindings/js/JSEventListener.cpp:
604         * bindings/js/JSEventTarget.cpp:
605         * bindings/js/JSEventTarget.h:
606         * bindings/js/JSEventTargetBase.h:
607         * bindings/js/JSEventTargetNodeCustom.cpp:
608         * bindings/js/JSHTMLAllCollection.h:
609         * bindings/js/JSHTMLAppletElementCustom.cpp:
610         * bindings/js/JSHTMLCollectionCustom.cpp:
611         * bindings/js/JSHTMLDocumentCustom.cpp:
612         * bindings/js/JSHTMLEmbedElementCustom.cpp:
613         * bindings/js/JSHTMLFormElementCustom.cpp:
614         * bindings/js/JSHTMLFrameElementCustom.cpp:
615         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
616         * bindings/js/JSHTMLIFrameElementCustom.cpp:
617         * bindings/js/JSHTMLInputElementCustom.cpp:
618         * bindings/js/JSHTMLObjectElementCustom.cpp:
619         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
620         * bindings/js/JSHTMLSelectElementCustom.cpp:
621         * bindings/js/JSHTMLSelectElementCustom.h:
622         * bindings/js/JSHistoryCustom.cpp:
623         * bindings/js/JSImageDataCustom.cpp:
624         * bindings/js/JSInspectedObjectWrapper.cpp:
625         * bindings/js/JSInspectedObjectWrapper.h:
626         * bindings/js/JSInspectorCallbackWrapper.cpp:
627         * bindings/js/JSInspectorCallbackWrapper.h:
628         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
629         * bindings/js/JSLocationCustom.cpp:
630         * bindings/js/JSMessagePortCustom.cpp:
631         * bindings/js/JSMimeTypeArrayCustom.cpp:
632         * bindings/js/JSNamedNodeMapCustom.cpp:
633         * bindings/js/JSNamedNodesCollection.cpp:
634         * bindings/js/JSNamedNodesCollection.h:
635         * bindings/js/JSNavigatorCustom.cpp:
636         * bindings/js/JSNodeCustom.cpp:
637         * bindings/js/JSNodeFilterCondition.cpp:
638         * bindings/js/JSNodeFilterCondition.h:
639         * bindings/js/JSNodeFilterCustom.cpp:
640         * bindings/js/JSNodeIteratorCustom.cpp:
641         * bindings/js/JSNodeListCustom.cpp:
642         * bindings/js/JSPluginArrayCustom.cpp:
643         * bindings/js/JSPluginCustom.cpp:
644         * bindings/js/JSPluginElementFunctions.cpp:
645         * bindings/js/JSPluginElementFunctions.h:
646         * bindings/js/JSQuarantinedObjectWrapper.cpp:
647         * bindings/js/JSQuarantinedObjectWrapper.h:
648         * bindings/js/JSRGBColor.cpp:
649         * bindings/js/JSRGBColor.h:
650         * bindings/js/JSSQLResultSetRowListCustom.cpp:
651         * bindings/js/JSSQLTransactionCustom.cpp:
652         * bindings/js/JSSVGElementInstanceCustom.cpp:
653         * bindings/js/JSSVGLengthCustom.cpp:
654         * bindings/js/JSSVGMatrixCustom.cpp:
655         * bindings/js/JSSVGPathSegCustom.cpp:
656         * bindings/js/JSSVGPathSegListCustom.cpp:
657         * bindings/js/JSSVGPointListCustom.cpp:
658         * bindings/js/JSSVGTransformListCustom.cpp:
659         * bindings/js/JSStorageCustom.cpp:
660         * bindings/js/JSStyleSheetCustom.cpp:
661         * bindings/js/JSStyleSheetListCustom.cpp:
662         * bindings/js/JSTextCustom.cpp:
663         * bindings/js/JSTreeWalkerCustom.cpp:
664         * bindings/js/JSXMLHttpRequestCustom.cpp:
665         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
666         * bindings/js/JSXSLTProcessorCustom.cpp:
667         * bindings/js/ScheduledAction.cpp:
668         * bindings/js/ScheduledAction.h:
669         * bindings/js/ScriptController.cpp:
670         * bindings/js/ScriptController.h:
671         * bindings/objc/WebScriptObject.mm:
672         * bindings/objc/WebScriptObjectPrivate.h:
673         * bindings/scripts/CodeGeneratorJS.pm:
674         * bridge/NP_jsobject.cpp:
675         * bridge/c/c_instance.cpp:
676         * bridge/c/c_instance.h:
677         * bridge/c/c_runtime.cpp:
678         * bridge/c/c_runtime.h:
679         * bridge/c/c_utility.cpp:
680         * bridge/c/c_utility.h:
681         * bridge/jni/jni_instance.cpp:
682         * bridge/jni/jni_instance.h:
683         * bridge/jni/jni_jsobject.h:
684         * bridge/jni/jni_jsobject.mm:
685         * bridge/jni/jni_objc.mm:
686         * bridge/jni/jni_runtime.cpp:
687         * bridge/jni/jni_runtime.h:
688         * bridge/jni/jni_utility.cpp:
689         * bridge/jni/jni_utility.h:
690         * bridge/objc/WebScriptObject.h:
691         * bridge/objc/objc_class.h:
692         * bridge/objc/objc_class.mm:
693         * bridge/objc/objc_instance.h:
694         * bridge/objc/objc_instance.mm:
695         * bridge/objc/objc_runtime.h:
696         * bridge/objc/objc_runtime.mm:
697         * bridge/objc/objc_utility.h:
698         * bridge/objc/objc_utility.mm:
699         * bridge/qt/qt_class.cpp:
700         * bridge/qt/qt_class.h:
701         * bridge/qt/qt_instance.cpp:
702         * bridge/qt/qt_instance.h:
703         * bridge/qt/qt_runtime.cpp:
704         * bridge/qt/qt_runtime.h:
705         * bridge/runtime.cpp:
706         * bridge/runtime.h:
707         * bridge/runtime_array.cpp:
708         * bridge/runtime_array.h:
709         * bridge/runtime_method.cpp:
710         * bridge/runtime_method.h:
711         * bridge/runtime_object.cpp:
712         * bridge/runtime_object.h:
713         * bridge/testqtbindings.cpp:
714         * inspector/JavaScriptCallFrame.cpp:
715         * inspector/JavaScriptCallFrame.h:
716         * inspector/JavaScriptProfile.cpp:
717         * inspector/JavaScriptProfile.h:
718         * inspector/JavaScriptProfileNode.cpp:
719         * inspector/JavaScriptProfileNode.h:
720         * loader/FrameLoader.cpp:
721         * loader/FrameLoader.h:
722         * page/Console.cpp:
723         * page/Console.h:
724         * plugins/MimeTypeArray.h:
725         * plugins/Plugin.h:
726         * plugins/PluginArray.h:
727         * plugins/PluginView.cpp:
728         * xml/XMLHttpRequest.cpp:
729         Use JSValue* instead of JSValuePtr.
731 2008-10-24  Simon Hausmann  <hausmann@webkit.org>
733         Fix the Qt build.
735         * bridge/qt/qt_instance.cpp:
736         (JSC::Bindings::QtField::valueFromInstance):
738 2008-10-24  David Kilzer  <ddkilzer@apple.com>
740         Rolled out r37840 and r37841.
742         * DerivedSources.make:
743         * GNUmakefile.am:
744         * WebCore.pro:
745         * WebCore.vcproj/WebCore.vcproj:
746         * WebCore.xcodeproj/project.pbxproj:
747         * WebCoreSources.bkl:
748         * bindings/js/JSCustomPositionCallback.cpp: Removed.
749         * bindings/js/JSCustomPositionCallback.h: Removed.
750         * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
751         * bindings/js/JSCustomPositionErrorCallback.h: Removed.
752         * bindings/js/JSDOMBinding.cpp:
753         * bindings/js/JSDOMBinding.h:
754         * bindings/js/JSDOMWindowCustom.cpp:
755         (WebCore::markDOMObjectWrapper):
756         * bindings/js/JSGeolocationCustom.cpp: Removed.
757         * bindings/js/JSNavigatorCustom.cpp:
758         * dom/Document.cpp:
759         (WebCore::Document::Document):
760         * dom/Document.h:
761         * loader/FrameLoader.cpp:
762         (WebCore::FrameLoader::canCachePage):
763         * page/Geolocation.cpp: Removed.
764         * page/Geolocation.h: Removed.
765         * page/Geolocation.idl: Removed.
766         * page/Geoposition.cpp: Removed.
767         * page/Geoposition.h: Removed.
768         * page/Geoposition.idl: Removed.
769         * page/Navigator.cpp:
770         (WebCore::Navigator::disconnectFrame):
771         * page/Navigator.h:
772         * page/Navigator.idl:
773         * page/PositionCallback.h: Removed.
774         * page/PositionCallback.idl: Removed.
775         * page/PositionError.h: Removed.
776         * page/PositionError.idl: Removed.
777         * page/PositionErrorCallback.h: Removed.
778         * page/PositionErrorCallback.idl: Removed.
779         * page/PositionOptions.h: Removed.
780         * page/PositionOptions.idl: Removed.
781         * platform/GeolocationService.cpp: Removed.
782         * platform/GeolocationService.h: Removed.
784 2008-10-23  David Kilzer  <ddkilzer@apple.com>
786         Attempt to fix GTK build.
788         * GNUmakefile.am: Added new *.idl files that were missing.
790 2008-10-23  Greg Bolsinga  <bolsinga@apple.com>
792         Reviewed by Sam Weinig.
794         https://bugs.webkit.org/show_bug.cgi?id=21475
795         
796         Provide support for the Geolocation API
797         
798         http://dev.w3.org/geo/api/spec-source.html
800         Test: geolocation/geolocation-not-implemented.html
802         * DerivedSources.make:
803         * GNUmakefile.am: Added Geolocation support
804         * WebCore.pro: Added Geolocation support
805         * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
806         * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
807         * WebCoreSources.bkl: Added Geolocation support
808         * bindings/js/JSCustomPositionCallback.cpp: Added.
809         (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
810         (WebCore::JSCustomPositionCallback::handleEvent):
811         * bindings/js/JSCustomPositionCallback.h: Added.
812         (WebCore::JSCustomPositionCallback::create):
813         * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
814         (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
815         (WebCore::JSCustomPositionErrorCallback::handleEvent):
816         * bindings/js/JSCustomPositionErrorCallback.h: Added.
817         (WebCore::JSCustomPositionErrorCallback::create):
818         * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
819         (WebCore::markDOMObjectWrapper):
820         * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
821         * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
822         * bindings/js/JSGeolocationCustom.cpp: Added.
823         (WebCore::JSGeolocation::getCurrentPosition):
824         (WebCore::JSGeolocation::watchPosition):
825         * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
826         (WebCore::JSNavigator::mark):
827         * dom/Document.cpp:
828         (WebCore::Document::Document):
829         * dom/Document.h:
830         (WebCore::Document::setUsingGeolocation):
831         (WebCore::Document::usingGeolocation):
832         * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
833         (WebCore::FrameLoader::canCachePage):
834         * page/Geolocation.cpp: Added.
835         (WebCore::Geolocation::GeoNotifier::GeoNotifier):
836         (WebCore::Geolocation::GeoNotifier::timerFired):
837         (WebCore::Geolocation::Geolocation):
838         (WebCore::Geolocation::disconnectFrame):
839         (WebCore::Geolocation::getCurrentPosition):
840         (WebCore::Geolocation::watchPosition):
841         (WebCore::Geolocation::clearWatch):
842         (WebCore::Geolocation::stopUpdatingIfEmpty):
843         (WebCore::Geolocation::sendErrorToOneShots):
844         (WebCore::Geolocation::sendErrorToWatchers):
845         (WebCore::Geolocation::sendPositionToOneShots):
846         (WebCore::Geolocation::sendPositionToWatchers):
847         (WebCore::Geolocation::handleError):
848         (WebCore::Geolocation::geolocationServicePositionChanged):
849         (WebCore::Geolocation::geolocationServiceErrorOccurred):
850         * page/Geolocation.h: Added.
851         (WebCore::Geolocation::create):
852         (WebCore::Geolocation::~Geolocation):
853         (WebCore::Geolocation::lastPosition):
854         (WebCore::Geolocation::GeoNotifier::create):
855         * page/Geolocation.idl: Added.
856         * page/Geoposition.cpp: Added.
857         (WebCore::Geoposition::toString):
858         * page/Geoposition.h: Added.
859         (WebCore::Geoposition::create):
860         (WebCore::Geoposition::latitude):
861         (WebCore::Geoposition::longitude):
862         (WebCore::Geoposition::altitude):
863         (WebCore::Geoposition::accuracy):
864         (WebCore::Geoposition::altitudeAccuracy):
865         (WebCore::Geoposition::heading):
866         (WebCore::Geoposition::velocity):
867         (WebCore::Geoposition::timestamp):
868         (WebCore::Geoposition::Geoposition):
869         * page/Geoposition.idl: Added.
870         * page/Navigator.cpp:
871         (WebCore::Navigator::disconnectFrame): disconnect Geolocation
872         (WebCore::Navigator::geolocation): accessor for Geolocation
873         * page/Navigator.h:
874         (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
875         * page/Navigator.idl: accessor for Geolocation
876         * page/PositionCallback.h: Added.
877         (WebCore::PositionCallback::~PositionCallback):
878         * page/PositionCallback.idl: Added.
879         * page/PositionError.h: Added.
880         (WebCore::PositionError::):
881         (WebCore::PositionError::create):
882         (WebCore::PositionError::code):
883         (WebCore::PositionError::message):
884         (WebCore::PositionError::PositionError):
885         * page/PositionError.idl: Added.
886         * page/PositionErrorCallback.h: Added.
887         (WebCore::PositionErrorCallback::~PositionErrorCallback):
888         * page/PositionErrorCallback.idl: Added.
889         * page/PositionOptions.h: Added.
890         (WebCore::PositionOptions::create):
891         (WebCore::PositionOptions::enableHighAccuracy):
892         (WebCore::PositionOptions::setEnableHighAccuracy):
893         (WebCore::PositionOptions::timeout):
894         (WebCore::PositionOptions::setTimeout):
895         (WebCore::PositionOptions::PositionOptions):
896         * page/PositionOptions.idl: Added.
897         * platform/GeolocationService.cpp: Added.
898         (WebCore::GeolocationService::GeolocationService):
899         (WebCore::GeolocationService::positionChanged):
900         (WebCore::GeolocationService::errorOccurred):
901         * platform/GeolocationService.h: Added.
902         (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
903         (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
904         (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
905         (WebCore::GeolocationService::~GeolocationService):
907 2008-10-23  Alp Toker  <alp@nuanti.com>
909         Fix typo in comment in previous commit. GTK -> GLIB
911         * platform/gtk/guriescape.c:
913 2008-10-23  Kalle Vahlman  <kalle.vahlman@movial.com>
915         Reviewed by Alp Toker.
917         https://bugs.webkit.org/show_bug.cgi?id=21824
918         [GTK] FileSystem abstraction uses features from Glib 2.16
920         Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib
922         * platform/gtk/guriescape.c:
923         (unescape_character):
924         (_webcore_g_uri_unescape_segment):
925         (_webcore_g_uri_unescape_string):
926         * platform/gtk/guriescape.h:
928 2008-10-23  Jan Michael Alonzo  <jmalonzo@webkit.org>
930         Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.
932         * GNUmakefile.am:
934 2008-10-23  Darin Fisher  <darin@chromium.org>
936         Reviewed by Eric Seidel.
938         m_frame null checked but then dereferenced
939         https://bugs.webkit.org/show_bug.cgi?id=21845
941         This error was found using a static analysis tool, and so I do not know
942         how to produce a null m_frame on entry to this method.  Hence, I have
943         not included a regression test.
945         * page/EventHandler.cpp:
946         (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
948 2008-10-23  Dan Bernstein  <mitz@apple.com>
950         Reviewed by Sam Weinig with no hesitation.
952         - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
953           <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering
955         Test: fast/text/bidi-embedding-pop-and-push-same.html
957         * platform/text/BidiResolver.h:
958         (WebCore::BidiResolver::embed): Changed to only add the embedding
959         operation to a vector of pending operations.
961         (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
962         code that used to be in the PDF case of embed() here, except the part
963         that sets the context.
965         (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
966         code that used to be in the non-PDF case of embed() here, except the
967         part the sets the context.
969         (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
970         explicit embedding operations in the vector by creating an updated
971         context and determining the old and new embedding levels. If the levels
972         are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
973         sets the context to the new one.
975         (WebCore::BidiResolver::createBidiRunsForLine): Added calls to
976         commitExplicitEmbedding() after calling embed() and after calling
977         increment().
979         * rendering/bidi.cpp:
980         (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because
981         this function increments the resolver.
983         (WebCore::RenderBlock::skipLeadingWhitespace): Ditto.
985 2008-10-23  Jan Michael Alonzo  <jmalonzo@webkit.org>
987         Gtk build fix. Not reviewed.
989         Add DNSCurl and DNSSoup to the Gtk build
991         * GNUmakefile.am:
992         * platform/gtk/TemporaryLinkStubs.cpp:
993         * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp.
994         (WebCore::prefetchDNS):
996 2008-10-23  Eric Seidel  <eric@webkit.org>
998         Reviewed by Sam Weinig.
1000         Un-break the Darwin build.
1002         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1003         * platform/graphics/cg/ImageCG.cpp:
1005 2008-10-23  Darin Fisher  <darin@chromium.org>
1007         Reviewed by Eric Seidel.
1009         Fix forward decls to be struct instead of class.
1010         https://bugs.webkit.org/show_bug.cgi?id=21838
1012         * rendering/style/StyleRareInheritedData.h:
1013         * rendering/style/StyleRareNonInheritedData.h:
1015 2008-10-23  Brent Fulgham  <bfulgham@gmail.com>
1017         Reviewed by Oliver Hunt.
1019         * platform/network/curl/ResourceRequest.h:  A better implementation
1020           of CFURLRequest, rather than void*.  This gives better compatibility 
1021           with the WebKit.idl interface.
1022         (WebCore::ResourceRequest::cfURLRequest):
1024 2008-10-23  Mike Pinkerton  <pinkerton@chromium.org>
1026         Reviewed by Eric Seidel.
1028         PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
1029         ifdefs to reflect that.
1031         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1032         * platform/graphics/cg/ImageCG.cpp:
1034 2008-10-23  Peter Kasting  <pkasting@google.com>
1036         Reviewed by Adam Roben.
1038         https://bugs.webkit.org/show_bug.cgi?id=21833
1039         Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).
1041         * inspector/InspectorController.cpp:
1042         (WebCore::InspectorController::InspectorController):
1043         (WebCore::InspectorController::setWindowVisible):
1044         (WebCore::InspectorController::windowScriptObjectAvailable):
1045         (WebCore::InspectorController::close):
1046         * inspector/InspectorController.h:
1047         * page/Page.cpp:
1048         (WebCore::Page::Page):
1050 2008-10-23  Kevin McCullough  <kmccullough@apple.com>
1052         Reviewed by Tim Hatcher.
1054         https://bugs.webkit.org/show_bug.cgi?id=21817
1055         Bug 21817: Manual profiler tests should be made into layout tests
1057         -Moving the tests before diffing so that it's clear what changed.
1059         * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
1060         * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
1061         * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
1062         * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
1063         * manual-tests/inspector/profiler-test-apply.html: Removed.
1064         * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
1065         * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
1066         * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
1067         * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
1068         * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
1069         * manual-tests/inspector/profiler-test-constructor.html: Removed.
1070         * manual-tests/inspector/profiler-test-dead-time.html: Removed.
1071         * manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
1072         * manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
1073         * manual-tests/inspector/profiler-test-event-handler.html: Removed.
1074         * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
1075         * manual-tests/inspector/profiler-test-heavy-view.html: Removed.
1076         * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
1077         * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
1078         * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
1079         * manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
1080         * manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
1081         * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
1082         * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
1083         * manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
1084         * manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
1085         * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
1086         * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
1087         * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
1088         * manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
1089         * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
1090         * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
1091         * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
1092         * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
1093         * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
1094         * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
1095         * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
1096         * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
1097         * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
1098         * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
1099         * manual-tests/inspector/resources/other-frame.html: Removed.
1100         * manual-tests/inspector/resources/other-window.html: Removed.
1101         * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.
1103 2008-10-23  Adam Barth  <abarth@webkit.org>
1105         Reviewed by Sam Weinig.
1107         https://bugs.webkit.org/show_bug.cgi?id=21826
1109         Add accessor for SecurityOrigin::m_domainWasSetInDOM.
1111         * page/SecurityOrigin.h:
1112         (WebCore::SecurityOrigin::domainWasSetInDOM):
1114 2008-10-23  Darin Adler  <darin@apple.com>
1116         - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
1118         * bindings/js/ScheduledAction.h:
1119         * inspector/InspectorController.cpp:
1120         ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
1122 2008-10-23  Simon Hausmann  <hausmann@webkit.org>
1124         Fix the Qt build.
1126         * bridge/qt/qt_runtime.cpp:
1127         (JSC::Bindings::QtConnectionObject::execute):
1128         * bridge/qt/qt_runtime.h:
1129         (JSC::Bindings::QtRuntimeMethod::createStructureID):
1131 2008-10-23  Alexey Proskuryakov  <ap@webkit.org>
1133         Reviewed by Maciej Stachowiak.
1135         https://bugs.webkit.org/show_bug.cgi?id=21825
1136         JSDOMBinding should not blindly cast the global object to JSDOMWindow
1138         * bindings/js/JSDOMGlobalObject.cpp:
1139         * bindings/js/JSDOMGlobalObject.h:
1140         * GNUmakefile.am:
1141         * WebCore.pro:
1142         * WebCore.vcproj/WebCore.vcproj:
1143         * WebCore.xcodeproj/project.pbxproj:
1144         * WebCoreSources.bkl:
1145         Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
1147         * bindings/js/JSDOMBinding.cpp:
1148         (WebCore::getCachedDOMStructure):
1149         (WebCore::cacheDOMStructure):
1150         (WebCore::getCachedDOMConstructor):
1151         (WebCore::cacheDOMConstructor):
1152         Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
1154         * bindings/js/JSDOMWindowBase.cpp:
1155         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1156         * bindings/js/JSDOMWindowBase.h:
1157         * bindings/js/JSDOMWindowCustom.cpp:
1158         (WebCore::JSDOMWindow::mark):
1159         Moved constructor and structure tracking to JSDOMGlobalObject.
1161 2008-10-23  Adam Barth  <abarth@webkit.org>
1163         Reviewed by Sam Weinig.
1165         https://bugs.webkit.org/show_bug.cgi?id=21787
1167         Update postMessage to send origin = "null" for non-serializable
1168         origins to match latest spec.  Merge SecurityOrigin::toString and
1169         SecurityOrigin::toHTTPOrigin because they are now the same.
1171         Test: http/tests/security/postMessage/data-url-sends-null-origin.html
1173         * loader/FrameLoader.cpp:
1174         (WebCore::FrameLoader::outgoingOrigin):
1175         (WebCore::FrameLoader::loadURL):
1176         (WebCore::FrameLoader::addHTTPOriginIfNeeded):
1177         (WebCore::FrameLoader::loadItem):
1178         * loader/loader.cpp:
1179         (WebCore::Loader::Host::servePendingRequests):
1180         * page/SecurityOrigin.cpp:
1181         (WebCore::SecurityOrigin::toString):
1182         * page/SecurityOrigin.h:
1183         * xml/XMLHttpRequest.cpp:
1184         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
1185         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1186         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
1187         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1189 2008-10-22  David Kilzer  <ddkilzer@apple.com>
1191         Bug 21781: WebCore::Settings should have a maximum decoded image size setting
1193         <https://bugs.webkit.org/show_bug.cgi?id=21781>
1195         Reviewed by Antti.
1197         No tests since there is no change in behavior.
1199         * loader/CachedImage.cpp:
1200         (WebCore::CachedImage::maximumDecodedImageSize): Added.  Returns
1201         WebCore::Settings::maximumDecodedImageSize() or 0 on error.
1202         (WebCore::CachedImage::data): Flag an error if the image being
1203         loaded is too big.
1204         * loader/CachedImage.h:
1205         (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
1206         * page/Settings.cpp:
1207         (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize
1208         to the maximum value of size_t.
1209         * page/Settings.h:
1210         (WebCore::Settings::setMaximumDecodedImageSize): Added method.
1211         (WebCore::Settings::maximumDecodedImageSize): Ditto.
1213 2008-10-22  Mike Pinkerton  <pinkerton@chromium.org>
1215         Reviewed by Dan Bernstein.
1216         Landed and tweaked a bit by Darin Adler.
1218         - fix https://bugs.webkit.org/show_bug.cgi?id=21809
1220         Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits 
1221         its use for PLATFORM(CHROMIUM) in the future.
1223         * platform/graphics/SimpleFontData.h:
1225 2008-10-22  David Smith  <catfish.man@gmail.com>
1227         Reviewed by Anders Carlsson.
1228                
1229         https://bugs.webkit.org/show_bug.cgi?id=19974
1230         getElementsByClassName not live enough
1232         Test: fast/dom/getElementsByClassName/015.html
1234         * dom/StyledElement.cpp:
1235         (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()
1237 2008-10-22  Darin Adler  <darin@apple.com>
1239         Reviewed by Sam Weinig.
1241         - fix https://bugs.webkit.org/show_bug.cgi?id=21294
1242           Bug 21294: Devirtualize getOwnPropertySlot()
1244         * bindings/js/JSDOMWindowShell.h:
1245         (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
1246         HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
1248         * bindings/js/JSInspectorCallbackWrapper.cpp:
1249         (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
1250         for this class rather than sharing nullProtoStructureID, which no longer exists.
1252         * bindings/js/JSNamedNodesCollection.h:
1253         (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
1254         HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
1255         * bindings/js/JSRGBColor.h:
1256         (WebCore::JSRGBColor::createStructureID): Ditto.
1258         * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
1259         constructors, and prototypes in any case where they override getOwnPropertySlot, without
1260         HasStandardGetOwnPropertySlot.
1262         * bridge/objc/objc_runtime.h:
1263         (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
1264         without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
1265         * bridge/qt/qt_runtime.h:
1266         (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
1267         * bridge/runtime_array.h:
1268         (JSC::RuntimeArray::createStructureID): Ditto.
1269         * bridge/runtime_method.h:
1270         (JSC::RuntimeMethod::createStructureID): Ditto.
1271         * bridge/runtime_object.h:
1272         (JSC::RuntimeObjectImp::createStructureID): Ditto.
1274 2008-10-22  Brent Fulgham  <bfulgham@gmail.com>
1276         Bring Windows Cairo Port's font handling in line with CG.
1277         http://bugs.webkit.org/show_bug.cgi?id=21812.
1279         Reviewed by Adam Roben.
1281         * platform/graphics/win/FontCacheWin.cpp:
1282         (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
1283         TrueType font search. It should match CG in all font selections.
1285 2008-10-22  Brent Fulgham  <bfulgham@gmail.com>
1287         http://bugs.webkit.org/show_bug.cgi?id=21812.
1288         Bring Windows Cairo Port's font handling in line with CG.
1290         Reviewed by David Hyatt.
1292         * platform/graphics/win/FontCacheWin.cpp:
1293         (WebCore::createGDIFont):  Remove unnecessary special-case for Cairo TrueType font search.  It should match CG in all font selections.
1295 2008-10-22  Brady Eidson  <beidson@apple.com>
1297         Reviewed by Adam Roben
1299         <rdar://6261773> - autocomplete="off" doesn't work on Windows
1301         Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a 
1302         statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false" 
1303         instead of the much more correct "true."
1304         
1305         In the past we have worked around this by declaring the bitfield member as an unsigned instead 
1306         of the enum type.
1308         For more discussion, see http://trac.webkit.org/changeset/25329
1310         * html/HTMLInputElement.h:  Work around insane Visual Studio enum issue  *sigh*
1312 2008-10-22  Kevin McCullough  <kmccullough@apple.com>
1314         Reviewed by Oliver Hunt and Tim Hatcher.
1316         https://bugs.webkit.org/show_bug.cgi?id=19225
1317         Bug 19225: JSProfiler: Create automated profiler tests
1318         - This change exports profiles on the console object so that they can be
1319         iterated over via JavaScript, and thus can be used in automated tests.
1321         * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
1322         that JS can use.
1323         (WebCore::JSConsole::profiles):
1324         * inspector/InspectorController.h: Use the new typedef.
1325         (WebCore::InspectorController::profiles):
1326         * page/Console.cpp: Keep our own array of profile objects.
1327         (WebCore::Console::profileEnd):
1328         * page/Console.h: Ditto.
1329         (WebCore::Console::profiles):
1330         * page/Console.idl: Expose the profiles to JS.
1332 2008-10-22  David Hyatt  <hyatt@apple.com>
1334         https://bugs.webkit.org/show_bug.cgi?id=21775
1336         Convert buttons over to use the new Theme API on OS X.
1338         Reviewed by Adam Roben
1340         * platform/LengthBox.h:
1341         (WebCore::LengthBox::LengthBox):
1342         * platform/Theme.cpp:
1343         (WebCore::Theme::controlBorder):
1344         (WebCore::Theme::controlPadding):
1345         * platform/Theme.h:
1346         (WebCore::Theme::controlFont):
1347         (WebCore::Theme::controlSize):
1348         (WebCore::Theme::minControlSize):
1349         (WebCore::Theme::controlRequiresPreWhiteSpace):
1350         * platform/mac/ThemeMac.h:
1351         (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
1352         * platform/mac/ThemeMac.mm:
1353         (WebCore::checkboxSize):
1354         (WebCore::radioSize):
1355         (WebCore::buttonSizes):
1356         (WebCore::buttonMargins):
1357         (WebCore::button):
1358         (WebCore::paintButton):
1359         (WebCore::ThemeMac::controlFont):
1360         (WebCore::ThemeMac::controlSize):
1361         (WebCore::ThemeMac::minControlSize):
1362         (WebCore::ThemeMac::controlBorder):
1363         (WebCore::ThemeMac::controlPadding):
1364         (WebCore::ThemeMac::inflateControlPaintRect):
1365         (WebCore::ThemeMac::paint):
1366         * rendering/RenderTheme.cpp:
1367         (WebCore::RenderTheme::adjustStyle):
1368         (WebCore::RenderTheme::paint):
1369         (WebCore::RenderTheme::controlStatesForRenderer):
1370         (WebCore::RenderTheme::isDefault):
1371         (WebCore::RenderTheme::adjustRadioStyle):
1372         * rendering/RenderTheme.h:
1373         (WebCore::RenderTheme::setRadioSize):
1374         * rendering/RenderThemeMac.h:
1375         * rendering/RenderThemeMac.mm:
1376         (WebCore::RenderThemeMac::adjustRepaintRect):
1377         (WebCore::menuListButtonSizes):
1378         (WebCore::RenderThemeMac::adjustMenuListStyle):
1379         * rendering/style/RenderStyle.h:
1380         (WebCore::InheritedFlags::paddingBox):
1381         (WebCore::InheritedFlags::setPaddingBox):
1383 2008-10-22  Chris Marrin  <cmarrin@apple.com>
1385         Reviewed by Dave Hyatt
1387         Make sure that the AtomicString that identifies a set of animation keyframes
1388         stays live by keeping a copy in the WebKitCSSKeyframesRule.
1389         
1390         Also call styleSheetChanged() when the keyframes name changes, but
1391         add an internal method that doesn't call styleSheetChanged() for use
1392         during normal stylesheet parsing.
1393         
1394         Test: animations/change-keyframes-name.html
1396         * css/CSSGrammar.y:
1397         * css/WebKitCSSKeyframesRule.cpp:
1398         (WebCore::WebKitCSSKeyframesRule::setName):
1399         * css/WebKitCSSKeyframesRule.h:
1400         (WebCore::WebKitCSSKeyframesRule::setNameInternal):
1402 2008-10-22  Alexey Proskuryakov  <ap@webkit.org>
1404         Reviewed by Sam Weinig.
1406         https://bugs.webkit.org/show_bug.cgi?id=21791
1407         WebCore JS bindings should be able to use non-static hash tables for properties
1409         Add a map for HashTables to WebCore JS client data.
1411         This makes property access noticeably slower, so it is an opt-in. For classes that need to be
1412         supported in workers in forseeable future this is not critical.
1414         * bindings/js/JSDOMBinding.cpp:
1415         (WebCore::DOMObjectHashTableMap::get):
1416         (WebCore::DOMObjectHashTableMap::mapFor):
1417         (WebCore::getHashTableForGlobalData):
1418         (WebCore::DOMObjectWrapperMap::mapFor):
1419         WebCore client data is now a class that contains both a DOM wrapper map and a property hash
1420         table one.
1422         * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
1424         * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
1425         JSDOMBinding map to access its property hash tables.
1427         * dom/MessageChannel.idl:
1428         * dom/MessagePort.idl:
1429         Added NoStaticTables attribute.
1431 2008-10-22  Gustavo Noronha Silva  <gns@gnome.org>
1433         Reviewed by Timothy Hatcher.
1435         Build failure because of missing include
1436         https://bugs.webkit.org/show_bug.cgi?id=21765
1438         Build failure fix for WebKit/GTK+; added missing
1439         include (GOwnPtr.h)
1441         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1443 2008-10-22  Alp Toker  <alp@nuanti.com>
1445         Reviewed by Adam Roben.
1447         Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
1448         doesn't initialize values if the requested property doesn't exist, so
1449         initialize the values to the documented defaults before calling it
1450         where necessary. Additionally, avoid critical warnings by not calling
1451         gtk_widget_style_get() when we know the property isn't available.
1453         Note that this is an imported source file which doesn't follow the
1454         WebKit coding style.
1456         * platform/gtk/gtk2drawing.c:
1457         (moz_gtk_init):
1458         (moz_gtk_button_get_inner_border):
1459         (moz_gtk_combo_box_paint):
1460         (moz_gtk_toolbar_separator_paint):
1461         (moz_gtk_menu_separator_paint):
1462         (moz_gtk_get_widget_border):
1463         (moz_gtk_get_tab_scroll_arrow_size):
1464         (moz_gtk_get_toolbar_separator_width):
1465         (moz_gtk_get_menu_separator_height):
1467 2008-10-22  Alp Toker  <alp@nuanti.com>
1469         Fix build for Cairo 1.2.
1471         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1472         (WebCore::GraphicsContext::clipOut):
1473         * platform/gtk/RenderThemeGtk.cpp:
1474         (WebCore::paintMozWidget):
1476 2008-10-22  Darin Fisher  <darin@chromium.org>
1478         Reviewed by Eric Seidel.
1480         A little more PLATFORM(CHROMIUM) in WebCore
1481         https://bugs.webkit.org/show_bug.cgi?id=21758
1483         * page/AccessibilityObject.h:
1484         * platform/graphics/Icon.h:
1486 2008-10-21  Alexey Proskuryakov  <ap@webkit.org>
1488         Reviewed by Darin Adler.
1490         Test: fast/events/message-channel-gc-3.html
1492         https://bugs.webkit.org/show_bug.cgi?id=21769
1493         MessagePort should be GC protected if there are messages to be delivered
1495         * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
1496         pending, and check if the queue is non-empty.
1497         (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
1498         fix (below).
1500         * dom/MessagePort.cpp:
1501         (WebCore::CloseMessagePortTimer::fired):
1502         (WebCore::MessagePort::MessagePort):
1503         (WebCore::MessagePort::queueCloseEvent):
1504         (WebCore::MessagePort::dispatchCloseEvent):
1505         (WebCore::MessagePort::hasPendingActivity):
1506         Track message and close event activity separately.
1508         * bindings/js/JSDOMBinding.cpp:
1509         (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
1510         causing same-heap ports to never be deleted.
1512 2008-10-21  Dan Bernstein  <mitz@apple.com>
1514         Reviewed by Sam Weinig.
1516         - remove unreachable code
1518         * platform/text/BidiResolver.h:
1519         (WebCore::::embed):
1521 2008-10-21  Beth Dakin  <bdakin@apple.com>
1523         Reviewed by Darin Adler.
1525         Fix for https://bugs.webkit.org/show_bug.cgi?id=20352 
1526         REGRESSION(r31030-31055): Choosing "Print window" from frame set 
1527         prints blank page
1528         and corresponding: <rdar://problem/6142398>
1530         viewHeight() and viewWidth() only return valuable information if we 
1531         are not printing. Everywhere else in the code, we make sure we are 
1532         not printing before we call these functions. Adding a check for 
1533         printing here fixes this bug, and framesets print again.
1535         * rendering/RenderFrameSet.cpp:
1536         (WebCore::RenderFrameSet::layout):
1538 2008-10-21  Yael Aharon <yael.aharon@nokia.com>
1540         Reviewed by Simon.
1542         Pixmap in canvas tag was not getting initialized.
1544         See https://bugs.webkit.org/show_bug.cgi?id=21771
1546         * platform/graphics/qt/ImageBufferQt.cpp:
1547         (WebCore::ImageBuffer::create):
1549 2008-10-20  Simon Fraser  <simon.fraser@apple.com>
1551         Reviewed by Dan Bernstein
1553         Add a comment explaining layoutDelta(), and an assertion
1554         that checks that delta changes were correctly paired during layout.
1555         
1556         * rendering/RenderView.cpp:
1557         (WebCore::RenderView::layout):
1558         * rendering/RenderView.h:
1560 2008-10-20  Timothy Hatcher  <timothy@apple.com>
1562         Make auto-complete only suggest properties that are valid syntax
1563         when using dot-notation. Also when completing numeric properties,
1564         the quotes are omitted inside the brackets.
1566         https://bugs.webkit.org/show_bug.cgi?id=21760
1567         https://bugs.webkit.org/show_bug.cgi?id=21761
1569         Reviewed by Oliver Hunt.
1571         * inspector/front-end/Console.js:
1572         (WebInspector.Console.prototype.completions): Skip properties that
1573         are not valid identifies when using dot-notation. And omit the quotes
1574         when completing numbers in bracket-notation.
1576 2008-10-20  Timothy Hatcher  <timothy@apple.com>
1578         Fixes the Profiles panel in the Web Inspector, which was broken by
1579         the JSValue base-class changes. Also renames some functions and
1580         variables in JavaScriptProfileNode.cpp that where title case.
1582         https://bugs.webkit.org/show_bug.cgi?id=21764
1584         Reviewed by Oliver Hunt.
1586         * inspector/JavaScriptProfile.cpp:
1587         (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
1588         returned JSValuePtr will be treated as an object and not a value.
1589         * inspector/JavaScriptProfileNode.cpp:
1590         (WebCore::toJS): Ditto.
1592 2008-10-20  Sam Weinig  <sam@webkit.org>
1594         Reviewed by Anders Carlsson.
1596         Remove FrameLoaderClient::detachedFromParent4.  It is no longer used by any port.
1598         * loader/EmptyClients.h:
1599         (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
1600         * loader/FrameLoader.cpp:
1601         (WebCore::FrameLoader::detachFromParent):
1602         * loader/FrameLoaderClient.h:
1604 2008-10-20  Antti Koivisto  <antti@apple.com>
1606         Reviewed by Adele Peterson.
1608         Fix https://bugs.webkit.org/show_bug.cgi?id=21763
1609         REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
1610         <rdar://problem/6285025
1611         
1612         If we get 304 response we need to explicitly check if that completes the frame load.
1613         
1614         No test case, simulating the condition is pretty difficult.
1616         * loader/loader.cpp:
1617         (WebCore::Loader::Host::didReceiveResponse):
1619 2008-10-20  Anders Carlsson  <andersca@apple.com>
1621         Reviewed by Mark Rowe.
1623         Work around <rdar://problem/6301728>.
1624         
1625         Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
1626         
1627         * loader/MainResourceLoader.cpp:
1628         (WebCore::MainResourceLoader::didReceiveResponse):
1629         (WebCore::MainResourceLoader::didReceiveData):
1630         (WebCore::MainResourceLoader::didFinishLoading):
1631         (WebCore::MainResourceLoader::didFail):
1633 2008-10-20  Beth Dakin  <bdakin@apple.com>
1635         Reviewed by Adele Peterson.
1637         Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19 
1638         crashes in Safari at com.apple.WebCore
1639         WebCore::ScrollView::visibleContentRect const + 153
1641         d->m_view can be null and is null-checked at other points in the 
1642         code. The logs indicate that this crash occurs when closing a 
1643         window containing a PDF, so in case where we crash, the PDF's view 
1644         is probably already null. So the fix is to simply add a null-check.
1646         * page/Frame.cpp:
1647         (WebCore::Frame::selectionRect):
1649 2008-10-20  Adele Peterson  <adele@apple.com>
1651         Reviewed by Darin Adler.
1653         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
1654         Removed stray increment that would screw up any form with multiple files in it.
1656 2008-10-20  Sam Weinig  <sam@webkit.org>
1658         Rubber-stamped by David Hyatt.
1660         Split LengthBox and LengthSize into their own files.
1662         * GNUmakefile.am:
1663         * WebCore.vcproj/WebCore.vcproj:
1664         * WebCore.xcodeproj/project.pbxproj:
1665         * platform/Length.h:
1666         (WebCore::Length::blend):
1667         * platform/LengthBox.h: Copied from platform/Length.h.
1668         (WebCore::LengthBox::LengthBox):
1669         (WebCore::LengthBox::nonZero):
1670         * platform/LengthSize.h: Copied from platform/Length.h.
1671         (WebCore::LengthSize::LengthSize):
1672         (WebCore::LengthSize::setWidth):
1673         (WebCore::LengthSize::setHeight):
1674         (WebCore::LengthSize::height):
1675         * platform/Theme.h:
1676         * rendering/style/FillLayer.h:
1677         * rendering/style/NinePieceImage.h:
1678         (WebCore::NinePieceImage::NinePieceImage):
1679         * rendering/style/RenderStyle.h:
1680         * rendering/style/StyleDashboardRegion.h:
1681         * rendering/style/StyleSurroundData.h:
1682         * rendering/style/StyleVisualData.h:
1684 2008-10-20  Dan Bernstein  <mitz@apple.com>
1686         - Mac build fix
1688         * WebCore.xcodeproj/project.pbxproj:
1690 2008-10-20  Alp Toker  <alp@nuanti.com>
1692         Fix autotools dist build target by listing recently added header
1693         files only. Not reviewed.
1695         * GNUmakefile.am:
1697 2008-10-20  David Hyatt  <hyatt@apple.com>
1699         Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms).  Also
1700         refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
1701         originally.
1703         ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.
1705         Reviewed by Adam Roben
1707         * WebCore.xcodeproj/project.pbxproj:
1708         * platform/Theme.cpp: Added.
1709         (WebCore::Theme::controlSupportsBorder):
1710         (WebCore::Theme::controlSupportsPadding):
1711         * platform/Theme.h:
1712         * platform/mac/ThemeMac.h:
1713         * platform/mac/ThemeMac.mm:
1714         * rendering/RenderTheme.cpp:
1715         (WebCore::RenderTheme::adjustStyle):
1716         * rendering/RenderTheme.h:
1718 2008-10-20  David Hyatt  <hyatt@apple.com>
1720         Rename LengthBox's members to have m_ in front of them.
1722         Reviewed by Sam Weinig
1724         * css/CSSComputedStyleDeclaration.cpp:
1725         (WebCore::valueForNinePieceImage):
1726         (WebCore::getPositionOffsetValue):
1727         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1728         * css/CSSStyleSelector.cpp:
1729         (WebCore::CSSStyleSelector::mapNinePieceImage):
1730         * platform/Length.h:
1731         (WebCore::LengthBox::LengthBox):
1732         (WebCore::LengthBox::left):
1733         (WebCore::LengthBox::right):
1734         (WebCore::LengthBox::top):
1735         (WebCore::LengthBox::bottom):
1736         (WebCore::LengthBox::operator==):
1737         (WebCore::LengthBox::nonZero):
1738         * rendering/RenderObject.cpp:
1739         (WebCore::RenderObject::paintNinePieceImage):
1740         (WebCore::RenderObject::addDashboardRegions):
1741         * rendering/style/RenderStyle.cpp:
1742         (WebCore::positionedObjectMoved):
1743         (WebCore::RenderStyle::setClip):
1744         (WebCore::RenderStyle::noneDashboardRegions):
1745         * rendering/style/RenderStyle.h:
1746         (WebCore::InheritedFlags::left):
1747         (WebCore::InheritedFlags::right):
1748         (WebCore::InheritedFlags::top):
1749         (WebCore::InheritedFlags::bottom):
1750         (WebCore::InheritedFlags::clipLeft):
1751         (WebCore::InheritedFlags::clipRight):
1752         (WebCore::InheritedFlags::clipTop):
1753         (WebCore::InheritedFlags::clipBottom):
1754         (WebCore::InheritedFlags::marginTop):
1755         (WebCore::InheritedFlags::marginBottom):
1756         (WebCore::InheritedFlags::marginLeft):
1757         (WebCore::InheritedFlags::marginRight):
1758         (WebCore::InheritedFlags::paddingTop):
1759         (WebCore::InheritedFlags::paddingBottom):
1760         (WebCore::InheritedFlags::paddingLeft):
1761         (WebCore::InheritedFlags::paddingRight):
1762         (WebCore::InheritedFlags::setLeft):
1763         (WebCore::InheritedFlags::setRight):
1764         (WebCore::InheritedFlags::setTop):
1765         (WebCore::InheritedFlags::setBottom):
1766         (WebCore::InheritedFlags::setDashboardRegion):
1767         (WebCore::InheritedFlags::setClipLeft):
1768         (WebCore::InheritedFlags::setClipRight):
1769         (WebCore::InheritedFlags::setClipTop):
1770         (WebCore::InheritedFlags::setClipBottom):
1771         (WebCore::InheritedFlags::setMarginTop):
1772         (WebCore::InheritedFlags::setMarginBottom):
1773         (WebCore::InheritedFlags::setMarginLeft):
1774         (WebCore::InheritedFlags::setMarginRight):
1775         (WebCore::InheritedFlags::setPaddingTop):
1776         (WebCore::InheritedFlags::setPaddingBottom):
1777         (WebCore::InheritedFlags::setPaddingLeft):
1778         (WebCore::InheritedFlags::setPaddingRight):
1780 2008-10-20  Timothy Hatcher  <timothy@apple.com>
1782         Make the Resource panel perform graph updates atomically, so when resources
1783         are added the graph and summary graph update at the same time.
1785         https://bugs.webkit.org/show_bug.cgi?id=21755
1787         Reviewed by Kevin McCullough.
1789         * inspector/front-end/Resource.js:
1790         (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
1791         property is undefined, null or 0. This allows callers to check for -1 and not
1792         the other values when there is no startTime yet.
1793         (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
1794         (WebInspector.Resource.prototype.get endTime): Ditto.
1795         (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
1796         (WebInspector.Resource.prototype.get latency): Ditto.
1797         (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
1798         property is undefined or null. This allows callers to always assume a number.
1799         (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
1800         (WebInspector.Resource.prototype.get errors): Simplify the case where there is
1801         no _errors property yet.
1802         (WebInspector.Resource.prototype.set errors): Remove the check if the new value
1803         if the same as the previous value, since there is no work to guard.
1804         (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
1805         no _warnings property yet.
1806         (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
1807         if the same as the previous value, since there is no work to guard.
1808         (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
1809         responseReceivedTime is -1.
1810         (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
1811         * inspector/front-end/ResourcesPanel.js:
1812         (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
1813         have a _resourcesTreeElement yet, exclude it from the searchable views.
1814         (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
1815         and call refresh to refresh the entire graph.
1816         (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
1817         is visible that calls refresh.
1818         (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
1819         graph for a resource if it hasn't been created yet. If the boundaries changed during
1820         the first stale resource pass, do a full pass of all resources when updating the graphs.
1821         (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
1822         (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
1823         graph, these are now created during the first refresh.
1824         (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
1825         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
1826         (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
1827         (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
1828         add the resource to the _staleResources and set needsRefresh.
1829         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
1830         _resourcesTreeElement.
1831         (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
1832         the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
1833         since the insertBefore call will do it if needed.
1834         (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
1835         clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
1836         (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
1837         timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
1838         since all the legend items are removed in one pass right before.
1839         (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
1840         before the calculator so the correct sortingFunction is there when a refresh happens.
1841         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
1842         when the startTime is -1, since that looks best visually. Also set middle and end
1843         to the start and middle (respectfully) when startAtZero. This looks best visually.
1844         (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
1845         (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
1847 2008-10-20  David Hyatt  <hyatt@apple.com>
1849         https://bugs.webkit.org/show_bug.cgi?id=21733
1851         Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
1852         no attempt is made to re-cache the frame from a non-existent image source.
1854         Reviewed by Sam Weinig
1856         * platform/graphics/cairo/ImageCairo.cpp:
1857         (WebCore::BitmapImage::BitmapImage):
1858         * platform/graphics/cg/ImageCG.cpp:
1859         (WebCore::BitmapImage::BitmapImage):
1861 2008-10-20  Dan Bernstein  <mitz@apple.com>
1863         Reviewed by John Sullivan.
1865         - make hasARenderedDescendant() have internal linkage
1867         * editing/CompositeEditCommand.cpp:
1868         (WebCore::hasARenderedDescendant):
1870 2008-10-20  Chris Fleizach  <cfleizach@apple.com>
1872         Reviewed by Jon Honeycutt
1874         Fix a crash in Accessibility where a table section was being 
1875         referenced without first checking if it was null
1877         https://bugs.webkit.org/show_bug.cgi?id=21721
1879         Test: accessibility/table-nofirstbody.html
1881         * page/AccessibilityTable.cpp:
1882         (WebCore::AccessibilityTable::addChildren):
1884 2008-10-20  David Hyatt  <hyatt@apple.com>
1886         Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.
1888         Reviewed by Darin Adler
1890         * platform/graphics/cg/ImageSourceCG.cpp:
1891         (WebCore::ImageSource::repetitionCount):
1892         (WebCore::ImageSource::frameDurationAtIndex):
1894 2008-10-20  Alp Toker  <alp@nuanti.com>
1896         Reviewed by Mark Rowe.
1898         Fix the pthread conditionals in the FTP code to correctly define
1899         threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
1900         build.
1902         * loader/FTPDirectoryDocument.cpp:
1903         * loader/FTPDirectoryParser.cpp:
1905 2008-10-20  David Hyatt  <hyatt@apple.com>
1907         https://bugs.webkit.org/show_bug.cgi?id=21751
1909         Convert checkboxes and radio buttons on OS X over to the new Theme API.
1911         Reviewed by Adam Roben
1913         * css/CSSComputedStyleDeclaration.cpp:
1914         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1915         * css/CSSStyleSelector.cpp:
1916         (WebCore::CSSStyleSelector::mapFillSize):
1917         * platform/Length.h:
1918         (WebCore::LengthSize::LengthSize):
1919         (WebCore::LengthSize::operator==):
1920         (WebCore::LengthSize::width):
1921         (WebCore::LengthSize::height):
1922         (WebCore::LengthSize::setWidth):
1923         (WebCore::LengthSize::setHeight):
1924         * platform/Theme.h:
1925         (WebCore::Theme::controlSize):
1926         (WebCore::Theme::controlSupportsBorder):
1927         (WebCore::Theme::controlSupportsPadding):
1928         (WebCore::Theme::paint):
1929         (WebCore::Theme::inflateControlPaintRect):
1930         * platform/ThemeTypes.h:
1931         (WebCore::):
1932         * platform/mac/ThemeMac.h:
1933         * platform/mac/ThemeMac.mm:
1934         (WebCore::):
1935         (WebCore::controlSizeForFont):
1936         (WebCore::sizeFromFont):
1937         (WebCore::setControlSize):
1938         (WebCore::updateStates):
1939         (WebCore::inflateRect):
1940         (WebCore::checkboxSizes):
1941         (WebCore::checkboxMargins):
1942         (WebCore::checkboxSize):
1943         (WebCore::checkbox):
1944         (WebCore::paintCheckbox):
1945         (WebCore::radioSizes):
1946         (WebCore::radioMargins):
1947         (WebCore::radioSize):
1948         (WebCore::radio):
1949         (WebCore::paintRadio):
1950         (WebCore::ThemeMac::baselinePositionAdjustment):
1951         (WebCore::ThemeMac::controlSize):
1952         (WebCore::ThemeMac::controlSupportsBorder):
1953         (WebCore::ThemeMac::controlSupportsPadding):
1954         (WebCore::ThemeMac::inflateControlPaintRect):
1955         (WebCore::ThemeMac::paint):
1956         * rendering/RenderBox.cpp:
1957         (WebCore::RenderBox::calculateBackgroundSize):
1958         * rendering/RenderObject.cpp:
1959         (WebCore::mustRepaintFillLayers):
1960         * rendering/RenderTheme.cpp:
1961         (WebCore::RenderTheme::adjustStyle):
1962         (WebCore::RenderTheme::paint):
1963         (WebCore::RenderTheme::baselinePosition):
1964         (WebCore::RenderTheme::adjustRepaintRect):
1965         (WebCore::RenderTheme::controlStatesForRenderer):
1966         (WebCore::RenderTheme::isFocused):
1967         * rendering/RenderTheme.h:
1968         * rendering/RenderThemeMac.h:
1969         * rendering/RenderThemeMac.mm:
1970         (WebCore::RenderThemeMac::adjustRepaintRect):
1971         * rendering/style/FillLayer.cpp:
1972         (WebCore::FillLayer::operator==):
1974 2008-10-18  Geoffrey Garen  <ggaren@apple.com>
1976         Reviewed by Darin Adler.
1978         Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
1979         Emit profiling instrumentation only if the Web Inspector's profiling
1980         feature is enabled
1982         * bindings/js/JSDOMWindowBase.cpp:
1983         (WebCore::JSDOMWindowBase::supportsProfiling):
1984         * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
1985         whether a target global object has the Web Inspector's profiling feature
1986         enabled.
1988         * inspector/JavaScriptDebugServer.cpp:
1989         (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
1990         (WebCore::JavaScriptDebugServer::didAddListener):
1991         (WebCore::JavaScriptDebugServer::didRemoveListener):
1992         * inspector/JavaScriptDebugServer.h: Exported an API for recompiling, 
1993         used by the Settings object.
1995         * page/Settings.cpp:
1996         (WebCore::Settings::Settings):
1997         (WebCore::Settings::setDeveloperExtrasEnabled):
1998         * page/Settings.h: Recompile when the developer menu is enabled/disabled
1999         for the first time, to add/remove profiling hooks. In the future, with
2000         better Web Inspector UI, we can do this on a page-by-page basis,
2001         instead of a global basis.
2003 2008-10-20  David Hyatt  <hyatt@apple.com>
2005         Move Length to platform/.
2007         Reviewed by Adam Roben
2009         * GNUmakefile.am:
2010         * WebCore.pro:
2011         * WebCore.vcproj/WebCore.vcproj:
2012         * WebCore.xcodeproj/project.pbxproj:
2013         * WebCoreSources.bkl:
2014         * platform/Length.cpp: Copied from rendering/Length.cpp.
2015         * platform/Length.h: Copied from rendering/Length.h.
2017 2008-10-20  Darin Adler  <darin@apple.com>
2019         - try to fix Qt build
2021         * bridge/qt/qt_runtime.cpp:
2022         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
2023         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
2025 2008-10-20  Darin Adler  <darin@apple.com>
2027         - try to fix Qt build
2029         * bridge/qt/qt_instance.cpp:
2030         (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
2031         (JSC::Bindings::QtField::valueFromInstance): Ditto.
2032         * bridge/qt/qt_instance.h: Ditto.
2034 2008-10-20  Darin Adler  <darin@apple.com>
2036         - try to fix Tiger build
2038         * bridge/objc/objc_instance.mm:
2039         (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
2040         volatile qualifier.
2041         (ObjcInstance::invokeDefaultMethod): Ditto.
2042         (ObjcInstance::getValueOfUndefinedField): Ditto.
2043         * bridge/objc/objc_runtime.mm:
2044         (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
2046 2008-10-20  Alexey Proskuryakov  <ap@webkit.org>
2048         Reviewed by Darin Adler.
2050         https://bugs.webkit.org/show_bug.cgi?id=21750
2051         Eliminate the notion of "temporary events"
2053         We mark some events as temporary when dispatching, for the sole reason of
2054         manually calling forgetDOMObject when done dispatching.
2056         There doesn't seem to be any reason to call it manually, as JSEvent destructor
2057         will do this automatically right away.
2059         * bindings/js/ScriptController.cpp:
2060         * bindings/js/ScriptController.h:
2061         Removed ScriptController::finishedWithEvent(), which was called after dispatching
2062         a temporary event.
2064         * dom/ContainerNode.cpp:
2065         (WebCore::dispatchChildInsertionEvents):
2066         (WebCore::dispatchChildRemovalEvents):
2067         * dom/EventTarget.h:
2068         * dom/EventTargetNode.cpp:
2069         (WebCore::EventTargetNode::dispatchEvent):
2070         (WebCore::EventTargetNode::dispatchGenericEvent):
2071         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
2072         (WebCore::EventTargetNode::dispatchWindowEvent):
2073         (WebCore::EventTargetNode::dispatchUIEvent):
2074         (WebCore::EventTargetNode::dispatchKeyEvent):
2075         (WebCore::EventTargetNode::dispatchMouseEvent):
2076         (WebCore::EventTargetNode::dispatchWheelEvent):
2077         (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
2078         (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
2079         (WebCore::EventTargetNode::dispatchEventForType):
2080         (WebCore::EventTargetNode::dispatchProgressEvent):
2081         (WebCore::EventTargetNode::dispatchStorageEvent):
2082         * dom/EventTargetNode.h:
2083         * dom/MessagePort.cpp:
2084         (WebCore::MessagePort::dispatchMessages):
2085         (WebCore::MessagePort::dispatchCloseEvent):
2086         (WebCore::MessagePort::dispatchEvent):
2087         * dom/MessagePort.h:
2088         * editing/Editor.cpp:
2089         (WebCore::Editor::dispatchCPPEvent):
2090         (WebCore::dispatchEditableContentChangedEvents):
2091         * editing/ReplaceSelectionCommand.cpp:
2092         (WebCore::ReplacementFragment::ReplacementFragment):
2093         * editing/TypingCommand.cpp:
2094         (WebCore::TypingCommand::insertText):
2095         * loader/appcache/DOMApplicationCache.cpp:
2096         (WebCore::DOMApplicationCache::dispatchEvent):
2097         (WebCore::DOMApplicationCache::callListener):
2098         * loader/appcache/DOMApplicationCache.h:
2099         * page/EventHandler.cpp:
2100         (WebCore::EventHandler::dispatchDragEvent):
2101         (WebCore::EventHandler::keyEvent):
2102         (WebCore::EventHandler::handleTextInputEvent):
2103         * page/FrameView.cpp:
2104         (WebCore::FrameView::scheduleEvent):
2105         (WebCore::FrameView::updateOverflowStatus):
2106         (WebCore::FrameView::dispatchScheduledEvents):
2107         * page/FrameView.h:
2108         * rendering/RenderLayer.cpp:
2109         (WebCore::RenderLayer::scrollToOffset):
2110         (WebCore::RenderLayer::updateOverflowStatus):
2111         * svg/SVGElement.cpp:
2112         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
2113         * svg/SVGElementInstance.cpp:
2114         (WebCore::SVGElementInstance::dispatchEvent):
2115         * svg/SVGElementInstance.h:
2116         * xml/XMLHttpRequest.cpp:
2117         (WebCore::XMLHttpRequest::dispatchEvent):
2118         (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
2119         (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
2120         * xml/XMLHttpRequest.h:
2121         * xml/XMLHttpRequestUpload.cpp:
2122         (WebCore::XMLHttpRequestUpload::dispatchEvent):
2123         (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
2124         * xml/XMLHttpRequestUpload.h:
2125         Don't pass the tempEvent boolean around.
2127 2008-10-20  Alp Toker  <alp@nuanti.com>
2129         Remove unused includes only. Partial GTK+/Win build fix.
2131         * platform/graphics/gtk/SimpleFontDataPango.cpp:
2133 2008-10-20  Alexey Proskuryakov  <ap@webkit.org>
2135         Reviewed by Oliver Hunt.
2137         https://bugs.webkit.org/show_bug.cgi?id=21705
2138         Implement Web Workers client-side API
2140         The implementation is experimental, and disabled by default. It doesn't quite match the
2141         published draft, being influenced by further WHATWG discussions.
2143         This only implements the client-side API, and does not actually create any threads or
2144         global contexts yet.
2146         * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
2147         still not sure if having separate classes for these helps at all.
2149         * WebCore.xcodeproj/project.pbxproj: Added new files.
2151         * bindings/js/JSDOMWindowBase.cpp:
2152         (jsDOMWindowBaseWorker):
2153         (WebCore::JSDOMWindowBase::put):
2154         (setJSDOMWindowBaseWorker):
2155         Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
2156         to match prevailing style.
2158         * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
2159         * bindings/js/JSDedicatedWorkerConstructor.h: Added.
2160         * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
2161         The implementation of event listeners are left custom intentionally, for easier implementation
2162         of listeners that are not tied to any Document in the future.
2164         * dom/DedicatedWorker.cpp: Added.
2165         * dom/DedicatedWorker.h: Added.
2166         * dom/DedicatedWorker.idl: Added.
2167         Added an implementation that can only load requested scripts for now.
2169 2008-10-19  Darin Adler  <darin@apple.com>
2171         Reviewed by Dan Bernstein.
2173         - fix assertion seen when opening inspector
2175         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2176         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
2177         Removed unneeded asObject cast.
2179 2008-10-19  Dan Bernstein  <mitz@apple.com>
2181         Rubber-stamped by Timothy Hatcher.
2183         - remove empty directories and correct the MIME type of inspector images
2185         * page/inspector: Removed.
2186         * page/inspector/Images: Removed.
2188 2008-10-19  Timothy Hatcher  <timothy@apple.com>
2190         Make the Web Inspector Resources panel open quicker and change graphs
2191         faster. There was some accidental n^2 logic at fault when updating the
2192         graph boundaries.
2194         https://bugs.webkit.org/show_bug.cgi?id=21742
2196         Reviewed by Darin Adler.
2198         * inspector/front-end/ResourcesPanel.js:
2199         (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
2200         a null calculator. Remove the second argument passed to _refreshAllResources.
2201         (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
2202         the calculator for all the stale resources before calling refreshResource.
2203         Pass true for the first argument of refreshResource to skip the boundary update.
2204         (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
2205         the second argument passed to _refreshAllResources.
2206         (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
2207         skipSort argument since every passed true, and it would be bad to pass false.
2208         (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
2209         skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
2210         the resources before calling refreshResource. Pass true for the first argument
2211         of refreshResource to skip the boundary update.
2213 2008-10-19  Timothy Hatcher  <timothy@apple.com>
2215         Visually distinguish resources that loaded from the memory cache.
2217         https://bugs.webkit.org/show_bug.cgi?id=14279
2219         Reviewed by Dan Bernstein.
2221         * English.lproj/localizedStrings.js: New string.
2222         * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
2223         * inspector/front-end/Images/timelineHollowPillGray.png: Added.
2224         * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
2225         * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
2226         * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
2227         * inspector/front-end/Images/timelineHollowPillRed.png: Added.
2228         * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
2229         * inspector/front-end/ResourcesPanel.js:
2230         (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
2231         Add the "(from cache)" suffix to the tooltip.
2232         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
2233         Add the "(from cache)" suffix to the tooltip.
2234         (WebInspector.ResourceGraph): Add the "resource-cached" class.
2235         * inspector/front-end/inspector.css: New styles to make the timeline
2236         bars use the hollow pill images.
2238 2008-10-19  Timothy Hatcher  <timothy@apple.com>
2240         Update the scroll position in the Resources panel when loading
2241         a new page or toggling on small resource rows.
2243         https://bugs.webkit.org/show_bug.cgi?id=20114
2245         Reviewed by Darin Adler.
2247         * inspector/front-end/ResourcesPanel.js:
2248         (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
2249         since all the resource are being removed.
2250         (WebInspector.ResourcesPanel.prototype.removeResource): Call
2251         _adjustScrollPosition in case the view is shorter and needs scrolled.
2252         (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
2253         (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
2254         the height of the sidebar against the scrollTop and height of the
2255         resourcesContainerElement. If the sidebar is shorter, scroll up
2256         so the last resource is at the bottom again.
2258 2008-10-19  Timothy Hatcher  <timothy@apple.com>
2260         Show per resource times and sizes when hovering over the bar graph for a resource.
2262         https://bugs.webkit.org/show_bug.cgi?id=14300
2263         rdar://problem/5712802
2265         Reviewed by Cameron Zwarich.
2267         * English.lproj/localizedStrings.js: Add new strings.
2268         * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
2269         * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
2270         * inspector/front-end/ResourcesPanel.js:
2271         (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
2272         ResourceGraph.refresh function.
2273         (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
2274         returns the formatted value.
2275         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
2276         for the latency and download times. Also generate a custom tooltip.
2277         (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
2278         (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
2279         in case the bar has changed size.
2280         (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
2281         * inspector/front-end/inspector.css: New styles for the labels.
2283 2008-10-19  Darin Adler  <darin@apple.com>
2285         Reviewed by Oliver Hunt.
2287         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
2288           improve performance by eliminating JSValue as a base class for JSCell
2290         Remove most uses of JSValue, which will be removed in a future patch.
2292         * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
2293         and used JSValuePtr instead.
2294         * bindings/js/JSEventTarget.h: Ditto.
2295         * bindings/js/JSNodeFilterCondition.h: Ditto.
2296         * bindings/js/ScheduledAction.h: Ditto.
2297         * bindings/js/ScriptController.h: Ditto.
2298         * bindings/objc/WebScriptObjectPrivate.h: Ditto.
2299         * bridge/c/c_utility.h: Ditto.
2300         * bridge/jni/jni_jsobject.h: Ditto.
2301         * bridge/jni/jni_utility.h: Ditto.
2302         * bridge/objc/WebScriptObject.h: Ditto.
2303         * dom/Traversal.h: Ditto.
2304         * inspector/InspectorController.cpp: Ditto.
2305         * inspector/JavaScriptProfile.h: Ditto.
2306         * inspector/JavaScriptProfileNode.h: Ditto.
2307         * loader/FrameLoader.h: Ditto.
2308         * page/Console.h: Ditto.
2309         * plugins/MimeTypeArray.h: Ditto.
2310         * plugins/Plugin.h: Ditto.
2311         * plugins/PluginArray.h: Ditto.
2312         * plugins/PluginView.cpp:
2313         (WebCore::getString): Ditto.
2314         (WebCore::PluginView::performRequest): Ditto.
2315         * plugins/gtk/PluginViewGtk.cpp: Ditto.
2316         * plugins/qt/PluginViewQt.cpp: Ditto.
2317         * plugins/win/PluginViewWin.cpp: Ditto.
2319         * bridge/qt/qt_class.cpp:
2320         (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
2321         instead of JSValue*.
2322         * bridge/qt/qt_class.h: Ditto.
2323         * bridge/qt/qt_instance.cpp:
2324         (JSC::Bindings::QtInstance::mark): Ditto.
2325         (JSC::Bindings::QtInstance::invokeMethod): Ditto.
2326         (JSC::Bindings::QtInstance::defaultValue): Ditto.
2327         (JSC::Bindings::QtInstance::stringValue): Ditto.
2328         (JSC::Bindings::QtInstance::numberValue): Ditto.
2329         (JSC::Bindings::QtInstance::booleanValue): Ditto.
2330         (JSC::Bindings::QtInstance::valueOf): Ditto.
2331         (JSC::Bindings::QtField::valueFromInstance): Ditto.
2332         (JSC::Bindings::QtField::setValueToInstance): Ditto.
2333         * bridge/qt/qt_instance.h: Ditto.
2334         * bridge/qt/qt_runtime.cpp: Ditto.
2335         (JSC::Bindings::valueRealType): Ditto.
2336         (JSC::Bindings::convertValueToQVariant): Ditto.
2337         (JSC::Bindings::convertQVariantToValue): Ditto.
2338         (JSC::Bindings::findMethodIndex): Ditto.
2339         (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
2340         (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
2341         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
2342         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
2343         (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
2344         (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
2345         (JSC::Bindings::QtArray::setValueAt): Ditto.
2346         (JSC::Bindings::QtArray::valueAt): Ditto.
2347         * bridge/qt/qt_runtime.h: Ditto.
2349         * bridge/testqtbindings.cpp:
2350         (main): Use JSValuePtr.
2352 2008-10-18  Darin Adler  <darin@apple.com>
2354         Reviewed by Oliver Hunt.
2356         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
2357           improve performance by eliminating JSValue as a base class for JSCell
2359         Tweak a little more to get closer to where we can make JSValuePtr a class.
2361         * bindings/js/JSAudioConstructor.cpp:
2362         (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
2363         (WebCore::constructAudio): Ditto.
2364         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2365         (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
2367         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2368         (WebCore::toHTMLCanvasStyle): Use asString and asObject.
2369         (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
2370         (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
2371         (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
2372         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
2373         (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
2374         (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
2376         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2377         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
2379         * bindings/js/JSDOMBinding.cpp:
2380         (WebCore::setDOMException): Use noValue.
2382         * bindings/js/JSDOMBinding.h:
2383         (WebCore::getDOMPrototype): Use asObject.
2385         * bindings/js/JSDOMWindowBase.cpp:
2386         (WebCore::showModalDialog): Use noValue.
2387         (jsDOMWindowBaseEvent): Use asObject.
2388         (jsDOMWindowBaseImage): Ditto.
2389         (jsDOMWindowBaseMessageChannel): Ditto.
2390         (jsDOMWindowBaseOption): Ditto.
2391         (jsDOMWindowBaseXMLHttpRequest): Ditto.
2392         (jsDOMWindowBaseAudio): Ditto.
2393         (jsDOMWindowBaseXSLTProcessor): Ditto.
2394         (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
2395         (WebCore::JSDOMWindowBase::indexGetter): Ditto.
2396         (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
2397         (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
2398         (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
2399         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
2400         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
2401         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
2402         (windowProtoFuncOpen): Use noValue.
2403         (WebCore::toJSDOMWindow): Use asObject.
2405         * bindings/js/JSDOMWindowCustom.cpp:
2406         (WebCore::setTimeoutOrInterval): Use asString.
2407         (WebCore::toDOMWindow): Use asObject.
2409         * bindings/js/JSEventListener.cpp:
2410         (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
2411         (WebCore::JSLazyEventListener::parseCode): Use asObject.
2413         * bindings/js/JSHTMLCollectionCustom.cpp:
2414         (WebCore::JSHTMLCollection::nameGetter): Use asObject.
2415         * bindings/js/JSHTMLDocumentCustom.cpp:
2416         (WebCore::JSHTMLDocument::nameGetter): Ditto.
2417         * bindings/js/JSHTMLElementCustom.cpp:
2418         (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
2419         * bindings/js/JSHTMLFormElementCustom.cpp:
2420         (WebCore::JSHTMLFormElement::nameGetter): Ditto.
2421         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2422         (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
2423         * bindings/js/JSHTMLOptionElementConstructor.cpp:
2424         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
2425         (WebCore::constructHTMLOptionElement): Ditto.
2426         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2427         (WebCore::JSHTMLOptionsCollection::remove): Ditto.
2428         * bindings/js/JSImageConstructor.cpp:
2429         (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
2430         (WebCore::constructImage): Ditto.
2431         * bindings/js/JSInspectedObjectWrapper.cpp:
2432         (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
2433         * bindings/js/JSInspectorCallbackWrapper.cpp:
2434         (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
2436         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2437         (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
2439         * bindings/js/JSMessageChannelConstructor.cpp:
2440         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
2441         (WebCore::JSMessageChannelConstructor::construct): Ditto.
2442         * bindings/js/JSMimeTypeArrayCustom.cpp:
2443         (WebCore::JSMimeTypeArray::nameGetter): Ditto.
2444         * bindings/js/JSNamedNodeMapCustom.cpp:
2445         (WebCore::JSNamedNodeMap::nameGetter): Ditto.
2446         * bindings/js/JSNamedNodesCollection.cpp:
2447         (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
2448         (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
2449         * bindings/js/JSNodeFilterCustom.cpp:
2450         (WebCore::toNodeFilter): Ditto.
2451         * bindings/js/JSNodeListCustom.cpp:
2452         (WebCore::JSNodeList::nameGetter): Ditto.
2453         * bindings/js/JSPluginArrayCustom.cpp:
2454         (WebCore::JSPluginArray::nameGetter): Ditto.
2455         * bindings/js/JSPluginCustom.cpp:
2456         (WebCore::JSPlugin::nameGetter): Ditto.
2457         * bindings/js/JSPluginElementFunctions.cpp:
2458         (WebCore::runtimeObjectGetter): Ditto.
2459         (WebCore::runtimeObjectPropertyGetter): Ditto.
2460         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2461         (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
2462         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
2463         (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
2464         * bindings/js/JSRGBColor.cpp:
2465         (jsRGBColorRed): Ditto.
2466         (jsRGBColorGreen): Ditto.
2467         (jsRGBColorBlue): Ditto.
2469         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2470         (WebCore::JSSQLResultSetRowList::item): Use noValue.
2472         * bindings/js/JSStorageCustom.cpp:
2473         (WebCore::JSStorage::nameGetter): Use asObject.
2474         (WebCore::JSStorage::deleteProperty): Ditto.
2475         (WebCore::JSStorage::customPut): Ditto.
2476         * bindings/js/JSStyleSheetListCustom.cpp:
2477         (WebCore::JSStyleSheetList::nameGetter): Ditto.
2478         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2479         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
2480         * bindings/js/JSXSLTProcessorCustom.cpp:
2481         (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
2482         (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
2483         (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
2485         * bindings/js/ScriptController.cpp:
2486         (WebCore::ScriptController::evaluate): Use noValue.
2487         * bindings/objc/DOMInternal.mm:
2488         (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
2490         * bindings/objc/WebScriptObject.mm:
2491         (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
2492         (-[WebScriptObject valueForKey:]): Ditto.
2493         (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
2494         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2495         Use asObject and asString.
2497         * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
2499         * bridge/c/c_instance.h: Use JSValuePtr.
2500         * bridge/c/c_runtime.cpp:
2501         (JSC::Bindings::CField::setValueToInstance): Ditto.
2503         * bridge/c/c_utility.cpp:
2504         (JSC::Bindings::convertValueToNPVariant): Use asObject.
2506         * bridge/jni/jni_instance.cpp:
2507         (JavaInstance::booleanValue): Use JSValuePtr.
2508         (JavaInstance::invokeMethod): Ditto. And noValue.
2509         * bridge/jni/jni_jsobject.mm:
2510         (JavaJSObject::getSlot): Ditto.
2511         (JavaJSObject::convertValueToJObject): Ditto.
2512         * bridge/jni/jni_runtime.cpp:
2513         (JavaField::dispatchValueFromInstance): Ditto.
2514         (JavaField::valueFromInstance): Ditto.
2515         (JavaField::dispatchSetValueToInstance): Ditto.
2516         (JavaField::setValueToInstance): Ditto.
2517         (JavaArray::setValueAt): Ditto.
2518         (JavaArray::valueAt): Ditto.
2519         * bridge/jni/jni_runtime.h: Ditto.
2521         * bridge/jni/jni_utility.cpp:
2522         (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
2523         instead of a JSValue*.
2524         (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
2526         * bridge/objc/objc_class.h: Use JSValuePtr.
2527         * bridge/objc/objc_instance.h: Ditto.
2528         * bridge/objc/objc_runtime.h: Ditto.
2530         * bridge/objc/objc_runtime.mm:
2531         (JSC::Bindings::callObjCFallbackObject): Use asObject.
2533         * bridge/objc/objc_utility.h: Use JSValuePtr.
2534         * bridge/objc/objc_utility.mm:
2535         (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
2536         (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
2538         * bridge/runtime.cpp:
2539         (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
2540         (JSC::Bindings::Instance::setValueOfField): Ditto.
2542         * bridge/runtime_array.cpp:
2543         (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
2544         (JSC::RuntimeArray::indexGetter): Ditto.
2545         * bridge/runtime_array.h: Ditto.
2546         * bridge/runtime_method.cpp:
2547         (JSC::RuntimeMethod::lengthGetter): Ditto.
2548         (JSC::callRuntimeMethod): Ditto.
2549         * bridge/runtime_object.cpp:
2550         (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
2551         (JSC::RuntimeObjectImp::fieldGetter): Ditto.
2552         (JSC::RuntimeObjectImp::methodGetter): Ditto.
2554         * loader/FrameLoader.cpp:
2555         (WebCore::FrameLoader::executeScript): Use noValue.
2557         * page/Console.cpp:
2558         (WebCore::Console::trace): Use asInternalFunction.
2560 2008-10-19  Dan Bernstein  <mitz@apple.com>
2562         Reviewed by Timothy Hatcher.
2564         - lower the default button repaint frequency
2566         * rendering/RenderButton.cpp:
2567         (WebCore::RenderButton::styleDidChange): Changed the timer interval from
2568         0.01 to 0.03.
2570 2008-10-18  Dan Bernstein  <mitz@apple.com>
2572         Reviewed by Mark Rowe.
2574         - Windows build fix
2576         * rendering/RenderThemeSafari.cpp:
2577         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
2578         (WebCore::RenderThemeSafari::paintMediaMuteButton):
2579         (WebCore::RenderThemeSafari::paintMediaPlayButton):
2580         (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
2581         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
2582         (WebCore::RenderThemeSafari::paintMediaSliderThumb):
2584 2008-10-18  Dan Bernstein  <mitz@apple.com>
2586         Reviewed by Sam Weinig.
2588         - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
2589           Long-dead decoded image data make up for most of the object cache's memory use over time
2591         Add a cache setting for how long decoded image data should be allowed to
2592         persist in memory after the image has died. By default, this is set to
2593         0, which means "forever".
2595         * loader/Cache.cpp:
2596         (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
2597         * loader/Cache.h:
2598         (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
2599         (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
2600         * loader/CachedImage.cpp:
2601         (WebCore::CachedImage::CachedImage): Initialize the decoded data
2602         deletion timer.
2603         (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
2604         the decoded image data.
2605         (WebCore::CachedImage::addClient): Stop the timer if it is active.
2606         (WebCore::CachedImage::allClientsRemoved): Start the decoded data
2607         deletion timer.
2608         * loader/CachedImage.h:
2610 2008-10-18  Darin Adler  <darin@apple.com>
2612         Reviewed by Dan Bernstein.
2614         - fix https://bugs.webkit.org/show_bug.cgi?id=21645
2615           REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
2617         * html/HTMLFormElement.cpp:
2618         (WebCore::HTMLFormElement::formData):
2619         Fix loop that goes through the FormDataList to go two at a time in a clearer
2620         way. My last patch screwed up the way it got form content from the items.
2621         This "two at a time" approach is a confusing way to do things, which explains
2622         why I got it wrong last time through, but I decided to just fix it locally for
2623         now rather than changing the design of FormDataList.
2625 2008-10-18  Darin Adler  <darin@apple.com>
2627         Reviewed by Cameron Zwarich.
2629         - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
2630           improve performance by eliminating JSValue as a base class for JSCell
2632         Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
2633         changing JSValuePtr to be a class, and then eventually renaming it
2634         to JSValue once that's done.
2636         * bindings/js/JSAttrCustom.cpp:
2637         * bindings/js/JSCSSRuleCustom.cpp:
2638         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2639         * bindings/js/JSCSSValueCustom.cpp:
2640         * bindings/js/JSCanvasPixelArrayCustom.h:
2641         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2642         * bindings/js/JSClipboardCustom.cpp:
2643         * bindings/js/JSConsoleCustom.cpp:
2644         * bindings/js/JSCustomSQLStatementCallback.cpp:
2645         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2646         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2647         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2648         * bindings/js/JSCustomVoidCallback.cpp:
2649         * bindings/js/JSCustomVoidCallback.h:
2650         * bindings/js/JSCustomXPathNSResolver.cpp:
2651         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2652         * bindings/js/JSDOMBinding.cpp:
2653         * bindings/js/JSDOMBinding.h:
2654         * bindings/js/JSDOMWindowBase.cpp:
2655         * bindings/js/JSDOMWindowBase.h:
2656         * bindings/js/JSDOMWindowCustom.cpp:
2657         * bindings/js/JSDOMWindowCustom.h:
2658         * bindings/js/JSDOMWindowShell.cpp:
2659         * bindings/js/JSDOMWindowShell.h:
2660         * bindings/js/JSDatabaseCustom.cpp:
2661         * bindings/js/JSDocumentCustom.cpp:
2662         * bindings/js/JSElementCustom.cpp:
2663         * bindings/js/JSEventCustom.cpp:
2664         * bindings/js/JSEventListener.cpp:
2665         * bindings/js/JSEventTarget.cpp:
2666         * bindings/js/JSEventTargetBase.h:
2667         * bindings/js/JSEventTargetNodeCustom.cpp:
2668         * bindings/js/JSHTMLAllCollection.h:
2669         * bindings/js/JSHTMLAppletElementCustom.cpp:
2670         * bindings/js/JSHTMLCollectionCustom.cpp:
2671         * bindings/js/JSHTMLDocumentCustom.cpp:
2672         * bindings/js/JSHTMLEmbedElementCustom.cpp:
2673         * bindings/js/JSHTMLFormElementCustom.cpp:
2674         * bindings/js/JSHTMLFrameElementCustom.cpp:
2675         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2676         * bindings/js/JSHTMLIFrameElementCustom.cpp:
2677         * bindings/js/JSHTMLInputElementCustom.cpp:
2678         * bindings/js/JSHTMLObjectElementCustom.cpp:
2679         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2680         * bindings/js/JSHTMLSelectElementCustom.cpp:
2681         * bindings/js/JSHTMLSelectElementCustom.h:
2682         * bindings/js/JSHistoryCustom.cpp:
2683         * bindings/js/JSImageDataCustom.cpp:
2684         * bindings/js/JSInspectedObjectWrapper.cpp:
2685         * bindings/js/JSInspectedObjectWrapper.h:
2686         * bindings/js/JSInspectorCallbackWrapper.cpp:
2687         * bindings/js/JSInspectorCallbackWrapper.h:
2688         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2689         * bindings/js/JSLocationCustom.cpp:
2690         * bindings/js/JSMessagePortCustom.cpp:
2691         * bindings/js/JSMimeTypeArrayCustom.cpp:
2692         * bindings/js/JSNamedNodeMapCustom.cpp:
2693         * bindings/js/JSNamedNodesCollection.cpp:
2694         * bindings/js/JSNamedNodesCollection.h:
2695         * bindings/js/JSNavigatorCustom.cpp:
2696         * bindings/js/JSNodeCustom.cpp:
2697         * bindings/js/JSNodeFilterCondition.cpp:
2698         * bindings/js/JSNodeFilterCustom.cpp:
2699         * bindings/js/JSNodeIteratorCustom.cpp:
2700         * bindings/js/JSNodeListCustom.cpp:
2701         * bindings/js/JSPluginArrayCustom.cpp:
2702         * bindings/js/JSPluginCustom.cpp:
2703         * bindings/js/JSPluginElementFunctions.cpp:
2704         * bindings/js/JSPluginElementFunctions.h:
2705         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2706         * bindings/js/JSQuarantinedObjectWrapper.h:
2707         * bindings/js/JSRGBColor.cpp:
2708         * bindings/js/JSRGBColor.h:
2709         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2710         * bindings/js/JSSQLTransactionCustom.cpp:
2711         * bindings/js/JSSVGElementInstanceCustom.cpp:
2712         * bindings/js/JSSVGLengthCustom.cpp:
2713         * bindings/js/JSSVGMatrixCustom.cpp:
2714         * bindings/js/JSSVGPathSegCustom.cpp:
2715         * bindings/js/JSSVGPathSegListCustom.cpp:
2716         * bindings/js/JSSVGPointListCustom.cpp:
2717         * bindings/js/JSSVGTransformListCustom.cpp:
2718         * bindings/js/JSStorageCustom.cpp:
2719         * bindings/js/JSStyleSheetCustom.cpp:
2720         * bindings/js/JSStyleSheetListCustom.cpp:
2721         * bindings/js/JSTextCustom.cpp:
2722         * bindings/js/JSTreeWalkerCustom.cpp:
2723         * bindings/js/JSXMLHttpRequestCustom.cpp:
2724         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2725         * bindings/js/JSXSLTProcessorCustom.cpp:
2726         * bindings/js/ScheduledAction.cpp:
2727         * bindings/js/ScheduledAction.h:
2728         * bindings/js/ScriptController.cpp:
2729         * bindings/js/ScriptController.h:
2730         * bindings/objc/WebScriptObject.mm:
2731         * bindings/scripts/CodeGeneratorJS.pm:
2732         * bridge/NP_jsobject.cpp:
2733         * bridge/c/c_instance.cpp:
2734         * bridge/c/c_instance.h:
2735         * bridge/c/c_runtime.cpp:
2736         * bridge/c/c_runtime.h:
2737         * bridge/c/c_utility.cpp:
2738         * bridge/jni/jni_instance.cpp:
2739         * bridge/jni/jni_instance.h:
2740         * bridge/jni/jni_jsobject.mm:
2741         * bridge/jni/jni_objc.mm:
2742         * bridge/jni/jni_runtime.cpp:
2743         * bridge/jni/jni_runtime.h:
2744         * bridge/jni/jni_utility.cpp:
2745         * bridge/objc/objc_class.mm:
2746         * bridge/objc/objc_instance.h:
2747         * bridge/objc/objc_instance.mm:
2748         * bridge/objc/objc_runtime.h:
2749         * bridge/objc/objc_runtime.mm:
2750         * bridge/objc/objc_utility.h:
2751         * bridge/objc/objc_utility.mm:
2752         * bridge/runtime.h:
2753         * bridge/runtime_array.cpp:
2754         * bridge/runtime_array.h:
2755         * bridge/runtime_method.cpp:
2756         * bridge/runtime_method.h:
2757         * bridge/runtime_object.cpp:
2758         * bridge/runtime_object.h:
2759         * inspector/JavaScriptCallFrame.cpp:
2760         * inspector/JavaScriptCallFrame.h:
2761         * inspector/JavaScriptProfile.cpp:
2762         * inspector/JavaScriptProfileNode.cpp:
2763         * loader/FrameLoader.cpp:
2764         * loader/FrameLoader.h:
2765         * page/Console.cpp:
2766         * page/Console.h:
2767         * plugins/MimeTypeArray.h:
2768         * plugins/Plugin.h:
2769         * plugins/PluginArray.h:
2770         * xml/XMLHttpRequest.cpp:
2771         Replace JSValue* with JSValuePtr.
2773 2008-10-18  Darin Adler  <darin@apple.com>
2775         Reviewed by Oliver Hunt.
2777         - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
2778           improve performance by eliminating JSValue as a base class for JSCell
2780         Update for change to make PreferredPrimitiveType no longer
2781         a member of JSValue.
2783         * bridge/c/c_instance.cpp:
2784         (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
2785         * bridge/jni/jni_instance.cpp:
2786         (JavaInstance::defaultValue): Ditto.
2787         * bridge/objc/objc_instance.mm:
2788         (ObjcInstance::defaultValue): Ditto.
2789         * bridge/qt/qt_instance.cpp:
2790         (JSC::Bindings::QtInstance::defaultValue): Ditto.
2791         * bridge/runtime.h: Ditto. Also removed typedef.
2793 2008-10-18  Darin Adler  <darin@apple.com>
2795         - try to fix Windows build
2797         * rendering/RenderThemeSafari.cpp:
2798         (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
2799         SafariTheme namespace, since there is now an identically named constant in
2800         the ControlPart enum.
2801         (WebCore::RenderThemeSafari::paintButton): Ditto.
2802         (WebCore::RenderThemeSafari::paintTextField): Ditto.
2803         (WebCore::RenderThemeSafari::paintTextArea): Ditto.
2804         (WebCore::RenderThemeSafari::paintSearchField): Ditto.
2805         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
2806         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
2807         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
2809 2008-10-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
2811         Reviewed by Alp Toker.
2813         [GTK] crash after selecting a file on an <input type=file>
2814         https://bugs.webkit.org/show_bug.cgi?id=21385
2816         Follow Mac and Win's behaviors for Icon::paint
2818         * platform/graphics/gtk/IconGtk.cpp:
2819         (WebCore::Icon::paint): check if painting is enabled before
2820         painting the icon
2822 2008-10-18  Zan Dobersek  <zandobersek@gmail.com>
2824         Reviewed by Oliver Hunt.
2826         Qt port build fix.
2828         * platform/qt/RenderThemeQt.h:
2830 2008-10-17  Kevin Watters  <kevinwatters@gmail.com>
2832         Reviewed by Kevin Ollivier
2833         
2834         Fix wx port's scrollbar and drawing handling after recent changes.
2835         
2836         https://bugs.webkit.org/show_bug.cgi?id=21720
2838         * platform/ScrollView.h:
2839         * platform/wx/ScrollViewWx.cpp:
2840         (WebCore::ScrollView::platformVisibleContentRect):
2841         (WebCore::ScrollView::platformContentsSize):
2842         (WebCore::ScrollView::platformSetContentsSize):
2843         * platform/wx/WidgetWx.cpp:
2844         (WebCore::Widget::paint):
2846 2008-10-17  Kevin Ollivier  <kevino@theolliviers.com>
2848         wx build fix. EAppearance -> ControlPart.
2850         * platform/wx/RenderThemeWx.cpp:
2851         (WebCore::RenderThemeWx::isControlStyled):
2852         (WebCore::RenderThemeWx::adjustRepaintRect):
2853         (WebCore::RenderThemeWx::controlSupportsTints):
2854         (WebCore::RenderThemeWx::supportsFocus):
2855         (WebCore::RenderThemeWx::paintButton):
2857 2008-10-17  David Hyatt  <hyatt@apple.com>
2859         Eliminate the EAppearance enum in favor of the new ControlPart enum.  Cut out the scrollbar
2860         values from the enum since they are handled by ScrollbarTheme instead.
2862         Reviewed by Tim Hatcher
2864         * css/CSSPrimitiveValueMappings.h:
2865         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2866         (WebCore::CSSPrimitiveValue::operator ControlPart):
2867         * css/CSSStyleSelector.cpp:
2868         (WebCore::CSSStyleSelector::adjustRenderStyle):
2869         * css/CSSValueKeywords.in:
2870         * platform/gtk/RenderThemeGtk.cpp:
2871         (WebCore::supportsFocus):
2872         (WebCore::RenderThemeGtk::baselinePosition):
2873         (WebCore::setToggleSize):
2874         (WebCore::RenderThemeGtk::setCheckboxSize):
2875         (WebCore::RenderThemeGtk::setRadioSize):
2876         (WebCore::RenderThemeGtk::adjustButtonStyle):
2877         * platform/qt/RenderThemeQt.cpp:
2878         (WebCore::RenderThemeQt::baselinePosition):
2879         (WebCore::RenderThemeQt::controlSupportsTints):
2880         (WebCore::RenderThemeQt::adjustRepaintRect):
2881         (WebCore::RenderThemeQt::isControlStyled):
2882         (WebCore::computeSizeBasedOnStyle):
2883         (WebCore::RenderThemeQt::paintButton):
2884         (WebCore::RenderThemeQt::paintTextField):
2885         (WebCore::RenderThemeQt::paintMenuList):
2886         (WebCore::RenderThemeQt::supportsFocus):
2887         (WebCore::RenderThemeQt::applyTheme):
2888         (WebCore::RenderThemeQt::adjustSliderThumbSize):
2889         * platform/qt/RenderThemeQt.h:
2890         * rendering/RenderSlider.cpp:
2891         (WebCore::RenderSlider::createThumbStyle):
2892         (WebCore::RenderSlider::layout):
2893         (WebCore::RenderSlider::setValueForPosition):
2894         (WebCore::RenderSlider::setPositionFromValue):
2895         (WebCore::RenderSlider::positionForOffset):
2896         (WebCore::RenderSlider::currentPosition):
2897         (WebCore::RenderSlider::setCurrentPosition):
2898         (WebCore::RenderSlider::trackSize):
2899         * rendering/RenderTheme.cpp:
2900         (WebCore::RenderTheme::adjustStyle):
2901         (WebCore::RenderTheme::paint):
2902         (WebCore::RenderTheme::paintBorderOnly):
2903         (WebCore::RenderTheme::paintDecorations):
2904         (WebCore::RenderTheme::isControlContainer):
2905         (WebCore::RenderTheme::isControlStyled):
2906         (WebCore::RenderTheme::supportsFocusRing):
2907         (WebCore::RenderTheme::isDefault):
2908         * rendering/RenderTheme.h:
2909         * rendering/RenderThemeMac.mm:
2910         (WebCore::RenderThemeMac::isControlStyled):
2911         (WebCore::RenderThemeMac::adjustRepaintRect):
2912         (WebCore::RenderThemeMac::baselinePosition):
2913         (WebCore::RenderThemeMac::controlSupportsTints):
2914         (WebCore::RenderThemeMac::adjustButtonStyle):
2915         (WebCore::RenderThemeMac::setButtonCellState):
2916         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
2917         (WebCore::RenderThemeMac::popupInternalPaddingRight):
2918         (WebCore::RenderThemeMac::popupInternalPaddingTop):
2919         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
2920         (WebCore::RenderThemeMac::paintSliderTrack):
2921         (WebCore::RenderThemeMac::paintSliderThumb):
2922         (WebCore::RenderThemeMac::adjustSliderThumbSize):
2923         * rendering/RenderThemeSafari.cpp:
2924         (WebCore::RenderThemeSafari::isControlStyled):
2925         (WebCore::RenderThemeSafari::adjustRepaintRect):
2926         (WebCore::RenderThemeSafari::baselinePosition):
2927         (WebCore::RenderThemeSafari::controlSupportsTints):
2928         (WebCore::RenderThemeSafari::adjustButtonStyle):
2929         (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
2930         (WebCore::RenderThemeSafari::popupInternalPaddingRight):
2931         (WebCore::RenderThemeSafari::popupInternalPaddingTop):
2932         (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
2933         (WebCore::RenderThemeSafari::paintSliderTrack):
2934         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
2935         * rendering/RenderThemeWin.cpp:
2936         (WebCore::RenderThemeWin::supportsFocus):
2937         (WebCore::RenderThemeWin::determineClassicState):
2938         (WebCore::RenderThemeWin::getClassicThemeData):
2939         (WebCore::RenderThemeWin::getThemeData):
2940         (WebCore::drawControl):
2941         (WebCore::RenderThemeWin::paintSliderTrack):
2942         (WebCore::RenderThemeWin::adjustSliderThumbSize):
2943         * rendering/RenderThemeWin.h:
2944         * rendering/style/RenderStyle.h:
2945         (WebCore::InheritedFlags::hasAppearance):
2946         (WebCore::InheritedFlags::appearance):
2947         (WebCore::InheritedFlags::setAppearance):
2948         (WebCore::InheritedFlags::initialAppearance):
2949         * rendering/style/RenderStyleConstants.h:
2951 2008-10-17  David Hyatt  <hyatt@apple.com>
2953         Beginning of the RenderTheme re-architecture (to share more code).  Add the new Theme API header
2954         file.  Add new USE(NEW_THEME) switch that is enabled on Mac.  The Mac theme will be converted first.
2956         Reviewed by Tim Hatcher
2958         * WebCore.vcproj/WebCore.vcproj:
2959         * WebCore.xcodeproj/project.pbxproj:
2960         * config.h:
2961         * platform/Theme.h: Added.
2962         (WebCore::Theme::Theme):
2963         (WebCore::Theme::~Theme):
2964         (WebCore::Theme::baselinePositionAdjustment):
2965         (WebCore::Theme::controlHasInactiveAppearance):
2966         (WebCore::Theme::controlsCanHaveInactiveAppearance):
2967         (WebCore::Theme::controlsCanHaveHoveredAppearance):
2968         (WebCore::Theme::controlDrawsBorder):
2969         (WebCore::Theme::controlDrawsBackground):
2970         (WebCore::Theme::controlDrawsFocusOutline):
2971         (WebCore::Theme::selectionColor):
2972         (WebCore::Theme::textSearchHighlightColor):
2973         (WebCore::Theme::systemColor):
2974         (WebCore::Theme::systemFont):
2975         (WebCore::Theme::caretBlinkFrequency):
2976         (WebCore::Theme::themeChanged):
2977         (WebCore::Theme::controlSize):
2978         (WebCore::Theme::controlFont):
2979         (WebCore::Theme::controlPadding):
2980         (WebCore::Theme::controlInternalPadding):
2981         (WebCore::Theme::controlBorder):
2982         (WebCore::Theme::controlBorderRadius):
2983         (WebCore::Theme::paint):
2984         (WebCore::Theme::inflateControlPaintRect):
2985         * platform/ThemeTypes.h: Added.
2986         (WebCore::):
2987         (WebCore::ControlBox::ControlBox):
2988         (WebCore::ControlBox::top):
2989         (WebCore::ControlBox::right):
2990         (WebCore::ControlBox::bottom):
2991         (WebCore::ControlBox::left):
2992         * platform/mac/ThemeMac.h: Added.
2993         (WebCore::ThemeMac::ThemeMac):
2994         (WebCore::ThemeMac::~ThemeMac):
2995         * platform/mac/ThemeMac.mm: Added.
2996         (WebCore::platformTheme):
2997         * rendering/RenderTheme.cpp:
2998         (WebCore::RenderTheme::RenderTheme):
2999         * rendering/RenderTheme.h:
3001 2008-10-17  Marco Barisione  <marco.barisione@collabora.co.uk>
3003         Reviewed by Sam Weinig. Landed by Jan Alonzo.
3005         https://bugs.webkit.org/show_bug.cgi?id=21603
3006         [GTK] Minor fixes to GOwnPtr
3008         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3009         (WebCore::mediaPlayerPrivateErrorCallback):
3011 2008-10-17  Timothy Hatcher  <timothy@apple.com>
3013         Recompile the JavaScript functions when removing any listener, so functions that are
3014         not being debugged can resume normal speed again.
3016         https://bugs.webkit.org/show_bug.cgi?id=21715
3018         Reviewed by Geoffrey Garen.
3020         * bindings/js/JSDOMWindowBase.cpp:
3021         (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
3022         was firing when closing the window and having the recompile fire after. This was an
3023         overzelious assert now.
3024         * inspector/JavaScriptDebugServer.cpp:
3025         (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
3026         (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
3028 2008-10-17  Timothy Hatcher  <timothy@apple.com>
3030         Fixes a regression where starting a debugging session in
3031         another Web Inspector window would not show any scripts.
3032         Also only attach the debugger to only the required Pages.
3034         https://bugs.webkit.org/show_bug.cgi?id=21708
3036         Reviewed by Darin Adler.
3038         * inspector/JavaScriptDebugServer.cpp:
3039         (WebCore::JavaScriptDebugServer::addListener): Add an assert and
3040         remove the call to willAddFirstListener(). Add a call to
3041         didAddListener().
3042         (WebCore::JavaScriptDebugServer::removeListener): Add an assert
3043         and call to didRemoveListener().
3044         (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
3045         if there is a listener interested in the new Page.
3046         (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
3047         Use hasGlobalListeners() instead of isEmpty().
3048         (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
3049         (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
3050         debugger to the page if non-null, or all pages if page is null.
3051         (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
3052         the debugger only if there are no interested listeners.
3053         (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
3054         call to Page::setDebuggerForAllPages().
3055         * inspector/JavaScriptDebugServer.h:
3056         (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
3058 2008-10-15  Brett Wilson  <brettw@chromium.org>
3060         Reviewed by Timothy Hatcher.
3062         Have ImageDocument generate its own filename for the title of images
3063         without relying on the suggested filename from the network layer, which
3064         may be nonexistant or not relevant.
3065         https://bugs.webkit.org/show_bug.cgi?id=21565
3067         * loader/ImageDocument.cpp:
3068         (WebCore::ImageTokenizer::finish):
3070 2008-10-17  Alexey Proskuryakov  <ap@webkit.org>
3072         Non-Mac build fix.
3074         * GNUmakefile.am:
3075         * WebCore.pro:
3076         * WebCore.vcproj/WebCore.vcproj:
3077         * WebCoreSources.bkl:
3078         Added ActiveDOMObject to the build.
3080 2008-10-17  Alexey Proskuryakov  <ap@webkit.org>
3082         Reviewed by Sam Weinig.
3084         https://bugs.webkit.org/show_bug.cgi?id=21642
3085         Abstract out active object tracking
3087         * WebCore.xcodeproj/project.pbxproj:
3088         * bindings/js/JSDOMBinding.cpp:
3089         (WebCore::markActiveObjectsForDocument):
3090         * dom/ActiveDOMObject.cpp: Added.
3091         (WebCore::ActiveDOMObject::ActiveDOMObject):
3092         (WebCore::ActiveDOMObject::~ActiveDOMObject):
3093         (WebCore::ActiveDOMObject::contextDestroyed):
3094         (WebCore::ActiveDOMObject::stop):
3095         * dom/ActiveDOMObject.h: Added.
3096         (WebCore::ActiveDOMObject::document):
3097         (WebCore::ActiveDOMObject::hasPendingActivity):
3098         (WebCore::ActiveDOMObject::setPendingActivity):
3099         (WebCore::ActiveDOMObject::unsetPendingActivity):
3100         * dom/Document.cpp:
3101         (WebCore::Document::~Document):
3102         (WebCore::Document::stopActiveDOMObjects):
3103         (WebCore::Document::createdActiveDOMObject):
3104         (WebCore::Document::destroyedActiveDOMObject):
3105         * dom/Document.h:
3106         (WebCore::Document::activeDOMObjects):
3107         * dom/MessagePort.cpp:
3108         (WebCore::MessagePort::contextDestroyed):
3109         * dom/MessagePort.h:
3110         * loader/FrameLoader.cpp:
3111         (WebCore::FrameLoader::stopLoading):
3112         * xml/XMLHttpRequest.cpp:
3113         (WebCore::XMLHttpRequest::XMLHttpRequest):
3114         (WebCore::XMLHttpRequest::~XMLHttpRequest):
3115         (WebCore::XMLHttpRequest::associatedFrame):
3116         (WebCore::XMLHttpRequest::responseXML):
3117         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
3118         (WebCore::XMLHttpRequest::initSend):
3119         (WebCore::XMLHttpRequest::send):
3120         (WebCore::XMLHttpRequest::createRequest):
3121         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
3122         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
3123         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
3124         (WebCore::XMLHttpRequest::loadRequestSynchronously):
3125         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
3126         (WebCore::XMLHttpRequest::dropProtection):
3127         (WebCore::XMLHttpRequest::setRequestHeader):
3128         (WebCore::XMLHttpRequest::processSyncLoadResults):
3129         (WebCore::XMLHttpRequest::didFinishLoading):
3130         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
3131         (WebCore::XMLHttpRequest::willSendRequest):
3132         (WebCore::XMLHttpRequest::accessControlCheck):
3133         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3134         (WebCore::XMLHttpRequest::stop):
3135         (WebCore::XMLHttpRequest::contextDestroyed):
3136         * xml/XMLHttpRequest.h:
3137         Move activity tracking to a new ActiveDOMObject class.
3139 2008-10-16  David Hyatt  <hyatt@apple.com>
3141         Simplify styleForRenderer to avoid confusion.  Callers in the SVG filter code thought "forRenderer" meant
3142         they would be given a style that corresponded to the RenderObject* passed in.  This is not what the code
3143         did though.  This patch removes the renderer argument and the Element subclass shadow implementation
3144         so that confusion like this can't occur again.
3146         Reviewed by Oliver Hunt
3148         * dom/Element.cpp:
3149         * dom/Element.h:
3150         * dom/Node.cpp:
3151         (WebCore::Node::createRendererIfNeeded):
3152         (WebCore::Node::styleForRenderer):
3153         * dom/Node.h:
3154         * html/HTMLOptGroupElement.cpp:
3155         (WebCore::HTMLOptGroupElement::attach):
3156         * html/HTMLOptionElement.cpp:
3157         (WebCore::HTMLOptionElement::attach):
3158         * svg/SVGClipPathElement.cpp:
3159         (WebCore::SVGClipPathElement::canvasResource):
3160         * svg/SVGFEDiffuseLightingElement.cpp:
3161         (WebCore::SVGFEDiffuseLightingElement::build):
3162         * svg/SVGFEFloodElement.cpp:
3163         (WebCore::SVGFEFloodElement::build):
3164         * svg/SVGFESpecularLightingElement.cpp:
3165         (WebCore::SVGFESpecularLightingElement::build):
3166         * svg/SVGGradientElement.cpp:
3167         (WebCore::SVGGradientElement::buildStops):
3168         * svg/SVGUseElement.cpp:
3169         (WebCore::SVGUseElement::attachShadowTree):
3171 2008-10-16  David Hyatt  <hyatt@apple.com>
3173         https://bugs.webkit.org/attachment.cgi?bugid=21647
3175         Make RenderStyle inherit from RefCounted so that it works with RefPtr.  RenderStyle was being malloced
3176         out of the RenderArena.  Years and years ago (before TCMalloc), the plan was to make RenderStyles and
3177         all their associated sub-structs use the arena.  However only the RenderStyle itself was ever changed
3178         to use the arena.
3180         At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
3181         as the bulk of the styles on a given page are actually shared.  Not ever making the sub-structs use the
3182         arena also limited the usefulness.
3184         Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
3185         mallocs, there is no reason to keep RenderStyles in the arena.  The benefits of being able to eliminate
3186         manual ref/deref far outweigh keeping them in the arena.
3188         Reviewed by Adam Roben
3190         * css/CSSStyleSelector.cpp:
3191         (WebCore::CSSStyleSelector::CSSStyleSelector):
3192         (WebCore::CSSStyleSelector::~CSSStyleSelector):
3193         (WebCore::CSSStyleSelector::styleForElement):
3194         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
3195         (WebCore::CSSStyleSelector::pseudoStyleForElement):
3196         These methods now return a PassRefPtr.  They will null out the m_style variable as they hand it back
3197         so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
3199         (WebCore::CSSStyleSelector::updateFont):
3200         (WebCore::CSSStyleSelector::checkSelector):
3201         (WebCore::CSSStyleSelector::applyProperty):
3202         (WebCore::CSSStyleSelector::mapFillSize):
3203         (WebCore::CSSStyleSelector::mapFillXPosition):
3204         (WebCore::CSSStyleSelector::mapFillYPosition):
3205         * css/CSSStyleSelector.h:
3206         (WebCore::CSSStyleSelector::style):
3207         * dom/Document.cpp:
3208         (WebCore::Document::recalcStyle):
3209         * dom/Element.cpp:
3210         (WebCore::Element::styleForRenderer):
3211         (WebCore::Element::recalcStyle):
3212         (WebCore::Element::computedStyle):
3213         * dom/Element.h:
3214         * dom/ElementRareData.h:
3215         (WebCore::ElementRareData::ElementRareData):
3216         (WebCore::ElementRareData::resetComputedStyle):
3217         * dom/Node.cpp:
3218         (WebCore::Node::diff):
3219         (WebCore::Node::createRendererIfNeeded):
3220         (WebCore::Node::styleForRenderer):
3221         (WebCore::Node::setRenderStyle):
3222         * dom/Node.h:
3223         * html/CanvasRenderingContext2D.cpp:
3224         (WebCore::CanvasRenderingContext2D::setFont):
3225         * html/HTMLOptGroupElement.cpp:
3226         (WebCore::HTMLOptGroupElement::attach):
3227         (WebCore::HTMLOptGroupElement::detach):
3228         (WebCore::HTMLOptGroupElement::setRenderStyle):
3229         (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
3230         * html/HTMLOptGroupElement.h:
3231         * html/HTMLOptionElement.cpp:
3232         (WebCore::HTMLOptionElement::attach):
3233         (WebCore::HTMLOptionElement::detach):
3234         (WebCore::HTMLOptionElement::setRenderStyle):
3235         (WebCore::HTMLOptionElement::nonRendererRenderStyle):
3236         * html/HTMLOptionElement.h:
3237         * page/animation/AnimationBase.h:
3238         (WebCore::AnimationBase::animate):
3239         * page/animation/AnimationController.cpp:
3240         (WebCore::AnimationController::updateAnimations):
3241         * page/animation/AnimationController.h:
3242         * page/animation/CompositeAnimation.cpp:
3243         (WebCore::CompositeAnimationPrivate::updateTransitions):
3244         (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
3245         (WebCore::CompositeAnimationPrivate::animate):
3246         (WebCore::CompositeAnimation::animate):
3247         * page/animation/CompositeAnimation.h:
3248         * page/animation/ImplicitAnimation.cpp:
3249         (WebCore::ImplicitAnimation::ImplicitAnimation):
3250         (WebCore::ImplicitAnimation::~ImplicitAnimation):
3251         (WebCore::ImplicitAnimation::animate):
3252         (WebCore::ImplicitAnimation::reset):
3253         (WebCore::ImplicitAnimation::isTargetPropertyEqual):
3254         (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
3255         * page/animation/ImplicitAnimation.h:
3256         (WebCore::ImplicitAnimation::create):
3257         * page/animation/KeyframeAnimation.cpp:
3258         (WebCore::KeyframeAnimation::KeyframeAnimation):
3259         (WebCore::KeyframeAnimation::~KeyframeAnimation):
3260         (WebCore::KeyframeAnimation::animate):
3261         (WebCore::KeyframeAnimation::validateTransformFunctionList):
3262         * page/animation/KeyframeAnimation.h:
3263         (WebCore::KeyframeAnimation::create):
3264         (WebCore::KeyframeAnimation::unanimatedStyle):
3265         * rendering/InlineTextBox.cpp:
3266         (WebCore::InlineTextBox::paint):
3267         * rendering/MediaControlElements.cpp:
3268         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
3269         (WebCore::MediaControlInputElement::MediaControlInputElement):
3270         * rendering/RenderBlock.cpp:
3271         (WebCore::RenderBlock::styleDidChange):
3272         (WebCore::RenderBlock::updateFirstLetter):
3273         * rendering/RenderContainer.cpp:
3274         (WebCore::RenderContainer::addChild):
3275         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3276         * rendering/RenderFileUploadControl.cpp:
3277         (WebCore::RenderFileUploadControl::updateFromElement):
3278         (WebCore::RenderFileUploadControl::createButtonStyle):
3279         * rendering/RenderFileUploadControl.h:
3280         * rendering/RenderFlow.cpp:
3281         (WebCore::RenderFlow::createAnonymousFlow):
3282         * rendering/RenderFlow.h:
3283         * rendering/RenderInline.cpp:
3284         (WebCore::RenderInline::addChildToFlow):
3285         * rendering/RenderLayer.cpp:
3286         (WebCore::RenderLayer::updateScrollCornerStyle):
3287         (WebCore::RenderLayer::updateResizerStyle):
3288         (WebCore::RenderLayer::updateReflectionStyle):
3289         * rendering/RenderListItem.cpp:
3290         (WebCore::RenderListItem::styleDidChange):
3291         * rendering/RenderMedia.cpp:
3292         (WebCore::RenderMedia::createPanel):
3293         (WebCore::RenderMedia::createTimeDisplay):
3294         (WebCore::RenderMedia::changeOpacity):
3295         * rendering/RenderObject.cpp:
3296         (WebCore::RenderObject::selectionBackgroundColor):
3297         (WebCore::RenderObject::selectionForegroundColor):
3298         (WebCore::RenderObject::createAnonymousBlock):
3299         (WebCore::RenderObject::setAnimatableStyle):
3300         (WebCore::RenderObject::setStyle):
3301         (WebCore::RenderObject::setStyleInternal):
3302         (WebCore::RenderObject::arenaDelete):
3303         (WebCore::RenderObject::firstLineStyle):
3304         (WebCore::RenderObject::getPseudoStyle):
3305         * rendering/RenderObject.h:
3306         (WebCore::RenderObject::style):
3307         * rendering/RenderSVGBlock.cpp:
3308         (WebCore::RenderSVGBlock::setStyle):
3309         * rendering/RenderSVGBlock.h:
3310         * rendering/RenderScrollbar.cpp:
3311         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
3312         (WebCore::RenderScrollbar::updateScrollbarPart):
3313         * rendering/RenderScrollbar.h:
3314         * rendering/RenderSlider.cpp:
3315         (WebCore::RenderSlider::styleDidChange):
3316         (WebCore::RenderSlider::createThumbStyle):
3317         (WebCore::RenderSlider::updateFromElement):
3318         * rendering/RenderSlider.h:
3319         * rendering/RenderTable.cpp:
3320         (WebCore::RenderTable::addChild):
3321         * rendering/RenderTableRow.cpp:
3322         (WebCore::RenderTableRow::addChild):
3323         * rendering/RenderTableSection.cpp:
3324         (WebCore::RenderTableSection::addChild):
3325         * rendering/RenderTextControl.cpp:
3326         (WebCore::RenderTextControl::styleDidChange):
3327         (WebCore::RenderTextControl::createInnerBlockStyle):
3328         (WebCore::RenderTextControl::createInnerTextStyle):
3329         (WebCore::RenderTextControl::createResultsButtonStyle):
3330         (WebCore::RenderTextControl::createCancelButtonStyle):
3331         (WebCore::RenderTextControl::createSubtreeIfNeeded):
3332         (WebCore::RenderTextControl::updatePlaceholderVisibility):
3333         * rendering/RenderTextControl.h:
3334         * rendering/TextControlInnerElements.cpp:
3335         (WebCore::TextControlInnerElement::attachInnerElement):
3336         * rendering/TextControlInnerElements.h:
3337         * rendering/style/KeyframeList.cpp:
3338         (WebCore::KeyframeList::clear):
3339         (WebCore::KeyframeList::operator==):
3340         (WebCore::KeyframeList::insert):
3341         * rendering/style/KeyframeList.h:
3342         (WebCore::KeyframeValue::KeyframeValue):
3343         (WebCore::KeyframeValue::~KeyframeValue):
3344         (WebCore::KeyframeValue::key):
3345         (WebCore::KeyframeValue::style):
3346         * rendering/style/RenderStyle.cpp:
3347         (WebCore::defaultStyle):
3348         (WebCore::RenderStyle::create):
3349         (WebCore::RenderStyle::createDefaultStyle):
3350         (WebCore::RenderStyle::clone):
3351         (WebCore::RenderStyle::RenderStyle):
3352         (WebCore::RenderStyle::getCachedPseudoStyle):
3353         (WebCore::RenderStyle::addCachedPseudoStyle):
3354         * rendering/style/RenderStyle.h:
3355         (WebCore::):
3356         (WebCore::InheritedFlags::operator!=):
3357         * svg/SVGClipPathElement.cpp:
3358         (WebCore::SVGClipPathElement::canvasResource):
3359         * svg/SVGGradientElement.cpp:
3360         (WebCore::SVGGradientElement::buildStops):
3361         * svg/SVGStyledElement.cpp:
3362         (WebCore::SVGStyledElement::resolveStyle):
3363         * svg/SVGStyledElement.h:
3364         * svg/SVGUseElement.cpp:
3365         (WebCore::SVGUseElement::recalcStyle):
3366         (WebCore::SVGUseElement::attachShadowTree):
3368 2008-10-16  Kenneth Russell  <kenneth.russell@sun.com>
3370         Reviewed and landed by Anders Carlsson.
3372         https://bugs.webkit.org/show_bug.cgi?id=21587
3373         NPN_PluginThreadAsyncCall does not work properly
3374         
3375         * plugins/PluginMainThreadScheduler.cpp:
3376         (WebCore::PluginMainThreadScheduler::dispatchCalls):
3377         Make sure to set m_callPending to false once the queue has been cleared.
3379 2008-10-15  Alexey Proskuryakov  <ap@webkit.org>
3381         Reviewed by Darin Adler.
3383         https://bugs.webkit.org/show_bug.cgi?id=21609
3384         Make MessagePorts protect their peers across heaps
3386         * dom/MessagePort.cpp:
3387         (WebCore::MessagePort::MessagePort):
3388         * dom/MessagePort.h:
3389         (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
3390         (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
3391         Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
3392         means that the implementation object knows about JS bindings - but it is not possible to
3393         access JS wrappers from another heap/thread.
3395         * bindings/js/JSDOMBinding.cpp:
3396         (WebCore::markCrossHeapDependentObjectsForDocument):
3397         * bindings/js/JSDOMBinding.h:
3398         * bindings/js/JSDOMWindowBase.cpp:
3399         (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
3400         * bindings/js/JSDOMWindowBase.h:
3401         Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
3402         hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
3403         as long as its entangled port is accessible itself.
3405 2008-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
3407         Remove unneeded check of whether a Page defers loading before running it
3408         in a modal dialog.
3410         No test possible.
3412         Reviewed by Tim Hatcher.
3414         * page/Chrome.cpp:
3416 2008-10-15  Geoffrey Garen  <ggaren@apple.com>
3418         Reviewed by Cameron Zwarich.
3420         Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
3421         Start the debugger without reloading the inspected page
3423         * WebCore.base.exp: New symbols.
3425         * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
3426         * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
3427         * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
3429         * inspector/InspectorController.cpp:
3430         (WebCore::InspectorController::setWindowVisible):
3431         (WebCore::InspectorController::windowScriptObjectAvailable):
3432         (WebCore::InspectorController::startDebugging):
3433         * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
3434         to startDebugging, and changed its behavior to match.
3436         * inspector/JavaScriptDebugListener.h:
3437         * inspector/JavaScriptDebugServer.cpp:
3438         (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
3439         (WebCore::JavaScriptDebugServer::addListener):
3440         (WebCore::JavaScriptDebugServer::removeListener):
3441         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
3442         (WebCore::JavaScriptDebugServer::willAddFirstListener):
3443         (WebCore::JavaScriptDebugServer::didRemoveLastListener):
3444         * inspector/JavaScriptDebugServer.h: Refactored the
3445         JavaScriptDebugServer to centralize handling of adding the first listener
3446         and removing the last. Then, added a feature to recompile all JS functions
3447         in these cases. This allows us to dynamically add and remove hooks like
3448         the debugger hooks without reloading the page.
3450         * inspector/front-end/ScriptsPanel.js:
3451         * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
3452         startDebugging rename. Removed all UI that claimed that starting the
3453         debugger would reload the page.
3455 2008-10-15  Adele Peterson  <adele@apple.com>
3457         Attempt to fix the Tiger build.
3459         * platform/network/mac/ResourceHandleMac.mm:
3461 2008-10-15  Holger Hans Peter Freyther  <zecke@selfish.org>
3463         Build fix attempt.
3465         Try to fix static/non-static declaration of g_string_append_uri_escape
3466         by renaming that string. Another look needs to be taken.
3468         * platform/gtk/guriescape.c:
3469         (_webcore_g_string_append_uri_escaped):
3470         (_webcore_g_uri_escape_string):
3472 2008-10-15  Holger Hans Peter Freyther  <zecke@selfish.org>
3474         Build fix.
3476         m_animatingImageType is gone.
3478         * platform/graphics/cairo/ImageCairo.cpp:
3479         (WebCore::BitmapImage::BitmapImage):
3481 2008-10-15  Jeff Cook <cookiecaper@gmail.com>
3483         Reviewed by Holger Freyther.
3485         Stop SIGSEGV when leaving a page with a Flash object by reordering
3486         window destruction and plugin stop.
3488         See https://bugs.webkit.org/show_bug.cgi?id=20779
3490         * plugins/gtk/PluginViewGtk.cpp:
3491         (WebCore::PluginView::stop):
3493 2008-10-15  Adele Peterson  <adele@apple.com>
3495         Reviewed by Sam Weinig.
3497         Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist. 
3499         * platform/network/ResourceHandle.h:
3500         * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
3501         * platform/network/mac/ResourceHandleMac.mm:
3502         (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
3503         (WebCore::ResourceHandle::start):
3504         (WebCore::ResourceHandle::cancel):
3505         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
3506         (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
3507         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
3508         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
3510 2008-10-15  Peter Kasting  <pkasting@google.com>
3512         Reviewed by David Hyatt.
3514         Qt build bustage fix.
3516         * platform/graphics/qt/StillImageQt.h:
3517         (WebCore::StillImage::destroyDecodedData):
3519 2008-10-15  David Hyatt  <hyatt@apple.com>
3521         Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
3523         Reviewed by Mark Rowe
3525         * rendering/RenderScrollbar.cpp:
3526         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
3527         (WebCore::RenderScrollbar::updateScrollbarPart):
3529 2008-10-15  Peter Kasting  <pkasting@google.com>
3531         Reviewed by David Hyatt.
3533         https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
3534         Account for paint and timer lag when animating images.  Also pretend
3535         that images whose animations were paused (by becoming invisible)
3536         continued to animate, by "catching up" to the correct frame when they're
3537         shown again.
3539         * platform/graphics/BitmapImage.cpp:
3540         (WebCore::BitmapImage::BitmapImage):
3541         (WebCore::BitmapImage::destroyDecodedData):
3542         (WebCore::BitmapImage::cacheFrame):
3543         (WebCore::BitmapImage::frameIsCompleteAtIndex):
3544         (WebCore::BitmapImage::frameDurationAtIndex):
3545         (WebCore::BitmapImage::frameHasAlphaAtIndex):
3546         (WebCore::BitmapImage::repetitionCount):
3547         (WebCore::BitmapImage::shouldAnimate):
3548         (WebCore::BitmapImage::startAnimation):
3549         (WebCore::BitmapImage::resetAnimation):
3550         (WebCore::BitmapImage::advanceAnimation):
3551         (WebCore::BitmapImage::internalAdvanceAnimation):
3552         (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
3553         * platform/graphics/BitmapImage.h:
3554         (WebCore::FrameData::FrameData):
3555         (WebCore::BitmapImage::):
3556         * platform/graphics/GeneratedImage.h:
3557         (WebCore::GeneratedImage::destroyDecodedData):
3558         * platform/graphics/Image.h:
3559         * platform/graphics/cairo/ImageCairo.cpp:
3560         (WebCore::FrameData::clear):
3561         (WebCore::BitmapImage::BitmapImage):
3562         (WebCore::BitmapImage::draw):
3563         * platform/graphics/cg/ImageCG.cpp:
3564         (WebCore::FrameData::clear):
3565         (WebCore::BitmapImage::BitmapImage):
3566         (WebCore::BitmapImage::draw):
3567         * platform/graphics/cg/PDFDocumentImage.h:
3568         (WebCore::PDFDocumentImage::destroyDecodedData):
3569         * platform/graphics/qt/ImageQt.cpp:
3570         (WebCore::FrameData::clear):
3571         (WebCore::BitmapImage::draw):
3572         * platform/graphics/wx/ImageWx.cpp:
3573         (WebCore::FrameData::clear):
3574         (WebCore::BitmapImage::draw):
3575         * svg/graphics/SVGImage.h:
3576         (WebCore::SVGImage::destroyDecodedData):
3578 2008-10-14  Maxime Britto  <britto@apple.com>
3580         Reviewed by Darin Adler, tweaked and landed by Beth.
3582         * WebCore.base.exp: Exposes two functions to be able to create a 
3583         selection from a point on the screen. Also exposes the new 
3584         TextIterator::currentNode function.
3585         * WebCore/editing/TextIterator.cpp:
3586         (TextIterator::currentNode) : New function that returns the current 
3587         text node or NULL if there is no text node.
3589 2008-10-15  Marco Barisione  <marco.barisione@collabora.co.uk>
3591         Reviewed by Holger Freyther.
3593         http://bugs.webkit.org/show_bug.cgi?id=21211
3594         [CURL] Upload doesn't work because cancel is called
3596         FormDataStream::read returns 0 when retrieving data from the form
3597         fails, but also when there is no more data to send. This means that
3598         ResourceHandleManager::cancel is always called even when the data was
3599         successfully sent.
3601         Check if there are more elements in the form before calling
3602         FormDataStream::read.
3604         * platform/network/curl/FormDataStreamCurl.cpp:
3605         (WebCore::FormDataStream::hasMoreElements):
3606         * platform/network/curl/FormDataStreamCurl.h:
3607         * platform/network/curl/ResourceHandleManager.cpp:
3608         (WebCore::readCallback):
3610 2008-10-15  Marco Barisione  <marco.barisione@collabora.co.uk>
3612         Reviewed by Holger Freyther.
3614         http://bugs.webkit.org/show_bug.cgi?id=20664
3615         [GTK] File names are not always encodable in UTF-8
3617         On Linux file names are just raw data and cannot always be directly
3618         encoded in UTF-8 or in any other encodings, so we escape them before
3619         storing the file name in a String and unescape them before passing
3620         them to native functions handling files.
3622         * GNUmakefile.am:
3623         * platform/FileSystem.h:
3624         * platform/gtk/FileChooserGtk.cpp:
3625         (WebCore::stringByAdoptingFileSystemRepresentation):
3626         (WebCore::FileChooser::basenameForWidth):
3627         * platform/gtk/FileSystemGtk.cpp:
3628         (WebCore::filenameToString):
3629         (WebCore::filenameFromString):
3630         (WebCore::filenameForDisplay):
3631         (WebCore::fileExists):
3632         (WebCore::deleteFile):
3633         (WebCore::deleteEmptyDirectory):
3634         (WebCore::getFileSize):
3635         (WebCore::getFileModificationTime):
3636         (WebCore::makeAllDirectories):
3637         (WebCore::homeDirectoryPath):
3638         (WebCore::pathGetFileName):
3639         (WebCore::listDirectory):
3640         * platform/gtk/KURLGtk.cpp:
3641         (WebCore::KURL::fileSystemPath):
3642         * platform/gtk/SharedBufferGtk.cpp:
3643         (WebCore::SharedBuffer::createWithContentsOfFile):
3644         * platform/gtk/guriescape.c: Added.
3645         (is_valid):
3646         (gunichar_ok):
3647         (g_string_append_uri_escaped):
3648         (_webcore_g_uri_escape_string):
3649         * platform/gtk/guriescape.h: Added.
3651 2008-10-15  Dirk Schulze  <vbs85@gmx.de>
3653         Reviewed by Eric Seidel.
3655         - part of https://bugs.webkit.org/show_bug.cgi?id=20543
3656           Moved gradient spread method out of SVG into the GraphicsContext.
3658         * platform/graphics/GraphicsContext.cpp:
3659         (WebCore::GraphicsContext::spreadMethod):
3660         (WebCore::GraphicsContext::setSpreadMethod):
3661         * platform/graphics/GraphicsContext.h:
3662         (WebCore::):
3663         * platform/graphics/GraphicsContextPrivate.h:
3664         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3665         (WebCore::applySpreadMethod):
3666         (WebCore::GraphicsContext::fillPath):
3667         (WebCore::GraphicsContext::strokePath):
3668         * platform/graphics/qt/GraphicsContextQt.cpp:
3669         (WebCore::applySpreadMethod):
3670         (WebCore::GraphicsContext::fillPath):
3671         (WebCore::GraphicsContext::strokePath):
3672         * svg/GradientAttributes.h:
3673         (WebCore::GradientAttributes::GradientAttributes):
3674         (WebCore::GradientAttributes::spreadMethod):
3675         (WebCore::GradientAttributes::setSpreadMethod):
3676         * svg/SVGGradientElement.cpp:
3677         (WebCore::SVGGradientElement::parseMappedAttribute):
3678         * svg/SVGGradientElement.h:
3679         * svg/SVGLinearGradientElement.cpp:
3680         (WebCore::SVGLinearGradientElement::collectGradientProperties):
3681         * svg/SVGRadialGradientElement.cpp:
3682         (WebCore::SVGRadialGradientElement::collectGradientProperties):
3683         * svg/graphics/SVGPaintServerGradient.cpp:
3684         (WebCore::operator<<):
3685         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
3686         (WebCore::SVGPaintServerGradient::spreadMethod):
3687         (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
3688         (WebCore::SVGPaintServerGradient::externalRepresentation):
3689         * svg/graphics/SVGPaintServerGradient.h:
3690         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
3691         (WebCore::SVGPaintServerGradient::setup):
3692         * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
3693         (WebCore::SVGPaintServerGradient::setup):
3695 2008-10-09  Darin Fisher  <darin@chromium.org>
3697         Reviewed by Sam Weinig.
3699         Make pan scrolling a platform configurable option
3700         https://bugs.webkit.org/show_bug.cgi?id=21515
3702         * page/EventHandler.cpp:
3703         (WebCore::EventHandler::handleAutoscroll):
3704         (WebCore::EventHandler::autoscrollTimerFired):
3705         (WebCore::EventHandler::stopAutoscrollTimer):
3706         (WebCore::EventHandler::handleMousePressEvent):
3707         (WebCore::EventHandler::keyEvent):
3709 2008-10-10  Darin Fisher  <darin@chromium.org>
3711         Reviewed by Darin Adler.
3713         Add some PLATFORM(CHROMIUM) ifdefs to WebCore
3714         https://bugs.webkit.org/show_bug.cgi?id=21511
3716         * loader/FTPDirectoryDocument.cpp:
3717         * loader/FTPDirectoryParser.cpp:
3718         * loader/FrameLoader.cpp:
3719         (WebCore::FrameLoader::finishedLoadingDocument):
3720         * platform/ContextMenuItem.h:
3721         * platform/Cursor.h:
3722         * platform/DragData.h:
3723         * platform/DragImage.h:
3724         * platform/Pasteboard.h:
3725         * platform/PlatformKeyboardEvent.h:
3726         (WebCore::PlatformKeyboardEvent::isSystemKey):
3727         * platform/PlatformMenuDescription.h:
3728         * platform/PlatformMouseEvent.h:
3729         * platform/PlatformWheelEvent.h:
3730         * platform/PopupMenu.h:
3731         * platform/ScrollView.h:
3732         * platform/Widget.h:
3733         * platform/network/NetworkStateNotifier.h:
3735 2008-10-14  Chris Marrin  <cmarrin@apple.com>
3737         Reviewed by Darin Adler.
3739         Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
3740         Optimize keyframe style sheet changes by avoiding styleSheetChanged()
3742         Test: css3/change-keyframes.html
3744         * css/WebKitCSSKeyframesRule.cpp:
3745         (WebCore::WebKitCSSKeyframesRule::append):
3746         (WebCore::WebKitCSSKeyframesRule::deleteRule):
3748 2008-10-14  David Hyatt  <hyatt@apple.com>
3750         https://bugs.webkit.org/show_bug.cgi?id=21595
3752         Clean up background and overflow propagation from the body to the viewport.  Make it match the
3753         latest CSS2.1 spec thinking.
3755         Reviewed by Adam Roben
3757         Added many tests at fast/body-propagation/.  These are Simon Pieters' tests of propagation handling
3758         (available at http://simon.html5.org/test/css/magic-body/).
3760         * dom/Document.cpp:
3761         (WebCore::Document::body):
3762         * page/FrameView.cpp:
3763         (WebCore::FrameView::layout):
3764         * rendering/RenderBox.cpp:
3765         (WebCore::RenderBox::styleDidChange):
3766         (WebCore::RenderBox::paintRootBoxDecorations):
3767         (WebCore::RenderBox::paintBoxDecorations):
3768         (WebCore::RenderBox::repaintLayerRectsForImage):
3770 2008-10-14  Dimitri Glazkov  <dglazkov@chromium.org>
3772         Reviewed and landed by Sam Weinig.
3774         Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
3775         remove NSResolver code, leaving only checking for selectors that need
3776         NS resolution and throwing a coresponding error.
3778         * WebCore.pro:
3779         * WebCore.vcproj/WebCore.vcproj:
3780         * WebCore.xcodeproj/project.pbxproj:
3781         * WebCoreSources.bkl:
3782         * bindings/js/JSDocumentCustom.cpp:
3783         * bindings/js/JSDocumentFragmentCustom.cpp:
3784         * bindings/js/JSElementCustom.cpp:
3785         * bindings/js/JSNSResolver.cpp: Removed.
3786         * bindings/js/JSNSResolver.h: Removed.
3787         * dom/Document.idl:
3788         * dom/DocumentFragment.idl:
3789         * dom/Element.idl:
3790         * dom/NSResolver.h: Removed.
3791         * dom/NSResolver.idl: Removed.
3792         * dom/Node.h:
3793         * dom/Node.cpp:
3794         (WebCore::forEachTagSelector):
3795         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
3796         (WebCore::selectorNeedsNamespaceResolution):
3797         (WebCore::Node::querySelector):
3798         (WebCore::Node::querySelectorAll):
3800 2008-10-14  Darin Adler  <darin@apple.com>
3802         Reviewed by Sam Weinig (all but the FormDataListItem rename).
3804         - https://bugs.webkit.org/show_bug.cgi?id=21593
3805           Bug 21593: add multiple-file support to HTMLFormElement
3807         * html/FormDataList.cpp: Removed appendFile since it's now inline.
3808         Also took incorrect old copyrights off of this file that are left
3809         over from when it was split.
3810         * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
3811         made it a member of FormDataList. Changed it to hold a File object
3812         instead of a path. And made its data members private. Changed
3813         FormDataList::appendFile accordingly.
3815         * html/HTMLFormElement.cpp:
3816         (WebCore::HTMLFormElement::formData): Updated for above changes.
3817         Removed the code that special-cases HTMLInputElement, because now
3818         the FormDataListItem has everything we need. And if there are
3819         multiple files, we'll get multiple list items for them.
3821         * html/HTMLInputElement.cpp:
3822         (WebCore::HTMLInputElement::appendFormData): Changed the code for
3823         <input type=file> to use File objects instead of path strings and
3824         also to append multiple files if the file list has them.
3826 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
3828         Reviewed by Simon.
3829         
3830         Fix QtWebKit scrollbar painting errors
3832         * platform/qt/ScrollbarThemeQt.cpp:
3833         (WebCore::ScrollbarThemeQt::paint):
3834         (WebCore::ScrollbarThemeQt::paintScrollCorner):
3836 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
3838         Reviewed by Simon.
3840         Fix scrollbar arrows for horizontal scrollbars
3842         * platform/qt/ScrollbarThemeQt.cpp:
3843         (WebCore::styleOptionSlider):
3845 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
3847         Reviewed by Simon.
3849         Use style-painter to draw scrollbars in ScrollbarThemeQt
3850         
3851         This has the benefit of setting up the painter properly without
3852         antialiasing and saving and restoring the brush. It also ensures
3853         that we use the style of the QWebView over the QApplication style
3854         if possible.
3856         * platform/qt/RenderThemeQt.cpp:
3857         (WebCore::StylePainter::StylePainter):
3858         (WebCore::StylePainter::init):
3859         * platform/qt/RenderThemeQt.h:
3860         * platform/qt/ScrollbarThemeQt.cpp:
3861         (WebCore::ScrollbarThemeQt::paint):
3863 2008-10-13  David Hyatt  <hyatt@apple.com>
3865         Add support for CSS transitions on some SVG properties.  This patch is intended to be a guideline
3866         for how to add support for the rest.
3868         Reviewed by Oliver Hunt
3870         * page/animation/AnimationBase.cpp:
3871         (WebCore::ensurePropertyMap):
3872         * rendering/style/RenderStyle.h:
3873         (WebCore::RenderStyle::fillOpacity):
3874         (WebCore::RenderStyle::setFillOpacity):
3875         (WebCore::RenderStyle::strokeOpacity):
3876         (WebCore::RenderStyle::setStrokeOpacity):
3877         (WebCore::RenderStyle::floodOpacity):
3878         (WebCore::RenderStyle::setFloodOpacity):
3880 2008-10-13  David Hyatt  <hyatt@apple.com>
3882         <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
3884         Fix for disabled scrollbars not painting in Windows Safari.  Make sure that the Windows theme
3885         implements paintTrackBackground so that when the thumb is not present the track still paints.
3887         Reviewed by Oliver Hunt
3889         * platform/ScrollbarThemeComposite.cpp:
3890         (WebCore::ScrollbarThemeComposite::paint):
3891         * platform/win/ScrollbarThemeWin.cpp:
3892         (WebCore::ScrollbarThemeWin::paintTrackBackground):
3893         * platform/win/ScrollbarThemeWin.h:
3895 2008-10-13  David Hyatt  <hyatt@apple.com>
3897         Fix over-invalidation of native scrollbars.
3899         Reviewed by Oliver Hunt
3901         * platform/Scrollbar.h:
3902         (WebCore::Scrollbar::styleChanged):
3903         * platform/mac/ScrollbarThemeMac.mm:
3904         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
3905         * rendering/RenderScrollbar.cpp:
3906         (WebCore::RenderScrollbar::styleChanged):
3908 2008-10-13  Alp Toker  <alp@nuanti.com>
3910         Fix autotools dist build target by listing recently added header
3911         files only. Not reviewed.
3913         * GNUmakefile.am:
3915 2008-10-13  Mark Rowe  <mrowe@apple.com>
3917         Reviewed by Brady Eidson.
3919         Don't run a SQLite query on every iteration of the sync thread when the query
3920         will touch a large portion of the icon database while performing no useful work.
3922         * loader/icon/IconDatabase.cpp:
3923         (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
3924         we modified the database.
3925         (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
3926         unless we've been asked to prune any dangling pageURLs that we find.
3928 2008-10-13  Maciej Stachowiak  <mjs@apple.com>
3930         Rubber stamped by Mark Rowe.
3931         
3932         - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
3934         * Configurations/DebugRelease.xcconfig:
3936 2008-10-13  David Hyatt  <hyatt@apple.com>
3938         Make dropdown lists on Windows work with CSS custom scrollbars.
3940         Reviewed by Adele
3942         * platform/PopupMenu.h:
3943         (WebCore::PopupMenu::scrollbarCornerPresent):
3944         * platform/PopupMenuClient.h:
3945         * platform/win/PopupMenuWin.cpp:
3946         (WebCore::PopupMenu::show):
3947         * rendering/RenderMenuList.cpp:
3948         (WebCore::RenderMenuList::createScrollbar):
3949         * rendering/RenderMenuList.h:
3950         * rendering/RenderTextControl.cpp:
3951         (WebCore::RenderTextControl::createScrollbar):
3952         * rendering/RenderTextControl.h:
3954 2008-10-13  Chris Fleizach  <cfleizach@apple.com>
3956         Reviewed by Beth Dakin.
3958         <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
3960         Links from image maps were not being included in the web area's AXLinkUIElements attribute.
3961         The position of image map links was being reported incorrectly and the parent-chain
3962         hierarchy for image map links was incorrect because image map links did not have a reference
3963         to their parent image. 
3965         Test: accessibility/document-links.html
3967         * page/AccessibilityImageMapLink.cpp:
3968         (WebCore::AccessibilityImageMapLink::parentObject):
3969         (WebCore::AccessibilityImageMapLink::actionElement):
3970         (WebCore::AccessibilityImageMapLink::elementRect):
3971         * page/AccessibilityImageMapLink.h:
3972         (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
3973         (WebCore::AccessibilityImageMapLink::setParent):
3974         * page/AccessibilityObject.cpp:
3975         * page/AccessibilityObject.h:
3976         * page/AccessibilityRenderObject.cpp:
3977         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
3978         (WebCore::AccessibilityRenderObject::getDocumentLinks):
3979         (WebCore::AccessibilityRenderObject::addChildren):
3980         * page/AccessibilityRenderObject.h:
3981         * page/mac/AccessibilityObjectWrapper.mm:
3982         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3984 2008-10-13  David Hyatt  <hyatt@apple.com>
3986         Make RenderListBox work with CSS scrollbars.  Refactoring this code to support creation/destruction in
3987         the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
3988         idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
3990         Reviewed by Tim Hatcher
3992         Added scrollbars/listbox-scrollbar-combinations.html
3994         * rendering/RenderListBox.cpp:
3995         (WebCore::RenderListBox::~RenderListBox):
3996         (WebCore::RenderListBox::updateFromElement):
3997         (WebCore::RenderListBox::createScrollbar):
3998         (WebCore::RenderListBox::destroyScrollbar):
3999         (WebCore::RenderListBox::setHasVerticalScrollbar):
4000         * rendering/RenderListBox.h:
4002 2008-10-13  David Hyatt  <hyatt@apple.com>
4004         In order to always match the :corner-present pseudo-class properly, delay initial updating of
4005         scrollbar styles until the layer has the scrollbars in its member variables.
4007         Reviewed by Tim Hatcher
4009         * rendering/RenderLayer.cpp:
4010         (WebCore::RenderLayer::setHasHorizontalScrollbar):
4011         (WebCore::RenderLayer::setHasVerticalScrollbar):
4012         * rendering/RenderScrollbar.cpp:
4013         (WebCore::RenderScrollbar::RenderScrollbar):
4015 2008-10-13  Sam Weinig  <sam@webkit.org>
4017         Reviewed by Dan Bernstein.
4019         Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
4020         5 false positive StructureID leaks
4022         In WebCore, we intentionally leak the common JSGlobalData which in turn
4023         leaks 5 StructureIDs.  Use the new JSGlobalData::createLeaked in order to
4024         ignore the StructureIDs leaked within.
4026         * bindings/js/JSDOMWindowBase.cpp:
4027         (WebCore::JSDOMWindowBase::commonJSGlobalData):
4029 2008-10-13  David Hyatt  <hyatt@apple.com>
4031         Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
4032         artwork based on whether there is a scrollbar corner present.
4034         Reviewed by Tim Hatcher
4036         * css/CSSSelector.cpp:
4037         (WebCore::CSSSelector::extractPseudoType):
4038         * css/CSSSelector.h:
4039         (WebCore::CSSSelector::):
4040         * css/CSSStyleSelector.cpp:
4041         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
4042         * platform/ScrollView.cpp:
4043         (WebCore::ScrollView::scrollbarCornerPresent):
4044         * platform/ScrollView.h:
4045         * platform/ScrollbarClient.h:
4046         * rendering/RenderLayer.cpp:
4047         (WebCore::cornerRect):
4048         (WebCore::scrollCornerRect):
4049         (WebCore::resizerCornerRect):
4050         (WebCore::RenderLayer::scrollbarCornerPresent):
4051         (WebCore::RenderLayer::setHasHorizontalScrollbar):
4052         (WebCore::RenderLayer::setHasVerticalScrollbar):
4053         * rendering/RenderLayer.h:
4054         (WebCore::RenderLayer::horizontalScrollbar):
4055         (WebCore::RenderLayer::verticalScrollbar):
4056         * rendering/RenderListBox.h:
4057         (WebCore::RenderListBox::scrollbarCornerPresent):
4059 2008-10-13  David Hyatt  <hyatt@apple.com>
4061         Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
4062         test case for all this can land).
4064         Reviewed by Tim Hatcher
4066         * css/CSSStyleSelector.cpp:
4067         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
4068         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
4069         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
4070         * rendering/RenderLayer.cpp:
4071         (WebCore::RenderLayer::paintOverflowControls):
4072         (WebCore::RenderLayer::paintScrollCorner):
4073         (WebCore::RenderLayer::paintResizer):
4074         (WebCore::RenderLayer::styleChanged):
4075         (WebCore::RenderLayer::updateScrollCornerStyle):
4076         (WebCore::RenderLayer::updateResizerStyle):
4077         * rendering/RenderLayer.h:
4078         * rendering/RenderScrollbar.cpp:
4079         (WebCore::RenderScrollbar::paint):
4080         * rendering/RenderScrollbarPart.cpp:
4081         (WebCore::RenderScrollbarPart::paintIntoRect):
4083 2008-10-13  David Hyatt  <hyatt@apple.com>
4085         Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
4086         and invalidate properly as images load, etc.
4088         Reviewed by Tim Hatcher
4090         * rendering/RenderLayer.cpp:
4091         (WebCore::cornerRect):
4092         (WebCore::scrollCornerRect):
4093         (WebCore::resizerCornerRect):
4094         (WebCore::RenderLayer::positionOverflowControls):
4095         (WebCore::RenderLayer::paintOverflowControls):
4096         (WebCore::RenderLayer::paintScrollCorner):
4097         (WebCore::RenderLayer::paintResizer):
4098         (WebCore::RenderLayer::isPointInResizeControl):
4099         (WebCore::RenderLayer::hitTestOverflowControls):
4100         (WebCore::RenderLayer::styleChanged):
4101         * rendering/RenderLayer.h:
4102         * rendering/RenderObject.h:
4103         (WebCore::RenderObject::setRect):
4104         * rendering/RenderScrollbarPart.cpp:
4105         (WebCore::RenderScrollbarPart::styleDidChange):
4106         (WebCore::RenderScrollbarPart::imageChanged):
4108 2008-10-13  Marco Barisione  <marco.barisione@collabora.co.uk>
4110         Reviewed by Darin Adler. Landed by Jan Alonzo.
4112         WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
4113         http://bugs.webkit.org/show_bug.cgi?id=20483
4115         Start the conversion to use GOwnPtr and fix a memory leak.
4117         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
4118         (WebCore::mediaPlayerPrivateErrorCallback):
4120 2008-10-12  Jon Honeycutt  <jhoneycutt@apple.com>
4122         Windows build fix.
4124         * loader/TextResourceDecoder.cpp:
4126 2008-10-12  Darin Fisher  <darin@chromium.org>
4128         Reviewed by Darin Adler.
4130         - fix https://bugs.webkit.org/show_bug.cgi?id=21229
4131           Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
4133         * platform/network/NetworkStateNotifier.h: Add the #include.
4135 2008-10-12  Darin Adler  <darin@apple.com>
4137         Based on work by Holger Freyther.
4139         - part of https://bugs.webkit.org/show_bug.cgi?id=20953
4140           Split WidthIterator into its own source file.
4142         * GNUmakefile.am: Added new source files.
4143         * WebCore.vcproj/WebCore.vcproj: Ditto.
4144         * WebCore.xcodeproj/project.pbxproj: Ditto.
4145         * WebCoreSources.bkl: Ditto.
4147         * platform/graphics/Font.cpp: Use WidthIterator from its new place.
4148         * platform/graphics/WidthIterator.cpp: Added.
4149         * platform/graphics/WidthIterator.h: Added.
4151 2008-10-12  Tony Chang  <tony@chromium.org>
4153         Reviewed by Sam Weinig.
4155         - https://bugs.webkit.org/show_bug.cgi?id=21480
4156           Remove duplicate definitions of MimeClassInfo and PluginInfo.
4158         * plugins/PluginInfoStore.cpp: Added an include.
4159         * plugins/PluginInfoStore.h: Removed struct declarations.
4161 2008-10-12  Darin Adler  <darin@apple.com>
4163         Reviewed by Dan Bernstein.
4165         - https://bugs.webkit.org/show_bug.cgi?id=21563
4166           Bug 21563: platform Gradient class should not use the CSS parser
4168         * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
4169         that accepts a CSS color string. That's handled in the DOM now, not here.
4170         (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
4171         copy of it here.
4172         * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
4174 2008-10-12  Glenn Wilson  <gwilson@google.com>
4176         Reviewed by Darin Adler.
4178         - https://bugs.webkit.org/show_bug.cgi?id=20461
4180         Added feature to allow multi-line inputs into text fields.
4181         HTMLInputElement would cut the set text at the first 'system' character,
4182         so it would truncate at the first carriage return or newline.
4183         This fix modifies that behavior to truncate at any non-space system character
4184         but changes \r, \n, and \r\n to a single space.
4186         Tests: editing/pasteboard/paste-multiline-text-input.html
4187                
4188         * html/HTMLInputElement.cpp:
4189         (WebCore::HTMLInputElement::constrainValue):
4191 2008-10-12  Dirk Schulze  <vbs85@gmx.de>
4193         Reviewed by Eric Seidel.
4195         - https://bugs.webkit.org/show_bug.cgi?id=20435
4197         Added exception codes to canvas gradients to match current specification.
4199         Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
4200                fast/canvas/linearGradient-infinite-values.html
4201                fast/canvas/radialGradient-infinite-values.html
4203         * html/CanvasGradient.cpp:
4204         (WebCore::CanvasGradient::addColorStop):
4205         * html/CanvasGradient.h:
4206         * html/CanvasGradient.idl:
4207         * html/CanvasRenderingContext2D.cpp:
4208         (WebCore::CanvasRenderingContext2D::createLinearGradient):
4209         (WebCore::CanvasRenderingContext2D::createRadialGradient):
4210         * html/CanvasRenderingContext2D.h:
4211         * html/CanvasRenderingContext2D.idl:
4213 2008-10-12  Eric Roman  <eroman@chromium.org>
4215         - https://bugs.webkit.org/show_bug.cgi?id=20246
4216           Implement RenderThemeWin::systemColor() to match Windows colors.
4218         Reviewed by David Hyatt.
4220         * rendering/RenderThemeWin.cpp:
4221         (WebCore::cssValueIdToSysColorIndex):
4222         (WebCore::RenderThemeWin::systemColor):
4223         * rendering/RenderThemeWin.h:
4225 2008-10-12  Aaron Bockover  <abockover@novell.com>
4227         Reviewed by Alp Toker.
4229         Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy 
4230         plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window 
4231         handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
4233         * plugins/gtk/PluginPackageGtk.cpp:
4235 2008-10-12  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
4237         Reviewed by Oliver Hunt.
4239         - https://bugs.webkit.org/show_bug.cgi?id=19331
4240           <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
4242         * page/DragController.cpp:
4243         (WebCore::DragController::startDrag): When a link is dragged without any
4244         text selected (note: for this to work, the EditableLinkBehavior setting must be
4245         set to 'live' or 'default') and then dropped into an editable html document it
4246         will eventually violate an ASSERT in MoveSelectionCommand that requires that there
4247         is a selection.  To prevent this, expand the selection to the enclosing anchor tag
4248         when the drag begins.
4250 2008-10-12  Darin Adler  <darin@apple.com>
4252         Reviewed by Mark Rowe.
4254         - fix https://bugs.webkit.org/show_bug.cgi?id=21557
4255           Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
4257         * rendering/RenderObject.cpp:
4258         (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
4259         until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
4260         as RenderObject::isText(), and this guarantees that the node can be cast to
4261         Element*, which is done just below. The reason this is hit is that RenderLayer
4262         can call getPseudoStyle on a RenderView, which has the document as its
4263         element() -- and a document is neither a Text node nor an Element. A loose
4264         end is that this seems to mean you can't style the scrollbar corner or the
4265         resizer on a RenderView. Hyatt may want to look into that later.
4267 2008-10-12  Darin Adler  <darin@apple.com>
4269         Reviewed by Sam Weinig.
4271         - https://bugs.webkit.org/show_bug.cgi?id=21556
4272           Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
4274         Tests: fast/dom/HTMLFontElement/size-attribute.html
4275                fast/dom/HTMLInputElement/size-attribute.html
4276                fast/dom/HTMLTableElement/cellpadding-attribute.html
4278         * html/HTMLFontElement.cpp:
4279         (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
4280         Unicode::isDigit, since non-ASCII digits are not valid here.
4281         * html/HTMLFontElement.h: Tweaked formatting a bit and removed
4282         the unneeded destructor declaration.
4283         * platform/text/String.cpp:
4284         (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
4285         of Unicode::isDigit, since non-ASCII digits are not valid.
4287 2008-10-12  Jungshik Shin  <jshin@chromium.org>
4289         Reviewed by Darin Adler.
4291         Treat x-user-defined as windows-1252 for html files with meta charset
4292         declaration to be compatible with Indian web sites.
4293         ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
4295         Test: fast/encoding/charset-xuser-defined.html
4297         * loader/TextResourceDecoder.cpp:
4298         (WebCore::TextResourceDecoder::setEncoding):
4300 2008-10-12  Sam Weinig  <sam@webkit.org>
4302         Reviewed by Dan Bernstein.
4304         Remove unneeded forward declaration.
4306         * platform/graphics/ImageBuffer.h:
4308 2008-10-12  Sam Weinig  <sam@webkit.org>
4310         Reviewed by Darin Adler.
4312         Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
4313         Layering violation: String should not be responsible for creating Lengths
4315         It was a layering violation for String to know haw to parse
4316         into Lengths, LengthArrays, and CoordsArrays.
4318         * GNUmakefile.am:
4319         * WebCore.pro:
4320         * WebCore.vcproj/WebCore.vcproj:
4321         * WebCore.xcodeproj/project.pbxproj:
4322         * WebCoreSources.bkl:
4323         * html/HTMLAreaElement.cpp:
4324         (WebCore::HTMLAreaElement::parseMappedAttribute):
4325         * html/HTMLFrameSetElement.cpp:
4326         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
4327         * platform/text/AtomicString.h:
4328         (WebCore::AtomicString::percentage):
4329         * platform/text/PlatformString.h:
4330         * platform/text/String.cpp:
4331         * platform/text/StringImpl.cpp:
4332         * platform/text/StringImpl.h:
4333         * rendering/Length.cpp: Added.
4334         (WebCore::parseLength):
4335         (WebCore::countCharacter):
4336         (WebCore::newCoordsArray):
4337         (WebCore::newLengthArray):
4338         * rendering/Length.h:
4339         (WebCore::LengthSize::LengthSize):
4341 2008-10-12  Brad Garcia  <bgarcia@google.com>
4343         Reviewed by Darin Adler.
4345         Interpret fractional percentage values for %MultiLength values.
4346         Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
4347         Test: fast/frames/frame-length-fractional-percentage.html
4349         * platform/text/StringImpl.cpp:
4350         (WebCore::parseLength):
4352 2008-10-12  Timothy Hatcher  <timothy@apple.com>
4354         Remember the expanded state of the rules in the Styles pane. So
4355         collapsing a rule will persist across all the elements that have
4356         that same rule. The same applies to Computed Style, so the Computed
4357         Style rule is now collapsed by default. This should help lessen the
4358         confusion on why Computed Style can't be edited (a common confusion.)
4360         https://bugs.webkit.org/show_bug.cgi?id=21553
4362         Reviewed by Darin Adler.
4364         * inspector/front-end/PropertiesSection.js:
4365         (WebInspector.PropertiesSection): Set the _expanded property directly,
4366         instead of using the setter. Expanded is the default, so no work is needed.
4367         This prevents calling StylesSidebarPane.collapse before object initialization
4368         is complete.
4369         * inspector/front-end/StylesSidebarPane.js:
4370         (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
4371         for the expanded state of the StylePropertiesSection. Collapse computed style
4372         by default and expand everything else.
4373         (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
4374         when remembering expanded state.
4375         (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
4376         to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
4377         the state if the dontRememberState property is true.
4378         (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
4379         to false for this identifier in Preferences.styleRulesExpandedState.
4380         * inspector/front-end/inspector.js:
4381         (Preferences.styleRulesExpandedState): Initialize to an empty object.
4383 2008-10-12  Jan Michael Alonzo  <jmalonzo@webkit.org>
4385         Reviewed by Alp Toker.
4387         [Gtk] Remove libWebCoreJS.la when doing make clean
4388         https://bugs.webkit.org/show_bug.cgi?id=21544
4390         Remove libWebCoreJS.la when doing a clean target
4392         * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
4394 2008-10-11  Alp Toker  <alp@nuanti.com>
4396         Reviewed by Darin Adler.
4398         https://bugs.webkit.org/show_bug.cgi?id=20592
4399         The focus ring is not shown while navigating on some pages
4401         Fix drawFocusRing() so it doesn't depend on the current graphics
4402         state, thus matching other platforms which already work this way.
4404         This patch provides two code paths: one using straight Cairo and
4405         one specialised for the GTK+ port with a more conventional appearance.
4407         Also change focusRingColor() to return a null color, allowing the
4408         focus ring to pick up the style's current color if it isn't overridden
4409         with CSS.
4411         * platform/graphics/cairo/GraphicsContextCairo.cpp:
4412         (WebCore::GraphicsContext::drawFocusRing):
4413         * platform/gtk/TemporaryLinkStubs.cpp:
4414         (WebCore::focusRingColor):
4416 2008-10-11  Dan Bernstein  <mitz@apple.com>
4418         Rubber-stamped by Sam Weinig.
4420         - change all internal callers to use Cache::evict() instead of remove()
4422         * loader/Cache.cpp:
4423         (WebCore::Cache::revalidateResource):
4424         (WebCore::Cache::revalidationSucceeded):
4425         (WebCore::Cache::pruneDeadResources):
4426         (WebCore::Cache::setDisabled):
4428 2008-10-11  David Hyatt  <hyatt@apple.com>
4430         Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
4432         Reviewed by Tim Hatcher
4434         * platform/ScrollbarThemeComposite.cpp:
4435         (WebCore::ScrollbarThemeComposite::invalidatePart):
4437 2008-10-11  David Hyatt  <hyatt@apple.com>
4439         https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
4441         Also fixed resizer positioning problems.
4443         Reviewed by Tim Hatcher
4445         * platform/ScrollbarThemeComposite.cpp:
4446         (WebCore::ScrollbarThemeComposite::splitTrack):
4447         (WebCore::ScrollbarThemeComposite::trackPosition):
4448         (WebCore::ScrollbarThemeComposite::trackLength):
4449         * platform/ScrollbarThemeComposite.h:
4450         (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
4451         * rendering/RenderLayer.cpp:
4452         (WebCore::scrollCornerRect):
4453         (WebCore::RenderLayer::positionOverflowControls):
4454         (WebCore::RenderLayer::paintOverflowControls):
4455         (WebCore::RenderLayer::isPointInResizeControl):
4456         (WebCore::RenderLayer::hitTestOverflowControls):
4457         * rendering/RenderScrollbarTheme.cpp:
4458         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
4459         * rendering/RenderScrollbarTheme.h:
4461 2008-10-11  Alp Toker  <alp@nuanti.com>
4463         Reviewed by David Hyatt.
4465         Implement release/retain for Widget GTK+.
4467         * platform/Widget.cpp:
4468         * platform/gtk/WidgetGtk.cpp:
4469         (WebCore::Widget::~Widget):
4470         (WebCore::Widget::releasePlatformWidget):
4471         (WebCore::Widget::retainPlatformWidget):
4473 2008-10-11  Dan Bernstein  <mitz@apple.com>
4475         Reviewed by Sam Weinig.
4477         - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
4478           and add a corresponding getter; add the same functions on Windows
4480         * WebCore.base.exp:
4481         * platform/graphics/Font.cpp:
4482         (WebCore::Font::setCodePath):
4483         (WebCore::codePath):
4484         (WebCore::Font::canUseGlyphCache):
4485         * platform/graphics/Font.h:
4486         * platform/mac/WebCoreTextRenderer.h:
4487         * platform/mac/WebCoreTextRenderer.mm:
4488         (WebCoreSetAlwaysUsesComplexTextCodePath):
4489         (WebCoreAlwaysUsesComplexTextCodePath):
4490         * platform/win/WebCoreTextRenderer.cpp:
4491         (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
4492         (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
4493         * platform/win/WebCoreTextRenderer.h:
4495 2008-10-11  Sam Weinig  <sam@webkit.org>
4497         Reviewed by Cameron Zwarich.
4499         Stop leaking the event parameter names.  The protected strings were showing up
4500         in the caches window after one use.  No measurable performance loss.
4502         * bindings/js/JSEventListener.cpp:
4503         (WebCore::eventParameterName):
4505 2008-10-11  Sam Weinig  <sam@webkit.org>
4507         Reviewed by Cameron Zwarich.
4509         Remove unused function getNodeEventListener.
4511         * bindings/js/JSEventListener.cpp:
4512         * bindings/js/JSEventListener.h:
4514 2008-10-11  David Hyatt  <hyatt@apple.com>
4516         Add support for both positive and negative margins to tracks and track pieces.
4518         Reviewed by Tim Hatcher
4520         * platform/ScrollbarThemeComposite.cpp:
4521         (WebCore::ScrollbarThemeComposite::paint):
4522         (WebCore::ScrollbarThemeComposite::hitTest):
4523         (WebCore::ScrollbarThemeComposite::splitTrack):
4524         (WebCore::ScrollbarThemeComposite::trackPieceRects):
4525         (WebCore::ScrollbarThemeComposite::trackPosition):
4526         (WebCore::ScrollbarThemeComposite::trackLength):
4527         * platform/ScrollbarThemeComposite.h:
4528         (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
4529         * rendering/RenderScrollbar.cpp:
4530         (WebCore::RenderScrollbar::trackRect):
4531         (WebCore::RenderScrollbar::trackPieceRectWithMargins):
4532         * rendering/RenderScrollbar.h:
4533         * rendering/RenderScrollbarPart.cpp:
4534         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
4535         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
4536         * rendering/RenderScrollbarTheme.cpp:
4537         (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
4538         * rendering/RenderScrollbarTheme.h:
4540 2008-10-10  David Hyatt  <hyatt@apple.com>
4542         Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
4543         the scrollbar pseudo-elements anyway.
4545         Reviewed by Tim Hatcher
4547         * css/CSSSelector.cpp:
4548         (WebCore::CSSSelector::extractPseudoType):
4549         * css/CSSSelector.h:
4550         (WebCore::CSSSelector::):
4551         * css/CSSStyleSelector.cpp:
4552         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
4554 2008-10-10  Dan Bernstein  <mitz@apple.com>
4556         Reviewed by Sam Weinig.
4558         - separate Cache::remove() into a private method and a public interface,
4559           then make Cache::pruneDeadResources() use the private method.
4561         * loader/Cache.cpp:
4562         (WebCore::Cache::pruneDeadResources):
4563         (WebCore::Cache::evict):
4564         * loader/Cache.h:
4565         (WebCore::Cache::remove):
4567 2008-10-10  David Hyatt  <hyatt@apple.com>
4569         Fix a math error when splitting a vertical track.  Clean up more of ScrollbarThemeComposite
4570         now that the track pieces meet under the thumb.
4572         Reviewed by Tim Hatcher
4574         * platform/ScrollbarThemeComposite.cpp:
4575         (WebCore::ScrollbarThemeComposite::paint):
4576         (WebCore::ScrollbarThemeComposite::splitTrack):
4578 2008-10-10  David Hyatt  <hyatt@apple.com>
4580         Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
4582         Reviewed by Tim Hatcher
4584         * platform/ScrollbarThemeComposite.cpp:
4585         (WebCore::ScrollbarThemeComposite::hitTest):
4586         (WebCore::ScrollbarThemeComposite::splitTrack):
4588 2008-10-10  David Hyatt  <hyatt@apple.com>
4590         Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
4592         Reviewed by Tim Hatcher
4594         * rendering/RenderLayer.cpp:
4595         (WebCore::RenderLayer::createScrollbar):
4596         * rendering/RenderScrollbar.cpp:
4597         (WebCore::RenderScrollbar::createCustomScrollbar):
4598         (WebCore::RenderScrollbar::RenderScrollbar):
4599         (WebCore::RenderScrollbar::setParent):
4600         (WebCore::RenderScrollbar::updateScrollbarParts):
4601         (WebCore::RenderScrollbar::updateScrollbarPart):
4602         * rendering/RenderScrollbar.h:
4603         * rendering/style/RenderStyle.h:
4604         (WebCore::RenderStyle::):
4606 2008-10-10  David Hyatt  <hyatt@apple.com>
4608         Make sure scrollbar background images cause proper part invalidation to occur.
4610         Reviewed by Tim Hatcher
4612         * rendering/RenderScrollbar.cpp:
4613         (WebCore::RenderScrollbar::setHoveredPart):
4614         (WebCore::RenderScrollbar::setPressedPart):
4615         * rendering/RenderScrollbarPart.cpp:
4616         (WebCore::RenderScrollbarPart::styleDidChange):
4617         (WebCore::RenderScrollbarPart::imageChanged):
4618         * rendering/RenderScrollbarPart.h:
4620 2008-10-10  Simon Fraser  <simon.fraser@apple.com>
4622         Reviewed by Darin Adler
4624         https://bugs.webkit.org/show_bug.cgi?id=21538
4625         
4626         The blendFunc() for TransformOperations should never mess with the
4627         operation lists by replacing some ops with identity, otherwise the lists
4628         no longer match and transitions break.
4630         Test: transitions/matched-transform-functions.html
4632         * page/animation/AnimationBase.cpp:
4633         (WebCore::blendFunc):
4635 2008-10-10  Simon Fraser  <simon.fraser@apple.com>
4637         Reviewed by Darin Adler
4639         https://bugs.webkit.org/show_bug.cgi?id=21537
4641         Fix re-targetting a running transition; if the target property
4642         changes, we do need to make a new ImplicitAnimation.
4643         
4644         Test: transitions/retargetted-transition.html
4646         * page/animation/CompositeAnimation.cpp:
4647         (WebCore::CompositeAnimationPrivate::updateTransitions):
4649 2008-10-10  Oliver Hunt  <oliver@apple.com>
4651         Reviewed by Cameron Zwarich.
4653         Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
4655         When JS is terminated by the user choosing to stop a slow script
4656         the exception toString method throws, yet the console logger does
4657         not perform exception checks after logging.  This leaves an
4658         exception on the Machine, which in turn results in an assertion
4659         failure next time we attempt to enter JS.  The solution is just to
4660         clear the exception state after attempting to record the exception.
4662         * page/Console.cpp:
4663         (WebCore::Console::reportException):
4665 2008-10-10  David Hyatt  <hyatt@apple.com>
4667         Make textareas work with custom CSS scrollbars and resizers.  Need to access the correct renderer
4668         when looking for pseudo styles.
4670         Reviewed by Tim Hatcher
4672         * rendering/RenderLayer.cpp:
4673         (WebCore::RenderLayer::createScrollbar):
4674         (WebCore::RenderLayer::styleChanged):
4676 2008-10-10  David Hyatt  <hyatt@apple.com>
4678         Add the ability to style the scroll corner and the resizer from CSS.
4680         Reviewed by Tim Hatcher
4682         * css/CSSSelector.cpp:
4683         (WebCore::CSSSelector::extractPseudoType):
4684         * css/CSSSelector.h:
4685         (WebCore::CSSSelector::):
4686         * css/CSSStyleSelector.cpp:
4687         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
4688         * rendering/RenderLayer.cpp:
4689         (WebCore::RenderLayer::RenderLayer):
4690         (WebCore::RenderLayer::~RenderLayer):
4691         (WebCore::RenderLayer::paintOverflowControls):
4692         (WebCore::RenderLayer::paintScrollCorner):
4693         (WebCore::RenderLayer::paintResizer):
4694         (WebCore::RenderLayer::styleChanged):
4695         * rendering/RenderLayer.h:
4696         * rendering/RenderScrollbar.cpp:
4697         (WebCore::RenderScrollbar::updateScrollbarPart):
4698         (WebCore::RenderScrollbar::paintPart):
4699         * rendering/RenderScrollbarPart.cpp:
4700         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
4701         (WebCore::RenderScrollbarPart::paintIntoRect):
4702         * rendering/RenderScrollbarPart.h:
4703         * rendering/style/RenderStyle.h:
4704         (WebCore::RenderStyle::):
4706 2008-10-10  David Hyatt  <hyatt@apple.com>
4708         Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
4710         Reviewed by Sam Weinig
4712         No test case possible, since the OS setting can vary.
4714         * css/CSSSelector.cpp:
4715         (WebCore::CSSSelector::extractPseudoType):
4716         * css/CSSSelector.h:
4717         (WebCore::CSSSelector::):
4718         * css/CSSStyleSelector.cpp:
4719         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
4720         * platform/Scrollbar.h:
4721         (WebCore::Scrollbar::styleChanged):
4722         * platform/mac/ScrollbarThemeMac.mm:
4723         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
4724         (WebCore::ScrollbarThemeMac::preferencesChanged):
4725         * rendering/RenderLayer.cpp:
4726         (WebCore::RenderLayer::invalidateScrollbarRect):
4727         * rendering/RenderScrollbar.cpp:
4728         (WebCore::RenderScrollbar::styleChanged):
4729         (WebCore::RenderScrollbar::updateScrollbarPart):
4730         * rendering/RenderScrollbar.h:
4731         * rendering/RenderScrollbarTheme.h:
4732         (WebCore::RenderScrollbarTheme::buttonsPlacement):
4734 2008-10-10  Timothy Hatcher  <timothy@apple.com>
4736         Fixes a regression with input search fields, where the placeholder text
4737         would not be updated when the value of the placeholder attribute changed.
4739         https://bugs.webkit.org/show_bug.cgi?id=21521
4741         Reviewed by Adele Peterson.
4743         Test: fast/forms/search-placeholder-value-changed.html
4745         * html/HTMLInputElement.cpp:
4746         (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
4747         placeholderValueChanged parameter of updatePlaceholderVisibility.
4748         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
4749         for placeholderValueChanged that informs the method that the value changed.
4750         * html/HTMLInputElement.h: Add the placeholderValueChanged to the
4751         updatePlaceholderVisibility method. Made it default to false.
4753 2008-10-10  David Hyatt  <hyatt@apple.com>
4755         Allow the track part to have negative margins so that it can slightly overlap buttons.  This
4756         is necessary to emulate the Aqua look in CSS.
4758         Reviewed by Sam Weinig
4760         * platform/ScrollbarThemeComposite.cpp:
4761         (WebCore::ScrollbarThemeComposite::paint):
4762         (WebCore::ScrollbarThemeComposite::hitTest):
4763         * rendering/RenderScrollbar.cpp:
4764         (WebCore::RenderScrollbar::setHoveredPart):
4765         (WebCore::RenderScrollbar::trackRect):
4766         * rendering/RenderScrollbar.h:
4767         * rendering/RenderScrollbarPart.cpp:
4768         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
4769         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
4770         * rendering/RenderScrollbarTheme.cpp:
4771         (WebCore::RenderScrollbarTheme::backButtonRect):
4772         (WebCore::RenderScrollbarTheme::forwardButtonRect):
4773         (WebCore::RenderScrollbarTheme::trackRect):
4775 2008-10-10  David Hyatt  <hyatt@apple.com>
4777         https://bugs.webkit.org/show_bug.cgi?id=21527
4779         Make CSS scrollbars support :not, :hover and :active.
4781         Reviewed by Adam Roben
4783         Added WebCore/manual-tests/scrollbar-hover-active.html
4785         * css/CSSStyleSelector.cpp:
4786         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
4787         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
4788         * platform/Scrollbar.cpp:
4789         (WebCore::Scrollbar::autoscrollPressedPart):
4790         (WebCore::Scrollbar::startTimerIfNeeded):
4791         (WebCore::Scrollbar::setHoveredPart):
4792         (WebCore::Scrollbar::setPressedPart):
4793         (WebCore::Scrollbar::mouseMoved):
4794         (WebCore::Scrollbar::mouseExited):
4795         (WebCore::Scrollbar::mouseUp):
4796         (WebCore::Scrollbar::mouseDown):
4797         * platform/Scrollbar.h:
4798         * rendering/RenderScrollbar.cpp:
4799         (WebCore::RenderScrollbar::setHoveredPart):
4800         (WebCore::RenderScrollbar::setPressedPart):
4801         (WebCore::RenderScrollbar::updateScrollbarParts):
4802         (WebCore::pseudoForScrollbarPart):
4803         (WebCore::RenderScrollbar::updateScrollbarPart):
4804         * rendering/RenderScrollbar.h:
4806 2008-10-10  Chris Marrin  <cmarrin@apple.com>
4808         Reviewed by Dan Bernstein.
4810         Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
4811         CSS transition with duration=0 and delay=0 doesn't override ongoing transition
4813         Test: transitions/interrupt-zero-duration.html
4815         * page/animation/CompositeAnimation.cpp:
4816         (WebCore::CompositeAnimation::updateTransitions):
4818 2008-10-10  Kevin Ollivier  <kevino@theolliviers.com>
4820         wx build fix. Add new scrollbar-related sources.
4822         * WebCoreSources.bkl:
4824 2008-10-10  David Hyatt  <hyatt@apple.com>
4826         https://bugs.webkit.org/show_bug.cgi?id=21522
4828         Support increment/decrement/start/end on scrollbars.  Allows a fully functional scrollbar to be
4829         created.  (Just :hover/:active left to finish it up.)
4831         Reviewed by Adam Roben
4833         Added scrollbars/scrollbar-buttons.html
4835         * css/CSSStyleSelector.cpp:
4836         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
4838 2008-10-10  David Hyatt  <hyatt@apple.com>
4840         Rename some pseudoclasses.  Removing "-scrollbar-" from a bunch of the pseudoclasses.  Renaming
4841         back/forward to decrement/increment.  Adding start/end pseudoclasses.
4843         Reviewed by Eric Seidel
4845         * css/CSSSelector.cpp:
4846         (WebCore::CSSSelector::extractPseudoType):
4847         * css/CSSSelector.h:
4848         (WebCore::CSSSelector::):
4849         * css/CSSStyleSelector.cpp:
4850         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
4852 2008-10-10  David Hyatt  <hyatt@apple.com>
4854         Switch window-active to window-inactive, since that will work better as far as degrading in other
4855         browsers.
4857         Reviewed by Tim Hatcher
4859         * css/CSSSelector.cpp:
4860         (WebCore::CSSSelector::extractPseudoType):
4861         * css/CSSSelector.h:
4862         (WebCore::CSSSelector::):
4863         * css/CSSStyleSelector.cpp:
4864         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
4866 2008-10-09  Chris Marrin  <cmarrin@apple.com>
4868         Reviewed by Dan Bernstein.
4870         https://bugs.webkit.org/show_bug.cgi?id=21310
4872         Redesigned how animation events are sent in order to get rid of
4873         AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
4874         are now ref counted. While calling the event handler, I keep a 
4875         reference to this class to avoid it getting destroyed out from under me.
4877         I also moved most of the functionality of CompositeAnimation to
4878         and internal class (CompositeAnimationPrivate) to reduce the exposure
4879         of the internals of the various animation classes.
4881         We have several transition and animation LayoutTests which verify that
4882         this fix works as expected and continues to avoid crashes.
4884         * page/animation/AnimationBase.cpp:
4885         (WebCore::AnimationBase::AnimationBase):
4886         * page/animation/AnimationBase.h:
4887         (WebCore::AnimationBase::cancelTimers):
4888         (WebCore::AnimationBase::waitingForStyleAvailable):
4889         * page/animation/CompositeAnimation.cpp:
4890         (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
4891         (WebCore::CompositeAnimationPrivate::suspended):
4892         (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
4893         (WebCore::CompositeAnimationPrivate::updateTransitions):
4894         (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
4895         (WebCore::CompositeAnimationPrivate::animate):
4896         (WebCore::CompositeAnimationPrivate::setAnimating):
4897         (WebCore::CompositeAnimationPrivate::animating):
4898         (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
4899         (WebCore::CompositeAnimationPrivate::resetTransitions):
4900         (WebCore::CompositeAnimationPrivate::resetAnimations):
4901         (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
4902         (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
4903         (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
4904         (WebCore::CompositeAnimationPrivate::suspendAnimations):
4905         (WebCore::CompositeAnimationPrivate::resumeAnimations):
4906         (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
4907         (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
4908         (WebCore::compareAnimationIndices):
4909         (WebCore::CompositeAnimationPrivate::styleAvailable):
4910         (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
4911         (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
4912         (WebCore::CompositeAnimation::CompositeAnimation):
4913         (WebCore::CompositeAnimation::~CompositeAnimation):
4914         (WebCore::CompositeAnimation::animate):
4915         (WebCore::CompositeAnimation::animating):
4916         (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
4917         (WebCore::CompositeAnimation::resetTransitions):
4918         (WebCore::CompositeAnimation::suspendAnimations):
4919         (WebCore::CompositeAnimation::resumeAnimations):
4920         (WebCore::CompositeAnimation::suspended):
4921         (WebCore::CompositeAnimation::styleAvailable):
4922         (WebCore::CompositeAnimation::setAnimating):
4923         (WebCore::CompositeAnimation::isAnimatingProperty):
4924         (WebCore::CompositeAnimation::setAnimationStartTime):
4925         (WebCore::CompositeAnimation::setTransitionStartTime):
4926         (WebCore::CompositeAnimation::overrideImplicitAnimations):
4927         (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
4928         * page/animation/CompositeAnimation.h:
4929         * page/animation/ImplicitAnimation.cpp:
4930         (WebCore::ImplicitAnimation::sendTransitionEvent):
4931         * page/animation/ImplicitAnimation.h:
4932         (WebCore::ImplicitAnimation::create):
4933         * page/animation/KeyframeAnimation.cpp:
4934         (WebCore::KeyframeAnimation::sendAnimationEvent):
4935         * page/animation/KeyframeAnimation.h:
4936         (WebCore::KeyframeAnimation::create):
4938 2008-10-09  David Hyatt  <hyatt@apple.com>
4940         Add support for scrollbar orientation as a pseudoclass.  Add support for whether or not the scrollbar
4941         is active as well.
4943         Reviewed by Tim Hatcher
4945         Added scrollbars/scrollbar-orientation.html
4947         * css/CSSSelector.cpp:
4948         (WebCore::CSSSelector::extractPseudoType):
4949         * css/CSSSelector.h:
4950         (WebCore::CSSSelector::):
4951         * css/CSSStyleSelector.cpp:
4952         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
4953         * platform/Scrollbar.cpp:
4954         (WebCore::Scrollbar::isWindowActive):
4955         * platform/Scrollbar.h:
4956         * rendering/RenderScrollbar.cpp:
4957         (WebCore::RenderScrollbar::paint):
4958         (WebCore::RenderScrollbar::partForStyleResolve):
4959         * rendering/RenderScrollbar.h:
4961 2008-10-09  David Hyatt  <hyatt@apple.com>
4963         Add support for pseudo classes on scrollbar pseudo elements.  As an initial proof of concept only
4964         :enabled/:disabled are supported.  More pseudo classes will follow quickly now that this works.
4966         Reviewed by Tim Hatcher
4968         Added scrollbars/disabled-scrollbar.html
4970         * css/CSSStyleSelector.cpp:
4971         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
4972         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
4973         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
4974         * css/CSSStyleSelector.h:
4975         * rendering/RenderObject.cpp:
4976         (WebCore::RenderObject::getPseudoStyle):
4977         * rendering/RenderObject.h:
4978         * rendering/RenderScrollbar.cpp:
4979         (WebCore::RenderScrollbar::setEnabled):
4980         (WebCore::RenderScrollbar::scrollbarForStyleResolve):
4981         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
4982         (WebCore::RenderScrollbar::paintPart):
4983         * rendering/RenderScrollbar.h:
4985 2008-10-09  Eric Carlson  <eric.carlson@apple.com>
4987         Media controls should not show when element is not visible
4989         https://bugs.webkit.org/show_bug.cgi?id=21155
4990         
4991         Reviewed by Adele Peterson.
4993         * html/HTMLMediaElement.cpp:
4994         (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
4995         in sync with visibility changes
4996         * html/HTMLMediaElement.h:
4997         * rendering/RenderMedia.cpp:
4998         (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
4999         (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
5000         if element is visible or not. Don't animate controller visibility when change triggered by
5001         showing or hiding media element.
5002         * rendering/RenderMedia.h: declare m_previousVisible
5004 2008-10-09  Timothy Hatcher  <timothy@apple.com>
5006         Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
5007         availability macros and version macros.
5009         https://bugs.webkit.org/show_bug.cgi?id=21496
5010         rdar://problem/6259225
5012         Reviewed by Sam Weinig.
5014         * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
5015         * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
5016         and add an #if around the enum.
5017         * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
5018         comment to match the other headers.
5019         * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
5020         * bindings/objc/DOMObject.h: Add a version #if around class interface.
5021         * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
5022         and add a version #if around the enum.
5023         * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
5024         * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
5025         * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
5026         when they where added to WebKit. Also annotate individual methods that are
5027         deprecated or where added after the class was added to WebKit.
5028         * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
5029         since this header is included by most DOM headers. Annotate the JSObject method.
5031         * bindings/scripts/CodeGeneratorObjC.pm:
5032         (ReadPublicInterfaces): Parse out the availability macro for each function/property.
5033         And parse out the availability version for the class/protocol. Default to
5034         WEBKIT_VERSION_LATEST if the class is new.
5035         (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
5036         interface availability version check if the class has a required version. Create
5037         a public interface key (used to lookup in $publicInterfaces) and make a declaration
5038         suffix that includes the availability macro (if needed). Use the "available in 1.3
5039         and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
5040         the default availability macro for old style methods. Tweak line breaks in the generated
5041         headers to look good and not have too many extra lines.
5043 2008-10-09  Simon Fraser  <simon.fraser@apple.com>
5045         Reviewed by Dave Hyatt
5047         https://bugs.webkit.org/show_bug.cgi?id=20947
5049         Refactor setStyle() methods into styleWillChange()
5050         and styleDidChange(), so most of the setStyle() overrides can
5051         be removed.
5053         * rendering/RenderBR.cpp:
5054         (WebCore::RenderBR::styleDidChange):
5055         * rendering/RenderBR.h:
5056         * rendering/RenderBlock.cpp:
5057         (WebCore::RenderBlock::styleWillChange):
5058         (WebCore::RenderBlock::styleDidChange):
5059         * rendering/RenderBlock.h:
5060         * rendering/RenderBox.cpp:
5061         (WebCore::RenderBox::~RenderBox):
5062         (WebCore::RenderBox::destroy):
5063         (WebCore::RenderBox::styleWillChange):
5064         (WebCore::RenderBox::styleDidChange):
5065         * rendering/RenderBox.h:
5066         * rendering/RenderButton.cpp:
5067         (WebCore::RenderButton::styleWillChange):
5068         (WebCore::RenderButton::styleDidChange):
5069         * rendering/RenderButton.h:
5070         * rendering/RenderFieldset.cpp:
5071         (WebCore::RenderFieldset::styleDidChange):
5072         * rendering/RenderFieldset.h:
5073         * rendering/RenderFileUploadControl.cpp:
5074         (WebCore::RenderFileUploadControl::styleDidChange):
5075         * rendering/RenderFileUploadControl.h:
5076         * rendering/RenderInline.cpp:
5077         (WebCore::RenderInline::styleDidChange):
5078         * rendering/RenderInline.h:
5079         * rendering/RenderLayer.cpp:
5080         (WebCore::RenderLayer::styleChanged):
5081         * rendering/RenderLayer.h:
5082         * rendering/RenderListBox.cpp:
5083         (WebCore::RenderListBox::styleDidChange):
5084         * rendering/RenderListBox.h:
5085         * rendering/RenderListItem.cpp:
5086         (WebCore::RenderListItem::styleDidChange):
5087         * rendering/RenderListItem.h:
5088         * rendering/RenderListMarker.cpp:
5089         (WebCore::RenderListMarker::styleWillChange):
5090         (WebCore::RenderListMarker::styleDidChange):
5091         * rendering/RenderListMarker.h:
5092         * rendering/RenderMenuList.cpp:
5093         (WebCore::RenderMenuList::styleDidChange):
5094         * rendering/RenderMenuList.h:
5095         * rendering/RenderObject.cpp:
5096         (WebCore::RenderObject::setStyle):
5097         (WebCore::RenderObject::setStyleInternal):
5098         (WebCore::RenderObject::styleWillChange):
5099         (WebCore::RenderObject::styleDidChange):
5100         * rendering/RenderObject.h:
5101         * rendering/RenderReplaced.cpp:
5102         (WebCore::RenderReplaced::styleDidChange):
5103         * rendering/RenderReplaced.h:
5104         * rendering/RenderSVGGradientStop.cpp:
5105         (WebCore::RenderSVGGradientStop::styleDidChange):
5106         * rendering/RenderSVGGradientStop.h:
5107         * rendering/RenderScrollbarPart.cpp:
5108         (WebCore::RenderScrollbarPart::styleDidChange):
5109         * rendering/RenderScrollbarPart.h:
5110         * rendering/RenderSlider.cpp:
5111         (WebCore::RenderSlider::styleDidChange):
5112         * rendering/RenderSlider.h:
5113         * rendering/RenderTable.cpp:
5114         (WebCore::RenderTable::styleDidChange):
5115         * rendering/RenderTable.h:
5116         * rendering/RenderTableCell.cpp:
5117         (WebCore::RenderTableCell::styleWillChange):
5118         (WebCore::RenderTableCell::styleDidChange):
5119         * rendering/RenderTableCell.h:
5120         * rendering/RenderTableRow.cpp:
5121         (WebCore::RenderTableRow::styleWillChange):
5122         * rendering/RenderTableRow.h:
5123         * rendering/RenderText.cpp:
5124         (WebCore::RenderText::styleDidChange):
5125         * rendering/RenderText.h:
5126         * rendering/RenderTextControl.cpp:
5127         (WebCore::RenderTextControl::styleDidChange):
5128         * rendering/RenderTextControl.h:
5129         * rendering/RenderWidget.cpp:
5130         (WebCore::RenderWidget::styleDidChange):
5131         * rendering/RenderWidget.h:
5133 2008-10-09  David Hyatt  <hyatt@apple.com>
5135         Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away.  When our widget
5136         parent is nulled out is a good time.
5138         Reviewed by Oliver Hunt
5140         * rendering/RenderScrollbar.cpp:
5141         (WebCore::RenderScrollbar::~RenderScrollbar):
5142         (WebCore::RenderScrollbar::setParent):
5143         (WebCore::RenderScrollbar::updateScrollbarPart):
5144         * rendering/RenderScrollbar.h:
5146 2008-10-09  David Hyatt  <hyatt@apple.com>
5148         https://bugs.webkit.org/show_bug.cgi?id=21446
5150         This patch gets CSS scrollbars up and limping.  There's no way to distinguish between states or between
5151         orientation and back vs. forward on the buttons, but it's a start.
5153         Reviewed by Oliver Hunt
5155         Added scrollbars/basic-scrollbar.html
5157         * WebCore.xcodeproj/project.pbxproj:
5158         * css/CSSSelector.cpp:
5159         (WebCore::CSSSelector::extractPseudoType):
5160         * css/CSSSelector.h:
5161         (WebCore::CSSSelector::):
5162         * css/CSSStyleSelector.cpp:
5163         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
5164         * platform/ScrollTypes.h:
5165         (WebCore::):
5166         * platform/Scrollbar.h:
5167         (WebCore::Scrollbar::styleChanged):
5168         * platform/ScrollbarThemeComposite.cpp:
5169         (WebCore::ScrollbarThemeComposite::paint):
5170         (WebCore::ScrollbarThemeComposite::splitTrack):
5171         * platform/ScrollbarThemeComposite.h:
5172         (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
5173         (WebCore::ScrollbarThemeComposite::paintTrackBackground):
5174         (WebCore::ScrollbarThemeComposite::paintTrackPiece):
5175         * platform/win/ScrollbarThemeSafari.cpp:
5176         (WebCore::ScrollbarThemeSafari::paintTrackBackground):
5177         * platform/win/ScrollbarThemeSafari.h:
5178         * platform/win/ScrollbarThemeWin.cpp:
5179         (WebCore::ScrollbarThemeWin::paintTrack):
5180         * platform/win/ScrollbarThemeWin.h:
5181         * rendering/RenderLayer.cpp:
5182         (WebCore::RenderLayer::createScrollbar):
5183         (WebCore::RenderLayer::styleChanged):
5184         * rendering/RenderScrollbar.cpp: Added.
5185         (WebCore::RenderScrollbar::createCustomScrollbar):
5186         (WebCore::RenderScrollbar::RenderScrollbar):
5187         (WebCore::RenderScrollbar::~RenderScrollbar):
5188         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
5189         (WebCore::RenderScrollbar::updateScrollbarParts):
5190         (WebCore::RenderScrollbar::updateScrollbarPart):
5191         (WebCore::RenderScrollbar::paintPart):
5192         (WebCore::RenderScrollbar::buttonRect):
5193         (WebCore::RenderScrollbar::minimumThumbLength):
5194         * rendering/RenderScrollbar.h: Added.
5195         (WebCore::RenderScrollbar::styleChanged):
5196         (WebCore::RenderScrollbar::owningRenderer):
5197         * rendering/RenderScrollbarPart.cpp: Added.
5198         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
5199         (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
5200         (WebCore::RenderScrollbarPart::layout):
5201         (WebCore::RenderScrollbarPart::layoutHorizontalPart):
5202         (WebCore::RenderScrollbarPart::layoutVerticalPart):
5203         (WebCore::calcScrollbarThicknessUsing):
5204         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
5205         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
5206         (WebCore::RenderScrollbarPart::calcPrefWidths):
5207         (WebCore::RenderScrollbarPart::setStyle):
5208         * rendering/RenderScrollbarPart.h: Added.
5209         (WebCore::RenderScrollbarPart::renderName):
5210         (WebCore::RenderScrollbarPart::requiresLayer):
5211         * rendering/RenderScrollbarTheme.cpp: Added.
5212         (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
5213         (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
5214         (WebCore::RenderScrollbarTheme::hasButtons):
5215         (WebCore::RenderScrollbarTheme::hasThumb):
5216         (WebCore::RenderScrollbarTheme::minimumThumbLength):
5217         (WebCore::RenderScrollbarTheme::backButtonRect):
5218         (WebCore::RenderScrollbarTheme::forwardButtonRect):
5219         (WebCore::RenderScrollbarTheme::trackRect):
5220         (WebCore::RenderScrollbarTheme::paintScrollCorner):
5221         (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
5222         (WebCore::RenderScrollbarTheme::paintTrackBackground):
5223         (WebCore::RenderScrollbarTheme::paintTrackPiece):
5224         (WebCore::RenderScrollbarTheme::paintButton):
5225         (WebCore::RenderScrollbarTheme::paintThumb):
5226         * rendering/RenderScrollbarTheme.h: Added.
5227         (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
5228         (WebCore::RenderScrollbarTheme::scrollbarThickness):
5229         (WebCore::RenderScrollbarTheme::buttonsPlacement):
5230         (WebCore::RenderScrollbarTheme::supportsControlTints):
5231         (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
5232         (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
5233         (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
5234         (WebCore::RenderScrollbarTheme::registerScrollbar):
5235         (WebCore::RenderScrollbarTheme::unregisterScrollbar):
5236         * rendering/style/RenderStyle.h:
5237         (WebCore::RenderStyle::):
5239 2008-10-09  Eric Seidel  <eric@webkit.org>
5241         Reviewed by Oliver Hunt.
5243         Fix Canvex DOOM Game
5244         Gradient clips were not getting cleared after filling the
5245         gradient, this was causing nothing to draw in Canvex
5246         https://bugs.webkit.org/show_bug.cgi?id=21498
5247         
5248         Tests forthcoming.
5250         * WebCore.xcodeproj/project.pbxproj:
5251         * platform/graphics/cg/GraphicsContextCG.cpp:
5252         (WebCore::GraphicsContext::fillPath):
5253         (WebCore::GraphicsContext::strokePath):
5254         (WebCore::GraphicsContext::fillRect):
5256 2008-10-09  Eric Seidel  <eric@webkit.org>
5258         Reviewed by Oliver Hunt.
5259         
5260         Fix transformed patterns
5261         https://bugs.webkit.org/show_bug.cgi?id=21498
5262         
5263         Test: fast/canvas/patternfill-repeat.html
5265         * WebCore.xcodeproj/project.pbxproj:
5266         * platform/graphics/GraphicsContext.cpp:
5267         (WebCore::GraphicsContext::setStrokePattern):
5268         (WebCore::GraphicsContext::setFillPattern):
5269         (WebCore::GraphicsContext::setStrokeGradient):
5270         (WebCore::GraphicsContext::setFillGradient):
5271         * platform/graphics/GraphicsContext.h:
5272         * platform/graphics/cairo/GraphicsContextCairo.cpp:
5273         * platform/graphics/cg/GraphicsContextCG.cpp:
5274         (WebCore::applyStrokePattern):
5275         (WebCore::applyFillPattern):
5276         (WebCore::GraphicsContext::drawPath):
5277         (WebCore::GraphicsContext::fillPath):
5278         (WebCore::GraphicsContext::strokePath):
5279         (WebCore::GraphicsContext::fillRect):
5280         * platform/graphics/qt/GraphicsContextQt.cpp:
5281         * platform/graphics/wx/GraphicsContextWx.cpp:
5283 2008-10-09  Kevin Ollivier  <kevino@theolliviers.com>
5285         wx build fixes.
5287         * platform/wx/WidgetWx.cpp:
5288         * plugins/wx/PluginViewWx.cpp:
5289         (WebCore::PluginView::invalidateRect):
5290         * webcore-base.bkl:
5292 2008-10-09  Chris Marrin  <cmarrin@apple.com>
5294         Reviewed by Darin Adler.
5296         Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
5297         Animations assert when navigating from page
5299         Changed assertions to test the right flag for the paused state
5301         * page/animation/AnimationBase.cpp:
5302         (WebCore::AnimationBase::updateStateMachine):
5304 2008-10-09  Chris Marrin  <cmarrin@apple.com>
5306         Reviewed by Dan Bernstein.
5308         Fixed > 180 degree rotation bug
5309         Ensure that validateTransformFunctionList() is called after updating keyframe styles
5311         https://bugs.webkit.org/show_bug.cgi?id=21420
5313         Test: animations/big-rotation.html
5315         * page/animation/KeyframeAnimation.cpp:
5316         (WebCore::KeyframeAnimation::KeyframeAnimation):
5318 2008-10-09  Brady Eidson  <beidson@apple.com>
5320         Reviewed by Anders
5322         <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
5324         The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
5326         * loader/FrameLoader.cpp:
5327         (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
5328         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
5329           so perform a second null check on the page.  Bail if it has been cleared.
5331 2008-10-09  Alp Toker  <alp@nuanti.com>
5333         Build fix for recent DOM generation Makefile changes when custom
5334         CFLAGS/CXXFLAGS are passed in.
5336         * GNUmakefile.am:
5338 2008-10-09  Jan Michael Alonzo  <jmalonzo@webkit.org>
5340         Reviewed by Alp Toker.
5342         https://bugs.webkit.org/show_bug.cgi?id=21390
5343         [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
5345         * platform/gtk/ScrollViewGtk.cpp:
5346         (WebCore::ScrollView::platformRemoveChild):
5348 2008-10-09  Darin Adler  <darin@apple.com>
5350        - try to fix Qt build
5352         * bridge/qt/qt_runtime.cpp:
5353         (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
5355 2008-10-08  Nikolas Zimmermann  <zimmermann@kde.org>
5357         Reviewed by Oliver Hunt & Sam Weinig.
5359         Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
5360         Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
5361         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
5363         Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
5364         Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
5365         use tree is rebuild.
5367         Make SVGElementInstance a real EventTarget, as the SVG specification demands.
5368         When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
5369         is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
5370         share an event listener list. Every event listener change on the SVGElementInstance object is forwared
5371         to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
5372         Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
5373         to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
5374         Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
5376         Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
5377         see resources/use-instanceRoot-event-bubbling.js for details.
5379         Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
5380                svg/custom/use-elementInstance-methods.svg (reenabled)
5381                svg/custom/use-setAttribute-crash.svg (covers bug 20550)
5382                svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
5383                svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
5384                svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
5386         * DerivedSources.make:
5387         * GNUmakefile.am:
5388         * WebCore.pro:
5389         * WebCore.vcproj/WebCore.vcproj:
5390         * WebCore.xcodeproj/project.pbxproj:
5391         * bindings/js/JSEventListener.h:
5392         (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
5393         * bindings/js/JSEventTarget.cpp:
5394         * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
5395         * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
5396         * bindings/js/JSSVGElementInstanceCustom.cpp:
5397         (WebCore::JSSVGElementInstance::addEventListener):
5398         (WebCore::JSSVGElementInstance::removeEventListener):
5399         (WebCore::JSSVGElementInstance::pushEventHandlerScope):
5400         * bindings/scripts/CodeGeneratorJS.pm:
5401         * bindings/scripts/CodeGeneratorObjC.pm:
5402         * dom/EventListener.h:
5403         (WebCore::EventListener::wasCreatedFromMarkup):
5404         * dom/EventTargetNode.cpp:
5405         (WebCore::updateSVGElementInstancesAfterEventListenerChange):
5406         (WebCore::EventTargetNode::addEventListener):
5407         (WebCore::EventTargetNode::removeEventListener):
5408         (WebCore::eventTargetAsSVGElementInstance):
5409         (WebCore::eventTargetRespectingSVGTargetRules):
5410         (WebCore::EventTargetNode::dispatchEvent):
5411         (WebCore::EventTargetNode::dispatchGenericEvent):
5412         (WebCore::EventTargetNode::removeEventListenerForType):
5413         * page/EventHandler.cpp:
5414         (WebCore::EventHandler::clear):
5415         (WebCore::instanceAssociatedWithShadowTreeElement):
5416         (WebCore::EventHandler::updateMouseEventTargetNode):
5417         * page/EventHandler.h:
5418         * svg/EventTargetSVGElementInstance.cpp: Removed.
5419         * svg/EventTargetSVGElementInstance.h: Removed.
5420         * svg/SVGElementInstance.cpp:
5421         (WebCore::SVGElementInstance::SVGElementInstance):
5422         (WebCore::SVGElementInstance::~SVGElementInstance):
5423         (WebCore::SVGElementInstance::childNodes):
5424         (WebCore::SVGElementInstance::setShadowTreeElement):
5425         (WebCore::SVGElementInstance::forgetWrapper):
5426         (WebCore::SVGElementInstance::appendChild):
5427         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
5428         (WebCore::SVGElementInstance::setNeedsUpdate):
5429         (WebCore::SVGElementInstance::associatedFrame):
5430         (WebCore::SVGElementInstance::addEventListener):
5431         (WebCore::SVGElementInstance::removeEventListener):
5432         (WebCore::SVGElementInstance::dispatchEvent):
5433         (WebCore::SVGElementInstance::onabort):
5434         (WebCore::SVGElementInstance::setOnabort):
5435         (WebCore::SVGElementInstance::onblur):
5436         (WebCore::SVGElementInstance::setOnblur):
5437         (WebCore::SVGElementInstance::onchange):
5438         (WebCore::SVGElementInstance::setOnchange):
5439         (WebCore::SVGElementInstance::onclick):
5440         (WebCore::SVGElementInstance::setOnclick):
5441         (WebCore::SVGElementInstance::oncontextmenu):
5442         (WebCore::SVGElementInstance::setOncontextmenu):
5443         (WebCore::SVGElementInstance::ondblclick):
5444         (WebCore::SVGElementInstance::setOndblclick):
5445         (WebCore::SVGElementInstance::onerror):
5446         (WebCore::SVGElementInstance::setOnerror):
5447         (WebCore::SVGElementInstance::onfocus):
5448         (WebCore::SVGElementInstance::setOnfocus):
5449         (WebCore::SVGElementInstance::oninput):
5450         (WebCore::SVGElementInstance::setOninput):
5451         (WebCore::SVGElementInstance::onkeydown):
5452         (WebCore::SVGElementInstance::setOnkeydown):
5453         (WebCore::SVGElementInstance::onkeypress):
5454         (WebCore::SVGElementInstance::setOnkeypress):
5455         (WebCore::SVGElementInstance::onkeyup):
5456         (WebCore::SVGElementInstance::setOnkeyup):
5457         (WebCore::SVGElementInstance::onload):
5458         (WebCore::SVGElementInstance::setOnload):
5459         (WebCore::SVGElementInstance::onmousedown):
5460         (WebCore::SVGElementInstance::setOnmousedown):
5461         (WebCore::SVGElementInstance::onmousemove):
5462         (WebCore::SVGElementInstance::setOnmousemove):
5463         (WebCore::SVGElementInstance::onmouseout):
5464         (WebCore::SVGElementInstance::setOnmouseout):
5465         (WebCore::SVGElementInstance::onmouseover):
5466         (WebCore::SVGElementInstance::setOnmouseover):
5467         (WebCore::SVGElementInstance::onmouseup):
5468         (WebCore::SVGElementInstance::setOnmouseup):
5469         (WebCore::SVGElementInstance::onmousewheel):
5470         (WebCore::SVGElementInstance::setOnmousewheel):
5471         (WebCore::SVGElementInstance::onbeforecut):
5472         (WebCore::SVGElementInstance::setOnbeforecut):
5473         (WebCore::SVGElementInstance::oncut):
5474         (WebCore::SVGElementInstance::setOncut):
5475         (WebCore::SVGElementInstance::onbeforecopy):
5476         (WebCore::SVGElementInstance::setOnbeforecopy):
5477         (WebCore::SVGElementInstance::oncopy):
5478         (WebCore::SVGElementInstance::setOncopy):
5479         (WebCore::SVGElementInstance::onbeforepaste):
5480         (WebCore::SVGElementInstance::setOnbeforepaste):
5481         (WebCore::SVGElementInstance::onpaste):
5482         (WebCore::SVGElementInstance::setOnpaste):
5483         (WebCore::SVGElementInstance::ondragenter):
5484         (WebCore::SVGElementInstance::setOndragenter):
5485         (WebCore::SVGElementInstance::ondragover):
5486         (WebCore::SVGElementInstance::setOndragover):
5487         (WebCore::SVGElementInstance::ondragleave):
5488         (WebCore::SVGElementInstance::setOndragleave):
5489         (WebCore::SVGElementInstance::ondrop):
5490         (WebCore::SVGElementInstance::setOndrop):
5491         (WebCore::SVGElementInstance::ondragstart):
5492         (WebCore::SVGElementInstance::setOndragstart):
5493         (WebCore::SVGElementInstance::ondrag):
5494         (WebCore::SVGElementInstance::setOndrag):
5495         (WebCore::SVGElementInstance::ondragend):
5496         (WebCore::SVGElementInstance::setOndragend):
5497         (WebCore::SVGElementInstance::onreset):
5498         (WebCore::SVGElementInstance::setOnreset):
5499         (WebCore::SVGElementInstance::onresize):
5500         (WebCore::SVGElementInstance::setOnresize):
5501         (WebCore::SVGElementInstance::onscroll):
5502         (WebCore::SVGElementInstance::setOnscroll):
5503         (WebCore::SVGElementInstance::onsearch):
5504         (WebCore::SVGElementInstance::setOnsearch):
5505         (WebCore::SVGElementInstance::onselect):
5506         (WebCore::SVGElementInstance::setOnselect):
5507         (WebCore::SVGElementInstance::onselectstart):
5508         (WebCore::SVGElementInstance::setOnselectstart):
5509         (WebCore::SVGElementInstance::onsubmit):
5510         (WebCore::SVGElementInstance::setOnsubmit):
5511         (WebCore::SVGElementInstance::onunload):
5512         (WebCore::SVGElementInstance::setOnunload):
5513         * svg/SVGElementInstance.h:
5514         (WebCore::SVGElementInstance::needsUpdate):
5515         (WebCore::SVGElementInstance::toNode):
5516         (WebCore::SVGElementInstance::toSVGElementInstance):
5517         (WebCore::SVGElementInstance::correspondingElement):
5518         (WebCore::SVGElementInstance::correspondingUseElement):
5519         (WebCore::SVGElementInstance::shadowTreeElement):
5520         (WebCore::SVGElementInstance::parentNode):
5521         (WebCore::SVGElementInstance::previousSibling):
5522         (WebCore::SVGElementInstance::nextSibling):
5523         (WebCore::SVGElementInstance::firstChild):
5524         (WebCore::SVGElementInstance::lastChild):
5525         (WebCore::SVGElementInstance::ownerDocument):
5526         (WebCore::SVGElementInstance::hasChildNodes):
5527         (WebCore::SVGElementInstance::setFirstChild):
5528         (WebCore::SVGElementInstance::setLastChild):
5529         (WebCore::SVGElementInstance::setNextSibling):
5530         (WebCore::SVGElementInstance::setPreviousSibling):
5531         (WebCore::SVGElementInstance::refEventTarget):
5532         (WebCore::SVGElementInstance::derefEventTarget):
5533         * svg/SVGElementInstance.idl:
5534         * svg/SVGStyledElement.cpp:
5535         (WebCore::SVGStyledElement::svgAttributeChanged):
5536         (WebCore::SVGStyledElement::childrenChanged):
5537         * svg/SVGUseElement.cpp:
5538         (WebCore::SVGUseElement::svgAttributeChanged):
5539         (WebCore::shadowTreeContainsChangedNodes):
5540         (WebCore::SVGUseElement::recalcStyle):
5541         (WebCore::dumpInstanceTree):
5542         (WebCore::SVGUseElement::buildPendingResource):
5543         (WebCore::SVGUseElement::buildInstanceTree):
5544         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
5545         * svg/SVGUseElement.h:
5547 2008-10-08  Sam Weinig  <sam@webkit.org>
5549         Reviewed by Cameron Zwarich.
5551         Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
5552         REGRESSION (r36977): getRGBColorValue().red returning incorrect value
5554         Update JSRGBColor to use the new static function per getter approach.
5556         Test: fast/dom/css-RGBValue.html
5558         * bindings/js/JSRGBColor.cpp:
5559         (WebCore::):
5560         (jsRGBColorRed):
5561         (jsRGBColorGreen):
5562         (jsRGBColorBlue):
5563         * bindings/js/JSRGBColor.h:
5565 2008-10-08  Eric Seidel  <eric@webkit.org>
5567         Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
5569         svgElement.className.baseValue = "foo" does not work
5570         https://bugs.webkit.org/show_bug.cgi?id=20651
5572         * dom/StyledElement.cpp:
5573         (WebCore::StyledElement::classAttributeChanged):
5574         (WebCore::StyledElement::parseMappedAttribute):
5575         * dom/StyledElement.h:
5576         * svg/SVGStyledElement.cpp:
5577         (WebCore::SVGStyledElement::svgAttributeChanged):
5579 2008-10-08  Anthony Ricaud  <rik24d@gmail.com>
5581         Make the toolbar label text-shadow not disappear when clicking on the
5582         search result count or around the search field.
5584         Reviewed by Timothy Hatcher.
5586         * inspector/front-end/inspector.css:
5587         (.toolbar-item:active .toolbar-label): Make this rule also require the
5588         toggleable class with the toolbar-item class.
5590 2008-10-08  Tor Arne Vestbø  <tavestbo@trolltech.com>
5592         Reviewed by Simon.
5594         Updated the qrc file for the Web Inspector to contain the current set
5595         of images.
5597         * inspector/front-end/WebKit.qrc:
5599 2008-10-08  Prasanth Ullattil  <pullatti@trolltech.com>
5601         Reviewed by Simon.
5603         Fix the linking of applications against WebKit on Qt/Windows.
5605         The prl files that qmake creates are buggy on Unix, but we they're
5606         fine on Windows and we have to have them there in order to get the
5607         dependencies correct.
5609         * WebCore.pro:
5611 2008-10-08  Ariya Hidayat  <ariya.hidayat@trolltech.com>
5613         Reviewed by Simon.
5615         Speed up rectangle filling by not re-creating a QBrush all the time.
5617         This triggers faster path in QPainter where the brush is reused.
5619         * platform/graphics/qt/GraphicsContextQt.cpp:
5620         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
5621         (WebCore::GraphicsContext::fillRect):
5623 2008-10-08  Thiago Macieira  <thiago.macieira@nokia.com>
5625         Reviewed by Simon.
5627         Fixes: Encoding of Qt URLs
5629         This encoding was added by Simon and I because QUrl's
5630         tolerant parser wasn't tolerant enough. Now it is, so we don't need
5631         this anymore.
5633         * platform/qt/KURLQt.cpp:
5634         (WebCore::KURL::operator QUrl):
5636 2008-10-08  Marius Storm-Olsen  <marius@trolltech.com>
5638         Reviewed by Simon.
5640         Fixes dependencies in qmake generated visual studio projects.
5642         Only add debug lib name if we're in the debug build_pass, else the release version.
5643         The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
5645         * WebCore.pro:
5647 2008-10-08  Prasanth Ullattil  <pullatti@trolltech.com>
5649         Reviewed by Simon.
5651         Fix compilation errors on VS2008 64Bit
5653         * platform/text/TextStream.cpp:
5654         (WebCore::TextStream::operator<<):
5655         * platform/text/TextStream.h:
5656         * plugins/win/PluginViewWin.cpp:
5657         (WebCore::PluginView::init):
5659 2008-10-07  Alp Toker  <alp@nuanti.com>
5661         GTK+ build fix for older automake versions (1.7). Discussed in bug
5662         #21392.
5664         * GNUmakefile.am:
5666 2008-10-07  Anders Carlsson  <andersca@apple.com>
5668         Reviewed by Antti Koivisto.
5670         <rdar://problem/6273887> Crash in ApplicationCacheGroup
5671         
5672         Make sure to stop loading even before a cache update is in progress so that the
5673         manifest load will be stopped.
5675         * loader/appcache/ApplicationCacheGroup.cpp:
5676         (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
5677         (WebCore::ApplicationCacheGroup::stopLoading):
5678         (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
5680 2008-10-07  Timothy Hatcher  <timothy@apple.com>
5682         Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
5684         https://bugs.webkit.org/show_bug.cgi?id=21433
5686         Reviewed by Sam Weinig.
5688         * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
5689         * bindings/objc/DOM.mm: Remove previous category implementations
5690         on DOMDocument for createNodeIterator: and createTreeWalker:. Also
5691         moves ObjCNodeFilterCondition to its own file.
5692         * bindings/objc/DOMTraversal.h: Remove the category methods that added
5693         createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
5694         to do since DOmDocument.h is included still, and has these methods.
5695         * bindings/objc/DOMUtility.mm:
5696         (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
5697         JSTreeWalker now that the ObjC binding conforms to the standard wrap.
5698         * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
5699         (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
5700         (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
5701         * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
5702         (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
5703         * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
5704         createTreeWalker: methods to DOMDocument.
5705         * bindings/scripts/CodeGeneratorObjC.pm:
5706         (GetObjCTypeGetter): Add a case for NodeFilter.
5707         (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
5708         (GenerateImplementation): Remove existing NodeFilter special case that
5709         used the m_filter member variable. Add a new special getter for protocol
5710         types that aren't EventTarget, so the right class is used for NodeFilter.
5711         Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
5712         * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
5713         OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
5714         Rename the entityReferenceExpansion parameter to expandEntityReferences to
5715         match the previous ObjC API.
5716         * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
5717         m_filter member variable was never used in practice, it was always nil!
5718         We can remove it and not pad the object because this can't be subclassed.
5719         * dom/TreeWalker.idl: Ditto.
5721 2008-10-07  Timothy Hatcher  <timothy@apple.com>
5723         Auto-generate the DOMEventTarget protocol implementation for
5724         DOMNode and DOMSVGElementInstance.
5726         https://bugs.webkit.org/show_bug.cgi?id=21432
5728         Reviewed by Darin Adler.
5730         * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
5731         * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
5732         ObjCEventListener to it's own file. Remove the manual impelmentations
5733         of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
5734         * bindings/objc/DOMEvents.h: Remove the categories that defined
5735         DOMEventTarget for DOMNode and DOMSVGElementInstance.
5736         * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
5737         * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
5738         (WebCore::ObjCEventListener::find): Moved from DOM.mm.
5739         (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
5740         callers from doing a manual deref.
5741         (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
5742         (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
5743         * bindings/scripts/CodeGeneratorObjC.pm:
5744         (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
5745         (AddIncludesForType): Include ObjCEventListener.h for EventListener.
5746         And include EventTargetSVGElementInstance.h for SVGElementInstance.
5747         (GenerateHeader): Remove the check for multiple parents.
5748         (GenerateImplementation): Remove the check for multiple parents. Remove
5749         the @deprecatedFunctions array since deprecated methods get generated
5750         into the main @interface now to work with protocols. Add support
5751         for the EventTargetNodeCast extended attribute. Add support for
5752         EventListener parameters.
5753         * dom/Node.idl: Define superclasses for ObjC so the implementation
5754         and interface implement the DOMEventTarget protocol. Explicitly
5755         specify Object as a superclass to use DOMEventTarget. Object will turn
5756         into DOMObject. This is needed to take the code generator down the right
5757         path of multiple super-classes as protocols. It is ObjC only for legacy
5758         reasons. The event target methods are normally on NodeEventTarget, a
5759         subclass of Node. But the ObjC API has never has this subclass and
5760         they are on DOMNode.
5761         * svg/SVGElementInstance.idl: Ditto.
5763 2008-10-07  David Hyatt  <hyatt@apple.com>
5765         Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
5767         The new pseudo-elements are:
5768             scrollbar
5769             scrollbar-button
5770             scrollbar-corner
5771             scrollbar-thumb
5772             scrollbar-track
5773         
5774         These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
5775         the following new pseudo-classes:
5776             scrollbar-active
5777             scrollbar-back
5778             scrollbar-forward
5779             scrollbar-horizontal
5780             scrollbar-vertical
5781         
5782         Reviewed by Adele
5784         * css/CSSSelector.cpp:
5785         (WebCore::CSSSelector::extractPseudoType):
5786         * css/CSSSelector.h:
5787         (WebCore::CSSSelector::):
5789 2008-10-06  Timothy Hatcher  <timothy@apple.com>
5791         Add support to the Resources panel for queries like "#123", "foo #123",
5792         "line: 123" and "foo line: 123". These will match the query limiting
5793         the search only to the line specified. If only a line is specified,
5794         the whole line is matched.
5796         https://bugs.webkit.org/show_bug.cgi?id=21422
5798         Reviewed by Darin Adler.
5800         * inspector/front-end/SourceFrame.js:
5801         (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
5802         row if the index is greater than the rows collection. Let it return
5803         undefined by indexing out-of-bounds.
5804         * inspector/front-end/SourceView.js:
5805         (WebInspector.SourceView.prototype.performSearch): Add support for
5806         queries like "#123", "foo #123", "line: 123" and "foo line: 123".
5807         Also match the whole query to the whole document in case there are
5808         colors like "#333".
5810 2008-10-07  Alp Toker  <alp@nuanti.com>
5812         Reviewed by Mark Rowe.
5814         https://bugs.webkit.org/show_bug.cgi?id=21392
5815         [GTK] Auto-generate JS DOM binding sources list
5817         Remove the huge lists of generated DOM binding sources and headers in
5818         the build system. These are difficult to maintain and can be derived
5819         automatically.
5821         The new strategy is to re-use the existing lists of IDL sources (which
5822         are needed for dist support anyway). This will also ease the addition
5823         of new language bindings.
5825         * GNUmakefile.am:
5827 2008-10-07  Tor Arne Vestbø  <tavestbo@trolltech.com>
5829         Reviewed by Simon.
5831         Don't attempt to paint when updating control tints
5833         We don't have a valid PlatformGraphicsContext so schedule
5834         the dirty scrollbar/scrollview area for repaint instead.
5836         * platform/qt/ScrollbarThemeQt.cpp:
5837         (WebCore::ScrollbarThemeQt::paint):
5838         (WebCore::ScrollbarThemeQt::paintScrollCorner):
5840 2008-10-07  Holger Hans Peter Freyther  <zecke@selfish.org>
5842         [qt] Build fix after Scrollbar.h and Widget.h changes.
5844         * plugins/qt/PluginViewQt.cpp:
5845         (WebCore::PluginView::getValue):
5846         (WebCore::PluginView::init):
5848 2008-10-06  David Hyatt  <hyatt@apple.com>
5850         Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
5852         Reviewed by Sam Weinig
5854         * WebCore.base.exp:
5855         * WebCore.xcodeproj/project.pbxproj:
5856         * loader/EmptyClients.h:
5857         (WebCore::EmptyFrameLoaderClient::hasWebView):
5858         * loader/FrameLoader.cpp:
5859         (WebCore::FrameLoader::loadWithDocumentLoader):
5860         (WebCore::FrameLoader::transitionToCommitted):
5861         * loader/FrameLoaderClient.h:
5862         * page/FocusController.cpp:
5863         (WebCore::FocusController::setActive):
5864         * page/FrameView.cpp:
5865         (WebCore::FrameView::FrameView):
5866         (WebCore::FrameView::init):
5867         (WebCore::FrameView::layoutIfNeededRecursive):
5868         * page/FrameView.h:
5870 2008-10-06  Dan Bernstein  <mitz@apple.com>
5872         - build fix
5874         * bindings/objc/DOMEvents.h:
5876 2008-10-06  Mark Mentovai  <mark@moxienet.com>
5878         Reviewed by Tim Hatcher.
5880         Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
5881         Platform.h is not available, in preference to #ifdef ENABLE_feature.
5882         #ifdef is wrong now that features are disabled by #defining
5883         ENABLE_feature to 0.
5885         https://bugs.webkit.org/show_bug.cgi?id=21338
5887         * bindings/objc/DOMEvents.h:
5888         * bindings/objc/PublicDOMInterfaces.h:
5889         * dom/Document.idl:
5890         * page/DOMWindow.idl:
5891         * svg/svgtags.in:
5893 2008-10-06  Mark Mentovai  <mark@moxienet.com>
5895         Reviewed by Sam Weinig.
5897         * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
5898         to get the declaration for isMainThread().
5900 2008-10-06  Jeremy Moskovich  <jeremy@chromium.org>
5902         Reviewed by Tim Hatcher.
5904         WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
5905         to reflect that.
5907         * WebCore.xcodeproj/project.pbxproj:
5908         * platform/mac/WebCoreObjCExtras.c: Removed.
5909         * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
5911 2008-10-06  Jeremy Moskovich  <jeremy@chromium.org>
5913         Reviewed by Dan Bernstein.
5914         
5915         Added C++ forward declaration for the NSURLAuthenticationChallenge class
5916         so that the m_currentMacChallenge variable doesn't cause a
5917         compilation error when ResourceHandleInternal.h is included from a C++ file.
5918         Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
5920         * platform/network/ResourceHandleInternal.h:
5922 2008-10-06  Steve Falkenburg  <sfalken@apple.com>
5924         Windows build fix.
5926         * WebCore.vcproj/WebCore.vcproj:
5928 2008-10-06  Steve Falkenburg  <sfalken@apple.com>
5930         https://bugs.webkit.org/show_bug.cgi?id=21416
5931         Add missing null checks identified by Application Verifier.
5932         
5933         Reviewed by Darin Adler.
5935         * platform/win/SharedTimerWin.cpp:
5936         (WebCore::clearTimer):
5938 2008-10-06  Kevin McCullough  <kmccullough@apple.com>
5940         Reviewed by Tim Hatcher.
5942         Removed accidentally left in debugging statement.
5944         * inspector/front-end/inspector.js:
5946 2008-10-06  Kevin McCullough  <kmccullough@apple.com>
5948         Reviewed by Tim Hatcher and Oliver Hunt.
5950         https://bugs.webkit.org/show_bug.cgi?id=21412
5951         Bug 21412: Refactor user initiated profile count to be more stable
5953         * inspector/InspectorController.cpp: Keep track of the user-initiated
5954         profiles here now.
5955         (WebCore::InspectorController::InspectorController):
5956         (WebCore::InspectorController::startUserInitiatedProfiling):
5957         (WebCore::InspectorController::stopUserInitiatedProfiling):
5958         * inspector/InspectorController.h:
5959         The front end will now need to check for the existence of the user-
5960         initiated profile title and use its count instead of keeping its own.
5961         * inspector/front-end/ProfilesPanel.js:
5963 2008-10-06  Dan Bernstein  <mitz@apple.com>
5965         Reviewed by Sam Weinig.
5967         - separate GDI text drawing into its own function
5969         * platform/graphics/win/FontCGWin.cpp:
5970         (WebCore::drawGDIGlyphs):
5971         (WebCore::Font::drawGlyphs):
5973 2008-10-03  Steve Falkenburg  <sfalken@apple.com>
5975         <rdar://problem/6249833> Fix default button appearance
5976         
5977         Reviewed by Adele Peterson.
5979         * rendering/RenderThemeWin.cpp:
5980         (WebCore::RenderThemeWin::supportsFocus):
5981         (WebCore::RenderThemeWin::determineClassicState):
5982         (WebCore::RenderThemeWin::determineButtonState):
5983         (WebCore::RenderThemeWin::getClassicThemeData):
5984         (WebCore::RenderThemeWin::getThemeData):
5985         (WebCore::drawControl):
5986         * rendering/RenderThemeWin.h:
5988 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
5990         Reviewed by Simon.
5992         Add native virtual keycode to PlatformKeyboardEvent
5994         * platform/PlatformKeyboardEvent.h:
5995         * platform/gtk/KeyEventGtk.cpp:
5996         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
5997         * platform/mac/KeyEventMac.mm:
5998         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
5999         * platform/qt/PlatformKeyboardEventQt.cpp:
6000         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
6001         * platform/win/KeyEventWin.cpp:
6002         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
6003         * platform/wx/KeyboardEventWx.cpp:
6004         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
6006 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
6008         Reviewed by Simon.
6010         Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
6012         * platform/text/PlatformString.h:
6013         * platform/text/StringImpl.h:
6014         * platform/text/cf/StringCF.cpp:
6015         * platform/text/cf/StringImplCF.cpp:
6017 2008-10-06  Tor Arne Vestbø  <tavestbo@trolltech.com>
6019         Reviewed by Simon.
6021         Use bundles on QtWebKit/Mac for platform modules
6023         * platform/FileSystem.h:
6024         * platform/qt/FileSystemQt.cpp:
6025         (WebCore::unloadModule):
6027 2008-10-06  Ariya Hidayat  <ariya.hidayat@trolltech.com>
6029         Reviewed by Simon.
6031         Build fix for MinGW.
6033         * platform/win/SystemTimeWin.cpp:
6034         * plugins/win/PluginViewWin.cpp:
6035         (WebCore::PluginView::invalidateRect):
6037 2008-10-06  Adam Roben  <aroben@apple.com>
6039         Mimic the inspector/ directory structure in WebCore.vcproj
6041         * WebCore.vcproj/WebCore.vcproj:
6043 2008-10-06  Adam Roben  <aroben@apple.com>
6045         Windows build fix
6047         * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
6048         configurations to include WebCore/inspector.
6050 2008-10-04  Eric Seidel  <eric@webkit.org>
6052         Reviewed by Darin Adler.
6054         SVG should support ascent and descent properties <font-face> instead of <font>!
6055         https://bugs.webkit.org/show_bug.cgi?id=21365
6056         
6057         Tested by many many existing SVG tests.
6059         * svg/SVGFontFaceElement.cpp:
6060         (WebCore::SVGFontFaceElement::ascent):
6061         (WebCore::SVGFontFaceElement::descent):
6063 2008-10-05  Darin Fisher  <darin@chromium.org>
6065         Reviewed by Eric Seidel.
6067         REGRESSION: crash in ScriptElement::notifyFinished
6068         Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
6070         * dom/ScriptElement.cpp:
6071         (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
6072         ensure that the ScriptElementData object is not destroyed prematurely.
6074 2008-10-05  Chris Lord  <chris@openedhand.com>
6076         Reviewed by Alp Toker. Landed by Jan Alonzo.
6078         https://bugs.webkit.org/show_bug.cgi?id=20624
6079         WebKit-gtk uses deprecated GtkType/GtkObject
6081         * plugins/gtk/gtk2xtbin.c:
6082         (gtk_xtbin_get_type):
6083         * plugins/gtk/gtk2xtbin.h:
6085 2008-10-05  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
6087         Reviewed by David Hyatt.
6089         GTK_WINDOW_HWND not GTK_WINDOWING_HWND
6090         https://bugs.webkit.org/show_bug.cgi?id=20725
6092         Updated to ToT by Jan Alonzo.
6094         * plugins/gtk/PluginViewGtk.cpp:
6095         (WebCore::PluginView::getValue):
6097 2008-10-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
6099         Reviewed by Darin Adler.
6101         Invalid cast from GdkWindow to GtkWidget
6102         https://bugs.webkit.org/show_bug.cgi?id=21391
6104         Fix a misplaced closing parenthesis to actually cast the widget, not the window
6106         * platform/gtk/PlatformScreenGtk.cpp:
6107         (WebCore::screenDepth):
6109 2008-10-05  Adam Barth  <abarth@webkit.org>
6111         Reviewed by Darin Alder.
6113         Attach the Origin header to POST requests to help defend against
6114         cross-site request forgery.
6116         https://bugs.webkit.org/show_bug.cgi?id=20792
6118         Collin Jackson <collinj@webkit.org> also contributed to this patch.
6120         Tests: http/tests/security/originHeader/origin-header-for-data.html
6121                http/tests/security/originHeader/origin-header-for-empty.html
6122                http/tests/security/originHeader/origin-header-for-get.html
6123                http/tests/security/originHeader/origin-header-for-https.html
6124                http/tests/security/originHeader/origin-header-for-post.html
6126         * bindings/js/JSDOMWindowBase.cpp:
6127         (WebCore::createWindow):
6128         * loader/FrameLoader.cpp:
6129         (WebCore::FrameLoader::createWindow):
6130         (WebCore::FrameLoader::urlSelected):
6131         (WebCore::FrameLoader::submitForm):
6132         (WebCore::FrameLoader::outgoingOrigin):
6133         (WebCore::FrameLoader::loadURL):
6134         (WebCore::FrameLoader::addExtraFieldsToRequest):
6135         (WebCore::FrameLoader::loadPostRequest):
6136         (WebCore::FrameLoader::loadResourceSynchronously):
6137         (WebCore::FrameLoader::loadItem):
6138         * loader/FrameLoader.h:
6139         * loader/SubresourceLoader.cpp:
6140         (WebCore::SubresourceLoader::create):
6141         * loader/loader.cpp:
6142         (WebCore::Loader::Host::servePendingRequests):
6143         * platform/SecurityOrigin.cpp:
6144         (WebCore::SecurityOrigin::toHTTPOrigin):
6145         * platform/SecurityOrigin.h:
6146         * platform/network/ResourceRequestBase.h:
6147         (WebCore::ResourceRequestBase::httpOrigin):
6148         (WebCore::ResourceRequestBase::setHTTPOrigin):
6149         (WebCore::ResourceRequestBase::clearHTTPOrigin):
6150         * xml/XMLHttpRequest.cpp:
6151         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
6152         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
6153         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
6154         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
6156 2008-10-04  Oliver Hunt  <oliver@apple.com>
6158         Reviewed by Tim Hatcher.
6160         Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
6161         <https://bugs.webkit.org/show_bug.cgi?id=21381>
6163         If we hit a parsing boundary (end of a packet, etc) in the middle of a
6164         <script> element when we are doing an incremental parse, we exit the
6165         parser, and reenter later when more data is available.  During this
6166         reentry we incorrectly reset the scriptStartLineno to the current line
6167         in the parser, which is now part way through the script element.
6169         The solution is to track whether we are entering or reentering the parsing
6170         of a script element.  We do this simply by 0 checking scriptStartLineno,
6171         and resetting it after we complete parsing of each script element. 
6173         Test: http/tests/incremental/pause-in-script-element.pl
6175         * ChangeLog:
6176         * html/HTMLTokenizer.cpp:
6177         (WebCore::HTMLTokenizer::parseSpecial):
6178         (WebCore::HTMLTokenizer::scriptHandler):
6180 2008-10-04  Alp Toker  <alp@nuanti.com>
6182         Reviewed by David Hyatt. Landed by Jan Alonzo.
6184         https://bugs.webkit.org/show_bug.cgi?id=20924
6185         [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
6187         https://bugs.webkit.org/show_bug.cgi?id=19578
6188         [CURL] problem in parseDataUrl
6190         De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
6191         This patch also fixes encoding support in escaped (non-Base64) data
6192         URLs. All manual data URL tests now pass in both GLib and non-GLib
6193         code paths.
6195         * platform/network/curl/ResourceHandleManager.cpp:
6196         (WebCore::parseDataUrl):
6198 2008-10-04  Timothy Hatcher  <timothy@apple.com>
6200         Makes breakpoints and debugging code during page load work in the
6201         Web Inspector's debugger. Specifically, this makes the source
6202         code for loading resources show up in the Scripts panel.
6204         https://bugs.webkit.org/show_bug.cgi?id=19053
6205         rdar://problem/5933408
6207         Reviewed by Mark Rowe.
6209         * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
6210         not using tabs and a tab width of 8.
6211         * inspector/InspectorController.cpp:
6212         (WebCore::addResourceSourceToFrame): Return a bool to report if the
6213         source was added successfully or not.
6214         (WebCore::addSourceToFrame): Ditto.
6215         * inspector/front-end/ScriptView.js:
6216         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
6217         Return early if the InspectorController.addSourceToFrame fails.
6218         Moved the delete of the _frameNeedsSetup property after that call so
6219         if the source wasn't added it will be attempted again.
6220         * inspector/front-end/SourceView.js:
6221         (WebInspector.SourceView.prototype.detach): Move a comment.
6222         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
6223         Don't check if the resource is finished or failed, just attempt
6224         to add the source to the frame. WebCore has the source, but the
6225         finished property hasn't been set yet. Return early if the
6226         InspectorController.addSourceToFrame fails. Moved the delete
6227         of the _frameNeedsSetup property after that call so if the source
6228         wasn't added it will be attempted again.
6229         (WebInspector.SourceView.prototype._resourceLoadingFinished):
6230         Clear the _frameNeedsSetup and _sourceFrameSetup properties so
6231         the source frame will we populated again now that the resource
6232         load has finished.
6233         * manual-tests/inspector/debugger-pause-during-load.html: Added.
6235 2008-10-04  Mark Rowe  <mrowe@apple.com>
6237         Reviewed by Tim Hatcher.
6239         Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
6241         * WebCore.xcodeproj/project.pbxproj:
6243 2008-10-04  David Hyatt  <hyatt@apple.com>
6245         https://bugs.webkit.org/show_bug.cgi?id=21373
6247         Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
6248         is still present.
6250         Reviewed by Mark Rowe
6252         * page/FrameView.cpp:
6253         (WebCore::FrameView::~FrameView):
6255 2008-10-04  Sam Weinig  <sam@webkit.org>
6257         Reviewed by Dan Bernstein.
6259         Avoid copying a Vector when using getSupportedKeySizes.
6261         * html/HTMLKeygenElement.cpp:
6262         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
6263         * platform/SSLKeyGenerator.h:
6264         * platform/gtk/TemporaryLinkStubs.cpp:
6265         (WebCore::getSupportedKeySizes):
6266         * platform/mac/SSLKeyGeneratorMac.mm:
6267         (WebCore::getSupportedKeySizes):
6268         * platform/qt/TemporaryLinkStubs.cpp:
6269         (WebCore::getSupportedKeySizes):
6270         * platform/win/TemporaryLinkStubs.cpp:
6271         (WebCore::getSupportedKeySizes):
6272         * platform/wx/TemporaryLinkStubs.cpp:
6273         (WebCore::getSupportedKeySizes):
6275 2008-10-04  Darin Adler  <darin@apple.com>
6277         Reviewed by Cameron Zwarich.
6279         - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
6280           Bug 21295: Replace ExecState with a call frame Register pointer
6282         * bindings/js/JSQuarantinedObjectWrapper.cpp:
6283         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
6284         Remove bogus "const".
6285         * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
6287 2008-10-04  David Hyatt  <hyatt@apple.com>
6289         Make PopupMenuClient obey the platform abstraction.  Remove any connection to Document and RenderStyle.
6291         Reviewed by Darin Adler
6293         * WebCore.xcodeproj/project.pbxproj:
6294         * platform/PopupMenuClient.h:
6295         * platform/gtk/PopupMenuGtk.cpp:
6296         (WebCore::PopupMenu::show):
6297         * platform/mac/PopupMenuMac.mm:
6298         (WebCore::PopupMenu::populate):
6299         (WebCore::PopupMenu::show):
6300         * platform/qt/PopupMenuQt.cpp:
6301         (WebCore::PopupMenu::populate):
6302         * platform/win/PopupMenuWin.cpp:
6303         (WebCore::PopupMenu::calculatePositionAndSize):
6304         (WebCore::PopupMenu::paint):
6305         (WebCore::PopupWndProc):
6306         * rendering/RenderMenuList.cpp:
6307         (WebCore::RenderMenuList::itemStyle):
6308         (WebCore::RenderMenuList::menuStyle):
6309         (WebCore::RenderMenuList::hostWindow):
6310         * rendering/RenderMenuList.h:
6311         * rendering/RenderTextControl.cpp:
6312         (WebCore::RenderTextControl::itemStyle):
6313         (WebCore::RenderTextControl::menuStyle):
6314         (WebCore::RenderTextControl::hostWindow):
6315         * rendering/RenderTextControl.h:
6317 2008-10-04  Matt Lilek  <webkit@mattlilek.com>
6319         Build fix - restore Private role to headers that had it before the move.
6321         * WebCore.xcodeproj/project.pbxproj:
6323 2008-10-04  Darin Adler  <darin@apple.com>
6325         - try to fix build
6327         * DerivedSources.make: Add new inspector directory to VPATH.
6328         * GNUmakefile.am: Add new inspector directory to includes.
6329         Re-sort the IDL_BINDINGS list. Add new inspector directory
6330         to VPATH.
6332 2008-10-04  Matt Lilek  <webkit@mattlilek.com>
6334         Not reviewed, attempt to fix Gtk build.
6336         * GNUmakefile.am:
6338 2008-10-03  Timothy Hatcher  <timothy@apple.com>
6340         Move the Web Inspector files into a top-level "inspector" folder.
6342         https://bugs.webkit.org/show_bug.cgi?id=21359
6344         Reviewed by Dave Hyatt.
6346         * GNUmakefile.am:
6347         * WebCore.pro:
6348         * WebCore.vcproj/WebCore.vcproj:
6349         * WebCore.xcodeproj/project.pbxproj:
6350         * WebCoreSources.bkl:
6351         * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
6352         * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
6353         * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
6354         * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
6355         * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
6356         * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
6357         * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
6358         * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
6359         * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
6360         * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
6361         * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
6362         * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
6363         * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
6364         * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
6365         * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
6366         * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
6367         * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
6368         * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
6369         * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
6370         * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
6371         * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
6372         * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
6373         * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
6374         * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
6375         * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
6376         * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
6377         * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
6378         * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
6379         * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
6380         * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
6381         * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
6382         * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
6383         * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
6384         * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
6385         * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
6386         * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
6387         * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
6388         * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
6389         * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
6390         * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
6391         * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
6392         * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
6393         * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
6394         * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
6395         * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
6396         * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
6397         * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
6398         * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
6399         * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
6400         * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
6401         * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
6402         * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
6403         * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
6404         * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
6405         * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
6406         * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
6407         * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
6408         * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
6409         * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
6410         * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
6411         * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
6412         * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
6413         * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
6414         * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
6415         * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
6416         * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
6417         * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
6418         * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
6419         * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
6420         * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
6421         * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
6422         * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
6423         * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
6424         * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
6425         * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
6426         * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
6427         * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
6428         * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
6429         * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
6430         * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
6431         * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
6432         * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
6433         * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
6434         * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
6435         * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
6436         * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
6437         * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
6438         * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
6439         * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
6440         * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
6441         * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
6442         * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
6443         * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
6444         * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
6445         * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
6446         * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
6447         * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
6448         * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
6449         * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
6450         * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
6451         * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
6452         * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
6453         * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
6454         * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
6455         * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
6456         * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
6457         * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
6458         * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
6459         * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
6460         * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
6461         * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
6462         * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
6463         * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
6464         * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
6465         * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
6466         * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
6467         * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
6468         * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
6469         * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
6470         * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
6471         * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
6472         * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
6473         * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
6474         * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
6475         * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
6476         * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
6477         * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
6478         * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
6479         * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
6480         * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
6481         * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
6482         * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
6483         * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
6484         * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
6485         * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
6486         * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
6487         * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
6488         * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
6489         * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
6490         * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
6491         * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
6492         * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
6493         * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
6494         * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
6495         * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
6496         * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
6497         * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
6498         * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
6499         * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
6500         * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
6501         * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
6502         * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
6503         * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
6504         * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
6505         * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
6506         * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
6508 2008-10-03  Timothy Hatcher  <timothy@apple.com>
6510         Adds support to the Web Inspector's Elements panel for fast tag name,
6511         class name, id and attribute name searching. The panel first tries
6512         using getElementById, getElementsByClassName and getElementsByTagName
6513         with the search query. Then does a slower search using XPath for partial
6514         matches, text and comment matches.
6516         Adds support for search queries like "<div>", "<h" and "frame>".
6517         These forms limit the search to tag names, text and comment matches.
6519         https://bugs.webkit.org/show_bug.cgi?id=21353
6521         Reviewed by Maciej Stachowiak.
6523         * page/inspector/ElementsPanel.js:
6524         (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
6525         support. Add new search functions that try exact matches first.
6527 2008-10-03  Timothy Hatcher  <timothy@apple.com>
6529         Changes how searching works in the Web Inspector's Elements
6530         panel. The search tasks are divided into chunks that are small
6531         units of work that are performed at a time interval. This
6532         change also prevents queries that will select all elements,
6533         since that isn't useful.
6535         https://bugs.webkit.org/show_bug.cgi?id=21285
6537         Reviewed by Oliver Hunt.
6539         * page/inspector/ElementsPanel.js:
6540         (WebInspector.ElementsPanel.prototype.searchCancled):
6541         Remove the searchResultsProperty form results since there might
6542         be an unfinished search.
6543         (WebInspector.ElementsPanel.prototype.performSearch): Divide the
6544         documents and search functions into chunks that are performed on
6545         a interval of 25ms. Prevent searches for "//*" and "*".
6547 2008-10-03  Maciej Stachowiak  <mjs@apple.com>
6549         Reviewed by Cameron Zwarich.
6551         - "this" object in methods called on primitives should be wrapper object
6552         https://bugs.webkit.org/show_bug.cgi?id=21362
6554         Updated so toThis conversion for the split window is handled properly.
6556         * bindings/scripts/CodeGeneratorJS.pm:
6558 2008-10-03  Sam Weinig  <sam@webkit.org>
6560         Reviewed by David "The Motivator" Hyatt.
6562         Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
6563         Move SecurityOrigin out of platform/ to page/.
6565         It was a layering violation for SecurityOrigin to be in platform
6566         as it depended on FrameLoader.
6568         * GNUmakefile.am:
6569         * WebCore.pro:
6570         * WebCore.vcproj/WebCore.vcproj:
6571         * WebCore.xcodeproj/project.pbxproj:
6572         * WebCoreSources.bkl:
6573         * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
6574         * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
6575         * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
6576         * platform/SecurityOrigin.cpp: Removed.
6577         * platform/SecurityOrigin.h: Removed.
6578         * platform/SecurityOriginHash.h: Removed.
6580 2008-10-03  Marco Barisione  <marco.barisione@collabora.co.uk>
6582         Reviewed by Alp Toker.
6584         http://bugs.webkit.org/show_bug.cgi?id=18832
6585         [curl] file upload does not work
6587         The curl_off_t integer type has a different size depending if large
6588         file support is enabled or not. There is no different public API for
6589         the two cases, so the same function accepts a different type based on
6590         a compilation option the could be different in WebKit and libcurl.
6591         To fix the bug we query libcurl at runtime for large file support and
6592         pass the right type based on that.
6594         * platform/network/curl/ResourceHandleManager.cpp:
6595         (WebCore::ResourceHandleManager::setupPOST):
6597 2008-10-03  Jan Michael Alonzo  <jmalonzo@webkit.org>
6599         Reviewed by David Hyatt.
6601         Gtk build fixes.
6603         * platform/gtk/FileChooserGtk.cpp:
6604         (WebCore::FileChooser::openFileChooser):
6605         * platform/gtk/PlatformScreenGtk.cpp:
6606         (WebCore::screenDepth):
6607         (WebCore::screenDepthPerComponent):
6608         (WebCore::screenAvailableRect):
6609         * platform/gtk/PopupMenuGtk.cpp:
6610         (WebCore::PopupMenu::show):
6611         * platform/gtk/ScrollViewGtk.cpp:
6612         (WebCore::ScrollView::platformAddChild):
6613         (WebCore::ScrollView::platformRemoveChild):
6614         * platform/gtk/WidgetGtk.cpp:
6615         (WebCore::Widget::setCursor):
6616         * plugins/gtk/PluginViewGtk.cpp:
6617         (WebCore::PluginView::getValue):
6618         (WebCore::PluginView::forceRedraw):
6619         (WebCore::PluginView::init):
6621 2008-10-03  David Hyatt  <hyatt@apple.com>
6623         Fix Qt bustage from missing include.
6625         * platform/qt/PlatformScreenQt.cpp:
6627 2008-10-03  David Hyatt  <hyatt@apple.com>
6629         Fix Windows scrollbar bustage in popup menus.
6631         * platform/win/PopupMenuWin.cpp:
6632         (WebCore::PopupWndProc):
6634 2008-10-03  David Hyatt  <hyatt@apple.com>
6636         Fix Windows bustage.
6638         * platform/win/FileChooserWin.cpp:
6639         (WebCore::FileChooser::openFileChooser):
6640         * platform/win/PlatformScreenWin.cpp:
6641         (WebCore::monitorInfoForWidget):
6642         * platform/win/WidgetWin.cpp:
6643         * plugins/win/PluginViewWin.cpp:
6644         (WebCore::PluginView::getValue):
6645         (WebCore::PluginView::forceRedraw):
6646         (WebCore::PluginView::init):
6648 2008-10-03  Darin Adler  <darin@apple.com>
6650         * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
6651         seen on some machines but not others by adding an include.
6653 2008-10-03  Darin Adler  <darin@apple.com>
6655         - Qt build fix
6657         * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
6658         execute functions. Declarations for these relied on the CodeType
6659         enumeration, which used to be in ExecState.h; but the functions
6660         aren't needed at all.
6661         * bridge/qt/qt_runtime.h: Ditto.
6663 2008-10-03  Darin Adler  <darin@apple.com>
6665         Reviewed by Geoff Garen.
6667         - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
6668           Turn ExecState into a call frame pointer.
6670         Remove m_globalObject and m_globalData from ExecState.
6672         * bindings/js/JSDOMWindowBase.cpp:
6673         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
6674         Removed an argument now that JSGlobalObject doesn't need it any more.
6675         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
6676         the JSDOMWindowBaseData constructor, and added the this argument to the
6677         JSGlobalObject constructor. This is because a couple key bits of
6678         initialization moved from the data constructor to the JSGlobalObject
6679         constructor.
6680         * bindings/js/JSDOMWindowBase.h: Ditto.
6682         * bridge/qt/qt_runtime.cpp:
6683         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
6684         * bridge/runtime_method.cpp:
6685         (JSC::RuntimeMethod::RuntimeMethod):
6686         Pass JSGlobalData* instead of ExecState* to the InternalFunction
6687         constructor.
6689 2008-10-03  David Hyatt  <hyatt@apple.com>
6691         Fix Windows/Qt build bustage.
6693         Reviewed by ggaren
6695         * loader/EmptyClients.h:
6696         (WebCore::EmptyChromeClient::platformWindow):
6697         * page/Chrome.cpp:
6698         (WebCore::Chrome::platformWindow):
6699         * page/Chrome.h:
6700         * page/ChromeClient.h:
6701         * platform/HostWindow.h:
6702         * platform/qt/PlatformScreenQt.cpp:
6703         (WebCore::screenDepth):
6704         (WebCore::screenDepthPerComponent):
6705         (WebCore::screenIsMonochrome):
6706         (WebCore::screenRect):
6707         (WebCore::screenAvailableRect):
6708         * platform/qt/PopupMenuQt.cpp:
6709         (WebCore::PopupMenu::show):
6710         * platform/win/PopupMenuWin.cpp:
6711         (WebCore::PopupMenu::show):
6712         (WebCore::PopupMenu::calculatePositionAndSize):
6713         (WebCore::PopupWndProc):
6715 2008-10-03  Simon Fraser  <simon.fraser@apple.com>
6717         Reviewed by Dave Hyatt
6719         Make setStyle() take a const RenderStyle, to ensure that an
6720         earlier RenderStyle::diff() remains valid.
6722         * rendering/RenderBR.cpp:
6723         * rendering/RenderBR.h:
6724         * rendering/RenderBlock.cpp:
6725         * rendering/RenderBlock.h:
6726         * rendering/RenderBox.cpp:
6727         * rendering/RenderBox.h:
6728         * rendering/RenderButton.cpp:
6729         * rendering/RenderButton.h:
6730         * rendering/RenderFieldset.cpp:
6731         * rendering/RenderFieldset.h:
6732         * rendering/RenderFileUploadControl.cpp:
6733         * rendering/RenderFileUploadControl.h:
6734         * rendering/RenderInline.cpp:
6735         * rendering/RenderInline.h:
6736         * rendering/RenderListBox.cpp:
6737         * rendering/RenderListBox.h:
6738         * rendering/RenderListItem.cpp:
6739         * rendering/RenderListItem.h:
6740         * rendering/RenderListMarker.cpp:
6741         * rendering/RenderListMarker.h:
6742         * rendering/RenderMenuList.cpp:
6743         * rendering/RenderMenuList.h:
6744         * rendering/RenderObject.cpp:
6745         (WebCore::RenderObject::setStyle):
6746         * rendering/RenderObject.h:
6747         * rendering/RenderReplaced.cpp:
6748         * rendering/RenderReplaced.h:
6749         * rendering/RenderSVGBlock.cpp:
6750         (WebCore::RenderSVGBlock::setStyle):
6751         * rendering/RenderSVGBlock.h:
6752         * rendering/RenderSVGGradientStop.cpp:
6753         * rendering/RenderSVGGradientStop.h:
6754         * rendering/RenderSlider.cpp:
6755         * rendering/RenderSlider.h:
6756         * rendering/RenderTable.cpp:
6757         * rendering/RenderTable.h:
6758         * rendering/RenderTableCell.cpp:
6759         * rendering/RenderTableCell.h:
6760         * rendering/RenderTableRow.cpp:
6761         * rendering/RenderTableRow.h:
6762         * rendering/RenderText.cpp:
6763         * rendering/RenderText.h:
6764         * rendering/RenderTextControl.cpp:
6765         * rendering/RenderTextControl.h:
6766         * rendering/RenderWidget.cpp:
6767         * rendering/RenderWidget.h:
6768         * rendering/style/RenderStyle.h:
6769         (WebCore::RenderStyle::isDisplayReplacedType):
6770         (WebCore::RenderStyle::isDisplayInlineType):
6772 2008-10-03  David Hyatt  <hyatt@apple.com>
6774         Preparation for enabling scrollbars to hit test properly inside transforms.  Clean up the scrollbar
6775         event handlers to no longer be virtual.  Don't pass a mouse event where none is needed.  Add a new
6776         method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
6777         that will work properly for hit testing.  This patch just stubs out that method to return the same
6778         event untransformed.
6780         Reviewed by Darin Adler
6782         * page/EventHandler.cpp:
6783         (WebCore::EventHandler::handleMouseDoubleClickEvent):
6784         (WebCore::EventHandler::handleMouseMoveEvent):
6785         (WebCore::EventHandler::handleMouseReleaseEvent):
6786         (WebCore::EventHandler::passMousePressEventToScrollbar):
6787         * page/gtk/EventHandlerGtk.cpp:
6788         * page/mac/EventHandlerMac.mm:
6789         * page/qt/EventHandlerQt.cpp:
6790         * page/win/EventHandlerWin.cpp:
6791         * page/wx/EventHandlerWx.cpp:
6792         * platform/Scrollbar.cpp:
6793         (WebCore::Scrollbar::mouseMoved):
6794         (WebCore::Scrollbar::mouseExited):
6795         (WebCore::Scrollbar::mouseUp):
6796         (WebCore::Scrollbar::mouseDown):
6797         (WebCore::Scrollbar::transformEvent):
6798         * platform/Scrollbar.h:
6800 2008-10-03  David Hyatt  <hyatt@apple.com>
6802         https://bugs.webkit.org/show_bug.cgi?id=21340
6803         
6804         Remove "containingWindow()/setContainingWindow()" from Widget.  HostWindow covers this now.
6805     
6806         Reviewed by Dan Bernstein & Darin Adler
6807         
6808         * platform/ScrollView.cpp:
6809         (WebCore::ScrollView::addChild):
6810         * platform/Widget.cpp:
6811         (WebCore::Widget::init):
6812         * platform/Widget.h:
6813         * platform/mac/WidgetMac.mm:
6814         * platform/win/PopupMenuWin.cpp:
6815         (WebCore::PopupMenu::show):
6817 2008-10-03  Adele Peterson  <adele@apple.com>
6819         Reviewed by Sam Weinig.
6821         * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
6822         Return early if settings is nil.
6824 2008-10-03  Rob Buis  <buis@kde.org>
6826         Reviewed by Darin.
6828         https://bugs.webkit.org/show_bug.cgi?id=20134
6829         REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
6831         Make sure the input element gets the right default value when no value is set.
6833         Test: fast/forms/range-default-value.html
6835         * rendering/RenderSlider.cpp:
6836         (WebCore::RenderSlider::setPositionFromValue):
6838 2008-10-03  David Hyatt  <hyatt@apple.com>
6840         Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
6841         destructor that calls them, switch to having a cross-platform constructor/destructor that calls
6842         platform-specific init/destroy methods.
6844         With this change, ScrollViewWin.cpp can be removed from the build (yay!).
6846         Reviewed by Darin Adler
6848         * WebCore.vcproj/WebCore.vcproj:
6849         * platform/ScrollView.cpp:
6850         (WebCore::ScrollView::ScrollView):
6851         (WebCore::ScrollView::~ScrollView):
6852         (WebCore::ScrollView::platformInit):
6853         (WebCore::ScrollView::platformDestroy):
6854         (WebCore::ScrollView::platformAddChild):
6855         (WebCore::ScrollView::platformRemoveChild):
6856         * platform/ScrollView.h:
6857         * platform/gtk/ScrollViewGtk.cpp:
6858         (WebCore::ScrollView::platformInit):
6859         (WebCore::ScrollView::platformDestroy):
6860         * platform/mac/ScrollViewMac.mm:
6861         * platform/qt/ScrollViewQt.cpp:
6862         (WebCore::ScrollView::platformInit):
6863         (WebCore::ScrollView::platformDestroy):
6864         * platform/win/ScrollViewWin.cpp: Removed.
6865         * platform/wx/ScrollViewWx.cpp:
6866         (WebCore::ScrollView::platformInit):
6867         (WebCore::ScrollView::platformDestroy):
6868         (WebCore::ScrollView::setPlatformWidget):
6870 2008-10-03  Adele Peterson  <adele@apple.com>
6872         Reviewed by Dan Bernstein.
6874         Fix for <rdar://problem/6012018> 
6875         https://bugs.webkit.org/show_bug.cgi?id=21335
6876         CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
6878         * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
6880 2008-10-03  Ariya Hidayat  <ariya.hidayat@trolltech.com>
6882         Build fix.
6884         * platform/qt/WidgetQt.cpp:
6885         (WebCore::Widget::invalidateRect):
6887 2008-10-03  Alp Toker  <alp@nuanti.com>
6889         Remove some left-over GTK+ includes. No change in functionality.
6891         * platform/Cursor.h:
6892         * platform/graphics/Icon.h:
6893         * platform/gtk/RenderThemeGtk.h:
6895 2008-10-03  Alp Toker  <alp@nuanti.com>
6897         Build fix for trailing comment after #endif
6899         * dom/ElementRareData.h:
6901 2008-10-03  David Hyatt  <hyatt@apple.com>
6903         Remove addToDirtyRegion.
6904         
6905         Reviewed by Oliver Hunt
6907         * page/Chrome.cpp:
6908         * page/Chrome.h:
6909         * page/ChromeClient.h:
6910         * platform/ScrollView.h:
6911         * platform/gtk/ScrollViewGtk.cpp:
6912         * platform/qt/ScrollViewQt.cpp:
6913         * platform/win/ScrollViewWin.cpp:
6915 2008-10-03  Dan Bernstein  <mitz@apple.com>
6917         Reviewed by Maciej Stachowiak.
6919         - fix a CachedResource leak introduced in r37176 
6921         Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
6922         afterwards bail out of the outer pruneDeadResources().
6924         * loader/Cache.cpp:
6925         (WebCore::Cache::Cache):
6926         (WebCore::Cache::pruneDeadResources):
6927         (WebCore::Cache::remove):
6928         * loader/Cache.h:
6930 2008-10-03  David Hyatt  <hyatt@apple.com>
6932         https://bugs.webkit.org/show_bug.cgi?id=21330
6934         Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
6935         scrollbars.
6936         
6937         Reviewed by Oliver Hunt
6939         * platform/ScrollView.cpp:
6940         (WebCore::ScrollView::setHasHorizontalScrollbar):
6941         (WebCore::ScrollView::setHasVerticalScrollbar):
6942         (WebCore::ScrollView::platformHasHorizontalAdjustment):
6943         (WebCore::ScrollView::platformHasVerticalAdjustment):
6944         * platform/ScrollView.h:
6945         * platform/gtk/ScrollViewGtk.cpp:
6946         (WebCore::ScrollView::adjustmentChanged):
6947         (WebCore::ScrollView::ScrollView):
6948         (WebCore::ScrollView::~ScrollView):
6949         (WebCore::ScrollView::setGtkAdjustments):
6950         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
6951         (WebCore::ScrollView::platformHandleVerticalAdjustment):
6953 2008-10-03  Julien Chaffraix  <jchaffraix@webkit.org>
6955         Reviewed by Maciej Stachowiak.
6957         Bug 21106: .in format discussed changes
6958         https://bugs.webkit.org/show_bug.cgi?id=21106
6960         Change "upperCase" to "interfaceName" per-tag parameter as
6961         discussed on the mailing list. Removed the per-attribute version
6962         as it was not used.
6964         Also add the "Element" suffix to all interfaceName parameter to match
6965         the class name (and thus remove it from make_names.pl).
6967         * dom/make_names.pl:
6968         * html/HTMLTagNames.in:
6969         * svg/svgtags.in:
6971 2008-10-03  David Hyatt  <hyatt@apple.com>
6973         Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
6974         Hopefully this is a temporary hack that could eventually be removed.
6976         Reviewed by Sam Weinig
6978         * platform/ScrollView.cpp:
6979         (WebCore::ScrollView::scrollContents):
6980         * platform/ScrollView.h:
6981         (WebCore::ScrollView::rootPreventsBlitting):
6982         * platform/qt/ScrollViewQt.cpp:
6983         (WebCore::ScrollView::ScrollView):
6984         (WebCore::ScrollView::~ScrollView):
6985         (WebCore::ScrollView::platformAddChild):
6986         (WebCore::ScrollView::platformRemoveChild):
6988 2008-10-02  David Hyatt  <hyatt@apple.com>
6990         https://bugs.webkit.org/show_bug.cgi?id=21328
6991         
6992         Make widget invalidation more cross-platform.
6993         
6994         (1) Make invalidateRect a pure virtual function on Widget.  All leaf widgets must now implement this function.
6995         
6996         (2) Scrollbars now send invalidations through the ScrollbarClient.  windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
6997         This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
6998         
6999         (3) Plugins now have the native window invalidation code for windowed plugins.  Windowless plugins do a repaintRectangle on the plugin's renderer.
7000         
7001         (4) FrameViews now do a repaintRectangle on their owner element's renderer.
7003         Reviewed by Sam Weinig
7005         * WebCore.base.exp:
7006         * page/FrameView.cpp:
7007         (WebCore::FrameView::invalidateRect):
7008         (WebCore::FrameView::invalidateScrollbarRect):
7009         * page/FrameView.h:
7010         * platform/PopupMenu.h:
7011         * platform/ScrollView.cpp:
7012         (WebCore::ScrollView::scrollContents):
7013         * platform/ScrollView.h:
7014         * platform/Scrollbar.cpp:
7015         (WebCore::Scrollbar::setEnabled):
7016         (WebCore::Scrollbar::invalidateRect):
7017         * platform/Scrollbar.h:
7018         * platform/ScrollbarClient.h:
7019         * platform/Widget.h:
7020         * platform/gtk/WidgetGtk.cpp:
7021         * platform/mac/WidgetMac.mm:
7022         * platform/win/PopupMenuWin.cpp:
7023         (WebCore::PopupMenu::invalidateScrollbarRect):
7024         * platform/win/WidgetWin.cpp:
7025         * plugins/PluginView.cpp:
7026         (WebCore::PluginView::invalidateTimerFired):
7027         (WebCore::PluginView::invalidateWindowlessPluginRect):
7028         * plugins/PluginView.h:
7029         * plugins/gtk/PluginViewGtk.cpp:
7030         (WebCore::PluginView::invalidateRect):
7031         * plugins/qt/PluginViewQt.cpp:
7032         (WebCore::PluginView::invalidateRect):
7033         * plugins/win/PluginViewWin.cpp:
7034         (WebCore::PluginView::invalidateRect):
7035         (WebCore::PluginView::invalidateRegion):
7036         * rendering/RenderLayer.cpp:
7037         (WebCore::RenderLayer::invalidateScrollbarRect):
7038         * rendering/RenderLayer.h:
7039         * rendering/RenderListBox.cpp:
7040         (WebCore::RenderListBox::paintObject):
7041         (WebCore::RenderListBox::paintScrollbar):
7042         (WebCore::RenderListBox::invalidateScrollbarRect):
7043         * rendering/RenderListBox.h:
7045 2008-10-02  Dan Bernstein  <mitz@apple.com>
7047         Reviewed by Geoffrey Garen and Sam Weinig.
7049         - fix SVGFontFaceElement leaks seen in Acid3
7050         - make font-face elements take effect only when they are in the document tree
7052         Test: svg/custom/font-face-not-in-document.svg
7054         * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
7055         RefPtr to a plain pointer to break a ref cycle.
7056         (WebCore::SVGFontData::svgFontFaceElement):
7058         * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
7059         @font-face rule from the document's mapped element sheet when the
7060         element is inserted and removed from the document, and to update it
7061         only when the element is in the document.
7062         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
7063         (WebCore::SVGFontFaceElement::parseMappedAttribute):
7064         (WebCore::SVGFontFaceElement::rebuildFontFace):
7065         (WebCore::SVGFontFaceElement::insertedIntoDocument):
7066         (WebCore::SVGFontFaceElement::removedFromDocument):
7067         (WebCore::SVGFontFaceElement::childrenChanged):
7068         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
7069         * svg/SVGFontFaceElement.h:
7071 2008-10-01  Simon Fraser  <simon.fraser@apple.com>
7073         Reviewed by Dave Hyatt
7075         Fix RenderFileUploadControl::setStyle() and 
7076         RenderMenuList::setStyle() to not touch the style; replace
7077         with html4.css and CSSStyleSelector changes.
7079         https://bugs.webkit.org/show_bug.cgi?id=21287
7081         * css/CSSStyleSelector.cpp:
7082         (WebCore::CSSStyleSelector::adjustRenderStyle):
7083         * css/html4.css:
7084         * rendering/RenderBlock.cpp:
7085         (WebCore::RenderBlock::setStyle):
7086         * rendering/RenderFileUploadControl.cpp:
7087         * rendering/RenderMenuList.cpp:
7088         (WebCore::RenderMenuList::setStyle):
7090 2008-10-01  Simon Fraser  <simon.fraser@apple.com>
7092         Reviewed by Dave Hyatt
7094         Clean up code that changes the RenderStyle passed in to
7095         table renderer setStyle() methods.
7096         
7097         https://bugs.webkit.org/show_bug.cgi?id=21287
7098         
7099         Tests: fast/table/floating-th.html
7100                fast/table/table-display-types-strict.html
7101                fast/table/table-display-types.html
7103         * css/CSSStyleSelector.cpp:
7104         (WebCore::CSSStyleSelector::adjustRenderStyle):
7105         * rendering/RenderTableCell.cpp:
7106         (WebCore::RenderTableCell::setStyle):
7107         * rendering/RenderTableRow.cpp:
7108         (WebCore::RenderTableRow::setStyle):
7109         * rendering/RenderTableSection.cpp:
7110         (WebCore::RenderTableSection::setStyle):
7112 2008-10-02  Darin Adler  <darin@apple.com>
7114         - fix build
7116         * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
7117         Not just locally in my generated file!
7119 2008-10-02  Adele Peterson  <adele@apple.com>
7121         Reviewed by Dan Bernstein.
7123         Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
7124         REGRESSION: <input> color specified in inline style applies to placeholder
7126         I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes.  A pseudo-element
7127         is more appropriate.  This change adds "-webkit-input-placeholder".
7129         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
7130         Added definition for "-webkit-input-placeholder" pseudo element.
7131         * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
7132         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7133         Added case for PseudoInputPlaceholder.
7134         * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
7135         * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
7137         * html/HTMLInputElement.cpp:
7138         (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
7139         (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
7140         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
7141         setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
7142         * rendering/RenderTextControl.cpp:
7143         (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
7144         (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
7145         the text will be updated correctly.
7146         * rendering/RenderTextControl.h:
7148 2008-10-02  Chris Fleizach  <cfleizach@apple.com>
7150         Reviewed by Darin Adler.
7152         https://bugs.webkit.org/show_bug.cgi?id=21280
7153         <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
7155         Updated AXTable detection to be more robust to false-positives. Specifically, added checks
7156         to ensure that there is more than one valid table cell, and that at least half of the cells
7157         have borders or have specific background colors. Modified the table detection layout test
7158         to test for the tables mentioned in the bug
7160         * page/AccessibilityTable.cpp:
7161         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
7163 2008-10-02  Darin Adler  <darin@apple.com>
7165         Reviewed by Geoff Garen.
7167         - https://bugs.webkit.org/show_bug.cgi?id=21321
7168           Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
7170         * bindings/js/GCController.cpp:
7171         (WebCore::collect): Use heap. instead of heap-> to work with the heap.
7172         (WebCore::GCController::gcTimerFired): Ditto.
7173         (WebCore::GCController::garbageCollectNow): Ditto.
7174         * bindings/js/JSDOMWindowShell.cpp:
7175         (WebCore::JSDOMWindowShell::operator new): Ditto.
7176         * storage/Database.cpp:
7177         (WebCore::Database::Database): Ditto.
7179 2008-10-02  Dan Bernstein  <mitz@apple.com>
7181         Reviewed by Alexey Proskuryakov.
7183         - fix a Database leak that resulted in Document leaks
7185         * storage/Database.cpp:
7186         (WebCore::Database::openDatabase): Account for the fact that RefCounted 
7187         objects start out with a ref count of 1.
7189 2008-10-02  Sam Weinig  <sam@webkit.org>
7191         Reviewed by Mr. Geoffrey Garen.
7193         Always mark your parent before marking members.
7195         * bindings/js/JSDOMWindowCustom.cpp:
7196         (WebCore::JSDOMWindow::mark):
7198 2008-10-02  David Hyatt  <hyatt@apple.com>
7200         https://bugs.webkit.org/show_bug.cgi?id=21314
7201         
7202         Make scrollBackingStore cross-platform.
7204         Reviewed by Sam Weinig
7206         * loader/EmptyClients.h:
7207         (WebCore::EmptyChromeClient::repaint):
7208         (WebCore::EmptyChromeClient::scroll):
7209         * page/Chrome.cpp:
7210         (WebCore::Chrome::repaint):
7211         (WebCore::Chrome::scroll):
7212         * page/Chrome.h:
7213         * page/ChromeClient.h:
7214         * page/EventHandler.cpp:
7215         (WebCore::EventHandler::handleAutoscroll):
7216         * platform/HostWindow.h:
7217         * platform/ScrollView.cpp:
7218         (WebCore::ScrollView::scrollContents):
7219         (WebCore::ScrollView::addPanScrollIcon):
7220         (WebCore::ScrollView::removePanScrollIcon):
7221         * platform/ScrollView.h:
7222         * platform/gtk/ScrollViewGtk.cpp:
7223         * platform/qt/ScrollViewQt.cpp:
7224         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
7225         (WebCore::ScrollView::~ScrollView):
7226         * platform/win/ScrollViewWin.cpp:
7227         (WebCore::ScrollView::ScrollView):
7228         (WebCore::ScrollView::~ScrollView):
7230 2008-10-02  Kevin Ollivier  <kevino@theolliviers.com>
7232         wx build fixes after Frame/ScrollView changes.
7234         * WebCoreSources.bkl:
7235         * platform/wx/ScrollViewWx.cpp:
7236         (WebCore::ScrollView::platformContentsToScreen):
7237         (WebCore::ScrollView::platformScreenToContents):
7238         (WebCore::ScrollView::platformIsOffscreen):
7240 2008-10-02  Brett Wilson  <brettw@chromium.org>
7242         Reviewed by Sam Weinig
7244         https://bugs.webkit.org/show_bug.cgi?id=21292
7246         Revert the changes to enclosingIntRect made in r12530 since the new code
7247         doesn't round correctly.
7249         * ChangeLog:
7250         * platform/graphics/FloatRect.cpp:
7251         (WebCore::enclosingIntRect):
7253 2008-10-02  Dan Bernstein  <mitz@apple.com>
7255         Reviewed by Anders Carlsson and Eric Seidel.
7257         - fix HTMLCanvaseElement leak from -webkit-canvas() values
7259         Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
7260         pointer, as the document owns the canvas elements. Added code to release
7261         those elements in Document::removedLastRef() because they reference
7262         the document.
7264         * css/CSSCanvasValue.cpp:
7265         (WebCore::CSSCanvasValue::element):
7266         * css/CSSCanvasValue.h:
7267         (WebCore::CSSCanvasValue::CSSCanvasValue):
7268         * dom/Document.cpp:
7269         (WebCore::Document::removedLastRef):
7271 2008-10-02  Alexey Proskuryakov  <ap@webkit.org>
7273         Reviewed by Maciej Stachowiak.
7275         Build fix for platforms that don't implement WTF::ThreadSpecific.
7277         * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
7278         Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
7279         code is only needed for JS bindings in worker threads.
7281 2008-10-01  David Hyatt  <hyatt@apple.com>
7283         https://bugs.webkit.org/show_bug.cgi?id=21298
7284         
7285         Make updateScrollbars cross-platform.  For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store.  Next patch
7286         will make that cross-platform.  
7287         
7288         The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
7289         multiple inheritance.  For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
7290         windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
7291         
7292         Reviewed by Sam Weinig
7294         * page/FrameView.cpp:
7295         (WebCore::FrameView::windowClipRect):
7296         (WebCore::FrameView::isActive):
7297         * page/FrameView.h:
7298         (WebCore::FrameView::visibleContentsResized):
7299         * platform/PopupMenu.h:
7300         * platform/ScrollView.cpp:
7301         (WebCore::ScrollView::init):
7302         (WebCore::ScrollView::destroy):
7303         (WebCore::ScrollView::setHasHorizontalScrollbar):
7304         (WebCore::ScrollView::setHasVerticalScrollbar):
7305         (WebCore::ScrollView::valueChanged):
7306         (WebCore::ScrollView::updateScrollbars):
7307         (WebCore::ScrollView::scrollContents):
7308         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
7309         (WebCore::ScrollView::platformHandleVerticalAdjustment):
7310         * platform/ScrollView.h:
7311         * platform/Scrollbar.cpp:
7312         (WebCore::Scrollbar::windowClipRect):
7313         * platform/ScrollbarClient.h:
7314         * platform/gtk/ScrollViewGtk.cpp:
7315         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
7316         (WebCore::ScrollView::platformHandleVerticalAdjustment):
7317         * platform/qt/ScrollViewQt.cpp:
7318         (WebCore::ScrollView::scrollContents):
7319         * platform/win/PopupMenuWin.cpp:
7320         (WebCore::PopupMenu::windowClipRect):
7321         * platform/win/ScrollViewWin.cpp:
7322         (WebCore::ScrollView::scrollContents):
7323         * rendering/RenderLayer.cpp:
7324         (WebCore::RenderLayer::windowClipRect):
7325         * rendering/RenderLayer.h:
7326         * rendering/RenderListBox.cpp:
7327         (WebCore::RenderListBox::panScroll):
7328         (WebCore::RenderListBox::windowClipRect):
7329         * rendering/RenderListBox.h:
7331 2008-10-02  Alexey Proskuryakov  <ap@webkit.org>
7333         Reviewed by Darin Adler.
7335         https://bugs.webkit.org/show_bug.cgi?id=21304
7336         Stop using a static wrapper map for WebCore JS bindings
7338         The static domObjects map was not thread safe.
7340         * dom/Document.h:
7341         (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
7342         ports.
7343         (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
7345         * dom/Document.cpp:
7346         (WebCore::Document::createdXMLHttpRequest):
7347         (WebCore::Document::destroyedXMLHttpRequest):
7348         Moved XMLHttpRequest tracking from a global map to Document.
7350         * GNUmakefile.am:
7351         * WebCore.pro:
7352         * WebCore.vcproj/WebCore.vcproj:
7353         * WebCore.xcodeproj/project.pbxproj:
7354         * WebCoreSources.bkl:
7355         * webcore-base.bkl:
7356         * bindings/DOMProtect.cpp: Removed.
7357         * bindings/DOMProtect.h: Removed.
7358         Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
7359         so they can no longer protect bindings objects.
7361         * dom/MessagePort.cpp:
7362         (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
7363         (WebCore::CloseMessagePortTimer::fired):
7364         (WebCore::MessagePort::MessagePort):
7365         (WebCore::MessagePort::queueCloseEvent):
7366         (WebCore::MessagePort::setPendingActivity):
7367         (WebCore::MessagePort::unsetPendingActivity):
7368         * dom/MessagePort.h:
7369         (WebCore::MessagePort::hasPendingActivity):
7370         MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
7371         to protect it.
7373         * xml/XMLHttpRequest.h:
7374         (WebCore::XMLHttpRequest::hasPendingActivity):
7375         * xml/XMLHttpRequest.cpp:
7376         (WebCore::XMLHttpRequest::XMLHttpRequest):
7377         (WebCore::XMLHttpRequest::~XMLHttpRequest):
7378         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
7379         (WebCore::XMLHttpRequest::dropProtection):
7380         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
7381         (WebCore::XMLHttpRequest::cancelRequests):
7382         (WebCore::XMLHttpRequest::detachRequests):
7383         (WebCore::XMLHttpRequest::setPendingActivity):
7384         (WebCore::XMLHttpRequest::unsetPendingActivity):
7385         Moved XMLHttpRequest tracking from a global map to Document. 
7387         * bindings/js/JSDOMBinding.cpp:
7388         (WebCore::wrapperSet):
7389         (WebCore::DOMObjectWrapperMap::mapFor):
7390         (WebCore::DOMObjectWrapperMap::get):
7391         (WebCore::DOMObjectWrapperMap::set):
7392         (WebCore::DOMObjectWrapperMap::remove):
7393         (WebCore::getCachedDOMObjectWrapper):
7394         (WebCore::cacheDOMObjectWrapper):
7395         (WebCore::forgetDOMObject):
7396         (WebCore::getCachedDOMNodeWrapper):
7397         (WebCore::forgetDOMNode):
7398         (WebCore::cacheDOMNodeWrapper):
7399         (WebCore::markActiveObjectsForDocument):
7400         * bindings/js/JSDOMBinding.h:
7401         (WebCore::createDOMObjectWrapper):
7402         (WebCore::getDOMObjectWrapper):
7403         Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
7404         to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
7405         WebCore objects can never migrate between threads.
7407         * bindings/js/JSDocumentCustom.cpp:
7408         (WebCore::JSDocument::mark):
7409         Call markActiveObjectsForDocument() from JSDOMBinding.
7411         * bindings/js/JSCSSRuleCustom.cpp:
7412         (WebCore::toJS):
7413         * bindings/js/JSCSSValueCustom.cpp:
7414         (WebCore::toJS):
7415         * bindings/js/JSDOMWindowCustom.cpp:
7416         (WebCore::markDOMObjectWrapper):
7417         (WebCore::JSDOMWindow::mark):
7418         * bindings/js/JSEventCustom.cpp:
7419         (WebCore::toJS):
7420         * bindings/js/JSEventTarget.cpp:
7421         (WebCore::toJS):
7422         * bindings/js/JSHTMLCollectionCustom.cpp:
7423         (WebCore::toJS):
7424         * bindings/js/JSImageDataCustom.cpp:
7425         (WebCore::toJS):
7426         * bindings/js/JSMessageChannelCustom.cpp:
7427         (WebCore::JSMessageChannel::mark):
7428         * bindings/js/JSMessagePortCustom.cpp:
7429         (WebCore::JSMessagePort::mark):
7430         * bindings/js/JSNodeCustom.cpp:
7431         (WebCore::JSNode::mark):
7432         * bindings/js/JSSVGPathSegCustom.cpp:
7433         (WebCore::toJS):
7434         * bindings/js/JSStyleSheetCustom.cpp:
7435         (WebCore::toJS):
7436         * bindings/js/JSXMLHttpRequestCustom.cpp:
7437         (WebCore::JSXMLHttpRequest::mark):
7438         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
7439         (WebCore::JSXMLHttpRequestUpload::mark):
7440         * bindings/js/ScriptController.cpp:
7441         (WebCore::ScriptController::finishedWithEvent):
7442         * bindings/scripts/CodeGeneratorJS.pm:
7443         Pass a JSGlobalData reference to functions that track JS wrapper objects.
7445 2008-10-02  Dan Bernstein  <mitz@apple.com>
7447         - build fix
7449         * page/JavaScriptCallFrame.idl:
7451 2008-10-02  Oliver Hunt  <oliver@apple.com>
7453         Reviewed by NOBODY (Build fix).
7455         Add new file to project files
7457         * GNUmakefile.am:
7458         * WebCore.pro:
7459         * WebCore.vcproj/WebCore.vcproj:
7461 2008-10-02  Geoffrey Garen  <ggaren@apple.com>
7463         Not reviewed.
7465         Try to fix some more builds.
7467         * GNUmakefile.am:
7468         * WebCore.pro:
7470 2008-10-02  Geoffrey Garen  <ggaren@apple.com>
7472         Not reviewed.
7473         
7474         Try to fix Windows build.
7476         * WebCore.vcproj/WebCore.vcproj:
7478 2008-10-01  Geoffrey Garen  <ggaren@apple.com>
7480         Reviewed by Darin Adler and Cameron Zwarich.
7482         Updated for JavaScriptCore API changes: use a SourceCode instead of
7483         broken out parameters; treat sourceId as intptr_t.
7485         * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
7486         * bindings/js/JSXMLHttpRequestCustom.cpp:
7487         (WebCore::JSXMLHttpRequest::send):
7488         * bindings/js/ScriptController.cpp:
7489         (WebCore::ScriptController::evaluate):
7490         * bindings/js/StringSourceProvider.h:
7491         (WebCore::StringSourceProvider::create):
7492         (WebCore::StringSourceProvider::StringSourceProvider):
7494         (WebCore::makeSource): Added a makeSource function for convenience.
7496         * bindings/objc/WebScriptObject.mm:
7497         (-[WebScriptObject evaluateWebScript:]):
7498         * bridge/NP_jsobject.cpp:
7499         (_NPN_Evaluate):
7500         * bridge/jni/jni_jsobject.mm:
7501         (JavaJSObject::call):
7502         (JavaJSObject::eval):
7503         (JavaJSObject::getMember):
7504         (JavaJSObject::setMember):
7505         (JavaJSObject::removeMember):
7507         * bridge/jni/jni_runtime.h:
7508         (JSC::Bindings::JavaString::operator UString): Replaced the explicit
7509         ustring() function with an implicit operator because this class already
7510         holds a UString::rep.
7512         * page/Console.cpp:
7513         (WebCore::retrieveLastCaller):
7514         (WebCore::Console::trace):
7515         * page/InspectorController.cpp:
7516         (WebCore::jsStringRef):
7517         (WebCore::InspectorController::addBreakpoint):
7518         (WebCore::InspectorController::removeBreakpoint):
7519         (WebCore::InspectorController::didParseSource):
7520         (WebCore::InspectorController::failedToParseSource):
7521         * page/InspectorController.h:
7522         * page/JavaScriptCallFrame.cpp:
7523         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
7524         * page/JavaScriptCallFrame.h:
7525         (WebCore::JavaScriptCallFrame::create):
7526         (WebCore::JavaScriptCallFrame::sourceIdentifier):
7527         (WebCore::JavaScriptCallFrame::update):
7528         * page/JavaScriptDebugListener.h:
7529         * page/JavaScriptDebugServer.cpp:
7530         (WebCore::JavaScriptDebugServer::addBreakpoint):
7531         (WebCore::JavaScriptDebugServer::removeBreakpoint):
7532         (WebCore::JavaScriptDebugServer::hasBreakpoint):
7533         (WebCore::dispatchDidParseSource):
7534         (WebCore::dispatchFailedToParseSource):
7535         (WebCore::JavaScriptDebugServer::sourceParsed):
7536         (WebCore::JavaScriptDebugServer::callEvent):
7537         (WebCore::JavaScriptDebugServer::atStatement):
7538         (WebCore::JavaScriptDebugServer::returnEvent):
7539         (WebCore::JavaScriptDebugServer::exception):
7540         (WebCore::JavaScriptDebugServer::willExecuteProgram):
7541         (WebCore::JavaScriptDebugServer::didExecuteProgram):
7542         (WebCore::JavaScriptDebugServer::didReachBreakpoint):
7543         * page/JavaScriptDebugServer.h:
7544         * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and 
7545         sourceIdentifier to sourceID.
7547 2008-10-01  Dan Bernstein  <mitz@apple.com>
7549         Reviewed by Geoffrey Garen.
7551         - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
7553         Broke a ref cycle by changing the m_svgFontFaceElement members of
7554         CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
7555         pointers. Also made sure that the @font-face rule added by
7556         SVGFontFaceElement to the document's mapped element sheet is removed
7557         when the font-face element is deleted or moved to another document.
7559         * css/CSSFontFaceSource.cpp:
7560         (WebCore::CSSFontFaceSource::CSSFontFaceSource):
7561         (WebCore::CSSFontFaceSource::getFontData):
7562         * css/CSSFontFaceSource.h:
7563         (WebCore::CSSFontFaceSource::svgFontFaceElement):
7564         * css/CSSFontFaceSrcValue.h:
7565         (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
7566         (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
7567         * svg/SVGFontFaceElement.cpp:
7568         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
7569         (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
7570         (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
7571         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
7572         * svg/SVGFontFaceElement.h:
7574 2008-10-01  Oliver Hunt  <oliver@apple.com>
7576         Reviewed by Maciej Stachowiak.
7578         Bug 20315: Memory leak with Canvas getImageData
7579         <https://bugs.webkit.org/show_bug.cgi?id=20315>
7581         This wasn't a leak, the issue was that we were reporting the cost
7582         of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
7583         and we should have been reporting the cost when we create the
7584         JSImageData wrapper.
7586         * WebCore.xcodeproj/project.pbxproj:
7587         * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
7588           This was only needed to report the extra memory cost
7589           of the CPA.
7590         * bindings/js/JSImageDataCustom.cpp:
7591         (WebCore::toJS):
7592           We need a custom toJS function now so that we can report
7593           the extra memory cost.
7594         * bindings/scripts/CodeGeneratorJS.pm:
7595           Need to replace the reference to CanvasPixelArray with ImageData
7596           to be able to create the custom toJS implementation.
7597         * html/CanvasPixelArray.idl:
7598         * html/ImageData.idl:
7600 2008-10-01  Dan Bernstein  <mitz@apple.com>
7602         Reviewed by Mark Rowe.
7604         - https://bugs.webkit.org/show_bug.cgi?id=21293
7605           REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
7607         * svg/SVGMarkerElement.cpp:
7608         (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
7609         that renderer destruction happens before the SVGMarkerElement is
7610         destroyed.
7611         * svg/SVGSVGElement.cpp:
7612         (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
7614 2008-10-01  Evan Martin  <evan@chromium.org>
7616         Reviewed by Eric Seidel.
7617         
7618         https://bugs.webkit.org/show_bug.cgi?id=20669
7620         * css/makeprop.pl:
7621         Die if gperf fails.
7623 2008-10-01  Evan Martin  <evan@chromium.org>
7625         Reviewed by Eric Seidel.
7627         * loader/icon/IconDatabase.h:
7628         IconDatabase uses HashMap, so it needs to #include the header.
7630 2008-10-01  Dan Bernstein  <mitz@apple.com>
7632         Reviewed by Mark Rowe.
7634         - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
7636         * loader/Cache.cpp:
7637         (WebCore::Cache::remove): Disable pruning temporarily during 
7638         CachedResource deletion.
7640 2008-10-01  Dan Bernstein  <mitz@apple.com>
7642         Reviewed by Mark Rowe.
7644         - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
7646         * svg/SVGFontFaceElement.cpp:
7647         (WebCore::SVGFontFaceElement::rebuildFontFace):
7648         * svg/SVGFontFaceElement.h:
7649         (WebCore::SVGFontFaceElement::associatedFontElement):
7651 2008-10-01  Brett Wilson  <brettw@chromium.org>
7653         Reviewed by Maciej Stachowiak.
7655         Document the rounding behavior of the mapRect(IntRect) function in
7656         AffineTransform.h.
7658         * platform/graphics/AffineTransform.h:
7660 2008-10-01  David Hyatt  <hyatt@apple.com>
7662         Move prohibitsScrolling from the Frame to the ScrollView.
7664         Reviewed by Sam Weinig
7666         * WebCore.base.exp:
7667         * page/Frame.cpp:
7668         (WebCore::FramePrivate::FramePrivate):
7669         * page/Frame.h:
7670         * page/FramePrivate.h:
7671         * page/FrameView.cpp:
7672         (WebCore::FrameView::scrollRectIntoViewRecursively):
7673         (WebCore::FrameView::setScrollPosition):
7674         * platform/ScrollView.cpp:
7675         (WebCore::ScrollView::init):
7676         (WebCore::ScrollView::scrollRectIntoViewRecursively):
7677         (WebCore::ScrollView::setScrollPosition):
7678         * platform/ScrollView.h:
7679         (WebCore::ScrollView::setProhibitsScrolling):
7680         (WebCore::ScrollView::prohibitsScrolling):
7681         * platform/gtk/ScrollViewGtk.cpp:
7682         (WebCore::ScrollView::updateScrollbars):
7683         * platform/qt/ScrollViewQt.cpp:
7684         (WebCore::ScrollView::updateScrollbars):
7685         * platform/win/ScrollViewWin.cpp:
7686         (WebCore::ScrollView::updateScrollbars):
7688 2008-10-01  Mark Rowe  <mrowe@apple.com>
7690         Reviewed by Geoff Garen.
7692         Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
7694         * xml/XMLHttpRequest.cpp:
7695         (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
7696         that we do during the loadRequestAsynchronously of the preflight request with a deref and
7697         GC unprotect.
7699 2008-10-01  David Hyatt  <hyatt@apple.com>
7701         Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
7702         clear that the boolean doesn't actually stop all scrolling.  It just gets rid of scrollbars.
7704         Reviewed by Tim Hatcher
7706         * WebCore.base.exp:
7707         * page/FrameView.cpp:
7708         (WebCore::FrameView::setCanHaveScrollbars):
7709         * page/FrameView.h:
7710         * platform/ScrollView.cpp:
7711         (WebCore::ScrollView::setCanHaveScrollbars):
7712         (WebCore::ScrollView::wheelEvent):
7713         * platform/ScrollView.h:
7714         (WebCore::ScrollView::canHaveScrollbars):
7716 2008-10-01  Dan Bernstein  <mitz@apple.com>
7718         Reviewed by Mark Rowe.
7720         - fix some CachedResource leaks seen on buildbot
7722         The issue here was that emptying the cache was a no-op when it only
7723         contained resources with no data. Changed to go after those
7724         resources when the desired cache capacity is zero.
7726         * loader/Cache.cpp:
7727         (WebCore::Cache::pruneLiveResources):
7728         (WebCore::Cache::pruneDeadResources):
7729         * loader/Cache.h:
7730         (WebCore::Cache::prune):
7732 2008-10-01  David Hyatt  <hyatt@apple.com>
7734         Make isOffscreen cross-platform.  Only Mac implements this method, so hold off on adding API to the
7735         HostWindow object until other platforms decide they want this method.  (We need it for Win though at some point.)
7737         Reviewed by Adam Roben
7739         * platform/ScrollView.cpp:
7740         (WebCore::ScrollView::isOffscreen):
7741         (WebCore::ScrollView::platformIsOffscreen):
7742         * platform/ScrollView.h:
7743         * platform/gtk/ScrollViewGtk.cpp:
7744         * platform/mac/ScrollViewMac.mm:
7745         (WebCore::ScrollView::platformIsOffscreen):
7746         * platform/qt/ScrollViewQt.cpp:
7747         * platform/wx/ScrollViewWx.cpp:
7749 2008-10-01  David Hyatt  <hyatt@apple.com>
7751         Make show/hide/setParentVisible cross-platform on ScrollView.
7753         Reviewed by Adam Roben
7755         * platform/ScrollView.cpp:
7756         (WebCore::ScrollView::setParentVisible):
7757         (WebCore::ScrollView::show):
7758         (WebCore::ScrollView::hide):
7759         * platform/ScrollView.h:
7760         * platform/win/ScrollViewWin.cpp:
7762 2008-10-01  Kevin McCullough  <kmccullough@apple.com>
7764         Reviewed by Dan Bernstein.
7766         https://bugs.webkit.org/show_bug.cgi?id=21284
7767         Bug 21284: Max height affects max width
7768         - Looks like a cut and paste bug
7769         - Added layout test fast/css/max-height-and-max-width.html
7771         * css/CSSComputedStyleDeclaration.cpp:
7772         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
7774 2008-10-01  David Hyatt  <hyatt@apple.com>
7776         https://bugs.webkit.org/show_bug.cgi?id=21282
7777         
7778         Make contentsToScreen/screenToContents cross-platform.  Only implemented by Mac/Win right now.
7779         
7780         Reviewed by Adam Roben
7782         * loader/EmptyClients.h:
7783         (WebCore::EmptyChromeClient::screenToWindow):
7784         (WebCore::EmptyChromeClient::windowToScreen):
7785         * page/Chrome.cpp:
7786         (WebCore::Chrome::screenToWindow):
7787         (WebCore::Chrome::windowToScreen):
7788         * page/Chrome.h:
7789         * page/ChromeClient.h:
7790         * platform/HostWindow.h:
7791         * platform/ScrollView.cpp:
7792         (WebCore::ScrollView::contentsToScreen):
7793         (WebCore::ScrollView::screenToContents):
7794         (WebCore::ScrollView::platformContentsToScreen):
7795         (WebCore::ScrollView::platformScreenToContents):
7796         * platform/ScrollView.h:
7797         * platform/mac/ScrollViewMac.mm:
7798         (WebCore::ScrollView::platformContentsToScreen):
7799         (WebCore::ScrollView::platformScreenToContents):
7800         * platform/win/ScrollViewWin.cpp:
7802 2008-10-01  Dan Bernstein  <mitz@apple.com>
7804         Reviewed by Darin Adler.
7806         - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
7808         Test: fast/parser/residual-style-close-across-removed-block.html
7810         * html/HTMLParser.cpp:
7811         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
7812         an assertion that turned out to be wrong in this case, and changed to
7813         terminate the algorithm at the first empty block.
7815 2008-10-01  David Hyatt  <hyatt@apple.com>
7817         Make setFrameRect on ScrollView cross-platform.
7819         Reviewed by Sam Weinig
7821         * page/FrameView.h:
7822         (WebCore::FrameView::contentsResized):
7823         * platform/ScrollView.cpp:
7824         (WebCore::ScrollView::setFrameRect):
7825         * platform/ScrollView.h:
7826         * platform/gtk/ScrollViewGtk.cpp:
7827         * platform/qt/ScrollViewQt.cpp:
7828         * platform/win/ScrollViewWin.cpp:
7830 2008-10-01  Sam Weinig  <sam@webkit.org>
7832         Reviewed by Adele Peterson.
7834         Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
7835         to JSDOMWindow from JSDOMWindowBase.
7837         * WebCore.xcodeproj/project.pbxproj:
7838         * bindings/js/JSDOMWindowBase.cpp:
7839         (WebCore::JSDOMWindowBase::removeTimeout):
7840         * bindings/js/JSDOMWindowBase.h:
7841         * bindings/js/JSDOMWindowCustom.cpp:
7842         (WebCore::setTimeoutOrInterval):
7843         (WebCore::JSDOMWindow::setTimeout):
7844         (WebCore::JSDOMWindow::clearTimeout):
7845         (WebCore::JSDOMWindow::setInterval):
7846         (WebCore::JSDOMWindow::clearInterval):
7847         (WebCore::JSDOMWindow::atob):
7848         (WebCore::JSDOMWindow::btoa):
7849         * page/DOMWindow.idl:
7851 2008-10-01  Dan Bernstein  <mitz@apple.com>
7853         - Mac build fix
7855         * WebCore.base.exp:
7857 2008-10-01  Timothy Hatcher  <timothy@apple.com>
7859         Prevent stealing focus from the search field when focusing a DOM node.
7861         https://bugs.webkit.org/show_bug.cgi?id=21275
7863         Reviewed by Kevin McCullough.
7865         * page/inspector/ElementsPanel.js:
7866         (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
7867         Don't steal focus if the current focus element is the search field.
7869 2008-09-30  Sam Weinig  <sam@webkit.org>
7871         Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
7873         Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
7874         Autogenerate JS event listeners
7876         - Generate getting/setting of EventListeners.
7878         - Adding a new named EventListener now has the same process as adding any other DOM
7879           attribute. (Add a method with the same name in the c++ file).
7881         (The EventListeners for MessagePort have been intentionally left custom so that we
7882         can continue to experiment with making those EventListeners work in a frame-less world.)
7884         * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
7885         * bindings/js/JSDOMWindowCustom.cpp: ditto.
7886         * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
7887         * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
7888         * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
7889         * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
7890         getter/setters
7891         * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
7892         * dom/EventTargetNode.h: ditto.
7893         * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
7894         will use JSEventListerner instead of JSUnprotectedEventListener.
7895         * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
7896         * page/DOMWindow.cpp: Add getter/setters for named EventListener
7897         * page/DOMWindow.h: ditto.
7898         * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
7899         will use JSEventListerner instead of JSUnprotectedEventListener.
7900         * xml/XMLHttpRequest.idl: Remove custom attributes.
7901         * xml/XMLHttpRequestUpload.idl: ditto.
7903 2008-09-30  Mark Rowe  <mrowe@apple.com>
7905         Reviewed by Dan Bernstein.
7907         Add a leak counter for CachedResources since we've had two recent leaks involving them.
7909         * loader/CachedResource.cpp:
7910         (WebCore::CachedResource::CachedResource):
7911         (WebCore::CachedResource::~CachedResource):
7913 2008-09-30  Dan Bernstein  <mitz@apple.com>
7915         Reviewed by Dave Hyatt.
7917         - fix https://bugs.webkit.org/show_bug.cgi?id=21127
7918           <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
7920         If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
7921         the font name in memory.
7923         * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
7924         OpenTypeUtilities.*.
7926         * platform/graphics/win/FontCustomPlatformData.cpp:
7927         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
7928         to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
7929         used.
7930         (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
7931         for fonts loaded using AddFontMemResourceEx.
7932         (WebCore::createFontCustomPlatformData): Added a call to
7933         renameAndActivateFont() if TTLoadEmbeddedFont fails. If
7934         TTLoadEmbeddedFont succeeds, set the font name to the null string, as
7935         fontPlatformData() will retrieve the name from the font reference.
7937         * platform/graphics/win/FontCustomPlatformData.h:
7938         (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
7939         font name member.
7941         * platform/graphics/win/GetEOTHeader.cpp: Renamed.
7942         * platform/graphics/win/GetEOTHeader.h: Renamed.
7944         * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
7945         (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
7946         (WebCore::BigEndianULong::BigEndianULong): Ditto.
7947         (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
7948         the font data and modifies it to have the given name, then activates
7949         it using AddFontMemResourceEx.
7951         * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
7953 2008-09-30  Mark Rowe  <mrowe@apple.com>
7955         Reviewed by Dan Bernstein.
7957         Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
7959         * rendering/RenderObject.cpp:
7960         (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
7961         with calls to removeClient when we're being destroyed.
7963 2008-09-30  Eric Carlson  <eric.carlson@apple.com>
7965         Reviewed by Antti Koivisto.
7967         https://bugs.webkit.org/show_bug.cgi?id=21243
7969         Fix loopstart and loopend default values.
7971         Tests: media/loopend-limits.html
7972                media/loopstart-limits.html
7974         * html/HTMLMediaElement.cpp:
7975         (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
7976         (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
7978 2008-09-30  Kevin Ollivier  <kevino@theolliviers.com>
7980         wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
7982         * WebCoreSources.bkl:
7983         * platform/wx/ScrollViewWx.cpp:
7984         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
7986 2008-09-30  Dan Bernstein  <mitz@apple.com>
7988         Reviewed by Sam Weinig.
7990         - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
7991           was fixed in r17249 and re-introduced in r31435. 
7993         * html/HTMLViewSourceDocument.cpp:
7994         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
7995         (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
7996         (WebCore::HTMLViewSourceDocument::addLine):
7997         (WebCore::HTMLViewSourceDocument::addLink):
7998         * html/HTMLViewSourceDocument.h:
8000 2008-09-30  Sam Weinig  <sam@webkit.org>
8002         Reviewed by Eric Seidel.
8004         More for https://bugs.webkit.org/show_bug.cgi?id=21122
8005         Autogenerate JS event listeners
8007         - Make EventListener getter/setters names in c++ files match those in 
8008           JS (ie. onLoadListener -> onload).
8009         - Add standard way to access the frame associated with the EventTarget
8010           for EventListener lookup.
8011         - Autogenerate dispatchEvent, it wasn't doing anything custom.
8013         * bindings/js/JSDOMApplicationCacheCustom.cpp:
8014         (WebCore::JSDOMApplicationCache::mark):
8015         (WebCore::JSDOMApplicationCache::addEventListener):
8016         (WebCore::JSDOMApplicationCache::removeEventListener):
8017         (WebCore::JSDOMApplicationCache::setOnchecking):
8018         (WebCore::JSDOMApplicationCache::onchecking):
8019         (WebCore::JSDOMApplicationCache::setOnerror):
8020         (WebCore::JSDOMApplicationCache::onerror):
8021         (WebCore::JSDOMApplicationCache::setOnnoupdate):
8022         (WebCore::JSDOMApplicationCache::onnoupdate):
8023         (WebCore::JSDOMApplicationCache::setOndownloading):
8024         (WebCore::JSDOMApplicationCache::ondownloading):
8025         (WebCore::JSDOMApplicationCache::setOnprogress):
8026         (WebCore::JSDOMApplicationCache::onprogress):
8027         (WebCore::JSDOMApplicationCache::setOnupdateready):
8028         (WebCore::JSDOMApplicationCache::onupdateready):
8029         (WebCore::JSDOMApplicationCache::setOncached):
8030         (WebCore::JSDOMApplicationCache::oncached):
8031         * bindings/js/JSEventTargetNodeCustom.cpp:
8032         (WebCore::JSEventTargetNode::addEventListener):
8033         (WebCore::JSEventTargetNode::removeEventListener):
8034         (WebCore::JSEventTargetNode::getListener):
8035         (WebCore::JSEventTargetNode::setListener):
8036         * bindings/js/JSMessagePortCustom.cpp:
8037         (WebCore::JSMessagePort::mark):
8038         (WebCore::JSMessagePort::addEventListener):
8039         (WebCore::JSMessagePort::removeEventListener):
8040         (WebCore::JSMessagePort::setOnmessage):
8041         (WebCore::JSMessagePort::onmessage):
8042         (WebCore::JSMessagePort::setOnclose):
8043         (WebCore::JSMessagePort::onclose):
8044         * bindings/js/JSXMLHttpRequestCustom.cpp:
8045         (WebCore::JSXMLHttpRequest::mark):
8046         (WebCore::JSXMLHttpRequest::onreadystatechange):
8047         (WebCore::JSXMLHttpRequest::setOnreadystatechange):
8048         (WebCore::JSXMLHttpRequest::onabort):
8049         (WebCore::JSXMLHttpRequest::setOnabort):
8050         (WebCore::JSXMLHttpRequest::onerror):
8051         (WebCore::JSXMLHttpRequest::setOnerror):
8052         (WebCore::JSXMLHttpRequest::onload):
8053         (WebCore::JSXMLHttpRequest::setOnload):
8054         (WebCore::JSXMLHttpRequest::onloadstart):
8055         (WebCore::JSXMLHttpRequest::setOnloadstart):
8056         (WebCore::JSXMLHttpRequest::onprogress):
8057         (WebCore::JSXMLHttpRequest::setOnprogress):
8058         (WebCore::JSXMLHttpRequest::addEventListener):
8059         (WebCore::JSXMLHttpRequest::removeEventListener):
8060         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
8061         (WebCore::JSXMLHttpRequestUpload::mark):
8062         (WebCore::JSXMLHttpRequestUpload::onabort):
8063         (WebCore::JSXMLHttpRequestUpload::setOnabort):
8064         (WebCore::JSXMLHttpRequestUpload::onerror):
8065         (WebCore::JSXMLHttpRequestUpload::setOnerror):
8066         (WebCore::JSXMLHttpRequestUpload::onload):
8067         (WebCore::JSXMLHttpRequestUpload::setOnload):
8068         (WebCore::JSXMLHttpRequestUpload::onloadstart):
8069         (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
8070         (WebCore::JSXMLHttpRequestUpload::onprogress):
8071         (WebCore::JSXMLHttpRequestUpload::setOnprogress):
8072         (WebCore::JSXMLHttpRequestUpload::addEventListener):
8073         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
8074         * bindings/scripts/CodeGeneratorJS.pm:
8075         * dom/EventTarget.h:
8076         * dom/EventTargetNode.cpp:
8077         (WebCore::EventTargetNode::associatedFrame):
8078         * dom/EventTargetNode.h:
8079         * dom/EventTargetNode.idl:
8080         * dom/MessagePort.cpp:
8081         (WebCore::MessagePort::associatedFrame):
8082         * dom/MessagePort.h:
8083         (WebCore::MessagePort::setOnmessage):
8084         (WebCore::MessagePort::onmessage):
8085         (WebCore::MessagePort::setOnclose):
8086         (WebCore::MessagePort::onclose):
8087         * dom/MessagePort.idl:
8088         * loader/appcache/DOMApplicationCache.h:
8089         (WebCore::DOMApplicationCache::setOnchecking):
8090         (WebCore::DOMApplicationCache::onchecking):
8091         (WebCore::DOMApplicationCache::setOnerror):
8092         (WebCore::DOMApplicationCache::onerror):
8093         (WebCore::DOMApplicationCache::setOnnoupdate):
8094         (WebCore::DOMApplicationCache::onnoupdate):
8095         (WebCore::DOMApplicationCache::setOndownloading):
8096         (WebCore::DOMApplicationCache::ondownloading):
8097         (WebCore::DOMApplicationCache::setOnprogress):
8098         (WebCore::DOMApplicationCache::onprogress):
8099         (WebCore::DOMApplicationCache::setOnupdateready):
8100         (WebCore::DOMApplicationCache::onupdateready):
8101         (WebCore::DOMApplicationCache::setOncached):
8102         (WebCore::DOMApplicationCache::oncached):
8103         (WebCore::DOMApplicationCache::associatedFrame):
8104         * loader/appcache/DOMApplicationCache.idl:
8105         * svg/EventTargetSVGElementInstance.cpp:
8106         (WebCore::EventTargetSVGElementInstance::associatedFrame):
8107         (WebCore::EventTargetSVGElementInstance::addEventListener):
8108         (WebCore::EventTargetSVGElementInstance::removeEventListener):
8109         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
8110         * svg/EventTargetSVGElementInstance.h:
8111         * xml/XMLHttpRequest.cpp:
8112         (WebCore::XMLHttpRequest::associatedFrame):
8113         * xml/XMLHttpRequest.h:
8114         (WebCore::XMLHttpRequest::setOnreadystatechange):
8115         (WebCore::XMLHttpRequest::onreadystatechange):
8116         (WebCore::XMLHttpRequest::setOnabort):
8117         (WebCore::XMLHttpRequest::onabort):
8118         (WebCore::XMLHttpRequest::setOnerror):
8119         (WebCore::XMLHttpRequest::onerror):
8120         (WebCore::XMLHttpRequest::setOnload):
8121         (WebCore::XMLHttpRequest::onload):
8122         (WebCore::XMLHttpRequest::setOnloadstart):
8123         (WebCore::XMLHttpRequest::onloadstart):
8124         (WebCore::XMLHttpRequest::setOnprogress):
8125         (WebCore::XMLHttpRequest::onprogress):
8126         * xml/XMLHttpRequest.idl:
8127         * xml/XMLHttpRequestUpload.cpp:
8128         (WebCore::XMLHttpRequestUpload::associatedFrame):
8129         * xml/XMLHttpRequestUpload.h:
8130         (WebCore::XMLHttpRequestUpload::setOnabort):
8131         (WebCore::XMLHttpRequestUpload::onabort):
8132         (WebCore::XMLHttpRequestUpload::setOnerror):
8133         (WebCore::XMLHttpRequestUpload::onerror):
8134         (WebCore::XMLHttpRequestUpload::setOnload):
8135         (WebCore::XMLHttpRequestUpload::onload):
8136         (WebCore::XMLHttpRequestUpload::setOnloadstart):
8137         (WebCore::XMLHttpRequestUpload::onloadstart):
8138         (WebCore::XMLHttpRequestUpload::setOnprogress):
8139         (WebCore::XMLHttpRequestUpload::onprogress):
8140         * xml/XMLHttpRequestUpload.idl:
8142 2008-09-30  Darin Adler  <darin@apple.com>
8144         - roll out assertion breaking regression tests
8146         * platform/ScrollView.cpp:
8147         (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
8148         that fires in regression tests. Hyatt can add it back later. The assertion
8149         fires in the regression test because of layout that triggers repaint occuring
8150         during the process of removing a frame.
8152 2008-09-30  Adele Peterson  <adele@apple.com>
8154         Reviewed by Darin Adler.
8156         Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
8157         <rdar://problem/6222134> add a way to set color for input placeholder text
8159         Test: fast/forms/placeholder-pseudo-style.html
8161         This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
8162         input elements when they are displaying the placeholder text.
8164         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
8165         * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
8166         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
8167         Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
8168         * css/html4.css: Add rule to make placeholder text default to darkGray.
8170         * html/HTMLInputElement.cpp:
8171         (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
8172         (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
8173         (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
8174         (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
8175         (WebCore::HTMLInputElement::setValue): ditto.
8176         (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
8177         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
8178          This calculation used to be done in the renderer, but since the node knows everything about the state, it can make that decision, and the
8179          renderer will just ask the node if it should draw the placeholder.
8180         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
8182         * rendering/RenderTextControl.cpp:
8183         (WebCore::disabledTextColor): Moved to the top of the file.  If there's not very much contrast between the disabled color and the background color,
8184         just leave the text color alone.  We don't want to change a good contrast color scheme so that it has really bad contrast.
8185         If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
8186         (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
8187         This can only happen as a result of either a setStyle call (which will be followed by a call to updateFromElement) or from createSubtreeIfNeeded, which
8188         is called directly from updateFromElement.  updateFromElement will immediately update the text displayed.
8189         (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
8190         (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state.  This is now done in HTMLInputElement.
8191         * rendering/RenderTextControl.h:
8193 2008-09-30  Beth Dakin  <bdakin@apple.com>
8195         Reviewed by Darin Adler.
8197         Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused 
8198         by failed allocation due to invalid counter/attr
8199         and corresponding: <rdar://problem/6152371>
8201         * css/CSSParser.cpp:
8202         (WebCore::CSSParser::parseCounterContent): The spec indicates that 
8203         only identifiers should be accepted here.
8205 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
8207         Reviewed by Oliver Hunt.
8209         Bug 21255: console.profileEnd() without a console.profile() crashes the
8210         web inspector
8212         * page/Console.cpp:
8213         (WebCore::Console::profileEnd):
8215 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
8217         Reviewed by Tim Hatcher.
8219         Bug 21252: calling console.profile() with a title that is 2 chars or
8220         shorter does not linkify it
8222         - Previously we tried to not linkify very short URLs but since profile
8223         titles can be any length this is not always true.
8225         * page/inspector/inspector.js:
8227 2008-09-30  Dave Hyatt  <hyatt@apple.com>
8229         Remove the update() method on ScrollView.  This method was only called in one place, and its purpose
8230         was to cause a display/flush to happen.  Here is a breakdown of the method use on each platform:
8231         (1) Not used on Mac
8232         (2) Used on Windows
8233         (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
8234         (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
8235         (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
8236         
8237         There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
8238         cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
8239         With the changes to this method, the new behavior is as follows:
8240         (1) Not used on Mac
8241         (2) Used on Windows
8242         (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
8243         (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
8244         (5) Not used on wx
8245         
8246         This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
8247         platforms.  At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
8248         
8249         Reviewed by Sam Weinig
8251         * ChangeLog:
8252         * dom/Document.cpp:
8253         (WebCore::Document::implicitClose):
8254         * platform/HostWindow.h:
8255         (WebCore::HostWindow::paint):
8256         * platform/ScrollView.h:
8257         * platform/gtk/ScrollViewGtk.cpp:
8258         * platform/mac/ScrollViewMac.mm:
8259         * platform/qt/ScrollViewQt.cpp:
8260         * platform/win/ScrollViewWin.cpp:
8261         * platform/wx/ScrollViewWx.cpp:
8263 2008-09-30  Timothy Hatcher  <timothy@apple.com>
8265         Focus the DOM tree in the Web Inspector when a node is inspected.
8266         So when the search field has focus, the focus moves to the tree,
8267         allowing the arrow keys work. This can happen when using the new
8268         find in page feature.
8270         https://bugs.webkit.org/show_bug.cgi?id=21251
8272         Reviewed by Geoff Garen.
8274         * page/inspector/ElementsPanel.js:
8275         (WebInspector.ElementsPanel): Set currentFocusElement to
8276         the main-panels element if the panel is visible.
8277         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
8278         Remove a set of currentFocusElement since this moved.
8279         * page/inspector/inspector.js:
8280         (WebInspector.set currentFocusElement): Always focus the element.
8281         This ensures that when focus changes in the page and we don't
8282         catch it, we will still focus the elements even if we think it
8283         was already focused.
8285 2008-09-30  Timothy Hatcher  <timothy@apple.com>
8287         Make the Web Inspector's toolbar icons darker when the mouse is
8288         pressed on them. This matches the standard NSToolbar look.
8290         https://bugs.webkit.org/show_bug.cgi?id=21249
8291         rdar://problem/6033752
8293         Reviewed by Adam Roben.
8295         * page/inspector/Images/databasesIcon.png:
8296         * page/inspector/Images/elementsIcon.png:
8297         * page/inspector/Images/profilesIcon.png:
8298         * page/inspector/Images/resourcesIcon.png:
8299         * page/inspector/Images/scriptsIcon.png:
8300         * page/inspector/Panel.js:
8301         * page/inspector/inspector.css:
8303 2008-09-30  Kevin McCullough  <kmccullough@apple.com>
8305         Reviewed by Tim Hatcher.
8307         Bug 21139: Profiler log message is wrong
8308         - Correctly fix =(
8309         Don't call _format twice.
8311         * page/Page.h:
8312         * page/inspector/Console.js:
8313         * page/inspector/ProfilesPanel.js:
8314         * page/inspector/inspector.js:
8316 2008-09-30  Dave Hyatt  <hyatt@apple.com>
8318         http://bugs.webkit.org/show_bug.cgi?id=21250
8319         
8320         Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
8321         repaints up through the ChromeClient.
8323         Reviewed by Darin Adler
8325         * loader/EmptyClients.h:
8326         (WebCore::EmptyChromeClient::repaint):
8327         * page/Chrome.cpp:
8328         (WebCore::Chrome::repaint):
8329         * page/Chrome.h:
8330         * page/ChromeClient.h:
8331         * page/FrameView.cpp:
8332         (WebCore::FrameView::hostWindow):
8333         (WebCore::FrameView::repaintContentRectangle):
8334         * page/FrameView.h:
8335         * platform/HostWindow.h:
8336         * platform/ScrollView.cpp:
8337         (WebCore::ScrollView::repaintContentRectangle):
8338         (WebCore::ScrollView::platformRepaintContentRectangle):
8339         * platform/ScrollView.h:
8340         * platform/gtk/ScrollViewGtk.cpp:
8341         * platform/mac/ScrollViewMac.mm:
8342         (WebCore::ScrollView::platformRepaintContentRectangle):
8343         * platform/qt/ScrollViewQt.cpp:
8344         * platform/win/ScrollViewWin.cpp:
8345         * platform/wx/ScrollViewWx.cpp:
8346         (WebCore::ScrollView::platformRepaintContentRectangle):
8348 2008-09-30  Alexey Proskuryakov  <ap@webkit.org>
8350         Non-Mac build fixes.
8352         * GNUmakefile.am:
8353         * WebCore.pro:
8354         * WebCore.vcproj/WebCore.vcproj:
8355         * WebCoreSources.bkl:
8356         * webcore-base.bkl:
8357         Added DOMProtect.{cpp,h}.
8359 2008-09-39  Kevin Decker  <kdecker@apple.com>
8361         Reviewed by John Sullivan.
8363         * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
8364         for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
8366 2008-09-29  Julien Chaffraix  <jchaffraix@webkit.org>
8368         Reviewed by Maciej Stachowiak.
8370         Bug 21106: .in format discussed changes
8371         https://bugs.webkit.org/show_bug.cgi?id=21106
8373         - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
8374         is the only namespace used.
8376         - Removed "generateFactory" and "generateWrapperFactory" parameters and
8377         re-introduced the command line options.
8379         - Cleaned up the output of make_names.pl (removed unneeded new line).
8381         * DerivedSources.make: Added factories command line options.
8382         * GNUmakefile.am: Ditto.
8383         * WebCore.pro: Ditto and removed some arguments that were migrated to
8384         the .in files.
8386         * dom/make_names.pl: Clean up (see above).
8388         * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
8389         and "generateWrapperFactory" occurences.
8390         * html/HTMLTagNames.in: Ditto.
8391         * svg/svgattrs.in: Ditto.
8392         * svg/svgtags.in: Ditto.
8393         * svg/xlinkattrs.in: Ditto.
8394         * xml/xmlattrs.in: Ditto.
8396 2008-09-29  Chris Fleizach  <cfleizach@apple.com>
8398         Reviewed by John Sullivan.
8400         <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
8401         Make sure that certain types of elements do not return children and, moreover, do not waste their
8402         energy trying to return children
8404         Test: accessibility/nochildren-elements.html
8406         * page/AccessibilityObject.h:
8407         (WebCore::AccessibilityObject::canHaveChildren):
8408         * page/AccessibilityRenderObject.cpp:
8409         (WebCore::AccessibilityRenderObject::canHaveChildren):
8410         (WebCore::AccessibilityRenderObject::addChildren):
8411         * page/AccessibilityRenderObject.h:
8413 2008-09-30  Alexey Proskuryakov  <ap@webkit.org>
8415         Reviewed by Sam Weinig.
8417         https://bugs.webkit.org/show_bug.cgi?id=21213
8418         MessagePort crash when GC collects an object with a pending close event
8420         Test: fast/events/message-channel-gc-2.html
8421               fast/events/message-channel-listener-circular-ownership.html
8423         * bindings/DOMProtect.cpp: Added.
8424         (WebCore::gcProtectDOMObject):
8425         (WebCore::gcUnprotectDOMObject):
8426         * bindings/DOMProtect.h: Added.
8427         Added an abstraction for GC protection to avoid the need to call JS bindings code from
8428         DOM objects directly.
8430         * dom/MessagePort.cpp:
8431         (WebCore::CloseMessagePortTimer::fired):
8432         (WebCore::MessagePort::queueCloseEvent):
8433         GC protect MessagePort wrapper while there is a pending close event.
8434         This may be necessary for message events, too, but that case is not a crasher, and actually
8435         behaves to the letter of the current HTML5 text, so I'll consider it later.
8437         * xml/XMLHttpRequest.cpp:
8438         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
8439         (WebCore::XMLHttpRequest::dropProtection):
8440         Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
8442         * bindings/js/JSMessagePortCustom.cpp:
8443         (WebCore::JSMessagePort::addEventListener):
8444         (WebCore::JSMessagePort::removeEventListener):
8445         (WebCore::JSMessagePort::setOnmessage):
8446         (WebCore::JSMessagePort::setOnclose):
8447         Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
8448         know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
8450         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
8451         (WebCore::JSXMLHttpRequestUpload::mark):
8452         While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
8453         from XMLHttpRequest.
8455 2008-09-30  Adam Roben  <aroben@apple.com>
8457         Windows build fix
8459         * DerivedSources.cpp: Add JSEventTargetNode.cpp.
8461 2008-09-29  Sam Weinig  <sam@webkit.org>
8463         Reviewed by Tim Hatcher.
8465         Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
8466         Autogenerate JS event listeners
8468         - Generate EventTargetNode.
8470         * DerivedSources.make:
8471         * GNUmakefile.am:
8472         * WebCore.pro:
8473         * WebCore.vcproj/WebCore.vcproj:
8474         * WebCore.xcodeproj/project.pbxproj:
8475         * WebCoreSources.bkl:
8476         * bindings/js/JSEventListener.cpp:
8477         * bindings/js/JSEventTarget.cpp: Added.
8478         (WebCore::toJS):
8479         * bindings/js/JSEventTarget.h: Added.
8480         * bindings/js/JSEventTargetBase.cpp: Removed.
8481         * bindings/js/JSEventTargetBase.h:
8482         * bindings/js/JSEventTargetNode.cpp: Removed.
8483         * bindings/js/JSEventTargetNode.h: Removed.
8484         * bindings/js/JSEventTargetNodeCustom.cpp: Added.
8485         (WebCore::JSEventTargetNode::addEventListener):
8486         (WebCore::JSEventTargetNode::removeEventListener):
8487         (WebCore::JSEventTargetNode::dispatchEvent):
8488         (WebCore::JSEventTargetNode::getListener):
8489         (WebCore::JSEventTargetNode::setListener):
8490         (WebCore::JSEventTargetNode::pushEventHandlerScope):
8491         * bindings/js/JSEventTargetSVGElementInstance.cpp:
8492         (WebCore::):
8493         (WebCore::JSEventTargetSVGElementInstancePrototype::self):
8494         (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
8495         (jsEventTargetAddEventListener):
8496         (jsEventTargetRemoveEventListener):
8497         (jsEventTargetDispatchEvent):
8498         * bindings/js/JSEventTargetSVGElementInstance.h:
8499         (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
8500         (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
8501         * bindings/scripts/CodeGeneratorJS.pm:
8502         * dom/EventTargetNode.idl: Added.
8504 2008-09-29  Darin Adler  <darin@apple.com>
8506         Reviewed by Sam Weinig.
8508         - https://bugs.webkit.org/show_bug.cgi?id=21214
8509           work on getting rid of ExecState
8511         * bindings/js/JSDOMWindowBase.cpp:
8512         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
8513         for base class constructor.
8515 2008-09-29  David Hyatt  <hyatt@apple.com>
8517         Add the new HostWindow base class.  A HostWindow hosts a hierarchy of Widgets.  The Chrome object on Page
8518         now subclasses from HostWindow.  The new class will allow objects in platform/ like Widgets, Scrollbars
8519         and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
8520         (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
8522         Reviewed by Sam Weinig
8524         * WebCore.xcodeproj/project.pbxproj:
8525         * page/Chrome.h:
8526         * platform/HostWindow.h: Added.
8527         (WebCore::HostWindow::HostWindow):
8528         (WebCore::HostWindow::~HostWindow):
8530 2008-09-29  Kevin Decker  <kdecker@apple.com>
8532         Reviewed by Anders Carlsson.
8534         * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool,  NPNVsupportsCarbonBool are now in the 3000 range instead of 
8535         2000. 
8537 2008-09-29  Dan Bernstein  <mitz@apple.com>
8539         Reviewed by Adam Roben.
8541         - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
8543         * rendering/RenderThemeWin.cpp:
8544         (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
8545         (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
8546         unloaded, to avoid calling uxtheme.dll functions after that library has
8547         been unloaded.
8548         * rendering/RenderThemeWin.h:
8550 2008-09-29  Chris Fleizach  <cfleizach@apple.com>
8552         Reviewed by John Sullivan
8554         <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
8556         Sends AXLoadComplete only when the top level web area is finished loading
8558         * dom/Document.cpp:
8559         (WebCore::Document::implicitClose):
8561 2008-09-29  Timothy Hatcher  <timothy@apple.com>
8563         Makes the node highlight always show up when hovering a node in
8564         the Web Inspector now that the highlight does not scroll to reveal
8565         the node. Also adds a hover effect in the inspector when hovering
8566         causes a highlight in the page. This ties the user hovering action
8567         to the highlight so it is clear what causes the highlight to appear.
8569         Also the highlight now temporarily shows up for 2 seconds after
8570         selecting a node in the DOM tree. So arrowing around in the tree
8571         will show the node on the page, providing feedback to the user.
8573         Plus fixes an issue where quickly moving away from hovering
8574         a node would keep showing the page highlight. This was happening
8575         in breadcrumbs and the DOM tree.
8577         https://bugs.webkit.org/show_bug.cgi?id=21220
8579         Reviewed by Kevin McCullough.
8581         * page/inspector/Console.js:
8582         (WebInspector.Console.prototype._mouseOverNode): Added. Used for
8583         hovering DOM nodes in the console.
8584         (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
8585         (WebInspector.Console.prototype._formatnode): Use the new event
8586         listeners and add a class name to the anchor element.
8587         * page/inspector/ElementsPanel.js:
8588         (WebInspector.ElementsPanel): Add new event listeners to the
8589         crumbs element to do the node hovering highlight.
8590         (WebInspector.ElementsPanel.prototype.hide):
8591         (WebInspector.ElementsPanel.prototype.reset):
8592         (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
8593         (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
8594         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
8595         * page/inspector/ElementsTreeOutline.js:
8596         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
8597         Show the node hishlight for 2 seconds then restore the highlight
8598         to the current hovered node.
8599         (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
8600         hovered node and set the hovered state on the tree element.
8601         (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
8602         hovered node to null and removed the hovered state from the previous
8603         hovered tree element.
8604         (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
8605         the hovered class to the list item.
8606         (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
8607         * page/inspector/inspector.css:
8608         * page/inspector/inspector.js:
8609         (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
8610         based on the showingDOMNodeHighlight property of 50ms or 500ms. This
8611         causes the highlight to change sooner if there is one already showing
8612         and appear later if there isn't one showing. This is like tooltips,
8613         hovering a node for 500ms will cause highlight then mousing between nodes
8614         will keep the highlight and change to the new node.
8615         (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
8616         always reset the timeout so continuous mousing does not keep flasshing
8617         the highlight on the screen.
8618         (WebInspector._updateHoverHighlight): Removed the alt key check and added
8619         the showingDOMNodeHighlight property.
8620         (WebInspector.documentKeyDown): Removed the alt key check.
8621         (WebInspector.documentKeyUp): Ditto.
8622         (WebInspector.reset): Clear the hoveredDOMNode.
8624 2008-09-29  Simon Fraser  <simon.fraser@apple.com>
8626         Reviewed by Anders Carlsson
8628         Fix RenderStyle leak in animation code, and assert that 
8629         keyframe resolution in CSSStyleSelector is not going to clobber
8630         m_style.
8632         * css/CSSStyleSelector.cpp:
8633         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
8634         * page/animation/KeyframeAnimation.cpp:
8635         (WebCore::KeyframeAnimation::~KeyframeAnimation):
8637 2008-09-29  Chris Marrin  <cmarrin@apple.com>
8639         Reviewed by Dave Hyatt
8641         Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
8642         Rewrite keyframe resolution to be like styleForElement()
8643         
8644         Test: animations/lineheight-animation.html
8646         * css/CSSStyleSelector.cpp:
8647         (WebCore::CSSStyleSelector::addKeyframeStyle):
8648         (WebCore::CSSStyleSelector::~CSSStyleSelector):
8649         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
8650         (WebCore::CSSRuleSet::addRulesFromSheet):
8651         (WebCore::CSSStyleSelector::mapAnimationName):
8652         * css/CSSStyleSelector.h:
8653         * page/animation/CompositeAnimation.cpp:
8654         (WebCore::CompositeAnimation::updateKeyframeAnimations):
8655         * page/animation/KeyframeAnimation.cpp:
8656         (WebCore::KeyframeAnimation::KeyframeAnimation):
8657         (WebCore::KeyframeAnimation::animate):
8658         (WebCore::KeyframeAnimation::hasAnimationForProperty):
8659         (WebCore::KeyframeAnimation::sendAnimationEvent):
8660         (WebCore::KeyframeAnimation::overrideAnimations):
8661         (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
8662         (WebCore::KeyframeAnimation::affectsProperty):
8663         (WebCore::KeyframeAnimation::validateTransformFunctionList):
8664         * page/animation/KeyframeAnimation.h:
8665         * rendering/style/Animation.cpp:
8666         (WebCore::Animation::animationsMatch):
8667         * rendering/style/Animation.h:
8668         * rendering/style/KeyframeList.cpp:
8669         (WebCore::KeyframeList::~KeyframeList):
8670         (WebCore::KeyframeList::clear):
8671         (WebCore::KeyframeList::insert):
8672         * rendering/style/KeyframeList.h:
8673         (WebCore::KeyframeValue::KeyframeValue):
8674         (WebCore::KeyframeList::KeyframeList):
8675         (WebCore::KeyframeList::operator!=):
8676         (WebCore::KeyframeList::animationName):
8677         (WebCore::KeyframeList::addProperty):
8678         (WebCore::KeyframeList::containsProperty):
8679         (WebCore::KeyframeList::beginProperties):
8680         (WebCore::KeyframeList::endProperties):
8681         (WebCore::KeyframeList::isEmpty):
8682         (WebCore::KeyframeList::size):
8683         (WebCore::KeyframeList::beginKeyframes):
8684         (WebCore::KeyframeList::endKeyframes):
8685         * rendering/style/RenderStyle.h:
8686         * rendering/style/StyleRareNonInheritedData.cpp:
8687         * rendering/style/StyleRareNonInheritedData.h:
8689 2008-09-29  Chris Marrin  <cmarrin@apple.com>
8691         Reviewed by Eric Seidel
8693         Clean up fix in PropertyWrapperGetter::equals
8694         https://bugs.webkit.org/show_bug.cgi?id=21011
8695         
8696         Test: transitions/override-transition-crash.html
8698         * page/animation/AnimationBase.cpp:
8699         (WebCore::PropertyWrapperGetter::equals):
8700         * page/animation/CompositeAnimation.cpp:
8701         (WebCore::CompositeAnimation::updateTransitions):
8703 2008-09-29  Chris Marrin  <cmarrin@apple.com>
8705         Reviewed by Eric Seidel
8707         https://bugs.webkit.org/show_bug.cgi?id=21001
8708         Starting transition after animation, when animation
8709         is finished, transition is wrong.
8711         Test: animations/transition-and-animation-2.html
8713         * page/animation/AnimationBase.h:
8714         * page/animation/CompositeAnimation.cpp:
8715         (WebCore::CompositeAnimation::updateTransitions):
8716         (WebCore::CompositeAnimation::updateKeyframeAnimations):
8717         (WebCore::CompositeAnimation::resetTransitions):
8718         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
8719         * page/animation/ImplicitAnimation.cpp:
8720         (WebCore::ImplicitAnimation::ImplicitAnimation):
8721         (WebCore::ImplicitAnimation::~ImplicitAnimation):
8722         (WebCore::ImplicitAnimation::animate):
8723         (WebCore::ImplicitAnimation::reset):
8724         * page/animation/ImplicitAnimation.h:
8726 2008-09-29  Chris Marrin  <cmarrin@apple.com>
8728         Reviewed by Sam Weinig
8730         https://bugs.webkit.org/show_bug.cgi?id=20921
8731         -webkit-animation-timing-function: inside of keyframes is ignored
8733         Test: animations/keyframe-timing-functions.html
8735         * page/animation/AnimationBase.cpp:
8736         (WebCore::AnimationBase::progress):
8737         * page/animation/AnimationBase.h:
8738         * page/animation/ImplicitAnimation.cpp:
8739         (WebCore::ImplicitAnimation::animate):
8740         * page/animation/KeyframeAnimation.cpp:
8741         (WebCore::KeyframeAnimation::animate):
8743 2008-09-29  Dan Bernstein  <mitz@apple.com>
8745         - Windows build fix
8747         * platform/ScrollView.cpp:
8748         (WebCore::ScrollView::platformScroll):
8750 2008-09-29  Dan Bernstein  <mitz@apple.com>
8752         - another attempt at a Windows build fix
8754         * platform/ScrollView.cpp:
8755         (WebCore::platformScroll):
8757 2008-09-29  Dan Bernstein  <mitz@apple.com>
8759         - Windows build fix
8761         * platform/ScrollView.cpp:
8762         (WebCore::ScrollView::platformSetScrollPosition):
8764 2008-09-29  David Hyatt  <hyatt@apple.com>
8766         https://bugs.webkit.org/show_bug.cgi?id=21218
8768         Accidentally removed a check to see if the scrollbar modes were equal.  This caused a crash on Windows.
8769         It's silly that the code was this fragile, but for now just put the check back in.
8771         Reviewed by Dan Bernstein
8773         * platform/ScrollView.cpp:
8774         (WebCore::ScrollView::setScrollbarModes):
8776 2008-09-29  David Hyatt  <hyatt@apple.com>
8778         https://bugs.webkit.org/show_bug.cgi?id=21216
8780         Make setScrollPosition and scroll() cross-platform.
8782         Reviewed by Anders
8784         * platform/ScrollView.cpp:
8785         (WebCore::ScrollView::setScrollPosition):
8786         (WebCore::ScrollView::scroll):
8787         * platform/ScrollView.h:
8788         * platform/gtk/ScrollViewGtk.cpp:
8789         * platform/mac/ScrollViewMac.mm:
8790         (WebCore::ScrollView::platformSetScrollPosition):
8791         (WebCore::ScrollView::platformScroll):
8792         * platform/qt/ScrollViewQt.cpp:
8793         * platform/win/ScrollViewWin.cpp:
8794         * platform/wx/ScrollViewWx.cpp:
8795         (WebCore::ScrollView::platformSetScrollPosition):
8796         (WebCore::ScrollView::platformScroll):
8798 2008-09-29  Kevin McCullough  <kmccullough@apple.com>
8800         Reviewed by Oliver.
8802         Bug 21139: Profiler log message is wrong
8803         - Because _format was called twice the number in the log was incremented
8804         too many times, but we were passing it around in the link the whole time
8806         * page/inspector/ProfilesPanel.js:
8807         * page/inspector/inspector.js:
8809 2008-09-29  Sam Weinig  <sam@webkit.org>
8811         Reviewed by Cameron Zwarich.
8813         Autogenerate EventListeners, addEventListener and removeEventListener
8814         for JSDOMWindow.
8816         * bindings/js/JSDOMWindowBase.cpp:
8817         * bindings/js/JSDOMWindowBase.h:
8818         * bindings/js/JSDOMWindowCustom.cpp:
8819         (WebCore::JSDOMWindow::onwebkitanimationstart):
8820         (WebCore::JSDOMWindow::setOnwebkitanimationstart):
8821         (WebCore::JSDOMWindow::onwebkitanimationiteration):
8822         (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
8823         (WebCore::JSDOMWindow::onwebkitanimationend):
8824         (WebCore::JSDOMWindow::setOnwebkitanimationend):
8825         (WebCore::JSDOMWindow::onwebkittransitionend):
8826         (WebCore::JSDOMWindow::setOnwebkittransitionend):
8827         (WebCore::JSDOMWindow::addEventListener):
8828         (WebCore::JSDOMWindow::removeEventListener):
8829         (WebCore::JSDOMWindow::setListener):
8830         (WebCore::JSDOMWindow::getListener):
8831         * bindings/scripts/CodeGeneratorJS.pm:
8832         * page/DOMWindow.idl:
8834 2008-09-29  Thiago Macieira  <thiago.macieira@nokia.com>
8836         Reviewed by Simon.
8838         Changed copyright from Trolltech ASA to Nokia.
8840         Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
8842         * bindings/js/JSMimeTypeArrayCustom.cpp:
8843         * bindings/js/JSNavigatorCustom.cpp:
8844         * bindings/js/JSPluginArrayCustom.cpp:
8845         * bindings/js/JSPluginCustom.cpp:
8846         * bindings/js/ScriptControllerMac.mm:
8847         * bindings/js/ScriptControllerQt.cpp:
8848         * bridge/qt/qt_class.cpp:
8849         * bridge/qt/qt_class.h:
8850         * bridge/qt/qt_instance.cpp:
8851         * bridge/qt/qt_instance.h:
8852         * bridge/qt/qt_runtime.cpp:
8853         * bridge/qt/qt_runtime.h:
8854         * bridge/testqtbindings.cpp:
8855         * css/makegrammar.pl:
8856         * css/makeprop.pl:
8857         * css/makevalues.pl:
8858         * dom/Node.cpp:
8859         * dom/TagNodeList.cpp:
8860         * dom/TagNodeList.h:
8861         * dom/XMLTokenizer.cpp:
8862         * dom/XMLTokenizer.h:
8863         * dom/XMLTokenizerLibxml2.cpp:
8864         * dom/XMLTokenizerQt.cpp:
8865         * editing/Editor.cpp:
8866         * editing/EditorCommand.cpp:
8867         * html/CanvasRenderingContext2D.cpp:
8868         * html/CanvasStyle.cpp:
8869         * html/HTMLAppletElement.cpp:
8870         * html/HTMLEmbedElement.cpp:
8871         * html/HTMLObjectElement.cpp:
8872         * loader/FrameLoader.cpp:
8873         * page/Chrome.cpp:
8874         * page/EditorClient.h:
8875         * page/Frame.cpp:
8876         * page/Frame.h:
8877         * page/FramePrivate.h:
8878         * page/Navigator.cpp:
8879         * page/Navigator.h:
8880         * page/Navigator.idl:
8881         * page/mac/FrameMac.mm:
8882         * page/qt/EventHandlerQt.cpp:
8883         * platform/graphics/qt/FontCacheQt.cpp:
8884         * platform/graphics/qt/FontCustomPlatformData.cpp:
8885         * platform/graphics/qt/FontCustomPlatformData.h:
8886         * platform/graphics/qt/FontPlatformData.h:
8887         * platform/graphics/qt/FontQt.cpp:
8888         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
8889         * platform/graphics/qt/GraphicsContextQt.cpp:
8890         * platform/graphics/qt/ImageDecoderQt.cpp:
8891         * platform/graphics/qt/ImageDecoderQt.h:
8892         * platform/graphics/qt/ImageSourceQt.cpp:
8893         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
8894         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
8895         * platform/graphics/qt/SimpleFontDataQt.cpp:
8896         * platform/gtk/MIMETypeRegistryGtk.cpp:
8897         * platform/mac/MIMETypeRegistryMac.mm:
8898         * platform/network/qt/QNetworkReplyHandler.cpp:
8899         * platform/network/qt/QNetworkReplyHandler.h:
8900         * platform/network/qt/ResourceHandleQt.cpp:
8901         * platform/network/qt/ResourceRequestQt.cpp:
8902         * platform/qt/ClipboardQt.cpp:
8903         * platform/qt/EventLoopQt.cpp:
8904         * platform/qt/KURLQt.cpp:
8905         * platform/qt/LoggingQt.cpp:
8906         * platform/qt/MIMETypeRegistryQt.cpp:
8907         * platform/qt/PasteboardQt.cpp:
8908         * platform/qt/PlatformScreenQt.cpp:
8909         * platform/qt/PopupMenuQt.cpp:
8910         * platform/qt/QWebPopup.cpp:
8911         * platform/qt/QWebPopup.h:
8912         * platform/qt/RenderThemeQt.cpp:
8913         * platform/qt/ScrollbarQt.cpp:
8914         * platform/qt/ScrollbarThemeQt.cpp:
8915         * platform/qt/WheelEventQt.cpp:
8916         * platform/qt/html4-adjustments-qt.css:
8917         * platform/wx/MimeTypeRegistryWx.cpp:
8918         * plugins/MimeType.cpp:
8919         * plugins/MimeType.h:
8920         * plugins/MimeType.idl:
8921         * plugins/MimeTypeArray.cpp:
8922         * plugins/MimeTypeArray.h:
8923         * plugins/MimeTypeArray.idl:
8924         * plugins/Plugin.cpp:
8925         * plugins/Plugin.h:
8926         * plugins/Plugin.idl:
8927         * plugins/PluginArray.cpp:
8928         * plugins/PluginArray.h:
8929         * plugins/PluginArray.idl:
8930         * plugins/PluginData.cpp:
8931         * plugins/PluginData.h:
8932         * plugins/gtk/PluginDataGtk.cpp:
8933         * plugins/mac/PluginDataMac.mm:
8934         * plugins/qt/PluginDataQt.cpp:
8935         * plugins/win/PluginDataWin.cpp:
8936         * rendering/RenderTableCol.cpp:
8937         * rendering/RenderTableCol.h:
8939 2008-09-29  Thiago Macieira  <thiago.macieira@trolltech.com>
8941         Reviewed by Simon
8943         Fix compilation with gcc 4.3
8945          gcc 4.3 is stricter and ctype.h isn't getting included
8946         automatically here by dependencies. So do it directly.
8948         * platform/qt/PlatformKeyboardEventQt.cpp:
8950 2008-09-29  Morten Sørvig  <msorvig@trolltech.com>
8952         Reviewed by Simon.
8954         Fix compilation with Qt/Mac without plugins.
8956         * platform/qt/TemporaryLinkStubs.cpp:
8958 2008-09-29  Mark Rowe  <mrowe@apple.com>
8960         Reviewed by Sam Weinig.
8962         Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
8963         In the few places that we call .upper() in WebCore the strings represent things like
8964         tag and attribute names, which are nearly always going to be ASCII.
8966         * platform/text/StringImpl.cpp:
8967         (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
8968         in to Unicode::toLower the second time.
8969         (WebCore::StringImpl::upper):
8971 2008-09-28  Mark Rowe  <mrowe@apple.com>
8973         Reviewed by Sam Weinig.
8975         Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
8976         rather than String::operator+=.
8978         * css/CSSPrimitiveValue.cpp:
8979         (WebCore::CSSPrimitiveValue::cssText):
8981 2008-09-28  Mark Rowe  <mrowe@apple.com>
8983         Reviewed by Oliver Hunt.
8985         Speed up computedStyle.getPropertyValue('color') by 4.5x.
8987         Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
8988         as it avoids many memory reallocations.
8990         This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
8991         by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
8992         unrelated properties on an element.
8994         * css/CSSPrimitiveValue.cpp:
8995         (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
8996         and use appendNumber rather than the String::number in order to cut down on memory allocations.
8997         * platform/text/PlatformString.h:
8998         (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
8999         into a Vector<UChar>.
9001 2008-09-28  Sam Weinig  <sam@webkit.org>
9003         Reviewed by Anders Carlsson.
9005         Remove spurious call to lower().
9007         * css/MediaQueryEvaluator.cpp:
9008         (WebCore::MediaQueryEvaluator):
9010 2008-09-28  Sam Weinig  <sam@webkit.org>
9012         Reviewed by Dan Bernstein.
9014         Use a CaseFoldingHash instead of calling lower on family strings.
9016         * css/CSSFontSelector.cpp:
9017         (WebCore::CSSFontSelector::addFontFaceRule):
9018         (WebCore::CSSFontSelector::getFontData):
9019         * css/CSSFontSelector.h:
9021 2008-09-28  Timothy Hatcher  <timothy@apple.com>
9023         Remove the scrollIntoViewIfNeeded() call when drawing the
9024         Inspector node highlight.
9026         <rdar://problem/6115804> Don't scroll when highlighting (21000)
9027         https://bugs.webkit.org/show_bug.cgi?id=21000
9029         Reviewed by Dan Bernstein.
9031         * page/InspectorController.cpp:
9032         (WebCore::InspectorController::drawNodeHighlight):
9034 2008-09-28  David Hyatt  <hyatt@apple.com>
9036         Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
9037         changed.
9039         Reviewed by Dan Bernstein
9041         * platform/mac/ScrollbarThemeMac.mm:
9042         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
9044 2008-09-28  Timothy Hatcher  <timothy@apple.com>
9046         Clear the current search results in the Inspector when
9047         the search query is less than 3 characters long. Incremental
9048         searches only occur for 3 characters or longer, but deleting
9049         under this limit would not clear the results unless the whole
9050         query was deleted.
9052         https://bugs.webkit.org/show_bug.cgi?id=21196
9054         Reviewed by Dan Bernstein.
9056         * page/inspector/inspector.js:
9057         (WebInspector.performSearch): Check for short queries in the
9058         if statement that triggers the clear.
9060 2008-09-28  Dan Bernstein  <mitz@apple.com>
9062         Reviewed by Dave Hyatt.
9064         - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
9066         * platform/graphics/win/FontCustomPlatformData.cpp:
9067         (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
9068         overlayLength parameters.
9069         (WebCore::EOTStream::read): Added code to overlay the
9070         m_overlayLength bytes starting at m_overlayDst with the same number of
9071         bytes from m_overlaySrc.
9072         (WebCore::createFontCustomPlatformData): Changed to get overlay
9073         parameters from getEOTHeader.
9074         * platform/graphics/win/GetEOTHeader.cpp:
9075         (WebCore::getEOTHeader): Added code to specify overlaying of the
9076         family name with the prefix of the full name if they differ, because
9077         that such a difference causes TTLoadEmbeddedFont to fail.
9078         * platform/graphics/win/GetEOTHeader.h:
9080 2008-09-28  Alexey Proskuryakov  <ap@webkit.org>
9082         Reviewed by Eric Seidel.
9084         https://bugs.webkit.org/show_bug.cgi?id=20366
9085         Reproducible test failure for editing/undo/undo-iframe-location-change.html
9087         * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
9089 2008-09-28  Darin Adler  <darin@apple.com>
9091         Reviewed by Sam Weinig (except for a few comment and header tweaks).
9093         - https://bugs.webkit.org/show_bug.cgi?id=21158
9094           reduce use of virtual functions in Node for speed
9096         Speeds up Dromaeo a bit less than 1%.
9098         * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
9099         Node.h now that some inlines are in there.
9101         * dom/Attr.h: Override both the virtual and non-virtual name functions.
9103         * dom/ChildNodeList.cpp:
9104         (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
9105         * dom/ChildNodeList.h: Ditto.
9106         * dom/ClassNodeList.cpp:
9107         (WebCore::ClassNodeList::nodeMatches): Ditto.
9108         * dom/ClassNodeList.h: Ditto.
9110         * dom/Document.h: Put the Node::isDocumentNode() function's inline
9111         definition here where it can see the Document class definition.
9113         * dom/DynamicNodeList.cpp:
9114         (WebCore::DynamicNodeList::length): Changed to pass an Element.
9115         (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
9116         (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
9117         (WebCore::DynamicNodeList::itemWithName): Ditto.
9118         * dom/DynamicNodeList.h: Ditto.
9120         * dom/Element.cpp: Removed virtualHasTagName.
9121         * dom/Element.h: Made localName, prefix, namespaceURI, and
9122         styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
9123         virtualNamespaceURI, and removed virtualHasTagName. Put the
9124         Node::hasTagName, Node::hasAttributes, and Node::attributes
9125         functions' inline definitions here where they can see the Element
9126         class definition.
9128         * dom/NameNodeList.cpp:
9129         (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
9130         * dom/NameNodeList.h: Ditto.
9132         * dom/Node.cpp:
9133         (WebCore::Node::virtualPrefix): Renamed from prefix.
9134         (WebCore::Node::virtualLocalName): Renamed from localName.
9135         (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
9136         (WebCore::Node::styleForRenderer): Handle the Element case here.
9138         * dom/Node.h: Removed definition of hasTagName that calls virtual,
9139         since we now have a non-virtual version. Made hasAttributes,
9140         attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
9141         and styleForRenderer non-virtual. Added virtualPrefix,
9142         virtualLocalName, and virtualNamespaceURI. Removed isMalformed
9143         and setMalformed, which are used only on HTMLFormElement objects.
9145         * dom/TagNodeList.cpp:
9146         (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
9147         * dom/TagNodeList.h: Ditto.
9149         * html/HTMLAnchorElement.cpp: Added a comment.
9150         * html/HTMLFormControlElement.cpp: Ditto.
9152         * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
9153         function. Marked tabIndex function virtual explicitly for clarity.
9155         * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
9156         function. Marked isFocusable function virtual explicitly for clarity.
9158         * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
9159         clarity.
9160         * html/HTMLFormControlElement.h: Ditto.
9162         * html/HTMLFormElement.h: Made isMalformed non-virtual.
9164         * html/HTMLParser.cpp:
9165         (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
9166         pointer to call localName since that one does not need to call a virtual
9167         function.
9169         * rendering/RenderBlock.cpp:
9170         (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
9171         calling isMalformed. We already did a tag name check so we know it's
9172         an HTMLFormELement.
9174         * xml/XPathUtil.cpp:
9175         (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
9176         to nodeType(), since it's a virtual function.
9178 2008-09-28  David Hyatt  <hyatt@apple.com>
9180         Make frameRectsChanged() cross-platform on ScrollView.
9182         Reviewed by Oliver Hunt
9184         * platform/ScrollView.cpp:
9185         (WebCore::ScrollView::frameRectsChanged):
9186         * platform/ScrollView.h:
9187         * platform/gtk/ScrollViewGtk.cpp:
9188         * platform/qt/ScrollViewQt.cpp:
9189         * platform/win/ScrollViewWin.cpp:
9190         * platform/wx/ScrollViewWx.cpp:
9192 2008-09-28  Oliver Hunt  <oliver@apple.com>
9194         Reviewed by Maciej Stachowiak.
9196         Bug 21141: REGRESSION: Exception messages for user entered commands are poor
9197         <https://bugs.webkit.org/show_bug.cgi?id=21141>
9199         The bug repsonsible for this was the the JSInspectedObjectWrapper instances
9200         were not initialising their StructureID's to indicate that the wrapper
9201         overrides hasInstance, etc.  The solution is simply to use the createStructureID
9202         helper on JSQuarantinedObjectWrapper to create a correct StructureID.
9204         * bindings/js/JSInspectedObjectWrapper.cpp:
9205         (WebCore::JSInspectedObjectWrapper::wrap):
9207 2008-09-28  David Hyatt  <hyatt@apple.com>
9209         Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
9210         terms of lines.
9212         Reviewed by Oliver Hunt
9214         * dom/EventTargetNode.cpp:
9215         (WebCore::EventTargetNode::dispatchWheelEvent):
9217 2008-09-28  David Hyatt  <hyatt@apple.com>
9219         https://bugs.webkit.org/show_bug.cgi?id=21191
9221         Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
9222         on ScrollView to be cross-platform.
9224         Give the wheel event a concept of granularity (pixel, line or page).  What used to be called continuous
9225         events are now pixel wheel events.
9227         Page scrolling as implemented in bug 17589 was completely broken.  It had the following problems:
9228         (1) Page scrolling has been corrected to be properly detected (on Windows
9229         page wheeling is only done in the vertical direction and it is keyed off a special return value of -1).  The
9230         old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
9231         you could page scroll horizontally.
9232         (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
9233         This caused the scroll amount for page scrolling to be way too large on layers.
9235         Bug 17589 got the default horizontal scrolling value wrong.  It assumed 1, when the Vista default is 3.
9237         Incorporate WebCore's line multiplier right into the deltas of the event.  This eliminates the need
9238         for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
9240         Reviewed by Oliver Hunt
9242         * editing/EditorCommand.cpp:
9243         (WebCore::verticalScrollDistance):
9244         * page/EventHandler.cpp:
9245         (WebCore::scrollAndAcceptEvent):
9246         (WebCore::EventHandler::handleWheelEvent):
9247         * platform/PlatformWheelEvent.h:
9248         (WebCore::):
9249         (WebCore::PlatformWheelEvent::pos):
9250         (WebCore::PlatformWheelEvent::globalPos):
9251         (WebCore::PlatformWheelEvent::deltaX):
9252         (WebCore::PlatformWheelEvent::deltaY):
9253         (WebCore::PlatformWheelEvent::granularity):
9254         (WebCore::PlatformWheelEvent::x):
9255         (WebCore::PlatformWheelEvent::globalX):
9256         (WebCore::PlatformWheelEvent::ignore):
9257         (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
9258         (WebCore::PlatformWheelEvent::verticalLineMultiplier):
9259         * platform/ScrollView.cpp:
9260         (WebCore::ScrollView::wheelEvent):
9261         * platform/Scrollbar.h:
9262         * platform/gtk/ScrollViewGtk.cpp:
9263         (WebCore::ScrollView::updateScrollbars):
9264         * platform/gtk/WheelEventGtk.cpp:
9265         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
9266         * platform/mac/ScrollViewMac.mm:
9267         * platform/mac/WheelEventMac.mm:
9268         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
9269         * platform/qt/ScrollViewQt.cpp:
9270         (WebCore::ScrollView::updateScrollbars):
9271         * platform/qt/WheelEventQt.cpp:
9272         * platform/win/ScrollViewWin.cpp:
9273         (WebCore::ScrollView::updateScrollbars):
9274         * platform/win/WheelEventWin.cpp:
9275         (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
9276         (WebCore::PlatformWheelEvent::verticalLineMultiplier):
9277         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
9278         * platform/wx/ScrollViewWx.cpp:
9279         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
9280         (WebCore::ScrollView::wheelEvent):
9281         * rendering/RenderLayer.cpp:
9282         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
9284 2008-09-27  Eric Carlson  <eric.carlson@apple.com>
9286         Reviewed by Sam Weinig.
9288         fix https://bugs.webkit.org/show_bug.cgi?id=20994
9289         <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
9290         
9291         HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
9292         all unsigned media attributes from string with toUInt() instead of toInt().
9293         
9294         * html/HTMLMediaElement.cpp:
9295         (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
9297         * html/HTMLVideoElement.cpp:
9298         (WebCore::HTMLVideoElement::videoWidth):
9299         (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
9300         (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
9301           unsigned value.
9302         (WebCore::HTMLVideoElement::height): Ditto.
9303         (WebCore::HTMLVideoElement::setWidth): take unsigned value.
9304         (WebCore::HTMLVideoElement::setHeight): Ditto.
9306         * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
9308         * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
9310 2008-09-27  Timothy Hatcher  <timothy@apple.com>
9312         Fixes an exception when typing a command in the Console.
9314         Reviewed by Oliver Hunt.
9316         * page/inspector/Console.js:
9317         (WebInspector.Console.prototype.addMessage): Null check
9318         this.previosMessage.
9320 2008-09-27  Timothy Hatcher  <timothy@apple.com>
9322         Fixes a bug where the Profiles panel sidebar would be empty
9323         after closing and reopening the Web Inspector.
9325         https://bugs.webkit.org/show_bug.cgi?id=21179
9327         Reviewed by Sam Weinig.
9329         * page/inspector/ProfilesPanel.js:
9330         (WebInspector.ProfilesPanel.prototype.reset): Don't call
9331         populateInterface, it is called automatically.
9332         (WebInspector.ProfilesPanel.prototype._populateProfiles):
9333         Return early if the sidebar is already populated.
9335 2008-09-27  Dave Hyatt  <hyatt@apple.com>
9337         Bug 21190.  The line scroll amount on Windows is way too small.  A patch for bug 17589 for wheel sensitivity
9338         incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling.  Line scrolling with the
9339         scrollbar has nothing to do with mouse wheeling.  This patch reverts the scrollbars to use the same line
9340         step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
9342         There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
9343         (which should never have landed in the first place).
9344        
9345         Reviewed by Tim Hatcher, Sam Weinig
9347         * platform/win/ScrollViewWin.cpp:
9348         (WebCore::adjustDeltaForPageScrollMode):
9349         (WebCore::ScrollView::updateScrollbars):
9350         (WebCore::ScrollView::wheelEvent):
9352 2008-09-27  David Hyatt  <hyatt@apple.com>
9354         Make the scrollbarUnderMouse method cross-platform.
9356         Reviewed by Sam Weinig
9358         * platform/ScrollView.cpp:
9359         (WebCore::ScrollView::scrollbarUnderMouse):
9360         * platform/gtk/ScrollViewGtk.cpp:
9361         * platform/mac/ScrollViewMac.mm:
9362         * platform/qt/ScrollViewQt.cpp:
9363         * platform/win/ScrollViewWin.cpp:
9364         * platform/wx/ScrollViewWx.cpp:
9366 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
9368         Gtk+ build fix.
9370         * platform/gtk/ScrollViewGtk.cpp:
9371         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
9373 2008-09-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
9375         Reviewed by Holger Freyther.
9377         https://bugs.webkit.org/show_bug.cgi?id=20287
9378         [Gtk] disable plugins for gtk/directfb target
9380         Introduce WTF_PLATFORM_X11 for X11 builds.
9381         Also use target-specific packages when building the port
9383         * platform/gtk/PlatformScreenGtk.cpp:
9384         * plugins/gtk/PluginViewGtk.cpp:
9385         (WebCore::PluginView::updatePluginWidget):
9386         (WebCore::PluginView::getValueStatic):
9387         (WebCore::PluginView::getValue):
9388         (WebCore::PluginView::init):
9390 2008-09-27  David Hyatt  <hyatt@apple.com>
9392         https://bugs.webkit.org/show_bug.cgi?id=21188
9394         Make scrollbar suppression and resizer avoidance cross-platform.
9396         Reviewed by Anders
9398         * loader/FrameLoader.cpp:
9399         (WebCore::FrameLoader::transitionToCommitted):
9400         * page/FrameView.cpp:
9401         (WebCore::FrameView::resetScrollbars):
9402         (WebCore::FrameView::clear):
9403         (WebCore::FrameView::layout):
9404         (WebCore::FrameView::restoreScrollbar):
9405         (WebCore::FrameView::windowResizerRect):
9406         * page/FrameView.h:
9407         * platform/ScrollView.cpp:
9408         (WebCore::ScrollView::init):
9409         (WebCore::ScrollView::resizerOverlapsContent):
9410         (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
9411         (WebCore::ScrollView::setParent):
9412         (WebCore::ScrollView::setScrollbarsSuppressed):
9413         (WebCore::ScrollView::platformSetScrollbarsSuppressed):
9414         * platform/ScrollView.h:
9415         (WebCore::ScrollView::scrollbarsSuppressed):
9416         (WebCore::ScrollView::windowResizerRect):
9417         * platform/Scrollbar.cpp:
9418         (WebCore::Scrollbar::setFrameRect):
9419         (WebCore::Scrollbar::setParent):
9420         * platform/gtk/ScrollViewGtk.cpp:
9421         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
9422         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
9423         (WebCore::ScrollView::updateScrollbars):
9424         (WebCore::ScrollView::paint):
9425         * platform/mac/ScrollViewMac.mm:
9426         (WebCore::ScrollView::ScrollView):
9427         (WebCore::ScrollView::~ScrollView):
9428         (WebCore::ScrollView::platformSetScrollbarsSuppressed):
9429         (WebCore::ScrollView::setScrollPosition):
9430         * platform/qt/ScrollViewQt.cpp:
9431         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
9432         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
9433         (WebCore::ScrollView::frameRectsChanged):
9434         (WebCore::ScrollView::updateScrollbars):
9435         (WebCore::ScrollView::paint):
9436         * platform/win/ScrollViewWin.cpp:
9437         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
9438         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
9439         (WebCore::ScrollView::updateScrollbars):
9440         (WebCore::ScrollView::paint):
9441         * platform/wx/ScrollViewWx.cpp:
9442         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
9444 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
9446         Rubber-stamped by Anders Carlsson.
9448         Compile fix.
9450         * plugins/PluginView.cpp:
9451         (WebCore::PluginView::load):
9453 2008-09-27  Mark Rowe  <mrowe@apple.com>
9455         Rubber-stamped by Sam Weinig.
9457         Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
9458         Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
9460         Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
9462         * loader/CachedResource.cpp:
9463         (WebCore::CachedResource::~CachedResource):
9465 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
9467         Reviewed by Simon Hausmann.
9469         [qt] Use QImageReader to figure out which image formats are supported
9470         - Qt can have many different plugins for different image formats. Instead
9471         of checking only for a few in WebCore use Qt to determine if this data
9472         can be treated as an image.
9474         * platform/graphics/qt/ImageSourceQt.cpp:
9475         (WebCore::canHandleImage):
9476         (WebCore::createDecoder):
9478 2008-09-27  Holger Hans Peter Freyther  <zecke@selfish.org>
9481         [qt] Clean the pattern code
9482         - Use save/restore on the painter after manipulating the
9483         pen/brush
9484         - Make the context and object null checking consistent. CG is using
9485         the object unconditionally so the Qt webkit platform can do the
9486         same.
9487         - Move code below the early exit. Only use the m_ownerElement before
9488         the early exit as the CG code is doing it.
9490         * svg/graphics/SVGPaintServerPattern.h:
9491         * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
9492         (WebCore::SVGPaintServerPattern::setup):
9493         (WebCore::SVGPaintServerPattern::teardown):
9495 2008-09-27  Keishi Hattori  <casey.hattori@gmail.com>
9497         Added support for console.trace.
9499         https://bugs.webkit.org/show_bug.cgi?id=19157
9501         Reviewed by Kevin McCullough and Tim Hatcher.
9503         * bindings/js/JSConsoleCustom.cpp:
9504         (WebCore::JSConsole::trace):
9505         * page/Console.cpp:
9506         (WebCore::Console::trace): Calls Machine::retrieveCaller to
9507         get a stack trace.
9508         * page/Console.h:
9509         (WebCore::): Added TraceMessageLevel.
9510         * page/Console.idl: Added console.trace.
9511         * page/inspector/Console.js:
9512         (ConsoleMessage): Added case for TraceMessageLevel.
9514 2008-09-27  Anders Carlsson  <andersca@apple.com>
9516         Reviewed by Sam Weinig.
9518         https://bugs.webkit.org/show_bug.cgi?id=21178
9519         <rdar://problem/6248651>
9521         Check if the plug-in is allowed to load the resource. This matches Firefox.
9523         Test: http/tests/plugins/local-geturl-from-remote.html
9525         * plugins/PluginView.cpp:
9526         (WebCore::PluginView::load):
9528 2008-09-22  Dirk Schulze  <vbs85@gmx.de>
9530         Reviewed by Eric Seidel.
9532         Added SVG pattern support to Qt.
9534         [Qt] SVG patterns are missing
9535         https://bugs.webkit.org/show_bug.cgi?id=20973
9537         * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
9538         (WebCore::SVGPaintServerPattern::setup):
9540 2008-09-27  Keishi Hattori  <casey.hattori@gmail.com>
9542         Fixed a bug in the JS syntax highlighter with multiple line tokens.
9544         https://bugs.webkit.org/show_bug.cgi?id=21171
9546         Reviewed by Tim Hatcher.
9548         * page/inspector/SourceFrame.js:
9549         (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
9551 2008-09-27  Timothy Hatcher  <timothy@apple.com>
9553         Change searching in the Profiles panel to not match the
9554         Self and Total columns when there are no units. The only
9555         column that is matched for unitless number searches is
9556         now the Calls column.
9558         https://bugs.webkit.org/show_bug.cgi?id=21169
9560         Reviewed by Sam Weinig.
9562         * page/inspector/ProfileView.js:
9563         (WebInspector.ProfileView.prototype.performSearch):
9565 2008-09-27  David Hyatt  <hyatt@apple.com>
9567         Rename boundsGeometry -> boundsRect.  Rename geometryChanged -> frameRectsChanged.
9569         Reviewed by Sam Weinig
9571         * platform/ScrollView.h:
9572         * platform/Widget.h:
9573         (WebCore::Widget::boundsRect):
9574         (WebCore::Widget::invalidate):
9575         (WebCore::Widget::frameRectsChanged):
9576         * platform/gtk/ScrollViewGtk.cpp:
9577         (WebCore::ScrollViewScrollbar::frameRectsChanged):
9578         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
9579         (WebCore::ScrollView::setFrameRect):
9580         (WebCore::ScrollView::updateScrollbars):
9581         (WebCore::ScrollView::frameRectsChanged):
9582         * platform/gtk/ScrollbarGtk.cpp:
9583         (ScrollbarGtk::setFrameRect):
9584         (ScrollbarGtk::frameRectsChanged):
9585         * platform/gtk/ScrollbarGtk.h:
9586         * platform/gtk/WidgetGtk.cpp:
9587         * platform/qt/ScrollViewQt.cpp:
9588         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
9589         (WebCore::ScrollView::setFrameRect):
9590         (WebCore::ScrollView::frameRectsChanged):
9591         (WebCore::ScrollView::updateScrollbars):
9592         * platform/win/ScrollViewWin.cpp:
9593         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
9594         (WebCore::ScrollView::setFrameRect):
9595         (WebCore::ScrollView::updateScrollbars):
9596         (WebCore::ScrollView::frameRectsChanged):
9597         * plugins/PluginView.cpp:
9598         (WebCore::PluginView::frameRectsChanged):
9599         * plugins/PluginView.h:
9601 2008-09-27  Simon Hausmann  <hausmann@webkit.org>
9603         Refix the previous build fix to compile on non-Qt platforms, too.
9605         * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
9606         WebCore to generate the PrototypeTable in the WebCore namespace
9607         * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
9608         table remains in the Webcore namespace
9609         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
9611 2008-09-27  Simon Hausmann  <hausmann@webkit.org>
9613         Fix compilation with gcc 4.3 (probably > 4.0)
9615         * bindings/js/JSDOMWindowBase.cpp: Don't define static property
9616         get/put functions inside the WebCore namespace.
9617         * bindings/js/JSEventTargetBase.cpp: Ditto.
9618         * bindings/js/JSEventTargetNode.cpp: Ditto.
9619         * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
9620         * bindings/js/JSEventTargetBase.h: Forward declare
9621         JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
9622         defines it in the JSC namespace.
9623         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
9624         prefix for PrototypeTable symbol.
9626 2008-09-27  David Hyatt  <hyatt@apple.com>
9628         Rename frameGeometry to frameRect.  Rename setFrameGeometry to setFrameRect.
9630         Reviewed by Dan Bernstein
9632         * WebCore.base.exp:
9633         * page/FrameView.cpp:
9634         (WebCore::FrameView::FrameView):
9635         (WebCore::FrameView::updateControlTints):
9636         * platform/ScrollView.h:
9637         * platform/Scrollbar.cpp:
9638         (WebCore::Scrollbar::Scrollbar):
9639         (WebCore::Scrollbar::paint):
9640         (WebCore::Scrollbar::setFrameRect):
9641         * platform/Scrollbar.h:
9642         * platform/ScrollbarThemeComposite.cpp:
9643         (WebCore::ScrollbarThemeComposite::paint):
9644         * platform/Widget.h:
9645         (WebCore::Widget::x):
9646         (WebCore::Widget::y):
9647         (WebCore::Widget::width):
9648         (WebCore::Widget::height):
9649         (WebCore::Widget::size):
9650         (WebCore::Widget::pos):
9651         (WebCore::Widget::resize):
9652         (WebCore::Widget::move):
9653         * platform/gtk/ScrollViewGtk.cpp:
9654         (WebCore::ScrollViewScrollbar::geometryChanged):
9655         (WebCore::ScrollView::update):
9656         (WebCore::ScrollView::setFrameRect):
9657         (WebCore::ScrollView::updateScrollbars):
9658         (WebCore::ScrollView::scrollbarUnderMouse):
9659         (WebCore::ScrollView::paint):
9660         * platform/gtk/ScrollbarGtk.cpp:
9661         (ScrollbarGtk::setFrameRect):
9662         (ScrollbarGtk::geometryChanged):
9663         * platform/gtk/ScrollbarGtk.h:
9664         * platform/gtk/WidgetGtk.cpp:
9665         (WebCore::Widget::frameRect):
9666         (WebCore::Widget::setFrameRect):
9667         * platform/mac/ScrollbarThemeMac.mm:
9668         (WebCore::ScrollbarThemeMac::trackRect):
9669         (WebCore::ScrollbarThemeMac::paint):
9670         * platform/mac/WidgetMac.mm:
9671         (WebCore::Widget::frameRect):
9672         (WebCore::Widget::setFrameRect):
9673         * platform/qt/ScrollViewQt.cpp:
9674         (WebCore::ScrollView::setFrameRect):
9675         (WebCore::ScrollView::updateScrollbars):
9676         (WebCore::ScrollView::scrollbarUnderMouse):
9677         (WebCore::ScrollView::paint):
9678         * platform/qt/ScrollbarThemeQt.cpp:
9679         (WebCore::styleOptionSlider):
9680         * platform/qt/WidgetQt.cpp:
9681         (WebCore::Widget::frameRect):
9682         (WebCore::Widget::setFrameRect):
9683         * platform/win/PopupMenuWin.cpp:
9684         (WebCore::PopupMenu::invalidateItem):
9685         (WebCore::PopupMenu::valueChanged):
9686         (WebCore::PopupWndProc):
9687         * platform/win/ScrollViewWin.cpp:
9688         (WebCore::ScrollView::setFrameRect):
9689         (WebCore::ScrollView::updateScrollbars):
9690         (WebCore::ScrollView::scrollbarUnderMouse):
9691         (WebCore::ScrollView::paint):
9692         * platform/win/ScrollbarThemeSafari.cpp:
9693         (WebCore::ScrollbarThemeSafari::trackRect):
9694         * platform/win/WidgetWin.cpp:
9695         (WebCore::Widget::frameRect):
9696         (WebCore::Widget::setFrameRect):
9697         * platform/wx/WidgetWx.cpp:
9698         (WebCore::Widget::frameRect):
9699         (WebCore::Widget::setFrameRect):
9700         * plugins/PluginView.cpp:
9701         (WebCore::PluginView::setFrameRect):
9702         * plugins/PluginView.h:
9703         * plugins/gtk/PluginViewGtk.cpp:
9704         (WebCore::PluginView::updatePluginWidget):
9705         (WebCore::PluginView::paint):
9706         (WebCore::PluginView::init):
9707         * plugins/qt/PluginViewQt.cpp:
9708         (WebCore::PluginView::updatePluginWidget):
9709         (WebCore::PluginView::init):
9710         * plugins/win/PluginViewWin.cpp:
9711         (WebCore::PluginView::updatePluginWidget):
9712         (WebCore::PluginView::paintMissingPluginIcon):
9713         (WebCore::PluginView::paint):
9714         (WebCore::PluginView::init):
9715         * rendering/RenderLayer.cpp:
9716         (WebCore::RenderLayer::positionOverflowControls):
9717         * rendering/RenderListBox.cpp:
9718         (WebCore::RenderListBox::paintScrollbar):
9719         * rendering/RenderPart.cpp:
9720         (WebCore::RenderPart::updateWidgetPosition):
9721         * rendering/RenderWidget.cpp:
9722         (WebCore::RenderWidget::setWidgetGeometry):
9723         (WebCore::RenderWidget::updateWidgetPosition):
9725 2008-09-27  David Hyatt  <hyatt@apple.com>
9727         <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
9729         This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
9730         access an actual member variable.
9732         Reviewed by Dan Bernstein
9734         * page/FocusController.cpp:
9735         (WebCore::FocusController::setFocusedFrame):
9737 2008-09-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
9739         Attempt to fix QT Build. Not reviewed.
9741         * WebCore.pro: add -n WebCore parameter to create_hash_table
9743 2008-09-26  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>
9745         Reviewed by Eric Seidel.
9747         http://bugs.webkit.org/show_bug.cgi?id=18905
9748         [GTK] Fix build with older pango (1.14.8)
9750         * platform/graphics/gtk/FontGtk.cpp:
9751         * platform/gtk/Language.cpp:
9752         (_pango_get_lc_ctype):
9753         (pango_language_get_default):
9755 2008-09-26  David Hyatt  <hyatt@apple.com>
9757         https://bugs.webkit.org/show_bug.cgi?id=21168
9759         Make contentsToWindow/windowToContents cross-platform.
9761         Reviewed by Oliver Hunt
9763         * platform/ScrollView.cpp:
9764         (WebCore::ScrollView::windowToContents):
9765         (WebCore::ScrollView::contentsToWindow):
9766         * platform/ScrollView.h:
9767         * platform/gtk/ScrollViewGtk.cpp:
9768         * platform/mac/ScrollViewMac.mm:
9769         * platform/qt/ScrollViewQt.cpp:
9770         * platform/win/ScrollViewWin.cpp:
9771         * platform/wx/ScrollViewWx.cpp:
9773 2008-09-26  Sam Weinig  <sam@webkit.org>
9775         GTK build fix.
9777         * GNUmakefile.am:
9779 2008-09-26  David Hyatt  <hyatt@apple.com>
9781         Eliminate shouldUpdateWhileOffscreen from ScrollView.  Make the concept of not invalidating while
9782         offscreen cross-platform.  Rename the inWindow method to isOffscreen (which flips the boolean), since that
9783         more clearly conveys the intent of the method.  Make isOffscreen also check NSWindow visibility on Mac.
9785         Reviewed by Oliver Hunt
9787         * page/FrameView.cpp:
9788         (WebCore::FrameView::repaintContentRectangle):
9789         * page/FrameView.h:
9790         * platform/ScrollView.h:
9791         * platform/gtk/ScrollViewGtk.cpp:
9792         (WebCore::ScrollView::isOffscreen):
9793         * platform/mac/ScrollViewMac.mm:
9794         (WebCore::ScrollView::updateContents):
9795         (WebCore::ScrollView::isOffscreen):
9796         * platform/qt/ScrollViewQt.cpp:
9797         (WebCore::ScrollView::isOffscreen):
9798         * platform/win/ScrollViewWin.cpp:
9799         (WebCore::ScrollView::isOffscreen):
9800         * platform/wx/ScrollViewWx.cpp:
9801         (WebCore::ScrollView::isOffscreen):
9802         * rendering/RenderObject.cpp:
9803         (WebCore::RenderObject::willRenderImage):
9805 2008-09-26  David Hyatt  <hyatt@apple.com>
9807         https://bugs.webkit.org/show_bug.cgi?id=21164
9809         Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
9811         Reviewed by Sam Weinig
9813         * WebCore.base.exp:
9814         * page/FrameView.cpp:
9815         (WebCore::FrameView::setAllowsScrolling):
9816         * page/FrameView.h:
9817         * platform/ScrollView.cpp:
9818         (WebCore::ScrollView::setAllowsScrolling):
9819         * platform/ScrollView.h:
9820         (WebCore::ScrollView::allowsScrolling):
9821         * platform/win/ScrollViewWin.cpp:
9822         (WebCore::ScrollView::wheelEvent):
9824 2008-09-26  Kevin Ollivier  <kevino@theolliviers.com>
9826         wx build fixes after Widget/ScrollView changes.
9828         * platform/wx/PopupMenuWx.cpp:
9829         (WebCore::PopupMenu::show):
9830         * platform/wx/ScrollViewWx.cpp:
9831         (WebCore::ScrollView::platformSetContentsSize):
9832         (WebCore::ScrollView::platformSetScrollbarModes):
9833         (WebCore::ScrollView::wheelEvent):
9834         * platform/wx/TemporaryLinkStubs.cpp:
9835         * platform/wx/WidgetWx.cpp:
9836         (WebCore::Widget::containingWindow):
9838 2008-09-26  Timothy Hatcher  <timothy@apple.com>
9840         Allow searching for paths by always performing the
9841         three search methods in the Elements panel and not
9842         assume a search with a "/" is a XPath query.
9844         https://bugs.webkit.org/show_bug.cgi?id=21159
9846         Reviewed by Geoff Garen.
9848         * page/inspector/ElementsPanel.js:
9849         (WebInspector.ElementsPanel.prototype.performSearch):
9851 2008-09-26  Sam Weinig  <sam@webkit.org>
9853         Reviewed by Darin Adler.
9855         Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
9856         Speedup static property get/put
9858         * DerivedSources.make:
9859         * GNUmakefile.am:
9860         * WebCore.pro:
9861         * WebCore.vcproj/WebCore.vcproj:
9862         * WebCore.xcodeproj/project.pbxproj:
9863         * bindings/js/JSDOMBinding.cpp:
9864         * bindings/js/JSDOMBinding.h:
9865         * bindings/js/JSDOMWindowBase.cpp:
9866         (WebCore::getDOMConstructor):
9867         (WebCore::jsDOMWindowBaseCrypto):
9868         (WebCore::jsDOMWindowBaseEvent):
9869         (WebCore::jsDOMWindowBaseImage):
9870         (WebCore::jsDOMWindowBaseMessageChannel):
9871         (WebCore::jsDOMWindowBaseOption):
9872         (WebCore::jsDOMWindowBaseXMLHttpRequest):
9873         (WebCore::jsDOMWindowBaseAudio):
9874         (WebCore::jsDOMWindowBaseXSLTProcessor):
9875         (WebCore::jsDOMWindowBaseOnabort):
9876         (WebCore::jsDOMWindowBaseOnblur):
9877         (WebCore::jsDOMWindowBaseOnchange):
9878         (WebCore::jsDOMWindowBaseOnclick):
9879         (WebCore::jsDOMWindowBaseOndblclick):
9880         (WebCore::jsDOMWindowBaseOnerror):
9881         (WebCore::jsDOMWindowBaseOnfocus):
9882         (WebCore::jsDOMWindowBaseOnkeydown):
9883         (WebCore::jsDOMWindowBaseOnkeypress):
9884         (WebCore::jsDOMWindowBaseOnkeyup):
9885         (WebCore::jsDOMWindowBaseOnload):
9886         (WebCore::jsDOMWindowBaseOnmousedown):
9887         (WebCore::jsDOMWindowBaseOnmousemove):
9888         (WebCore::jsDOMWindowBaseOnmouseout):
9889         (WebCore::jsDOMWindowBaseOnmouseover):
9890         (WebCore::jsDOMWindowBaseOnmouseup):
9891         (WebCore::jsDOMWindowBaseOnMouseWheel):
9892         (WebCore::jsDOMWindowBaseOnreset):
9893         (WebCore::jsDOMWindowBaseOnresize):
9894         (WebCore::jsDOMWindowBaseOnscroll):
9895         (WebCore::jsDOMWindowBaseOnsearch):
9896         (WebCore::jsDOMWindowBaseOnselect):
9897         (WebCore::jsDOMWindowBaseOnsubmit):
9898         (WebCore::jsDOMWindowBaseOnbeforeunload):
9899         (WebCore::jsDOMWindowBaseOnunload):
9900         (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
9901         (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
9902         (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
9903         (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
9904         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
9905         (WebCore::JSDOMWindowBase::put):
9906         (WebCore::setJSDOMWindowBaseOnabort):
9907         (WebCore::setJSDOMWindowBaseOnblur):
9908         (WebCore::setJSDOMWindowBaseOnchange):
9909         (WebCore::setJSDOMWindowBaseOnclick):
9910         (WebCore::setJSDOMWindowBaseOndblclick):
9911         (WebCore::setJSDOMWindowBaseOnerror):
9912         (WebCore::setJSDOMWindowBaseOnfocus):
9913         (WebCore::setJSDOMWindowBaseOnkeydown):
9914         (WebCore::setJSDOMWindowBaseOnkeypress):
9915         (WebCore::setJSDOMWindowBaseOnkeyup):
9916         (WebCore::setJSDOMWindowBaseOnload):
9917         (WebCore::setJSDOMWindowBaseOnmousedown):
9918         (WebCore::setJSDOMWindowBaseOnmousemove):
9919         (WebCore::setJSDOMWindowBaseOnmouseout):
9920         (WebCore::setJSDOMWindowBaseOnmouseover):
9921         (WebCore::setJSDOMWindowBaseOnmouseup):
9922         (WebCore::setJSDOMWindowBaseOnMouseWheel):
9923         (WebCore::setJSDOMWindowBaseOnreset):
9924         (WebCore::setJSDOMWindowBaseOnresize):
9925         (WebCore::setJSDOMWindowBaseOnscroll):
9926         (WebCore::setJSDOMWindowBaseOnsearch):
9927         (WebCore::setJSDOMWindowBaseOnselect):
9928         (WebCore::setJSDOMWindowBaseOnsubmit):
9929         (WebCore::setJSDOMWindowBaseOnbeforeunload):
9930         (WebCore::setJSDOMWindowBaseOnunload):
9931         (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
9932         (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
9933         (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
9934         (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
9935         (WebCore::setJSDOMWindowBaseEvent):
9936         (WebCore::setJSDOMWindowBaseAudio):
9937         (WebCore::setJSDOMWindowBaseImage):
9938         (WebCore::setJSDOMWindowBaseMessageChannel):
9939         (WebCore::setJSDOMWindowBaseOption):
9940         (WebCore::setJSDOMWindowBaseXMLHttpRequest):
9941         (WebCore::setJSDOMWindowBaseXSLTProcessor):
9942         * bindings/js/JSDOMWindowBase.h:
9943         * bindings/js/JSDOMWindowCustom.cpp:
9944         (WebCore::nonCachingStaticCloseFunctionGetter):
9945         (WebCore::nonCachingStaticBlurFunctionGetter):
9946         (WebCore::nonCachingStaticFocusFunctionGetter):
9947         (WebCore::nonCachingStaticPostMessageFunctionGetter):
9948         * bindings/js/JSDOMWindowCustom.h:
9949         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
9950         * bindings/js/JSEventTargetBase.cpp:
9951         * bindings/js/JSEventTargetBase.h:
9952         (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
9953         (WebCore::JSEventTargetBasePrototype::classInfo):
9954         * bindings/js/JSEventTargetNode.cpp:
9955         (WebCore::):
9956         (WebCore::JSEventTargetNode::getOwnPropertySlot):
9957         (WebCore::JSEventTargetNode::put):
9958         * bindings/js/JSEventTargetNode.h:
9959         (WebCore::JSEventTargetNode::classInfo):
9960         (WebCore::JSEventTargetNode::prototypeClassName):
9961         * bindings/js/JSEventTargetSVGElementInstance.cpp:
9962         (WebCore::):
9963         (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
9964         (WebCore::JSEventTargetSVGElementInstance::put):
9965         * bindings/js/JSEventTargetSVGElementInstance.h:
9966         (WebCore::JSEventTargetSVGElementInstance::classInfo):
9967         (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
9968         * bindings/js/JSHTMLInputElementCustom.cpp:
9969         (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
9970         * bindings/js/JSHistoryCustom.cpp:
9971         (WebCore::nonCachingStaticBackFunctionGetter):
9972         (WebCore::nonCachingStaticForwardFunctionGetter):
9973         (WebCore::nonCachingStaticGoFunctionGetter):
9974         (WebCore::JSHistory::customGetOwnPropertySlot):
9975         * bindings/js/JSLocationCustom.cpp:
9976         (WebCore::nonCachingStaticReplaceFunctionGetter):
9977         (WebCore::nonCachingStaticReloadFunctionGetter):
9978         (WebCore::nonCachingStaticAssignFunctionGetter):
9979         (WebCore::JSLocation::customGetOwnPropertySlot):
9980         (WebCore::JSLocation::customPut):
9981         * bindings/scripts/CodeGeneratorJS.pm:
9983 2008-09-26  David Hyatt  <hyatt@apple.com>
9985         https://bugs.webkit.org/show_bug.cgi?id=21149
9987         Make the concept of scroll modes cross-platform.  Move the scrollbars up into ScrollView as well.
9988         Eliminate the unused isScrollable() method.
9990         Reviewed by Sam Weinig
9992         * WebCore.base.exp:
9993         * page/FrameView.cpp:
9994         (WebCore::FrameView::resetScrollbars):
9995         (WebCore::FrameView::initScrollbars):
9996         (WebCore::FrameView::layout):
9997         * page/FrameView.h:
9998         * page/mac/WebCoreFrameView.h:
9999         * platform/ScrollView.cpp:
10000         (WebCore::ScrollView::init):
10001         (WebCore::ScrollView::setScrollbarModes):
10002         (WebCore::ScrollView::scrollbarModes):
10003         (WebCore::ScrollView::platformSetScrollbarModes):
10004         (WebCore::ScrollView::platformScrollbarModes):
10005         * platform/ScrollView.h:
10006         (WebCore::ScrollView::horizontalScrollbar):
10007         (WebCore::ScrollView::verticalScrollbar):
10008         (WebCore::ScrollView::isScrollViewScrollbar):
10009         (WebCore::ScrollView::setHorizontalScrollbarMode):
10010         (WebCore::ScrollView::setVerticalScrollbarMode):
10011         (WebCore::ScrollView::horizontalScrollbarMode):
10012         (WebCore::ScrollView::verticalScrollbarMode):
10013         (WebCore::ScrollView::convertSelfToChild):
10014         * platform/gtk/ScrollViewGtk.cpp:
10015         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
10016         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
10017         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
10018         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
10019         (WebCore::ScrollView::updateScrollbars):
10020         (WebCore::ScrollView::scrollbarUnderMouse):
10021         (WebCore::ScrollView::isScrollViewScrollbar):
10022         (WebCore::ScrollView::paint):
10023         (WebCore::ScrollView::scroll):
10024         * platform/mac/ScrollViewMac.mm:
10025         (WebCore::ScrollView::platformSetScrollbarModes):
10026         (WebCore::ScrollView::platformScrollbarModes):
10027         * platform/qt/ScrollViewQt.cpp:
10028         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
10029         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
10030         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
10031         (WebCore::ScrollView::horizontalScrollbar):
10032         (WebCore::ScrollView::verticalScrollbar):
10033         (WebCore::ScrollView::invalidateScrollbars):
10034         (WebCore::ScrollView::updateScrollbars):
10035         (WebCore::ScrollView::scrollbarUnderMouse):
10036         (WebCore::ScrollView::paint):
10037         (WebCore::ScrollView::scroll):
10038         * platform/win/ScrollViewWin.cpp:
10039         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
10040         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
10041         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
10042         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
10043         (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
10044         (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
10045         (WebCore::ScrollView::suppressScrollbars):
10046         (WebCore::ScrollView::updateScrollbars):
10047         (WebCore::ScrollView::scrollbarUnderMouse):
10048         (WebCore::ScrollView::paint):
10049         (WebCore::ScrollView::scroll):
10050         * platform/wx/ScrollViewWx.cpp:
10051         (WebCore::ScrollView::platformSetScrollbarModes):
10052         (WebCore::ScrollView::platformScrollbarModes):
10054 2008-09-26  David Kilzer  <ddkilzer@apple.com>
10056         Fix Mac build with XPATH and XSLT disabled
10058         Reviewed by Alexey.
10060         * bindings/objc/DOMUtility.mm:
10061         (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
10062         * dom/XMLTokenizerLibxml2.cpp:
10063         (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
10064         prevent an unused code warning.
10066 2008-09-26  Kevin McCullough  <kmccullough@apple.com>
10068         Rubber stamped by Tim Hatcher.
10070         Bug 21098: Crashing under Console::log
10071         - Speculative ASSERT to help find the problem.
10073         * page/InspectorController.cpp:
10074         (WebCore::ConsoleMessage::isEqual):
10076 2008-09-26  Holger Hans Peter Freyther  <zecke@selfish.org>
10078         [gtk+] Build fix for the latest ScrollView changes
10080         * platform/gtk/ScrollViewGtk.cpp:
10081         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
10082         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
10084 2008-09-26  Timothy Hatcher  <timothy@apple.com>
10086         Fixes a bug where the console message repeat count would be wrong
10087         when typing commands in between repeated messages.
10089         https://bugs.webkit.org/show_bug.cgi?id=21145
10091         Reviewed by Kevin McCullough.
10093         * page/InspectorController.cpp:
10094         (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
10095         (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
10096         * page/inspector/Console.js:
10097         (WebInspector.Console.prototype.addMessage): Remember the original repeat count
10098         for each message as totalRepeatCount, since we now modify repeatCount to mean
10099         repeats since previous console command. If repeatCountBeforeCommand is a number,
10100         subtract that value from the repeatCount.
10101         (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
10102         and commandSincePreviousMessage properties.
10104 2008-09-26  Eric Carlson  <eric.carlson@apple.com>
10106         Reviewed by Antti
10108         https://bugs.webkit.org/show_bug.cgi?id=21116
10109         <rdar://problem/5726325> Audio from <video> can still be heard after navigating 
10110         back to page with <video>, then closing tab
10112         Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
10113         documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
10114         deletion.
10116         * dom/Document.cpp:
10117         (WebCore::Document::documentWillBecomeInactive):
10118         (WebCore::Document::documentDidBecomeActive):
10119         (WebCore::Document::registerForDocumentActivationCallbacks):
10120         (WebCore::Document::unregisterForDocumentActivationCallbacks):
10121         * dom/Document.h:
10122         * dom/Element.h:
10123         (WebCore::Element::documentWillBecomeInactive):
10124         (WebCore::Element::documentDidBecomeActive):
10125         * history/CachedPage.cpp:
10126         (WebCore::CachedPage::CachedPage):
10127         * html/HTMLFormElement.cpp:
10128         (WebCore::HTMLFormElement::~HTMLFormElement):
10129         (WebCore::HTMLFormElement::parseMappedAttribute):
10130         (WebCore::HTMLFormElement::documentDidBecomeActive):
10131         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
10132         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
10133         * html/HTMLFormElement.h:
10134         * html/HTMLInputElement.cpp:
10135         (WebCore::HTMLInputElement::~HTMLInputElement):
10136         (WebCore::HTMLInputElement::setInputType):
10137         (WebCore::HTMLInputElement::parseMappedAttribute):
10138         (WebCore::HTMLInputElement::needsActivationCallback):
10139         (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
10140         (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
10141         (WebCore::HTMLInputElement::documentDidBecomeActive):
10142         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
10143         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
10144         * html/HTMLInputElement.h:
10145         * html/HTMLMediaElement.cpp:
10146         (WebCore::HTMLMediaElement::HTMLMediaElement):
10147         (WebCore::HTMLMediaElement::~HTMLMediaElement):
10148         (WebCore::HTMLMediaElement::documentWillBecomeInactive):
10149         (WebCore::HTMLMediaElement::documentDidBecomeActive):
10150         * html/HTMLMediaElement.h:
10151         (WebCore::HTMLMediaElement::inActiveDocument):
10152         * loader/FrameLoader.cpp:
10153         (WebCore::FrameLoader::opened):
10154         * page/Page.cpp:
10155         (WebCore::Page::~Page):
10156         * rendering/RenderMedia.cpp:
10157         (WebCore::RenderMedia::updateControls):
10158         * rendering/RenderVideo.cpp:
10159         (WebCore::RenderVideo::updatePlayer):
10160         * svg/SVGSVGElement.cpp:
10161         (WebCore::SVGSVGElement::SVGSVGElement):
10162         (WebCore::SVGSVGElement::~SVGSVGElement):
10163         (WebCore::SVGSVGElement::documentWillBecomeInactive):
10164         (WebCore::SVGSVGElement::documentDidBecomeActive):
10165         * svg/SVGSVGElement.h:
10167 2008-09-26  Ariya Hidayat  <ariya.hidayat@trolltech.com>
10169         Reviewed by Simon
10171         Fix the build inside Qt, don't create faulty prl files for now.
10173         * WebCore.pro:
10175 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
10177         Fix compilation on Qt/Windows
10179         * Add WebCore/ to the include path so that config.h is found that enables JSC
10180         * Link against winmm for the multimedia timer functions
10181         * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
10182         subdirectory
10183         * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
10184         but set m_window directly as setPlatformWidget takes a QWidget*.
10186         * WebCore.pro:
10187         * platform/win/SystemTimeWin.cpp:
10188         * plugins/win/PluginViewWin.cpp:
10189         (WebCore::PluginView::init):
10191 2008-09-26  Oliver Hunt  <oliver@apple.com>
10193         Reviewed by Maciej Stachowiak.
10195         Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
10196         <https://bugs.webkit.org/show_bug.cgi?id=21054>
10198         This performance regression is actually just a symptom of a correctness
10199         bug.  The constructor objects for a number of properties that have security
10200         checks on access were returning new objects each time.  The most obvious
10201         symptom of this bug is that window.Image != window.Image, etc.
10203         The solution to this is to make sure we cache these constructors
10204         in the same way as all the other DOM constructors.  To achieve this
10205         without causing any refcount cycles it is necessary to replace the
10206         refcounted document pointer in the Image, MessageChannel, Option, 
10207         XMLHttpRequest, and Audio constructor objects with a reference to 
10208         the document's JS wrapper.
10210         Tests: fast/dom/constructors-cached-navigate.html
10211                fast/dom/constructors-cached.html
10213         * WebCore.xcodeproj/project.pbxproj:
10214         * bindings/js/JSAudioConstructor.cpp:
10215         (WebCore::JSAudioConstructor::mark):
10216         * bindings/js/JSAudioConstructor.h:
10217         (WebCore::JSAudioConstructor::document):
10218         * bindings/js/JSDOMWindowBase.cpp:
10219         (WebCore::getDOMConstructor):
10220         (WebCore::JSDOMWindowBase::getValueProperty):
10221         * bindings/js/JSDOMWindowBase.h:
10222         * bindings/js/JSHTMLOptionElementConstructor.cpp:
10223         (WebCore::JSHTMLOptionElementConstructor::mark):
10224         * bindings/js/JSHTMLOptionElementConstructor.h:
10225         (WebCore::JSHTMLOptionElementConstructor::document):
10226         * bindings/js/JSImageConstructor.cpp:
10227         (WebCore::JSImageConstructor::mark):
10228         * bindings/js/JSImageConstructor.h:
10229         (WebCore::JSImageConstructor::document):
10230         * bindings/js/JSXMLHttpRequestConstructor.cpp:
10231         (WebCore::JSXMLHttpRequestConstructor::mark):
10232         * bindings/js/JSXMLHttpRequestConstructor.h:
10233         (WebCore::JSXMLHttpRequestConstructor::document):
10235 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
10237         Unreviewed one-liner build fix for the Qt/Windows build.
10239         The build requires NPAPI support to be enabled, fix the condition in
10240         the .pro file for that.
10242         * WebCore.pro:
10244 2008-09-26  Trenton Schulz <twschulz@trolltech.com>
10246         Reviewed by Simon.
10248         Fix compilation with the Qt/Cocoa port.
10250         * platform/qt/ScrollViewQt.cpp:
10251         (WebCore::ScrollView::updateScrollbars):
10253 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
10255         Reviewed by Holger.
10257         Fix compilation with VC9SP1, work around bug in TR1 library by
10258         disabling it.
10260         * WebCore.pro:
10262 2008-09-26  Simon Hausmann  <hausmann@webkit.org>
10264         Reviewed by Holger.
10266         Fix an lupdate() warning.
10268         Don't use tr() in a class that is not a QObject, use
10269         QCoreApplication::translate() directly.
10271         * platform/qt/ScrollbarQt.cpp:
10272         (WebCore::Scrollbar::handleContextMenuEvent):
10274 2008-09-25  David Hyatt  <hyatt@apple.com>
10276         Remove the scrollTo() method from FrameView, since it is not used by anyone.
10278         Reviewed by Oliver Hunt
10280         * page/FrameView.cpp:
10281         * page/FrameView.h:
10283 2008-09-25  David Hyatt  <hyatt@apple.com>
10285         Make scrollRectIntoViewRecursively cross-platform.
10287         Reviewed by Oliver Hunt
10289         * platform/ScrollView.cpp:
10290         (WebCore::ScrollView::scrollRectIntoViewRecursively):
10291         * platform/gtk/ScrollViewGtk.cpp:
10292         * platform/mac/ScrollViewMac.mm:
10293         * platform/qt/ScrollViewQt.cpp:
10294         * platform/win/ScrollViewWin.cpp:
10295         * platform/wx/ScrollViewWx.cpp:
10297 2008-09-25  David Hyatt  <hyatt@apple.com>
10299         https://bugs.webkit.org/show_bug.cgi?id=21133
10300         
10301         Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()).  Make it
10302         cross-platform.
10304         Reviewed by Oliver Hunt
10306         * loader/FrameLoader.cpp:
10307         (WebCore::FrameLoader::begin):
10308         * page/FrameView.cpp:
10309         (WebCore::FrameView::adjustViewSize):
10310         * platform/ScrollView.cpp:
10311         (WebCore::ScrollView::setContentsSize):
10312         * platform/ScrollView.h:
10313         (WebCore::ScrollView::updateScrollbars):
10314         * platform/gtk/ScrollViewGtk.cpp:
10315         * platform/mac/ScrollViewMac.mm:
10316         (WebCore::ScrollView::platformSetContentsSize):
10317         * platform/qt/ScrollViewQt.cpp:
10318         * platform/win/ScrollViewWin.cpp:
10319         * platform/wx/ScrollViewWx.cpp:
10320         (WebCore::ScrollView::platformSetContentsSize):
10322 2008-09-25  David Hyatt  <hyatt@apple.com>
10324         https://bugs.webkit.org/show_bug.cgi?id=21132
10326         Clean up the methods that actually do the scrolling in ScrollView.
10328         Reviewed by Oliver Hunt
10330         * html/HTMLBodyElement.cpp:
10331         (WebCore::HTMLBodyElement::setScrollLeft):
10332         (WebCore::HTMLBodyElement::setScrollTop):
10333         * loader/FrameLoader.cpp:
10334         (WebCore::FrameLoader::restoreScrollPositionAndViewState):
10335         * loader/ImageDocument.cpp:
10336         (WebCore::ImageDocument::imageClicked):
10337         * page/DOMWindow.cpp:
10338         (WebCore::DOMWindow::scrollBy):
10339         (WebCore::DOMWindow::scrollTo):
10340         * page/FrameView.cpp:
10341         (WebCore::FrameView::scrollTo):
10342         (WebCore::FrameView::setScrollPosition):
10343         * page/FrameView.h:
10344         * platform/ScrollView.cpp:
10345         (WebCore::ScrollView::maximumScrollPosition):
10346         * platform/ScrollView.h:
10347         (WebCore::ScrollView::contentsWidth):
10348         (WebCore::ScrollView::contentsHeight):
10349         (WebCore::ScrollView::scrollBy):
10350         * platform/gtk/ScrollViewGtk.cpp:
10351         (WebCore::ScrollView::setScrollPosition):
10352         * platform/mac/ScrollViewMac.mm:
10353         (WebCore::ScrollView::setScrollPosition):
10354         * platform/qt/ScrollViewQt.cpp:
10355         (WebCore::ScrollView::setScrollPosition):
10356         (WebCore::ScrollView::scrollRectIntoViewRecursively):
10357         * platform/win/ScrollViewWin.cpp:
10358         (WebCore::ScrollView::setScrollPosition):
10359         (WebCore::ScrollView::scrollRectIntoViewRecursively):
10360         * platform/wx/ScrollViewWx.cpp:
10361         (WebCore::ScrollView::setScrollPosition):
10362         * rendering/RenderLayer.cpp:
10363         (WebCore::RenderLayer::scrollByRecursively):
10364         (WebCore::RenderLayer::scrollRectToVisible):
10366 2008-09-25  Dan Bernstein  <mitz@apple.com>
10368         - attempted Windows build fix
10370         * platform/win/ScrollViewWin.cpp:
10371         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
10372         (WebCore::ScrollView::setContentsPos):
10373         (WebCore::ScrollView::paint):
10375 2008-09-25  Timothy Hatcher  <timothy@apple.com>
10377         Revert the padding changes done in r36905 to prevent the
10378         scrollbar from overlapping the URLs in the Console.
10380         https://bugs.webkit.org/show_bug.cgi?id=21126
10382         * page/inspector/inspector.css:
10384 2008-09-25  David Hyatt  <hyatt@apple.com>
10386         https://bugs.webkit.org/show_bug.cgi?id=21129
10388         Refactor contents size and scroll offset to be cross-platform.  Reduce further the number
10389         of platform-specific methods required of ScrollView implementations.
10391         Reviewed by Tim Hatcher
10393         * dom/MouseRelatedEvent.cpp:
10394         (WebCore::contentsX):
10395         (WebCore::contentsY):
10396         * html/HTMLBodyElement.cpp:
10397         (WebCore::HTMLBodyElement::scrollLeft):
10398         (WebCore::HTMLBodyElement::setScrollLeft):
10399         (WebCore::HTMLBodyElement::scrollTop):
10400         (WebCore::HTMLBodyElement::setScrollTop):
10401         * loader/FrameLoader.cpp:
10402         (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
10403         * page/DOMWindow.cpp:
10404         (WebCore::DOMWindow::scrollX):
10405         (WebCore::DOMWindow::scrollY):
10406         * page/EventHandler.cpp:
10407         (WebCore::EventHandler::hitTestResultAtPoint):
10408         * page/FrameView.cpp:
10409         (WebCore::FrameView::scrollTo):
10410         (WebCore::FrameView::windowClipRect):
10411         * platform/ScrollView.cpp:
10412         (WebCore::ScrollView::visibleContentRect):
10413         (WebCore::ScrollView::contentsSize):
10414         (WebCore::ScrollView::platformContentsSize):
10415         * platform/ScrollView.h:
10416         (WebCore::ScrollView::scrollPosition):
10417         (WebCore::ScrollView::scrollOffset):
10418         (WebCore::ScrollView::scrollX):
10419         (WebCore::ScrollView::scrollY):
10420         (WebCore::ScrollView::contentsWidth):
10421         (WebCore::ScrollView::contentsHeight):
10422         * platform/gtk/ScrollViewGtk.cpp:
10423         (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
10424         (WebCore::ScrollView::setGtkAdjustments):
10425         (WebCore::ScrollView::resizeContents):
10426         (WebCore::ScrollView::contentsWidth):
10427         (WebCore::ScrollView::contentsHeight):
10428         (WebCore::ScrollView::scrollOffset):
10429         (WebCore::ScrollView::maximumScroll):
10430         (WebCore::ScrollView::scrollBy):
10431         (WebCore::ScrollView::suppressScrollbars):
10432         (WebCore::ScrollView::setHScrollbarMode):
10433         (WebCore::ScrollView::setVScrollbarMode):
10434         (WebCore::ScrollView::setScrollbarsMode):
10435         (WebCore::ScrollView::setFrameGeometry):
10436         (WebCore::ScrollView::updateScrollbars):
10437         * platform/mac/ScrollViewMac.mm:
10438         (WebCore::ScrollView::platformContentsSize):
10439         (WebCore::ScrollView::scrollBy):
10440         * platform/mac/WidgetMac.mm:
10441         (WebCore::Widget::convertFromContainingWindow):
10442         (WebCore::Widget::convertToContainingWindow):
10443         * platform/qt/ScrollViewQt.cpp:
10444         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
10445         (WebCore::ScrollView::resizeContents):
10446         (WebCore::ScrollView::setFrameGeometry):
10447         (WebCore::ScrollView::scrollOffset):
10448         (WebCore::ScrollView::maximumScroll):
10449         (WebCore::ScrollView::scrollBy):
10450         (WebCore::ScrollView::setHScrollbarMode):
10451         (WebCore::ScrollView::setVScrollbarMode):
10452         (WebCore::ScrollView::setScrollbarsMode):
10453         (WebCore::ScrollView::updateScrollbars):
10454         * platform/win/ScrollViewWin.cpp:
10455         (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
10456         (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
10457         (WebCore::ScrollView::resizeContents):
10458         (WebCore::ScrollView::setFrameGeometry):
10459         (WebCore::ScrollView::scrollOffset):
10460         (WebCore::ScrollView::maximumScroll):
10461         (WebCore::ScrollView::scrollBy):
10462         (WebCore::ScrollView::setHScrollbarMode):
10463         (WebCore::ScrollView::setVScrollbarMode):
10464         (WebCore::ScrollView::setScrollbarsMode):
10465         (WebCore::ScrollView::updateScrollbars):
10466         * platform/wx/ScrollViewWx.cpp:
10467         (WebCore::ScrollView::platformVisibleContentRect):
10468         (WebCore::ScrollView::platformContentsSize):
10469         * rendering/RenderBlock.cpp:
10470         (WebCore::RenderBlock::nodeAtPoint):
10471         * rendering/RenderLayer.cpp:
10472         (WebCore::RenderLayer::scrollRectToVisible):
10473         (WebCore::RenderLayer::calculateClipRects):
10474         (WebCore::RenderLayer::calculateRects):
10475         * rendering/RenderView.cpp:
10476         (WebCore::RenderView::absolutePosition):
10477         (WebCore::RenderView::computeAbsoluteRepaintRect):
10479 2008-09-25  David Smith  <catfish.man@gmail.com>
10481         Reviewed by Dave Hyatt.
10483         Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
10485         * dom/Element.cpp:
10486         (WebCore::Element::rareData):
10487         * dom/Element.h:
10488         * dom/Node.cpp:
10489         (WebCore::Node::rareData):
10490         * dom/Node.h:
10492 2008-09-25  David Smith  <catfish.man@gmail.com>
10494         Reviewed by Darin Adler.
10495         
10496         https://bugs.webkit.org/show_bug.cgi?id=20980
10497         Split off uncommonly used data from Node similar to ElementRareData
10498         
10499         Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
10500         which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
10501         for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
10503         * WebCore.base.exp: 
10504         * WebCore.xcodeproj/project.pbxproj:
10505         * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
10506         * dom/ContainerNode.cpp: Set isContainer to true
10507         (WebCore::ContainerNode::ContainerNode):
10508         * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
10509         (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
10510         (WebCore::Node::containerChildNode): ditto
10511         (WebCore::Node::containerFirstChild): ditto
10512         (WebCore::Node::containerLastChild): ditto
10513         * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
10514         (WebCore::Element::Element): 
10515         (WebCore::Element::~Element):
10516         (WebCore::Element::rareData):
10517         (WebCore::Element::ensureRareData): Renamed from createRareData
10518         (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
10519         (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
10520         (WebCore::Element::detach): ditto
10521         (WebCore::Element::recalcStyle): ditto
10522         (WebCore::Element::focus):
10523         (WebCore::Element::minimumSizeForResizing): ditto
10524         (WebCore::Element::setMinimumSizeForResizing): ditto
10525         (WebCore::Element::computedStyle):
10526         (WebCore::Element::cancelFocusAppearanceUpdate): ditto
10527         * dom/Element.h:
10528         * dom/ElementRareData.h: Added; everything copied from Element.cpp
10529         (WebCore::defaultMinimumSizeForResizing):
10530         (WebCore::ElementRareData::ElementRareData):
10531         (WebCore::ElementRareData::resetComputedStyle):
10532         * dom/EventTargetNode.cpp:
10533         (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
10534         * dom/EventTargetNode.h:
10535         * dom/Node.cpp:
10536         (WebCore::Node::Node):
10537         (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
10538         (WebCore::Node::rareData):
10539         (WebCore::Node::ensureRareData):
10540         (WebCore::Node::createRareData):
10541         (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
10542         (WebCore::Node::setTabIndexExplicitly):
10543         (WebCore::Node::childNodes): NodeLists are now in rareData
10544         (WebCore::Node::setFocus):
10545         (WebCore::Node::rareDataFocused):
10546         (WebCore::Node::isFocusable):
10547         (WebCore::Node::isKeyboardFocusable):
10548         (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
10549         (WebCore::Node::unregisterDynamicNodeList): ditto
10550         (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
10551         (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
10552         (WebCore::Node::getElementsByName): ditto
10553         (WebCore::Node::getElementsByClassName): ditto
10554         * dom/Node.h:
10555         (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
10556         (WebCore::Node::lastChild): ditto
10557         (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
10558         (WebCore::Node::focused): focus is in rareData if set
10559         (WebCore::Node::childTypeAllowed):
10560         (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
10561         (WebCore::Node::childNode): ditto
10562         (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
10563         * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
10564         (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
10565         (WebCore::NodeRareData::NodeRareData):
10566         (WebCore::NodeRareData::rareDataMap):
10567         (WebCore::NodeRareData::rareDataFromMap):
10568         (WebCore::NodeRareData::clearNodeLists):
10569         (WebCore::NodeRareData::setNodeLists):
10570         (WebCore::NodeRareData::nodeLists):
10571         (WebCore::NodeRareData::tabIndex):
10572         (WebCore::NodeRareData::setTabIndex):
10573         (WebCore::NodeRareData::tabIndexSetExplicitly):
10574         * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
10575         * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
10577 2008-09-25  Holger Hans Peter Freyther  <zecke@selfish.org>
10579         Reviewed by Simon Hausmann.
10581         [qt] ImageBuffer::toDataURL implementation
10583         There needs to be a Qt specific test result for the above mentioned
10584         implementation.
10586         * platform/graphics/qt/ImageBufferQt.cpp:
10587         (WebCore::ImageBuffer::toDataURL):
10589 2008-09-25  Holger Hans Peter Freyther  <zecke@selfish.org>
10591         Reviewed by Simon Hausmann.
10593         [qt] Implement SharedBuffer for Qt.
10595         * WebCore.pro:
10596         * platform/qt/SharedBufferQt.cpp: Added.
10597         (WebCore::SharedBuffer::createWithContentsOfFile):
10598         * platform/qt/TemporaryLinkStubs.cpp:
10600 2008-09-25  Feng Qian <feng@chromium.org>
10602         Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
10603         <rdar://problem/6243032>
10605         Reviewed by Dave Hyatt.
10607         Test: fast/dom/attribute-downcast-right.html
10609         Add isMappedAttribute function to Attribute for checking if an object
10610         is an instance of MappedAttribute. Removed attributeItem,
10611         getAttributeItem functions from NamedMappedAttrMap, and callers
10612         expecting MappedAttribute have to check isMappedAttribute before
10613         downcasting the return value to MappedAttribute.
10615         * css/CSSStyleSelector.cpp:
10616         (WebCore::CSSStyleSelector::styleForElement):
10617         * dom/Attribute.h:
10618         (WebCore::Attribute::isMappedAttribute):
10619         * dom/MappedAttribute.h:
10620         (WebCore::MappedAttribute::isMappedAttribute):
10621         * dom/NamedMappedAttrMap.cpp:
10622         (WebCore::NamedMappedAttrMap::declCount):
10623         (WebCore::NamedMappedAttrMap::mapsEquivalent):
10624         * dom/NamedMappedAttrMap.h:
10625         * dom/StyledElement.cpp:
10626         (WebCore::StyledElement::attributeChanged):
10627         * html/HTMLInputElement.cpp:
10628         (WebCore::HTMLInputElement::setInputType):
10629         * svg/SVGForeignObjectElement.cpp:
10630         (WebCore::addCSSPropertyAndNotifyAttributeMap):
10631         * svg/SVGStyledElement.cpp:
10632         (WebCore::SVGStyledElement::getPresentationAttribute):
10634 2008-09-25  David Hyatt  <hyatt@apple.com>
10636         https://bugs.webkit.org/show_bug.cgi?id=21120
10638         Make visibleContentRect cross-platform.  Note this does add new horizontal/verticalScrollbar accessors
10639         to a bunch of platforms.  This is a temporary evil until the scrollbars get made cross-platform (and I
10640         didn't want to mix that change in with this patch).
10642         Reviewed by Sam Weinig
10644         * page/Frame.cpp:
10645         (WebCore::Frame::markAllMatchesForText):
10646         * page/FrameView.cpp:
10647         (WebCore::FrameView::repaintContentRectangle):
10648         (WebCore::FrameView::windowClipRect):
10649         (WebCore::FrameView::updateControlTints):
10650         * platform/ScrollView.cpp:
10651         (WebCore::ScrollView::visibleContentRect):
10652         (WebCore::ScrollView::platformVisibleContentRect):
10653         * platform/ScrollView.h:
10654         (WebCore::ScrollView::visibleWidth):
10655         (WebCore::ScrollView::visibleHeight):
10656         * platform/gtk/ScrollViewGtk.cpp:
10657         (WebCore::ScrollView::horizontalScrollbar):
10658         (WebCore::ScrollView::verticalScrollbar):
10659         * platform/mac/ScrollViewMac.mm:
10660         (WebCore::ScrollView::horizontalScrollbar):
10661         (WebCore::ScrollView::verticalScrollbar):
10662         (WebCore::ScrollView::platformVisibleContentRect):
10663         * platform/qt/ScrollViewQt.cpp:
10664         (WebCore::ScrollView::horizontalScrollbar):
10665         (WebCore::ScrollView::verticalScrollbar):
10666         * platform/win/ScrollViewWin.cpp:
10667         (WebCore::ScrollView::horizontalScrollbar):
10668         (WebCore::ScrollView::verticalScrollbar):
10669         * platform/wx/ScrollViewWx.cpp:
10670         (WebCore::ScrollView::platformVisibleContentRect):
10671         (WebCore::ScrollView::horizontalScrollbar):
10672         (WebCore::ScrollView::verticalScrollbar):
10673         * rendering/RenderLayer.cpp:
10674         (WebCore::RenderLayer::scrollRectToVisible):
10675         (WebCore::frameVisibleRect):
10676         * rendering/RenderView.cpp:
10677         (WebCore::RenderView::viewRect):
10679 2008-09-25  David Smith  <catfish.man@gmail.com>
10681         Reviewed by Timothy Hatcher
10683         https://bugs.webkit.org/show_bug.cgi?id=21052
10684         Generalize id selector special case for querySelectorAll
10685         
10686         By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
10687         Changes results on http://native.khan.mozilla.org 
10688         from
10689             #title: 2ms
10690             h1#title: 55ms
10691             div #title: 55ms
10693         to:
10694             #title: 1ms
10695             h1#title: 2ms
10696             div #title: 5ms
10697         
10698         * dom/Node.cpp:
10699         (WebCore::Node::querySelector):
10700         * dom/SelectorNodeList.cpp:
10701         (WebCore::createSelectorNodeList):
10703 2008-09-25  David Hyatt  <hyatt@apple.com>
10705         https://bugs.webkit.org/show_bug.cgi?id=21118
10707         Make the concept of whether you can blit on scroll cross-platform on ScrollView.
10709         Reviewed by Sam Weinig
10711         * page/FrameView.cpp:
10712         (WebCore::FrameView::clear):
10713         (WebCore::FrameView::layout):
10714         (WebCore::FrameView::setUseSlowRepaints):
10715         (WebCore::FrameView::addSlowRepaintObject):
10716         (WebCore::FrameView::removeSlowRepaintObject):
10717         * platform/ScrollView.cpp:
10718         (WebCore::ScrollView::init):
10719         (WebCore::ScrollView::addChild):
10720         (WebCore::ScrollView::removeChild):
10721         (WebCore::ScrollView::setCanBlitOnScroll):
10722         * platform/ScrollView.h:
10723         (WebCore::ScrollView::canBlitOnScroll):
10724         * platform/gtk/ScrollViewGtk.cpp:
10725         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
10726         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
10727         (WebCore::ScrollView::ScrollView):
10728         * platform/mac/ScrollViewMac.mm:
10729         (WebCore::ScrollView::ScrollView):
10730         (WebCore::ScrollView::platformAddChild):
10731         (WebCore::ScrollView::platformRemoveChild):
10732         (WebCore::ScrollView::platformSetCanBlitOnScroll):
10733         * platform/qt/ScrollViewQt.cpp:
10734         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
10735         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
10736         (WebCore::ScrollView::ScrollView):
10737         * platform/win/ScrollViewWin.cpp:
10738         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
10739         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
10740         (WebCore::ScrollView::ScrollView):
10741         * platform/wx/ScrollViewWx.cpp:
10742         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
10743         (WebCore::ScrollView::ScrollView):
10744         (WebCore::ScrollView::scrollBy):
10746 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
10748         Reviewed by Tim Hatcher.
10750         Bug 21109: Console should right-align urls
10752         * page/inspector/Console.js: Re-order the message elements so that when
10753         it overflows it doesn't get mixed in with the next message.
10754         * page/inspector/inspector.css:
10756 2008-09-25  David Hyatt  <hyatt@apple.com>
10758         https://bugs.webkit.org/show_bug.cgi?id=21113
10760         Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
10762         Reviewed by Darin Adler
10764         * css/CSSImportRule.cpp:
10765         (WebCore::CSSImportRule::insertedIntoParent):
10766         * css/CSSRule.cpp:
10767         (WebCore::CSSRule::parentStyleSheet):
10768         (WebCore::CSSRule::parentRule):
10769         * css/CSSStyleSheet.cpp:
10770         (WebCore::CSSStyleSheet::CSSStyleSheet):
10771         * css/CSSStyleSheet.h:
10773 2008-09-25  Darin Adler  <darin@apple.com>
10775         Reviewed by Adele Peterson.
10777         - fix https://bugs.webkit.org/show_bug.cgi?id=21115
10778           <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
10779           bundled documents
10781         * html/HTMLFormElement.cpp:
10782         (WebCore::HTMLFormElement::formData): Use files() instead of value()
10783         to get the path, since value() now returns just the basename.
10785 2008-09-25  Brady Eidson  <beidson@apple.com>
10787         Rubberstamped by Mark Rowe
10789         Roll out 36771 as it caused <rdar://problem/6246554>
10790         "nytimes.com doesn't display after returning to it with back/forward"
10792         * css/CSSImportRule.cpp:
10793         (WebCore::CSSImportRule::insertedIntoParent):
10794         * css/CSSRule.cpp:
10795         (WebCore::CSSRule::parentStyleSheet):
10796         (WebCore::CSSRule::parentRule):
10797         * css/CSSStyleSheet.cpp:
10798         (WebCore::CSSStyleSheet::CSSStyleSheet):
10799         (WebCore::CSSStyleSheet::docLoader):
10800         * css/CSSStyleSheet.h:
10801         (WebCore::CSSStyleSheet::doc):
10803 2008-09-25  Adam Roben  <aroben@apple.com>
10805         Windows build fix
10807         * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
10809 2008-09-25  Dan Bernstein  <mitz@apple.com>
10811         - Windows build fix
10813         * platform/win/ScrollViewWin.cpp:
10814         (WebCore::ScrollView::addChildPlatformWidget):
10815         (WebCore::ScrollView::removeChildPlatformWidget):
10817 2008-09-25  Timothy Hatcher  <timothy@apple.com>
10819         Fixes a leak of ConsoleMessage seen when repeated console
10820         messages occur.
10822         Reviewed by Mark Rowe.
10824         * page/InspectorController.cpp:
10825         (WebCore::InspectorController::addConsoleMessage): Delete the repeat
10826         since we don't add it to m_consoleMessages.
10828 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
10830         Reviewed by Dan Bernstein.
10832         Bug 21105: XHRs logged in the console may show the wrong URL for the
10833         source
10834         - Get the url at the time of the send() and pass it on to the XHR.
10836         * bindings/js/JSXMLHttpRequestCustom.cpp:
10837         (WebCore::JSXMLHttpRequest::send):
10838         * xml/XMLHttpRequest.cpp:
10839         (WebCore::XMLHttpRequest::didFinishLoading):
10840         * xml/XMLHttpRequest.h:
10841         (WebCore::XMLHttpRequest::setLastSendURL):
10843 2008-09-25  Kevin McCullough  <kmccullough@apple.com>
10845         Reviewed by Geoff and Tim.
10847         Bug 20322: XHRs logged in the console do not have line numbers
10848         - Get the line number at the time of the send and pass it on to the XHR.
10850         * bindings/js/JSXMLHttpRequestCustom.cpp:
10851         (WebCore::JSXMLHttpRequest::send):
10852         * xml/XMLHttpRequest.cpp:
10853         (WebCore::XMLHttpRequest::XMLHttpRequest):
10854         (WebCore::XMLHttpRequest::didFinishLoading):
10855         * xml/XMLHttpRequest.h:
10856         (WebCore::XMLHttpRequest::setLastSendLineNumber):
10858 2008-09-25  Eric Carlson  <eric.carlson@apple.com>
10860         Reviewed by Eric Seidel.
10861         
10862         <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
10863         https://bugs.webkit.org/show_bug.cgi?id=21003
10865         * dom/EventNames.h: remove "begin" event
10866         * html/HTMLMediaElement.cpp:
10867         (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
10869 2008-09-25  Alexey Proskuryakov  <ap@webkit.org>
10871         Reviewed by Eric Seidel.
10873         https://bugs.webkit.org/show_bug.cgi?id=21097
10874         Calling a MessageChannel constructor from a destroyed document results in a crash
10876         Test: fast/events/message-port-constructor-for-deleted-document.html
10878         * bindings/js/JSMessageChannelConstructor.cpp:
10879         (WebCore::JSMessageChannelConstructor::construct):
10880         * bindings/js/JSMessageChannelConstructor.h:
10881         Made m_document a RefPtr.
10883 2008-09-24  Alexey Proskuryakov  <ap@webkit.org>
10885         Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
10887         https://bugs.webkit.org/show_bug.cgi?id=20879
10888         Implement HTML5 channel messaging
10890         Tests: fast/events/message-channel-gc.html
10891                fast/events/message-port-deleted-document.html
10892                fast/events/message-port-deleted-frame.html
10893                fast/events/message-port-inactive-document.html
10894                fast/events/message-port.html
10895                http/tests/security/MessagePort/event-listener-context.html
10897         * Configurations/WebCore.xcconfig:
10898         Removed unused  ENABLE_CROSS_DOCUMENT_MESSAGING macro.
10900         * DerivedSources.make:
10901         Added MessageChannel and MessagePort.
10903         * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
10904         turmed off anyway. Added new files.
10906         * GNUmakefile.am:
10907         * WebCore.pro:
10908         * WebCore.vcproj/WebCore.vcproj:
10909         * WebCore.xcodeproj/project.pbxproj:
10910         * WebCoreSources.bkl:
10911         Added new files.
10913         * bindings/js/JSDOMWindowBase.h:
10914         * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
10915         Added suport for window.MessageChannel constructor.
10917         * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
10918         * page/DOMWindow.cpp:
10919         (WebCore::DOMWindow::postMessage):
10920         * page/DOMWindow.h:
10921         * page/DOMWindow.idl:
10922         Added support for three-argument postMessage (that posts a MessagePort).
10924         * dom/EventTarget.cpp:
10925         (WebCore::EventTarget::toMessagePort):
10926         * dom/EventTarget.h:
10927         * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
10928         EventTarget variant.
10930         * bindings/js/JSMessageChannelConstructor.h:
10931         * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
10932         take a browsing context (document) parameter.
10934         * bindings/js/JSMessageChannelCustom.cpp: Added.
10935         (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
10936         port1 and port2 that it owns.
10938         * bindings/js/JSMessagePortCustom.cpp: Added.
10939         (WebCore::JSMessagePort::startConversation):
10940         (WebCore::JSMessagePort::addEventListener):
10941         (WebCore::JSMessagePort::removeEventListener):
10942         (WebCore::JSMessagePort::dispatchEvent):
10943         (WebCore::JSMessagePort::setOnmessage):
10944         (WebCore::JSMessagePort::onmessage):
10945         (WebCore::JSMessagePort::setOnclose):
10946         (WebCore::JSMessagePort::onclose):
10947         (WebCore::JSMessagePort::mark):
10948         * dom/MessagePort.cpp: Added.
10949         * dom/MessagePort.h: Added.
10950         * dom/MessagePort.idl: Added.
10951         Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
10952         with Documents as contexts, but in the future, it will be used for communication with worker
10953         threads.
10955         * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
10956         really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
10957         needed for MessageEvent.
10959         * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
10961         * dom/Document.cpp:
10962         (WebCore::MessagePortTimer::MessagePortTimer):
10963         (WebCore::MessagePortTimer::fired):
10964         (WebCore::Document::processMessagePortMessagesSoon):
10965         (WebCore::Document::~Document):
10966         (WebCore::Document::dispatchMessagePortEvents):
10967         (WebCore::Document::createdMessagePort):
10968         (WebCore::Document::destroyedMessagePort):
10969         * dom/Document.h:
10970         Document keeps track of all MessagePort objects that were created when it was fully active
10971         in its context.
10973         * dom/EventNames.h: Added closeEvent.
10975         * dom/MessageChannel.cpp: Added.
10976         (WebCore::MessageChannel::MessageChannel):
10977         (WebCore::MessageChannel::~MessageChannel):
10978         * dom/MessageChannel.h: Added.
10979         (WebCore::MessageChannel::create):
10980         (WebCore::MessageChannel::port1):
10981         (WebCore::MessageChannel::port2):
10982         * dom/MessageChannel.idl: Added.
10983         Addded JSMessageChannel implementation.
10985         * dom/MessageEvent.cpp:
10986         (WebCore::MessageEvent::MessageEvent):
10987         (WebCore::MessageEvent::initMessageEvent):
10988         * dom/MessageEvent.h:
10989         (WebCore::MessageEvent::create):
10990         (WebCore::MessageEvent::messagePort):
10991         * dom/MessageEvent.idl:
10992         MessageEvent has a MessagePort member now, making it possible to pass ports across
10993         documents.
10995 2008-09-25  David Smith  <catfish.man@gmail.com>
10997         Reviewed by Eric Seidel
10998         
10999         fix https://bugs.webkit.org/show_bug.cgi?id=21091
11000         Regression: querySelector matches tag names case sensitively
11001         
11002         Tests: fast/dom/SelectorAPI/caseTag.html
11003                fast/dom/SelectorAPI/caseTagX.xhtml
11005         * css/CSSParser.cpp:
11006         (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
11007         * css/CSSParser.h:
11008         * dom/Node.cpp:
11009         (WebCore::Node::querySelector):
11010         (WebCore::Node::querySelectorAll):
11012 2008-09-24  David Hyatt  <hyatt@apple.com>
11014         https://bugs.webkit.org/show_bug.cgi?id=21084
11016         Make the m_children member of ScrollView cross-platform.  Consolidate children add/remove
11017         functionality.  Add platform stubs for connecting/disconnecting the platform widgets.
11019         Reviewed by Sam Weinig
11021         * GNUmakefile.am:
11022         * WebCore.pro:
11023         * WebCore.vcproj/WebCore.vcproj:
11024         * WebCore.xcodeproj/project.pbxproj:
11025         * WebCoreSources.bkl:
11026         * platform/ScrollView.h:
11027         (WebCore::ScrollView::children):
11028         * platform/Widget.h:
11029         * platform/gtk/ScrollViewGtk.cpp:
11030         (WebCore::ScrollView::addChildPlatformWidget):
11031         (WebCore::ScrollView::removeChildPlatformWidget):
11032         (WebCore::ScrollView::geometryChanged):
11033         * platform/mac/ScrollViewMac.mm:
11034         (WebCore::ScrollView::addChildPlatformWidget):
11035         (WebCore::ScrollView::removeChildPlatformWidget):
11036         * platform/qt/ScrollViewQt.cpp:
11037         (WebCore::ScrollView::geometryChanged):
11038         (WebCore::ScrollView::addChildPlatformWidget):
11039         (WebCore::ScrollView::removeChildPlatformWidget):
11040         * platform/win/ScrollViewWin.cpp:
11041         (WebCore::ScrollView::geometryChanged):
11042         (WebCore::ScrollView::setParentVisible):
11043         (WebCore::ScrollView::show):
11044         (WebCore::ScrollView::hide):
11045         * platform/wx/ScrollViewWx.cpp:
11046         (WebCore::ScrollView::addChildPlatformWidget):
11047         (WebCore::ScrollView::removeChildPlatformWidget):
11049 2008-09-25  Dan Bernstein  <mitz@apple.com>
11051         Reviewed by Dave Hyatt.
11053         - fix https://bugs.webkit.org/show_bug.cgi?id=21024
11054           <rdar://problem/6240821> Scrollbar not painted until hovered
11056         * rendering/RenderWidget.cpp:
11057         (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
11058         this method, which sets both the location and the size.
11059         (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
11060         with a call to the new method setWidgetGeometry. Positioning the
11061         widget correctly ensures that the scroll bars invalidate correctly when
11062         they are created and resized.
11063         * rendering/RenderWidget.h:
11065 2008-09-24  Dan Bernstein  <mitz@apple.com>
11067         Rubber-stamped by Sam Weinig.
11069         - create a "style" subfolder under "rendering" and move style files to that folder
11071         * WebCore.vcproj/WebCore.vcproj:
11073 2008-09-24  Sam Weinig  <sam@webkit.org>
11075         Reviewed by Maciej Stachowiak.
11077         Remove staticFunctionGetter.  There is only one remaining user of
11078         staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
11080         * bindings/js/JSDOMWindowBase.cpp:
11081         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
11083 2008-09-24  Jeremy Moskovich  <jeremy@chromium.org>
11085         Reviewed by Dan Bernstein.
11087         Test: editing/spelling/inline_spelling_markers.html
11088         
11089         - https://bugs.webkit.org/show_bug.cgi?id=20092
11090         Spelling markers positioned incorrectly in RTL text
11092         Measure spelling markers with selectionRectForText() to fix RTL.
11094         This patch also fixes hit-testing for spelling marker tool tips,
11095         which used to work only on the first line.
11097         * rendering/InlineTextBox.cpp:
11098         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
11100 2008-09-24  David Hyatt  <hyatt@apple.com>
11102         https://bugs.webkit.org/show_bug.cgi?id=21074
11104         Make sure the viewless scrollbar knows how to paint properly when transformed.
11106         Reviewed by Sam Weinig
11108         * platform/mac/ScrollbarThemeMac.mm:
11109         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
11110         (WebCore::ScrollbarThemeMac::paint):
11112 2008-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
11114         Not reviewed. Try to fix win build.
11116         * bindings/js/JSSVGElementInstanceCustom.cpp:
11117         (WebCore::toJS):
11118         * dom/ContainerNodeAlgorithms.h:
11119         (WebCore::removeAllChildrenInContainer):
11120         (WebCore::appendChildToContainer):
11121         (WebCore::Private::addChildNodesToDeletionQueue):
11123 2008-09-24  Nikolas Zimmermann  <zimmermann@kde.org>
11125         Reviewed by Oliver.
11127         Add ContainerNodeAlgorithms.h, as central place to share algorithms
11128         operating on TreeShared-derived classes with a Node-style interface.
11130         This allows SVGElementInstance & ContainerNode to share code.
11132         * dom/ContainerNode.cpp:
11133         (WebCore::ContainerNode::removeAllChildren):
11134         (WebCore::ContainerNode::addChild):
11135         * dom/ContainerNode.h:
11136         * dom/ContainerNodeAlgorithms.h: Added.
11137         (WebCore::removeAllChildrenInContainer):
11138         (WebCore::appendChildToContainer):
11139         (WebCore::Private::NodeRemovalDispatcher::dispatch):
11140         (WebCore::Private::addChildNodesToDeletionQueue):
11142 2008-09-24  Simon Fraser  <simon.fraser@apple.com>
11144         Reviewed by Dave Hyatt
11146         Wrap up dirtying the z-order list of the stacking context
11147         RenderLayer into a method.
11148         https://bugs.webkit.org/show_bug.cgi?id=21072
11150         * rendering/RenderLayer.cpp:
11151         (WebCore::RenderLayer::setHasVisibleContent):
11152         (WebCore::RenderLayer::addChild):
11153         (WebCore::RenderLayer::removeChild):
11154         (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
11155         (WebCore::RenderLayer::styleChanged):
11156         * rendering/RenderLayer.h:
11157         * rendering/RenderObject.cpp:
11158         (WebCore::RenderObject::setStyle):
11160 2008-09-24  Kevin McCullough  <kmccullough@apple.com>
11162         Reviewed by Tim.
11164         Bug 21070: REGRESSION Repeated messages with arguments are not repeated
11165         or displayed multiple times
11166         - The Insepctor Controller was comparing JSValue pointers so thought the
11167         message was not a repeat, but the JS of the inspector compared the
11168         strings and so knew it was the same message and so overwrote the old
11169         message.
11171         * page/InspectorController.cpp:
11172         (WebCore::ConsoleMessage::isEqual):
11173         (WebCore::InspectorController::addMessageToConsole):
11174         (WebCore::InspectorController::addConsoleMessage):
11175         (WebCore::InspectorController::startGroup):
11176         (WebCore::InspectorController::endGroup):
11177         * page/InspectorController.h:
11179 2008-09-24  David Hyatt  <hyatt@apple.com>
11181         Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
11182         arrow placement preference and the thumb jump preference).
11184         Reviewed by Adam Roben
11186         * platform/Scrollbar.cpp:
11187         (WebCore::Scrollbar::Scrollbar):
11188         (WebCore::Scrollbar::~Scrollbar):
11189         * platform/ScrollbarTheme.h:
11190         (WebCore::ScrollbarTheme::registerScrollbar):
11191         (WebCore::ScrollbarTheme::unregisterScrollbar):
11192         * platform/mac/ScrollbarThemeMac.h:
11193         * platform/mac/ScrollbarThemeMac.mm:
11194         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
11195         (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
11196         (+[ScrollbarPrefsObserver registerAsObserver]):
11197         (WebCore::ScrollbarThemeMac::registerScrollbar):
11198         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
11199         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
11200         (WebCore::ScrollbarThemeMac::preferencesChanged):
11202 2008-09-24  Rob Buis  <buis@kde.org>
11204         Reviewed by Darin.
11206         https://bugs.webkit.org/show_bug.cgi?id=20557
11207         getScreenCTM() returns wrong values
11209         Use the absolute position of the svg root when
11210         determining the screen ctm.
11212         Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
11214         * svg/SVGSVGElement.cpp:
11215         (WebCore::SVGSVGElement::getScreenCTM):
11217 2008-09-24  David Hyatt  <hyatt@apple.com>
11219         Turn off support for CSS variables.
11221         * ChangeLog:
11222         * css/CSSParser.cpp:
11223         (WebCore::CSSParser::createVariablesRule):
11224         (WebCore::CSSParser::addVariable):
11225         (WebCore::CSSParser::addVariableDeclarationBlock):
11227 2008-09-24  David Hyatt  <hyatt@apple.com>
11229         Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
11231         * css/CSSGrammar.y:
11232         * css/CSSParserValues.cpp:
11233         (WebCore::CSSParserValue::isVariable):
11234         * css/CSSPrimitiveValue.cpp:
11235         (WebCore::CSSPrimitiveValue::cleanup):
11236         (WebCore::CSSPrimitiveValue::getStringValue):
11237         (WebCore::CSSPrimitiveValue::cssText):
11238         (WebCore::CSSPrimitiveValue::parserValue):
11239         * css/CSSPrimitiveValue.h:
11240         (WebCore::CSSPrimitiveValue::):
11241         (WebCore::CSSPrimitiveValue::isVariable):
11243 2008-09-24  Timothy Hatcher  <timothy@apple.com>
11245         Fixes a regression where the "incorrect MIME-type" warning would not
11246         show up correctly in the Console or the resources sidebar.
11248         Reviewed by Kevin McCullough.
11250         * page/inspector/Resource.js:
11251         (WebInspector.Resource.prototype._addTip): Add the repeat count argument
11252         to the WebInspector.ConsoleMessage constructor call.
11253         (WebInspector.Resource.prototype._checkWarning): Ditto.
11255 2008-09-23  Tor Arne Vestbø  <tavestbo@trolltech.com>
11257         Reviewed by Simon.
11259         Remove deprecated JS Qt bindings object call/construct code and fix autotests
11261         * bridge/qt/qt_instance.cpp:
11262         (JSC::Bindings::QtInstance::QtInstance):
11263         * bridge/qt/qt_instance.h:
11265 2008-09-23  Julien Chaffraix  <jchaffraix@pleyo.com>
11267         Reviewed by Alp Toker. Landed by Jan Alonzo.
11269         Bug 20883: [CURL] Add deferred loading
11270         https://bugs.webkit.org/show_bug.cgi?id=20883
11272         Implement deferred loading for the libcURL backend using curl_easy_pause.
11273         As the method was introduced in version 7.18.0, all the code checks for libcURL
11274         version.
11276         * platform/network/curl/ResourceHandleCurl.cpp:
11277         (WebCore::ResourceHandle::setDefersLoading):
11278         * platform/network/curl/ResourceHandleManager.cpp:
11279         (WebCore::writeCallback): Add an assertion that deferred loading is not
11280         activated.
11281         (WebCore::headerCallback): Ditto.
11282         (WebCore::readCallback): Ditto.
11283         (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
11284         defersLoading to be false in order to avoid triggering an assertion.
11285         (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
11286         activated, pause the easy handle.
11288 2008-09-23  Matt Lilek  <webkit@mattlilek.com>
11290         Reviewed by Tim Hatcher.
11292         Inspector search field style tweaks.
11294         * page/inspector/inspector.css:
11296 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
11298         Reviewed by Eric.
11300         Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
11302         Fix missing negation in EventTargetNode::insertedIntoDocument.
11303         Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
11304         Remove code, that wasn't supposed to go in in dispatchGenericEvent().
11306         * dom/EventTargetNode.cpp:
11307         (WebCore::EventTargetNode::insertedIntoDocument):
11308         (WebCore::EventTargetNode::dispatchGenericEvent):
11309         * dom/EventTargetNode.h:
11311 2008-09-23  Timothy Hatcher  <timothy@apple.com>
11313         Adds search support to the Profiles panel.
11315         The Profiles panel supports a few types of queries:
11316          * Standard string matching for function names and file URLs.
11317          * Greater than and less than search for numeric columns.
11318            So a query of ">24" will match all rows that have calls
11319            greater than 24. Or "<=42" will match all 42 or less.
11320          * Percent and time units. Adding a unit of "s", "ms" or "%"
11321            is supported and will match only the Self and Total columns.
11322            So a query of ">1.25s" will match all rows that took longer
11323            than 1.25 seconds.
11325         Reviewed by Oliver Hunt.
11327         * page/inspector/ProfileView.js:
11328         (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
11329         it will start at the first result.
11330         (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
11331         (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
11332         data grid nodes.
11333         (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
11334         (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
11335         (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
11336         (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
11337         (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
11338         (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
11339         (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
11340         (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
11341         Expand all the ancestors first so the profile node will have a DataGridNode.
11342         (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
11343         (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
11344         have search matches.
11345         * page/inspector/ProfilesPanel.js:
11346         (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
11347         (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
11348         (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
11349         (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
11350         (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView  to visibleView.
11351         (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
11352         (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
11353         (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
11354         (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
11355         * page/inspector/inspector.css: New style rules for the cell highlight color.
11357 2008-09-23  Timothy Hatcher  <timothy@apple.com>
11359         Adds search support to the Resources and Scripts panels.
11361         https://bugs.webkit.org/show_bug.cgi?id=21005
11363         Reviewed by Oliver Hunt.
11365         * page/inspector/Images/searchSmallBlue.png: Added.
11366         * page/inspector/Images/searchSmallBrightBlue.png: Added.
11367         * page/inspector/Images/searchSmallGray.png: Added.
11368         * page/inspector/Images/searchSmallWhite.png: Added.
11369         * page/inspector/ResourceView.js:
11370         (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
11371         or "script-resource-views" since one might not be created yet.
11372         * page/inspector/ResourcesPanel.js:
11373         (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
11374         are not this panel's current visible view. This can happen when a ResourceView is
11375         visible in the Scripts panel then switched to the this panel.
11376         (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
11377         visibleView first.
11378         (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
11379         that uses the current graph search function. So cycling through results will be in the order
11380         things appear in the sidebar.
11381         (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
11382         resource's sidebar tree element.
11383         (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
11384         in the sidebar. Calls the Panel prototype's searchCanceled.
11385         (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
11386         in the sidebar. Calls the Panel prototype's performSearch.
11387         (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
11388         (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
11389         if there is a current search query.
11390         (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
11391         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
11392         (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
11393         (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
11394         (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
11395         (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
11396         * page/inspector/ScriptView.js:
11397         (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
11398         (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
11399         it will start at the first result.
11400         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
11401         highlighting complete".
11402         (WebInspector.ScriptView.prototype): Share many methods with SourceView.
11403         * page/inspector/ScriptsPanel.js:
11404         (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
11405         This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
11406         (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
11407         (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
11408         (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
11409         (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
11410         * page/inspector/SourceFrame.js:
11411         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
11412         * page/inspector/SourceView.js:
11413         (WebInspector.SourceView.prototype.hide):
11414         (WebInspector.SourceView.prototype.detach):
11415         (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
11416         (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
11417         (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
11418         (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
11419         store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
11420         (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
11421         (WebInspector.SourceView.prototype.jumpToLastSearchResult):
11422         (WebInspector.SourceView.prototype.jumpToNextSearchResult):
11423         (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
11424         (WebInspector.SourceView.prototype.showingFirstSearchResult):
11425         (WebInspector.SourceView.prototype.showingLastSearchResult):
11426         (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
11427         (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
11428         (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
11429         * page/inspector/inspector.css:
11431 2008-09-23  Timothy Hatcher  <timothy@apple.com>
11433         Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
11434         so future code can be shared.
11436         https://bugs.webkit.org/show_bug.cgi?id=21005
11438         Reviewed by Oliver Hunt.
11440         * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
11441         And visibleResourceView to visibleView.
11442         * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
11444 2008-09-23  Timothy Hatcher  <timothy@apple.com>
11446         Highlight all matched search results in the Elements panel DOM tree.
11448         https://bugs.webkit.org/show_bug.cgi?id=21005
11450         Reviewed by Oliver Hunt.
11452         * page/inspector/ElementsPanel.js:
11453         (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
11454         on all previous search results.
11455         (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
11456         on all new search results.
11457         * page/inspector/ElementsTreeOutline.js:
11458         (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
11459         (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
11460         the highlighted class on the listItemElement.
11461         (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
11462         if needed. Calls _updateTitle.
11463         (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
11464         class so it can be styled when the highlighted class is present.
11465         * page/inspector/inspector.css: New style rules for the hihglight.
11467 2008-09-23  Timothy Hatcher  <timothy@apple.com>
11469         Add search support to the Elements panel.
11471         https://bugs.webkit.org/show_bug.cgi?id=21005
11473         Reviewed by Oliver Hunt.
11475         * page/inspector/ElementsPanel.js:
11476         (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
11477         with a 0 match count to rest. Reset the other search properties.
11478         (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
11479         query and a CSS selector on all the Documents in the page. Remembers the found nodes
11480         and avoids duplicates. Focuses the first result.
11481         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
11482         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
11484 2008-09-23  Timothy Hatcher  <timothy@apple.com>
11486         Add support to Panel that allows easy searching of sub-views.
11488         https://bugs.webkit.org/show_bug.cgi?id=21005
11490         Reviewed by Oliver Hunt.
11492         * page/inspector/Panel.js:
11493         (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
11494         views in the search results and delete the currentQuery property. Call
11495         WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
11496         other search properties.
11497         (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
11498         reset everything we need before doing a new search. Get an array of searchableViews
11499         from the panel, implemented by sub-classes. Iterate over the views one-by-one
11500         with an interval to prevent blocking the UI for large lists of searchableViews.
11501         This keeps the interface really responsive. Pass a finishedCallback function to
11502         the performSearch on each view so it can notify the panel of results.
11503         (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
11504         searchResults of the visibleView, so we know where in the results we are.
11505         This is done every time incase the user manually navigates to a new view.
11506         If the view is showing the last result, jump to the next view and show it's
11507         first result. Otherwise jump to the next result in the current view.
11508         (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
11510 2008-09-23  Timothy Hatcher  <timothy@apple.com>
11512         Add support for asking the current panel to perform a search, find next/previous and clear.
11513         A search is performed on the new new current panel when switching between panels. The search
11514         label/placeholder in the toolbar now includes the panel name to make it clear that panel will
11515         be searched. The search field contents are selected when Command/Control-F or Enter/Return
11516         is pressed, so the user can easily type an entirely new query. The search match count shows
11517         up in the toolbar next to the search field.
11519         Also changed:
11520          * Rename lastQuery to currentQuery since it better matches the truth.
11521          * Set the search field "results" attribute to zero since results arn't saved for
11522            how we use the search field.
11523          * Make repeated presses of the Return key jump to the next search result instead
11524            of doing nothing.
11525          * Increased the search field width.
11527         https://bugs.webkit.org/show_bug.cgi?id=21005
11529         Reviewed by Oliver Hunt.
11531         * English.lproj/localizedStrings.js: New strings.
11532         * page/inspector/inspector.css: New styles.
11533         * page/inspector/inspector.html: Add the search-results-matches element. Add the
11534         incremental attribute to the search field and set the results attribute to zero.
11535         * page/inspector/inspector.js:
11536         (WebInspector.set currentPanel): perform the search on the new panel.
11537         (WebInspector.loaded): Change the event listeners and remove code that changes
11538         the search label text.
11539         (WebInspector.documentKeyDown): Add support for Command/Control-G and
11540         Command/Control-Shift-G. To jump to the next and previous search results.
11541         (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
11542         This does different things depending on the attached state.
11543         (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
11544         This prevents a "search" event from firing for key down. We handle the Enter key
11545         on key up in searchKeyUp. This stops performSearch from being called twice in a row.
11546         (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
11547         (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
11548         on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
11549         Call updateSearchMatchesCount to reset the matches count in the toolbar.
11550         (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
11552 2008-09-23  Timothy Hatcher  <timothy@apple.com>
11554         Remove the previous Inspector search code to make room for the new stuff.
11556         https://bugs.webkit.org/show_bug.cgi?id=21005
11558         Reviewed by Oliver Hunt.
11560         * page/inspector/inspector.css:
11561         * page/inspector/inspector.html:
11562         * page/inspector/inspector.js:
11563         (WebInspector.get/set showingSearchResults): Removed.
11564         (WebInspector.searchResultsKeyDown): Removed.
11565         (WebInspector.searchResultsResizerDragStart): Removed.
11566         (WebInspector.searchResultsResizerDragEnd): Removed.
11567         (WebInspector.searchResultsResizerDrag): Removed.
11568         (WebInspector.performSearch): Removed searching parts.
11570 2008-09-23  Timothy Hatcher  <timothy@apple.com>
11572         Use the Array.remove helper function in more places.
11574         https://bugs.webkit.org/show_bug.cgi?id=21037
11576         Reviewed by Kevin McCullough.
11578         * page/inspector/ResourceCategory.js:
11579         (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
11580         * page/inspector/ResourcesPanel.js:
11581         (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
11582         * page/inspector/inspector.js:
11583         (WebInspector.removeResource): Ditto.
11585 2008-09-23  Timothy Hatcher  <timothy@apple.com>
11587         Fixes a bug where inspecting a node after reloading the page
11588         would not reveal the node in the DOM tree. The TreeOutline
11589         was not being told to forget decendants of a removed child.
11590         So old TreeElements would be found that are not in the tree.
11592         https://bugs.webkit.org/show_bug.cgi?id=21036
11594         Reviewed by Kevin McCullough.
11596         * page/inspector/treeoutline.js:
11597         (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
11598         in addition to _forgetTreeElement.
11599         (TreeOutline._removeChildren): Call _forgetChildrenRecursive
11600         in addition to _forgetTreeElement.
11601         (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
11602         search for known elements.
11603         (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
11604         (TreeOutline._forgetChildrenRecursive): Recursively traverse the
11605         descendants and call _forgetTreeElement.
11606         * page/inspector/utilities.js:
11607         (Array.prototype.remove): Speed up this function by using Array.indexOf
11608         when onlyFirst is true.
11610 2008-09-23  Timothy Hatcher  <timothy@apple.com>
11612         Fixes a bug where inspecting some short text nodes does
11613         not reveal them in the Elements panel DOM tree.
11615         https://bugs.webkit.org/show_bug.cgi?id=21035
11617         Reviewed by Oliver Hunt.
11619         * page/inspector/ElementsTreeOutline.js:
11620         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
11621         The revealAndSelectNode() method might find a different element
11622         if there is inlined text, and the select() call would change the
11623         focusedDOMNode and reenter this setter. So to avoid calling
11624         focusedNodeChanged() twice, first check if _focusedDOMNode is
11625         the same node as the one passed in.
11626         (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
11627         this.treeOutline, since this is the TreeOutline.
11628         (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
11629         Provides default functions for isAncestor, getParet and equal.
11630         Calls the base protoype's findTreeElement. If that returns null
11631         and the node is a text node, try finding it's parent.
11632         (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
11633         Renamed to revealAndSelectNode.
11634         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
11635         Selects and reveals the node passed in. Use the simple findTreeElement.
11636         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
11637         Remove use of this.treeOutline, since this is the TreeOutline.
11639 2008-09-23  Timothy Hatcher  <timothy@apple.com>
11641         Fixes an exception that happened when removing a Resource
11642         from the ResourcesPanel.
11644         https://bugs.webkit.org/show_bug.cgi?id=21034
11646         Reviewed by Kevin McCullough.
11648         * page/inspector/ResourcesPanel.js:
11649         (WebInspctor.ResourcesPanel.prototype.removeResource):
11650         Remove the graphElement.
11652 2008-09-23  Kevin McCullough  <kmccullough@apple.com>
11654         Fixed "Time" to "Tim"
11656         * ChangeLog:
11658 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
11660         Reviewed by Oliver.
11662         Move mapInstanceToElement/removeInstanceMapping/instancesForElement
11663         from SVGDocumentExtensions to SVGElement. It's more useful to store
11664         the list of SVGElementInstances per SVGElement, instead of using
11665         a document-wide hash for this purpose.
11667         * svg/SVGAnimateMotionElement.cpp:
11668         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
11669         * svg/SVGAnimateTransformElement.cpp:
11670         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
11671         * svg/SVGAnimationElement.cpp:
11672         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
11673         * svg/SVGDocumentExtensions.cpp:
11674         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
11675         * svg/SVGDocumentExtensions.h:
11676         * svg/SVGElement.cpp:
11677         (WebCore::SVGElement::mapInstanceToElement):
11678         (WebCore::SVGElement::removeInstanceMapping):
11679         (WebCore::SVGElement::instancesForElement):
11680         * svg/SVGElement.h:
11681         * svg/SVGElementInstance.cpp:
11682         (WebCore::SVGElementInstance::SVGElementInstance):
11683         (WebCore::SVGElementInstance::~SVGElementInstance):
11684         (WebCore::SVGElementInstance::updateAllInstancesOfElement):
11685         * svg/SVGElementInstance.h:
11686         * svg/SVGStyledElement.cpp:
11687         (WebCore::SVGStyledElement::svgAttributeChanged):
11688         (WebCore::SVGStyledElement::childrenChanged):
11689         * svg/SVGStyledElement.h:
11691 2008-09-23  Kevin Ollivier  <kevino@theolliviers.com>
11693         wx build fix.
11695         * WebCoreSources.bkl:
11697 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
11699         Rubber stamped by Sam.
11701         Move code from EventTarget to EventTargetNode.
11703         I refactored most parts to live in EventTarget, a year ago,
11704         though the implementation of EventTargetSVGElementInstance is
11705         done in another way, that obsoletes this.
11707         * dom/Document.cpp:
11708         (WebCore::Document::addListenerTypeIfNeeded):
11709         * dom/Document.h:
11710         * dom/EventTarget.cpp:
11711         * dom/EventTarget.h:
11712         (WebCore::allowEventDispatch):
11713         * dom/EventTargetNode.cpp:
11714         (WebCore::EventTargetNode::insertedIntoDocument):
11715         (WebCore::EventTargetNode::removedFromDocument):
11716         (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
11717         (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
11718         (WebCore::EventTargetNode::addEventListener):
11719         (WebCore::EventTargetNode::removeEventListener):
11720         (WebCore::EventTargetNode::removeAllEventListeners):
11721         (WebCore::EventTargetNode::handleLocalEvents):
11722         (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
11723         (WebCore::EventTargetNode::dispatchEvent):
11724         (WebCore::EventTargetNode::dispatchGenericEvent):
11725         (WebCore::EventTargetNode::dispatchWindowEvent):
11726         (WebCore::EventTargetNode::removeEventListenerForType):
11727         * dom/EventTargetNode.h:
11728         * svg/EventTargetSVGElementInstance.cpp:
11729         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
11730         * svg/SVGElement.cpp:
11731         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
11732         * svg/SVGElement.h:
11733         (WebCore::SVGElement::supplementalTransform):
11735 2008-09-23  Dave Hyatt  <hyatt@apple.com>
11737         Fix for bug 21012.  The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme.  Make
11738         sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
11739         
11740         Reviewed by Sam Weinig
11742         * platform/mac/ScrollbarThemeMac.mm:
11743         (WebCore::ScrollbarThemeMac::trackRect):
11744         * platform/win/ScrollbarThemeSafari.cpp:
11745         (WebCore::ScrollbarTheme::nativeTheme):
11746         (WebCore::ScrollbarThemeSafari::trackRect):
11748 2008-09-23  Beth Dakin  <bdakin@apple.com>
11750         Reviewed by Sam Weinig.
11752         Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact" 
11753         link at gmail does not support AXPress action
11754         and corresponding: <rdar://problem/6216178>
11756         I fixed this bug by making AccessibilityObject::anchorElement 
11757         support ARIA links.
11759         * page/AccessibilityImageMapLink.cpp:
11760         (WebCore::AccessibilityImageMapLink::anchorElement):
11761         * page/AccessibilityImageMapLink.h:
11762         * page/AccessibilityObject.cpp:
11763         (WebCore::AccessibilityObject::anchorElement):
11764         * page/AccessibilityObject.h:
11765         (WebCore::AccessibilityObject::isNativeAnchor):
11766         * page/AccessibilityRenderObject.cpp:
11767         (WebCore::AccessibilityRenderObject::isNativeAnchor):
11768         (WebCore::AccessibilityRenderObject::anchorElement):
11769         (WebCore::AccessibilityRenderObject::internalLinkElement):
11770         (WebCore::AccessibilityRenderObject::url):
11771         * page/AccessibilityRenderObject.h:
11772         * page/mac/AccessibilityObjectWrapper.mm:
11773         (AXLinkElementForNode):
11775 2008-09-23  Kevin McCullough  <kmccullough@apple.com>
11777         Reviewed by Tim and Oliver.
11779         Bug 20949: Catch repeated messages in Inspector Controller to limit
11780         memory usage
11781         - Store the repeat count in the Console Message object, in the 
11782         Inspector Controller and JS ConsoleMessage object.
11784         * page/InspectorController.cpp:
11785         (WebCore::ConsoleMessage::ConsoleMessage):
11786         (WebCore::ConsoleMessage::operator==):
11787         (WebCore::InspectorController::InspectorController):
11788         (WebCore::InspectorController::addConsoleMessage):
11789         (WebCore::InspectorController::addScriptConsoleMessage):
11790         * page/InspectorController.h:
11791         * page/inspector/Console.js:
11792         * page/inspector/Resource.js:
11793         * page/inspector/ResourcesPanel.js:
11794         * page/inspector/SourceFrame.js:
11796 2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>
11798         Reviewed by Eric.
11800         Working on proper EventTarget support for SVGElementInstance.
11802         Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
11803         Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
11805         Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
11806         implementation. Let it use TreeShared directly.
11808         It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
11809         The transition to EventTargetSVGElementInstance will be done in a few individual patches.
11811         * GNUmakefile.am:
11812         * WebCore.pro:
11813         * WebCore.vcproj/WebCore.vcproj:
11814         * WebCore.xcodeproj/project.pbxproj:
11815         * bindings/js/JSEventTargetBase.cpp:
11816         (WebCore::retrieveEventTargetAndCorrespondingNode):
11817         (WebCore::toJS):
11818         * bindings/js/JSEventTargetBase.h:
11819         * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
11820         (WebCore::):
11821         (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
11822         (WebCore::JSEventTargetSVGElementInstance::createPrototype):
11823         (WebCore::JSEventTargetSVGElementInstance::setListener):
11824         (WebCore::JSEventTargetSVGElementInstance::getListener):
11825         (WebCore::toEventTargetSVGElementInstance):
11826         * bindings/js/JSEventTargetSVGElementInstance.h: Added.
11827         (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
11828         (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
11829         (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
11830         (WebCore::JSEventTargetSVGElementInstance::put):
11831         (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
11832         * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
11833         (WebCore::toJS):
11834         * bindings/objc/DOM.mm:
11835         (+[DOMNode _wrapEventTarget:WebCore::]):
11836         (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
11837         (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
11838         (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
11839         (-[DOMSVGElementInstance WebCore::]):
11840         (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
11841         (-[DOMSVGElementInstance addEventListener:::]):
11842         (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
11843         (-[DOMSVGElementInstance removeEventListener:::]):
11844         (-[DOMSVGElementInstance dispatchEvent:]):
11845         * bindings/objc/DOMEvents.h:
11846         * bindings/scripts/CodeGeneratorJS.pm:
11847         * bindings/scripts/CodeGeneratorObjC.pm:
11848         * svg/EventTargetSVGElementInstance.cpp: Added.
11849         (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
11850         (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
11851         (WebCore::EventTargetSVGElementInstance::addEventListener):
11852         (WebCore::EventTargetSVGElementInstance::removeEventListener):
11853         (WebCore::EventTargetSVGElementInstance::dispatchEvent):
11854         * svg/EventTargetSVGElementInstance.h: Added.
11855         (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
11856         (WebCore::EventTargetSVGElementInstance::toNode):
11857         (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
11858         (WebCore::EventTargetSVGElementInstance::refEventTarget):
11859         (WebCore::EventTargetSVGElementInstance::derefEventTarget):
11860         (WebCore::EventTargetSVGElementInstanceCast):
11861         * svg/SVGElement.cpp:
11862         (WebCore::SVGElement::dispatchEvent):
11863         * svg/SVGElementInstance.cpp:
11864         (WebCore::SVGElementInstance::SVGElementInstance):
11865         (WebCore::SVGElementInstance::~SVGElementInstance):
11866         * svg/SVGElementInstance.h:
11867         (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
11868         * svg/SVGElementInstance.idl:
11870 2008-09-23  Dan Bernstein  <mitz@apple.com>
11872         Reviewed by Dave Hyatt.
11874         - https://bugs.webkit.org/show_bug.cgi?id=21040
11875           Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
11877         * platform/graphics/mac/SimpleFontDataMac.mm:
11878         (WebCore::SimpleFontData::getCTFont):
11880 2008-09-23  David Hyatt  <hyatt@apple.com>
11882         https://bugs.webkit.org/show_bug.cgi?id=21039
11884         Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
11886         Reviewed by Sam Weinig
11888         * platform/ScrollView.h:
11889         * platform/Scrollbar.cpp:
11890         (WebCore::Scrollbar::setFrameGeometry):
11891         * platform/Scrollbar.h:
11892         * platform/Widget.cpp:
11893         (WebCore::Widget::convertFromContainingWindow):
11894         * platform/Widget.h:
11895         * platform/mac/ScrollViewMac.mm:
11896         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11897         (WebCore::ScrollView::ScrollView):
11898         (WebCore::ScrollView::~ScrollView):
11899         (WebCore::ScrollView::windowResizerRect):
11900         (WebCore::ScrollView::resizerOverlapsContent):
11901         (WebCore::ScrollView::adjustOverlappingScrollbarCount):
11902         (WebCore::ScrollView::setParent):
11903         * platform/mac/WidgetMac.mm:
11904         (WebCore::Widget::convertFromContainingWindow):
11906 2008-09-23  Dirk Schulze  <vbs85@gmx.de>
11908         Reviewed by Darin Adler. Landed by Jan Alonzo.
11910         Added support for getImageData() and putImageData()
11911         to Cairo.
11913         [CAIRO] needs getImageData and putImageData support
11914         https://bugs.webkit.org/show_bug.cgi?id=20838
11916         * platform/graphics/cairo/ImageBufferCairo.cpp:
11917         (WebCore::ImageBuffer::ImageBuffer):
11918         (WebCore::ImageBuffer::getImageData):
11919         (WebCore::ImageBuffer::putImageData):
11921 2008-09-23  Marco Barisione  <marco.barisione@collabora.co.uk>
11923         Reviewed by Holger Freyther.
11925         http://bugs.webkit.org/show_bug.cgi?id=18987
11926         [GTK] Implement SharedBuffer::createWithContentsOfFile and
11927         KURL::fileSystemPath
11929         * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
11930         * platform/gtk/KURLGtk.cpp: Added.
11931         (WebCore::KURL::fileSystemPath): Implemented.
11932         * platform/gtk/SharedBufferGtk.cpp: Added.
11933         (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
11934         * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
11936 2008-09-23  Alexey Proskuryakov  <ap@webkit.org>
11938         Reviewed by Oliver Hunt, okayed by Darin Adler.
11940         <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
11942         * rendering/InlineTextBox.cpp:
11943         (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
11945 2008-09-23  Alexey Proskuryakov  <ap@webkit.org>
11947         Reviewed by Darin Adler.
11949         https://bugs.webkit.org/show_bug.cgi?id=21023
11950         Don't use TEC for encodings supported by ICU
11952         * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
11953         x-mac-greek, and x-mac-turkish.
11955         * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
11956         Register aliases for these encodings that are not registered automatically; updated comments.
11958 2008-09-23  Maciej Stachowiak  <mjs@apple.com>
11960         Reviewed by Darin.
11962         - speed up instanceof some more
11963         https://bugs.webkit.org/show_bug.cgi?id=20818
11965         ~2% speedup on EarleyBoyer
11967         (WebCore updates.)
11968         
11969         * bindings/js/JSQuarantinedObjectWrapper.h:
11970         (WebCore::JSQuarantinedObjectWrapper::createStructureID):
11972 2008-09-22  Darin Adler  <darin@apple.com>
11974         Reviewed by Oliver Hunt.
11976         - fix https://bugs.webkit.org/show_bug.cgi?id=21008
11977           getting pixels by index from CanvasPixelArray is unnecessarily slow
11979         * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
11980         * WebCore.vcproj/WebCore.vcproj: Ditto.
11981         * WebCore.xcodeproj/project.pbxproj: Ditto.
11983         * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
11984           indexSetter. These are now both inlined, so in the header.
11985         * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
11986           function is what's used for HasCustomIndexGetter. Also moved the
11987           indexSetter function here.
11989         * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
11990           to use a getByIndex member function rather than an indexGetter static
11991           member function in a property slot. This lets us avoid the property
11992           slot mechanism's rule where it turns numeric property names into
11993           strings in the identifier table, which is good because that's slow.
11994           Also added a new property CustomHeader that allows IDL files to
11995           introduce headers to be included -- useful when we have functions
11996           that we want to inline into the binding.
11998         * html/CanvasPixelArray.idl: Added CustomHeader attribute.
12000 2008-09-23  Eric Seidel  <eric@webkit.org>
12002         No review, build fix only.
12004         Another blind stab in the dark.
12006         * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
12008 2008-09-23  Eric Seidel  <eric@webkit.org>
12010         No review, build fix only.
12011         
12012         Third time's the charm, eh?  My local build is sadly still not done...
12014         * platform/graphics/AffineTransform.cpp: remove extra &
12015         * platform/graphics/AffineTransform.h: remove extra &
12017 2008-09-22  Eric Seidel  <eric@webkit.org>
12019         No review, build fix only.
12021         * platform/graphics/AffineTransform.cpp: remove extra ;
12023 2008-09-22  Eric Seidel  <eric@webkit.org>
12025         No review, build fix only.
12027         Speculative fix for the build while I wait for my compile to finish.
12029         * platform/graphics/AffineTransform.cpp:
12031 2008-09-22  Dirk Schulze  <vbs85@gmx.de>
12033         Reviewed by eseidel.  Landed by eseidel.
12035         Moved makeMapBetweenRects from SVG/CG to AffineTransform
12036         Make SVGResourceClipper::applyClip more cross-platform
12038         * platform/graphics/AffineTransform.cpp:
12039         * platform/graphics/AffineTransform.h:
12040         * svg/graphics/cg/CgSupport.cpp:
12041         * svg/graphics/cg/CgSupport.h:
12042         * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
12043         (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
12044         * svg/graphics/cg/SVGResourceClipperCg.cpp:
12045         (WebCore::SVGResourceClipper::applyClip):
12047 2008-09-22  Alp Toker  <alp@nuanti.com>
12049         Reviewed by David Hyatt.
12051         https://bugs.webkit.org/show_bug.cgi?id=16331
12052         [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
12054         Obey GTK+ focusing conventions for controls and anchor elements.
12056         It could be interesting to push these decisions up to Settings or
12057         ChromeClient some day but this gets things working.
12059         Right and middle click events still need some work to match GTK+
12060         conventions.
12062         * html/HTMLAnchorElement.cpp:
12063         (WebCore::HTMLAnchorElement::isMouseFocusable):
12064         * html/HTMLFormControlElement.cpp:
12065         (WebCore::HTMLFormControlElement::isMouseFocusable):
12066         * page/EventHandler.cpp:
12067         (WebCore::EventHandler::sendContextMenuEvent):
12069 2008-09-22  Darin Adler  <darin@apple.com>
12071         * page/mac/FrameMac.mm:
12072         (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
12074 2008-09-22  Sam Weinig  <sam@webkit.org>
12076         Reviewed by Dan Bernstein.
12078         Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
12079         Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
12080         and setSelectionRange.  This also allows us to remove the legacy JSHTMLInputElementBase
12081         class!
12083         - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
12084           non-selectable input types, but return undefined when accessed.
12086         * DerivedSources.make:
12087         * GNUmakefile.am:
12088         * WebCore.pro:
12089         * WebCore.vcproj/WebCore.vcproj:
12090         * WebCore.xcodeproj/project.pbxproj:
12091         * WebCoreSources.bkl:
12092         * bindings/js/JSHTMLInputElementBase.cpp: Removed.
12093         * bindings/js/JSHTMLInputElementBase.h: Removed.
12094         * bindings/js/JSHTMLInputElementCustom.cpp: Added.
12095         (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
12096         (WebCore::JSHTMLInputElement::selectionStart):
12097         (WebCore::JSHTMLInputElement::selectionEnd):
12098         * bindings/js/JSHTMLInputElementCustom.h: Added.
12099         * html/HTMLInputElement.idl:
12101 2008-09-22  Dan Bernstein  <mitz@apple.com>
12103         Reviewed by Sam Weinig.
12105         - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
12107         Not testable in DumpRenderTree or in Safari
12109         * page/mac/FrameMac.mm:
12110         (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
12111         case that the selection start node is a block.
12113 2008-09-22  David Hyatt  <hyatt@apple.com>
12115         https://bugs.webkit.org/show_bug.cgi?id=21007
12117         Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
12119         Reviewed by Sam Weinig
12121         * page/EventHandler.cpp:
12122         (WebCore::EventHandler::handleMouseDoubleClickEvent):
12124 2008-09-22  Eric Seidel  <eric@webkit.org>
12126         No review, rollback only.
12128         Roll out Peter's change (per his request)
12129         http://trac.webkit.org/changeset/36069
12130         https://bugs.webkit.org/show_bug.cgi?id=19663
12131         This change has been the source of numerous regressions
12132         (several of which were latent bugs revealed by this change,
12133         others were bugs in this change)
12135         * platform/graphics/BitmapImage.cpp:
12136         (WebCore::BitmapImage::BitmapImage):
12137         (WebCore::BitmapImage::startAnimation):
12138         (WebCore::BitmapImage::advanceAnimation):
12139         * platform/graphics/BitmapImage.h:
12140         * platform/graphics/cairo/ImageCairo.cpp:
12141         (WebCore::BitmapImage::draw):
12142         * platform/graphics/cg/ImageCG.cpp:
12143         (WebCore::BitmapImage::draw):
12144         * platform/graphics/qt/ImageQt.cpp:
12145         (WebCore::BitmapImage::draw):
12146         * platform/graphics/wx/ImageWx.cpp:
12147         (WebCore::BitmapImage::draw):
12149 2008-09-22  Dan Bernstein  <mitz@apple.com>
12151         Reviewed by Sam Weinig.
12153         - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
12155         Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
12156                platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
12158         * config.h: Use Core Text if not building for Leopard or Tiger.
12160 2008-09-22  David Hyatt  <hyatt@apple.com>
12162         https://bugs.webkit.org/show_bug.cgi?id=21006
12164         Add code that paints an NSView-less scroller using HIThemeDrawTrack.  This scrollbar is still not
12165         switched on.  There are still a few more refinements to make to the rendering and behavior.
12167         Reviewed by Darin Adler
12169         * platform/ScrollbarThemeComposite.cpp:
12170         (WebCore::ScrollbarThemeComposite::paint):
12171         * platform/ScrollbarThemeComposite.h:
12172         (WebCore::ScrollbarThemeComposite::paintTrack):
12173         (WebCore::ScrollbarThemeComposite::paintButton):
12174         (WebCore::ScrollbarThemeComposite::paintThumb):
12175         * platform/mac/ScrollbarThemeMac.h:
12176         * platform/mac/ScrollbarThemeMac.mm:
12177         (WebCore::ScrollbarThemeMac::backButtonRect):
12178         (WebCore::ScrollbarThemeMac::forwardButtonRect):
12179         (WebCore::scrollbarPartToHIPressedState):
12180         (WebCore::ScrollbarThemeMac::paint):
12181         * platform/mac/WidgetMac.mm:
12182         (WebCore::Widget::invalidateRect):
12184 2008-09-22  Chris Marrin  <cmarrin@apple.com>
12186         Reviewed by Sam Weinig
12188         transition end event when -webkit-transition-property: all puts wrong
12189         propertyName in event
12190         https://bugs.webkit.org/show_bug.cgi?id=20903
12191         
12192         * page/animation/ImplicitAnimation.cpp:
12193         (WebCore::ImplicitAnimation::sendTransitionEvent):
12195 2008-09-22  Chris Fleizach  <cfleizach@apple.com>
12197         Reviewed by Darin Adler.
12199         <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
12201         Test: accessibility/table-one-cell.html
12203         * page/AccessibilityTable.cpp:
12204         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
12206 2008-09-22  Chris Fleizach  <cfleizach@apple.com>
12208         Reviewed by Darin Adler.
12210         <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
12212         Test: accessibility/textarea-selected-text-range.html
12214         * page/AccessibilityRenderObject.cpp:
12215         (WebCore::AccessibilityRenderObject::setSelectedTextRange):
12217 2008-09-22  David Hyatt  <hyatt@apple.com>
12219         Clean up some parent relationships in the back end stylesheet code.  Make sure parentStyleSheet
12220         properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
12221         parent.  Also fix the doc() method so that it is properly set when the parent of the sheet is an import
12222         rule.
12224         Reviewed by Sam Weinig
12226         Added fast/css/nested-rule-parent-sheet.html
12228          * css/CSSImportRule.cpp:
12229         (WebCore::CSSImportRule::insertedIntoParent):
12230         * css/CSSRule.cpp:
12231         (WebCore::CSSRule::parentStyleSheet):
12232         (WebCore::CSSRule::parentRule):
12233         * css/CSSStyleSheet.cpp:
12234         (WebCore::CSSStyleSheet::CSSStyleSheet):
12235         * css/CSSStyleSheet.h:
12237 2008-09-22  Dan Bernstein  <mitz@apple.com>
12239         Reviewed by Sam Weinig.
12241         - fix https://bugs.webkit.org/show_bug.cgi?id=21002
12242           Make the ATSUI code path respect spacingDisabled()
12244         Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
12246         * platform/graphics/mac/FontMacATSUI.mm:
12247         (WebCore::overrideLayoutOperation):
12249 2008-09-22  Maciej Stachowiak  <mjs@apple.com>
12251         Reviewed by Cameron Zwarich.
12253         - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
12255         Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
12256         
12257         2.2% speedup on EarleyBoyer benchmark.
12259         * bindings/js/JSQuarantinedObjectWrapper.cpp:
12260         * bindings/js/JSQuarantinedObjectWrapper.h:
12261         (WebCore::JSQuarantinedObjectWrapper::createStructureID):
12262         * bindings/scripts/CodeGeneratorJS.pm:
12264 2008-09-22  Adam Roben  <aroben@apple.com>
12266         Windows build fix
12268         * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
12270 2008-09-22  Maciej Stachowiak  <mjs@apple.com>
12272         Reviewed by Dave Hyatt.
12274         Based on initial work by Darin Adler.
12275         
12276         - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
12277         - use this to JIT inline code for eq_null and neq_null
12278         https://bugs.webkit.org/show_bug.cgi?id=20823
12279         
12280         * WebCore.xcodeproj/project.pbxproj:
12281         * WebCore.vcproj/WebCore.vcproj:
12282         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
12283         (WebCore::JSCSSStyleDeclaration::nameGetter):
12284         * bindings/js/JSHTMLAllCollection.cpp: Added.
12285         (WebCore::):
12286         * bindings/js/JSHTMLAllCollection.h:
12287         (WebCore::JSHTMLAllCollection::createStructureID):
12288         (WebCore::JSHTMLAllCollection::toBoolean):
12290 2008-09-22  Tor Arne Vestbø  <tavestbo@trolltech.com>
12292         Reviewed by Simon.
12294         Fix the QtWebKit build
12296         * bridge/qt/qt_instance.cpp:
12297         (JSC::Bindings::QtRuntimeObjectImp::construct):
12298         * bridge/qt/qt_runtime.cpp:
12300 2008-09-22  Alp Toker  <alp@nuanti.com>
12302         Suggested by David Hyatt.
12304         Build fix: ScrollView::update() is still used by Document.cpp on !MAC
12305         so make it public.
12307         * platform/ScrollView.h:
12309 2008-09-22  David Hyatt  <hyatt@apple.com>
12311         Fix a regression in Windows scrollbar painting.  (Also fix the same
12312         bug in my new viewless Mac scrollbar painting code).  The track rect
12313         was being improperly inflated when painting resulting in the scrollbar
12314         being too tall and painting in the border of overflow sections.
12316         Reviewed by Oliver Hunt
12318         * platform/mac/ScrollbarThemeMac.mm:
12319         (WebCore::ScrollbarThemeMac::trackRect):
12320         * platform/win/ScrollbarThemeSafari.cpp:
12321         (WebCore::ScrollbarThemeSafari::trackRect):
12323 2008-09-22  David Hyatt  <hyatt@apple.com>
12325         Fix a hit testing bug where events are mistakenly passed to subframes
12326         if the mouse is over the border or padding area of the frame.  Add
12327         a boolean flag, isOverWidget(), to hit test results so that EventHandler
12328         can check it to tell if the mouse is really over the content box of a
12329         RenderWidget and not just in the border/padding area.
12331         This is not testable, since the old code properly recovered when it detected
12332         that the mouse was outside the bounds of the view, but this prevents
12333         the extra passdown from even occurring (and is basically a nice cleanup).
12335         Reviewed by Oliver Hunt
12337         * page/EventHandler.cpp:
12338         (WebCore::EventHandler::handleMousePressEvent):
12339         (WebCore::EventHandler::hitTestResultAtPoint):
12340         (WebCore::subframeForHitTestResult):
12341         (WebCore::EventHandler::handleMouseDoubleClickEvent):
12342         (WebCore::EventHandler::handleMouseMoveEvent):
12343         (WebCore::EventHandler::handleMouseReleaseEvent):
12344         (WebCore::EventHandler::handleWheelEvent):
12345         * page/MouseEventWithHitTestResults.h:
12346         (WebCore::MouseEventWithHitTestResults::isOverWidget):
12347         * rendering/HitTestResult.cpp:
12348         (WebCore::HitTestResult::HitTestResult):
12349         (WebCore::HitTestResult::operator=):
12350         * rendering/HitTestResult.h:
12351         (WebCore::HitTestResult::isOverWidget):
12352         (WebCore::HitTestResult::setIsOverWidget):
12353         * rendering/RenderWidget.cpp:
12354         (WebCore::RenderWidget::nodeAtPoint):
12355         * rendering/RenderWidget.h:
12357 2008-09-21  David Hyatt  <hyatt@apple.com>
12359         Rename FrameView's repaintRectangle method to repaintContentRectangle.  Make
12360         both it and ScrollView's updateContents method be off-limits to everyone in
12361         WebCore except for RenderView.
12363         Make repaintViewRectangle the only possible method for WebCore code to do
12364         an invalidation.  This ensures that all invalidates triggered by WebCore
12365         cross-platform code that cross ownerElement() boundaries are transform-aware.
12367         Make sure that iframes/frames contained inside objects that have transforms
12368         or reflections are not allowed to blit (this was already true for transparency).
12370         It is not possible to make a test for any of this, since iframe scrolling
12371         still doesn't work on Mac (since the invalidates are not being done
12372         through WebCore's cross-platform invalidation code but are instead going
12373         through NSScrollView's setNeedsDisplay still).
12375         Reviewed by Oliver Hunt
12377         * editing/SelectionController.cpp:
12378         (WebCore::SelectionController::recomputeCaretRect):
12379         (WebCore::SelectionController::invalidateCaretRect):
12380         (WebCore::SelectionController::focusedOrActiveStateChanged):
12381         * page/FrameView.cpp:
12382         (WebCore::FrameView::repaintContentRectangle):
12383         (WebCore::FrameView::endDeferredRepaints):
12384         * page/FrameView.h:
12385         * platform/ScrollView.h:
12386         * rendering/RenderBox.cpp:
12387         (WebCore::RenderBox::paintFillLayerExtended):
12388         * rendering/RenderLayer.cpp:
12389         (WebCore::RenderLayer::enclosingPositionedAncestor):
12390         (WebCore::RenderLayer::requiresSlowRepaints):
12391         * rendering/RenderLayer.h:
12392         (WebCore::RenderLayer::hasTransform):
12393         * rendering/RenderView.cpp:
12394         (WebCore::RenderView::paintBoxDecorations):
12395         (WebCore::RenderView::repaintViewRectangle):
12396         (WebCore::RenderView::setSelection):
12398 2008-09-21  Maciej Stachowiak  <mjs@apple.com>
12400         Reviewed by Darin.
12402         - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
12403         https://bugs.webkit.org/show_bug.cgi?id=20981
12404         
12405         * bindings/js/JSAudioConstructor.cpp:
12406         (WebCore::JSAudioConstructor::JSAudioConstructor):
12407         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
12408         (WebCore::JSCSSStyleDeclaration::nameGetter):
12409         * bindings/js/JSDOMBinding.cpp:
12410         (WebCore::createDOMStructure):
12411         * bindings/js/JSDOMBinding.h:
12412         (WebCore::getDOMStructure):
12413         * bindings/js/JSDOMWindowShell.cpp:
12414         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
12415         (WebCore::JSDOMWindowShell::setWindow):
12416         * bindings/js/JSEventTargetNode.cpp:
12417         (WebCore::JSEventTargetNode::createPrototype):
12418         * bindings/js/JSHTMLOptionElementConstructor.cpp:
12419         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
12420         * bindings/js/JSImageConstructor.cpp:
12421         (WebCore::JSImageConstructor::JSImageConstructor):
12422         * bindings/js/JSXMLHttpRequestConstructor.cpp:
12423         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
12424         * bindings/js/JSXSLTProcessorConstructor.cpp:
12425         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
12426         * bindings/scripts/CodeGeneratorJS.pm:
12428 2008-09-21  Darin Adler  <darin@apple.com>
12430         Reviewed by Maciej Stachowiak.
12432         - fix problem Maciej noticed where every JSNamedNodesCollection
12433           gets its own StructureID
12435         * bindings/js/JSNamedNodesCollection.cpp:
12436         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
12437         getDOMStructure to get the structure.
12438         * bindings/js/JSNamedNodesCollection.h:
12439         (WebCore::JSNamedNodesCollection::createPrototype): Return the
12440         object prototype.
12442 2008-09-20  David Hyatt  <hyatt@apple.com>
12444         Make sure transformed scrollbars in overflow sections position
12445         properly.  This patch mimics the same behavior that works for
12446         iframes, namely making sure that the same code that dynamically
12447         adjusts iframe widget positions at paint time for fixed positioning
12448         and transforms also applies to scrollbars.  (This is as simple as passing
12449         in the current translation factor at paint time rather than crawling
12450         up the layer tree to compute a "false" absolute position.)
12452         An existing transform test covers this (although only a pixel result
12453         reveals the correct rendering).
12455         Reviewed by Darin Adler
12457         * rendering/RenderLayer.cpp:
12458         (WebCore::RenderLayer::updateLayerPositions):
12459         (WebCore::RenderLayer::positionOverflowControls):
12460         (WebCore::RenderLayer::paintOverflowControls):
12461         (WebCore::RenderLayer::paintLayer):
12462         * rendering/RenderLayer.h:
12464 2008-09-21  Steve Falkenburg  <sfalken@apple.com>
12466         Removed unnecessary nested timer check.
12467         
12468         Rubber-stamped by Dan Bernstein.
12470         * platform/win/SharedTimerWin.cpp:
12471         (WebCore::TimerWindowWndProc):
12473 2008-09-21  Steve Falkenburg  <sfalken@apple.com>
12475         Improve timer resolution on WinXP.
12476         https://bugs.webkit.org/show_bug.cgi?id=20979
12477         
12478         Removed last-chance timer. It should not be necessary.
12479         Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
12480         Remove Vista checks. We now run the same code on both XP and Vista.
12481         
12482         Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
12483         The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
12484         
12485         Reviewed by Maciej Stachowiak.
12487         * platform/win/SharedTimerWin.cpp:
12488         (WebCore::):
12489         (WebCore::TimerWindowWndProc):
12490         (WebCore::setSharedTimerFireTime):
12491         * platform/win/SystemTimeWin.cpp:
12492         (WebCore::currentTime):
12494 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
12496         Reviewed by eseidel.  Landed by eseidel.
12498         All platforms use the DashArray in the GraphicsContext.
12500         * svg/graphics/SVGPaintServer.h:
12501         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
12502         (WebCore::SVGPaintServerGradient::setup):
12503         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
12504         (WebCore::SVGPaintServerPattern::setup):
12505         * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
12506         (WebCore::SVGPaintServerSolid::setup):
12507         * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
12508         (WebCore::SVGPaintServerGradient::setup):
12509         * svg/graphics/qt/SVGPaintServerQt.cpp:
12510         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
12511         (WebCore::SVGPaintServerSolid::setup):
12513 2008-09-21  Dirk Schulze  <vbs85@gmx.de>
12515         Reviewed by eseidel.  Landed by eseidel.
12517         Moved DashArray to GraphicsContext.
12519         * GNUmakefile.am:
12520         * WebCore.vcproj/WebCore.vcproj:
12521         * WebCore.xcodeproj/project.pbxproj:
12522         * platform/graphics/DashArray.h: Added.
12523         * platform/graphics/GraphicsContext.h:
12524         * platform/graphics/cairo/GraphicsContextCairo.cpp:
12525         (WebCore::GraphicsContext::setLineDash):
12526         * platform/graphics/cg/GraphicsContextCG.cpp:
12527         (WebCore::GraphicsContext::setLineDash):
12528         * platform/graphics/qt/GraphicsContextQt.cpp:
12529         (WebCore::GraphicsContext::setLineDash):
12530         * svg/graphics/SVGPaintServer.cpp:
12531         (WebCore::applyStrokeStyleToContext):
12532         * svg/graphics/SVGPaintServer.h:
12533         * svg/graphics/cg/CgSupport.cpp:
12534         * svg/graphics/cg/CgSupport.h:
12536 2008-09-21  Dan Bernstein  <mitz@apple.com>
12538         Reviewed by Mark Rowe.
12540         - fix linker warnings
12542         * WebCore.base.exp:
12544 2008-09-20  Darin Adler  <darin@apple.com>
12546         - another try at fixing Qt
12548         * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
12550 2008-09-20  Darin Adler  <darin@apple.com>
12552         - blind attempt to fix Qt build
12554         * bridge/qt/qt_runtime.cpp:
12555         (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
12556         of regExpPrototype to make a RegExpObject. There should really be
12557         some sort of public helper function for this. Same thing for
12558         DateInstance and dateStructure. For JSObject, use constructEmptyObject.
12559         (JSC::Bindings::):
12560         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
12561         It is not correct to do this inside the constructor because it could
12562         cause a garbage collect while the QtRuntimeMethod object is half-
12563         allocated, which could lead to a crash; note that RuntimeMethod,
12564         QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
12565         * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
12567 2008-09-20  Collin Jackson  <collinj@webkit.org>
12569         Prefetch DNS for hyperlinks that the user mouses over.
12571         https://bugs.webkit.org/show_bug.cgi?id=20931
12573         Reviewed by Sam Weinig.
12575         * page/Chrome.cpp:
12576         (WebCore::Chrome::mouseDidMoveOverElement):
12578 2008-09-20  Darin Adler  <darin@apple.com>
12580         Reviewed by Maciej Stachowiak.
12582         - finish https://bugs.webkit.org/show_bug.cgi?id=20858
12583           make each distinct C++ class get a distinct JSC::Structure
12585         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
12586         (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
12587         ID. Note that this makes a new structure every time -- we could
12588         optimize this slightly be caching and reusing a single one.
12590         * bridge/runtime_method.cpp:
12591         (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
12592         getDOMStructure.
12593         * bridge/runtime_method.h:
12594         (JSC::RuntimeMethod::createPrototype): Added createPrototype so
12595         getDOMStructure will work.
12597         * bindings/js/JSDOMWindowShell.cpp:
12598         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
12599         0; needed in case garbage collection happens while creating the
12600         JSDOMWindow.
12602 2008-09-20  Dan Bernstein  <mitz@apple.com>
12604         Reviewed by Eric Seidel.
12606         - fix https://bugs.webkit.org/show_bug.cgi?id=20950
12607           <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
12609         * svg/SVGTextContentElement.cpp:
12610         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
12611         not include the first character in the extraCharsAvailable count.
12613 2008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
12615         Reviewed by Dan Bernstein.
12617         Fix memory leak.
12618         
12619         https://bugs.webkit.org/show_bug.cgi?id=20505
12621         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
12622         (GetTextExtent):
12624 2008-09-20  Kevin Ollivier  <kevino@theolliviers.com>
12626         wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
12628         * WebCoreSources.bkl:
12629         * platform/ScrollView.h:
12630         * platform/wx/PopupMenuWx.cpp:
12631         (WebCore::PopupMenu::show):
12632         * platform/wx/RenderThemeWx.cpp:
12633         (WebCore::RenderThemeWx::paintButton):
12634         (WebCore::RenderThemeWx::paintTextField):
12635         (WebCore::RenderThemeWx::paintMenuList):
12636         (WebCore::RenderThemeWx::paintMenuListButton):
12637         * platform/wx/ScrollViewWx.cpp:
12638         (WebCore::ScrollView::setPlatformWidget):
12639         (WebCore::ScrollView::updateContents):
12640         (WebCore::ScrollView::update):
12641         (WebCore::ScrollView::visibleWidth):
12642         (WebCore::ScrollView::visibleHeight):
12643         (WebCore::ScrollView::scrollBy):
12644         (WebCore::ScrollView::resizeContents):
12645         (WebCore::ScrollView::contentsWidth):
12646         (WebCore::ScrollView::contentsHeight):
12647         (WebCore::ScrollView::isScrollViewScrollbar):
12648         (WebCore::ScrollView::adjustScrollbars):
12649         (WebCore::ScrollView::inWindow):
12650         (WebCore::ScrollView::removeChild):
12651         * platform/wx/WidgetWx.cpp:
12652         * plugins/wx/PluginViewWx.cpp:
12653         (WebCore::PluginView::setParentVisible):
12654         (WebCore::PluginView::updatePluginWidget):
12656 2008-09-20  Timothy Hatcher  <timothy@apple.com>
12658         Fix the new Node Search button image to not be blurry.
12660         * page/inspector/Images/nodeSearchButtons.png:
12662 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
12664         Reviewed by Tim Hatcher.
12666         Cut down some of the inspector javascript -> InspectorController glue code
12667         with two new macros. Also rearrange the exposed function list to be grouped
12668         by implementation and to all explicitly use the WebCore namespace.
12670         * page/InspectorController.cpp:
12671         (WebCore::InspectorController::windowScriptObjectAvailable):
12673 2008-09-20  Matt Lilek  <webkit@mattlilek.com>
12675         Reviewed by Tim Hatcher.
12677         Fix regression from my previous patch where the breadcrumbs bar was not displayed.
12679         * page/inspector/inspector.css:
12681 2008-09-20  Nikolas Zimmermann  <zimmermann@kde.org>
12683         Reviewed by Eric.
12685         Refactor HTMLImageLoader/SVGImageLoader code.
12686         Move html/HTMLImageLoader.* to loader/ImageLoader.*
12688         Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
12689         SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
12691         * GNUmakefile.am:
12692         * WebCore.pro:
12693         * WebCore.vcproj/WebCore.vcproj:
12694         * WebCore.xcodeproj/project.pbxproj:
12695         * WebCoreSources.bkl:
12696         * dom/Document.cpp:
12697         (WebCore::Document::dispatchImageLoadEventSoon):
12698         (WebCore::Document::removeImage):
12699         (WebCore::Document::dispatchImageLoadEventsNow):
12700         * dom/Document.h:
12701         * html/HTMLImageLoader.cpp:
12702         (WebCore::HTMLImageLoader::HTMLImageLoader):
12703         (WebCore::HTMLImageLoader::~HTMLImageLoader):
12704         (WebCore::HTMLImageLoader::sourceURI):
12705         (WebCore::HTMLImageLoader::notifyFinished):
12706         * html/HTMLImageLoader.h:
12707         * loader/DocLoader.h:
12708         * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
12709         (WebCore::ImageLoader::ImageLoader):
12710         (WebCore::ImageLoader::~ImageLoader):
12711         (WebCore::ImageLoader::setImage):
12712         (WebCore::ImageLoader::setLoadingImage):
12713         (WebCore::ImageLoader::updateFromElement):
12714         (WebCore::ImageLoader::notifyFinished):
12715         * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
12716         * svg/SVGImageElement.cpp:
12717         (WebCore::SVGImageElement::attach):
12718         (WebCore::SVGImageElement::insertedIntoDocument):
12719         (WebCore::SVGImageElement::imageSourceAttributeName):
12720         * svg/SVGImageElement.h:
12721         * svg/SVGImageLoader.cpp:
12722         (WebCore::SVGImageLoader::SVGImageLoader):
12723         (WebCore::SVGImageLoader::dispatchLoadEvent):
12724         (WebCore::SVGImageLoader::sourceURI):
12725         * svg/SVGImageLoader.h:
12727 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
12729         Build fix.
12731         [qtwebkit] ScrollBar build fix after r36684.
12732         BackButtonPart was split into Start and End Part
12733         ForwardButtonPart was split into Start and End Part
12735         * platform/qt/ScrollbarThemeQt.cpp:
12736         (WebCore::scPart):
12737         (WebCore::scrollbarPart):
12738         (WebCore::styleOptionSlider):
12740 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
12742         Build fix.
12744         [qtwebkit] Make qt_instance.cpp compile.
12745         Revision of 36675 introduced getDOMStructure to give unique
12746         structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
12747         the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
12749         * bridge/qt/qt_instance.cpp:
12750         (JSC::Bindings::QtInstance::getRuntimeObject):
12752 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
12754         Reviewed by Nikolas Zimmermann.
12756         [svg] Change SVGLocatable to deal with a plain SVGElement
12757         There is no requirement in the code that we have to have a
12758         SVGStyledElement. Remove that artificial limitation and compile
12759         with SVGElement.
12761         * svg/SVGLocatable.cpp:
12762         * svg/SVGLocatable.h:
12764 2008-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>
12766         Reviewed by Nikolas Zimmermann.
12768         [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
12769         management.
12771         * dom/Document.cpp:
12772         (WebCore::Document::~Document):
12773         (WebCore::Document::svgExtensions):
12774         (WebCore::Document::accessSVGExtensions):
12775         * dom/Document.h:
12777 2008-09-19  David Hyatt  <hyatt@apple.com>
12779         Fix for crash in updateTransitions.  Make sure to test for a style
12780         being null when comparing two RenderStyles.
12782         Reviewed by Oliver Hunt
12784         * page/animation/AnimationBase.cpp:
12785         (WebCore::PropertyWrapperGetter::equals):
12787 2008-09-19  David Hyatt  <hyatt@apple.com>
12789         https://bugs.webkit.org/show_bug.cgi?id=20954
12791         Roll out r36628 since it has caused horrible regressions with
12792         animated GIF CPU usage.
12794         * platform/graphics/BitmapImage.cpp:
12795         (WebCore::BitmapImage::cacheFrame):
12796         (WebCore::BitmapImage::startAnimation):
12797         * platform/graphics/BitmapImage.h:
12798         (WebCore::FrameData::FrameData):
12799         * platform/graphics/cairo/ImageCairo.cpp:
12800         (WebCore::FrameData::clear):
12801         * platform/graphics/cg/ImageCG.cpp:
12802         (WebCore::FrameData::clear):
12803         * platform/graphics/qt/ImageQt.cpp:
12804         (WebCore::FrameData::clear):
12805         * platform/graphics/wx/ImageWx.cpp:
12806         (WebCore::FrameData::clear):
12808 2008-09-20  Alp Toker  <alp@nuanti.com>
12810         Reviewed by Timothy Hatcher.
12812         https://bugs.webkit.org/show_bug.cgi?id=20913
12813         Avoid redudant includes
12815         Document.h is included excessively such that a modification to Document.h (or
12816         any of the header it includes itself) triggers a rebuild of many files
12817         including the whole of SVG and a lot of the JS bindings.
12819         Some of these includes can be avoided by only including Document.h where
12820         necessary.
12822         * bindings/js/JSAttrCustom.cpp:
12823         * bindings/js/JSElementCustom.cpp:
12824         * bindings/js/JSEventTargetBase.cpp:
12825         * bindings/js/JSEventTargetBase.h:
12826         * bindings/js/JSEventTargetNode.cpp:
12827         * bindings/js/JSHTMLFrameElementCustom.cpp:
12828         * bindings/js/JSHTMLIFrameElementCustom.cpp:
12829         * bindings/scripts/CodeGeneratorJS.pm:
12830         * css/CSSCursorImageValue.cpp:
12831         * css/SVGCSSStyleSelector.cpp:
12832         * dom/make_names.pl:
12833         * svg/SVGAnimateElement.h:
12834         * svg/SVGAnimatedProperty.h:
12835         (WebCore::::baseValue):
12836         (WebCore::::setBaseValue):
12837         (WebCore::::startAnimation):
12838         (WebCore::::stopAnimation):
12839         * svg/SVGElement.cpp:
12840         (WebCore::SVGElement::accessDocumentSVGExtensions):
12841         * svg/SVGElement.h:
12842         * svg/SVGElementInstance.cpp:
12843         * svg/SVGFitToViewBox.cpp:
12844         * svg/SVGFontElement.cpp:
12845         * svg/SVGFontFaceElement.cpp:
12846         * svg/SVGLinearGradientElement.cpp:
12847         * svg/SVGMPathElement.cpp:
12848         * svg/SVGViewSpec.cpp:
12850 2008-09-19  Nikolas Zimmermann  <zimmermann@kde.org>
12852         Reviewed by Antti & Eric.
12854         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
12856         Finish HTMLScriptElement / SVGScriptElement unification.
12857         SVG <script> support is complete now, full SVGLoad event
12858         respecting the influence of the externalResourcesRequired attribute
12859         as well as SVGError event support. All other features shared with HTML.
12861         Tests: fast/dom/HTMLScriptElement/script-reexecution.html
12862                svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
12863                svg/dom/SVGScriptElement/script-load-and-error-events.svg
12864                svg/dom/SVGScriptElement/script-reexecution.svg
12865                svg/dom/SVGScriptElement/script-set-href.svg
12867         * dom/ScriptElement.cpp:
12868         (WebCore::ScriptElementData::ScriptElementData):
12869         (WebCore::ScriptElementData::requestScript):
12870         * dom/ScriptElement.h:
12871         (WebCore::ScriptElementData::haveFiredLoadEvent):
12872         (WebCore::ScriptElementData::setHaveFiredLoadEvent):
12873         * dom/XMLTokenizer.cpp:
12874         (WebCore::XMLTokenizer::notifyFinished):
12875         * html/HTMLScriptElement.cpp:
12876         (WebCore::HTMLScriptElement::dispatchLoadEvent):
12877         * svg/SVGScriptElement.cpp:
12878         (WebCore::SVGScriptElement::setCreatedByParser):
12879         (WebCore::SVGScriptElement::parseMappedAttribute):
12880         (WebCore::SVGScriptElement::svgAttributeChanged):
12881         (WebCore::SVGScriptElement::insertedIntoDocument):
12882         (WebCore::SVGScriptElement::removedFromDocument):
12883         (WebCore::SVGScriptElement::childrenChanged):
12884         (WebCore::SVGScriptElement::isURLAttribute):
12885         (WebCore::SVGScriptElement::finishParsingChildren):
12886         (WebCore::SVGScriptElement::type):
12887         (WebCore::SVGScriptElement::setType):
12888         (WebCore::SVGScriptElement::haveLoadedRequiredResources):
12889         (WebCore::SVGScriptElement::dispatchLoadEvent):
12890         (WebCore::SVGScriptElement::dispatchErrorEvent):
12891         * svg/SVGScriptElement.h:
12893 2008-09-19  Dan Bernstein  <mitz@apple.com>
12895         Reviewed by John Sullivan.
12897         - fix https://bugs.webkit.org/show_bug.cgi?id=20951
12898           Typo in Position::getInlineBoxAndOffset()
12899           and add an assertion
12901         Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
12903         * dom/Position.cpp:
12904         (WebCore::Position::getInlineBoxAndOffset):
12905         * rendering/InlineTextBox.cpp:
12906         (WebCore::InlineTextBox::positionForOffset):
12908 2008-09-19  David Hyatt  <hyatt@apple.com>
12910         Add support for hit testing of all five possible scrollbar button placements. 
12912         Reviewed by Sam Weinig
12914         * platform/ScrollbarThemeComposite.cpp:
12915         (WebCore::ScrollbarThemeComposite::paint):
12916         * platform/mac/ScrollbarThemeMac.mm:
12917         (WebCore::):
12918         (WebCore::ScrollbarThemeMac::backButtonRect):
12919         (WebCore::ScrollbarThemeMac::forwardButtonRect):
12920         (WebCore::ScrollbarThemeMac::trackRect):
12921         (WebCore::ScrollbarThemeMac::paintButton):
12923 2008-09-19  Darin Adler  <darin@apple.com>
12925         - try to fix Qt build
12927         * bridge/qt/qt_instance.cpp:
12928         (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
12929         (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
12930         * bridge/runtime_object.cpp:
12931         (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
12932         * bridge/runtime_object.h: Ditto.
12934 2008-09-19  Chris Marrin  <cmarrin@apple.com>
12936         Reviewed by Dave Hyatt.
12938         Transition starts running when it shouldn't
12939         https://bugs.webkit.org/show_bug.cgi?id=20892
12941         When there is a transition and an animation on the
12942         same element, make sure the animation wins.
12944         The fix is to save the unanimated style when an animation is started.
12945         Then, when starting a transition, check to see if there is a current
12946         animation on the same prop. If so, use the unanimated style as the
12947         fromStyle rather than the current style.
12949         Test: animations/transition-and-animation-1.html
12951         * page/animation/CompositeAnimation.cpp:
12952         (WebCore::CompositeAnimation::updateTransitions):
12953         (WebCore::CompositeAnimation::updateKeyframeAnimations):
12954         (WebCore::CompositeAnimation::animate):
12955         (WebCore::CompositeAnimation::getAnimationForProperty):
12956         * page/animation/CompositeAnimation.h:
12957         * page/animation/ImplicitAnimation.cpp:
12958         (WebCore::ImplicitAnimation::reset):
12959         * page/animation/ImplicitAnimation.h:
12960         * page/animation/KeyframeAnimation.cpp:
12961         (WebCore::KeyframeAnimation::hasAnimationForProperty):
12962         * page/animation/KeyframeAnimation.h:
12963         (WebCore::KeyframeAnimation::KeyframeAnimation):
12964         (WebCore::KeyframeAnimation::unanimatedStyle):
12966 2008-09-19  David Hyatt  <hyatt@apple.com>
12968         Add support for painting/hit testing of four possible scrollbar buttons.
12969         The Windows themes simply ignore the two parts that they will never
12970         show.  The Mac theme also ignores the other two buttons for now.
12972         The cross-platform base for all three themes, ScrollbarThemeComposite,
12973         has all the proper support though.
12975         Reviewed by Sam Weinig
12977         * platform/ScrollbarThemeComposite.cpp:
12978         (WebCore::ScrollbarThemeComposite::hitTest):
12979         (WebCore::ScrollbarThemeComposite::invalidatePart):
12980         * platform/ScrollbarThemeComposite.h:
12981         * platform/mac/ScrollbarThemeMac.h:
12982         * platform/mac/ScrollbarThemeMac.mm:
12983         (WebCore::ScrollbarThemeMac::backButtonRect):
12984         (WebCore::ScrollbarThemeMac::forwardButtonRect):
12985         (WebCore::ScrollbarThemeMac::paintButton):
12986         * platform/win/ScrollbarThemeSafari.cpp:
12987         (WebCore::ScrollbarThemeSafari::backButtonRect):
12988         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
12989         (WebCore::ScrollbarThemeSafari::paintButton):
12990         * platform/win/ScrollbarThemeSafari.h:
12991         * platform/win/ScrollbarThemeWin.cpp:
12992         (WebCore::ScrollbarThemeWin::backButtonRect):
12993         (WebCore::ScrollbarThemeWin::forwardButtonRect):
12994         (WebCore::ScrollbarThemeWin::paintButton):
12995         * platform/win/ScrollbarThemeWin.h:
12997 2008-09-19  Matt Lilek  <webkit@mattlilek.com>
12999         Reviewed by Tim Hatcher.
13001         Bug 17772: Inspector should support point-and-click to select a node to inspect
13002         https://bugs.webkit.org/show_bug.cgi?id=17772
13003         <rdar://problem/5792395>
13005         * English.lproj/localizedStrings.js:
13006         * page/Chrome.cpp:
13007         (WebCore::Chrome::mouseDidMoveOverElement):
13008         * page/EventHandler.cpp:
13009         (WebCore::EventHandler::handleMousePressEvent):
13010         * page/InspectorController.cpp:
13011         (WebCore::toggleNodeSearch):
13012         (WebCore::searchingForNode):
13013         (WebCore::InspectorController::InspectorController):
13014         (WebCore::InspectorController::toggleSearchForNodeInPage):
13015         (WebCore::InspectorController::mouseDidMoveOverElement):
13016         (WebCore::InspectorController::handleMousePressOnNode):
13017         (WebCore::InspectorController::windowScriptObjectAvailable):
13018         * page/InspectorController.h:
13019         (WebCore::InspectorController::searchingForNodeInPage):
13020         * page/inspector/ElementsPanel.js:
13021         * page/inspector/Images/nodeSearchButtons.png: Added.
13022         * page/inspector/inspector.css:
13024 2008-09-19  David Hyatt  <hyatt@apple.com>
13026         Add new scrollbar parts to be able to represent back and forward buttons
13027         at either end of the scrollbar.  The current scrollbar still just draws
13028         a single button at either end, but the parts now exist.
13030         Reviewed by Sam Weinig
13032         * platform/ScrollTypes.h:
13033         (WebCore::):
13034         * platform/Scrollbar.cpp:
13035         (WebCore::Scrollbar::autoscrollTimerFired):
13036         (WebCore::Scrollbar::pressedPartScrollDirection):
13037         (WebCore::Scrollbar::pressedPartScrollGranularity):
13038         (WebCore::Scrollbar::handleMouseMoveEvent):
13039         * platform/ScrollbarTheme.h:
13040         (WebCore::ScrollbarTheme::buttonsPlacement):
13041         (WebCore::ScrollbarTheme::invalidateParts):
13042         * platform/ScrollbarThemeComposite.cpp:
13043         (WebCore::ScrollbarThemeComposite::paint):
13044         (WebCore::ScrollbarThemeComposite::hitTest):
13045         (WebCore::ScrollbarThemeComposite::invalidatePart):
13046         * platform/ScrollbarThemeComposite.h:
13048 2008-09-19  Beth Dakin  <bdakin@apple.com>
13050         Reviewed by Dave Hyatt.
13052         Fix for <rdar://problem/6231308> crash in AutoTableLayout
13054         The code assumes later on that a TableSection's grid's row vector 
13055         will never be empty. So make 1 the minimum number of columns.
13057         * rendering/RenderTableSection.cpp:
13058         (WebCore::RenderTableSection::ensureRows):
13060 2008-09-19  David Hyatt  <hyatt@apple.com>
13062         Add a new ScrollbarButtonsPlacement type for specifying where
13063         the button arrows are in a scrollbar.
13065         Read in the placement settings for Mac.  Nothing is done with the
13066         setting yet.
13068         Add a new buttonsPlacement() method to ScrollbarTheme composite
13069         so that the arrow settings can be obtained.
13071         Reviewed by Sam Weinig
13073         * platform/ScrollTypes.h:
13074         (WebCore::):
13075         * platform/ScrollbarThemeComposite.h:
13076         (WebCore::ScrollbarThemeComposite::buttonsPlacement):
13077         * platform/mac/ScrollbarThemeMac.mm:
13078         (WebCore::updateArrowPlacement):
13079         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
13081 2008-09-19  Steve Falkenburg  <sfalken@apple.com>
13083         Roll out r36626. It is causing variance in SunSpider numbers on XP.
13084         
13085         Rubber stamped by Mark Rowe.
13087         * platform/win/SharedTimerWin.cpp:
13088         (WebCore::isRunningOnVistaOrLater):
13089         (WebCore::setSharedTimerFireTime):
13091 2008-09-19  Kevin McCullough  <kmccullough@apple.com>
13093         Reviewed by Tim.
13095         https://bugs.webkit.org/show_bug.cgi?id=20942
13096         Bug 20942: Repeated messages in resources don't collapse
13097         - Now repeated messages in a resource's view are collapsed and a message
13098         says how many were repeated.
13100         * English.lproj/localizedStrings.js:
13101         * manual-tests/inspector/multiple-console-messages.html:
13102         * page/inspector/Console.js: Send all the messages to the resource's
13103         view before possibly returning early if the message is a repeat.
13104         * page/inspector/SourceFrame.js: Add the text about the message being
13105         repeated, if it is, and increment it when necessary.
13107 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
13109         Removed unnecessary #if
13111         * page/mac/AccessibilityObjectWrapper.mm:
13113 2008-09-19  David Hyatt  <hyatt@apple.com>
13115         Read in prefs for the scroll delay repeat values for buttons.  Also
13116         honor the option-click pref for jumping to the thumb when clicking in
13117         the track.
13119         Reviewed by Sam Weinig
13121         * platform/mac/ScrollbarThemeMac.h:
13122         * platform/mac/ScrollbarThemeMac.mm:
13123         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
13124         (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
13125         (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
13126         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
13128 2008-09-19  David Hyatt  <hyatt@apple.com>
13130         Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
13131         Set the initial button repeat delay to 0.5 for Mac.
13133         Reviewed by Sam Weinig
13135         * WebCore.xcodeproj/project.pbxproj:
13136         * platform/mac/ScrollbarThemeMac.cpp: Removed.
13137         * platform/mac/ScrollbarThemeMac.h:
13138         (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
13139         * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
13141 2008-09-19  Darin Adler  <darin@apple.com>
13143         Reviewed by Sam Weinig.
13145         - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
13146           make each distinct C++ class get a distinct JSC::Structure
13148           + Fixed all cases where we were using a shared structure for multiple
13149             C++ classes in WebCore. This still has to be done in JavaScriptCore.
13151           + Got rid of cacheGlobalObject.
13153           + Improved use of PassRefPtr in bindings code.
13155           + Removed a couple cases where we were potentially allocating prototypes
13156             inside a JSObject's construction process -- this can lead to trouble if
13157             we do a garbage collection while an object is only partly constructed.
13159         * bindings/js/JSAudioConstructor.cpp:
13160         (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
13161         so we don't implicitly share the structure with other objects that use the object
13162         prototype.
13164         * bindings/js/JSDOMBinding.cpp:
13165         (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
13166         don't need cacheGlobalObject any more.
13167         (WebCore::cacheDOMConstructor): Ditto.
13169         * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
13170         Added functions and a function template for getting cached DOM constructors.
13171         Removed cacheGlobalObject function template.
13173         * bindings/js/JSDOMWindowBase.cpp:
13174         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
13175         we're taking ownership.
13176         * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
13177         we're taking ownership. Added constructor map.
13178         * bindings/js/JSDOMWindowCustom.cpp:
13179         (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
13181         * bindings/js/JSDOMWindowShell.cpp:
13182         (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
13183         we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
13184         this is now done in only that one place.
13185         (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
13186         the passed-in DOMWindow. Code was moved here and changed to allocate unique
13187         structures for both the window prototype and the window.
13188         * bindings/js/JSDOMWindowShell.h: Ditto.
13190         * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
13191         have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
13192         private/friend in JSEventTargetBase. Removed comments referring to defunct
13193         macros. Changed JSEventTargetBasePrototype to get the prototype with the new
13194         rather than its own copy of cacheGlobalObject (I missed this during pass 1).
13195         Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
13197         * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
13198         for caching structures and prototypes.
13199         (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
13200         (WebCore::JSEventTargetNode::createPrototype): Added.
13201         * bindings/js/JSEventTargetNode.h: Updated for above changes.
13203         * bindings/js/JSHTMLAllCollection.h:
13204         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
13205         * bindings/js/JSHTMLCollectionCustom.cpp:
13206         (WebCore::getNamedItems): Pass ExecState instead of prototype.
13207         * bindings/js/JSHTMLFormElementCustom.cpp:
13208         (WebCore::JSHTMLFormElement::nameGetter): Ditto.
13209         * bindings/js/JSHTMLInputElementBase.cpp:
13210         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
13211         * bindings/js/JSHTMLInputElementBase.h: Ditto.
13212         * bindings/js/JSHTMLOptionElementConstructor.cpp:
13213         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
13214         Create a unique structure instead of sharing.
13215         * bindings/js/JSImageConstructor.cpp:
13216         (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
13218         * bindings/js/JSInspectedObjectWrapper.cpp:
13219         (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
13220         a prototype rather than a structure. Made the use of inheritorID() here
13221         explicit.
13222         * bindings/js/JSInspectedObjectWrapper.h: Ditto.
13223         * bindings/js/JSInspectorCallbackWrapper.cpp:
13224         (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
13225         * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
13227         * bindings/js/JSNamedNodesCollection.cpp:
13228         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
13229         take an ExecState argument instead of a prototype. Create a unique
13230         StructureID instead of sharing.
13231         * bindings/js/JSNamedNodesCollection.h: Ditto.
13233         * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
13234         constructor that takes a prototype instead of a structure.
13235         * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
13237         * bindings/js/JSRGBColor.cpp:
13238         (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
13239         prototype; create a unique structure.
13240         (WebCore::getJSRGBColor): Ditto.
13241         * bindings/js/JSRGBColor.h: Ditto.
13243         * bindings/js/JSSQLResultSetRowListCustom.cpp:
13244         (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
13245         of explicit coding the idiom for making a new object.
13247         * bindings/js/JSXMLHttpRequestConstructor.cpp:
13248         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
13249         Create a unique structure instead of the shared one.
13250         * bindings/js/JSXSLTProcessorConstructor.cpp:
13251         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
13252         Ditto.
13254         * bindings/js/ScriptController.cpp:
13255         (WebCore::ScriptController::clearWindowShell): Let the window shell's
13256         setWindow function create the JSDOMWindow instead of doing it here.
13258         * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
13259         the structure and the wrapped object when creating wrappers.
13260         Simplified some of the special cases for DOMWindow so they are
13261         different only in ways the need to be. Eliminated the
13262         JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
13263         functions. Moved responsibility for creating the structure and
13264         parent prototype out of the prototype constructor into the
13265         createPrototype function. Removed the unused "DoNotCache" flag for
13266         objects other than DOMWindow. Use getDOMConstructor instead of
13267         cacheGlobalObject for constructors. Make each constructor have
13268         a unique structure ID.
13270         * bridge/objc/objc_runtime.h: Added createPrototype and changed the
13271         name of the info member to s_info so we can use the standard DOM
13272         binding macros to handl the prototype.
13273         * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
13274         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
13275         Create a unique structure using getDOMStructure.
13277         * bridge/runtime_array.cpp: Fixed namespacing a bit.
13278         (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
13279         getDOMStructure.
13280         * bridge/runtime_array.h: Added createPrototype so getDOMStructure
13281         will work.
13283         * bridge/runtime_object.cpp:
13284         (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
13285         getDOMStructure.
13286         * bridge/runtime_object.h: Added createPrototype so getDOMStructure
13287         will work.
13289         * history/CachedPage.cpp:
13290         (WebCore::CachedPage::restore): Let the window shell's
13291         setWindow function create the JSDOMWindow instead of doing it here.
13293         * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
13295 2008-09-19  Dan Bernstein  <mitz@apple.com>
13297         Reviewed by Dave Hyatt.
13299         This optimization was suggested by Daniel Fenwick
13301         - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
13303         Specifying LTR paragraph directionality when measuring runs of RTL text
13304         resulted in typically two CTRuns being generated for every run instead
13305         of one, due to the leading space being reordered to the left.
13307         * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
13308         getCFStringAttributes() and changed m_CFStringAttributes from an array
13309         to a single value.
13310         * platform/graphics/mac/CoreTextController.cpp:
13311         (WebCore::CoreTextController::CoreTextController): Added a
13312         mayUseNaturalWritingDirection parameter.
13313         (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
13314         to force the bidi embedding level whenever 
13315         m_mayUseNaturalWritingDirectrion is false. Since this is now a common
13316         case, made the typesetter options dictionaries static.
13317         * platform/graphics/mac/CoreTextController.h:
13318         * platform/graphics/mac/FontMacCoreText.cpp:
13319         (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
13320         (WebCore::Font::floatWidthForComplexText): Changed to allow the
13321         CoreTextController to not set the writing direction.
13322         * platform/graphics/mac/SimpleFontDataMac.mm:
13323         (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
13324         parameter and the paragraph style attribute.
13326 2008-09-19  David Hyatt  <hyatt@apple.com>
13328         Reviewed by Sam Weinig
13330         https://bugs.webkit.org/show_bug.cgi?id=20941
13332         Incorrect height calculation for replaced element inside nested
13333         positioned elements (where the inner has a percentage height and
13334         the outer implicitly has a fixed height because of explicit top/bottom
13335         values).
13337         Added fast/block/positioning/replaced-inside-top-bottom.html
13339         * rendering/RenderBox.cpp:
13340         (WebCore::RenderBox::availableHeightUsing):
13342 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
13344         Fix Tiger bustage
13346         * page/mac/AccessibilityObjectWrapper.mm:
13348 2008-09-18  Chris Fleizach  <cfleizach@apple.com>
13350         Reviewed by Darin Adler.
13352         <rdar://problem/6211041> Expose legend tag in accessibility
13354         Exposes the legend tag as the titleUIElement of a fieldset
13356         Test: accessibility/legend.html
13358         * page/AccessibilityObject.h:
13359         (WebCore::AccessibilityObject::isFieldset):
13360         * page/AccessibilityRenderObject.cpp:
13361         (WebCore::AccessibilityRenderObject::isFieldset):
13362         (WebCore::AccessibilityRenderObject::titleUIElement):
13363         * page/AccessibilityRenderObject.h:
13364         * rendering/RenderFieldset.h:
13366 2008-09-19  Chris Fleizach  <cfleizach@apple.com>
13368         Reviewed by Darin Adler.
13370         <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
13372         Implement a few AX API methods that will be called by AppKit, which will 
13373         speed up access to accessibility objects
13375         * page/mac/AccessibilityObjectWrapper.mm:
13376         (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
13377         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
13378         (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
13380 2008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
13382         Reviewed by Simon Hausmann.
13384         [qtwebkit] Set the m_should* flags to their proper value on entry
13385         With plugins it was possible that we finished a job twice. This was
13386         some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
13387         setting the flag to (m_loadMode == LoadDeferred) they will always have
13388         the right value and we will not send responses twice.
13390         * platform/network/qt/QNetworkReplyHandler.cpp:
13392 2008-09-19  Holger Hans Peter Freyther  <zecke@selfish.org>
13394         Reviewed by Simon Hausmann.
13396         [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
13397         Handle text decoding errors before instructing the parser to parse. We
13398         have converted the text to QString and all encoding errors are gone and
13399         the parser will not be able to detect them. So handle them before parsing.
13401         * dom/XMLTokenizerQt.cpp:
13402         (WebCore::XMLTokenizer::doWrite):
13404 2008-09-18  Darin Adler  <darin@apple.com>
13406         Reviewed by Maciej Stachowiak.
13408         - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
13409           make each distinct C++ class get a distinct JSC::Structure
13411         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
13412         (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
13413         instead of DOMExceptionTranslator.
13415         * bindings/js/JSDOMBinding.cpp:
13416         (WebCore::getCachedDOMObjectWrapper): Updated function name.
13417         (WebCore::cacheDOMObjectWrapper): Ditto.
13418         (WebCore::forgetDOMObject): Ditto.
13419         (WebCore::getCachedDOMNodeWrapper): Ditto.
13420         (WebCore::forgetDOMNode): Ditto.
13421         (WebCore::cacheDOMNodeWrapper): Ditto.
13422         (WebCore::forgetAllDOMNodesForDocument): Ditto.
13423         (WebCore::markDOMNodesForDocument): Ditto.
13424         (WebCore::updateDOMNodeDocument): Ditto.
13425         (WebCore::getCachedDOMStructure): Added.
13426         (WebCore::createDOMStructure): Ditto.
13428         * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
13429         class and replace the static member functions with non-member
13430         functions. Added many other functions for getting at structures,
13431         prototypes, wrappers, and creating them. Also moved the
13432         cacheGlobalObject function here from JavaScriptCore; eventually
13433         I'll remove that once I get rid of the remaining callers. Also
13434         removed the DOMExceptionTranslator class.
13436         * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
13437         and put one of those maps in each window.
13439         * bindings/js/JSDOMWindowCustom.cpp:
13440         (WebCore::markDOMObjectWrapper): Updated for function name change.
13441         (WebCore::JSDOMWindow::mark): Added code to mark all the structures
13442         in the structure map.
13444         * bindings/js/JSEventTargetNode.cpp:
13445         (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
13446         a structure instead of a prototype.
13447         * bindings/js/JSEventTargetNode.h: Ditto.
13448         * bindings/js/JSHTMLAllCollection.h:
13449         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
13451         * bindings/js/JSHTMLInputElementBase.cpp:
13452         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
13453         use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
13454         structure instead of a prototype.
13455         * bindings/js/JSHTMLInputElementBase.h: Removed use of the
13456         JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
13457         to take a structure instead of a prototype. Created a dummy prototype
13458         class that causes the HTMLInputElement prototype to have the
13459         HTMLElement prototype.
13461         * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
13462         structures instead of prototypes. Changed the prototype self function
13463         to use the getDOMPrototype function -- later we can eliminate it and
13464         have callers invoke getDOMPrototype directly instead. Updated other
13465         functions that have name changes. Added code to generate the
13466         createPrototype member function. Changed use of cacheGlobalObject to
13467         get it from the WebCore namespace instead of the JSC namespace.
13468         Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
13470         * dom/Document.cpp:
13471         (WebCore::Document::~Document): Updated for name change and also
13472         removed unnecessary JSLock use -- there's no need to lock around this.
13473         * dom/Node.cpp:
13474         (WebCore::Node::setDocument): Ditto.
13476         * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
13477         instead of calling new directly.
13479         * bindings/js/JSCSSRuleCustom.cpp:
13480         (WebCore::toJS): Updated for function name changes and used the
13481         CREATE_DOM_OBJECT_WRAPPER macro.
13482         * bindings/js/JSCSSValueCustom.cpp:
13483         (WebCore::toJS): Ditto.
13484         * bindings/js/JSCanvasPixelArrayCustom.cpp:
13485         (WebCore::toJS): Ditto.
13486         * bindings/js/JSDocumentCustom.cpp:
13487         (WebCore::JSDocument::mark): Ditto.
13488         (WebCore::toJS): Ditto.
13489         * bindings/js/JSElementCustom.cpp:
13490         (WebCore::toJSNewlyCreated): Ditto.
13491         * bindings/js/JSEventCustom.cpp:
13492         (WebCore::toJS): Ditto.
13493         * bindings/js/JSEventTargetBase.cpp:
13494         (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
13495         of DOMExceptionTranslator.
13496         (WebCore::toJS): Updated for function name changes and used the
13497         CREATE_DOM_OBJECT_WRAPPER macro.
13498         * bindings/js/JSHTMLCollectionCustom.cpp:
13499         (WebCore::toJS): Ditto.
13500         * bindings/js/JSNodeCustom.cpp:
13501         (WebCore::JSNode::mark): Ditto.
13502         (WebCore::createWrapper): Ditto.
13503         (WebCore::toJS): Ditto.
13504         * bindings/js/JSSVGPathSegCustom.cpp:
13505         (WebCore::toJS): Ditto.
13506         * bindings/js/JSStyleSheetCustom.cpp:
13507         (WebCore::toJS): Ditto.
13508         (WebCore::JSStyleSheet::mark): Ditto.
13509         * bindings/js/JSTextCustom.cpp:
13510         (WebCore::toJSNewlyCreated): Ditto.
13511         * bindings/js/JSXMLHttpRequestConstructor.cpp:
13512         (WebCore::constructXMLHttpRequest): Ditto.
13513         * bindings/js/JSXMLHttpRequestCustom.cpp:
13514         (WebCore::JSXMLHttpRequest::mark): Ditto.
13515         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
13516         (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
13517         * bindings/js/JSXSLTProcessorConstructor.cpp:
13518         (WebCore::constructXSLTProcessor): Ditto.
13519         * bindings/js/ScriptController.cpp:
13520         (WebCore::ScriptController::finishedWithEvent): Ditto.
13521         * xml/XMLHttpRequest.cpp:
13522         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
13523         (WebCore::XMLHttpRequest::dropProtection): Ditto.
13525 2008-09-18  David Hyatt  <hyatt@apple.com>
13527         This patch gets a viewless scrollbar working on Mac. It is turned off
13528         by default.  Hit testing works.  For now the scrollbar just paints ugly
13529         debug rects in the place of the buttons, track and thumb.  It does match
13530         Aqua metrics though.
13532         Reviewed by Sam Weinig
13534         * WebCore.xcodeproj/project.pbxproj:
13535         * page/mac/EventHandlerMac.mm:
13536         (WebCore::EventHandler::passMousePressEventToScrollbar):
13537         * platform/ScrollbarThemeComposite.cpp:
13538         (WebCore::ScrollbarThemeComposite::paint):
13539         (WebCore::ScrollbarThemeComposite::trackPosition):
13540         * platform/ScrollbarThemeComposite.h:
13541         * platform/mac/ScrollViewMac.mm:
13542         (WebCore::ScrollView::addChild):
13543         * platform/mac/ScrollbarThemeMac.cpp:
13544         (WebCore::):
13545         (WebCore::ScrollbarThemeMac::hasButtons):
13546         (WebCore::ScrollbarThemeMac::hasThumb):
13547         (WebCore::buttonRepaintRect):
13548         (WebCore::ScrollbarThemeMac::backButtonRect):
13549         (WebCore::ScrollbarThemeMac::forwardButtonRect):
13550         (WebCore::trackRepaintRect):
13551         (WebCore::ScrollbarThemeMac::trackRect):
13552         (WebCore::ScrollbarThemeMac::minimumThumbLength):
13553         (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
13554         (WebCore::ScrollbarThemeMac::paintTrack):
13555         (WebCore::ScrollbarThemeMac::paintButton):
13556         (WebCore::ScrollbarThemeMac::paintThumb):
13557         * platform/mac/ScrollbarThemeMac.h:
13558         (WebCore::ScrollbarThemeMac::supportsControlTints):
13559         * platform/qt/ScrollbarThemeQt.cpp:
13560         (WebCore::ScrollbarThemeQt::trackPosition):
13562 2008-09-18  Collin Jackson  <collinj@webkit.org>
13564         Build fix; added missing header file to GNUmakefile.am
13566         * GNUmakefile.am:
13568 2008-09-18  Sam Weinig  <sam@webkit.org>
13570         Reviewed by David "the Hair" Hyatt.
13572         Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
13574         * GNUmakefile.am:
13575         * WebCore.pro:
13576         * WebCore.vcproj/WebCore.vcproj:
13577         * WebCore.xcodeproj/project.pbxproj:
13578         * rendering/DataRef.h: Removed.
13579         * rendering/SVGRenderStyle.cpp: Removed.
13580         * rendering/SVGRenderStyle.h: Removed.
13581         * rendering/SVGRenderStyleDefs.cpp: Removed.
13582         * rendering/SVGRenderStyleDefs.h: Removed.
13583         * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
13584         * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
13585         * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
13586         * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
13587         * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
13589 2008-09-18  Mark Rowe  <mrowe@apple.com>
13591         Reviewed by Dan Bernstein.
13593         Add a means of clearing a FrameTree's name.
13595         * WebCore.base.exp:
13596         * page/FrameTree.cpp:
13597         (WebCore::FrameTree::clearName):
13598         * page/FrameTree.h:
13600 2008-09-18  David Hyatt  <hyatt@apple.com>
13602         Eliminate addToSuperview from Widget, since it was only called
13603         by ScrollViewMac's addChild method.  Just shift the original body
13604         of addToSuperView into addChild.
13606         Reviewed by Sam Weinig
13608         * platform/Widget.h:
13609         * platform/mac/ScrollViewMac.mm:
13610         (WebCore::ScrollView::addChild):
13611         * platform/mac/WidgetMac.mm:
13613 2008-09-18  Collin Jackson  <collinj@webkit.org>
13615         Reviewed by Antti Koivisto and Mark Rowe.
13617         Test: http/tests/misc/dns-prefetch-control.html
13619         https://bugs.webkit.org/show_bug.cgi?id=20690
13621         Invoke WebCore::prefetchDNS() on host names that appear in
13622         in the href of hyperlinks and <link rel="dns-prefetch">. This 
13623         can be used to implement DNS prefetching.
13625         * WebCore.vcproj/WebCore.vcproj:
13626         * WebCore.xcodeproj/project.pbxproj:
13627         * dom/Document.cpp:
13628         (WebCore::Document::Document):
13629         (WebCore::Document::processHttpEquiv):
13630         (WebCore::Document::setSecurityOrigin):
13631         (WebCore::Document::initDNSPrefetch):
13632         (WebCore::Document::parseDNSPrefetchControlHeader):
13633         * dom/Document.h:
13634         (WebCore::Document::isDNSPrefetchEnabled):
13635         * html/HTMLAnchorElement.cpp:
13636         (WebCore::HTMLAnchorElement::parseMappedAttribute):
13637         * html/HTMLLinkElement.cpp:
13638         (WebCore::HTMLLinkElement::HTMLLinkElement):
13639         (WebCore::HTMLLinkElement::parseMappedAttribute):
13640         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
13641         (WebCore::HTMLLinkElement::process):
13642         * html/HTMLLinkElement.h:
13643         * html/PreloadScanner.cpp:
13644         (WebCore::PreloadScanner::processAttribute):
13645         * loader/FrameLoader.cpp:
13646         (WebCore::FrameLoader::begin):
13647         * platform/gtk/TemporaryLinkStubs.cpp:
13648         (WebCore::prefetchDNS):
13649         * platform/network/DNS.h: Added.
13650         * platform/network/cf/DNSCFNet.cpp: Added.
13651         (WebCore::prefetchDNS):
13652         * platform/qt/TemporaryLinkStubs.cpp:
13653         (WebCore::prefetchDNS):
13654         * platform/wx/TemporaryLinkStubs.cpp:
13655         (WebCore::prefetchDNS):
13657 2008-09-18  David Hyatt  <hyatt@apple.com>
13659         Eliminate the convertToScreenCoordinate method on Widget, since
13660         ScrollView has redundant methods that already do the same thing.
13662         Reviewed by Sam Weinig
13664         * editing/mac/SelectionControllerMac.mm:
13665         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
13666         * platform/Widget.h:
13667         * platform/mac/WidgetMac.mm:
13668         (WebCore::Widget::containingWindow):
13670 2008-09-18  David Hyatt  <hyatt@apple.com>
13672         Move to only one constructor for Widgets.  Rename data to m_data and make
13673         it have an #ifdef only for platforms that have platform-specific data (Mac
13674         and Gtk).
13676         Reviewed by Sam Weinig
13678         * WebCore.base.exp:
13679         * platform/Widget.cpp:
13680         (WebCore::Widget::init):
13681         * platform/Widget.h:
13682         * platform/gtk/WidgetGtk.cpp:
13683         (WebCore::Widget::Widget):
13684         (WebCore::Widget::~Widget):
13685         (WebCore::Widget::cursor):
13686         (WebCore::Widget::setCursor):
13687         * platform/mac/WidgetMac.mm:
13688         (WebCore::Widget::Widget):
13689         (WebCore::Widget::~Widget):
13690         (WebCore::Widget::addToSuperview):
13691         (WebCore::Widget::removeFromSuperview):
13692         (WebCore::Widget::beforeMouseDown):
13693         (WebCore::Widget::afterMouseDown):
13694         * platform/qt/WidgetQt.cpp:
13695         (WebCore::Widget::Widget):
13696         * platform/win/WidgetWin.cpp:
13697         (WebCore::Widget::Widget):
13698         * platform/wx/WidgetWx.cpp:
13699         (WebCore::Widget::Widget):
13701 2008-09-18  David Hyatt  <hyatt@apple.com>
13703         Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
13704         was no reason for it to be on Widget.  This change eliminates Qt ifdefs
13705         from Widget.
13707         Reviewed by Sam Weinig
13709         * bindings/js/ScriptControllerQt.cpp:
13710         (WebCore::ScriptController::createScriptInstanceForWidget):
13711         * platform/qt/WidgetQt.cpp:
13712         (WebCore::WidgetPrivate::WidgetPrivate):
13713         (WebCore::WidgetPrivate::~WidgetPrivate):
13714         (WebCore::Widget::Widget):
13715         (WebCore::Widget::~Widget):
13716         * plugins/PluginView.cpp:
13717         (WebCore::PluginView::PluginView):
13718         * plugins/PluginView.h:
13719         (WebCore::PluginView::isNPAPIPlugin):
13720         (WebCore::PluginView::setIsNPAPIPlugin):
13722 2008-09-18  David Hyatt  <hyatt@apple.com>
13724         Make geometryChanged() cross-platform on Widget.  GTK and WIN platform
13725         ifdefs are now gone from Widget!
13727         Reviewed by Sam Weinig
13729         * platform/Widget.h:
13730         (WebCore::Widget::geometryChanged):
13731         * platform/gtk/WidgetGtk.cpp:
13732         * platform/qt/WidgetQt.cpp:
13734 2008-09-18  David Hyatt  <hyatt@apple.com>
13736         Consolidate convertTo/FromContainingWindow methods so that all platforms
13737         but Mac share the same code.
13739         Move convertSelfToChild and convertChildToSelf to ScrollView, since
13740         Widget should know nothing about children.  Make the methods cross-platform
13741         on ScrollView.
13743         Reviewed by Sam Weinig
13745         * platform/ScrollView.h:
13746         (WebCore::ScrollView::convertChildToSelf):
13747         (WebCore::ScrollView::convertSelfToChild):
13748         * platform/Widget.cpp:
13749         (WebCore::Widget::convertToContainingWindow):
13750         (WebCore::Widget::convertFromContainingWindow):
13751         * platform/Widget.h:
13752         (WebCore::Widget::geometryChanged):
13753         * platform/gtk/ScrollViewGtk.cpp:
13754         (WebCore::ScrollView::isScrollViewScrollbar):
13755         * platform/gtk/WidgetGtk.cpp:
13756         * platform/mac/ScrollViewMac.mm:
13757         (WebCore::ScrollView::isScrollViewScrollbar):
13758         * platform/mac/WidgetMac.mm:
13759         * platform/qt/ScrollViewQt.cpp:
13760         (WebCore::ScrollView::isScrollViewScrollbar):
13761         * platform/qt/WidgetQt.cpp:
13762         * platform/win/ScrollViewWin.cpp:
13763         (WebCore::ScrollView::isScrollViewScrollbar):
13764         * platform/win/WidgetWin.cpp:
13766 2008-09-18  David Hyatt  <hyatt@apple.com>
13768         Make the conversion methods that go to and from some containingWindow
13769         cross-platform.  Implement them on Mac.
13771         Reviewed by Sam Weinig
13773         * platform/Widget.h:
13774         (WebCore::Widget::setContainingWindow):
13775         * platform/mac/WidgetMac.mm:
13776         (WebCore::Widget::convertFromContainingWindow):
13777         (WebCore::Widget::convertToContainingWindow):
13779 2008-09-18  Sam Weinig  <sam@webkit.org>
13781         Rubber-stamped by David "Yeah-yeah" Hyatt.
13783         Cleanup RenderStyle.
13785         * WebCore.xcodeproj/project.pbxproj:
13786         * rendering/style/CounterContent.h:
13787         * rendering/style/RenderStyle.cpp:
13788         * rendering/style/RenderStyle.h:
13790 2008-09-18  Chris Marrin  <cmarrin@apple.com>
13792         Reviewed by Sam Weinig
13794         Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
13795         Now TransformOperations and AnimationList no longer
13796         inherit from Vector<> but rather have API to access.
13798         * css/CSSComputedStyleDeclaration.cpp:
13799         (WebCore::computedTransform):
13800         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
13801         * css/CSSStyleSelector.cpp:
13802         (WebCore::CSSStyleSelector::createTransformOperations):
13803         * page/animation/AnimationBase.cpp:
13804         (WebCore::blendFunc):
13805         * page/animation/CompositeAnimation.cpp:
13806         (WebCore::CompositeAnimation::updateTransitions):
13807         (WebCore::CompositeAnimation::updateKeyframeAnimations):
13808         (WebCore::CompositeAnimation::animate):
13809         * page/animation/ImplicitAnimation.cpp:
13810         (WebCore::ImplicitAnimation::validateTransformFunctionList):
13811         * page/animation/KeyframeAnimation.cpp:
13812         (WebCore::KeyframeAnimation::validateTransformFunctionList):
13813         * rendering/RenderLayer.cpp:
13814         (WebCore::RenderLayer::updateReflectionStyle):
13815         * rendering/style/AnimationList.cpp:
13816         (WebCore::AnimationList::operator==):
13817         * rendering/style/AnimationList.h:
13818         (WebCore::AnimationList::operator!=):
13819         (WebCore::AnimationList::size):
13820         (WebCore::AnimationList::isEmpty):
13821         (WebCore::AnimationList::resize):
13822         (WebCore::AnimationList::remove):
13823         (WebCore::AnimationList::append):
13824         (WebCore::AnimationList::animation):
13825         * rendering/style/RenderStyle.cpp:
13826         (WebCore::StyleRareNonInheritedData::updateKeyframes):
13827         (WebCore::RenderStyle::applyTransform):
13828         (WebCore::RenderStyle::adjustAnimations):
13829         (WebCore::RenderStyle::adjustTransitions):
13830         (WebCore::RenderStyle::transitionForProperty):
13831         * rendering/style/RenderStyle.h:
13832         (WebCore::RenderStyle::hasTransform):
13833         * rendering/style/TransformOperations.cpp:
13834         (WebCore::TransformOperations::TransformOperations):
13835         (WebCore::TransformOperations::operator==):
13836         * rendering/style/TransformOperations.h:
13837         (WebCore::TransformOperations::apply):
13838         (WebCore::TransformOperations::operations):
13840 2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
13842         Build fix.
13844         [qt] Build fixes after the Widget/ScrollView cleanup
13845         topLevel() is now root()
13848         * platform/qt/ScrollViewQt.cpp:
13849         (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
13850         (WebCore::ScrollView::addChild):
13851         (WebCore::ScrollView::removeChild):
13853 2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>
13855         Reviewed by Mark Rowe.
13857         https://bugs.webkit.org/show_bug.cgi?id=20437
13859         XMLTokenizer.cpp used to contain two different implementations. One was using
13860         libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
13861         separating the two implementations from each other.
13862         Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
13863         was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
13864         XMLTokenizerLibxml2.cpp. There should be no functional changes.
13866         Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
13867         to work.
13869         * GNUmakefile.am:
13870         * WebCore.pro:
13871         * WebCore.vcproj/WebCore.vcproj:
13872         * WebCore.xcodeproj/project.pbxproj:
13873         * WebCoreSources.bkl:
13874         * dom/XMLTokenizer.cpp:
13875         (WebCore::isScriptElement):
13876         (WebCore::castToScriptElement):
13877         (WebCore::XMLTokenizer::setCurrentNode):
13878         (WebCore::XMLTokenizer::write):
13879         (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
13880         (WebCore::XMLTokenizer::enterText):
13881         (WebCore::toString):
13882         (WebCore::XMLTokenizer::exitText):
13883         (WebCore::XMLTokenizer::end):
13884         (WebCore::XMLTokenizer::insertErrorMessageBlock):
13885         * dom/XMLTokenizer.h:
13886         (WebCore::XMLTokenizer::wellFormed):
13887         * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
13888         (WebCore::createMemoryParser):
13889         (WebCore::XMLTokenizer::XMLTokenizer):
13890         (WebCore::XMLTokenizer::~XMLTokenizer):
13891         (WebCore::XMLTokenizer::doWrite):
13892         (WebCore::ignorableWhitespaceHandler):
13893         (WebCore::XMLTokenizer::initializeParserContext):
13894         (WebCore::XMLTokenizer::doEnd):
13895         (WebCore::XMLTokenizer::lineNumber):
13896         (WebCore::XMLTokenizer::columnNumber):
13897         (WebCore::XMLTokenizer::stopParsing):
13898         (WebCore::XMLTokenizer::resumeParsing):
13899         (WebCore::parseXMLDocumentFragment):
13900         (WebCore::attributesStartElementNsHandler):
13901         (WebCore::parseAttributes):
13902         * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
13903         (WebCore::EntityResolver::resolveUndeclaredEntity):
13904         (WebCore::XMLTokenizer::XMLTokenizer):
13905         (WebCore::XMLTokenizer::~XMLTokenizer):
13906         (WebCore::XMLTokenizer::doWrite):
13907         (WebCore::XMLTokenizer::initializeParserContext):
13908         (WebCore::XMLTokenizer::doEnd):
13909         (WebCore::XMLTokenizer::lineNumber):
13910         (WebCore::XMLTokenizer::columnNumber):
13911         (WebCore::XMLTokenizer::stopParsing):
13912         (WebCore::XMLTokenizer::resumeParsing):
13913         (WebCore::parseXMLDocumentFragment):
13914         (WebCore::attributesStartElementNsHandler):
13915         (WebCore::parseAttributes):
13916         (WebCore::):
13918 2008-09-18  Beth Dakin  <bdakin@apple.com>
13920         Reviewed by Geoff Garen.
13922         Build fix for non-Mac builds.
13924         * css/CSSPrimitiveValue.cpp:
13925         (WebCore::CSSPrimitiveValue::cssText):
13927 2008-09-18  Peter Kasting  <pkasting@google.com>
13929         Reviewed by hyatt.  Landed by eseidel.
13931         https://bugs.webkit.org/show_bug.cgi?id=20745
13932         Animated GIFs do not animate properly with (at least) CG.
13934         * WebCore\platform\graphics\BitmapImage.cpp:
13935         * WebCore\platform\graphics\BitmapImage.h:
13936         * WebCore\platform\graphics\cairo\ImageCairo.cpp:
13937         * WebCore\platform\graphics\cg\ImageCG.cpp:
13938         * WebCore\platform\graphics\qt\ImageQt.cpp:
13939         * WebCore\platform\graphics\wx\ImageWx.cpp:
13941 2008-09-18  Chris Fleizach  <cfleizach@apple.com>
13943         Reviewed by Beth Dakin
13945         <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA 
13946         role specifies otherwise
13948         If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
13950         Test: accessibility/table-with-aria-role.html
13952         * page/AccessibilityTable.cpp:
13953         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
13954         (WebCore::AccessibilityTable::addChildren):
13955         (WebCore::AccessibilityTable::roleValue):
13956         (WebCore::AccessibilityTable::accessibilityIsIgnored):
13957         (WebCore::AccessibilityTable::title):
13958         * page/AccessibilityTableCell.cpp:
13959         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
13960         (WebCore::AccessibilityTableCell::isTableCell):
13961         (WebCore::AccessibilityTableCell::roleValue):
13962         * page/AccessibilityTableCell.h:
13963         * page/AccessibilityTableRow.cpp:
13964         (WebCore::AccessibilityTableRow::roleValue):
13965         (WebCore::AccessibilityTableRow::isTableRow):
13966         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
13967         * page/AccessibilityTableRow.h:
13969 2008-09-18  Steve Falkenburg  <sfalken@apple.com>
13971         Use higher-resolution timers on all variants of Windows.
13972         
13973         Reviewed by Darin Adler.
13975         * platform/win/SharedTimerWin.cpp:
13976         (WebCore::setSharedTimerFireTime):
13979 2008-09-18  David Hyatt  <hyatt@apple.com>
13981         Make containingWindow() and setContainingWindow() cross-platform.
13982         Add a root() function cross-platform so Qt doesn't have to
13983         define its own.
13985         Reviewed by Darin Adler
13987         * platform/Widget.cpp:
13988         (WebCore::Widget::root):
13989         * platform/Widget.h:
13990         (WebCore::Widget::setContainingWindow):
13991         * platform/gtk/WidgetGtk.cpp:
13992         (WebCore::Widget::Widget):
13993         (WebCore::Widget::containingWindow):
13994         * platform/mac/ScrollViewMac.mm:
13995         (WebCore::ScrollView::addChild):
13996         (WebCore::ScrollView::removeChild):
13997         * platform/mac/WidgetMac.mm:
13998         (WebCore::Widget::containingWindow):
13999         * platform/qt/WidgetQt.cpp:
14000         (WebCore::Widget::invalidateRect):
14001         (WebCore::Widget::containingWindow):
14002         * platform/win/WidgetWin.cpp:
14003         (WebCore::Widget::Widget):
14004         (WebCore::Widget::~Widget):
14005         (WebCore::Widget::containingWindow):
14007 2008-09-18  Beth Dakin  <bdakin@apple.com>
14009         Reviewed by Dave Hyatt.
14011         Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon 
14012         parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
14013         dashboard-region=
14014         and corresponding: <rdar://problem/6174100>
14016         This patch makes CSSParserValue::createCSSValue handle unknown 
14017         identifiers.
14019         * css/CSSParserValues.cpp:
14020         (WebCore::CSSParserValue::createCSSValue): If we have an identifier 
14021         with no id (an unknown identifier) create a CSSPrimitiveValue of 
14022         type CSS_PARSER_IDENTIFIER
14023         * css/CSSPrimitiveValue.cpp:
14024         (WebCore::CSSPrimitiveValue::cssText):
14025         (WebCore::CSSPrimitiveValue::parserValue):
14026         * css/CSSPrimitiveValue.h:
14027         (WebCore::CSSPrimitiveValue::):
14029 2008-09-18  Sam Weinig  <sam@webkit.org>
14031         Rubber-stamped by David "I'd prefer not" Hyatt.
14033         More the remaining class out of RenderStyle.h/cpp
14035         * GNUmakefile.am:
14036         * WebCore.pro:
14037         * WebCore.vcproj/WebCore.vcproj:
14038         * WebCore.xcodeproj/project.pbxproj:
14039         * WebCoreSources.bkl:
14040         * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
14041         (WebCore::CursorData::CursorData):
14042         (WebCore::CursorData::operator==):
14043         (WebCore::CursorData::operator!=):
14044         * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
14045         (WebCore::CursorList::operator[]):
14046         (WebCore::CursorList::CursorList):
14047         * rendering/style/RenderStyle.cpp:
14048         * rendering/style/RenderStyle.h:
14049         (WebCore::RenderStyle::deref):
14050         (WebCore::RenderStyle::hasOneRef):
14051         (WebCore::RenderStyle::InheritedFlags::operator!=):
14052         (WebCore::RenderStyle::NonInheritedFlags::operator!=):
14053         (WebCore::RenderStyle::hasBackground):
14054         (WebCore::RenderStyle::outlineWidth):
14055         (WebCore::RenderStyle::autoWrap):
14056         (WebCore::RenderStyle::preserveNewline):
14057         (WebCore::RenderStyle::collapseWhiteSpace):
14058         (WebCore::RenderStyle::isCollapsibleWhiteSpace):
14059         (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
14060         (WebCore::RenderStyle::breakWords):
14061         (WebCore::RenderStyle::outlineOffset):
14062         (WebCore::RenderStyle::setLeft):
14063         (WebCore::RenderStyle::setRight):
14064         (WebCore::RenderStyle::setTop):
14065         (WebCore::RenderStyle::setBottom):
14066         (WebCore::RenderStyle::setDashboardRegion):
14067         (WebCore::RenderStyle::setBackgroundColor):
14068         (WebCore::RenderStyle::setBorderImage):
14069         (WebCore::RenderStyle::setBorderRadius):
14070         (WebCore::RenderStyle::setFontDescription):
14071         (WebCore::RenderStyle::adjustBackgroundLayers):
14072         (WebCore::RenderStyle::adjustMaskLayers):
14073         (WebCore::RenderStyle::deleteBindingURIs):
14074         (WebCore::RenderStyle::inheritBindingURIs):
14075         (WebCore::RenderStyle::isDisplayReplacedType):
14076         (WebCore::RenderStyle::isDisplayInlineType):
14077         (WebCore::RenderStyle::isOriginalDisplayInlineType):
14078         * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
14079         * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
14080         (WebCore::StyleInheritedData::operator!=):
14081         * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
14082         * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
14083         (WebCore::StyleRareInheritedData::operator!=):
14084         * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
14085         * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
14086         * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
14088 2008-09-18  David Hyatt  <hyatt@apple.com>
14090         Move the concept of suppression invalidation on Widgets to Scrollbar
14091         instead.  Since this is only used by Scrollbars, there is no need for
14092         it to be on Widget.
14094         Reviewed by Sam Weinig
14096         * platform/Scrollbar.cpp:
14097         (WebCore::Scrollbar::Scrollbar):
14098         (WebCore::Scrollbar::invalidateRect):
14099         * platform/Scrollbar.h:
14100         (WebCore::Scrollbar::suppressInvalidation):
14101         (WebCore::Scrollbar::setSuppressInvalidation):
14102         * platform/Widget.h:
14103         * platform/gtk/WidgetGtk.cpp:
14104         (WebCore::Widget::Widget):
14105         (WebCore::Widget::invalidateRect):
14106         * platform/qt/WidgetQt.cpp:
14107         (WebCore::WidgetPrivate::WidgetPrivate):
14108         (WebCore::Widget::invalidateRect):
14109         * platform/win/WidgetWin.cpp:
14110         (WebCore::Widget::Widget):
14111         (WebCore::Widget::invalidateRect):
14113 2008-09-18  David Hyatt  <hyatt@apple.com>
14115         Make invalidate() on Widget non-virtual and make it just call
14116         invalidateRect() on the boundsGeometry() of the Widget.
14118         Reviewed by Dan Bernstein
14120         * platform/Widget.h:
14121         (WebCore::Widget::boundsGeometry):
14122         (WebCore::Widget::invalidate):
14123         * platform/gtk/WidgetGtk.cpp:
14124         * platform/mac/WidgetMac.mm:
14125         * platform/qt/WidgetQt.cpp:
14126         * platform/win/WidgetWin.cpp:
14127         * platform/wx/WidgetWx.cpp:
14129 2008-09-18  Sam Weinig  <sam@webkit.org>
14131         Rubber-stamped in exile by David Hyatt.
14133         Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
14134         KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
14135         RenderStyle.h/cpp
14137         * GNUmakefile.am:
14138         * WebCore.pro:
14139         * WebCore.vcproj/WebCore.vcproj:
14140         * WebCore.xcodeproj/project.pbxproj:
14141         * WebCoreSources.bkl:
14142         * css/CSSStyleSelector.cpp:
14143         * css/CSSStyleSelector.h:
14144         * page/animation/CompositeAnimation.cpp:
14145         * page/animation/KeyframeAnimation.cpp:
14146         * page/animation/KeyframeAnimation.h:
14147         * rendering/RenderCounter.h:
14148         * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
14149         (WebCore::Animation::~Animation):
14150         (WebCore::Animation::animationsMatch):
14151         (WebCore::Animation::keyframeList):
14152         (WebCore::Animation::setAnimationKeyframe):
14153         * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
14154         * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
14155         * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
14156         * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
14157         * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
14158         (WebCore::BindingURI::operator!=):
14159         * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
14160         * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
14161         (WebCore::ContentData::ContentData):
14162         (WebCore::ContentData::~ContentData):
14163         * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
14164         (WebCore::CounterContent::CounterContent):
14165         * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
14166         * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
14167         (WebCore::CounterDirectives::CounterDirectives):
14168         * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
14169         (WebCore::KeyframeList::insert):
14170         * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
14171         (WebCore::KeyframeValue::KeyframeValue):
14172         (WebCore::KeyframeList::create):
14173         (WebCore::KeyframeList::KeyframeList):
14174         * rendering/style/RenderStyle.cpp:
14175         * rendering/style/RenderStyle.h:
14176         * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
14177         * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
14178         (WebCore::ShadowData::ShadowData):
14179         (WebCore::ShadowData::~ShadowData):
14180         (WebCore::ShadowData::operator!=):
14181         * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
14182         * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
14183         (WebCore::StyleFlexibleBoxData::operator!=):
14184         * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
14185         (WebCore::TimingFunction::TimingFunction):
14186         (WebCore::TimingFunction::operator==):
14188 2008-09-18  Adele Peterson  <adele@apple.com>
14190         Reviewed by Dan Bernstein.
14192         Fix RenderStyle leaks.
14194         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
14196 2008-09-18  Kevin McCullough  <kmccullough@apple.com>
14198         Accidentally checked in code.
14200         * html/HTMLElementFactory.cpp:
14201         (WebCore::frameConstructor):
14202         (WebCore::iframeConstructor):
14204 2008-09-18  Kevin McCullough  <kmccullough@apple.com>
14206         Reviewed by Tim.
14208         <rdar://problem/5722310> gracefully handle too many console messages
14209         (20904)
14210         - Keep track of the most previous message and then compare it to the 
14211         subsequent messages as they come in.  If there are multiple of the same
14212         message create a count that indicates the current number.
14214         * manual-tests/inspector/multiple-console-messages.html: Added.
14215         * page/inspector/Console.js:
14216         * page/inspector/inspector.css:
14218 2008-09-18  Jonathon Jongsma  <jonathon@quotidian.org>
14220         Reviewed by Alp Toker
14222         https://bugs.webkit.org/show_bug.cgi?id=20830
14223         [GTK] Don't use deprecated pango API
14225         Replace deprecated pango functions with non-deprecated ones for newer
14226         versions of pango
14228         * platform/graphics/gtk/FontGtk.cpp:
14229         (WebCore::getDefaultPangoLayout):
14230         * platform/graphics/gtk/FontPlatformDataPango.cpp:
14231         (WebCore::FontPlatformData::FontPlatformData):
14233 2008-09-18  Alp Toker  <alp@nuanti.com>
14235         Build fix for r36587. Add new sources (and sort the lists).
14237         * GNUmakefile.am:
14239 2008-09-17  Sam Weinig  <sam@webkit.org>
14241         Fix Windows build.
14243         * WebCore.vcproj/WebCore.vcproj:
14245 2008-09-17  David Hyatt  <hyatt@apple.com>
14247         Switch back to having frameGeometry be virtual in order to keep Mac
14248         the way it used to be.
14250         Reviewed by Sam Weinig
14252         * WebCore.base.exp:
14253         * platform/Widget.cpp:
14254         (WebCore::Widget::setParent):
14255         * platform/Widget.h:
14256         * platform/gtk/WidgetGtk.cpp:
14257         (WebCore::Widget::frameGeometry):
14258         (WebCore::Widget::setFrameGeometry):
14259         * platform/mac/WidgetMac.mm:
14260         (WebCore::Widget::frameGeometry):
14261         (WebCore::Widget::setFrameGeometry):
14262         * platform/qt/WidgetQt.cpp:
14263         (WebCore::Widget::frameGeometry):
14264         (WebCore::Widget::setFrameGeometry):
14265         * platform/win/WidgetWin.cpp:
14266         (WebCore::Widget::frameGeometry):
14267         (WebCore::Widget::setFrameGeometry):
14268         * platform/wx/WidgetWx.cpp:
14269         (WebCore::Widget::frameGeometry):
14270         (WebCore::Widget::setFrameGeometry):
14271         * plugins/PluginView.cpp:
14272         (WebCore::PluginView::setFrameGeometry):
14273         (WebCore::PluginView::geometryChanged):
14274         * plugins/PluginView.h:
14275         * plugins/gtk/PluginViewGtk.cpp:
14276         (WebCore::PluginView::updatePluginWidget):
14277         * plugins/qt/PluginViewQt.cpp:
14278         (WebCore::PluginView::updatePluginWidget):
14279         * plugins/win/PluginViewWin.cpp:
14280         (WebCore::PluginView::updatePluginWidget):
14282 2008-09-17  Sam Weinig  <sam@webkit.org>
14284         Reviewed by Mark Rowe.
14286         Fix assertion in DOMWindow::adjustWindowRect where we were passing
14287         in garbage values and were getting lucky that they were a not Nan.
14289         * bindings/js/JSDOMWindowBase.cpp:
14290         (WebCore::windowProtoFuncOpen):
14292 2008-09-17  Sam Weinig  <sam@webkit.org>
14294         Fix gtk build.
14296         * rendering/style/MatrixTransformOperation.cpp:
14298 2008-09-17  Sam Weinig  <sam@webkit.org>
14300         Rubber-stamped with love by David Hyatt.
14302         Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation, 
14303         ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
14304         TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
14306         * GNUmakefile.am:
14307         * WebCore.pro:
14308         * WebCore.vcproj/WebCore.vcproj:
14309         * WebCore.xcodeproj/project.pbxproj:
14310         * WebCoreSources.bkl:
14311         * css/CSSStyleSelector.cpp:
14312         * page/animation/AnimationBase.cpp:
14313         (WebCore::solveEpsilon):
14314         * rendering/RenderLayer.cpp:
14315         * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
14316         * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
14317         * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
14318         (WebCore::MatrixTransformOperation::MatrixTransformOperation):
14319         * rendering/style/RenderStyle.cpp:
14320         * rendering/style/RenderStyle.h:
14321         * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
14322         * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
14323         (WebCore::RotateTransformOperation::RotateTransformOperation):
14324         * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
14325         * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
14326         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
14327         * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
14328         * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
14329         (WebCore::SkewTransformOperation::SkewTransformOperation):
14330         * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
14331         * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
14332         (WebCore::StyleTransformData::operator!=):
14333         * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
14334         (WebCore::TransformOperation::):
14335         * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
14336         (WebCore::TransformOperations::TransformOperations):
14337         * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
14338         (WebCore::TransformOperations::operator!=):
14339         * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
14340         * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
14341         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
14343 2008-09-17  Mark Rowe  <mrowe@apple.com>
14345         Build fix.
14347         * rendering/style/StyleDashboardRegion.h:  PlatformString.h rather than String.h.
14349 2008-09-17  David Hyatt  <hyatt@apple.com>
14351         (1) Inline a bunch of methods for accessing frame geometry.
14352         (2) Make sure frameGeometry() works even when you have no underlying
14353         native widget.
14354         (3) Cache a frame geometry rect cross-platform (even for widgets that
14355         have underlying native widgets.
14356         (4) PluginView's updateWindow call is now a virtual function on Widget.
14358         Reviewed by Sam Weinig
14360         * ChangeLog:
14361         * WebCore.base.exp:
14362         * platform/Widget.cpp:
14363         (WebCore::Widget::setFrameGeometry):
14364         * platform/Widget.h:
14365         (WebCore::Widget::x):
14366         (WebCore::Widget::y):
14367         (WebCore::Widget::width):
14368         (WebCore::Widget::height):
14369         (WebCore::Widget::size):
14370         (WebCore::Widget::pos):
14371         (WebCore::Widget::frameGeometry):
14372         (WebCore::Widget::resize):
14373         (WebCore::Widget::move):
14374         (WebCore::Widget::isFrameView):
14375         (WebCore::Widget::windowClipRect):
14376         * platform/mac/WidgetMac.mm:
14377         (WebCore::Widget::~Widget):
14378         (WebCore::Widget::updatePlatformWidgetFrameGeometry):
14379         * platform/win/WidgetWin.cpp:
14380         (WebCore::Widget::updatePlatformWidgetFrameGeometry):
14381         * plugins/PluginView.cpp:
14382         (WebCore::PluginView::setFrameGeometry):
14383         (WebCore::PluginView::geometryChanged):
14384         * plugins/PluginView.h:
14385         * plugins/gtk/PluginViewGtk.cpp:
14386         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
14387         * plugins/qt/PluginViewQt.cpp:
14388         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
14389         * plugins/win/PluginViewWin.cpp:
14390         (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
14391         * plugins/wx/PluginViewWx.cpp:
14393 2008-09-17  Sam Weinig  <sam@webkit.org>
14395         Reviewed by David "Waterman" Hyatt.
14397         Fix a leak of NSViews in WidgetMac.mm.
14399         * platform/mac/WidgetMac.mm:
14400         (WebCore::Widget::~Widget):
14402 2008-09-17  Sam Weinig  <sam@webkit.org>
14404         Rubber-stamped by David Waterman Hyatt.
14406         Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
14407         StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
14409         * GNUmakefile.am:
14410         * WebCore.pro:
14411         * WebCore.vcproj/WebCore.vcproj:
14412         * WebCore.xcodeproj/project.pbxproj:
14413         * WebCoreSources.bkl:
14414         * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
14415         * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
14416         (WebCore::FillLayer::operator!=):
14417         (WebCore::FillLayer::hasImage):
14418         (WebCore::FillLayer::hasFixedImage):
14419         * rendering/style/RenderStyle.cpp:
14420         * rendering/style/RenderStyle.h:
14421         * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
14422         (WebCore::StyleBackgroundData::StyleBackgroundData):
14423         * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
14424         (WebCore::StyleBackgroundData::~StyleBackgroundData):
14425         (WebCore::StyleBackgroundData::operator!=):
14426         * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
14427         * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
14428         (WebCore::StyleBoxData::operator!=):
14429         * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
14430         (WebCore::StyleDashboardRegion::operator!=):
14431         * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
14432         * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
14433         (WebCore::StyleMarqueeData::operator!=):
14434         * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
14435         * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
14436         (WebCore::StyleMultiColData::operator!=):
14437         (WebCore::StyleMultiColData::ruleWidth):
14438         * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
14439         * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
14440         (WebCore::StyleVisualData::operator==):
14442 2008-09-17  David Hyatt  <hyatt@apple.com>
14444         Remove WidgetClient from Widget.
14446         Reviewed by Sam Weinig
14448         * WebCore.xcodeproj/project.pbxproj:
14449         * platform/Widget.h:
14450         (WebCore::Widget::setClient):
14451         (WebCore::Widget::client):
14452         * platform/WidgetClient.h: Removed.
14453         * platform/gtk/WidgetGtk.cpp:
14454         * platform/mac/WidgetMac.mm:
14455         (WebCore::Widget::Widget):
14456         (WebCore::Widget::show):
14457         (WebCore::Widget::hide):
14458         * platform/qt/WidgetQt.cpp:
14459         (WebCore::WidgetPrivate::WidgetPrivate):
14460         * platform/win/WidgetWin.cpp:
14461         (WebCore::Widget::Widget):
14462         * platform/wx/WidgetWx.cpp:
14463         (WebCore::Widget::Widget):
14465 2008-09-17  David Hyatt  <hyatt@apple.com>
14467         Remove isEnabled/setEnabled from Widget.  The concept of being enabled now
14468         only applies to Scrollbars so the method has been moved there and made
14469         cross-platform.  Scrollbar subclasses that have a corresponding native
14470         widget can subclass setEnabled to change the enabled state of the native
14471         widget.
14473         Reviewed by Sam Weinig & Darin Adler
14475         * WebCore.base.exp:
14476         * platform/Scrollbar.cpp:
14477         (WebCore::Scrollbar::Scrollbar):
14478         * platform/Scrollbar.h:
14479         (WebCore::Scrollbar::enabled):
14480         (WebCore::Scrollbar::setEnabled):
14481         * platform/Widget.h:
14482         * platform/gtk/ScrollbarGtk.cpp:
14483         (ScrollbarGtk::setEnabled):
14484         * platform/gtk/ScrollbarGtk.h:
14485         * platform/gtk/WidgetGtk.cpp:
14486         * platform/mac/ScrollbarMac.h:
14487         * platform/mac/ScrollbarMac.mm:
14488         (WebCore::ScrollbarMac::scrollbarHit):
14489         (WebCore::ScrollbarMac::setEnabled):
14490         * platform/mac/WidgetMac.mm:
14491         * platform/qt/WidgetQt.cpp:
14492         (WebCore::WidgetPrivate::WidgetPrivate):
14493         * platform/win/WidgetWin.cpp:
14494         (WebCore::Widget::Widget):
14495         * platform/wx/WidgetWx.cpp:
14497 2008-09-17  Sam Weinig  <sam@webkit.org>
14499         Rubber-stamped by David Hyatt.
14501         Split all RenderStyle enums into their own file.
14503         * GNUmakefile.am:
14504         * WebCore.vcproj/WebCore.vcproj:
14505         * WebCore.xcodeproj/project.pbxproj:
14506         * rendering/style/BorderValue.h:
14507         * rendering/style/CollapsedBorderValue.h:
14508         * rendering/style/RenderStyle.h:
14509         * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
14510         (WebCore::):
14511         * rendering/style/StyleCachedImage.h:
14512         * rendering/style/StyleGeneratedImage.h:
14513         * rendering/style/StyleImage.h:
14515 2008-09-17  Steve Falkenburg  <sfalken@apple.com>
14517         Add back isFrameView check to fix failed assertion during scroll bar teardown.
14518         
14519         Reviewed by Dave Hyatt.
14521         * platform/Scrollbar.cpp:
14522         (WebCore::Scrollbar::setParent):
14524 2008-09-17  Brady Eidson  <beidson@apple.com>
14526         Reviewed by Mac build fix
14528         * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
14530 2008-09-17  Steve Falkenburg  <sfalken@apple.com>
14532         Fix build.
14534         * platform/win/ScrollViewWin.cpp:
14535         (WebCore::ScrollView::setParentVisible):
14536         * plugins/win/PluginViewWin.cpp:
14537         (WebCore::PluginView::init):
14539 2008-09-17  Holger Hans Peter Freyther  <zecke@selfish.org>
14541         Reviewed by Simon.
14543         [QtWebKit] Implement error handling in TextCodecQt::decode
14544         Use the QTextCodec parsing state to set the sawError out variable. This
14545         is needed to pass Test 70 of acid3. The test case for this bug is
14546         fast/encoding/invalid-xml.html that is now partially passed. To pass
14547         it completely the Qt text codecs need to be adjusted to have proper
14548         error handling.
14550         * platform/text/qt/TextCodecQt.cpp:
14551         (WebCore::TextCodecQt::decode):
14553 2008-09-17  Sam Weinig  <sam@webkit.org>
14555         Rubber-stamped by Dave Hyatt.
14557         Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
14558         out of RenderStyle.h/cpp
14560         * GNUmakefile.am:
14561         * WebCore.pro:
14562         * WebCore.vcproj/WebCore.vcproj:
14563         * WebCore.xcodeproj/project.pbxproj:
14564         * WebCoreSources.bkl:
14565         * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
14566         (WebCore::BorderData::hasBorderRadius):
14567         (WebCore::BorderData::borderLeftWidth):
14568         (WebCore::BorderData::borderRightWidth):
14569         (WebCore::BorderData::borderTopWidth):
14570         (WebCore::BorderData::borderBottomWidth):
14571         (WebCore::BorderData::operator!=):
14572         * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
14573         (WebCore::):
14574         (WebCore::BorderValue::BorderValue):
14575         (WebCore::BorderValue::nonZero):
14576         (WebCore::BorderValue::isTransparent):
14577         (WebCore::BorderValue::isVisible):
14578         * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
14579         (WebCore::):
14580         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
14581         (WebCore::CollapsedBorderValue::operator==):
14582         * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
14583         (WebCore::OutlineValue::OutlineValue):
14584         * rendering/style/RenderStyle.cpp:
14585         * rendering/style/RenderStyle.h:
14586         * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
14587         * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
14588         (WebCore::StyleSurroundData::operator!=):
14590 2008-09-17  Beth Dakin  <bdakin@apple.com>
14592         Reviewed by Darin Adler.
14594         This is a better fix for: Invalid CSS code crashes Safari
14595         https://bugs.webkit.org/show_bug.cgi?id=20512
14597         The spec indicates that the only valid input for a counter is a 
14598         number or an identifier. So that is exactly what we allow.
14600         * css/CSSParser.cpp:
14601         (WebCore::CSSParser::parseCounterContent):
14603 2008-09-17  Alp Toker  <alp@nuanti.com>
14605         GTK+ build fix. Adapt to use PlatformWidget functions.
14607         * platform/gtk/ScrollViewGtk.cpp:
14608         (WebCore::ScrollViewScrollbar::geometryChanged):
14609         (WebCore::ScrollView::addChild):
14610         (WebCore::ScrollView::removeChild):
14611         * platform/gtk/ScrollbarGtk.cpp:
14612         (ScrollbarGtk::ScrollbarGtk):
14613         (ScrollbarGtk::~ScrollbarGtk):
14614         (ScrollbarGtk::geometryChanged):
14616 2008-09-17  Sam Weinig  <sam@webkit.org>
14618         Reviewed by Adele Peterson.
14620         Patch for <rdar://problem/6133884> 
14621         Calling window.resizeTo() on a subframe shouldn't change the window size
14623         Test: fast/dom/Window/window-resize-and-move-sub-frame.html
14625         * page/DOMWindow.cpp:
14626         (WebCore::DOMWindow::moveBy):
14627         (WebCore::DOMWindow::moveTo):
14628         (WebCore::DOMWindow::resizeBy):
14629         (WebCore::DOMWindow::resizeTo):
14631 2008-09-17  Beth Dakin  <bdakin@apple.com>
14633         Reviewed by Adam Roben.
14635         Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS 
14636         code crashes Safari 
14637         and corresponding: <rdar://problem/6173832>
14639         Reading through the spec, it seems like a function is not valid 
14640         input for a counter. So this patch checks for that and bails in the 
14641         case of invalid input. 
14643         * css/CSSParser.cpp:
14644         (WebCore::CSSParser::parseCounterContent):
14646 2008-09-17  Greg Bolsinga  <bolsinga@apple.com>
14648         Reviewed by Antti Koivisto.
14650         Fix <rdar://problem/6227089> 
14651         Crash in WebCore::Frame::setNeedsReapplyStyles()
14652         
14653         View is null checked elsewhere too.
14655         * page/Frame.cpp:
14656         (WebCore::Frame::setNeedsReapplyStyles):
14658 2008-09-17  David Hyatt  <hyatt@apple.com>
14660         Make the notion of having a native widget backing a Widget cross-platform.
14661         The PlatformWidget abstraction (which already existed) is used for this.
14662              Windows = HWND
14663              Qt = QWidget
14664              Mac = NSView
14665              wx = wxWindow
14666              Gtk = GtkWidget
14668         There are new cross-platform methods that replace all of the unique
14669         platform-specific methods.
14670              platformWidget()
14671              setPlatformWidget()
14673         For plugins, on every platform except Qt on Windows, the plugin's native
14674         widget is now stored in the Widget base class.  Since Qt on Windows uses
14675         HWNDs for plugins instead of QWidget, it is the only platform to keep the
14676         m_window variable in PluginView.
14678         Reviewed by Sam Weinig
14680         * WebCore.base.exp:
14681         * bindings/js/ScriptControllerMac.mm:
14682         (WebCore::ScriptController::createScriptInstanceForWidget):
14683         * page/mac/AccessibilityObjectWrapper.mm:
14684         (-[AccessibilityObjectWrapper attachmentView]):
14685         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
14686         * page/mac/EventHandlerMac.mm:
14687         (WebCore::EventHandler::passMouseDownEventToWidget):
14688         (WebCore::EventHandler::mouseDownViewIfStillGood):
14689         (WebCore::EventHandler::passWheelEventToWidget):
14690         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
14691         * platform/Widget.cpp:
14692         (WebCore::Widget::init):
14693         (WebCore::Widget::setParent):
14694         (WebCore::Widget::releasePlatformWidget):
14695         (WebCore::Widget::retainPlatformWidget):
14696         * platform/Widget.h:
14697         (WebCore::Widget::platformWidget):
14698         (WebCore::Widget::setPlatformWidget):
14699         * platform/gtk/WidgetGtk.cpp:
14700         (WebCore::Widget::Widget):
14701         (WebCore::Widget::setFocus):
14702         (WebCore::gdkDrawable):
14703         (WebCore::Widget::setCursor):
14704         (WebCore::Widget::show):
14705         (WebCore::Widget::hide):
14706         (WebCore::Widget::setEnabled):
14707         (WebCore::Widget::isEnabled):
14708         (WebCore::Widget::paint):
14709         * platform/mac/PlatformScreenMac.mm:
14710         (WebCore::screenRect):
14711         (WebCore::screenAvailableRect):
14712         * platform/mac/ScrollViewMac.mm:
14713         (WebCore::ScrollView::scrollView):
14714         (WebCore::ScrollView::update):
14715         (WebCore::ScrollView::inWindow):
14716         * platform/mac/ScrollbarMac.mm:
14717         (WebCore::ScrollbarMac::ScrollbarMac):
14718         (WebCore::ScrollbarMac::~ScrollbarMac):
14719         (WebCore::ScrollbarMac::updateThumbPosition):
14720         (WebCore::ScrollbarMac::updateThumbProportion):
14721         (WebCore::ScrollbarMac::scrollbarHit):
14722         * platform/mac/WidgetMac.mm:
14723         (WebCore::Widget::Widget):
14724         (WebCore::Widget::setEnabled):
14725         (WebCore::Widget::isEnabled):
14726         (WebCore::Widget::setFocus):
14727         (WebCore::Widget::getOuterView):
14728         (WebCore::Widget::paint):
14729         (WebCore::Widget::invalidate):
14730         (WebCore::Widget::invalidateRect):
14731         (WebCore::Widget::setIsSelected):
14732         (WebCore::Widget::releasePlatformWidget):
14733         (WebCore::Widget::retainPlatformWidget):
14734         * platform/qt/WidgetQt.cpp:
14735         (WebCore::WidgetPrivate::WidgetPrivate):
14736         (WebCore::Widget::Widget):
14737         (WebCore::Widget::setFrameGeometry):
14738         (WebCore::Widget::show):
14739         (WebCore::Widget::hide):
14740         (WebCore::Widget::isEnabled):
14741         (WebCore::Widget::setEnabled):
14742         (WebCore::Widget::invalidateRect):
14743         (WebCore::Widget::containingWindow):
14744         * platform/win/WidgetWin.cpp:
14745         (WebCore::Widget::Widget):
14746         * platform/wx/WidgetWx.cpp:
14747         (WebCore::Widget::Widget):
14748         (WebCore::Widget::frameGeometry):
14749         (WebCore::Widget::setFocus):
14750         (WebCore::Widget::setCursor):
14751         (WebCore::Widget::show):
14752         (WebCore::Widget::hide):
14753         (WebCore::Widget::setFrameGeometry):
14754         (WebCore::Widget::setEnabled):
14755         (WebCore::Widget::isEnabled):
14756         (WebCore::Widget::invalidate):
14757         (WebCore::Widget::invalidateRect):
14758         (WebCore::Widget::paint):
14759         * plugins/PluginView.cpp:
14760         (WebCore::PluginView::PluginView):
14761         * plugins/PluginView.h:
14762         (WebCore::PluginView::platformPluginWidget):
14763         * plugins/gtk/PluginViewGtk.cpp:
14764         (WebCore::PluginView::updateWindow):
14765         (WebCore::PluginView::setFocus):
14766         (WebCore::PluginView::show):
14767         (WebCore::PluginView::hide):
14768         (WebCore::PluginView::setParent):
14769         (WebCore::PluginView::setNPWindowRect):
14770         (WebCore::PluginView::setParentVisible):
14771         (WebCore::PluginView::getValue):
14772         (WebCore::PluginView::forceRedraw):
14773         (WebCore::PluginView::init):
14774         * plugins/qt/PluginViewQt.cpp:
14775         (WebCore::PluginView::updateWindow):
14776         (WebCore::PluginView::setFocus):
14777         (WebCore::PluginView::show):
14778         (WebCore::PluginView::hide):
14779         (WebCore::PluginView::setParent):
14780         (WebCore::PluginView::setNPWindowRect):
14781         (WebCore::PluginView::setParentVisible):
14782         (WebCore::PluginView::getValue):
14783         (WebCore::PluginView::~PluginView):
14784         (WebCore::PluginView::init):
14785         * plugins/win/PluginViewWin.cpp:
14786         (WebCore::PluginView::updateWindow):
14787         (WebCore::PluginView::setFocus):
14788         (WebCore::PluginView::show):
14789         (WebCore::PluginView::hide):
14790         (WebCore::PluginView::paint):
14791         (WebCore::PluginView::setParent):
14792         (WebCore::PluginView::setParentVisible):
14793         (WebCore::PluginView::setNPWindowRect):
14794         (WebCore::PluginView::stop):
14795         (WebCore::PluginView::invalidateRect):
14796         (WebCore::PluginView::forceRedraw):
14797         (WebCore::PluginView::~PluginView):
14798         (WebCore::PluginView::init):
14800 2008-09-17  Sam Weinig  <sam@webkit.org>
14802         Fix assert.
14804         * platform/Widget.cpp:
14805         (WebCore::Widget::setParent):
14807 2008-09-17  David Hyatt  <hyatt@apple.com>
14809         Beginnings of Widget refactoring (in order to make the mixing of
14810         widgets with and without corresponding native widgets more cross-platform).
14812         This first patch makes the concept of a parent ScrollView cross-platform.
14814         Note the similarity of the show/hide methods on the three PluginViews.  This
14815         will be refactored better in a later patch so that they can all share
14816         a base class Widget show/hide method.  For now the changes were made
14817         simply to be able to bring WidgetWin's setParent method up into Widget.
14819         Reviewed by Sam Weinig
14821         * WebCore.base.exp:
14822         * platform/ScrollView.h:
14823         * platform/Widget.cpp:
14824         (WebCore::Widget::init):
14825         (WebCore::Widget::setParent):
14826         * platform/Widget.h:
14827         (WebCore::Widget::isSelfVisible):
14828         (WebCore::Widget::isParentVisible):
14829         (WebCore::Widget::isVisible):
14830         (WebCore::Widget::setParentVisible):
14831         (WebCore::Widget::isPluginView):
14832         (WebCore::Widget::parent):
14833         (WebCore::Widget::handleEvent):
14834         (WebCore::Widget::geometryChanged):
14835         * platform/gtk/WidgetGtk.cpp:
14836         (WebCore::Widget::Widget):
14837         * platform/mac/ScrollViewMac.mm:
14838         (WebCore::ScrollView::addChild):
14839         (WebCore::ScrollView::removeChild):
14840         * platform/mac/ScrollbarMac.mm:
14841         (WebCore::ScrollbarMac::~ScrollbarMac):
14842         * platform/mac/WidgetMac.mm:
14843         (WebCore::Widget::Widget):
14844         (WebCore::Widget::~Widget):
14845         * platform/qt/WidgetQt.cpp:
14846         (WebCore::WidgetPrivate::WidgetPrivate):
14847         (WebCore::Widget::Widget):
14848         (WebCore::Widget::topLevel):
14849         * platform/win/ScrollViewWin.cpp:
14850         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14851         (WebCore::ScrollView::setAncestorVisible):
14852         (WebCore::ScrollView::show):
14853         (WebCore::ScrollView::hide):
14854         * platform/win/WidgetWin.cpp:
14855         (WebCore::Widget::Widget):
14856         (WebCore::Widget::setParent):
14857         * platform/wx/WidgetWx.cpp:
14858         (WebCore::Widget::Widget):
14859         * plugins/PluginView.cpp:
14860         (WebCore::PluginView::PluginView):
14861         * plugins/PluginView.h:
14862         * plugins/gtk/PluginViewGtk.cpp:
14863         (WebCore::PluginView::show):
14864         (WebCore::PluginView::hide):
14865         (WebCore::PluginView::setParentVisible):
14866         * plugins/qt/PluginViewQt.cpp:
14867         (WebCore::PluginView::show):
14868         (WebCore::PluginView::hide):
14869         (WebCore::PluginView::setParentVisible):
14870         * plugins/win/PluginViewWin.cpp:
14871         (WebCore::PluginView::show):
14872         (WebCore::PluginView::hide):
14873         (WebCore::PluginView::setParentVisible):
14875 2008-09-17  Alexey Proskuryakov  <ap@webkit.org>
14877         Reviewed by Adam Roben.
14879         <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
14881         * platform/text/TextCodecICU.cpp:
14882         (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
14884 2008-09-17  Tor Arne Vestbø  <tavestbo@trolltech.com>
14886         Fix the QtWebKit/Mac build
14888         * platform/qt/ScrollViewQt.cpp: add include
14890 2008-09-17  David Hyatt  <hyatt@apple.com>
14892         Add a #define to control whether or not to use an NSScroller on Mac.
14893         This ifdef will allow the new NSView-less NSScroller on Mac to be
14894         developed side by side with the current one.
14896         The new scroller paints a debug red if turned on (although due to
14897         Widget issues you won't see anything paint yet).
14899         Reviewed by olliej
14901         * platform/Scrollbar.cpp:
14902         * platform/Scrollbar.h:
14903         * platform/mac/ScrollbarMac.h:
14904         * platform/mac/ScrollbarMac.mm:
14905         * platform/mac/ScrollbarThemeMac.cpp:
14906         (WebCore::ScrollbarThemeMac::paint):
14907         * platform/mac/ScrollbarThemeMac.h:
14909 2008-09-16  Marco Barisione  <marco.barisione@collabora.co.uk>
14911         Reviewed by Alp Toker.
14913         http://bugs.webkit.org/show_bug.cgi?id=20854
14914         [GTK] Windows can be not realized in ScrollView::update
14916         Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
14918         * platform/gtk/ScrollViewGtk.cpp:
14919         (WebCore::ScrollView::update):
14921 2008-09-16  Alp Toker  <alp@nuanti.com>
14923         Suggested by Dave Hyatt.
14925         Build fix and cleanup. Rename ScrollBar to Scrollbar.
14927         * GNUmakefile.am:
14928         * WebCore.pro:
14929         * WebCore.vcproj/WebCore.vcproj:
14930         * WebCore.xcodeproj/project.pbxproj:
14931         * WebCoreSources.bkl:
14932         * editing/EditorCommand.cpp:
14933         * page/EventHandler.cpp:
14934         * page/gtk/EventHandlerGtk.cpp:
14935         * page/mac/EventHandlerMac.mm:
14936         * page/mac/FrameMac.mm:
14937         * page/qt/EventHandlerQt.cpp:
14938         * page/wx/EventHandlerWx.cpp:
14939         * platform/PopupMenu.h:
14940         * platform/ScrollBar.cpp: Removed.
14941         * platform/ScrollBar.h: Removed.
14942         * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
14943         * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
14944         * platform/gtk/ScrollbarGtk.cpp:
14945         (ScrollbarGtk::ScrollbarGtk):
14946         * platform/gtk/ScrollbarGtk.h:
14947         * platform/mac/ScrollbarMac.h:
14948         * platform/qt/ScrollViewQt.cpp:
14949         * platform/qt/ScrollbarQt.cpp:
14950         * platform/qt/ScrollbarThemeQt.cpp:
14951         * platform/win/PlatformScrollBar.h:
14952         * platform/win/PopupMenuWin.cpp:
14953         * platform/win/ScrollViewWin.cpp:
14954         * platform/win/ScrollbarThemeWin.cpp:
14955         * platform/wx/ScrollViewWx.cpp:
14956         * platform/wx/TemporaryLinkStubs.cpp:
14957         * rendering/HitTestResult.cpp:
14958         * rendering/RenderLayer.cpp:
14959         * rendering/RenderTextControl.cpp:
14961 2008-09-16  David Hyatt  <hyatt@apple.com>
14963         Fix Qt build bustage by making moveThumb a member of Scrollbar so that
14964         it can be called from ScrollbarQt.
14966         * platform/ScrollBar.cpp:
14967         (WebCore::Scrollbar::moveThumb):
14968         (WebCore::Scrollbar::handleMouseMoveEvent):
14969         (WebCore::Scrollbar::handleMousePressEvent):
14970         * platform/ScrollBar.h:
14971         * platform/qt/ScrollViewQt.cpp:
14972         * platform/qt/ScrollbarQt.cpp:
14973         (WebCore::Scrollbar::handleContextMenuEvent):
14975 2008-09-16  David Hyatt  <hyatt@apple.com>
14977         Eliminate PlatformScrollbar.  Mac and Gtk now have subclasses for their
14978         native-widget scrollbars (ScrollbarMac and ScrollbarGtk).  Other platforms
14979         now just use Scrollbar.
14981         Reviewed by Sam Weinig
14983         * GNUmakefile.am:
14984         * WebCore.pro:
14985         * WebCore.vcproj/WebCore.vcproj:
14986         * WebCore.xcodeproj/project.pbxproj:
14987         * page/mac/FrameMac.mm:
14988         * platform/PopupMenu.h:
14989         (WebCore::PopupMenu::scrollbar):
14990         * platform/ScrollBar.cpp:
14991         (WebCore::createNativeScrollbar):
14992         * platform/ScrollBar.h:
14993         * platform/gtk/PlatformScrollBar.h: Removed.
14994         * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
14995         * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
14996         (gtkScrollEventCallback):
14997         (ScrollbarGtk::ScrollbarGtk):
14998         (ScrollbarGtk::~ScrollbarGtk):
14999         (ScrollbarGtk::updateThumbPosition):
15000         (ScrollbarGtk::updateThumbProportion):
15001         (ScrollbarGtk::setFrameGeometry):
15002         (ScrollbarGtk::geometryChanged):
15003         (ScrollbarGtk::gtkValueChanged):
15004         * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
15005         * platform/mac/PlatformScrollBar.h: Removed.
15006         * platform/mac/PlatformScrollBarMac.mm: Removed.
15007         * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
15008         * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
15009         (-[WebCoreScrollBar initWithScrollbarMac:]):
15010         (-[WebCoreScrollBar detachScrollbarMac]):
15011         (WebCore::Scrollbar::createNativeScrollbar):
15012         (WebCore::ScrollbarMac::ScrollbarMac):
15013         (WebCore::ScrollbarMac::~ScrollbarMac):
15014         (WebCore::ScrollbarMac::updateThumbPosition):
15015         (WebCore::ScrollbarMac::updateThumbProportion):
15016         (WebCore::ScrollbarMac::scrollbarHit):
15017         * platform/qt/PlatformScrollBar.h: Removed.
15018         * platform/qt/PlatformScrollBarQt.cpp: Removed.
15019         * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
15020         (WebCore::Scrollbar::handleContextMenuEvent):
15021         * rendering/HitTestResult.cpp:
15022         * rendering/RenderLayer.cpp:
15023         (WebCore::RenderLayer::createScrollbar):
15024         (WebCore::RenderLayer::destroyScrollbar):
15025         * rendering/RenderLayer.h:
15026         * rendering/RenderListBox.cpp:
15027         (WebCore::RenderListBox::~RenderListBox):
15028         (WebCore::RenderListBox::updateFromElement):
15029         (WebCore::RenderListBox::isPointInOverflowControl):
15030         * rendering/RenderObject.h:
15031         * rendering/RenderTextControl.cpp:
15033 2008-09-16  David Hyatt  <hyatt@apple.com>
15035         Make the scrollbar resizer-dodging logic cross-platform in the
15036         Scrollbar class.
15038         Reviewed by Sam Weinig
15040         * platform/ScrollBar.cpp:
15041         (WebCore::Scrollbar::setFrameGeometry):
15042         (WebCore::Scrollbar::setParent):
15043         (WebCore::Scrollbar::windowClipRect):
15044         * platform/ScrollBar.h:
15045         * platform/ScrollView.h:
15046         (WebCore::ScrollView::windowResizerRect):
15047         (WebCore::ScrollView::resizerOverlapsContent):
15048         (WebCore::ScrollView::adjustOverlappingScrollbarCount):
15049         * platform/Widget.h:
15050         (WebCore::Widget::setParent):
15051         * platform/mac/WidgetMac.mm:
15052         (WebCore::Widget::convertToContainingWindow):
15053         * platform/win/PlatformScrollBar.h:
15054         * platform/win/PlatformScrollBarWin.cpp:
15056 2008-09-16  Dan Bernstein  <mitz@apple.com>
15058         Reviewed by Darin Adler.
15060         - fix https://bugs.webkit.org/show_bug.cgi?id=15129
15061           <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
15063         Covered by fast/repaint/4776765.html
15065         * rendering/RenderBlock.cpp:
15066         (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
15067         did not have layout in the beginning.
15068         (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
15069         layout in the beginning, repaint it in its new position, to compensate
15070         for the above (regardless of whether it "moved").
15071         * rendering/RenderObject.cpp:
15072         (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
15073         about generalizing this fix in the future.
15075 2008-09-16  Dan Bernstein  <mitz@apple.com>
15077         Reviewed by Dave Hyatt.
15079         - fix https://bugs.webkit.org/show_bug.cgi?id=15384
15080           Div does not notice when grandparent changes height
15082         Test: fast/block/basic/quirk-percent-height-grandchild.html
15084         - fix https://bugs.webkit.org/show_bug.cgi?id=20714
15085           Resizing Gmail inbox vertically results in whitespace at the bottom of the window
15087         Test: fast/replaced/percent-height-in-anonymous-block.html
15089         Added a two-way mapping between boxes with percentage heights and
15090         their non-parent ancestors up to the one the height is computed relative
15091         to. In quirks mode (the first bug), this can be any number of containing
15092         block with auto height. In strict mode (the second bug) this can be
15093         the containing block of an anonymous block containing a replaced
15094         element.
15096         * rendering/RenderBlock.cpp:
15097         (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
15098         mapping to/from this block to percentage-height descendants.
15099         (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
15100         percentage-height descendants (and their containing block ancestry chain
15101         up to this block) for layout. This ensures that those descendants whose
15102         height depends on the height of this block (or an ancestor) are updated.
15103         (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
15104         a two-way mapping between this block and the given box.
15105         (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
15106         all the mapping to/from this box.
15107         * rendering/RenderBlock.h:
15108         * rendering/RenderBox.cpp:
15109         (WebCore::RenderBox::setStyle): Added calls to
15110         removePercentHeightDescendant() when style changes and the box
15111         previously had a percentage height. An exception is when the style
15112         change does not require layout, in which case the box still has
15113         a percentage height and the mappings are valid. In all other cases,
15114         any required mappings will be (re-)established during layout.
15115         (WebCore::RenderBox::destroy): Added a call to
15116         removePercentHeightDescendant.
15117         (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
15118         mode, if a higher-than-parent containing block is affecting the box's
15119         height, creates a mapping between the box and that block.
15120         (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
15121         anonymous containing blocks, if any, and when that happens, use
15122         addPercentHeightDescendant() to ensure that the non-anonymous block
15123         is aware of the dependent percent-height box.
15125 2008-09-16  Dirk Schulze  <vbs85@gmx.de>
15127         Reviewed by Oliver Hunt and Alp Toker.
15129         Implemented toDataURL in Cairo. Only PNG support
15130         at the moment.
15132         Qt, Cairo and wx require toDataURL implementations
15133         https://bugs.webkit.org/show_bug.cgi?id=17719
15135         * platform/MIMETypeRegistry.cpp:
15136         (WebCore::initializeSupportedImageMIMETypesForEncoding):
15137         * platform/graphics/cairo/ImageBufferCairo.cpp:
15138         (WebCore::ImageBuffer::ImageBuffer):
15139         (WebCore::writeFunction):
15140         (WebCore::ImageBuffer::toDataURL):
15142 2008-09-16  Tor Arne Vestbø  <tavestbo@trolltech.com>
15144         Reviewed by Simon.
15146         Hide unused media element controls in the QtWebKit port
15148         * platform/qt/html4-adjustments-qt.css
15150 2008-09-16  Ariya Hidayat  <ariya.hidayat@trolltech.com>
15152         Reviewed by Simon.
15154         Fix compilation of the Qt scrollbar code.
15156         * platform/qt/PlatformScrollBarQt.cpp:
15157         (WebCore::scPart):
15158         (WebCore::styleOptionSlider):
15159         (WebCore::thumbLength):
15160         (WebCore::pixelPosToRangeValue):
15161         (WebCore::PlatformScrollbar::handleContextMenuEvent):
15163 2008-09-16  Adam Treat  <treat@kde.org>
15165         Reviewed by Anders Carlsson.
15167         Prevent accesses off of the end of the buffer introduced in r36450
15168         and when checking for descriptions of mime. Also, coding style fix.
15170         * plugins/qt/PluginPackageQt.cpp:
15171         (WebCore::PluginPackage::fetchInfo):
15173 2008-09-15  Rob Buis  <buis@kde.org>
15175         Reviewed by Eric.
15177         https://bugs.webkit.org/show_bug.cgi?id=20634
15178         SVG transform attribute is ignored by <use> in <clipPath>
15180         Transform the paths with the local transform when part
15181         of a clip path.
15183         Test: svg/custom/use-clipped-transform.svg
15185         * svg/SVGClipPathElement.cpp:
15186         (WebCore::SVGClipPathElement::canvasResource):
15187         * svg/SVGStyledTransformableElement.cpp:
15188         (WebCore::SVGStyledTransformableElement::toClipPath):
15189         * svg/SVGStyledTransformableElement.h:
15191 2008-09-15  Dave Hyatt  <hyatt@apple.com>
15193         Convert Qt over to its ScrollbarTheme.  Add cross-platform support for jumping the thumb location directly
15194         to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
15195       
15196         Reviewed by Sam Weinig
15198         * platform/ScrollBar.cpp:
15199         (WebCore::thumbUnderMouse):
15200         (WebCore::Scrollbar::autoscrollPressedPart):
15201         (WebCore::Scrollbar::startTimerIfNeeded):
15202         (WebCore::moveThumb):
15203         (WebCore::Scrollbar::handleMouseMoveEvent):
15204         (WebCore::Scrollbar::handleMousePressEvent):
15205         * platform/ScrollBar.h:
15206         (WebCore::Scrollbar::pressedPos):
15207         (WebCore::Scrollbar::pixelStep):
15208         (WebCore::Scrollbar::setPressedPos):
15209         * platform/ScrollbarTheme.h:
15210         (WebCore::ScrollbarTheme::thumbPosition):
15211         (WebCore::ScrollbarTheme::thumbLength):
15212         (WebCore::ScrollbarTheme::trackPosition):
15213         (WebCore::ScrollbarTheme::trackLength):
15214         * platform/ScrollbarThemeComposite.cpp:
15215         (WebCore::ScrollbarThemeComposite::trackPosition):
15216         * platform/ScrollbarThemeComposite.h:
15217         * platform/qt/PlatformScrollBarQt.cpp:
15218         (WebCore::PlatformScrollbar::PlatformScrollbar):
15219         (WebCore::):
15220         * platform/qt/ScrollbarThemeQt.cpp:
15221         (WebCore::styleOptionSlider):
15222         (WebCore::ScrollbarThemeQt::hitTest):
15223         (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
15224         (WebCore::ScrollbarThemeQt::invalidatePart):
15225         (WebCore::ScrollbarThemeQt::thumbPosition):
15226         (WebCore::):
15227         * platform/qt/ScrollbarThemeQt.h:
15228         * platform/win/ScrollbarThemeSafari.cpp:
15229         (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
15230         * platform/win/ScrollbarThemeSafari.h:
15231         * platform/win/ScrollbarThemeWin.cpp:
15232         (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
15233         * platform/win/ScrollbarThemeWin.h:
15235 2008-09-15  David Smith  <catfish.man@gmail.com>
15237         Reviewed by Sam Weinig.
15238         
15239         https://bugs.webkit.org/show_bug.cgi?id=20180
15240         
15241         Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
15243         * GNUmakefile.am: Add CSSNthSelector
15244         * WebCore.pro: Add CSSNthSelector
15245         * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
15246         * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
15247         * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
15248         * css/CSSNthSelector.cpp: Added.
15249         (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
15250         (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
15251         * css/CSSNthSelector.h: Added.
15252         (WebCore::CSSNthSelector::CSSNthSelector):
15253         (WebCore::CSSNthSelector::~CSSNthSelector):
15254         * css/CSSParser.cpp:
15255         (WebCore::CSSParser::createFloatingNthSelector):
15256         * css/CSSParser.h:
15257         * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
15258         (WebCore::CSSSelector::CSSSelector):
15259         * css/CSSStyleSelector.cpp:
15260         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
15262 2008-09-15  Matt Lilek  <webkit@mattlilek.com>
15264         Reviewed by Tim Hatcher.
15266         Clean up some inspector JS callbacks to remove an extra return.
15268         * page/InspectorController.cpp:
15269         (WebCore::hideDOMNodeHighlight):
15270         (WebCore::loaded):
15271         (WebCore::unloading):
15272         (WebCore::attach):
15273         (WebCore::detach):
15274         (WebCore::startDebuggingAndReloadInspectedPage):
15275         (WebCore::stopDebugging):
15276         (WebCore::debuggerAttached):
15277         (WebCore::pauseOnExceptions):
15278         (WebCore::pauseInDebugger):
15279         (WebCore::resumeDebugger):
15280         (WebCore::stepOverStatementInDebugger):
15281         (WebCore::stepIntoStatementInDebugger):
15282         (WebCore::stepOutOfFunctionInDebugger):
15283         (WebCore::isWindowVisible):
15284         (WebCore::closeWindow):
15286 2008-09-15  Dave Hyatt  <hyatt@apple.com>
15288         Completely switch Windows scrollbars over to ScrollbarTheme.  The Aqua windows scrollbar and native scrollbar
15289         now share most of their code.
15290        
15291         Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
15292         also is never used in our code anyway.
15293        
15294         Reviewed by Sam Weinig
15296         * WebCore.vcproj/WebCore.vcproj:
15297         * platform/ScrollTypes.h:
15298         (WebCore::):
15299         * platform/ScrollbarThemeComposite.cpp:
15300         (WebCore::ScrollbarThemeComposite::splitTrack):
15301         (WebCore::ScrollbarThemeComposite::thumbLength):
15302         (WebCore::ScrollbarThemeComposite::minimumThumbLength):
15303         * platform/ScrollbarThemeComposite.h:
15304         * platform/mac/PlatformScrollBarMac.mm:
15305         (NSControlSizeForScrollBarControlSize):
15306         * platform/win/PlatformScrollBar.h:
15307         * platform/win/PlatformScrollBarSafari.cpp: Removed.
15308         * platform/win/PlatformScrollBarWin.cpp:
15309         (WebCore::PlatformScrollbar::PlatformScrollbar):
15310         * platform/win/ScrollbarThemeSafari.cpp:
15311         (WebCore::ScrollbarTheme::nativeTheme):
15312         (WebCore::):
15313         (WebCore::scrollbarControlStateFromThemeState):
15314         (WebCore::ScrollbarThemeSafari::hasButtons):
15315         (WebCore::ScrollbarThemeSafari::hasThumb):
15316         (WebCore::buttonRepaintRect):
15317         (WebCore::ScrollbarThemeSafari::backButtonRect):
15318         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
15319         (WebCore::trackRepaintRect):
15320         (WebCore::ScrollbarThemeSafari::trackRect):
15321         (WebCore::ScrollbarThemeSafari::minimumThumbLength):
15322         (WebCore::ScrollbarThemeSafari::paintTrack):
15323         (WebCore::ScrollbarThemeSafari::paintButton):
15324         (WebCore::ScrollbarThemeSafari::paintThumb):
15325         * platform/win/ScrollbarThemeSafari.h:
15326         * platform/win/ScrollbarThemeWin.cpp:
15327         * platform/win/ScrollbarThemeWin.h:
15329 2008-09-15  Chris Fleizach  <cfleizach@apple.com>
15331         Reviewed by Darin Adler, Beth Dakin
15333         <rdar://problem/4003789> Expose lists as AXList
15334         <rdar://problem/5707399> VO: Definition lists not announced in Safari
15336         Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
15337         AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
15338         Inside the definition list, each <dt> "term" has an accessibility description ("term"), 
15339         as does each <dd> tag ("definition")
15341         Test: accessibility/lists.html
15343         * GNUmakefile.am:
15344         * WebCore.pro:
15345         * WebCore.vcproj/WebCore.vcproj:
15346         * WebCore.xcodeproj/project.pbxproj:
15347         * WebCoreSources.bkl:
15348         * page/AXObjectCache.cpp:
15349         * page/AccessibilityList.cpp: Added.
15350         * page/AccessibilityList.h: Added.
15351         * page/AccessibilityObject.h:
15352         * page/AccessibilityRenderObject.cpp:
15353         * page/AccessibilityTable.cpp:
15354         * page/mac/AccessibilityObjectWrapper.mm:
15355         * page/mac/WebCoreViewFactory.h:
15356         * platform/LocalizedStrings.h:
15357         * platform/mac/LocalizedStringsMac.mm:
15358         * platform/qt/Localizations.cpp:
15360 2008-09-15  Nikolas Zimmermann  <zimmermann@kde.org>
15362         Reviewed by Eric.
15364         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
15365         Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
15367         Several renames:
15368         dispatchHTMLEvent -> dispatchEventForType
15369         setHTMLEventListener -> setEventListenerForType
15370         getHTMLEventListener -> eventListenerForType
15371         removeHTMLEventListener -> removeEventListenerForType
15372         isHTMLEventListener -> isAttachedToEventTargetNode
15373         ...
15375         Similar renames for the dispatch/get/set/*Window*Event functions.
15376         Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
15378         Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
15379         as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
15381         setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
15382         SVG is able to use the code as well now. This affects most files in html/.
15384         No functional changes.
15386         * GNUmakefile.am:
15387         * WebCore.pro:
15388         * WebCore.vcproj/WebCore.vcproj:
15389         * WebCore.xcodeproj/project.pbxproj:
15390         * bindings/js/JSDOMWindowBase.cpp:
15391         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
15392         (WebCore::JSDOMWindowBase::setListener):
15393         (WebCore::JSDOMWindowBase::getListener):
15394         (WebCore::JSDOMWindowBase::findJSEventListener):
15395         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
15396         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
15397         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
15398         (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
15399         (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
15400         * bindings/js/JSDOMWindowBase.h:
15401         * bindings/js/JSEventListener.cpp:
15402         (WebCore::JSAbstractEventListener::handleEvent):
15403         (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
15404         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
15405         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
15406         (WebCore::JSEventListener::JSEventListener):
15407         (WebCore::JSEventListener::~JSEventListener):
15408         (WebCore::JSLazyEventListener::JSLazyEventListener):
15409         (WebCore::eventParameterName):
15410         (WebCore::JSLazyEventListener::parseCode):
15411         (WebCore::getNodeEventListener):
15412         * bindings/js/JSEventListener.h:
15413         (WebCore::JSAbstractEventListener::JSAbstractEventListener):
15414         (WebCore::JSUnprotectedEventListener::create):
15415         (WebCore::JSEventListener::create):
15416         (WebCore::JSLazyEventListener::):
15417         (WebCore::JSLazyEventListener::create):
15418         * bindings/js/JSEventTargetNode.cpp:
15419         (WebCore::JSEventTargetNode::setListener):
15420         (WebCore::JSEventTargetNode::getListener):
15421         * bindings/js/JSSVGLazyEventListener.cpp: Removed.
15422         * bindings/js/JSSVGLazyEventListener.h: Removed.
15423         * bindings/js/ScriptController.cpp:
15424         (WebCore::ScriptController::createHTMLEventHandler):
15425         (WebCore::ScriptController::createSVGEventHandler):
15426         * dom/Document.cpp:
15427         (WebCore::Document::setFocusedNode):
15428         (WebCore::Document::handleWindowEvent):
15429         (WebCore::Document::setWindowEventListenerForType):
15430         (WebCore::Document::windowEventListenerForType):
15431         (WebCore::Document::removeWindowEventListenerForType):
15432         (WebCore::Document::addWindowEventListener):
15433         (WebCore::Document::hasWindowEventListener):
15434         (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
15435         (WebCore::Document::createEventListener):
15436         (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
15437         * dom/Document.h:
15438         * dom/EventListener.h:
15439         (WebCore::EventListener::isAttachedToEventTargetNode):
15440         * dom/EventTargetNode.cpp:
15441         (WebCore::EventTargetNode::dispatchFocusEvent):
15442         (WebCore::EventTargetNode::dispatchBlurEvent):
15443         (WebCore::EventTargetNode::dispatchEventForType):
15444         (WebCore::EventTargetNode::removeEventListenerForType):
15445         (WebCore::EventTargetNode::setEventListenerForType):
15446         (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
15447         (WebCore::EventTargetNode::eventListenerForType):
15448         * dom/EventTargetNode.h:
15449         * dom/XMLTokenizer.cpp:
15450         (WebCore::XMLTokenizer::notifyFinished):
15451         * editing/ReplaceSelectionCommand.cpp:
15452         (WebCore::ReplacementFragment::ReplacementFragment):
15453         * html/HTMLBodyElement.cpp:
15454         (WebCore::HTMLBodyElement::parseMappedAttribute):
15455         * html/HTMLButtonElement.cpp:
15456         (WebCore::HTMLButtonElement::parseMappedAttribute):
15457         * html/HTMLElement.cpp:
15458         (WebCore::HTMLElement::parseMappedAttribute):
15459         (WebCore::HTMLElement::checkDTD):
15460         * html/HTMLElement.h:
15461         * html/HTMLFormControlElement.cpp:
15462         (WebCore::HTMLFormControlElement::onChange):
15463         * html/HTMLFormElement.cpp:
15464         (WebCore::HTMLFormElement::prepareSubmit):
15465         (WebCore::HTMLFormElement::reset):
15466         (WebCore::HTMLFormElement::parseMappedAttribute):
15467         * html/HTMLFrameElementBase.cpp:
15468         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
15469         * html/HTMLFrameSetElement.cpp:
15470         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
15471         * html/HTMLImageElement.cpp:
15472         (WebCore::HTMLImageElement::parseMappedAttribute):
15473         * html/HTMLImageLoader.cpp:
15474         (WebCore::HTMLImageLoader::dispatchLoadEvent):
15475         * html/HTMLInputElement.cpp:
15476         (WebCore::HTMLInputElement::parseMappedAttribute):
15477         (WebCore::HTMLInputElement::setValueFromRenderer):
15478         (WebCore::HTMLInputElement::onSearch):
15479         * html/HTMLMediaElement.cpp:
15480         (WebCore::HTMLMediaElement::asyncEventTimerFired):
15481         (WebCore::HTMLMediaElement::load):
15482         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
15483         (WebCore::HTMLMediaElement::setReadyState):
15484         (WebCore::HTMLMediaElement::seek):
15485         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
15486         (WebCore::HTMLMediaElement::willSaveToCache):
15487         * html/HTMLObjectElement.cpp:
15488         (WebCore::HTMLObjectElement::parseMappedAttribute):
15489         * html/HTMLScriptElement.cpp:
15490         (WebCore::HTMLScriptElement::parseMappedAttribute):
15491         (WebCore::HTMLScriptElement::dispatchLoadEvent):
15492         (WebCore::HTMLScriptElement::dispatchErrorEvent):
15493         * html/HTMLSelectElement.cpp:
15494         (WebCore::HTMLSelectElement::parseMappedAttribute):
15495         * html/HTMLTextAreaElement.cpp:
15496         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
15497         * html/HTMLTokenizer.cpp:
15498         (WebCore::HTMLTokenizer::notifyFinished):
15499         * page/AccessibilityRenderObject.cpp:
15500         (WebCore::AccessibilityRenderObject::mouseButtonListener):
15501         * page/EventHandler.cpp:
15502         (WebCore::EventHandler::canMouseDownStartSelect):
15503         (WebCore::EventHandler::canMouseDragExtendSelect):
15504         * page/Frame.cpp:
15505         (WebCore::Frame::sendScrollEvent):
15506         * page/Page.cpp:
15507         (WebCore::networkStateChanged):
15508         * rendering/RenderListBox.cpp:
15509         (WebCore::RenderListBox::valueChanged):
15510         * rendering/RenderTextControl.cpp:
15511         (WebCore::RenderTextControl::selectionChanged):
15512         * svg/SVGDocumentExtensions.cpp:
15513         * svg/SVGDocumentExtensions.h:
15514         * svg/SVGElement.cpp:
15515         (WebCore::SVGElement::parseMappedAttribute):
15516         (WebCore::SVGElement::finishParsingChildren):
15517         * svg/SVGElement.h:
15518         * svg/SVGSVGElement.cpp:
15519         (WebCore::SVGSVGElement::parseMappedAttribute):
15520         * svg/SVGSVGElement.h:
15522 2008-09-15  Dave Hyatt  <hyatt@apple.com>
15524         Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing.  PlatformScrollbarQt/Gtk still
15525         need to be converted.
15526         
15527         Reviewed by Sam Weinig
15529         * platform/ScrollBar.cpp:
15530         (WebCore::Scrollbar::Scrollbar):
15531         (WebCore::Scrollbar::updateThumbPosition):
15532         (WebCore::Scrollbar::updateThumbProportion):
15533         (WebCore::Scrollbar::autoscrollPressedPart):
15534         (WebCore::Scrollbar::startTimerIfNeeded):
15535         * platform/ScrollBar.h:
15536         * platform/ScrollbarTheme.h:
15537         (WebCore::ScrollbarTheme::invalidateParts):
15538         * platform/ScrollbarThemeComposite.cpp:
15539         (WebCore::ScrollbarThemeComposite::hitTest):
15540         (WebCore::ScrollbarThemeComposite::invalidatePart):
15541         (WebCore::ScrollbarThemeComposite::thumbPosition):
15542         (WebCore::ScrollbarThemeComposite::thumbLength):
15543         (WebCore::ScrollbarThemeComposite::trackLength):
15544         * platform/ScrollbarThemeComposite.h:
15545         * platform/win/PlatformScrollBarSafari.cpp:
15546         (WebCore::PlatformScrollbar::PlatformScrollbar):
15547         * platform/win/PlatformScrollBarWin.cpp:
15548         (WebCore::PlatformScrollbar::PlatformScrollbar):
15550 2008-09-15  David Smith  <catfish.man@gmail.com>
15552         "Just do it"'d by Mark Rowe
15554         https://bugs.webkit.org/show_bug.cgi?id=20856
15555         Add missing license header
15557         * dom/NodeRenderStyle.h:
15559 2008-09-15  Dean Jackson  <dino@apple.com>
15561         Reviewed by Tim Hatcher.
15563         Add default constructor for ShadowData
15564         https://bugs.webkit.org/show_bug.cgi?id=20757
15566         Test: transitions/shadow.html
15568         * rendering/style/RenderStyle.h:
15570 2008-09-15  Dean Jackson  <dino@apple.com>
15572         Reviewed by Tim Hatcher.
15574         RenderStyle should update keyframes.
15575         http://bugs.webkit.org/show_bug.cgi?id=20756
15577         * rendering/style/RenderStyle.cpp:
15578         (WebCore::StyleRareNonInheritedData::updateKeyframes):
15580 2008-09-15  Dean Jackson  <dino@apple.com>
15582         Reviewed by Tim Hatcher.
15584         Unnecessary ASSERT in ImplicitAnimation destructor.
15585         https://bugs.webkit.org/show_bug.cgi?id=20817
15587         * page/animation/ImplicitAnimation.cpp:
15588         (WebCore::ImplicitAnimation::~ImplicitAnimation):
15590 2008-09-15  Adam Treat  <treat@kde.org>
15592         Reviewed by Simon.
15594         Fix plugin extension info. It was returning the mimetype where the
15595         extension was given.
15597         * plugins/qt/PluginPackageQt.cpp:
15598         (WebCore::PluginPackage::fetchInfo):
15600 2008-09-15  Dean Jackson  <dino@apple.com>
15602         Reviewed by Tim Hatcher
15604         Coding style violation!!!! Cleanup AnimationBase.cpp
15606         * page/animation/AnimationBase.cpp:
15607         (WebCore::blendFunc):
15609 2008-09-15  David Hyatt  <hyatt@apple.com>
15611         Move all hit testing code for scrollbars into the base class.  Refactor
15612         it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
15613         functions.
15615         No platform is using this code yet.  Although it has been moved and compiles
15616         (even on Mac), it is not being used on any platform.
15618         Reviewed by Sam Weinig
15620         * platform/ScrollBar.cpp:
15621         (WebCore::Scrollbar::autoscrollPressedPart):
15622         (WebCore::Scrollbar::startTimerIfNeeded):
15623         (WebCore::Scrollbar::handleMouseMoveEvent):
15624         (WebCore::Scrollbar::handleMouseOutEvent):
15625         (WebCore::Scrollbar::handleMouseReleaseEvent):
15626         (WebCore::Scrollbar::handleMousePressEvent):
15627         * platform/ScrollBar.h:
15628         (WebCore::Scrollbar::handleContextMenuEvent):
15629         * platform/ScrollbarTheme.h:
15630         (WebCore::ScrollbarTheme::hitTest):
15631         (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
15632         (WebCore::ScrollbarTheme::invalidatePart):
15633         (WebCore::ScrollbarTheme::shouldCenterOnThumb):
15634         (WebCore::ScrollbarTheme::centerOnThumb):
15635         (WebCore::ScrollbarTheme::thumbPosition):
15636         (WebCore::ScrollbarTheme::thumbLength):
15637         (WebCore::ScrollbarTheme::trackLength):
15638         (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
15639         (WebCore::ScrollbarTheme::autoscrollTimerDelay):
15640         * platform/Widget.h:
15641         (WebCore::Widget::parent):
15642         * platform/mac/PlatformScrollBar.h:
15643         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
15644         (WebCore::PlatformScrollbar::handleMouseOutEvent):
15645         (WebCore::PlatformScrollbar::handleMousePressEvent):
15646         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
15647         * platform/mac/WidgetMac.mm:
15648         (WebCore::Widget::convertFromContainingWindow):
15649         * platform/win/ScrollbarThemeWin.cpp:
15650         (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
15651         * platform/win/ScrollbarThemeWin.h:
15653 2008-09-15  Dan Bernstein  <mitz@apple.com>
15655         Reviewed by Sam Weinig.
15657         - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
15659         Cache the next breakable position for text nodes in InlineIterator.
15661         * rendering/bidi.cpp:
15662         (WebCore::InlineIterator::InlineIterator):
15663         (WebCore::InlineIterator::increment):
15664         (WebCore::RenderBlock::findNextLineBreak):
15666 2008-09-15  Simon Fraser  <simon.fraser@apple.com>
15668         Reviewed by Dan Bernstein
15670         Fix assertion and integral pixel issue when creating subimages.
15671         https://bugs.webkit.org/show_bug.cgi?id=20786
15673         * platform/graphics/cg/ImageCG.cpp:
15674         (WebCore::BitmapImage::draw):
15676 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
15678         Reviewed by Simon.
15680         Implment seek() and clean up and improve debugging output
15682         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
15683         (debugMediaObject):
15684         (WebCore::MediaPlayerPrivate::seek):
15685         (WebCore::MediaPlayerPrivate::setVolume):
15686         (WebCore::MediaPlayerPrivate::setMuted):
15687         (WebCore::MediaPlayerPrivate::updateStates):
15688         (WebCore::MediaPlayerPrivate::naturalSize):
15689         (WebCore::MediaPlayerPrivate::paint):
15690         (WebCore::MediaPlayerPrivate::stateChanged):
15691         (WebCore::MediaPlayerPrivate::tick):
15693 2008-09-15  Holger Hans Peter Freyther  <zecke@selfish.org>
15695         Reviewed by Simon.
15697         Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
15699         m_mediaObject, m_audioOutput, m_videoWidget get created in the
15700         c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
15701         only check if we use the MediaPlayerPrivate after it has been deleted.
15703         Acked-by: Tor Arne Vestbø  <tavestbo@trolltech.com>
15705         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
15706         (WebCore::MediaPlayerPrivate::play):
15707         (WebCore::MediaPlayerPrivate::setVolume):
15708         (WebCore::MediaPlayerPrivate::updateStates):
15710 2008-09-15  Anders Carlsson  <andersca@apple.com>
15712         Reviewed by Maciej.
15714         <rdar://problem/6163988> 
15715         https://bugs.webkit.org/show_bug.cgi?id=20457
15716         Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
15717         
15718         Check the width and height and throw an exception if any of them are 0.
15719         
15720         * html/CanvasRenderingContext2D.cpp:
15721         (WebCore::CanvasRenderingContext2D::createPattern):
15723 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
15725         Reviewed by Simon.
15727         Render media element controls with antialiasing enabled
15729         * platform/qt/RenderThemeQt.cpp:
15730         (WebCore::RenderThemeQt::paintMediaMuteButton):
15731         (WebCore::RenderThemeQt::paintMediaPlayButton):
15732         (WebCore::RenderThemeQt::paintMediaSliderTrack):
15733         (WebCore::RenderThemeQt::paintMediaSliderThumb):
15735 2008-09-15  Ariya Hidayat  <ariya.hidayat@trolltech.com>
15737         Reviewed by Simon.
15739         Upon non fatal error, switch to the pause state (so that playback can continue)
15741         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
15742         (WebCore::MediaPlayerPrivate::updateStates):
15744 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
15746         Reviewed by Simon.
15748         Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
15750         * WebCore.pro:
15752 2008-09-15  Tor Arne Vestbø  <tavestbo@trolltech.com>
15754         Reviewed by Simon.
15756         Make QtInstance::create() private and fix caching
15758         * bindings/js/ScriptControllerQt.cpp:
15759         (WebCore::ScriptController::createScriptInstanceForWidget):
15760         * bridge/qt/qt_instance.cpp:
15761         (JSC::Bindings::QtInstance::getQtInstance):
15762         (JSC::Bindings::QtInstance::getRuntimeObject):
15763         * bridge/qt/qt_instance.h:
15764         (JSC::Bindings::QtInstance::create):
15765         * bridge/qt/qt_runtime.cpp:
15766         (JSC::Bindings::convertQVariantToValue):
15767         (JSC::Bindings::QtConnectionObject::execute):
15769 2008-09-15  David Smith  <catfish.man@gmail.com>
15771         Reviewed by Dave Hyatt.
15773         https://bugs.webkit.org/show_bug.cgi?id=20180
15774         
15775         >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
15776         With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
15777         querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
15778         
15779         * css/CSSStyleSelector.cpp:
15780         (WebCore::CSSStyleSelector::CSSStyleSelector):
15781         (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
15782         * css/CSSStyleSelector.h:
15784 2008-09-14  Dave Hyatt  <hyatt@apple.com>
15786         Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin.  PlatformScrollbarSafari
15787         is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
15788        
15789         Reviewed by Sam Weinig
15791         * platform/ScrollBar.h:
15792         (WebCore::Scrollbar::client):
15793         (WebCore::Scrollbar::currentPos):
15794         (WebCore::Scrollbar::totalSize):
15795         * platform/ScrollbarTheme.h:
15796         * platform/ScrollbarThemeComposite.cpp:
15797         (WebCore::pageForScrollView):
15798         (WebCore::ScrollbarThemeComposite::paint):
15799         * platform/ScrollbarThemeComposite.h:
15800         (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
15801         * platform/win/PlatformScrollBar.h:
15802         * platform/win/PlatformScrollBarSafari.cpp:
15803         * platform/win/PlatformScrollBarWin.cpp:
15804         * platform/win/ScrollbarThemeSafari.h:
15805         (WebCore::ScrollbarThemeSafari::hasButtons):
15806         (WebCore::ScrollbarThemeSafari::hasThumb):
15807         (WebCore::ScrollbarThemeSafari::backButtonRect):
15808         (WebCore::ScrollbarThemeSafari::forwardButtonRect):
15809         (WebCore::ScrollbarThemeSafari::trackRect):
15810         (WebCore::ScrollbarThemeSafari::splitTrack):
15811         (WebCore::ScrollbarThemeSafari::paintTrack):
15812         (WebCore::ScrollbarThemeSafari::paintButton):
15813         (WebCore::ScrollbarThemeSafari::paintThumb):
15814         * platform/win/ScrollbarThemeWin.cpp:
15815         (WebCore::isRunningOnVistaOrLater):
15816         (WebCore::checkAndInitScrollbarTheme):
15817         (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
15818         (WebCore::ScrollbarThemeWin::themeChanged):
15819         (WebCore::ScrollbarThemeWin::hasThumb):
15820         (WebCore::ScrollbarThemeWin::backButtonRect):
15821         (WebCore::ScrollbarThemeWin::forwardButtonRect):
15822         (WebCore::ScrollbarThemeWin::trackRect):
15823         (WebCore::ScrollbarThemeWin::splitTrack):
15824         (WebCore::ScrollbarThemeWin::paintTrack):
15825         (WebCore::ScrollbarThemeWin::paintButton):
15826         (WebCore::gripperRect):
15827         (WebCore::paintGripper):
15828         (WebCore::ScrollbarThemeWin::paintThumb):
15829         (WebCore::ScrollbarThemeWin::thumbPosition):
15830         (WebCore::ScrollbarThemeWin::thumbLength):
15831         (WebCore::ScrollbarThemeWin::trackLength):
15832         * platform/win/ScrollbarThemeWin.h:
15833         (WebCore::ScrollbarThemeWin::hasButtons):
15834         (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
15836 2008-09-14  Anthony Ricaud  <rik24d@gmail.com>
15838         Moving all resource graphs under the same container for future scalable feature.
15839         This is a speedup on resize but maybe a loss on changing the sorting function.
15841         https://bugs.webkit.org/show_bug.cgi?id=20555
15843         Reviewed by Timothy Hatcher.
15845         * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
15846         Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
15847         * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
15849 2008-09-14  Alexey Proskuryakov  <ap@webkit.org>
15851         Reviewed by Maciej Stachowiak.
15853         https://bugs.webkit.org/show_bug.cgi?id=20738
15854         compareBoundaryPoints gives incorrect results
15856         Test: fast/dom/Range/compareBoundaryPoints-2.html
15858         * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
15859         and END_TO_START.
15860         * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
15862 2008-09-14  Maciej Stachowiak  <mjs@apple.com>
15864         Unreviewed build fix.
15866         Trying again.
15868         * bindings/js/JSQuarantinedObjectWrapper.cpp:
15869         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
15871 2008-09-14  Maciej Stachowiak  <mjs@apple.com>
15873         Unreviewed build fix.
15875         Blind attempt to fix build. Correct parameters for hasInstance.
15877         * bindings/js/JSQuarantinedObjectWrapper.cpp:
15878         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
15879         * bindings/js/JSQuarantinedObjectWrapper.h:
15881 2008-09-14  Dan Bernstein  <mitz@apple.com>
15883         Rubber-stamped by Sam Weinig.
15885         - revert <http://trac.webkit.org/changeset/36382> because it exposed
15886           <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
15887           on Tiger.
15889         * platform/graphics/mac/FontCacheMac.mm:
15890         (WebCore::FontCache::getFontDataForCharacters):
15891         (WebCore::FontCache::getLastResortFallbackFont):
15893 2008-09-14  Dave Hyatt  <hyatt@apple.com>
15895         Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
15896         ScrollbarThemeWin.  Any scrollbar that wants to render by ScrollbarPart can subclass from this
15897         theme.
15898         
15899         Reviewed by Sam Weinig
15901         * WebCore.vcproj/WebCore.vcproj:
15902         * platform/win/ScrollbarThemeSafari.h:
15903         * platform/win/ScrollbarThemeWin.h:
15905 2008-09-14  Alp Toker  <alp@nuanti.com>
15907         https://bugs.webkit.org/show_bug.cgi?id=20320
15908         [GTK] A white rectangle is visible behind widgets with rounded corners
15910         Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
15911         style exempt).
15913         Requested by Michael Monreal.
15915         * platform/gtk/RenderThemeGtk.cpp:
15916         (WebCore::RenderThemeGtk::RenderThemeGtk):
15917         * platform/gtk/gtk2drawing.c:
15918         (moz_gtk_set_widget_name):
15919         (ensure_window_widget):
15920         (setup_widget_prototype):
15921         (ensure_button_arrow_widget):
15922         (moz_gtk_get_combo_box_inner_button):
15923         (moz_gtk_get_combo_box_button_inner_widgets):
15924         (ensure_combo_box_widgets):
15925         (moz_gtk_get_combo_box_entry_inner_widgets):
15926         (moz_gtk_get_combo_box_entry_arrow):
15927         (ensure_combo_box_entry_widgets):
15928         (ensure_toolbar_widget):
15929         (ensure_tooltip_widget):
15930         (ensure_menu_bar_widget):
15931         (ensure_menu_bar_item_widget):
15932         (ensure_menu_popup_widget):
15933         (ensure_menu_item_widget):
15934         (ensure_image_menu_item_widget):
15935         (ensure_menu_separator_widget):
15936         (ensure_check_menu_item_widget):
15937         (ensure_tree_header_cell_widget):
15938         (ensure_scrolled_window_widget):
15939         (moz_gtk_button_paint):
15940         (moz_gtk_init):
15941         (moz_gtk_button_get_inner_border):
15942         (moz_gtk_toggle_paint):
15943         (calculate_button_inner_rect):
15944         (calculate_arrow_rect):
15945         (moz_gtk_scrollbar_button_paint):
15946         (moz_gtk_scrollbar_thumb_paint):
15947         (moz_gtk_caret_paint):
15948         (moz_gtk_entry_paint):
15949         (moz_gtk_treeview_paint):
15950         (moz_gtk_tree_header_cell_paint):
15951         (moz_gtk_combo_box_paint):
15952         (moz_gtk_downarrow_paint):
15953         (moz_gtk_combo_box_entry_button_paint):
15954         (moz_gtk_toolbar_paint):
15955         (moz_gtk_tab_scroll_arrow_paint):
15956         (moz_gtk_menu_bar_paint):
15957         (moz_gtk_menu_item_paint):
15958         (moz_gtk_get_widget_border):
15959         (moz_gtk_get_combo_box_entry_button_size):
15960         (moz_gtk_get_tab_scroll_arrow_size):
15961         (moz_gtk_get_downarrow_size):
15962         (moz_gtk_images_in_menus):
15963         (moz_gtk_widget_paint):
15964         (moz_gtk_shutdown):
15965         * platform/gtk/gtkdrawing.h:
15967 2008-09-14  David Hyatt  <hyatt@apple.com>
15969         Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
15970         painting.  Mac and Gtk themes don't do anything and just let the
15971         underlying widget paint.  Qt now uses the theme to paint.  wx doesn't
15972         do anything yet.
15974         Reviewed by Sam Weinig
15976         * platform/ScrollBar.cpp:
15977         (WebCore::Scrollbar::paint):
15978         * platform/ScrollBar.h:
15979         (WebCore::Scrollbar::value):
15980         (WebCore::Scrollbar::visibleSize):
15981         (WebCore::Scrollbar::maximum):
15982         (WebCore::Scrollbar::lineStep):
15983         (WebCore::Scrollbar::pageStep):
15984         (WebCore::Scrollbar::pixelStep):
15985         (WebCore::Scrollbar::pressedPart):
15986         (WebCore::Scrollbar::hoveredPart):
15987         (WebCore::Scrollbar::theme):
15988         * platform/ScrollbarTheme.h:
15989         (WebCore::ScrollbarTheme::paint):
15990         (WebCore::ScrollbarTheme::scrollbarThickness):
15991         (WebCore::ScrollbarTheme::supportsControlTints):
15992         (WebCore::ScrollbarTheme::themeChanged):
15993         * platform/gtk/PlatformScrollBar.h:
15994         * platform/gtk/PlatformScrollBarGtk.cpp:
15995         * platform/mac/PlatformScrollBar.h:
15996         * platform/mac/PlatformScrollBarMac.mm:
15997         * platform/qt/PlatformScrollBar.h:
15998         * platform/qt/PlatformScrollBarQt.cpp:
15999         * platform/qt/ScrollbarThemeQt.cpp:
16000         (WebCore::styleOptionSlider):
16001         * platform/qt/ScrollbarThemeQt.h:
16002         (WebCore::ScrollbarThemeQt::paint):
16003         * platform/win/PlatformScrollBarSafari.cpp:
16004         (WebCore::PlatformScrollbar::paint):
16005         * platform/win/ScrollbarThemeSafari.h:
16006         (WebCore::ScrollbarThemeSafari::supportsControlTints):
16007         * platform/wx/PlatformScrollBar.h:
16008         * platform/wx/TemporaryLinkStubs.cpp:
16009         (PlatformScrollbar::~PlatformScrollbar):
16011 2008-09-14  Sam Weinig  <sam@webkit.org>
16013         Qt build fix.
16015         * platform/qt/PlatformScrollBarQt.cpp:
16017 2008-09-14  Sam Weinig  <sam@webkit.org>
16019         Reviewed by Mark Rowe.
16021         Remove extraneous semicolons.
16023         * bindings/scripts/CodeGeneratorObjC.pm:
16024         * html/HTMLLinkElement.cpp:
16025         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
16026         * html/HTMLScriptElement.cpp:
16027         (WebCore::HTMLScriptElement::charsetAttributeValue):
16028         (WebCore::HTMLScriptElement::typeAttributeValue):
16029         * platform/graphics/qt/GradientQt.cpp:
16030         (WebCore::Gradient::platformGradient):
16031         * platform/qt/ScrollViewQt.cpp:
16032         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
16033         * platform/win/ScrollViewWin.cpp:
16034         (WebCore::ScrollView::updateScrollbars):
16035         * rendering/RenderBlock.cpp:
16036         (WebCore::RenderBlock::paintEllipsisBoxes):
16037         * svg/SVGPathSegList.cpp:
16038         (WebCore::SVGPathSegList::toPathData):
16040 2008-09-14  Sam Weinig  <sam@webkit.org>
16042         Qt build fix.
16044         * platform/qt/ScrollViewQt.cpp:
16045         (WebCore::ScrollView::updateScrollbars):
16047 2008-09-14  Sam Weinig  <sam@webkit.org>
16049         Qt build fix.
16051         * platform/qt/PlatformScrollBarQt.cpp:
16052         (WebCore::PlatformScrollbar::PlatformScrollbar):
16053         (WebCore::PlatformScrollbar::paint):
16055 2008-09-13  Jan Michael Alonzo  <jmalonzo@webkit.org>
16057         Gtk build fix, not reviewed.
16059         * platform/gtk/PlatformScrollBarGtk.cpp:
16060         (PlatformScrollbar::PlatformScrollbar):
16061         * platform/gtk/ScrollViewGtk.cpp:
16062         (WebCore::ScrollView::updateScrollbars):
16064 2008-09-13  Dave Hyatt  <hyatt@apple.com>
16066         Remove scrollbar's setRect method.  Clients can now just call setFrameGeometry (the corresponding Widget) method
16067         to set the dimensions of a scrollbar.
16068         
16069         Reviewed by Sam Weinig
16071         * platform/ScrollBar.h:
16072         * platform/gtk/PlatformScrollBar.h:
16073         * platform/gtk/PlatformScrollBarGtk.cpp:
16074         (PlatformScrollbar::setFrameGeometry):
16075         * platform/gtk/ScrollViewGtk.cpp:
16076         (WebCore::ScrollView::updateScrollbars):
16077         * platform/mac/PlatformScrollBarMac.mm:
16078         * platform/qt/PlatformScrollBarQt.cpp:
16079         * platform/qt/ScrollViewQt.cpp:
16080         (WebCore::ScrollView::updateScrollbars):
16081         * platform/win/PlatformScrollBar.h:
16082         * platform/win/PlatformScrollBarSafari.cpp:
16083         (WebCore::PlatformScrollbar::PlatformScrollbar):
16084         (WebCore::PlatformScrollbar::setFrameGeometry):
16085         * platform/win/PlatformScrollBarWin.cpp:
16086         (WebCore::PlatformScrollbar::PlatformScrollbar):
16087         (WebCore::PlatformScrollbar::setFrameGeometry):
16088         * platform/win/PopupMenuWin.cpp:
16089         (WebCore::PopupWndProc):
16090         * platform/win/ScrollViewWin.cpp:
16091         (WebCore::ScrollView::updateScrollbars):
16092         * platform/wx/PlatformScrollBar.h:
16093         * platform/wx/TemporaryLinkStubs.cpp:
16094         (PlatformScrollbar::updateThumbProportion):
16095         * rendering/RenderLayer.cpp:
16096         (WebCore::RenderLayer::positionOverflowControls):
16097         * rendering/RenderListBox.cpp:
16098         (WebCore::RenderListBox::paintScrollbar):
16100 2008-09-13  Dave Hyatt  <hyatt@apple.com>
16102         Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
16103        
16104         Reviewed by Sam Weinig
16106         * platform/ScrollBar.h:
16107         * platform/gtk/PlatformScrollBar.h:
16108         * platform/gtk/PlatformScrollBarGtk.cpp:
16109         * platform/mac/PlatformScrollBar.h:
16110         * platform/mac/PlatformScrollBarMac.mm:
16111         * platform/win/PlatformScrollBar.h:
16112         * platform/win/PlatformScrollBarSafari.cpp:
16113         * platform/win/PlatformScrollBarWin.cpp:
16114         * platform/wx/PlatformScrollBar.h:
16115         * platform/wx/TemporaryLinkStubs.cpp:
16116         (PlatformScrollbar::~PlatformScrollbar):
16118 2008-09-13  Dave Hyatt  <hyatt@apple.com>
16120         Remove width()/height() from Scrollbar now that it derives from Widget.  Remove width()/height() from
16121         all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
16123         Reviewed by Sam Weinig
16125         * platform/ScrollBar.h:
16126         * platform/gtk/PlatformScrollBar.h:
16127         * platform/gtk/PlatformScrollBarGtk.cpp:
16128         * platform/mac/PlatformScrollBar.h:
16129         * platform/mac/PlatformScrollBarMac.mm:
16130         * platform/win/PlatformScrollBarSafari.cpp:
16131         * platform/win/PlatformScrollBarWin.cpp:
16132         * platform/wx/PlatformScrollBar.h:
16133         * platform/wx/TemporaryLinkStubs.cpp:
16134         (PlatformScrollbar::~PlatformScrollbar):
16136 2008-09-13  Dave Hyatt  <hyatt@apple.com>
16138         Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
16140         Reviewed by Sam Weinig
16142         * platform/ScrollBar.cpp:
16143         (WebCore::Scrollbar::~Scrollbar):
16144         * platform/ScrollBar.h:
16145         * platform/qt/PlatformScrollBarQt.cpp:
16146         (WebCore::PlatformScrollbar::~PlatformScrollbar):
16147         * platform/win/PlatformScrollBarSafari.cpp:
16148         (WebCore::PlatformScrollbar::~PlatformScrollbar):
16149         * platform/win/PlatformScrollBarWin.cpp:
16150         (WebCore::PlatformScrollbar::~PlatformScrollbar):
16152 2008-09-13  David Hyatt  <hyatt@apple.com>
16154         Move maximum() from Qt's PlatformScrollbar to be a cross-platform
16155         function on Scrollbar.  Fixes Qt build bustage.
16157         Reviewed by Sam Weinig
16159         * platform/ScrollBar.h:
16160         (WebCore::Scrollbar::orientation):
16161         (WebCore::Scrollbar::value):
16162         (WebCore::Scrollbar::maximum):
16163         * platform/qt/PlatformScrollBar.h:
16165 2008-09-13  Dan Bernstein  <mitz@apple.com>
16167         Reviewed by Sam Weinig.
16169         - use the LastResort font for missing glyphs instead of showing the
16170           primary font's missing glyph
16172         Test: platform/mac/fast/text/last-resort-font.html
16174         * platform/graphics/mac/FontCacheMac.mm:
16175         (WebCore::FontCache::getFontDataForCharacters): Changed to return the
16176         last resort font if a substitute font cannot be found.
16177         (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
16178         comment (the user's preferred standard font is included in the search
16179         thanks to code in FontCache::getFontData()) and changed to return the
16180         LastResort font.  
16182 2008-09-13  Dave Hyatt  <hyatt@apple.com>
16184         This patch adds ScrollbarTheme to the build.  ScrollbarTheme is similar to RenderTheme (but for
16185         scrollbars only).  For now ScrollbarTheme just handles returning the size of scrollbars.  Subsequent
16186         patches will move rendering and hit testing functionality into this class.
16187         
16188         Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt).  The wxWidgets port does not
16189         implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
16190        
16191         Reviewed by Sam Weinig
16193         * GNUmakefile.am:
16194         * WebCore.pro:
16195         * WebCore.vcproj/WebCore.vcproj:
16196         * platform/ScrollBar.cpp:
16197         (WebCore::Scrollbar::Scrollbar):
16198         * platform/ScrollBar.h:
16199         * platform/ScrollbarTheme.h: Added.
16200         (WebCore::ScrollbarTheme::~ScrollbarTheme):
16201         (WebCore::ScrollbarTheme::scrollbarThickness):
16202         (WebCore::ScrollbarTheme::themeChanged):
16203         * platform/gtk/ScrollbarThemeGtk.cpp: Added.
16204         (WebCore::ScrollbarTheme::nativeTheme):
16205         (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
16206         (WebCore::ScrollbarThemeGtk::scrollbarThickness):
16207         * platform/gtk/ScrollbarThemeGtk.h: Added.
16208         * platform/mac/PlatformScrollBar.h:
16209         * platform/mac/ScrollbarThemeMac.cpp: Added.
16210         (WebCore::ScrollbarTheme::nativeTheme):
16211         (WebCore::):
16212         (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
16213         (WebCore::ScrollbarThemeMac::scrollbarThickness):
16214         * platform/mac/ScrollbarThemeMac.h: Added.
16215         * platform/qt/PlatformScrollBarQt.cpp:
16216         * platform/qt/ScrollbarThemeQt.cpp: Added.
16217         (WebCore::ScrollbarTheme::nativeTheme):
16218         (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
16219         (WebCore::ScrollbarThemeQt::scrollbarThickness):
16220         * platform/qt/ScrollbarThemeQt.h: Added.
16221         * platform/win/PlatformScrollBar.h:
16222         * platform/win/PlatformScrollBarSafari.cpp:
16223         * platform/win/PlatformScrollBarWin.cpp:
16224         * platform/win/PopupMenuWin.cpp:
16225         (WebCore::PopupMenu::calculatePositionAndSize):
16226         * platform/win/ScrollViewWin.cpp:
16227         (WebCore::ScrollView::updateScrollbars):
16228         (WebCore::ScrollView::themeChanged):
16229         * platform/win/ScrollbarThemeSafari.cpp: Added.
16230         (WebCore::ScrollbarTheme::nativeTheme):
16231         (WebCore::):
16232         (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
16233         (WebCore::ScrollbarThemeSafari::scrollbarThickness):
16234         * platform/win/ScrollbarThemeSafari.h: Added.
16235         * platform/win/ScrollbarThemeWin.cpp: Added.
16236         (WebCore::ScrollbarTheme::nativeTheme):
16237         (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
16238         (WebCore::ScrollbarThemeWin::scrollbarThickness):
16239         (WebCore::ScrollbarThemeWin::themeChanged):
16240         * platform/win/ScrollbarThemeWin.h: Added.
16241         * platform/wx/TemporaryLinkStubs.cpp:
16242         (ScrollbarTheme::nativeTheme):
16243         * rendering/RenderLayer.cpp:
16244         (WebCore::scrollCornerRect):
16245         * rendering/RenderTextControl.cpp:
16246         (WebCore::RenderTextControl::calcHeight):
16247         (WebCore::RenderTextControl::calcPrefWidths):
16249 2008-09-13  Chris Fleizach  <cfleizach@apple.com>
16251         Reviewed by Timothy Hatcher.
16253         <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
16255         * page/mac/AccessibilityObjectWrapper.mm:
16256         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
16258 2008-09-13  Dan Bernstein  <mitz@apple.com>
16260         Reviewed by Timothy Hatcher.
16262         - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
16264         No regression test because the back/forward cache is disabled in DumpRenderTree
16266         * rendering/RenderContainer.cpp:
16267         (WebCore::RenderContainer::invalidateCounters): Bail out if the document
16268         is being destroyed.
16270 2008-09-13  Kevin Ollivier  <kevino@theolliviers.com>
16272         wx build fixes for new methods recently introduced.
16274         * platform/graphics/wx/AffineTransformWx.cpp:
16275         (WebCore::AffineTransform::AffineTransform):
16276         (WebCore::AffineTransform::setMatrix):
16277         (WebCore::AffineTransform::setA):
16278         (WebCore::AffineTransform::setB):
16279         (WebCore::AffineTransform::setC):
16280         (WebCore::AffineTransform::setD):
16281         (WebCore::AffineTransform::setE):
16282         (WebCore::AffineTransform::setF):
16283         * platform/wx/LocalizedStringsWx.cpp:
16284         (WebCore::AXDefinitionListTermText):
16285         (WebCore::AXDefinitionListDefinitionText):
16287 2008-09-12  Dave Hyatt  <hyatt@apple.com>
16289         Move the member variables of PlatformScrollbar up into Scrollbar.  Move autoscroll timer handling
16290         up into scrollbar.  Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
16291         "PlatformScrollbar."
16292         
16293         Reviewed by Sam Weinig
16295         * WebCore.vcproj/WebCore.vcproj:
16296         * editing/EditorCommand.cpp:
16297         * page/EventHandler.cpp:
16298         (WebCore::EventHandler::selectCursor):
16299         (WebCore::EventHandler::handleMousePressEvent):
16300         (WebCore::EventHandler::handleMouseMoveEvent):
16301         * page/EventHandler.h:
16302         * page/MouseEventWithHitTestResults.cpp:
16303         (WebCore::MouseEventWithHitTestResults::scrollbar):
16304         * page/MouseEventWithHitTestResults.h:
16305         * page/gtk/EventHandlerGtk.cpp:
16306         (WebCore::EventHandler::passMousePressEventToScrollbar):
16307         * page/mac/EventHandlerMac.mm:
16308         (WebCore::EventHandler::passMousePressEventToScrollbar):
16309         * page/qt/EventHandlerQt.cpp:
16310         (WebCore::EventHandler::passMousePressEventToScrollbar):
16311         * page/win/EventHandlerWin.cpp:
16312         (WebCore::EventHandler::passMousePressEventToScrollbar):
16313         * page/wx/EventHandlerWx.cpp:
16314         (WebCore::EventHandler::passMousePressEventToScrollbar):
16315         * platform/PopupMenu.h:
16316         * platform/ScrollBar.cpp:
16317         (WebCore::Scrollbar::Scrollbar):
16318         (WebCore::Scrollbar::autoscrollTimerFired):
16319         (WebCore::Scrollbar::autoscrollPressedPart):
16320         (WebCore::Scrollbar::startTimerIfNeeded):
16321         (WebCore::Scrollbar::stopTimerIfNeeded):
16322         (WebCore::Scrollbar::pressedPartScrollDirection):
16323         (WebCore::Scrollbar::pressedPartScrollGranularity):
16324         * platform/ScrollBar.h:
16325         (WebCore::Scrollbar::handleMousePressEvent):
16326         (WebCore::Scrollbar::invalidatePart):
16327         (WebCore::Scrollbar::thumbUnderMouse):
16328         * platform/ScrollView.h:
16329         * platform/ScrollbarClient.h: Added.
16330         (WebCore::ScrollbarClient::~ScrollbarClient):
16331         * platform/gtk/ScrollViewGtk.cpp:
16332         (WebCore::ScrollView::scrollbarUnderMouse):
16333         * platform/qt/PlatformScrollBar.h:
16334         * platform/qt/PlatformScrollBarQt.cpp:
16335         (WebCore::PlatformScrollbar::PlatformScrollbar):
16336         (WebCore::scrollbarPart):
16337         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
16338         (WebCore::PlatformScrollbar::handleMouseOutEvent):
16339         (WebCore::PlatformScrollbar::handleMousePressEvent):
16340         (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
16341         * platform/qt/ScrollViewQt.cpp:
16342         (WebCore::ScrollView::scrollbarUnderMouse):
16343         (WebCore::ScrollView::wheelEvent):
16344         * platform/win/PlatformScrollBar.h:
16345         * platform/win/PlatformScrollBarSafari.cpp:
16346         (WebCore::PlatformScrollbar::PlatformScrollbar):
16347         * platform/win/PlatformScrollBarWin.cpp:
16348         (WebCore::PlatformScrollbar::PlatformScrollbar):
16349         * platform/win/ScrollViewWin.cpp:
16350         (WebCore::ScrollView::scrollbarUnderMouse):
16351         * rendering/HitTestResult.cpp:
16352         (WebCore::HitTestResult::setScrollbar):
16353         * rendering/HitTestResult.h:
16354         (WebCore::HitTestResult::scrollbar):
16355         * rendering/RenderLayer.cpp:
16356         (WebCore::RenderLayer::hitTestOverflowControls):
16357         * rendering/RenderLayer.h:
16358         * rendering/RenderListBox.h:
16360 2008-09-12  Steve Falkenburg  <sfalken@apple.com>
16362         Fix Mac build.
16364         * css/CSSStyleSelector.cpp:
16365         (WebCore::getTransformOperationType):
16367 2008-09-12  Chris Marrin  <cmarrin@apple.com>
16369         Reviewed by Dave Hyatt.
16371         Make transform animation behavior match spec
16372         https://bugs.webkit.org/show_bug.cgi?id=20770
16374         Tests: transitions/transform-op-list-match.html
16375                transitions/transform-op-list-no-match.html
16377         * css/CSSStyleSelector.cpp:
16378         * css/CSSStyleSelector.h:
16379         * page/animation/AnimationBase.cpp:
16380         * page/animation/AnimationBase.h:
16381         * page/animation/ImplicitAnimation.cpp:
16382         * page/animation/ImplicitAnimation.h:
16383         * page/animation/KeyframeAnimation.cpp:
16384         * page/animation/KeyframeAnimation.h:
16385         * rendering/RenderLayer.cpp:
16386         * rendering/style/RenderStyle.cpp:
16387         * rendering/style/RenderStyle.h:
16389 2008-09-12  Ojan Vafai  <ojan@chromium.org>
16391         Properly escape contents of links added to the inspector.
16392         For now, just build the link with the DOM and get the
16393         outerHTML. Eventually, we probably just want to do
16394         this entirely with the DOM.
16396         Reviewed by Timothy Hatcher.
16398         https://bugs.webkit.org/show_bug.cgi?id=20684
16400         * manual-tests/inspector/escape-links.html: Added.
16401         * page/inspector/StylesSidebarPane.js:
16402         * page/inspector/inspector.js:
16403         * page/inspector/utilities.js:
16405 2008-09-12  Adele Peterson  <adele@apple.com>
16407         Reviewed by John Sullivan and Kevin McCullough.
16409         Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
16411         * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
16412         Hit testing again on the main frame will only work if we aren't already on the main frame.  If we are already on the main frame, that will
16413         cause infinite recursion.  This change checks that we're not already on the main frame before hit testing again. 
16415 2008-09-12  Kevin McCullough  <kmccullough@apple.com>
16417         RS by Tim .
16419         Re-introducing the code since it was not the cause of the crash.
16420         See r36343.
16422         * rendering/RenderObject.cpp:
16423         (WebCore::RenderObject::canBeProgramaticallyScrolled):
16424         * rendering/RenderObject.h:
16426 2008-09-12  Chris Marrin  <cmarrin@apple.com>
16428         Reviewed by Dave Hyatt.
16430         When changing one animation in a list, don't reset other animations
16431         https://bugs.webkit.org/show_bug.cgi?id=20675
16433         Test: animations/change-one-anim.html
16435         * page/animation/AnimationBase.cpp:
16436         (WebCore::AnimationBase::getNumProperties):
16437         * page/animation/AnimationBase.h:
16438         * page/animation/AnimationController.cpp:
16439         * page/animation/CompositeAnimation.cpp:
16440         (WebCore::CompositeAnimation::updateKeyframeAnimations):
16441         * page/animation/CompositeAnimation.h:
16442         * page/animation/ImplicitAnimation.cpp:
16443         * page/animation/KeyframeAnimation.cpp:
16444         * page/animation/KeyframeAnimation.h:
16445         (WebCore::KeyframeAnimation::setIndex):
16447 2008-09-12  Brady Eidson  <beidson@apple.com>
16449         Reviewed by Mitz Pettel
16451         Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
16453         * loader/DocumentLoader.cpp:
16454         (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
16455           Subresources can never be created from nil data, but there is always a MainResource, whether
16456           or not there's any data.  So in the case where the main resource has no data, fake it for the
16457           sake of creating the ArchiveResource.
16459 2008-09-12  Dave Hyatt  <hyatt@apple.com>
16461         Preparation for major scrollbar rearchitecture.  Eliminate the concept of non-widget based
16462         scrollbars (which we never supported anyway).  Make Scrollbar derive from Widget directly.
16463         Remove all the isWidget and hasPlatformScrollbars guards.
16464         
16465         Reviewed by Tim Hatcher
16467         * platform/ScrollBar.h:
16468         * platform/gtk/PlatformScrollBar.h:
16469         * platform/mac/PlatformScrollBar.h:
16470         * platform/qt/PlatformScrollBar.h:
16471         * platform/win/PlatformScrollBar.h:
16472         * platform/win/ScrollViewWin.cpp:
16473         (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
16474         (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
16475         * platform/wx/PlatformScrollBar.h:
16476         * rendering/RenderLayer.cpp:
16477         (WebCore::RenderLayer::horizontalScrollbarWidget):
16478         (WebCore::RenderLayer::verticalScrollbarWidget):
16479         (WebCore::RenderLayer::createScrollbar):
16480         (WebCore::RenderLayer::destroyScrollbar):
16481         * rendering/RenderListBox.cpp:
16482         (WebCore::RenderListBox::~RenderListBox):
16483         (WebCore::RenderListBox::updateFromElement):
16484         (WebCore::RenderListBox::isPointInOverflowControl):
16486 2008-09-12  Dan Bernstein  <mitz@apple.com>
16488         Reviewed by Sam Weinig.
16490         - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
16492         * page/animation/AnimationController.cpp:
16493         * page/animation/AnimationController.h:
16494         * page/animation/CompositeAnimation.cpp:
16495         * page/animation/CompositeAnimation.h:
16496         * page/animation/ImplicitAnimation.cpp:
16497         * page/animation/ImplicitAnimation.h:
16498         * page/animation/KeyframeAnimation.cpp:
16499         * page/animation/KeyframeAnimation.h:
16501 2008-09-11  Timothy Hatcher  <timothy@apple.com>
16503         Add a renderedImage method to DOMNode to get an image
16504         of the rendering for the node and it's descendants.
16506         <rdar://problem/5849349> Would like API to create
16507         an image for a DOM node
16509         Reviewed by Oliver Hunt.
16511         * bindings/objc/DOM.mm:
16512         (-[DOMNode renderedImage]): Call Frame::nodeImage.
16513         * bindings/objc/DOMPrivate.h:
16514         * page/Frame.h:
16515         * page/mac/FrameMac.mm:
16516         (WebCore::Frame::nodeImage):
16518 2008-09-08  Chris Marrin  <cmarrin@apple.com>
16520         Reviewed by Dave Hyatt
16522         Need to support comma separated list of key times in keyframes selectors
16523         https://bugs.webkit.org/show_bug.cgi?id=20680
16525         Test: animations/keyframes-comma-separated.html
16527         * css/CSSGrammar.y:
16528         * css/CSSParser.cpp:
16529         (WebCore::CSSParser::createKeyframeRule):
16530         * css/CSSParser.h:
16531         * css/CSSStyleSelector.cpp:
16532         (WebCore::CSSStyleSelector::addKeyframeStyle):
16533         * css/WebKitCSSKeyframeRule.cpp:
16534         (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
16535         (WebCore::WebKitCSSKeyframeRule::cssText):
16536         (WebCore::WebKitCSSKeyframeRule::parseKeyString):
16537         * css/WebKitCSSKeyframeRule.h:
16538         (WebCore::WebKitCSSKeyframeRule::keyText):
16539         (WebCore::WebKitCSSKeyframeRule::setKeyText):
16540         (WebCore::WebKitCSSKeyframeRule::getKeys):
16541         * css/WebKitCSSKeyframesRule.cpp:
16542         (WebCore::WebKitCSSKeyframesRule::append):
16543         (WebCore::WebKitCSSKeyframesRule::insertRule):
16544         (WebCore::WebKitCSSKeyframesRule::deleteRule):
16545         (WebCore::WebKitCSSKeyframesRule::findRule):
16546         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
16547         * css/WebKitCSSKeyframesRule.h:
16548         * page/animation/AnimationBase.cpp:
16549         (WebCore::AnimationBase::blendProperties):
16551 2008-09-11  Kevin McCullough  <kmccullough@apple.com>
16553         RS by Tim.
16555         Reverting because this caused a crash.
16557         * rendering/RenderObject.cpp:
16558         (WebCore::RenderObject::canBeProgramaticallyScrolled):
16559         (WebCore::RenderObject::hasScrollableView):
16560         * rendering/RenderObject.h:
16562 2008-09-11  Dean Jackson  <dino@apple.com>
16564         Reviewed by Dan Bernstein.
16566         Fix assertion on transition property "none"
16567         https://bugs.webkit.org/show_bug.cgi?id=20751
16569         Test: transitions/transition-end-event-set-none.html
16571         * page/animation/CompositeAnimation.cpp:
16572         (WebCore::CompositeAnimation::updateTransitions):
16574 2008-09-11  David Smith  <catfish.man@gmail.com>
16576         Rubber-stamped by mitzpettel.
16578         Remove an accidentally added extra file.
16580         * WebCore: Removed.
16582 2008-09-11  David Smith  <catfish.man@gmail.com>
16584         Reviewed by Darin
16586         https://bugs.webkit.org/show_bug.cgi?id=20180
16587         
16588         This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help.
16590         * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
16591         * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
16592         * dom/Element.cpp: include NodeRenderStyle.h
16593         * dom/Node.cpp: Remove the definition of renderStyle()
16594         (WebCore::Node::nonRendererRenderStyle):
16595         * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
16596         * dom/NodeRenderStyle.h: Added.
16597         (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
16598         * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
16599         * html/HTMLOptGroupElement.h:
16600         (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
16601         * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
16602         * html/HTMLOptionElement.h:
16603         (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
16604         * rendering/RenderListBox.cpp: include NodeRenderStyle.h
16605         * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
16606         * svg/SVGUseElement.cpp: include NodeRenderStyle.h
16608 2008-09-11  Kevin McCullough  <kmccullough@apple.com>
16610         Reviewed by Adele and Tim.
16612         <rdar://problem/6100597> REGRESSION: clicking on search results in Web
16613         Inspector does not scroll to the line of the results (20167)
16614         - This was put in by Max to fix auto scrolling but is not correct for
16615         the whole web: rdar://problem/6213098
16617         * rendering/RenderObject.cpp:
16618         (WebCore::RenderObject::canBeProgramaticallyScrolled):
16619         * rendering/RenderObject.h:
16621 2008-09-11  Chris Fleizach  <cfleizach@apple.com>
16623         Reviewed by Beth Dakin
16625         <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
16627         Test: accessibility/frame-with-title.html
16629         * page/AccessibilityRenderObject.cpp:
16630         (WebCore::AccessibilityRenderObject::accessibilityDescription):
16632 2008-09-11  Dirk Schulze  <vbs85@gmx.de>
16634         Reviewed by Simon.
16636         Fixed stroke() and strokeRect() to support gradients
16637         and patterns on Qt.
16639         [Qt] Canvas stroke don't work for gradients and patterns
16640         [https://bugs.webkit.org/show_bug.cgi?id=20749]
16642         * platform/graphics/qt/GraphicsContextQt.cpp:
16643         (WebCore::GraphicsContext::strokePath):
16644         (WebCore::GraphicsContext::strokeRect):
16646 2008-09-11  Dirk Schulze  <vbs85@gmx.de>
16648         Reviewed by Simon.
16650         https://bugs.webkit.org/show_bug.cgi?id=20729
16652         Fixed canvas gradients for Qt
16654         [Qt] Canvas gradients don't work as expected
16655         [https://bugs.webkit.org/show_bug.cgi?id=20729]
16657         * platform/graphics/qt/GradientQt.cpp:
16658         (WebCore::Gradient::platformGradient):
16660 2008-09-11  Dirk Schulze  <vbs85@gmx.de>
16662         Reviewed by Simon.
16664         https://bugs.webkit.org/show_bug.cgi?id=20568
16666         Add support for patterns to Qt.
16668         * platform/graphics/qt/PatternQt.cpp:
16669         (WebCore::Pattern::createPlatformPattern):
16671 2008-09-10  Dan Bernstein  <mitz@apple.com>
16673         Reviewed by Sam Weinig.
16675         - clean up AnimationBase
16677         * page/animation/AnimationBase.cpp:
16678         * page/animation/AnimationBase.h:
16679         * page/animation/CompositeAnimation.cpp:
16680         * page/animation/ImplicitAnimation.cpp:
16681         * page/animation/ImplicitAnimation.h:
16682         * page/animation/KeyframeAnimation.cpp:
16683         * page/animation/KeyframeAnimation.h:
16685 2008-09-10  Alexey Proskuryakov  <ap@webkit.org>
16687         Reviewed by Darin Adler.
16689         https://bugs.webkit.org/show_bug.cgi?id=20741
16690         REGRESSION: ISO-8859-8-I encoding is registered incorrectly
16692         Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
16693         check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
16694         tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
16696         I also found and fixed a potential crasher for non-Mac ports.
16698         Tests: fast/encoding/hebrew/8859-8-e.html
16699                fast/encoding/hebrew/8859-8-i.html
16700                fast/encoding/hebrew/8859-8.html
16701                fast/encoding/hebrew/csISO88598I.html
16702                fast/encoding/hebrew/hebrew.html
16703                fast/encoding/hebrew/iso-ir-138.html
16704                fast/encoding/hebrew/logical.html
16706         * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
16707         (case-insensitively, because different versions of ICU report this MIME name in different
16708         case).
16710         * platform/text/TextCodecICU.cpp:
16711         (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
16712         (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
16713         There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
16714         with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
16715         we also support these via TEC (which we should stop doing), but on Windows, this would
16716         likely crash.
16718 2008-09-09  Dave Hyatt  <hyatt@apple.com
16720         Resurrect PlatformScrollbarWin.
16721         
16722         Reviewed by Adam Roben
16724         * WebCore.vcproj/WebCore.vcproj:
16725         * platform/win/PlatformScrollBarWin.cpp:
16726         (WebCore::isRunningOnVistaOrLater):
16727         (WebCore::checkAndInitScrollbarTheme):
16728         (WebCore::PlatformScrollbar::PlatformScrollbar):
16729         (WebCore::PlatformScrollbar::invalidateTrack):
16730         (WebCore::PlatformScrollbar::invalidatePart):
16731         (WebCore::PlatformScrollbar::paint):
16732         (WebCore::PlatformScrollbar::hasButtons):
16733         (WebCore::PlatformScrollbar::hasThumb):
16734         (WebCore::PlatformScrollbar::backButtonRect):
16735         (WebCore::PlatformScrollbar::forwardButtonRect):
16736         (WebCore::PlatformScrollbar::trackRect):
16737         (WebCore::PlatformScrollbar::gripperRect):
16738         (WebCore::PlatformScrollbar::thumbLength):
16739         (WebCore::PlatformScrollbar::paintButton):
16740         (WebCore::PlatformScrollbar::paintTrack):
16741         (WebCore::PlatformScrollbar::paintThumb):
16742         (WebCore::PlatformScrollbar::paintGripper):
16743         (WebCore::PlatformScrollbar::hitTest):
16744         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
16745         (WebCore::PlatformScrollbar::handleMouseOutEvent):
16746         (WebCore::PlatformScrollbar::themeChanged):
16748 2008-09-09  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
16750         Reviewed by Maciej Stachowiak.
16752         Bug 20759: Remove MacroAssembler
16753         <https://bugs.webkit.org/show_bug.cgi?id=20759>
16755         Make the necessary changes to ForwardingHeaders to remove
16756         MacroAssembler.
16758         * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
16759         * ForwardingHeaders/masm/MacroAssembler.h: Removed.
16760         * ForwardingHeaders/masm/X86Assembler.h: Added.
16762 2008-09-09  Alp Toker  <alp@nuanti.com>
16764         Reviewed by Dave Hyatt.
16766         https://bugs.webkit.org/show_bug.cgi?id=16792
16767         [GTK] Fails to render Japanese/Chinese text with simple path
16769         https://bugs.webkit.org/show_bug.cgi?id=16942
16770         [GTK] Oddities in font selection and fall back
16772         https://bugs.webkit.org/show_bug.cgi?id=16862
16773         [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
16775         GTK+ font fixes and enhancements.
16777         Implement font fallback for the simple FontConfig-based text path and
16778         improve the Pango-based complex text path to make use of requested
16779         font properties and available font selection.
16781         Add text shadow support to the complex path.
16783         * platform/graphics/gtk/FontCacheGtk.cpp:
16784         (WebCore::FontCache::getFontDataForCharacters):
16785         (WebCore::FontCache::getSimilarFontPlatformData):
16786         * platform/graphics/gtk/FontGtk.cpp:
16787         (WebCore::setPangoAttributes):
16788         (WebCore::Font::drawComplexText):
16789         (WebCore::getDefaultPangoLayout):
16790         (WebCore::Font::floatWidthForComplexText):
16791         (WebCore::Font::offsetForPositionForComplexText):
16792         (WebCore::Font::selectionRectForComplexText):
16793         * platform/graphics/gtk/FontPlatformData.h:
16794         (WebCore::FontPlatformData::FontPlatformData):
16795         (WebCore::FontPlatformData::hash):
16796         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
16797         (WebCore::FontPlatformData::FontPlatformData):
16798         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
16799         (WebCore::SimpleFontData::platformDestroy):
16801 2008-09-09  Dave Hyatt  <hyatt@apple.com>
16803         Make the Windows classic case work again.  Overlap in slider constants and other constants broke
16804         the push state for buttons and checkboxes.  Make sure to check the RenderObject's appearance
16805         value to make sure it's really a slider thumb to resolve this conflict.
16806        
16807         Reviewed by Adam Roben
16809         * rendering/RenderThemeWin.cpp:
16810         (WebCore::drawControl):
16812 2008-09-05  Chris Marrin  <cmarrin@apple.com>
16814         Reviewed by Sam Weinig.
16816         Need to handle the case when 0% or 100% keyframe is omitted
16817         https://bugs.webkit.org/show_bug.cgi?id=20679
16819         Tests: animations/keyframes-from-missing.html
16820                animations/keyframes-to-missing.html
16822         * css/CSSStyleSelector.cpp:
16823         (WebCore::CSSStyleSelector::addKeyframeStyle):
16825 2008-09-09  Dave Hyatt  <hyatt@apple.com>
16827         Resurrect Safari's original RenderThemeWin and bring it up to date with ToT.  Having a current
16828         RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
16829         merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
16830         what changes have been made as compared with the old RenderThemeWin).
16831         
16832         Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
16833         text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
16834         vs. printer advancement rounding).
16835     
16836         Reviewed by Adam/Sam
16838         * css/CSSStyleSelector.cpp:
16839         (WebCore::CSSStyleSelector::applyProperty):
16840         * platform/graphics/Icon.h:
16841         (WebCore::Icon::create):
16842         * rendering/RenderThemeWin.cpp:
16843         (WebCore::RenderThemeWin::RenderThemeWin):
16844         (WebCore::RenderThemeWin::~RenderThemeWin):
16845         (WebCore::RenderThemeWin::buttonTheme):
16846         (WebCore::RenderThemeWin::textFieldTheme):
16847         (WebCore::RenderThemeWin::menuListTheme):
16848         (WebCore::RenderThemeWin::sliderTheme):
16849         (WebCore::RenderThemeWin::close):
16850         (WebCore::RenderThemeWin::themeChanged):
16851         (WebCore::RenderThemeWin::supportsHover):
16852         (WebCore::fillFontDescription):
16853         (WebCore::RenderThemeWin::systemFont):
16854         (WebCore::RenderThemeWin::supportsFocus):
16855         (WebCore::RenderThemeWin::determineClassicState):
16856         (WebCore::RenderThemeWin::determineState):
16857         (WebCore::RenderThemeWin::determineSliderThumbState):
16858         (WebCore::RenderThemeWin::getClassicThemeData):
16859         (WebCore::RenderThemeWin::getThemeData):
16860         (WebCore::drawControl):
16861         (WebCore::RenderThemeWin::paintButton):
16862         (WebCore::RenderThemeWin::paintTextField):
16863         (WebCore::RenderThemeWin::paintMenuList):
16864         (WebCore::RenderThemeWin::adjustMenuListStyle):
16865         (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
16866         (WebCore::RenderThemeWin::paintMenuListButton):
16867         (WebCore::RenderThemeWin::paintSliderTrack):
16868         (WebCore::RenderThemeWin::paintSliderThumb):
16869         (WebCore::RenderThemeWin::adjustSliderThumbSize):
16870         (WebCore::RenderThemeWin::paintSearchField):
16871         (WebCore::RenderThemeWin::adjustSearchFieldStyle):
16872         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
16873         (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
16874         (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
16875         (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
16876         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
16877         (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
16878         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
16879         * rendering/RenderThemeWin.h:
16880         (WebCore::ThemeData::ThemeData):
16881         (WebCore::RenderThemeWin::paintSearchFieldDecoration):
16882         (WebCore::RenderThemeWin::adjustButtonStyle):
16883         (WebCore::RenderThemeWin::adjustTextFieldStyle):
16884         (WebCore::RenderThemeWin::adjustTextAreaStyle):
16886 2008-09-09  Dean Jackson  <dino@apple.com>
16888         Reviewed by Sam Weinig.
16890         Document::createEvent missing cases for animation and
16891         transition events.
16892         https://bugs.webkit.org/show_bug.cgi?id=20734
16894         Test: transitions/transition-end-event-create.html
16895         Test: animations/animation-events-create.html
16897         * dom/Document.cpp:
16898         (WebCore::Document::createEvent):
16899             - add the two cases
16901 2008-09-09  Dan Bernstein  <mitz@apple.com>
16903         - Tiger build fix
16905         * WebCore.Tiger.exp:
16906         * WebCore.base.exp:
16907         * platform/mac/WebCoreSystemInterface.h:
16908         * platform/mac/WebCoreSystemInterface.mm:
16910 2008-09-09  Dan Bernstein  <mitz@apple.com>
16912         Reviewed by Darin Adler.
16914         - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
16916         * WebCore.Tiger.exp:
16917         * WebCore.base.exp:
16918         * platform/graphics/SimpleFontData.h:
16919         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
16920         (WebCore::GlyphPage::fill):
16921         * platform/graphics/mac/SimpleFontDataMac.mm:
16922         (WebCore::initFontData):
16923         (WebCore::SimpleFontData::platformInit):
16924         (WebCore::SimpleFontData::platformDestroy):
16925         * platform/mac/WebCoreSystemInterface.h:
16926         * platform/mac/WebCoreSystemInterface.mm:
16928 2008-09-09  Kevin McCullough  <kmccullough@apple.com>
16930         Reviewed by Tim.
16932         <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
16933         breakpoints inside eval.
16935         * page/inspector/inspector.js:
16937 2008-09-09  Joerg Bornemann  <joerg.bornemann@trolltech.com>
16939         Reviewed by Simon.
16941         Fix compilation of the Qt port with disabled plugins on Windows
16943         * WebCore.pro:
16944         * plugins/PluginView.cpp:
16945         (WebCore::PluginView::PluginView):
16946         * plugins/PluginView.h:
16948 2008-09-09  Jungshik Shin  <jungshik.shin@gmail.com>
16950         Reviewed by Alexey Proskuryakov.
16952         Try MIME charset names before trying IANA names 
16953         ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
16955         With this change, shorter and more widely used names (preferred MIME
16956         names) are returned by document.charset, document.characterSet,
16957         document.inputEncoding rather than IANA names. This  helps
16958         fixing bug 18085 in addition to web developers who are more familiar
16959         with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
16960         returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese, 
16961         ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx. 
16962         Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
16963         used, the former is still recognized as aliases to the latter so that
16964         there's very little, if any, to worry about.
16966         * platform/text/TextCodecICU.cpp:
16967         (WebCore::TextCodecICU::registerExtendedEncodingNames):
16969 2008-09-08  Sam Weinig  <sam@webkit.org>
16971         Reviewed by Maciej Stachowiak and Oliver Hunt.
16973         Add forwarding headers.
16975         * ForwardingHeaders/wtf/HashFunctions.h: Added.
16977 2008-09-05  Dean Jackson  <dino@apple.com>
16979         Reviewed by Dan Bernstein.
16981         Update grammar so that we can add a keyframe rule via the DOM.
16982         https://bugs.webkit.org/show_bug.cgi?id=20613
16984         * css/CSSGrammar.y:
16985         * css/tokenizer.flex:
16987 2008-09-08  Antti Koivisto  <antti@apple.com>
16989         Reviewed by Dan Bernstein.
16991         Allow <br> for simple UA stylesheet. Editing code generates them. It does not
16992         actually show up in any of the default stylesheets.
16994         * css/CSSStyleSelector.cpp:
16995         (WebCore::elementCanUseSimpleDefaultStyle):
16997 2008-09-08  Dimitri Glazkov  <dglazkov@google.com>
16999         Reviewed by Dan Bernstein.
17001         - fix https://bugs.webkit.org/show_bug.cgi?id=20237
17002           Zero width and space characters are displayed incorrectly if not contained in a fallback font
17004         Adds an extra check for Object Replacement Character (U+FFFC) to address
17005         the issue with fast/text/zero-width-characters.html test when run
17006         with Windows system default fonts.
17008         * platform/graphics/Font.h:
17009         (WebCore::Font::treatAsZeroWidthSpace):
17011 2008-09-08  Dean Jackson  <dino@apple.com>
17013         Reviewed by Sam Weinig.
17015         Code style issue I forgot to fix from previous commit.
17017         * platform/graphics/AffineTransform.cpp:
17018         (WebCore::AffineTransform::blend):
17020 2008-09-08  Chris Marrin  <cmarrin@apple.com>
17022         Reviewed by Sam Weinig
17024         - Animation of -webkit-transform matrix() function should not do linear interpolation
17025           https://bugs.webkit.org/show_bug.cgi?id=20667
17027         Test: animations/matrix-anim.html
17029         * ChangeLog:
17030         * platform/graphics/AffineTransform.cpp:
17031         (WebCore::affineTransformDecompose):
17032         (WebCore::affineTransformCompose):
17033         (WebCore::AffineTransform::blend):
17034         * platform/graphics/AffineTransform.h:
17035         * rendering/style/RenderStyle.cpp:
17036         (WebCore::MatrixTransformOperation::blend):
17038 2008-09-08  Alexey Proskuryakov  <ap@webkit.org>
17040         Reviewed by Darin Adler.
17042         https://bugs.webkit.org/show_bug.cgi?id=20668
17043         multipart/form-data does not always include Content-type for submitted files
17045         Cannot be tested with DRT or manual tests.
17047         * platform/MIMETypeRegistry.cpp:
17048         (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
17049         (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
17050         unknown extensions, not just missing ones.
17052 2008-09-08  Simon Hausmann  <hausmann@webkit.org>
17054         Build fix for the Qt/Windows build, define USE_JSC to
17055         enable the WebCore::String -> JSC::UString operator that
17056         MSVC insists on seeing
17058         * WebCore.pro:
17060 2008-09-08  Anders Carlsson  <andersca@apple.com>
17062         Reviewed by Maciej.
17064         <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
17065         
17066         In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
17067         page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
17068         
17069         Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
17070         
17071         * bindings/js/JSDOMWindowBase.h:
17072         * loader/FrameLoader.cpp:
17073         (WebCore::FrameLoader::commitProvisionalLoad):
17075 2008-09-07  Antti Koivisto  <antti@apple.com>
17077         Reviewed by Dave Hyatt.
17079         Don't leak the simple stylesheet.
17080         Also call RenderTheme::adjustDefaultStyleSheet() in right place.
17082         * css/CSSStyleSelector.cpp:
17083         (WebCore::loadFullDefaultStyle):
17084         (WebCore::loadSimpleDefaultStyle):
17085         (WebCore::CSSStyleSelector::styleForElement):
17087 2008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
17089         Reviewed by Oliver Hunt.
17091         Bug 20711: Change KJS prefix on preprocessor macros to JSC
17092         <https://bugs.webkit.org/show_bug.cgi?id=20711>
17094         * bindings/js/JSEventTargetBase.h:
17095         * bindings/js/JSHTMLInputElementBase.cpp:
17096         * bindings/js/JSHTMLInputElementBase.h:
17097         * bindings/scripts/CodeGeneratorJS.pm:
17099 2008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
17101         Reviewed by Maciej Stachowiak.
17103         Bug 20704: Replace the KJS namespace
17104         <https://bugs.webkit.org/show_bug.cgi?id=20704>
17106         Rename the KJS namespace to JSC. There are still some uses of KJS in the
17107         names of JNI functions, and I will check if these are safe to change
17108         as well.
17110         * WebCore.base.exp:
17111         * bindings/js/GCController.cpp:
17112         * bindings/js/JSAttrCustom.cpp:
17113         * bindings/js/JSAudioConstructor.cpp:
17114         * bindings/js/JSAudioConstructor.h:
17115         (WebCore::JSAudioConstructor::classInfo):
17116         * bindings/js/JSCSSRuleCustom.cpp:
17117         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
17118         * bindings/js/JSCSSValueCustom.cpp:
17119         * bindings/js/JSCanvasPixelArrayCustom.cpp:
17120         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
17121         * bindings/js/JSClipboardCustom.cpp:
17122         * bindings/js/JSConsoleCustom.cpp:
17123         * bindings/js/JSCustomSQLStatementCallback.cpp:
17124         (WebCore::JSCustomSQLStatementCallback::handleEvent):
17125         * bindings/js/JSCustomSQLStatementCallback.h:
17126         (WebCore::JSCustomSQLStatementCallback::create):
17127         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
17128         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
17129         * bindings/js/JSCustomSQLStatementErrorCallback.h:
17130         (WebCore::JSCustomSQLStatementErrorCallback::create):
17131         * bindings/js/JSCustomSQLTransactionCallback.cpp:
17132         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
17133         * bindings/js/JSCustomSQLTransactionCallback.h:
17134         (WebCore::JSCustomSQLTransactionCallback::create):
17135         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
17136         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
17137         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
17138         (WebCore::JSCustomSQLTransactionErrorCallback::create):
17139         * bindings/js/JSCustomVoidCallback.cpp:
17140         (WebCore::JSCustomVoidCallback::handleEvent):
17141         * bindings/js/JSCustomVoidCallback.h:
17142         (WebCore::JSCustomVoidCallback::create):
17143         * bindings/js/JSCustomXPathNSResolver.cpp:
17144         (WebCore::JSCustomXPathNSResolver::create):
17145         * bindings/js/JSCustomXPathNSResolver.h:
17146         * bindings/js/JSDOMApplicationCacheCustom.cpp:
17147         (WebCore::JSDOMApplicationCache::dispatchEvent):
17148         * bindings/js/JSDOMBinding.cpp:
17149         (WebCore::jsOwnedStringOrNull):
17150         * bindings/js/JSDOMBinding.h:
17151         (WebCore::DOMObject::DOMObject):
17152         (WebCore::cacheDOMObject):
17153         (WebCore::cacheSVGDOMObject):
17154         (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
17155         (WebCore::toJS):
17156         * bindings/js/JSDOMWindowBase.cpp:
17157         * bindings/js/JSDOMWindowBase.h:
17158         (WebCore::JSDOMWindowBase::classInfo):
17159         (WebCore::JSDOMWindowBase::d):
17160         * bindings/js/JSDOMWindowCustom.cpp:
17161         (WebCore::JSDOMWindow::getPropertyAttributes):
17162         * bindings/js/JSDOMWindowCustom.h:
17163         (WebCore::asJSDOMWindow):
17164         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
17165         (WebCore::JSDOMWindow::customPut):
17166         (WebCore::JSDOMWindowBase::allowsAccessFrom):
17167         (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
17168         * bindings/js/JSDOMWindowShell.cpp:
17169         (WebCore::JSDOMWindowShell::getPropertyAttributes):
17170         * bindings/js/JSDOMWindowShell.h:
17171         (WebCore::JSDOMWindowShell::classInfo):
17172         * bindings/js/JSDatabaseCustom.cpp:
17173         * bindings/js/JSDocumentCustom.cpp:
17174         * bindings/js/JSDocumentFragmentCustom.cpp:
17175         * bindings/js/JSElementCustom.cpp:
17176         * bindings/js/JSEventCustom.cpp:
17177         * bindings/js/JSEventListener.cpp:
17178         * bindings/js/JSEventListener.h:
17179         (WebCore::JSUnprotectedEventListener::create):
17180         (WebCore::JSEventListener::create):
17181         * bindings/js/JSEventTargetBase.cpp:
17182         * bindings/js/JSEventTargetBase.h:
17183         (WebCore::JSEventTargetBase::getValueProperty):
17184         (WebCore::JSEventTargetBase::putValueProperty):
17185         (WebCore::JSEventTargetBase::getOwnPropertySlot):
17186         (WebCore::JSEventTargetBase::put):
17187         (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
17188         (WebCore::JSEventTargetPrototype::self):
17189         (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
17190         (WebCore::JSEventTargetPrototype::classInfo):
17191         * bindings/js/JSEventTargetNode.cpp:
17192         * bindings/js/JSEventTargetNode.h:
17193         (WebCore::JSEventTargetNode::getOwnPropertySlot):
17194         (WebCore::JSEventTargetNode::getValueProperty):
17195         (WebCore::JSEventTargetNode::put):
17196         (WebCore::JSEventTargetNode::putValueProperty):
17197         * bindings/js/JSHTMLAllCollection.h:
17198         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
17199         (WebCore::JSHTMLAllCollection::toBoolean):
17200         * bindings/js/JSHTMLAppletElementCustom.cpp:
17201         * bindings/js/JSHTMLCollectionCustom.cpp:
17202         * bindings/js/JSHTMLDocumentCustom.cpp:
17203         * bindings/js/JSHTMLElementCustom.cpp:
17204         * bindings/js/JSHTMLEmbedElementCustom.cpp:
17205         * bindings/js/JSHTMLFormElementCustom.cpp:
17206         * bindings/js/JSHTMLFrameElementCustom.cpp:
17207         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
17208         * bindings/js/JSHTMLIFrameElementCustom.cpp:
17209         * bindings/js/JSHTMLInputElementBase.cpp:
17210         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
17211         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
17212         * bindings/js/JSHTMLInputElementBase.h:
17213         (WebCore::JSHTMLInputElementBase::classInfo):
17214         * bindings/js/JSHTMLObjectElementCustom.cpp:
17215         * bindings/js/JSHTMLOptionElementConstructor.cpp:
17216         * bindings/js/JSHTMLOptionElementConstructor.h:
17217         (WebCore::JSHTMLOptionElementConstructor::classInfo):
17218         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
17219         * bindings/js/JSHTMLSelectElementCustom.cpp:
17220         (WebCore::selectIndexSetter):
17221         (WebCore::JSHTMLSelectElement::indexSetter):
17222         * bindings/js/JSHTMLSelectElementCustom.h:
17223         * bindings/js/JSHistoryCustom.cpp:
17224         * bindings/js/JSImageConstructor.cpp:
17225         * bindings/js/JSImageConstructor.h:
17226         (WebCore::JSImageConstructor::classInfo):
17227         * bindings/js/JSInspectedObjectWrapper.cpp:
17228         * bindings/js/JSInspectedObjectWrapper.h:
17229         (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
17230         (WebCore::JSInspectedObjectWrapper::classInfo):
17231         * bindings/js/JSInspectorCallbackWrapper.cpp:
17232         * bindings/js/JSInspectorCallbackWrapper.h:
17233         (WebCore::JSInspectorCallbackWrapper::classInfo):
17234         (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
17235         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
17236         * bindings/js/JSLocationCustom.cpp:
17237         * bindings/js/JSMimeTypeArrayCustom.cpp:
17238         * bindings/js/JSNSResolver.cpp:
17239         * bindings/js/JSNSResolver.h:
17240         (WebCore::JSNSResolver::create):
17241         * bindings/js/JSNamedNodeMapCustom.cpp:
17242         * bindings/js/JSNamedNodesCollection.cpp:
17243         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
17244         * bindings/js/JSNamedNodesCollection.h:
17245         (WebCore::JSNamedNodesCollection::classInfo):
17246         * bindings/js/JSNavigatorCustom.cpp:
17247         * bindings/js/JSNodeCustom.cpp:
17248         * bindings/js/JSNodeFilterCondition.cpp:
17249         (WebCore::JSNodeFilterCondition::acceptNode):
17250         * bindings/js/JSNodeFilterCondition.h:
17251         (WebCore::JSNodeFilterCondition::create):
17252         * bindings/js/JSNodeFilterCustom.cpp:
17253         * bindings/js/JSNodeIteratorCustom.cpp:
17254         * bindings/js/JSNodeListCustom.cpp:
17255         * bindings/js/JSPluginArrayCustom.cpp:
17256         * bindings/js/JSPluginCustom.cpp:
17257         * bindings/js/JSPluginElementFunctions.cpp:
17258         (WebCore::getRuntimeObject):
17259         * bindings/js/JSPluginElementFunctions.h:
17260         * bindings/js/JSQuarantinedObjectWrapper.cpp:
17261         (WebCore::JSQuarantinedObjectWrapper::construct):
17262         (WebCore::JSQuarantinedObjectWrapper::call):
17263         * bindings/js/JSQuarantinedObjectWrapper.h:
17264         (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
17265         (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
17266         (WebCore::JSQuarantinedObjectWrapper::className):
17267         * bindings/js/JSRGBColor.cpp:
17268         * bindings/js/JSRGBColor.h:
17269         (WebCore::JSRGBColor::classInfo):
17270         * bindings/js/JSSQLResultSetRowListCustom.cpp:
17271         * bindings/js/JSSQLTransactionCustom.cpp:
17272         * bindings/js/JSSVGLazyEventListener.cpp:
17273         * bindings/js/JSSVGLazyEventListener.h:
17274         * bindings/js/JSSVGLengthCustom.cpp:
17275         * bindings/js/JSSVGMatrixCustom.cpp:
17276         (WebCore::JSSVGMatrix::inverse):
17277         (WebCore::JSSVGMatrix::rotateFromVector):
17278         * bindings/js/JSSVGPathSegCustom.cpp:
17279         * bindings/js/JSSVGPathSegListCustom.cpp:
17280         (WebCore::JSSVGPathSegList::initialize):
17281         (WebCore::JSSVGPathSegList::getItem):
17282         (WebCore::JSSVGPathSegList::insertItemBefore):
17283         (WebCore::JSSVGPathSegList::replaceItem):
17284         (WebCore::JSSVGPathSegList::removeItem):
17285         (WebCore::JSSVGPathSegList::appendItem):
17286         * bindings/js/JSSVGPointListCustom.cpp:
17287         * bindings/js/JSSVGTransformListCustom.cpp:
17288         * bindings/js/JSStorageCustom.cpp:
17289         * bindings/js/JSStyleSheetCustom.cpp:
17290         * bindings/js/JSStyleSheetListCustom.cpp:
17291         * bindings/js/JSTextCustom.cpp:
17292         * bindings/js/JSTreeWalkerCustom.cpp:
17293         * bindings/js/JSXMLHttpRequestConstructor.cpp:
17294         * bindings/js/JSXMLHttpRequestConstructor.h:
17295         (WebCore::JSXMLHttpRequestConstructor::classInfo):
17296         * bindings/js/JSXMLHttpRequestCustom.cpp:
17297         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
17298         * bindings/js/JSXSLTProcessorConstructor.cpp:
17299         * bindings/js/JSXSLTProcessorConstructor.h:
17300         (WebCore::JSXSLTProcessorConstructor::classInfo):
17301         * bindings/js/JSXSLTProcessorCustom.cpp:
17302         * bindings/js/ScheduledAction.cpp:
17303         * bindings/js/ScheduledAction.h:
17304         * bindings/js/ScriptController.cpp:
17305         (WebCore::ScriptController::attachDebugger):
17306         (WebCore::ScriptController::windowScriptNPObject):
17307         * bindings/js/ScriptController.h:
17308         * bindings/js/ScriptControllerGtk.cpp:
17309         (WebCore::ScriptController::createScriptInstanceForWidget):
17310         * bindings/js/ScriptControllerMac.mm:
17311         (WebCore::ScriptController::createScriptInstanceForWidget):
17312         (WebCore::ScriptController::windowScriptObject):
17313         (WebCore::ScriptController::clearPlatformScriptObjects):
17314         (WebCore::updateRenderingForBindings):
17315         (WebCore::ScriptController::initJavaJSBindings):
17316         * bindings/js/ScriptControllerQt.cpp:
17317         (WebCore::ScriptController::createScriptInstanceForWidget):
17318         * bindings/js/ScriptControllerWin.cpp:
17319         (WebCore::ScriptController::createScriptInstanceForWidget):
17320         * bindings/js/ScriptControllerWx.cpp:
17321         (WebCore::ScriptController::createScriptInstanceForWidget):
17322         * bindings/js/StringSourceProvider.h:
17323         (WebCore::StringSourceProvider::getRange):
17324         * bindings/objc/DOM.mm:
17325         (-[DOMNode JSC::Bindings::]):
17326         * bindings/objc/DOMInternal.h:
17327         * bindings/objc/DOMInternal.mm:
17328         (-[WebScriptObject _initializeScriptDOMNodeImp]):
17329         * bindings/objc/DOMUtility.mm:
17330         (JSC::createDOMWrapper):
17331         (WebCore::createDOMWrapper):
17332         * bindings/objc/WebScriptObject.mm:
17333         (WebCore::createJSWrapper):
17334         (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
17335         * bindings/objc/WebScriptObjectPrivate.h:
17336         * bindings/scripts/CodeGeneratorJS.pm:
17337         * bridge/NP_jsobject.cpp:
17338         * bridge/NP_jsobject.h:
17339         * bridge/c/c_class.cpp:
17340         * bridge/c/c_class.h:
17341         * bridge/c/c_instance.cpp:
17342         * bridge/c/c_instance.h:
17343         * bridge/c/c_runtime.cpp:
17344         * bridge/c/c_runtime.h:
17345         * bridge/c/c_utility.cpp:
17346         * bridge/c/c_utility.h:
17347         * bridge/jni/jni_class.cpp:
17348         * bridge/jni/jni_class.h:
17349         * bridge/jni/jni_instance.cpp:
17350         * bridge/jni/jni_instance.h:
17351         * bridge/jni/jni_jsobject.h:
17352         * bridge/jni/jni_jsobject.mm:
17353         (JavaJSObject::call):
17354         (JavaJSObject::convertJObjectToValue):
17355         * bridge/jni/jni_objc.mm:
17356         (JSC::Bindings::dispatchJNICall):
17357         * bridge/jni/jni_runtime.cpp:
17358         * bridge/jni/jni_runtime.h:
17359         * bridge/jni/jni_utility.cpp:
17360         * bridge/jni/jni_utility.h:
17361         * bridge/npruntime.cpp:
17362         (_NPN_GetStringIdentifier):
17363         * bridge/objc/WebScriptObject.h:
17364         * bridge/objc/objc_class.h:
17365         * bridge/objc/objc_class.mm:
17366         * bridge/objc/objc_instance.h:
17367         * bridge/objc/objc_instance.mm:
17368         * bridge/objc/objc_runtime.h:
17369         * bridge/objc/objc_runtime.mm:
17370         * bridge/objc/objc_utility.h:
17371         * bridge/objc/objc_utility.mm:
17372         * bridge/qt/qt_class.cpp:
17373         * bridge/qt/qt_class.h:
17374         * bridge/qt/qt_instance.cpp:
17375         * bridge/qt/qt_instance.h:
17376         * bridge/qt/qt_runtime.cpp:
17377         (JSC::Bindings::convertQVariantToValue):
17378         (JSC::Bindings::):
17379         * bridge/qt/qt_runtime.h:
17380         * bridge/runtime.cpp:
17381         * bridge/runtime.h:
17382         * bridge/runtime_array.cpp:
17383         * bridge/runtime_array.h:
17384         * bridge/runtime_method.cpp:
17385         * bridge/runtime_method.h:
17386         * bridge/runtime_object.cpp:
17387         * bridge/runtime_object.h:
17388         * bridge/runtime_root.cpp:
17389         (JSC::Bindings::RootObject::invalidate):
17390         (JSC::Bindings::RootObject::gcProtect):
17391         (JSC::Bindings::RootObject::gcUnprotect):
17392         * bridge/runtime_root.h:
17393         * bridge/testbindings.cpp:
17394         * bridge/testbindings.mm:
17395         * bridge/testqtbindings.cpp:
17396         * dom/Document.cpp:
17397         (WebCore::Document::~Document):
17398         * dom/NSResolver.h:
17399         * dom/Node.cpp:
17400         (WebCore::Node::setDocument):
17401         (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
17402         (WebCore::resolveNamespacesForSelector):
17403         (WebCore::Node::querySelector):
17404         (WebCore::Node::querySelectorAll):
17405         * dom/Node.h:
17406         * dom/NodeFilter.cpp:
17407         * dom/NodeFilter.h:
17408         * dom/NodeFilterCondition.cpp:
17409         * dom/NodeFilterCondition.h:
17410         * dom/NodeIterator.cpp:
17411         * dom/NodeIterator.h:
17412         * dom/Traversal.cpp:
17413         * dom/Traversal.h:
17414         * dom/TreeWalker.cpp:
17415         * dom/TreeWalker.h:
17416         * dom/make_names.pl:
17417         * history/CachedPage.cpp:
17418         * history/CachedPage.h:
17419         * html/HTMLPlugInElement.cpp:
17420         (WebCore::HTMLPlugInElement::getInstance):
17421         * html/HTMLPlugInElement.h:
17422         * loader/FrameLoader.cpp:
17423         * loader/FrameLoader.h:
17424         * loader/icon/IconDatabase.cpp:
17425         (WebCore::iconDatabase):
17426         * page/Console.cpp:
17427         * page/Console.h:
17428         * page/InspectorController.cpp:
17429         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
17430         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
17431         (WebCore::InspectorResource::setXMLHttpRequestProperties):
17432         (WebCore::InspectorResource::sourceString):
17433         (WebCore::getResourceDocumentNode):
17434         (WebCore::search):
17435         (WebCore::InspectorController::focusNode):
17436         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
17437         (WebCore::InspectorController::addDatabaseScriptResource):
17438         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
17439         * page/InspectorController.h:
17440         (WebCore::InspectorController::profiles):
17441         * page/JavaScriptCallFrame.cpp:
17442         (WebCore::JavaScriptCallFrame::scopeChain):
17443         * page/JavaScriptCallFrame.h:
17444         (WebCore::JavaScriptCallFrame::create):
17445         (WebCore::JavaScriptCallFrame::update):
17446         * page/JavaScriptDebugListener.h:
17447         * page/JavaScriptDebugServer.cpp:
17448         (WebCore::dispatchDidParseSource):
17449         * page/JavaScriptDebugServer.h:
17450         * page/JavaScriptProfile.cpp:
17451         * page/JavaScriptProfile.h:
17452         * page/JavaScriptProfileNode.cpp:
17453         (WebCore::getTotalTime):
17454         (WebCore::getSelfTime):
17455         (WebCore::getTotalPercent):
17456         (WebCore::getSelfPercent):
17457         (WebCore::getNumberOfCalls):
17458         (WebCore::getChildren):
17459         (WebCore::getVisible):
17460         * page/JavaScriptProfileNode.h:
17461         * page/Page.cpp:
17462         (WebCore::Page::setDebuggerForAllPages):
17463         (WebCore::Page::setDebugger):
17464         * page/Page.h:
17465         (WebCore::Page::debugger):
17466         * page/mac/FrameMac.mm:
17467         * platform/KURL.h:
17468         (WebCore::KURL::operator JSC::UString):
17469         * platform/text/AtomicString.cpp:
17470         (WebCore::AtomicString::add):
17471         (WebCore::AtomicString::find):
17472         * platform/text/AtomicString.h:
17473         (WebCore::AtomicString::AtomicString):
17474         * platform/text/PlatformString.h:
17475         * platform/text/String.cpp:
17476         (WebCore::charactersToDouble):
17477         * platform/win/BString.cpp:
17478         * platform/win/BString.h:
17479         * plugins/MimeTypeArray.h:
17480         * plugins/Plugin.h:
17481         * plugins/PluginArray.h:
17482         * plugins/PluginView.cpp:
17483         (WebCore::PluginView::start):
17484         (WebCore::PluginView::performRequest):
17485         (WebCore::PluginView::bindingInstance):
17486         * plugins/PluginView.h:
17487         * plugins/gtk/PluginViewGtk.cpp:
17488         (WebCore::PluginView::paint):
17489         (WebCore::PluginView::handleKeyboardEvent):
17490         (WebCore::PluginView::handleMouseEvent):
17491         (WebCore::PluginView::setNPWindowRect):
17492         (WebCore::PluginView::stop):
17493         (WebCore::PluginView::init):
17494         * plugins/qt/PluginViewQt.cpp:
17495         (WebCore::PluginView::setNPWindowRect):
17496         (WebCore::PluginView::stop):
17497         (WebCore::PluginView::init):
17498         * plugins/win/PluginViewWin.cpp:
17499         (WebCore::PluginView::dispatchNPEvent):
17500         (WebCore::PluginView::handleKeyboardEvent):
17501         (WebCore::PluginView::handleMouseEvent):
17502         (WebCore::PluginView::setNPWindowRect):
17503         (WebCore::PluginView::stop):
17504         * storage/Database.cpp:
17505         (WebCore::Database::Database):
17506         * xml/XMLHttpRequest.cpp:
17507         (WebCore::XMLHttpRequest::responseText):
17508         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
17509         (WebCore::XMLHttpRequest::clearResponse):
17510         (WebCore::XMLHttpRequest::dropProtection):
17511         (WebCore::XMLHttpRequest::didFinishLoading):
17512         (WebCore::XMLHttpRequest::didReceiveData):
17513         * xml/XMLHttpRequest.h:
17515 2008-09-07  Adam Barth  <abarth@webkit.org>
17517         Reviewed by Sam Weinig.
17519         Adopt opener restriction on frame navigation.
17520           https://bugs.webkit.org/show_bug.cgi?id=20642
17522         This restriction helps prevent an attacker from navigating top-level
17523         windows that were created by another web site.
17525         Tests: http/tests/security/frameNavigation/not-opener.html
17526                http/tests/security/frameNavigation/opener.html
17528         * loader/FrameLoader.cpp:
17529         (WebCore::canAccessAncestor):
17530         (WebCore::FrameLoader::shouldAllowNavigation):
17532 2008-09-07  Dan Bernstein  <mitz@apple.com>
17534         Reviewed by Maciej Stachowiak.
17536         - use the correct sign for vertical offsets of combining marks
17538         * platform/graphics/win/UniscribeController.cpp:
17539         (WebCore::UniscribeController::shapeAndPlaceItem):
17541 2008-09-07  Dan Bernstein  <mitz@apple.com>
17543         Reviewed by Dave Hyatt.
17545         - add the combining mark offsets in two places where I forgot them
17547         * platform/graphics/win/FontCGWin.cpp:
17548         (WebCore::Font::drawGlyphs):
17550 2008-09-07  Dan Bernstein  <mitz@apple.com>
17552         Reviewed by Dave Hyatt.
17554         - correct glyph advances in complex text using web fonts rendered with
17555           Core Graphics
17557         * platform/graphics/win/FontCustomPlatformData.cpp:
17558         (WebCore::FontCustomPlatformData::fontPlatformData):
17560 2008-09-07  Keishi Hattori  <casey.hattori@gmail.com>
17562         Adds console.dirxml support to the Web Inspector.
17564         https://bugs.webkit.org/show_bug.cgi?id=19156
17566         Reviewed by Timothy Hatcher.
17568         * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
17569         * bindings/js/JSConsoleCustom.cpp:
17570         (WebCore::JSConsole::dirxml):
17571         * page/Console.cpp:
17572         (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
17573         * page/Console.h:
17574         (WebCore::): Added NodeMessageLevel.
17575         * page/Console.idl: Added console.dirxml.
17576         * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
17577         * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline 
17578         in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
17579         * page/inspector/ElementsTreeOutline.js: Added.
17580         (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
17581         (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
17582         * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
17583         * page/inspector/inspector.css:
17584         * page/inspector/inspector.html: Added ElementsTreeOutline.js.
17585         * page/inspector/inspector.js: Moved hover related methods to WebInspector.
17586         (WebInspector.altKeyDown):
17587         (WebInspector.forceHoverHighlight):
17588         (WebInspector.hoveredDOMNode):
17589         (WebInspector._updateHoverHighlightSoon):
17590         (WebInspector._updateHoverHighlight):
17591         (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
17592         (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
17593         * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
17594         isAncestorIncludingParentFrames.
17596 2008-09-06  Mark Rowe  <mrowe@apple.com>
17598         Qt build fix.
17600         * bridge/qt/qt_runtime.cpp:
17601         (KJS::Bindings::convertQVariantToValue):
17603 === End merge of squirrelfish-extreme ===
17605 2008-09-05  Oliver Hunt  <oliver@apple.com>
17607         Start bringing up SFX on windows.
17609         Reviewed by Mark Rowe and Sam Weinig
17611         Start doing the work to bring up SFX on windows.  Initially
17612         just working on WREC, as it does not make any calls so reduces
17613         the amount of code that needs to be corrected.
17615         Add forwarding headers
17617         * ChangeLog:
17618         * ForwardingHeaders/masm/MacroAssembler.h: Added.
17619         * WebCore.vcproj/WebCore.vcproj:
17621 2008-08-27  Mark Rowe  <mrowe@apple.com>
17623         Reviewed by Oliver Hunt.
17625         Fix the build of the full WebKit stack.
17627         Add forwarding headers.
17629         * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
17630         * ForwardingHeaders/wrec/WREC.h: Added.
17632 === Start merge of squirrelfish-extreme ===
17634 2008-09-06  Antti Koivisto  <antti@apple.com>
17636         Reviewed by Dave Hyatt.
17638         <rdar://problem/6187043> 
17639         Don't parse full HTML user agent style sheet unless it is actually needed
17640         <rdar://problem/6131889> 
17641         WebView is significantly more expensive to create recently
17642         
17643         Parsing the html4.css takes significant amount of time and memory (~50kb) on application
17644         startup. Some clients may never use most of the rules.
17645         
17646         With this patch we use simplified UA stylesheet until we hit something it can't handle. 
17647         This avoids full stylesheet parsing on application startup (due to empty document construction)
17648         and also makes it possible for clients with very simple demands (divs and spans only) never to load 
17649         the full style.
17650         
17651         It also delays view source style parsing until it is used.
17653         * css/CSSStyleSelector.cpp:
17654         (WebCore::elementCanUseSimpleDefaultStyle):
17655         (WebCore::CSSStyleSelector::CSSStyleSelector):
17656         (WebCore::loadFullDefaultStyle):
17657         (WebCore::loadSimpleDefaultStyle):
17658         (WebCore::loadViewSourceStyle):
17659         (WebCore::CSSStyleSelector::matchUARules):
17660         (WebCore::CSSStyleSelector::styleForElement):
17662 2008-09-06  Kevin Ollivier  <kevino@theolliviers.com>
17664         wx build fix.
17666         * WebCoreSources.bkl:
17668 2008-09-06  Antti Koivisto  <antti@apple.com>
17670         Reverting r35953 which was causing problems on Windows which relies on
17671         WebCore timers in nested event loops. r36132 did alternative fix.
17673         * page/Chrome.cpp:
17674         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
17675         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
17677 2008-09-06  Antti Koivisto  <antti@apple.com>
17679         Reviewed by Dan Bernstein.
17681         Fix <rdar://problem/6201644>
17682         https://bugs.webkit.org/show_bug.cgi?id=20493
17683         Crash after OK in dialog box and reloading page in secure mode
17684         
17685         Limited loader only fix since the general timer fix is causing problems on Windows.
17687         * loader/loader.cpp:
17688         (WebCore::Loader::servePendingRequests):
17689         (WebCore::Loader::Host::Host):
17690         (WebCore::Loader::Host::didFinishLoading):
17691         (WebCore::Loader::Host::didFail):
17692         (WebCore::Loader::Host::didReceiveData):
17693         * loader/loader.h:
17694         (WebCore::Loader::Host::processingResource):
17696 2008-09-06  Dan Bernstein  <mitz@apple.com>
17698         Reviewed by Dave Hyatt.
17700         The initial Core Text adoption prototype was made by Daniel Fenwick.
17702         - <rdar://problem/5158514> Add a Core Text-based complex text code path
17704         Currently the Core Text code path is not used in any configuration.
17706         * WebCore.xcodeproj/project.pbxproj: Added files.
17707         * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
17708         * platform/graphics/Font.cpp:
17709         (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
17710         of the loop.
17711         * platform/graphics/GlyphBuffer.h:
17712         (WebCore::GlyphBuffer::add): Added this version that takes an advance.
17713         * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
17714         Added getCTFont() and getCFStringAttributes() and corresponding data
17715         members for Core Text.
17716         * platform/graphics/mac/CoreTextController.cpp: Added.
17717         (WebCore::roundCGFloat): Helper function.
17718         (WebCore::ceilCGFloat): Helper function.
17719         (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
17720         (WebCore::CoreTextController::CoreTextController):
17721         (WebCore::CoreTextController::offsetForPosition):
17722         (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
17723         run into subruns as necessary such that each subrun can be rendered with
17724         a single font. Also separates out soft hyphens and replaces them with
17725         real hyphens, because Core Text does not emit a glyph for soft hyphens.
17726         Then calls collectCoreTextRunsForCharacters() on each subrun.
17727         (WebCore::CoreTextController::advance):
17728         (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
17729         a CTLine from the given subrun and collects its CoreTextRuns.
17730         (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
17731         rounding hacks, letter- and word-spacing and glyph substitutions and
17732         stores the resulting adjusted glyphs and advances.
17733         * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
17734         (WebCore::CoreTextController::totalWidth):
17735         (WebCore::CoreTextController::finalRoundingWidth):
17736         (WebCore::CoreTextController::CoreTextRun::ctRun):
17737         (WebCore::CoreTextController::CoreTextRun::glyphCount):
17738         (WebCore::CoreTextController::CoreTextRun::fontData):
17739         (WebCore::CoreTextController::CoreTextRun::characters):
17740         (WebCore::CoreTextController::CoreTextRun::stringLocation):
17741         (WebCore::CoreTextController::CoreTextRun::stringLength):
17742         (WebCore::CoreTextController::CoreTextRun::indexAt):
17743         * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
17744         FontMacATSUI.mm.
17745         * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
17746         (WebCore::disableLigatures): Changed to call
17747         FontPlatformData::allowsLigatures().
17748         (WebCore::overrideLayoutOperation): Changed to call
17749         FontPlatformData::roundsGlyphAdvances().
17750         * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
17751         (WebCore::Font::selectionRectForComplexText): Changed to use
17752         totalWidth() instead of advancing to the end and using runWidthSoFar().
17753         (WebCore::Font::drawComplexText):
17754         (WebCore::Font::floatWidthForComplexText): Ditto.
17755         (WebCore::Font::offsetForPositionForComplexText):
17756         * platform/graphics/mac/FontPlatformData.h:
17757         * platform/graphics/mac/FontPlatformDataMac.mm:
17758         (WebCore::FontPlatformData::setFont):
17759         (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
17760         AppKit rendering mode.
17761         (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
17762         heuristic that allows ligatures in fonts that do not have a glyph for
17763         'a', based on the assumption that such fonts are only used in complex
17764         text.
17765         * platform/graphics/mac/SimpleFontDataMac.mm:
17766         (WebCore::SimpleFontData::platformInit):
17767         (WebCore::SimpleFontData::platformDestroy):
17768         (WebCore::SimpleFontData::getCTFont): Added.
17769         (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
17770         returns an attributes dictionary.
17771         * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
17772         * platform/text/mac/ShapeArabic.h: Ditto.
17774 2008-09-06  Dan Bernstein  <mitz@apple.com>
17776         Reviewed by Dave Hyatt.
17778         - make combining mark offsets work in CG text on Windows
17780         * platform/graphics/win/FontCGWin.cpp:
17781         (WebCore::Font::drawGlyphs): The old code tried to translate the text
17782         matrix, but failed for two reasons: it did not actually change the
17783         matrix, and even if it did, CGContextSetTextPosition overwrites the
17784         translation values in the text matrix. Instead, just added the
17785         translation to the anchor point.
17787 2008-09-05  Gustavo Noronha Silva  <gns@gnome.org>
17789         Reviewed by Alp Toker.
17791         https://bugs.webkit.org/show_bug.cgi?id=18346
17792         [GTK] Remove build warnings
17794         Applied some casts, and removed an unused typedef to make the
17795         compiler happy, printing less warnings when building.
17797         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
17798         * platform/graphics/gtk/SimpleFontDataPango.cpp:
17799         (WebCore::SimpleFontData::containsCharacters):
17800         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
17801         (webkit_video_sink_set_caps):
17802         * platform/network/soup/ResourceHandleSoup.cpp:
17804 2008-09-05  Eric Seidel  <eric@webkit.org>
17806         Reviewed by Adam Roben.
17808         Build fix for WebKitWin and Chromium
17810         * platform/FileSystem.h:
17812 2008-09-05  Eric Seidel  <eric@webkit.org>
17814         Reviewed by Darin Adler.
17816         Try to make Chromium compile with ToT:
17817         - Wrap a few places which depend on KJS:: in #if USE(JSC)
17818         - Include some windows forward declarations
17820         * dom/Node.h:
17821         * page/Console.h:
17822         * page/animation/CompositeAnimation.h:
17823         * platform/FileSystem.h:
17824         * platform/graphics/Image.h:
17825         * platform/text/AtomicString.h:
17826         * platform/text/String.cpp:
17827         * rendering/style/RenderStyle.h:
17829 2008-09-05  Dave Hyatt  <hyatt@apple.com>
17831         Add support for runtime switchability of the Aqua look and the native look on Windows.
17832         Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
17834         Reviewed by Adam Roben
17836         * WebCore.vcproj/WebCore.vcproj:
17837         * page/Settings.cpp:
17838         (WebCore::Settings::setShouldPaintNativeControls):
17839         * page/Settings.h:
17840         (WebCore::Settings::shouldPaintNativeControls):
17841         * rendering/RenderThemeSafari.cpp:
17842         (WebCore::theme):
17843         * rendering/RenderThemeWin.cpp:
17845 2008-09-05  Antti Koivisto  <antti@apple.com>
17847         Qt build fix.
17849         * svg/SVGFEImageElement.cpp:
17850         (WebCore::SVGFEImageElement::build):
17852 2008-09-05  Dirk Schulze  <vbs85@gmx.de>
17854         Gtk build fix
17856         * GNUmakefile.am:
17858 2008-09-05  Antti Koivisto  <antti@apple.com>
17860         Another build fix.
17862         * svg/SVGFEImageElement.cpp:
17863         (WebCore::SVGFEImageElement::notifyFinished):
17865 2008-09-05  Antti Koivisto  <antti@apple.com>
17867         Build fixes.
17868         
17869         * WebCore.xcodeproj/project.pbxproj:
17870         * svg/graphics/filters/SVGFEImage.cpp:
17871         (WebCore::FEImage::cachedImage):
17873 2008-09-05  Antti Koivisto  <antti@apple.com>
17875         Reviewed by Darin Adler.
17877         Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
17878         When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
17880         Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
17881         not yet enable it for the biggest use case, reloading. However it is good for general browsing as
17882         well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
17883         we avoid re-decoding resources, especially images. 
17884         
17885         To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
17886         CacheControl: max-age=0 header. That would be added in reload case.
17887         
17888         The approach for revalidation is to kick the original resource out from the memory cache
17889         and create a new CachedResource that represents the revalidation request. In case
17890         we get 304 back for the request we put the original resource back to the cache, update 
17891         its expiration date and switch the clients registered to revalidation resource to be
17892         clients of the original resource.
17893         
17894         All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
17895         This allows updating the handles to point to the original resource when the revalidation succeeds. It
17896         also acts as refcounting smart pointer.
17898         * WebCore.pro:
17899         * WebCore.vcproj/WebCore.vcproj:
17900         * WebCore.xcodeproj/project.pbxproj:
17901         * css/CSSFontFaceSource.h:
17902         * css/CSSImportRule.h:
17903         * dom/Clipboard.h:
17904         (WebCore::Clipboard::dragImage):
17905         * dom/ProcessingInstruction.h:
17906         * dom/ScriptElement.h:
17907         * dom/XMLTokenizer.cpp:
17908         (WebCore::XMLTokenizer::isWaitingForScripts):
17909         * dom/XMLTokenizer.h:
17910         * html/HTMLImageLoader.cpp:
17911         (WebCore::HTMLImageLoader::setImage):
17912         (WebCore::HTMLImageLoader::updateFromElement):
17913         (WebCore::HTMLImageLoader::notifyFinished):
17914         * html/HTMLImageLoader.h:
17915         (WebCore::HTMLImageLoader::image):
17916         * html/HTMLLinkElement.h:
17917         * html/HTMLTokenizer.cpp:
17918         (WebCore::HTMLTokenizer::reset):
17919         (WebCore::HTMLTokenizer::scriptHandler):
17920         (WebCore::HTMLTokenizer::notifyFinished):
17921         * html/HTMLTokenizer.h:
17922         * loader/Cache.cpp:
17923         (WebCore::Cache::revalidateResource):
17924         (WebCore::Cache::revalidationSucceeded):
17925         (WebCore::Cache::revalidationFailed):
17926         * loader/Cache.h:
17927         * loader/CachedResource.cpp:
17928         (WebCore::CachedResource::CachedResource):
17929         (WebCore::CachedResource::~CachedResource):
17930         (WebCore::CachedResource::isExpired):
17931         (WebCore::CachedResource::setResponse):
17932         (WebCore::CachedResource::deleteIfPossible):
17933         (WebCore::CachedResource::setResourceToRevalidate):
17934         (WebCore::CachedResource::clearResourceToRevalidate):
17935         (WebCore::CachedResource::switchClientsToRevalidatedResource):
17936         (WebCore::CachedResource::canUseCacheValidator):
17937         (WebCore::CachedResource::mustRevalidate):
17938         * loader/CachedResource.h:
17939         (WebCore::CachedResource::canDelete):
17940         (WebCore::CachedResource::registerHandle):
17941         (WebCore::CachedResource::unregisterHandle):
17942         (WebCore::CachedResource::isCacheValidator):
17943         (WebCore::CachedResource::resourceToRevalidate):
17944         (WebCore::CachedResource::setExpirationDate):
17945         * loader/CachedResourceHandle.cpp: Added.
17946         (WebCore::CachedResourceHandleBase::setResource):
17947         * loader/CachedResourceHandle.h: Added.
17948         (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
17949         (WebCore::CachedResourceHandleBase::get):
17950         (WebCore::CachedResourceHandleBase::operator!):
17951         (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
17952         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
17953         (WebCore::CachedResourceHandleBase::operator=):
17954         (WebCore::CachedResourceHandle::CachedResourceHandle):
17955         (WebCore::CachedResourceHandle::get):
17956         (WebCore::CachedResourceHandle::operator->):
17957         (WebCore::CachedResourceHandle::operator=):
17958         (WebCore::CachedResourceHandle::operator==):
17959         (WebCore::CachedResourceHandle::operator!=):
17960         (WebCore::operator==):
17961         (WebCore::operator!=):
17962         * loader/DocLoader.cpp:
17963         (WebCore::DocLoader::checkForReload):
17964         * loader/UserStyleSheetLoader.h:
17965         * loader/loader.cpp:
17966         (WebCore::Loader::Host::servePendingRequests):
17967         (WebCore::Loader::Host::didFinishLoading):
17968         (WebCore::Loader::Host::didFail):
17969         (WebCore::Loader::Host::didReceiveResponse):
17970         (WebCore::Loader::Host::didReceiveData):
17971         * page/EventHandler.cpp:
17972         (WebCore::EventHandler::selectCursor):
17973         * rendering/RenderImage.cpp:
17974         (WebCore::RenderImage::setCachedImage):
17975         (WebCore::RenderImage::imageChanged):
17976         * rendering/RenderImage.h:
17977         (WebCore::RenderImage::cachedImage):
17978         (WebCore::RenderImage::imagePtr):
17979         * rendering/style/RenderStyle.h:
17980         * rendering/style/StyleCachedImage.h:
17981         (WebCore::StyleCachedImage::data):
17982         (WebCore::StyleCachedImage::cachedImage):
17983         * svg/SVGFEImageElement.h:
17984         * svg/graphics/filters/SVGFEImage.h:
17985         * xml/XSLImportRule.h:
17987 2008-09-04  Brady Eidson  <beidson@apple.com>
17989         Reviewed by Mitz
17991         <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
17993         A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt 
17994         to model default NSURLRequest behavior in a cross-platform manner.  
17996         Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit 
17997         client that wished to enforce a much larger default timeout using NSURLRequest API.
17999         Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
18000         behavior on the web and this restores previous Safari/WebKit behavior.
18002         It would be easy to write a layout test for this, but to be effective it would have
18003         to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
18005         * manual-tests/timeout-test.html: Added.
18006         * manual-tests/timeout-test.php: Added.
18008         * platform/network/ResourceRequestBase.h:
18009         (WebCore::ResourceRequestBase::ResourceRequestBase):  Rename the constant to "unspecifiedTimeoutInterval"
18010           and make it UINT_MAX so platforms that do set it have an effective "no timeout."  (Windows, for example)
18011         * platform/network/mac/ResourceRequestMac.mm:
18012         (WebCore::ResourceRequest::doUpdatePlatformRequest):  If the timeout for this request is 
18013           "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
18014           WebKit applications to enforce their own default timeout.
18016 2008-09-04  Dan Bernstein  <mitz@apple.com>
18018         Reviewed by Beth Dakin.
18020         - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
18022         Test: fast/repaint/button-spurious-layout-hint.html
18024         * rendering/RenderButton.cpp:
18025         (WebCore::RenderButton::setStyle): Reset the inner block's style box
18026         flex to 0 to avoid getting a spurious layout hint. 
18028 2008-09-04  Kevin Ollivier  <kevino@theolliviers.com>
18030         wx build fixes.
18032         * WebCoreSources.bkl:
18033         * bindings/js/ScriptControllerWx.cpp: Added.
18034         (WebCore::ScriptController::createScriptInstanceForWidget):
18035         * page/wx/AccessibilityObjectWx.cpp: Added.
18036         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
18037         * platform/graphics/wx/GraphicsContextWx.cpp:
18038         * webcore-base.bkl:
18039         * webcore-wx.bkl:
18041 2008-09-04  Dan Bernstein  <mitz@apple.com>
18043         Reviewed by Mark Rowe.
18045         - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
18046           and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
18047           require a different approach
18049         * css/CSSGrammar.y:
18051 2008-09-04  Mark Rowe  <mrowe@apple.com>
18053         Reviewed by Eric Seidel.
18055         Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
18056         Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
18058         * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
18059         * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
18060         for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
18062 2008-09-04  Mark Rowe  <mrowe@apple.com>
18064         Mac build fix.
18066         * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
18068 2008-09-04  Eric Seidel  <eric@webkit.org>
18070         Build fix only, no review.
18072         * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
18074 2008-09-04  Marco Barisione  <marco.barisione@collabora.co.uk>
18076         Reviewed by Eric Seidel.
18078         http://bugs.webkit.org/show_bug.cgi?id=20380
18079         [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
18081         * config.h: Include the configuration header generated by autotools if
18082         available.
18084 2008-09-04  Dan Bernstein  <mitz@apple.com>
18086         Rubber-stamped by Dave Hyatt.
18088         - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
18090         * loader/CachedFont.cpp:
18091         (WebCore::CachedFont::allClientsRemoved):
18092         * loader/CachedFont.h:
18093         * loader/CachedImage.cpp:
18094         (WebCore::CachedImage::allClientsRemoved):
18095         * loader/CachedImage.h:
18096         * loader/CachedResource.cpp:
18097         (WebCore::CachedResource::removeClient):
18098         * loader/CachedResource.h:
18099         (WebCore::CachedResource::allClientsRemoved):
18101 2008-09-04  Adam Roben  <aroben@apple.com>
18103         Windows build fix after r36071
18105         We were getting these errors:
18107         error C2356: initialization segment must not change during translation
18108         unit
18110         This was happening because multiple files #included by
18111         DerivedSources.cpp were themselves #including StaticConstructors.h. I
18112         fixed the error by adding header guards to StaticConstructors.h so its
18113         contents will only be included once.
18115         But it's also not a good idea for StaticConstructors.h to end up in
18116         DerivedSources.cpp, since it ends up "polluting" all the source files
18117         we have in there. So I removed all the files that include
18118         StaticConstructors.h and added some preprocessor directives to
18119         DerivedSources.cpp to catch this error in the future.
18121         * DerivedSources.cpp: Removed the *Names.cpp files, which include
18122         StaticConstructors.h, and added some preprocessor directives to make
18123         sure we don't end up accidentally including StaticConstructors.h in
18124         the future.
18125         * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
18126         * platform/StaticConstructors.h: Added header guards.
18128 2008-09-04  Adam Roben  <aroben@apple.com>
18130         Windows build fix
18132         * platform/graphics/win/FontPlatformData.h: Added a missing #include
18133         of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
18134         * platform/text/PlatformString.h: Added a missing #include of
18135         PassRefPtr.h.
18137 2008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
18139         Reviewed by Simon.
18141         Fix the QtWebKit build to match changes in r36016
18143         * WebCore.pro:
18144         * bridge/qt/qt_instance.cpp:
18145         (KJS::Bindings::QtInstance::getRuntimeObject):
18146         * bridge/qt/qt_runtime.cpp:
18147         (KJS::Bindings::convertQVariantToValue):
18148         (KJS::Bindings::QtConnectionObject::execute):
18150 2008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
18152         Reviewed by Simon.
18154         Re-enable support for user stylesheets in QtWebKit
18155         
18156         QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
18157         code path, which allows us to keep API support for
18158         loading user style sheets from remote URLs.
18159         
18160         As part of the change UserStyleSheetLoader.cpp/h was
18161         moved from WebCore/loader/mac to WebCore/loader.
18163         * WebCore.pro:
18164         * WebCore.xcodeproj/project.pbxproj:
18165         * dom/Document.h:
18166         * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
18167         (UserStyleSheetLoader::UserStyleSheetLoader):
18168         (UserStyleSheetLoader::~UserStyleSheetLoader):
18169         * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
18170         * page/qt/FrameQt.cpp:
18171         (WebCore::Frame::setUserStyleSheetLocation):
18172         (WebCore::Frame::setUserStyleSheet):
18174 2008-09-04  Alp Toker  <alp@nuanti.com>
18176         Reviewed by Eric.
18178         Remove left-over QT and CAIRO platform checks.
18180         * html/CanvasRenderingContext2D.cpp:
18182 2008-09-04  Eric Seidel  <eric@webkit.org>
18184         Reviewed by Mark Rowe.
18186         Fix leak of TextMetrics due to over-ref as see on buildbot.
18188         * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
18190 2008-09-04  Dan Bernstein  <mitz@apple.com>
18192         Reviewed by Dave Hyatt.
18194         - fix https://bugs.webkit.org/show_bug.cgi?id=19717
18195           <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
18197         * rendering/RenderBlock.cpp:
18198         (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
18199         positioned movement only case, call
18200         tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
18201         layout if that fails.
18202         (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
18203         * rendering/RenderBox.h:
18204         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
18205         layoutDoingPositionedMovementOnly to this, and made this function
18206         check if the width changed. If it did, return, leaving the object
18207         dirty. The caller can then call layout(). The width can change even
18208         in the "positioned movement only" case if the object is shrink-to-fit
18209         and the available width constraint is met. (This was the case in the
18210         bug).
18211         * rendering/RenderObject.h:
18212         (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
18213         Renamed layoutDoingPositionedMovementOnly() to this.
18215 2008-09-03  Eric Seidel  <eric@webkit.org>
18217         No review, build fix only.
18219         Attempt to fix the Qt build.
18221         * WebCore.pro: add page/animation to include path
18223 2008-09-03  Mark Rowe  <mrowe@apple.com>
18225         Mac build fix.  Correctly detect whether dashboard support is enabled.
18227         * DerivedSources.make:
18229 2008-09-03  Eric Seidel  <eric@webkit.org>
18231         Reviewed by Sam.
18233         Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
18235         * Configurations/WebCore.xcconfig: add missing ENABLE_*
18236         * config.h: add rules for V8_BINDINGS
18238 2008-09-03  Eric Seidel  <eric@webkit.org>
18240         Reviewed by Sam.
18242         https://bugs.webkit.org/show_bug.cgi?id=20620
18244         Add #if USE(JSC) around KJS dependencies
18245         Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
18246         1. Most platforms have it on anyway
18247         2. V8 is going to want to share some of that code
18248         3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
18250         * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
18251         * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
18252         * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
18253         * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
18254         * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
18255         * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
18256         * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
18257         * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
18258         * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
18259         * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
18260         * platform/text/AtomicString.cpp: add USE(JSC)
18261         * platform/text/AtomicString.h: add USE(JSC)
18262         * platform/text/PlatformString.h: add USE(JSC)
18263         * platform/text/String.cpp: add USE(JSC)
18264         * platform/text/StringImpl.cpp: add USE(JSC)
18265         * platform/text/StringImpl.h: add USE(JSC)
18267 2008-09-03  Dean McNamee  <deanm@chromium.org>
18269         Reviewed by Darin Adler.
18271         Fix https://bugs.webkit.org/show_bug.cgi?id=20511
18272         Bug 20511: Remove static initializers on Windows
18274         Avoid static initializers on Windows by forcing Visual C++ to put
18275         all static initializers in a code segment that is never executed.
18277         * config.h:
18278         * css/MediaFeatureNames.cpp:
18279         * dom/EventNames.cpp:
18280         * dom/QualifiedName.cpp:
18281         * dom/make_names.pl:
18282         * platform/StaticConstructors.h:
18283         * platform/text/AtomicString.cpp:
18285 2008-09-03  Dirk Schulze  <vbs85@gmx.de>
18287         Reviewed by Dave Hyatt.
18289         Make FontCairo draw TextStroke and TextFill separately.
18291         [CAIRO] draw TextFill and TextStroke separately.
18292         [https://bugs.webkit.org/show_bug.cgi?id=20631]
18294         * platform/graphics/cairo/FontCairo.cpp:
18295         (WebCore::Font::drawGlyphs):
18297 2008-09-03  Peter Kasting  <pkasting@google.com>
18299         Reviewed by Dave Hyatt.
18301         https://bugs.webkit.org/show_bug.cgi?id=19663
18302         Account for paint and timer lag when animating images.  Also pretend
18303         that images whose animations were paused (by becoming invisible)
18304         continued to animate, by "catching up" to the correct frame when they're
18305         shown again.
18307         * platform/graphics/BitmapImage.cpp:
18308         (WebCore::BitmapImage::BitmapImage):
18309         (WebCore::BitmapImage::startAnimation):
18310         (WebCore::BitmapImage::advanceAnimation):
18311         (WebCore::BitmapImage::internalAdvanceAnimation):
18312         (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
18313         * platform/graphics/BitmapImage.h:
18314         * platform/graphics/cairo/ImageCairo.cpp:
18315         (WebCore::BitmapImage::draw):
18316         * platform/graphics/cg/ImageCG.cpp:
18317         (WebCore::BitmapImage::draw):
18318         * platform/graphics/qt/ImageQt.cpp:
18319         (WebCore::BitmapImage::draw):
18320         * platform/graphics/wx/ImageWx.cpp:
18321         (WebCore::BitmapImage::draw):
18323 2008-09-03  Kevin McCullough  <kmccullough@apple.com>
18325         Reviewed by Tim.
18327         Remove the rest of the "zombie" code from the profiler.
18328         - There is no longer a need for the ProfilerClient callback mechanism.
18330         * page/Console.cpp: 
18331         (WebCore::Console::Console):
18332         (WebCore::Console::profile):
18333         (WebCore::Console::profileEnd): Move the variables from the header to
18334         here since we don't have to wait for a callback to use them.
18335         * page/Console.h:
18336         * page/InspectorController.cpp:
18337         (WebCore::InspectorController::startUserInitiatedProfiling):
18338         (WebCore::InspectorController::stopUserInitiatedProfiling):
18339         * page/InspectorController.h:
18341 2008-09-03  Ada Chan  <adachan@apple.com>
18343         Windows build fix.
18345         * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
18347 2008-09-01  Dean Jackson  <dino@apple.com>
18349         Reviewed by Dave Hyatt.
18351         https://bugs.webkit.org/show_bug.cgi?id=20594
18352         Add DOM interfaces for WebKitCSSKeyframeRule
18353         and WebKitCSSKeyframesRule.
18355         TEST: LayoutTests/css3/keyframes-rule.html
18357         * css/WebKitCSSKeyframeRule.idl: Added
18358         * css/WebKitCSSKeyframesRule.idl: Added
18360         * bindings/js/JSCSSRuleCustom.cpp:
18361         (WebCore::toJS):
18362             Add return of new JS Keyframe rules
18363         * bindings/objc/DOMInternal.h:
18364             Include new internal header
18366         * DerivedSources.make:
18367         * GNUmakefile.am:
18368         * WebCore.pro:
18369         * WebCore.vcproj/WebCore.vcproj:
18370         * WebCore.xcodeproj/project.pbxproj:
18371         * WebCoreSources.bkl:
18372             Build configs for new files
18374 2008-09-03  Adam Roben  <aroben@apple.com>
18376         Windows build fix
18378         * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
18379         * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
18380         convenience/consistency.
18382 2008-09-03  Adele Peterson  <adele@apple.com>
18384         Build fix.
18386         * WebCore.vcproj/WebCore.vcproj:
18388 2008-09-03  David Hyatt  <hyatt@apple.com>
18390         Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
18392         Reviewed by Darin (ages ago)
18394         Added fast/block/float/clamped-right-float.html
18396         * rendering/RenderBlock.cpp:
18397         (WebCore::RenderBlock::positionNewFloats):
18399 2008-09-02  David Hyatt  <hyatt@apple.com>
18401         Add support for canvas text drawing APIs.
18403         Reviewed by olliej
18405         Tests added as fast/canvas/canvas-text-*.html
18407         * DerivedSources.make:
18408         * WebCore.xcodeproj/project.pbxproj:
18409         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
18410         (WebCore::JSCanvasRenderingContext2D::fillText):
18411         (WebCore::JSCanvasRenderingContext2D::strokeText):
18412         * css/CSSStyleSelector.cpp:
18413         (WebCore::CSSStyleSelector::initForStyleResolve):
18414         (WebCore::CSSStyleSelector::applyPropertyToStyle):
18415         * css/CSSStyleSelector.h:
18416         * html/CanvasRenderingContext2D.cpp:
18417         (WebCore::CanvasRenderingContext2D::State::State):
18418         (WebCore::CanvasRenderingContext2D::font):
18419         (WebCore::CanvasRenderingContext2D::setFont):
18420         (WebCore::CanvasRenderingContext2D::textAlign):
18421         (WebCore::CanvasRenderingContext2D::setTextAlign):
18422         (WebCore::CanvasRenderingContext2D::textBaseline):
18423         (WebCore::CanvasRenderingContext2D::setTextBaseline):
18424         (WebCore::CanvasRenderingContext2D::fillText):
18425         (WebCore::CanvasRenderingContext2D::strokeText):
18426         (WebCore::CanvasRenderingContext2D::measureText):
18427         (WebCore::CanvasRenderingContext2D::drawTextInternal):
18428         (WebCore::CanvasRenderingContext2D::accessFont):
18429         * html/CanvasRenderingContext2D.h:
18430         * html/CanvasRenderingContext2D.idl:
18431         * html/TextMetrics.h: Added.
18432         (WebCore::TextMetrics::create):
18433         (WebCore::TextMetrics::width):
18434         (WebCore::TextMetrics::setWidth):
18435         (WebCore::TextMetrics::TextMetrics):
18436         * html/TextMetrics.idl: Added.
18437         * platform/graphics/Font.cpp:
18438         (WebCore::Font::lineGap):
18439         * platform/graphics/Font.h:
18440         * platform/graphics/GraphicsContext.cpp:
18441         (WebCore::GraphicsContext::drawBidiText):
18442         * platform/graphics/GraphicsContext.h:
18443         * platform/graphics/GraphicsTypes.cpp:
18444         (WebCore::textAlignName):
18445         (WebCore::parseTextAlign):
18446         (WebCore::textBaselineName):
18447         (WebCore::parseTextBaseline):
18448         * platform/graphics/GraphicsTypes.h:
18449         (WebCore::):
18451 2008-09-03  John Sullivan  <sullivan@apple.com>
18453         Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
18455         Fixed by Darin, reviewed by me
18457         * page/animation/AnimationBase.cpp:
18458         (WebCore::AnimationBase::propertiesEqual):
18459         added ensurePropertyMap() to this static function
18460         (WebCore::AnimationBase::getPropertyAtIndex):
18461         ditto
18462         (WebCore::AnimationBase::getNumProperties):
18463         ditto
18465 2008-09-03  Kevin McCullough  <kmccullough@apple.com>
18467         Reviewed by Darin and Tim.
18469         Remove most of the "zombie" mode from the profiler.  Next we will need
18470         to remove the client callback mechanism in profiles.
18471         - These changes are a result of changes to JSCore.
18473         * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
18474         * page/Console.cpp:
18475         (WebCore::retrieveLastCaller):
18476         (WebCore::Console::profileEnd):
18477         * page/InspectorController.cpp:
18478         (WebCore::InspectorController::stopUserInitiatedProfiling):
18480 2008-09-03  Adele Peterson  <adele@apple.com>
18482         Reviewed by Darin Adler.
18484         Test: fast/forms/search-display-none-cancel-button.html
18486         Allow display:none to work on a search field's cancel button.  Prepare for adding more style-ability for the results button too.
18488         * css/html4.css: Set display:inline-block for these buttons.  Now they can be overridden by a web author.
18490         * rendering/RenderTextControl.cpp:
18491         (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
18492         (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly.  This is now done in html4.css.
18493         (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
18494         (WebCore::RenderTextControl::createSubtreeIfNeeded):
18495         Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
18496         (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
18497         (WebCore::RenderTextControl::subtreeHasChanged): ditto.
18498         (WebCore::RenderTextControl::calcHeight): ditto.
18499         (WebCore::RenderTextControl::nodeAtPoint): ditto.
18500         (WebCore::RenderTextControl::layout): ditto.
18501         (WebCore::RenderTextControl::calcPrefWidths): ditto.
18502         (WebCore::RenderTextControl::clientPaddingLeft): ditto.
18503         (WebCore::RenderTextControl::clientPaddingRight): ditto.
18505         * rendering/TextControlInnerElements.cpp:
18506         (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
18507         (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
18508         (WebCore::TextControlInnerElement::attachInnerElement): Added.
18509          This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
18510         (WebCore::TextControlInnerTextElement::createRenderer): Added.  Creates a RenderTextControlInnerBlock.
18511         * rendering/TextControlInnerElements.h:
18513 2008-08-28  Alexey Proskuryakov  <ap@webkit.org>
18515         Reviewed by Maciej.
18517         Elminate SQLiteAuthorizer class.
18519         * WebCore.xcodeproj/project.pbxproj:
18520         * WebCore.vcproj/WebCore.vcproj:
18521         * GNUmakefile.am
18522         Removed SQLiteAuthorizer.h.
18524         * platform/sql/SQLiteAuthorizer.cpp:
18525         * platform/sql/SQLiteAuthorizer.h: Removed.
18526         * platform/sql/SQLiteDatabase.cpp:
18527         (WebCore::SQLiteDatabase::authorizerFunction):
18528         (WebCore::SQLiteDatabase::setAuthorizer):
18529         * platform/sql/SQLiteDatabase.h:
18530         * storage/DatabaseAuthorizer.h:
18531         (WebCore::DatabaseAuthorizer::create):
18532         (WebCore::DatabaseAuthorizer::createView):
18533         (WebCore::DatabaseAuthorizer::createTempView):
18534         (WebCore::DatabaseAuthorizer::dropView):
18535         (WebCore::DatabaseAuthorizer::dropTempView):
18536         (WebCore::DatabaseAuthorizer::allowSelect):
18537         (WebCore::DatabaseAuthorizer::allowReindex):
18538         Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
18540 2008-09-03  Dirk Schulze  <vbs85@gmx.de>
18542         Reviewed by Mark Rowe.
18544         WebKitGtk build fix.
18546         * GNUmakefile.am:
18547         * page/animation/AnimationController.h:
18549 2008-09-02  Robert Blaut  <webkit@blaut.biz>
18551         Reviewed by Geoff Garen.
18553         Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
18554         Misplaced elements should not close DL lists.
18556         Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
18558         * html/HTMLParser.cpp:
18559         (WebCore::HTMLParser::handleError):
18561 2008-09-02  Glenn Wilson  <wilsong@gmail.com>
18563         Reviewed by Darin Adler.
18565         Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
18566         Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
18568         We would inappropriately interpret and apply an invalid CSS "color" property
18569         when the value is a predefined color preceded by a '#' symbol.  For example,
18570         style="color:#gray;" would apply the color gray when it should not.
18572         In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
18573         This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be 
18574         interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
18575         an ignorable token.
18577         To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
18578         '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
18579         CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
18581         Test: css1/color_and_background/invalid_color.html
18583         * css/CSSGrammar.y:
18585 2008-09-02  Mihnea Ovidenie  <mihnea@adobe.com>
18587         Reviewed by Darin Adler.
18589         Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
18590         Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
18592         Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
18594         Test: css3/khtml-background-size-0x0-bmp.html
18596         * rendering/RenderBox.cpp:
18597         (WebCore::RenderBox::repaintLayerRectsForImage):
18599 2008-09-02  Glenn Wilson  <wilsong@gmail.com>
18601         Reviewed by Eric Seidel.
18603         Fix https://bugs.webkit.org/show_bug.cgi?id=20397
18604         Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
18606         The function checkForOrphanedUnits() would change the length of a list whose size was
18607         was already determined before the call to checkForOrphanedUnits was made.  Later in
18608         the caller, the old size was being used for boundary management.
18610         This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
18611         calling function, before the size of the list is determined.
18613         Test: fast/css/orphaned_units_crash.html
18615         * css/CSSParser.cpp:
18616         (WebCore::CSSParser::parseValue):  Moved call to checkForOrphanedUnits() earlier in the function.
18618 2008-09-02  Dirk Schulze  <vbs85@gmx.de>
18620         Reviewed by Darin Adler.
18622         Fallback on invalid fill or stroke styles in Canvas was
18623         transparent black. Changed it to last valid style.
18625         Canvas fillStyle() and strokeStyle() needs fallback
18626         https://bugs.webkit.org/show_bug.cgi?id=20474
18628         Tests: fast/canvas/canvas-invalid-fillstyle.html
18629                fast/canvas/canvas-invalid-strokestyle.html
18631         * html/CanvasStyle.cpp:
18632         (WebCore::CanvasStyle::applyStrokeColor):
18633         (WebCore::CanvasStyle::applyFillColor):
18635 2008-09-02  Dirk Schulze  <vbs85@gmx.de>
18637         Reviewed by Darin Adler.
18639         Fix https://bugs.webkit.org/show_bug.cgi?id=20468
18640         Updated drawImage() in canvas to match the current specification.
18642         Test: fast/canvas/drawImage-with-negative-source-destination.html
18644         * html/CanvasRenderingContext2D.cpp:
18645         (WebCore::normalizeRect):
18646         (WebCore::CanvasRenderingContext2D::drawImage):
18648 2008-08-26  Mark Rowe  <mrowe@apple.com>
18650         Reviewed by Darin Adler.
18652         <rdar://problem/5768210> Switch back to the system version of SQLite
18654         Use the system version of SQLite when it is new enough to provide the functionality
18655         that WebCore requires.
18657         * Configurations/Base.xcconfig:
18658         * Configurations/DebugRelease.xcconfig:
18659         * Configurations/WebCore.xcconfig:
18661 2008-09-02  Dan Bernstein  <mitz@apple.com>
18663         - build fix
18665         * page/animation/AnimationBase.h:
18667 2008-09-02  Chris Marrin  <cmarrin@apple.com>
18669         Reviewed by Dave Hyatt.
18671         AnimationController.cpp should be split into separate files
18672         https://bugs.webkit.org/show_bug.cgi?id=20604
18673         
18674         Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
18675         recommendation of Dave Hyatt.
18677         * GNUmakefile.am:
18678         * WebCore.pro:
18679         * WebCore.vcproj/WebCore.vcproj:
18680         * WebCore.xcodeproj/project.pbxproj:
18681         * WebCoreSources.bkl:
18682             Build files.
18683         
18684         * page/AnimationController.cpp: Removed.
18685         * page/AnimationController.h: Removed.
18686         * page/animation: Added.
18687         * page/animation/AnimationBase.cpp: Added.
18688         * page/animation/AnimationBase.h: Added.
18689         * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
18690         * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
18691         * page/animation/CompositeAnimation.cpp: Added.
18692         * page/animation/CompositeAnimation.h: Added.
18693         * page/animation/ImplicitAnimation.cpp: Added.
18694         * page/animation/ImplicitAnimation.h: Added.
18695         * page/animation/KeyframeAnimation.cpp: Added.
18696         * page/animation/KeyframeAnimation.h: Added.
18698 2008-09-02  Dan Bernstein  <mitz@apple.com>
18700         - release build fix
18702         * platform/graphics/cg/GraphicsContextCG.cpp:
18703         (WebCore::calculateDrawingMode):
18705 2008-09-02  Timothy Hatcher  <timothy@apple.com>
18707         Make console functions log the correct resource URL and
18708         line number for where the call originated.
18710         https://bugs.webkit.org/show_bug.cgi?id=17234
18711         <rdar://problem/5732837>
18713         Reviewed by Kevin McCullough.
18715         Test: manual-tests/inspector/console-call-line-numbers.html
18717         * bindings/js/JSConsoleCustom.cpp:
18718         (WebCore::JSConsole::count): Call the impl.
18719         (WebCore::JSConsole::timeEnd): Ditto.
18720         * manual-tests/inspector/console-call-line-numbers.html: Added.
18721         * manual-tests/inspector/resources/script-console-calls.js: Added.
18722         * page/Console.cpp:
18723         (WebCore::retrieveLastCaller): Helper to get the URL and line.
18724         (WebCore::Console::error): Call retrieveLastCaller to get the URL and
18725         line number to pass to addMessageToConsole.
18726         (WebCore::Console::info): Ditto.
18727         (WebCore::Console::log): Ditto.
18728         (WebCore::Console::assertCondition): Ditto.
18729         (WebCore::Console::count): Ditto.
18730         (WebCore::Console::timeEnd): Ditto.
18731         (WebCore::Console::warn): Ditto.
18732         * page/Console.h:
18733         * page/Console.idl: Make count and timeEnd custom.
18735 2008-09-02  Timothy Hatcher  <timothy@apple.com>
18737         Removed IDL files from WebCore's framework resources.
18739         * WebCore.xcodeproj/project.pbxproj:
18741 2008-09-02  Dan Bernstein  <mitz@apple.com>
18743         Reviewed by Dave Hyatt.
18745         - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
18747         * html/HTMLParser.cpp:
18748         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
18749         cap on the number of consecutive identical residual style tags to
18750         reopen.
18751         (WebCore::HTMLParser::popBlock): Ditto.
18753 2008-09-02  Alexey Proskuryakov  <ap@webkit.org>
18755         Reviewed by Adam Roben.
18757         A little database quota management cleanup.
18759         * storage/OriginQuotaManager.cpp:
18760         (WebCore::OriginQuotaManager::OriginQuotaManager):
18761         (WebCore::OriginQuotaManager::lock):
18762         (WebCore::OriginQuotaManager::unlock):
18763         (WebCore::OriginQuotaManager::trackOrigin):
18764         (WebCore::OriginQuotaManager::tracksOrigin):
18765         (WebCore::OriginQuotaManager::addDatabase):
18766         (WebCore::OriginQuotaManager::removeDatabase):
18767         (WebCore::OriginQuotaManager::removeOrigin):
18768         (WebCore::OriginQuotaManager::markDatabase):
18769         (WebCore::OriginQuotaManager::diskUsage):
18770         * storage/OriginQuotaManager.h:
18771         Changed to assert that a lock is taken more directly and reliably. Removed comments about
18772         main/background threads, as this is likely to stop being true with synchronous Database calls
18773         being made on worker threads.
18775         * storage/OriginUsageRecord.cpp:
18776         (WebCore::OriginUsageRecord::OriginUsageRecord):
18777         (WebCore::OriginUsageRecord::addDatabase):
18778         (WebCore::OriginUsageRecord::removeDatabase):
18779         (WebCore::OriginUsageRecord::markDatabase):
18780         (WebCore::OriginUsageRecord::diskUsage):
18781         * storage/OriginUsageRecord.h:
18782         (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
18783         Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
18784         can be replaced with a single boolean for OriginUsageRecord.
18785         Added assertions for string parameters being unshared.
18788 2008-09-01  Adam Barth  <abarth@webkit.org>
18790         Reviewed by Sam Weinig.
18792         https://bugs.webkit.org/show_bug.cgi?id=19760
18794         Make granting LoadLocalResources conditional on a policy.
18796         * WebCore.base.exp:
18797         * dom/Document.cpp:
18798         (WebCore::Document::initSecurityContext):
18799         * loader/FrameLoader.cpp:
18800         (WebCore::FrameLoader::setLocalLoadPolicy):
18801         (WebCore::FrameLoader::restrictAccessToLocal):
18802         * loader/FrameLoader.h:
18803         (WebCore::FrameLoader::):
18804         * platform/SecurityOrigin.cpp:
18805         (WebCore::SecurityOrigin::grantLoadLocalResources):
18806         * platform/SecurityOrigin.h:
18808 2008-09-01  Dean Jackson  <dino@apple.com>
18810         Reviewed by Sam Weinig.
18812         https://bugs.webkit.org/show_bug.cgi?id=20571
18813         Make sure Window object can assign Animation/Transition event
18814         listeners via attributes.
18816         Also added a bunch of transition event tests, although
18817         only transition-end-event-window is directly relevant to this patch.
18819         (WebCore::JSDOMWindowBase::put):
18821         Tests: transitions/transition-end-event-all-properties.html
18822                transitions/transition-end-event-attributes.html
18823                transitions/transition-end-event-container.html
18824                transitions/transition-end-event-left.html
18825                transitions/transition-end-event-multiple-01.html
18826                transitions/transition-end-event-multiple-02.html
18827                transitions/transition-end-event-multiple-03.html
18828                transitions/transition-end-event-multiple-04.html
18829                transitions/transition-end-event-nested.html
18830                transitions/transition-end-event-transform.html
18831                transitions/transition-end-event-window.html
18833 2008-09-01  Dean Jackson  <dino@apple.com>
18835         Reviewed by Sam Weinig
18837         Code styling cleanup.
18839         * bindings/js/JSDOMWindowBase.cpp:
18840         (WebCore::JSDOMWindowBase::getValueProperty):
18841         (WebCore::JSDOMWindowBase::put):
18843 2008-09-01  Geoffrey Garen  <ggaren@apple.com>
18845         Reviewed by Darin Adler.
18847         First cut at inline caching for access to vanilla JavaScript properties.
18849         Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
18850         to WebCore classes, and PutPropertySlot& arguments to put functions.
18852         (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
18853         inline caching for global properties, so global assignment can be optimized.
18855         * ForwardingHeaders/kjs/StructureID.h: Added.
18856         * bindings/js/JSDOMBinding.h:
18857         (WebCore::DOMObject::DOMObject):
18858         * bindings/js/JSDOMWindowBase.cpp:
18859         (WebCore::JSDOMWindowBase::put):
18860         * bindings/js/JSDOMWindowBase.h:
18861         * bindings/js/JSDOMWindowCustom.h:
18862         (WebCore::JSDOMWindow::customPut):
18863         * bindings/js/JSDOMWindowShell.cpp:
18864         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
18865         (WebCore::JSDOMWindowShell::put):
18866         * bindings/js/JSDOMWindowShell.h:
18867         * bindings/js/JSEventTargetBase.h:
18868         (WebCore::JSEventTargetBase::put):
18869         * bindings/js/JSEventTargetNode.h:
18870         (WebCore::JSEventTargetNode::put):
18871         * bindings/js/JSHTMLAppletElementCustom.cpp:
18872         (WebCore::JSHTMLAppletElement::customPut):
18873         * bindings/js/JSHTMLEmbedElementCustom.cpp:
18874         (WebCore::JSHTMLEmbedElement::customPut):
18875         * bindings/js/JSHTMLInputElementBase.cpp:
18876         (WebCore::JSHTMLInputElementBase::put):
18877         * bindings/js/JSHTMLInputElementBase.h:
18878         * bindings/js/JSHTMLObjectElementCustom.cpp:
18879         (WebCore::JSHTMLObjectElement::customPut):
18880         * bindings/js/JSHistoryCustom.cpp:
18881         (WebCore::JSHistory::customPut):
18882         * bindings/js/JSInspectedObjectWrapper.cpp:
18883         (WebCore::JSInspectedObjectWrapper::wrap):
18884         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
18885         * bindings/js/JSInspectedObjectWrapper.h:
18886         * bindings/js/JSInspectorCallbackWrapper.cpp:
18887         (WebCore::JSInspectorCallbackWrapper::wrap):
18888         (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
18889         * bindings/js/JSInspectorCallbackWrapper.h:
18890         * bindings/js/JSLocationCustom.cpp:
18891         (WebCore::JSLocation::customPut):
18892         * bindings/js/JSPluginElementFunctions.cpp:
18893         (WebCore::runtimeObjectCustomPut):
18894         * bindings/js/JSPluginElementFunctions.h:
18895         * bindings/js/JSQuarantinedObjectWrapper.cpp:
18896         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
18897         (WebCore::JSQuarantinedObjectWrapper::put):
18898         * bindings/js/JSQuarantinedObjectWrapper.h:
18899         * bindings/js/JSStorageCustom.cpp:
18900         (WebCore::JSStorage::customPut):
18901         * bindings/objc/WebScriptObject.mm:
18902         (-[WebScriptObject setValue:forKey:]):
18903         * bindings/scripts/CodeGeneratorJS.pm:
18904         * bridge/NP_jsobject.cpp:
18905         (_NPN_SetProperty):
18906         * bridge/jni/jni_jsobject.mm:
18907         (JavaJSObject::setMember):
18908         * bridge/objc/objc_class.mm:
18909         (KJS::Bindings::ObjcClass::fallbackObject):
18910         * bridge/objc/objc_runtime.h:
18911         * bridge/objc/objc_runtime.mm:
18912         (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
18913         (ObjcFallbackObjectImp::put):
18914         * bridge/runtime.cpp:
18915         (KJS::Bindings::Instance::createRuntimeObject):
18916         * bridge/runtime_array.cpp:
18917         (RuntimeArray::put):
18918         * bridge/runtime_array.h:
18919         * bridge/runtime_object.cpp:
18920         (RuntimeObjectImp::RuntimeObjectImp):
18921         (RuntimeObjectImp::put):
18922         * bridge/runtime_object.h:
18924 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
18926         Reviewed by Eric Seidel.
18928         Fixed border-radius for Cairo.
18930         * platform/graphics/cairo/GraphicsContextCairo.cpp:
18931         (WebCore::GraphicsContext::strokeArc):
18933 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
18935         Reviewed by Eric Seidel.
18937         Added canvas's globalAlpha to cairo.
18939         * platform/graphics/GraphicsContext.h:
18940         * platform/graphics/cairo/GraphicsContextCairo.cpp:
18941         (WebCore::GraphicsContext::fillPath):
18942         (WebCore::GraphicsContext::strokePath):
18943         (WebCore::GraphicsContext::setAlpha):
18944         (WebCore::GraphicsContext::getAlpha):
18945         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
18946         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
18947         * platform/graphics/cairo/ImageCairo.cpp:
18948         (WebCore::BitmapImage::draw):
18950 2008-08-31  Simon Hausmann  <hausmann@webkit.org>
18952         Unreviewed Qt build fix.
18954         * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
18955         the .h file
18957 2008-08-30  Darin Adler  <darin@apple.com>
18959         Reviewed by Maciej.
18961         - adopt some new JavaScriptCore functions where appropriate
18963         * bindings/js/JSDOMWindowBase.cpp:
18964         (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
18965         (WebCore::windowProtoFuncBToA): Ditto.
18966         * bindings/js/JSEventListener.cpp:
18967         (WebCore::JSLazyEventListener::eventParameterName): Adopted
18968         jsNontrivialString.
18969         * bindings/js/JSSVGLazyEventListener.cpp:
18970         (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
18972 2008-08-29  Brady Eidson  <beidson@apple.com>
18974         Reviewed by Anders' rubberstamp
18976         Style cleanup to match MediaTokenizer::writeRawData()
18978         * loader/PluginDocument.cpp:
18979         (WebCore::PluginTokenizer::writeRawData):
18981 2008-08-29  Brady Eidson  <beidson@apple.com>
18983         Reviewed by Anders
18985         https://bugs.webkit.org/show_bug.cgi?id=20556
18986         <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
18988         Fix regression I introducted in 35946
18989         Already covered by media/video-click-dlbclick-standalone.html
18991         * loader/MediaDocument.cpp:
18992         (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
18993         (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called.  Also add
18994           an ASSERT signifying that this method should only be called once, to more closely follow the
18995           PluginDocument case.
18997 2008-08-29  Beth Dakin  <bdakin@apple.com>
18999         Reviewed by Sam Weinig.
19001         Fix for <rdar://problem/6181588>
19003         This patch makes hit testing take into account the new concept of a 
19004         disconnected frame, in which some of the content may not be 
19005         visible. The current hit testing mechanism starts at a target frame 
19006         and drills down for a HitTestResult. In some cases, drilling down 
19007         will find a non-visible result. When this happens, we need to try 
19008         again, starting at a higher level -- namely, starting at the main 
19009         frame.
19011         * editing/Editor.cpp:
19012         (WebCore::Editor::insideVisibleArea): New function that tests if a 
19013         point is inside the visible area for a disconnected frame.
19014         * editing/Editor.h:
19015         * page/EventHandler.cpp:
19016         (WebCore::EventHandler::hitTestResultAtPoint):
19018 2008-08-29  Adele Peterson  <adele@apple.com>
19020         Reviewed by Adam Roben. 
19022         Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
19024         * GNUmakefile.am:
19025         * WebCore.pro:
19026         * WebCore.vcproj/WebCore.vcproj:
19027         * WebCore.xcodeproj/project.pbxproj:
19028         * WebCoreSources.bkl:
19029         * html/HTMLTextFieldInnerElement.cpp: Removed.
19030         * html/HTMLTextFieldInnerElement.h: Removed.
19031         * rendering/RenderTextControl.cpp:
19032         (WebCore::RenderTextControl::createSubtreeIfNeeded):
19033         * rendering/RenderTextControl.h:
19034         * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
19035         (WebCore::TextControlInnerElement::TextControlInnerElement):
19036         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
19037         (WebCore::TextControlInnerTextElement::defaultEventHandler):
19038         (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
19039         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
19040         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
19041         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
19042         * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
19044 2008-08-29  Eric Seidel  <eric@webkit.org>
19046         Rubber-stamped by aroben.
19048         Add GraphicsContext.h include to GraphcisContextPrivate.h
19050         GraphicsContextPrivate uses StrokeStyle which is defined
19051         in GraphicsContext.h but it doesn't include that header.
19052         CoreGraphics build doesn't fail here due to the order
19053         it happens to include files.
19055         * platform/graphics/GraphicsContextPrivate.h:
19057 2008-08-29  Eric Seidel  <eric@webkit.org>
19059         Reviewed by hyatt.
19061         Fix GeneratedImage to respect Image's refcounting
19062         Fixing potential crashers (future if not current)
19063         https://bugs.webkit.org/show_bug.cgi?id=20567
19064         
19065         I don't know if it's possible to make the current code
19066         crash, thus I've not made a test.
19068         * css/CSSGradientValue.cpp:
19069         (WebCore::CSSGradientValue::image):
19070         * css/CSSImageGeneratorValue.cpp:
19071         (WebCore::CSSImageGeneratorValue::removeClient):
19072         (WebCore::CSSImageGeneratorValue::getImage):
19073         * css/CSSImageGeneratorValue.h:
19074         * platform/graphics/GeneratedImage.h:
19075         (WebCore::GeneratedImage::GeneratedImage):
19076         * rendering/style/RenderStyle.cpp:
19077         (WebCore::RenderStyle::setContent):
19078         * rendering/style/RenderStyle.h:
19080 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
19082         Reviewed by Adele.
19084         Fix for <rdar://problem/6093767>
19085         https://bugs.webkit.org/show_bug.cgi?id=20526
19087         Don't allow video to render until unsupported track types have been disabled.
19089         * platform/graphics/win/QTMovieWin.cpp:
19090         (QTMovieWinPrivate::task):
19091         (QTMovieWinPrivate::drawingComplete):
19092         (QTMovieWinPrivate::clearGWorld):
19094 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
19096         Reviewed by Adele.
19098         Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
19099         <rdar://problem/6169301>
19100         
19101         Return the size of the movie data instead of 1000.
19102         
19103         Test: media/progress-event-total.html
19105         * platform/graphics/win/QTMovieWin.cpp:
19106         (QTMovieWin::dataSize):
19108 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
19110         Reviewed by Eric Seidel.
19112         [janitor/qt] Start replacing port specific getters with the generic native getter
19113         To get the native presentation of an image we currently have platform
19114         specific #ifdef's and a generic getter using NativeImagePtr. This patch
19115         extends this to the ImageBuffer and updates the Qt platform to get rid
19116         of the special #ifdefs.
19118         https://bugs.webkit.org/attachment.cgi?id=22861
19120         * platform/graphics/BitmapImage.h:
19121         * platform/graphics/Image.h:
19122         * platform/graphics/qt/ImageQt.cpp:
19123         * platform/graphics/qt/StillImageQt.cpp:
19124         * platform/graphics/qt/StillImageQt.h:
19125         * platform/qt/ClipboardQt.cpp:
19126         (WebCore::ClipboardQt::createDragImage):
19127         (WebCore::ClipboardQt::declareAndWriteDragImage):
19128         * platform/qt/CursorQt.cpp:
19129         * platform/qt/PasteboardQt.cpp:
19130         (WebCore::Pasteboard::writeImage):
19132 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
19134         Reviewed by Simon.
19136         [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
19138         * svg/graphics/qt/SVGPaintServerQt.cpp:
19139         (WebCore::SVGPaintServer::renderPath):
19140         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
19141         (WebCore::SVGPaintServerSolid::setup):
19143 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
19145         Reviewed by Simon.
19147         [network/qt] Implement defering of loading ResourceHandle's
19148         This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
19149         implementation is simply not forwarding anything to the
19150         ResourceHandleClient until we are allowed to. This might lead to a deadlock
19151         in Qt as we do not empty the QNetworkReply input buffer and wait until we
19152         are allowed to read. If that happens we are forced to buffer the data
19153         within QNetworkReplyHandler, for now this is not done.
19155         Manual test:
19156         - Open http://acid3.acidtests.org
19157         - Wait for the test to complete
19158         - Click on the Reference Rendering link
19159         - Be fast and see the results of acid3
19160         => assert
19162         * platform/network/qt/QNetworkReplyHandler.cpp:
19163         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
19164         (WebCore::QNetworkReplyHandler::setLoadMode):
19165         (WebCore::QNetworkReplyHandler::finish):
19166         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
19167         (WebCore::QNetworkReplyHandler::forwardData):
19168         (WebCore::QNetworkReplyHandler::start):
19169         (WebCore::QNetworkReplyHandler::resetState):
19170         (WebCore::QNetworkReplyHandler::sendQueuedItems):
19171         * platform/network/qt/QNetworkReplyHandler.h:
19172         (WebCore::QNetworkReplyHandler::):
19173         * platform/network/qt/ResourceHandleQt.cpp:
19174         (WebCore::ResourceHandle::start):
19175         (WebCore::ResourceHandle::loadResourceSynchronously):
19176         (WebCore::ResourceHandle::setDefersLoading):
19178 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
19180         Reviewed by Holger.
19182         Don't crash when drawing patterns with the HTML canvas. Patterns
19183         remain unimplemented but at least they don't crash anymore. This is
19184         done by changing the PlatformPatternPtr to be a brush for the Qt
19185         platform.
19187         * platform/graphics/Pattern.h:
19188         * platform/graphics/qt/GraphicsContextQt.cpp:
19189         (WebCore::GraphicsContext::fillPath):
19190         (WebCore::GraphicsContext::strokePath):
19191         (WebCore::GraphicsContext::fillRect):
19192         * platform/graphics/qt/PatternQt.cpp:
19193         (WebCore::Pattern::createPlatformPattern):
19195 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
19197         Fix the Qt build, fontSelector() is not used by the Qt port yet
19198         and we just return 0 in Font::fontSelector().
19200         * platform/graphics/Font.h:
19202 2008-08-28  Alp Toker  <alp@nuanti.com>
19204         GTK+ dist/build fix. List newly added header files.
19206         * GNUmakefile.am:
19208 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
19210         Reviewed by Dave Hyatt
19212         Various WebKitCSSTransformValue-related fixes
19213         https://bugs.webkit.org/show_bug.cgi?id=20562
19215         Test: css3/transform-value-types.html
19217         * bindings/js/JSCSSValueCustom.cpp:
19218         (WebCore::toJS):
19219         * css/CSSValue.h:
19220         * css/WebKitCSSTransformValue.cpp:
19221         (WebCore::WebKitCSSTransformValue::cssText):
19222         * css/WebKitCSSTransformValue.h:
19223         (WebCore::WebKitCSSTransformValue::):
19224         * css/WebKitCSSTransformValue.idl:
19226 2008-08-28  Dan Bernstein  <mitz@apple.com>
19228         Reviewed by Steve Falkenburg.
19230         - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
19232         * platform/win/SharedTimerWin.cpp:
19233         (WebCore::TimerWindowWndProc):
19235 2008-08-28  David Hyatt  <hyatt@apple.com>
19237         RenderStyle cleanup.
19239         Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
19241         Reviewed by Adam
19243         * css/CSSImageGeneratorValue.cpp:
19244         * css/CSSImageValue.cpp:
19245         * css/CSSStyleSelector.cpp:
19246         * rendering/RenderImageGeneratedContent.cpp:
19247         * rendering/style/NinePieceImage.cpp: Added.
19248         * rendering/style/NinePieceImage.h: Added.
19249         * rendering/style/RenderStyle.cpp:
19250         (WebCore::FillLayer::operator==):
19251         (WebCore::FillLayer::containsImage):
19252         (WebCore::StyleInheritedData::operator==):
19253         (WebCore::RenderStyle::contentDataEquivalent):
19254         * rendering/style/RenderStyle.h:
19255         * rendering/style/StyleCachedImage.cpp: Added.
19256         * rendering/style/StyleCachedImage.h: Added.
19257         * rendering/style/StyleGeneratedImage.cpp: Added.
19258         * rendering/style/StyleGeneratedImage.h: Added.
19259         * rendering/style/StyleImage.h: Added.
19261 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
19263         Reviewed by Dave Hyatt
19265         Make all the 'isFoo()' methods on CSSValue const,
19266         and fix the subclasses.
19267         
19268         https://bugs.webkit.org/show_bug.cgi?id=20561
19269         
19270         * css/CSSTimingFunctionValue.h:
19271         * css/CSSValue.h:
19272         (WebCore::CSSValue::isFontValue):
19273         (WebCore::CSSValue::isImageGeneratorValue):
19274         (WebCore::CSSValue::isImageValue):
19275         (WebCore::CSSValue::isImplicitInitialValue):
19276         * css/CSSValueList.h:
19277         * css/FontValue.h:
19279 2008-08-28  David Hyatt  <hyatt@apple.com>
19281         The great RenderStyle cleanup begins!
19283         Move LengthBox and LengthSize out of RenderStyle and into Length.
19285         Reviewed by Adam
19287         * rendering/Length.h:
19288         (WebCore::):
19289         (WebCore::Length::Length):
19290         (WebCore::Length::operator==):
19291         (WebCore::Length::operator!=):
19292         (WebCore::Length::value):
19293         (WebCore::Length::rawValue):
19294         (WebCore::Length::percent):
19295         (WebCore::Length::type):
19296         (WebCore::Length::quirk):
19297         (WebCore::Length::setValue):
19298         (WebCore::Length::setRawValue):
19299         (WebCore::Length::calcValue):
19300         (WebCore::Length::calcMinValue):
19301         (WebCore::Length::calcFloatValue):
19302         (WebCore::Length::isUndefined):
19303         (WebCore::Length::isZero):
19304         (WebCore::Length::isPositive):
19305         (WebCore::Length::isNegative):
19306         (WebCore::Length::isAuto):
19307         (WebCore::Length::isRelative):
19308         (WebCore::Length::isPercent):
19309         (WebCore::Length::isFixed):
19310         (WebCore::Length::isStatic):
19311         (WebCore::Length::isIntrinsicOrAuto):
19312         (WebCore::Length::blend):
19313         (WebCore::LengthBox::LengthBox):
19314         (WebCore::LengthBox::operator=):
19315         (WebCore::LengthBox::operator==):
19316         (WebCore::LengthBox::operator!=):
19317         (WebCore::LengthBox::nonZero):
19318         (WebCore::LengthSize::LengthSize):
19319         * rendering/style/RenderStyle.h:
19321 2008-08-28  David Hyatt  <hyatt@apple.com>
19323         Reviewed by Darin
19325         https://bugs.webkit.org/show_bug.cgi?id=18091
19327         font-size should be animatable using -webkit-transition.
19329         * page/AnimationController.cpp:
19330         (WebCore::AnimationControllerPrivate::ensurePropertyMap):
19331         * rendering/style/RenderStyle.h:
19332         (WebCore::RenderStyle::setFontSize):
19334 2008-08-28  Brad Garcia  <bgarcia@google.com>
19336         Reviewed by Dan Bernstein.
19338         https://bugs.webkit.org/show_bug.cgi?id=20549
19339         Correctly determine when cursor is over a resizable border within
19340         a nested frameset.
19342         * rendering/RenderFrameSet.cpp:
19343         (WebCore::RenderFrameSet::canResizeRow):
19344         (WebCore::RenderFrameSet::canResizeColumn):
19346 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
19348         Reviewed by Eric Seidel
19350         Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
19351         https://bugs.webkit.org/show_bug.cgi?id=20552
19353         Test: animations/animation-css-rule-types.html
19355         * css/CSSRule.idl:
19357 2008-08-28  Anders Carlsson  <andersca@apple.com>
19359         Reviewed by Kevin and Darin.
19361         <rdar://problem/6182541>
19362         https://bugs.webkit.org/show_bug.cgi?id=20202
19363         Missing http status line from the http headers.
19364         
19365         Add a status line to the header string.
19366         
19367         * plugins/PluginStream.cpp:
19368         (WebCore::PluginStream::startStream):
19370 2008-08-28  Holger Hans Peter Freyther  <zecke@selfish.org>
19372         Rubber-stamped by Darin Adler.
19374         https://bugs.webkit.org/show_bug.cgi?id=17261
19376         Make it possible to theme the default Url icon and enable this for
19377         the Qt port. To have a minimal usage of #ifdef in the code the setting
19378         of the icon was moved to a new method which comes in two flavors.
19380         * loader/icon/IconDatabase.cpp:
19381         (WebCore::loadDefaultIconRecord): Load or set the default icon
19382         (WebCore::IconDatabase::defaultIcon):
19384 2008-08-28  Holger Hans Peter Freyther <zecke@selfish.org>
19386         Unreviewed compile fix
19388         * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
19390 2008-08-28  Adam Roben  <aroben@apple.com>
19392         Windows (and others?) build fix
19394         * page/Chrome.cpp: Added a missing #include.
19395         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
19397 2008-08-27  Eric Seidel  <eric@webkit.org>
19399         Reviewed by Oliver Hunt.
19401         Qt and Cairo support from krit (and blind stab @ wx compile support)
19402         https://bugs.webkit.org/show_bug.cgi?id=20373
19404         * platform/graphics/cairo/GraphicsContextCairo.cpp:
19405         (WebCore::GraphicsContext::fillPath):
19406         (WebCore::GraphicsContext::strokePath):
19407         (WebCore::GraphicsContext::drawPath):
19408         (WebCore::GraphicsContext::fillRect):
19409         (WebCore::GraphicsContext::setPlatformFillColor):
19410         (WebCore::GraphicsContext::setPlatformStrokeColor):
19411         (WebCore::GraphicsContext::setPlatformStrokeStyle):
19412         (WebCore::GraphicsContext::strokeRect):
19413         (WebCore::GraphicsContext::setImageInterpolationQuality):
19414         (WebCore::GraphicsContext::imageInterpolationQuality):
19415         (WebCore::GraphicsContext::setPlatformFillPattern):
19416         (WebCore::GraphicsContext::setPlatformStrokePattern):
19417         (WebCore::GraphicsContext::setPlatformFillGradient):
19418         (WebCore::GraphicsContext::setPlatformStrokeGradient):
19419         * platform/graphics/qt/GraphicsContextQt.cpp:
19420         (WebCore::GraphicsContext::fillPath):
19421         (WebCore::GraphicsContext::strokePath):
19422         (WebCore::GraphicsContext::fillRect):
19423         (WebCore::GraphicsContext::strokeRect):
19424         (WebCore::GraphicsContext::clipToImageBuffer):
19425         (WebCore::GraphicsContext::setPlatformFillPattern):
19426         (WebCore::GraphicsContext::setPlatformStrokePattern):
19427         (WebCore::GraphicsContext::setPlatformFillGradient):
19428         (WebCore::GraphicsContext::setPlatformStrokeGradient):
19429         (WebCore::GraphicsContext::setImageInterpolationQuality):
19430         (WebCore::GraphicsContext::imageInterpolationQuality):
19431         * platform/graphics/wx/GraphicsContextWx.cpp:
19432         (WebCore::GraphicsContext::clipToImageBuffer):
19433         (WebCore::GraphicsContext::setImageInterpolationQuality):
19434         (WebCore::GraphicsContext::imageInterpolationQuality):
19435         (WebCore::GraphicsContext::fillPath):
19436         (WebCore::GraphicsContext::strokePath):
19437         (WebCore::GraphicsContext::drawPath):
19438         (WebCore::GraphicsContext::fillRect):
19439         (WebCore::GraphicsContext::setPlatformFillPattern):
19440         (WebCore::GraphicsContext::setPlatformStrokePattern):
19441         (WebCore::GraphicsContext::setPlatformFillGradient):
19443 2008-08-27  Eric Seidel  <eric@webkit.org>
19445         Reviewed by Oliver Hunt.
19447         Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
19448         https://bugs.webkit.org/show_bug.cgi?id=20373
19450         Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
19451         
19452         Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
19453         have to store large Gradient objects in the GraphicsContextState
19454         
19455         Made Pattern RefCounted for the same reason.
19456         
19457         Many updates to GraphicsContext to support easier drawing with
19458         Patterns and Gradients.
19460         * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
19461         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
19462         (WebCore::toJS):
19463         * css/CSSGradientValue.cpp:
19464         (WebCore::CSSGradientValue::createGradient):
19465         * css/CSSGradientValue.h:
19466         * html/CanvasGradient.cpp:
19467         (WebCore::CanvasGradient::CanvasGradient):
19468         * html/CanvasGradient.h:
19469         (WebCore::CanvasGradient::gradient):
19470         (WebCore::CanvasGradient::addColorStop):
19471         (WebCore::CanvasGradient::getColor):
19472         * html/CanvasPattern.cpp:
19473         * html/CanvasPattern.h:
19474         (WebCore::CanvasPattern::pattern):
19475         (WebCore::CanvasPattern::originClean):
19476         * html/CanvasRenderingContext2D.cpp:
19477         (WebCore::CanvasRenderingContext2D::State::State):
19478         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
19479         (WebCore::CanvasRenderingContext2D::setFillStyle):
19480         (WebCore::CanvasRenderingContext2D::fill):
19481         (WebCore::CanvasRenderingContext2D::stroke):
19482         (WebCore::CanvasRenderingContext2D::fillRect):
19483         (WebCore::CanvasRenderingContext2D::strokeRect):
19484         * html/CanvasRenderingContext2D.h:
19485         * html/CanvasStyle.cpp:
19486         (WebCore::CanvasStyle::applyStrokeColor):
19487         (WebCore::CanvasStyle::applyFillColor):
19488         * html/CanvasStyle.h:
19489         * platform/graphics/GeneratedImage.h:
19490         (WebCore::GeneratedImage::GeneratedImage):
19491         * platform/graphics/Generator.h:
19492         * platform/graphics/Gradient.h:
19493         (WebCore::Gradient::create):
19494         * platform/graphics/GraphicsContext.cpp:
19495         (WebCore::GraphicsContext::fillRule):
19496         (WebCore::GraphicsContext::setFillRule):
19497         (WebCore::GraphicsContext::setStrokePattern):
19498         (WebCore::GraphicsContext::setFillPattern):
19499         (WebCore::GraphicsContext::setStrokeGradient):
19500         (WebCore::GraphicsContext::setFillGradient):
19501         * platform/graphics/GraphicsContext.h:
19502         * platform/graphics/GraphicsContextPrivate.h:
19503         (WebCore::):
19504         (WebCore::GraphicsContextState::GraphicsContextState):
19505         * platform/graphics/GraphicsTypes.h:
19506         * platform/graphics/Path.h:
19507         * platform/graphics/Pattern.h:
19508         (WebCore::Pattern::create):
19509         (WebCore::Pattern::tileImage):
19510         * platform/graphics/cg/GraphicsContextCG.cpp:
19511         (WebCore::GraphicsContext::drawRect):
19512         (WebCore::GraphicsContext::drawEllipse):
19513         (WebCore::GraphicsContext::drawConvexPolygon):
19514         (WebCore::calculateDrawingMode):
19515         (WebCore::GraphicsContext::drawPath):
19516         (WebCore::fillPathWithFillRule):
19517         (WebCore::GraphicsContext::fillPath):
19518         (WebCore::GraphicsContext::strokePath):
19519         (WebCore::GraphicsContext::fillRect):
19520         (WebCore::GraphicsContext::fillRoundedRect):
19521         (WebCore::GraphicsContext::setPlatformStrokePattern):
19522         (WebCore::GraphicsContext::setPlatformFillPattern):
19523         (WebCore::GraphicsContext::setPlatformStrokeGradient):
19524         (WebCore::GraphicsContext::setPlatformFillGradient):
19526 2008-08-20  Eric Seidel  <eric@webkit.org>
19528         Reviewed by Darin and Alexey.
19530         Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
19531         with timeouts paused.
19532         https://bugs.webkit.org/show_bug.cgi?id=20469
19533         
19534         I attempted to clean up the memory management of PausedTimeouts, I'm not
19535         sure the solution I came up with is "cleaner", but it's in some ways
19536         "safer", since it no longer uses raw pointers and manual new/delete.
19537         
19538         This also now prevents CachedPage from needlessly creating Window
19539         objects when caching pages which didn't already have one. :)
19540         
19541         I also made Chrome.cpp no longer depend on the JavaScript bindings
19542         (aka JSDOMWindowBase.h), since there was no real reason for it to.
19544         * bindings/js/JSDOMWindowBase.cpp:
19545         (WebCore::JSDOMWindowBase::pauseTimeouts):
19546         (WebCore::JSDOMWindowBase::resumeTimeouts):
19547         * bindings/js/JSDOMWindowBase.h:
19548         * bindings/js/ScriptController.cpp:
19549         (WebCore::ScriptController::pauseTimeouts):
19550         (WebCore::ScriptController::resumeTimeouts):
19551         * bindings/js/ScriptController.h:
19552         * history/CachedPage.cpp:
19553         (WebCore::CachedPage::CachedPage):
19554         (WebCore::CachedPage::restore):
19555         * page/Chrome.cpp:
19556         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
19557         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
19558         * page/JavaScriptDebugServer.cpp:
19559         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
19560         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
19562 2008-08-27  Holger Hans Peter Freyther <zecke@selfish.org>
19564         Unreviewed compile fix
19566         Add the stub for the Qt port.
19568         * WebCore.pro:
19569         * page/qt/AccessibilityObjectQt.cpp: Added.
19570         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
19572 2008-08-27  Alp Toker  <alp@nuanti.com>
19574         Reviewed by Eric.
19576         https://bugs.webkit.org/show_bug.cgi?id=20551
19577         [GTK] search popup crash
19579         * platform/gtk/SearchPopupMenuGtk.cpp:
19580         (WebCore::SearchPopupMenu::enabled):
19581         Fix a search popup crasher by disabling the history popup since we
19582         don't support this feature yet in the GTK+ port.
19584 2008-08-27  Alp Toker  <alp@nuanti.com>
19586         Reviewed by Eric.
19588         https://bugs.webkit.org/show_bug.cgi?id=20551
19589         [GTK] curl crashers
19591         * platform/network/curl/ResourceHandleManager.cpp:
19592         (WebCore::ResourceHandleManager::startScheduledJobs):
19593         Remove the resource handle from the pending list before starting the
19594         job, not afterwards. Fixes crashers in the test suite.
19596         Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
19597         Test: fast/encoding/char-encoding.html
19599 2008-08-27  Dirk Schulze  <vbs85@gmx.de>
19601         Reviewed by eseidel.
19603         Fix canvas drawImage to support composite operations.
19604         Composite had no effect on canvas elements like these:
19605         http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
19607         [CAIRO] Canvas composite don't work on canvas-elements.
19608         https://bugs.webkit.org/show_bug.cgi?id=20548
19610         * html/CanvasRenderingContext2D.cpp:
19611         (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
19613 2008-08-27  Mario Bensi  <mbensi@pleyo.com>
19615         Reviewed by Eric Seidel.
19616         
19617         Fix the data content of an image with a base64.
19619         * platform/network/curl/ResourceHandleManager.cpp:
19620         (WebCore::parseDataUrl): Remove the String and use only the data
19621         Vector because the data.latin1().data() convert the data content and
19622         the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
19623         not drawn correctly.
19625 2008-08-27  Antti Koivisto  <antti@apple.com>
19627         Reviewed by Eric Seidel.
19629         Crash after OK in dialog box and reloading page in secure mode
19630         https://bugs.webkit.org/show_bug.cgi?id=20493
19631         
19632         The new run loop spawned by a modal dialog causes a timer in the loader to run 
19633         synchronously inside didFinishLoading() deleting "this" object.
19634         
19635         Defer all WebCore timers when a modal dialog is up. They are not
19636         safe to execute.
19638         * page/Chrome.cpp:
19639         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
19640         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
19642 2008-08-27  Chris Marrin  <cmarrin@apple.com>
19644         Reviewed by Dave Hyatt
19646         Memory leaks when animating transforms
19647         https://bugs.webkit.org/show_bug.cgi?id=20532
19649         * rendering/style/RenderStyle.cpp:
19650         (WebCore::ScaleTransformOperation::blend):
19651         (WebCore::RotateTransformOperation::blend):
19652         (WebCore::SkewTransformOperation::blend):
19653         (WebCore::TranslateTransformOperation::blend):
19654         (WebCore::MatrixTransformOperation::blend):
19655         * rendering/style/RenderStyle.h:
19657 2008-08-27  Timothy Hatcher  <timothy@apple.com>
19659         Add support for support for -webkit-appearance: default-button on the Mac platform.
19661         <rdar://problem/6173530>
19663         Reviewed by Dave Hyatt.
19665         * WebCore.base.exp: Export new symbols.
19666         * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
19667         * platform/mac/WebCoreSystemInterface.mm: Ditto.
19668         * rendering/RenderButton.cpp:
19669         (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
19670         (WebCore::RenderButton::setStyle): Ditto.
19671         * rendering/RenderButton.h: Ditto.
19672         * rendering/RenderThemeMac.mm:
19673         (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
19674         (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
19675         key if the button is default, otherwise reset the key equivalent.
19676         (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
19677         on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
19678         the window's previous default button cell when finished.
19680 2008-08-26  David Hyatt  <hyatt@apple.com>
19682         First cut at making form controls on OS X respect full page zoom.  There are lots of bugs.
19684         Reviewed by weinig
19686         Added fast/forms/zoomed-controls.html
19688         * css/CSSStyleSelector.cpp:
19689         (WebCore::addIntrinsicMargins):
19690         * rendering/RenderSlider.cpp:
19691         (WebCore::RenderSlider::calcPrefWidths):
19692         * rendering/RenderThemeMac.h:
19693         * rendering/RenderThemeMac.mm:
19694         (WebCore::RenderThemeMac::adjustRepaintRect):
19695         (WebCore::RenderThemeMac::inflateRect):
19696         (WebCore::RenderThemeMac::baselinePosition):
19697         (WebCore::RenderThemeMac::setControlSize):
19698         (WebCore::RenderThemeMac::sizeForFont):
19699         (WebCore::RenderThemeMac::sizeForSystemFont):
19700         (WebCore::RenderThemeMac::setFontFromControlSize):
19701         (WebCore::RenderThemeMac::paintCheckbox):
19702         (WebCore::RenderThemeMac::setCheckboxCellState):
19703         (WebCore::RenderThemeMac::paintRadio):
19704         (WebCore::RenderThemeMac::setRadioCellState):
19705         (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
19706         (WebCore::RenderThemeMac::adjustButtonStyle):
19707         (WebCore::RenderThemeMac::setButtonCellState):
19708         (WebCore::RenderThemeMac::paintButton):
19709         (WebCore::RenderThemeMac::paintMenuList):
19710         (WebCore::RenderThemeMac::paintMenuListButton):
19711         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
19712         (WebCore::RenderThemeMac::popupInternalPaddingRight):
19713         (WebCore::RenderThemeMac::popupInternalPaddingTop):
19714         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
19715         (WebCore::RenderThemeMac::setPopupButtonCellState):
19716         (WebCore::RenderThemeMac::paintSliderTrack):
19717         (WebCore::RenderThemeMac::paintSliderThumb):
19718         (WebCore::RenderThemeMac::adjustSliderThumbSize):
19719         (WebCore::RenderThemeMac::paintSearchField):
19720         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
19721         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
19722         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
19724 2008-08-27  Brady Eidson  <beidson@apple.com>
19726         Reviewed by Anders
19728         <rdar://problem/6134133> - Crash when loading large movie as a standalone document
19730         We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
19731         to load and buffer the data for the movie in WebCore.  With large media files, this results in blowing
19732         away the virtual address space and a crash.
19734         * loader/EmptyClients.h:
19735         (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
19736         * loader/FrameLoaderClient.h:  Added client method to get platform specific error for
19737           "plugin will handle load"
19739         * loader/MediaDocument.cpp:
19740         (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
19741           and cancel the WebCore-managed load
19742         (WebCore::MediaTokenizer::writeRawData):
19743         (WebCore::MediaTokenizer::finish):
19745 2008-08-26  Simon Fraser  <simon.fraser@apple.com>
19747         Reviewed by Eric Seidel
19749         Linear timing functions should have control points 0, 0, 1, 1.
19750         https://bugs.webkit.org/show_bug.cgi?id=20535
19752         * css/CSSStyleSelector.cpp:
19753         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
19754         * rendering/style/RenderStyle.h:
19756 2008-08-27  Adam Roben  <aroben@apple.com>
19758         Windows build fix
19760         * WebCore.vcproj/WebCore.vcproj: Fix file extension.
19762 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
19764         Reviewed by Beth Dakin.
19766         <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
19768         Added platform-specific accessibilityIgnoreAttachment, which allows the platform
19769         to determine if an attachment is ignored through accessibility. Added equivalent
19770         methods in Gtk, Win and Mac
19772         Test: accessibility/plugin.html
19774         * GNUmakefile.am:
19775         * WebCore.vcproj/WebCore.vcproj:
19776         * WebCore.xcodeproj/project.pbxproj:
19777         * page/AccessibilityObject.h:
19778         * page/AccessibilityRenderObject.cpp:
19779         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
19780         * page/gtk/AccessibilityObjectAtk.cpp: Added.
19781         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
19782         * page/mac/AccessibilityObjectMac.mm: Added.
19783         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
19784         * page/mac/AccessibilityObjectWrapper.h:
19785         * page/win/AccessibilityObjectWin.cpp: Added.
19786         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
19788 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
19790         Reviewed by Beth Dakin.
19792         <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
19794         * page/mac/AccessibilityObjectWrapper.mm:
19795         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
19796         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
19798 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
19800         Reviewed by Darin Adler.
19802         <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
19804         Tests: accessibility/table-notbody.html
19806         * page/AccessibilityTable.cpp:
19807         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
19809 2008-08-26  Sam Weinig  <sam@webkit.org>
19811         Reviewed by Beth Dakin.
19813         Fix typo.
19815         * dom/DOMCoreException.h:
19817 2008-08-26  Sam Weinig  <sam@webkit.org>
19819         Reviewed by Oliver Hunt.
19821         Fix https://bugs.webkit.org/show_bug.cgi?id=20479
19822         <rdar://problem/6167660>
19823         Take image redirects into account when tainting the canvas.
19825         Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
19827         * html/CanvasRenderingContext2D.cpp:
19828         (WebCore::CanvasRenderingContext2D::drawImage):
19829         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
19831 2008-08-26  Sam Weinig  <sam@webkit.org>
19833         Reviewed by Darin Adler.
19835         Change canvas tainting logic to ask the image if it contains
19836         any resources outside of its own origin. Since there is no 
19837         way to determine if SVG images contain any resources outside its
19838         origin, we always assume it does.
19840         * html/CanvasRenderingContext2D.cpp:
19841         (WebCore::CanvasRenderingContext2D::drawImage):
19842         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
19843         * platform/graphics/BitmapImage.h:
19844         (WebCore::BitmapImage::hasSingleSecurityOrigin):
19845         * platform/graphics/GeneratedImage.h:
19846         (WebCore::GeneratedImage::hasSingleSecurityOrigin):
19847         * platform/graphics/Image.h:
19848         (WebCore::Image::hasSingleSecurityOrigin):
19849         * platform/graphics/cg/PDFDocumentImage.h:
19850         (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
19851         * svg/graphics/SVGImage.h:
19853 2008-08-26  Maxime Britto  <britto@apple.com>
19855         Reviewed by Adele.
19857         <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
19858         This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
19859         This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
19861         * page/EventHandler.cpp:
19862         (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
19863         * page/EventHandler.h:
19864         * rendering/RenderLayer.cpp:
19865         (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
19866         (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
19867         * rendering/RenderLayer.h:
19868         * rendering/RenderObject.cpp:
19869         (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
19870         (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
19871         (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
19873 2008-08-25  Julien Chaffraix  <jchaffraix@webkit.org>
19875         Reviewed by Darin Adler.
19877         Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
19878         https://bugs.webkit.org/show_bug.cgi?id=20247
19880         <rdar://problem/6118218>
19882         Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
19883         check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
19884         (case insensitive for HTML elements).
19886         Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
19888         * dom/Element.cpp:
19889         (WebCore::Element::getAttribute):
19890         * dom/NamedAttrMap.cpp:
19891         (WebCore::NamedAttrMap::getNamedItem):
19892         (WebCore::NamedAttrMap::getAttributeItem):
19893         * dom/NamedAttrMap.h:
19895 2008-08-25  Sam Weinig  <sam@webkit.org>
19897         Reviewed by Oliver Hunt.
19899         Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
19900         <rdar://problem/6174096>
19901         Treat SVG images as dirty when drawing to a canvas.
19903         Test: http/tests/security/canvas-remote-read-svg-image.html
19905         * html/CanvasRenderingContext2D.cpp:
19906         (WebCore::CanvasRenderingContext2D::drawImage):
19907         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
19908         * platform/graphics/Image.h:
19909         (WebCore::Image::isSVGImage):
19910         * svg/graphics/SVGImage.h:
19911         (WebCore::SVGImage::isSVGImage):
19913 2008-08-25  Sam Weinig  <sam@webkit.org>
19915         Reviewed by Mark Rowe.
19917         Fix https://bugs.webkit.org/show_bug.cgi?id=20377
19918         Leak in XMLHttpRequest.
19920         * xml/XMLHttpRequest.cpp:
19921         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
19923 2008-08-25  Brady Eidson  <beidson@apple.com>
19925         Reviewed by Anders
19927         Speculative fix for <rdar://problem/6173217>
19929         Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
19930         Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
19931         the first null check invalid.
19933         * loader/FrameLoader.cpp:
19934         (WebCore::FrameLoader::stopAllLoaders):
19937 2008-08-25  Kevin McCullough  <kmccullough@apple.com>
19939         Reviewed by Tim.
19941         <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
19942         there is no profile, can cause crash
19944         * page/inspector/ProfilesPanel.js:
19946 2008-08-25  Dean Jackson  <dino@apple.com>
19948         Reviewed by Dave Hyatt
19950         Make sure 'inherit' is handled by transition property.
19951         https://bugs.webkit.org/show_bug.cgi?id=20513
19953         Test: transitions/inherit.html
19954         Test: transitions/inherit-other-props.html
19956         * css/CSSStyleSelector.cpp:
19957           fix macro to check existence of list before getting size
19959 2008-08-25  Anders Carlsson  <andersca@apple.com>
19961         Reviewed by Mark.
19963         <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
19964         
19965         Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume 
19966         (safely) that any class that needs finalization on the main thread will also need to be deallocated
19967         on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
19968         calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
19970         * platform/mac/WebCoreObjCExtras.c:
19971         (WebCoreObjCFinalizeOnMainThread):
19973 2008-08-25  Antti Koivisto  <antti@apple.com>
19975         Reviewed by Dan Bernstein.
19977         Rename CachedResource::referenced() to CachedResource::hasClients() to
19978         match previous ref() -> addClient() rename.
19980         * loader/Cache.cpp:
19981         (WebCore::Cache::pruneLiveResources):
19982         (WebCore::Cache::pruneDeadResources):
19983         (WebCore::Cache::remove):
19984         (WebCore::Cache::getStatistics):
19985         (WebCore::Cache::dumpLRULists):
19986         * loader/CachedResource.cpp:
19987         (WebCore::CachedResource::addClient):
19988         (WebCore::CachedResource::removeClient):
19989         (WebCore::CachedResource::setDecodedSize):
19990         (WebCore::CachedResource::setEncodedSize):
19991         * loader/CachedResource.h:
19992         (WebCore::CachedResource::hasClients):
19993         (WebCore::CachedResource::canDelete):
19995 2008-08-25  Anthony Ricaud  <rik24d@gmail.com>
19997         Add a missing Inspector localized string for "other".
19999         https://bugs.webkit.org/show_bug.cgi?id=20509
20001         Reviewed by Tim Hatcher.
20003         * English.lproj/localizedStrings.js:
20005 2008-08-22  Kevin McCullough  <kmccullough@apple.com>
20007         Reviewed by Geoff, Mark and Tim.
20009         <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
20010         in the console said what file and line number they came from
20011         - Lay the foundation for getting line numbers and other data from the
20012         JavaScript engine.
20014         * ForwardingHeaders/VM: Added.
20015         * ForwardingHeaders/VM/Machine.h: Added.
20016         * page/Console.cpp: Gather the line number and file information when 
20017         profileEnd has been called, but don't use it until didFinishProfiling is
20018         called.  We won't need to wait once we remove the profiler "zombie" mode
20019         which this patch helps pave the foundation for.
20020         (WebCore::Console::Console):
20021         (WebCore::Console::profileEnd):
20022         (WebCore::Console::finishedProfiling):
20023         * page/Console.h:
20024         * page/InspectorController.cpp: Modify calls to
20025         addProfileMessageToConsole to satisfy the new arguments it takes.
20026         (WebCore::InspectorController::finishedProfiling):
20027         (WebCore::InspectorController::addProfile):
20028         (WebCore::InspectorController::addProfileMessageToConsole):
20029         (WebCore::InspectorController::finishedProfiling):
20030         * page/InspectorController.h:
20032 2008-08-25  Holger Hans Peter Freyther  <zecke@selfish.org>
20034         Reviewed by Simon.
20036         [inspector] Update the WebKit.qrc Qt resources file
20037         Catchup with the changes in the directory.
20039         * page/inspector/WebKit.qrc:
20041 2008-08-25  Dirk Schulze  <vbs85@gmx.de>
20043         Reviewed by Simon.
20045         Transformed the radian to degree, to get rotate()
20046         in canvas work as expected.
20048         [Qt] Canvas.rotate() doesn't work
20049         https://bugs.webkit.org/show_bug.cgi?id=20496
20051         * platform/graphics/qt/GraphicsContextQt.cpp:
20052         (WebCore::GraphicsContext::rotate):
20054 2008-08-24  Steve Falkenburg  <sfalken@apple.com>
20056         Add a "last chance" WM_TIMER to the Windows shared timer.
20057         
20058         The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
20059         Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
20060         timers if a timer with an earlier expiration is already pending. This results in no timers
20061         firing from that point on.
20062         
20063         We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
20064         buggy window message hook.
20065         
20066         This timer will start when the first WM_TIMER is scheduled, and will
20067         fire every 5 seconds thereafter, causing any lost timers to be fired.
20068         
20069         Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
20070         and prevents the WebFrame leak.
20071         
20072         Reviewed by Darin Adler, Geoff Garen.
20074         * platform/win/SharedTimerWin.cpp:
20075         (WebCore::):
20076         (WebCore::TimerWindowWndProc):
20077         (WebCore::setSharedTimerFireTime):
20079 2008-08-24  Dan Bernstein  <mitz@apple.com>
20081         Reviewed by Darin Adler.
20083         - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
20085         Test: fast/css/font-property-priority.html
20087         * css/CSSParser.cpp:
20088         (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
20089         to the font-property-parsing functions.
20090         (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
20091         changed to use it rather than the m_important member.
20092         (WebCore::CSSParser::parseFontVariant): Ditto.
20093         (WebCore::CSSParser::parseFontWeight): Ditto.
20094         * css/CSSParser.h:
20096 2008-08-24  Timothy Hatcher  <timothy@apple.com>
20098         Fixes a bug where the Inspector's UI would not animate or
20099         fully function because JavaScript timeouts, intervals and
20100         CSS animation timers where not firing while paused at a
20101         a breakpoint in the inspected page.
20103         https://bugs.webkit.org/show_bug.cgi?id=20042
20105         Reviewed by Darin Adler.
20107         Test: manual-tests/inspector/forzen-ui-while-paused.html
20109         * page/JavaScriptDebugServer.cpp:
20110         (WebCore::JavaScriptDebugServer::pauseIfNeeded):
20111         Add a call to TimerBase::fireTimersInNestedEventLoop before
20112         spinning the EventLoop.
20114 2008-08-24  Rob Buis  <buis@kde.org>
20116         Reviewed by Sam Weinig.
20118         https://bugs.webkit.org/show_bug.cgi?id=20324
20119         A change in SVG Glyph wont show up
20121         Invalidate the glyph cache when the d attribute is set.
20123         Test: svg/custom/glyph-setting-d-attribute.svg
20125         * svg/SVGGlyphElement.cpp:
20126         (WebCore::SVGGlyphElement::invalidateGlyphCache):
20127         (WebCore::SVGGlyphElement::parseMappedAttribute):
20128         (WebCore::SVGGlyphElement::insertedIntoDocument):
20129         (WebCore::SVGGlyphElement::removedFromDocument):
20130         * svg/SVGGlyphElement.h:
20132 2008-08-24  Dan Bernstein  <mitz@apple.com>
20134         Reviewed by Sam Weinig.
20136         - fix https://bugs.webkit.org/show_bug.cgi?id=13864
20137           <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
20139         * rendering/RenderText.cpp:
20140         (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
20141         beginWS and endWS before the early return to ensure that they are
20142         initialized in that case.
20144 2008-08-23  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
20146         Rubber-stamped by Mark Rowe.
20148         Remove modelines.
20150         * WebCore.pro:
20151         * bridge/testbindings.cpp:
20152         * dom/DocPtr.h:
20153         * loader/SubstituteData.h:
20154         * page/Chrome.cpp:
20155         * page/Chrome.h:
20156         * page/ChromeClient.h:
20157         * page/Frame.h:
20158         * page/FrameLoadRequest.h:
20159         * page/FrameTree.cpp:
20160         * page/FrameTree.h:
20161         * page/Page.h:
20162         * page/mac/ChromeMac.mm:
20163         * platform/network/HTTPHeaderMap.h:
20164         * platform/network/ResourceErrorBase.cpp:
20165         * platform/network/ResourceErrorBase.h:
20166         * platform/network/ResourceHandleInternal.h:
20167         * platform/network/ResourceRequestBase.cpp:
20168         * platform/network/ResourceRequestBase.h:
20169         * platform/network/ResourceResponseBase.cpp:
20170         * platform/network/ResourceResponseBase.h:
20171         * platform/network/cf/ResourceError.h:
20172         * platform/network/cf/ResourceRequest.h:
20173         * platform/network/cf/ResourceRequestCFNet.h:
20174         * platform/network/cf/ResourceResponse.h:
20175         * platform/network/cf/ResourceResponseCFNet.h:
20176         * platform/network/curl/ResourceError.h:
20177         * platform/network/curl/ResourceRequest.h:
20178         * platform/network/curl/ResourceResponse.h:
20179         * platform/network/mac/ResourceError.h:
20180         * platform/network/mac/ResourceErrorMac.mm:
20181         * platform/network/mac/ResourceRequest.h:
20182         * platform/network/mac/ResourceRequestMac.mm:
20183         * platform/network/mac/ResourceResponse.h:
20184         * platform/network/mac/ResourceResponseMac.mm:
20185         * platform/network/qt/ResourceError.h:
20186         * platform/network/qt/ResourceRequest.h:
20187         * platform/network/qt/ResourceResponse.h:
20188         * platform/network/soup/CookieJarSoup.cpp:
20189         * platform/network/soup/ResourceError.h:
20190         * platform/network/soup/ResourceRequest.h:
20191         * platform/network/soup/ResourceResponse.h:
20193 2008-08-23  Dan Bernstein  <mitz@apple.com>
20195         Reviewed by Dave Hyatt.
20197         - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
20199         Test: fast/table/vertical-align-baseline.html
20201         * rendering/RenderTable.cpp:
20202         (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
20203         baseline of the first table row, if there is one, -1 otherwise.
20204         * rendering/RenderTable.h:
20205         * rendering/RenderTableCell.cpp:
20206         (WebCore::RenderTableCell::baselinePosition): Changed to follow the
20207         CSS2.1 definition of the baseline of a table cell.
20208         * rendering/RenderTableSection.cpp:
20209         (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
20210         the baseline of the first row in the section.
20211         * rendering/RenderTableSection.h:
20213 2008-08-18  Jon Honeycutt  <jhoneycutt@apple.com>
20215         Add SPI to make a Windows WebView transparent.
20217         Reviewed by Dan Bernstein.
20219         * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
20220         determines whether the created context has an alpha channel.
20221         * platform/graphics/win/GraphicsContextCGWin.cpp:
20222         (WebCore::CGContextWithHDC):
20224 2008-08-22  Timothy Hatcher  <timothy@apple.com>
20226         Rolls out r35834 because it caused a regression in the Inspector's
20227         Console where some expressions always threw a syntax error.
20229         https://bugs.webkit.org/show_bug.cgi?id=20487
20231         * page/inspector/Console.js:
20232         (Console.prototype._evalInInspectedWindow): Removes parenthesis
20233         around the expression.
20235 2008-08-22  Timothy Hatcher  <timothy@apple.com>
20237         Makes getStyleProperty return a value for the overflow property
20238         when overflow-x and overflow-y are equal.
20240         https://bugs.webkit.org/show_bug.cgi?id=20485
20242         Reviewed by Dan Bernstein.
20244         Test: fast/css/overflow-property.html
20246         * css/CSSMutableStyleDeclaration.cpp:
20247         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
20249 2008-08-22  Timothy Hatcher  <timothy@apple.com>
20251         Fixes a bug where while editing in the Inspector the
20252         sidebar scroll position would jump to the top.
20254         https://bugs.webkit.org/show_bug.cgi?id=20484
20256         Reviewed by Darin Adler.
20258         * page/inspector/treeoutline.js:
20259         (TreeOutline._removeChildren): Remove the offsetTop call that
20260         was forcing a layout, since layout causes scroll positions
20261         to be clamped to the new scrollHeight/Width. Layout will happen
20262         normally when needed.
20264 2008-08-22  Kevin Ollivier  <kevino@theolliviers.com>
20266         wx build fix. Add AccessibilityTable sources.
20268         * WebCoreSources.bkl:
20270 2008-08-21  Dan Bernstein  <mitz@apple.com>
20272         Reviewed by Jon Honeycutt and Alexey Proskuryakov.
20274         - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
20276         Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
20278         * platform/graphics/mac/SimpleFontDataMac.mm:
20279         (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
20280         ascent and 100% to its reported descent.
20282 2008-08-21  Kalle Vahlman  <kalle.vahlman@movial.com>
20284         Reviewed by Darin Adler.
20286         https://bugs.webkit.org/show_bug.cgi?id=20267
20287         [GTK] Crash on some pages due to a plugin
20289         Fix handling of badly formatted and empty plugin mime descriptions
20291         * plugins/gtk/PluginPackageGtk.cpp:
20292         (WebCore::PluginPackage::fetchInfo):
20294 2008-08-21  Kevin Watters  <kevinwatters@gmail.com>
20296         Reviewed by Darin Adler.
20298         Follow other ports (and IE) in ImageSourceWx.cpp never to return an
20299         animated GIF frame duration of less than 50ms.
20301         * platform/graphics/wx/ImageSourceWx.cpp:
20302         (WebCore::ImageSource::frameDurationAtIndex):
20304 2008-08-21  Maxime Britto  <britto@apple.com>
20306         Reviewed by Kevin McCullough.
20308         Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
20309         https://bugs.webkit.org/show_bug.cgi?id=20451
20310    
20311         rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
20312         When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
20313         This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
20315         * page/EventHandler.cpp:
20316         (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
20318         (WebCore::EventHandler::handleMousePressEvent): ditto
20320 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
20322         Small optimization for when the dividers in the Inspector's
20323         Resources panel are updated.
20325         Reviewed by Tim Hatcher.
20327         * page/inspector/ResourcesPanel.js:
20328         (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
20329         Combind a for loop and clone the divider element.
20331 2008-08-21  Chris Marrin  <cmarrin@apple.com>
20333         Allow 0 (without units) for Time eg. duration
20334         Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
20336         Reviewed by Dave Hyatt.
20338         Test: css1/units/zero-duration-without-units.html
20340         * css/CSSParser.cpp:
20341         (WebCore::CSSParser::validUnit):
20343 2008-08-21  Timothy Hatcher  <timothy@apple.com>
20345         Make deleting all text while editing a DOM attribute in
20346         the Inspector delete the attribute. This also fixes
20347         an exception that would happen before.
20349         https://bugs.webkit.org/show_bug.cgi?id=20472
20351         Reviewed by Kevin McCullough.
20353         * page/inspector/ElementsPanel.js:
20354         (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
20355         Don't check for hasAttributes on the parseElement, continuing
20356         through the function will correctly remove the attribute.
20357         If the parseElement is null, call _editingCancelled not
20358         editingCancelled, this fixes an exception.
20360 2008-08-21  Timothy Hatcher  <timothy@apple.com>
20362         Update the Inspector's Metrics pane when editing in
20363         the Styles pane. This makes sure the metrics shown
20364         always match what the Styles pane shows.
20366         https://bugs.webkit.org/show_bug.cgi?id=20470
20368         Reviewed by Kevin McCullough.
20370         * page/inspector/ElementsPanel.js:
20371         (WebInspector.ElementsPanel): Add event listeners for
20372         the "style edited" and "style property toggled" events,
20373         so the Metrics pane is updated.
20374         (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
20375         Update the Metrics pane.
20376         * page/inspector/StylesSidebarPane.js:
20377         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
20378         Dispatch the "style property toggled" event.
20379         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
20380         Dispatch the "style edited" event when the CSS text is restored.
20381         (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
20382         Dispatch the "style edited" event.
20384 2008-08-21  Timothy Hatcher  <timothy@apple.com>
20386         Make the Inspector's Metrics sidebar pane editable.
20388         https://bugs.webkit.org/show_bug.cgi?id=17218
20389         rdar://problem/5732818
20391         Reviewed by Kevin McCullough.
20393         * page/inspector/ElementsPanel.js:
20394         (WebInspector.ElementsPanel): Add an event listener for
20395         the "metrics edited" event, so the Styles pane is updated.
20396         * page/inspector/MetricsSidebarPane.js:
20397         (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
20398         so future updates work. Add a double click event listener for the
20399         metric values to start editing.
20400         (WebInspector.MetricsSidebarPane.prototype.startEditing):
20401         Call WebInspector.startEditing with some context.
20402         (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
20403         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
20404         Set the user input on the elements inline style. Fire the
20405         "metrics edited" event.
20407 2008-08-21  Steve Falkenburg  <sfalken@apple.com>
20409         Fix a race condition in Windows timer code.
20410         Timer function could end up being called with a 0 timer, leading to a Windows exception.
20411         
20412         Don't post a timer message if one is already pending.
20413         
20414         Reviewed by Ada Chan.
20416         * platform/win/SharedTimerWin.cpp:
20417         (WebCore::TimerWindowWndProc):
20418         (WebCore::clearTimer):
20419         (WebCore::queueTimerProc):
20420         (WebCore::setSharedTimerFireTime):
20422 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
20424         After trying to add the expression, try again with quotes for
20425         easier edition.
20427         https://bugs.webkit.org/show_bug.cgi?id=20466
20429         Reviewed by Tim Hatcher.
20431         * page/inspector/ObjectPropertiesSection.js: Added an
20432         evaluateExpression function.
20434 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
20436         Perform Inspector searches on search event to clear results when
20437         clicking the cross to empty it. Delete the lastQuery when the field
20438         is emptied in order to perform the search if exactly the same query
20439         is entered next.
20441         https://bugs.webkit.org/show_bug.cgi?id=20462
20443         Reviewed by Tim Hatcher.
20445         * page/inspector/inspector.js:
20447 2008-08-21  Marco Barisione  <marco.barisione@collabora.co.uk>
20449         Reviewed by Mark Rowe.
20451         http://bugs.webkit.org/show_bug.cgi?id=19656
20452         [SOUP] The gio code should call didFail() instead of
20453         didFinishLoading() in case of error
20455         In case of error call didFail() instead of didReceiveResponse() and
20456         didFinishLoading().
20458         * platform/network/soup/ResourceHandleSoup.cpp:
20459         (WebCore::networkErrorForFile):
20460         (WebCore::readCallback):
20461         (WebCore::openCallback):
20462         (WebCore::queryInfoCallback):
20464 2008-08-20  Mark Rowe  <mrowe@apple.com>
20466         Reviewed by Jon Honeycutt.
20468         Fix build failure.
20470         * bridge/c/c_instance.cpp:
20471         (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
20472         as that is what NPEnumerationFunctionPtr is declared as accepting.
20474 2008-08-20  Mark Rowe  <mrowe@apple.com>
20476         Reviewed by Dan Bernstein.
20478         Build fix.  Handle kCGInterpolationMedium in switch statements if it is available.
20480         * platform/graphics/GraphicsContext.h:
20481         (WebCore::):
20482         * platform/graphics/cg/GraphicsContextCG.cpp:
20483         (WebCore::GraphicsContext::setImageInterpolationQuality):
20484         (WebCore::GraphicsContext::imageInterpolationQuality):
20486 2008-08-20  Dan Bernstein  <mitz@apple.com>
20488         Rubber-stamped by John Sullivan.
20490         - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
20491           rename related methods and variables accordingly.
20493         * WebCore.base.exp:
20494         * page/FrameView.cpp:
20495         (WebCore::FrameViewPrivate::FrameViewPrivate):
20496         (WebCore::FrameView::shouldUpdateWhileOffscreen):
20497         (WebCore::FrameView::setShouldUpdateWhileOffscreen):
20498         * page/FrameView.h:
20499         * platform/ScrollView.h:
20500         * platform/mac/ScrollViewMac.mm:
20501         (WebCore::ScrollView::updateContents):
20503 2008-08-20  Brady Eidson  <beidson@apple.com>
20505         Reviewed by Mitzpettel
20507         <rdar://problem/6163636> - Many images broken in Mail
20509         This can be traced back to the preload scanner.  With that change, CachedResources are created a lot 
20510         sooner than before and confuse the WebArchive machinery.  
20512         When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore 
20513         such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate 
20514         machinery and nothing is known about where the data will eventually come from.
20516         * loader/DocumentLoader.cpp:
20517         (WebCore::DocumentLoader::subresource):  Ignore a CachedResource if its preloadResult is 
20518           CachedResource::PreloadReferenced.
20520 2008-08-20  Holger Hans Peter Freyther  <zecke@selfish.org>
20522         Unreviewed compile fix
20524         Catch up with the JSValue::type elimination.
20526         * bridge/qt/qt_instance.cpp:
20527         (KJS::Bindings::QtRuntimeObjectImp::construct):
20528         (KJS::Bindings::QtInstance::defaultValue):
20529         * bridge/qt/qt_runtime.cpp:
20530         (KJS::Bindings::QtRuntimeConnectionMethod::call):
20532 2008-08-20  Chris Teague  <chris.teague@gmail.com>
20534         Reviewed by Mark Rowe.
20536         Fix https://bugs.webkit.org/show_bug.cgi?id=20449
20537         Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
20539         * ChangeLog:
20540         * loader/FrameLoader.cpp:
20541         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
20543 2008-08-20  Simon Fraser  <simon.fraser@apple.com>
20545         Reviewed by Dave Hyatt
20547         getComputedStyle() for webkitTransform should return a transform
20548         that does not have the transform origin baked into it.
20549         https://bugs.webkit.org/show_bug.cgi?id=20464
20550         
20551         Test: fast/css/getComputedStyle-transform.html
20553         * css/CSSComputedStyleDeclaration.cpp:
20554         (WebCore::computedTransform):
20555         * rendering/style/RenderStyle.cpp:
20556         (WebCore::RenderStyle::applyTransform):
20557         * rendering/style/RenderStyle.h:
20559 2008-08-20  Josh Aas  <joshmoz@gmail.com>
20561         Reviewed and landed by Anders.
20563         <rdar://problem/6163636> 
20564         rename NPCocoaEvent's "event" struct to "data" (20446)
20565         
20566         * bridge/npapi.h:
20567         (_NPCocoaEvent::):
20569 2008-08-20  Beth Dakin  <bdakin@apple.com>
20571         Reviewed by Darin Adler.
20573         Fix for <rdar://problem/6145626> 
20574         This patch fixes a number of remaining problems getting 
20575         disconnected frames to work correctly with markAllMatchesForText() 
20576         and findString(). Details inline. 
20578         This was a static helper function in Frame, but this patch requires 
20579         the same functionality in Editor, so I just added it as a function 
20580         on Node.
20581         * dom/Node.cpp:
20582         (WebCore::Node::isInShadowTree):
20583         * dom/Node.h:
20585         * editing/Editor.cpp:
20586         (WebCore::Editor::insideVisibleArea): Returns false if 
20587         excludeFromTextSearch() is true.
20589         In a normal (non-disconnected) frame, findString returns a range of 
20590         the document node if the text is not found in the frame. I changed 
20591         firstVisibleRange and lastVisibleRange to match that behavior when 
20592         the text is not found
20593         (WebCore::Editor::firstVisibleRange):
20594         (WebCore::Editor::lastVisibleRange):
20596         Here are the bulk of the changes in the patch. A lot of text was 
20597         not being found in disconnected frames because I failed to account 
20598         for all of the possible problems associated with shadow trees. That 
20599         is fixed here.
20600         (WebCore::Editor::nextVisibleRange):
20601         * editing/Editor.h:
20603         excludeFromTextSearch() is new. It allows a WebKit client to mark a 
20604         frame as not-text-searchable through SPI. 
20605         * WebCore.base.exp:
20606         * page/Frame.cpp:
20607         (WebCore::Frame::excludeFromTextSearch):
20608         (WebCore::Frame::setExcludeFromTextSearch):
20609         (WebCore::FramePrivate::FramePrivate):
20610         * page/Frame.h:
20611         * page/FramePrivate.h:
20613         (WebCore::Frame::findString):
20614         (WebCore::Frame::markAllMatchesForText):  I kept running into an 
20615         assertion failure in paining code because of the forced paint on 
20616         empty visible rects.
20618 2008-08-20  Timothy Hatcher  <timothy@apple.com>
20620         Adds a positon box to the Inspector's Metrics sidebar
20621         pane. When an element is not statically positioned, there
20622         is now a position box that show top, right, bottom and
20623         left computed values.
20625         Reviewed by Kevin McCullough.
20627         * English.lproj/localizedStrings.js: Updated the strings.
20628         * page/inspector/MetricsSidebarPane.js:
20629         (WebInspector.MetricsSidebarPane.prototype.update):
20630         Renamed the boxPartValue function to createBoxPartElement
20631         and made it create the entire element. Made it understand
20632         how to get position style properties. Don't use the figure dash
20633         when 0px is used for positions, since the 0 is meaningful there.
20634         Instead use the figure dash when a position is auto.
20635         * page/inspector/inspector.css: Added a new rule for position.
20637 2008-08-20  Chris Fleizach  <cfleizach@apple.com>
20639         Reviewed by Beth Dakin
20641         Qt build fix
20643         * WebCore.pro:
20645 2008-08-20  Dan Bernstein  <mitz@apple.com>
20647         Reviewed by Anders Carlsson.
20649         - avoid using a deprecated NSScroller method on Leopard
20651         * platform/mac/PlatformScrollBarMac.mm:
20652         (WebCore::PlatformScrollbar::updateThumbPosition):
20653         (WebCore::PlatformScrollbar::updateThumbProportion):
20655 2008-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
20657         Reviewed by Oliver Hunt.
20659         Gtk build fix
20661         * GNUmakefile.am:
20662         * page/AccessibilityTable.cpp: Change nil to 0
20663         (WebCore::AccessibilityTable::cellForColumnAndRow):
20665 2008-08-19  Alexey Proskuryakov  <ap@webkit.org>
20667         Reviewed by Geoff Garen.
20669         Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
20671         * ForwardingHeaders/kjs/JSLock.h: Added.
20672         * WebCore.vcproj/WebCore.vcproj:
20673         * bindings/js/GCController.cpp:
20674         (WebCore::collect):
20675         (WebCore::GCController::gcTimerFired):
20676         (WebCore::GCController::garbageCollectNow):
20677         * bindings/js/JSCustomSQLStatementCallback.cpp:
20678         (WebCore::JSCustomSQLStatementCallback::handleEvent):
20679         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
20680         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
20681         * bindings/js/JSCustomSQLTransactionCallback.cpp:
20682         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
20683         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
20684         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
20685         * bindings/js/JSCustomVoidCallback.cpp:
20686         (WebCore::JSCustomVoidCallback::handleEvent):
20687         * bindings/js/JSCustomXPathNSResolver.cpp:
20688         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
20689         * bindings/js/JSDOMWindowBase.cpp:
20690         (WebCore::DOMWindowTimer::~DOMWindowTimer):
20691         (WebCore::JSDOMWindowBase::clear):
20692         (WebCore::JSDOMWindowBase::timerFired):
20693         * bindings/js/JSEventCustom.cpp:
20694         (WebCore::toJS):
20695         * bindings/js/JSEventListener.cpp:
20696         (WebCore::JSAbstractEventListener::handleEvent):
20697         * bindings/js/JSNSResolver.cpp:
20698         (WebCore::JSNSResolver::lookupNamespaceURI):
20699         * bindings/js/JSNodeFilterCondition.cpp:
20700         (WebCore::JSNodeFilterCondition::acceptNode):
20701         * bindings/js/ScheduledAction.cpp:
20702         (WebCore::ScheduledAction::execute):
20703         * bindings/js/ScriptController.cpp:
20704         (WebCore::ScriptController::evaluate):
20705         (WebCore::ScriptController::clearWindowShell):
20706         (WebCore::ScriptController::createHTMLEventHandler):
20707         (WebCore::ScriptController::createSVGEventHandler):
20708         (WebCore::ScriptController::initScript):
20709         (WebCore::ScriptController::updateDocument):
20710         (WebCore::ScriptController::bindingRootObject):
20711         (WebCore::ScriptController::windowScriptNPObject):
20712         (WebCore::ScriptController::createScriptObjectForPluginElement):
20713         (WebCore::ScriptController::clearScriptObjects):
20714         * bindings/js/ScriptControllerMac.mm:
20715         (WebCore::ScriptController::windowScriptObject):
20716         * bindings/objc/WebScriptObject.mm:
20717         (_didExecute):
20718         (-[WebScriptObject callWebScriptMethod:withArguments:]):
20719         (-[WebScriptObject evaluateWebScript:]):
20720         (-[WebScriptObject setValue:forKey:]):
20721         (-[WebScriptObject valueForKey:]):
20722         (-[WebScriptObject removeWebScriptKey:]):
20723         (-[WebScriptObject stringRepresentation]):
20724         (-[WebScriptObject webScriptValueAtIndex:]):
20725         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
20726         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
20727         * bridge/NP_jsobject.cpp:
20728         (_NPN_InvokeDefault):
20729         (_NPN_Invoke):
20730         (_NPN_Evaluate):
20731         (_NPN_GetProperty):
20732         (_NPN_SetProperty):
20733         (_NPN_RemoveProperty):
20734         (_NPN_HasProperty):
20735         (_NPN_HasMethod):
20736         (_NPN_Enumerate):
20737         * bridge/c/c_class.cpp:
20738         (KJS::Bindings::CClass::~CClass):
20739         (KJS::Bindings::CClass::methodsNamed):
20740         (KJS::Bindings::CClass::fieldNamed):
20741         * bridge/c/c_instance.cpp:
20742         (KJS::Bindings::CInstance::invokeMethod):
20743         (KJS::Bindings::CInstance::invokeDefaultMethod):
20744         (KJS::Bindings::CInstance::getPropertyNames):
20745         * bridge/c/c_runtime.cpp:
20746         (KJS::Bindings::CField::valueFromInstance):
20747         (KJS::Bindings::CField::setValueToInstance):
20748         * bridge/c/c_utility.cpp:
20749         (KJS::Bindings::convertValueToNPVariant):
20750         (KJS::Bindings::convertNPVariantToValue):
20751         * bridge/jni/jni_class.cpp:
20752         (JavaClass::JavaClass):
20753         (JavaClass::~JavaClass):
20754         * bridge/jni/jni_instance.cpp:
20755         (JavaInstance::stringValue):
20756         * bridge/jni/jni_jsobject.mm:
20757         (JavaJSObject::call):
20758         (JavaJSObject::eval):
20759         (JavaJSObject::getMember):
20760         (JavaJSObject::setMember):
20761         (JavaJSObject::removeMember):
20762         (JavaJSObject::getSlot):
20763         (JavaJSObject::setSlot):
20764         (JavaJSObject::toString):
20765         (JavaJSObject::convertValueToJObject):
20766         (JavaJSObject::convertJObjectToValue):
20767         * bridge/jni/jni_objc.mm:
20768         (KJS::Bindings::dispatchJNICall):
20769         * bridge/jni/jni_runtime.cpp:
20770         (appendClassName):
20771         (JavaMethod::signature):
20772         * bridge/jni/jni_runtime.h:
20773         (KJS::Bindings::JavaString::JavaString):
20774         (KJS::Bindings::JavaString::_commonInit):
20775         (KJS::Bindings::JavaString::~JavaString):
20776         (KJS::Bindings::JavaString::UTF8String):
20777         * bridge/jni/jni_utility.cpp:
20778         (KJS::Bindings::convertValueToJValue):
20779         * bridge/npruntime.cpp:
20780         (_NPN_GetStringIdentifier):
20781         * bridge/objc/objc_instance.mm:
20782         (ObjcInstance::moveGlobalExceptionToExecState):
20783         (ObjcInstance::invokeMethod):
20784         (ObjcInstance::invokeDefaultMethod):
20785         (ObjcInstance::setValueOfUndefinedField):
20786         (ObjcInstance::getValueOfUndefinedField):
20787         * bridge/objc/objc_runtime.mm:
20788         (ObjcField::valueFromInstance):
20789         (ObjcField::setValueToInstance):
20790         * bridge/objc/objc_utility.mm:
20791         (KJS::Bindings::convertValueToObjcValue):
20792         (KJS::Bindings::convertNSStringToString):
20793         (KJS::Bindings::convertObjcValueToValue):
20794         * bridge/qt/qt_instance.cpp:
20795         (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
20796         (KJS::Bindings::QtInstance::~QtInstance):
20797         (KJS::Bindings::QtInstance::getQtInstance):
20798         (KJS::Bindings::QtInstance::getRuntimeObject):
20799         * bridge/qt/qt_runtime.cpp:
20800         (KJS::Bindings::convertValueToQVariant):
20801         (KJS::Bindings::convertQVariantToValue):
20802         (KJS::Bindings::QtRuntimeMetaMethod::call):
20803         (KJS::Bindings::QtRuntimeConnectionMethod::call):
20804         (KJS::Bindings::QtConnectionObject::QtConnectionObject):
20805         (KJS::Bindings::QtConnectionObject::execute):
20806         * bridge/runtime.cpp:
20807         (KJS::Bindings::Instance::createRuntimeObject):
20808         * bridge/testbindings.cpp:
20809         (main):
20810         * bridge/testbindings.mm:
20811         (main):
20812         * bridge/testqtbindings.cpp:
20813         (main):
20814         * dom/Document.cpp:
20815         (WebCore::Document::~Document):
20816         * dom/Node.cpp:
20817         (WebCore::Node::setDocument):
20818         * history/CachedPage.cpp:
20819         (WebCore::CachedPage::CachedPage):
20820         (WebCore::CachedPage::restore):
20821         (WebCore::CachedPage::clear):
20822         * loader/FrameLoader.cpp:
20823         (WebCore::getString):
20824         * page/InspectorController.cpp:
20825         (WebCore::ConsoleMessage::ConsoleMessage):
20826         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
20827         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
20828         (WebCore::getResourceDocumentNode):
20829         (WebCore::search):
20830         (WebCore::inspectedWindow):
20831         (WebCore::wrapCallback):
20832         (WebCore::currentCallFrame):
20833         (WebCore::profiles):
20834         (WebCore::InspectorController::focusNode):
20835         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
20836         (WebCore::InspectorController::addDatabaseScriptResource):
20837         (WebCore::InspectorController::addScriptProfile):
20838         * page/JavaScriptCallFrame.cpp:
20839         (WebCore::JavaScriptCallFrame::evaluate):
20840         * page/JavaScriptProfileNode.cpp:
20841         (WebCore::getTotalTime):
20842         (WebCore::getSelfTime):
20843         (WebCore::getTotalPercent):
20844         (WebCore::getSelfPercent):
20845         (WebCore::getNumberOfCalls):
20846         (WebCore::getChildren):
20847         (WebCore::getVisible):
20848         * page/Page.cpp:
20849         * page/mac/FrameMac.mm:
20850         * plugins/PluginView.cpp:
20851         (WebCore::PluginView::start):
20852         (WebCore::getString):
20853         (WebCore::PluginView::performRequest):
20854         (WebCore::PluginView::bindingInstance):
20855         * plugins/gtk/PluginViewGtk.cpp:
20856         (WebCore::PluginView::paint):
20857         (WebCore::PluginView::handleKeyboardEvent):
20858         (WebCore::PluginView::handleMouseEvent):
20859         (WebCore::PluginView::setNPWindowRect):
20860         (WebCore::PluginView::stop):
20861         (WebCore::PluginView::init):
20862         * plugins/qt/PluginViewQt.cpp:
20863         (WebCore::PluginView::setNPWindowRect):
20864         (WebCore::PluginView::stop):
20865         (WebCore::PluginView::init):
20866         * plugins/win/PluginViewWin.cpp:
20867         (WebCore::PluginView::dispatchNPEvent):
20868         (WebCore::PluginView::handleKeyboardEvent):
20869         (WebCore::PluginView::handleMouseEvent):
20870         (WebCore::PluginView::setNPWindowRect):
20871         (WebCore::PluginView::stop):
20872         * xml/XMLHttpRequest.cpp:
20873         (WebCore::XMLHttpRequest::clearResponse):
20874         (WebCore::XMLHttpRequest::didFinishLoading):
20875         (WebCore::XMLHttpRequest::didReceiveData):
20877 2008-08-19  Eric Seidel  <eric@webkit.org>
20879         Reviewed by Geoff Garen.
20881         Add the beginnings of Skia graphics support to WebCore
20882         as I try to begin the long process of un-forking the changes
20883         needed to WebCore to make Andriod's WebCore build.
20885         I'll follow this up with actual *Skia.cpp files in a separate patch.
20887         * platform/graphics/AffineTransform.h:
20888         * platform/graphics/FloatPoint.h:
20889         * platform/graphics/FloatRect.h:
20890         * platform/graphics/Gradient.h:
20891         * platform/graphics/GraphicsContext.h:
20892         * platform/graphics/Image.h:
20893         * platform/graphics/ImageBuffer.h:
20894         * platform/graphics/ImageSource.h:
20895         * platform/graphics/IntPoint.h:
20896         * platform/graphics/IntRect.h:
20897         * platform/graphics/Path.h:
20898         * platform/graphics/Pattern.h:
20899         * svg/graphics/SVGPaintServerPattern.h:
20900         * svg/graphics/SVGPaintServerSolid.h:
20902 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
20904         Fix Windows build more.
20906         * WebCore.vcproj/WebCore.vcproj:
20908 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
20910         Fix Windows build.
20912         * page/AccessibilityRenderObject.cpp:
20913         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
20915 2008-08-19  Chris Fleizach  <cfleizach@apple.com>
20917         Reviewed by Beth Dakin.
20919         <rdar://problem/4003764> Expose tables as AXTables
20921         Tests: accessibility/table-attributes.html
20922                accessibility/table-cell-spans.html
20923                accessibility/table-cells.html
20924                accessibility/table-detection.html
20925                accessibility/table-sections.html
20926                accessibility/table-with-rules.html
20928         * WebCore.xcodeproj/project.pbxproj:
20929         * page/AXObjectCache.cpp:
20930         (WebCore::AXObjectCache::get):
20931         * page/AccessibilityObject.h:
20932         (WebCore::):
20933         (WebCore::AccessibilityObject::isDataTable):
20934         (WebCore::AccessibilityObject::isTableRow):
20935         (WebCore::AccessibilityObject::isTableColumn):
20936         (WebCore::AccessibilityObject::isTableCell):
20937         * page/AccessibilityRenderObject.cpp:
20938         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
20939         * page/AccessibilityTable.cpp: Added.
20940         (WebCore::AccessibilityTable::AccessibilityTable):
20941         (WebCore::AccessibilityTable::~AccessibilityTable):
20942         (WebCore::AccessibilityTable::create):
20943         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
20944         (WebCore::AccessibilityTable::clearChildren):
20945         (WebCore::AccessibilityTable::addChildren):
20946         (WebCore::AccessibilityTable::headerContainer):
20947         (WebCore::AccessibilityTable::columns):
20948         (WebCore::AccessibilityTable::rows):
20949         (WebCore::AccessibilityTable::rowHeaders):
20950         (WebCore::AccessibilityTable::columnHeaders):
20951         (WebCore::AccessibilityTable::cells):
20952         (WebCore::AccessibilityTable::columnCount):
20953         (WebCore::AccessibilityTable::rowCount):
20954         (WebCore::AccessibilityTable::cellForColumnAndRow):
20955         (WebCore::AccessibilityTable::roleValue):
20956         (WebCore::AccessibilityTable::accessibilityIsIgnored):
20957         (WebCore::AccessibilityTable::title):
20958         (WebCore::AccessibilityTable::isDataTable):
20959         * page/AccessibilityTable.h: Added.
20960         * page/AccessibilityTableCell.cpp: Added.
20961         (WebCore::AccessibilityTableCell::AccessibilityTableCell):
20962         (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
20963         (WebCore::AccessibilityTableCell::create):
20964         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
20965         (WebCore::AccessibilityTableCell::rowIndexRange):
20966         (WebCore::AccessibilityTableCell::columnIndexRange):
20967         * page/AccessibilityTableCell.h: Added.
20968         (WebCore::AccessibilityTableCell::isTableCell):
20969         (WebCore::AccessibilityTableCell::roleValue):
20970         * page/AccessibilityTableColumn.cpp: Added.
20971         (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
20972         (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
20973         (WebCore::AccessibilityTableColumn::create):
20974         (WebCore::AccessibilityTableColumn::setParentTable):
20975         (WebCore::AccessibilityTableColumn::elementRect):
20976         (WebCore::AccessibilityTableColumn::size):
20977         (WebCore::AccessibilityTableColumn::children):
20978         (WebCore::AccessibilityTableColumn::headerObject):
20979         (WebCore::AccessibilityTableColumn::headerObjectForSection):
20980         (WebCore::AccessibilityTableColumn::addChildren):
20981         * page/AccessibilityTableColumn.h: Added.
20982         (WebCore::AccessibilityTableColumn::parentObject):
20983         (WebCore::AccessibilityTableColumn::roleValue):
20984         (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
20985         (WebCore::AccessibilityTableColumn::isTableColumn):
20986         (WebCore::AccessibilityTableColumn::setColumnIndex):
20987         (WebCore::AccessibilityTableColumn::columnIndex):
20988         * page/AccessibilityTableHeaderContainer.cpp: Added.
20989         (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
20990         (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
20991         (WebCore::AccessibilityTableHeaderContainer::create):
20992         (WebCore::AccessibilityTableHeaderContainer::children):
20993         (WebCore::AccessibilityTableHeaderContainer::elementRect):
20994         (WebCore::AccessibilityTableHeaderContainer::size):
20995         (WebCore::AccessibilityTableHeaderContainer::addChildren):
20996         * page/AccessibilityTableHeaderContainer.h: Added.
20997         (WebCore::AccessibilityTableHeaderContainer::roleValue):
20998         (WebCore::AccessibilityTableHeaderContainer::setParentTable):
20999         (WebCore::AccessibilityTableHeaderContainer::parentObject):
21000         (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
21001         * page/AccessibilityTableRow.cpp: Added.
21002         (WebCore::AccessibilityTableRow::AccessibilityTableRow):
21003         (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
21004         (WebCore::AccessibilityTableRow::create):
21005         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
21006         (WebCore::AccessibilityTableRow::headerObject):
21007         * page/AccessibilityTableRow.h: Added.
21008         (WebCore::AccessibilityTableRow::isTableRow):
21009         (WebCore::AccessibilityTableRow::roleValue):
21010         (WebCore::AccessibilityTableRow::setRowIndex):
21011         (WebCore::AccessibilityTableRow::rowIndex):
21012         * page/mac/AccessibilityObjectWrapper.mm:
21013         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
21014         (RoleEntry::):
21015         (-[AccessibilityObjectWrapper roleDescription]):
21016         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
21017         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
21018         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
21020 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
21022         Build fix.
21023         Add buildfailed support to stop builds early (preventing inaccurate error messages).
21024         Add missing post-build rule to Release.
21026         * WebCore.vcproj/QTMovieWin.vcproj:
21028 2008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
21030         Added support for console.count in the inspector.
21032         Reviewed by Geoff Garen.
21034         * page/Console.cpp:
21035         (WebCore::Console::count):
21036         * page/Console.h:
21037         * page/Console.idl: Added console.count.
21038         * page/InspectorController.cpp:
21039         (WebCore::InspectorController::didCommitLoad): Clears m_counts.
21040         (WebCore::InspectorController::count): Updates the count number
21041         sing "title@source:line" as the identifier, and adds a
21042         message to the console.
21043         * page/InspectorController.h: Added m_counts.
21045 2008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
21047         Clear console.time timers when changing page.
21049         Reviewed by Geoff Garen.
21051         * page/InspectorController.cpp:
21052         (WebCore::InspectorController::didCommitLoad):
21054 2008-08-19  Eric Carlson  <eric.carlson@apple.com>
21056         Reviewed by Adele.
21058         Fix for <rdar://problem/6154695> Full-page movies flicker while playing
21059         https://bugs.webkit.org/show_bug.cgi?id=20404
21061         Ignore setVisible() when visibility doesn't change.
21063         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
21064         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
21065         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
21066         (WebCore::MediaPlayerPrivate::setVisible):
21068 2008-08-19  Timothy Hatcher  <timothy@apple.com>
21070         Fixes a bug in the Profile view where switching sort order, then
21071         switching from heavy to tree mode would show the tree in the
21072         previous sort order.
21074         https://bugs.webkit.org/show_bug.cgi?id=20441
21076         Reviewed by Kevin McCullough.
21078         * page/inspector/ProfileView.js:
21079         (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
21080         on the next profile before assigning it to this.profile.
21081         (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
21082         (WebInspector.ProfileView.prototype._sortProfile): Moves from
21083         _sortData and takes a profile argument. If the profile passed in
21084         matches the this.profile, then call refresh.
21086 2008-08-18  Timothy Hatcher  <timothy@apple.com>
21088         Changed the default sort order now that heavy view is the default.
21089         Also fixes a bug where the heavy profile was not sorted at first.
21091         https://bugs.webkit.org/show_bug.cgi?id=20440
21093         Reviewed by Kevin McCullough.
21095         * page/inspector/ProfileView.js:
21096         (WebInspector.ProfileView): Changed the default sort column. Also assign
21097         heavyProfile to profile, so the sortSelfTimeDescending call happens
21098         on the heavy profile before assigning to this.profile.
21100 2008-08-18  Timothy Hatcher  <timothy@apple.com>
21102         Add support for editing DOM properties and scope variables by double
21103         clicking a property to enter edit mode.
21105         https://bugs.webkit.org/show_bug.cgi?id=20415
21107         Reviewed by Kevin McCullough.
21109         * page/inspector/ObjectPropertiesSection.js:
21110         (WebInspector.ObjectPropertiesSection): Set editable to true by default.
21111         (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
21112         Factored out code into update, and calls update.
21113         (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
21114         Call removeChildren since this method can be called multiple times now.
21115         (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
21116         gets made later in onattach.
21117         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
21118         if shouldRefreshChildren is true. Call removeChildren since this method can be
21119         called multiple times now.
21120         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
21121         (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
21122         (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
21123         this element (code moved from the constructor.)
21124         (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
21125         sibling property elements.
21126         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
21127         WebInspector.startEditing after rememebring some context.
21128         (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
21129         for the list element, since it might have scrolled during editing.
21130         (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
21131         then restore the state from the context. Then call update to restore the title.
21132         (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
21133         if the user input and the previous input are the same. Call editingEnded, then call applyExpression
21134         to commit the user input.
21135         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
21136         and stores the result on the object for the property name of this element. If the expression is
21137         empty, delete the property and remove the tree element.
21138         * page/inspector/ScopeChainSidebarPane.js:
21139         (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
21140         property on each ObjectPropertiesSection.
21141         (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
21142         since it is now implemented.
21143         * page/inspector/ScriptsPanel.js:
21144         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
21145         that defaults to true if omitted. It specifies whether to call update on the scope chain.
21146         * page/inspector/inspector.css: New styles.
21147         * page/inspector/treeoutline.js:
21148         (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
21149         change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
21151 2008-08-18  Timothy Hatcher  <timothy@apple.com>
21153         Surround the expression to be evaluated in parenthesis so the
21154         result of the eval is the result of the whole expression not
21155         the last potential sub-expression. So evaluating {x: 123}
21156         will show the Object not 123.
21158         https://bugs.webkit.org/show_bug.cgi?id=20428
21160         Reviewed by Kevin McCullough.
21162         * page/inspector/Console.js:
21163         (Console.prototype._evalInInspectedWindow): Add parenthesis
21164         around the expression. And add couple comments.
21166 2008-08-19 Kevin McCullough <kmccullough@apple.com>
21168         Reviewed by Geoff.
21170         -Implement a page() function to extract a common code pattern.
21172         * WebCore.xcodeproj/project.pbxproj:
21173         * page/Console.cpp:
21174         (WebCore::Console::addMessage):
21175         (WebCore::Console::error):
21176         (WebCore::Console::info):
21177         (WebCore::Console::log):
21178         (WebCore::Console::dir):
21179         (WebCore::Console::assertCondition):
21180         (WebCore::Console::time):
21181         (WebCore::Console::timeEnd):
21182         (WebCore::Console::group):
21183         (WebCore::Console::groupEnd):
21184         (WebCore::Console::finishedProfiling):
21185         (WebCore::Console::warn):
21186         (WebCore::Console::framePage):
21187         * page/Console.h:
21189 2008-08-12  Darin Adler  <darin@apple.com>
21191         Reviewed by Geoff.
21193         - eliminate JSValue::type()
21195         * bridge/c/c_instance.cpp:
21196         (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
21197         argument instead of JSType argument. Removed unneeded code to handle
21198         boolean, since that's never passed.
21199         * bridge/c/c_instance.h: Ditto.
21201         * bridge/c/c_utility.cpp:
21202         (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
21203         instead of JSValue::type(). Removed unneeded code to handle
21204         "unspecified".
21206         * bridge/jni/jni_instance.cpp:
21207         (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
21208         instead of JSType argument. Removed unneeded code to handle boolean.
21209         * bridge/jni/jni_instance.h: Ditto.
21211         * bridge/jni/jni_jsobject.mm:
21212         (JavaJSObject::convertValueToJObject): Use JSValue::is functions
21213         instead of JSValue::type().
21215         * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
21216         instead of JSType argument. Removed unused argument.
21217         * bridge/objc/objc_instance.mm:
21218         (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
21219         (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
21220         instead of JSType argument. Removed unneeded code to handle boolean
21221         and another dead code path for unknown types.
21223         * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
21224         instead of JSType argument. Removed override of type() that caused
21225         the fallback object to return "UndefinedType" when there is no
21226         invokeUndefinedMethodFromWebScript:withArguments: method defined.
21227         That didn't accomplish much, since most checks for undefined don't
21228         ever call type().
21229         * bridge/objc/objc_runtime.mm:
21230         (ObjcFallbackObjectImp::defaultValue): Ditto.
21232         * bridge/qt/qt_instance.cpp:
21233         (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
21234         argument instead of JSType argument. Removed unneeded code to handle
21235         boolean.
21236         * bridge/qt/qt_instance.h: Ditto.
21238         * bridge/runtime.h:
21239         (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
21240         unsed argument.
21241         * bridge/runtime_object.cpp:
21242         (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
21243         argument instead of JSType argument.
21244         * bridge/runtime_object.h: Ditto.
21246 2008-08-18  Maxime Britto  <britto@apple.com>
21248         Reviewed by Adele.
21250         <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
21251         Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
21252         We shouldn't be able to create another window while we are in pan scrolling.
21253         Other browsers behaviors :
21254           FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
21255           IE7 : Keys are not disabled but stops immediately the panning.
21256         This patch matches FF3 behavior by disabling every key but the esc key.
21258         * page/EventHandler.cpp:
21259         (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
21260         (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
21262 2008-08-18  Dan Bernstein  <mitz@apple.com>
21264         Reviewed by Dave Hyatt.
21266         - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
21268         Test: fast/replaced/max-width-percent.html
21270         Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
21271         When false, max-width is not factored into the
21272         calculation.
21273         Changed RenderReplaced and subclasses' calcPrefWidths() to call
21274         calcReplacedWidth(false) and then apply max-width only if it has a
21275         fixed, positive value.
21277         * rendering/RenderBox.cpp:
21278         (WebCore::RenderBox::calcReplacedWidth):
21279         * rendering/RenderBox.h:
21280         * rendering/RenderImage.cpp:
21281         (WebCore::RenderImage::calcReplacedWidth):
21282         (WebCore::RenderImage::calcPrefWidths): 
21283         * rendering/RenderImage.h:
21284         * rendering/RenderReplaced.cpp:
21285         (WebCore::RenderReplaced::calcPrefWidths):
21286         * rendering/RenderSVGRoot.cpp:
21287         (WebCore::RenderSVGRoot::calcPrefWidths):
21288         * rendering/RenderVideo.cpp:
21289         (WebCore::RenderVideo::calcReplacedWidth):
21290         (WebCore::RenderVideo::calcPrefWidths):
21291         * rendering/RenderVideo.h:
21293 2008-08-18  Daniel Macks  <dmacks@netspace.org>
21295         Reviewed by Mark Rowe.
21297         https://bugs.webkit.org/show_bug.cgi?id=20410
21298         More portable/self-documenting replacement for SIZE_MAX.
21300         * platform/network/curl/FormDataStreamCurl.cpp:
21301         (WebCore::FormDataStream::read):
21303 2008-08-18  Simon Fraser  <simon.fraser@apple.com>
21305         Reviewed by Dave Hyatt
21307         Need to make sure we have an Animation in the AnimationList
21308         before setting the initial value.
21309         https://bugs.webkit.org/show_bug.cgi?id=20408
21311         Test: fast/css/transition_shorthand_parsing.html
21313         * css/CSSStyleSelector.cpp:
21315 2008-08-18  Kevin McCullough  <kmccullough@apple.com>
21317         Reviewed by Tim.
21319         <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
21320         is another profile.
21322         * page/inspector/ProfilesPanel.js:
21324 2008-08-18  Kevin McCullough  <kmccullough@apple.com>
21326         Reviewed by Geoff.
21328         <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
21329         all console messages
21331         * page/inspector/Console.js:
21333 2008-08-18  Dirk Schulze  <vbs85@gmx.de>
21335         Reviewed by Eric Seidel.
21337         Fixed Canvas for Cairo. Stroke and fill colors didn't work after
21338         the canvas clean up.
21340         https://bugs.webkit.org/show_bug.cgi?id=20405
21342         * html/CanvasRenderingContext2D.cpp:
21343         (WebCore::CanvasRenderingContext2D::fill):
21344         (WebCore::CanvasRenderingContext2D::stroke):
21345         (WebCore::CanvasRenderingContext2D::fillRect):
21347 2008-08-17  Timothy Hatcher  <timothy@apple.com>
21349         Complete in scope variables in the Console when paused.
21351         https://bugs.webkit.org/show_bug.cgi?id=19115
21353         Reviewed by Geoffrey Garen.
21355         * page/inspector/Console.js:
21356         (WebInspector.Console.prototype.completions): If the expressionString
21357         is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
21358         to get an object that declares all the in scope variables. That way
21359         "top level" expressions are completed.
21360         * page/inspector/ScriptsPanel.js:
21361         (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
21362         Return an object that has all the variables that are in scope for the
21363         selected call frame. The value of each property is just true.
21364         The return object is useful for quick lookups or auto completion.
21366 2008-08-17  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
21368         Not reviewed.
21370         Speculative Qt build fix.
21372         * bridge/qt/qt_runtime.cpp:
21373         (KJS::Bindings::convertValueToQVariant):
21374         (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
21376 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
21378         Reviewed by Cameron Zwarich.
21379         
21380         Updated project files to XCode 3.1.
21382         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
21384 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
21386         Reviewed by Cameron Zwarich.
21388         Made room for a free word in JSCell.
21389         
21390         Changed JSDOMWindowBase to store its auxiliary data in a subclass of
21391         JSGlobalData, so the two could share a pointer.
21392         
21393         Added a bunch of ASSERTs, to help catch over-sized objects.
21395 2008-08-15  Mark Rowe  <mrowe@apple.com>
21397         Reviewed by Dan Bernstein.
21399         Disable dead code stripping in debug builds.
21401         * Configurations/Base.xcconfig:
21402         * WebCore.xcodeproj/project.pbxproj:
21404 2008-08-15  Mark Rowe  <mrowe@apple.com>
21406         Rubber-stamped by Geoff Garen.
21408         <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
21410         * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
21411         between the Debug configuration and debug Production variant.
21412         * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
21414 2008-08-15  Antti Koivisto  <antti@apple.com>
21416         Reviewed by Anders.
21418         Don't start preloading body resources before the head is complete. This prevents
21419         body preloads from slowing down initial display when there is limited amount
21420         of bandwidth available.
21421         
21422         Works by queuing up found body preloads to DocLoader and only issuing them
21423         after document has rendering.
21424         
21425         With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
21426         without affecting complete load time.
21428         * html/PreloadScanner.cpp:
21429         (WebCore::PreloadScanner::PreloadScanner):
21430         (WebCore::PreloadScanner::scanningBody):
21431         (WebCore::PreloadScanner::emitTag):
21432         (WebCore::PreloadScanner::emitCSSRule):
21433         * html/PreloadScanner.h:
21434         * loader/DocLoader.cpp:
21435         (WebCore::DocLoader::preload):
21436         (WebCore::DocLoader::checkForPendingPreloads):
21437         (WebCore::DocLoader::requestPreload):
21438         * loader/DocLoader.h:
21439         * loader/loader.cpp:
21440         (WebCore::Loader::Host::didFinishLoading):
21441         (WebCore::Loader::Host::didFail):
21443 2008-08-15  Ada Chan  <adachan@apple.com>
21445         Use item's computed style if the render style is 0 before falling back to the <select>'s style.
21446         This way style set on an <hr> within a <select> will be honored.
21448         Reviewed by Dave Hyatt and Dan Bernstein.
21450         * rendering/RenderMenuList.cpp:
21451         (WebCore::RenderMenuList::itemStyle):
21453 2008-08-15  Antti Koivisto  <antti@apple.com>
21455         Reviewed by Oliver.
21457         Some loader performance tweaks:
21458         - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
21459           Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue 
21460           to not delay rendering.
21461         - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
21462           can take long time when latency is high so it is good to get started early.
21463         - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
21464           load queues. Issue remaining loads to the network layer.
21466         * loader/loader.cpp:
21467         (WebCore::Loader::determinePriority):
21468         (WebCore::Loader::load):
21469         (WebCore::Loader::Host::servePendingRequests):
21470         * loader/loader.h:
21472 2008-08-15  Timothy Hatcher  <timothy@apple.com>
21474         Detach the script debugger when the Web Inspector's window closes.
21475         This has always been the intended design, but never fully implemented.
21477         https://bugs.webkit.org/show_bug.cgi?id=20402
21479         Reviewed by Adam Roben.
21481         * page/InspectorController.cpp:
21482         (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
21483         if the window is no longer visible.
21485 2008-08-15  HÃ¥vard Wall  <hwall@trolltech.com>
21487         Reviewed by Simon.
21489         Fixes:    compile with QT_NO_CONTEXTMENU
21491         * platform/qt/PlatformMouseEventQt.cpp:
21492         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
21493         * platform/qt/PlatformScrollBarQt.cpp:
21494         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
21495         (WebCore::PlatformScrollbar::handleContextMenuEvent):
21497 2008-08-15  HÃ¥vard Wall  <hwall@trolltech.com>
21499         Reviewed by Simon.
21501         Fixes: compile with QT_NO_WHEELEVENT
21503         * platform/qt/WheelEventQt.cpp:
21504         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
21506 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
21508         Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
21510         https://bugs.webkit.org/show_bug.cgi?id=20210
21512         Reviewed by Tim Hatcher.
21514         * page/Console.cpp:
21515         (WebCore::Console::group):
21516         (WebCore::Console::groupEnd):
21517         * page/Console.h:
21518         (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
21519         * page/InspectorController.cpp:
21520         (WebCore::InspectorController::startGroup): Increments group level by
21521         one and adds console message with StartGroupMessaageLevel.
21522         (WebCore::InspectorController::endGroup): Decrements group level by one
21523         and adds console message with EndGroupMessaageLevel.
21524         * page/InspectorController.h:
21525         * page/inspector/Console.js:
21526         (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
21527         if the message is StartGroupMessaageLevel.
21528         (WebInspector.ConsoleMessage.prototype.toMessageElement):
21529         (WebInspector.ConsoleGroup.prototype.addMessage):
21530         * page/inspector/inspector.js:
21532 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
21534         Adds support for console.dir to the Inspector
21536         https://bugs.webkit.org/show_bug.cgi?id=19155
21538         Reviewed by Tim Hatcher.
21540         * bindings/js/JSConsoleCustom.cpp:
21541         (WebCore::JSConsole::dir):
21542         * page/Console.cpp:
21543         (WebCore::Console::dir):
21544         * page/Console.h: Added ObjectMessageLevel.
21545         * page/Console.idl: Added console.dir.
21546         * page/inspector/Console.js:
21547         (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
21548         ObjectPropertiesSection if the MessageLevel is Object.
21549         * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
21550         used on primitive data types.
21551         * page/inspector/inspector.css:
21553 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
21555         Adds support for clear() in the Inspector console.
21557         https://bugs.webkit.org/show_bug.cgi?id=19873
21559         Reviewed by Tim Hatcher.
21561         * page/inspector/Console.js:
21563 2008-08-15  Anthony Ricaud  <rik24d@gmail.com>
21565         Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
21567         Platform distinction and modifier key matching adjusted
21568         by Daniel Jalkut <jalkut@red-sweater.com>
21570         Bug 16313: text search (find) keybindings should work in the Web Inspector
21571         https://bugs.webkit.org/show_bug.cgi?id=16313
21573         Reviewed by Tim Hatcher.
21575         * page/inspector/inspector.js: Added a case for the F key
21577 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
21579         Fix for error when the string doesn't contain a webkit-profile link.
21581         https://bugs.webkit.org/show_bug.cgi?id=20399
21583         Reviewed by Tim Hatcher.
21585         * page/inspector/inspector.js:
21587 2008-08-15  Timothy Hatcher  <timothy@apple.com>
21589         Fixes two bugs where JavaScript could be executed from the page
21590         while the debugger is paused.
21592         The first issue was JSLazyEventListener not checking the paused
21593         state before parsing the code.
21595         The second issue was with the PageGroup version of
21596         JavaScriptDebugServer::setJavaScriptPaused always passing false
21597         to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
21598         and not the paused argument.
21600         https://bugs.webkit.org/show_bug.cgi?id=20284
21602         Reviewed by Adam Roben.
21604         * bindings/js/JSEventListener.cpp:
21605         (WebCore::JSLazyEventListener::parseCode): Check the paused
21606         state of the ScriptController. Return early if paused.
21607         * manual-tests/inspector/debugger-execution-while-paused.html: Added.
21608         * page/JavaScriptDebugServer.cpp:
21609         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
21610         Pass the paused argument to the Page version of setJavaScriptPaused.
21612 2008-08-15  Alexey Proskuryakov  <ap@webkit.org>
21614         Reviewed by Geoff Garen.
21616         JSStringRef is created context-free, but can get linked to one via an identifier table,
21617         breaking an implicit API contract.
21619         * page/InspectorController.cpp:
21620         (WebCore::jsStringRef):
21621         (WebCore::InspectorController::didParseSource):
21622         (WebCore::InspectorController::failedToParseSource):
21623         * page/JavaScriptProfile.cpp:
21624         (WebCore::getTitleCallback):
21625         Updated for JavaScriptCore changes.
21627 2008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
21629         wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
21630         an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
21632         * platform/graphics/AffineTransform.h:
21634 2008-08-14  Eric Carlson  <eric.carlson@apple.com>
21636         Reviewed by Adele.
21638         Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
21639         <video> elements on Windows never becomes visible when a page is restored from the cache
21641         Always pass "set" calls down to MediaPlayerPrivate instead of only when the
21642         value is different from the cached value. Let the implementation decide when
21643         to avoid work because nothing has changed.
21645         * platform/graphics/MediaPlayer.cpp:
21646         (WebCore::MediaPlayer::setVolume):
21647         (WebCore::MediaPlayer::setRate):
21648         (WebCore::MediaPlayer::setRect):
21649         (WebCore::MediaPlayer::setVisible):
21651 2008-08-14  Keishi Hattori  <casey.hattori@gmail.com>
21653         Make Firebug command line API respect predefined variables.
21655         https://bugs.webkit.org/show_bug.cgi?id=20385
21657         Reviewed by Tim Hatcher.
21659         * page/inspector/Console.js:
21661 2008-08-14  Sam Weinig  <sam@webkit.org>
21663         Reviewed by Geoffrey Garen and Timothy Hatcher.
21665         Allow programatically setting the HTMLTokenizers time delay and chunk size
21666         which are used for determining how aggressively we yield.
21668         * WebCore.base.exp:
21669         * html/HTMLTokenizer.cpp:
21670         (WebCore::HTMLTokenizer::begin):
21671         (WebCore::HTMLTokenizer::continueProcessing):
21672         * html/HTMLTokenizer.h:
21673         * page/Page.cpp:
21674         (WebCore::Page::Page):
21675         (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
21676         (WebCore::Page::setCustomHTMLTokenizerChunkSize):
21677         * page/Page.h:
21678         (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
21679         (WebCore::Page::customHTMLTokenizerTimeDelay):
21680         (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
21681         (WebCore::Page::customHTMLTokenizerChunkSize):
21683 2008-08-14  Eric Seidel  <eric@webkit.org>
21685         Reviewed by Beth.
21687         Move us one step closer to cross-platform svg/graphics code
21689         * WebCore.xcodeproj/project.pbxproj:
21690         * html/CanvasStyle.cpp:
21691         * platform/graphics/Color.cpp:
21692         (WebCore::colorWithOverrideAlpha):
21693         * platform/graphics/Color.h:
21694         * svg/graphics/cg/CgSupport.cpp:
21695         (WebCore::applyStrokeStyleToContext):
21696         (WebCore::strokeBoundingBox):
21697         * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
21698         (WebCore::SVGPaintServerSolid::setup):
21700 2008-08-14  Eric Seidel  <eric@webkit.org>
21702         Reviewed by Alexey.
21704         Remove un-need includes from HTMLCanvas and use the
21705         Gradient platform abstraction in one place in CanvasStyle
21707         * html/CanvasRenderingContext2D.cpp:
21708         (WebCore::CanvasRenderingContext2D::fillRect):
21709         * html/CanvasStyle.cpp:
21710         * html/HTMLCanvasElement.cpp:
21712 2008-08-14  Eric Seidel  <eric@webkit.org>
21714         Reviewed by Alexey.
21716         Clean up GlyphBuffer.h, removing more #ifdefs
21718         * platform/graphics/GlyphBuffer.h:
21719         (WebCore::GlyphBuffer::glyphAt):
21720         (WebCore::GlyphBuffer::advanceAt):
21721         (WebCore::GlyphBuffer::add):
21723 2008-08-14  Eric Seidel  <eric@webkit.org>
21725         Reviewed by Sam.
21727         Clean up AffineTransform.h, removing #ifdefs
21729         * platform/graphics/AffineTransform.h:
21730         * platform/graphics/cairo/AffineTransformCairo.cpp:
21731         * platform/graphics/cg/AffineTransformCG.cpp:
21732         * platform/graphics/qt/AffineTransformQt.cpp:
21733         * platform/graphics/wx/AffineTransformWx.cpp:
21735 2008-08-14  Dan Bernstein  <mitz@apple.com>
21737         - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
21739         * platform/graphics/cairo/ImageSourceCairo.cpp:
21740         (WebCore::ImageSource::frameSizeAtIndex):
21741         * platform/graphics/qt/ImageSourceQt.cpp:
21742         (WebCore::ImageSource::frameSizeAtIndex):
21743         * platform/graphics/wx/ImageSourceWx.cpp:
21744         (WebCore::ImageSource::frameSizeAtIndex):
21746 2008-08-14  Dan Bernstein  <mitz@apple.com>
21748         Reviewed by Brady Eidson.
21750         - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
21752         * platform/graphics/BitmapImage.cpp: 
21753         (WebCore::BitmapImage::BitmapImage): Added initialization of
21754         m_hasUniformFrameSize.
21755         (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
21756         cached frame for use in decoded size computation and for setting
21757         m_hasUniformFrameSize.
21758         (WebCore::BitmapImage::currentFrameSize): Added.
21759         (WebCore::BitmapImage::dataChanged): Added code to reset
21760         m_hasUniformFrameSize.
21761         * platform/graphics/BitmapImage.h: Added currentFrameSize() and
21762         m_hasUniformFrameSize.
21763         * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
21764         * platform/graphics/cg/ImageCG.cpp:
21765         (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
21766         fixes the bug, which resulted from assuming that the frame being drawn 
21767         was the same size as the first frame.
21768         * platform/graphics/cg/ImageSourceCG.cpp:
21769         (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
21770         changed to get the size of the frame at the given index.
21771         (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
21773 2008-08-13  Simon Fraser  <simon.fraser@apple.com>
21775         Reviewed by Eric Seidel
21777         Fix @font-face inside @media rule crash.
21778         https://bugs.webkit.org/show_bug.cgi?id=20367
21780         Test: fast/css/font-face-in-media-rule.html
21782         * css/CSSStyleSelector.cpp:
21783         (WebCore::CSSRuleSet::addRulesFromSheet):
21785 2008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
21787         wx build fixes after recent changes to Canvas and Image classes.
21789         * platform/graphics/Pattern.h:
21790         * platform/graphics/wx/GradientWx.cpp:
21791         (WebCore::Gradient::fill):
21792         * platform/graphics/wx/GraphicsContextWx.cpp:
21793         (WebCore::GraphicsContext::applyFillPattern):
21794         (WebCore::GraphicsContext::applyStrokePattern):
21795         * platform/graphics/wx/ImageBufferWx.cpp:
21796         (WebCore::ImageBuffer::image):
21797         * platform/graphics/wx/ImageWx.cpp:
21798         (WebCore::Image::loadPlatformResource):
21800 2008-08-14  Maxime Britto  <britto@apple.com>
21802         Reviewed by Sam Weinig.
21804         rdar://6102511
21805         When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
21806         IE and FF are both preventing the keyboard event to interact with the page while scrolling.
21807         Some differences exist between them concerning the kind of key which is pressed :
21808         IE7 : every key leads to a stop of the panning
21809         FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
21810         For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
21812         * page/EventHandler.cpp:
21813         (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
21815 2008-08-14  Christian Dywan  <christian@twotoasts.de>
21817         Gtk+/ Cairo build fix, patch by Dirk Schulze.
21819         * html/CanvasStyle.cpp:
21820         * platform/graphics/cairo/PatternCairo.cpp:
21821         (WebCore::Pattern::createPlatformPattern):
21822         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
21824 2008-08-14  Kevin McCullough  <kmccullough@apple.com>
21826         Reviewed by Tim.
21828         <rdar://problem/6115819> Notify of profile in console
21830         * page/InspectorController.cpp:
21831         (WebCore::InspectorController::addProfile):
21832         (WebCore::InspectorController::addProfileMessageToConsole): Called by
21833         addProfile this is the function that adds a message to the console that
21834         a profile finished.
21835         * page/InspectorController.h:
21836         * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
21837         the console log to the profile in the web inspector.
21838         (WebCore::getUniqueIdCallback):
21839         (WebCore::ProfileClass):
21840         * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
21841         Id to bring up the requested profile.  Also select and reveal the
21842         profile in the profile panel.  And created displayTitleForProfileLink()
21843         which formats a title taking into account if it's user initiated or if
21844         there are multiples. Lasty, I put the user initiated profile in a
21845         variable.
21846         * page/inspector/inspector.js: Make the profile title be a clickable
21847         link that will take the user to the identified profile.  Also expose
21848         the count of user initiated profiles so they can be displayed in the
21849         console with the correct count.
21851 2008-08-14  Timothy Hatcher  <timothy@apple.com>
21853         Avoid formating ConsoleMessages twice unless the message will be
21854         displayed in bubbles of a SourceFrame.
21856         Reviewed by Kevin McCullough.
21858         * page/inspector/Console.js:
21859         (WebInspector.ConsoleMessage): Only format the plain text message
21860         if the URL and line are valid and the level is error or warning.
21861         (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
21862         Helper to test for error or warning level.
21863         * page/inspector/SourceFrame.js:
21864         (WebInspector.SourceFrame.prototype.addMessage): Don't add the
21865         message if there is no message or valid line or if the msg
21866         isn't an error or warning.
21868 2008-08-14  Jan Michael Alonzo  <jmalonzo@webkit.org>
21870         partial Gtk build fix, not reviewed
21872         * platform/graphics/cairo/PatternCairo.cpp:
21874 2008-08-13  Sam Weinig  <sam@webkit.org>
21876         Reviewed by Anders Carlsson.
21878         Fix style issue.
21880         * html/HTMLMediaElement.cpp:
21881         (WebCore::HTMLMediaElement::pickMedia):
21883 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
21885         Build fix for Cairo, not reviewed. (exposed by gtk build slave)
21886         Continue Erics build fixes, after the Image cleanup.
21888         * platform/graphics/cairo/ImageBufferCairo.cpp:
21889         (WebCore::ImageBuffer::image):
21891 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
21893         Build fix for Qt, not reviewed.
21894         Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
21896         * dom/XMLTokenizer.cpp:
21897         (WebCore::eventuallyMarkAsParserCreated): Was erre
21899 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
21901         Build fix, not reviewed.
21902         Add ScriptElement.cpp to Gtk build.
21904         * GNUmakefile.am:
21906 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
21908         Reviewed by Eric.
21910         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
21912         Refactor HTMLScriptElement's code into a common base class: ScriptElement.
21913         SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
21915         This resolves code duplications and allows us to completly replace the old
21916         SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
21918         As ScriptElement, doesn't actually inherit from Element, we may want to rename
21919         it, though StyleElement uses the same naming convention, so I left it as is for now.
21920         Eventually we'll rename both files in future.
21922         No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
21924         * WebCore.pro: Add new ScriptElement.cpp to build.
21925         * WebCore.vcproj/WebCore.vcproj: Ditto.
21926         * WebCore.xcodeproj/project.pbxproj: Ditto.
21927         * WebCoreSources.bkl: Dutto.
21928         * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
21929         (WebCore::ScriptElement::insertedIntoDocument):
21930         (WebCore::ScriptElement::removedFromDocument):
21931         (WebCore::ScriptElement::childrenChanged):
21932         (WebCore::ScriptElement::finishParsingChildren):
21933         (WebCore::ScriptElement::handleSourceAttribute):
21934         (WebCore::isSupportedJavaScriptLanguage):
21935         (WebCore::ScriptElementData::ScriptElementData):
21936         (WebCore::ScriptElementData::~ScriptElementData):
21937         (WebCore::ScriptElementData::requestScript):
21938         (WebCore::ScriptElementData::evaluateScript):
21939         (WebCore::ScriptElementData::stopLoadRequest):
21940         (WebCore::ScriptElementData::notifyFinished):
21941         (WebCore::ScriptElementData::ignoresLoadRequest):
21942         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
21943         (WebCore::ScriptElementData::scriptCharset):
21944         (WebCore::ScriptElementData::scriptContent):
21945         * dom/ScriptElement.h: Added.
21946         (WebCore::ScriptElement::ScriptElement):
21947         (WebCore::ScriptElement::~ScriptElement):
21948         (WebCore::ScriptElementData::element):
21949         (WebCore::ScriptElementData::createdByParser):
21950         (WebCore::ScriptElementData::setCreatedByParser):
21951         * dom/XMLTokenizer.cpp:
21952         (WebCore::isScriptElement):
21953         (WebCore::castToScriptElement):
21954         (WebCore::eventuallyMarkAsParserCreated):
21955         (WebCore::XMLTokenizer::startElementNs):
21956         (WebCore::XMLTokenizer::endElementNs):
21957         (WebCore::createXHTMLParserErrorHeader):
21958         (WebCore::XMLTokenizer::insertErrorMessageBlock):
21959         * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
21960         (WebCore::HTMLScriptElement::HTMLScriptElement):
21961         (WebCore::HTMLScriptElement::~HTMLScriptElement):
21962         (WebCore::HTMLScriptElement::isURLAttribute):
21963         (WebCore::HTMLScriptElement::setCreatedByParser):
21964         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
21965         (WebCore::HTMLScriptElement::childrenChanged):
21966         (WebCore::HTMLScriptElement::parseMappedAttribute):
21967         (WebCore::HTMLScriptElement::finishParsingChildren):
21968         (WebCore::HTMLScriptElement::insertedIntoDocument):
21969         (WebCore::HTMLScriptElement::removedFromDocument):
21970         (WebCore::HTMLScriptElement::text):
21971         (WebCore::HTMLScriptElement::setText):
21972         (WebCore::HTMLScriptElement::setHtmlFor):
21973         (WebCore::HTMLScriptElement::setEvent):
21974         (WebCore::HTMLScriptElement::charset):
21975         (WebCore::HTMLScriptElement::src):
21976         (WebCore::HTMLScriptElement::type):
21977         (WebCore::HTMLScriptElement::scriptCharset):
21978         (WebCore::HTMLScriptElement::scriptContent):
21979         (WebCore::HTMLScriptElement::sourceAttributeValue):
21980         (WebCore::HTMLScriptElement::charsetAttributeValue):
21981         (WebCore::HTMLScriptElement::typeAttributeValue):
21982         (WebCore::HTMLScriptElement::languageAttributeValue):
21983         (WebCore::HTMLScriptElement::dispatchLoadEvent):
21984         (WebCore::HTMLScriptElement::dispatchErrorEvent):
21985         * html/HTMLScriptElement.h:
21986         * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
21987         * svg/SVGScriptElement.cpp:
21988         (WebCore::SVGScriptElement::SVGScriptElement):
21989         (WebCore::SVGScriptElement::scriptContent):
21990         (WebCore::SVGScriptElement::sourceAttributeValue):
21991         (WebCore::SVGScriptElement::charsetAttributeValue):
21992         (WebCore::SVGScriptElement::typeAttributeValue):
21993         (WebCore::SVGScriptElement::languageAttributeValue):
21994         (WebCore::SVGScriptElement::dispatchLoadEvent):
21995         (WebCore::SVGScriptElement::dispatchErrorEvent):
21996         * svg/SVGScriptElement.h:
21997         (WebCore::SVGScriptElement::setCreatedByParser):
21999 2008-08-13  Eric Seidel  <eric@webkit.org>
22001         Attempt to fix the Gtk build, no review.
22003         I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
22005         * platform/graphics/GraphicsContext.h:
22006         * platform/graphics/cairo/GraphicsContextCairo.cpp:
22007         * platform/graphics/qt/GradientQt.cpp:
22008         * platform/graphics/qt/GraphicsContextQt.cpp:
22009         * platform/gtk/RenderThemeGtk.cpp:
22010         (WebCore::paintMozWidget):
22012 2008-08-13  Eric Seidel  <eric@webkit.org>
22014         Yet another attempt to fix the Qt build, no review.
22016         * platform/graphics/qt/GradientQt.cpp:
22017         * platform/graphics/qt/GraphicsContextQt.cpp:
22018         (WebCore::GraphicsContext::applyStrokePattern):
22019         (WebCore::GraphicsContext::applyFillPattern):
22021 2008-08-13  Eric Seidel  <eric@webkit.org>
22023         Attempt to fix the Windows build, no review.
22025         * platform/win/CursorWin.cpp:
22026         (WebCore::loadCursorByName):
22027         * platform/win/ScrollViewWin.cpp:
22028         (WebCore::ScrollView::paint):
22030 2008-08-13  Eric Seidel  <eric@webkit.org>
22032         Attempt to fix the Windows build, no review.
22034         * platform/win/CursorWin.cpp:
22035         (WebCore::loadCursorByName):
22036         * platform/win/ScrollViewWin.cpp:
22037         (WebCore::ScrollView::paint):
22039 2008-08-13  Eric Seidel  <eric@webkit.org>
22041         Attempt to fix the Qt build, no review.
22043         * platform/graphics/qt/ImageBufferQt.cpp:
22044         (WebCore::ImageBuffer::image):
22046 2008-08-13  Eric Seidel  <eric@webkit.org>
22048         Attempt to fix the Windows build, no review.
22050         * platform/graphics/win/ImageWin.cpp:
22051         (WebCore::Image::loadPlatformResource):
22052         * plugins/win/PluginViewWin.cpp:
22053         (WebCore::PluginView::paintMissingPluginIcon):
22055 2008-08-13  Eric Seidel  <eric@webkit.org>
22057         Another attempt to fix the Qt build, no review.
22059         * platform/graphics/qt/ImageQt.cpp:
22060         * platform/graphics/qt/StillImageQt.h:
22062 2008-08-13  Eric Seidel  <eric@webkit.org>
22064         No review, build fix only.
22066         Fix mac build, due to change in new code since my patch was written.
22068         * svg/graphics/cg/SVGResourceMaskerCg.mm:
22069         (WebCore::SVGResourceMasker::applyMask):
22071 2008-08-13  Eric Seidel  <eric@webkit.org>
22073         Build fix only, no review.
22075         Attempt to fix the Qt build.
22077         * platform/graphics/qt/ImageBufferQt.cpp:
22078         * platform/graphics/qt/StillImageQt.h:
22079         (WebCore::StillImage::create):
22080         (WebCore::StillImage::destroyDecodedData):
22081         (WebCore::StillImage::decodedSize):
22083 2008-08-13  Eric Seidel  <eric@webkit.org>
22085         Build fix only, no review.
22087         Attempt to fix the Qt build.
22089         * html/CanvasStyle.cpp:
22090         (WebCore::CanvasStyle::applyStrokeColor):
22091         (WebCore::CanvasStyle::applyFillColor):
22093 2008-08-13  Eric Seidel  <eric@webkit.org>
22095         Reviewed by Sam.
22097         Match HTML5 spec by throwing INVALID_STATE_ERR when
22098         createPattern is called and the HTMLImageElement is not
22099         yet done loading the image (!isComplete)
22100         https://bugs.webkit.org/show_bug.cgi?id=20351
22102         Test: http/misc/canvas-pattern-from-incremental-image.html
22104         * html/CanvasRenderingContext2D.cpp:
22105         (WebCore::CanvasRenderingContext2D::createPattern):
22107 2008-08-13  Eric Seidel  <eric@webkit.org>
22109         Reviewed by Niko.
22111         Split out a Pattern class from CanvasPattern
22112         and remove all the Pattern-related #ifdefs
22113         (This will break non-mac platforms!  I will fix them.)
22114         https://bugs.webkit.org/show_bug.cgi?id=20351
22116         * GNUmakefile.am:
22117         * WebCore.pro:
22118         * WebCore.vcproj/WebCore.vcproj:
22119         * WebCore.xcodeproj/project.pbxproj:
22120         * WebCoreSources.bkl:
22121         * html/CanvasPattern.cpp:
22122         (WebCore::CanvasPattern::parseRepetitionType):
22123         (WebCore::CanvasPattern::CanvasPattern):
22124         * html/CanvasPattern.h:
22125         (WebCore::CanvasPattern::create):
22126         (WebCore::CanvasPattern::pattern):
22127         (WebCore::CanvasPattern::originClean):
22128         * html/CanvasRenderingContext2D.cpp:
22129         (WebCore::CanvasRenderingContext2D::createPattern):
22130         (WebCore::CanvasRenderingContext2D::applyStrokePattern):
22131         (WebCore::CanvasRenderingContext2D::applyFillPattern):
22132         * html/CanvasRenderingContext2D.h:
22133         * html/HTMLCanvasElement.cpp:
22134         * html/HTMLCanvasElement.h:
22135         * loader/FrameLoader.cpp:
22136         (WebCore::FrameLoader::createHistoryItem):
22137         * platform/graphics/GraphicsContext.h:
22138         * platform/graphics/cairo/GraphicsContextCairo.cpp:
22139         (WebCore::GraphicsContext::applyStrokePattern):
22140         (WebCore::GraphicsContext::applyFillPattern):
22141         * platform/graphics/cg/GraphicsContextCG.cpp:
22142         (WebCore::GraphicsContext::clipToImageBuffer):
22143         (WebCore::GraphicsContext::applyStrokePattern):
22144         (WebCore::GraphicsContext::applyFillPattern):
22146 2008-08-13  Eric Seidel  <eric@webkit.org>
22148         Reviewed by Niko.
22150         Make Images RefCounted (and clean up callers)
22151         https://bugs.webkit.org/show_bug.cgi?id=20351
22153         * editing/DeleteButtonController.cpp:
22154         (WebCore::DeleteButtonController::createDeletionUI):
22155         * loader/CachedImage.cpp:
22156         (WebCore::CachedImage::CachedImage):
22157         (WebCore::brokenImage):
22158         (WebCore::nullImage):
22159         (WebCore::CachedImage::image):
22160         (WebCore::CachedImage::notifyObservers):
22161         (WebCore::CachedImage::createImage):
22162         * loader/CachedImage.h:
22163         * loader/icon/IconRecord.cpp:
22164         (WebCore::IconRecord::setImageData):
22165         (WebCore::IconRecord::loadImageFromResource):
22166         * loader/icon/IconRecord.h:
22167         * platform/graphics/BitmapImage.h:
22168         (WebCore::BitmapImage::create):
22169         * platform/graphics/GeneratedImage.h:
22170         * platform/graphics/Gradient.cpp:
22171         * platform/graphics/Gradient.h:
22172         * platform/graphics/Image.cpp:
22173         (WebCore::Image::nullImage):
22174         * platform/graphics/Image.h:
22175         * platform/graphics/ImageBuffer.h:
22176         * platform/graphics/cairo/ImageBufferCairo.cpp:
22177         (WebCore::ImageBuffer::image):
22178         * platform/graphics/cg/ImageBufferCG.cpp:
22179         (WebCore::ImageBuffer::image):
22180         (WebCore::ImageBuffer::getImageData):
22181         (WebCore::ImageBuffer::putImageData):
22182         * platform/graphics/cg/PDFDocumentImage.h:
22183         (WebCore::PDFDocumentImage::create):
22184         (WebCore::PDFDocumentImage::destroyDecodedData):
22185         (WebCore::PDFDocumentImage::decodedSize):
22186         * platform/graphics/gtk/ImageGtk.cpp:
22187         (WebCore::Image::loadPlatformResource):
22188         * platform/graphics/mac/ImageMac.mm:
22189         (WebCore::Image::loadPlatformResource):
22190         * rendering/RenderImage.cpp:
22191         * rendering/RenderLayer.cpp:
22192         (WebCore::RenderLayer::paintOverflowControls):
22193         * svg/graphics/SVGImage.cpp:
22194         (WebCore::SVGImage::nativeImageForCurrentFrame):
22195         * svg/graphics/SVGImage.h:
22196         (WebCore::SVGImage::create):
22197         (WebCore::SVGImage::destroyDecodedData):
22198         (WebCore::SVGImage::decodedSize):
22199         (WebCore::SVGImage::frameAtIndex):
22200         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
22201         (WebCore::SVGPaintServerPattern::setup):
22202         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
22203         (WebCore::SVGResourceMasker::applyMask):
22204         * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
22205         (WebCore::patternCallback):
22206         * svg/graphics/cg/SVGResourceMaskerCg.mm:
22207         (WebCore::SVGResourceMasker::applyMask):
22209 2008-08-13  Eric Seidel  <eric@webkit.org>
22211         Reviewed by Niko.
22213         Remove #ifdefs from CanvasStyle by using platform/Color.h
22214         https://bugs.webkit.org/show_bug.cgi?id=20351
22216         There are some down-sides to this commit.
22217         This commit limits us to 255 levels of grey for calls like:
22218         context.setStrokeStyle(.37, 1.0)
22219         previously CG might have used up to 32bits to store the grey level
22220         Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
22222         Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
22223         to RGBA32 (like all the rest of colors in WebCore), thus:
22224         context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
22225         context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
22227         If this is a problem for Dashboard, we can either roll out this commit
22228         or add a beefier Color abstraction, which can be used internally by GraphicsContext
22229         when keeping state, and then GraphicsContext can grow some additional set* routines
22230         for setting the a grey/float/whatever fill and stroke.
22232         * html/CanvasRenderingContext2D.cpp:
22233         (WebCore::CanvasRenderingContext2D::setFillStyle):
22234         * html/CanvasStyle.cpp:
22235         (WebCore::CanvasStyle::CanvasStyle):
22236         (WebCore::colorWithOverrideAlpha):
22237         (WebCore::CanvasStyle::applyStrokeColor):
22238         (WebCore::CanvasStyle::applyFillColor):
22239         * html/CanvasStyle.h:
22240         * platform/graphics/Color.cpp:
22241         (WebCore::colorFloatToRGBAByte):
22242         (WebCore::makeRGBA32FromFloats):
22243         * platform/graphics/Color.h:
22245 2008-08-13  Eric Carlson  <eric.carlson@apple.com>
22247         Reviewed by Adele Peterson.
22249         Fix for <rdar://problem/6137931>
22250         https://bugs.webkit.org/show_bug.cgi?id=20360
22251         Remove all parameters from the MIME type before checking with the MIME type registry
22253         Tests: media/video-source-type-params.html
22255         * html/HTMLMediaElement.cpp:
22256         (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';' 
22257         to isSupportedMediaMIMEType()
22259 2008-08-13  Beth Dakin  <bdakin@apple.com>
22261         Reviewed by Sam Weinig.
22263         Fix for <rdar://problem/6141345>
22265         This patch refines findString and markAllMatchesForText functions' 
22266         interactions with disconnected frames. They no longer rely on 
22267         knowing where a range is relative to the visible region and work 
22268         with disconnected frames that contain frames.
22270         * editing/Editor.cpp:
22271         (WebCore::Editor::insideVisibleArea): Now returns a bool instead of 
22272         the visiblity enum.
22273         (WebCore::Editor::firstVisibleRange): This now returns the very 
22274         first visible range in the document. It's no longer dependent on 
22275         searching forward.
22276         (WebCore::Editor::lastVisibleRange): This now returns the very last 
22277         visible range in the document. It's no longer dependent on 
22278         searching backwards.
22279         (WebCore::Editor::nextVisibleRange): This returns the next visible 
22280         range in the appropriate direction from the current range.
22281         * editing/Editor.h:
22282         * page/Frame.cpp:
22283         (WebCore::Frame::findString):
22284         (WebCore::Frame::markAllMatchesForText):
22286 2008-08-13  Kevin Ollivier  <kevino@theolliviers.com>
22288         wx build fix for case-sensitive platforms, like Linux.
22290         * WebCoreSources.bkl:
22292 2008-08-13  Marco Barisione  <marco.barisione@collabora.co.uk>
22294         Reviewed by Holger Freyther.
22296         http://bugs.webkit.org/show_bug.cgi?id=16881
22297         [GTK] PlatformScreenGtk is unimplemented
22299         Original patch by Christian Dywan.
22301         * platform/gtk/PlatformScreenGtk.cpp:
22302         (WebCore::screenDepth):
22303         (WebCore::screenDepthPerComponent):
22304         (WebCore::screenIsMonochrome):
22305         (WebCore::screenRect):
22306         (WebCore::screenAvailableRect):
22308 2008-08-13  Jan Michael Alonzo  <jmalonzo@webkit.org>
22310         Reviewed by Holger Freyther.
22312         http://bugs.webkit.org/show_bug.cgi?id=20318
22313         SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
22315         g_idle_add is the same as g_idle_add_full with a priority of
22316         G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
22318         * platform/gtk/SharedTimerGtk.cpp:
22319         (WebCore::setSharedTimerFireTime):
22321 2008-08-13  Timothy Hatcher  <timothy@apple.com>
22323         Changed the InspectorController so it can be notified when the
22324         attached state of the Inspector changes in WebKit.
22326         Reviewed by Kevin McCullough.
22328         * WebCore.base.exp: Updated the symbol for setWindowVisible.
22329         * page/InspectorController.cpp:
22330         (WebCore::InspectorController::setWindowVisible): Added an attached argument,
22331         that defaults to false.Call setAttachedWindow with the attached argument.
22332         (WebCore::InspectorController::setAttachedWindow): Call the script version
22333         of setAttachedWindow.
22334         * page/InspectorController.h:
22335         * page/inspector/inspector.js:
22336         (WebInspector.setAttachedWindow): Set the attached property.
22338 2008-08-12  Timothy Hatcher  <timothy@apple.com>
22340         Added a close button to the Inspector's toolbar when docked.
22342         https://bugs.webkit.org/show_bug.cgi?id=14270
22344         Reviewed by Kevin McCullough.
22346         * page/InspectorController.cpp:
22347         (WebCore::closeWindow): Call InspectorController::closeWindow.
22348         (WebCore::InspectorController::windowScriptObjectAvailable):
22349         Added closeWindow to the script class.
22350         * page/InspectorController.h:
22351         * page/inspector/Images/closeButtons.png: Added.
22352         * page/inspector/inspector.css: Added and changed styles.
22353         * page/inspector/inspector.html: Added the close button.
22354         * page/inspector/inspector.js:
22355         (WebInspector.loaded): Added click event listener to the close button.
22356         (WebInspector.close): Call InspectorController.closeWindow.
22358 2008-08-12  Timothy Hatcher  <timothy@apple.com>
22360         Make the docked Web Inspector resizable. This is the cross platform
22361         portion of the code. Each InspectorClient needs to implement the
22362         real resize code.
22364         https://bugs.webkit.org/show_bug.cgi?id=14282
22366         Reviewed by Kevin McCullough.
22368         * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
22369         * page/InspectorClient.h: Added setAttachedWindowHeight.
22370         * page/InspectorController.cpp:
22371         (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
22372         on the InspectorController.
22373         (WebCore::InspectorController::setAttachedWindowHeight): Call
22374         setAttachedWindowHeight on the client.
22375         (WebCore::InspectorController::windowScriptObjectAvailable):
22376         Added setAttachedWindowHeight to the script class.
22377         * page/InspectorController.h:
22378         * page/inspector/inspector.css: Make the cursor on the toolbar be
22379         row-resize when docked.
22380         * page/inspector/inspector.js:
22381         (WebInspector.loaded): Always add the toolbarDragStart event listener.
22382         (WebInspector.toolbarDragStart): Return early if we are not attached
22383         and not on Leopard. Call WebInspector.elementDragStart.
22384         (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
22385         (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
22386         otherwise call moveByUnrestricted.
22388 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
22390         Reviewed by Holger.
22392         Initialize m_zoomsTextOnly in the Settings constructor.
22394         * page/Settings.cpp:
22395         (WebCore::Settings::Settings):
22397 2008-08-13  Brad Hughes <bhughes@trolltech.com>
22399         Reviewed by Simon.
22401         Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
22403         The latest upgrade of the intel compiler allows us to compile all of
22404         Qt with optimizations enabled (yay!).
22406         * WebCore.pro:
22408 2008-08-13  Prasanth Ullattil  <prasanth.ullattil@trolltech.com>
22410         Reviewed by Simon.
22412         Fix QtWebKit not displaying content on 403 HTTP responses
22414         Just like with 404 responses also display content with 403, as
22415         used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
22417         * platform/network/qt/QNetworkReplyHandler.cpp:
22418         (WebCore::QNetworkReplyHandler::finish):
22420 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
22422         Reviewed by Holger.
22424         Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
22426         Make the formatting of String::format() locale independent through the use of QString::vsprintf.
22428         * platform/text/String.cpp:
22429         (WebCore::String::format):
22431 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
22433         Reviewed by Lars.
22435         Fix QWebFrame::setHtml() not setting the new contents immediately.
22437         Added a setter to the DocumentLoader to toggle the deferred loading of the main
22438         resource when it comes from substitute data.
22440         Disable deferred loading of the main resource when we have valid substitute data,
22441         as used by QWebFrame::setHtml.
22443         * loader/DocumentLoader.h:
22445 2008-08-13  Mark Rowe  <mrowe@apple.com>
22447         Speculative GTK build fix.
22449         * GNUmakefile.am:  Add dependency info for JSSVGElementWrapperFactory.cpp.
22451 2008-08-13  Thiago Macieira  <tjmaciei@trolltech.com>
22453         Reviewed by Simon.
22455         Fix encoding of [ and ] in the host part of the URL
22457         Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
22458         add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
22459         doesn't encode [ and ] when they are found in the host part. That is, the
22460         following URL:
22461         http://[::1]/
22462         is valid and should not be reencoded to:
22463         http://%5b::1%5d/
22465         * platform/qt/KURLQt.cpp:
22466         (WebCore::KURL::operator QUrl):
22468 2008-08-12  Mihnea Ovidenie  <mihnea@adobe.com>
22470         Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
22471         Broken HTML object elements cause de-reference of pointer to freed memory.
22472         If we fail to load an image for an object tag and we no longer believe the object tag points at
22473         an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
22474         fall back content.
22476         Reviewed by Dave Hyatt and Alexey Proskuryakov.
22478         Test: http/tests/misc/object-image-error-with-onload.html
22480         * html/HTMLObjectElement.cpp:
22481         (WebCore::HTMLObjectElement::renderFallbackContent):
22482         * page/Frame.cpp:
22483         (WebCore::Frame::Frame):
22485 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
22487         Reviewed by Dave.
22488     
22489         Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
22490         Masks are translated, and the mask images are swapped on the y-axis.
22492         Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
22493         is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
22495         Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
22496         the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
22498         * svg/graphics/cg/SVGResourceMaskerCg.mm:
22499         (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
22501 2008-08-12  Dan Bernstein  <mitz@apple.com>
22503         - WebCore part of <rdar://problem/6121636>
22504           Make fast*alloc() abort() on failure and add "try" variants that
22505           return NULL on failure.
22507         Reviewed by Darin Adler.
22509         * platform/Arena.cpp:
22510         (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
22511         result.
22512         * platform/graphics/cg/ImageBufferCG.cpp:
22513         (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
22515 2008-08-12  Dan Bernstein  <mitz@apple.com>
22517         Reviewed by Darin Adler.
22519         - fix https://bugs.webkit.org/show_bug.cgi?id=19348
22520           <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
22522         Test: fast/frames/frameset-style-recalc.html
22524         * html/HTMLFrameSetElement.cpp:
22525         (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
22526         class implementation after marking for layout.
22528 2008-08-12  Dan Bernstein  <mitz@apple.com>
22530         Reviewed by John Sullivan.
22532         - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
22534         * WebCore.base.exp:
22535         * page/FrameView.cpp:
22536         (WebCore::FrameViewPrivate::FrameViewPrivate):
22537         (WebCore::FrameView::shouldUpdateWhileHidden):
22538         (WebCore::FrameView::setShouldUpdateWhileHidden):
22539         * page/FrameView.h:
22540         * page/Settings.cpp:
22541         * page/Settings.h:
22543 2008-08-12  Adam Roben  <aroben@apple.com>
22545         Windows build fix
22547         * bindings/js/JSSVGPODTypeWrapper.h: Align
22548         JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
22549         members on 16-byte boundaries to avoid an alignment warning.
22551 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
22553         Reviewed by Oliver.
22555         Add new dynamice-update layout tests covering SVGMarkerElement.
22556         Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
22557         Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
22559         Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
22560                svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
22561                svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
22562                svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
22563                svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
22564                svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
22565                svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
22566                svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
22567                svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
22568                svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
22569                svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
22570                svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
22571                svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
22572                svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
22573                svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
22575         * svg/SVGMarkerElement.cpp:
22576         (WebCore::SVGMarkerElement::SVGMarkerElement):
22577         (WebCore::SVGMarkerElement::parseMappedAttribute):
22578         (WebCore::SVGMarkerElement::svgAttributeChanged):
22579         (WebCore::SVGMarkerElement::childrenChanged):
22580         (WebCore::SVGMarkerElement::setOrientToAuto):
22581         (WebCore::SVGMarkerElement::setOrientToAngle):
22582         (WebCore::SVGMarkerElement::canvasResource):
22584 2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>
22586         Reviewed by Oliver.
22588         Add new dynamic-update layout tests covering SVGImageElement.
22589         Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
22591         Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
22592                svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
22593                svg/dynamic-updates/SVGImageElement-dom-width-attr.html
22594                svg/dynamic-updates/SVGImageElement-dom-x-attr.html
22595                svg/dynamic-updates/SVGImageElement-dom-y-attr.html
22596                svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
22597                svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
22598                svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
22599                svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
22600                svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
22602         * svg/SVGImageElement.cpp:
22603         (WebCore::SVGImageElement::svgAttributeChanged):
22605 2008-08-11  Anthony Ricaud  <rik24d@gmail.com>
22607         Changed Option/Alt-Up or Down in CSS editing when the value is
22608         near zero to jump to the next integer.
22610         Reviewed by Tim Hatcher.
22612         https://bugs.webkit.org/show_bug.cgi?id=20326
22614         * page/inspector/StylesSidebarPane.js:
22616 2008-08-11  Anthony Ricaud  <rik24d@gmail.com>
22618         Changed the line highlight transition for an easier animation.
22620         Reviewed by Tim Hatcher.
22622         * page/inspector/SourceFrame.js:
22624 2008-08-11  Keishi Hattori  <casey.hattori@gmail.com>
22626         Added support for some Firebug Command Line APIs.
22628         Reviewed by Tim Hatcher.
22630         https://bugs.webkit.org/show_bug.cgi?id=19867
22631         https://bugs.webkit.org/show_bug.cgi?id=19868
22632         https://bugs.webkit.org/show_bug.cgi?id=19869
22633         https://bugs.webkit.org/show_bug.cgi?id=19875
22634         https://bugs.webkit.org/show_bug.cgi?id=19876
22635         https://bugs.webkit.org/show_bug.cgi?id=19880
22637         * page/inspector/Console.js:
22638         (WebInspector.Console.prototype._evalInInspectedWindow):
22639         Create an object on the inspected window that holds the console
22640         command line API functions. This object is used in a with statement
22641         around the typed expression.
22643 2008-08-11  Nikolas Zimmermann  <zimmermann@kde.org>
22645         Reviewed by Antti.
22647         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
22649         JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
22650         failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
22652         Added tests: svg/custom/svg-modify-currentTranslate.html
22653                      svg/custom/tearoffs-with-tearoffs.html
22654                      svg/custom/immutable-properties.html
22656         Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
22658         * bindings/js/JSSVGPODTypeWrapper.h:
22659         (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
22660         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
22661         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
22662         (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
22663         (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
22664         (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
22665         (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
22666         (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
22667         * bindings/scripts/CodeGenerator.pm:
22668         * bindings/scripts/CodeGeneratorJS.pm:
22669         * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
22670         * svg/SVGZoomEvent.idl:  SVG specification explicitely demands these attributes to be readonly, even its content.
22672 2008-08-11  Brady Eidson  <beidson@apple.com>
22674         Reviewed by John and Anders
22676         Fix for <rdar://problem/6141797>
22678         When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
22679         would never have nil data.
22681         When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
22682         semantics with some WebKit applications.
22684         The guarantee was a good one and should be restored.
22686         Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
22687         creates an empty data object in the case of null data for its own purposes.
22689         * loader/SubstituteResource.h:
22690         (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null.  This
22691           well help any future subclassers not make this mistake.
22693         * loader/archive/ArchiveResource.cpp:
22694         (WebCore::ArchiveResource::create): Return 0 if the data is null.
22696 2008-08-11  Simon Fraser  <simon.fraser@apple.com>
22698         Reviewed by Dave Hyatt
22700         https://bugs.webkit.org/show_bug.cgi?id=20328
22701         Fix a problem when an 'all' transition transition with more than
22702         one property changing is interrupted, and did some AnimationController
22703         cleanup.
22705         Test: transitions/interrupted-all-transition.html
22707         * page/AnimationController.cpp:
22708         (WebCore::ImplicitAnimation::ImplicitAnimation):
22709         (WebCore::AnimationControllerPrivate::blendProperties):
22710         (WebCore::CompositeAnimation::updateTransitions):
22711         (WebCore::CompositeAnimation::cleanupFinishedAnimations):
22712         (WebCore::CompositeAnimation::setTransitionStartTime):
22713         (WebCore::CompositeAnimation::overrideImplicitAnimations):
22714         (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
22715         (WebCore::ImplicitAnimation::animate):
22716         (WebCore::ImplicitAnimation::onAnimationEnd):
22717         (WebCore::ImplicitAnimation::sendTransitionEvent):
22718         (WebCore::ImplicitAnimation::affectsProperty):
22719         (WebCore::KeyframeAnimation::endAnimation):
22720         (WebCore::KeyframeAnimation::onAnimationEnd):
22722 2008-08-11  Kevin McCullough  <kmccullough@apple.com>
22724         Reviewed by Tim.
22726         - Because console messages have group levels now, newly created messages
22727         that do not specify the level lose their message since the number of
22728         arguments is wrong.
22730         * page/inspector/Console.js:
22731         * page/inspector/Resource.js:
22733 2008-08-11  Alp Toker  <alp@nuanti.com>
22735         Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
22736         the opportunity to sort the sources lists.
22738         * GNUmakefile.am:
22740 2008-08-11  Timothy Hatcher  <timothy@apple.com>
22742         Speed up the the JavaScript syntax highlighter by generating
22743         the finders only once per script instead of per line.
22745         https://bugs.webkit.org/show_bug.cgi?id=20346
22747         Reviewed by Adam Roben.
22749         * page/inspector/SourceFrame.js:
22750         (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
22751         Removed, factored into syntaxHighlightJavascript as an inline function.
22752         (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
22753         Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
22754         Generate the finders before iterating the lines.
22756 2008-08-11  Adam Roben  <aroben@apple.com>
22758         Windows build fix
22760         * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
22761         JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
22762         too.
22764 2008-08-11  Dan Bernstein  <mitz@apple.com>
22766         Reviewed by Darin Adler.
22768         - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
22770         Test: fast/css/counters/invalidate-cached-counter-node.html
22772         * rendering/RenderContainer.cpp:
22773         (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
22774         RenderCounters in :before and :after content.
22775         * rendering/RenderContainer.h:
22776         * rendering/RenderCounter.cpp:
22777         (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
22778         to match the RenderObject method.
22779         (WebCore::RenderCounter::invalidate): Added. Resets the cached
22780         CounterNode and invalidates the object's layout and preferred widths.
22781         (WebCore::destroyCounterNodeChildren): Added a call to
22782         invalidateCounters().
22783         * rendering/RenderCounter.h:
22784         * rendering/RenderObject.h:
22785         (WebCore::RenderObject::invalidateCounters):
22787 2008-08-11  Dean Jackson  <dino@apple.com>
22789         Implement CSS Animation and Transition Events
22790         https://bugs.webkit.org/show_bug.cgi?id=20337
22792         Implement the events defined in the CSS Animations
22793         and Transitions specifications so code can react
22794         to animations and transitions.
22796         Reviewed by Tim Hatcher and Dave Hyatt.
22798         * DerivedSources.make:
22799         * GNUmakefile.am:
22800         * WebCore.pro:
22801         * WebCore.vcproj/WebCore.vcproj:
22802         * WebCore.xcodeproj/project.pbxproj:
22803         * WebCoreSources.bkl:
22804             Build configs for new files
22806         * bindings/js/JSDOMWindowBase.cpp:
22807         * bindings/js/JSDOMWindowBase.h:
22808         * bindings/js/JSEventCustom.cpp:
22809         * dom/Document.h:
22810         * dom/Event.cpp:
22811         * dom/Event.h:
22812         * dom/EventTarget.cpp:
22813         * dom/EventTargetNode.cpp:
22814         * dom/EventTargetNode.h:
22815         * html/HTMLElement.cpp:
22816         * page/AnimationController.cpp:
22817             do all the new event stuff
22818             
22819         * html/HTMLAttributeNames.in:
22820             the onwebkitanimation* and onwebkittransitionend attrs
22822         * dom/WebKitAnimationEvent.cpp: Added.
22823         * dom/WebKitAnimationEvent.h: Added.
22824         * dom/WebKitAnimationEvent.idl: Added.
22825         * dom/WebKitTransitionEvent.cpp: Added.
22826         * dom/WebKitTransitionEvent.h: Added.
22827         * dom/WebKitTransitionEvent.idl: Added.
22828             New files for the events
22830         * manual-tests/transition-events.html: Added.
22831             New testfile
22833 2008-08-11  Adam Roben  <aroben@apple.com>
22835         Add a ForwardingHeader for wtf/NotFound.h
22837         Rubberstamped by Darin Adler.
22839         * ForwardingHeaders/wtf/NotFound.h: Added.
22841 2008-08-11  Timothy Hatcher  <timothy@apple.com>
22843         Fixes a bug where error bubbles in JavaScript resources would
22844         be clobbered by the syntax highlighter.
22846         https://bugs.webkit.org/show_bug.cgi?id=20345
22848         Reviewed by Adam Roben.
22850         * manual-tests/inspector/resources/script-error.js: Added.
22851         * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
22852         * page/inspector/SourceFrame.js:
22853         (WebInspector.SourceFrame.prototype._addMessageToSource):
22854         Check the nodeType and not the nodeName, this is less fragile.
22855         (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
22856         Check if the lastChild is an error bubble, if so remove it before
22857         getting the line's textContent. Add the error bubble back at the end.
22859 == Rolled over to ChangeLog-2008-08-10 ==