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
7 Make sure to null check the NSURLConnection object.
9 * platform/network/mac/ResourceHandleMac.mm:
10 (WebCore::ResourceHandle::start):
11 (WebCore::ResourceHandle::setDefersLoading):
13 2008-10-27 Alexey Proskuryakov <ap@webkit.org>
19 * WebCore.vcproj/WebCore.vcproj:
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>
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
58 2008-10-25 Jade Han <jade.han@nokia.com>
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>
77 2008-10-24 Sam Weinig <sam@webkit.org>
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):
95 (WebCore::Chrome::runOpenPanel):
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:
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>
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
181 Export _NPN_Construct.
183 * bridge/NP_jsobject.cpp:
187 * bridge/c/c_instance.cpp:
188 (JSC::Bindings::CInstance::supportsConstruct):
189 (JSC::Bindings::CInstance::invokeConstruct):
190 Have this call the appropriate NPClass method.
192 * bridge/npruntime.h:
195 * bridge/npruntime_impl.h:
199 (JSC::Bindings::Instance::supportsConstruct):
200 (JSC::Bindings::Instance::invokeConstruct):
203 * bridge/runtime_object.cpp:
204 (JSC::callRuntimeConstructor):
205 Call the native instance.
207 (JSC::RuntimeObjectImp::getConstructData):
210 * bridge/runtime_object.h:
211 Add new method declarations.
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>
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>
232 Reviewed by David Kilzer.
234 * GNUmakefile.am: Do not include .idl files whose generated files should not be
237 2008-10-24 David Kilzer <ddkilzer@apple.com>
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.
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>
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
345 Provide support for the Geolocation API
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):
377 (WebCore::Document::Document):
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
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
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.
490 * bindings/objc/DOMCSS.mm:
491 (+[DOMCSSRule _wrapCSSRule:WebCore::]):
493 2008-10-24 Adam Roben <aroben@apple.com>
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
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:
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:
724 * plugins/MimeTypeArray.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>
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:
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:
759 (WebCore::Document::Document):
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):
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
796 Provide support for the Geolocation API
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):
828 (WebCore::Document::Document):
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
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.
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
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
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:
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>
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:
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>
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
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.
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.
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."
1305 In the past we have worked around this by declaring the bitfield member as an unsigned instead
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
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):
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):
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.
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.
1394 Test: animations/change-keyframes-name.html
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
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
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:
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
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:
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
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>
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.
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
1612 If we get 304 response we need to explicitly check if that completes the frame load.
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>.
1625 Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
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.
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.
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):
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>
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.
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
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):
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
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):
1925 (WebCore::Theme::controlSize):
1926 (WebCore::Theme::controlSupportsBorder):
1927 (WebCore::Theme::controlSupportsPadding):
1928 (WebCore::Theme::paint):
1929 (WebCore::Theme::inflateControlPaintRect):
1930 * platform/ThemeTypes.h:
1932 * platform/mac/ThemeMac.h:
1933 * platform/mac/ThemeMac.mm:
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):
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
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
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
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
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
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):
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
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.
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
2570 2008-10-18 Dan Bernstein <mitz@apple.com>
2572 Reviewed by Mark Rowe.
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".
2596 (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
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
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
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:
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:
2767 * plugins/MimeTypeArray.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
2822 2008-10-18 Zan Dobersek <zandobersek@gmail.com>
2824 Reviewed by Oliver Hunt.
2828 * platform/qt/RenderThemeQt.h:
2830 2008-10-17 Kevin Watters <kevinwatters@gmail.com>
2832 Reviewed by Kevin Ollivier
2834 Fix wx port's scrollbar and drawing handling after recent changes.
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:
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.
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
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>
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):
3101 (WebCore::Document::~Document):
3102 (WebCore::Document::stopActiveDOMObjects):
3103 (WebCore::Document::createdActiveDOMObject):
3104 (WebCore::Document::destroyedActiveDOMObject):
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
3151 (WebCore::Node::createRendererIfNeeded):
3152 (WebCore::Node::styleForRenderer):
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
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):
3208 (WebCore::Document::recalcStyle):
3210 (WebCore::Element::styleForRenderer):
3211 (WebCore::Element::recalcStyle):
3212 (WebCore::Element::computedStyle):
3214 * dom/ElementRareData.h:
3215 (WebCore::ElementRareData::ElementRareData):
3216 (WebCore::ElementRareData::resetComputedStyle):
3218 (WebCore::Node::diff):
3219 (WebCore::Node::createRendererIfNeeded):
3220 (WebCore::Node::styleForRenderer):
3221 (WebCore::Node::setRenderStyle):
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:
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
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
3412 Reviewed by Tim Hatcher.
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>
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>
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
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
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.
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.
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:
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/).
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.
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.
3788 * dom/DocumentFragment.idl:
3790 * dom/NSResolver.h: Removed.
3791 * dom/NSResolver.idl: Removed.
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>
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>
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>
3849 Use style-painter to draw scrollbars in ScrollbarThemeQt
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
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.
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.
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.
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>
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
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
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.
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
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
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()
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
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.
4562 (WebCore::Cache::pruneDeadResources):
4563 (WebCore::Cache::evict):
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
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.
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.
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
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
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
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
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:
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
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.
5260 Fix transformed patterns
5261 https://bugs.webkit.org/show_bug.cgi?id=21498
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>
5287 * platform/wx/WidgetWx.cpp:
5288 * plugins/wx/PluginViewWx.cpp:
5289 (WebCore::PluginView::invalidateRect):
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>
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.
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:
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:
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>
5594 Updated the qrc file for the Web Inspector to contain the current set
5597 * inspector/front-end/WebKit.qrc:
5599 2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
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.
5611 2008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
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>
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
5633 * platform/qt/KURLQt.cpp:
5634 (WebCore::KURL::operator QUrl):
5636 2008-10-08 Marius Storm-Olsen <marius@trolltech.com>
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.
5647 2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
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
5666 2008-10-07 Anders Carlsson <andersca@apple.com>
5668 Reviewed by Antti Koivisto.
5670 <rdar://problem/6273887> Crash in ApplicationCacheGroup
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:
5774 These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
5775 the following new pseudo-classes:
5779 scrollbar-horizontal
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
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
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.
5827 2008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
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
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):
5870 2008-10-06 Dan Bernstein <mitz@apple.com>
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:
5890 * page/DOMWindow.idl:
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
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.
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>
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.
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
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
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>
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>
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>
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>
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>
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
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
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
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
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()
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>
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
6332 2008-10-04 Matt Lilek <webkit@mattlilek.com>
6334 Not reviewed, attempt to fix Gtk build.
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.
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.
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.
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>
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
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
6689 2008-10-03 David Hyatt <hyatt@apple.com>
6691 Fix Windows/Qt build bustage.
6695 * loader/EmptyClients.h:
6696 (WebCore::EmptyChromeClient::platformWindow):
6698 (WebCore::Chrome::platformWindow):
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
6804 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
6806 Reviewed by Dan Bernstein & Darin Adler
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>
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>
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.
6905 Reviewed by Oliver Hunt
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().
6925 (WebCore::Cache::Cache):
6926 (WebCore::Cache::pruneDeadResources):
6927 (WebCore::Cache::remove):
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
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
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:
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
6992 Make widget invalidation more cross-platform.
6994 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
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.
6999 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
7001 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
7003 Reviewed by Sam Weinig
7006 * page/FrameView.cpp:
7007 (WebCore::FrameView::invalidateRect):
7008 (WebCore::FrameView::invalidateScrollbarRect):
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):
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.
7097 https://bugs.webkit.org/show_bug.cgi?id=21287
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>
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
7202 Make scrollBackingStore cross-platform.
7204 Reviewed by Sam Weinig
7206 * loader/EmptyClients.h:
7207 (WebCore::EmptyChromeClient::repaint):
7208 (WebCore::EmptyChromeClient::scroll):
7210 (WebCore::Chrome::repaint):
7211 (WebCore::Chrome::scroll):
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.
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
7264 * css/CSSCanvasValue.cpp:
7265 (WebCore::CSSCanvasValue::element):
7266 * css/CSSCanvasValue.h:
7267 (WebCore::CSSCanvasValue::CSSCanvasValue):
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
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.
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).
7292 Reviewed by Sam Weinig
7294 * page/FrameView.cpp:
7295 (WebCore::FrameView::windowClipRect):
7296 (WebCore::FrameView::isActive):
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.
7341 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
7343 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
7346 (WebCore::Document::createdXMLHttpRequest):
7347 (WebCore::Document::destroyedXMLHttpRequest):
7348 Moved XMLHttpRequest tracking from a global map to Document.
7352 * WebCore.vcproj/WebCore.vcproj:
7353 * WebCore.xcodeproj/project.pbxproj:
7354 * WebCoreSources.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
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:
7413 * bindings/js/JSCSSValueCustom.cpp:
7415 * bindings/js/JSDOMWindowCustom.cpp:
7416 (WebCore::markDOMObjectWrapper):
7417 (WebCore::JSDOMWindow::mark):
7418 * bindings/js/JSEventCustom.cpp:
7420 * bindings/js/JSEventTarget.cpp:
7422 * bindings/js/JSHTMLCollectionCustom.cpp:
7424 * bindings/js/JSImageDataCustom.cpp:
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:
7434 * bindings/js/JSStyleSheetCustom.cpp:
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>
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
7459 * WebCore.vcproj/WebCore.vcproj:
7461 2008-10-02 Geoffrey Garen <ggaren@apple.com>
7465 Try to fix some more builds.
7470 2008-10-02 Geoffrey Garen <ggaren@apple.com>
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:
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.
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
7590 * bindings/js/JSImageDataCustom.cpp:
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
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.
7618 https://bugs.webkit.org/show_bug.cgi?id=20669
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()
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
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
7668 (WebCore::FramePrivate::FramePrivate):
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
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
7707 * page/FrameView.cpp:
7708 (WebCore::FrameView::setCanHaveScrollbars):
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.
7727 (WebCore::Cache::pruneLiveResources):
7728 (WebCore::Cache::pruneDeadResources):
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
7778 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
7780 Reviewed by Adam Roben
7782 * loader/EmptyClients.h:
7783 (WebCore::EmptyChromeClient::screenToWindow):
7784 (WebCore::EmptyChromeClient::windowToScreen):
7786 (WebCore::Chrome::screenToWindow):
7787 (WebCore::Chrome::windowToScreen):
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
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>
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
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
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
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
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:
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).
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:
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.
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. :)
8249 Reviewed by Sam Weinig
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
8309 Don't call _format twice.
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
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):
8328 (WebCore::Chrome::repaint):
8330 * page/ChromeClient.h:
8331 * page/FrameView.cpp:
8332 (WebCore::FrameView::hostWindow):
8333 (WebCore::FrameView::repaintContentRectangle):
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.
8354 * WebCore.vcproj/WebCore.vcproj:
8355 * WebCoreSources.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
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>
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:
8473 * WebCore.vcproj/WebCore.vcproj:
8474 * WebCore.xcodeproj/project.pbxproj:
8475 * WebCoreSources.bkl:
8476 * bindings/js/JSEventListener.cpp:
8477 * bindings/js/JSEventTarget.cpp: Added.
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:
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:
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
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
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
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
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()
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
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>
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>
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.
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>
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
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>
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:
8857 * css/makevalues.pl:
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:
8874 * page/EditorClient.h:
8877 * page/FramePrivate.h:
8878 * page/Navigator.cpp:
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:
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>
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>
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
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
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
9128 * dom/NameNodeList.cpp:
9129 (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
9130 * dom/NameNodeList.h: Ditto.
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
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
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
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
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:
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
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().
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
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).
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>
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.
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):
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.
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
9484 - Make the context and object null checking consistent. CG is using
9485 the object unconditionally so the Qt webkit platform can do the
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):
9506 (WebCore::Console::trace): Calls Machine::retrieveCaller to
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
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>
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):
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
9814 * page/FrameView.cpp:
9815 (WebCore::FrameView::setAllowsScrolling):
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:
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:
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:
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
9993 * page/FrameView.cpp:
9994 (WebCore::FrameView::resetScrollbars):
9995 (WebCore::FrameView::initScrollbars):
9996 (WebCore::FrameView::layout):
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>
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
10116 * dom/Document.cpp:
10117 (WebCore::Document::documentWillBecomeInactive):
10118 (WebCore::Document::documentDidBecomeActive):
10119 (WebCore::Document::registerForDocumentActivationCallbacks):
10120 (WebCore::Document::unregisterForDocumentActivationCallbacks):
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):
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>
10171 Fix the build inside Qt, don't create faulty prl files for now.
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/
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*.
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.
10244 2008-09-26 Trenton Schulz <twschulz@trolltech.com>
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
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
10301 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
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.
10486 (WebCore::Element::rareData):
10489 (WebCore::Node::rareData):
10492 2008-09-25 David Smith <catfish.man@gmail.com>
10494 Reviewed by Darin Adler.
10496 https://bugs.webkit.org/show_bug.cgi?id=20980
10497 Split off uncommonly used data from Node similar to ElementRareData
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
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:
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
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
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.
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):
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
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
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
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):
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
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):
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>
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
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
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.
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.
10908 * WebCore.vcproj/WebCore.vcproj:
10909 * WebCore.xcodeproj/project.pbxproj:
10910 * WebCoreSources.bkl:
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
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):
10970 Document keeps track of all MessagePort objects that were created when it was fully active
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
10995 2008-09-25 David Smith <catfish.man@gmail.com>
10997 Reviewed by Eric Seidel
10999 fix https://bugs.webkit.org/show_bug.cgi?id=21091
11000 Regression: querySelector matches tag names case sensitively
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
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
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
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:
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>
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
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>
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.
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>
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
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
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>
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
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
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
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.
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
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"
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>
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):
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. :)
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
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>
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.
11813 * WebCore.vcproj/WebCore.vcproj:
11814 * WebCore.xcodeproj/project.pbxproj:
11815 * bindings/js/JSEventTargetBase.cpp:
11816 (WebCore::retrieveEventTargetAndCorrespondingNode):
11818 * bindings/js/JSEventTargetBase.h:
11819 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
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.
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()
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>
11962 - speed up instanceof some more
11963 https://bugs.webkit.org/show_bug.cgi?id=20818
11965 ~2% speedup on EarleyBoyer
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.
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+
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
12083 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
12084 non-selectable input types, but return undefined when accessed.
12086 * DerivedSources.make:
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
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
12224 Reviewed by Sam Weinig
12226 Added fast/css/nested-rule-parent-sheet.html
12228 * css/CSSImportRule.cpp:
12229 (WebCore::CSSImportRule::insertedIntoParent):
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>
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>
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.
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
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.
12286 * bindings/js/JSHTMLAllCollection.h:
12287 (WebCore::JSHTMLAllCollection::createStructureID):
12288 (WebCore::JSHTMLAllCollection::toBoolean):
12290 2008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
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
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>
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
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
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.
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
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.
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).
12485 Reviewed by Maciej Stachowiak.
12487 * platform/win/SharedTimerWin.cpp:
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.
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.
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.
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
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
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.
12619 https://bugs.webkit.org/show_bug.cgi?id=20505
12621 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
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>
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.
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):
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>
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:
12737 (WebCore::scrollbarPart):
12738 (WebCore::styleOptionSlider):
12740 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
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
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
12771 * dom/Document.cpp:
12772 (WebCore::Document::~Document):
12773 (WebCore::Document::svgExtensions):
12774 (WebCore::Document::accessSVGExtensions):
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
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:
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:
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:
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
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:
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.
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>
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
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
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
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):
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
13280 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
13283 * bridge/runtime_object.cpp:
13284 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
13286 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
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
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
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>
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.
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:
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
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.
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):
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
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
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
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>
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
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):
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.
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
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-
14014 and corresponding: <rdar://problem/6174100>
14016 This patch makes CSSParserValue::createCSSValue handle unknown
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
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
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>
14208 <rdar://problem/5722310> gracefully handle too many console messages
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
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).
14239 2008-09-17 Sam Weinig <sam@webkit.org>
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>
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
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>
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
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
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
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
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.
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.
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.
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>
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>
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
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
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.
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.
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()
14653 View is null checked elsewhere too.
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.
14668 There are new cross-platform methods that replace all of the unique
14669 platform-specific methods.
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>
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).
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.
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
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
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
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
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>
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>
15154 Fix compilation of the Qt scrollbar code.
15156 * platform/qt/PlatformScrollBarQt.cpp:
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>
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
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).
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):
15220 * platform/qt/ScrollbarThemeQt.cpp:
15221 (WebCore::styleOptionSlider):
15222 (WebCore::ScrollbarThemeQt::hitTest):
15223 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
15224 (WebCore::ScrollbarThemeQt::invalidatePart):
15225 (WebCore::ScrollbarThemeQt::thumbPosition):
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.
15239 https://bugs.webkit.org/show_bug.cgi?id=20180
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):
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):
15271 (WebCore::unloading):
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.
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.
15294 Reviewed by Sam Weinig
15296 * WebCore.vcproj/WebCore.vcproj:
15297 * platform/ScrollTypes.h:
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):
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
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>
15364 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
15365 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
15368 dispatchHTMLEvent -> dispatchEventForType
15369 setHTMLEventListener -> setEventListenerForType
15370 getHTMLEventListener -> eventListenerForType
15371 removeHTMLEventListener -> removeEventListenerForType
15372 isHTMLEventListener -> isAttachedToEventTargetNode
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.
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):
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):
15505 (WebCore::Frame::sendScrollEvent):
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.
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>
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
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>
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>
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
15718 Check the width and height and throw an exception if any of them are 0.
15720 * html/CanvasRenderingContext2D.cpp:
15721 (WebCore::CanvasRenderingContext2D::createPattern):
15723 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
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>
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>
15748 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
15752 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
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
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.
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).
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
15860 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
15862 2008-09-14 Maciej Stachowiak <mjs@apple.com>
15864 Unreviewed build fix.
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
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
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
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):
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
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>
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>
16044 * platform/qt/ScrollViewQt.cpp:
16045 (WebCore::ScrollView::updateScrollbars):
16047 2008-09-14 Sam Weinig <sam@webkit.org>
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.
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.
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
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.
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.
16191 Reviewed by Sam Weinig
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):
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):
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."
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>
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>
16419 Re-introducing the code since it was not the cause of the crash.
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.
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:
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):
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>
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>
16586 https://bugs.webkit.org/show_bug.cgi?id=20180
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>
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>
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>
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
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
16718 2008-09-09 Dave Hyatt <hyatt@apple.com
16720 Resurrect PlatformScrollbarWin.
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
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.
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).
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).
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
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>
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>
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>
16941 Fix compilation of the Qt port with disabled plugins on Windows
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
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
17060 2008-09-08 Anders Carlsson <andersca@apple.com>
17062 Reviewed by Maciej.
17064 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
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).
17069 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
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
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):
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):
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:
17400 (WebCore::Node::setDocument):
17401 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
17402 (WebCore::resolveNamespacesForSelector):
17403 (WebCore::Node::querySelector):
17404 (WebCore::Node::querySelectorAll):
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:
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:
17428 * page/InspectorController.cpp:
17429 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
17430 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
17431 (WebCore::InspectorResource::setXMLHttpRequestProperties):
17432 (WebCore::InspectorResource::sourceString):
17433 (WebCore::getResourceDocumentNode):
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:
17462 (WebCore::Page::setDebuggerForAllPages):
17463 (WebCore::Page::setDebugger):
17465 (WebCore::Page::debugger):
17466 * page/mac/FrameMac.mm:
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
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.
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>
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
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
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.
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
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>
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.
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
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):
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
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
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
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
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):
17840 (WebCore::Settings::shouldPaintNativeControls):
17841 * rendering/RenderThemeSafari.cpp:
17843 * rendering/RenderThemeWin.cpp:
17845 2008-09-05 Antti Koivisto <antti@apple.com>
17849 * svg/SVGFEImageElement.cpp:
17850 (WebCore::SVGFEImageElement::build):
17852 2008-09-05 Dirk Schulze <vbs85@gmx.de>
17858 2008-09-05 Antti Koivisto <antti@apple.com>
17862 * svg/SVGFEImageElement.cpp:
17863 (WebCore::SVGFEImageElement::notifyFinished):
17865 2008-09-05 Antti Koivisto <antti@apple.com>
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.
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.
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.
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.
17899 * WebCore.vcproj/WebCore.vcproj:
17900 * WebCore.xcodeproj/project.pbxproj:
17901 * css/CSSFontFaceSource.h:
17902 * css/CSSImportRule.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):
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>
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>
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:
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>
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
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
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
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>
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
18137 2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
18141 Fix the QtWebKit build to match changes in r36016
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>
18154 Re-enable support for user stylesheets in QtWebKit
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.
18160 As part of the change UserStyleSheetLoader.cpp/h was
18161 moved from WebCore/loader/mac to WebCore/loader.
18164 * WebCore.xcodeproj/project.pbxproj:
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>
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
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>
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>
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.
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
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>
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.
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>
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:
18362 Add return of new JS Keyframe rules
18363 * bindings/objc/DOMInternal.h:
18364 Include new internal header
18366 * DerivedSources.make:
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>
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>
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.
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:
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):
18462 (WebCore::AnimationBase::getNumProperties):
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:
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.
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>
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
18674 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
18675 recommendation of Dave Hyatt.
18679 * WebCore.vcproj/WebCore.vcproj:
18680 * WebCore.xcodeproj/project.pbxproj:
18681 * WebCoreSources.bkl:
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.
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
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
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>
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
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
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>
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
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>
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>
19098 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
19099 <rdar://problem/6169301>
19101 Return the size of the movie data instead of 1000.
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>
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>
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.
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
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
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.
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:
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.
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.
19268 https://bugs.webkit.org/show_bug.cgi?id=20561
19270 * css/CSSTimingFunctionValue.h:
19272 (WebCore::CSSValue::isFontValue):
19273 (WebCore::CSSValue::isImageGeneratorValue):
19274 (WebCore::CSSValue::isImageValue):
19275 (WebCore::CSSValue::isImplicitInitialValue):
19276 * css/CSSValueList.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.
19287 * rendering/Length.h:
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>
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
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
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.
19365 Add a status line to the header string.
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()
19452 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
19453 have to store large Gradient objects in the GraphicsContextState
19455 Made Pattern RefCounted for the same reason.
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:
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:
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
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.
19538 This also now prevents CachedPage from needlessly creating Window
19539 objects when caching pages which didn't already have one. :)
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):
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.
19569 * page/qt/AccessibilityObjectQt.cpp: Added.
19570 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
19572 2008-08-27 Alp Toker <alp@nuanti.com>
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>
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.
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
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.
19635 Defer all WebCore timers when a modal dialog is up. They are not
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.
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>
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>
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
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.
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>
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
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>
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>
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>
19963 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
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
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):
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>
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>
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.
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.
20063 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
20064 buggy window message hook.
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.
20069 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
20070 and prevents the WebFrame leak.
20072 Reviewed by Darin Adler, Geoff Garen.
20074 * platform/win/SharedTimerWin.cpp:
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.
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.
20151 * bridge/testbindings.cpp:
20153 * loader/SubstituteData.h:
20156 * page/ChromeClient.h:
20158 * page/FrameLoadRequest.h:
20159 * page/FrameTree.cpp:
20160 * page/FrameTree.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
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.
20412 Don't post a timer message if one is already pending.
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
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
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.
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:
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
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
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)
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
20582 (WebCore::Node::isInShadowTree):
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
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:
20607 (WebCore::Frame::excludeFromTextSearch):
20608 (WebCore::Frame::setExcludeFromTextSearch):
20609 (WebCore::FramePrivate::FramePrivate):
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
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.
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:
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:
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):
20731 (_NPN_GetProperty):
20732 (_NPN_SetProperty):
20733 (_NPN_RemoveProperty):
20734 (_NPN_HasProperty):
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:
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:
20810 * bridge/testbindings.mm:
20812 * bridge/testqtbindings.cpp:
20814 * dom/Document.cpp:
20815 (WebCore::Document::~Document):
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):
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):
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>
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:
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]):
21015 (-[AccessibilityObjectWrapper roleDescription]):
21016 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
21017 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
21018 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
21020 2008-08-19 Steve Falkenburg <sfalken@apple.com>
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):
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>
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>
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):
21189 2008-08-12 Darin Adler <darin@apple.com>
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
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
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
21236 * bridge/qt/qt_instance.h: Ditto.
21238 * bridge/runtime.h:
21239 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
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>
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
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>
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>
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>
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.
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.
21390 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
21391 JSGlobalData, so the two could share a pointer.
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.
21422 Works by queuing up found body preloads to DocLoader and only issuing them
21423 after document has rendering.
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):
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>
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>
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):
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>
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:
21674 (WebCore::Page::Page):
21675 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
21676 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
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>
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>
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.
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>
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
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.
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.
21906 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
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>
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>
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
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>
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>
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
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:
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
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>
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!).
22408 2008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
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>
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>
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
22462 is valid and should not be reencoded to:
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
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):
22483 (WebCore::Frame::Frame):
22485 2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
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
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:
22543 2008-08-12 Adam Roben <aroben@apple.com>
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>
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
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>
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.
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>
22760 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
22761 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
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:
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:
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
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.
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 ==