1 2008-11-04 Cameron Zwarich <zwarich@apple.com>
3 Rubber-stamped by Sam Weinig.
5 Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
7 * ForwardingHeaders/kjs/dtoa.h: Removed.
8 * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
10 * platform/text/String.cpp:
11 * platform/text/StringImpl.cpp:
13 2008-11-04 Jonathan Haas <myrdred@gmail.com>
15 Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
17 Reviewed by Darin Adler.
19 Fixed an issue which could cause memory corruption using ToT libxml.
20 See https://bugs.webkit.org/show_bug.cgi?id=15715
22 Test: fast/xsl/xslt-nested-stylesheets.xml
24 * xml/XSLImportRule.cpp:
25 (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
26 * xml/XSLStyleSheet.cpp:
27 (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
28 (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
29 (WebCore::XSLStyleSheet::setParentStyleSheet): Added
30 * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
32 2008-11-04 Simon Fraser <simon.fraser@apple.com>
36 Improved buid fix: include MathExtras.h to get roundf on all platforms.
38 * platform/graphics/FloatPoint.h:
40 2008-11-04 Brady Eidson <beidson@apple.com>
42 Reviewed by John Sullivan
44 Add a simple "visited" method to HistoryItem for use by global history
48 * history/HistoryItem.cpp:
49 (WebCore::HistoryItem::visited): Update the title on the item, set last visited time,
50 and bump the visit count. All things that should happen when a url is visited again!
51 * history/HistoryItem.h:
53 2008-11-04 Jan Michael Alonzo <jmalonzo@webkit.org>
55 Build fix. Not reviewed.
57 * platform/graphics/FloatPoint.h: include math.h.
58 reported by zdobersek in #webkit.
60 2008-11-04 Darin Fisher <darin@chromium.org>
62 Reviewed by Anders Carlsson.
64 No need to clobber all ResourceRequest fields in FrameLoader::reload()
65 https://bugs.webkit.org/show_bug.cgi?id=21949
67 * loader/FrameLoader.cpp:
68 (WebCore::FrameLoader::reload):
70 2008-11-04 Darin Adler <darin@apple.com>
72 Reviewed by Tim Hatcher.
74 * storage/Database.cpp:
75 (WebCore::databaseVersionKey): Tweaked formatting.
77 2008-11-03 Darin Adler <darin@apple.com>
79 Reviewed by Tim Hatcher.
81 - https://bugs.webkit.org/show_bug.cgi?id=22061
82 create script to check for exit-time destructors
84 * WebCore.xcodeproj/project.pbxproj: Added a script
85 phase that runs the check-for-exit-time-destructors script.
87 * html/HTMLAttributeNames.in: Removed some unused attribute names.
89 * html/HTMLEmbedElement.cpp:
90 (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
91 sets the write-only m_pluginPage.
92 * html/HTMLEmbedElement.h: Ditto.
94 * platform/mac/CursorMac.mm:
95 (WebCore::leakNamedCursor): Changed to return a Cursor&.
96 (WebCore::pointerCursor): Changed to leak an object to avoid an
98 (WebCore::crossCursor): Ditto.
99 (WebCore::handCursor): Ditto.
100 (WebCore::moveCursor): Ditto.
101 (WebCore::verticalTextCursor): Ditto.
102 (WebCore::cellCursor): Ditto.
103 (WebCore::contextMenuCursor): Ditto.
104 (WebCore::aliasCursor): Ditto.
105 (WebCore::zoomInCursor): Ditto.
106 (WebCore::zoomOutCursor): Ditto.
107 (WebCore::copyCursor): Ditto.
108 (WebCore::noneCursor): Ditto.
109 (WebCore::progressCursor): Ditto.
110 (WebCore::noDropCursor): Ditto.
111 (WebCore::notAllowedCursor): Ditto.
112 (WebCore::iBeamCursor): Ditto.
113 (WebCore::waitCursor): Ditto.
114 (WebCore::helpCursor): Ditto.
115 (WebCore::eastResizeCursor): Ditto.
116 (WebCore::northResizeCursor): Ditto.
117 (WebCore::northEastResizeCursor): Ditto.
118 (WebCore::northWestResizeCursor): Ditto.
119 (WebCore::southResizeCursor): Ditto.
120 (WebCore::southEastResizeCursor): Ditto.
121 (WebCore::southWestResizeCursor): Ditto.
122 (WebCore::westResizeCursor): Ditto.
123 (WebCore::northSouthResizeCursor): Ditto.
124 (WebCore::eastWestResizeCursor): Ditto.
125 (WebCore::northEastSouthWestResizeCursor): Ditto.
126 (WebCore::northWestSouthEastResizeCursor): Ditto.
127 (WebCore::columnResizeCursor): Ditto.
128 (WebCore::rowResizeCursor): Ditto.
129 (WebCore::grabCursor): Ditto.
130 (WebCore::grabbingCursor): Ditto.
132 * storage/Database.cpp:
133 (WebCore::guidMutex): Changed to leak an object to avoid an
134 exit-time destructor. Also added a comment explaining why it's
136 (WebCore::guidToVersionMap): Ditto.
137 (WebCore::guidToDatabaseMap): Ditto.
138 (WebCore::Database::databaseInfoTableName): Ditto.
139 (WebCore::databaseVersionKey): Ditto.
140 (WebCore::Database::getVersionFromDatabase): Ditto.
141 (WebCore::Database::setVersionInDatabase): Ditto.
142 (WebCore::guidForOriginAndName): Ditto.
143 * storage/DatabaseTracker.cpp:
144 (WebCore::DatabaseTracker::tracker): Ditto.
145 (WebCore::notificationMutex): Ditto.
146 (WebCore::notificationQueue): Ditto.
147 (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
149 2008-11-04 Simon Fraser <simon.fraser@apple.com>
151 Reviewed by Dave Hyatt
153 https://bugs.webkit.org/show_bug.cgi?id=21941
155 Rename absolutePosition() to localToAbsolute(), and add the ability
156 to optionally take transforms into account (which will eventually be the
160 * WebCore.xcodeproj/project.pbxproj:
161 * dom/ContainerNode.cpp:
162 (WebCore::ContainerNode::getUpperLeftCorner):
163 (WebCore::ContainerNode::getLowerRightCorner):
164 (WebCore::ContainerNode::getRect):
165 * dom/ContainerNode.h:
166 * dom/MouseRelatedEvent.cpp:
167 (WebCore::MouseRelatedEvent::receivedTarget):
169 (WebCore::Node::getRect):
170 * editing/SelectionController.cpp:
171 (WebCore::SelectionController::layout):
172 (WebCore::SelectionController::caretRect):
173 * editing/visible_units.cpp:
174 (WebCore::previousLinePosition):
175 (WebCore::nextLinePosition):
176 * html/HTMLAnchorElement.cpp:
177 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
178 (WebCore::HTMLAnchorElement::defaultEventHandler):
179 * html/HTMLAreaElement.cpp:
180 (WebCore::HTMLAreaElement::getRect):
181 * html/HTMLImageElement.cpp:
182 (WebCore::HTMLImageElement::x):
183 (WebCore::HTMLImageElement::y):
184 * html/HTMLInputElement.cpp:
185 (WebCore::HTMLInputElement::defaultEventHandler):
186 * html/HTMLInputElement.h:
187 * page/AccessibilityRenderObject.cpp:
188 (WebCore::AccessibilityRenderObject::boundingBoxRect):
189 * page/EventHandler.cpp:
190 (WebCore::EventHandler::handleDrag):
191 * platform/graphics/FloatPoint.h:
192 (WebCore::roundedIntPoint):
193 * platform/graphics/IntSize.h:
194 (WebCore::IntSize::expand):
195 * rendering/LayoutState.cpp:
196 (WebCore::LayoutState::LayoutState):
197 * rendering/RenderBlock.cpp:
198 (WebCore::RenderBlock::layoutBlock):
199 (WebCore::RenderBlock::paintObject):
200 (WebCore::RenderBlock::selectionGapRects):
201 (WebCore::RenderBlock::fillBlockSelectionGaps):
202 (WebCore::RenderBlock::nodeAtPoint):
203 (WebCore::RenderBlock::positionForCoordinates):
204 * rendering/RenderBox.cpp:
205 (WebCore::RenderBox::localToAbsolute):
206 (WebCore::RenderBox::computeAbsoluteRepaintRect):
207 (WebCore::RenderBox::caretRect):
208 * rendering/RenderBox.h:
209 (WebCore::RenderBox::relativePositionOffset):
210 * rendering/RenderContainer.cpp:
211 (WebCore::RenderContainer::addLineBoxRects):
212 * rendering/RenderFlow.cpp:
213 (WebCore::RenderFlow::absoluteClippedOverflowRect):
214 (WebCore::RenderFlow::caretRect):
215 (WebCore::RenderFlow::addFocusRingRects):
216 * rendering/RenderLayer.cpp:
217 (WebCore::RenderLayer::updateLayerPosition):
218 (WebCore::RenderLayer::convertToLayerCoords):
219 (WebCore::RenderLayer::addScrolledContentOffset):
220 (WebCore::RenderLayer::subtractScrolledContentOffset):
221 (WebCore::RenderLayer::scrollRectToVisible):
222 * rendering/RenderLayer.h:
223 (WebCore::RenderLayer::scrolledContentOffset):
224 (WebCore::RenderLayer::relativePositionOffset):
225 * rendering/RenderListBox.cpp:
226 (WebCore::RenderListBox::panScroll):
227 (WebCore::RenderListBox::scrollToward):
228 * rendering/RenderListMarker.cpp:
229 (WebCore::RenderListMarker::selectionRect):
230 * rendering/RenderObject.cpp:
231 (WebCore::RenderObject::absoluteBoundingBoxRect):
232 (WebCore::RenderObject::computeAbsoluteRepaintRect):
233 (WebCore::RenderObject::localToAbsolute):
234 (WebCore::RenderObject::addDashboardRegions):
235 (WebCore::RenderObject::absoluteContentBox):
236 (WebCore::RenderObject::absoluteOutlineBox):
237 * rendering/RenderObject.h:
238 (WebCore::RenderObject::localToAbsoluteForContent):
239 * rendering/RenderPart.cpp:
240 (WebCore::RenderPart::updateWidgetPosition):
241 * rendering/RenderReplaced.cpp:
242 (WebCore::RenderReplaced::selectionRect):
243 * rendering/RenderSVGInlineText.cpp:
244 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
245 * rendering/RenderSVGText.cpp:
246 (WebCore::RenderSVGText::absoluteRects):
247 * rendering/RenderTableCell.cpp:
248 (WebCore::RenderTableCell::localToAbsolute):
249 * rendering/RenderTableCell.h:
250 * rendering/RenderText.cpp:
251 (WebCore::RenderText::addLineBoxRects):
252 (WebCore::RenderText::caretRect):
253 (WebCore::RenderText::selectionRect):
254 * rendering/RenderVideo.cpp:
255 (WebCore::RenderVideo::updatePlayer):
256 * rendering/RenderView.cpp:
257 (WebCore::RenderView::localToAbsolute):
258 * rendering/RenderView.h:
259 * rendering/RenderWidget.cpp:
260 (WebCore::RenderWidget::updateWidgetPosition):
261 * svg/SVGSVGElement.cpp:
262 (WebCore::SVGSVGElement::getScreenCTM):
264 2008-11-03 Yael Aharon <yael.aharon@nokia.com>
266 Reviewed by Simon Hausmann.
268 Add methods for getting and setting user data on History Item.
269 This change is limited to QT port only. Tests were added in
270 the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
272 Minor change by Simon: made the functions inline and added a missing
275 * history/HistoryItem.h:
277 2008-11-01 Alexey Proskuryakov <ap@webkit.org>
279 Reviewed by Darin Adler.
281 https://bugs.webkit.org/show_bug.cgi?id=22030
282 Make EventNames usable from multiple threads
284 * platform/text/AtomicString.cpp:
285 (WebCore::stringTable):
286 (WebCore::AtomicString::add):
287 (WebCore::AtomicString::remove):
288 (WebCore::AtomicString::find):
289 (WebCore::AtomicString::init):
290 * platform/text/AtomicString.h:
291 Atomic string table is now per-thread. Individual strings cannot be shared between threads,
292 so global AtomicString constants cannot be used from threads other than the main one.
294 * dom/EventNames.cpp:
295 (WebCore::EventNames::EventNames):
296 (WebCore::eventNames):
297 (WebCore::EventNames::init):
299 Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
300 eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
304 * bindings/js/JSDOMWindowBase.cpp:
305 * bindings/js/JSEventListener.cpp:
306 * bindings/js/ScriptController.cpp:
307 (WebCore::ScriptController::processingUserGesture):
308 * dom/BeforeTextInsertedEvent.cpp:
309 (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
310 * dom/BeforeUnloadEvent.cpp:
311 (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
312 * dom/CharacterData.cpp:
313 (WebCore::CharacterData::dispatchModifiedEvent):
314 * dom/ContainerNode.cpp:
315 (WebCore::dispatchChildInsertionEvents):
316 (WebCore::dispatchChildRemovalEvents):
317 * dom/DedicatedWorker.cpp:
318 (WebCore::DedicatedWorker::dispatchErrorEvent):
320 (WebCore::Document::implicitClose):
321 (WebCore::Document::setFocusedNode):
322 (WebCore::Document::addListenerTypeIfNeeded):
323 (WebCore::Document::removeWindowInlineEventListenerForType):
324 (WebCore::Document::addWindowEventListener):
325 (WebCore::Document::removeWindowEventListener):
326 (WebCore::Document::finishedParsing):
327 * dom/EventTargetNode.cpp:
328 (WebCore::EventTargetNode::dispatchGenericEvent):
329 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
330 (WebCore::EventTargetNode::dispatchWindowEvent):
331 (WebCore::EventTargetNode::dispatchUIEvent):
332 (WebCore::EventTargetNode::dispatchSimulatedClick):
333 (WebCore::EventTargetNode::dispatchMouseEvent):
334 (WebCore::EventTargetNode::dispatchFocusEvent):
335 (WebCore::EventTargetNode::dispatchBlurEvent):
336 (WebCore::EventTargetNode::defaultEventHandler):
337 (WebCore::EventTargetNode::on*): (multiple methods)
338 (WebCore::EventTargetNode::setOn*): (multiple methods)
339 * dom/KeyboardEvent.cpp:
340 (WebCore::eventTypeForKeyboardEventType):
341 (WebCore::KeyboardEvent::keyCode):
342 (WebCore::KeyboardEvent::charCode):
343 * dom/MessageEvent.cpp:
344 (WebCore::MessageEvent::MessageEvent):
345 * dom/MessagePort.cpp:
346 (WebCore::MessagePort::dispatchMessages):
347 (WebCore::MessagePort::dispatchCloseEvent):
348 * dom/MouseEvent.cpp:
349 (WebCore::MouseEvent::isDragEvent):
350 (WebCore::MouseEvent::toElement):
351 (WebCore::MouseEvent::fromElement):
352 * dom/OverflowEvent.cpp:
353 (WebCore::OverflowEvent::OverflowEvent):
355 (WebCore::TextEvent::TextEvent):
356 * dom/WebKitAnimationEvent.cpp:
357 (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
358 (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
359 (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
360 (WebCore::WebKitAnimationEvent::animationName):
361 (WebCore::WebKitAnimationEvent::elapsedTime):
362 * dom/WebKitTransitionEvent.cpp:
363 (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
364 (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
365 (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
366 (WebCore::WebKitTransitionEvent::propertyName):
367 (WebCore::WebKitTransitionEvent::elapsedTime):
368 * dom/WheelEvent.cpp:
369 (WebCore::WheelEvent::WheelEvent):
370 (WebCore::WheelEvent::initWheelEvent):
371 * dom/XMLTokenizerLibxml2.cpp:
372 * dom/XMLTokenizerQt.cpp:
373 * editing/DeleteButton.cpp:
374 (WebCore::DeleteButton::defaultEventHandler):
375 * editing/EditCommand.cpp:
376 * editing/Editor.cpp:
377 (WebCore::Editor::canDHTMLCut):
378 (WebCore::Editor::canDHTMLCopy):
379 (WebCore::Editor::canDHTMLPaste):
380 (WebCore::Editor::tryDHTMLCopy):
381 (WebCore::Editor::tryDHTMLCut):
382 (WebCore::Editor::tryDHTMLPaste):
383 (WebCore::dispatchEditableContentChangedEvents):
384 * editing/ReplaceSelectionCommand.cpp:
385 (WebCore::ReplacementFragment::ReplacementFragment):
386 * editing/SelectionController.cpp:
387 (WebCore::SelectionController::setFocused):
388 * html/HTMLAnchorElement.cpp:
389 (WebCore::HTMLAnchorElement::defaultEventHandler):
390 * html/HTMLBodyElement.cpp:
391 (WebCore::HTMLBodyElement::parseMappedAttribute):
392 * html/HTMLButtonElement.cpp:
393 (WebCore::HTMLButtonElement::parseMappedAttribute):
394 (WebCore::HTMLButtonElement::defaultEventHandler):
395 * html/HTMLElement.cpp:
396 (WebCore::HTMLElement::parseMappedAttribute):
397 * html/HTMLFormControlElement.cpp:
398 (WebCore::HTMLFormControlElement::onChange):
399 * html/HTMLFormElement.cpp:
400 (WebCore::HTMLFormElement::handleLocalEvents):
401 (WebCore::HTMLFormElement::prepareSubmit):
402 (WebCore::HTMLFormElement::reset):
403 (WebCore::HTMLFormElement::parseMappedAttribute):
404 * html/HTMLFrameElementBase.cpp:
405 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
406 * html/HTMLFrameSetElement.cpp:
407 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
408 * html/HTMLImageElement.cpp:
409 (WebCore::HTMLImageElement::parseMappedAttribute):
410 * html/HTMLImageLoader.cpp:
411 (WebCore::HTMLImageLoader::dispatchLoadEvent):
412 * html/HTMLInputElement.cpp:
413 (WebCore::HTMLInputElement::parseMappedAttribute):
414 (WebCore::HTMLInputElement::setValueFromRenderer):
415 (WebCore::HTMLInputElement::preDispatchEventHandler):
416 (WebCore::HTMLInputElement::postDispatchEventHandler):
417 (WebCore::HTMLInputElement::defaultEventHandler):
418 (WebCore::HTMLInputElement::onSearch):
419 * html/HTMLLabelElement.cpp:
420 (WebCore::HTMLLabelElement::defaultEventHandler):
421 * html/HTMLMediaElement.cpp:
422 (WebCore::HTMLMediaElement::load):
423 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
424 (WebCore::HTMLMediaElement::setReadyState):
425 (WebCore::HTMLMediaElement::progressEventTimerFired):
426 (WebCore::HTMLMediaElement::seek):
427 (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
428 (WebCore::HTMLMediaElement::setPlaybackRate):
429 (WebCore::HTMLMediaElement::play):
430 (WebCore::HTMLMediaElement::pause):
431 (WebCore::HTMLMediaElement::setVolume):
432 (WebCore::HTMLMediaElement::setMuted):
433 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
434 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
435 * html/HTMLObjectElement.cpp:
436 (WebCore::HTMLObjectElement::parseMappedAttribute):
437 * html/HTMLOptionElement.cpp:
438 * html/HTMLScriptElement.cpp:
439 (WebCore::HTMLScriptElement::parseMappedAttribute):
440 (WebCore::HTMLScriptElement::dispatchLoadEvent):
441 (WebCore::HTMLScriptElement::dispatchErrorEvent):
442 * html/HTMLSelectElement.cpp:
443 (WebCore::HTMLSelectElement::parseMappedAttribute):
444 (WebCore::HTMLSelectElement::defaultEventHandler):
445 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
446 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
447 * html/HTMLTextAreaElement.cpp:
448 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
449 (WebCore::HTMLTextAreaElement::defaultEventHandler):
450 * html/HTMLTokenizer.cpp:
451 (WebCore::HTMLTokenizer::notifyFinished):
452 * loader/FrameLoader.cpp:
453 (WebCore::FrameLoader::stopLoading):
454 (WebCore::FrameLoader::canCachePage):
455 * loader/ImageDocument.cpp:
456 (WebCore::ImageEventListener::handleEvent):
457 * loader/ImageLoader.cpp:
458 * loader/MediaDocument.cpp:
459 (WebCore::MediaDocument::defaultEventHandler):
460 * loader/appcache/DOMApplicationCache.cpp:
461 (WebCore::DOMApplicationCache::callCheckingListener):
462 (WebCore::DOMApplicationCache::callErrorListener):
463 (WebCore::DOMApplicationCache::callNoUpdateListener):
464 (WebCore::DOMApplicationCache::callDownloadingListener):
465 (WebCore::DOMApplicationCache::callProgressListener):
466 (WebCore::DOMApplicationCache::callUpdateReadyListener):
467 (WebCore::DOMApplicationCache::callCachedListener):
468 * page/AccessibilityObject.cpp:
469 * page/AccessibilityRenderObject.cpp:
470 (WebCore::AccessibilityRenderObject::mouseButtonListener):
471 * page/ContextMenuController.cpp:
472 (WebCore::ContextMenuController::handleContextMenuEvent):
473 * page/DOMWindow.cpp:
474 (WebCore::DOMWindow::on*): (multiple methods)
475 (WebCore::DOMWindow::setOn*): (multiple methods)
476 * page/EventHandler.cpp:
477 (WebCore::EventHandler::handleMousePressEvent):
478 (WebCore::EventHandler::handleMouseDoubleClickEvent):
479 (WebCore::EventHandler::handleMouseMoveEvent):
480 (WebCore::EventHandler::handleMouseReleaseEvent):
481 (WebCore::EventHandler::updateDragAndDrop):
482 (WebCore::EventHandler::cancelDragAndDrop):
483 (WebCore::EventHandler::performDragAndDrop):
484 (WebCore::EventHandler::updateMouseEventTargetNode):
485 (WebCore::EventHandler::dispatchMouseEvent):
486 (WebCore::EventHandler::sendContextMenuEvent):
487 (WebCore::EventHandler::canMouseDownStartSelect):
488 (WebCore::EventHandler::canMouseDragExtendSelect):
489 (WebCore::EventHandler::defaultKeyboardEventHandler):
490 (WebCore::EventHandler::dragSourceMovedTo):
491 (WebCore::EventHandler::dragSourceEndedAt):
492 (WebCore::EventHandler::handleDrag):
493 (WebCore::EventHandler::handleTextInputEvent):
494 * page/FocusController.cpp:
496 (WebCore::Frame::sendResizeEvent):
497 (WebCore::Frame::sendScrollEvent):
499 (WebCore::networkStateChanged):
500 * page/animation/AnimationBase.cpp:
501 (WebCore::AnimationBase::updateStateMachine):
502 (WebCore::AnimationBase::animationTimerCallbackFired):
503 (WebCore::AnimationBase::primeEventTimers):
504 * page/animation/ImplicitAnimation.cpp:
505 (WebCore::ImplicitAnimation::onAnimationEnd):
506 (WebCore::ImplicitAnimation::sendTransitionEvent):
507 * page/animation/KeyframeAnimation.cpp:
508 (WebCore::KeyframeAnimation::onAnimationStart):
509 (WebCore::KeyframeAnimation::onAnimationIteration):
510 (WebCore::KeyframeAnimation::onAnimationEnd):
511 (WebCore::KeyframeAnimation::sendAnimationEvent):
512 * page/gtk/EventHandlerGtk.cpp:
513 * page/mac/EventHandlerMac.mm:
514 (WebCore::isKeyboardOptionTab):
515 * page/mac/FrameMac.mm:
516 * page/qt/EventHandlerQt.cpp:
517 (WebCore::isKeyboardOptionTab):
518 * plugins/PluginView.cpp:
519 * plugins/gtk/PluginViewGtk.cpp:
520 * plugins/qt/PluginViewQt.cpp:
521 * plugins/win/PluginViewWin.cpp:
522 (WebCore::PluginView::handleKeyboardEvent):
523 (WebCore::PluginView::handleMouseEvent):
524 * rendering/MediaControlElements.cpp:
525 (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
526 (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
527 (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
528 (WebCore::MediaControlTimelineElement::defaultEventHandler):
529 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
530 * rendering/RenderFrameSet.cpp:
531 (WebCore::RenderFrameSet::userResize):
532 * rendering/RenderLayer.cpp:
533 (WebCore::RenderLayer::scrollToOffset):
534 * rendering/RenderListBox.cpp:
535 (WebCore::RenderListBox::valueChanged):
536 * rendering/RenderMedia.cpp:
537 (WebCore::RenderMedia::forwardEvent):
538 * rendering/RenderObject.cpp:
539 * rendering/RenderSlider.cpp:
540 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
541 * rendering/RenderTextControl.cpp:
542 (WebCore::RenderTextControl::forwardEvent):
543 (WebCore::RenderTextControl::selectionChanged):
544 * rendering/RenderWidget.cpp:
545 * rendering/TextControlInnerElements.cpp:
546 (WebCore::TextControlInnerTextElement::defaultEventHandler):
547 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
548 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
549 * storage/LocalStorageArea.cpp:
550 (WebCore::LocalStorageArea::dispatchStorageEvent):
551 * storage/SessionStorageArea.cpp:
552 (WebCore::SessionStorageArea::dispatchStorageEvent):
553 * svg/SVGAElement.cpp:
554 (WebCore::SVGAElement::defaultEventHandler):
555 * svg/SVGDocument.cpp:
556 (WebCore::SVGDocument::dispatchZoomEvent):
557 (WebCore::SVGDocument::dispatchScrollEvent):
558 * svg/SVGElement.cpp:
559 (WebCore::SVGElement::parseMappedAttribute):
560 (WebCore::hasLoadListener):
561 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
562 * svg/SVGElementInstance.cpp:
563 (WebCore::SVGElementInstance::on*): (multiple methods)
564 (WebCore::SVGElementInstance::setOn*): (multiple methods)
565 * svg/SVGImageLoader.cpp:
566 (WebCore::SVGImageLoader::dispatchLoadEvent):
567 * svg/SVGSVGElement.cpp:
568 (WebCore::SVGSVGElement::parseMappedAttribute):
569 * svg/SVGScriptElement.cpp:
570 (WebCore::SVGScriptElement::dispatchErrorEvent):
571 * xml/XMLHttpRequest.cpp:
572 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
573 (WebCore::XMLHttpRequest::dispatchAbortEvent):
574 (WebCore::XMLHttpRequest::dispatchErrorEvent):
575 (WebCore::XMLHttpRequest::dispatchLoadEvent):
576 (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
577 (WebCore::XMLHttpRequest::dispatchProgressEvent):
578 * xml/XMLHttpRequestUpload.cpp:
579 (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
580 (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
581 (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
582 (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
583 (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
584 * xml/XPathResult.cpp:
585 (WebCore::XPathResult::XPathResult):
586 (WebCore::XPathResult::~XPathResult):
587 (WebCore::XPathResult::invalidateIteratorState):
588 Access event names via eventNames() function.
590 2008-11-04 Cameron Zwarich <zwarich@apple.com>
592 Reviewed by Mark Rowe.
594 Delete unused forwarding headers.
596 * ForwardingHeaders/kjs/Activation.h: Removed.
597 * ForwardingHeaders/kjs/Register.h: Removed.
598 * ForwardingHeaders/kjs/RegisterID.h: Removed.
600 2008-11-04 Cameron Zwarich <zwarich@apple.com>
604 Fix stupid typo in previous build fix.
606 * bindings/js/JSStorageCustom.cpp:
607 * bindings/scripts/CodeGeneratorJS.pm:
608 * bridge/NP_jsobject.cpp:
610 2008-11-03 Cameron Zwarich <zwarich@apple.com>
614 Fix the build for all non-Mac platforms.
616 * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
617 * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
618 * bindings/js/JSStorageCustom.cpp:
619 * bindings/scripts/CodeGeneratorJS.pm:
620 * bridge/NP_jsobject.cpp:
622 2008-11-03 Cameron Zwarich <zwarich@apple.com>
626 Fix the wxWindows build.
628 * bridge/c/c_instance.cpp:
630 2008-11-03 Cameron Zwarich <zwarich@apple.com>
632 Rubber-stamped by Maciej Stachowiak.
634 Move more files into the runtime subdirectory of JavaScriptCore.
636 * ForwardingHeaders/kjs/ArgList.h: Removed.
637 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
638 * ForwardingHeaders/kjs/ExecState.h: Removed.
639 * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
640 * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
641 * ForwardingHeaders/kjs/JSLock.h: Removed.
642 * ForwardingHeaders/kjs/SymbolTable.h: Removed.
643 * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
644 * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
645 * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
646 * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
647 * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
648 * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
649 * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
650 * bindings/js/GCController.cpp:
651 * bindings/js/JSCustomPositionCallback.cpp:
652 * bindings/js/JSCustomPositionErrorCallback.cpp:
653 * bindings/js/JSCustomSQLStatementCallback.cpp:
654 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
655 * bindings/js/JSCustomSQLTransactionCallback.cpp:
656 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
657 * bindings/js/JSCustomVoidCallback.cpp:
658 * bindings/js/JSCustomXPathNSResolver.cpp:
659 * bindings/js/JSDOMWindowBase.cpp:
660 * bindings/js/JSEventCustom.cpp:
661 * bindings/js/JSEventListener.cpp:
662 * bindings/js/JSNodeFilterCondition.cpp:
663 * bindings/js/ScheduledAction.cpp:
664 * bindings/js/ScriptController.cpp:
665 * bindings/js/ScriptControllerMac.mm:
666 * bindings/objc/WebScriptObject.mm:
667 * bridge/NP_jsobject.cpp:
668 * bridge/c/c_class.cpp:
669 * bridge/c/c_instance.cpp:
670 * bridge/c/c_runtime.cpp:
671 * bridge/c/c_utility.cpp:
672 * bridge/jni/jni_class.cpp:
673 * bridge/jni/jni_instance.cpp:
674 * bridge/jni/jni_jsobject.mm:
675 * bridge/jni/jni_objc.mm:
676 * bridge/jni/jni_runtime.cpp:
677 * bridge/jni/jni_runtime.h:
678 * bridge/jni/jni_utility.cpp:
679 * bridge/npruntime.cpp:
680 * bridge/objc/objc_instance.mm:
681 * bridge/objc/objc_runtime.mm:
682 * bridge/objc/objc_utility.mm:
683 * bridge/runtime.cpp:
686 * dom/NodeFilter.cpp:
687 * dom/NodeIterator.cpp:
688 * dom/TreeWalker.cpp:
689 * history/CachedPage.cpp:
690 * inspector/InspectorController.cpp:
691 * inspector/JavaScriptCallFrame.cpp:
692 * inspector/JavaScriptCallFrame.h:
693 * inspector/JavaScriptDebugServer.cpp:
694 * inspector/JavaScriptProfileNode.cpp:
695 * loader/FrameLoader.cpp:
696 * loader/icon/IconDatabase.cpp:
699 * page/mac/FrameMac.mm:
700 * plugins/PluginView.cpp:
701 * plugins/gtk/PluginViewGtk.cpp:
702 * plugins/qt/PluginViewQt.cpp:
703 * plugins/win/PluginViewWin.cpp:
704 * storage/Database.cpp:
705 * xml/XMLHttpRequest.cpp:
707 2008-11-03 Cameron Zwarich <zwarich@apple.com>
709 Reviewed by Sam Weinig.
711 Remove the forwarding header for FunctionCallProfile, because it was
712 renamed to ProfileNode in r33466.
714 * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
716 2008-11-03 Simon Fraser <simon.fraser@apple.com>
718 Reviewed by Dave Hyatt
720 https://bugs.webkit.org/show_bug.cgi?id=22026
722 When computing the bounds of the transparency layer, we need to
723 map the clipRect through the enclosing transform.
725 Test: fast/layers/opacity-transforms.html
727 * rendering/RenderLayer.cpp:
728 (WebCore::transparencyClipBox):
730 2008-11-03 Kevin Decker <kdecker@apple.com>
732 Reviewed by Anders Carlsson.
734 https://bugs.webkit.org/show_bug.cgi?id=22053
736 Added additional support needed for the NPDrawingModelCoreAnimation drawing model.
740 2008-11-03 Xan Lopez <xan@gnome.org>
742 Reviewed by Alp Toker.
744 Update parseDataUrl() function in the libsoup http backend with
745 the one from the curl backend which has recent correctness and crash
748 * platform/network/soup/ResourceHandleSoup.cpp:
749 (WebCore::parseDataUrl):
751 2008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
753 Reviewed by Alp Toker.
755 https://bugs.webkit.org/show_bug.cgi?id=22041
756 Fix CURL crashes on the test suite
758 Fix segfault with setDefersLoading(). Do not call into curl when we
759 don't have a CURL handle.
761 It is attempted to defer the loading before the load has been
762 started (no curl handle was allocated yet). If that happens then
763 just remember that. ResourceHandleManager::startJob is already taking
764 care of this and in initResourceHandle the the downloading will
767 Fixes fast/loader/simultaneous-reloads-assert.html
769 * platform/network/curl/ResourceHandleCurl.cpp:
770 (WebCore::ResourceHandle::setDefersLoading):
772 2008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
774 Reviewed by Alp Toker.
776 https://bugs.webkit.org/show_bug.cgi?id=22041
777 Fix CURL crashes on the test suite
779 Do not send "no data" to WebCore in parseDataUrl().
781 Fixes assert on fast/tokenizer/image-empty-crash.html
783 * platform/network/curl/ResourceHandleManager.cpp:
784 (WebCore::parseDataUrl):
786 2008-11-02 Xan Lopez <xan@gnome.org>
788 Reviewed by Holger Freyther.
790 https://bugs.webkit.org/show_bug.cgi?id=22009
791 HTML5 Video with GStreamer pulls gnome-vfs without using it
793 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
794 Remove gnome-vfs include.
796 2008-11-01 Adam Barth <abarth@webkit.org>
798 Reviewed by Sam Weinig.
800 Be sure to check the final URLs of requested resources to make sure we
801 don't get fooled by HTTP redirects.
803 https://bugs.webkit.org/show_bug.cgi?id=21963
805 Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
806 http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
808 * dom/XMLTokenizerLibxml2.cpp:
810 * loader/DocLoader.cpp:
811 (WebCore::DocLoader::canRequest):
812 (WebCore::DocLoader::requestResource):
813 * loader/DocLoader.h:
814 * xml/XSLTProcessor.cpp:
815 (WebCore::docLoaderFunc):
817 2008-11-01 Alexey Proskuryakov <ap@webkit.org>
819 Reviewed by Darin Adler.
821 https://bugs.webkit.org/show_bug.cgi?id=22001
822 AtomicStringImpl* keys of event listener maps can outlive their strings
824 Test: fast/events/destroyed-atomic-string.html
826 * dom/MessagePort.cpp:
827 (WebCore::MessagePort::addEventListener):
828 (WebCore::MessagePort::removeEventListener):
829 (WebCore::MessagePort::dispatchEvent):
831 * loader/appcache/DOMApplicationCache.cpp:
832 (WebCore::DOMApplicationCache::addEventListener):
833 (WebCore::DOMApplicationCache::removeEventListener):
834 (WebCore::DOMApplicationCache::dispatchEvent):
835 * loader/appcache/DOMApplicationCache.h:
836 * xml/XMLHttpRequest.cpp:
837 (WebCore::XMLHttpRequest::addEventListener):
838 (WebCore::XMLHttpRequest::removeEventListener):
839 (WebCore::XMLHttpRequest::dispatchEvent):
840 * xml/XMLHttpRequest.h:
841 * xml/XMLHttpRequestUpload.cpp:
842 (WebCore::XMLHttpRequestUpload::addEventListener):
843 (WebCore::XMLHttpRequestUpload::removeEventListener):
844 (WebCore::XMLHttpRequestUpload::dispatchEvent):
845 * xml/XMLHttpRequestUpload.h:
846 Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
848 2008-10-31 Alexey Proskuryakov <ap@webkit.org>
850 Reviewed by Darin Adler.
852 https://bugs.webkit.org/show_bug.cgi?id=21998
853 Use JSDOMGlobalObject in EventListener-related bindings
855 * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
857 * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
858 bindings for inline event handlers.
860 * bindings/js/JSDOMApplicationCacheCustom.cpp:
861 (WebCore::JSDOMApplicationCache::addEventListener):
862 (WebCore::JSDOMApplicationCache::removeEventListener):
863 * bindings/js/JSEventTargetNodeCustom.cpp:
864 (WebCore::JSEventTargetNode::addEventListener):
865 (WebCore::JSEventTargetNode::removeEventListener):
866 * bindings/js/JSMessagePortCustom.cpp:
867 (WebCore::JSMessagePort::removeEventListener):
868 * bindings/js/JSSVGElementInstanceCustom.cpp:
869 (WebCore::JSSVGElementInstance::addEventListener):
870 (WebCore::JSSVGElementInstance::removeEventListener):
871 * bindings/js/JSXMLHttpRequestCustom.cpp:
872 (WebCore::JSXMLHttpRequest::addEventListener):
873 (WebCore::JSXMLHttpRequest::removeEventListener):
874 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
875 (WebCore::JSXMLHttpRequestUpload::addEventListener):
876 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
877 Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
880 * dom/EventTargetNode.cpp:
881 (WebCore::EventTargetNode::scriptExecutionContext):
882 * dom/EventTargetNode.h:
883 * dom/MessagePort.cpp:
885 (WebCore::MessagePort::scriptExecutionContext):
886 * loader/appcache/DOMApplicationCache.cpp:
887 (WebCore::DOMApplicationCache::scriptExecutionContext):
888 * loader/appcache/DOMApplicationCache.h:
889 * svg/SVGElementInstance.cpp:
890 (WebCore::SVGElementInstance::scriptExecutionContext):
891 * svg/SVGElementInstance.h:
892 * xml/XMLHttpRequest.cpp:
893 (WebCore::XMLHttpRequest::scriptExecutionContext):
894 * xml/XMLHttpRequest.h:
895 * xml/XMLHttpRequestUpload.cpp:
896 (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
897 * xml/XMLHttpRequestUpload.h:
898 Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
901 2008-10-31 Cameron Zwarich <zwarich@apple.com>
903 Rubber-stamped by Geoff Garen.
905 Rename SourceRange.h to SourceCode.h.
907 * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
908 * ForwardingHeaders/kjs/SourceRange.h: Removed.
909 * bindings/js/StringSourceProvider.h:
910 * bridge/NP_jsobject.cpp:
912 2008-10-31 Cameron Zwarich <zwarich@apple.com>
914 Reviewed by Darin Adler.
916 Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
917 <https://bugs.webkit.org/show_bug.cgi?id=22019>
921 (WebCore::printToStandardOut):
922 (WebCore::Console::shouldPrintExceptions):
923 (WebCore::Console::setShouldPrintExceptions):
926 2008-10-31 Dan Bernstein <mitz@apple.com>
928 Reviewed by John Sullivan.
930 - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
933 (WebCore::Document::cookie): Added checking if cookies are disabled.
934 (WebCore::Document::setCookie): Ditto.
935 * page/Navigator.cpp:
936 (WebCore::Navigator::cookieEnabled): Ditto.
938 (WebCore::Page::Page): Initialize m_cookieEnabled to true.
940 (WebCore::Page::cookieEnabled): Added.
941 (WebCore::Page::setCookieEnabled): Added.
943 2008-10-31 Adele Peterson <adele@apple.com>
945 Reviewed by Darin Adler.
947 WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
948 https://bugs.webkit.org/show_bug.cgi?id=22008
950 * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon):
951 Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
952 * platform/graphics/Icon.h: ditto.
953 * platform/graphics/gtk/IconGtk.cpp:
954 (WebCore::Icon::createIconForFile): ditto.
955 (WebCore::Icon::createIconForFiles): ditto.
956 * platform/graphics/mac/IconMac.mm:
957 (WebCore::Icon::createIconForFile): ditto.
958 (WebCore::Icon::createIconForFiles): ditto.
959 * platform/graphics/qt/IconQt.cpp:
960 (WebCore::Icon::createIconForFile): ditto.
961 (WebCore::Icon::createIconForFiles): ditto.
962 * platform/wx/TemporaryLinkStubs.cpp:
963 (Icon::createIconForFile): ditto.
964 (Icon::createIconForFiles): ditto.
965 * platform/graphics/win/IconWin.cpp:
966 (WebCore::Icon::createIconForFile): ditto.
967 (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
969 * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
970 Improve icon creation code to match new code in Icon::createIconForFiles
972 2008-10-31 Timothy Hatcher <timothy@apple.com>
974 Add manual tests that check breakpoints on a blockless body of "for" loops.
976 https://bugs.webkit.org/show_bug.cgi?id=22004
978 Reviewed by Darin Adler.
980 * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
981 * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
983 2008-10-31 Darin Adler <darin@apple.com>
987 * platform/win/WCDataObject.cpp: Added missing include of "config.h".
989 2008-10-30 Alexey Proskuryakov <ap@webkit.org>
991 Reviewed by Darin Adler.
993 https://bugs.webkit.org/show_bug.cgi?id=21970
994 Make MessagePort event dispatch work in workers
996 * bindings/js/JSDOMGlobalObject.cpp:
997 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
998 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
999 (WebCore::JSDOMGlobalObject::findJSEventListener):
1000 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
1001 (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
1002 (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
1003 (WebCore::JSDOMGlobalObject::jsEventListeners):
1004 (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
1005 (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
1006 (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
1007 (WebCore::JSDOMGlobalObject::setCurrentEvent):
1008 (WebCore::JSDOMGlobalObject::currentEvent):
1009 (WebCore::toJSDOMGlobalObject):
1010 * bindings/js/JSDOMGlobalObject.h:
1011 * bindings/js/JSDOMWindowBase.cpp:
1012 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
1013 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
1014 (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
1015 * bindings/js/JSDOMWindowBase.h:
1016 Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
1018 * bindings/js/JSEventListener.cpp:
1019 (WebCore::JSAbstractEventListener::handleEvent):
1020 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
1021 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
1022 (WebCore::JSUnprotectedEventListener::globalObject):
1023 (WebCore::JSUnprotectedEventListener::clearGlobalObject):
1024 (WebCore::JSEventListener::JSEventListener):
1025 (WebCore::JSEventListener::~JSEventListener):
1026 (WebCore::JSEventListener::globalObject):
1027 (WebCore::JSEventListener::clearGlobalObject):
1028 (WebCore::JSLazyEventListener::JSLazyEventListener):
1029 (WebCore::JSLazyEventListener::parseCode):
1030 * bindings/js/JSEventListener.h:
1031 (WebCore::JSUnprotectedEventListener::create):
1032 (WebCore::JSEventListener::create):
1033 (WebCore::JSLazyEventListener::create):
1034 Changed to use JSDOMGlobalObject and ScriptExecutionContext.
1036 * bindings/js/JSMessagePortCustom.cpp:
1037 (WebCore::JSMessagePort::startConversation):
1038 (WebCore::JSMessagePort::addEventListener):
1039 (WebCore::JSMessagePort::removeEventListener):
1040 (WebCore::JSMessagePort::setOnmessage):
1041 (WebCore::JSMessagePort::setOnclose):
1042 Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
1043 such code, and stop using a custom implementation for JSMessagePort inline event handler
1044 getters and setters.
1047 (WebCore::Document::virtualURL):
1049 * dom/ScriptExecutionContext.h:
1050 Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
1051 JSLazyEventListener).
1053 2008-10-31 Cameron Zwarich <zwarich@apple.com>
1057 Speculative wxWindows build fix.
1061 2008-10-30 Mark Rowe <mrowe@apple.com>
1063 Reviewed by Jon Homeycutt.
1065 Explicitly default to building for only the native architecture in debug and release builds.
1067 * Configurations/DebugRelease.xcconfig:
1069 2008-10-30 Cameron Zwarich <zwarich@apple.com>
1071 Rubber-stamped by Sam Weinig.
1073 Create a debugger directory in JavaScriptCore and move the relevant
1076 * ForwardingHeaders/debugger: Added.
1077 * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
1078 * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
1079 * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
1080 * ForwardingHeaders/kjs/debugger.h: Removed.
1082 * bindings/js/ScriptController.cpp:
1083 * inspector/JavaScriptCallFrame.cpp:
1084 * inspector/JavaScriptCallFrame.h:
1085 * inspector/JavaScriptDebugServer.cpp:
1086 * inspector/JavaScriptDebugServer.h:
1088 2008-10-30 Tony Chang <tony@chromium.org>
1090 Fix 2 Windows theme bugs:
1091 1) Checkboxes marked readonly were rendered incorrectly
1092 2) If a button has focus and is pressed, it was rendered
1093 as focused rather than pressed.
1095 https://bugs.webkit.org/show_bug.cgi?id=21859
1097 Reviewed by Dave Hyatt.
1099 * rendering/RenderThemeWin.cpp:
1100 (WebCore::RenderThemeWin::determineState):
1101 (WebCore::RenderThemeWin::determineButtonState):
1103 2008-10-30 Benjamin K. Stuhl <bks24@cornell.edu>
1105 gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
1106 warnings; add some parentheses to disambiguate things. No functional
1107 changes, so no tests.
1109 https://bugs.webkit.org/show_bug.cgi?id=21973
1110 Add parentheses to clean up some gcc warnings
1112 Reviewed by Dan Bernstein.
1114 * platform/graphics/Font.h:
1115 (WebCore::Font::treatAsZeroWidthSpace):
1117 2008-10-30 Aaron Boodman <aa@chromium.org>
1119 Added an explicit dependency on HashMap.h. It was getting pulled in via
1120 <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
1122 Reviewed by Darin Adler.
1124 * platform/text/PlatformString.h:
1126 2008-10-30 Greg Bolsinga <bolsinga@apple.com>
1128 Reviewed by Sam Weinig
1130 https://bugs.webkit.org/show_bug.cgi?id=21967
1132 For some platforms the GeolocationService must be suspended and resumed.
1134 * page/Geolocation.cpp:
1135 (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
1136 (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
1137 (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
1138 (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
1139 * page/Geolocation.h:
1140 (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
1141 * platform/GeolocationService.h:
1142 (WebCore::GeolocationService::suspend): empty implementation
1143 (WebCore::GeolocationService::resume): empty implementation
1145 2008-10-30 Greg Bolsinga <bolsinga@apple.com>
1147 Reviewed by Sam Weinig
1149 https://bugs.webkit.org/show_bug.cgi?id=21966
1151 The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
1152 http://dev.w3.org/geo/api/spec-source.html
1154 * page/Geolocation.cpp:
1155 (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
1156 * page/Geoposition.cpp: velocity is now called speed
1157 (WebCore::Geoposition::toString):
1158 * page/Geoposition.h: velocity is now called speed
1159 (WebCore::Geoposition::create):
1160 (WebCore::Geoposition::speed):
1161 (WebCore::Geoposition::Geoposition):
1162 * page/Geoposition.idl: velocity is now called speed
1163 * page/PositionOptions.h: timeout is now unsigned
1164 (WebCore::PositionOptions::create):
1165 (WebCore::PositionOptions::timeout):
1166 (WebCore::PositionOptions::setTimeout):
1167 (WebCore::PositionOptions::PositionOptions):
1168 * page/PositionOptions.idl: timeout is now unsigned long
1170 2008-10-30 Justin Garcia <justin.garcia@apple.com>
1172 Also handle preserved newlines.
1174 * editing/BreakBlockquoteCommand.cpp:
1175 (WebCore::BreakBlockquoteCommand::doApply):
1177 2008-10-30 Justin Garcia <justin.garcia@apple.com>
1179 Reviewed by Beth Dakin.
1181 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1183 * editing/BreakBlockquoteCommand.cpp:
1184 (WebCore::BreakBlockquoteCommand::doApply):
1185 Don't store the endingSelection() in selection, just call endingSelection() in the few places it's
1186 needed. This function is cheap since it just returns a reference to a Selection instead of creating one.
1187 Don't store an affinity. In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
1188 we now use visiblePos (in order to avoid VisiblePosition creation).
1189 Set pos after we delete the current selection (if there is one), and be consistent about what we set
1190 pos to. Before, we upstream()ed it if there was a selection to delete and left it alone otherwise. In fact...
1191 ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is
1192 in the first node that we want to move. This fixes the bug, since it lets code that checks for the case
1193 where the caret is between text and a br work correctly.
1195 2008-10-30 Yael Aharon <yael.aharon@nokia.com>
1197 Reviewed by Darin Adler.
1201 https://bugs.webkit.org/show_bug.cgi?id=21969
1203 * inspector/front-end/WebKit.qrc:
1204 * platform/graphics/qt/ImageBufferQt.cpp:
1205 (WebCore::ImageBufferData::ImageBufferData):
1206 (WebCore::ImageBuffer::ImageBuffer):
1207 (WebCore::ImageBuffer::context):
1208 (WebCore::ImageBuffer::image):
1209 (WebCore::ImageBuffer::toDataURL):
1211 2008-10-30 Justin Garcia <justin.garcia@apple.com>
1213 Reviewed by Darin Adler.
1215 More preparation for:
1216 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1218 * editing/BreakBlockquoteCommand.cpp:
1219 (WebCore::BreakBlockquoteCommand::doApply): Added comments. Don't need to use newStartNode. If the
1220 startNode needs to change, change it. Afterwords, check to make sure that it hasn't left topBlockquote.
1221 This is slightly stricter than before, where we just made sure that it still had a topBlockquote. This
1222 doesn't really fix a bug, since we can't really get into a situation where we move to a different
1223 topBlockquote, but it simplifies the code.
1225 2008-10-30 Dirk Schulze <vbs85@gmx.de>
1227 Reviewed by Alp Toker.
1229 https://bugs.webkit.org/show_bug.cgi?id=21883
1230 [CAIRO] globalAlpha has to be stored and restored
1232 Cairo's globalAlpha has to be stored and reloaded on calling
1233 save() and restore(). We use the power of GraphicsContextState for this.
1235 * platform/graphics/GraphicsContextPrivate.h:
1236 (WebCore::GraphicsContextState::GraphicsContextState):
1237 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1238 (WebCore::GraphicsContext::fillPath):
1239 (WebCore::GraphicsContext::strokePath):
1240 (WebCore::GraphicsContext::setAlpha):
1241 (WebCore::GraphicsContext::getAlpha):
1242 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1243 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1245 2008-10-29 Alexey Proskuryakov <ap@webkit.org>
1247 Reviewed by Maciej Stachowiak.
1249 Rename "attachedToEventTargetNode" to "isInline".
1251 Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
1252 XMLHttpRequest, MessagePort et al.
1254 Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
1255 attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
1256 And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
1257 "inlineEventListenerForType", as they work with inline listeners.
1259 * bindings/js/JSDOMApplicationCacheCustom.cpp:
1260 (WebCore::JSDOMApplicationCache::addEventListener):
1261 (WebCore::JSDOMApplicationCache::removeEventListener):
1262 * bindings/js/JSMessagePortCustom.cpp:
1263 (WebCore::JSMessagePort::setOnmessage):
1264 (WebCore::JSMessagePort::setOnclose):
1265 * bindings/js/JSXMLHttpRequestCustom.cpp:
1266 (WebCore::JSXMLHttpRequest::addEventListener):
1267 (WebCore::JSXMLHttpRequest::removeEventListener):
1268 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1269 (WebCore::JSXMLHttpRequestUpload::addEventListener):
1270 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1271 Pass a correct value for this argument - callers used to be confused, because they didn't
1272 consider themselves event target nodes. This doesn't affect behavior however, as the only
1273 difference between inline and non-inline event handlers is that the former treat
1274 "return false" as "event.preventDefault()", which is not important to any of these objects.
1276 * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
1277 Assert that isInline is true instead of checking its value, as the constructor of this class
1278 always sets it to true.
1280 * bindings/js/JSDOMWindowBase.cpp:
1281 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
1282 (WebCore::JSDOMWindowBase::findJSEventListener):
1283 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
1284 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
1285 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
1286 (WebCore::JSDOMWindowBase::jsInlineEventListeners):
1287 (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
1288 * bindings/js/JSDOMWindowBase.h:
1289 * bindings/js/JSEventListener.cpp:
1290 (WebCore::JSAbstractEventListener::handleEvent):
1291 (WebCore::JSAbstractEventListener::isInline):
1292 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
1293 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
1294 (WebCore::JSEventListener::JSEventListener):
1295 (WebCore::JSEventListener::~JSEventListener):
1296 (WebCore::JSLazyEventListener::parseCode):
1297 * bindings/js/JSEventListener.h:
1298 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
1299 (WebCore::JSUnprotectedEventListener::create):
1300 (WebCore::JSEventListener::create):
1301 * bindings/js/ScriptController.cpp:
1302 (WebCore::ScriptController::createInlineEventHandler):
1303 * bindings/js/ScriptController.h:
1305 (WebCore::Document::setWindowInlineEventListenerForType):
1306 (WebCore::Document::windowInlineEventListenerForType):
1307 (WebCore::Document::removeWindowInlineEventListenerForType):
1308 (WebCore::Document::createEventListener):
1309 (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
1311 * dom/EventListener.h:
1312 (WebCore::EventListener::isInline):
1313 * dom/EventTargetNode.cpp:
1314 (WebCore::EventTargetNode::removeInlineEventListenerForType):
1315 (WebCore::EventTargetNode::setInlineEventListenerForType):
1316 (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
1317 (WebCore::EventTargetNode::inlineEventListenerForType):
1318 (WebCore::EventTargetNode::on*): (many methods)
1319 (WebCore::EventTargetNode::setOn*): (many methods)
1320 * dom/EventTargetNode.h:
1321 * editing/ReplaceSelectionCommand.cpp:
1322 (WebCore::ReplacementFragment::ReplacementFragment):
1323 * html/HTMLBodyElement.cpp:
1324 (WebCore::HTMLBodyElement::parseMappedAttribute):
1325 * html/HTMLButtonElement.cpp:
1326 (WebCore::HTMLButtonElement::parseMappedAttribute):
1327 * html/HTMLElement.cpp:
1328 (WebCore::HTMLElement::parseMappedAttribute):
1329 * html/HTMLFormElement.cpp:
1330 (WebCore::HTMLFormElement::parseMappedAttribute):
1331 * html/HTMLFrameElementBase.cpp:
1332 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
1333 * html/HTMLFrameSetElement.cpp:
1334 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1335 * html/HTMLImageElement.cpp:
1336 (WebCore::HTMLImageElement::parseMappedAttribute):
1337 * html/HTMLInputElement.cpp:
1338 (WebCore::HTMLInputElement::parseMappedAttribute):
1339 * html/HTMLObjectElement.cpp:
1340 (WebCore::HTMLObjectElement::parseMappedAttribute):
1341 * html/HTMLScriptElement.cpp:
1342 (WebCore::HTMLScriptElement::parseMappedAttribute):
1343 * html/HTMLSelectElement.cpp:
1344 (WebCore::HTMLSelectElement::parseMappedAttribute):
1345 * html/HTMLTextAreaElement.cpp:
1346 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
1347 * page/AccessibilityRenderObject.cpp:
1348 (WebCore::AccessibilityRenderObject::mouseButtonListener):
1349 * page/DOMWindow.cpp:
1350 (WebCore::DOMWindow::setInlineEventListenerForType):
1351 (WebCore::DOMWindow::inlineEventListenerForType):
1352 (WebCore::DOMWindow::on*): (many methods)
1353 (WebCore::DOMWindow::setOn*): (many methods)
1355 * svg/SVGElement.cpp:
1356 (WebCore::SVGElement::parseMappedAttribute):
1357 * svg/SVGElementInstance.cpp:
1358 (WebCore::SVGElementInstance::on*): (many methods)
1359 (WebCore::SVGElementInstance::setOn*): (many methods)
1360 * svg/SVGSVGElement.cpp:
1361 (WebCore::SVGSVGElement::parseMappedAttribute):
1362 Rename things, as described above.
1364 2008-10-29 Gustavo Noronha Silva <gns@gnome.org>
1366 Reviewed and slightly changed by Holger Freyther.
1368 Added all the files that need to be installed for the Inspector to
1371 * GNUmakefile.am: Invoke the shell to get the files.
1373 2008-10-29 Andrew Scherkus <scherkus@chromium.org>
1375 Reviewed by Darin Adler
1377 Add MediaPlayerPrivateChromium to MediaPlayer
1378 https://bugs.webkit.org/show_bug.cgi?id=21930
1380 * platform/graphics/MediaPlayer.cpp:
1382 2008-10-29 Justin Garcia <justin.garcia@apple.com>
1384 Reviewed by Darin Adler.
1386 Some preparation for:
1387 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1389 Added an early return to avoid a level of if-nesting. No other changes. We probably don't
1390 need to rebalance whitespace before the early return but for now don't risk any change in behavior
1391 I'll revisit that later.
1393 * editing/BreakBlockquoteCommand.cpp:
1394 (WebCore::BreakBlockquoteCommand::doApply):
1396 2008-10-29 Kevin Ollivier <kevino@theolliviers.com>
1398 wx build fixes after addition of runtime and ImageBuffer changes.
1400 * platform/graphics/wx/ImageBufferData.h: Added.
1401 * platform/graphics/wx/ImageBufferWx.cpp:
1402 (WebCore::ImageBufferData::ImageBufferData):
1403 (WebCore::ImageBuffer::ImageBuffer):
1404 (WebCore::ImageBuffer::context):
1407 2008-10-29 Brett Wilson <brettw@chromium.org>
1409 Reviewed by Darin Adler
1410 https://bugs.webkit.org/attachment.cgi?id=24745
1412 Allow Skia implementations to get text style changed notifications.
1414 * platform/graphics/GraphicsContext.cpp:
1416 2008-10-29 Timothy Hatcher <timothy@apple.com>
1418 Add a manual test that checks breakpoints on a blockless body of
1419 an "else" statement.
1421 https://bugs.webkit.org/show_bug.cgi?id=21944
1423 Reviewed by Maciej Stachowiak.
1425 * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
1427 2008-10-29 Alexey Proskuryakov <ap@webkit.org>
1429 Reviewed by Darin Adler.
1431 https://bugs.webkit.org/show_bug.cgi?id=21921
1432 MessagePort messages are dispatched to documents that are not fully active
1434 Covered by corrected fast/events/message-port-inactive-document.html
1436 * bindings/js/JSEventListener.cpp:
1437 (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
1438 that are not fully active.
1440 2008-10-29 Alexey Proskuryakov <ap@webkit.org>
1442 Reviewed by Sam Weinig.
1444 https://bugs.webkit.org/show_bug.cgi?id=21922
1445 Expose MessagePort global constructor
1447 Covered by existing dumper tests.
1449 * dom/MessagePort.idl:
1450 * page/DOMWindow.idl:
1452 2008-10-29 Alexey Proskuryakov <ap@webkit.org>
1454 Reviewed by Darin Adler.
1456 https://bugs.webkit.org/show_bug.cgi?id=21924
1457 HashTable internal index is not always deleted
1459 * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
1460 Call deleteTable for HashTables that are being deleted.
1462 2008-10-28 Alexey Proskuryakov <ap@webkit.org>
1464 Reviewed by Darin Adler.
1466 https://bugs.webkit.org/show_bug.cgi?id=21923
1467 Create an abstraction for script execution context
1471 * WebCore.vcproj/WebCore.vcproj:
1472 * WebCore.xcodeproj/project.pbxproj:
1473 * WebCoreSources.bkl:
1474 Added ScriptExecutionContext.{h,cpp}.
1476 * bindings/js/JSAudioConstructor.cpp:
1477 (WebCore::JSAudioConstructor::JSAudioConstructor):
1478 * bindings/js/JSAudioConstructor.h:
1479 * bindings/js/JSImageConstructor.cpp:
1480 (WebCore::JSImageConstructor::JSImageConstructor):
1481 * bindings/js/JSImageConstructor.h:
1482 * bindings/js/JSOptionConstructor.cpp:
1483 (WebCore::JSOptionConstructor::JSOptionConstructor):
1484 * bindings/js/JSOptionConstructor.h:
1485 * bindings/js/JSXMLHttpRequestConstructor.cpp:
1486 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1487 * bindings/js/JSXMLHttpRequestConstructor.h:
1488 Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
1489 Since these objects can only work within documents now, it is immediately converted back
1492 * bindings/js/JSMessageChannelConstructor.cpp:
1493 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
1494 (WebCore::JSMessageChannelConstructor::construct):
1495 * bindings/js/JSMessageChannelConstructor.h:
1496 (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
1497 MessageChannel needs to be supported in workers right away, so the constructor operates with
1500 * dom/ActiveDOMObject.cpp:
1501 (WebCore::ActiveDOMObject::ActiveDOMObject):
1502 (WebCore::ActiveDOMObject::~ActiveDOMObject):
1503 (WebCore::ActiveDOMObject::contextDestroyed):
1504 * dom/ActiveDOMObject.h:
1505 (WebCore::ActiveDOMObject::scriptExecutionContext):
1506 * bindings/js/JSDOMBinding.cpp:
1507 (WebCore::markActiveObjectsForContext):
1508 (WebCore::markCrossHeapDependentObjectsForContext):
1509 Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
1510 tracking is handled by ScriptExecutionContext.
1512 * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
1514 * bindings/js/JSDOMGlobalObject.h:
1515 (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
1516 Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
1517 to worker context implementation.
1518 (WebCore::scriptExecutionContext): Added a pure virtual method to access
1519 ScriptExecutionContext, implemented by subclasses.
1521 * bindings/js/JSDOMWindowBase.h:
1522 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
1523 Implement by returning the associated document. Note that this method currently gives bogus
1524 results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
1525 that is currently in the frame, not the one associated with this window.
1527 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
1529 * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
1530 Call markActiveObjectsForContext() by its new name.
1532 * dom/DedicatedWorker.cpp:
1533 (WebCore::DedicatedWorker::DedicatedWorker):
1534 (WebCore::DedicatedWorker::document):
1535 * dom/DedicatedWorker.h:
1536 * xml/XMLHttpRequest.cpp:
1537 (WebCore::XMLHttpRequest::document):
1538 * xml/XMLHttpRequest.h:
1539 Added a document() function that upcasts ScriptExecutionContext, as these objects only work
1540 within documents currently (at least for XMLHttpRequest, this will change soon though).
1543 (WebCore::Document::Document):
1544 (WebCore::Document::~Document):
1545 Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
1549 (WebCore::Document::isDocument):
1550 (WebCore::Document::refScriptExecutionContext):
1551 (WebCore::Document::derefScriptExecutionContext):
1552 Inherit from ScriptExecutionContext.
1554 * dom/MessageChannel.cpp:
1555 (WebCore::MessageChannel::MessageChannel):
1556 * dom/MessageChannel.h:
1557 (WebCore::MessageChannel::create):
1558 Use ScriptExecutionContext instead of Document.
1560 * dom/MessagePort.cpp:
1561 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
1562 MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
1563 unrelated issue that was causing random crashes in layout tests).
1564 (WebCore::MessagePort::MessagePort):
1565 (WebCore::MessagePort::~MessagePort):
1566 (WebCore::MessagePort::associatedFrame):
1567 (WebCore::MessagePort::clone):
1568 (WebCore::MessagePort::postMessage):
1569 (WebCore::MessagePort::startConversation):
1570 (WebCore::MessagePort::start):
1571 (WebCore::MessagePort::contextDestroyed):
1572 (WebCore::MessagePort::dispatchMessages):
1573 * dom/MessagePort.h:
1574 (WebCore::MessagePort::create):
1575 (WebCore::MessagePort::scriptExecutionContext):
1576 Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
1577 work in worker contexts - we need to also make some its method thread safe for cross-thread
1578 messaging, and make event dispatching thread safe.
1580 * dom/ScriptExecutionContext.cpp: Added.
1581 * dom/ScriptExecutionContext.h: Added.
1582 ActiveDOMObject and MessagePort tracking is moved from Document.
1583 It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
1584 but as I'm just moving Document code, and it is Document that is the main context object
1585 in our implementation currently.
1586 Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
1587 seem non-trivial to fix, and isn't really a part of this task.
1589 2008-10-28 Alp Toker <alp@nuanti.com>
1591 List newly-added ImageBufferData.h in build system.
1595 2008-10-28 Alp Toker <alp@nuanti.com>
1597 Reviewed by Cameron Zwarich.
1599 De-list unused WebCore ForwardingHeaders to fix the dist target.
1603 2008-10-28 Cameron Zwarich <zwarich@apple.com>
1607 Attempt to fix the Windows build by generating Forwardingheaders for the
1608 runtime directory in JavaScriptCore.
1610 * WebCore.vcproj/WebCore.vcproj:
1612 2008-10-28 Justin Garcia <justin.garcia@apple.com>
1614 Reviewed by Darin Adler.
1616 <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
1618 * editing/Editor.cpp:
1619 (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
1620 (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which
1621 will probably require a change more complicated than just marking the learned word as
1622 misspelled. I'll address it with a separate patch.
1623 * editing/EditorCommand.cpp:
1624 (WebCore::executeIgnoreSpelling): Added.
1625 (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
1627 2008-10-28 Cameron Zwarich <zwarich@apple.com>
1629 Reviewed by Mark Rowe.
1631 Move ForwardingHeaders to their correct location after the creation of
1632 the runtime directory in JavaScriptCore.
1634 * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
1635 * ForwardingHeaders/kjs/BooleanObject.h: Removed.
1636 * ForwardingHeaders/kjs/CallData.h: Removed.
1637 * ForwardingHeaders/kjs/ConstructData.h: Removed.
1638 * ForwardingHeaders/kjs/DateInstance.h: Removed.
1639 * ForwardingHeaders/kjs/Error.h: Removed.
1640 * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
1641 * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
1642 * ForwardingHeaders/kjs/InternalFunction.h: Removed.
1643 * ForwardingHeaders/kjs/JSArray.h: Removed.
1644 * ForwardingHeaders/kjs/JSFunction.h: Removed.
1645 * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
1646 * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
1647 * ForwardingHeaders/kjs/JSObject.h: Removed.
1648 * ForwardingHeaders/kjs/JSString.h: Removed.
1649 * ForwardingHeaders/kjs/JSValue.h: Removed.
1650 * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
1651 * ForwardingHeaders/kjs/PropertyMap.h: Removed.
1652 * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
1653 * ForwardingHeaders/kjs/StringObject.h: Removed.
1654 * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
1655 * ForwardingHeaders/kjs/StringPrototype.h: Removed.
1656 * ForwardingHeaders/kjs/StructureID.h: Removed.
1657 * ForwardingHeaders/runtime: Added.
1658 * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
1659 * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
1660 * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
1661 * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
1662 * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
1663 * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
1664 * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
1665 * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
1666 * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
1667 * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
1668 * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
1669 * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
1670 * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
1671 * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
1672 * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
1673 * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
1674 * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
1675 * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
1676 * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
1677 * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
1678 * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
1679 * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
1680 * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
1681 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1682 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1683 * bindings/js/JSClipboardCustom.cpp:
1684 * bindings/js/JSConsoleCustom.cpp:
1685 * bindings/js/JSCustomPositionCallback.h:
1686 * bindings/js/JSCustomPositionErrorCallback.h:
1687 * bindings/js/JSCustomSQLStatementCallback.h:
1688 * bindings/js/JSCustomSQLStatementErrorCallback.h:
1689 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
1690 * bindings/js/JSCustomVoidCallback.h:
1691 * bindings/js/JSCustomXPathNSResolver.h:
1692 * bindings/js/JSDOMBinding.cpp:
1693 * bindings/js/JSDOMBinding.h:
1694 * bindings/js/JSDOMGlobalObject.h:
1695 * bindings/js/JSDOMWindowBase.cpp:
1696 * bindings/js/JSDOMWindowCustom.cpp:
1697 * bindings/js/JSDOMWindowShell.cpp:
1698 * bindings/js/JSDatabaseCustom.cpp:
1699 * bindings/js/JSEventListener.cpp:
1700 * bindings/js/JSEventTarget.h:
1701 * bindings/js/JSHTMLDocumentCustom.cpp:
1702 * bindings/js/JSHistoryCustom.cpp:
1703 * bindings/js/JSInspectedObjectWrapper.cpp:
1704 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1705 * bindings/js/JSLocationCustom.cpp:
1706 * bindings/js/JSNodeFilterCondition.h:
1707 * bindings/js/JSQuarantinedObjectWrapper.cpp:
1708 * bindings/js/JSQuarantinedObjectWrapper.h:
1709 * bindings/js/JSXMLHttpRequestCustom.cpp:
1710 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1711 * bindings/objc/WebScriptObject.mm:
1712 * bindings/objc/WebScriptObjectPrivate.h:
1713 * bindings/scripts/CodeGeneratorJS.pm:
1714 * bridge/NP_jsobject.cpp:
1715 * bridge/c/c_instance.cpp:
1716 * bridge/c/c_utility.cpp:
1717 * bridge/c/c_utility.h:
1718 * bridge/jni/jni_instance.cpp:
1719 * bridge/jni/jni_jsobject.h:
1720 * bridge/jni/jni_jsobject.mm:
1721 * bridge/jni/jni_runtime.cpp:
1722 * bridge/jni/jni_utility.cpp:
1723 * bridge/jni/jni_utility.h:
1724 * bridge/objc/objc_instance.mm:
1725 * bridge/objc/objc_runtime.h:
1726 * bridge/objc/objc_runtime.mm:
1727 * bridge/objc/objc_utility.h:
1728 * bridge/objc/objc_utility.mm:
1730 * bridge/runtime_array.cpp:
1731 * bridge/runtime_array.h:
1732 * bridge/runtime_method.cpp:
1733 * bridge/runtime_method.h:
1734 * bridge/runtime_object.cpp:
1735 * bridge/runtime_object.h:
1736 * bridge/runtime_root.cpp:
1737 * inspector/JavaScriptCallFrame.cpp:
1738 * inspector/JavaScriptProfile.cpp:
1739 * inspector/JavaScriptProfile.h:
1740 * inspector/JavaScriptProfileNode.cpp:
1741 * inspector/JavaScriptProfileNode.h:
1742 * loader/FrameLoader.cpp:
1744 * plugins/PluginView.cpp:
1745 * plugins/gtk/PluginViewGtk.cpp:
1746 * plugins/qt/PluginViewQt.cpp:
1747 * plugins/win/PluginViewWin.cpp:
1749 2008-10-28 Adele Peterson <adele@apple.com>
1751 Windows build fix. This removes Cairo include directories from non-Cairbo build configurations.
1753 * WebCore.vcproj/WebCore.vcproj:
1755 2008-10-28 Adele Peterson <adele@apple.com>
1759 * platform/graphics/ImageBuffer.h:
1760 (WebCore::ImageBuffer::create):
1762 2008-10-28 Cameron Zwarich <zwarich@apple.com>
1766 Roll out a mistaken attempt at fixing the GTK build in r37947.
1770 2008-10-28 Adele Peterson <adele@apple.com>
1772 Reviewed by John Sullivan.
1774 Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
1775 "files" string for multifile uploads needs to be localized
1777 * page/mac/WebCoreViewFactory.h:
1778 * platform/LocalizedStrings.h:
1779 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
1780 * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
1781 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
1782 * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
1783 * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
1784 * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
1786 2008-10-28 Brett Wilson <brettw@chromium.org>
1788 Reviewed by Darin Adler.
1790 https://bugs.webkit.org/show_bug.cgi?id=21816
1792 Remove platform ifdefs in ImageBuffer.h by moving platform specific code
1793 into a new PlatformImageBuffer class. Move the static create function
1794 into the header because it can be cross-platform. Initialization now
1795 happens in the cunstructor which sets a flag that create uses to know
1796 whether it should return null or not. I also made passing of IntSize
1797 more consistent (always by reference).
1799 This change also changes the ifdefs in GraphicsContext to allow Skia
1800 ports to implement text drawing modes.
1802 * platform/graphics/ImageBuffer.h:
1803 (WebCore::ImageBuffer::create):
1804 (WebCore::ImageBuffer::size):
1805 * platform/graphics/cairo/ImageBufferCairo.cpp:
1806 (WebCore::ImageBufferData::ImageBufferData):
1807 (WebCore::ImageBuffer::ImageBuffer):
1808 (WebCore::ImageBuffer::~ImageBuffer):
1809 (WebCore::ImageBuffer::image):
1810 (WebCore::ImageBuffer::getImageData):
1811 (WebCore::ImageBuffer::putImageData):
1812 * platform/graphics/cairo/ImageBufferData.h:
1813 * platform/graphics/cg/ImageBufferCG.cpp:
1814 (WebCore::ImageBufferData::ImageBufferData):
1815 (WebCore::ImageBuffer::ImageBuffer):
1816 (WebCore::ImageBuffer::~ImageBuffer):
1817 (WebCore::ImageBuffer::getImageData):
1818 (WebCore::ImageBuffer::putImageData):
1819 * platform/graphics/cg/ImageBufferData.h:
1820 * platform/graphics/qt/ImageBufferData.h:
1821 * platform/graphics/qt/ImageBufferQt.cpp:
1822 (WebCore::ImageBufferData::ImageBufferData):
1823 (WebCore::ImageBuffer::ImageBuffer):
1824 (WebCore::ImageBuffer::~ImageBuffer):
1826 2008-10-28 Cameron Zwarich <zwarich@apple.com>
1834 2008-10-28 Cameron Zwarich <zwarich@apple.com>
1838 Another Qt build fix.
1842 2008-10-28 Greg Bolsinga <bolsinga@apple.com>
1844 Reviewed by David Kilzer.
1846 https://bugs.webkit.org/show_bug.cgi?id=21932
1847 Add non-pointer constant lookups to SoftLinking.h
1849 * platform/mac/SoftLinking.h:
1851 2008-10-28 Greg Bolsinga <bolsinga@apple.com>
1853 Reviewed by David Kilzer.
1855 https://bugs.webkit.org/show_bug.cgi?id=2192
1856 Missing semi-colons in Geoposition.idl
1858 * page/Geoposition.idl: Add missing semi-colons
1860 2008-10-28 Timothy Hatcher <timothy@apple.com>
1862 Make the Profiles panel in the Web Inspector have an enable screen.
1863 Profiling now needs to be enabled before console.profile() works.
1865 <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
1866 not slow down JavaScript all the time
1868 Reviewed by Darin Adler and Kevin McCullough.
1870 * English.lproj/localizedStrings.js: New strings.
1871 * WebCore.base.exp: New and changed exports.
1872 * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
1873 * bindings/js/JSDOMWindowBase.cpp:
1874 (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
1875 * inspector/InspectorController.cpp:
1876 (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
1877 Timer to call InspectorController::startUserInitiatedProfiling.
1878 (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
1879 that calls InspectorController::startUserInitiatedProfiling.
1880 (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
1881 and enable the profiler if the profiler was not enabled.
1882 (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
1883 (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
1884 if the skipRecompile argument is false. Call the profilerWasEnabled script function.
1885 (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
1886 Call the profilerWasEnabled script function.
1887 (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
1888 so it won't be started later.
1889 * inspector/InspectorController.h:
1890 (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
1891 * inspector/front-end/Images/debuggingButtons.png: Remove.
1892 * inspector/front-end/Images/enableButtons.png: Added.
1893 * inspector/front-end/Images/profilesSilhouette.png: Added.
1894 * inspector/front-end/Images/scriptsSilhouette.png: Added.
1895 * inspector/front-end/PanelEnablerView.js: Added.
1896 (WebInspector.PanelEnablerView):
1897 (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
1898 event so listeners can do their thing.
1899 (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
1900 * inspector/front-end/ProfilesPanel.js:
1901 (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
1902 (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
1903 (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
1904 (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
1905 (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
1906 (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
1907 (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
1908 show/hide other buttons. Also show/hide the PanelEnablerView.
1909 (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
1910 (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
1911 disableProfiler or enableProfiler.
1912 * inspector/front-end/ScriptsPanel.js:
1913 (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
1914 debuggingButton with the enableToggleButton.
1915 (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
1916 the enableToggleButton.
1917 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
1918 when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
1919 with the enableToggleButton.
1920 (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
1921 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
1922 since reset is called from debuggerWasEnabled and debuggerWasDisabled.
1923 * inspector/front-end/View.js: Inherit from WebInspector.Object.
1924 * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
1925 * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
1926 * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
1927 * inspector/front-end/inspector.js:
1928 (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
1929 (WebInspector.profilerWasDisabled): Ditto.
1931 (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
1932 (WebCore::Console::info): Ditto.
1933 (WebCore::Console::log): Ditto.
1934 (WebCore::Console::assertCondition): Ditto.
1935 (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
1936 (WebCore::Console::count): Ditto.
1937 (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
1938 (WebCore::Console::profileEnd): Ditto.
1939 (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
1940 * page/Settings.cpp:
1941 (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
1942 (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
1943 Now just sets the member boolean.
1944 * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
1946 2008-10-28 Timothy Hatcher <timothy@apple.com>
1948 Rename a few methods related to attaching and detaching the debugger. Also
1949 adds stub methods for enabling and disabling the profiler.
1951 * Rename attachDebugger to enableDebugger.
1952 * Rename detachDebugger to disableDebugger.
1953 * Rename the debuggerAttached getter to debuggerEnabled.
1954 * Rename the debuggerAttached callback to debuggerWasEnabled.
1955 * Rename the debuggerDetached callback to debuggerWasDisabled.
1957 Reviewed by Darin Adler.
1960 * inspector/InspectorController.cpp:
1961 (WebCore::InspectorController::InspectorController):
1962 (WebCore::InspectorController::setWindowVisible):
1963 (WebCore::InspectorController::windowScriptObjectAvailable):
1964 (WebCore::InspectorController::close):
1965 (WebCore::InspectorController::enableProfiler):
1966 (WebCore::InspectorController::disableProfiler):
1967 (WebCore::InspectorController::enableDebugger):
1968 (WebCore::InspectorController::disableDebugger):
1969 (WebCore::InspectorController::pauseInDebugger):
1970 (WebCore::InspectorController::resumeDebugger):
1971 (WebCore::InspectorController::stepOverStatementInDebugger):
1972 (WebCore::InspectorController::stepIntoStatementInDebugger):
1973 (WebCore::InspectorController::stepOutOfFunctionInDebugger):
1974 * inspector/InspectorController.h:
1975 (WebCore::InspectorController::profilerEnabled):
1976 (WebCore::InspectorController::debuggerEnabled):
1977 * inspector/front-end/BreakpointsSidebarPane.js:
1978 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
1979 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
1980 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
1981 * inspector/front-end/Object.js:
1982 * inspector/front-end/ProfilesPanel.js:
1983 (WebInspector.ProfilesPanel):
1984 * inspector/front-end/ScriptsPanel.js:
1985 (WebInspector.ScriptsPanel):
1986 (WebInspector.ScriptsPanel.prototype.get statusBarItems):
1987 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
1988 (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
1989 (WebInspector.ScriptsPanel.prototype.reset):
1990 (WebInspector.ScriptsPanel.prototype.canShowResource):
1991 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
1992 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
1993 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1994 * inspector/front-end/View.js:
1995 * inspector/front-end/inspector.css:
1996 * inspector/front-end/inspector.html:
1997 * inspector/front-end/inspector.js:
1998 (WebInspector.addResource):
1999 (WebInspector.debuggerWasEnabled):
2000 (WebInspector.debuggerWasDisabled):
2002 2008-10-28 Timothy Hatcher <timothy@apple.com>
2004 Fix an exception when searching the Resources panel while there
2005 and resources queued to be added to the list.
2007 Reviewed by Kevin McCullough.
2009 * inspector/front-end/ResourcesPanel.js:
2010 (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
2011 the _resourcesTreeElement property.
2012 (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
2014 2008-10-28 Alp Toker <alp@nuanti.com>
2016 GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
2019 * platform/graphics/gtk/FontGtk.cpp:
2020 (WebCore::getDefaultPangoLayout):
2021 * platform/graphics/gtk/FontPlatformDataPango.cpp:
2023 2008-10-28 Alexey Proskuryakov <ap@webkit.org>
2025 Reviewed by Darin Adler.
2027 https://bugs.webkit.org/show_bug.cgi?id=21893
2028 Character set is incorrect for external scripts in XHTML pages
2030 <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
2032 Test: fast/encoding/external-script-charset.xhtml
2034 Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
2036 * dom/ScriptElement.h:
2037 * dom/XMLTokenizerLibxml2.cpp:
2038 (WebCore::XMLTokenizer::endElementNs):
2039 * dom/XMLTokenizerQt.cpp:
2040 (WebCore::XMLTokenizer::parseEndElement):
2041 * html/HTMLScriptElement.h:
2042 * svg/SVGScriptElement.cpp:
2043 (WebCore::SVGScriptElement::scriptCharset):
2044 * svg/SVGScriptElement.h:
2046 2008-10-28 Alp Toker <alp@nuanti.com>
2048 Include copyright license files in the autotools dist target and
2049 exclude unused zlib headers.
2051 Change suggested by Mike Hommey.
2055 2008-10-27 Sam Weinig <sam@webkit.org>
2057 Reviewed by Maciej Stachowiak.
2059 Clear the window shell when destroying a page to allow documents
2060 which have no way of being reached anymore, to be torn down.
2063 (WebCore::Frame::pageDestroyed):
2065 2008-10-27 Kevin Watters <kevinwatters@gmail.com>
2067 Reviewed by Kevin Ollivier.
2069 Update the active state as well as the focused state as both need to be true
2070 for the caret to be drawn.
2072 https://bugs.webkit.org/show_bug.cgi?id=21900
2075 (wxWebView::OnSetFocus):
2076 (wxWebView::OnKillFocus):
2078 2008-10-27 Kevin Ollivier <kevino@theolliviers.com>
2080 wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
2084 2008-10-27 Michael Knaup <michael.knaup@mac.com>
2086 Reviewed and tweaked by Darin Adler.
2088 - https://bugs.webkit.org/show_bug.cgi?id=8988
2090 Bug 8988: Add support for Mozilla CSS custom cursors.
2091 Added -webkit-grab and -webkit-grabbing cursor suppport
2092 for the Mac, dummy implementations for other platforms.
2094 * css/CSSParser.cpp:
2095 (WebCore::CSSParser::parseValue): Updated since the
2096 -webkit-grabbing cursor is now the last one.
2098 * css/CSSPrimitiveValueMappings.h:
2099 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
2100 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2102 * css/CSSValueKeywords.in: Added -webkit-grab and
2105 * manual-tests/cursor.html: Added -webkit-zoom-in,
2106 webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
2108 * page/EventHandler.cpp:
2109 (WebCore::EventHandler::selectCursor): Added
2110 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2112 * platform/Cursor.h: Added grabCursor and grabbingCursor.
2114 * platform/gtk/CursorGtk.cpp:
2115 (WebCore::grabCursor): Added.
2116 (WebCore::grabbingCursor): Added.
2117 * platform/mac/CursorMac.mm:
2118 (WebCore::grabCursor): Added.
2119 (WebCore::grabbingCursor): Added.
2120 * platform/qt/CursorQt.cpp:
2121 (WebCore::grabCursor): Added.
2122 (WebCore::grabbingCursor): Added.
2123 * platform/win/CursorWin.cpp:
2124 (WebCore::grabCursor): Added.
2125 (WebCore::grabbingCursor): Added.
2126 * platform/wx/CursorWx.cpp:
2127 (WebCore::grabCursor): Added.
2128 (WebCore::grabbingCursor): Added.
2130 * rendering/style/RenderStyleConstants.h:
2131 Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2132 Also broke ECursor out into a single constant per line.
2133 Also added a couple of comments.
2135 2008-10-27 Dimitri Glazkov <dglazkov@chromium.org>
2137 Reviewed by Darin Adler.
2139 * svg/SVGAnimatedTemplate.h: needed a HashMap define
2141 2008-10-21 Eric Seidel <eric@webkit.org>
2143 Reviewed by Dave Hyatt.
2145 Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
2146 https://bugs.webkit.org/show_bug.cgi?id=20400
2148 Test: svg/custom/stop-crash.svg
2150 * WebCore.xcodeproj/project.pbxproj:
2151 * rendering/RenderSVGGradientStop.h:
2152 (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
2154 2008-10-27 Anders Carlsson <andersca@apple.com>
2156 Reviewed by Sam Weinig.
2158 No need to call release if the connection is null.
2160 * platform/network/mac/ResourceHandleMac.mm:
2161 (WebCore::ResourceHandle::start):
2163 2008-10-27 Anders Carlsson <andersca@apple.com>
2165 Reviewed by Kevin Decker.
2167 <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
2169 Make sure to null check the NSURLConnection object.
2171 * platform/network/mac/ResourceHandleMac.mm:
2172 (WebCore::ResourceHandle::start):
2173 (WebCore::ResourceHandle::setDefersLoading):
2175 2008-10-27 Alexey Proskuryakov <ap@webkit.org>
2181 * WebCore.vcproj/WebCore.vcproj:
2182 * WebCoreSources.bkl:
2183 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
2185 2008-10-26 Alexey Proskuryakov <ap@webkit.org>
2187 Reviewed by Sam Weinig.
2189 https://bugs.webkit.org/show_bug.cgi?id=21886
2190 window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
2192 Test: fast/dom/HTMLOptionElement/option-prototype.html
2194 We now have separate objects for window.Option and window.HTMLOptionElement - the latter
2195 "constructor" cannot be used to construct anything. This matches Firefox behavior.
2197 * WebCore.xcodeproj/project.pbxproj:
2198 * bindings/js/JSDOMWindowBase.cpp:
2199 (jsDOMWindowBaseOption):
2200 * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
2201 * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
2202 * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
2203 * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
2204 * html/HTMLOptionElement.idl:
2205 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
2207 * html/HTMLOptionElement.idl: Generate a constructor.
2209 2008-10-25 Geoffrey Garen <ggaren@apple.com>
2213 Try to fix Mac debug build on the buildbot.
2215 * platform/FileChooser.cpp:
2216 (WebCore::FileChooserClient::~FileChooserClient):
2217 * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
2218 weak exported symbol.
2220 2008-10-25 Jade Han <jade.han@nokia.com>
2224 Enable custom properties for Qt runtime objects in QtWebKit
2226 https://bugs.webkit.org/show_bug.cgi?id=21813
2228 * bridge/runtime_object.cpp:
2229 (JSC::RuntimeObjectImp::getOwnPropertySlot):
2230 (JSC::RuntimeObjectImp::put):
2232 2008-10-24 Sam Weinig <sam@webkit.org>
2239 2008-10-24 Sam Weinig <sam@webkit.org>
2243 * platform/qt/FileChooserQt.cpp:
2245 2008-10-24 Sam Weinig <sam@webkit.org>
2247 Reviewed by Dan Bernstein.
2249 Fix https://bugs.webkit.org/show_bug.cgi?id=21759
2250 Layering violation: FileChooser should not depend on Document/Frame/Page
2252 Move file choosing into WebKit ChromeClient.
2254 * loader/EmptyClients.h:
2255 (WebCore::EmptyChromeClient::runOpenPanel):
2257 (WebCore::Chrome::runOpenPanel):
2259 * page/ChromeClient.h:
2260 * page/mac/ChromeMac.mm:
2261 * platform/FileChooser.h:
2262 * platform/mac/FileChooserMac.mm:
2263 * platform/qt/FileChooserQt.cpp:
2264 * platform/win/FileChooserWin.cpp:
2265 * platform/wx/TemporaryLinkStubs.cpp:
2266 * rendering/RenderFileUploadControl.cpp:
2267 (WebCore::RenderFileUploadControl::click):
2269 2008-10-24 Kevin Ollivier <kevino@theolliviers.com>
2271 wx build fix - add newIconForFiles stub.
2273 * platform/wx/TemporaryLinkStubs.cpp:
2274 (Icon::newIconForFiles):
2276 2008-10-24 Kevin Watters <kevinwatters@gmail.com>
2278 Reviewed by Kevin Ollivier.
2280 Use the CGFont metrics APIs for more accurate measurements, and tweak the y
2281 value the text is drawn at (it was a couple pixels off before because wx
2282 internally adds to the y value.
2284 https://bugs.webkit.org/show_bug.cgi?id=21853
2286 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
2287 (wxFontProperties::wxFontProperties):
2288 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
2289 (WebCore::drawTextWithSpacing):
2291 2008-10-24 Eric Seidel <eric@webkit.org>
2293 Reviewed by Sam Weinig.
2295 Generate missing constructors and add test to prevent missing ones in the future
2296 https://bugs.webkit.org/show_bug.cgi?id=21846
2298 Test: fast/js/global-constructors.html
2300 * css/CSSStyleSheet.idl:
2302 * dom/NodeIterator.idl:
2303 * dom/TreeWalker.idl:
2304 * xml/XPathExpression.idl:
2306 2008-10-24 Alexey Proskuryakov <ap@webkit.org>
2308 Reviewed by Darin Adler.
2310 https://bugs.webkit.org/show_bug.cgi?id=21836
2311 REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
2313 Test: http/tests/xmlhttprequest/detaching-frame.html
2315 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
2316 even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
2317 when dispatching the same callback that results in this function being called.
2319 2008-10-24 David Kilzer <ddkilzer@apple.com>
2323 * platform/gtk/TemporaryLinkStubs.cpp:
2324 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
2326 2008-10-24 Mark Rowe <mrowe@apple.com>
2328 Reviewed by Sam Weinig.
2330 <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
2332 * platform/graphics/cg/GraphicsContextCG.cpp:
2333 (WebCore::GraphicsContext::setImageInterpolationQuality):
2334 (WebCore::GraphicsContext::imageInterpolationQuality):
2336 2008-10-24 Anders Carlsson <andersca@apple.com>
2338 Reviewed by Sam Weinig.
2340 <rdar://problem/5440917> Support NPN_Construct
2342 * WebCore.NPAPI.exp:
2343 Export _NPN_Construct.
2345 * bridge/NP_jsobject.cpp:
2349 * bridge/c/c_instance.cpp:
2350 (JSC::Bindings::CInstance::supportsConstruct):
2351 (JSC::Bindings::CInstance::invokeConstruct):
2352 Have this call the appropriate NPClass method.
2354 * bridge/npruntime.h:
2357 * bridge/npruntime_impl.h:
2361 (JSC::Bindings::Instance::supportsConstruct):
2362 (JSC::Bindings::Instance::invokeConstruct):
2365 * bridge/runtime_object.cpp:
2366 (JSC::callRuntimeConstructor):
2367 Call the native instance.
2369 (JSC::RuntimeObjectImp::getConstructData):
2372 * bridge/runtime_object.h:
2373 Add new method declarations.
2375 * plugins/gtk/PluginPackageGtk.cpp:
2376 (WebCore::PluginPackage::load):
2377 * plugins/qt/PluginPackageQt.cpp:
2378 (WebCore::PluginPackage::load):
2379 * plugins/win/PluginPackageWin.cpp:
2380 (WebCore::PluginPackage::load):
2381 Initialize m_pluginFuncs.construct.
2383 2008-10-24 Adele Peterson <adele@apple.com>
2387 * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
2388 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
2390 2008-10-24 Greg Bolsinga <bolsinga@apple.com>
2392 Fix GTK build break.
2394 Reviewed by David Kilzer.
2396 * GNUmakefile.am: Do not include .idl files whose generated files should not be
2399 2008-10-24 David Kilzer <ddkilzer@apple.com>
2403 * platform/wx/TemporaryLinkStubs.cpp:
2404 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
2406 2008-10-24 Adele Peterson <adele@apple.com>
2408 Reviewed by Sam Weinig.
2410 WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
2412 This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
2413 This is consistent with the direction HTML5 will be going in the future.
2415 The initial implementation here will show "n files" as the text next to the control when multiple files are selected. You can view
2416 the individual files in a tooltip for now. Improvements to this control will come later.
2418 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.
2419 These FileList Files can also be sent in an XMLHTTPRequest.
2421 * manual-tests/post-multi-file-upload.html: Added.
2422 * manual-tests/resources/multiFileResources: Added.
2423 * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
2424 * manual-tests/resources/multiFileResources/testFile1.html: Added.
2425 * manual-tests/resources/multiFileResources/testFile2.html: Added.
2426 * manual-tests/resources/multiFileResources/testFile3.html: Added.
2428 * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
2430 * html/HTMLInputElement.cpp:
2431 (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
2432 (WebCore::HTMLInputElement::value): Added comments. The HTML5 spec says that value shouldn't apply for the file upload control,
2433 but we don't want to break the behavior for existing websites that may rely on this.
2434 (WebCore::HTMLInputElement::setValue): ditto.
2435 (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
2436 (WebCore::HTMLInputElement::setFileListFromRenderer): Added.
2437 * html/HTMLInputElement.h:
2439 * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
2441 * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
2443 * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
2444 (WebCore::FileChooser::FileChooser):
2445 (WebCore::FileChooser::create):
2446 (WebCore::FileChooser::clear):
2447 (WebCore::FileChooser::chooseFile):
2448 (WebCore::FileChooser::chooseFiles):
2449 (WebCore::FileChooser::chooseIcon):
2450 * platform/FileChooser.h:
2451 (WebCore::FileChooser::filePaths):
2452 (WebCore::FileChooser::allowsMultipleFiles):
2454 * platform/graphics/Icon.h:
2455 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
2456 * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
2457 * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
2458 * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
2460 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): Updated to deal with new filenames vector.
2461 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
2462 * platform/qt/FileChooserQt.cpp:
2463 (WebCore::FileChooser::openFileChooser):
2464 (WebCore::FileChooser::basenameForWidth):
2465 * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
2467 * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
2468 Removed unnecessary assertion. This can get hit when connectionDidFinishLoading and cancel
2469 both get called for the same ResourceHandle. This getting called twice has no negative effect.
2471 * rendering/RenderFileUploadControl.cpp:
2472 (WebCore::RenderFileUploadControl::valueChanged): Calls setFileListFromRenderer.
2473 (WebCore::RenderFileUploadControl::allowsMultipleFiles): Added.
2474 (WebCore::RenderFileUploadControl::updateFromElement): Uses the new filenames call from FileChooser.
2475 (WebCore::RenderFileUploadControl::receiveDroppedFiles): Updated to support multiple files.
2476 * rendering/RenderFileUploadControl.h:
2478 2008-10-23 Peter Kasting <pkasting@google.com>
2480 Reviewed by David Hyatt.
2482 https://bugs.webkit.org/show_bug.cgi?id=21844
2483 Remove setFocusRingColorChangeFunction.
2486 (WebCore::Page::Page):
2487 * platform/graphics/Color.h:
2488 * platform/graphics/mac/ColorMac.mm:
2489 (WebCore::focusRingColor):
2490 * platform/graphics/qt/GraphicsContextQt.cpp:
2491 * platform/graphics/win/ColorSafari.cpp:
2493 2008-10-24 David Kilzer <ddkilzer@apple.com>
2499 * WebCore.pro: Added missing *.idl files.
2501 2008-10-24 Greg Bolsinga <bolsinga@apple.com>
2503 Reviewed by Sam Weinig.
2505 https://bugs.webkit.org/show_bug.cgi?id=21475
2507 Provide support for the Geolocation API
2509 http://dev.w3.org/geo/api/spec-source.html
2511 Test: geolocation/geolocation-not-implemented.html
2513 * DerivedSources.make:
2514 * GNUmakefile.am: Added Geolocation support
2515 * WebCore.pro: Added Geolocation support
2516 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
2517 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
2518 * WebCoreSources.bkl: Added Geolocation support
2519 * bindings/js/JSCustomPositionCallback.cpp: Added.
2520 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
2521 (WebCore::JSCustomPositionCallback::handleEvent):
2522 * bindings/js/JSCustomPositionCallback.h: Added.
2523 (WebCore::JSCustomPositionCallback::create):
2524 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
2525 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
2526 (WebCore::JSCustomPositionErrorCallback::handleEvent):
2527 * bindings/js/JSCustomPositionErrorCallback.h: Added.
2528 (WebCore::JSCustomPositionErrorCallback::create):
2529 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
2530 (WebCore::markDOMObjectWrapper):
2531 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
2532 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
2533 * bindings/js/JSGeolocationCustom.cpp: Added.
2534 (WebCore::JSGeolocation::getCurrentPosition):
2535 (WebCore::JSGeolocation::watchPosition):
2536 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
2537 (WebCore::JSNavigator::mark):
2539 (WebCore::Document::Document):
2541 (WebCore::Document::setUsingGeolocation):
2542 (WebCore::Document::usingGeolocation):
2543 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
2544 (WebCore::FrameLoader::canCachePage):
2545 * page/Geolocation.cpp: Added.
2546 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
2547 (WebCore::Geolocation::GeoNotifier::timerFired):
2548 (WebCore::Geolocation::Geolocation):
2549 (WebCore::Geolocation::disconnectFrame):
2550 (WebCore::Geolocation::getCurrentPosition):
2551 (WebCore::Geolocation::watchPosition):
2552 (WebCore::Geolocation::clearWatch):
2553 (WebCore::Geolocation::stopUpdatingIfEmpty):
2554 (WebCore::Geolocation::sendErrorToOneShots):
2555 (WebCore::Geolocation::sendErrorToWatchers):
2556 (WebCore::Geolocation::sendPositionToOneShots):
2557 (WebCore::Geolocation::sendPositionToWatchers):
2558 (WebCore::Geolocation::handleError):
2559 (WebCore::Geolocation::geolocationServicePositionChanged):
2560 (WebCore::Geolocation::geolocationServiceErrorOccurred):
2561 * page/Geolocation.h: Added.
2562 (WebCore::Geolocation::create):
2563 (WebCore::Geolocation::~Geolocation):
2564 (WebCore::Geolocation::lastPosition):
2565 (WebCore::Geolocation::GeoNotifier::create):
2566 * page/Geolocation.idl: Added.
2567 * page/Geoposition.cpp: Added.
2568 (WebCore::Geoposition::toString):
2569 * page/Geoposition.h: Added.
2570 (WebCore::Geoposition::create):
2571 (WebCore::Geoposition::latitude):
2572 (WebCore::Geoposition::longitude):
2573 (WebCore::Geoposition::altitude):
2574 (WebCore::Geoposition::accuracy):
2575 (WebCore::Geoposition::altitudeAccuracy):
2576 (WebCore::Geoposition::heading):
2577 (WebCore::Geoposition::velocity):
2578 (WebCore::Geoposition::timestamp):
2579 (WebCore::Geoposition::Geoposition):
2580 * page/Geoposition.idl: Added.
2581 * page/Navigator.cpp:
2582 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
2583 (WebCore::Navigator::geolocation): accessor for Geolocation
2585 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
2586 * page/Navigator.idl: accessor for Geolocation
2587 * page/PositionCallback.h: Added.
2588 (WebCore::PositionCallback::~PositionCallback):
2589 * page/PositionCallback.idl: Added.
2590 * page/PositionError.h: Added.
2591 (WebCore::PositionError::):
2592 (WebCore::PositionError::create):
2593 (WebCore::PositionError::code):
2594 (WebCore::PositionError::message):
2595 (WebCore::PositionError::PositionError):
2596 * page/PositionError.idl: Added.
2597 * page/PositionErrorCallback.h: Added.
2598 (WebCore::PositionErrorCallback::~PositionErrorCallback):
2599 * page/PositionErrorCallback.idl: Added.
2600 * page/PositionOptions.h: Added.
2601 (WebCore::PositionOptions::create):
2602 (WebCore::PositionOptions::enableHighAccuracy):
2603 (WebCore::PositionOptions::setEnableHighAccuracy):
2604 (WebCore::PositionOptions::timeout):
2605 (WebCore::PositionOptions::setTimeout):
2606 (WebCore::PositionOptions::PositionOptions):
2607 * page/PositionOptions.idl: Added.
2608 * platform/GeolocationService.cpp: Added.
2609 (WebCore::GeolocationService::GeolocationService):
2610 (WebCore::GeolocationService::positionChanged):
2611 (WebCore::GeolocationService::errorOccurred):
2612 * platform/GeolocationService.h: Added.
2613 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
2614 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
2615 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
2616 (WebCore::GeolocationService::~GeolocationService):
2618 2008-10-24 Simon Fraser <simon.fraser@apple.com>
2620 Reviewed by Darin Adler
2622 https://bugs.webkit.org/show_bug.cgi?id=21818
2624 Add HashTraits for AtomicString so that AtomicString can be used as
2625 the key for a HashMap or HashSet.
2627 * GNUmakefile.am: add AtomicStringHash.h
2628 * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
2629 * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
2630 * platform/text/AtomicString.h:
2631 (WebCore::AtomicString::AtomicString):
2632 (WebCore::AtomicString::isHashTableDeletedValue):
2633 specialize DefaultHash for AtomicString to use AtomicStringHash
2634 * platform/text/AtomicStringHash.h: Added.
2635 * platform/text/StringImpl.cpp:
2636 (WebCore::StringImpl::StringImpl):
2637 compute the hash up-front for the empty string
2638 * platform/text/StringImpl.h:
2639 (WebCore::StringImpl::existingHash):
2640 method to get the hash without a test and branch, for callers like
2641 AtomicStringHash who can guarantee that the hash has already been computed.
2643 2008-10-24 Simon Fraser <simon.fraser@apple.com>
2645 Reviewed by Sam Weinig
2647 https://bugs.webkit.org/show_bug.cgi?id=21857
2649 Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
2650 switch in _wrapCSSRule.
2652 * bindings/objc/DOMCSS.mm:
2653 (+[DOMCSSRule _wrapCSSRule:WebCore::]):
2655 2008-10-24 Adam Roben <aroben@apple.com>
2659 * plugins/PluginView.cpp:
2661 2008-10-24 Dan Bernstein <mitz@apple.com>
2663 Reviewed by Sam Weinig.
2665 - fix https://bugs.webkit.org/show_bug.cgi?id=21851
2666 <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
2668 Test: fast/replaced/percent-height-in-anonymous-block-widget.html
2670 * rendering/RenderWidget.cpp:
2671 (WebCore::RenderWidget::destroy): Copied code added to
2672 RenderBox::destroy() in r36513 into this function.
2674 2008-10-24 Timothy Hatcher <timothy@apple.com>
2676 Add a mechanism to ask the InspectorClient for key/value setting pairs.
2677 These settings can be strings, numbers, booleans or string vectors. The
2678 settings are also bridged to and from JavaScript.
2680 https://bugs.webkit.org/show_bug.cgi?id=21856
2682 Reviewed by Darin Adler.
2684 * WebCore.base.exp: Expose the String CFStringRef constructor.
2685 * inspector/InspectorClient.h:
2686 (WebCore::InspectorClient::populateSetting): Added, pure virtual.
2687 (WebCore::InspectorClient::storeSetting): Ditto.
2688 (WebCore::InspectorClient::removeSetting): Ditto.
2689 * inspector/InspectorController.cpp:
2690 (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
2691 (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
2692 (WebCore::InspectorController::InspectorController): Increment a global static
2693 to track the number of live InspectorControllers.
2694 (WebCore::InspectorController::~InspectorController): Decrement the global static
2695 that tracks the number of live InspectorControllers. Delete the setting cache if there
2696 are no more live controllers.
2697 (WebCore::InspectorController::setting): Check the cache and return the setting from there,
2698 otherwise make a new Setting and ask the client to populate it.
2699 (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
2700 (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
2701 to the InspectorController script class.
2702 * inspector/InspectorController.h:
2703 (WebCore::InspectorController::Setting::Setting):
2704 (WebCore::InspectorController::Setting::operator=):
2705 (WebCore::InspectorController::Setting::type): Return m_type.
2706 (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
2707 (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
2708 Assert the type is correct.
2709 (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
2710 Assert the type is correct.
2711 (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
2712 Assert the type is correct.
2713 (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
2714 Assert the type is correct.
2715 (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
2717 * loader/EmptyClients.h:
2718 (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
2719 (WebCore::EmptyInspectorClient::storeSetting): Ditto.
2720 (WebCore::EmptyInspectorClient::removeSetting): Ditto.
2722 2008-10-24 Cameron Zwarich <zwarich@apple.com>
2724 Reviewed by Sam Weinig.
2726 Remove some C-style casts.
2728 * html/HTMLViewSourceDocument.cpp:
2729 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2731 2008-10-24 Darin Adler <darin@apple.com>
2733 - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
2735 * bindings/js/JSAttrCustom.cpp:
2736 * bindings/js/JSCSSRuleCustom.cpp:
2737 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2738 * bindings/js/JSCSSValueCustom.cpp:
2739 * bindings/js/JSCanvasPixelArrayCustom.h:
2740 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2741 * bindings/js/JSClipboardCustom.cpp:
2742 * bindings/js/JSConsoleCustom.cpp:
2743 * bindings/js/JSCustomSQLStatementCallback.cpp:
2744 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2745 * bindings/js/JSCustomSQLTransactionCallback.cpp:
2746 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2747 * bindings/js/JSCustomVoidCallback.cpp:
2748 * bindings/js/JSCustomVoidCallback.h:
2749 * bindings/js/JSCustomXPathNSResolver.cpp:
2750 * bindings/js/JSCustomXPathNSResolver.h:
2751 * bindings/js/JSDOMApplicationCacheCustom.cpp:
2752 * bindings/js/JSDOMBinding.cpp:
2753 * bindings/js/JSDOMBinding.h:
2754 * bindings/js/JSDOMWindowBase.cpp:
2755 * bindings/js/JSDOMWindowBase.h:
2756 * bindings/js/JSDOMWindowCustom.cpp:
2757 * bindings/js/JSDOMWindowCustom.h:
2758 * bindings/js/JSDOMWindowShell.cpp:
2759 * bindings/js/JSDOMWindowShell.h:
2760 * bindings/js/JSDatabaseCustom.cpp:
2761 * bindings/js/JSDedicatedWorkerCustom.cpp:
2762 * bindings/js/JSDocumentCustom.cpp:
2763 * bindings/js/JSElementCustom.cpp:
2764 * bindings/js/JSEventCustom.cpp:
2765 * bindings/js/JSEventListener.cpp:
2766 * bindings/js/JSEventTarget.cpp:
2767 * bindings/js/JSEventTarget.h:
2768 * bindings/js/JSEventTargetBase.h:
2769 * bindings/js/JSEventTargetNodeCustom.cpp:
2770 * bindings/js/JSHTMLAllCollection.h:
2771 * bindings/js/JSHTMLAppletElementCustom.cpp:
2772 * bindings/js/JSHTMLCollectionCustom.cpp:
2773 * bindings/js/JSHTMLDocumentCustom.cpp:
2774 * bindings/js/JSHTMLEmbedElementCustom.cpp:
2775 * bindings/js/JSHTMLFormElementCustom.cpp:
2776 * bindings/js/JSHTMLFrameElementCustom.cpp:
2777 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2778 * bindings/js/JSHTMLIFrameElementCustom.cpp:
2779 * bindings/js/JSHTMLInputElementCustom.cpp:
2780 * bindings/js/JSHTMLObjectElementCustom.cpp:
2781 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2782 * bindings/js/JSHTMLSelectElementCustom.cpp:
2783 * bindings/js/JSHTMLSelectElementCustom.h:
2784 * bindings/js/JSHistoryCustom.cpp:
2785 * bindings/js/JSImageDataCustom.cpp:
2786 * bindings/js/JSInspectedObjectWrapper.cpp:
2787 * bindings/js/JSInspectedObjectWrapper.h:
2788 * bindings/js/JSInspectorCallbackWrapper.cpp:
2789 * bindings/js/JSInspectorCallbackWrapper.h:
2790 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2791 * bindings/js/JSLocationCustom.cpp:
2792 * bindings/js/JSMessagePortCustom.cpp:
2793 * bindings/js/JSMimeTypeArrayCustom.cpp:
2794 * bindings/js/JSNamedNodeMapCustom.cpp:
2795 * bindings/js/JSNamedNodesCollection.cpp:
2796 * bindings/js/JSNamedNodesCollection.h:
2797 * bindings/js/JSNavigatorCustom.cpp:
2798 * bindings/js/JSNodeCustom.cpp:
2799 * bindings/js/JSNodeFilterCondition.cpp:
2800 * bindings/js/JSNodeFilterCondition.h:
2801 * bindings/js/JSNodeFilterCustom.cpp:
2802 * bindings/js/JSNodeIteratorCustom.cpp:
2803 * bindings/js/JSNodeListCustom.cpp:
2804 * bindings/js/JSPluginArrayCustom.cpp:
2805 * bindings/js/JSPluginCustom.cpp:
2806 * bindings/js/JSPluginElementFunctions.cpp:
2807 * bindings/js/JSPluginElementFunctions.h:
2808 * bindings/js/JSQuarantinedObjectWrapper.cpp:
2809 * bindings/js/JSQuarantinedObjectWrapper.h:
2810 * bindings/js/JSRGBColor.cpp:
2811 * bindings/js/JSRGBColor.h:
2812 * bindings/js/JSSQLResultSetRowListCustom.cpp:
2813 * bindings/js/JSSQLTransactionCustom.cpp:
2814 * bindings/js/JSSVGElementInstanceCustom.cpp:
2815 * bindings/js/JSSVGLengthCustom.cpp:
2816 * bindings/js/JSSVGMatrixCustom.cpp:
2817 * bindings/js/JSSVGPathSegCustom.cpp:
2818 * bindings/js/JSSVGPathSegListCustom.cpp:
2819 * bindings/js/JSSVGPointListCustom.cpp:
2820 * bindings/js/JSSVGTransformListCustom.cpp:
2821 * bindings/js/JSStorageCustom.cpp:
2822 * bindings/js/JSStyleSheetCustom.cpp:
2823 * bindings/js/JSStyleSheetListCustom.cpp:
2824 * bindings/js/JSTextCustom.cpp:
2825 * bindings/js/JSTreeWalkerCustom.cpp:
2826 * bindings/js/JSXMLHttpRequestCustom.cpp:
2827 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2828 * bindings/js/JSXSLTProcessorCustom.cpp:
2829 * bindings/js/ScheduledAction.cpp:
2830 * bindings/js/ScheduledAction.h:
2831 * bindings/js/ScriptController.cpp:
2832 * bindings/js/ScriptController.h:
2833 * bindings/objc/WebScriptObject.mm:
2834 * bindings/objc/WebScriptObjectPrivate.h:
2835 * bindings/scripts/CodeGeneratorJS.pm:
2836 * bridge/NP_jsobject.cpp:
2837 * bridge/c/c_instance.cpp:
2838 * bridge/c/c_instance.h:
2839 * bridge/c/c_runtime.cpp:
2840 * bridge/c/c_runtime.h:
2841 * bridge/c/c_utility.cpp:
2842 * bridge/c/c_utility.h:
2843 * bridge/jni/jni_instance.cpp:
2844 * bridge/jni/jni_instance.h:
2845 * bridge/jni/jni_jsobject.h:
2846 * bridge/jni/jni_jsobject.mm:
2847 * bridge/jni/jni_objc.mm:
2848 * bridge/jni/jni_runtime.cpp:
2849 * bridge/jni/jni_runtime.h:
2850 * bridge/jni/jni_utility.cpp:
2851 * bridge/jni/jni_utility.h:
2852 * bridge/objc/WebScriptObject.h:
2853 * bridge/objc/objc_class.h:
2854 * bridge/objc/objc_class.mm:
2855 * bridge/objc/objc_instance.h:
2856 * bridge/objc/objc_instance.mm:
2857 * bridge/objc/objc_runtime.h:
2858 * bridge/objc/objc_runtime.mm:
2859 * bridge/objc/objc_utility.h:
2860 * bridge/objc/objc_utility.mm:
2861 * bridge/qt/qt_class.cpp:
2862 * bridge/qt/qt_class.h:
2863 * bridge/qt/qt_instance.cpp:
2864 * bridge/qt/qt_instance.h:
2865 * bridge/qt/qt_runtime.cpp:
2866 * bridge/qt/qt_runtime.h:
2867 * bridge/runtime.cpp:
2869 * bridge/runtime_array.cpp:
2870 * bridge/runtime_array.h:
2871 * bridge/runtime_method.cpp:
2872 * bridge/runtime_method.h:
2873 * bridge/runtime_object.cpp:
2874 * bridge/runtime_object.h:
2875 * bridge/testqtbindings.cpp:
2876 * inspector/JavaScriptCallFrame.cpp:
2877 * inspector/JavaScriptCallFrame.h:
2878 * inspector/JavaScriptProfile.cpp:
2879 * inspector/JavaScriptProfile.h:
2880 * inspector/JavaScriptProfileNode.cpp:
2881 * inspector/JavaScriptProfileNode.h:
2882 * loader/FrameLoader.cpp:
2883 * loader/FrameLoader.h:
2886 * plugins/MimeTypeArray.h:
2888 * plugins/PluginArray.h:
2889 * plugins/PluginView.cpp:
2890 * xml/XMLHttpRequest.cpp:
2891 Use JSValue* instead of JSValuePtr.
2893 2008-10-24 Simon Hausmann <hausmann@webkit.org>
2897 * bridge/qt/qt_instance.cpp:
2898 (JSC::Bindings::QtField::valueFromInstance):
2900 2008-10-24 David Kilzer <ddkilzer@apple.com>
2902 Rolled out r37840 and r37841.
2904 * DerivedSources.make:
2907 * WebCore.vcproj/WebCore.vcproj:
2908 * WebCore.xcodeproj/project.pbxproj:
2909 * WebCoreSources.bkl:
2910 * bindings/js/JSCustomPositionCallback.cpp: Removed.
2911 * bindings/js/JSCustomPositionCallback.h: Removed.
2912 * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
2913 * bindings/js/JSCustomPositionErrorCallback.h: Removed.
2914 * bindings/js/JSDOMBinding.cpp:
2915 * bindings/js/JSDOMBinding.h:
2916 * bindings/js/JSDOMWindowCustom.cpp:
2917 (WebCore::markDOMObjectWrapper):
2918 * bindings/js/JSGeolocationCustom.cpp: Removed.
2919 * bindings/js/JSNavigatorCustom.cpp:
2921 (WebCore::Document::Document):
2923 * loader/FrameLoader.cpp:
2924 (WebCore::FrameLoader::canCachePage):
2925 * page/Geolocation.cpp: Removed.
2926 * page/Geolocation.h: Removed.
2927 * page/Geolocation.idl: Removed.
2928 * page/Geoposition.cpp: Removed.
2929 * page/Geoposition.h: Removed.
2930 * page/Geoposition.idl: Removed.
2931 * page/Navigator.cpp:
2932 (WebCore::Navigator::disconnectFrame):
2934 * page/Navigator.idl:
2935 * page/PositionCallback.h: Removed.
2936 * page/PositionCallback.idl: Removed.
2937 * page/PositionError.h: Removed.
2938 * page/PositionError.idl: Removed.
2939 * page/PositionErrorCallback.h: Removed.
2940 * page/PositionErrorCallback.idl: Removed.
2941 * page/PositionOptions.h: Removed.
2942 * page/PositionOptions.idl: Removed.
2943 * platform/GeolocationService.cpp: Removed.
2944 * platform/GeolocationService.h: Removed.
2946 2008-10-23 David Kilzer <ddkilzer@apple.com>
2948 Attempt to fix GTK build.
2950 * GNUmakefile.am: Added new *.idl files that were missing.
2952 2008-10-23 Greg Bolsinga <bolsinga@apple.com>
2954 Reviewed by Sam Weinig.
2956 https://bugs.webkit.org/show_bug.cgi?id=21475
2958 Provide support for the Geolocation API
2960 http://dev.w3.org/geo/api/spec-source.html
2962 Test: geolocation/geolocation-not-implemented.html
2964 * DerivedSources.make:
2965 * GNUmakefile.am: Added Geolocation support
2966 * WebCore.pro: Added Geolocation support
2967 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
2968 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
2969 * WebCoreSources.bkl: Added Geolocation support
2970 * bindings/js/JSCustomPositionCallback.cpp: Added.
2971 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
2972 (WebCore::JSCustomPositionCallback::handleEvent):
2973 * bindings/js/JSCustomPositionCallback.h: Added.
2974 (WebCore::JSCustomPositionCallback::create):
2975 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
2976 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
2977 (WebCore::JSCustomPositionErrorCallback::handleEvent):
2978 * bindings/js/JSCustomPositionErrorCallback.h: Added.
2979 (WebCore::JSCustomPositionErrorCallback::create):
2980 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
2981 (WebCore::markDOMObjectWrapper):
2982 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
2983 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
2984 * bindings/js/JSGeolocationCustom.cpp: Added.
2985 (WebCore::JSGeolocation::getCurrentPosition):
2986 (WebCore::JSGeolocation::watchPosition):
2987 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
2988 (WebCore::JSNavigator::mark):
2990 (WebCore::Document::Document):
2992 (WebCore::Document::setUsingGeolocation):
2993 (WebCore::Document::usingGeolocation):
2994 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
2995 (WebCore::FrameLoader::canCachePage):
2996 * page/Geolocation.cpp: Added.
2997 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
2998 (WebCore::Geolocation::GeoNotifier::timerFired):
2999 (WebCore::Geolocation::Geolocation):
3000 (WebCore::Geolocation::disconnectFrame):
3001 (WebCore::Geolocation::getCurrentPosition):
3002 (WebCore::Geolocation::watchPosition):
3003 (WebCore::Geolocation::clearWatch):
3004 (WebCore::Geolocation::stopUpdatingIfEmpty):
3005 (WebCore::Geolocation::sendErrorToOneShots):
3006 (WebCore::Geolocation::sendErrorToWatchers):
3007 (WebCore::Geolocation::sendPositionToOneShots):
3008 (WebCore::Geolocation::sendPositionToWatchers):
3009 (WebCore::Geolocation::handleError):
3010 (WebCore::Geolocation::geolocationServicePositionChanged):
3011 (WebCore::Geolocation::geolocationServiceErrorOccurred):
3012 * page/Geolocation.h: Added.
3013 (WebCore::Geolocation::create):
3014 (WebCore::Geolocation::~Geolocation):
3015 (WebCore::Geolocation::lastPosition):
3016 (WebCore::Geolocation::GeoNotifier::create):
3017 * page/Geolocation.idl: Added.
3018 * page/Geoposition.cpp: Added.
3019 (WebCore::Geoposition::toString):
3020 * page/Geoposition.h: Added.
3021 (WebCore::Geoposition::create):
3022 (WebCore::Geoposition::latitude):
3023 (WebCore::Geoposition::longitude):
3024 (WebCore::Geoposition::altitude):
3025 (WebCore::Geoposition::accuracy):
3026 (WebCore::Geoposition::altitudeAccuracy):
3027 (WebCore::Geoposition::heading):
3028 (WebCore::Geoposition::velocity):
3029 (WebCore::Geoposition::timestamp):
3030 (WebCore::Geoposition::Geoposition):
3031 * page/Geoposition.idl: Added.
3032 * page/Navigator.cpp:
3033 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
3034 (WebCore::Navigator::geolocation): accessor for Geolocation
3036 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
3037 * page/Navigator.idl: accessor for Geolocation
3038 * page/PositionCallback.h: Added.
3039 (WebCore::PositionCallback::~PositionCallback):
3040 * page/PositionCallback.idl: Added.
3041 * page/PositionError.h: Added.
3042 (WebCore::PositionError::):
3043 (WebCore::PositionError::create):
3044 (WebCore::PositionError::code):
3045 (WebCore::PositionError::message):
3046 (WebCore::PositionError::PositionError):
3047 * page/PositionError.idl: Added.
3048 * page/PositionErrorCallback.h: Added.
3049 (WebCore::PositionErrorCallback::~PositionErrorCallback):
3050 * page/PositionErrorCallback.idl: Added.
3051 * page/PositionOptions.h: Added.
3052 (WebCore::PositionOptions::create):
3053 (WebCore::PositionOptions::enableHighAccuracy):
3054 (WebCore::PositionOptions::setEnableHighAccuracy):
3055 (WebCore::PositionOptions::timeout):
3056 (WebCore::PositionOptions::setTimeout):
3057 (WebCore::PositionOptions::PositionOptions):
3058 * page/PositionOptions.idl: Added.
3059 * platform/GeolocationService.cpp: Added.
3060 (WebCore::GeolocationService::GeolocationService):
3061 (WebCore::GeolocationService::positionChanged):
3062 (WebCore::GeolocationService::errorOccurred):
3063 * platform/GeolocationService.h: Added.
3064 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
3065 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
3066 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
3067 (WebCore::GeolocationService::~GeolocationService):
3069 2008-10-23 Alp Toker <alp@nuanti.com>
3071 Fix typo in comment in previous commit. GTK -> GLIB
3073 * platform/gtk/guriescape.c:
3075 2008-10-23 Kalle Vahlman <kalle.vahlman@movial.com>
3077 Reviewed by Alp Toker.
3079 https://bugs.webkit.org/show_bug.cgi?id=21824
3080 [GTK] FileSystem abstraction uses features from Glib 2.16
3082 Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib
3084 * platform/gtk/guriescape.c:
3085 (unescape_character):
3086 (_webcore_g_uri_unescape_segment):
3087 (_webcore_g_uri_unescape_string):
3088 * platform/gtk/guriescape.h:
3090 2008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
3092 Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.
3096 2008-10-23 Darin Fisher <darin@chromium.org>
3098 Reviewed by Eric Seidel.
3100 m_frame null checked but then dereferenced
3101 https://bugs.webkit.org/show_bug.cgi?id=21845
3103 This error was found using a static analysis tool, and so I do not know
3104 how to produce a null m_frame on entry to this method. Hence, I have
3105 not included a regression test.
3107 * page/EventHandler.cpp:
3108 (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
3110 2008-10-23 Dan Bernstein <mitz@apple.com>
3112 Reviewed by Sam Weinig with no hesitation.
3114 - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
3115 <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering
3117 Test: fast/text/bidi-embedding-pop-and-push-same.html
3119 * platform/text/BidiResolver.h:
3120 (WebCore::BidiResolver::embed): Changed to only add the embedding
3121 operation to a vector of pending operations.
3123 (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
3124 code that used to be in the PDF case of embed() here, except the part
3125 that sets the context.
3127 (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
3128 code that used to be in the non-PDF case of embed() here, except the
3129 part the sets the context.
3131 (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
3132 explicit embedding operations in the vector by creating an updated
3133 context and determining the old and new embedding levels. If the levels
3134 are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
3135 sets the context to the new one.
3137 (WebCore::BidiResolver::createBidiRunsForLine): Added calls to
3138 commitExplicitEmbedding() after calling embed() and after calling
3141 * rendering/bidi.cpp:
3142 (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because
3143 this function increments the resolver.
3145 (WebCore::RenderBlock::skipLeadingWhitespace): Ditto.
3147 2008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
3149 Gtk build fix. Not reviewed.
3151 Add DNSCurl and DNSSoup to the Gtk build
3154 * platform/gtk/TemporaryLinkStubs.cpp:
3155 * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp.
3156 (WebCore::prefetchDNS):
3158 2008-10-23 Eric Seidel <eric@webkit.org>
3160 Reviewed by Sam Weinig.
3162 Un-break the Darwin build.
3164 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3165 * platform/graphics/cg/ImageCG.cpp:
3167 2008-10-23 Darin Fisher <darin@chromium.org>
3169 Reviewed by Eric Seidel.
3171 Fix forward decls to be struct instead of class.
3172 https://bugs.webkit.org/show_bug.cgi?id=21838
3174 * rendering/style/StyleRareInheritedData.h:
3175 * rendering/style/StyleRareNonInheritedData.h:
3177 2008-10-23 Brent Fulgham <bfulgham@gmail.com>
3179 Reviewed by Oliver Hunt.
3181 * platform/network/curl/ResourceRequest.h: A better implementation
3182 of CFURLRequest, rather than void*. This gives better compatibility
3183 with the WebKit.idl interface.
3184 (WebCore::ResourceRequest::cfURLRequest):
3186 2008-10-23 Mike Pinkerton <pinkerton@chromium.org>
3188 Reviewed by Eric Seidel.
3190 PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
3191 ifdefs to reflect that.
3193 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3194 * platform/graphics/cg/ImageCG.cpp:
3196 2008-10-23 Peter Kasting <pkasting@google.com>
3198 Reviewed by Adam Roben.
3200 https://bugs.webkit.org/show_bug.cgi?id=21833
3201 Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).
3203 * inspector/InspectorController.cpp:
3204 (WebCore::InspectorController::InspectorController):
3205 (WebCore::InspectorController::setWindowVisible):
3206 (WebCore::InspectorController::windowScriptObjectAvailable):
3207 (WebCore::InspectorController::close):
3208 * inspector/InspectorController.h:
3210 (WebCore::Page::Page):
3212 2008-10-23 Kevin McCullough <kmccullough@apple.com>
3214 Reviewed by Tim Hatcher.
3216 https://bugs.webkit.org/show_bug.cgi?id=21817
3217 Bug 21817: Manual profiler tests should be made into layout tests
3219 -Moving the tests before diffing so that it's clear what changed.
3221 * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
3222 * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
3223 * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
3224 * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
3225 * manual-tests/inspector/profiler-test-apply.html: Removed.
3226 * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
3227 * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
3228 * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
3229 * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
3230 * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
3231 * manual-tests/inspector/profiler-test-constructor.html: Removed.
3232 * manual-tests/inspector/profiler-test-dead-time.html: Removed.
3233 * manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
3234 * manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
3235 * manual-tests/inspector/profiler-test-event-handler.html: Removed.
3236 * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
3237 * manual-tests/inspector/profiler-test-heavy-view.html: Removed.
3238 * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
3239 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
3240 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
3241 * manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
3242 * manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
3243 * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
3244 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
3245 * manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
3246 * manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
3247 * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
3248 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
3249 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
3250 * manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
3251 * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
3252 * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
3253 * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
3254 * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
3255 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
3256 * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
3257 * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
3258 * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
3259 * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
3260 * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
3261 * manual-tests/inspector/resources/other-frame.html: Removed.
3262 * manual-tests/inspector/resources/other-window.html: Removed.
3263 * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.
3265 2008-10-23 Adam Barth <abarth@webkit.org>
3267 Reviewed by Sam Weinig.
3269 https://bugs.webkit.org/show_bug.cgi?id=21826
3271 Add accessor for SecurityOrigin::m_domainWasSetInDOM.
3273 * page/SecurityOrigin.h:
3274 (WebCore::SecurityOrigin::domainWasSetInDOM):
3276 2008-10-23 Darin Adler <darin@apple.com>
3278 - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
3280 * bindings/js/ScheduledAction.h:
3281 * inspector/InspectorController.cpp:
3282 ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
3284 2008-10-23 Simon Hausmann <hausmann@webkit.org>
3288 * bridge/qt/qt_runtime.cpp:
3289 (JSC::Bindings::QtConnectionObject::execute):
3290 * bridge/qt/qt_runtime.h:
3291 (JSC::Bindings::QtRuntimeMethod::createStructureID):
3293 2008-10-23 Alexey Proskuryakov <ap@webkit.org>
3295 Reviewed by Maciej Stachowiak.
3297 https://bugs.webkit.org/show_bug.cgi?id=21825
3298 JSDOMBinding should not blindly cast the global object to JSDOMWindow
3300 * bindings/js/JSDOMGlobalObject.cpp:
3301 * bindings/js/JSDOMGlobalObject.h:
3304 * WebCore.vcproj/WebCore.vcproj:
3305 * WebCore.xcodeproj/project.pbxproj:
3306 * WebCoreSources.bkl:
3307 Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
3309 * bindings/js/JSDOMBinding.cpp:
3310 (WebCore::getCachedDOMStructure):
3311 (WebCore::cacheDOMStructure):
3312 (WebCore::getCachedDOMConstructor):
3313 (WebCore::cacheDOMConstructor):
3314 Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
3316 * bindings/js/JSDOMWindowBase.cpp:
3317 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3318 * bindings/js/JSDOMWindowBase.h:
3319 * bindings/js/JSDOMWindowCustom.cpp:
3320 (WebCore::JSDOMWindow::mark):
3321 Moved constructor and structure tracking to JSDOMGlobalObject.
3323 2008-10-23 Adam Barth <abarth@webkit.org>
3325 Reviewed by Sam Weinig.
3327 https://bugs.webkit.org/show_bug.cgi?id=21787
3329 Update postMessage to send origin = "null" for non-serializable
3330 origins to match latest spec. Merge SecurityOrigin::toString and
3331 SecurityOrigin::toHTTPOrigin because they are now the same.
3333 Test: http/tests/security/postMessage/data-url-sends-null-origin.html
3335 * loader/FrameLoader.cpp:
3336 (WebCore::FrameLoader::outgoingOrigin):
3337 (WebCore::FrameLoader::loadURL):
3338 (WebCore::FrameLoader::addHTTPOriginIfNeeded):
3339 (WebCore::FrameLoader::loadItem):
3340 * loader/loader.cpp:
3341 (WebCore::Loader::Host::servePendingRequests):
3342 * page/SecurityOrigin.cpp:
3343 (WebCore::SecurityOrigin::toString):
3344 * page/SecurityOrigin.h:
3345 * xml/XMLHttpRequest.cpp:
3346 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
3347 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
3348 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
3349 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3351 2008-10-22 David Kilzer <ddkilzer@apple.com>
3353 Bug 21781: WebCore::Settings should have a maximum decoded image size setting
3355 <https://bugs.webkit.org/show_bug.cgi?id=21781>
3359 No tests since there is no change in behavior.
3361 * loader/CachedImage.cpp:
3362 (WebCore::CachedImage::maximumDecodedImageSize): Added. Returns
3363 WebCore::Settings::maximumDecodedImageSize() or 0 on error.
3364 (WebCore::CachedImage::data): Flag an error if the image being
3366 * loader/CachedImage.h:
3367 (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
3368 * page/Settings.cpp:
3369 (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize
3370 to the maximum value of size_t.
3372 (WebCore::Settings::setMaximumDecodedImageSize): Added method.
3373 (WebCore::Settings::maximumDecodedImageSize): Ditto.
3375 2008-10-22 Mike Pinkerton <pinkerton@chromium.org>
3377 Reviewed by Dan Bernstein.
3378 Landed and tweaked a bit by Darin Adler.
3380 - fix https://bugs.webkit.org/show_bug.cgi?id=21809
3382 Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits
3383 its use for PLATFORM(CHROMIUM) in the future.
3385 * platform/graphics/SimpleFontData.h:
3387 2008-10-22 David Smith <catfish.man@gmail.com>
3389 Reviewed by Anders Carlsson.
3391 https://bugs.webkit.org/show_bug.cgi?id=19974
3392 getElementsByClassName not live enough
3394 Test: fast/dom/getElementsByClassName/015.html
3396 * dom/StyledElement.cpp:
3397 (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()
3399 2008-10-22 Darin Adler <darin@apple.com>
3401 Reviewed by Sam Weinig.
3403 - fix https://bugs.webkit.org/show_bug.cgi?id=21294
3404 Bug 21294: Devirtualize getOwnPropertySlot()
3406 * bindings/js/JSDOMWindowShell.h:
3407 (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
3408 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
3410 * bindings/js/JSInspectorCallbackWrapper.cpp:
3411 (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
3412 for this class rather than sharing nullProtoStructureID, which no longer exists.
3414 * bindings/js/JSNamedNodesCollection.h:
3415 (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
3416 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
3417 * bindings/js/JSRGBColor.h:
3418 (WebCore::JSRGBColor::createStructureID): Ditto.
3420 * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
3421 constructors, and prototypes in any case where they override getOwnPropertySlot, without
3422 HasStandardGetOwnPropertySlot.
3424 * bridge/objc/objc_runtime.h:
3425 (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
3426 without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
3427 * bridge/qt/qt_runtime.h:
3428 (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
3429 * bridge/runtime_array.h:
3430 (JSC::RuntimeArray::createStructureID): Ditto.
3431 * bridge/runtime_method.h:
3432 (JSC::RuntimeMethod::createStructureID): Ditto.
3433 * bridge/runtime_object.h:
3434 (JSC::RuntimeObjectImp::createStructureID): Ditto.
3436 2008-10-22 Brent Fulgham <bfulgham@gmail.com>
3438 Bring Windows Cairo Port's font handling in line with CG.
3439 http://bugs.webkit.org/show_bug.cgi?id=21812.
3441 Reviewed by Adam Roben.
3443 * platform/graphics/win/FontCacheWin.cpp:
3444 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
3445 TrueType font search. It should match CG in all font selections.
3447 2008-10-22 Brent Fulgham <bfulgham@gmail.com>
3449 http://bugs.webkit.org/show_bug.cgi?id=21812.
3450 Bring Windows Cairo Port's font handling in line with CG.
3452 Reviewed by David Hyatt.
3454 * platform/graphics/win/FontCacheWin.cpp:
3455 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo TrueType font search. It should match CG in all font selections.
3457 2008-10-22 Brady Eidson <beidson@apple.com>
3459 Reviewed by Adam Roben
3461 <rdar://6261773> - autocomplete="off" doesn't work on Windows
3463 Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a
3464 statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false"
3465 instead of the much more correct "true."
3467 In the past we have worked around this by declaring the bitfield member as an unsigned instead
3470 For more discussion, see http://trac.webkit.org/changeset/25329
3472 * html/HTMLInputElement.h: Work around insane Visual Studio enum issue *sigh*
3474 2008-10-22 Kevin McCullough <kmccullough@apple.com>
3476 Reviewed by Oliver Hunt and Tim Hatcher.
3478 https://bugs.webkit.org/show_bug.cgi?id=19225
3479 Bug 19225: JSProfiler: Create automated profiler tests
3480 - This change exports profiles on the console object so that they can be
3481 iterated over via JavaScript, and thus can be used in automated tests.
3483 * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
3485 (WebCore::JSConsole::profiles):
3486 * inspector/InspectorController.h: Use the new typedef.
3487 (WebCore::InspectorController::profiles):
3488 * page/Console.cpp: Keep our own array of profile objects.
3489 (WebCore::Console::profileEnd):
3490 * page/Console.h: Ditto.
3491 (WebCore::Console::profiles):
3492 * page/Console.idl: Expose the profiles to JS.
3494 2008-10-22 David Hyatt <hyatt@apple.com>
3496 https://bugs.webkit.org/show_bug.cgi?id=21775
3498 Convert buttons over to use the new Theme API on OS X.
3500 Reviewed by Adam Roben
3502 * platform/LengthBox.h:
3503 (WebCore::LengthBox::LengthBox):
3504 * platform/Theme.cpp:
3505 (WebCore::Theme::controlBorder):
3506 (WebCore::Theme::controlPadding):
3508 (WebCore::Theme::controlFont):
3509 (WebCore::Theme::controlSize):
3510 (WebCore::Theme::minControlSize):
3511 (WebCore::Theme::controlRequiresPreWhiteSpace):
3512 * platform/mac/ThemeMac.h:
3513 (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
3514 * platform/mac/ThemeMac.mm:
3515 (WebCore::checkboxSize):
3516 (WebCore::radioSize):
3517 (WebCore::buttonSizes):
3518 (WebCore::buttonMargins):
3520 (WebCore::paintButton):
3521 (WebCore::ThemeMac::controlFont):
3522 (WebCore::ThemeMac::controlSize):
3523 (WebCore::ThemeMac::minControlSize):
3524 (WebCore::ThemeMac::controlBorder):
3525 (WebCore::ThemeMac::controlPadding):
3526 (WebCore::ThemeMac::inflateControlPaintRect):
3527 (WebCore::ThemeMac::paint):
3528 * rendering/RenderTheme.cpp:
3529 (WebCore::RenderTheme::adjustStyle):
3530 (WebCore::RenderTheme::paint):
3531 (WebCore::RenderTheme::controlStatesForRenderer):
3532 (WebCore::RenderTheme::isDefault):
3533 (WebCore::RenderTheme::adjustRadioStyle):
3534 * rendering/RenderTheme.h:
3535 (WebCore::RenderTheme::setRadioSize):
3536 * rendering/RenderThemeMac.h:
3537 * rendering/RenderThemeMac.mm:
3538 (WebCore::RenderThemeMac::adjustRepaintRect):
3539 (WebCore::menuListButtonSizes):
3540 (WebCore::RenderThemeMac::adjustMenuListStyle):
3541 * rendering/style/RenderStyle.h:
3542 (WebCore::InheritedFlags::paddingBox):
3543 (WebCore::InheritedFlags::setPaddingBox):
3545 2008-10-22 Chris Marrin <cmarrin@apple.com>
3547 Reviewed by Dave Hyatt
3549 Make sure that the AtomicString that identifies a set of animation keyframes
3550 stays live by keeping a copy in the WebKitCSSKeyframesRule.
3552 Also call styleSheetChanged() when the keyframes name changes, but
3553 add an internal method that doesn't call styleSheetChanged() for use
3554 during normal stylesheet parsing.
3556 Test: animations/change-keyframes-name.html
3559 * css/WebKitCSSKeyframesRule.cpp:
3560 (WebCore::WebKitCSSKeyframesRule::setName):
3561 * css/WebKitCSSKeyframesRule.h:
3562 (WebCore::WebKitCSSKeyframesRule::setNameInternal):
3564 2008-10-22 Alexey Proskuryakov <ap@webkit.org>
3566 Reviewed by Sam Weinig.
3568 https://bugs.webkit.org/show_bug.cgi?id=21791
3569 WebCore JS bindings should be able to use non-static hash tables for properties
3571 Add a map for HashTables to WebCore JS client data.
3573 This makes property access noticeably slower, so it is an opt-in. For classes that need to be
3574 supported in workers in forseeable future this is not critical.
3576 * bindings/js/JSDOMBinding.cpp:
3577 (WebCore::DOMObjectHashTableMap::get):
3578 (WebCore::DOMObjectHashTableMap::mapFor):
3579 (WebCore::getHashTableForGlobalData):
3580 (WebCore::DOMObjectWrapperMap::mapFor):
3581 WebCore client data is now a class that contains both a DOM wrapper map and a property hash
3584 * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
3586 * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
3587 JSDOMBinding map to access its property hash tables.
3589 * dom/MessageChannel.idl:
3590 * dom/MessagePort.idl:
3591 Added NoStaticTables attribute.
3593 2008-10-22 Gustavo Noronha Silva <gns@gnome.org>
3595 Reviewed by Timothy Hatcher.
3597 Build failure because of missing include
3598 https://bugs.webkit.org/show_bug.cgi?id=21765
3600 Build failure fix for WebKit/GTK+; added missing
3603 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3605 2008-10-22 Alp Toker <alp@nuanti.com>
3607 Reviewed by Adam Roben.
3609 Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
3610 doesn't initialize values if the requested property doesn't exist, so
3611 initialize the values to the documented defaults before calling it
3612 where necessary. Additionally, avoid critical warnings by not calling
3613 gtk_widget_style_get() when we know the property isn't available.
3615 Note that this is an imported source file which doesn't follow the
3616 WebKit coding style.
3618 * platform/gtk/gtk2drawing.c:
3620 (moz_gtk_button_get_inner_border):
3621 (moz_gtk_combo_box_paint):
3622 (moz_gtk_toolbar_separator_paint):
3623 (moz_gtk_menu_separator_paint):
3624 (moz_gtk_get_widget_border):
3625 (moz_gtk_get_tab_scroll_arrow_size):
3626 (moz_gtk_get_toolbar_separator_width):
3627 (moz_gtk_get_menu_separator_height):
3629 2008-10-22 Alp Toker <alp@nuanti.com>
3631 Fix build for Cairo 1.2.
3633 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3634 (WebCore::GraphicsContext::clipOut):
3635 * platform/gtk/RenderThemeGtk.cpp:
3636 (WebCore::paintMozWidget):
3638 2008-10-22 Darin Fisher <darin@chromium.org>
3640 Reviewed by Eric Seidel.
3642 A little more PLATFORM(CHROMIUM) in WebCore
3643 https://bugs.webkit.org/show_bug.cgi?id=21758
3645 * page/AccessibilityObject.h:
3646 * platform/graphics/Icon.h:
3648 2008-10-21 Alexey Proskuryakov <ap@webkit.org>
3650 Reviewed by Darin Adler.
3652 Test: fast/events/message-channel-gc-3.html
3654 https://bugs.webkit.org/show_bug.cgi?id=21769
3655 MessagePort should be GC protected if there are messages to be delivered
3657 * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
3658 pending, and check if the queue is non-empty.
3659 (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
3662 * dom/MessagePort.cpp:
3663 (WebCore::CloseMessagePortTimer::fired):
3664 (WebCore::MessagePort::MessagePort):
3665 (WebCore::MessagePort::queueCloseEvent):
3666 (WebCore::MessagePort::dispatchCloseEvent):
3667 (WebCore::MessagePort::hasPendingActivity):
3668 Track message and close event activity separately.
3670 * bindings/js/JSDOMBinding.cpp:
3671 (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
3672 causing same-heap ports to never be deleted.
3674 2008-10-21 Dan Bernstein <mitz@apple.com>
3676 Reviewed by Sam Weinig.
3678 - remove unreachable code
3680 * platform/text/BidiResolver.h:
3683 2008-10-21 Beth Dakin <bdakin@apple.com>
3685 Reviewed by Darin Adler.
3687 Fix for https://bugs.webkit.org/show_bug.cgi?id=20352
3688 REGRESSION(r31030-31055): Choosing "Print window" from frame set
3690 and corresponding: <rdar://problem/6142398>
3692 viewHeight() and viewWidth() only return valuable information if we
3693 are not printing. Everywhere else in the code, we make sure we are
3694 not printing before we call these functions. Adding a check for
3695 printing here fixes this bug, and framesets print again.
3697 * rendering/RenderFrameSet.cpp:
3698 (WebCore::RenderFrameSet::layout):
3700 2008-10-21 Yael Aharon <yael.aharon@nokia.com>
3704 Pixmap in canvas tag was not getting initialized.
3706 See https://bugs.webkit.org/show_bug.cgi?id=21771
3708 * platform/graphics/qt/ImageBufferQt.cpp:
3709 (WebCore::ImageBuffer::create):
3711 2008-10-20 Simon Fraser <simon.fraser@apple.com>
3713 Reviewed by Dan Bernstein
3715 Add a comment explaining layoutDelta(), and an assertion
3716 that checks that delta changes were correctly paired during layout.
3718 * rendering/RenderView.cpp:
3719 (WebCore::RenderView::layout):
3720 * rendering/RenderView.h:
3722 2008-10-20 Timothy Hatcher <timothy@apple.com>
3724 Make auto-complete only suggest properties that are valid syntax
3725 when using dot-notation. Also when completing numeric properties,
3726 the quotes are omitted inside the brackets.
3728 https://bugs.webkit.org/show_bug.cgi?id=21760
3729 https://bugs.webkit.org/show_bug.cgi?id=21761
3731 Reviewed by Oliver Hunt.
3733 * inspector/front-end/Console.js:
3734 (WebInspector.Console.prototype.completions): Skip properties that
3735 are not valid identifies when using dot-notation. And omit the quotes
3736 when completing numbers in bracket-notation.
3738 2008-10-20 Timothy Hatcher <timothy@apple.com>
3740 Fixes the Profiles panel in the Web Inspector, which was broken by
3741 the JSValue base-class changes. Also renames some functions and
3742 variables in JavaScriptProfileNode.cpp that where title case.
3744 https://bugs.webkit.org/show_bug.cgi?id=21764
3746 Reviewed by Oliver Hunt.
3748 * inspector/JavaScriptProfile.cpp:
3749 (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
3750 returned JSValuePtr will be treated as an object and not a value.
3751 * inspector/JavaScriptProfileNode.cpp:
3752 (WebCore::toJS): Ditto.
3754 2008-10-20 Sam Weinig <sam@webkit.org>
3756 Reviewed by Anders Carlsson.
3758 Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
3760 * loader/EmptyClients.h:
3761 (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
3762 * loader/FrameLoader.cpp:
3763 (WebCore::FrameLoader::detachFromParent):
3764 * loader/FrameLoaderClient.h:
3766 2008-10-20 Antti Koivisto <antti@apple.com>
3768 Reviewed by Adele Peterson.
3770 Fix https://bugs.webkit.org/show_bug.cgi?id=21763
3771 REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
3772 <rdar://problem/6285025
3774 If we get 304 response we need to explicitly check if that completes the frame load.
3776 No test case, simulating the condition is pretty difficult.
3778 * loader/loader.cpp:
3779 (WebCore::Loader::Host::didReceiveResponse):
3781 2008-10-20 Anders Carlsson <andersca@apple.com>
3783 Reviewed by Mark Rowe.
3785 Work around <rdar://problem/6301728>.
3787 Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
3789 * loader/MainResourceLoader.cpp:
3790 (WebCore::MainResourceLoader::didReceiveResponse):
3791 (WebCore::MainResourceLoader::didReceiveData):
3792 (WebCore::MainResourceLoader::didFinishLoading):
3793 (WebCore::MainResourceLoader::didFail):
3795 2008-10-20 Beth Dakin <bdakin@apple.com>
3797 Reviewed by Adele Peterson.
3799 Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19
3800 crashes in Safari at com.apple.WebCore
3801 WebCore::ScrollView::visibleContentRect const + 153
3803 d->m_view can be null and is null-checked at other points in the
3804 code. The logs indicate that this crash occurs when closing a
3805 window containing a PDF, so in case where we crash, the PDF's view
3806 is probably already null. So the fix is to simply add a null-check.
3809 (WebCore::Frame::selectionRect):
3811 2008-10-20 Adele Peterson <adele@apple.com>
3813 Reviewed by Darin Adler.
3815 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
3816 Removed stray increment that would screw up any form with multiple files in it.
3818 2008-10-20 Sam Weinig <sam@webkit.org>
3820 Rubber-stamped by David Hyatt.
3822 Split LengthBox and LengthSize into their own files.
3825 * WebCore.vcproj/WebCore.vcproj:
3826 * WebCore.xcodeproj/project.pbxproj:
3827 * platform/Length.h:
3828 (WebCore::Length::blend):
3829 * platform/LengthBox.h: Copied from platform/Length.h.
3830 (WebCore::LengthBox::LengthBox):
3831 (WebCore::LengthBox::nonZero):
3832 * platform/LengthSize.h: Copied from platform/Length.h.
3833 (WebCore::LengthSize::LengthSize):
3834 (WebCore::LengthSize::setWidth):
3835 (WebCore::LengthSize::setHeight):
3836 (WebCore::LengthSize::height):
3838 * rendering/style/FillLayer.h:
3839 * rendering/style/NinePieceImage.h:
3840 (WebCore::NinePieceImage::NinePieceImage):
3841 * rendering/style/RenderStyle.h:
3842 * rendering/style/StyleDashboardRegion.h:
3843 * rendering/style/StyleSurroundData.h:
3844 * rendering/style/StyleVisualData.h:
3846 2008-10-20 Dan Bernstein <mitz@apple.com>
3850 * WebCore.xcodeproj/project.pbxproj:
3852 2008-10-20 Alp Toker <alp@nuanti.com>
3854 Fix autotools dist build target by listing recently added header
3855 files only. Not reviewed.
3859 2008-10-20 David Hyatt <hyatt@apple.com>
3861 Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms). Also
3862 refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
3865 ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.
3867 Reviewed by Adam Roben
3869 * WebCore.xcodeproj/project.pbxproj:
3870 * platform/Theme.cpp: Added.
3871 (WebCore::Theme::controlSupportsBorder):
3872 (WebCore::Theme::controlSupportsPadding):
3874 * platform/mac/ThemeMac.h:
3875 * platform/mac/ThemeMac.mm:
3876 * rendering/RenderTheme.cpp:
3877 (WebCore::RenderTheme::adjustStyle):
3878 * rendering/RenderTheme.h:
3880 2008-10-20 David Hyatt <hyatt@apple.com>
3882 Rename LengthBox's members to have m_ in front of them.
3884 Reviewed by Sam Weinig
3886 * css/CSSComputedStyleDeclaration.cpp:
3887 (WebCore::valueForNinePieceImage):
3888 (WebCore::getPositionOffsetValue):
3889 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3890 * css/CSSStyleSelector.cpp:
3891 (WebCore::CSSStyleSelector::mapNinePieceImage):
3892 * platform/Length.h:
3893 (WebCore::LengthBox::LengthBox):
3894 (WebCore::LengthBox::left):
3895 (WebCore::LengthBox::right):
3896 (WebCore::LengthBox::top):
3897 (WebCore::LengthBox::bottom):
3898 (WebCore::LengthBox::operator==):
3899 (WebCore::LengthBox::nonZero):
3900 * rendering/RenderObject.cpp:
3901 (WebCore::RenderObject::paintNinePieceImage):
3902 (WebCore::RenderObject::addDashboardRegions):
3903 * rendering/style/RenderStyle.cpp:
3904 (WebCore::positionedObjectMoved):
3905 (WebCore::RenderStyle::setClip):
3906 (WebCore::RenderStyle::noneDashboardRegions):
3907 * rendering/style/RenderStyle.h:
3908 (WebCore::InheritedFlags::left):
3909 (WebCore::InheritedFlags::right):
3910 (WebCore::InheritedFlags::top):
3911 (WebCore::InheritedFlags::bottom):
3912 (WebCore::InheritedFlags::clipLeft):
3913 (WebCore::InheritedFlags::clipRight):
3914 (WebCore::InheritedFlags::clipTop):
3915 (WebCore::InheritedFlags::clipBottom):
3916 (WebCore::InheritedFlags::marginTop):
3917 (WebCore::InheritedFlags::marginBottom):
3918 (WebCore::InheritedFlags::marginLeft):
3919 (WebCore::InheritedFlags::marginRight):
3920 (WebCore::InheritedFlags::paddingTop):
3921 (WebCore::InheritedFlags::paddingBottom):
3922 (WebCore::InheritedFlags::paddingLeft):
3923 (WebCore::InheritedFlags::paddingRight):
3924 (WebCore::InheritedFlags::setLeft):
3925 (WebCore::InheritedFlags::setRight):
3926 (WebCore::InheritedFlags::setTop):
3927 (WebCore::InheritedFlags::setBottom):
3928 (WebCore::InheritedFlags::setDashboardRegion):
3929 (WebCore::InheritedFlags::setClipLeft):
3930 (WebCore::InheritedFlags::setClipRight):
3931 (WebCore::InheritedFlags::setClipTop):
3932 (WebCore::InheritedFlags::setClipBottom):
3933 (WebCore::InheritedFlags::setMarginTop):
3934 (WebCore::InheritedFlags::setMarginBottom):
3935 (WebCore::InheritedFlags::setMarginLeft):
3936 (WebCore::InheritedFlags::setMarginRight):
3937 (WebCore::InheritedFlags::setPaddingTop):
3938 (WebCore::InheritedFlags::setPaddingBottom):
3939 (WebCore::InheritedFlags::setPaddingLeft):
3940 (WebCore::InheritedFlags::setPaddingRight):
3942 2008-10-20 Timothy Hatcher <timothy@apple.com>
3944 Make the Resource panel perform graph updates atomically, so when resources
3945 are added the graph and summary graph update at the same time.
3947 https://bugs.webkit.org/show_bug.cgi?id=21755
3949 Reviewed by Kevin McCullough.
3951 * inspector/front-end/Resource.js:
3952 (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
3953 property is undefined, null or 0. This allows callers to check for -1 and not
3954 the other values when there is no startTime yet.
3955 (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
3956 (WebInspector.Resource.prototype.get endTime): Ditto.
3957 (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
3958 (WebInspector.Resource.prototype.get latency): Ditto.
3959 (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
3960 property is undefined or null. This allows callers to always assume a number.
3961 (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
3962 (WebInspector.Resource.prototype.get errors): Simplify the case where there is
3963 no _errors property yet.
3964 (WebInspector.Resource.prototype.set errors): Remove the check if the new value
3965 if the same as the previous value, since there is no work to guard.
3966 (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
3967 no _warnings property yet.
3968 (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
3969 if the same as the previous value, since there is no work to guard.
3970 (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
3971 responseReceivedTime is -1.
3972 (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
3973 * inspector/front-end/ResourcesPanel.js:
3974 (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
3975 have a _resourcesTreeElement yet, exclude it from the searchable views.
3976 (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
3977 and call refresh to refresh the entire graph.
3978 (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
3979 is visible that calls refresh.
3980 (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
3981 graph for a resource if it hasn't been created yet. If the boundaries changed during
3982 the first stale resource pass, do a full pass of all resources when updating the graphs.
3983 (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
3984 (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
3985 graph, these are now created during the first refresh.
3986 (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
3987 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
3988 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
3989 (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
3990 add the resource to the _staleResources and set needsRefresh.
3991 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
3992 _resourcesTreeElement.
3993 (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
3994 the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
3995 since the insertBefore call will do it if needed.
3996 (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
3997 clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
3998 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
3999 timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
4000 since all the legend items are removed in one pass right before.
4001 (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
4002 before the calculator so the correct sortingFunction is there when a refresh happens.
4003 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
4004 when the startTime is -1, since that looks best visually. Also set middle and end
4005 to the start and middle (respectfully) when startAtZero. This looks best visually.
4006 (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
4007 (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
4009 2008-10-20 David Hyatt <hyatt@apple.com>
4011 https://bugs.webkit.org/show_bug.cgi?id=21733
4013 Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
4014 no attempt is made to re-cache the frame from a non-existent image source.
4016 Reviewed by Sam Weinig
4018 * platform/graphics/cairo/ImageCairo.cpp:
4019 (WebCore::BitmapImage::BitmapImage):
4020 * platform/graphics/cg/ImageCG.cpp:
4021 (WebCore::BitmapImage::BitmapImage):
4023 2008-10-20 Dan Bernstein <mitz@apple.com>
4025 Reviewed by John Sullivan.
4027 - make hasARenderedDescendant() have internal linkage
4029 * editing/CompositeEditCommand.cpp:
4030 (WebCore::hasARenderedDescendant):
4032 2008-10-20 Chris Fleizach <cfleizach@apple.com>
4034 Reviewed by Jon Honeycutt
4036 Fix a crash in Accessibility where a table section was being
4037 referenced without first checking if it was null
4039 https://bugs.webkit.org/show_bug.cgi?id=21721
4041 Test: accessibility/table-nofirstbody.html
4043 * page/AccessibilityTable.cpp:
4044 (WebCore::AccessibilityTable::addChildren):
4046 2008-10-20 David Hyatt <hyatt@apple.com>
4048 Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.
4050 Reviewed by Darin Adler
4052 * platform/graphics/cg/ImageSourceCG.cpp:
4053 (WebCore::ImageSource::repetitionCount):
4054 (WebCore::ImageSource::frameDurationAtIndex):
4056 2008-10-20 Alp Toker <alp@nuanti.com>
4058 Reviewed by Mark Rowe.
4060 Fix the pthread conditionals in the FTP code to correctly define
4061 threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
4064 * loader/FTPDirectoryDocument.cpp:
4065 * loader/FTPDirectoryParser.cpp:
4067 2008-10-20 David Hyatt <hyatt@apple.com>
4069 https://bugs.webkit.org/show_bug.cgi?id=21751
4071 Convert checkboxes and radio buttons on OS X over to the new Theme API.
4073 Reviewed by Adam Roben
4075 * css/CSSComputedStyleDeclaration.cpp:
4076 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4077 * css/CSSStyleSelector.cpp:
4078 (WebCore::CSSStyleSelector::mapFillSize):
4079 * platform/Length.h:
4080 (WebCore::LengthSize::LengthSize):
4081 (WebCore::LengthSize::operator==):
4082 (WebCore::LengthSize::width):
4083 (WebCore::LengthSize::height):
4084 (WebCore::LengthSize::setWidth):
4085 (WebCore::LengthSize::setHeight):
4087 (WebCore::Theme::controlSize):
4088 (WebCore::Theme::controlSupportsBorder):
4089 (WebCore::Theme::controlSupportsPadding):
4090 (WebCore::Theme::paint):
4091 (WebCore::Theme::inflateControlPaintRect):
4092 * platform/ThemeTypes.h:
4094 * platform/mac/ThemeMac.h:
4095 * platform/mac/ThemeMac.mm:
4097 (WebCore::controlSizeForFont):
4098 (WebCore::sizeFromFont):
4099 (WebCore::setControlSize):
4100 (WebCore::updateStates):
4101 (WebCore::inflateRect):
4102 (WebCore::checkboxSizes):
4103 (WebCore::checkboxMargins):
4104 (WebCore::checkboxSize):
4105 (WebCore::checkbox):
4106 (WebCore::paintCheckbox):
4107 (WebCore::radioSizes):
4108 (WebCore::radioMargins):
4109 (WebCore::radioSize):
4111 (WebCore::paintRadio):
4112 (WebCore::ThemeMac::baselinePositionAdjustment):
4113 (WebCore::ThemeMac::controlSize):
4114 (WebCore::ThemeMac::controlSupportsBorder):
4115 (WebCore::ThemeMac::controlSupportsPadding):
4116 (WebCore::ThemeMac::inflateControlPaintRect):
4117 (WebCore::ThemeMac::paint):
4118 * rendering/RenderBox.cpp:
4119 (WebCore::RenderBox::calculateBackgroundSize):
4120 * rendering/RenderObject.cpp:
4121 (WebCore::mustRepaintFillLayers):
4122 * rendering/RenderTheme.cpp:
4123 (WebCore::RenderTheme::adjustStyle):
4124 (WebCore::RenderTheme::paint):
4125 (WebCore::RenderTheme::baselinePosition):
4126 (WebCore::RenderTheme::adjustRepaintRect):
4127 (WebCore::RenderTheme::controlStatesForRenderer):
4128 (WebCore::RenderTheme::isFocused):
4129 * rendering/RenderTheme.h:
4130 * rendering/RenderThemeMac.h:
4131 * rendering/RenderThemeMac.mm:
4132 (WebCore::RenderThemeMac::adjustRepaintRect):
4133 * rendering/style/FillLayer.cpp:
4134 (WebCore::FillLayer::operator==):
4136 2008-10-18 Geoffrey Garen <ggaren@apple.com>
4138 Reviewed by Darin Adler.
4140 Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
4141 Emit profiling instrumentation only if the Web Inspector's profiling
4144 * bindings/js/JSDOMWindowBase.cpp:
4145 (WebCore::JSDOMWindowBase::supportsProfiling):
4146 * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
4147 whether a target global object has the Web Inspector's profiling feature
4150 * inspector/JavaScriptDebugServer.cpp:
4151 (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
4152 (WebCore::JavaScriptDebugServer::didAddListener):
4153 (WebCore::JavaScriptDebugServer::didRemoveListener):
4154 * inspector/JavaScriptDebugServer.h: Exported an API for recompiling,
4155 used by the Settings object.
4157 * page/Settings.cpp:
4158 (WebCore::Settings::Settings):
4159 (WebCore::Settings::setDeveloperExtrasEnabled):
4160 * page/Settings.h: Recompile when the developer menu is enabled/disabled
4161 for the first time, to add/remove profiling hooks. In the future, with
4162 better Web Inspector UI, we can do this on a page-by-page basis,
4163 instead of a global basis.
4165 2008-10-20 David Hyatt <hyatt@apple.com>
4167 Move Length to platform/.
4169 Reviewed by Adam Roben
4173 * WebCore.vcproj/WebCore.vcproj:
4174 * WebCore.xcodeproj/project.pbxproj:
4175 * WebCoreSources.bkl:
4176 * platform/Length.cpp: Copied from rendering/Length.cpp.
4177 * platform/Length.h: Copied from rendering/Length.h.
4179 2008-10-20 Darin Adler <darin@apple.com>
4181 - try to fix Qt build
4183 * bridge/qt/qt_runtime.cpp:
4184 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
4185 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
4187 2008-10-20 Darin Adler <darin@apple.com>
4189 - try to fix Qt build
4191 * bridge/qt/qt_instance.cpp:
4192 (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
4193 (JSC::Bindings::QtField::valueFromInstance): Ditto.
4194 * bridge/qt/qt_instance.h: Ditto.
4196 2008-10-20 Darin Adler <darin@apple.com>
4198 - try to fix Tiger build
4200 * bridge/objc/objc_instance.mm:
4201 (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
4203 (ObjcInstance::invokeDefaultMethod): Ditto.
4204 (ObjcInstance::getValueOfUndefinedField): Ditto.
4205 * bridge/objc/objc_runtime.mm:
4206 (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
4208 2008-10-20 Alexey Proskuryakov <ap@webkit.org>
4210 Reviewed by Darin Adler.
4212 https://bugs.webkit.org/show_bug.cgi?id=21750
4213 Eliminate the notion of "temporary events"
4215 We mark some events as temporary when dispatching, for the sole reason of
4216 manually calling forgetDOMObject when done dispatching.
4218 There doesn't seem to be any reason to call it manually, as JSEvent destructor
4219 will do this automatically right away.
4221 * bindings/js/ScriptController.cpp:
4222 * bindings/js/ScriptController.h:
4223 Removed ScriptController::finishedWithEvent(), which was called after dispatching
4226 * dom/ContainerNode.cpp:
4227 (WebCore::dispatchChildInsertionEvents):
4228 (WebCore::dispatchChildRemovalEvents):
4229 * dom/EventTarget.h:
4230 * dom/EventTargetNode.cpp:
4231 (WebCore::EventTargetNode::dispatchEvent):
4232 (WebCore::EventTargetNode::dispatchGenericEvent):
4233 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
4234 (WebCore::EventTargetNode::dispatchWindowEvent):
4235 (WebCore::EventTargetNode::dispatchUIEvent):
4236 (WebCore::EventTargetNode::dispatchKeyEvent):
4237 (WebCore::EventTargetNode::dispatchMouseEvent):
4238 (WebCore::EventTargetNode::dispatchWheelEvent):
4239 (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
4240 (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
4241 (WebCore::EventTargetNode::dispatchEventForType):
4242 (WebCore::EventTargetNode::dispatchProgressEvent):
4243 (WebCore::EventTargetNode::dispatchStorageEvent):
4244 * dom/EventTargetNode.h:
4245 * dom/MessagePort.cpp:
4246 (WebCore::MessagePort::dispatchMessages):
4247 (WebCore::MessagePort::dispatchCloseEvent):
4248 (WebCore::MessagePort::dispatchEvent):
4249 * dom/MessagePort.h:
4250 * editing/Editor.cpp:
4251 (WebCore::Editor::dispatchCPPEvent):
4252 (WebCore::dispatchEditableContentChangedEvents):
4253 * editing/ReplaceSelectionCommand.cpp:
4254 (WebCore::ReplacementFragment::ReplacementFragment):
4255 * editing/TypingCommand.cpp:
4256 (WebCore::TypingCommand::insertText):
4257 * loader/appcache/DOMApplicationCache.cpp:
4258 (WebCore::DOMApplicationCache::dispatchEvent):
4259 (WebCore::DOMApplicationCache::callListener):
4260 * loader/appcache/DOMApplicationCache.h:
4261 * page/EventHandler.cpp:
4262 (WebCore::EventHandler::dispatchDragEvent):
4263 (WebCore::EventHandler::keyEvent):
4264 (WebCore::EventHandler::handleTextInputEvent):
4265 * page/FrameView.cpp:
4266 (WebCore::FrameView::scheduleEvent):
4267 (WebCore::FrameView::updateOverflowStatus):
4268 (WebCore::FrameView::dispatchScheduledEvents):
4270 * rendering/RenderLayer.cpp:
4271 (WebCore::RenderLayer::scrollToOffset):
4272 (WebCore::RenderLayer::updateOverflowStatus):
4273 * svg/SVGElement.cpp:
4274 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
4275 * svg/SVGElementInstance.cpp:
4276 (WebCore::SVGElementInstance::dispatchEvent):
4277 * svg/SVGElementInstance.h:
4278 * xml/XMLHttpRequest.cpp:
4279 (WebCore::XMLHttpRequest::dispatchEvent):
4280 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
4281 (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
4282 * xml/XMLHttpRequest.h:
4283 * xml/XMLHttpRequestUpload.cpp:
4284 (WebCore::XMLHttpRequestUpload::dispatchEvent):
4285 (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
4286 * xml/XMLHttpRequestUpload.h:
4287 Don't pass the tempEvent boolean around.
4289 2008-10-20 Alp Toker <alp@nuanti.com>
4291 Remove unused includes only. Partial GTK+/Win build fix.
4293 * platform/graphics/gtk/SimpleFontDataPango.cpp:
4295 2008-10-20 Alexey Proskuryakov <ap@webkit.org>
4297 Reviewed by Oliver Hunt.
4299 https://bugs.webkit.org/show_bug.cgi?id=21705
4300 Implement Web Workers client-side API
4302 The implementation is experimental, and disabled by default. It doesn't quite match the
4303 published draft, being influenced by further WHATWG discussions.
4305 This only implements the client-side API, and does not actually create any threads or
4306 global contexts yet.
4308 * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
4309 still not sure if having separate classes for these helps at all.
4311 * WebCore.xcodeproj/project.pbxproj: Added new files.
4313 * bindings/js/JSDOMWindowBase.cpp:
4314 (jsDOMWindowBaseWorker):
4315 (WebCore::JSDOMWindowBase::put):
4316 (setJSDOMWindowBaseWorker):
4317 Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
4318 to match prevailing style.
4320 * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
4321 * bindings/js/JSDedicatedWorkerConstructor.h: Added.
4322 * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
4323 The implementation of event listeners are left custom intentionally, for easier implementation
4324 of listeners that are not tied to any Document in the future.
4326 * dom/DedicatedWorker.cpp: Added.
4327 * dom/DedicatedWorker.h: Added.
4328 * dom/DedicatedWorker.idl: Added.
4329 Added an implementation that can only load requested scripts for now.
4331 2008-10-19 Darin Adler <darin@apple.com>
4333 Reviewed by Dan Bernstein.
4335 - fix assertion seen when opening inspector
4337 * bindings/js/JSQuarantinedObjectWrapper.cpp:
4338 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
4339 Removed unneeded asObject cast.
4341 2008-10-19 Dan Bernstein <mitz@apple.com>
4343 Rubber-stamped by Timothy Hatcher.
4345 - remove empty directories and correct the MIME type of inspector images
4347 * page/inspector: Removed.
4348 * page/inspector/Images: Removed.
4350 2008-10-19 Timothy Hatcher <timothy@apple.com>
4352 Make the Web Inspector Resources panel open quicker and change graphs
4353 faster. There was some accidental n^2 logic at fault when updating the
4356 https://bugs.webkit.org/show_bug.cgi?id=21742
4358 Reviewed by Darin Adler.
4360 * inspector/front-end/ResourcesPanel.js:
4361 (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
4362 a null calculator. Remove the second argument passed to _refreshAllResources.
4363 (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
4364 the calculator for all the stale resources before calling refreshResource.
4365 Pass true for the first argument of refreshResource to skip the boundary update.
4366 (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
4367 the second argument passed to _refreshAllResources.
4368 (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
4369 skipSort argument since every passed true, and it would be bad to pass false.
4370 (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
4371 skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
4372 the resources before calling refreshResource. Pass true for the first argument
4373 of refreshResource to skip the boundary update.
4375 2008-10-19 Timothy Hatcher <timothy@apple.com>
4377 Visually distinguish resources that loaded from the memory cache.
4379 https://bugs.webkit.org/show_bug.cgi?id=14279
4381 Reviewed by Dan Bernstein.
4383 * English.lproj/localizedStrings.js: New string.
4384 * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
4385 * inspector/front-end/Images/timelineHollowPillGray.png: Added.
4386 * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
4387 * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
4388 * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
4389 * inspector/front-end/Images/timelineHollowPillRed.png: Added.
4390 * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
4391 * inspector/front-end/ResourcesPanel.js:
4392 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
4393 Add the "(from cache)" suffix to the tooltip.
4394 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
4395 Add the "(from cache)" suffix to the tooltip.
4396 (WebInspector.ResourceGraph): Add the "resource-cached" class.
4397 * inspector/front-end/inspector.css: New styles to make the timeline
4398 bars use the hollow pill images.
4400 2008-10-19 Timothy Hatcher <timothy@apple.com>
4402 Update the scroll position in the Resources panel when loading
4403 a new page or toggling on small resource rows.
4405 https://bugs.webkit.org/show_bug.cgi?id=20114
4407 Reviewed by Darin Adler.
4409 * inspector/front-end/ResourcesPanel.js:
4410 (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
4411 since all the resource are being removed.
4412 (WebInspector.ResourcesPanel.prototype.removeResource): Call
4413 _adjustScrollPosition in case the view is shorter and needs scrolled.
4414 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
4415 (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
4416 the height of the sidebar against the scrollTop and height of the
4417 resourcesContainerElement. If the sidebar is shorter, scroll up
4418 so the last resource is at the bottom again.
4420 2008-10-19 Timothy Hatcher <timothy@apple.com>
4422 Show per resource times and sizes when hovering over the bar graph for a resource.
4424 https://bugs.webkit.org/show_bug.cgi?id=14300
4425 rdar://problem/5712802
4427 Reviewed by Cameron Zwarich.
4429 * English.lproj/localizedStrings.js: Add new strings.
4430 * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
4431 * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
4432 * inspector/front-end/ResourcesPanel.js:
4433 (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
4434 ResourceGraph.refresh function.
4435 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
4436 returns the formatted value.
4437 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
4438 for the latency and download times. Also generate a custom tooltip.
4439 (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
4440 (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
4441 in case the bar has changed size.
4442 (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
4443 * inspector/front-end/inspector.css: New styles for the labels.
4445 2008-10-19 Darin Adler <darin@apple.com>
4447 Reviewed by Oliver Hunt.
4449 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
4450 improve performance by eliminating JSValue as a base class for JSCell
4452 Remove most uses of JSValue, which will be removed in a future patch.
4454 * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
4455 and used JSValuePtr instead.
4456 * bindings/js/JSEventTarget.h: Ditto.
4457 * bindings/js/JSNodeFilterCondition.h: Ditto.
4458 * bindings/js/ScheduledAction.h: Ditto.
4459 * bindings/js/ScriptController.h: Ditto.
4460 * bindings/objc/WebScriptObjectPrivate.h: Ditto.
4461 * bridge/c/c_utility.h: Ditto.
4462 * bridge/jni/jni_jsobject.h: Ditto.
4463 * bridge/jni/jni_utility.h: Ditto.
4464 * bridge/objc/WebScriptObject.h: Ditto.
4465 * dom/Traversal.h: Ditto.
4466 * inspector/InspectorController.cpp: Ditto.
4467 * inspector/JavaScriptProfile.h: Ditto.
4468 * inspector/JavaScriptProfileNode.h: Ditto.
4469 * loader/FrameLoader.h: Ditto.
4470 * page/Console.h: Ditto.
4471 * plugins/MimeTypeArray.h: Ditto.
4472 * plugins/Plugin.h: Ditto.
4473 * plugins/PluginArray.h: Ditto.
4474 * plugins/PluginView.cpp:
4475 (WebCore::getString): Ditto.
4476 (WebCore::PluginView::performRequest): Ditto.
4477 * plugins/gtk/PluginViewGtk.cpp: Ditto.
4478 * plugins/qt/PluginViewQt.cpp: Ditto.
4479 * plugins/win/PluginViewWin.cpp: Ditto.
4481 * bridge/qt/qt_class.cpp:
4482 (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
4483 instead of JSValue*.
4484 * bridge/qt/qt_class.h: Ditto.
4485 * bridge/qt/qt_instance.cpp:
4486 (JSC::Bindings::QtInstance::mark): Ditto.
4487 (JSC::Bindings::QtInstance::invokeMethod): Ditto.
4488 (JSC::Bindings::QtInstance::defaultValue): Ditto.
4489 (JSC::Bindings::QtInstance::stringValue): Ditto.
4490 (JSC::Bindings::QtInstance::numberValue): Ditto.
4491 (JSC::Bindings::QtInstance::booleanValue): Ditto.
4492 (JSC::Bindings::QtInstance::valueOf): Ditto.
4493 (JSC::Bindings::QtField::valueFromInstance): Ditto.
4494 (JSC::Bindings::QtField::setValueToInstance): Ditto.
4495 * bridge/qt/qt_instance.h: Ditto.
4496 * bridge/qt/qt_runtime.cpp: Ditto.
4497 (JSC::Bindings::valueRealType): Ditto.
4498 (JSC::Bindings::convertValueToQVariant): Ditto.
4499 (JSC::Bindings::convertQVariantToValue): Ditto.
4500 (JSC::Bindings::findMethodIndex): Ditto.
4501 (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
4502 (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
4503 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
4504 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
4505 (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
4506 (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
4507 (JSC::Bindings::QtArray::setValueAt): Ditto.
4508 (JSC::Bindings::QtArray::valueAt): Ditto.
4509 * bridge/qt/qt_runtime.h: Ditto.
4511 * bridge/testqtbindings.cpp:
4512 (main): Use JSValuePtr.
4514 2008-10-18 Darin Adler <darin@apple.com>
4516 Reviewed by Oliver Hunt.
4518 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
4519 improve performance by eliminating JSValue as a base class for JSCell
4521 Tweak a little more to get closer to where we can make JSValuePtr a class.
4523 * bindings/js/JSAudioConstructor.cpp:
4524 (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
4525 (WebCore::constructAudio): Ditto.
4526 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4527 (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
4529 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4530 (WebCore::toHTMLCanvasStyle): Use asString and asObject.
4531 (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
4532 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
4533 (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
4534 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
4535 (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
4536 (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
4538 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
4539 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
4541 * bindings/js/JSDOMBinding.cpp:
4542 (WebCore::setDOMException): Use noValue.
4544 * bindings/js/JSDOMBinding.h:
4545 (WebCore::getDOMPrototype): Use asObject.
4547 * bindings/js/JSDOMWindowBase.cpp:
4548 (WebCore::showModalDialog): Use noValue.
4549 (jsDOMWindowBaseEvent): Use asObject.
4550 (jsDOMWindowBaseImage): Ditto.
4551 (jsDOMWindowBaseMessageChannel): Ditto.
4552 (jsDOMWindowBaseOption): Ditto.
4553 (jsDOMWindowBaseXMLHttpRequest): Ditto.
4554 (jsDOMWindowBaseAudio): Ditto.
4555 (jsDOMWindowBaseXSLTProcessor): Ditto.
4556 (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
4557 (WebCore::JSDOMWindowBase::indexGetter): Ditto.
4558 (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
4559 (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
4560 (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
4561 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
4562 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
4563 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
4564 (windowProtoFuncOpen): Use noValue.
4565 (WebCore::toJSDOMWindow): Use asObject.
4567 * bindings/js/JSDOMWindowCustom.cpp:
4568 (WebCore::setTimeoutOrInterval): Use asString.
4569 (WebCore::toDOMWindow): Use asObject.
4571 * bindings/js/JSEventListener.cpp:
4572 (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
4573 (WebCore::JSLazyEventListener::parseCode): Use asObject.
4575 * bindings/js/JSHTMLCollectionCustom.cpp:
4576 (WebCore::JSHTMLCollection::nameGetter): Use asObject.
4577 * bindings/js/JSHTMLDocumentCustom.cpp:
4578 (WebCore::JSHTMLDocument::nameGetter): Ditto.
4579 * bindings/js/JSHTMLElementCustom.cpp:
4580 (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
4581 * bindings/js/JSHTMLFormElementCustom.cpp:
4582 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
4583 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
4584 (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
4585 * bindings/js/JSHTMLOptionElementConstructor.cpp:
4586 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
4587 (WebCore::constructHTMLOptionElement): Ditto.
4588 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
4589 (WebCore::JSHTMLOptionsCollection::remove): Ditto.
4590 * bindings/js/JSImageConstructor.cpp:
4591 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
4592 (WebCore::constructImage): Ditto.
4593 * bindings/js/JSInspectedObjectWrapper.cpp:
4594 (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
4595 * bindings/js/JSInspectorCallbackWrapper.cpp:
4596 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
4598 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4599 (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
4601 * bindings/js/JSMessageChannelConstructor.cpp:
4602 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
4603 (WebCore::JSMessageChannelConstructor::construct): Ditto.
4604 * bindings/js/JSMimeTypeArrayCustom.cpp:
4605 (WebCore::JSMimeTypeArray::nameGetter): Ditto.
4606 * bindings/js/JSNamedNodeMapCustom.cpp:
4607 (WebCore::JSNamedNodeMap::nameGetter): Ditto.
4608 * bindings/js/JSNamedNodesCollection.cpp:
4609 (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
4610 (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
4611 * bindings/js/JSNodeFilterCustom.cpp:
4612 (WebCore::toNodeFilter): Ditto.
4613 * bindings/js/JSNodeListCustom.cpp:
4614 (WebCore::JSNodeList::nameGetter): Ditto.
4615 * bindings/js/JSPluginArrayCustom.cpp:
4616 (WebCore::JSPluginArray::nameGetter): Ditto.
4617 * bindings/js/JSPluginCustom.cpp:
4618 (WebCore::JSPlugin::nameGetter): Ditto.
4619 * bindings/js/JSPluginElementFunctions.cpp:
4620 (WebCore::runtimeObjectGetter): Ditto.
4621 (WebCore::runtimeObjectPropertyGetter): Ditto.
4622 * bindings/js/JSQuarantinedObjectWrapper.cpp:
4623 (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
4624 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
4625 (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
4626 * bindings/js/JSRGBColor.cpp:
4627 (jsRGBColorRed): Ditto.
4628 (jsRGBColorGreen): Ditto.
4629 (jsRGBColorBlue): Ditto.
4631 * bindings/js/JSSQLResultSetRowListCustom.cpp:
4632 (WebCore::JSSQLResultSetRowList::item): Use noValue.
4634 * bindings/js/JSStorageCustom.cpp:
4635 (WebCore::JSStorage::nameGetter): Use asObject.
4636 (WebCore::JSStorage::deleteProperty): Ditto.
4637 (WebCore::JSStorage::customPut): Ditto.
4638 * bindings/js/JSStyleSheetListCustom.cpp:
4639 (WebCore::JSStyleSheetList::nameGetter): Ditto.
4640 * bindings/js/JSXMLHttpRequestConstructor.cpp:
4641 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
4642 * bindings/js/JSXSLTProcessorCustom.cpp:
4643 (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
4644 (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
4645 (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
4647 * bindings/js/ScriptController.cpp:
4648 (WebCore::ScriptController::evaluate): Use noValue.
4649 * bindings/objc/DOMInternal.mm:
4650 (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
4652 * bindings/objc/WebScriptObject.mm:
4653 (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
4654 (-[WebScriptObject valueForKey:]): Ditto.
4655 (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
4656 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
4657 Use asObject and asString.
4659 * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
4661 * bridge/c/c_instance.h: Use JSValuePtr.
4662 * bridge/c/c_runtime.cpp:
4663 (JSC::Bindings::CField::setValueToInstance): Ditto.
4665 * bridge/c/c_utility.cpp:
4666 (JSC::Bindings::convertValueToNPVariant): Use asObject.
4668 * bridge/jni/jni_instance.cpp:
4669 (JavaInstance::booleanValue): Use JSValuePtr.
4670 (JavaInstance::invokeMethod): Ditto. And noValue.
4671 * bridge/jni/jni_jsobject.mm:
4672 (JavaJSObject::getSlot): Ditto.
4673 (JavaJSObject::convertValueToJObject): Ditto.
4674 * bridge/jni/jni_runtime.cpp:
4675 (JavaField::dispatchValueFromInstance): Ditto.
4676 (JavaField::valueFromInstance): Ditto.
4677 (JavaField::dispatchSetValueToInstance): Ditto.
4678 (JavaField::setValueToInstance): Ditto.
4679 (JavaArray::setValueAt): Ditto.
4680 (JavaArray::valueAt): Ditto.
4681 * bridge/jni/jni_runtime.h: Ditto.
4683 * bridge/jni/jni_utility.cpp:
4684 (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
4685 instead of a JSValue*.
4686 (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
4688 * bridge/objc/objc_class.h: Use JSValuePtr.
4689 * bridge/objc/objc_instance.h: Ditto.
4690 * bridge/objc/objc_runtime.h: Ditto.
4692 * bridge/objc/objc_runtime.mm:
4693 (JSC::Bindings::callObjCFallbackObject): Use asObject.
4695 * bridge/objc/objc_utility.h: Use JSValuePtr.
4696 * bridge/objc/objc_utility.mm:
4697 (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
4698 (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
4700 * bridge/runtime.cpp:
4701 (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
4702 (JSC::Bindings::Instance::setValueOfField): Ditto.
4704 * bridge/runtime_array.cpp:
4705 (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
4706 (JSC::RuntimeArray::indexGetter): Ditto.
4707 * bridge/runtime_array.h: Ditto.
4708 * bridge/runtime_method.cpp:
4709 (JSC::RuntimeMethod::lengthGetter): Ditto.
4710 (JSC::callRuntimeMethod): Ditto.
4711 * bridge/runtime_object.cpp:
4712 (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
4713 (JSC::RuntimeObjectImp::fieldGetter): Ditto.
4714 (JSC::RuntimeObjectImp::methodGetter): Ditto.
4716 * loader/FrameLoader.cpp:
4717 (WebCore::FrameLoader::executeScript): Use noValue.
4720 (WebCore::Console::trace): Use asInternalFunction.
4722 2008-10-19 Dan Bernstein <mitz@apple.com>
4724 Reviewed by Timothy Hatcher.
4726 - lower the default button repaint frequency
4728 * rendering/RenderButton.cpp:
4729 (WebCore::RenderButton::styleDidChange): Changed the timer interval from
4732 2008-10-18 Dan Bernstein <mitz@apple.com>
4734 Reviewed by Mark Rowe.
4738 * rendering/RenderThemeSafari.cpp:
4739 (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
4740 (WebCore::RenderThemeSafari::paintMediaMuteButton):
4741 (WebCore::RenderThemeSafari::paintMediaPlayButton):
4742 (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
4743 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
4744 (WebCore::RenderThemeSafari::paintMediaSliderThumb):
4746 2008-10-18 Dan Bernstein <mitz@apple.com>
4748 Reviewed by Sam Weinig.
4750 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
4751 Long-dead decoded image data make up for most of the object cache's memory use over time
4753 Add a cache setting for how long decoded image data should be allowed to
4754 persist in memory after the image has died. By default, this is set to
4755 0, which means "forever".
4758 (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
4760 (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
4761 (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
4762 * loader/CachedImage.cpp:
4763 (WebCore::CachedImage::CachedImage): Initialize the decoded data
4765 (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
4766 the decoded image data.
4767 (WebCore::CachedImage::addClient): Stop the timer if it is active.
4768 (WebCore::CachedImage::allClientsRemoved): Start the decoded data
4770 * loader/CachedImage.h:
4772 2008-10-18 Darin Adler <darin@apple.com>
4774 Reviewed by Dan Bernstein.
4776 - fix https://bugs.webkit.org/show_bug.cgi?id=21645
4777 REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
4779 * html/HTMLFormElement.cpp:
4780 (WebCore::HTMLFormElement::formData):
4781 Fix loop that goes through the FormDataList to go two at a time in a clearer
4782 way. My last patch screwed up the way it got form content from the items.
4783 This "two at a time" approach is a confusing way to do things, which explains
4784 why I got it wrong last time through, but I decided to just fix it locally for
4785 now rather than changing the design of FormDataList.
4787 2008-10-18 Darin Adler <darin@apple.com>
4789 Reviewed by Cameron Zwarich.
4791 - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
4792 improve performance by eliminating JSValue as a base class for JSCell
4794 Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
4795 changing JSValuePtr to be a class, and then eventually renaming it
4796 to JSValue once that's done.
4798 * bindings/js/JSAttrCustom.cpp:
4799 * bindings/js/JSCSSRuleCustom.cpp:
4800 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4801 * bindings/js/JSCSSValueCustom.cpp:
4802 * bindings/js/JSCanvasPixelArrayCustom.h:
4803 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4804 * bindings/js/JSClipboardCustom.cpp:
4805 * bindings/js/JSConsoleCustom.cpp:
4806 * bindings/js/JSCustomSQLStatementCallback.cpp:
4807 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
4808 * bindings/js/JSCustomSQLTransactionCallback.cpp:
4809 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
4810 * bindings/js/JSCustomVoidCallback.cpp:
4811 * bindings/js/JSCustomVoidCallback.h:
4812 * bindings/js/JSCustomXPathNSResolver.cpp:
4813 * bindings/js/JSDOMApplicationCacheCustom.cpp:
4814 * bindings/js/JSDOMBinding.cpp:
4815 * bindings/js/JSDOMBinding.h:
4816 * bindings/js/JSDOMWindowBase.cpp:
4817 * bindings/js/JSDOMWindowBase.h:
4818 * bindings/js/JSDOMWindowCustom.cpp:
4819 * bindings/js/JSDOMWindowCustom.h:
4820 * bindings/js/JSDOMWindowShell.cpp:
4821 * bindings/js/JSDOMWindowShell.h:
4822 * bindings/js/JSDatabaseCustom.cpp:
4823 * bindings/js/JSDocumentCustom.cpp:
4824 * bindings/js/JSElementCustom.cpp:
4825 * bindings/js/JSEventCustom.cpp:
4826 * bindings/js/JSEventListener.cpp:
4827 * bindings/js/JSEventTarget.cpp:
4828 * bindings/js/JSEventTargetBase.h:
4829 * bindings/js/JSEventTargetNodeCustom.cpp:
4830 * bindings/js/JSHTMLAllCollection.h:
4831 * bindings/js/JSHTMLAppletElementCustom.cpp:
4832 * bindings/js/JSHTMLCollectionCustom.cpp:
4833 * bindings/js/JSHTMLDocumentCustom.cpp:
4834 * bindings/js/JSHTMLEmbedElementCustom.cpp:
4835 * bindings/js/JSHTMLFormElementCustom.cpp:
4836 * bindings/js/JSHTMLFrameElementCustom.cpp:
4837 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
4838 * bindings/js/JSHTMLIFrameElementCustom.cpp:
4839 * bindings/js/JSHTMLInputElementCustom.cpp:
4840 * bindings/js/JSHTMLObjectElementCustom.cpp:
4841 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
4842 * bindings/js/JSHTMLSelectElementCustom.cpp:
4843 * bindings/js/JSHTMLSelectElementCustom.h:
4844 * bindings/js/JSHistoryCustom.cpp:
4845 * bindings/js/JSImageDataCustom.cpp:
4846 * bindings/js/JSInspectedObjectWrapper.cpp:
4847 * bindings/js/JSInspectedObjectWrapper.h:
4848 * bindings/js/JSInspectorCallbackWrapper.cpp:
4849 * bindings/js/JSInspectorCallbackWrapper.h:
4850 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4851 * bindings/js/JSLocationCustom.cpp:
4852 * bindings/js/JSMessagePortCustom.cpp:
4853 * bindings/js/JSMimeTypeArrayCustom.cpp:
4854 * bindings/js/JSNamedNodeMapCustom.cpp:
4855 * bindings/js/JSNamedNodesCollection.cpp:
4856 * bindings/js/JSNamedNodesCollection.h:
4857 * bindings/js/JSNavigatorCustom.cpp:
4858 * bindings/js/JSNodeCustom.cpp:
4859 * bindings/js/JSNodeFilterCondition.cpp:
4860 * bindings/js/JSNodeFilterCustom.cpp:
4861 * bindings/js/JSNodeIteratorCustom.cpp:
4862 * bindings/js/JSNodeListCustom.cpp:
4863 * bindings/js/JSPluginArrayCustom.cpp:
4864 * bindings/js/JSPluginCustom.cpp:
4865 * bindings/js/JSPluginElementFunctions.cpp:
4866 * bindings/js/JSPluginElementFunctions.h:
4867 * bindings/js/JSQuarantinedObjectWrapper.cpp:
4868 * bindings/js/JSQuarantinedObjectWrapper.h:
4869 * bindings/js/JSRGBColor.cpp:
4870 * bindings/js/JSRGBColor.h:
4871 * bindings/js/JSSQLResultSetRowListCustom.cpp:
4872 * bindings/js/JSSQLTransactionCustom.cpp:
4873 * bindings/js/JSSVGElementInstanceCustom.cpp:
4874 * bindings/js/JSSVGLengthCustom.cpp:
4875 * bindings/js/JSSVGMatrixCustom.cpp:
4876 * bindings/js/JSSVGPathSegCustom.cpp:
4877 * bindings/js/JSSVGPathSegListCustom.cpp:
4878 * bindings/js/JSSVGPointListCustom.cpp:
4879 * bindings/js/JSSVGTransformListCustom.cpp:
4880 * bindings/js/JSStorageCustom.cpp:
4881 * bindings/js/JSStyleSheetCustom.cpp:
4882 * bindings/js/JSStyleSheetListCustom.cpp:
4883 * bindings/js/JSTextCustom.cpp:
4884 * bindings/js/JSTreeWalkerCustom.cpp:
4885 * bindings/js/JSXMLHttpRequestCustom.cpp:
4886 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4887 * bindings/js/JSXSLTProcessorCustom.cpp:
4888 * bindings/js/ScheduledAction.cpp:
4889 * bindings/js/ScheduledAction.h:
4890 * bindings/js/ScriptController.cpp:
4891 * bindings/js/ScriptController.h:
4892 * bindings/objc/WebScriptObject.mm:
4893 * bindings/scripts/CodeGeneratorJS.pm:
4894 * bridge/NP_jsobject.cpp:
4895 * bridge/c/c_instance.cpp:
4896 * bridge/c/c_instance.h:
4897 * bridge/c/c_runtime.cpp:
4898 * bridge/c/c_runtime.h:
4899 * bridge/c/c_utility.cpp:
4900 * bridge/jni/jni_instance.cpp:
4901 * bridge/jni/jni_instance.h:
4902 * bridge/jni/jni_jsobject.mm:
4903 * bridge/jni/jni_objc.mm:
4904 * bridge/jni/jni_runtime.cpp:
4905 * bridge/jni/jni_runtime.h:
4906 * bridge/jni/jni_utility.cpp:
4907 * bridge/objc/objc_class.mm:
4908 * bridge/objc/objc_instance.h:
4909 * bridge/objc/objc_instance.mm:
4910 * bridge/objc/objc_runtime.h:
4911 * bridge/objc/objc_runtime.mm:
4912 * bridge/objc/objc_utility.h:
4913 * bridge/objc/objc_utility.mm:
4915 * bridge/runtime_array.cpp:
4916 * bridge/runtime_array.h:
4917 * bridge/runtime_method.cpp:
4918 * bridge/runtime_method.h:
4919 * bridge/runtime_object.cpp:
4920 * bridge/runtime_object.h:
4921 * inspector/JavaScriptCallFrame.cpp:
4922 * inspector/JavaScriptCallFrame.h:
4923 * inspector/JavaScriptProfile.cpp:
4924 * inspector/JavaScriptProfileNode.cpp:
4925 * loader/FrameLoader.cpp:
4926 * loader/FrameLoader.h:
4929 * plugins/MimeTypeArray.h:
4931 * plugins/PluginArray.h:
4932 * xml/XMLHttpRequest.cpp:
4933 Replace JSValue* with JSValuePtr.
4935 2008-10-18 Darin Adler <darin@apple.com>
4937 Reviewed by Oliver Hunt.
4939 - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
4940 improve performance by eliminating JSValue as a base class for JSCell
4942 Update for change to make PreferredPrimitiveType no longer
4943 a member of JSValue.
4945 * bridge/c/c_instance.cpp:
4946 (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
4947 * bridge/jni/jni_instance.cpp:
4948 (JavaInstance::defaultValue): Ditto.
4949 * bridge/objc/objc_instance.mm:
4950 (ObjcInstance::defaultValue): Ditto.
4951 * bridge/qt/qt_instance.cpp:
4952 (JSC::Bindings::QtInstance::defaultValue): Ditto.
4953 * bridge/runtime.h: Ditto. Also removed typedef.
4955 2008-10-18 Darin Adler <darin@apple.com>
4957 - try to fix Windows build
4959 * rendering/RenderThemeSafari.cpp:
4960 (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
4961 SafariTheme namespace, since there is now an identically named constant in
4962 the ControlPart enum.
4963 (WebCore::RenderThemeSafari::paintButton): Ditto.
4964 (WebCore::RenderThemeSafari::paintTextField): Ditto.
4965 (WebCore::RenderThemeSafari::paintTextArea): Ditto.
4966 (WebCore::RenderThemeSafari::paintSearchField): Ditto.
4967 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
4968 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
4969 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
4971 2008-10-18 Jan Michael Alonzo <jmalonzo@webkit.org>
4973 Reviewed by Alp Toker.
4975 [GTK] crash after selecting a file on an <input type=file>
4976 https://bugs.webkit.org/show_bug.cgi?id=21385
4978 Follow Mac and Win's behaviors for Icon::paint
4980 * platform/graphics/gtk/IconGtk.cpp:
4981 (WebCore::Icon::paint): check if painting is enabled before
4984 2008-10-18 Zan Dobersek <zandobersek@gmail.com>
4986 Reviewed by Oliver Hunt.
4990 * platform/qt/RenderThemeQt.h:
4992 2008-10-17 Kevin Watters <kevinwatters@gmail.com>
4994 Reviewed by Kevin Ollivier
4996 Fix wx port's scrollbar and drawing handling after recent changes.
4998 https://bugs.webkit.org/show_bug.cgi?id=21720
5000 * platform/ScrollView.h:
5001 * platform/wx/ScrollViewWx.cpp:
5002 (WebCore::ScrollView::platformVisibleContentRect):
5003 (WebCore::ScrollView::platformContentsSize):
5004 (WebCore::ScrollView::platformSetContentsSize):
5005 * platform/wx/WidgetWx.cpp:
5006 (WebCore::Widget::paint):
5008 2008-10-17 Kevin Ollivier <kevino@theolliviers.com>
5010 wx build fix. EAppearance -> ControlPart.
5012 * platform/wx/RenderThemeWx.cpp:
5013 (WebCore::RenderThemeWx::isControlStyled):
5014 (WebCore::RenderThemeWx::adjustRepaintRect):
5015 (WebCore::RenderThemeWx::controlSupportsTints):
5016 (WebCore::RenderThemeWx::supportsFocus):
5017 (WebCore::RenderThemeWx::paintButton):
5019 2008-10-17 David Hyatt <hyatt@apple.com>
5021 Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar
5022 values from the enum since they are handled by ScrollbarTheme instead.
5024 Reviewed by Tim Hatcher
5026 * css/CSSPrimitiveValueMappings.h:
5027 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
5028 (WebCore::CSSPrimitiveValue::operator ControlPart):
5029 * css/CSSStyleSelector.cpp:
5030 (WebCore::CSSStyleSelector::adjustRenderStyle):
5031 * css/CSSValueKeywords.in:
5032 * platform/gtk/RenderThemeGtk.cpp:
5033 (WebCore::supportsFocus):
5034 (WebCore::RenderThemeGtk::baselinePosition):
5035 (WebCore::setToggleSize):
5036 (WebCore::RenderThemeGtk::setCheckboxSize):
5037 (WebCore::RenderThemeGtk::setRadioSize):
5038 (WebCore::RenderThemeGtk::adjustButtonStyle):
5039 * platform/qt/RenderThemeQt.cpp:
5040 (WebCore::RenderThemeQt::baselinePosition):
5041 (WebCore::RenderThemeQt::controlSupportsTints):
5042 (WebCore::RenderThemeQt::adjustRepaintRect):
5043 (WebCore::RenderThemeQt::isControlStyled):
5044 (WebCore::computeSizeBasedOnStyle):
5045 (WebCore::RenderThemeQt::paintButton):
5046 (WebCore::RenderThemeQt::paintTextField):
5047 (WebCore::RenderThemeQt::paintMenuList):
5048 (WebCore::RenderThemeQt::supportsFocus):
5049 (WebCore::RenderThemeQt::applyTheme):
5050 (WebCore::RenderThemeQt::adjustSliderThumbSize):
5051 * platform/qt/RenderThemeQt.h:
5052 * rendering/RenderSlider.cpp:
5053 (WebCore::RenderSlider::createThumbStyle):
5054 (WebCore::RenderSlider::layout):
5055 (WebCore::RenderSlider::setValueForPosition):
5056 (WebCore::RenderSlider::setPositionFromValue):
5057 (WebCore::RenderSlider::positionForOffset):
5058 (WebCore::RenderSlider::currentPosition):
5059 (WebCore::RenderSlider::setCurrentPosition):
5060 (WebCore::RenderSlider::trackSize):
5061 * rendering/RenderTheme.cpp:
5062 (WebCore::RenderTheme::adjustStyle):
5063 (WebCore::RenderTheme::paint):
5064 (WebCore::RenderTheme::paintBorderOnly):
5065 (WebCore::RenderTheme::paintDecorations):
5066 (WebCore::RenderTheme::isControlContainer):
5067 (WebCore::RenderTheme::isControlStyled):
5068 (WebCore::RenderTheme::supportsFocusRing):
5069 (WebCore::RenderTheme::isDefault):
5070 * rendering/RenderTheme.h:
5071 * rendering/RenderThemeMac.mm:
5072 (WebCore::RenderThemeMac::isControlStyled):
5073 (WebCore::RenderThemeMac::adjustRepaintRect):
5074 (WebCore::RenderThemeMac::baselinePosition):
5075 (WebCore::RenderThemeMac::controlSupportsTints):
5076 (WebCore::RenderThemeMac::adjustButtonStyle):
5077 (WebCore::RenderThemeMac::setButtonCellState):
5078 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
5079 (WebCore::RenderThemeMac::popupInternalPaddingRight):
5080 (WebCore::RenderThemeMac::popupInternalPaddingTop):
5081 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
5082 (WebCore::RenderThemeMac::paintSliderTrack):
5083 (WebCore::RenderThemeMac::paintSliderThumb):
5084 (WebCore::RenderThemeMac::adjustSliderThumbSize):
5085 * rendering/RenderThemeSafari.cpp:
5086 (WebCore::RenderThemeSafari::isControlStyled):
5087 (WebCore::RenderThemeSafari::adjustRepaintRect):
5088 (WebCore::RenderThemeSafari::baselinePosition):
5089 (WebCore::RenderThemeSafari::controlSupportsTints):
5090 (WebCore::RenderThemeSafari::adjustButtonStyle):
5091 (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
5092 (WebCore::RenderThemeSafari::popupInternalPaddingRight):
5093 (WebCore::RenderThemeSafari::popupInternalPaddingTop):
5094 (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
5095 (WebCore::RenderThemeSafari::paintSliderTrack):
5096 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
5097 * rendering/RenderThemeWin.cpp:
5098 (WebCore::RenderThemeWin::supportsFocus):
5099 (WebCore::RenderThemeWin::determineClassicState):
5100 (WebCore::RenderThemeWin::getClassicThemeData):
5101 (WebCore::RenderThemeWin::getThemeData):
5102 (WebCore::drawControl):
5103 (WebCore::RenderThemeWin::paintSliderTrack):
5104 (WebCore::RenderThemeWin::adjustSliderThumbSize):
5105 * rendering/RenderThemeWin.h:
5106 * rendering/style/RenderStyle.h:
5107 (WebCore::InheritedFlags::hasAppearance):
5108 (WebCore::InheritedFlags::appearance):
5109 (WebCore::InheritedFlags::setAppearance):
5110 (WebCore::InheritedFlags::initialAppearance):
5111 * rendering/style/RenderStyleConstants.h:
5113 2008-10-17 David Hyatt <hyatt@apple.com>
5115 Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header
5116 file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first.
5118 Reviewed by Tim Hatcher
5120 * WebCore.vcproj/WebCore.vcproj:
5121 * WebCore.xcodeproj/project.pbxproj:
5123 * platform/Theme.h: Added.
5124 (WebCore::Theme::Theme):
5125 (WebCore::Theme::~Theme):
5126 (WebCore::Theme::baselinePositionAdjustment):
5127 (WebCore::Theme::controlHasInactiveAppearance):
5128 (WebCore::Theme::controlsCanHaveInactiveAppearance):
5129 (WebCore::Theme::controlsCanHaveHoveredAppearance):
5130 (WebCore::Theme::controlDrawsBorder):
5131 (WebCore::Theme::controlDrawsBackground):
5132 (WebCore::Theme::controlDrawsFocusOutline):
5133 (WebCore::Theme::selectionColor):
5134 (WebCore::Theme::textSearchHighlightColor):
5135 (WebCore::Theme::systemColor):
5136 (WebCore::Theme::systemFont):
5137 (WebCore::Theme::caretBlinkFrequency):
5138 (WebCore::Theme::themeChanged):
5139 (WebCore::Theme::controlSize):
5140 (WebCore::Theme::controlFont):
5141 (WebCore::Theme::controlPadding):
5142 (WebCore::Theme::controlInternalPadding):
5143 (WebCore::Theme::controlBorder):
5144 (WebCore::Theme::controlBorderRadius):
5145 (WebCore::Theme::paint):
5146 (WebCore::Theme::inflateControlPaintRect):
5147 * platform/ThemeTypes.h: Added.
5149 (WebCore::ControlBox::ControlBox):
5150 (WebCore::ControlBox::top):
5151 (WebCore::ControlBox::right):
5152 (WebCore::ControlBox::bottom):
5153 (WebCore::ControlBox::left):
5154 * platform/mac/ThemeMac.h: Added.
5155 (WebCore::ThemeMac::ThemeMac):
5156 (WebCore::ThemeMac::~ThemeMac):
5157 * platform/mac/ThemeMac.mm: Added.
5158 (WebCore::platformTheme):
5159 * rendering/RenderTheme.cpp:
5160 (WebCore::RenderTheme::RenderTheme):
5161 * rendering/RenderTheme.h:
5163 2008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>
5165 Reviewed by Sam Weinig. Landed by Jan Alonzo.
5167 https://bugs.webkit.org/show_bug.cgi?id=21603
5168 [GTK] Minor fixes to GOwnPtr
5170 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
5171 (WebCore::mediaPlayerPrivateErrorCallback):
5173 2008-10-17 Timothy Hatcher <timothy@apple.com>
5175 Recompile the JavaScript functions when removing any listener, so functions that are
5176 not being debugged can resume normal speed again.
5178 https://bugs.webkit.org/show_bug.cgi?id=21715
5180 Reviewed by Geoffrey Garen.
5182 * bindings/js/JSDOMWindowBase.cpp:
5183 (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
5184 was firing when closing the window and having the recompile fire after. This was an
5185 overzelious assert now.
5186 * inspector/JavaScriptDebugServer.cpp:
5187 (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
5188 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
5190 2008-10-17 Timothy Hatcher <timothy@apple.com>
5192 Fixes a regression where starting a debugging session in
5193 another Web Inspector window would not show any scripts.
5194 Also only attach the debugger to only the required Pages.
5196 https://bugs.webkit.org/show_bug.cgi?id=21708
5198 Reviewed by Darin Adler.
5200 * inspector/JavaScriptDebugServer.cpp:
5201 (WebCore::JavaScriptDebugServer::addListener): Add an assert and
5202 remove the call to willAddFirstListener(). Add a call to
5204 (WebCore::JavaScriptDebugServer::removeListener): Add an assert
5205 and call to didRemoveListener().
5206 (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
5207 if there is a listener interested in the new Page.
5208 (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
5209 Use hasGlobalListeners() instead of isEmpty().
5210 (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
5211 (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
5212 debugger to the page if non-null, or all pages if page is null.
5213 (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
5214 the debugger only if there are no interested listeners.
5215 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
5216 call to Page::setDebuggerForAllPages().
5217 * inspector/JavaScriptDebugServer.h:
5218 (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
5220 2008-10-15 Brett Wilson <brettw@chromium.org>
5222 Reviewed by Timothy Hatcher.
5224 Have ImageDocument generate its own filename for the title of images
5225 without relying on the suggested filename from the network layer, which
5226 may be nonexistant or not relevant.
5227 https://bugs.webkit.org/show_bug.cgi?id=21565
5229 * loader/ImageDocument.cpp:
5230 (WebCore::ImageTokenizer::finish):
5232 2008-10-17 Alexey Proskuryakov <ap@webkit.org>
5238 * WebCore.vcproj/WebCore.vcproj:
5239 * WebCoreSources.bkl:
5240 Added ActiveDOMObject to the build.
5242 2008-10-17 Alexey Proskuryakov <ap@webkit.org>
5244 Reviewed by Sam Weinig.
5246 https://bugs.webkit.org/show_bug.cgi?id=21642
5247 Abstract out active object tracking
5249 * WebCore.xcodeproj/project.pbxproj:
5250 * bindings/js/JSDOMBinding.cpp:
5251 (WebCore::markActiveObjectsForDocument):
5252 * dom/ActiveDOMObject.cpp: Added.
5253 (WebCore::ActiveDOMObject::ActiveDOMObject):
5254 (WebCore::ActiveDOMObject::~ActiveDOMObject):
5255 (WebCore::ActiveDOMObject::contextDestroyed):
5256 (WebCore::ActiveDOMObject::stop):
5257 * dom/ActiveDOMObject.h: Added.
5258 (WebCore::ActiveDOMObject::document):
5259 (WebCore::ActiveDOMObject::hasPendingActivity):
5260 (WebCore::ActiveDOMObject::setPendingActivity):
5261 (WebCore::ActiveDOMObject::unsetPendingActivity):
5263 (WebCore::Document::~Document):
5264 (WebCore::Document::stopActiveDOMObjects):
5265 (WebCore::Document::createdActiveDOMObject):
5266 (WebCore::Document::destroyedActiveDOMObject):
5268 (WebCore::Document::activeDOMObjects):
5269 * dom/MessagePort.cpp:
5270 (WebCore::MessagePort::contextDestroyed):
5271 * dom/MessagePort.h:
5272 * loader/FrameLoader.cpp:
5273 (WebCore::FrameLoader::stopLoading):
5274 * xml/XMLHttpRequest.cpp:
5275 (WebCore::XMLHttpRequest::XMLHttpRequest):
5276 (WebCore::XMLHttpRequest::~XMLHttpRequest):
5277 (WebCore::XMLHttpRequest::associatedFrame):
5278 (WebCore::XMLHttpRequest::responseXML):
5279 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
5280 (WebCore::XMLHttpRequest::initSend):
5281 (WebCore::XMLHttpRequest::send):
5282 (WebCore::XMLHttpRequest::createRequest):
5283 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
5284 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
5285 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
5286 (WebCore::XMLHttpRequest::loadRequestSynchronously):
5287 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
5288 (WebCore::XMLHttpRequest::dropProtection):
5289 (WebCore::XMLHttpRequest::setRequestHeader):
5290 (WebCore::XMLHttpRequest::processSyncLoadResults):
5291 (WebCore::XMLHttpRequest::didFinishLoading):
5292 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
5293 (WebCore::XMLHttpRequest::willSendRequest):
5294 (WebCore::XMLHttpRequest::accessControlCheck):
5295 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
5296 (WebCore::XMLHttpRequest::stop):
5297 (WebCore::XMLHttpRequest::contextDestroyed):
5298 * xml/XMLHttpRequest.h:
5299 Move activity tracking to a new ActiveDOMObject class.
5301 2008-10-16 David Hyatt <hyatt@apple.com>
5303 Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant
5304 they would be given a style that corresponded to the RenderObject* passed in. This is not what the code
5305 did though. This patch removes the renderer argument and the Element subclass shadow implementation
5306 so that confusion like this can't occur again.
5308 Reviewed by Oliver Hunt
5313 (WebCore::Node::createRendererIfNeeded):
5314 (WebCore::Node::styleForRenderer):
5316 * html/HTMLOptGroupElement.cpp:
5317 (WebCore::HTMLOptGroupElement::attach):
5318 * html/HTMLOptionElement.cpp:
5319 (WebCore::HTMLOptionElement::attach):
5320 * svg/SVGClipPathElement.cpp:
5321 (WebCore::SVGClipPathElement::canvasResource):
5322 * svg/SVGFEDiffuseLightingElement.cpp:
5323 (WebCore::SVGFEDiffuseLightingElement::build):
5324 * svg/SVGFEFloodElement.cpp:
5325 (WebCore::SVGFEFloodElement::build):
5326 * svg/SVGFESpecularLightingElement.cpp:
5327 (WebCore::SVGFESpecularLightingElement::build):
5328 * svg/SVGGradientElement.cpp:
5329 (WebCore::SVGGradientElement::buildStops):
5330 * svg/SVGUseElement.cpp:
5331 (WebCore::SVGUseElement::attachShadowTree):
5333 2008-10-16 David Hyatt <hyatt@apple.com>
5335 https://bugs.webkit.org/attachment.cgi?bugid=21647
5337 Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced
5338 out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and
5339 all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed
5342 At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
5343 as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the
5344 arena also limited the usefulness.
5346 Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
5347 mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate
5348 manual ref/deref far outweigh keeping them in the arena.
5350 Reviewed by Adam Roben
5352 * css/CSSStyleSelector.cpp:
5353 (WebCore::CSSStyleSelector::CSSStyleSelector):
5354 (WebCore::CSSStyleSelector::~CSSStyleSelector):
5355 (WebCore::CSSStyleSelector::styleForElement):
5356 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
5357 (WebCore::CSSStyleSelector::pseudoStyleForElement):
5358 These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back
5359 so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
5361 (WebCore::CSSStyleSelector::updateFont):
5362 (WebCore::CSSStyleSelector::checkSelector):
5363 (WebCore::CSSStyleSelector::applyProperty):
5364 (WebCore::CSSStyleSelector::mapFillSize):
5365 (WebCore::CSSStyleSelector::mapFillXPosition):
5366 (WebCore::CSSStyleSelector::mapFillYPosition):
5367 * css/CSSStyleSelector.h:
5368 (WebCore::CSSStyleSelector::style):
5370 (WebCore::Document::recalcStyle):
5372 (WebCore::Element::styleForRenderer):
5373 (WebCore::Element::recalcStyle):
5374 (WebCore::Element::computedStyle):
5376 * dom/ElementRareData.h:
5377 (WebCore::ElementRareData::ElementRareData):
5378 (WebCore::ElementRareData::resetComputedStyle):
5380 (WebCore::Node::diff):
5381 (WebCore::Node::createRendererIfNeeded):
5382 (WebCore::Node::styleForRenderer):
5383 (WebCore::Node::setRenderStyle):
5385 * html/CanvasRenderingContext2D.cpp:
5386 (WebCore::CanvasRenderingContext2D::setFont):
5387 * html/HTMLOptGroupElement.cpp:
5388 (WebCore::HTMLOptGroupElement::attach):
5389 (WebCore::HTMLOptGroupElement::detach):
5390 (WebCore::HTMLOptGroupElement::setRenderStyle):
5391 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
5392 * html/HTMLOptGroupElement.h:
5393 * html/HTMLOptionElement.cpp:
5394 (WebCore::HTMLOptionElement::attach):
5395 (WebCore::HTMLOptionElement::detach):
5396 (WebCore::HTMLOptionElement::setRenderStyle):
5397 (WebCore::HTMLOptionElement::nonRendererRenderStyle):
5398 * html/HTMLOptionElement.h:
5399 * page/animation/AnimationBase.h:
5400 (WebCore::AnimationBase::animate):
5401 * page/animation/AnimationController.cpp:
5402 (WebCore::AnimationController::updateAnimations):
5403 * page/animation/AnimationController.h:
5404 * page/animation/CompositeAnimation.cpp:
5405 (WebCore::CompositeAnimationPrivate::updateTransitions):
5406 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
5407 (WebCore::CompositeAnimationPrivate::animate):
5408 (WebCore::CompositeAnimation::animate):
5409 * page/animation/CompositeAnimation.h:
5410 * page/animation/ImplicitAnimation.cpp:
5411 (WebCore::ImplicitAnimation::ImplicitAnimation):
5412 (WebCore::ImplicitAnimation::~ImplicitAnimation):
5413 (WebCore::ImplicitAnimation::animate):
5414 (WebCore::ImplicitAnimation::reset):
5415 (WebCore::ImplicitAnimation::isTargetPropertyEqual):
5416 (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
5417 * page/animation/ImplicitAnimation.h:
5418 (WebCore::ImplicitAnimation::create):
5419 * page/animation/KeyframeAnimation.cpp:
5420 (WebCore::KeyframeAnimation::KeyframeAnimation):
5421 (WebCore::KeyframeAnimation::~KeyframeAnimation):
5422 (WebCore::KeyframeAnimation::animate):
5423 (WebCore::KeyframeAnimation::validateTransformFunctionList):
5424 * page/animation/KeyframeAnimation.h:
5425 (WebCore::KeyframeAnimation::create):
5426 (WebCore::KeyframeAnimation::unanimatedStyle):
5427 * rendering/InlineTextBox.cpp:
5428 (WebCore::InlineTextBox::paint):
5429 * rendering/MediaControlElements.cpp:
5430 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
5431 (WebCore::MediaControlInputElement::MediaControlInputElement):
5432 * rendering/RenderBlock.cpp:
5433 (WebCore::RenderBlock::styleDidChange):
5434 (WebCore::RenderBlock::updateFirstLetter):
5435 * rendering/RenderContainer.cpp:
5436 (WebCore::RenderContainer::addChild):
5437 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
5438 * rendering/RenderFileUploadControl.cpp:
5439 (WebCore::RenderFileUploadControl::updateFromElement):
5440 (WebCore::RenderFileUploadControl::createButtonStyle):
5441 * rendering/RenderFileUploadControl.h:
5442 * rendering/RenderFlow.cpp:
5443 (WebCore::RenderFlow::createAnonymousFlow):
5444 * rendering/RenderFlow.h:
5445 * rendering/RenderInline.cpp:
5446 (WebCore::RenderInline::addChildToFlow):
5447 * rendering/RenderLayer.cpp:
5448 (WebCore::RenderLayer::updateScrollCornerStyle):
5449 (WebCore::RenderLayer::updateResizerStyle):
5450 (WebCore::RenderLayer::updateReflectionStyle):
5451 * rendering/RenderListItem.cpp:
5452 (WebCore::RenderListItem::styleDidChange):
5453 * rendering/RenderMedia.cpp:
5454 (WebCore::RenderMedia::createPanel):
5455 (WebCore::RenderMedia::createTimeDisplay):
5456 (WebCore::RenderMedia::changeOpacity):
5457 * rendering/RenderObject.cpp:
5458 (WebCore::RenderObject::selectionBackgroundColor):
5459 (WebCore::RenderObject::selectionForegroundColor):
5460 (WebCore::RenderObject::createAnonymousBlock):
5461 (WebCore::RenderObject::setAnimatableStyle):
5462 (WebCore::RenderObject::setStyle):
5463 (WebCore::RenderObject::setStyleInternal):
5464 (WebCore::RenderObject::arenaDelete):
5465 (WebCore::RenderObject::firstLineStyle):
5466 (WebCore::RenderObject::getPseudoStyle):
5467 * rendering/RenderObject.h:
5468 (WebCore::RenderObject::style):
5469 * rendering/RenderSVGBlock.cpp:
5470 (WebCore::RenderSVGBlock::setStyle):
5471 * rendering/RenderSVGBlock.h:
5472 * rendering/RenderScrollbar.cpp:
5473 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
5474 (WebCore::RenderScrollbar::updateScrollbarPart):
5475 * rendering/RenderScrollbar.h:
5476 * rendering/RenderSlider.cpp:
5477 (WebCore::RenderSlider::styleDidChange):
5478 (WebCore::RenderSlider::createThumbStyle):
5479 (WebCore::RenderSlider::updateFromElement):
5480 * rendering/RenderSlider.h:
5481 * rendering/RenderTable.cpp:
5482 (WebCore::RenderTable::addChild):
5483 * rendering/RenderTableRow.cpp:
5484 (WebCore::RenderTableRow::addChild):
5485 * rendering/RenderTableSection.cpp:
5486 (WebCore::RenderTableSection::addChild):
5487 * rendering/RenderTextControl.cpp:
5488 (WebCore::RenderTextControl::styleDidChange):
5489 (WebCore::RenderTextControl::createInnerBlockStyle):
5490 (WebCore::RenderTextControl::createInnerTextStyle):
5491 (WebCore::RenderTextControl::createResultsButtonStyle):
5492 (WebCore::RenderTextControl::createCancelButtonStyle):
5493 (WebCore::RenderTextControl::createSubtreeIfNeeded):
5494 (WebCore::RenderTextControl::updatePlaceholderVisibility):
5495 * rendering/RenderTextControl.h:
5496 * rendering/TextControlInnerElements.cpp:
5497 (WebCore::TextControlInnerElement::attachInnerElement):
5498 * rendering/TextControlInnerElements.h:
5499 * rendering/style/KeyframeList.cpp:
5500 (WebCore::KeyframeList::clear):
5501 (WebCore::KeyframeList::operator==):
5502 (WebCore::KeyframeList::insert):
5503 * rendering/style/KeyframeList.h:
5504 (WebCore::KeyframeValue::KeyframeValue):
5505 (WebCore::KeyframeValue::~KeyframeValue):
5506 (WebCore::KeyframeValue::key):
5507 (WebCore::KeyframeValue::style):
5508 * rendering/style/RenderStyle.cpp:
5509 (WebCore::defaultStyle):
5510 (WebCore::RenderStyle::create):
5511 (WebCore::RenderStyle::createDefaultStyle):
5512 (WebCore::RenderStyle::clone):
5513 (WebCore::RenderStyle::RenderStyle):
5514 (WebCore::RenderStyle::getCachedPseudoStyle):
5515 (WebCore::RenderStyle::addCachedPseudoStyle):
5516 * rendering/style/RenderStyle.h:
5518 (WebCore::InheritedFlags::operator!=):
5519 * svg/SVGClipPathElement.cpp:
5520 (WebCore::SVGClipPathElement::canvasResource):
5521 * svg/SVGGradientElement.cpp:
5522 (WebCore::SVGGradientElement::buildStops):
5523 * svg/SVGStyledElement.cpp:
5524 (WebCore::SVGStyledElement::resolveStyle):
5525 * svg/SVGStyledElement.h:
5526 * svg/SVGUseElement.cpp:
5527 (WebCore::SVGUseElement::recalcStyle):
5528 (WebCore::SVGUseElement::attachShadowTree):
5530 2008-10-16 Kenneth Russell <kenneth.russell@sun.com>
5532 Reviewed and landed by Anders Carlsson.
5534 https://bugs.webkit.org/show_bug.cgi?id=21587
5535 NPN_PluginThreadAsyncCall does not work properly
5537 * plugins/PluginMainThreadScheduler.cpp:
5538 (WebCore::PluginMainThreadScheduler::dispatchCalls):
5539 Make sure to set m_callPending to false once the queue has been cleared.
5541 2008-10-15 Alexey Proskuryakov <ap@webkit.org>
5543 Reviewed by Darin Adler.
5545 https://bugs.webkit.org/show_bug.cgi?id=21609
5546 Make MessagePorts protect their peers across heaps
5548 * dom/MessagePort.cpp:
5549 (WebCore::MessagePort::MessagePort):
5550 * dom/MessagePort.h:
5551 (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
5552 (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
5553 Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
5554 means that the implementation object knows about JS bindings - but it is not possible to
5555 access JS wrappers from another heap/thread.
5557 * bindings/js/JSDOMBinding.cpp:
5558 (WebCore::markCrossHeapDependentObjectsForDocument):
5559 * bindings/js/JSDOMBinding.h:
5560 * bindings/js/JSDOMWindowBase.cpp:
5561 (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
5562 * bindings/js/JSDOMWindowBase.h:
5563 Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
5564 hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
5565 as long as its entangled port is accessible itself.
5567 2008-10-15 Jon Honeycutt <jhoneycutt@apple.com>
5569 Remove unneeded check of whether a Page defers loading before running it
5574 Reviewed by Tim Hatcher.
5578 2008-10-15 Geoffrey Garen <ggaren@apple.com>
5580 Reviewed by Cameron Zwarich.
5582 Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
5583 Start the debugger without reloading the inspected page
5585 * WebCore.base.exp: New symbols.
5587 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
5588 * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
5589 * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
5591 * inspector/InspectorController.cpp:
5592 (WebCore::InspectorController::setWindowVisible):
5593 (WebCore::InspectorController::windowScriptObjectAvailable):
5594 (WebCore::InspectorController::startDebugging):
5595 * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
5596 to startDebugging, and changed its behavior to match.
5598 * inspector/JavaScriptDebugListener.h:
5599 * inspector/JavaScriptDebugServer.cpp:
5600 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
5601 (WebCore::JavaScriptDebugServer::addListener):
5602 (WebCore::JavaScriptDebugServer::removeListener):
5603 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
5604 (WebCore::JavaScriptDebugServer::willAddFirstListener):
5605 (WebCore::JavaScriptDebugServer::didRemoveLastListener):
5606 * inspector/JavaScriptDebugServer.h: Refactored the
5607 JavaScriptDebugServer to centralize handling of adding the first listener
5608 and removing the last. Then, added a feature to recompile all JS functions
5609 in these cases. This allows us to dynamically add and remove hooks like
5610 the debugger hooks without reloading the page.
5612 * inspector/front-end/ScriptsPanel.js:
5613 * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
5614 startDebugging rename. Removed all UI that claimed that starting the
5615 debugger would reload the page.
5617 2008-10-15 Adele Peterson <adele@apple.com>
5619 Attempt to fix the Tiger build.
5621 * platform/network/mac/ResourceHandleMac.mm:
5623 2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
5627 Try to fix static/non-static declaration of g_string_append_uri_escape
5628 by renaming that string. Another look needs to be taken.
5630 * platform/gtk/guriescape.c:
5631 (_webcore_g_string_append_uri_escaped):
5632 (_webcore_g_uri_escape_string):
5634 2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
5638 m_animatingImageType is gone.
5640 * platform/graphics/cairo/ImageCairo.cpp:
5641 (WebCore::BitmapImage::BitmapImage):
5643 2008-10-15 Jeff Cook <cookiecaper@gmail.com>
5645 Reviewed by Holger Freyther.
5647 Stop SIGSEGV when leaving a page with a Flash object by reordering
5648 window destruction and plugin stop.
5650 See https://bugs.webkit.org/show_bug.cgi?id=20779
5652 * plugins/gtk/PluginViewGtk.cpp:
5653 (WebCore::PluginView::stop):
5655 2008-10-15 Adele Peterson <adele@apple.com>
5657 Reviewed by Sam Weinig.
5659 Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist.
5661 * platform/network/ResourceHandle.h:
5662 * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
5663 * platform/network/mac/ResourceHandleMac.mm:
5664 (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
5665 (WebCore::ResourceHandle::start):
5666 (WebCore::ResourceHandle::cancel):
5667 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
5668 (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
5669 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
5670 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
5672 2008-10-15 Peter Kasting <pkasting@google.com>
5674 Reviewed by David Hyatt.
5676 Qt build bustage fix.
5678 * platform/graphics/qt/StillImageQt.h:
5679 (WebCore::StillImage::destroyDecodedData):
5681 2008-10-15 David Hyatt <hyatt@apple.com>
5683 Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
5685 Reviewed by Mark Rowe
5687 * rendering/RenderScrollbar.cpp:
5688 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
5689 (WebCore::RenderScrollbar::updateScrollbarPart):
5691 2008-10-15 Peter Kasting <pkasting@google.com>
5693 Reviewed by David Hyatt.
5695 https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
5696 Account for paint and timer lag when animating images. Also pretend
5697 that images whose animations were paused (by becoming invisible)
5698 continued to animate, by "catching up" to the correct frame when they're
5701 * platform/graphics/BitmapImage.cpp:
5702 (WebCore::BitmapImage::BitmapImage):
5703 (WebCore::BitmapImage::destroyDecodedData):
5704 (WebCore::BitmapImage::cacheFrame):
5705 (WebCore::BitmapImage::frameIsCompleteAtIndex):
5706 (WebCore::BitmapImage::frameDurationAtIndex):
5707 (WebCore::BitmapImage::frameHasAlphaAtIndex):
5708 (WebCore::BitmapImage::repetitionCount):
5709 (WebCore::BitmapImage::shouldAnimate):
5710 (WebCore::BitmapImage::startAnimation):
5711 (WebCore::BitmapImage::resetAnimation):
5712 (WebCore::BitmapImage::advanceAnimation):
5713 (WebCore::BitmapImage::internalAdvanceAnimation):
5714 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
5715 * platform/graphics/BitmapImage.h:
5716 (WebCore::FrameData::FrameData):
5717 (WebCore::BitmapImage::):
5718 * platform/graphics/GeneratedImage.h:
5719 (WebCore::GeneratedImage::destroyDecodedData):
5720 * platform/graphics/Image.h:
5721 * platform/graphics/cairo/ImageCairo.cpp:
5722 (WebCore::FrameData::clear):
5723 (WebCore::BitmapImage::BitmapImage):
5724 (WebCore::BitmapImage::draw):
5725 * platform/graphics/cg/ImageCG.cpp:
5726 (WebCore::FrameData::clear):
5727 (WebCore::BitmapImage::BitmapImage):
5728 (WebCore::BitmapImage::draw):
5729 * platform/graphics/cg/PDFDocumentImage.h:
5730 (WebCore::PDFDocumentImage::destroyDecodedData):
5731 * platform/graphics/qt/ImageQt.cpp:
5732 (WebCore::FrameData::clear):
5733 (WebCore::BitmapImage::draw):
5734 * platform/graphics/wx/ImageWx.cpp:
5735 (WebCore::FrameData::clear):
5736 (WebCore::BitmapImage::draw):
5737 * svg/graphics/SVGImage.h:
5738 (WebCore::SVGImage::destroyDecodedData):
5740 2008-10-14 Maxime Britto <britto@apple.com>
5742 Reviewed by Darin Adler, tweaked and landed by Beth.
5744 * WebCore.base.exp: Exposes two functions to be able to create a
5745 selection from a point on the screen. Also exposes the new
5746 TextIterator::currentNode function.
5747 * WebCore/editing/TextIterator.cpp:
5748 (TextIterator::currentNode) : New function that returns the current
5749 text node or NULL if there is no text node.
5751 2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
5753 Reviewed by Holger Freyther.
5755 http://bugs.webkit.org/show_bug.cgi?id=21211
5756 [CURL] Upload doesn't work because cancel is called
5758 FormDataStream::read returns 0 when retrieving data from the form
5759 fails, but also when there is no more data to send. This means that
5760 ResourceHandleManager::cancel is always called even when the data was
5763 Check if there are more elements in the form before calling
5764 FormDataStream::read.
5766 * platform/network/curl/FormDataStreamCurl.cpp:
5767 (WebCore::FormDataStream::hasMoreElements):
5768 * platform/network/curl/FormDataStreamCurl.h:
5769 * platform/network/curl/ResourceHandleManager.cpp:
5770 (WebCore::readCallback):
5772 2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
5774 Reviewed by Holger Freyther.
5776 http://bugs.webkit.org/show_bug.cgi?id=20664
5777 [GTK] File names are not always encodable in UTF-8
5779 On Linux file names are just raw data and cannot always be directly
5780 encoded in UTF-8 or in any other encodings, so we escape them before
5781 storing the file name in a String and unescape them before passing
5782 them to native functions handling files.
5785 * platform/FileSystem.h:
5786 * platform/gtk/FileChooserGtk.cpp:
5787 (WebCore::stringByAdoptingFileSystemRepresentation):
5788 (WebCore::FileChooser::basenameForWidth):
5789 * platform/gtk/FileSystemGtk.cpp:
5790 (WebCore::filenameToString):
5791 (WebCore::filenameFromString):
5792 (WebCore::filenameForDisplay):
5793 (WebCore::fileExists):
5794 (WebCore::deleteFile):
5795 (WebCore::deleteEmptyDirectory):
5796 (WebCore::getFileSize):
5797 (WebCore::getFileModificationTime):
5798 (WebCore::makeAllDirectories):
5799 (WebCore::homeDirectoryPath):
5800 (WebCore::pathGetFileName):
5801 (WebCore::listDirectory):
5802 * platform/gtk/KURLGtk.cpp:
5803 (WebCore::KURL::fileSystemPath):
5804 * platform/gtk/SharedBufferGtk.cpp:
5805 (WebCore::SharedBuffer::createWithContentsOfFile):
5806 * platform/gtk/guriescape.c: Added.
5809 (g_string_append_uri_escaped):
5810 (_webcore_g_uri_escape_string):
5811 * platform/gtk/guriescape.h: Added.
5813 2008-10-15 Dirk Schulze <vbs85@gmx.de>
5815 Reviewed by Eric Seidel.
5817 - part of https://bugs.webkit.org/show_bug.cgi?id=20543
5818 Moved gradient spread method out of SVG into the GraphicsContext.
5820 * platform/graphics/GraphicsContext.cpp:
5821 (WebCore::GraphicsContext::spreadMethod):
5822 (WebCore::GraphicsContext::setSpreadMethod):
5823 * platform/graphics/GraphicsContext.h:
5825 * platform/graphics/GraphicsContextPrivate.h:
5826 * platform/graphics/cairo/GraphicsContextCairo.cpp:
5827 (WebCore::applySpreadMethod):
5828 (WebCore::GraphicsContext::fillPath):
5829 (WebCore::GraphicsContext::strokePath):
5830 * platform/graphics/qt/GraphicsContextQt.cpp:
5831 (WebCore::applySpreadMethod):
5832 (WebCore::GraphicsContext::fillPath):
5833 (WebCore::GraphicsContext::strokePath):
5834 * svg/GradientAttributes.h:
5835 (WebCore::GradientAttributes::GradientAttributes):
5836 (WebCore::GradientAttributes::spreadMethod):
5837 (WebCore::GradientAttributes::setSpreadMethod):
5838 * svg/SVGGradientElement.cpp:
5839 (WebCore::SVGGradientElement::parseMappedAttribute):
5840 * svg/SVGGradientElement.h:
5841 * svg/SVGLinearGradientElement.cpp:
5842 (WebCore::SVGLinearGradientElement::collectGradientProperties):
5843 * svg/SVGRadialGradientElement.cpp:
5844 (WebCore::SVGRadialGradientElement::collectGradientProperties):
5845 * svg/graphics/SVGPaintServerGradient.cpp:
5846 (WebCore::operator<<):
5847 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
5848 (WebCore::SVGPaintServerGradient::spreadMethod):
5849 (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
5850 (WebCore::SVGPaintServerGradient::externalRepresentation):
5851 * svg/graphics/SVGPaintServerGradient.h:
5852 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
5853 (WebCore::SVGPaintServerGradient::setup):
5854 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
5855 (WebCore::SVGPaintServerGradient::setup):
5857 2008-10-09 Darin Fisher <darin@chromium.org>
5859 Reviewed by Sam Weinig.
5861 Make pan scrolling a platform configurable option
5862 https://bugs.webkit.org/show_bug.cgi?id=21515
5864 * page/EventHandler.cpp:
5865 (WebCore::EventHandler::handleAutoscroll):
5866 (WebCore::EventHandler::autoscrollTimerFired):
5867 (WebCore::EventHandler::stopAutoscrollTimer):
5868 (WebCore::EventHandler::handleMousePressEvent):
5869 (WebCore::EventHandler::keyEvent):
5871 2008-10-10 Darin Fisher <darin@chromium.org>
5873 Reviewed by Darin Adler.
5875 Add some PLATFORM(CHROMIUM) ifdefs to WebCore
5876 https://bugs.webkit.org/show_bug.cgi?id=21511
5878 * loader/FTPDirectoryDocument.cpp:
5879 * loader/FTPDirectoryParser.cpp:
5880 * loader/FrameLoader.cpp:
5881 (WebCore::FrameLoader::finishedLoadingDocument):
5882 * platform/ContextMenuItem.h:
5883 * platform/Cursor.h:
5884 * platform/DragData.h:
5885 * platform/DragImage.h:
5886 * platform/Pasteboard.h:
5887 * platform/PlatformKeyboardEvent.h:
5888 (WebCore::PlatformKeyboardEvent::isSystemKey):
5889 * platform/PlatformMenuDescription.h:
5890 * platform/PlatformMouseEvent.h:
5891 * platform/PlatformWheelEvent.h:
5892 * platform/PopupMenu.h:
5893 * platform/ScrollView.h:
5894 * platform/Widget.h:
5895 * platform/network/NetworkStateNotifier.h:
5897 2008-10-14 Chris Marrin <cmarrin@apple.com>
5899 Reviewed by Darin Adler.
5901 Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
5902 Optimize keyframe style sheet changes by avoiding styleSheetChanged()
5904 Test: css3/change-keyframes.html
5906 * css/WebKitCSSKeyframesRule.cpp:
5907 (WebCore::WebKitCSSKeyframesRule::append):
5908 (WebCore::WebKitCSSKeyframesRule::deleteRule):
5910 2008-10-14 David Hyatt <hyatt@apple.com>
5912 https://bugs.webkit.org/show_bug.cgi?id=21595
5914 Clean up background and overflow propagation from the body to the viewport. Make it match the
5915 latest CSS2.1 spec thinking.
5917 Reviewed by Adam Roben
5919 Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling
5920 (available at http://simon.html5.org/test/css/magic-body/).
5923 (WebCore::Document::body):
5924 * page/FrameView.cpp:
5925 (WebCore::FrameView::layout):
5926 * rendering/RenderBox.cpp:
5927 (WebCore::RenderBox::styleDidChange):
5928 (WebCore::RenderBox::paintRootBoxDecorations):
5929 (WebCore::RenderBox::paintBoxDecorations):
5930 (WebCore::RenderBox::repaintLayerRectsForImage):
5932 2008-10-14 Dimitri Glazkov <dglazkov@chromium.org>
5934 Reviewed and landed by Sam Weinig.
5936 Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
5937 remove NSResolver code, leaving only checking for selectors that need
5938 NS resolution and throwing a coresponding error.
5941 * WebCore.vcproj/WebCore.vcproj:
5942 * WebCore.xcodeproj/project.pbxproj:
5943 * WebCoreSources.bkl:
5944 * bindings/js/JSDocumentCustom.cpp:
5945 * bindings/js/JSDocumentFragmentCustom.cpp:
5946 * bindings/js/JSElementCustom.cpp:
5947 * bindings/js/JSNSResolver.cpp: Removed.
5948 * bindings/js/JSNSResolver.h: Removed.
5950 * dom/DocumentFragment.idl:
5952 * dom/NSResolver.h: Removed.
5953 * dom/NSResolver.idl: Removed.
5956 (WebCore::forEachTagSelector):
5957 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
5958 (WebCore::selectorNeedsNamespaceResolution):
5959 (WebCore::Node::querySelector):
5960 (WebCore::Node::querySelectorAll):
5962 2008-10-14 Darin Adler <darin@apple.com>
5964 Reviewed by Sam Weinig (all but the FormDataListItem rename).
5966 - https://bugs.webkit.org/show_bug.cgi?id=21593
5967 Bug 21593: add multiple-file support to HTMLFormElement
5969 * html/FormDataList.cpp: Removed appendFile since it's now inline.
5970 Also took incorrect old copyrights off of this file that are left
5971 over from when it was split.
5972 * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
5973 made it a member of FormDataList. Changed it to hold a File object
5974 instead of a path. And made its data members private. Changed
5975 FormDataList::appendFile accordingly.
5977 * html/HTMLFormElement.cpp:
5978 (WebCore::HTMLFormElement::formData): Updated for above changes.
5979 Removed the code that special-cases HTMLInputElement, because now
5980 the FormDataListItem has everything we need. And if there are
5981 multiple files, we'll get multiple list items for them.
5983 * html/HTMLInputElement.cpp:
5984 (WebCore::HTMLInputElement::appendFormData): Changed the code for
5985 <input type=file> to use File objects instead of path strings and
5986 also to append multiple files if the file list has them.
5988 2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
5992 Fix QtWebKit scrollbar painting errors
5994 * platform/qt/ScrollbarThemeQt.cpp:
5995 (WebCore::ScrollbarThemeQt::paint):
5996 (WebCore::ScrollbarThemeQt::paintScrollCorner):
5998 2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
6002 Fix scrollbar arrows for horizontal scrollbars
6004 * platform/qt/ScrollbarThemeQt.cpp:
6005 (WebCore::styleOptionSlider):
6007 2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
6011 Use style-painter to draw scrollbars in ScrollbarThemeQt
6013 This has the benefit of setting up the painter properly without
6014 antialiasing and saving and restoring the brush. It also ensures
6015 that we use the style of the QWebView over the QApplication style
6018 * platform/qt/RenderThemeQt.cpp:
6019 (WebCore::StylePainter::StylePainter):
6020 (WebCore::StylePainter::init):
6021 * platform/qt/RenderThemeQt.h:
6022 * platform/qt/ScrollbarThemeQt.cpp:
6023 (WebCore::ScrollbarThemeQt::paint):
6025 2008-10-13 David Hyatt <hyatt@apple.com>
6027 Add support for CSS transitions on some SVG properties. This patch is intended to be a guideline
6028 for how to add support for the rest.
6030 Reviewed by Oliver Hunt
6032 * page/animation/AnimationBase.cpp:
6033 (WebCore::ensurePropertyMap):
6034 * rendering/style/RenderStyle.h:
6035 (WebCore::RenderStyle::fillOpacity):
6036 (WebCore::RenderStyle::setFillOpacity):
6037 (WebCore::RenderStyle::strokeOpacity):
6038 (WebCore::RenderStyle::setStrokeOpacity):
6039 (WebCore::RenderStyle::floodOpacity):
6040 (WebCore::RenderStyle::setFloodOpacity):
6042 2008-10-13 David Hyatt <hyatt@apple.com>
6044 <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
6046 Fix for disabled scrollbars not painting in Windows Safari. Make sure that the Windows theme
6047 implements paintTrackBackground so that when the thumb is not present the track still paints.
6049 Reviewed by Oliver Hunt
6051 * platform/ScrollbarThemeComposite.cpp:
6052 (WebCore::ScrollbarThemeComposite::paint):
6053 * platform/win/ScrollbarThemeWin.cpp:
6054 (WebCore::ScrollbarThemeWin::paintTrackBackground):
6055 * platform/win/ScrollbarThemeWin.h:
6057 2008-10-13 David Hyatt <hyatt@apple.com>
6059 Fix over-invalidation of native scrollbars.
6061 Reviewed by Oliver Hunt
6063 * platform/Scrollbar.h:
6064 (WebCore::Scrollbar::styleChanged):
6065 * platform/mac/ScrollbarThemeMac.mm:
6066 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
6067 * rendering/RenderScrollbar.cpp:
6068 (WebCore::RenderScrollbar::styleChanged):
6070 2008-10-13 Alp Toker <alp@nuanti.com>
6072 Fix autotools dist build target by listing recently added header
6073 files only. Not reviewed.
6077 2008-10-13 Mark Rowe <mrowe@apple.com>
6079 Reviewed by Brady Eidson.
6081 Don't run a SQLite query on every iteration of the sync thread when the query
6082 will touch a large portion of the icon database while performing no useful work.
6084 * loader/icon/IconDatabase.cpp:
6085 (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
6086 we modified the database.
6087 (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
6088 unless we've been asked to prune any dangling pageURLs that we find.
6090 2008-10-13 Maciej Stachowiak <mjs@apple.com>
6092 Rubber stamped by Mark Rowe.
6094 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
6096 * Configurations/DebugRelease.xcconfig:
6098 2008-10-13 David Hyatt <hyatt@apple.com>
6100 Make dropdown lists on Windows work with CSS custom scrollbars.
6104 * platform/PopupMenu.h:
6105 (WebCore::PopupMenu::scrollbarCornerPresent):
6106 * platform/PopupMenuClient.h:
6107 * platform/win/PopupMenuWin.cpp:
6108 (WebCore::PopupMenu::show):
6109 * rendering/RenderMenuList.cpp:
6110 (WebCore::RenderMenuList::createScrollbar):
6111 * rendering/RenderMenuList.h:
6112 * rendering/RenderTextControl.cpp:
6113 (WebCore::RenderTextControl::createScrollbar):
6114 * rendering/RenderTextControl.h:
6116 2008-10-13 Chris Fleizach <cfleizach@apple.com>
6118 Reviewed by Beth Dakin.
6120 <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
6122 Links from image maps were not being included in the web area's AXLinkUIElements attribute.
6123 The position of image map links was being reported incorrectly and the parent-chain
6124 hierarchy for image map links was incorrect because image map links did not have a reference
6125 to their parent image.
6127 Test: accessibility/document-links.html
6129 * page/AccessibilityImageMapLink.cpp:
6130 (WebCore::AccessibilityImageMapLink::parentObject):
6131 (WebCore::AccessibilityImageMapLink::actionElement):
6132 (WebCore::AccessibilityImageMapLink::elementRect):
6133 * page/AccessibilityImageMapLink.h:
6134 (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
6135 (WebCore::AccessibilityImageMapLink::setParent):
6136 * page/AccessibilityObject.cpp:
6137 * page/AccessibilityObject.h:
6138 * page/AccessibilityRenderObject.cpp:
6139 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
6140 (WebCore::AccessibilityRenderObject::getDocumentLinks):
6141 (WebCore::AccessibilityRenderObject::addChildren):
6142 * page/AccessibilityRenderObject.h:
6143 * page/mac/AccessibilityObjectWrapper.mm:
6144 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
6146 2008-10-13 David Hyatt <hyatt@apple.com>
6148 Make RenderListBox work with CSS scrollbars. Refactoring this code to support creation/destruction in
6149 the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
6150 idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
6152 Reviewed by Tim Hatcher
6154 Added scrollbars/listbox-scrollbar-combinations.html
6156 * rendering/RenderListBox.cpp:
6157 (WebCore::RenderListBox::~RenderListBox):
6158 (WebCore::RenderListBox::updateFromElement):
6159 (WebCore::RenderListBox::createScrollbar):
6160 (WebCore::RenderListBox::destroyScrollbar):
6161 (WebCore::RenderListBox::setHasVerticalScrollbar):
6162 * rendering/RenderListBox.h:
6164 2008-10-13 David Hyatt <hyatt@apple.com>
6166 In order to always match the :corner-present pseudo-class properly, delay initial updating of
6167 scrollbar styles until the layer has the scrollbars in its member variables.
6169 Reviewed by Tim Hatcher
6171 * rendering/RenderLayer.cpp:
6172 (WebCore::RenderLayer::setHasHorizontalScrollbar):
6173 (WebCore::RenderLayer::setHasVerticalScrollbar):
6174 * rendering/RenderScrollbar.cpp:
6175 (WebCore::RenderScrollbar::RenderScrollbar):
6177 2008-10-13 Sam Weinig <sam@webkit.org>
6179 Reviewed by Dan Bernstein.
6181 Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
6182 5 false positive StructureID leaks
6184 In WebCore, we intentionally leak the common JSGlobalData which in turn
6185 leaks 5 StructureIDs. Use the new JSGlobalData::createLeaked in order to
6186 ignore the StructureIDs leaked within.
6188 * bindings/js/JSDOMWindowBase.cpp:
6189 (WebCore::JSDOMWindowBase::commonJSGlobalData):
6191 2008-10-13 David Hyatt <hyatt@apple.com>
6193 Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
6194 artwork based on whether there is a scrollbar corner present.
6196 Reviewed by Tim Hatcher
6198 * css/CSSSelector.cpp:
6199 (WebCore::CSSSelector::extractPseudoType):
6200 * css/CSSSelector.h:
6201 (WebCore::CSSSelector::):
6202 * css/CSSStyleSelector.cpp:
6203 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6204 * platform/ScrollView.cpp:
6205 (WebCore::ScrollView::scrollbarCornerPresent):
6206 * platform/ScrollView.h:
6207 * platform/ScrollbarClient.h:
6208 * rendering/RenderLayer.cpp:
6209 (WebCore::cornerRect):
6210 (WebCore::scrollCornerRect):
6211 (WebCore::resizerCornerRect):
6212 (WebCore::RenderLayer::scrollbarCornerPresent):
6213 (WebCore::RenderLayer::setHasHorizontalScrollbar):
6214 (WebCore::RenderLayer::setHasVerticalScrollbar):
6215 * rendering/RenderLayer.h:
6216 (WebCore::RenderLayer::horizontalScrollbar):
6217 (WebCore::RenderLayer::verticalScrollbar):
6218 * rendering/RenderListBox.h:
6219 (WebCore::RenderListBox::scrollbarCornerPresent):
6221 2008-10-13 David Hyatt <hyatt@apple.com>
6223 Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
6224 test case for all this can land).
6226 Reviewed by Tim Hatcher
6228 * css/CSSStyleSelector.cpp:
6229 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
6230 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6231 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6232 * rendering/RenderLayer.cpp:
6233 (WebCore::RenderLayer::paintOverflowControls):
6234 (WebCore::RenderLayer::paintScrollCorner):
6235 (WebCore::RenderLayer::paintResizer):
6236 (WebCore::RenderLayer::styleChanged):
6237 (WebCore::RenderLayer::updateScrollCornerStyle):
6238 (WebCore::RenderLayer::updateResizerStyle):
6239 * rendering/RenderLayer.h:
6240 * rendering/RenderScrollbar.cpp:
6241 (WebCore::RenderScrollbar::paint):
6242 * rendering/RenderScrollbarPart.cpp:
6243 (WebCore::RenderScrollbarPart::paintIntoRect):
6245 2008-10-13 David Hyatt <hyatt@apple.com>
6247 Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
6248 and invalidate properly as images load, etc.
6250 Reviewed by Tim Hatcher
6252 * rendering/RenderLayer.cpp:
6253 (WebCore::cornerRect):
6254 (WebCore::scrollCornerRect):
6255 (WebCore::resizerCornerRect):
6256 (WebCore::RenderLayer::positionOverflowControls):
6257 (WebCore::RenderLayer::paintOverflowControls):
6258 (WebCore::RenderLayer::paintScrollCorner):
6259 (WebCore::RenderLayer::paintResizer):
6260 (WebCore::RenderLayer::isPointInResizeControl):
6261 (WebCore::RenderLayer::hitTestOverflowControls):
6262 (WebCore::RenderLayer::styleChanged):
6263 * rendering/RenderLayer.h:
6264 * rendering/RenderObject.h:
6265 (WebCore::RenderObject::setRect):
6266 * rendering/RenderScrollbarPart.cpp:
6267 (WebCore::RenderScrollbarPart::styleDidChange):
6268 (WebCore::RenderScrollbarPart::imageChanged):
6270 2008-10-13 Marco Barisione <marco.barisione@collabora.co.uk>
6272 Reviewed by Darin Adler. Landed by Jan Alonzo.
6274 WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
6275 http://bugs.webkit.org/show_bug.cgi?id=20483
6277 Start the conversion to use GOwnPtr and fix a memory leak.
6279 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
6280 (WebCore::mediaPlayerPrivateErrorCallback):
6282 2008-10-12 Jon Honeycutt <jhoneycutt@apple.com>
6286 * loader/TextResourceDecoder.cpp:
6288 2008-10-12 Darin Fisher <darin@chromium.org>
6290 Reviewed by Darin Adler.
6292 - fix https://bugs.webkit.org/show_bug.cgi?id=21229
6293 Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
6295 * platform/network/NetworkStateNotifier.h: Add the #include.
6297 2008-10-12 Darin Adler <darin@apple.com>
6299 Based on work by Holger Freyther.
6301 - part of https://bugs.webkit.org/show_bug.cgi?id=20953
6302 Split WidthIterator into its own source file.
6304 * GNUmakefile.am: Added new source files.
6305 * WebCore.vcproj/WebCore.vcproj: Ditto.
6306 * WebCore.xcodeproj/project.pbxproj: Ditto.
6307 * WebCoreSources.bkl: Ditto.
6309 * platform/graphics/Font.cpp: Use WidthIterator from its new place.
6310 * platform/graphics/WidthIterator.cpp: Added.
6311 * platform/graphics/WidthIterator.h: Added.
6313 2008-10-12 Tony Chang <tony@chromium.org>
6315 Reviewed by Sam Weinig.
6317 - https://bugs.webkit.org/show_bug.cgi?id=21480
6318 Remove duplicate definitions of MimeClassInfo and PluginInfo.
6320 * plugins/PluginInfoStore.cpp: Added an include.
6321 * plugins/PluginInfoStore.h: Removed struct declarations.
6323 2008-10-12 Darin Adler <darin@apple.com>
6325 Reviewed by Dan Bernstein.
6327 - https://bugs.webkit.org/show_bug.cgi?id=21563
6328 Bug 21563: platform Gradient class should not use the CSS parser
6330 * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
6331 that accepts a CSS color string. That's handled in the DOM now, not here.
6332 (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
6334 * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
6336 2008-10-12 Glenn Wilson <gwilson@google.com>
6338 Reviewed by Darin Adler.
6340 - https://bugs.webkit.org/show_bug.cgi?id=20461
6342 Added feature to allow multi-line inputs into text fields.
6343 HTMLInputElement would cut the set text at the first 'system' character,
6344 so it would truncate at the first carriage return or newline.
6345 This fix modifies that behavior to truncate at any non-space system character
6346 but changes \r, \n, and \r\n to a single space.
6348 Tests: editing/pasteboard/paste-multiline-text-input.html
6350 * html/HTMLInputElement.cpp:
6351 (WebCore::HTMLInputElement::constrainValue):
6353 2008-10-12 Dirk Schulze <vbs85@gmx.de>
6355 Reviewed by Eric Seidel.
6357 - https://bugs.webkit.org/show_bug.cgi?id=20435
6359 Added exception codes to canvas gradients to match current specification.
6361 Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
6362 fast/canvas/linearGradient-infinite-values.html
6363 fast/canvas/radialGradient-infinite-values.html
6365 * html/CanvasGradient.cpp:
6366 (WebCore::CanvasGradient::addColorStop):
6367 * html/CanvasGradient.h:
6368 * html/CanvasGradient.idl:
6369 * html/CanvasRenderingContext2D.cpp:
6370 (WebCore::CanvasRenderingContext2D::createLinearGradient):
6371 (WebCore::CanvasRenderingContext2D::createRadialGradient):
6372 * html/CanvasRenderingContext2D.h:
6373 * html/CanvasRenderingContext2D.idl:
6375 2008-10-12 Eric Roman <eroman@chromium.org>
6377 - https://bugs.webkit.org/show_bug.cgi?id=20246
6378 Implement RenderThemeWin::systemColor() to match Windows colors.
6380 Reviewed by David Hyatt.
6382 * rendering/RenderThemeWin.cpp:
6383 (WebCore::cssValueIdToSysColorIndex):
6384 (WebCore::RenderThemeWin::systemColor):
6385 * rendering/RenderThemeWin.h:
6387 2008-10-12 Aaron Bockover <abockover@novell.com>
6389 Reviewed by Alp Toker.
6391 Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
6392 plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
6393 handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
6395 * plugins/gtk/PluginPackageGtk.cpp:
6397 2008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
6399 Reviewed by Oliver Hunt.
6401 - https://bugs.webkit.org/show_bug.cgi?id=19331
6402 <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
6404 * page/DragController.cpp:
6405 (WebCore::DragController::startDrag): When a link is dragged without any
6406 text selected (note: for this to work, the EditableLinkBehavior setting must be
6407 set to 'live' or 'default') and then dropped into an editable html document it
6408 will eventually violate an ASSERT in MoveSelectionCommand that requires that there
6409 is a selection. To prevent this, expand the selection to the enclosing anchor tag
6410 when the drag begins.
6412 2008-10-12 Darin Adler <darin@apple.com>
6414 Reviewed by Mark Rowe.
6416 - fix https://bugs.webkit.org/show_bug.cgi?id=21557
6417 Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
6419 * rendering/RenderObject.cpp:
6420 (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
6421 until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
6422 as RenderObject::isText(), and this guarantees that the node can be cast to
6423 Element*, which is done just below. The reason this is hit is that RenderLayer
6424 can call getPseudoStyle on a RenderView, which has the document as its
6425 element() -- and a document is neither a Text node nor an Element. A loose
6426 end is that this seems to mean you can't style the scrollbar corner or the
6427 resizer on a RenderView. Hyatt may want to look into that later.
6429 2008-10-12 Darin Adler <darin@apple.com>
6431 Reviewed by Sam Weinig.
6433 - https://bugs.webkit.org/show_bug.cgi?id=21556
6434 Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
6436 Tests: fast/dom/HTMLFontElement/size-attribute.html
6437 fast/dom/HTMLInputElement/size-attribute.html
6438 fast/dom/HTMLTableElement/cellpadding-attribute.html
6440 * html/HTMLFontElement.cpp:
6441 (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
6442 Unicode::isDigit, since non-ASCII digits are not valid here.
6443 * html/HTMLFontElement.h: Tweaked formatting a bit and removed
6444 the unneeded destructor declaration.
6445 * platform/text/String.cpp:
6446 (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
6447 of Unicode::isDigit, since non-ASCII digits are not valid.
6449 2008-10-12 Jungshik Shin <jshin@chromium.org>
6451 Reviewed by Darin Adler.
6453 Treat x-user-defined as windows-1252 for html files with meta charset
6454 declaration to be compatible with Indian web sites.
6455 ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
6457 Test: fast/encoding/charset-xuser-defined.html
6459 * loader/TextResourceDecoder.cpp:
6460 (WebCore::TextResourceDecoder::setEncoding):
6462 2008-10-12 Sam Weinig <sam@webkit.org>
6464 Reviewed by Dan Bernstein.
6466 Remove unneeded forward declaration.
6468 * platform/graphics/ImageBuffer.h:
6470 2008-10-12 Sam Weinig <sam@webkit.org>
6472 Reviewed by Darin Adler.
6474 Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
6475 Layering violation: String should not be responsible for creating Lengths
6477 It was a layering violation for String to know haw to parse
6478 into Lengths, LengthArrays, and CoordsArrays.
6482 * WebCore.vcproj/WebCore.vcproj:
6483 * WebCore.xcodeproj/project.pbxproj:
6484 * WebCoreSources.bkl:
6485 * html/HTMLAreaElement.cpp:
6486 (WebCore::HTMLAreaElement::parseMappedAttribute):
6487 * html/HTMLFrameSetElement.cpp:
6488 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
6489 * platform/text/AtomicString.h:
6490 (WebCore::AtomicString::percentage):
6491 * platform/text/PlatformString.h:
6492 * platform/text/String.cpp:
6493 * platform/text/StringImpl.cpp:
6494 * platform/text/StringImpl.h:
6495 * rendering/Length.cpp: Added.
6496 (WebCore::parseLength):
6497 (WebCore::countCharacter):
6498 (WebCore::newCoordsArray):
6499 (WebCore::newLengthArray):
6500 * rendering/Length.h:
6501 (WebCore::LengthSize::LengthSize):
6503 2008-10-12 Brad Garcia <bgarcia@google.com>
6505 Reviewed by Darin Adler.
6507 Interpret fractional percentage values for %MultiLength values.
6508 Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
6509 Test: fast/frames/frame-length-fractional-percentage.html
6511 * platform/text/StringImpl.cpp:
6512 (WebCore::parseLength):
6514 2008-10-12 Timothy Hatcher <timothy@apple.com>
6516 Remember the expanded state of the rules in the Styles pane. So
6517 collapsing a rule will persist across all the elements that have
6518 that same rule. The same applies to Computed Style, so the Computed
6519 Style rule is now collapsed by default. This should help lessen the
6520 confusion on why Computed Style can't be edited (a common confusion.)
6522 https://bugs.webkit.org/show_bug.cgi?id=21553
6524 Reviewed by Darin Adler.
6526 * inspector/front-end/PropertiesSection.js:
6527 (WebInspector.PropertiesSection): Set the _expanded property directly,
6528 instead of using the setter. Expanded is the default, so no work is needed.
6529 This prevents calling StylesSidebarPane.collapse before object initialization
6531 * inspector/front-end/StylesSidebarPane.js:
6532 (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
6533 for the expanded state of the StylePropertiesSection. Collapse computed style
6534 by default and expand everything else.
6535 (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
6536 when remembering expanded state.
6537 (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
6538 to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
6539 the state if the dontRememberState property is true.
6540 (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
6541 to false for this identifier in Preferences.styleRulesExpandedState.
6542 * inspector/front-end/inspector.js:
6543 (Preferences.styleRulesExpandedState): Initialize to an empty object.
6545 2008-10-12 Jan Michael Alonzo <jmalonzo@webkit.org>
6547 Reviewed by Alp Toker.
6549 [Gtk] Remove libWebCoreJS.la when doing make clean
6550 https://bugs.webkit.org/show_bug.cgi?id=21544
6552 Remove libWebCoreJS.la when doing a clean target
6554 * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
6556 2008-10-11 Alp Toker <alp@nuanti.com>
6558 Reviewed by Darin Adler.
6560 https://bugs.webkit.org/show_bug.cgi?id=20592
6561 The focus ring is not shown while navigating on some pages
6563 Fix drawFocusRing() so it doesn't depend on the current graphics
6564 state, thus matching other platforms which already work this way.
6566 This patch provides two code paths: one using straight Cairo and
6567 one specialised for the GTK+ port with a more conventional appearance.
6569 Also change focusRingColor() to return a null color, allowing the
6570 focus ring to pick up the style's current color if it isn't overridden
6573 * platform/graphics/cairo/GraphicsContextCairo.cpp:
6574 (WebCore::GraphicsContext::drawFocusRing):
6575 * platform/gtk/TemporaryLinkStubs.cpp:
6576 (WebCore::focusRingColor):
6578 2008-10-11 Dan Bernstein <mitz@apple.com>
6580 Rubber-stamped by Sam Weinig.
6582 - change all internal callers to use Cache::evict() instead of remove()
6585 (WebCore::Cache::revalidateResource):
6586 (WebCore::Cache::revalidationSucceeded):
6587 (WebCore::Cache::pruneDeadResources):
6588 (WebCore::Cache::setDisabled):
6590 2008-10-11 David Hyatt <hyatt@apple.com>
6592 Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
6594 Reviewed by Tim Hatcher
6596 * platform/ScrollbarThemeComposite.cpp:
6597 (WebCore::ScrollbarThemeComposite::invalidatePart):
6599 2008-10-11 David Hyatt <hyatt@apple.com>
6601 https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
6603 Also fixed resizer positioning problems.
6605 Reviewed by Tim Hatcher
6607 * platform/ScrollbarThemeComposite.cpp:
6608 (WebCore::ScrollbarThemeComposite::splitTrack):
6609 (WebCore::ScrollbarThemeComposite::trackPosition):
6610 (WebCore::ScrollbarThemeComposite::trackLength):
6611 * platform/ScrollbarThemeComposite.h:
6612 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
6613 * rendering/RenderLayer.cpp:
6614 (WebCore::scrollCornerRect):
6615 (WebCore::RenderLayer::positionOverflowControls):
6616 (WebCore::RenderLayer::paintOverflowControls):
6617 (WebCore::RenderLayer::isPointInResizeControl):
6618 (WebCore::RenderLayer::hitTestOverflowControls):
6619 * rendering/RenderScrollbarTheme.cpp:
6620 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
6621 * rendering/RenderScrollbarTheme.h:
6623 2008-10-11 Alp Toker <alp@nuanti.com>
6625 Reviewed by David Hyatt.
6627 Implement release/retain for Widget GTK+.
6629 * platform/Widget.cpp:
6630 * platform/gtk/WidgetGtk.cpp:
6631 (WebCore::Widget::~Widget):
6632 (WebCore::Widget::releasePlatformWidget):
6633 (WebCore::Widget::retainPlatformWidget):
6635 2008-10-11 Dan Bernstein <mitz@apple.com>
6637 Reviewed by Sam Weinig.
6639 - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
6640 and add a corresponding getter; add the same functions on Windows
6643 * platform/graphics/Font.cpp:
6644 (WebCore::Font::setCodePath):
6645 (WebCore::codePath):
6646 (WebCore::Font::canUseGlyphCache):
6647 * platform/graphics/Font.h:
6648 * platform/mac/WebCoreTextRenderer.h:
6649 * platform/mac/WebCoreTextRenderer.mm:
6650 (WebCoreSetAlwaysUsesComplexTextCodePath):
6651 (WebCoreAlwaysUsesComplexTextCodePath):
6652 * platform/win/WebCoreTextRenderer.cpp:
6653 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
6654 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
6655 * platform/win/WebCoreTextRenderer.h:
6657 2008-10-11 Sam Weinig <sam@webkit.org>
6659 Reviewed by Cameron Zwarich.
6661 Stop leaking the event parameter names. The protected strings were showing up
6662 in the caches window after one use. No measurable performance loss.
6664 * bindings/js/JSEventListener.cpp:
6665 (WebCore::eventParameterName):
6667 2008-10-11 Sam Weinig <sam@webkit.org>
6669 Reviewed by Cameron Zwarich.
6671 Remove unused function getNodeEventListener.
6673 * bindings/js/JSEventListener.cpp:
6674 * bindings/js/JSEventListener.h:
6676 2008-10-11 David Hyatt <hyatt@apple.com>
6678 Add support for both positive and negative margins to tracks and track pieces.
6680 Reviewed by Tim Hatcher
6682 * platform/ScrollbarThemeComposite.cpp:
6683 (WebCore::ScrollbarThemeComposite::paint):
6684 (WebCore::ScrollbarThemeComposite::hitTest):
6685 (WebCore::ScrollbarThemeComposite::splitTrack):
6686 (WebCore::ScrollbarThemeComposite::trackPieceRects):
6687 (WebCore::ScrollbarThemeComposite::trackPosition):
6688 (WebCore::ScrollbarThemeComposite::trackLength):
6689 * platform/ScrollbarThemeComposite.h:
6690 (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
6691 * rendering/RenderScrollbar.cpp:
6692 (WebCore::RenderScrollbar::trackRect):
6693 (WebCore::RenderScrollbar::trackPieceRectWithMargins):
6694 * rendering/RenderScrollbar.h:
6695 * rendering/RenderScrollbarPart.cpp:
6696 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
6697 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
6698 * rendering/RenderScrollbarTheme.cpp:
6699 (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
6700 * rendering/RenderScrollbarTheme.h:
6702 2008-10-10 David Hyatt <hyatt@apple.com>
6704 Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
6705 the scrollbar pseudo-elements anyway.
6707 Reviewed by Tim Hatcher
6709 * css/CSSSelector.cpp:
6710 (WebCore::CSSSelector::extractPseudoType):
6711 * css/CSSSelector.h:
6712 (WebCore::CSSSelector::):
6713 * css/CSSStyleSelector.cpp:
6714 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6716 2008-10-10 Dan Bernstein <mitz@apple.com>
6718 Reviewed by Sam Weinig.
6720 - separate Cache::remove() into a private method and a public interface,
6721 then make Cache::pruneDeadResources() use the private method.
6724 (WebCore::Cache::pruneDeadResources):
6725 (WebCore::Cache::evict):
6727 (WebCore::Cache::remove):
6729 2008-10-10 David Hyatt <hyatt@apple.com>
6731 Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite
6732 now that the track pieces meet under the thumb.
6734 Reviewed by Tim Hatcher
6736 * platform/ScrollbarThemeComposite.cpp:
6737 (WebCore::ScrollbarThemeComposite::paint):
6738 (WebCore::ScrollbarThemeComposite::splitTrack):
6740 2008-10-10 David Hyatt <hyatt@apple.com>
6742 Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
6744 Reviewed by Tim Hatcher
6746 * platform/ScrollbarThemeComposite.cpp:
6747 (WebCore::ScrollbarThemeComposite::hitTest):
6748 (WebCore::ScrollbarThemeComposite::splitTrack):
6750 2008-10-10 David Hyatt <hyatt@apple.com>
6752 Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
6754 Reviewed by Tim Hatcher
6756 * rendering/RenderLayer.cpp:
6757 (WebCore::RenderLayer::createScrollbar):
6758 * rendering/RenderScrollbar.cpp:
6759 (WebCore::RenderScrollbar::createCustomScrollbar):
6760 (WebCore::RenderScrollbar::RenderScrollbar):
6761 (WebCore::RenderScrollbar::setParent):
6762 (WebCore::RenderScrollbar::updateScrollbarParts):
6763 (WebCore::RenderScrollbar::updateScrollbarPart):
6764 * rendering/RenderScrollbar.h:
6765 * rendering/style/RenderStyle.h:
6766 (WebCore::RenderStyle::):
6768 2008-10-10 David Hyatt <hyatt@apple.com>
6770 Make sure scrollbar background images cause proper part invalidation to occur.
6772 Reviewed by Tim Hatcher
6774 * rendering/RenderScrollbar.cpp:
6775 (WebCore::RenderScrollbar::setHoveredPart):
6776 (WebCore::RenderScrollbar::setPressedPart):
6777 * rendering/RenderScrollbarPart.cpp:
6778 (WebCore::RenderScrollbarPart::styleDidChange):
6779 (WebCore::RenderScrollbarPart::imageChanged):
6780 * rendering/RenderScrollbarPart.h:
6782 2008-10-10 Simon Fraser <simon.fraser@apple.com>
6784 Reviewed by Darin Adler
6786 https://bugs.webkit.org/show_bug.cgi?id=21538
6788 The blendFunc() for TransformOperations should never mess with the
6789 operation lists by replacing some ops with identity, otherwise the lists
6790 no longer match and transitions break.
6792 Test: transitions/matched-transform-functions.html
6794 * page/animation/AnimationBase.cpp:
6795 (WebCore::blendFunc):
6797 2008-10-10 Simon Fraser <simon.fraser@apple.com>
6799 Reviewed by Darin Adler
6801 https://bugs.webkit.org/show_bug.cgi?id=21537
6803 Fix re-targetting a running transition; if the target property
6804 changes, we do need to make a new ImplicitAnimation.
6806 Test: transitions/retargetted-transition.html
6808 * page/animation/CompositeAnimation.cpp:
6809 (WebCore::CompositeAnimationPrivate::updateTransitions):
6811 2008-10-10 Oliver Hunt <oliver@apple.com>
6813 Reviewed by Cameron Zwarich.
6815 Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
6817 When JS is terminated by the user choosing to stop a slow script
6818 the exception toString method throws, yet the console logger does
6819 not perform exception checks after logging. This leaves an
6820 exception on the Machine, which in turn results in an assertion
6821 failure next time we attempt to enter JS. The solution is just to
6822 clear the exception state after attempting to record the exception.
6825 (WebCore::Console::reportException):
6827 2008-10-10 David Hyatt <hyatt@apple.com>
6829 Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer
6830 when looking for pseudo styles.
6832 Reviewed by Tim Hatcher
6834 * rendering/RenderLayer.cpp:
6835 (WebCore::RenderLayer::createScrollbar):
6836 (WebCore::RenderLayer::styleChanged):
6838 2008-10-10 David Hyatt <hyatt@apple.com>
6840 Add the ability to style the scroll corner and the resizer from CSS.
6842 Reviewed by Tim Hatcher
6844 * css/CSSSelector.cpp:
6845 (WebCore::CSSSelector::extractPseudoType):
6846 * css/CSSSelector.h:
6847 (WebCore::CSSSelector::):
6848 * css/CSSStyleSelector.cpp:
6849 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6850 * rendering/RenderLayer.cpp:
6851 (WebCore::RenderLayer::RenderLayer):
6852 (WebCore::RenderLayer::~RenderLayer):
6853 (WebCore::RenderLayer::paintOverflowControls):
6854 (WebCore::RenderLayer::paintScrollCorner):
6855 (WebCore::RenderLayer::paintResizer):
6856 (WebCore::RenderLayer::styleChanged):
6857 * rendering/RenderLayer.h:
6858 * rendering/RenderScrollbar.cpp:
6859 (WebCore::RenderScrollbar::updateScrollbarPart):
6860 (WebCore::RenderScrollbar::paintPart):
6861 * rendering/RenderScrollbarPart.cpp:
6862 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
6863 (WebCore::RenderScrollbarPart::paintIntoRect):
6864 * rendering/RenderScrollbarPart.h:
6865 * rendering/style/RenderStyle.h:
6866 (WebCore::RenderStyle::):
6868 2008-10-10 David Hyatt <hyatt@apple.com>
6870 Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
6872 Reviewed by Sam Weinig
6874 No test case possible, since the OS setting can vary.
6876 * css/CSSSelector.cpp:
6877 (WebCore::CSSSelector::extractPseudoType):
6878 * css/CSSSelector.h:
6879 (WebCore::CSSSelector::):
6880 * css/CSSStyleSelector.cpp:
6881 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6882 * platform/Scrollbar.h:
6883 (WebCore::Scrollbar::styleChanged):
6884 * platform/mac/ScrollbarThemeMac.mm:
6885 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
6886 (WebCore::ScrollbarThemeMac::preferencesChanged):
6887 * rendering/RenderLayer.cpp:
6888 (WebCore::RenderLayer::invalidateScrollbarRect):
6889 * rendering/RenderScrollbar.cpp:
6890 (WebCore::RenderScrollbar::styleChanged):
6891 (WebCore::RenderScrollbar::updateScrollbarPart):
6892 * rendering/RenderScrollbar.h:
6893 * rendering/RenderScrollbarTheme.h:
6894 (WebCore::RenderScrollbarTheme::buttonsPlacement):
6896 2008-10-10 Timothy Hatcher <timothy@apple.com>
6898 Fixes a regression with input search fields, where the placeholder text
6899 would not be updated when the value of the placeholder attribute changed.
6901 https://bugs.webkit.org/show_bug.cgi?id=21521
6903 Reviewed by Adele Peterson.
6905 Test: fast/forms/search-placeholder-value-changed.html
6907 * html/HTMLInputElement.cpp:
6908 (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
6909 placeholderValueChanged parameter of updatePlaceholderVisibility.
6910 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
6911 for placeholderValueChanged that informs the method that the value changed.
6912 * html/HTMLInputElement.h: Add the placeholderValueChanged to the
6913 updatePlaceholderVisibility method. Made it default to false.
6915 2008-10-10 David Hyatt <hyatt@apple.com>
6917 Allow the track part to have negative margins so that it can slightly overlap buttons. This
6918 is necessary to emulate the Aqua look in CSS.
6920 Reviewed by Sam Weinig
6922 * platform/ScrollbarThemeComposite.cpp:
6923 (WebCore::ScrollbarThemeComposite::paint):
6924 (WebCore::ScrollbarThemeComposite::hitTest):
6925 * rendering/RenderScrollbar.cpp:
6926 (WebCore::RenderScrollbar::setHoveredPart):
6927 (WebCore::RenderScrollbar::trackRect):
6928 * rendering/RenderScrollbar.h:
6929 * rendering/RenderScrollbarPart.cpp:
6930 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
6931 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
6932 * rendering/RenderScrollbarTheme.cpp:
6933 (WebCore::RenderScrollbarTheme::backButtonRect):
6934 (WebCore::RenderScrollbarTheme::forwardButtonRect):
6935 (WebCore::RenderScrollbarTheme::trackRect):
6937 2008-10-10 David Hyatt <hyatt@apple.com>
6939 https://bugs.webkit.org/show_bug.cgi?id=21527
6941 Make CSS scrollbars support :not, :hover and :active.
6943 Reviewed by Adam Roben
6945 Added WebCore/manual-tests/scrollbar-hover-active.html
6947 * css/CSSStyleSelector.cpp:
6948 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6949 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6950 * platform/Scrollbar.cpp:
6951 (WebCore::Scrollbar::autoscrollPressedPart):
6952 (WebCore::Scrollbar::startTimerIfNeeded):
6953 (WebCore::Scrollbar::setHoveredPart):
6954 (WebCore::Scrollbar::setPressedPart):
6955 (WebCore::Scrollbar::mouseMoved):
6956 (WebCore::Scrollbar::mouseExited):
6957 (WebCore::Scrollbar::mouseUp):
6958 (WebCore::Scrollbar::mouseDown):
6959 * platform/Scrollbar.h:
6960 * rendering/RenderScrollbar.cpp:
6961 (WebCore::RenderScrollbar::setHoveredPart):
6962 (WebCore::RenderScrollbar::setPressedPart):
6963 (WebCore::RenderScrollbar::updateScrollbarParts):
6964 (WebCore::pseudoForScrollbarPart):
6965 (WebCore::RenderScrollbar::updateScrollbarPart):
6966 * rendering/RenderScrollbar.h:
6968 2008-10-10 Chris Marrin <cmarrin@apple.com>
6970 Reviewed by Dan Bernstein.
6972 Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
6973 CSS transition with duration=0 and delay=0 doesn't override ongoing transition
6975 Test: transitions/interrupt-zero-duration.html
6977 * page/animation/CompositeAnimation.cpp:
6978 (WebCore::CompositeAnimation::updateTransitions):
6980 2008-10-10 Kevin Ollivier <kevino@theolliviers.com>
6982 wx build fix. Add new scrollbar-related sources.
6984 * WebCoreSources.bkl:
6986 2008-10-10 David Hyatt <hyatt@apple.com>
6988 https://bugs.webkit.org/show_bug.cgi?id=21522
6990 Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be
6991 created. (Just :hover/:active left to finish it up.)
6993 Reviewed by Adam Roben
6995 Added scrollbars/scrollbar-buttons.html
6997 * css/CSSStyleSelector.cpp:
6998 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7000 2008-10-10 David Hyatt <hyatt@apple.com>
7002 Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming
7003 back/forward to decrement/increment. Adding start/end pseudoclasses.
7005 Reviewed by Eric Seidel
7007 * css/CSSSelector.cpp:
7008 (WebCore::CSSSelector::extractPseudoType):
7009 * css/CSSSelector.h:
7010 (WebCore::CSSSelector::):
7011 * css/CSSStyleSelector.cpp:
7012 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7014 2008-10-10 David Hyatt <hyatt@apple.com>
7016 Switch window-active to window-inactive, since that will work better as far as degrading in other
7019 Reviewed by Tim Hatcher
7021 * css/CSSSelector.cpp:
7022 (WebCore::CSSSelector::extractPseudoType):
7023 * css/CSSSelector.h:
7024 (WebCore::CSSSelector::):
7025 * css/CSSStyleSelector.cpp:
7026 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7028 2008-10-09 Chris Marrin <cmarrin@apple.com>
7030 Reviewed by Dan Bernstein.
7032 https://bugs.webkit.org/show_bug.cgi?id=21310
7034 Redesigned how animation events are sent in order to get rid of
7035 AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
7036 are now ref counted. While calling the event handler, I keep a
7037 reference to this class to avoid it getting destroyed out from under me.
7039 I also moved most of the functionality of CompositeAnimation to
7040 and internal class (CompositeAnimationPrivate) to reduce the exposure
7041 of the internals of the various animation classes.
7043 We have several transition and animation LayoutTests which verify that
7044 this fix works as expected and continues to avoid crashes.
7046 * page/animation/AnimationBase.cpp:
7047 (WebCore::AnimationBase::AnimationBase):
7048 * page/animation/AnimationBase.h:
7049 (WebCore::AnimationBase::cancelTimers):
7050 (WebCore::AnimationBase::waitingForStyleAvailable):
7051 * page/animation/CompositeAnimation.cpp:
7052 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
7053 (WebCore::CompositeAnimationPrivate::suspended):
7054 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
7055 (WebCore::CompositeAnimationPrivate::updateTransitions):
7056 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
7057 (WebCore::CompositeAnimationPrivate::animate):
7058 (WebCore::CompositeAnimationPrivate::setAnimating):
7059 (WebCore::CompositeAnimationPrivate::animating):
7060 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
7061 (WebCore::CompositeAnimationPrivate::resetTransitions):
7062 (WebCore::CompositeAnimationPrivate::resetAnimations):
7063 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
7064 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
7065 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
7066 (WebCore::CompositeAnimationPrivate::suspendAnimations):
7067 (WebCore::CompositeAnimationPrivate::resumeAnimations):
7068 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
7069 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
7070 (WebCore::compareAnimationIndices):
7071 (WebCore::CompositeAnimationPrivate::styleAvailable):
7072 (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
7073 (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
7074 (WebCore::CompositeAnimation::CompositeAnimation):
7075 (WebCore::CompositeAnimation::~CompositeAnimation):
7076 (WebCore::CompositeAnimation::animate):
7077 (WebCore::CompositeAnimation::animating):
7078 (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
7079 (WebCore::CompositeAnimation::resetTransitions):
7080 (WebCore::CompositeAnimation::suspendAnimations):
7081 (WebCore::CompositeAnimation::resumeAnimations):
7082 (WebCore::CompositeAnimation::suspended):
7083 (WebCore::CompositeAnimation::styleAvailable):
7084 (WebCore::CompositeAnimation::setAnimating):
7085 (WebCore::CompositeAnimation::isAnimatingProperty):
7086 (WebCore::CompositeAnimation::setAnimationStartTime):
7087 (WebCore::CompositeAnimation::setTransitionStartTime):
7088 (WebCore::CompositeAnimation::overrideImplicitAnimations):
7089 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
7090 * page/animation/CompositeAnimation.h:
7091 * page/animation/ImplicitAnimation.cpp:
7092 (WebCore::ImplicitAnimation::sendTransitionEvent):
7093 * page/animation/ImplicitAnimation.h:
7094 (WebCore::ImplicitAnimation::create):
7095 * page/animation/KeyframeAnimation.cpp:
7096 (WebCore::KeyframeAnimation::sendAnimationEvent):
7097 * page/animation/KeyframeAnimation.h:
7098 (WebCore::KeyframeAnimation::create):
7100 2008-10-09 David Hyatt <hyatt@apple.com>
7102 Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar
7105 Reviewed by Tim Hatcher
7107 Added scrollbars/scrollbar-orientation.html
7109 * css/CSSSelector.cpp:
7110 (WebCore::CSSSelector::extractPseudoType):
7111 * css/CSSSelector.h:
7112 (WebCore::CSSSelector::):
7113 * css/CSSStyleSelector.cpp:
7114 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7115 * platform/Scrollbar.cpp:
7116 (WebCore::Scrollbar::isWindowActive):
7117 * platform/Scrollbar.h:
7118 * rendering/RenderScrollbar.cpp:
7119 (WebCore::RenderScrollbar::paint):
7120 (WebCore::RenderScrollbar::partForStyleResolve):
7121 * rendering/RenderScrollbar.h:
7123 2008-10-09 David Hyatt <hyatt@apple.com>
7125 Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only
7126 :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works.
7128 Reviewed by Tim Hatcher
7130 Added scrollbars/disabled-scrollbar.html
7132 * css/CSSStyleSelector.cpp:
7133 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
7134 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7135 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7136 * css/CSSStyleSelector.h:
7137 * rendering/RenderObject.cpp:
7138 (WebCore::RenderObject::getPseudoStyle):
7139 * rendering/RenderObject.h:
7140 * rendering/RenderScrollbar.cpp:
7141 (WebCore::RenderScrollbar::setEnabled):
7142 (WebCore::RenderScrollbar::scrollbarForStyleResolve):
7143 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
7144 (WebCore::RenderScrollbar::paintPart):
7145 * rendering/RenderScrollbar.h:
7147 2008-10-09 Eric Carlson <eric.carlson@apple.com>
7149 Media controls should not show when element is not visible
7151 https://bugs.webkit.org/show_bug.cgi?id=21155
7153 Reviewed by Adele Peterson.
7155 * html/HTMLMediaElement.cpp:
7156 (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
7157 in sync with visibility changes
7158 * html/HTMLMediaElement.h:
7159 * rendering/RenderMedia.cpp:
7160 (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
7161 (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
7162 if element is visible or not. Don't animate controller visibility when change triggered by
7163 showing or hiding media element.
7164 * rendering/RenderMedia.h: declare m_previousVisible
7166 2008-10-09 Timothy Hatcher <timothy@apple.com>
7168 Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
7169 availability macros and version macros.
7171 https://bugs.webkit.org/show_bug.cgi?id=21496
7172 rdar://problem/6259225
7174 Reviewed by Sam Weinig.
7176 * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
7177 * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
7178 and add an #if around the enum.
7179 * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
7180 comment to match the other headers.
7181 * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
7182 * bindings/objc/DOMObject.h: Add a version #if around class interface.
7183 * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
7184 and add a version #if around the enum.
7185 * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
7186 * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
7187 * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
7188 when they where added to WebKit. Also annotate individual methods that are
7189 deprecated or where added after the class was added to WebKit.
7190 * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
7191 since this header is included by most DOM headers. Annotate the JSObject method.
7193 * bindings/scripts/CodeGeneratorObjC.pm:
7194 (ReadPublicInterfaces): Parse out the availability macro for each function/property.
7195 And parse out the availability version for the class/protocol. Default to
7196 WEBKIT_VERSION_LATEST if the class is new.
7197 (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
7198 interface availability version check if the class has a required version. Create
7199 a public interface key (used to lookup in $publicInterfaces) and make a declaration
7200 suffix that includes the availability macro (if needed). Use the "available in 1.3
7201 and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
7202 the default availability macro for old style methods. Tweak line breaks in the generated
7203 headers to look good and not have too many extra lines.
7205 2008-10-09 Simon Fraser <simon.fraser@apple.com>
7207 Reviewed by Dave Hyatt
7209 https://bugs.webkit.org/show_bug.cgi?id=20947
7211 Refactor setStyle() methods into styleWillChange()
7212 and styleDidChange(), so most of the setStyle() overrides can
7215 * rendering/RenderBR.cpp:
7216 (WebCore::RenderBR::styleDidChange):
7217 * rendering/RenderBR.h:
7218 * rendering/RenderBlock.cpp:
7219 (WebCore::RenderBlock::styleWillChange):
7220 (WebCore::RenderBlock::styleDidChange):
7221 * rendering/RenderBlock.h:
7222 * rendering/RenderBox.cpp:
7223 (WebCore::RenderBox::~RenderBox):
7224 (WebCore::RenderBox::destroy):
7225 (WebCore::RenderBox::styleWillChange):
7226 (WebCore::RenderBox::styleDidChange):
7227 * rendering/RenderBox.h:
7228 * rendering/RenderButton.cpp:
7229 (WebCore::RenderButton::styleWillChange):
7230 (WebCore::RenderButton::styleDidChange):
7231 * rendering/RenderButton.h:
7232 * rendering/RenderFieldset.cpp:
7233 (WebCore::RenderFieldset::styleDidChange):
7234 * rendering/RenderFieldset.h:
7235 * rendering/RenderFileUploadControl.cpp:
7236 (WebCore::RenderFileUploadControl::styleDidChange):
7237 * rendering/RenderFileUploadControl.h:
7238 * rendering/RenderInline.cpp:
7239 (WebCore::RenderInline::styleDidChange):
7240 * rendering/RenderInline.h:
7241 * rendering/RenderLayer.cpp:
7242 (WebCore::RenderLayer::styleChanged):
7243 * rendering/RenderLayer.h:
7244 * rendering/RenderListBox.cpp:
7245 (WebCore::RenderListBox::styleDidChange):
7246 * rendering/RenderListBox.h:
7247 * rendering/RenderListItem.cpp:
7248 (WebCore::RenderListItem::styleDidChange):
7249 * rendering/RenderListItem.h:
7250 * rendering/RenderListMarker.cpp:
7251 (WebCore::RenderListMarker::styleWillChange):
7252 (WebCore::RenderListMarker::styleDidChange):
7253 * rendering/RenderListMarker.h:
7254 * rendering/RenderMenuList.cpp:
7255 (WebCore::RenderMenuList::styleDidChange):
7256 * rendering/RenderMenuList.h:
7257 * rendering/RenderObject.cpp:
7258 (WebCore::RenderObject::setStyle):
7259 (WebCore::RenderObject::setStyleInternal):
7260 (WebCore::RenderObject::styleWillChange):
7261 (WebCore::RenderObject::styleDidChange):
7262 * rendering/RenderObject.h:
7263 * rendering/RenderReplaced.cpp:
7264 (WebCore::RenderReplaced::styleDidChange):
7265 * rendering/RenderReplaced.h:
7266 * rendering/RenderSVGGradientStop.cpp:
7267 (WebCore::RenderSVGGradientStop::styleDidChange):
7268 * rendering/RenderSVGGradientStop.h:
7269 * rendering/RenderScrollbarPart.cpp:
7270 (WebCore::RenderScrollbarPart::styleDidChange):
7271 * rendering/RenderScrollbarPart.h:
7272 * rendering/RenderSlider.cpp:
7273 (WebCore::RenderSlider::styleDidChange):
7274 * rendering/RenderSlider.h:
7275 * rendering/RenderTable.cpp:
7276 (WebCore::RenderTable::styleDidChange):
7277 * rendering/RenderTable.h:
7278 * rendering/RenderTableCell.cpp:
7279 (WebCore::RenderTableCell::styleWillChange):
7280 (WebCore::RenderTableCell::styleDidChange):
7281 * rendering/RenderTableCell.h:
7282 * rendering/RenderTableRow.cpp:
7283 (WebCore::RenderTableRow::styleWillChange):
7284 * rendering/RenderTableRow.h:
7285 * rendering/RenderText.cpp:
7286 (WebCore::RenderText::styleDidChange):
7287 * rendering/RenderText.h:
7288 * rendering/RenderTextControl.cpp:
7289 (WebCore::RenderTextControl::styleDidChange):
7290 * rendering/RenderTextControl.h:
7291 * rendering/RenderWidget.cpp:
7292 (WebCore::RenderWidget::styleDidChange):
7293 * rendering/RenderWidget.h:
7295 2008-10-09 David Hyatt <hyatt@apple.com>
7297 Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away. When our widget
7298 parent is nulled out is a good time.
7300 Reviewed by Oliver Hunt
7302 * rendering/RenderScrollbar.cpp:
7303 (WebCore::RenderScrollbar::~RenderScrollbar):
7304 (WebCore::RenderScrollbar::setParent):
7305 (WebCore::RenderScrollbar::updateScrollbarPart):
7306 * rendering/RenderScrollbar.h:
7308 2008-10-09 David Hyatt <hyatt@apple.com>
7310 https://bugs.webkit.org/show_bug.cgi?id=21446
7312 This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between
7313 orientation and back vs. forward on the buttons, but it's a start.
7315 Reviewed by Oliver Hunt
7317 Added scrollbars/basic-scrollbar.html
7319 * WebCore.xcodeproj/project.pbxproj:
7320 * css/CSSSelector.cpp:
7321 (WebCore::CSSSelector::extractPseudoType):
7322 * css/CSSSelector.h:
7323 (WebCore::CSSSelector::):
7324 * css/CSSStyleSelector.cpp:
7325 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7326 * platform/ScrollTypes.h:
7328 * platform/Scrollbar.h:
7329 (WebCore::Scrollbar::styleChanged):
7330 * platform/ScrollbarThemeComposite.cpp:
7331 (WebCore::ScrollbarThemeComposite::paint):
7332 (WebCore::ScrollbarThemeComposite::splitTrack):
7333 * platform/ScrollbarThemeComposite.h:
7334 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
7335 (WebCore::ScrollbarThemeComposite::paintTrackBackground):
7336 (WebCore::ScrollbarThemeComposite::paintTrackPiece):
7337 * platform/win/ScrollbarThemeSafari.cpp:
7338 (WebCore::ScrollbarThemeSafari::paintTrackBackground):
7339 * platform/win/ScrollbarThemeSafari.h:
7340 * platform/win/ScrollbarThemeWin.cpp:
7341 (WebCore::ScrollbarThemeWin::paintTrack):
7342 * platform/win/ScrollbarThemeWin.h:
7343 * rendering/RenderLayer.cpp:
7344 (WebCore::RenderLayer::createScrollbar):
7345 (WebCore::RenderLayer::styleChanged):
7346 * rendering/RenderScrollbar.cpp: Added.
7347 (WebCore::RenderScrollbar::createCustomScrollbar):
7348 (WebCore::RenderScrollbar::RenderScrollbar):
7349 (WebCore::RenderScrollbar::~RenderScrollbar):
7350 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
7351 (WebCore::RenderScrollbar::updateScrollbarParts):
7352 (WebCore::RenderScrollbar::updateScrollbarPart):
7353 (WebCore::RenderScrollbar::paintPart):
7354 (WebCore::RenderScrollbar::buttonRect):
7355 (WebCore::RenderScrollbar::minimumThumbLength):
7356 * rendering/RenderScrollbar.h: Added.
7357 (WebCore::RenderScrollbar::styleChanged):
7358 (WebCore::RenderScrollbar::owningRenderer):
7359 * rendering/RenderScrollbarPart.cpp: Added.
7360 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
7361 (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
7362 (WebCore::RenderScrollbarPart::layout):
7363 (WebCore::RenderScrollbarPart::layoutHorizontalPart):
7364 (WebCore::RenderScrollbarPart::layoutVerticalPart):
7365 (WebCore::calcScrollbarThicknessUsing):
7366 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
7367 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
7368 (WebCore::RenderScrollbarPart::calcPrefWidths):
7369 (WebCore::RenderScrollbarPart::setStyle):
7370 * rendering/RenderScrollbarPart.h: Added.
7371 (WebCore::RenderScrollbarPart::renderName):
7372 (WebCore::RenderScrollbarPart::requiresLayer):
7373 * rendering/RenderScrollbarTheme.cpp: Added.
7374 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
7375 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
7376 (WebCore::RenderScrollbarTheme::hasButtons):
7377 (WebCore::RenderScrollbarTheme::hasThumb):
7378 (WebCore::RenderScrollbarTheme::minimumThumbLength):
7379 (WebCore::RenderScrollbarTheme::backButtonRect):
7380 (WebCore::RenderScrollbarTheme::forwardButtonRect):
7381 (WebCore::RenderScrollbarTheme::trackRect):
7382 (WebCore::RenderScrollbarTheme::paintScrollCorner):
7383 (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
7384 (WebCore::RenderScrollbarTheme::paintTrackBackground):
7385 (WebCore::RenderScrollbarTheme::paintTrackPiece):
7386 (WebCore::RenderScrollbarTheme::paintButton):
7387 (WebCore::RenderScrollbarTheme::paintThumb):
7388 * rendering/RenderScrollbarTheme.h: Added.
7389 (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
7390 (WebCore::RenderScrollbarTheme::scrollbarThickness):
7391 (WebCore::RenderScrollbarTheme::buttonsPlacement):
7392 (WebCore::RenderScrollbarTheme::supportsControlTints):
7393 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
7394 (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
7395 (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
7396 (WebCore::RenderScrollbarTheme::registerScrollbar):
7397 (WebCore::RenderScrollbarTheme::unregisterScrollbar):
7398 * rendering/style/RenderStyle.h:
7399 (WebCore::RenderStyle::):
7401 2008-10-09 Eric Seidel <eric@webkit.org>
7403 Reviewed by Oliver Hunt.
7405 Fix Canvex DOOM Game
7406 Gradient clips were not getting cleared after filling the
7407 gradient, this was causing nothing to draw in Canvex
7408 https://bugs.webkit.org/show_bug.cgi?id=21498
7412 * WebCore.xcodeproj/project.pbxproj:
7413 * platform/graphics/cg/GraphicsContextCG.cpp:
7414 (WebCore::GraphicsContext::fillPath):
7415 (WebCore::GraphicsContext::strokePath):
7416 (WebCore::GraphicsContext::fillRect):
7418 2008-10-09 Eric Seidel <eric@webkit.org>
7420 Reviewed by Oliver Hunt.
7422 Fix transformed patterns
7423 https://bugs.webkit.org/show_bug.cgi?id=21498
7425 Test: fast/canvas/patternfill-repeat.html
7427 * WebCore.xcodeproj/project.pbxproj:
7428 * platform/graphics/GraphicsContext.cpp:
7429 (WebCore::GraphicsContext::setStrokePattern):
7430 (WebCore::GraphicsContext::setFillPattern):
7431 (WebCore::GraphicsContext::setStrokeGradient):
7432 (WebCore::GraphicsContext::setFillGradient):
7433 * platform/graphics/GraphicsContext.h:
7434 * platform/graphics/cairo/GraphicsContextCairo.cpp:
7435 * platform/graphics/cg/GraphicsContextCG.cpp:
7436 (WebCore::applyStrokePattern):
7437 (WebCore::applyFillPattern):
7438 (WebCore::GraphicsContext::drawPath):
7439 (WebCore::GraphicsContext::fillPath):
7440 (WebCore::GraphicsContext::strokePath):
7441 (WebCore::GraphicsContext::fillRect):
7442 * platform/graphics/qt/GraphicsContextQt.cpp:
7443 * platform/graphics/wx/GraphicsContextWx.cpp:
7445 2008-10-09 Kevin Ollivier <kevino@theolliviers.com>
7449 * platform/wx/WidgetWx.cpp:
7450 * plugins/wx/PluginViewWx.cpp:
7451 (WebCore::PluginView::invalidateRect):
7454 2008-10-09 Chris Marrin <cmarrin@apple.com>
7456 Reviewed by Darin Adler.
7458 Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
7459 Animations assert when navigating from page
7461 Changed assertions to test the right flag for the paused state
7463 * page/animation/AnimationBase.cpp:
7464 (WebCore::AnimationBase::updateStateMachine):
7466 2008-10-09 Chris Marrin <cmarrin@apple.com>
7468 Reviewed by Dan Bernstein.
7470 Fixed > 180 degree rotation bug
7471 Ensure that validateTransformFunctionList() is called after updating keyframe styles
7473 https://bugs.webkit.org/show_bug.cgi?id=21420
7475 Test: animations/big-rotation.html
7477 * page/animation/KeyframeAnimation.cpp:
7478 (WebCore::KeyframeAnimation::KeyframeAnimation):
7480 2008-10-09 Brady Eidson <beidson@apple.com>
7484 <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
7486 The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
7488 * loader/FrameLoader.cpp:
7489 (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
7490 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
7491 so perform a second null check on the page. Bail if it has been cleared.
7493 2008-10-09 Alp Toker <alp@nuanti.com>
7495 Build fix for recent DOM generation Makefile changes when custom
7496 CFLAGS/CXXFLAGS are passed in.
7500 2008-10-09 Jan Michael Alonzo <jmalonzo@webkit.org>
7502 Reviewed by Alp Toker.
7504 https://bugs.webkit.org/show_bug.cgi?id=21390
7505 [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
7507 * platform/gtk/ScrollViewGtk.cpp:
7508 (WebCore::ScrollView::platformRemoveChild):
7510 2008-10-09 Darin Adler <darin@apple.com>
7512 - try to fix Qt build
7514 * bridge/qt/qt_runtime.cpp:
7515 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
7517 2008-10-08 Nikolas Zimmermann <zimmermann@kde.org>
7519 Reviewed by Oliver Hunt & Sam Weinig.
7521 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
7522 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
7523 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
7525 Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
7526 Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
7527 use tree is rebuild.
7529 Make SVGElementInstance a real EventTarget, as the SVG specification demands.
7530 When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
7531 is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
7532 share an event listener list. Every event listener change on the SVGElementInstance object is forwared
7533 to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
7534 Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
7535 to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
7536 Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
7538 Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
7539 see resources/use-instanceRoot-event-bubbling.js for details.
7541 Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
7542 svg/custom/use-elementInstance-methods.svg (reenabled)
7543 svg/custom/use-setAttribute-crash.svg (covers bug 20550)
7544 svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
7545 svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
7546 svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
7548 * DerivedSources.make:
7551 * WebCore.vcproj/WebCore.vcproj:
7552 * WebCore.xcodeproj/project.pbxproj:
7553 * bindings/js/JSEventListener.h:
7554 (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
7555 * bindings/js/JSEventTarget.cpp:
7556 * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
7557 * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
7558 * bindings/js/JSSVGElementInstanceCustom.cpp:
7559 (WebCore::JSSVGElementInstance::addEventListener):
7560 (WebCore::JSSVGElementInstance::removeEventListener):
7561 (WebCore::JSSVGElementInstance::pushEventHandlerScope):
7562 * bindings/scripts/CodeGeneratorJS.pm:
7563 * bindings/scripts/CodeGeneratorObjC.pm:
7564 * dom/EventListener.h:
7565 (WebCore::EventListener::wasCreatedFromMarkup):
7566 * dom/EventTargetNode.cpp:
7567 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
7568 (WebCore::EventTargetNode::addEventListener):
7569 (WebCore::EventTargetNode::removeEventListener):
7570 (WebCore::eventTargetAsSVGElementInstance):
7571 (WebCore::eventTargetRespectingSVGTargetRules):
7572 (WebCore::EventTargetNode::dispatchEvent):
7573 (WebCore::EventTargetNode::dispatchGenericEvent):
7574 (WebCore::EventTargetNode::removeEventListenerForType):
7575 * page/EventHandler.cpp:
7576 (WebCore::EventHandler::clear):
7577 (WebCore::instanceAssociatedWithShadowTreeElement):
7578 (WebCore::EventHandler::updateMouseEventTargetNode):
7579 * page/EventHandler.h:
7580 * svg/EventTargetSVGElementInstance.cpp: Removed.
7581 * svg/EventTargetSVGElementInstance.h: Removed.
7582 * svg/SVGElementInstance.cpp:
7583 (WebCore::SVGElementInstance::SVGElementInstance):
7584 (WebCore::SVGElementInstance::~SVGElementInstance):
7585 (WebCore::SVGElementInstance::childNodes):
7586 (WebCore::SVGElementInstance::setShadowTreeElement):
7587 (WebCore::SVGElementInstance::forgetWrapper):
7588 (WebCore::SVGElementInstance::appendChild):
7589 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
7590 (WebCore::SVGElementInstance::setNeedsUpdate):
7591 (WebCore::SVGElementInstance::associatedFrame):
7592 (WebCore::SVGElementInstance::addEventListener):
7593 (WebCore::SVGElementInstance::removeEventListener):
7594 (WebCore::SVGElementInstance::dispatchEvent):
7595 (WebCore::SVGElementInstance::onabort):
7596 (WebCore::SVGElementInstance::setOnabort):
7597 (WebCore::SVGElementInstance::onblur):
7598 (WebCore::SVGElementInstance::setOnblur):
7599 (WebCore::SVGElementInstance::onchange):
7600 (WebCore::SVGElementInstance::setOnchange):
7601 (WebCore::SVGElementInstance::onclick):
7602 (WebCore::SVGElementInstance::setOnclick):
7603 (WebCore::SVGElementInstance::oncontextmenu):
7604 (WebCore::SVGElementInstance::setOncontextmenu):
7605 (WebCore::SVGElementInstance::ondblclick):
7606 (WebCore::SVGElementInstance::setOndblclick):
7607 (WebCore::SVGElementInstance::onerror):
7608 (WebCore::SVGElementInstance::setOnerror):
7609 (WebCore::SVGElementInstance::onfocus):
7610 (WebCore::SVGElementInstance::setOnfocus):
7611 (WebCore::SVGElementInstance::oninput):
7612 (WebCore::SVGElementInstance::setOninput):
7613 (WebCore::SVGElementInstance::onkeydown):
7614 (WebCore::SVGElementInstance::setOnkeydown):
7615 (WebCore::SVGElementInstance::onkeypress):
7616 (WebCore::SVGElementInstance::setOnkeypress):
7617 (WebCore::SVGElementInstance::onkeyup):
7618 (WebCore::SVGElementInstance::setOnkeyup):
7619 (WebCore::SVGElementInstance::onload):
7620 (WebCore::SVGElementInstance::setOnload):
7621 (WebCore::SVGElementInstance::onmousedown):
7622 (WebCore::SVGElementInstance::setOnmousedown):
7623 (WebCore::SVGElementInstance::onmousemove):
7624 (WebCore::SVGElementInstance::setOnmousemove):
7625 (WebCore::SVGElementInstance::onmouseout):
7626 (WebCore::SVGElementInstance::setOnmouseout):
7627 (WebCore::SVGElementInstance::onmouseover):
7628 (WebCore::SVGElementInstance::setOnmouseover):
7629 (WebCore::SVGElementInstance::onmouseup):
7630 (WebCore::SVGElementInstance::setOnmouseup):
7631 (WebCore::SVGElementInstance::onmousewheel):
7632 (WebCore::SVGElementInstance::setOnmousewheel):
7633 (WebCore::SVGElementInstance::onbeforecut):
7634 (WebCore::SVGElementInstance::setOnbeforecut):
7635 (WebCore::SVGElementInstance::oncut):
7636 (WebCore::SVGElementInstance::setOncut):
7637 (WebCore::SVGElementInstance::onbeforecopy):
7638 (WebCore::SVGElementInstance::setOnbeforecopy):
7639 (WebCore::SVGElementInstance::oncopy):
7640 (WebCore::SVGElementInstance::setOncopy):
7641 (WebCore::SVGElementInstance::onbeforepaste):
7642 (WebCore::SVGElementInstance::setOnbeforepaste):
7643 (WebCore::SVGElementInstance::onpaste):
7644 (WebCore::SVGElementInstance::setOnpaste):
7645 (WebCore::SVGElementInstance::ondragenter):
7646 (WebCore::SVGElementInstance::setOndragenter):
7647 (WebCore::SVGElementInstance::ondragover):
7648 (WebCore::SVGElementInstance::setOndragover):
7649 (WebCore::SVGElementInstance::ondragleave):
7650 (WebCore::SVGElementInstance::setOndragleave):
7651 (WebCore::SVGElementInstance::ondrop):
7652 (WebCore::SVGElementInstance::setOndrop):
7653 (WebCore::SVGElementInstance::ondragstart):
7654 (WebCore::SVGElementInstance::setOndragstart):
7655 (WebCore::SVGElementInstance::ondrag):
7656 (WebCore::SVGElementInstance::setOndrag):
7657 (WebCore::SVGElementInstance::ondragend):
7658 (WebCore::SVGElementInstance::setOndragend):
7659 (WebCore::SVGElementInstance::onreset):
7660 (WebCore::SVGElementInstance::setOnreset):
7661 (WebCore::SVGElementInstance::onresize):
7662 (WebCore::SVGElementInstance::setOnresize):
7663 (WebCore::SVGElementInstance::onscroll):
7664 (WebCore::SVGElementInstance::setOnscroll):
7665 (WebCore::SVGElementInstance::onsearch):
7666 (WebCore::SVGElementInstance::setOnsearch):
7667 (WebCore::SVGElementInstance::onselect):
7668 (WebCore::SVGElementInstance::setOnselect):
7669 (WebCore::SVGElementInstance::onselectstart):
7670 (WebCore::SVGElementInstance::setOnselectstart):
7671 (WebCore::SVGElementInstance::onsubmit):
7672 (WebCore::SVGElementInstance::setOnsubmit):
7673 (WebCore::SVGElementInstance::onunload):
7674 (WebCore::SVGElementInstance::setOnunload):
7675 * svg/SVGElementInstance.h:
7676 (WebCore::SVGElementInstance::needsUpdate):
7677 (WebCore::SVGElementInstance::toNode):
7678 (WebCore::SVGElementInstance::toSVGElementInstance):
7679 (WebCore::SVGElementInstance::correspondingElement):
7680 (WebCore::SVGElementInstance::correspondingUseElement):
7681 (WebCore::SVGElementInstance::shadowTreeElement):
7682 (WebCore::SVGElementInstance::parentNode):
7683 (WebCore::SVGElementInstance::previousSibling):
7684 (WebCore::SVGElementInstance::nextSibling):
7685 (WebCore::SVGElementInstance::firstChild):
7686 (WebCore::SVGElementInstance::lastChild):
7687 (WebCore::SVGElementInstance::ownerDocument):
7688 (WebCore::SVGElementInstance::hasChildNodes):
7689 (WebCore::SVGElementInstance::setFirstChild):
7690 (WebCore::SVGElementInstance::setLastChild):
7691 (WebCore::SVGElementInstance::setNextSibling):
7692 (WebCore::SVGElementInstance::setPreviousSibling):
7693 (WebCore::SVGElementInstance::refEventTarget):
7694 (WebCore::SVGElementInstance::derefEventTarget):
7695 * svg/SVGElementInstance.idl:
7696 * svg/SVGStyledElement.cpp:
7697 (WebCore::SVGStyledElement::svgAttributeChanged):
7698 (WebCore::SVGStyledElement::childrenChanged):
7699 * svg/SVGUseElement.cpp:
7700 (WebCore::SVGUseElement::svgAttributeChanged):
7701 (WebCore::shadowTreeContainsChangedNodes):
7702 (WebCore::SVGUseElement::recalcStyle):
7703 (WebCore::dumpInstanceTree):
7704 (WebCore::SVGUseElement::buildPendingResource):
7705 (WebCore::SVGUseElement::buildInstanceTree):
7706 (WebCore::SVGUseElement::transferEventListenersToShadowTree):
7707 * svg/SVGUseElement.h:
7709 2008-10-08 Sam Weinig <sam@webkit.org>
7711 Reviewed by Cameron Zwarich.
7713 Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
7714 REGRESSION (r36977): getRGBColorValue().red returning incorrect value
7716 Update JSRGBColor to use the new static function per getter approach.
7718 Test: fast/dom/css-RGBValue.html
7720 * bindings/js/JSRGBColor.cpp:
7725 * bindings/js/JSRGBColor.h:
7727 2008-10-08 Eric Seidel <eric@webkit.org>
7729 Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
7731 svgElement.className.baseValue = "foo" does not work
7732 https://bugs.webkit.org/show_bug.cgi?id=20651
7734 * dom/StyledElement.cpp:
7735 (WebCore::StyledElement::classAttributeChanged):
7736 (WebCore::StyledElement::parseMappedAttribute):
7737 * dom/StyledElement.h:
7738 * svg/SVGStyledElement.cpp:
7739 (WebCore::SVGStyledElement::svgAttributeChanged):
7741 2008-10-08 Anthony Ricaud <rik24d@gmail.com>
7743 Make the toolbar label text-shadow not disappear when clicking on the
7744 search result count or around the search field.
7746 Reviewed by Timothy Hatcher.
7748 * inspector/front-end/inspector.css:
7749 (.toolbar-item:active .toolbar-label): Make this rule also require the
7750 toggleable class with the toolbar-item class.
7752 2008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com>
7756 Updated the qrc file for the Web Inspector to contain the current set
7759 * inspector/front-end/WebKit.qrc:
7761 2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
7765 Fix the linking of applications against WebKit on Qt/Windows.
7767 The prl files that qmake creates are buggy on Unix, but we they're
7768 fine on Windows and we have to have them there in order to get the
7769 dependencies correct.
7773 2008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
7777 Speed up rectangle filling by not re-creating a QBrush all the time.
7779 This triggers faster path in QPainter where the brush is reused.
7781 * platform/graphics/qt/GraphicsContextQt.cpp:
7782 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
7783 (WebCore::GraphicsContext::fillRect):
7785 2008-10-08 Thiago Macieira <thiago.macieira@nokia.com>
7789 Fixes: Encoding of Qt URLs
7791 This encoding was added by Simon and I because QUrl's
7792 tolerant parser wasn't tolerant enough. Now it is, so we don't need
7795 * platform/qt/KURLQt.cpp:
7796 (WebCore::KURL::operator QUrl):
7798 2008-10-08 Marius Storm-Olsen <marius@trolltech.com>
7802 Fixes dependencies in qmake generated visual studio projects.
7804 Only add debug lib name if we're in the debug build_pass, else the release version.
7805 The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
7809 2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
7813 Fix compilation errors on VS2008 64Bit
7815 * platform/text/TextStream.cpp:
7816 (WebCore::TextStream::operator<<):
7817 * platform/text/TextStream.h:
7818 * plugins/win/PluginViewWin.cpp:
7819 (WebCore::PluginView::init):
7821 2008-10-07 Alp Toker <alp@nuanti.com>
7823 GTK+ build fix for older automake versions (1.7). Discussed in bug
7828 2008-10-07 Anders Carlsson <andersca@apple.com>
7830 Reviewed by Antti Koivisto.
7832 <rdar://problem/6273887> Crash in ApplicationCacheGroup
7834 Make sure to stop loading even before a cache update is in progress so that the
7835 manifest load will be stopped.
7837 * loader/appcache/ApplicationCacheGroup.cpp:
7838 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
7839 (WebCore::ApplicationCacheGroup::stopLoading):
7840 (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
7842 2008-10-07 Timothy Hatcher <timothy@apple.com>
7844 Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
7846 https://bugs.webkit.org/show_bug.cgi?id=21433
7848 Reviewed by Sam Weinig.
7850 * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
7851 * bindings/objc/DOM.mm: Remove previous category implementations
7852 on DOMDocument for createNodeIterator: and createTreeWalker:. Also
7853 moves ObjCNodeFilterCondition to its own file.
7854 * bindings/objc/DOMTraversal.h: Remove the category methods that added
7855 createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
7856 to do since DOmDocument.h is included still, and has these methods.
7857 * bindings/objc/DOMUtility.mm:
7858 (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
7859 JSTreeWalker now that the ObjC binding conforms to the standard wrap.
7860 * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
7861 (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
7862 (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
7863 * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
7864 (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
7865 * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
7866 createTreeWalker: methods to DOMDocument.
7867 * bindings/scripts/CodeGeneratorObjC.pm:
7868 (GetObjCTypeGetter): Add a case for NodeFilter.
7869 (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
7870 (GenerateImplementation): Remove existing NodeFilter special case that
7871 used the m_filter member variable. Add a new special getter for protocol
7872 types that aren't EventTarget, so the right class is used for NodeFilter.
7873 Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
7874 * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
7875 OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
7876 Rename the entityReferenceExpansion parameter to expandEntityReferences to
7877 match the previous ObjC API.
7878 * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
7879 m_filter member variable was never used in practice, it was always nil!
7880 We can remove it and not pad the object because this can't be subclassed.
7881 * dom/TreeWalker.idl: Ditto.
7883 2008-10-07 Timothy Hatcher <timothy@apple.com>
7885 Auto-generate the DOMEventTarget protocol implementation for
7886 DOMNode and DOMSVGElementInstance.
7888 https://bugs.webkit.org/show_bug.cgi?id=21432
7890 Reviewed by Darin Adler.
7892 * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
7893 * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
7894 ObjCEventListener to it's own file. Remove the manual impelmentations
7895 of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
7896 * bindings/objc/DOMEvents.h: Remove the categories that defined
7897 DOMEventTarget for DOMNode and DOMSVGElementInstance.
7898 * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
7899 * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
7900 (WebCore::ObjCEventListener::find): Moved from DOM.mm.
7901 (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
7902 callers from doing a manual deref.
7903 (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
7904 (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
7905 * bindings/scripts/CodeGeneratorObjC.pm:
7906 (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
7907 (AddIncludesForType): Include ObjCEventListener.h for EventListener.
7908 And include EventTargetSVGElementInstance.h for SVGElementInstance.
7909 (GenerateHeader): Remove the check for multiple parents.
7910 (GenerateImplementation): Remove the check for multiple parents. Remove
7911 the @deprecatedFunctions array since deprecated methods get generated
7912 into the main @interface now to work with protocols. Add support
7913 for the EventTargetNodeCast extended attribute. Add support for
7914 EventListener parameters.
7915 * dom/Node.idl: Define superclasses for ObjC so the implementation
7916 and interface implement the DOMEventTarget protocol. Explicitly
7917 specify Object as a superclass to use DOMEventTarget. Object will turn
7918 into DOMObject. This is needed to take the code generator down the right
7919 path of multiple super-classes as protocols. It is ObjC only for legacy
7920 reasons. The event target methods are normally on NodeEventTarget, a
7921 subclass of Node. But the ObjC API has never has this subclass and
7922 they are on DOMNode.
7923 * svg/SVGElementInstance.idl: Ditto.
7925 2008-10-07 David Hyatt <hyatt@apple.com>
7927 Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
7929 The new pseudo-elements are:
7936 These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
7937 the following new pseudo-classes:
7941 scrollbar-horizontal
7946 * css/CSSSelector.cpp:
7947 (WebCore::CSSSelector::extractPseudoType):
7948 * css/CSSSelector.h:
7949 (WebCore::CSSSelector::):
7951 2008-10-06 Timothy Hatcher <timothy@apple.com>
7953 Add support to the Resources panel for queries like "#123", "foo #123",
7954 "line: 123" and "foo line: 123". These will match the query limiting
7955 the search only to the line specified. If only a line is specified,
7956 the whole line is matched.
7958 https://bugs.webkit.org/show_bug.cgi?id=21422
7960 Reviewed by Darin Adler.
7962 * inspector/front-end/SourceFrame.js:
7963 (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
7964 row if the index is greater than the rows collection. Let it return
7965 undefined by indexing out-of-bounds.
7966 * inspector/front-end/SourceView.js:
7967 (WebInspector.SourceView.prototype.performSearch): Add support for
7968 queries like "#123", "foo #123", "line: 123" and "foo line: 123".
7969 Also match the whole query to the whole document in case there are
7972 2008-10-07 Alp Toker <alp@nuanti.com>
7974 Reviewed by Mark Rowe.
7976 https://bugs.webkit.org/show_bug.cgi?id=21392
7977 [GTK] Auto-generate JS DOM binding sources list
7979 Remove the huge lists of generated DOM binding sources and headers in
7980 the build system. These are difficult to maintain and can be derived
7983 The new strategy is to re-use the existing lists of IDL sources (which
7984 are needed for dist support anyway). This will also ease the addition
7985 of new language bindings.
7989 2008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
7993 Don't attempt to paint when updating control tints
7995 We don't have a valid PlatformGraphicsContext so schedule
7996 the dirty scrollbar/scrollview area for repaint instead.
7998 * platform/qt/ScrollbarThemeQt.cpp:
7999 (WebCore::ScrollbarThemeQt::paint):
8000 (WebCore::ScrollbarThemeQt::paintScrollCorner):
8002 2008-10-07 Holger Hans Peter Freyther <zecke@selfish.org>
8004 [qt] Build fix after Scrollbar.h and Widget.h changes.
8006 * plugins/qt/PluginViewQt.cpp:
8007 (WebCore::PluginView::getValue):
8008 (WebCore::PluginView::init):
8010 2008-10-06 David Hyatt <hyatt@apple.com>
8012 Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
8014 Reviewed by Sam Weinig
8017 * WebCore.xcodeproj/project.pbxproj:
8018 * loader/EmptyClients.h:
8019 (WebCore::EmptyFrameLoaderClient::hasWebView):
8020 * loader/FrameLoader.cpp:
8021 (WebCore::FrameLoader::loadWithDocumentLoader):
8022 (WebCore::FrameLoader::transitionToCommitted):
8023 * loader/FrameLoaderClient.h:
8024 * page/FocusController.cpp:
8025 (WebCore::FocusController::setActive):
8026 * page/FrameView.cpp:
8027 (WebCore::FrameView::FrameView):
8028 (WebCore::FrameView::init):
8029 (WebCore::FrameView::layoutIfNeededRecursive):
8032 2008-10-06 Dan Bernstein <mitz@apple.com>
8036 * bindings/objc/DOMEvents.h:
8038 2008-10-06 Mark Mentovai <mark@moxienet.com>
8040 Reviewed by Tim Hatcher.
8042 Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
8043 Platform.h is not available, in preference to #ifdef ENABLE_feature.
8044 #ifdef is wrong now that features are disabled by #defining
8045 ENABLE_feature to 0.
8047 https://bugs.webkit.org/show_bug.cgi?id=21338
8049 * bindings/objc/DOMEvents.h:
8050 * bindings/objc/PublicDOMInterfaces.h:
8052 * page/DOMWindow.idl:
8055 2008-10-06 Mark Mentovai <mark@moxienet.com>
8057 Reviewed by Sam Weinig.
8059 * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
8060 to get the declaration for isMainThread().
8062 2008-10-06 Jeremy Moskovich <jeremy@chromium.org>
8064 Reviewed by Tim Hatcher.
8066 WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
8069 * WebCore.xcodeproj/project.pbxproj:
8070 * platform/mac/WebCoreObjCExtras.c: Removed.
8071 * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
8073 2008-10-06 Jeremy Moskovich <jeremy@chromium.org>
8075 Reviewed by Dan Bernstein.
8077 Added C++ forward declaration for the NSURLAuthenticationChallenge class
8078 so that the m_currentMacChallenge variable doesn't cause a
8079 compilation error when ResourceHandleInternal.h is included from a C++ file.
8080 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
8082 * platform/network/ResourceHandleInternal.h:
8084 2008-10-06 Steve Falkenburg <sfalken@apple.com>
8088 * WebCore.vcproj/WebCore.vcproj:
8090 2008-10-06 Steve Falkenburg <sfalken@apple.com>
8092 https://bugs.webkit.org/show_bug.cgi?id=21416
8093 Add missing null checks identified by Application Verifier.
8095 Reviewed by Darin Adler.
8097 * platform/win/SharedTimerWin.cpp:
8098 (WebCore::clearTimer):
8100 2008-10-06 Kevin McCullough <kmccullough@apple.com>
8102 Reviewed by Tim Hatcher.
8104 Removed accidentally left in debugging statement.
8106 * inspector/front-end/inspector.js:
8108 2008-10-06 Kevin McCullough <kmccullough@apple.com>
8110 Reviewed by Tim Hatcher and Oliver Hunt.
8112 https://bugs.webkit.org/show_bug.cgi?id=21412
8113 Bug 21412: Refactor user initiated profile count to be more stable
8115 * inspector/InspectorController.cpp: Keep track of the user-initiated
8117 (WebCore::InspectorController::InspectorController):
8118 (WebCore::InspectorController::startUserInitiatedProfiling):
8119 (WebCore::InspectorController::stopUserInitiatedProfiling):
8120 * inspector/InspectorController.h:
8121 The front end will now need to check for the existence of the user-
8122 initiated profile title and use its count instead of keeping its own.
8123 * inspector/front-end/ProfilesPanel.js:
8125 2008-10-06 Dan Bernstein <mitz@apple.com>
8127 Reviewed by Sam Weinig.
8129 - separate GDI text drawing into its own function
8131 * platform/graphics/win/FontCGWin.cpp:
8132 (WebCore::drawGDIGlyphs):
8133 (WebCore::Font::drawGlyphs):
8135 2008-10-03 Steve Falkenburg <sfalken@apple.com>
8137 <rdar://problem/6249833> Fix default button appearance
8139 Reviewed by Adele Peterson.
8141 * rendering/RenderThemeWin.cpp:
8142 (WebCore::RenderThemeWin::supportsFocus):
8143 (WebCore::RenderThemeWin::determineClassicState):
8144 (WebCore::RenderThemeWin::determineButtonState):
8145 (WebCore::RenderThemeWin::getClassicThemeData):
8146 (WebCore::RenderThemeWin::getThemeData):
8147 (WebCore::drawControl):
8148 * rendering/RenderThemeWin.h:
8150 2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
8154 Add native virtual keycode to PlatformKeyboardEvent
8156 * platform/PlatformKeyboardEvent.h:
8157 * platform/gtk/KeyEventGtk.cpp:
8158 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8159 * platform/mac/KeyEventMac.mm:
8160 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8161 * platform/qt/PlatformKeyboardEventQt.cpp:
8162 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8163 * platform/win/KeyEventWin.cpp:
8164 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8165 * platform/wx/KeyboardEventWx.cpp:
8166 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8168 2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
8172 Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
8174 * platform/text/PlatformString.h:
8175 * platform/text/StringImpl.h:
8176 * platform/text/cf/StringCF.cpp:
8177 * platform/text/cf/StringImplCF.cpp:
8179 2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
8183 Use bundles on QtWebKit/Mac for platform modules
8185 * platform/FileSystem.h:
8186 * platform/qt/FileSystemQt.cpp:
8187 (WebCore::unloadModule):
8189 2008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
8193 Build fix for MinGW.
8195 * platform/win/SystemTimeWin.cpp:
8196 * plugins/win/PluginViewWin.cpp:
8197 (WebCore::PluginView::invalidateRect):
8199 2008-10-06 Adam Roben <aroben@apple.com>
8201 Mimic the inspector/ directory structure in WebCore.vcproj
8203 * WebCore.vcproj/WebCore.vcproj:
8205 2008-10-06 Adam Roben <aroben@apple.com>
8209 * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
8210 configurations to include WebCore/inspector.
8212 2008-10-04 Eric Seidel <eric@webkit.org>
8214 Reviewed by Darin Adler.
8216 SVG should support ascent and descent properties <font-face> instead of <font>!
8217 https://bugs.webkit.org/show_bug.cgi?id=21365
8219 Tested by many many existing SVG tests.
8221 * svg/SVGFontFaceElement.cpp:
8222 (WebCore::SVGFontFaceElement::ascent):
8223 (WebCore::SVGFontFaceElement::descent):
8225 2008-10-05 Darin Fisher <darin@chromium.org>
8227 Reviewed by Eric Seidel.
8229 REGRESSION: crash in ScriptElement::notifyFinished
8230 Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
8232 * dom/ScriptElement.cpp:
8233 (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
8234 ensure that the ScriptElementData object is not destroyed prematurely.
8236 2008-10-05 Chris Lord <chris@openedhand.com>
8238 Reviewed by Alp Toker. Landed by Jan Alonzo.
8240 https://bugs.webkit.org/show_bug.cgi?id=20624
8241 WebKit-gtk uses deprecated GtkType/GtkObject
8243 * plugins/gtk/gtk2xtbin.c:
8244 (gtk_xtbin_get_type):
8245 * plugins/gtk/gtk2xtbin.h:
8247 2008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
8249 Reviewed by David Hyatt.
8251 GTK_WINDOW_HWND not GTK_WINDOWING_HWND
8252 https://bugs.webkit.org/show_bug.cgi?id=20725
8254 Updated to ToT by Jan Alonzo.
8256 * plugins/gtk/PluginViewGtk.cpp:
8257 (WebCore::PluginView::getValue):
8259 2008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
8261 Reviewed by Darin Adler.
8263 Invalid cast from GdkWindow to GtkWidget
8264 https://bugs.webkit.org/show_bug.cgi?id=21391
8266 Fix a misplaced closing parenthesis to actually cast the widget, not the window
8268 * platform/gtk/PlatformScreenGtk.cpp:
8269 (WebCore::screenDepth):
8271 2008-10-05 Adam Barth <abarth@webkit.org>
8273 Reviewed by Darin Alder.
8275 Attach the Origin header to POST requests to help defend against
8276 cross-site request forgery.
8278 https://bugs.webkit.org/show_bug.cgi?id=20792
8280 Collin Jackson <collinj@webkit.org> also contributed to this patch.
8282 Tests: http/tests/security/originHeader/origin-header-for-data.html
8283 http/tests/security/originHeader/origin-header-for-empty.html
8284 http/tests/security/originHeader/origin-header-for-get.html
8285 http/tests/security/originHeader/origin-header-for-https.html
8286 http/tests/security/originHeader/origin-header-for-post.html
8288 * bindings/js/JSDOMWindowBase.cpp:
8289 (WebCore::createWindow):
8290 * loader/FrameLoader.cpp:
8291 (WebCore::FrameLoader::createWindow):
8292 (WebCore::FrameLoader::urlSelected):
8293 (WebCore::FrameLoader::submitForm):
8294 (WebCore::FrameLoader::outgoingOrigin):
8295 (WebCore::FrameLoader::loadURL):
8296 (WebCore::FrameLoader::addExtraFieldsToRequest):
8297 (WebCore::FrameLoader::loadPostRequest):
8298 (WebCore::FrameLoader::loadResourceSynchronously):
8299 (WebCore::FrameLoader::loadItem):
8300 * loader/FrameLoader.h:
8301 * loader/SubresourceLoader.cpp:
8302 (WebCore::SubresourceLoader::create):
8303 * loader/loader.cpp:
8304 (WebCore::Loader::Host::servePendingRequests):
8305 * platform/SecurityOrigin.cpp:
8306 (WebCore::SecurityOrigin::toHTTPOrigin):
8307 * platform/SecurityOrigin.h:
8308 * platform/network/ResourceRequestBase.h:
8309 (WebCore::ResourceRequestBase::httpOrigin):
8310 (WebCore::ResourceRequestBase::setHTTPOrigin):
8311 (WebCore::ResourceRequestBase::clearHTTPOrigin):
8312 * xml/XMLHttpRequest.cpp:
8313 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
8314 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
8315 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
8316 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
8318 2008-10-04 Oliver Hunt <oliver@apple.com>
8320 Reviewed by Tim Hatcher.
8322 Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
8323 <https://bugs.webkit.org/show_bug.cgi?id=21381>
8325 If we hit a parsing boundary (end of a packet, etc) in the middle of a
8326 <script> element when we are doing an incremental parse, we exit the
8327 parser, and reenter later when more data is available. During this
8328 reentry we incorrectly reset the scriptStartLineno to the current line
8329 in the parser, which is now part way through the script element.
8331 The solution is to track whether we are entering or reentering the parsing
8332 of a script element. We do this simply by 0 checking scriptStartLineno,
8333 and resetting it after we complete parsing of each script element.
8335 Test: http/tests/incremental/pause-in-script-element.pl
8338 * html/HTMLTokenizer.cpp:
8339 (WebCore::HTMLTokenizer::parseSpecial):
8340 (WebCore::HTMLTokenizer::scriptHandler):
8342 2008-10-04 Alp Toker <alp@nuanti.com>
8344 Reviewed by David Hyatt. Landed by Jan Alonzo.
8346 https://bugs.webkit.org/show_bug.cgi?id=20924
8347 [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
8349 https://bugs.webkit.org/show_bug.cgi?id=19578
8350 [CURL] problem in parseDataUrl
8352 De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
8353 This patch also fixes encoding support in escaped (non-Base64) data
8354 URLs. All manual data URL tests now pass in both GLib and non-GLib
8357 * platform/network/curl/ResourceHandleManager.cpp:
8358 (WebCore::parseDataUrl):
8360 2008-10-04 Timothy Hatcher <timothy@apple.com>
8362 Makes breakpoints and debugging code during page load work in the
8363 Web Inspector's debugger. Specifically, this makes the source
8364 code for loading resources show up in the Scripts panel.
8366 https://bugs.webkit.org/show_bug.cgi?id=19053
8367 rdar://problem/5933408
8369 Reviewed by Mark Rowe.
8371 * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
8372 not using tabs and a tab width of 8.
8373 * inspector/InspectorController.cpp:
8374 (WebCore::addResourceSourceToFrame): Return a bool to report if the
8375 source was added successfully or not.
8376 (WebCore::addSourceToFrame): Ditto.
8377 * inspector/front-end/ScriptView.js:
8378 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
8379 Return early if the InspectorController.addSourceToFrame fails.
8380 Moved the delete of the _frameNeedsSetup property after that call so
8381 if the source wasn't added it will be attempted again.
8382 * inspector/front-end/SourceView.js:
8383 (WebInspector.SourceView.prototype.detach): Move a comment.
8384 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
8385 Don't check if the resource is finished or failed, just attempt
8386 to add the source to the frame. WebCore has the source, but the
8387 finished property hasn't been set yet. Return early if the
8388 InspectorController.addSourceToFrame fails. Moved the delete
8389 of the _frameNeedsSetup property after that call so if the source
8390 wasn't added it will be attempted again.
8391 (WebInspector.SourceView.prototype._resourceLoadingFinished):
8392 Clear the _frameNeedsSetup and _sourceFrameSetup properties so
8393 the source frame will we populated again now that the resource
8395 * manual-tests/inspector/debugger-pause-during-load.html: Added.
8397 2008-10-04 Mark Rowe <mrowe@apple.com>
8399 Reviewed by Tim Hatcher.
8401 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
8403 * WebCore.xcodeproj/project.pbxproj:
8405 2008-10-04 David Hyatt <hyatt@apple.com>
8407 https://bugs.webkit.org/show_bug.cgi?id=21373
8409 Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
8412 Reviewed by Mark Rowe
8414 * page/FrameView.cpp:
8415 (WebCore::FrameView::~FrameView):
8417 2008-10-04 Sam Weinig <sam@webkit.org>
8419 Reviewed by Dan Bernstein.
8421 Avoid copying a Vector when using getSupportedKeySizes.
8423 * html/HTMLKeygenElement.cpp:
8424 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
8425 * platform/SSLKeyGenerator.h:
8426 * platform/gtk/TemporaryLinkStubs.cpp:
8427 (WebCore::getSupportedKeySizes):
8428 * platform/mac/SSLKeyGeneratorMac.mm:
8429 (WebCore::getSupportedKeySizes):
8430 * platform/qt/TemporaryLinkStubs.cpp:
8431 (WebCore::getSupportedKeySizes):
8432 * platform/win/TemporaryLinkStubs.cpp:
8433 (WebCore::getSupportedKeySizes):
8434 * platform/wx/TemporaryLinkStubs.cpp:
8435 (WebCore::getSupportedKeySizes):
8437 2008-10-04 Darin Adler <darin@apple.com>
8439 Reviewed by Cameron Zwarich.
8441 - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
8442 Bug 21295: Replace ExecState with a call frame Register pointer
8444 * bindings/js/JSQuarantinedObjectWrapper.cpp:
8445 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
8446 Remove bogus "const".
8447 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
8449 2008-10-04 David Hyatt <hyatt@apple.com>
8451 Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
8453 Reviewed by Darin Adler
8455 * WebCore.xcodeproj/project.pbxproj:
8456 * platform/PopupMenuClient.h:
8457 * platform/gtk/PopupMenuGtk.cpp:
8458 (WebCore::PopupMenu::show):
8459 * platform/mac/PopupMenuMac.mm:
8460 (WebCore::PopupMenu::populate):
8461 (WebCore::PopupMenu::show):
8462 * platform/qt/PopupMenuQt.cpp:
8463 (WebCore::PopupMenu::populate):
8464 * platform/win/PopupMenuWin.cpp:
8465 (WebCore::PopupMenu::calculatePositionAndSize):
8466 (WebCore::PopupMenu::paint):
8467 (WebCore::PopupWndProc):
8468 * rendering/RenderMenuList.cpp:
8469 (WebCore::RenderMenuList::itemStyle):
8470 (WebCore::RenderMenuList::menuStyle):
8471 (WebCore::RenderMenuList::hostWindow):
8472 * rendering/RenderMenuList.h:
8473 * rendering/RenderTextControl.cpp:
8474 (WebCore::RenderTextControl::itemStyle):
8475 (WebCore::RenderTextControl::menuStyle):
8476 (WebCore::RenderTextControl::hostWindow):
8477 * rendering/RenderTextControl.h:
8479 2008-10-04 Matt Lilek <webkit@mattlilek.com>
8481 Build fix - restore Private role to headers that had it before the move.
8483 * WebCore.xcodeproj/project.pbxproj:
8485 2008-10-04 Darin Adler <darin@apple.com>
8489 * DerivedSources.make: Add new inspector directory to VPATH.
8490 * GNUmakefile.am: Add new inspector directory to includes.
8491 Re-sort the IDL_BINDINGS list. Add new inspector directory
8494 2008-10-04 Matt Lilek <webkit@mattlilek.com>
8496 Not reviewed, attempt to fix Gtk build.
8500 2008-10-03 Timothy Hatcher <timothy@apple.com>
8502 Move the Web Inspector files into a top-level "inspector" folder.
8504 https://bugs.webkit.org/show_bug.cgi?id=21359
8506 Reviewed by Dave Hyatt.
8510 * WebCore.vcproj/WebCore.vcproj:
8511 * WebCore.xcodeproj/project.pbxproj:
8512 * WebCoreSources.bkl:
8513 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
8514 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
8515 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
8516 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
8517 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
8518 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
8519 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
8520 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
8521 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
8522 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
8523 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
8524 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
8525 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
8526 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
8527 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
8528 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
8529 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
8530 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
8531 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
8532 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
8533 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
8534 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
8535 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
8536 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
8537 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
8538 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
8539 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
8540 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
8541 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
8542 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
8543 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
8544 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
8545 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
8546 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
8547 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
8548 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
8549 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
8550 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
8551 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
8552 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
8553 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
8554 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
8555 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
8556 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
8557 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
8558 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
8559 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
8560 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
8561 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
8562 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
8563 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
8564 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
8565 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
8566 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
8567 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
8568 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
8569 * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
8570 * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
8571 * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
8572 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
8573 * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
8574 * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
8575 * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
8576 * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
8577 * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
8578 * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
8579 * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
8580 * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
8581 * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
8582 * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
8583 * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
8584 * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
8585 * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
8586 * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
8587 * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
8588 * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
8589 * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
8590 * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
8591 * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
8592 * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
8593 * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
8594 * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
8595 * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
8596 * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
8597 * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
8598 * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
8599 * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
8600 * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
8601 * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
8602 * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
8603 * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
8604 * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
8605 * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
8606 * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
8607 * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
8608 * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
8609 * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
8610 * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
8611 * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
8612 * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
8613 * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
8614 * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
8615 * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
8616 * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
8617 * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
8618 * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
8619 * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
8620 * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
8621 * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
8622 * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
8623 * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
8624 * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
8625 * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
8626 * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
8627 * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
8628 * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
8629 * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
8630 * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
8631 * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
8632 * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
8633 * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
8634 * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
8635 * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
8636 * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
8637 * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
8638 * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
8639 * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
8640 * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
8641 * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
8642 * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
8643 * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
8644 * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
8645 * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
8646 * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
8647 * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
8648 * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
8649 * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
8650 * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
8651 * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
8652 * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
8653 * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
8654 * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
8655 * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
8656 * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
8657 * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
8658 * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
8659 * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
8660 * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
8661 * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
8662 * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
8663 * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
8664 * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
8665 * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
8666 * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
8667 * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
8668 * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
8670 2008-10-03 Timothy Hatcher <timothy@apple.com>
8672 Adds support to the Web Inspector's Elements panel for fast tag name,
8673 class name, id and attribute name searching. The panel first tries
8674 using getElementById, getElementsByClassName and getElementsByTagName
8675 with the search query. Then does a slower search using XPath for partial
8676 matches, text and comment matches.
8678 Adds support for search queries like "<div>", "<h" and "frame>".
8679 These forms limit the search to tag names, text and comment matches.
8681 https://bugs.webkit.org/show_bug.cgi?id=21353
8683 Reviewed by Maciej Stachowiak.
8685 * page/inspector/ElementsPanel.js:
8686 (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
8687 support. Add new search functions that try exact matches first.
8689 2008-10-03 Timothy Hatcher <timothy@apple.com>
8691 Changes how searching works in the Web Inspector's Elements
8692 panel. The search tasks are divided into chunks that are small
8693 units of work that are performed at a time interval. This
8694 change also prevents queries that will select all elements,
8695 since that isn't useful.
8697 https://bugs.webkit.org/show_bug.cgi?id=21285
8699 Reviewed by Oliver Hunt.
8701 * page/inspector/ElementsPanel.js:
8702 (WebInspector.ElementsPanel.prototype.searchCancled):
8703 Remove the searchResultsProperty form results since there might
8704 be an unfinished search.
8705 (WebInspector.ElementsPanel.prototype.performSearch): Divide the
8706 documents and search functions into chunks that are performed on
8707 a interval of 25ms. Prevent searches for "//*" and "*".
8709 2008-10-03 Maciej Stachowiak <mjs@apple.com>
8711 Reviewed by Cameron Zwarich.
8713 - "this" object in methods called on primitives should be wrapper object
8714 https://bugs.webkit.org/show_bug.cgi?id=21362
8716 Updated so toThis conversion for the split window is handled properly.
8718 * bindings/scripts/CodeGeneratorJS.pm:
8720 2008-10-03 Sam Weinig <sam@webkit.org>
8722 Reviewed by David "The Motivator" Hyatt.
8724 Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
8725 Move SecurityOrigin out of platform/ to page/.
8727 It was a layering violation for SecurityOrigin to be in platform
8728 as it depended on FrameLoader.
8732 * WebCore.vcproj/WebCore.vcproj:
8733 * WebCore.xcodeproj/project.pbxproj:
8734 * WebCoreSources.bkl:
8735 * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
8736 * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
8737 * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
8738 * platform/SecurityOrigin.cpp: Removed.
8739 * platform/SecurityOrigin.h: Removed.
8740 * platform/SecurityOriginHash.h: Removed.
8742 2008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>
8744 Reviewed by Alp Toker.
8746 http://bugs.webkit.org/show_bug.cgi?id=18832
8747 [curl] file upload does not work
8749 The curl_off_t integer type has a different size depending if large
8750 file support is enabled or not. There is no different public API for
8751 the two cases, so the same function accepts a different type based on
8752 a compilation option the could be different in WebKit and libcurl.
8753 To fix the bug we query libcurl at runtime for large file support and
8754 pass the right type based on that.
8756 * platform/network/curl/ResourceHandleManager.cpp:
8757 (WebCore::ResourceHandleManager::setupPOST):
8759 2008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>
8761 Reviewed by David Hyatt.
8765 * platform/gtk/FileChooserGtk.cpp:
8766 (WebCore::FileChooser::openFileChooser):
8767 * platform/gtk/PlatformScreenGtk.cpp:
8768 (WebCore::screenDepth):
8769 (WebCore::screenDepthPerComponent):
8770 (WebCore::screenAvailableRect):
8771 * platform/gtk/PopupMenuGtk.cpp:
8772 (WebCore::PopupMenu::show):
8773 * platform/gtk/ScrollViewGtk.cpp:
8774 (WebCore::ScrollView::platformAddChild):
8775 (WebCore::ScrollView::platformRemoveChild):
8776 * platform/gtk/WidgetGtk.cpp:
8777 (WebCore::Widget::setCursor):
8778 * plugins/gtk/PluginViewGtk.cpp:
8779 (WebCore::PluginView::getValue):
8780 (WebCore::PluginView::forceRedraw):
8781 (WebCore::PluginView::init):
8783 2008-10-03 David Hyatt <hyatt@apple.com>
8785 Fix Qt bustage from missing include.
8787 * platform/qt/PlatformScreenQt.cpp:
8789 2008-10-03 David Hyatt <hyatt@apple.com>
8791 Fix Windows scrollbar bustage in popup menus.
8793 * platform/win/PopupMenuWin.cpp:
8794 (WebCore::PopupWndProc):
8796 2008-10-03 David Hyatt <hyatt@apple.com>
8798 Fix Windows bustage.
8800 * platform/win/FileChooserWin.cpp:
8801 (WebCore::FileChooser::openFileChooser):
8802 * platform/win/PlatformScreenWin.cpp:
8803 (WebCore::monitorInfoForWidget):
8804 * platform/win/WidgetWin.cpp:
8805 * plugins/win/PluginViewWin.cpp:
8806 (WebCore::PluginView::getValue):
8807 (WebCore::PluginView::forceRedraw):
8808 (WebCore::PluginView::init):
8810 2008-10-03 Darin Adler <darin@apple.com>
8812 * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
8813 seen on some machines but not others by adding an include.
8815 2008-10-03 Darin Adler <darin@apple.com>
8819 * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
8820 execute functions. Declarations for these relied on the CodeType
8821 enumeration, which used to be in ExecState.h; but the functions
8822 aren't needed at all.
8823 * bridge/qt/qt_runtime.h: Ditto.
8825 2008-10-03 Darin Adler <darin@apple.com>
8827 Reviewed by Geoff Garen.
8829 - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
8830 Turn ExecState into a call frame pointer.
8832 Remove m_globalObject and m_globalData from ExecState.
8834 * bindings/js/JSDOMWindowBase.cpp:
8835 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
8836 Removed an argument now that JSGlobalObject doesn't need it any more.
8837 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
8838 the JSDOMWindowBaseData constructor, and added the this argument to the
8839 JSGlobalObject constructor. This is because a couple key bits of
8840 initialization moved from the data constructor to the JSGlobalObject
8842 * bindings/js/JSDOMWindowBase.h: Ditto.
8844 * bridge/qt/qt_runtime.cpp:
8845 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
8846 * bridge/runtime_method.cpp:
8847 (JSC::RuntimeMethod::RuntimeMethod):
8848 Pass JSGlobalData* instead of ExecState* to the InternalFunction
8851 2008-10-03 David Hyatt <hyatt@apple.com>
8853 Fix Windows/Qt build bustage.
8857 * loader/EmptyClients.h:
8858 (WebCore::EmptyChromeClient::platformWindow):
8860 (WebCore::Chrome::platformWindow):
8862 * page/ChromeClient.h:
8863 * platform/HostWindow.h:
8864 * platform/qt/PlatformScreenQt.cpp:
8865 (WebCore::screenDepth):
8866 (WebCore::screenDepthPerComponent):
8867 (WebCore::screenIsMonochrome):
8868 (WebCore::screenRect):
8869 (WebCore::screenAvailableRect):
8870 * platform/qt/PopupMenuQt.cpp:
8871 (WebCore::PopupMenu::show):
8872 * platform/win/PopupMenuWin.cpp:
8873 (WebCore::PopupMenu::show):
8874 (WebCore::PopupMenu::calculatePositionAndSize):
8875 (WebCore::PopupWndProc):
8877 2008-10-03 Simon Fraser <simon.fraser@apple.com>
8879 Reviewed by Dave Hyatt
8881 Make setStyle() take a const RenderStyle, to ensure that an
8882 earlier RenderStyle::diff() remains valid.
8884 * rendering/RenderBR.cpp:
8885 * rendering/RenderBR.h:
8886 * rendering/RenderBlock.cpp:
8887 * rendering/RenderBlock.h:
8888 * rendering/RenderBox.cpp:
8889 * rendering/RenderBox.h:
8890 * rendering/RenderButton.cpp:
8891 * rendering/RenderButton.h:
8892 * rendering/RenderFieldset.cpp:
8893 * rendering/RenderFieldset.h:
8894 * rendering/RenderFileUploadControl.cpp:
8895 * rendering/RenderFileUploadControl.h:
8896 * rendering/RenderInline.cpp:
8897 * rendering/RenderInline.h:
8898 * rendering/RenderListBox.cpp:
8899 * rendering/RenderListBox.h:
8900 * rendering/RenderListItem.cpp:
8901 * rendering/RenderListItem.h:
8902 * rendering/RenderListMarker.cpp:
8903 * rendering/RenderListMarker.h:
8904 * rendering/RenderMenuList.cpp:
8905 * rendering/RenderMenuList.h:
8906 * rendering/RenderObject.cpp:
8907 (WebCore::RenderObject::setStyle):
8908 * rendering/RenderObject.h:
8909 * rendering/RenderReplaced.cpp:
8910 * rendering/RenderReplaced.h:
8911 * rendering/RenderSVGBlock.cpp:
8912 (WebCore::RenderSVGBlock::setStyle):
8913 * rendering/RenderSVGBlock.h:
8914 * rendering/RenderSVGGradientStop.cpp:
8915 * rendering/RenderSVGGradientStop.h:
8916 * rendering/RenderSlider.cpp:
8917 * rendering/RenderSlider.h:
8918 * rendering/RenderTable.cpp:
8919 * rendering/RenderTable.h:
8920 * rendering/RenderTableCell.cpp:
8921 * rendering/RenderTableCell.h:
8922 * rendering/RenderTableRow.cpp:
8923 * rendering/RenderTableRow.h:
8924 * rendering/RenderText.cpp:
8925 * rendering/RenderText.h:
8926 * rendering/RenderTextControl.cpp:
8927 * rendering/RenderTextControl.h:
8928 * rendering/RenderWidget.cpp:
8929 * rendering/RenderWidget.h:
8930 * rendering/style/RenderStyle.h:
8931 (WebCore::RenderStyle::isDisplayReplacedType):
8932 (WebCore::RenderStyle::isDisplayInlineType):
8934 2008-10-03 David Hyatt <hyatt@apple.com>
8936 Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
8937 event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
8938 method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
8939 that will work properly for hit testing. This patch just stubs out that method to return the same
8940 event untransformed.
8942 Reviewed by Darin Adler
8944 * page/EventHandler.cpp:
8945 (WebCore::EventHandler::handleMouseDoubleClickEvent):
8946 (WebCore::EventHandler::handleMouseMoveEvent):
8947 (WebCore::EventHandler::handleMouseReleaseEvent):
8948 (WebCore::EventHandler::passMousePressEventToScrollbar):
8949 * page/gtk/EventHandlerGtk.cpp:
8950 * page/mac/EventHandlerMac.mm:
8951 * page/qt/EventHandlerQt.cpp:
8952 * page/win/EventHandlerWin.cpp:
8953 * page/wx/EventHandlerWx.cpp:
8954 * platform/Scrollbar.cpp:
8955 (WebCore::Scrollbar::mouseMoved):
8956 (WebCore::Scrollbar::mouseExited):
8957 (WebCore::Scrollbar::mouseUp):
8958 (WebCore::Scrollbar::mouseDown):
8959 (WebCore::Scrollbar::transformEvent):
8960 * platform/Scrollbar.h:
8962 2008-10-03 David Hyatt <hyatt@apple.com>
8964 https://bugs.webkit.org/show_bug.cgi?id=21340
8966 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
8968 Reviewed by Dan Bernstein & Darin Adler
8970 * platform/ScrollView.cpp:
8971 (WebCore::ScrollView::addChild):
8972 * platform/Widget.cpp:
8973 (WebCore::Widget::init):
8974 * platform/Widget.h:
8975 * platform/mac/WidgetMac.mm:
8976 * platform/win/PopupMenuWin.cpp:
8977 (WebCore::PopupMenu::show):
8979 2008-10-03 Adele Peterson <adele@apple.com>
8981 Reviewed by Sam Weinig.
8983 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
8984 Return early if settings is nil.
8986 2008-10-03 Rob Buis <buis@kde.org>
8990 https://bugs.webkit.org/show_bug.cgi?id=20134
8991 REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
8993 Make sure the input element gets the right default value when no value is set.
8995 Test: fast/forms/range-default-value.html
8997 * rendering/RenderSlider.cpp:
8998 (WebCore::RenderSlider::setPositionFromValue):
9000 2008-10-03 David Hyatt <hyatt@apple.com>
9002 Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
9003 destructor that calls them, switch to having a cross-platform constructor/destructor that calls
9004 platform-specific init/destroy methods.
9006 With this change, ScrollViewWin.cpp can be removed from the build (yay!).
9008 Reviewed by Darin Adler
9010 * WebCore.vcproj/WebCore.vcproj:
9011 * platform/ScrollView.cpp:
9012 (WebCore::ScrollView::ScrollView):
9013 (WebCore::ScrollView::~ScrollView):
9014 (WebCore::ScrollView::platformInit):
9015 (WebCore::ScrollView::platformDestroy):
9016 (WebCore::ScrollView::platformAddChild):
9017 (WebCore::ScrollView::platformRemoveChild):
9018 * platform/ScrollView.h:
9019 * platform/gtk/ScrollViewGtk.cpp:
9020 (WebCore::ScrollView::platformInit):
9021 (WebCore::ScrollView::platformDestroy):
9022 * platform/mac/ScrollViewMac.mm:
9023 * platform/qt/ScrollViewQt.cpp:
9024 (WebCore::ScrollView::platformInit):
9025 (WebCore::ScrollView::platformDestroy):
9026 * platform/win/ScrollViewWin.cpp: Removed.
9027 * platform/wx/ScrollViewWx.cpp:
9028 (WebCore::ScrollView::platformInit):
9029 (WebCore::ScrollView::platformDestroy):
9030 (WebCore::ScrollView::setPlatformWidget):
9032 2008-10-03 Adele Peterson <adele@apple.com>
9034 Reviewed by Dan Bernstein.
9036 Fix for <rdar://problem/6012018>
9037 https://bugs.webkit.org/show_bug.cgi?id=21335
9038 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
9040 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
9042 2008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
9046 * platform/qt/WidgetQt.cpp:
9047 (WebCore::Widget::invalidateRect):
9049 2008-10-03 Alp Toker <alp@nuanti.com>
9051 Remove some left-over GTK+ includes. No change in functionality.
9053 * platform/Cursor.h:
9054 * platform/graphics/Icon.h:
9055 * platform/gtk/RenderThemeGtk.h:
9057 2008-10-03 Alp Toker <alp@nuanti.com>
9059 Build fix for trailing comment after #endif
9061 * dom/ElementRareData.h:
9063 2008-10-03 David Hyatt <hyatt@apple.com>
9065 Remove addToDirtyRegion.
9067 Reviewed by Oliver Hunt
9071 * page/ChromeClient.h:
9072 * platform/ScrollView.h:
9073 * platform/gtk/ScrollViewGtk.cpp:
9074 * platform/qt/ScrollViewQt.cpp:
9075 * platform/win/ScrollViewWin.cpp:
9077 2008-10-03 Dan Bernstein <mitz@apple.com>
9079 Reviewed by Maciej Stachowiak.
9081 - fix a CachedResource leak introduced in r37176
9083 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
9084 afterwards bail out of the outer pruneDeadResources().
9087 (WebCore::Cache::Cache):
9088 (WebCore::Cache::pruneDeadResources):
9089 (WebCore::Cache::remove):
9092 2008-10-03 David Hyatt <hyatt@apple.com>
9094 https://bugs.webkit.org/show_bug.cgi?id=21330
9096 Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
9099 Reviewed by Oliver Hunt
9101 * platform/ScrollView.cpp:
9102 (WebCore::ScrollView::setHasHorizontalScrollbar):
9103 (WebCore::ScrollView::setHasVerticalScrollbar):
9104 (WebCore::ScrollView::platformHasHorizontalAdjustment):
9105 (WebCore::ScrollView::platformHasVerticalAdjustment):
9106 * platform/ScrollView.h:
9107 * platform/gtk/ScrollViewGtk.cpp:
9108 (WebCore::ScrollView::adjustmentChanged):
9109 (WebCore::ScrollView::ScrollView):
9110 (WebCore::ScrollView::~ScrollView):
9111 (WebCore::ScrollView::setGtkAdjustments):
9112 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
9113 (WebCore::ScrollView::platformHandleVerticalAdjustment):
9115 2008-10-03 Julien Chaffraix <jchaffraix@webkit.org>
9117 Reviewed by Maciej Stachowiak.
9119 Bug 21106: .in format discussed changes
9120 https://bugs.webkit.org/show_bug.cgi?id=21106
9122 Change "upperCase" to "interfaceName" per-tag parameter as
9123 discussed on the mailing list. Removed the per-attribute version
9126 Also add the "Element" suffix to all interfaceName parameter to match
9127 the class name (and thus remove it from make_names.pl).
9129 * dom/make_names.pl:
9130 * html/HTMLTagNames.in:
9133 2008-10-03 David Hyatt <hyatt@apple.com>
9135 Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
9136 Hopefully this is a temporary hack that could eventually be removed.
9138 Reviewed by Sam Weinig
9140 * platform/ScrollView.cpp:
9141 (WebCore::ScrollView::scrollContents):
9142 * platform/ScrollView.h:
9143 (WebCore::ScrollView::rootPreventsBlitting):
9144 * platform/qt/ScrollViewQt.cpp:
9145 (WebCore::ScrollView::ScrollView):
9146 (WebCore::ScrollView::~ScrollView):
9147 (WebCore::ScrollView::platformAddChild):
9148 (WebCore::ScrollView::platformRemoveChild):
9150 2008-10-02 David Hyatt <hyatt@apple.com>
9152 https://bugs.webkit.org/show_bug.cgi?id=21328
9154 Make widget invalidation more cross-platform.
9156 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
9158 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
9159 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
9161 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
9163 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
9165 Reviewed by Sam Weinig
9168 * page/FrameView.cpp:
9169 (WebCore::FrameView::invalidateRect):
9170 (WebCore::FrameView::invalidateScrollbarRect):
9172 * platform/PopupMenu.h:
9173 * platform/ScrollView.cpp:
9174 (WebCore::ScrollView::scrollContents):
9175 * platform/ScrollView.h:
9176 * platform/Scrollbar.cpp:
9177 (WebCore::Scrollbar::setEnabled):
9178 (WebCore::Scrollbar::invalidateRect):
9179 * platform/Scrollbar.h:
9180 * platform/ScrollbarClient.h:
9181 * platform/Widget.h:
9182 * platform/gtk/WidgetGtk.cpp:
9183 * platform/mac/WidgetMac.mm:
9184 * platform/win/PopupMenuWin.cpp:
9185 (WebCore::PopupMenu::invalidateScrollbarRect):
9186 * platform/win/WidgetWin.cpp:
9187 * plugins/PluginView.cpp:
9188 (WebCore::PluginView::invalidateTimerFired):
9189 (WebCore::PluginView::invalidateWindowlessPluginRect):
9190 * plugins/PluginView.h:
9191 * plugins/gtk/PluginViewGtk.cpp:
9192 (WebCore::PluginView::invalidateRect):
9193 * plugins/qt/PluginViewQt.cpp:
9194 (WebCore::PluginView::invalidateRect):
9195 * plugins/win/PluginViewWin.cpp:
9196 (WebCore::PluginView::invalidateRect):
9197 (WebCore::PluginView::invalidateRegion):
9198 * rendering/RenderLayer.cpp:
9199 (WebCore::RenderLayer::invalidateScrollbarRect):
9200 * rendering/RenderLayer.h:
9201 * rendering/RenderListBox.cpp:
9202 (WebCore::RenderListBox::paintObject):
9203 (WebCore::RenderListBox::paintScrollbar):
9204 (WebCore::RenderListBox::invalidateScrollbarRect):
9205 * rendering/RenderListBox.h:
9207 2008-10-02 Dan Bernstein <mitz@apple.com>
9209 Reviewed by Geoffrey Garen and Sam Weinig.
9211 - fix SVGFontFaceElement leaks seen in Acid3
9212 - make font-face elements take effect only when they are in the document tree
9214 Test: svg/custom/font-face-not-in-document.svg
9216 * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
9217 RefPtr to a plain pointer to break a ref cycle.
9218 (WebCore::SVGFontData::svgFontFaceElement):
9220 * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
9221 @font-face rule from the document's mapped element sheet when the
9222 element is inserted and removed from the document, and to update it
9223 only when the element is in the document.
9224 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
9225 (WebCore::SVGFontFaceElement::parseMappedAttribute):
9226 (WebCore::SVGFontFaceElement::rebuildFontFace):
9227 (WebCore::SVGFontFaceElement::insertedIntoDocument):
9228 (WebCore::SVGFontFaceElement::removedFromDocument):
9229 (WebCore::SVGFontFaceElement::childrenChanged):
9230 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
9231 * svg/SVGFontFaceElement.h:
9233 2008-10-01 Simon Fraser <simon.fraser@apple.com>
9235 Reviewed by Dave Hyatt
9237 Fix RenderFileUploadControl::setStyle() and
9238 RenderMenuList::setStyle() to not touch the style; replace
9239 with html4.css and CSSStyleSelector changes.
9241 https://bugs.webkit.org/show_bug.cgi?id=21287
9243 * css/CSSStyleSelector.cpp:
9244 (WebCore::CSSStyleSelector::adjustRenderStyle):
9246 * rendering/RenderBlock.cpp:
9247 (WebCore::RenderBlock::setStyle):
9248 * rendering/RenderFileUploadControl.cpp:
9249 * rendering/RenderMenuList.cpp:
9250 (WebCore::RenderMenuList::setStyle):
9252 2008-10-01 Simon Fraser <simon.fraser@apple.com>
9254 Reviewed by Dave Hyatt
9256 Clean up code that changes the RenderStyle passed in to
9257 table renderer setStyle() methods.
9259 https://bugs.webkit.org/show_bug.cgi?id=21287
9261 Tests: fast/table/floating-th.html
9262 fast/table/table-display-types-strict.html
9263 fast/table/table-display-types.html
9265 * css/CSSStyleSelector.cpp:
9266 (WebCore::CSSStyleSelector::adjustRenderStyle):
9267 * rendering/RenderTableCell.cpp:
9268 (WebCore::RenderTableCell::setStyle):
9269 * rendering/RenderTableRow.cpp:
9270 (WebCore::RenderTableRow::setStyle):
9271 * rendering/RenderTableSection.cpp:
9272 (WebCore::RenderTableSection::setStyle):
9274 2008-10-02 Darin Adler <darin@apple.com>
9278 * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
9279 Not just locally in my generated file!
9281 2008-10-02 Adele Peterson <adele@apple.com>
9283 Reviewed by Dan Bernstein.
9285 Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
9286 REGRESSION: <input> color specified in inline style applies to placeholder
9288 I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
9289 is more appropriate. This change adds "-webkit-input-placeholder".
9291 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
9292 Added definition for "-webkit-input-placeholder" pseudo element.
9293 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
9294 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
9295 Added case for PseudoInputPlaceholder.
9296 * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
9297 * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
9299 * html/HTMLInputElement.cpp:
9300 (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
9301 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
9302 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
9303 setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
9304 * rendering/RenderTextControl.cpp:
9305 (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
9306 (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
9307 the text will be updated correctly.
9308 * rendering/RenderTextControl.h:
9310 2008-10-02 Chris Fleizach <cfleizach@apple.com>
9312 Reviewed by Darin Adler.
9314 https://bugs.webkit.org/show_bug.cgi?id=21280
9315 <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
9317 Updated AXTable detection to be more robust to false-positives. Specifically, added checks
9318 to ensure that there is more than one valid table cell, and that at least half of the cells
9319 have borders or have specific background colors. Modified the table detection layout test
9320 to test for the tables mentioned in the bug
9322 * page/AccessibilityTable.cpp:
9323 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
9325 2008-10-02 Darin Adler <darin@apple.com>
9327 Reviewed by Geoff Garen.
9329 - https://bugs.webkit.org/show_bug.cgi?id=21321
9330 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
9332 * bindings/js/GCController.cpp:
9333 (WebCore::collect): Use heap. instead of heap-> to work with the heap.
9334 (WebCore::GCController::gcTimerFired): Ditto.
9335 (WebCore::GCController::garbageCollectNow): Ditto.
9336 * bindings/js/JSDOMWindowShell.cpp:
9337 (WebCore::JSDOMWindowShell::operator new): Ditto.
9338 * storage/Database.cpp:
9339 (WebCore::Database::Database): Ditto.
9341 2008-10-02 Dan Bernstein <mitz@apple.com>
9343 Reviewed by Alexey Proskuryakov.
9345 - fix a Database leak that resulted in Document leaks
9347 * storage/Database.cpp:
9348 (WebCore::Database::openDatabase): Account for the fact that RefCounted
9349 objects start out with a ref count of 1.
9351 2008-10-02 Sam Weinig <sam@webkit.org>
9353 Reviewed by Mr. Geoffrey Garen.
9355 Always mark your parent before marking members.
9357 * bindings/js/JSDOMWindowCustom.cpp:
9358 (WebCore::JSDOMWindow::mark):
9360 2008-10-02 David Hyatt <hyatt@apple.com>
9362 https://bugs.webkit.org/show_bug.cgi?id=21314
9364 Make scrollBackingStore cross-platform.
9366 Reviewed by Sam Weinig
9368 * loader/EmptyClients.h:
9369 (WebCore::EmptyChromeClient::repaint):
9370 (WebCore::EmptyChromeClient::scroll):
9372 (WebCore::Chrome::repaint):
9373 (WebCore::Chrome::scroll):
9375 * page/ChromeClient.h:
9376 * page/EventHandler.cpp:
9377 (WebCore::EventHandler::handleAutoscroll):
9378 * platform/HostWindow.h:
9379 * platform/ScrollView.cpp:
9380 (WebCore::ScrollView::scrollContents):
9381 (WebCore::ScrollView::addPanScrollIcon):
9382 (WebCore::ScrollView::removePanScrollIcon):
9383 * platform/ScrollView.h:
9384 * platform/gtk/ScrollViewGtk.cpp:
9385 * platform/qt/ScrollViewQt.cpp:
9386 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
9387 (WebCore::ScrollView::~ScrollView):
9388 * platform/win/ScrollViewWin.cpp:
9389 (WebCore::ScrollView::ScrollView):
9390 (WebCore::ScrollView::~ScrollView):
9392 2008-10-02 Kevin Ollivier <kevino@theolliviers.com>
9394 wx build fixes after Frame/ScrollView changes.
9396 * WebCoreSources.bkl:
9397 * platform/wx/ScrollViewWx.cpp:
9398 (WebCore::ScrollView::platformContentsToScreen):
9399 (WebCore::ScrollView::platformScreenToContents):
9400 (WebCore::ScrollView::platformIsOffscreen):
9402 2008-10-02 Brett Wilson <brettw@chromium.org>
9404 Reviewed by Sam Weinig
9406 https://bugs.webkit.org/show_bug.cgi?id=21292
9408 Revert the changes to enclosingIntRect made in r12530 since the new code
9409 doesn't round correctly.
9412 * platform/graphics/FloatRect.cpp:
9413 (WebCore::enclosingIntRect):
9415 2008-10-02 Dan Bernstein <mitz@apple.com>
9417 Reviewed by Anders Carlsson and Eric Seidel.
9419 - fix HTMLCanvaseElement leak from -webkit-canvas() values
9421 Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
9422 pointer, as the document owns the canvas elements. Added code to release
9423 those elements in Document::removedLastRef() because they reference
9426 * css/CSSCanvasValue.cpp:
9427 (WebCore::CSSCanvasValue::element):
9428 * css/CSSCanvasValue.h:
9429 (WebCore::CSSCanvasValue::CSSCanvasValue):
9431 (WebCore::Document::removedLastRef):
9433 2008-10-02 Alexey Proskuryakov <ap@webkit.org>
9435 Reviewed by Maciej Stachowiak.
9437 Build fix for platforms that don't implement WTF::ThreadSpecific.
9439 * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
9440 Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
9441 code is only needed for JS bindings in worker threads.
9443 2008-10-01 David Hyatt <hyatt@apple.com>
9445 https://bugs.webkit.org/show_bug.cgi?id=21298
9447 Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
9448 will make that cross-platform.
9450 The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
9451 multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
9452 windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
9454 Reviewed by Sam Weinig
9456 * page/FrameView.cpp:
9457 (WebCore::FrameView::windowClipRect):
9458 (WebCore::FrameView::isActive):
9460 (WebCore::FrameView::visibleContentsResized):
9461 * platform/PopupMenu.h:
9462 * platform/ScrollView.cpp:
9463 (WebCore::ScrollView::init):
9464 (WebCore::ScrollView::destroy):
9465 (WebCore::ScrollView::setHasHorizontalScrollbar):
9466 (WebCore::ScrollView::setHasVerticalScrollbar):
9467 (WebCore::ScrollView::valueChanged):
9468 (WebCore::ScrollView::updateScrollbars):
9469 (WebCore::ScrollView::scrollContents):
9470 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
9471 (WebCore::ScrollView::platformHandleVerticalAdjustment):
9472 * platform/ScrollView.h:
9473 * platform/Scrollbar.cpp:
9474 (WebCore::Scrollbar::windowClipRect):
9475 * platform/ScrollbarClient.h:
9476 * platform/gtk/ScrollViewGtk.cpp:
9477 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
9478 (WebCore::ScrollView::platformHandleVerticalAdjustment):
9479 * platform/qt/ScrollViewQt.cpp:
9480 (WebCore::ScrollView::scrollContents):
9481 * platform/win/PopupMenuWin.cpp:
9482 (WebCore::PopupMenu::windowClipRect):
9483 * platform/win/ScrollViewWin.cpp:
9484 (WebCore::ScrollView::scrollContents):
9485 * rendering/RenderLayer.cpp:
9486 (WebCore::RenderLayer::windowClipRect):
9487 * rendering/RenderLayer.h:
9488 * rendering/RenderListBox.cpp:
9489 (WebCore::RenderListBox::panScroll):
9490 (WebCore::RenderListBox::windowClipRect):
9491 * rendering/RenderListBox.h:
9493 2008-10-02 Alexey Proskuryakov <ap@webkit.org>
9495 Reviewed by Darin Adler.
9497 https://bugs.webkit.org/show_bug.cgi?id=21304
9498 Stop using a static wrapper map for WebCore JS bindings
9500 The static domObjects map was not thread safe.
9503 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
9505 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
9508 (WebCore::Document::createdXMLHttpRequest):
9509 (WebCore::Document::destroyedXMLHttpRequest):
9510 Moved XMLHttpRequest tracking from a global map to Document.
9514 * WebCore.vcproj/WebCore.vcproj:
9515 * WebCore.xcodeproj/project.pbxproj:
9516 * WebCoreSources.bkl:
9518 * bindings/DOMProtect.cpp: Removed.
9519 * bindings/DOMProtect.h: Removed.
9520 Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
9521 so they can no longer protect bindings objects.
9523 * dom/MessagePort.cpp:
9524 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
9525 (WebCore::CloseMessagePortTimer::fired):
9526 (WebCore::MessagePort::MessagePort):
9527 (WebCore::MessagePort::queueCloseEvent):
9528 (WebCore::MessagePort::setPendingActivity):
9529 (WebCore::MessagePort::unsetPendingActivity):
9530 * dom/MessagePort.h:
9531 (WebCore::MessagePort::hasPendingActivity):
9532 MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
9535 * xml/XMLHttpRequest.h:
9536 (WebCore::XMLHttpRequest::hasPendingActivity):
9537 * xml/XMLHttpRequest.cpp:
9538 (WebCore::XMLHttpRequest::XMLHttpRequest):
9539 (WebCore::XMLHttpRequest::~XMLHttpRequest):
9540 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
9541 (WebCore::XMLHttpRequest::dropProtection):
9542 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
9543 (WebCore::XMLHttpRequest::cancelRequests):
9544 (WebCore::XMLHttpRequest::detachRequests):
9545 (WebCore::XMLHttpRequest::setPendingActivity):
9546 (WebCore::XMLHttpRequest::unsetPendingActivity):
9547 Moved XMLHttpRequest tracking from a global map to Document.
9549 * bindings/js/JSDOMBinding.cpp:
9550 (WebCore::wrapperSet):
9551 (WebCore::DOMObjectWrapperMap::mapFor):
9552 (WebCore::DOMObjectWrapperMap::get):
9553 (WebCore::DOMObjectWrapperMap::set):
9554 (WebCore::DOMObjectWrapperMap::remove):
9555 (WebCore::getCachedDOMObjectWrapper):
9556 (WebCore::cacheDOMObjectWrapper):
9557 (WebCore::forgetDOMObject):
9558 (WebCore::getCachedDOMNodeWrapper):
9559 (WebCore::forgetDOMNode):
9560 (WebCore::cacheDOMNodeWrapper):
9561 (WebCore::markActiveObjectsForDocument):
9562 * bindings/js/JSDOMBinding.h:
9563 (WebCore::createDOMObjectWrapper):
9564 (WebCore::getDOMObjectWrapper):
9565 Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
9566 to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
9567 WebCore objects can never migrate between threads.
9569 * bindings/js/JSDocumentCustom.cpp:
9570 (WebCore::JSDocument::mark):
9571 Call markActiveObjectsForDocument() from JSDOMBinding.
9573 * bindings/js/JSCSSRuleCustom.cpp:
9575 * bindings/js/JSCSSValueCustom.cpp:
9577 * bindings/js/JSDOMWindowCustom.cpp:
9578 (WebCore::markDOMObjectWrapper):
9579 (WebCore::JSDOMWindow::mark):
9580 * bindings/js/JSEventCustom.cpp:
9582 * bindings/js/JSEventTarget.cpp:
9584 * bindings/js/JSHTMLCollectionCustom.cpp:
9586 * bindings/js/JSImageDataCustom.cpp:
9588 * bindings/js/JSMessageChannelCustom.cpp:
9589 (WebCore::JSMessageChannel::mark):
9590 * bindings/js/JSMessagePortCustom.cpp:
9591 (WebCore::JSMessagePort::mark):
9592 * bindings/js/JSNodeCustom.cpp:
9593 (WebCore::JSNode::mark):
9594 * bindings/js/JSSVGPathSegCustom.cpp:
9596 * bindings/js/JSStyleSheetCustom.cpp:
9598 * bindings/js/JSXMLHttpRequestCustom.cpp:
9599 (WebCore::JSXMLHttpRequest::mark):
9600 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
9601 (WebCore::JSXMLHttpRequestUpload::mark):
9602 * bindings/js/ScriptController.cpp:
9603 (WebCore::ScriptController::finishedWithEvent):
9604 * bindings/scripts/CodeGeneratorJS.pm:
9605 Pass a JSGlobalData reference to functions that track JS wrapper objects.
9607 2008-10-02 Dan Bernstein <mitz@apple.com>
9611 * page/JavaScriptCallFrame.idl:
9613 2008-10-02 Oliver Hunt <oliver@apple.com>
9615 Reviewed by NOBODY (Build fix).
9617 Add new file to project files
9621 * WebCore.vcproj/WebCore.vcproj:
9623 2008-10-02 Geoffrey Garen <ggaren@apple.com>
9627 Try to fix some more builds.
9632 2008-10-02 Geoffrey Garen <ggaren@apple.com>
9636 Try to fix Windows build.
9638 * WebCore.vcproj/WebCore.vcproj:
9640 2008-10-01 Geoffrey Garen <ggaren@apple.com>
9642 Reviewed by Darin Adler and Cameron Zwarich.
9644 Updated for JavaScriptCore API changes: use a SourceCode instead of
9645 broken out parameters; treat sourceId as intptr_t.
9647 * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
9648 * bindings/js/JSXMLHttpRequestCustom.cpp:
9649 (WebCore::JSXMLHttpRequest::send):
9650 * bindings/js/ScriptController.cpp:
9651 (WebCore::ScriptController::evaluate):
9652 * bindings/js/StringSourceProvider.h:
9653 (WebCore::StringSourceProvider::create):
9654 (WebCore::StringSourceProvider::StringSourceProvider):
9656 (WebCore::makeSource): Added a makeSource function for convenience.
9658 * bindings/objc/WebScriptObject.mm:
9659 (-[WebScriptObject evaluateWebScript:]):
9660 * bridge/NP_jsobject.cpp:
9662 * bridge/jni/jni_jsobject.mm:
9663 (JavaJSObject::call):
9664 (JavaJSObject::eval):
9665 (JavaJSObject::getMember):
9666 (JavaJSObject::setMember):
9667 (JavaJSObject::removeMember):
9669 * bridge/jni/jni_runtime.h:
9670 (JSC::Bindings::JavaString::operator UString): Replaced the explicit
9671 ustring() function with an implicit operator because this class already
9672 holds a UString::rep.
9675 (WebCore::retrieveLastCaller):
9676 (WebCore::Console::trace):
9677 * page/InspectorController.cpp:
9678 (WebCore::jsStringRef):
9679 (WebCore::InspectorController::addBreakpoint):
9680 (WebCore::InspectorController::removeBreakpoint):
9681 (WebCore::InspectorController::didParseSource):
9682 (WebCore::InspectorController::failedToParseSource):
9683 * page/InspectorController.h:
9684 * page/JavaScriptCallFrame.cpp:
9685 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
9686 * page/JavaScriptCallFrame.h:
9687 (WebCore::JavaScriptCallFrame::create):
9688 (WebCore::JavaScriptCallFrame::sourceIdentifier):
9689 (WebCore::JavaScriptCallFrame::update):
9690 * page/JavaScriptDebugListener.h:
9691 * page/JavaScriptDebugServer.cpp:
9692 (WebCore::JavaScriptDebugServer::addBreakpoint):
9693 (WebCore::JavaScriptDebugServer::removeBreakpoint):
9694 (WebCore::JavaScriptDebugServer::hasBreakpoint):
9695 (WebCore::dispatchDidParseSource):
9696 (WebCore::dispatchFailedToParseSource):
9697 (WebCore::JavaScriptDebugServer::sourceParsed):
9698 (WebCore::JavaScriptDebugServer::callEvent):
9699 (WebCore::JavaScriptDebugServer::atStatement):
9700 (WebCore::JavaScriptDebugServer::returnEvent):
9701 (WebCore::JavaScriptDebugServer::exception):
9702 (WebCore::JavaScriptDebugServer::willExecuteProgram):
9703 (WebCore::JavaScriptDebugServer::didExecuteProgram):
9704 (WebCore::JavaScriptDebugServer::didReachBreakpoint):
9705 * page/JavaScriptDebugServer.h:
9706 * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
9707 sourceIdentifier to sourceID.
9709 2008-10-01 Dan Bernstein <mitz@apple.com>
9711 Reviewed by Geoffrey Garen.
9713 - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
9715 Broke a ref cycle by changing the m_svgFontFaceElement members of
9716 CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
9717 pointers. Also made sure that the @font-face rule added by
9718 SVGFontFaceElement to the document's mapped element sheet is removed
9719 when the font-face element is deleted or moved to another document.
9721 * css/CSSFontFaceSource.cpp:
9722 (WebCore::CSSFontFaceSource::CSSFontFaceSource):
9723 (WebCore::CSSFontFaceSource::getFontData):
9724 * css/CSSFontFaceSource.h:
9725 (WebCore::CSSFontFaceSource::svgFontFaceElement):
9726 * css/CSSFontFaceSrcValue.h:
9727 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
9728 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
9729 * svg/SVGFontFaceElement.cpp:
9730 (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
9731 (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
9732 (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
9733 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
9734 * svg/SVGFontFaceElement.h:
9736 2008-10-01 Oliver Hunt <oliver@apple.com>
9738 Reviewed by Maciej Stachowiak.
9740 Bug 20315: Memory leak with Canvas getImageData
9741 <https://bugs.webkit.org/show_bug.cgi?id=20315>
9743 This wasn't a leak, the issue was that we were reporting the cost
9744 of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
9745 and we should have been reporting the cost when we create the
9746 JSImageData wrapper.
9748 * WebCore.xcodeproj/project.pbxproj:
9749 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
9750 This was only needed to report the extra memory cost
9752 * bindings/js/JSImageDataCustom.cpp:
9754 We need a custom toJS function now so that we can report
9755 the extra memory cost.
9756 * bindings/scripts/CodeGeneratorJS.pm:
9757 Need to replace the reference to CanvasPixelArray with ImageData
9758 to be able to create the custom toJS implementation.
9759 * html/CanvasPixelArray.idl:
9760 * html/ImageData.idl:
9762 2008-10-01 Dan Bernstein <mitz@apple.com>
9764 Reviewed by Mark Rowe.
9766 - https://bugs.webkit.org/show_bug.cgi?id=21293
9767 REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
9769 * svg/SVGMarkerElement.cpp:
9770 (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
9771 that renderer destruction happens before the SVGMarkerElement is
9773 * svg/SVGSVGElement.cpp:
9774 (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
9776 2008-10-01 Evan Martin <evan@chromium.org>
9778 Reviewed by Eric Seidel.
9780 https://bugs.webkit.org/show_bug.cgi?id=20669
9785 2008-10-01 Evan Martin <evan@chromium.org>
9787 Reviewed by Eric Seidel.
9789 * loader/icon/IconDatabase.h:
9790 IconDatabase uses HashMap, so it needs to #include the header.
9792 2008-10-01 Dan Bernstein <mitz@apple.com>
9794 Reviewed by Mark Rowe.
9796 - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
9799 (WebCore::Cache::remove): Disable pruning temporarily during
9800 CachedResource deletion.
9802 2008-10-01 Dan Bernstein <mitz@apple.com>
9804 Reviewed by Mark Rowe.
9806 - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
9808 * svg/SVGFontFaceElement.cpp:
9809 (WebCore::SVGFontFaceElement::rebuildFontFace):
9810 * svg/SVGFontFaceElement.h:
9811 (WebCore::SVGFontFaceElement::associatedFontElement):
9813 2008-10-01 Brett Wilson <brettw@chromium.org>
9815 Reviewed by Maciej Stachowiak.
9817 Document the rounding behavior of the mapRect(IntRect) function in
9820 * platform/graphics/AffineTransform.h:
9822 2008-10-01 David Hyatt <hyatt@apple.com>
9824 Move prohibitsScrolling from the Frame to the ScrollView.
9826 Reviewed by Sam Weinig
9830 (WebCore::FramePrivate::FramePrivate):
9832 * page/FramePrivate.h:
9833 * page/FrameView.cpp:
9834 (WebCore::FrameView::scrollRectIntoViewRecursively):
9835 (WebCore::FrameView::setScrollPosition):
9836 * platform/ScrollView.cpp:
9837 (WebCore::ScrollView::init):
9838 (WebCore::ScrollView::scrollRectIntoViewRecursively):
9839 (WebCore::ScrollView::setScrollPosition):
9840 * platform/ScrollView.h:
9841 (WebCore::ScrollView::setProhibitsScrolling):
9842 (WebCore::ScrollView::prohibitsScrolling):
9843 * platform/gtk/ScrollViewGtk.cpp:
9844 (WebCore::ScrollView::updateScrollbars):
9845 * platform/qt/ScrollViewQt.cpp:
9846 (WebCore::ScrollView::updateScrollbars):
9847 * platform/win/ScrollViewWin.cpp:
9848 (WebCore::ScrollView::updateScrollbars):
9850 2008-10-01 Mark Rowe <mrowe@apple.com>
9852 Reviewed by Geoff Garen.
9854 Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
9856 * xml/XMLHttpRequest.cpp:
9857 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
9858 that we do during the loadRequestAsynchronously of the preflight request with a deref and
9861 2008-10-01 David Hyatt <hyatt@apple.com>
9863 Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
9864 clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.
9866 Reviewed by Tim Hatcher
9869 * page/FrameView.cpp:
9870 (WebCore::FrameView::setCanHaveScrollbars):
9872 * platform/ScrollView.cpp:
9873 (WebCore::ScrollView::setCanHaveScrollbars):
9874 (WebCore::ScrollView::wheelEvent):
9875 * platform/ScrollView.h:
9876 (WebCore::ScrollView::canHaveScrollbars):
9878 2008-10-01 Dan Bernstein <mitz@apple.com>
9880 Reviewed by Mark Rowe.
9882 - fix some CachedResource leaks seen on buildbot
9884 The issue here was that emptying the cache was a no-op when it only
9885 contained resources with no data. Changed to go after those
9886 resources when the desired cache capacity is zero.
9889 (WebCore::Cache::pruneLiveResources):
9890 (WebCore::Cache::pruneDeadResources):
9892 (WebCore::Cache::prune):
9894 2008-10-01 David Hyatt <hyatt@apple.com>
9896 Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
9897 HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)
9899 Reviewed by Adam Roben
9901 * platform/ScrollView.cpp:
9902 (WebCore::ScrollView::isOffscreen):
9903 (WebCore::ScrollView::platformIsOffscreen):
9904 * platform/ScrollView.h:
9905 * platform/gtk/ScrollViewGtk.cpp:
9906 * platform/mac/ScrollViewMac.mm:
9907 (WebCore::ScrollView::platformIsOffscreen):
9908 * platform/qt/ScrollViewQt.cpp:
9909 * platform/wx/ScrollViewWx.cpp:
9911 2008-10-01 David Hyatt <hyatt@apple.com>
9913 Make show/hide/setParentVisible cross-platform on ScrollView.
9915 Reviewed by Adam Roben
9917 * platform/ScrollView.cpp:
9918 (WebCore::ScrollView::setParentVisible):
9919 (WebCore::ScrollView::show):
9920 (WebCore::ScrollView::hide):
9921 * platform/ScrollView.h:
9922 * platform/win/ScrollViewWin.cpp:
9924 2008-10-01 Kevin McCullough <kmccullough@apple.com>
9926 Reviewed by Dan Bernstein.
9928 https://bugs.webkit.org/show_bug.cgi?id=21284
9929 Bug 21284: Max height affects max width
9930 - Looks like a cut and paste bug
9931 - Added layout test fast/css/max-height-and-max-width.html
9933 * css/CSSComputedStyleDeclaration.cpp:
9934 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
9936 2008-10-01 David Hyatt <hyatt@apple.com>
9938 https://bugs.webkit.org/show_bug.cgi?id=21282
9940 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
9942 Reviewed by Adam Roben
9944 * loader/EmptyClients.h:
9945 (WebCore::EmptyChromeClient::screenToWindow):
9946 (WebCore::EmptyChromeClient::windowToScreen):
9948 (WebCore::Chrome::screenToWindow):
9949 (WebCore::Chrome::windowToScreen):
9951 * page/ChromeClient.h:
9952 * platform/HostWindow.h:
9953 * platform/ScrollView.cpp:
9954 (WebCore::ScrollView::contentsToScreen):
9955 (WebCore::ScrollView::screenToContents):
9956 (WebCore::ScrollView::platformContentsToScreen):
9957 (WebCore::ScrollView::platformScreenToContents):
9958 * platform/ScrollView.h:
9959 * platform/mac/ScrollViewMac.mm:
9960 (WebCore::ScrollView::platformContentsToScreen):
9961 (WebCore::ScrollView::platformScreenToContents):
9962 * platform/win/ScrollViewWin.cpp:
9964 2008-10-01 Dan Bernstein <mitz@apple.com>
9966 Reviewed by Darin Adler.
9968 - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
9970 Test: fast/parser/residual-style-close-across-removed-block.html
9972 * html/HTMLParser.cpp:
9973 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
9974 an assertion that turned out to be wrong in this case, and changed to
9975 terminate the algorithm at the first empty block.
9977 2008-10-01 David Hyatt <hyatt@apple.com>
9979 Make setFrameRect on ScrollView cross-platform.
9981 Reviewed by Sam Weinig
9984 (WebCore::FrameView::contentsResized):
9985 * platform/ScrollView.cpp:
9986 (WebCore::ScrollView::setFrameRect):
9987 * platform/ScrollView.h:
9988 * platform/gtk/ScrollViewGtk.cpp:
9989 * platform/qt/ScrollViewQt.cpp:
9990 * platform/win/ScrollViewWin.cpp:
9992 2008-10-01 Sam Weinig <sam@webkit.org>
9994 Reviewed by Adele Peterson.
9996 Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
9997 to JSDOMWindow from JSDOMWindowBase.
9999 * WebCore.xcodeproj/project.pbxproj:
10000 * bindings/js/JSDOMWindowBase.cpp:
10001 (WebCore::JSDOMWindowBase::removeTimeout):
10002 * bindings/js/JSDOMWindowBase.h:
10003 * bindings/js/JSDOMWindowCustom.cpp:
10004 (WebCore::setTimeoutOrInterval):
10005 (WebCore::JSDOMWindow::setTimeout):
10006 (WebCore::JSDOMWindow::clearTimeout):
10007 (WebCore::JSDOMWindow::setInterval):
10008 (WebCore::JSDOMWindow::clearInterval):
10009 (WebCore::JSDOMWindow::atob):
10010 (WebCore::JSDOMWindow::btoa):
10011 * page/DOMWindow.idl:
10013 2008-10-01 Dan Bernstein <mitz@apple.com>
10017 * WebCore.base.exp:
10019 2008-10-01 Timothy Hatcher <timothy@apple.com>
10021 Prevent stealing focus from the search field when focusing a DOM node.
10023 https://bugs.webkit.org/show_bug.cgi?id=21275
10025 Reviewed by Kevin McCullough.
10027 * page/inspector/ElementsPanel.js:
10028 (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
10029 Don't steal focus if the current focus element is the search field.
10031 2008-09-30 Sam Weinig <sam@webkit.org>
10033 Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
10035 Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
10036 Autogenerate JS event listeners
10038 - Generate getting/setting of EventListeners.
10040 - Adding a new named EventListener now has the same process as adding any other DOM
10041 attribute. (Add a method with the same name in the c++ file).
10043 (The EventListeners for MessagePort have been intentionally left custom so that we
10044 can continue to experiment with making those EventListeners work in a frame-less world.)
10046 * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
10047 * bindings/js/JSDOMWindowCustom.cpp: ditto.
10048 * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
10049 * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
10050 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
10051 * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
10053 * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
10054 * dom/EventTargetNode.h: ditto.
10055 * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
10056 will use JSEventListerner instead of JSUnprotectedEventListener.
10057 * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
10058 * page/DOMWindow.cpp: Add getter/setters for named EventListener
10059 * page/DOMWindow.h: ditto.
10060 * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
10061 will use JSEventListerner instead of JSUnprotectedEventListener.
10062 * xml/XMLHttpRequest.idl: Remove custom attributes.
10063 * xml/XMLHttpRequestUpload.idl: ditto.
10065 2008-09-30 Mark Rowe <mrowe@apple.com>
10067 Reviewed by Dan Bernstein.
10069 Add a leak counter for CachedResources since we've had two recent leaks involving them.
10071 * loader/CachedResource.cpp:
10072 (WebCore::CachedResource::CachedResource):
10073 (WebCore::CachedResource::~CachedResource):
10075 2008-09-30 Dan Bernstein <mitz@apple.com>
10077 Reviewed by Dave Hyatt.
10079 - fix https://bugs.webkit.org/show_bug.cgi?id=21127
10080 <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
10082 If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
10083 the font name in memory.
10085 * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
10086 OpenTypeUtilities.*.
10088 * platform/graphics/win/FontCustomPlatformData.cpp:
10089 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
10090 to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
10092 (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
10093 for fonts loaded using AddFontMemResourceEx.
10094 (WebCore::createFontCustomPlatformData): Added a call to
10095 renameAndActivateFont() if TTLoadEmbeddedFont fails. If
10096 TTLoadEmbeddedFont succeeds, set the font name to the null string, as
10097 fontPlatformData() will retrieve the name from the font reference.
10099 * platform/graphics/win/FontCustomPlatformData.h:
10100 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
10103 * platform/graphics/win/GetEOTHeader.cpp: Renamed.
10104 * platform/graphics/win/GetEOTHeader.h: Renamed.
10106 * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
10107 (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
10108 (WebCore::BigEndianULong::BigEndianULong): Ditto.
10109 (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
10110 the font data and modifies it to have the given name, then activates
10111 it using AddFontMemResourceEx.
10113 * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
10115 2008-09-30 Mark Rowe <mrowe@apple.com>
10117 Reviewed by Dan Bernstein.
10119 Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
10121 * rendering/RenderObject.cpp:
10122 (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
10123 with calls to removeClient when we're being destroyed.
10125 2008-09-30 Eric Carlson <eric.carlson@apple.com>
10127 Reviewed by Antti Koivisto.
10129 https://bugs.webkit.org/show_bug.cgi?id=21243
10131 Fix loopstart and loopend default values.
10133 Tests: media/loopend-limits.html
10134 media/loopstart-limits.html
10136 * html/HTMLMediaElement.cpp:
10137 (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
10138 (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
10140 2008-09-30 Kevin Ollivier <kevino@theolliviers.com>
10142 wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
10144 * WebCoreSources.bkl:
10145 * platform/wx/ScrollViewWx.cpp:
10146 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
10148 2008-09-30 Dan Bernstein <mitz@apple.com>
10150 Reviewed by Sam Weinig.
10152 - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
10153 was fixed in r17249 and re-introduced in r31435.
10155 * html/HTMLViewSourceDocument.cpp:
10156 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
10157 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
10158 (WebCore::HTMLViewSourceDocument::addLine):
10159 (WebCore::HTMLViewSourceDocument::addLink):
10160 * html/HTMLViewSourceDocument.h:
10162 2008-09-30 Sam Weinig <sam@webkit.org>
10164 Reviewed by Eric Seidel.
10166 More for https://bugs.webkit.org/show_bug.cgi?id=21122
10167 Autogenerate JS event listeners
10169 - Make EventListener getter/setters names in c++ files match those in
10170 JS (ie. onLoadListener -> onload).
10171 - Add standard way to access the frame associated with the EventTarget
10172 for EventListener lookup.
10173 - Autogenerate dispatchEvent, it wasn't doing anything custom.
10175 * bindings/js/JSDOMApplicationCacheCustom.cpp:
10176 (WebCore::JSDOMApplicationCache::mark):
10177 (WebCore::JSDOMApplicationCache::addEventListener):
10178 (WebCore::JSDOMApplicationCache::removeEventListener):
10179 (WebCore::JSDOMApplicationCache::setOnchecking):
10180 (WebCore::JSDOMApplicationCache::onchecking):
10181 (WebCore::JSDOMApplicationCache::setOnerror):
10182 (WebCore::JSDOMApplicationCache::onerror):
10183 (WebCore::JSDOMApplicationCache::setOnnoupdate):
10184 (WebCore::JSDOMApplicationCache::onnoupdate):
10185 (WebCore::JSDOMApplicationCache::setOndownloading):
10186 (WebCore::JSDOMApplicationCache::ondownloading):
10187 (WebCore::JSDOMApplicationCache::setOnprogress):
10188 (WebCore::JSDOMApplicationCache::onprogress):
10189 (WebCore::JSDOMApplicationCache::setOnupdateready):
10190 (WebCore::JSDOMApplicationCache::onupdateready):
10191 (WebCore::JSDOMApplicationCache::setOncached):
10192 (WebCore::JSDOMApplicationCache::oncached):
10193 * bindings/js/JSEventTargetNodeCustom.cpp:
10194 (WebCore::JSEventTargetNode::addEventListener):
10195 (WebCore::JSEventTargetNode::removeEventListener):
10196 (WebCore::JSEventTargetNode::getListener):
10197 (WebCore::JSEventTargetNode::setListener):
10198 * bindings/js/JSMessagePortCustom.cpp:
10199 (WebCore::JSMessagePort::mark):
10200 (WebCore::JSMessagePort::addEventListener):
10201 (WebCore::JSMessagePort::removeEventListener):
10202 (WebCore::JSMessagePort::setOnmessage):
10203 (WebCore::JSMessagePort::onmessage):
10204 (WebCore::JSMessagePort::setOnclose):
10205 (WebCore::JSMessagePort::onclose):
10206 * bindings/js/JSXMLHttpRequestCustom.cpp:
10207 (WebCore::JSXMLHttpRequest::mark):
10208 (WebCore::JSXMLHttpRequest::onreadystatechange):
10209 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
10210 (WebCore::JSXMLHttpRequest::onabort):
10211 (WebCore::JSXMLHttpRequest::setOnabort):
10212 (WebCore::JSXMLHttpRequest::onerror):
10213 (WebCore::JSXMLHttpRequest::setOnerror):
10214 (WebCore::JSXMLHttpRequest::onload):
10215 (WebCore::JSXMLHttpRequest::setOnload):
10216 (WebCore::JSXMLHttpRequest::onloadstart):
10217 (WebCore::JSXMLHttpRequest::setOnloadstart):
10218 (WebCore::JSXMLHttpRequest::onprogress):
10219 (WebCore::JSXMLHttpRequest::setOnprogress):
10220 (WebCore::JSXMLHttpRequest::addEventListener):
10221 (WebCore::JSXMLHttpRequest::removeEventListener):
10222 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
10223 (WebCore::JSXMLHttpRequestUpload::mark):
10224 (WebCore::JSXMLHttpRequestUpload::onabort):
10225 (WebCore::JSXMLHttpRequestUpload::setOnabort):
10226 (WebCore::JSXMLHttpRequestUpload::onerror):
10227 (WebCore::JSXMLHttpRequestUpload::setOnerror):
10228 (WebCore::JSXMLHttpRequestUpload::onload):
10229 (WebCore::JSXMLHttpRequestUpload::setOnload):
10230 (WebCore::JSXMLHttpRequestUpload::onloadstart):
10231 (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
10232 (WebCore::JSXMLHttpRequestUpload::onprogress):
10233 (WebCore::JSXMLHttpRequestUpload::setOnprogress):
10234 (WebCore::JSXMLHttpRequestUpload::addEventListener):
10235 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
10236 * bindings/scripts/CodeGeneratorJS.pm:
10237 * dom/EventTarget.h:
10238 * dom/EventTargetNode.cpp:
10239 (WebCore::EventTargetNode::associatedFrame):
10240 * dom/EventTargetNode.h:
10241 * dom/EventTargetNode.idl:
10242 * dom/MessagePort.cpp:
10243 (WebCore::MessagePort::associatedFrame):
10244 * dom/MessagePort.h:
10245 (WebCore::MessagePort::setOnmessage):
10246 (WebCore::MessagePort::onmessage):
10247 (WebCore::MessagePort::setOnclose):
10248 (WebCore::MessagePort::onclose):
10249 * dom/MessagePort.idl:
10250 * loader/appcache/DOMApplicationCache.h:
10251 (WebCore::DOMApplicationCache::setOnchecking):
10252 (WebCore::DOMApplicationCache::onchecking):
10253 (WebCore::DOMApplicationCache::setOnerror):
10254 (WebCore::DOMApplicationCache::onerror):
10255 (WebCore::DOMApplicationCache::setOnnoupdate):
10256 (WebCore::DOMApplicationCache::onnoupdate):
10257 (WebCore::DOMApplicationCache::setOndownloading):
10258 (WebCore::DOMApplicationCache::ondownloading):
10259 (WebCore::DOMApplicationCache::setOnprogress):
10260 (WebCore::DOMApplicationCache::onprogress):
10261 (WebCore::DOMApplicationCache::setOnupdateready):
10262 (WebCore::DOMApplicationCache::onupdateready):
10263 (WebCore::DOMApplicationCache::setOncached):
10264 (WebCore::DOMApplicationCache::oncached):
10265 (WebCore::DOMApplicationCache::associatedFrame):
10266 * loader/appcache/DOMApplicationCache.idl:
10267 * svg/EventTargetSVGElementInstance.cpp:
10268 (WebCore::EventTargetSVGElementInstance::associatedFrame):
10269 (WebCore::EventTargetSVGElementInstance::addEventListener):
10270 (WebCore::EventTargetSVGElementInstance::removeEventListener):
10271 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
10272 * svg/EventTargetSVGElementInstance.h:
10273 * xml/XMLHttpRequest.cpp:
10274 (WebCore::XMLHttpRequest::associatedFrame):
10275 * xml/XMLHttpRequest.h:
10276 (WebCore::XMLHttpRequest::setOnreadystatechange):
10277 (WebCore::XMLHttpRequest::onreadystatechange):
10278 (WebCore::XMLHttpRequest::setOnabort):
10279 (WebCore::XMLHttpRequest::onabort):
10280 (WebCore::XMLHttpRequest::setOnerror):
10281 (WebCore::XMLHttpRequest::onerror):
10282 (WebCore::XMLHttpRequest::setOnload):
10283 (WebCore::XMLHttpRequest::onload):
10284 (WebCore::XMLHttpRequest::setOnloadstart):
10285 (WebCore::XMLHttpRequest::onloadstart):
10286 (WebCore::XMLHttpRequest::setOnprogress):
10287 (WebCore::XMLHttpRequest::onprogress):
10288 * xml/XMLHttpRequest.idl:
10289 * xml/XMLHttpRequestUpload.cpp:
10290 (WebCore::XMLHttpRequestUpload::associatedFrame):
10291 * xml/XMLHttpRequestUpload.h:
10292 (WebCore::XMLHttpRequestUpload::setOnabort):
10293 (WebCore::XMLHttpRequestUpload::onabort):
10294 (WebCore::XMLHttpRequestUpload::setOnerror):
10295 (WebCore::XMLHttpRequestUpload::onerror):
10296 (WebCore::XMLHttpRequestUpload::setOnload):
10297 (WebCore::XMLHttpRequestUpload::onload):
10298 (WebCore::XMLHttpRequestUpload::setOnloadstart):
10299 (WebCore::XMLHttpRequestUpload::onloadstart):
10300 (WebCore::XMLHttpRequestUpload::setOnprogress):
10301 (WebCore::XMLHttpRequestUpload::onprogress):
10302 * xml/XMLHttpRequestUpload.idl:
10304 2008-09-30 Darin Adler <darin@apple.com>
10306 - roll out assertion breaking regression tests
10308 * platform/ScrollView.cpp:
10309 (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
10310 that fires in regression tests. Hyatt can add it back later. The assertion
10311 fires in the regression test because of layout that triggers repaint occuring
10312 during the process of removing a frame.
10314 2008-09-30 Adele Peterson <adele@apple.com>
10316 Reviewed by Darin Adler.
10318 Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
10319 <rdar://problem/6222134> add a way to set color for input placeholder text
10321 Test: fast/forms/placeholder-pseudo-style.html
10323 This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
10324 input elements when they are displaying the placeholder text.
10326 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
10327 * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
10328 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
10329 Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
10330 * css/html4.css: Add rule to make placeholder text default to darkGray.
10332 * html/HTMLInputElement.cpp:
10333 (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
10334 (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
10335 (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
10336 (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
10337 (WebCore::HTMLInputElement::setValue): ditto.
10338 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
10339 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
10340 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
10341 renderer will just ask the node if it should draw the placeholder.
10342 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
10344 * rendering/RenderTextControl.cpp:
10345 (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color,
10346 just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast.
10347 If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
10348 (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
10349 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
10350 is called directly from updateFromElement. updateFromElement will immediately update the text displayed.
10351 (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
10352 (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
10353 * rendering/RenderTextControl.h:
10355 2008-09-30 Beth Dakin <bdakin@apple.com>
10357 Reviewed by Darin Adler.
10359 Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
10360 by failed allocation due to invalid counter/attr
10361 and corresponding: <rdar://problem/6152371>
10363 * css/CSSParser.cpp:
10364 (WebCore::CSSParser::parseCounterContent): The spec indicates that
10365 only identifiers should be accepted here.
10367 2008-09-30 Kevin McCullough <kmccullough@apple.com>
10369 Reviewed by Oliver Hunt.
10371 Bug 21255: console.profileEnd() without a console.profile() crashes the
10374 * page/Console.cpp:
10375 (WebCore::Console::profileEnd):
10377 2008-09-30 Kevin McCullough <kmccullough@apple.com>
10379 Reviewed by Tim Hatcher.
10381 Bug 21252: calling console.profile() with a title that is 2 chars or
10382 shorter does not linkify it
10384 - Previously we tried to not linkify very short URLs but since profile
10385 titles can be any length this is not always true.
10387 * page/inspector/inspector.js:
10389 2008-09-30 Dave Hyatt <hyatt@apple.com>
10391 Remove the update() method on ScrollView. This method was only called in one place, and its purpose
10392 was to cause a display/flush to happen. Here is a breakdown of the method use on each platform:
10393 (1) Not used on Mac
10394 (2) Used on Windows
10395 (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
10396 (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
10397 (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
10399 There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
10400 cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
10401 With the changes to this method, the new behavior is as follows:
10402 (1) Not used on Mac
10403 (2) Used on Windows
10404 (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
10405 (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
10408 This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
10409 platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
10411 Reviewed by Sam Weinig
10414 * dom/Document.cpp:
10415 (WebCore::Document::implicitClose):
10416 * platform/HostWindow.h:
10417 (WebCore::HostWindow::paint):
10418 * platform/ScrollView.h:
10419 * platform/gtk/ScrollViewGtk.cpp:
10420 * platform/mac/ScrollViewMac.mm:
10421 * platform/qt/ScrollViewQt.cpp:
10422 * platform/win/ScrollViewWin.cpp:
10423 * platform/wx/ScrollViewWx.cpp:
10425 2008-09-30 Timothy Hatcher <timothy@apple.com>
10427 Focus the DOM tree in the Web Inspector when a node is inspected.
10428 So when the search field has focus, the focus moves to the tree,
10429 allowing the arrow keys work. This can happen when using the new
10430 find in page feature.
10432 https://bugs.webkit.org/show_bug.cgi?id=21251
10434 Reviewed by Geoff Garen.
10436 * page/inspector/ElementsPanel.js:
10437 (WebInspector.ElementsPanel): Set currentFocusElement to
10438 the main-panels element if the panel is visible.
10439 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
10440 Remove a set of currentFocusElement since this moved.
10441 * page/inspector/inspector.js:
10442 (WebInspector.set currentFocusElement): Always focus the element.
10443 This ensures that when focus changes in the page and we don't
10444 catch it, we will still focus the elements even if we think it
10445 was already focused.
10447 2008-09-30 Timothy Hatcher <timothy@apple.com>
10449 Make the Web Inspector's toolbar icons darker when the mouse is
10450 pressed on them. This matches the standard NSToolbar look.
10452 https://bugs.webkit.org/show_bug.cgi?id=21249
10453 rdar://problem/6033752
10455 Reviewed by Adam Roben.
10457 * page/inspector/Images/databasesIcon.png:
10458 * page/inspector/Images/elementsIcon.png:
10459 * page/inspector/Images/profilesIcon.png:
10460 * page/inspector/Images/resourcesIcon.png:
10461 * page/inspector/Images/scriptsIcon.png:
10462 * page/inspector/Panel.js:
10463 * page/inspector/inspector.css:
10465 2008-09-30 Kevin McCullough <kmccullough@apple.com>
10467 Reviewed by Tim Hatcher.
10469 Bug 21139: Profiler log message is wrong
10471 Don't call _format twice.
10474 * page/inspector/Console.js:
10475 * page/inspector/ProfilesPanel.js:
10476 * page/inspector/inspector.js:
10478 2008-09-30 Dave Hyatt <hyatt@apple.com>
10480 http://bugs.webkit.org/show_bug.cgi?id=21250
10482 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
10483 repaints up through the ChromeClient.
10485 Reviewed by Darin Adler
10487 * loader/EmptyClients.h:
10488 (WebCore::EmptyChromeClient::repaint):
10490 (WebCore::Chrome::repaint):
10492 * page/ChromeClient.h:
10493 * page/FrameView.cpp:
10494 (WebCore::FrameView::hostWindow):
10495 (WebCore::FrameView::repaintContentRectangle):
10496 * page/FrameView.h:
10497 * platform/HostWindow.h:
10498 * platform/ScrollView.cpp:
10499 (WebCore::ScrollView::repaintContentRectangle):
10500 (WebCore::ScrollView::platformRepaintContentRectangle):
10501 * platform/ScrollView.h:
10502 * platform/gtk/ScrollViewGtk.cpp:
10503 * platform/mac/ScrollViewMac.mm:
10504 (WebCore::ScrollView::platformRepaintContentRectangle):
10505 * platform/qt/ScrollViewQt.cpp:
10506 * platform/win/ScrollViewWin.cpp:
10507 * platform/wx/ScrollViewWx.cpp:
10508 (WebCore::ScrollView::platformRepaintContentRectangle):
10510 2008-09-30 Alexey Proskuryakov <ap@webkit.org>
10512 Non-Mac build fixes.
10516 * WebCore.vcproj/WebCore.vcproj:
10517 * WebCoreSources.bkl:
10518 * webcore-base.bkl:
10519 Added DOMProtect.{cpp,h}.
10521 2008-09-39 Kevin Decker <kdecker@apple.com>
10523 Reviewed by John Sullivan.
10525 * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
10526 for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
10528 2008-09-29 Julien Chaffraix <jchaffraix@webkit.org>
10530 Reviewed by Maciej Stachowiak.
10532 Bug 21106: .in format discussed changes
10533 https://bugs.webkit.org/show_bug.cgi?id=21106
10535 - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
10536 is the only namespace used.
10538 - Removed "generateFactory" and "generateWrapperFactory" parameters and
10539 re-introduced the command line options.
10541 - Cleaned up the output of make_names.pl (removed unneeded new line).
10543 * DerivedSources.make: Added factories command line options.
10544 * GNUmakefile.am: Ditto.
10545 * WebCore.pro: Ditto and removed some arguments that were migrated to
10548 * dom/make_names.pl: Clean up (see above).
10550 * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
10551 and "generateWrapperFactory" occurences.
10552 * html/HTMLTagNames.in: Ditto.
10553 * svg/svgattrs.in: Ditto.
10554 * svg/svgtags.in: Ditto.
10555 * svg/xlinkattrs.in: Ditto.
10556 * xml/xmlattrs.in: Ditto.
10558 2008-09-29 Chris Fleizach <cfleizach@apple.com>
10560 Reviewed by John Sullivan.
10562 <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
10563 Make sure that certain types of elements do not return children and, moreover, do not waste their
10564 energy trying to return children
10566 Test: accessibility/nochildren-elements.html
10568 * page/AccessibilityObject.h:
10569 (WebCore::AccessibilityObject::canHaveChildren):
10570 * page/AccessibilityRenderObject.cpp:
10571 (WebCore::AccessibilityRenderObject::canHaveChildren):
10572 (WebCore::AccessibilityRenderObject::addChildren):
10573 * page/AccessibilityRenderObject.h:
10575 2008-09-30 Alexey Proskuryakov <ap@webkit.org>
10577 Reviewed by Sam Weinig.
10579 https://bugs.webkit.org/show_bug.cgi?id=21213
10580 MessagePort crash when GC collects an object with a pending close event
10582 Test: fast/events/message-channel-gc-2.html
10583 fast/events/message-channel-listener-circular-ownership.html
10585 * bindings/DOMProtect.cpp: Added.
10586 (WebCore::gcProtectDOMObject):
10587 (WebCore::gcUnprotectDOMObject):
10588 * bindings/DOMProtect.h: Added.
10589 Added an abstraction for GC protection to avoid the need to call JS bindings code from
10590 DOM objects directly.
10592 * dom/MessagePort.cpp:
10593 (WebCore::CloseMessagePortTimer::fired):
10594 (WebCore::MessagePort::queueCloseEvent):
10595 GC protect MessagePort wrapper while there is a pending close event.
10596 This may be necessary for message events, too, but that case is not a crasher, and actually
10597 behaves to the letter of the current HTML5 text, so I'll consider it later.
10599 * xml/XMLHttpRequest.cpp:
10600 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
10601 (WebCore::XMLHttpRequest::dropProtection):
10602 Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
10604 * bindings/js/JSMessagePortCustom.cpp:
10605 (WebCore::JSMessagePort::addEventListener):
10606 (WebCore::JSMessagePort::removeEventListener):
10607 (WebCore::JSMessagePort::setOnmessage):
10608 (WebCore::JSMessagePort::setOnclose):
10609 Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
10610 know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
10612 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
10613 (WebCore::JSXMLHttpRequestUpload::mark):
10614 While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
10615 from XMLHttpRequest.
10617 2008-09-30 Adam Roben <aroben@apple.com>
10621 * DerivedSources.cpp: Add JSEventTargetNode.cpp.
10623 2008-09-29 Sam Weinig <sam@webkit.org>
10625 Reviewed by Tim Hatcher.
10627 Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
10628 Autogenerate JS event listeners
10630 - Generate EventTargetNode.
10632 * DerivedSources.make:
10635 * WebCore.vcproj/WebCore.vcproj:
10636 * WebCore.xcodeproj/project.pbxproj:
10637 * WebCoreSources.bkl:
10638 * bindings/js/JSEventListener.cpp:
10639 * bindings/js/JSEventTarget.cpp: Added.
10641 * bindings/js/JSEventTarget.h: Added.
10642 * bindings/js/JSEventTargetBase.cpp: Removed.
10643 * bindings/js/JSEventTargetBase.h:
10644 * bindings/js/JSEventTargetNode.cpp: Removed.
10645 * bindings/js/JSEventTargetNode.h: Removed.
10646 * bindings/js/JSEventTargetNodeCustom.cpp: Added.
10647 (WebCore::JSEventTargetNode::addEventListener):
10648 (WebCore::JSEventTargetNode::removeEventListener):
10649 (WebCore::JSEventTargetNode::dispatchEvent):
10650 (WebCore::JSEventTargetNode::getListener):
10651 (WebCore::JSEventTargetNode::setListener):
10652 (WebCore::JSEventTargetNode::pushEventHandlerScope):
10653 * bindings/js/JSEventTargetSVGElementInstance.cpp:
10655 (WebCore::JSEventTargetSVGElementInstancePrototype::self):
10656 (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
10657 (jsEventTargetAddEventListener):
10658 (jsEventTargetRemoveEventListener):
10659 (jsEventTargetDispatchEvent):
10660 * bindings/js/JSEventTargetSVGElementInstance.h:
10661 (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
10662 (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
10663 * bindings/scripts/CodeGeneratorJS.pm:
10664 * dom/EventTargetNode.idl: Added.
10666 2008-09-29 Darin Adler <darin@apple.com>
10668 Reviewed by Sam Weinig.
10670 - https://bugs.webkit.org/show_bug.cgi?id=21214
10671 work on getting rid of ExecState
10673 * bindings/js/JSDOMWindowBase.cpp:
10674 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
10675 for base class constructor.
10677 2008-09-29 David Hyatt <hyatt@apple.com>
10679 Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
10680 now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
10681 and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
10682 (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
10684 Reviewed by Sam Weinig
10686 * WebCore.xcodeproj/project.pbxproj:
10688 * platform/HostWindow.h: Added.
10689 (WebCore::HostWindow::HostWindow):
10690 (WebCore::HostWindow::~HostWindow):
10692 2008-09-29 Kevin Decker <kdecker@apple.com>
10694 Reviewed by Anders Carlsson.
10696 * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
10699 2008-09-29 Dan Bernstein <mitz@apple.com>
10701 Reviewed by Adam Roben.
10703 - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
10705 * rendering/RenderThemeWin.cpp:
10706 (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
10707 (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
10708 unloaded, to avoid calling uxtheme.dll functions after that library has
10710 * rendering/RenderThemeWin.h:
10712 2008-09-29 Chris Fleizach <cfleizach@apple.com>
10714 Reviewed by John Sullivan
10716 <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
10718 Sends AXLoadComplete only when the top level web area is finished loading
10720 * dom/Document.cpp:
10721 (WebCore::Document::implicitClose):
10723 2008-09-29 Timothy Hatcher <timothy@apple.com>
10725 Makes the node highlight always show up when hovering a node in
10726 the Web Inspector now that the highlight does not scroll to reveal
10727 the node. Also adds a hover effect in the inspector when hovering
10728 causes a highlight in the page. This ties the user hovering action
10729 to the highlight so it is clear what causes the highlight to appear.
10731 Also the highlight now temporarily shows up for 2 seconds after
10732 selecting a node in the DOM tree. So arrowing around in the tree
10733 will show the node on the page, providing feedback to the user.
10735 Plus fixes an issue where quickly moving away from hovering
10736 a node would keep showing the page highlight. This was happening
10737 in breadcrumbs and the DOM tree.
10739 https://bugs.webkit.org/show_bug.cgi?id=21220
10741 Reviewed by Kevin McCullough.
10743 * page/inspector/Console.js:
10744 (WebInspector.Console.prototype._mouseOverNode): Added. Used for
10745 hovering DOM nodes in the console.
10746 (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
10747 (WebInspector.Console.prototype._formatnode): Use the new event
10748 listeners and add a class name to the anchor element.
10749 * page/inspector/ElementsPanel.js:
10750 (WebInspector.ElementsPanel): Add new event listeners to the
10751 crumbs element to do the node hovering highlight.
10752 (WebInspector.ElementsPanel.prototype.hide):
10753 (WebInspector.ElementsPanel.prototype.reset):
10754 (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
10755 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
10756 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
10757 * page/inspector/ElementsTreeOutline.js:
10758 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
10759 Show the node hishlight for 2 seconds then restore the highlight
10760 to the current hovered node.
10761 (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
10762 hovered node and set the hovered state on the tree element.
10763 (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
10764 hovered node to null and removed the hovered state from the previous
10765 hovered tree element.
10766 (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
10767 the hovered class to the list item.
10768 (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
10769 * page/inspector/inspector.css:
10770 * page/inspector/inspector.js:
10771 (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
10772 based on the showingDOMNodeHighlight property of 50ms or 500ms. This
10773 causes the highlight to change sooner if there is one already showing
10774 and appear later if there isn't one showing. This is like tooltips,
10775 hovering a node for 500ms will cause highlight then mousing between nodes
10776 will keep the highlight and change to the new node.
10777 (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
10778 always reset the timeout so continuous mousing does not keep flasshing
10779 the highlight on the screen.
10780 (WebInspector._updateHoverHighlight): Removed the alt key check and added
10781 the showingDOMNodeHighlight property.
10782 (WebInspector.documentKeyDown): Removed the alt key check.
10783 (WebInspector.documentKeyUp): Ditto.
10784 (WebInspector.reset): Clear the hoveredDOMNode.
10786 2008-09-29 Simon Fraser <simon.fraser@apple.com>
10788 Reviewed by Anders Carlsson
10790 Fix RenderStyle leak in animation code, and assert that
10791 keyframe resolution in CSSStyleSelector is not going to clobber
10794 * css/CSSStyleSelector.cpp:
10795 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
10796 * page/animation/KeyframeAnimation.cpp:
10797 (WebCore::KeyframeAnimation::~KeyframeAnimation):
10799 2008-09-29 Chris Marrin <cmarrin@apple.com>
10801 Reviewed by Dave Hyatt
10803 Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
10804 Rewrite keyframe resolution to be like styleForElement()
10806 Test: animations/lineheight-animation.html
10808 * css/CSSStyleSelector.cpp:
10809 (WebCore::CSSStyleSelector::addKeyframeStyle):
10810 (WebCore::CSSStyleSelector::~CSSStyleSelector):
10811 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
10812 (WebCore::CSSRuleSet::addRulesFromSheet):
10813 (WebCore::CSSStyleSelector::mapAnimationName):
10814 * css/CSSStyleSelector.h:
10815 * page/animation/CompositeAnimation.cpp:
10816 (WebCore::CompositeAnimation::updateKeyframeAnimations):
10817 * page/animation/KeyframeAnimation.cpp:
10818 (WebCore::KeyframeAnimation::KeyframeAnimation):
10819 (WebCore::KeyframeAnimation::animate):
10820 (WebCore::KeyframeAnimation::hasAnimationForProperty):
10821 (WebCore::KeyframeAnimation::sendAnimationEvent):
10822 (WebCore::KeyframeAnimation::overrideAnimations):
10823 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
10824 (WebCore::KeyframeAnimation::affectsProperty):
10825 (WebCore::KeyframeAnimation::validateTransformFunctionList):
10826 * page/animation/KeyframeAnimation.h:
10827 * rendering/style/Animation.cpp:
10828 (WebCore::Animation::animationsMatch):
10829 * rendering/style/Animation.h:
10830 * rendering/style/KeyframeList.cpp:
10831 (WebCore::KeyframeList::~KeyframeList):
10832 (WebCore::KeyframeList::clear):
10833 (WebCore::KeyframeList::insert):
10834 * rendering/style/KeyframeList.h:
10835 (WebCore::KeyframeValue::KeyframeValue):
10836 (WebCore::KeyframeList::KeyframeList):
10837 (WebCore::KeyframeList::operator!=):
10838 (WebCore::KeyframeList::animationName):
10839 (WebCore::KeyframeList::addProperty):
10840 (WebCore::KeyframeList::containsProperty):
10841 (WebCore::KeyframeList::beginProperties):
10842 (WebCore::KeyframeList::endProperties):
10843 (WebCore::KeyframeList::isEmpty):
10844 (WebCore::KeyframeList::size):
10845 (WebCore::KeyframeList::beginKeyframes):
10846 (WebCore::KeyframeList::endKeyframes):
10847 * rendering/style/RenderStyle.h:
10848 * rendering/style/StyleRareNonInheritedData.cpp:
10849 * rendering/style/StyleRareNonInheritedData.h:
10851 2008-09-29 Chris Marrin <cmarrin@apple.com>
10853 Reviewed by Eric Seidel
10855 Clean up fix in PropertyWrapperGetter::equals
10856 https://bugs.webkit.org/show_bug.cgi?id=21011
10858 Test: transitions/override-transition-crash.html
10860 * page/animation/AnimationBase.cpp:
10861 (WebCore::PropertyWrapperGetter::equals):
10862 * page/animation/CompositeAnimation.cpp:
10863 (WebCore::CompositeAnimation::updateTransitions):
10865 2008-09-29 Chris Marrin <cmarrin@apple.com>
10867 Reviewed by Eric Seidel
10869 https://bugs.webkit.org/show_bug.cgi?id=21001
10870 Starting transition after animation, when animation
10871 is finished, transition is wrong.
10873 Test: animations/transition-and-animation-2.html
10875 * page/animation/AnimationBase.h:
10876 * page/animation/CompositeAnimation.cpp:
10877 (WebCore::CompositeAnimation::updateTransitions):
10878 (WebCore::CompositeAnimation::updateKeyframeAnimations):
10879 (WebCore::CompositeAnimation::resetTransitions):
10880 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
10881 * page/animation/ImplicitAnimation.cpp:
10882 (WebCore::ImplicitAnimation::ImplicitAnimation):
10883 (WebCore::ImplicitAnimation::~ImplicitAnimation):
10884 (WebCore::ImplicitAnimation::animate):
10885 (WebCore::ImplicitAnimation::reset):
10886 * page/animation/ImplicitAnimation.h:
10888 2008-09-29 Chris Marrin <cmarrin@apple.com>
10890 Reviewed by Sam Weinig
10892 https://bugs.webkit.org/show_bug.cgi?id=20921
10893 -webkit-animation-timing-function: inside of keyframes is ignored
10895 Test: animations/keyframe-timing-functions.html
10897 * page/animation/AnimationBase.cpp:
10898 (WebCore::AnimationBase::progress):
10899 * page/animation/AnimationBase.h:
10900 * page/animation/ImplicitAnimation.cpp:
10901 (WebCore::ImplicitAnimation::animate):
10902 * page/animation/KeyframeAnimation.cpp:
10903 (WebCore::KeyframeAnimation::animate):
10905 2008-09-29 Dan Bernstein <mitz@apple.com>
10907 - Windows build fix
10909 * platform/ScrollView.cpp:
10910 (WebCore::ScrollView::platformScroll):
10912 2008-09-29 Dan Bernstein <mitz@apple.com>
10914 - another attempt at a Windows build fix
10916 * platform/ScrollView.cpp:
10917 (WebCore::platformScroll):
10919 2008-09-29 Dan Bernstein <mitz@apple.com>
10921 - Windows build fix
10923 * platform/ScrollView.cpp:
10924 (WebCore::ScrollView::platformSetScrollPosition):
10926 2008-09-29 David Hyatt <hyatt@apple.com>
10928 https://bugs.webkit.org/show_bug.cgi?id=21218
10930 Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
10931 It's silly that the code was this fragile, but for now just put the check back in.
10933 Reviewed by Dan Bernstein
10935 * platform/ScrollView.cpp:
10936 (WebCore::ScrollView::setScrollbarModes):
10938 2008-09-29 David Hyatt <hyatt@apple.com>
10940 https://bugs.webkit.org/show_bug.cgi?id=21216
10942 Make setScrollPosition and scroll() cross-platform.
10946 * platform/ScrollView.cpp:
10947 (WebCore::ScrollView::setScrollPosition):
10948 (WebCore::ScrollView::scroll):
10949 * platform/ScrollView.h:
10950 * platform/gtk/ScrollViewGtk.cpp:
10951 * platform/mac/ScrollViewMac.mm:
10952 (WebCore::ScrollView::platformSetScrollPosition):
10953 (WebCore::ScrollView::platformScroll):
10954 * platform/qt/ScrollViewQt.cpp:
10955 * platform/win/ScrollViewWin.cpp:
10956 * platform/wx/ScrollViewWx.cpp:
10957 (WebCore::ScrollView::platformSetScrollPosition):
10958 (WebCore::ScrollView::platformScroll):
10960 2008-09-29 Kevin McCullough <kmccullough@apple.com>
10962 Reviewed by Oliver.
10964 Bug 21139: Profiler log message is wrong
10965 - Because _format was called twice the number in the log was incremented
10966 too many times, but we were passing it around in the link the whole time
10968 * page/inspector/ProfilesPanel.js:
10969 * page/inspector/inspector.js:
10971 2008-09-29 Sam Weinig <sam@webkit.org>
10973 Reviewed by Cameron Zwarich.
10975 Autogenerate EventListeners, addEventListener and removeEventListener
10978 * bindings/js/JSDOMWindowBase.cpp:
10979 * bindings/js/JSDOMWindowBase.h:
10980 * bindings/js/JSDOMWindowCustom.cpp:
10981 (WebCore::JSDOMWindow::onwebkitanimationstart):
10982 (WebCore::JSDOMWindow::setOnwebkitanimationstart):
10983 (WebCore::JSDOMWindow::onwebkitanimationiteration):
10984 (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
10985 (WebCore::JSDOMWindow::onwebkitanimationend):
10986 (WebCore::JSDOMWindow::setOnwebkitanimationend):
10987 (WebCore::JSDOMWindow::onwebkittransitionend):
10988 (WebCore::JSDOMWindow::setOnwebkittransitionend):
10989 (WebCore::JSDOMWindow::addEventListener):
10990 (WebCore::JSDOMWindow::removeEventListener):
10991 (WebCore::JSDOMWindow::setListener):
10992 (WebCore::JSDOMWindow::getListener):
10993 * bindings/scripts/CodeGeneratorJS.pm:
10994 * page/DOMWindow.idl:
10996 2008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
11000 Changed copyright from Trolltech ASA to Nokia.
11002 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
11004 * bindings/js/JSMimeTypeArrayCustom.cpp:
11005 * bindings/js/JSNavigatorCustom.cpp:
11006 * bindings/js/JSPluginArrayCustom.cpp:
11007 * bindings/js/JSPluginCustom.cpp:
11008 * bindings/js/ScriptControllerMac.mm:
11009 * bindings/js/ScriptControllerQt.cpp:
11010 * bridge/qt/qt_class.cpp:
11011 * bridge/qt/qt_class.h:
11012 * bridge/qt/qt_instance.cpp:
11013 * bridge/qt/qt_instance.h:
11014 * bridge/qt/qt_runtime.cpp:
11015 * bridge/qt/qt_runtime.h:
11016 * bridge/testqtbindings.cpp:
11017 * css/makegrammar.pl:
11019 * css/makevalues.pl:
11021 * dom/TagNodeList.cpp:
11022 * dom/TagNodeList.h:
11023 * dom/XMLTokenizer.cpp:
11024 * dom/XMLTokenizer.h:
11025 * dom/XMLTokenizerLibxml2.cpp:
11026 * dom/XMLTokenizerQt.cpp:
11027 * editing/Editor.cpp:
11028 * editing/EditorCommand.cpp:
11029 * html/CanvasRenderingContext2D.cpp:
11030 * html/CanvasStyle.cpp:
11031 * html/HTMLAppletElement.cpp:
11032 * html/HTMLEmbedElement.cpp:
11033 * html/HTMLObjectElement.cpp:
11034 * loader/FrameLoader.cpp:
11036 * page/EditorClient.h:
11039 * page/FramePrivate.h:
11040 * page/Navigator.cpp:
11041 * page/Navigator.h:
11042 * page/Navigator.idl:
11043 * page/mac/FrameMac.mm:
11044 * page/qt/EventHandlerQt.cpp:
11045 * platform/graphics/qt/FontCacheQt.cpp:
11046 * platform/graphics/qt/FontCustomPlatformData.cpp:
11047 * platform/graphics/qt/FontCustomPlatformData.h:
11048 * platform/graphics/qt/FontPlatformData.h:
11049 * platform/graphics/qt/FontQt.cpp:
11050 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
11051 * platform/graphics/qt/GraphicsContextQt.cpp:
11052 * platform/graphics/qt/ImageDecoderQt.cpp:
11053 * platform/graphics/qt/ImageDecoderQt.h:
11054 * platform/graphics/qt/ImageSourceQt.cpp:
11055 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
11056 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
11057 * platform/graphics/qt/SimpleFontDataQt.cpp:
11058 * platform/gtk/MIMETypeRegistryGtk.cpp:
11059 * platform/mac/MIMETypeRegistryMac.mm:
11060 * platform/network/qt/QNetworkReplyHandler.cpp:
11061 * platform/network/qt/QNetworkReplyHandler.h:
11062 * platform/network/qt/ResourceHandleQt.cpp:
11063 * platform/network/qt/ResourceRequestQt.cpp:
11064 * platform/qt/ClipboardQt.cpp:
11065 * platform/qt/EventLoopQt.cpp:
11066 * platform/qt/KURLQt.cpp:
11067 * platform/qt/LoggingQt.cpp:
11068 * platform/qt/MIMETypeRegistryQt.cpp:
11069 * platform/qt/PasteboardQt.cpp:
11070 * platform/qt/PlatformScreenQt.cpp:
11071 * platform/qt/PopupMenuQt.cpp:
11072 * platform/qt/QWebPopup.cpp:
11073 * platform/qt/QWebPopup.h:
11074 * platform/qt/RenderThemeQt.cpp:
11075 * platform/qt/ScrollbarQt.cpp:
11076 * platform/qt/ScrollbarThemeQt.cpp:
11077 * platform/qt/WheelEventQt.cpp:
11078 * platform/qt/html4-adjustments-qt.css:
11079 * platform/wx/MimeTypeRegistryWx.cpp:
11080 * plugins/MimeType.cpp:
11081 * plugins/MimeType.h:
11082 * plugins/MimeType.idl:
11083 * plugins/MimeTypeArray.cpp:
11084 * plugins/MimeTypeArray.h:
11085 * plugins/MimeTypeArray.idl:
11086 * plugins/Plugin.cpp:
11087 * plugins/Plugin.h:
11088 * plugins/Plugin.idl:
11089 * plugins/PluginArray.cpp:
11090 * plugins/PluginArray.h:
11091 * plugins/PluginArray.idl:
11092 * plugins/PluginData.cpp:
11093 * plugins/PluginData.h:
11094 * plugins/gtk/PluginDataGtk.cpp:
11095 * plugins/mac/PluginDataMac.mm:
11096 * plugins/qt/PluginDataQt.cpp:
11097 * plugins/win/PluginDataWin.cpp:
11098 * rendering/RenderTableCol.cpp:
11099 * rendering/RenderTableCol.h:
11101 2008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>
11105 Fix compilation with gcc 4.3
11107 gcc 4.3 is stricter and ctype.h isn't getting included
11108 automatically here by dependencies. So do it directly.
11110 * platform/qt/PlatformKeyboardEventQt.cpp:
11112 2008-09-29 Morten Sørvig <msorvig@trolltech.com>
11116 Fix compilation with Qt/Mac without plugins.
11118 * platform/qt/TemporaryLinkStubs.cpp:
11120 2008-09-29 Mark Rowe <mrowe@apple.com>
11122 Reviewed by Sam Weinig.
11124 Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
11125 In the few places that we call .upper() in WebCore the strings represent things like
11126 tag and attribute names, which are nearly always going to be ASCII.
11128 * platform/text/StringImpl.cpp:
11129 (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
11130 in to Unicode::toLower the second time.
11131 (WebCore::StringImpl::upper):
11133 2008-09-28 Mark Rowe <mrowe@apple.com>
11135 Reviewed by Sam Weinig.
11137 Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
11138 rather than String::operator+=.
11140 * css/CSSPrimitiveValue.cpp:
11141 (WebCore::CSSPrimitiveValue::cssText):
11143 2008-09-28 Mark Rowe <mrowe@apple.com>
11145 Reviewed by Oliver Hunt.
11147 Speed up computedStyle.getPropertyValue('color') by 4.5x.
11149 Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
11150 as it avoids many memory reallocations.
11152 This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
11153 by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
11154 unrelated properties on an element.
11156 * css/CSSPrimitiveValue.cpp:
11157 (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
11158 and use appendNumber rather than the String::number in order to cut down on memory allocations.
11159 * platform/text/PlatformString.h:
11160 (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
11161 into a Vector<UChar>.
11163 2008-09-28 Sam Weinig <sam@webkit.org>
11165 Reviewed by Anders Carlsson.
11167 Remove spurious call to lower().
11169 * css/MediaQueryEvaluator.cpp:
11170 (WebCore::MediaQueryEvaluator):
11172 2008-09-28 Sam Weinig <sam@webkit.org>
11174 Reviewed by Dan Bernstein.
11176 Use a CaseFoldingHash instead of calling lower on family strings.
11178 * css/CSSFontSelector.cpp:
11179 (WebCore::CSSFontSelector::addFontFaceRule):
11180 (WebCore::CSSFontSelector::getFontData):
11181 * css/CSSFontSelector.h:
11183 2008-09-28 Timothy Hatcher <timothy@apple.com>
11185 Remove the scrollIntoViewIfNeeded() call when drawing the
11186 Inspector node highlight.
11188 <rdar://problem/6115804> Don't scroll when highlighting (21000)
11189 https://bugs.webkit.org/show_bug.cgi?id=21000
11191 Reviewed by Dan Bernstein.
11193 * page/InspectorController.cpp:
11194 (WebCore::InspectorController::drawNodeHighlight):
11196 2008-09-28 David Hyatt <hyatt@apple.com>
11198 Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
11201 Reviewed by Dan Bernstein
11203 * platform/mac/ScrollbarThemeMac.mm:
11204 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
11206 2008-09-28 Timothy Hatcher <timothy@apple.com>
11208 Clear the current search results in the Inspector when
11209 the search query is less than 3 characters long. Incremental
11210 searches only occur for 3 characters or longer, but deleting
11211 under this limit would not clear the results unless the whole
11214 https://bugs.webkit.org/show_bug.cgi?id=21196
11216 Reviewed by Dan Bernstein.
11218 * page/inspector/inspector.js:
11219 (WebInspector.performSearch): Check for short queries in the
11220 if statement that triggers the clear.
11222 2008-09-28 Dan Bernstein <mitz@apple.com>
11224 Reviewed by Dave Hyatt.
11226 - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
11228 * platform/graphics/win/FontCustomPlatformData.cpp:
11229 (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
11230 overlayLength parameters.
11231 (WebCore::EOTStream::read): Added code to overlay the
11232 m_overlayLength bytes starting at m_overlayDst with the same number of
11233 bytes from m_overlaySrc.
11234 (WebCore::createFontCustomPlatformData): Changed to get overlay
11235 parameters from getEOTHeader.
11236 * platform/graphics/win/GetEOTHeader.cpp:
11237 (WebCore::getEOTHeader): Added code to specify overlaying of the
11238 family name with the prefix of the full name if they differ, because
11239 that such a difference causes TTLoadEmbeddedFont to fail.
11240 * platform/graphics/win/GetEOTHeader.h:
11242 2008-09-28 Alexey Proskuryakov <ap@webkit.org>
11244 Reviewed by Eric Seidel.
11246 https://bugs.webkit.org/show_bug.cgi?id=20366
11247 Reproducible test failure for editing/undo/undo-iframe-location-change.html
11249 * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
11251 2008-09-28 Darin Adler <darin@apple.com>
11253 Reviewed by Sam Weinig (except for a few comment and header tweaks).
11255 - https://bugs.webkit.org/show_bug.cgi?id=21158
11256 reduce use of virtual functions in Node for speed
11258 Speeds up Dromaeo a bit less than 1%.
11260 * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
11261 Node.h now that some inlines are in there.
11263 * dom/Attr.h: Override both the virtual and non-virtual name functions.
11265 * dom/ChildNodeList.cpp:
11266 (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
11267 * dom/ChildNodeList.h: Ditto.
11268 * dom/ClassNodeList.cpp:
11269 (WebCore::ClassNodeList::nodeMatches): Ditto.
11270 * dom/ClassNodeList.h: Ditto.
11272 * dom/Document.h: Put the Node::isDocumentNode() function's inline
11273 definition here where it can see the Document class definition.
11275 * dom/DynamicNodeList.cpp:
11276 (WebCore::DynamicNodeList::length): Changed to pass an Element.
11277 (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
11278 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
11279 (WebCore::DynamicNodeList::itemWithName): Ditto.
11280 * dom/DynamicNodeList.h: Ditto.
11282 * dom/Element.cpp: Removed virtualHasTagName.
11283 * dom/Element.h: Made localName, prefix, namespaceURI, and
11284 styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
11285 virtualNamespaceURI, and removed virtualHasTagName. Put the
11286 Node::hasTagName, Node::hasAttributes, and Node::attributes
11287 functions' inline definitions here where they can see the Element
11290 * dom/NameNodeList.cpp:
11291 (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
11292 * dom/NameNodeList.h: Ditto.
11295 (WebCore::Node::virtualPrefix): Renamed from prefix.
11296 (WebCore::Node::virtualLocalName): Renamed from localName.
11297 (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
11298 (WebCore::Node::styleForRenderer): Handle the Element case here.
11300 * dom/Node.h: Removed definition of hasTagName that calls virtual,
11301 since we now have a non-virtual version. Made hasAttributes,
11302 attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
11303 and styleForRenderer non-virtual. Added virtualPrefix,
11304 virtualLocalName, and virtualNamespaceURI. Removed isMalformed
11305 and setMalformed, which are used only on HTMLFormElement objects.
11307 * dom/TagNodeList.cpp:
11308 (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
11309 * dom/TagNodeList.h: Ditto.
11311 * html/HTMLAnchorElement.cpp: Added a comment.
11312 * html/HTMLFormControlElement.cpp: Ditto.
11314 * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
11315 function. Marked tabIndex function virtual explicitly for clarity.
11317 * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
11318 function. Marked isFocusable function virtual explicitly for clarity.
11320 * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
11322 * html/HTMLFormControlElement.h: Ditto.
11324 * html/HTMLFormElement.h: Made isMalformed non-virtual.
11326 * html/HTMLParser.cpp:
11327 (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
11328 pointer to call localName since that one does not need to call a virtual
11331 * rendering/RenderBlock.cpp:
11332 (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
11333 calling isMalformed. We already did a tag name check so we know it's
11334 an HTMLFormELement.
11336 * xml/XPathUtil.cpp:
11337 (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
11338 to nodeType(), since it's a virtual function.
11340 2008-09-28 David Hyatt <hyatt@apple.com>
11342 Make frameRectsChanged() cross-platform on ScrollView.
11344 Reviewed by Oliver Hunt
11346 * platform/ScrollView.cpp:
11347 (WebCore::ScrollView::frameRectsChanged):
11348 * platform/ScrollView.h:
11349 * platform/gtk/ScrollViewGtk.cpp:
11350 * platform/qt/ScrollViewQt.cpp:
11351 * platform/win/ScrollViewWin.cpp:
11352 * platform/wx/ScrollViewWx.cpp:
11354 2008-09-28 Oliver Hunt <oliver@apple.com>
11356 Reviewed by Maciej Stachowiak.
11358 Bug 21141: REGRESSION: Exception messages for user entered commands are poor
11359 <https://bugs.webkit.org/show_bug.cgi?id=21141>
11361 The bug repsonsible for this was the the JSInspectedObjectWrapper instances
11362 were not initialising their StructureID's to indicate that the wrapper
11363 overrides hasInstance, etc. The solution is simply to use the createStructureID
11364 helper on JSQuarantinedObjectWrapper to create a correct StructureID.
11366 * bindings/js/JSInspectedObjectWrapper.cpp:
11367 (WebCore::JSInspectedObjectWrapper::wrap):
11369 2008-09-28 David Hyatt <hyatt@apple.com>
11371 Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
11374 Reviewed by Oliver Hunt
11376 * dom/EventTargetNode.cpp:
11377 (WebCore::EventTargetNode::dispatchWheelEvent):
11379 2008-09-28 David Hyatt <hyatt@apple.com>
11381 https://bugs.webkit.org/show_bug.cgi?id=21191
11383 Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
11384 on ScrollView to be cross-platform.
11386 Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
11387 events are now pixel wheel events.
11389 Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
11390 (1) Page scrolling has been corrected to be properly detected (on Windows
11391 page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
11392 old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
11393 you could page scroll horizontally.
11394 (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
11395 This caused the scroll amount for page scrolling to be way too large on layers.
11397 Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.
11399 Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
11400 for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
11402 Reviewed by Oliver Hunt
11404 * editing/EditorCommand.cpp:
11405 (WebCore::verticalScrollDistance):
11406 * page/EventHandler.cpp:
11407 (WebCore::scrollAndAcceptEvent):
11408 (WebCore::EventHandler::handleWheelEvent):
11409 * platform/PlatformWheelEvent.h:
11411 (WebCore::PlatformWheelEvent::pos):
11412 (WebCore::PlatformWheelEvent::globalPos):
11413 (WebCore::PlatformWheelEvent::deltaX):
11414 (WebCore::PlatformWheelEvent::deltaY):
11415 (WebCore::PlatformWheelEvent::granularity):
11416 (WebCore::PlatformWheelEvent::x):
11417 (WebCore::PlatformWheelEvent::globalX):
11418 (WebCore::PlatformWheelEvent::ignore):
11419 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
11420 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
11421 * platform/ScrollView.cpp:
11422 (WebCore::ScrollView::wheelEvent):
11423 * platform/Scrollbar.h:
11424 * platform/gtk/ScrollViewGtk.cpp:
11425 (WebCore::ScrollView::updateScrollbars):
11426 * platform/gtk/WheelEventGtk.cpp:
11427 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11428 * platform/mac/ScrollViewMac.mm:
11429 * platform/mac/WheelEventMac.mm:
11430 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11431 * platform/qt/ScrollViewQt.cpp:
11432 (WebCore::ScrollView::updateScrollbars):
11433 * platform/qt/WheelEventQt.cpp:
11434 * platform/win/ScrollViewWin.cpp:
11435 (WebCore::ScrollView::updateScrollbars):
11436 * platform/win/WheelEventWin.cpp:
11437 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
11438 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
11439 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11440 * platform/wx/ScrollViewWx.cpp:
11441 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
11442 (WebCore::ScrollView::wheelEvent):
11443 * rendering/RenderLayer.cpp:
11444 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
11446 2008-09-27 Eric Carlson <eric.carlson@apple.com>
11448 Reviewed by Sam Weinig.
11450 fix https://bugs.webkit.org/show_bug.cgi?id=20994
11451 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
11453 HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
11454 all unsigned media attributes from string with toUInt() instead of toInt().
11456 * html/HTMLMediaElement.cpp:
11457 (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
11459 * html/HTMLVideoElement.cpp:
11460 (WebCore::HTMLVideoElement::videoWidth):
11461 (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
11462 (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
11464 (WebCore::HTMLVideoElement::height): Ditto.
11465 (WebCore::HTMLVideoElement::setWidth): take unsigned value.
11466 (WebCore::HTMLVideoElement::setHeight): Ditto.
11468 * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
11470 * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
11472 2008-09-27 Timothy Hatcher <timothy@apple.com>
11474 Fixes an exception when typing a command in the Console.
11476 Reviewed by Oliver Hunt.
11478 * page/inspector/Console.js:
11479 (WebInspector.Console.prototype.addMessage): Null check
11480 this.previosMessage.
11482 2008-09-27 Timothy Hatcher <timothy@apple.com>
11484 Fixes a bug where the Profiles panel sidebar would be empty
11485 after closing and reopening the Web Inspector.
11487 https://bugs.webkit.org/show_bug.cgi?id=21179
11489 Reviewed by Sam Weinig.
11491 * page/inspector/ProfilesPanel.js:
11492 (WebInspector.ProfilesPanel.prototype.reset): Don't call
11493 populateInterface, it is called automatically.
11494 (WebInspector.ProfilesPanel.prototype._populateProfiles):
11495 Return early if the sidebar is already populated.
11497 2008-09-27 Dave Hyatt <hyatt@apple.com>
11499 Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity
11500 incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the
11501 scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line
11502 step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
11504 There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
11505 (which should never have landed in the first place).
11507 Reviewed by Tim Hatcher, Sam Weinig
11509 * platform/win/ScrollViewWin.cpp:
11510 (WebCore::adjustDeltaForPageScrollMode):
11511 (WebCore::ScrollView::updateScrollbars):
11512 (WebCore::ScrollView::wheelEvent):
11514 2008-09-27 David Hyatt <hyatt@apple.com>
11516 Make the scrollbarUnderMouse method cross-platform.
11518 Reviewed by Sam Weinig
11520 * platform/ScrollView.cpp:
11521 (WebCore::ScrollView::scrollbarUnderMouse):
11522 * platform/gtk/ScrollViewGtk.cpp:
11523 * platform/mac/ScrollViewMac.mm:
11524 * platform/qt/ScrollViewQt.cpp:
11525 * platform/win/ScrollViewWin.cpp:
11526 * platform/wx/ScrollViewWx.cpp:
11528 2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
11532 * platform/gtk/ScrollViewGtk.cpp:
11533 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
11535 2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
11537 Reviewed by Holger Freyther.
11539 https://bugs.webkit.org/show_bug.cgi?id=20287
11540 [Gtk] disable plugins for gtk/directfb target
11542 Introduce WTF_PLATFORM_X11 for X11 builds.
11543 Also use target-specific packages when building the port
11545 * platform/gtk/PlatformScreenGtk.cpp:
11546 * plugins/gtk/PluginViewGtk.cpp:
11547 (WebCore::PluginView::updatePluginWidget):
11548 (WebCore::PluginView::getValueStatic):
11549 (WebCore::PluginView::getValue):
11550 (WebCore::PluginView::init):
11552 2008-09-27 David Hyatt <hyatt@apple.com>
11554 https://bugs.webkit.org/show_bug.cgi?id=21188
11556 Make scrollbar suppression and resizer avoidance cross-platform.
11560 * loader/FrameLoader.cpp:
11561 (WebCore::FrameLoader::transitionToCommitted):
11562 * page/FrameView.cpp:
11563 (WebCore::FrameView::resetScrollbars):
11564 (WebCore::FrameView::clear):
11565 (WebCore::FrameView::layout):
11566 (WebCore::FrameView::restoreScrollbar):
11567 (WebCore::FrameView::windowResizerRect):
11568 * page/FrameView.h:
11569 * platform/ScrollView.cpp:
11570 (WebCore::ScrollView::init):
11571 (WebCore::ScrollView::resizerOverlapsContent):
11572 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
11573 (WebCore::ScrollView::setParent):
11574 (WebCore::ScrollView::setScrollbarsSuppressed):
11575 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
11576 * platform/ScrollView.h:
11577 (WebCore::ScrollView::scrollbarsSuppressed):
11578 (WebCore::ScrollView::windowResizerRect):
11579 * platform/Scrollbar.cpp:
11580 (WebCore::Scrollbar::setFrameRect):
11581 (WebCore::Scrollbar::setParent):
11582 * platform/gtk/ScrollViewGtk.cpp:
11583 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11584 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
11585 (WebCore::ScrollView::updateScrollbars):
11586 (WebCore::ScrollView::paint):
11587 * platform/mac/ScrollViewMac.mm:
11588 (WebCore::ScrollView::ScrollView):
11589 (WebCore::ScrollView::~ScrollView):
11590 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
11591 (WebCore::ScrollView::setScrollPosition):
11592 * platform/qt/ScrollViewQt.cpp:
11593 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11594 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
11595 (WebCore::ScrollView::frameRectsChanged):
11596 (WebCore::ScrollView::updateScrollbars):
11597 (WebCore::ScrollView::paint):
11598 * platform/win/ScrollViewWin.cpp:
11599 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11600 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
11601 (WebCore::ScrollView::updateScrollbars):
11602 (WebCore::ScrollView::paint):
11603 * platform/wx/ScrollViewWx.cpp:
11604 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11606 2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
11608 Rubber-stamped by Anders Carlsson.
11612 * plugins/PluginView.cpp:
11613 (WebCore::PluginView::load):
11615 2008-09-27 Mark Rowe <mrowe@apple.com>
11617 Rubber-stamped by Sam Weinig.
11619 Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
11620 Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
11622 Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
11624 * loader/CachedResource.cpp:
11625 (WebCore::CachedResource::~CachedResource):
11627 2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
11629 Reviewed by Simon Hausmann.
11631 [qt] Use QImageReader to figure out which image formats are supported
11632 - Qt can have many different plugins for different image formats. Instead
11633 of checking only for a few in WebCore use Qt to determine if this data
11634 can be treated as an image.
11636 * platform/graphics/qt/ImageSourceQt.cpp:
11637 (WebCore::canHandleImage):
11638 (WebCore::createDecoder):
11640 2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
11643 [qt] Clean the pattern code
11644 - Use save/restore on the painter after manipulating the
11646 - Make the context and object null checking consistent. CG is using
11647 the object unconditionally so the Qt webkit platform can do the
11649 - Move code below the early exit. Only use the m_ownerElement before
11650 the early exit as the CG code is doing it.
11652 * svg/graphics/SVGPaintServerPattern.h:
11653 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
11654 (WebCore::SVGPaintServerPattern::setup):
11655 (WebCore::SVGPaintServerPattern::teardown):
11657 2008-09-27 Keishi Hattori <casey.hattori@gmail.com>
11659 Added support for console.trace.
11661 https://bugs.webkit.org/show_bug.cgi?id=19157
11663 Reviewed by Kevin McCullough and Tim Hatcher.
11665 * bindings/js/JSConsoleCustom.cpp:
11666 (WebCore::JSConsole::trace):
11667 * page/Console.cpp:
11668 (WebCore::Console::trace): Calls Machine::retrieveCaller to
11671 (WebCore::): Added TraceMessageLevel.
11672 * page/Console.idl: Added console.trace.
11673 * page/inspector/Console.js:
11674 (ConsoleMessage): Added case for TraceMessageLevel.
11676 2008-09-27 Anders Carlsson <andersca@apple.com>
11678 Reviewed by Sam Weinig.
11680 https://bugs.webkit.org/show_bug.cgi?id=21178
11681 <rdar://problem/6248651>
11683 Check if the plug-in is allowed to load the resource. This matches Firefox.
11685 Test: http/tests/plugins/local-geturl-from-remote.html
11687 * plugins/PluginView.cpp:
11688 (WebCore::PluginView::load):
11690 2008-09-22 Dirk Schulze <vbs85@gmx.de>
11692 Reviewed by Eric Seidel.
11694 Added SVG pattern support to Qt.
11696 [Qt] SVG patterns are missing
11697 https://bugs.webkit.org/show_bug.cgi?id=20973
11699 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
11700 (WebCore::SVGPaintServerPattern::setup):
11702 2008-09-27 Keishi Hattori <casey.hattori@gmail.com>
11704 Fixed a bug in the JS syntax highlighter with multiple line tokens.
11706 https://bugs.webkit.org/show_bug.cgi?id=21171
11708 Reviewed by Tim Hatcher.
11710 * page/inspector/SourceFrame.js:
11711 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
11713 2008-09-27 Timothy Hatcher <timothy@apple.com>
11715 Change searching in the Profiles panel to not match the
11716 Self and Total columns when there are no units. The only
11717 column that is matched for unitless number searches is
11718 now the Calls column.
11720 https://bugs.webkit.org/show_bug.cgi?id=21169
11722 Reviewed by Sam Weinig.
11724 * page/inspector/ProfileView.js:
11725 (WebInspector.ProfileView.prototype.performSearch):
11727 2008-09-27 David Hyatt <hyatt@apple.com>
11729 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
11731 Reviewed by Sam Weinig
11733 * platform/ScrollView.h:
11734 * platform/Widget.h:
11735 (WebCore::Widget::boundsRect):
11736 (WebCore::Widget::invalidate):
11737 (WebCore::Widget::frameRectsChanged):
11738 * platform/gtk/ScrollViewGtk.cpp:
11739 (WebCore::ScrollViewScrollbar::frameRectsChanged):
11740 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
11741 (WebCore::ScrollView::setFrameRect):
11742 (WebCore::ScrollView::updateScrollbars):
11743 (WebCore::ScrollView::frameRectsChanged):
11744 * platform/gtk/ScrollbarGtk.cpp:
11745 (ScrollbarGtk::setFrameRect):
11746 (ScrollbarGtk::frameRectsChanged):
11747 * platform/gtk/ScrollbarGtk.h:
11748 * platform/gtk/WidgetGtk.cpp:
11749 * platform/qt/ScrollViewQt.cpp:
11750 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
11751 (WebCore::ScrollView::setFrameRect):
11752 (WebCore::ScrollView::frameRectsChanged):
11753 (WebCore::ScrollView::updateScrollbars):
11754 * platform/win/ScrollViewWin.cpp:
11755 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
11756 (WebCore::ScrollView::setFrameRect):
11757 (WebCore::ScrollView::updateScrollbars):
11758 (WebCore::ScrollView::frameRectsChanged):
11759 * plugins/PluginView.cpp:
11760 (WebCore::PluginView::frameRectsChanged):
11761 * plugins/PluginView.h:
11763 2008-09-27 Simon Hausmann <hausmann@webkit.org>
11765 Refix the previous build fix to compile on non-Qt platforms, too.
11767 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
11768 WebCore to generate the PrototypeTable in the WebCore namespace
11769 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
11770 table remains in the Webcore namespace
11771 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
11773 2008-09-27 Simon Hausmann <hausmann@webkit.org>
11775 Fix compilation with gcc 4.3 (probably > 4.0)
11777 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
11778 get/put functions inside the WebCore namespace.
11779 * bindings/js/JSEventTargetBase.cpp: Ditto.
11780 * bindings/js/JSEventTargetNode.cpp: Ditto.
11781 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
11782 * bindings/js/JSEventTargetBase.h: Forward declare
11783 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
11784 defines it in the JSC namespace.
11785 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
11786 prefix for PrototypeTable symbol.
11788 2008-09-27 David Hyatt <hyatt@apple.com>
11790 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
11792 Reviewed by Dan Bernstein
11794 * WebCore.base.exp:
11795 * page/FrameView.cpp:
11796 (WebCore::FrameView::FrameView):
11797 (WebCore::FrameView::updateControlTints):
11798 * platform/ScrollView.h:
11799 * platform/Scrollbar.cpp:
11800 (WebCore::Scrollbar::Scrollbar):
11801 (WebCore::Scrollbar::paint):
11802 (WebCore::Scrollbar::setFrameRect):
11803 * platform/Scrollbar.h:
11804 * platform/ScrollbarThemeComposite.cpp:
11805 (WebCore::ScrollbarThemeComposite::paint):
11806 * platform/Widget.h:
11807 (WebCore::Widget::x):
11808 (WebCore::Widget::y):
11809 (WebCore::Widget::width):
11810 (WebCore::Widget::height):
11811 (WebCore::Widget::size):
11812 (WebCore::Widget::pos):
11813 (WebCore::Widget::resize):
11814 (WebCore::Widget::move):
11815 * platform/gtk/ScrollViewGtk.cpp:
11816 (WebCore::ScrollViewScrollbar::geometryChanged):
11817 (WebCore::ScrollView::update):
11818 (WebCore::ScrollView::setFrameRect):
11819 (WebCore::ScrollView::updateScrollbars):
11820 (WebCore::ScrollView::scrollbarUnderMouse):
11821 (WebCore::ScrollView::paint):
11822 * platform/gtk/ScrollbarGtk.cpp:
11823 (ScrollbarGtk::setFrameRect):
11824 (ScrollbarGtk::geometryChanged):
11825 * platform/gtk/ScrollbarGtk.h:
11826 * platform/gtk/WidgetGtk.cpp:
11827 (WebCore::Widget::frameRect):
11828 (WebCore::Widget::setFrameRect):
11829 * platform/mac/ScrollbarThemeMac.mm:
11830 (WebCore::ScrollbarThemeMac::trackRect):
11831 (WebCore::ScrollbarThemeMac::paint):
11832 * platform/mac/WidgetMac.mm:
11833 (WebCore::Widget::frameRect):
11834 (WebCore::Widget::setFrameRect):
11835 * platform/qt/ScrollViewQt.cpp:
11836 (WebCore::ScrollView::setFrameRect):
11837 (WebCore::ScrollView::updateScrollbars):
11838 (WebCore::ScrollView::scrollbarUnderMouse):
11839 (WebCore::ScrollView::paint):
11840 * platform/qt/ScrollbarThemeQt.cpp:
11841 (WebCore::styleOptionSlider):
11842 * platform/qt/WidgetQt.cpp:
11843 (WebCore::Widget::frameRect):
11844 (WebCore::Widget::setFrameRect):
11845 * platform/win/PopupMenuWin.cpp:
11846 (WebCore::PopupMenu::invalidateItem):
11847 (WebCore::PopupMenu::valueChanged):
11848 (WebCore::PopupWndProc):
11849 * platform/win/ScrollViewWin.cpp:
11850 (WebCore::ScrollView::setFrameRect):
11851 (WebCore::ScrollView::updateScrollbars):
11852 (WebCore::ScrollView::scrollbarUnderMouse):
11853 (WebCore::ScrollView::paint):
11854 * platform/win/ScrollbarThemeSafari.cpp:
11855 (WebCore::ScrollbarThemeSafari::trackRect):
11856 * platform/win/WidgetWin.cpp:
11857 (WebCore::Widget::frameRect):
11858 (WebCore::Widget::setFrameRect):
11859 * platform/wx/WidgetWx.cpp:
11860 (WebCore::Widget::frameRect):
11861 (WebCore::Widget::setFrameRect):
11862 * plugins/PluginView.cpp:
11863 (WebCore::PluginView::setFrameRect):
11864 * plugins/PluginView.h:
11865 * plugins/gtk/PluginViewGtk.cpp:
11866 (WebCore::PluginView::updatePluginWidget):
11867 (WebCore::PluginView::paint):
11868 (WebCore::PluginView::init):
11869 * plugins/qt/PluginViewQt.cpp:
11870 (WebCore::PluginView::updatePluginWidget):
11871 (WebCore::PluginView::init):
11872 * plugins/win/PluginViewWin.cpp:
11873 (WebCore::PluginView::updatePluginWidget):
11874 (WebCore::PluginView::paintMissingPluginIcon):
11875 (WebCore::PluginView::paint):
11876 (WebCore::PluginView::init):
11877 * rendering/RenderLayer.cpp:
11878 (WebCore::RenderLayer::positionOverflowControls):
11879 * rendering/RenderListBox.cpp:
11880 (WebCore::RenderListBox::paintScrollbar):
11881 * rendering/RenderPart.cpp:
11882 (WebCore::RenderPart::updateWidgetPosition):
11883 * rendering/RenderWidget.cpp:
11884 (WebCore::RenderWidget::setWidgetGeometry):
11885 (WebCore::RenderWidget::updateWidgetPosition):
11887 2008-09-27 David Hyatt <hyatt@apple.com>
11889 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
11891 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
11892 access an actual member variable.
11894 Reviewed by Dan Bernstein
11896 * page/FocusController.cpp:
11897 (WebCore::FocusController::setFocusedFrame):
11899 2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
11901 Attempt to fix QT Build. Not reviewed.
11903 * WebCore.pro: add -n WebCore parameter to create_hash_table
11905 2008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
11907 Reviewed by Eric Seidel.
11909 http://bugs.webkit.org/show_bug.cgi?id=18905
11910 [GTK] Fix build with older pango (1.14.8)
11912 * platform/graphics/gtk/FontGtk.cpp:
11913 * platform/gtk/Language.cpp:
11914 (_pango_get_lc_ctype):
11915 (pango_language_get_default):
11917 2008-09-26 David Hyatt <hyatt@apple.com>
11919 https://bugs.webkit.org/show_bug.cgi?id=21168
11921 Make contentsToWindow/windowToContents cross-platform.
11923 Reviewed by Oliver Hunt
11925 * platform/ScrollView.cpp:
11926 (WebCore::ScrollView::windowToContents):
11927 (WebCore::ScrollView::contentsToWindow):
11928 * platform/ScrollView.h:
11929 * platform/gtk/ScrollViewGtk.cpp:
11930 * platform/mac/ScrollViewMac.mm:
11931 * platform/qt/ScrollViewQt.cpp:
11932 * platform/win/ScrollViewWin.cpp:
11933 * platform/wx/ScrollViewWx.cpp:
11935 2008-09-26 Sam Weinig <sam@webkit.org>
11941 2008-09-26 David Hyatt <hyatt@apple.com>
11943 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
11944 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
11945 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
11947 Reviewed by Oliver Hunt
11949 * page/FrameView.cpp:
11950 (WebCore::FrameView::repaintContentRectangle):
11951 * page/FrameView.h:
11952 * platform/ScrollView.h:
11953 * platform/gtk/ScrollViewGtk.cpp:
11954 (WebCore::ScrollView::isOffscreen):
11955 * platform/mac/ScrollViewMac.mm:
11956 (WebCore::ScrollView::updateContents):
11957 (WebCore::ScrollView::isOffscreen):
11958 * platform/qt/ScrollViewQt.cpp:
11959 (WebCore::ScrollView::isOffscreen):
11960 * platform/win/ScrollViewWin.cpp:
11961 (WebCore::ScrollView::isOffscreen):
11962 * platform/wx/ScrollViewWx.cpp:
11963 (WebCore::ScrollView::isOffscreen):
11964 * rendering/RenderObject.cpp:
11965 (WebCore::RenderObject::willRenderImage):
11967 2008-09-26 David Hyatt <hyatt@apple.com>
11969 https://bugs.webkit.org/show_bug.cgi?id=21164
11971 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
11973 Reviewed by Sam Weinig
11975 * WebCore.base.exp:
11976 * page/FrameView.cpp:
11977 (WebCore::FrameView::setAllowsScrolling):
11978 * page/FrameView.h:
11979 * platform/ScrollView.cpp:
11980 (WebCore::ScrollView::setAllowsScrolling):
11981 * platform/ScrollView.h:
11982 (WebCore::ScrollView::allowsScrolling):
11983 * platform/win/ScrollViewWin.cpp:
11984 (WebCore::ScrollView::wheelEvent):
11986 2008-09-26 Kevin Ollivier <kevino@theolliviers.com>
11988 wx build fixes after Widget/ScrollView changes.
11990 * platform/wx/PopupMenuWx.cpp:
11991 (WebCore::PopupMenu::show):
11992 * platform/wx/ScrollViewWx.cpp:
11993 (WebCore::ScrollView::platformSetContentsSize):
11994 (WebCore::ScrollView::platformSetScrollbarModes):
11995 (WebCore::ScrollView::wheelEvent):
11996 * platform/wx/TemporaryLinkStubs.cpp:
11997 * platform/wx/WidgetWx.cpp:
11998 (WebCore::Widget::containingWindow):
12000 2008-09-26 Timothy Hatcher <timothy@apple.com>
12002 Allow searching for paths by always performing the
12003 three search methods in the Elements panel and not
12004 assume a search with a "/" is a XPath query.
12006 https://bugs.webkit.org/show_bug.cgi?id=21159
12008 Reviewed by Geoff Garen.
12010 * page/inspector/ElementsPanel.js:
12011 (WebInspector.ElementsPanel.prototype.performSearch):
12013 2008-09-26 Sam Weinig <sam@webkit.org>
12015 Reviewed by Darin Adler.
12017 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
12018 Speedup static property get/put
12020 * DerivedSources.make:
12023 * WebCore.vcproj/WebCore.vcproj:
12024 * WebCore.xcodeproj/project.pbxproj:
12025 * bindings/js/JSDOMBinding.cpp:
12026 * bindings/js/JSDOMBinding.h:
12027 * bindings/js/JSDOMWindowBase.cpp:
12028 (WebCore::getDOMConstructor):
12029 (WebCore::jsDOMWindowBaseCrypto):
12030 (WebCore::jsDOMWindowBaseEvent):
12031 (WebCore::jsDOMWindowBaseImage):
12032 (WebCore::jsDOMWindowBaseMessageChannel):
12033 (WebCore::jsDOMWindowBaseOption):
12034 (WebCore::jsDOMWindowBaseXMLHttpRequest):
12035 (WebCore::jsDOMWindowBaseAudio):
12036 (WebCore::jsDOMWindowBaseXSLTProcessor):
12037 (WebCore::jsDOMWindowBaseOnabort):
12038 (WebCore::jsDOMWindowBaseOnblur):
12039 (WebCore::jsDOMWindowBaseOnchange):
12040 (WebCore::jsDOMWindowBaseOnclick):
12041 (WebCore::jsDOMWindowBaseOndblclick):
12042 (WebCore::jsDOMWindowBaseOnerror):
12043 (WebCore::jsDOMWindowBaseOnfocus):
12044 (WebCore::jsDOMWindowBaseOnkeydown):
12045 (WebCore::jsDOMWindowBaseOnkeypress):
12046 (WebCore::jsDOMWindowBaseOnkeyup):
12047 (WebCore::jsDOMWindowBaseOnload):
12048 (WebCore::jsDOMWindowBaseOnmousedown):
12049 (WebCore::jsDOMWindowBaseOnmousemove):
12050 (WebCore::jsDOMWindowBaseOnmouseout):
12051 (WebCore::jsDOMWindowBaseOnmouseover):
12052 (WebCore::jsDOMWindowBaseOnmouseup):
12053 (WebCore::jsDOMWindowBaseOnMouseWheel):
12054 (WebCore::jsDOMWindowBaseOnreset):
12055 (WebCore::jsDOMWindowBaseOnresize):
12056 (WebCore::jsDOMWindowBaseOnscroll):
12057 (WebCore::jsDOMWindowBaseOnsearch):
12058 (WebCore::jsDOMWindowBaseOnselect):
12059 (WebCore::jsDOMWindowBaseOnsubmit):
12060 (WebCore::jsDOMWindowBaseOnbeforeunload):
12061 (WebCore::jsDOMWindowBaseOnunload):
12062 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
12063 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
12064 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
12065 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
12066 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
12067 (WebCore::JSDOMWindowBase::put):
12068 (WebCore::setJSDOMWindowBaseOnabort):
12069 (WebCore::setJSDOMWindowBaseOnblur):
12070 (WebCore::setJSDOMWindowBaseOnchange):
12071 (WebCore::setJSDOMWindowBaseOnclick):
12072 (WebCore::setJSDOMWindowBaseOndblclick):
12073 (WebCore::setJSDOMWindowBaseOnerror):
12074 (WebCore::setJSDOMWindowBaseOnfocus):
12075 (WebCore::setJSDOMWindowBaseOnkeydown):
12076 (WebCore::setJSDOMWindowBaseOnkeypress):
12077 (WebCore::setJSDOMWindowBaseOnkeyup):
12078 (WebCore::setJSDOMWindowBaseOnload):
12079 (WebCore::setJSDOMWindowBaseOnmousedown):
12080 (WebCore::setJSDOMWindowBaseOnmousemove):
12081 (WebCore::setJSDOMWindowBaseOnmouseout):
12082 (WebCore::setJSDOMWindowBaseOnmouseover):
12083 (WebCore::setJSDOMWindowBaseOnmouseup):
12084 (WebCore::setJSDOMWindowBaseOnMouseWheel):
12085 (WebCore::setJSDOMWindowBaseOnreset):
12086 (WebCore::setJSDOMWindowBaseOnresize):
12087 (WebCore::setJSDOMWindowBaseOnscroll):
12088 (WebCore::setJSDOMWindowBaseOnsearch):
12089 (WebCore::setJSDOMWindowBaseOnselect):
12090 (WebCore::setJSDOMWindowBaseOnsubmit):
12091 (WebCore::setJSDOMWindowBaseOnbeforeunload):
12092 (WebCore::setJSDOMWindowBaseOnunload):
12093 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
12094 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
12095 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
12096 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
12097 (WebCore::setJSDOMWindowBaseEvent):
12098 (WebCore::setJSDOMWindowBaseAudio):
12099 (WebCore::setJSDOMWindowBaseImage):
12100 (WebCore::setJSDOMWindowBaseMessageChannel):
12101 (WebCore::setJSDOMWindowBaseOption):
12102 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
12103 (WebCore::setJSDOMWindowBaseXSLTProcessor):
12104 * bindings/js/JSDOMWindowBase.h:
12105 * bindings/js/JSDOMWindowCustom.cpp:
12106 (WebCore::nonCachingStaticCloseFunctionGetter):
12107 (WebCore::nonCachingStaticBlurFunctionGetter):
12108 (WebCore::nonCachingStaticFocusFunctionGetter):
12109 (WebCore::nonCachingStaticPostMessageFunctionGetter):
12110 * bindings/js/JSDOMWindowCustom.h:
12111 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
12112 * bindings/js/JSEventTargetBase.cpp:
12113 * bindings/js/JSEventTargetBase.h:
12114 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
12115 (WebCore::JSEventTargetBasePrototype::classInfo):
12116 * bindings/js/JSEventTargetNode.cpp:
12118 (WebCore::JSEventTargetNode::getOwnPropertySlot):
12119 (WebCore::JSEventTargetNode::put):
12120 * bindings/js/JSEventTargetNode.h:
12121 (WebCore::JSEventTargetNode::classInfo):
12122 (WebCore::JSEventTargetNode::prototypeClassName):
12123 * bindings/js/JSEventTargetSVGElementInstance.cpp:
12125 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
12126 (WebCore::JSEventTargetSVGElementInstance::put):
12127 * bindings/js/JSEventTargetSVGElementInstance.h:
12128 (WebCore::JSEventTargetSVGElementInstance::classInfo):
12129 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
12130 * bindings/js/JSHTMLInputElementCustom.cpp:
12131 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
12132 * bindings/js/JSHistoryCustom.cpp:
12133 (WebCore::nonCachingStaticBackFunctionGetter):
12134 (WebCore::nonCachingStaticForwardFunctionGetter):
12135 (WebCore::nonCachingStaticGoFunctionGetter):
12136 (WebCore::JSHistory::customGetOwnPropertySlot):
12137 * bindings/js/JSLocationCustom.cpp:
12138 (WebCore::nonCachingStaticReplaceFunctionGetter):
12139 (WebCore::nonCachingStaticReloadFunctionGetter):
12140 (WebCore::nonCachingStaticAssignFunctionGetter):
12141 (WebCore::JSLocation::customGetOwnPropertySlot):
12142 (WebCore::JSLocation::customPut):
12143 * bindings/scripts/CodeGeneratorJS.pm:
12145 2008-09-26 David Hyatt <hyatt@apple.com>
12147 https://bugs.webkit.org/show_bug.cgi?id=21149
12149 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
12150 Eliminate the unused isScrollable() method.
12152 Reviewed by Sam Weinig
12154 * WebCore.base.exp:
12155 * page/FrameView.cpp:
12156 (WebCore::FrameView::resetScrollbars):
12157 (WebCore::FrameView::initScrollbars):
12158 (WebCore::FrameView::layout):
12159 * page/FrameView.h:
12160 * page/mac/WebCoreFrameView.h:
12161 * platform/ScrollView.cpp:
12162 (WebCore::ScrollView::init):
12163 (WebCore::ScrollView::setScrollbarModes):
12164 (WebCore::ScrollView::scrollbarModes):
12165 (WebCore::ScrollView::platformSetScrollbarModes):
12166 (WebCore::ScrollView::platformScrollbarModes):
12167 * platform/ScrollView.h:
12168 (WebCore::ScrollView::horizontalScrollbar):
12169 (WebCore::ScrollView::verticalScrollbar):
12170 (WebCore::ScrollView::isScrollViewScrollbar):
12171 (WebCore::ScrollView::setHorizontalScrollbarMode):
12172 (WebCore::ScrollView::setVerticalScrollbarMode):
12173 (WebCore::ScrollView::horizontalScrollbarMode):
12174 (WebCore::ScrollView::verticalScrollbarMode):
12175 (WebCore::ScrollView::convertSelfToChild):
12176 * platform/gtk/ScrollViewGtk.cpp:
12177 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12178 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12179 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12180 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12181 (WebCore::ScrollView::updateScrollbars):
12182 (WebCore::ScrollView::scrollbarUnderMouse):
12183 (WebCore::ScrollView::isScrollViewScrollbar):
12184 (WebCore::ScrollView::paint):
12185 (WebCore::ScrollView::scroll):
12186 * platform/mac/ScrollViewMac.mm:
12187 (WebCore::ScrollView::platformSetScrollbarModes):
12188 (WebCore::ScrollView::platformScrollbarModes):
12189 * platform/qt/ScrollViewQt.cpp:
12190 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12191 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12192 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12193 (WebCore::ScrollView::horizontalScrollbar):
12194 (WebCore::ScrollView::verticalScrollbar):
12195 (WebCore::ScrollView::invalidateScrollbars):
12196 (WebCore::ScrollView::updateScrollbars):
12197 (WebCore::ScrollView::scrollbarUnderMouse):
12198 (WebCore::ScrollView::paint):
12199 (WebCore::ScrollView::scroll):
12200 * platform/win/ScrollViewWin.cpp:
12201 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12202 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12203 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12204 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12205 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
12206 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
12207 (WebCore::ScrollView::suppressScrollbars):
12208 (WebCore::ScrollView::updateScrollbars):
12209 (WebCore::ScrollView::scrollbarUnderMouse):
12210 (WebCore::ScrollView::paint):
12211 (WebCore::ScrollView::scroll):
12212 * platform/wx/ScrollViewWx.cpp:
12213 (WebCore::ScrollView::platformSetScrollbarModes):
12214 (WebCore::ScrollView::platformScrollbarModes):
12216 2008-09-26 David Kilzer <ddkilzer@apple.com>
12218 Fix Mac build with XPATH and XSLT disabled
12220 Reviewed by Alexey.
12222 * bindings/objc/DOMUtility.mm:
12223 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
12224 * dom/XMLTokenizerLibxml2.cpp:
12225 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
12226 prevent an unused code warning.
12228 2008-09-26 Kevin McCullough <kmccullough@apple.com>
12230 Rubber stamped by Tim Hatcher.
12232 Bug 21098: Crashing under Console::log
12233 - Speculative ASSERT to help find the problem.
12235 * page/InspectorController.cpp:
12236 (WebCore::ConsoleMessage::isEqual):
12238 2008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
12240 [gtk+] Build fix for the latest ScrollView changes
12242 * platform/gtk/ScrollViewGtk.cpp:
12243 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
12244 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12246 2008-09-26 Timothy Hatcher <timothy@apple.com>
12248 Fixes a bug where the console message repeat count would be wrong
12249 when typing commands in between repeated messages.
12251 https://bugs.webkit.org/show_bug.cgi?id=21145
12253 Reviewed by Kevin McCullough.
12255 * page/InspectorController.cpp:
12256 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
12257 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
12258 * page/inspector/Console.js:
12259 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
12260 for each message as totalRepeatCount, since we now modify repeatCount to mean
12261 repeats since previous console command. If repeatCountBeforeCommand is a number,
12262 subtract that value from the repeatCount.
12263 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
12264 and commandSincePreviousMessage properties.
12266 2008-09-26 Eric Carlson <eric.carlson@apple.com>
12270 https://bugs.webkit.org/show_bug.cgi?id=21116
12271 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
12272 back to page with <video>, then closing tab
12274 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
12275 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
12278 * dom/Document.cpp:
12279 (WebCore::Document::documentWillBecomeInactive):
12280 (WebCore::Document::documentDidBecomeActive):
12281 (WebCore::Document::registerForDocumentActivationCallbacks):
12282 (WebCore::Document::unregisterForDocumentActivationCallbacks):
12285 (WebCore::Element::documentWillBecomeInactive):
12286 (WebCore::Element::documentDidBecomeActive):
12287 * history/CachedPage.cpp:
12288 (WebCore::CachedPage::CachedPage):
12289 * html/HTMLFormElement.cpp:
12290 (WebCore::HTMLFormElement::~HTMLFormElement):
12291 (WebCore::HTMLFormElement::parseMappedAttribute):
12292 (WebCore::HTMLFormElement::documentDidBecomeActive):
12293 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
12294 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
12295 * html/HTMLFormElement.h:
12296 * html/HTMLInputElement.cpp:
12297 (WebCore::HTMLInputElement::~HTMLInputElement):
12298 (WebCore::HTMLInputElement::setInputType):
12299 (WebCore::HTMLInputElement::parseMappedAttribute):
12300 (WebCore::HTMLInputElement::needsActivationCallback):
12301 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
12302 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
12303 (WebCore::HTMLInputElement::documentDidBecomeActive):
12304 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
12305 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
12306 * html/HTMLInputElement.h:
12307 * html/HTMLMediaElement.cpp:
12308 (WebCore::HTMLMediaElement::HTMLMediaElement):
12309 (WebCore::HTMLMediaElement::~HTMLMediaElement):
12310 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
12311 (WebCore::HTMLMediaElement::documentDidBecomeActive):
12312 * html/HTMLMediaElement.h:
12313 (WebCore::HTMLMediaElement::inActiveDocument):
12314 * loader/FrameLoader.cpp:
12315 (WebCore::FrameLoader::opened):
12317 (WebCore::Page::~Page):
12318 * rendering/RenderMedia.cpp:
12319 (WebCore::RenderMedia::updateControls):
12320 * rendering/RenderVideo.cpp:
12321 (WebCore::RenderVideo::updatePlayer):
12322 * svg/SVGSVGElement.cpp:
12323 (WebCore::SVGSVGElement::SVGSVGElement):
12324 (WebCore::SVGSVGElement::~SVGSVGElement):
12325 (WebCore::SVGSVGElement::documentWillBecomeInactive):
12326 (WebCore::SVGSVGElement::documentDidBecomeActive):
12327 * svg/SVGSVGElement.h:
12329 2008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
12333 Fix the build inside Qt, don't create faulty prl files for now.
12337 2008-09-26 Simon Hausmann <hausmann@webkit.org>
12339 Fix compilation on Qt/Windows
12341 * Add WebCore/ to the include path so that config.h is found that enables JSC
12342 * Link against winmm for the multimedia timer functions
12343 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
12345 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
12346 but set m_window directly as setPlatformWidget takes a QWidget*.
12349 * platform/win/SystemTimeWin.cpp:
12350 * plugins/win/PluginViewWin.cpp:
12351 (WebCore::PluginView::init):
12353 2008-09-26 Oliver Hunt <oliver@apple.com>
12355 Reviewed by Maciej Stachowiak.
12357 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
12358 <https://bugs.webkit.org/show_bug.cgi?id=21054>
12360 This performance regression is actually just a symptom of a correctness
12361 bug. The constructor objects for a number of properties that have security
12362 checks on access were returning new objects each time. The most obvious
12363 symptom of this bug is that window.Image != window.Image, etc.
12365 The solution to this is to make sure we cache these constructors
12366 in the same way as all the other DOM constructors. To achieve this
12367 without causing any refcount cycles it is necessary to replace the
12368 refcounted document pointer in the Image, MessageChannel, Option,
12369 XMLHttpRequest, and Audio constructor objects with a reference to
12370 the document's JS wrapper.
12372 Tests: fast/dom/constructors-cached-navigate.html
12373 fast/dom/constructors-cached.html
12375 * WebCore.xcodeproj/project.pbxproj:
12376 * bindings/js/JSAudioConstructor.cpp:
12377 (WebCore::JSAudioConstructor::mark):
12378 * bindings/js/JSAudioConstructor.h:
12379 (WebCore::JSAudioConstructor::document):
12380 * bindings/js/JSDOMWindowBase.cpp:
12381 (WebCore::getDOMConstructor):
12382 (WebCore::JSDOMWindowBase::getValueProperty):
12383 * bindings/js/JSDOMWindowBase.h:
12384 * bindings/js/JSHTMLOptionElementConstructor.cpp:
12385 (WebCore::JSHTMLOptionElementConstructor::mark):
12386 * bindings/js/JSHTMLOptionElementConstructor.h:
12387 (WebCore::JSHTMLOptionElementConstructor::document):
12388 * bindings/js/JSImageConstructor.cpp:
12389 (WebCore::JSImageConstructor::mark):
12390 * bindings/js/JSImageConstructor.h:
12391 (WebCore::JSImageConstructor::document):
12392 * bindings/js/JSXMLHttpRequestConstructor.cpp:
12393 (WebCore::JSXMLHttpRequestConstructor::mark):
12394 * bindings/js/JSXMLHttpRequestConstructor.h:
12395 (WebCore::JSXMLHttpRequestConstructor::document):
12397 2008-09-26 Simon Hausmann <hausmann@webkit.org>
12399 Unreviewed one-liner build fix for the Qt/Windows build.
12401 The build requires NPAPI support to be enabled, fix the condition in
12402 the .pro file for that.
12406 2008-09-26 Trenton Schulz <twschulz@trolltech.com>
12410 Fix compilation with the Qt/Cocoa port.
12412 * platform/qt/ScrollViewQt.cpp:
12413 (WebCore::ScrollView::updateScrollbars):
12415 2008-09-26 Simon Hausmann <hausmann@webkit.org>
12417 Reviewed by Holger.
12419 Fix compilation with VC9SP1, work around bug in TR1 library by
12424 2008-09-26 Simon Hausmann <hausmann@webkit.org>
12426 Reviewed by Holger.
12428 Fix an lupdate() warning.
12430 Don't use tr() in a class that is not a QObject, use
12431 QCoreApplication::translate() directly.
12433 * platform/qt/ScrollbarQt.cpp:
12434 (WebCore::Scrollbar::handleContextMenuEvent):
12436 2008-09-25 David Hyatt <hyatt@apple.com>
12438 Remove the scrollTo() method from FrameView, since it is not used by anyone.
12440 Reviewed by Oliver Hunt
12442 * page/FrameView.cpp:
12443 * page/FrameView.h:
12445 2008-09-25 David Hyatt <hyatt@apple.com>
12447 Make scrollRectIntoViewRecursively cross-platform.
12449 Reviewed by Oliver Hunt
12451 * platform/ScrollView.cpp:
12452 (WebCore::ScrollView::scrollRectIntoViewRecursively):
12453 * platform/gtk/ScrollViewGtk.cpp:
12454 * platform/mac/ScrollViewMac.mm:
12455 * platform/qt/ScrollViewQt.cpp:
12456 * platform/win/ScrollViewWin.cpp:
12457 * platform/wx/ScrollViewWx.cpp:
12459 2008-09-25 David Hyatt <hyatt@apple.com>
12461 https://bugs.webkit.org/show_bug.cgi?id=21133
12463 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
12466 Reviewed by Oliver Hunt
12468 * loader/FrameLoader.cpp:
12469 (WebCore::FrameLoader::begin):
12470 * page/FrameView.cpp:
12471 (WebCore::FrameView::adjustViewSize):
12472 * platform/ScrollView.cpp:
12473 (WebCore::ScrollView::setContentsSize):
12474 * platform/ScrollView.h:
12475 (WebCore::ScrollView::updateScrollbars):
12476 * platform/gtk/ScrollViewGtk.cpp:
12477 * platform/mac/ScrollViewMac.mm:
12478 (WebCore::ScrollView::platformSetContentsSize):
12479 * platform/qt/ScrollViewQt.cpp:
12480 * platform/win/ScrollViewWin.cpp:
12481 * platform/wx/ScrollViewWx.cpp:
12482 (WebCore::ScrollView::platformSetContentsSize):
12484 2008-09-25 David Hyatt <hyatt@apple.com>
12486 https://bugs.webkit.org/show_bug.cgi?id=21132
12488 Clean up the methods that actually do the scrolling in ScrollView.
12490 Reviewed by Oliver Hunt
12492 * html/HTMLBodyElement.cpp:
12493 (WebCore::HTMLBodyElement::setScrollLeft):
12494 (WebCore::HTMLBodyElement::setScrollTop):
12495 * loader/FrameLoader.cpp:
12496 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
12497 * loader/ImageDocument.cpp:
12498 (WebCore::ImageDocument::imageClicked):
12499 * page/DOMWindow.cpp:
12500 (WebCore::DOMWindow::scrollBy):
12501 (WebCore::DOMWindow::scrollTo):
12502 * page/FrameView.cpp:
12503 (WebCore::FrameView::scrollTo):
12504 (WebCore::FrameView::setScrollPosition):
12505 * page/FrameView.h:
12506 * platform/ScrollView.cpp:
12507 (WebCore::ScrollView::maximumScrollPosition):
12508 * platform/ScrollView.h:
12509 (WebCore::ScrollView::contentsWidth):
12510 (WebCore::ScrollView::contentsHeight):
12511 (WebCore::ScrollView::scrollBy):
12512 * platform/gtk/ScrollViewGtk.cpp:
12513 (WebCore::ScrollView::setScrollPosition):
12514 * platform/mac/ScrollViewMac.mm:
12515 (WebCore::ScrollView::setScrollPosition):
12516 * platform/qt/ScrollViewQt.cpp:
12517 (WebCore::ScrollView::setScrollPosition):
12518 (WebCore::ScrollView::scrollRectIntoViewRecursively):
12519 * platform/win/ScrollViewWin.cpp:
12520 (WebCore::ScrollView::setScrollPosition):
12521 (WebCore::ScrollView::scrollRectIntoViewRecursively):
12522 * platform/wx/ScrollViewWx.cpp:
12523 (WebCore::ScrollView::setScrollPosition):
12524 * rendering/RenderLayer.cpp:
12525 (WebCore::RenderLayer::scrollByRecursively):
12526 (WebCore::RenderLayer::scrollRectToVisible):
12528 2008-09-25 Dan Bernstein <mitz@apple.com>
12530 - attempted Windows build fix
12532 * platform/win/ScrollViewWin.cpp:
12533 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12534 (WebCore::ScrollView::setContentsPos):
12535 (WebCore::ScrollView::paint):
12537 2008-09-25 Timothy Hatcher <timothy@apple.com>
12539 Revert the padding changes done in r36905 to prevent the
12540 scrollbar from overlapping the URLs in the Console.
12542 https://bugs.webkit.org/show_bug.cgi?id=21126
12544 * page/inspector/inspector.css:
12546 2008-09-25 David Hyatt <hyatt@apple.com>
12548 https://bugs.webkit.org/show_bug.cgi?id=21129
12550 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
12551 of platform-specific methods required of ScrollView implementations.
12553 Reviewed by Tim Hatcher
12555 * dom/MouseRelatedEvent.cpp:
12556 (WebCore::contentsX):
12557 (WebCore::contentsY):
12558 * html/HTMLBodyElement.cpp:
12559 (WebCore::HTMLBodyElement::scrollLeft):
12560 (WebCore::HTMLBodyElement::setScrollLeft):
12561 (WebCore::HTMLBodyElement::scrollTop):
12562 (WebCore::HTMLBodyElement::setScrollTop):
12563 * loader/FrameLoader.cpp:
12564 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
12565 * page/DOMWindow.cpp:
12566 (WebCore::DOMWindow::scrollX):
12567 (WebCore::DOMWindow::scrollY):
12568 * page/EventHandler.cpp:
12569 (WebCore::EventHandler::hitTestResultAtPoint):
12570 * page/FrameView.cpp:
12571 (WebCore::FrameView::scrollTo):
12572 (WebCore::FrameView::windowClipRect):
12573 * platform/ScrollView.cpp:
12574 (WebCore::ScrollView::visibleContentRect):
12575 (WebCore::ScrollView::contentsSize):
12576 (WebCore::ScrollView::platformContentsSize):
12577 * platform/ScrollView.h:
12578 (WebCore::ScrollView::scrollPosition):
12579 (WebCore::ScrollView::scrollOffset):
12580 (WebCore::ScrollView::scrollX):
12581 (WebCore::ScrollView::scrollY):
12582 (WebCore::ScrollView::contentsWidth):
12583 (WebCore::ScrollView::contentsHeight):
12584 * platform/gtk/ScrollViewGtk.cpp:
12585 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
12586 (WebCore::ScrollView::setGtkAdjustments):
12587 (WebCore::ScrollView::resizeContents):
12588 (WebCore::ScrollView::contentsWidth):
12589 (WebCore::ScrollView::contentsHeight):
12590 (WebCore::ScrollView::scrollOffset):
12591 (WebCore::ScrollView::maximumScroll):
12592 (WebCore::ScrollView::scrollBy):
12593 (WebCore::ScrollView::suppressScrollbars):
12594 (WebCore::ScrollView::setHScrollbarMode):
12595 (WebCore::ScrollView::setVScrollbarMode):
12596 (WebCore::ScrollView::setScrollbarsMode):
12597 (WebCore::ScrollView::setFrameGeometry):
12598 (WebCore::ScrollView::updateScrollbars):
12599 * platform/mac/ScrollViewMac.mm:
12600 (WebCore::ScrollView::platformContentsSize):
12601 (WebCore::ScrollView::scrollBy):
12602 * platform/mac/WidgetMac.mm:
12603 (WebCore::Widget::convertFromContainingWindow):
12604 (WebCore::Widget::convertToContainingWindow):
12605 * platform/qt/ScrollViewQt.cpp:
12606 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12607 (WebCore::ScrollView::resizeContents):
12608 (WebCore::ScrollView::setFrameGeometry):
12609 (WebCore::ScrollView::scrollOffset):
12610 (WebCore::ScrollView::maximumScroll):
12611 (WebCore::ScrollView::scrollBy):
12612 (WebCore::ScrollView::setHScrollbarMode):
12613 (WebCore::ScrollView::setVScrollbarMode):
12614 (WebCore::ScrollView::setScrollbarsMode):
12615 (WebCore::ScrollView::updateScrollbars):
12616 * platform/win/ScrollViewWin.cpp:
12617 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12618 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
12619 (WebCore::ScrollView::resizeContents):
12620 (WebCore::ScrollView::setFrameGeometry):
12621 (WebCore::ScrollView::scrollOffset):
12622 (WebCore::ScrollView::maximumScroll):
12623 (WebCore::ScrollView::scrollBy):
12624 (WebCore::ScrollView::setHScrollbarMode):
12625 (WebCore::ScrollView::setVScrollbarMode):
12626 (WebCore::ScrollView::setScrollbarsMode):
12627 (WebCore::ScrollView::updateScrollbars):
12628 * platform/wx/ScrollViewWx.cpp:
12629 (WebCore::ScrollView::platformVisibleContentRect):
12630 (WebCore::ScrollView::platformContentsSize):
12631 * rendering/RenderBlock.cpp:
12632 (WebCore::RenderBlock::nodeAtPoint):
12633 * rendering/RenderLayer.cpp:
12634 (WebCore::RenderLayer::scrollRectToVisible):
12635 (WebCore::RenderLayer::calculateClipRects):
12636 (WebCore::RenderLayer::calculateRects):
12637 * rendering/RenderView.cpp:
12638 (WebCore::RenderView::absolutePosition):
12639 (WebCore::RenderView::computeAbsoluteRepaintRect):
12641 2008-09-25 David Smith <catfish.man@gmail.com>
12643 Reviewed by Dave Hyatt.
12645 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
12648 (WebCore::Element::rareData):
12651 (WebCore::Node::rareData):
12654 2008-09-25 David Smith <catfish.man@gmail.com>
12656 Reviewed by Darin Adler.
12658 https://bugs.webkit.org/show_bug.cgi?id=20980
12659 Split off uncommonly used data from Node similar to ElementRareData
12661 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
12662 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
12663 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
12665 * WebCore.base.exp:
12666 * WebCore.xcodeproj/project.pbxproj:
12667 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
12668 * dom/ContainerNode.cpp: Set isContainer to true
12669 (WebCore::ContainerNode::ContainerNode):
12670 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
12671 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
12672 (WebCore::Node::containerChildNode): ditto
12673 (WebCore::Node::containerFirstChild): ditto
12674 (WebCore::Node::containerLastChild): ditto
12675 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
12676 (WebCore::Element::Element):
12677 (WebCore::Element::~Element):
12678 (WebCore::Element::rareData):
12679 (WebCore::Element::ensureRareData): Renamed from createRareData
12680 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
12681 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
12682 (WebCore::Element::detach): ditto
12683 (WebCore::Element::recalcStyle): ditto
12684 (WebCore::Element::focus):
12685 (WebCore::Element::minimumSizeForResizing): ditto
12686 (WebCore::Element::setMinimumSizeForResizing): ditto
12687 (WebCore::Element::computedStyle):
12688 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
12690 * dom/ElementRareData.h: Added; everything copied from Element.cpp
12691 (WebCore::defaultMinimumSizeForResizing):
12692 (WebCore::ElementRareData::ElementRareData):
12693 (WebCore::ElementRareData::resetComputedStyle):
12694 * dom/EventTargetNode.cpp:
12695 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
12696 * dom/EventTargetNode.h:
12698 (WebCore::Node::Node):
12699 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
12700 (WebCore::Node::rareData):
12701 (WebCore::Node::ensureRareData):
12702 (WebCore::Node::createRareData):
12703 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
12704 (WebCore::Node::setTabIndexExplicitly):
12705 (WebCore::Node::childNodes): NodeLists are now in rareData
12706 (WebCore::Node::setFocus):
12707 (WebCore::Node::rareDataFocused):
12708 (WebCore::Node::isFocusable):
12709 (WebCore::Node::isKeyboardFocusable):
12710 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
12711 (WebCore::Node::unregisterDynamicNodeList): ditto
12712 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
12713 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
12714 (WebCore::Node::getElementsByName): ditto
12715 (WebCore::Node::getElementsByClassName): ditto
12717 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
12718 (WebCore::Node::lastChild): ditto
12719 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
12720 (WebCore::Node::focused): focus is in rareData if set
12721 (WebCore::Node::childTypeAllowed):
12722 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
12723 (WebCore::Node::childNode): ditto
12724 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
12725 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
12726 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
12727 (WebCore::NodeRareData::NodeRareData):
12728 (WebCore::NodeRareData::rareDataMap):
12729 (WebCore::NodeRareData::rareDataFromMap):
12730 (WebCore::NodeRareData::clearNodeLists):
12731 (WebCore::NodeRareData::setNodeLists):
12732 (WebCore::NodeRareData::nodeLists):
12733 (WebCore::NodeRareData::tabIndex):
12734 (WebCore::NodeRareData::setTabIndex):
12735 (WebCore::NodeRareData::tabIndexSetExplicitly):
12736 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
12737 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
12739 2008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
12741 Reviewed by Simon Hausmann.
12743 [qt] ImageBuffer::toDataURL implementation
12745 There needs to be a Qt specific test result for the above mentioned
12748 * platform/graphics/qt/ImageBufferQt.cpp:
12749 (WebCore::ImageBuffer::toDataURL):
12751 2008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
12753 Reviewed by Simon Hausmann.
12755 [qt] Implement SharedBuffer for Qt.
12758 * platform/qt/SharedBufferQt.cpp: Added.
12759 (WebCore::SharedBuffer::createWithContentsOfFile):
12760 * platform/qt/TemporaryLinkStubs.cpp:
12762 2008-09-25 Feng Qian <feng@chromium.org>
12764 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
12765 <rdar://problem/6243032>
12767 Reviewed by Dave Hyatt.
12769 Test: fast/dom/attribute-downcast-right.html
12771 Add isMappedAttribute function to Attribute for checking if an object
12772 is an instance of MappedAttribute. Removed attributeItem,
12773 getAttributeItem functions from NamedMappedAttrMap, and callers
12774 expecting MappedAttribute have to check isMappedAttribute before
12775 downcasting the return value to MappedAttribute.
12777 * css/CSSStyleSelector.cpp:
12778 (WebCore::CSSStyleSelector::styleForElement):
12780 (WebCore::Attribute::isMappedAttribute):
12781 * dom/MappedAttribute.h:
12782 (WebCore::MappedAttribute::isMappedAttribute):
12783 * dom/NamedMappedAttrMap.cpp:
12784 (WebCore::NamedMappedAttrMap::declCount):
12785 (WebCore::NamedMappedAttrMap::mapsEquivalent):
12786 * dom/NamedMappedAttrMap.h:
12787 * dom/StyledElement.cpp:
12788 (WebCore::StyledElement::attributeChanged):
12789 * html/HTMLInputElement.cpp:
12790 (WebCore::HTMLInputElement::setInputType):
12791 * svg/SVGForeignObjectElement.cpp:
12792 (WebCore::addCSSPropertyAndNotifyAttributeMap):
12793 * svg/SVGStyledElement.cpp:
12794 (WebCore::SVGStyledElement::getPresentationAttribute):
12796 2008-09-25 David Hyatt <hyatt@apple.com>
12798 https://bugs.webkit.org/show_bug.cgi?id=21120
12800 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
12801 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
12802 didn't want to mix that change in with this patch).
12804 Reviewed by Sam Weinig
12807 (WebCore::Frame::markAllMatchesForText):
12808 * page/FrameView.cpp:
12809 (WebCore::FrameView::repaintContentRectangle):
12810 (WebCore::FrameView::windowClipRect):
12811 (WebCore::FrameView::updateControlTints):
12812 * platform/ScrollView.cpp:
12813 (WebCore::ScrollView::visibleContentRect):
12814 (WebCore::ScrollView::platformVisibleContentRect):
12815 * platform/ScrollView.h:
12816 (WebCore::ScrollView::visibleWidth):
12817 (WebCore::ScrollView::visibleHeight):
12818 * platform/gtk/ScrollViewGtk.cpp:
12819 (WebCore::ScrollView::horizontalScrollbar):
12820 (WebCore::ScrollView::verticalScrollbar):
12821 * platform/mac/ScrollViewMac.mm:
12822 (WebCore::ScrollView::horizontalScrollbar):
12823 (WebCore::ScrollView::verticalScrollbar):
12824 (WebCore::ScrollView::platformVisibleContentRect):
12825 * platform/qt/ScrollViewQt.cpp:
12826 (WebCore::ScrollView::horizontalScrollbar):
12827 (WebCore::ScrollView::verticalScrollbar):
12828 * platform/win/ScrollViewWin.cpp:
12829 (WebCore::ScrollView::horizontalScrollbar):
12830 (WebCore::ScrollView::verticalScrollbar):
12831 * platform/wx/ScrollViewWx.cpp:
12832 (WebCore::ScrollView::platformVisibleContentRect):
12833 (WebCore::ScrollView::horizontalScrollbar):
12834 (WebCore::ScrollView::verticalScrollbar):
12835 * rendering/RenderLayer.cpp:
12836 (WebCore::RenderLayer::scrollRectToVisible):
12837 (WebCore::frameVisibleRect):
12838 * rendering/RenderView.cpp:
12839 (WebCore::RenderView::viewRect):
12841 2008-09-25 David Smith <catfish.man@gmail.com>
12843 Reviewed by Timothy Hatcher
12845 https://bugs.webkit.org/show_bug.cgi?id=21052
12846 Generalize id selector special case for querySelectorAll
12848 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
12849 Changes results on http://native.khan.mozilla.org
12861 (WebCore::Node::querySelector):
12862 * dom/SelectorNodeList.cpp:
12863 (WebCore::createSelectorNodeList):
12865 2008-09-25 David Hyatt <hyatt@apple.com>
12867 https://bugs.webkit.org/show_bug.cgi?id=21118
12869 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
12871 Reviewed by Sam Weinig
12873 * page/FrameView.cpp:
12874 (WebCore::FrameView::clear):
12875 (WebCore::FrameView::layout):
12876 (WebCore::FrameView::setUseSlowRepaints):
12877 (WebCore::FrameView::addSlowRepaintObject):
12878 (WebCore::FrameView::removeSlowRepaintObject):
12879 * platform/ScrollView.cpp:
12880 (WebCore::ScrollView::init):
12881 (WebCore::ScrollView::addChild):
12882 (WebCore::ScrollView::removeChild):
12883 (WebCore::ScrollView::setCanBlitOnScroll):
12884 * platform/ScrollView.h:
12885 (WebCore::ScrollView::canBlitOnScroll):
12886 * platform/gtk/ScrollViewGtk.cpp:
12887 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12888 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
12889 (WebCore::ScrollView::ScrollView):
12890 * platform/mac/ScrollViewMac.mm:
12891 (WebCore::ScrollView::ScrollView):
12892 (WebCore::ScrollView::platformAddChild):
12893 (WebCore::ScrollView::platformRemoveChild):
12894 (WebCore::ScrollView::platformSetCanBlitOnScroll):
12895 * platform/qt/ScrollViewQt.cpp:
12896 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12897 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
12898 (WebCore::ScrollView::ScrollView):
12899 * platform/win/ScrollViewWin.cpp:
12900 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12901 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
12902 (WebCore::ScrollView::ScrollView):
12903 * platform/wx/ScrollViewWx.cpp:
12904 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12905 (WebCore::ScrollView::ScrollView):
12906 (WebCore::ScrollView::scrollBy):
12908 2008-09-25 Kevin McCullough <kmccullough@apple.com>
12910 Reviewed by Tim Hatcher.
12912 Bug 21109: Console should right-align urls
12914 * page/inspector/Console.js: Re-order the message elements so that when
12915 it overflows it doesn't get mixed in with the next message.
12916 * page/inspector/inspector.css:
12918 2008-09-25 David Hyatt <hyatt@apple.com>
12920 https://bugs.webkit.org/show_bug.cgi?id=21113
12922 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
12924 Reviewed by Darin Adler
12926 * css/CSSImportRule.cpp:
12927 (WebCore::CSSImportRule::insertedIntoParent):
12929 (WebCore::CSSRule::parentStyleSheet):
12930 (WebCore::CSSRule::parentRule):
12931 * css/CSSStyleSheet.cpp:
12932 (WebCore::CSSStyleSheet::CSSStyleSheet):
12933 * css/CSSStyleSheet.h:
12935 2008-09-25 Darin Adler <darin@apple.com>
12937 Reviewed by Adele Peterson.
12939 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
12940 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
12943 * html/HTMLFormElement.cpp:
12944 (WebCore::HTMLFormElement::formData): Use files() instead of value()
12945 to get the path, since value() now returns just the basename.
12947 2008-09-25 Brady Eidson <beidson@apple.com>
12949 Rubberstamped by Mark Rowe
12951 Roll out 36771 as it caused <rdar://problem/6246554>
12952 "nytimes.com doesn't display after returning to it with back/forward"
12954 * css/CSSImportRule.cpp:
12955 (WebCore::CSSImportRule::insertedIntoParent):
12957 (WebCore::CSSRule::parentStyleSheet):
12958 (WebCore::CSSRule::parentRule):
12959 * css/CSSStyleSheet.cpp:
12960 (WebCore::CSSStyleSheet::CSSStyleSheet):
12961 (WebCore::CSSStyleSheet::docLoader):
12962 * css/CSSStyleSheet.h:
12963 (WebCore::CSSStyleSheet::doc):
12965 2008-09-25 Adam Roben <aroben@apple.com>
12969 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
12971 2008-09-25 Dan Bernstein <mitz@apple.com>
12973 - Windows build fix
12975 * platform/win/ScrollViewWin.cpp:
12976 (WebCore::ScrollView::addChildPlatformWidget):
12977 (WebCore::ScrollView::removeChildPlatformWidget):
12979 2008-09-25 Timothy Hatcher <timothy@apple.com>
12981 Fixes a leak of ConsoleMessage seen when repeated console
12984 Reviewed by Mark Rowe.
12986 * page/InspectorController.cpp:
12987 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
12988 since we don't add it to m_consoleMessages.
12990 2008-09-25 Kevin McCullough <kmccullough@apple.com>
12992 Reviewed by Dan Bernstein.
12994 Bug 21105: XHRs logged in the console may show the wrong URL for the
12996 - Get the url at the time of the send() and pass it on to the XHR.
12998 * bindings/js/JSXMLHttpRequestCustom.cpp:
12999 (WebCore::JSXMLHttpRequest::send):
13000 * xml/XMLHttpRequest.cpp:
13001 (WebCore::XMLHttpRequest::didFinishLoading):
13002 * xml/XMLHttpRequest.h:
13003 (WebCore::XMLHttpRequest::setLastSendURL):
13005 2008-09-25 Kevin McCullough <kmccullough@apple.com>
13007 Reviewed by Geoff and Tim.
13009 Bug 20322: XHRs logged in the console do not have line numbers
13010 - Get the line number at the time of the send and pass it on to the XHR.
13012 * bindings/js/JSXMLHttpRequestCustom.cpp:
13013 (WebCore::JSXMLHttpRequest::send):
13014 * xml/XMLHttpRequest.cpp:
13015 (WebCore::XMLHttpRequest::XMLHttpRequest):
13016 (WebCore::XMLHttpRequest::didFinishLoading):
13017 * xml/XMLHttpRequest.h:
13018 (WebCore::XMLHttpRequest::setLastSendLineNumber):
13020 2008-09-25 Eric Carlson <eric.carlson@apple.com>
13022 Reviewed by Eric Seidel.
13024 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
13025 https://bugs.webkit.org/show_bug.cgi?id=21003
13027 * dom/EventNames.h: remove "begin" event
13028 * html/HTMLMediaElement.cpp:
13029 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
13031 2008-09-25 Alexey Proskuryakov <ap@webkit.org>
13033 Reviewed by Eric Seidel.
13035 https://bugs.webkit.org/show_bug.cgi?id=21097
13036 Calling a MessageChannel constructor from a destroyed document results in a crash
13038 Test: fast/events/message-port-constructor-for-deleted-document.html
13040 * bindings/js/JSMessageChannelConstructor.cpp:
13041 (WebCore::JSMessageChannelConstructor::construct):
13042 * bindings/js/JSMessageChannelConstructor.h:
13043 Made m_document a RefPtr.
13045 2008-09-24 Alexey Proskuryakov <ap@webkit.org>
13047 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
13049 https://bugs.webkit.org/show_bug.cgi?id=20879
13050 Implement HTML5 channel messaging
13052 Tests: fast/events/message-channel-gc.html
13053 fast/events/message-port-deleted-document.html
13054 fast/events/message-port-deleted-frame.html
13055 fast/events/message-port-inactive-document.html
13056 fast/events/message-port.html
13057 http/tests/security/MessagePort/event-listener-context.html
13059 * Configurations/WebCore.xcconfig:
13060 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
13062 * DerivedSources.make:
13063 Added MessageChannel and MessagePort.
13065 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
13066 turmed off anyway. Added new files.
13070 * WebCore.vcproj/WebCore.vcproj:
13071 * WebCore.xcodeproj/project.pbxproj:
13072 * WebCoreSources.bkl:
13075 * bindings/js/JSDOMWindowBase.h:
13076 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
13077 Added suport for window.MessageChannel constructor.
13079 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
13080 * page/DOMWindow.cpp:
13081 (WebCore::DOMWindow::postMessage):
13082 * page/DOMWindow.h:
13083 * page/DOMWindow.idl:
13084 Added support for three-argument postMessage (that posts a MessagePort).
13086 * dom/EventTarget.cpp:
13087 (WebCore::EventTarget::toMessagePort):
13088 * dom/EventTarget.h:
13089 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
13090 EventTarget variant.
13092 * bindings/js/JSMessageChannelConstructor.h:
13093 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
13094 take a browsing context (document) parameter.
13096 * bindings/js/JSMessageChannelCustom.cpp: Added.
13097 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
13098 port1 and port2 that it owns.
13100 * bindings/js/JSMessagePortCustom.cpp: Added.
13101 (WebCore::JSMessagePort::startConversation):
13102 (WebCore::JSMessagePort::addEventListener):
13103 (WebCore::JSMessagePort::removeEventListener):
13104 (WebCore::JSMessagePort::dispatchEvent):
13105 (WebCore::JSMessagePort::setOnmessage):
13106 (WebCore::JSMessagePort::onmessage):
13107 (WebCore::JSMessagePort::setOnclose):
13108 (WebCore::JSMessagePort::onclose):
13109 (WebCore::JSMessagePort::mark):
13110 * dom/MessagePort.cpp: Added.
13111 * dom/MessagePort.h: Added.
13112 * dom/MessagePort.idl: Added.
13113 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
13114 with Documents as contexts, but in the future, it will be used for communication with worker
13117 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
13118 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
13119 needed for MessageEvent.
13121 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
13123 * dom/Document.cpp:
13124 (WebCore::MessagePortTimer::MessagePortTimer):
13125 (WebCore::MessagePortTimer::fired):
13126 (WebCore::Document::processMessagePortMessagesSoon):
13127 (WebCore::Document::~Document):
13128 (WebCore::Document::dispatchMessagePortEvents):
13129 (WebCore::Document::createdMessagePort):
13130 (WebCore::Document::destroyedMessagePort):
13132 Document keeps track of all MessagePort objects that were created when it was fully active
13135 * dom/EventNames.h: Added closeEvent.
13137 * dom/MessageChannel.cpp: Added.
13138 (WebCore::MessageChannel::MessageChannel):
13139 (WebCore::MessageChannel::~MessageChannel):
13140 * dom/MessageChannel.h: Added.
13141 (WebCore::MessageChannel::create):
13142 (WebCore::MessageChannel::port1):
13143 (WebCore::MessageChannel::port2):
13144 * dom/MessageChannel.idl: Added.
13145 Addded JSMessageChannel implementation.
13147 * dom/MessageEvent.cpp:
13148 (WebCore::MessageEvent::MessageEvent):
13149 (WebCore::MessageEvent::initMessageEvent):
13150 * dom/MessageEvent.h:
13151 (WebCore::MessageEvent::create):
13152 (WebCore::MessageEvent::messagePort):
13153 * dom/MessageEvent.idl:
13154 MessageEvent has a MessagePort member now, making it possible to pass ports across
13157 2008-09-25 David Smith <catfish.man@gmail.com>
13159 Reviewed by Eric Seidel
13161 fix https://bugs.webkit.org/show_bug.cgi?id=21091
13162 Regression: querySelector matches tag names case sensitively
13164 Tests: fast/dom/SelectorAPI/caseTag.html
13165 fast/dom/SelectorAPI/caseTagX.xhtml
13167 * css/CSSParser.cpp:
13168 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
13171 (WebCore::Node::querySelector):
13172 (WebCore::Node::querySelectorAll):
13174 2008-09-24 David Hyatt <hyatt@apple.com>
13176 https://bugs.webkit.org/show_bug.cgi?id=21084
13178 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
13179 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
13181 Reviewed by Sam Weinig
13185 * WebCore.vcproj/WebCore.vcproj:
13186 * WebCore.xcodeproj/project.pbxproj:
13187 * WebCoreSources.bkl:
13188 * platform/ScrollView.h:
13189 (WebCore::ScrollView::children):
13190 * platform/Widget.h:
13191 * platform/gtk/ScrollViewGtk.cpp:
13192 (WebCore::ScrollView::addChildPlatformWidget):
13193 (WebCore::ScrollView::removeChildPlatformWidget):
13194 (WebCore::ScrollView::geometryChanged):
13195 * platform/mac/ScrollViewMac.mm:
13196 (WebCore::ScrollView::addChildPlatformWidget):
13197 (WebCore::ScrollView::removeChildPlatformWidget):
13198 * platform/qt/ScrollViewQt.cpp:
13199 (WebCore::ScrollView::geometryChanged):
13200 (WebCore::ScrollView::addChildPlatformWidget):
13201 (WebCore::ScrollView::removeChildPlatformWidget):
13202 * platform/win/ScrollViewWin.cpp:
13203 (WebCore::ScrollView::geometryChanged):
13204 (WebCore::ScrollView::setParentVisible):
13205 (WebCore::ScrollView::show):
13206 (WebCore::ScrollView::hide):
13207 * platform/wx/ScrollViewWx.cpp:
13208 (WebCore::ScrollView::addChildPlatformWidget):
13209 (WebCore::ScrollView::removeChildPlatformWidget):
13211 2008-09-25 Dan Bernstein <mitz@apple.com>
13213 Reviewed by Dave Hyatt.
13215 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
13216 <rdar://problem/6240821> Scrollbar not painted until hovered
13218 * rendering/RenderWidget.cpp:
13219 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
13220 this method, which sets both the location and the size.
13221 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
13222 with a call to the new method setWidgetGeometry. Positioning the
13223 widget correctly ensures that the scroll bars invalidate correctly when
13224 they are created and resized.
13225 * rendering/RenderWidget.h:
13227 2008-09-24 Dan Bernstein <mitz@apple.com>
13229 Rubber-stamped by Sam Weinig.
13231 - create a "style" subfolder under "rendering" and move style files to that folder
13233 * WebCore.vcproj/WebCore.vcproj:
13235 2008-09-24 Sam Weinig <sam@webkit.org>
13237 Reviewed by Maciej Stachowiak.
13239 Remove staticFunctionGetter. There is only one remaining user of
13240 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
13242 * bindings/js/JSDOMWindowBase.cpp:
13243 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
13245 2008-09-24 Jeremy Moskovich <jeremy@chromium.org>
13247 Reviewed by Dan Bernstein.
13249 Test: editing/spelling/inline_spelling_markers.html
13251 - https://bugs.webkit.org/show_bug.cgi?id=20092
13252 Spelling markers positioned incorrectly in RTL text
13254 Measure spelling markers with selectionRectForText() to fix RTL.
13256 This patch also fixes hit-testing for spelling marker tool tips,
13257 which used to work only on the first line.
13259 * rendering/InlineTextBox.cpp:
13260 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
13262 2008-09-24 David Hyatt <hyatt@apple.com>
13264 https://bugs.webkit.org/show_bug.cgi?id=21074
13266 Make sure the viewless scrollbar knows how to paint properly when transformed.
13268 Reviewed by Sam Weinig
13270 * platform/mac/ScrollbarThemeMac.mm:
13271 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
13272 (WebCore::ScrollbarThemeMac::paint):
13274 2008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
13276 Not reviewed. Try to fix win build.
13278 * bindings/js/JSSVGElementInstanceCustom.cpp:
13280 * dom/ContainerNodeAlgorithms.h:
13281 (WebCore::removeAllChildrenInContainer):
13282 (WebCore::appendChildToContainer):
13283 (WebCore::Private::addChildNodesToDeletionQueue):
13285 2008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
13287 Reviewed by Oliver.
13289 Add ContainerNodeAlgorithms.h, as central place to share algorithms
13290 operating on TreeShared-derived classes with a Node-style interface.
13292 This allows SVGElementInstance & ContainerNode to share code.
13294 * dom/ContainerNode.cpp:
13295 (WebCore::ContainerNode::removeAllChildren):
13296 (WebCore::ContainerNode::addChild):
13297 * dom/ContainerNode.h:
13298 * dom/ContainerNodeAlgorithms.h: Added.
13299 (WebCore::removeAllChildrenInContainer):
13300 (WebCore::appendChildToContainer):
13301 (WebCore::Private::NodeRemovalDispatcher::dispatch):
13302 (WebCore::Private::addChildNodesToDeletionQueue):
13304 2008-09-24 Simon Fraser <simon.fraser@apple.com>
13306 Reviewed by Dave Hyatt
13308 Wrap up dirtying the z-order list of the stacking context
13309 RenderLayer into a method.
13310 https://bugs.webkit.org/show_bug.cgi?id=21072
13312 * rendering/RenderLayer.cpp:
13313 (WebCore::RenderLayer::setHasVisibleContent):
13314 (WebCore::RenderLayer::addChild):
13315 (WebCore::RenderLayer::removeChild):
13316 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
13317 (WebCore::RenderLayer::styleChanged):
13318 * rendering/RenderLayer.h:
13319 * rendering/RenderObject.cpp:
13320 (WebCore::RenderObject::setStyle):
13322 2008-09-24 Kevin McCullough <kmccullough@apple.com>
13326 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
13327 or displayed multiple times
13328 - The Insepctor Controller was comparing JSValue pointers so thought the
13329 message was not a repeat, but the JS of the inspector compared the
13330 strings and so knew it was the same message and so overwrote the old
13333 * page/InspectorController.cpp:
13334 (WebCore::ConsoleMessage::isEqual):
13335 (WebCore::InspectorController::addMessageToConsole):
13336 (WebCore::InspectorController::addConsoleMessage):
13337 (WebCore::InspectorController::startGroup):
13338 (WebCore::InspectorController::endGroup):
13339 * page/InspectorController.h:
13341 2008-09-24 David Hyatt <hyatt@apple.com>
13343 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
13344 arrow placement preference and the thumb jump preference).
13346 Reviewed by Adam Roben
13348 * platform/Scrollbar.cpp:
13349 (WebCore::Scrollbar::Scrollbar):
13350 (WebCore::Scrollbar::~Scrollbar):
13351 * platform/ScrollbarTheme.h:
13352 (WebCore::ScrollbarTheme::registerScrollbar):
13353 (WebCore::ScrollbarTheme::unregisterScrollbar):
13354 * platform/mac/ScrollbarThemeMac.h:
13355 * platform/mac/ScrollbarThemeMac.mm:
13356 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
13357 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
13358 (+[ScrollbarPrefsObserver registerAsObserver]):
13359 (WebCore::ScrollbarThemeMac::registerScrollbar):
13360 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
13361 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
13362 (WebCore::ScrollbarThemeMac::preferencesChanged):
13364 2008-09-24 Rob Buis <buis@kde.org>
13368 https://bugs.webkit.org/show_bug.cgi?id=20557
13369 getScreenCTM() returns wrong values
13371 Use the absolute position of the svg root when
13372 determining the screen ctm.
13374 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
13376 * svg/SVGSVGElement.cpp:
13377 (WebCore::SVGSVGElement::getScreenCTM):
13379 2008-09-24 David Hyatt <hyatt@apple.com>
13381 Turn off support for CSS variables.
13384 * css/CSSParser.cpp:
13385 (WebCore::CSSParser::createVariablesRule):
13386 (WebCore::CSSParser::addVariable):
13387 (WebCore::CSSParser::addVariableDeclarationBlock):
13389 2008-09-24 David Hyatt <hyatt@apple.com>
13391 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
13393 * css/CSSGrammar.y:
13394 * css/CSSParserValues.cpp:
13395 (WebCore::CSSParserValue::isVariable):
13396 * css/CSSPrimitiveValue.cpp:
13397 (WebCore::CSSPrimitiveValue::cleanup):
13398 (WebCore::CSSPrimitiveValue::getStringValue):
13399 (WebCore::CSSPrimitiveValue::cssText):
13400 (WebCore::CSSPrimitiveValue::parserValue):
13401 * css/CSSPrimitiveValue.h:
13402 (WebCore::CSSPrimitiveValue::):
13403 (WebCore::CSSPrimitiveValue::isVariable):
13405 2008-09-24 Timothy Hatcher <timothy@apple.com>
13407 Fixes a regression where the "incorrect MIME-type" warning would not
13408 show up correctly in the Console or the resources sidebar.
13410 Reviewed by Kevin McCullough.
13412 * page/inspector/Resource.js:
13413 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
13414 to the WebInspector.ConsoleMessage constructor call.
13415 (WebInspector.Resource.prototype._checkWarning): Ditto.
13417 2008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
13421 Remove deprecated JS Qt bindings object call/construct code and fix autotests
13423 * bridge/qt/qt_instance.cpp:
13424 (JSC::Bindings::QtInstance::QtInstance):
13425 * bridge/qt/qt_instance.h:
13427 2008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
13429 Reviewed by Alp Toker. Landed by Jan Alonzo.
13431 Bug 20883: [CURL] Add deferred loading
13432 https://bugs.webkit.org/show_bug.cgi?id=20883
13434 Implement deferred loading for the libcURL backend using curl_easy_pause.
13435 As the method was introduced in version 7.18.0, all the code checks for libcURL
13438 * platform/network/curl/ResourceHandleCurl.cpp:
13439 (WebCore::ResourceHandle::setDefersLoading):
13440 * platform/network/curl/ResourceHandleManager.cpp:
13441 (WebCore::writeCallback): Add an assertion that deferred loading is not
13443 (WebCore::headerCallback): Ditto.
13444 (WebCore::readCallback): Ditto.
13445 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
13446 defersLoading to be false in order to avoid triggering an assertion.
13447 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
13448 activated, pause the easy handle.
13450 2008-09-23 Matt Lilek <webkit@mattlilek.com>
13452 Reviewed by Tim Hatcher.
13454 Inspector search field style tweaks.
13456 * page/inspector/inspector.css:
13458 2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
13462 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
13464 Fix missing negation in EventTargetNode::insertedIntoDocument.
13465 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
13466 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
13468 * dom/EventTargetNode.cpp:
13469 (WebCore::EventTargetNode::insertedIntoDocument):
13470 (WebCore::EventTargetNode::dispatchGenericEvent):
13471 * dom/EventTargetNode.h:
13473 2008-09-23 Timothy Hatcher <timothy@apple.com>
13475 Adds search support to the Profiles panel.
13477 The Profiles panel supports a few types of queries:
13478 * Standard string matching for function names and file URLs.
13479 * Greater than and less than search for numeric columns.
13480 So a query of ">24" will match all rows that have calls
13481 greater than 24. Or "<=42" will match all 42 or less.
13482 * Percent and time units. Adding a unit of "s", "ms" or "%"
13483 is supported and will match only the Self and Total columns.
13484 So a query of ">1.25s" will match all rows that took longer
13487 Reviewed by Oliver Hunt.
13489 * page/inspector/ProfileView.js:
13490 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
13491 it will start at the first result.
13492 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
13493 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
13495 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
13496 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
13497 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
13498 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
13499 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
13500 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
13501 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
13502 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
13503 Expand all the ancestors first so the profile node will have a DataGridNode.
13504 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
13505 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
13506 have search matches.
13507 * page/inspector/ProfilesPanel.js:
13508 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
13509 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
13510 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
13511 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
13512 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
13513 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
13514 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
13515 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
13516 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
13517 * page/inspector/inspector.css: New style rules for the cell highlight color.
13519 2008-09-23 Timothy Hatcher <timothy@apple.com>
13521 Adds search support to the Resources and Scripts panels.
13523 https://bugs.webkit.org/show_bug.cgi?id=21005
13525 Reviewed by Oliver Hunt.
13527 * page/inspector/Images/searchSmallBlue.png: Added.
13528 * page/inspector/Images/searchSmallBrightBlue.png: Added.
13529 * page/inspector/Images/searchSmallGray.png: Added.
13530 * page/inspector/Images/searchSmallWhite.png: Added.
13531 * page/inspector/ResourceView.js:
13532 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
13533 or "script-resource-views" since one might not be created yet.
13534 * page/inspector/ResourcesPanel.js:
13535 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
13536 are not this panel's current visible view. This can happen when a ResourceView is
13537 visible in the Scripts panel then switched to the this panel.
13538 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
13540 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
13541 that uses the current graph search function. So cycling through results will be in the order
13542 things appear in the sidebar.
13543 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
13544 resource's sidebar tree element.
13545 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
13546 in the sidebar. Calls the Panel prototype's searchCanceled.
13547 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
13548 in the sidebar. Calls the Panel prototype's performSearch.
13549 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
13550 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
13551 if there is a current search query.
13552 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
13553 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
13554 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
13555 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
13556 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
13557 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
13558 * page/inspector/ScriptView.js:
13559 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
13560 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
13561 it will start at the first result.
13562 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
13563 highlighting complete".
13564 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
13565 * page/inspector/ScriptsPanel.js:
13566 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
13567 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
13568 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
13569 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
13570 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
13571 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
13572 * page/inspector/SourceFrame.js:
13573 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
13574 * page/inspector/SourceView.js:
13575 (WebInspector.SourceView.prototype.hide):
13576 (WebInspector.SourceView.prototype.detach):
13577 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
13578 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
13579 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
13580 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
13581 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
13582 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
13583 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
13584 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
13585 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
13586 (WebInspector.SourceView.prototype.showingFirstSearchResult):
13587 (WebInspector.SourceView.prototype.showingLastSearchResult):
13588 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
13589 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
13590 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
13591 * page/inspector/inspector.css:
13593 2008-09-23 Timothy Hatcher <timothy@apple.com>
13595 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
13596 so future code can be shared.
13598 https://bugs.webkit.org/show_bug.cgi?id=21005
13600 Reviewed by Oliver Hunt.
13602 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
13603 And visibleResourceView to visibleView.
13604 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
13606 2008-09-23 Timothy Hatcher <timothy@apple.com>
13608 Highlight all matched search results in the Elements panel DOM tree.
13610 https://bugs.webkit.org/show_bug.cgi?id=21005
13612 Reviewed by Oliver Hunt.
13614 * page/inspector/ElementsPanel.js:
13615 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
13616 on all previous search results.
13617 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
13618 on all new search results.
13619 * page/inspector/ElementsTreeOutline.js:
13620 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
13621 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
13622 the highlighted class on the listItemElement.
13623 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
13624 if needed. Calls _updateTitle.
13625 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
13626 class so it can be styled when the highlighted class is present.
13627 * page/inspector/inspector.css: New style rules for the hihglight.
13629 2008-09-23 Timothy Hatcher <timothy@apple.com>
13631 Add search support to the Elements panel.
13633 https://bugs.webkit.org/show_bug.cgi?id=21005
13635 Reviewed by Oliver Hunt.
13637 * page/inspector/ElementsPanel.js:
13638 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
13639 with a 0 match count to rest. Reset the other search properties.
13640 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
13641 query and a CSS selector on all the Documents in the page. Remembers the found nodes
13642 and avoids duplicates. Focuses the first result.
13643 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
13644 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
13646 2008-09-23 Timothy Hatcher <timothy@apple.com>
13648 Add support to Panel that allows easy searching of sub-views.
13650 https://bugs.webkit.org/show_bug.cgi?id=21005
13652 Reviewed by Oliver Hunt.
13654 * page/inspector/Panel.js:
13655 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
13656 views in the search results and delete the currentQuery property. Call
13657 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
13658 other search properties.
13659 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
13660 reset everything we need before doing a new search. Get an array of searchableViews
13661 from the panel, implemented by sub-classes. Iterate over the views one-by-one
13662 with an interval to prevent blocking the UI for large lists of searchableViews.
13663 This keeps the interface really responsive. Pass a finishedCallback function to
13664 the performSearch on each view so it can notify the panel of results.
13665 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
13666 searchResults of the visibleView, so we know where in the results we are.
13667 This is done every time incase the user manually navigates to a new view.
13668 If the view is showing the last result, jump to the next view and show it's
13669 first result. Otherwise jump to the next result in the current view.
13670 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
13672 2008-09-23 Timothy Hatcher <timothy@apple.com>
13674 Add support for asking the current panel to perform a search, find next/previous and clear.
13675 A search is performed on the new new current panel when switching between panels. The search
13676 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
13677 be searched. The search field contents are selected when Command/Control-F or Enter/Return
13678 is pressed, so the user can easily type an entirely new query. The search match count shows
13679 up in the toolbar next to the search field.
13682 * Rename lastQuery to currentQuery since it better matches the truth.
13683 * Set the search field "results" attribute to zero since results arn't saved for
13684 how we use the search field.
13685 * Make repeated presses of the Return key jump to the next search result instead
13687 * Increased the search field width.
13689 https://bugs.webkit.org/show_bug.cgi?id=21005
13691 Reviewed by Oliver Hunt.
13693 * English.lproj/localizedStrings.js: New strings.
13694 * page/inspector/inspector.css: New styles.
13695 * page/inspector/inspector.html: Add the search-results-matches element. Add the
13696 incremental attribute to the search field and set the results attribute to zero.
13697 * page/inspector/inspector.js:
13698 (WebInspector.set currentPanel): perform the search on the new panel.
13699 (WebInspector.loaded): Change the event listeners and remove code that changes
13700 the search label text.
13701 (WebInspector.documentKeyDown): Add support for Command/Control-G and
13702 Command/Control-Shift-G. To jump to the next and previous search results.
13703 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
13704 This does different things depending on the attached state.
13705 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
13706 This prevents a "search" event from firing for key down. We handle the Enter key
13707 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
13708 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
13709 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
13710 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
13711 Call updateSearchMatchesCount to reset the matches count in the toolbar.
13712 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
13714 2008-09-23 Timothy Hatcher <timothy@apple.com>
13716 Remove the previous Inspector search code to make room for the new stuff.
13718 https://bugs.webkit.org/show_bug.cgi?id=21005
13720 Reviewed by Oliver Hunt.
13722 * page/inspector/inspector.css:
13723 * page/inspector/inspector.html:
13724 * page/inspector/inspector.js:
13725 (WebInspector.get/set showingSearchResults): Removed.
13726 (WebInspector.searchResultsKeyDown): Removed.
13727 (WebInspector.searchResultsResizerDragStart): Removed.
13728 (WebInspector.searchResultsResizerDragEnd): Removed.
13729 (WebInspector.searchResultsResizerDrag): Removed.
13730 (WebInspector.performSearch): Removed searching parts.
13732 2008-09-23 Timothy Hatcher <timothy@apple.com>
13734 Use the Array.remove helper function in more places.
13736 https://bugs.webkit.org/show_bug.cgi?id=21037
13738 Reviewed by Kevin McCullough.
13740 * page/inspector/ResourceCategory.js:
13741 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
13742 * page/inspector/ResourcesPanel.js:
13743 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
13744 * page/inspector/inspector.js:
13745 (WebInspector.removeResource): Ditto.
13747 2008-09-23 Timothy Hatcher <timothy@apple.com>
13749 Fixes a bug where inspecting a node after reloading the page
13750 would not reveal the node in the DOM tree. The TreeOutline
13751 was not being told to forget decendants of a removed child.
13752 So old TreeElements would be found that are not in the tree.
13754 https://bugs.webkit.org/show_bug.cgi?id=21036
13756 Reviewed by Kevin McCullough.
13758 * page/inspector/treeoutline.js:
13759 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
13760 in addition to _forgetTreeElement.
13761 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
13762 in addition to _forgetTreeElement.
13763 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
13764 search for known elements.
13765 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
13766 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
13767 descendants and call _forgetTreeElement.
13768 * page/inspector/utilities.js:
13769 (Array.prototype.remove): Speed up this function by using Array.indexOf
13770 when onlyFirst is true.
13772 2008-09-23 Timothy Hatcher <timothy@apple.com>
13774 Fixes a bug where inspecting some short text nodes does
13775 not reveal them in the Elements panel DOM tree.
13777 https://bugs.webkit.org/show_bug.cgi?id=21035
13779 Reviewed by Oliver Hunt.
13781 * page/inspector/ElementsTreeOutline.js:
13782 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
13783 The revealAndSelectNode() method might find a different element
13784 if there is inlined text, and the select() call would change the
13785 focusedDOMNode and reenter this setter. So to avoid calling
13786 focusedNodeChanged() twice, first check if _focusedDOMNode is
13787 the same node as the one passed in.
13788 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
13789 this.treeOutline, since this is the TreeOutline.
13790 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
13791 Provides default functions for isAncestor, getParet and equal.
13792 Calls the base protoype's findTreeElement. If that returns null
13793 and the node is a text node, try finding it's parent.
13794 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
13795 Renamed to revealAndSelectNode.
13796 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
13797 Selects and reveals the node passed in. Use the simple findTreeElement.
13798 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
13799 Remove use of this.treeOutline, since this is the TreeOutline.
13801 2008-09-23 Timothy Hatcher <timothy@apple.com>
13803 Fixes an exception that happened when removing a Resource
13804 from the ResourcesPanel.
13806 https://bugs.webkit.org/show_bug.cgi?id=21034
13808 Reviewed by Kevin McCullough.
13810 * page/inspector/ResourcesPanel.js:
13811 (WebInspctor.ResourcesPanel.prototype.removeResource):
13812 Remove the graphElement.
13814 2008-09-23 Kevin McCullough <kmccullough@apple.com>
13816 Fixed "Time" to "Tim"
13820 2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
13822 Reviewed by Oliver.
13824 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
13825 from SVGDocumentExtensions to SVGElement. It's more useful to store
13826 the list of SVGElementInstances per SVGElement, instead of using
13827 a document-wide hash for this purpose.
13829 * svg/SVGAnimateMotionElement.cpp:
13830 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
13831 * svg/SVGAnimateTransformElement.cpp:
13832 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
13833 * svg/SVGAnimationElement.cpp:
13834 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
13835 * svg/SVGDocumentExtensions.cpp:
13836 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
13837 * svg/SVGDocumentExtensions.h:
13838 * svg/SVGElement.cpp:
13839 (WebCore::SVGElement::mapInstanceToElement):
13840 (WebCore::SVGElement::removeInstanceMapping):
13841 (WebCore::SVGElement::instancesForElement):
13842 * svg/SVGElement.h:
13843 * svg/SVGElementInstance.cpp:
13844 (WebCore::SVGElementInstance::SVGElementInstance):
13845 (WebCore::SVGElementInstance::~SVGElementInstance):
13846 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
13847 * svg/SVGElementInstance.h:
13848 * svg/SVGStyledElement.cpp:
13849 (WebCore::SVGStyledElement::svgAttributeChanged):
13850 (WebCore::SVGStyledElement::childrenChanged):
13851 * svg/SVGStyledElement.h:
13853 2008-09-23 Kevin Ollivier <kevino@theolliviers.com>
13857 * WebCoreSources.bkl:
13859 2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
13861 Rubber stamped by Sam.
13863 Move code from EventTarget to EventTargetNode.
13865 I refactored most parts to live in EventTarget, a year ago,
13866 though the implementation of EventTargetSVGElementInstance is
13867 done in another way, that obsoletes this.
13869 * dom/Document.cpp:
13870 (WebCore::Document::addListenerTypeIfNeeded):
13872 * dom/EventTarget.cpp:
13873 * dom/EventTarget.h:
13874 (WebCore::allowEventDispatch):
13875 * dom/EventTargetNode.cpp:
13876 (WebCore::EventTargetNode::insertedIntoDocument):
13877 (WebCore::EventTargetNode::removedFromDocument):
13878 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
13879 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
13880 (WebCore::EventTargetNode::addEventListener):
13881 (WebCore::EventTargetNode::removeEventListener):
13882 (WebCore::EventTargetNode::removeAllEventListeners):
13883 (WebCore::EventTargetNode::handleLocalEvents):
13884 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
13885 (WebCore::EventTargetNode::dispatchEvent):
13886 (WebCore::EventTargetNode::dispatchGenericEvent):
13887 (WebCore::EventTargetNode::dispatchWindowEvent):
13888 (WebCore::EventTargetNode::removeEventListenerForType):
13889 * dom/EventTargetNode.h:
13890 * svg/EventTargetSVGElementInstance.cpp:
13891 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
13892 * svg/SVGElement.cpp:
13893 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
13894 * svg/SVGElement.h:
13895 (WebCore::SVGElement::supplementalTransform):
13897 2008-09-23 Dave Hyatt <hyatt@apple.com>
13899 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
13900 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
13902 Reviewed by Sam Weinig
13904 * platform/mac/ScrollbarThemeMac.mm:
13905 (WebCore::ScrollbarThemeMac::trackRect):
13906 * platform/win/ScrollbarThemeSafari.cpp:
13907 (WebCore::ScrollbarTheme::nativeTheme):
13908 (WebCore::ScrollbarThemeSafari::trackRect):
13910 2008-09-23 Beth Dakin <bdakin@apple.com>
13912 Reviewed by Sam Weinig.
13914 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
13915 link at gmail does not support AXPress action
13916 and corresponding: <rdar://problem/6216178>
13918 I fixed this bug by making AccessibilityObject::anchorElement
13919 support ARIA links.
13921 * page/AccessibilityImageMapLink.cpp:
13922 (WebCore::AccessibilityImageMapLink::anchorElement):
13923 * page/AccessibilityImageMapLink.h:
13924 * page/AccessibilityObject.cpp:
13925 (WebCore::AccessibilityObject::anchorElement):
13926 * page/AccessibilityObject.h:
13927 (WebCore::AccessibilityObject::isNativeAnchor):
13928 * page/AccessibilityRenderObject.cpp:
13929 (WebCore::AccessibilityRenderObject::isNativeAnchor):
13930 (WebCore::AccessibilityRenderObject::anchorElement):
13931 (WebCore::AccessibilityRenderObject::internalLinkElement):
13932 (WebCore::AccessibilityRenderObject::url):
13933 * page/AccessibilityRenderObject.h:
13934 * page/mac/AccessibilityObjectWrapper.mm:
13935 (AXLinkElementForNode):
13937 2008-09-23 Kevin McCullough <kmccullough@apple.com>
13939 Reviewed by Tim and Oliver.
13941 Bug 20949: Catch repeated messages in Inspector Controller to limit
13943 - Store the repeat count in the Console Message object, in the
13944 Inspector Controller and JS ConsoleMessage object.
13946 * page/InspectorController.cpp:
13947 (WebCore::ConsoleMessage::ConsoleMessage):
13948 (WebCore::ConsoleMessage::operator==):
13949 (WebCore::InspectorController::InspectorController):
13950 (WebCore::InspectorController::addConsoleMessage):
13951 (WebCore::InspectorController::addScriptConsoleMessage):
13952 * page/InspectorController.h:
13953 * page/inspector/Console.js:
13954 * page/inspector/Resource.js:
13955 * page/inspector/ResourcesPanel.js:
13956 * page/inspector/SourceFrame.js:
13958 2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
13962 Working on proper EventTarget support for SVGElementInstance.
13964 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
13965 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
13967 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
13968 implementation. Let it use TreeShared directly.
13970 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
13971 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
13975 * WebCore.vcproj/WebCore.vcproj:
13976 * WebCore.xcodeproj/project.pbxproj:
13977 * bindings/js/JSEventTargetBase.cpp:
13978 (WebCore::retrieveEventTargetAndCorrespondingNode):
13980 * bindings/js/JSEventTargetBase.h:
13981 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
13983 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
13984 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
13985 (WebCore::JSEventTargetSVGElementInstance::setListener):
13986 (WebCore::JSEventTargetSVGElementInstance::getListener):
13987 (WebCore::toEventTargetSVGElementInstance):
13988 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
13989 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
13990 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
13991 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
13992 (WebCore::JSEventTargetSVGElementInstance::put):
13993 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
13994 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
13996 * bindings/objc/DOM.mm:
13997 (+[DOMNode _wrapEventTarget:WebCore::]):
13998 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
13999 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
14000 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
14001 (-[DOMSVGElementInstance WebCore::]):
14002 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
14003 (-[DOMSVGElementInstance addEventListener:::]):
14004 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
14005 (-[DOMSVGElementInstance removeEventListener:::]):
14006 (-[DOMSVGElementInstance dispatchEvent:]):
14007 * bindings/objc/DOMEvents.h:
14008 * bindings/scripts/CodeGeneratorJS.pm:
14009 * bindings/scripts/CodeGeneratorObjC.pm:
14010 * svg/EventTargetSVGElementInstance.cpp: Added.
14011 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
14012 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
14013 (WebCore::EventTargetSVGElementInstance::addEventListener):
14014 (WebCore::EventTargetSVGElementInstance::removeEventListener):
14015 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
14016 * svg/EventTargetSVGElementInstance.h: Added.
14017 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
14018 (WebCore::EventTargetSVGElementInstance::toNode):
14019 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
14020 (WebCore::EventTargetSVGElementInstance::refEventTarget):
14021 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
14022 (WebCore::EventTargetSVGElementInstanceCast):
14023 * svg/SVGElement.cpp:
14024 (WebCore::SVGElement::dispatchEvent):
14025 * svg/SVGElementInstance.cpp:
14026 (WebCore::SVGElementInstance::SVGElementInstance):
14027 (WebCore::SVGElementInstance::~SVGElementInstance):
14028 * svg/SVGElementInstance.h:
14029 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
14030 * svg/SVGElementInstance.idl:
14032 2008-09-23 Dan Bernstein <mitz@apple.com>
14034 Reviewed by Dave Hyatt.
14036 - https://bugs.webkit.org/show_bug.cgi?id=21040
14037 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
14039 * platform/graphics/mac/SimpleFontDataMac.mm:
14040 (WebCore::SimpleFontData::getCTFont):
14042 2008-09-23 David Hyatt <hyatt@apple.com>
14044 https://bugs.webkit.org/show_bug.cgi?id=21039
14046 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
14048 Reviewed by Sam Weinig
14050 * platform/ScrollView.h:
14051 * platform/Scrollbar.cpp:
14052 (WebCore::Scrollbar::setFrameGeometry):
14053 * platform/Scrollbar.h:
14054 * platform/Widget.cpp:
14055 (WebCore::Widget::convertFromContainingWindow):
14056 * platform/Widget.h:
14057 * platform/mac/ScrollViewMac.mm:
14058 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14059 (WebCore::ScrollView::ScrollView):
14060 (WebCore::ScrollView::~ScrollView):
14061 (WebCore::ScrollView::windowResizerRect):
14062 (WebCore::ScrollView::resizerOverlapsContent):
14063 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
14064 (WebCore::ScrollView::setParent):
14065 * platform/mac/WidgetMac.mm:
14066 (WebCore::Widget::convertFromContainingWindow):
14068 2008-09-23 Dirk Schulze <vbs85@gmx.de>
14070 Reviewed by Darin Adler. Landed by Jan Alonzo.
14072 Added support for getImageData() and putImageData()
14075 [CAIRO] needs getImageData and putImageData support
14076 https://bugs.webkit.org/show_bug.cgi?id=20838
14078 * platform/graphics/cairo/ImageBufferCairo.cpp:
14079 (WebCore::ImageBuffer::ImageBuffer):
14080 (WebCore::ImageBuffer::getImageData):
14081 (WebCore::ImageBuffer::putImageData):
14083 2008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
14085 Reviewed by Holger Freyther.
14087 http://bugs.webkit.org/show_bug.cgi?id=18987
14088 [GTK] Implement SharedBuffer::createWithContentsOfFile and
14089 KURL::fileSystemPath
14091 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
14092 * platform/gtk/KURLGtk.cpp: Added.
14093 (WebCore::KURL::fileSystemPath): Implemented.
14094 * platform/gtk/SharedBufferGtk.cpp: Added.
14095 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
14096 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
14098 2008-09-23 Alexey Proskuryakov <ap@webkit.org>
14100 Reviewed by Oliver Hunt, okayed by Darin Adler.
14102 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
14104 * rendering/InlineTextBox.cpp:
14105 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
14107 2008-09-23 Alexey Proskuryakov <ap@webkit.org>
14109 Reviewed by Darin Adler.
14111 https://bugs.webkit.org/show_bug.cgi?id=21023
14112 Don't use TEC for encodings supported by ICU
14114 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
14115 x-mac-greek, and x-mac-turkish.
14117 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
14118 Register aliases for these encodings that are not registered automatically; updated comments.
14120 2008-09-23 Maciej Stachowiak <mjs@apple.com>
14124 - speed up instanceof some more
14125 https://bugs.webkit.org/show_bug.cgi?id=20818
14127 ~2% speedup on EarleyBoyer
14131 * bindings/js/JSQuarantinedObjectWrapper.h:
14132 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
14134 2008-09-22 Darin Adler <darin@apple.com>
14136 Reviewed by Oliver Hunt.
14138 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
14139 getting pixels by index from CanvasPixelArray is unnecessarily slow
14141 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
14142 * WebCore.vcproj/WebCore.vcproj: Ditto.
14143 * WebCore.xcodeproj/project.pbxproj: Ditto.
14145 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
14146 indexSetter. These are now both inlined, so in the header.
14147 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
14148 function is what's used for HasCustomIndexGetter. Also moved the
14149 indexSetter function here.
14151 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
14152 to use a getByIndex member function rather than an indexGetter static
14153 member function in a property slot. This lets us avoid the property
14154 slot mechanism's rule where it turns numeric property names into
14155 strings in the identifier table, which is good because that's slow.
14156 Also added a new property CustomHeader that allows IDL files to
14157 introduce headers to be included -- useful when we have functions
14158 that we want to inline into the binding.
14160 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
14162 2008-09-23 Eric Seidel <eric@webkit.org>
14164 No review, build fix only.
14166 Another blind stab in the dark.
14168 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
14170 2008-09-23 Eric Seidel <eric@webkit.org>
14172 No review, build fix only.
14174 Third time's the charm, eh? My local build is sadly still not done...
14176 * platform/graphics/AffineTransform.cpp: remove extra &
14177 * platform/graphics/AffineTransform.h: remove extra &
14179 2008-09-22 Eric Seidel <eric@webkit.org>
14181 No review, build fix only.
14183 * platform/graphics/AffineTransform.cpp: remove extra ;
14185 2008-09-22 Eric Seidel <eric@webkit.org>
14187 No review, build fix only.
14189 Speculative fix for the build while I wait for my compile to finish.
14191 * platform/graphics/AffineTransform.cpp:
14193 2008-09-22 Dirk Schulze <vbs85@gmx.de>
14195 Reviewed by eseidel. Landed by eseidel.
14197 Moved makeMapBetweenRects from SVG/CG to AffineTransform
14198 Make SVGResourceClipper::applyClip more cross-platform
14200 * platform/graphics/AffineTransform.cpp:
14201 * platform/graphics/AffineTransform.h:
14202 * svg/graphics/cg/CgSupport.cpp:
14203 * svg/graphics/cg/CgSupport.h:
14204 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
14205 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
14206 * svg/graphics/cg/SVGResourceClipperCg.cpp:
14207 (WebCore::SVGResourceClipper::applyClip):
14209 2008-09-22 Alp Toker <alp@nuanti.com>
14211 Reviewed by David Hyatt.
14213 https://bugs.webkit.org/show_bug.cgi?id=16331
14214 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
14216 Obey GTK+ focusing conventions for controls and anchor elements.
14218 It could be interesting to push these decisions up to Settings or
14219 ChromeClient some day but this gets things working.
14221 Right and middle click events still need some work to match GTK+
14224 * html/HTMLAnchorElement.cpp:
14225 (WebCore::HTMLAnchorElement::isMouseFocusable):
14226 * html/HTMLFormControlElement.cpp:
14227 (WebCore::HTMLFormControlElement::isMouseFocusable):
14228 * page/EventHandler.cpp:
14229 (WebCore::EventHandler::sendContextMenuEvent):
14231 2008-09-22 Darin Adler <darin@apple.com>
14233 * page/mac/FrameMac.mm:
14234 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
14236 2008-09-22 Sam Weinig <sam@webkit.org>
14238 Reviewed by Dan Bernstein.
14240 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
14241 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
14242 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
14245 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
14246 non-selectable input types, but return undefined when accessed.
14248 * DerivedSources.make:
14251 * WebCore.vcproj/WebCore.vcproj:
14252 * WebCore.xcodeproj/project.pbxproj:
14253 * WebCoreSources.bkl:
14254 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
14255 * bindings/js/JSHTMLInputElementBase.h: Removed.
14256 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
14257 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
14258 (WebCore::JSHTMLInputElement::selectionStart):
14259 (WebCore::JSHTMLInputElement::selectionEnd):
14260 * bindings/js/JSHTMLInputElementCustom.h: Added.
14261 * html/HTMLInputElement.idl:
14263 2008-09-22 Dan Bernstein <mitz@apple.com>
14265 Reviewed by Sam Weinig.
14267 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
14269 Not testable in DumpRenderTree or in Safari
14271 * page/mac/FrameMac.mm:
14272 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
14273 case that the selection start node is a block.
14275 2008-09-22 David Hyatt <hyatt@apple.com>
14277 https://bugs.webkit.org/show_bug.cgi?id=21007
14279 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
14281 Reviewed by Sam Weinig
14283 * page/EventHandler.cpp:
14284 (WebCore::EventHandler::handleMouseDoubleClickEvent):
14286 2008-09-22 Eric Seidel <eric@webkit.org>
14288 No review, rollback only.
14290 Roll out Peter's change (per his request)
14291 http://trac.webkit.org/changeset/36069
14292 https://bugs.webkit.org/show_bug.cgi?id=19663
14293 This change has been the source of numerous regressions
14294 (several of which were latent bugs revealed by this change,
14295 others were bugs in this change)
14297 * platform/graphics/BitmapImage.cpp:
14298 (WebCore::BitmapImage::BitmapImage):
14299 (WebCore::BitmapImage::startAnimation):
14300 (WebCore::BitmapImage::advanceAnimation):
14301 * platform/graphics/BitmapImage.h:
14302 * platform/graphics/cairo/ImageCairo.cpp:
14303 (WebCore::BitmapImage::draw):
14304 * platform/graphics/cg/ImageCG.cpp:
14305 (WebCore::BitmapImage::draw):
14306 * platform/graphics/qt/ImageQt.cpp:
14307 (WebCore::BitmapImage::draw):
14308 * platform/graphics/wx/ImageWx.cpp:
14309 (WebCore::BitmapImage::draw):
14311 2008-09-22 Dan Bernstein <mitz@apple.com>
14313 Reviewed by Sam Weinig.
14315 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
14317 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
14318 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
14320 * config.h: Use Core Text if not building for Leopard or Tiger.
14322 2008-09-22 David Hyatt <hyatt@apple.com>
14324 https://bugs.webkit.org/show_bug.cgi?id=21006
14326 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
14327 switched on. There are still a few more refinements to make to the rendering and behavior.
14329 Reviewed by Darin Adler
14331 * platform/ScrollbarThemeComposite.cpp:
14332 (WebCore::ScrollbarThemeComposite::paint):
14333 * platform/ScrollbarThemeComposite.h:
14334 (WebCore::ScrollbarThemeComposite::paintTrack):
14335 (WebCore::ScrollbarThemeComposite::paintButton):
14336 (WebCore::ScrollbarThemeComposite::paintThumb):
14337 * platform/mac/ScrollbarThemeMac.h:
14338 * platform/mac/ScrollbarThemeMac.mm:
14339 (WebCore::ScrollbarThemeMac::backButtonRect):
14340 (WebCore::ScrollbarThemeMac::forwardButtonRect):
14341 (WebCore::scrollbarPartToHIPressedState):
14342 (WebCore::ScrollbarThemeMac::paint):
14343 * platform/mac/WidgetMac.mm:
14344 (WebCore::Widget::invalidateRect):
14346 2008-09-22 Chris Marrin <cmarrin@apple.com>
14348 Reviewed by Sam Weinig
14350 transition end event when -webkit-transition-property: all puts wrong
14351 propertyName in event
14352 https://bugs.webkit.org/show_bug.cgi?id=20903
14354 * page/animation/ImplicitAnimation.cpp:
14355 (WebCore::ImplicitAnimation::sendTransitionEvent):
14357 2008-09-22 Chris Fleizach <cfleizach@apple.com>
14359 Reviewed by Darin Adler.
14361 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
14363 Test: accessibility/table-one-cell.html
14365 * page/AccessibilityTable.cpp:
14366 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
14368 2008-09-22 Chris Fleizach <cfleizach@apple.com>
14370 Reviewed by Darin Adler.
14372 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
14374 Test: accessibility/textarea-selected-text-range.html
14376 * page/AccessibilityRenderObject.cpp:
14377 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
14379 2008-09-22 David Hyatt <hyatt@apple.com>
14381 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
14382 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
14383 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
14386 Reviewed by Sam Weinig
14388 Added fast/css/nested-rule-parent-sheet.html
14390 * css/CSSImportRule.cpp:
14391 (WebCore::CSSImportRule::insertedIntoParent):
14393 (WebCore::CSSRule::parentStyleSheet):
14394 (WebCore::CSSRule::parentRule):
14395 * css/CSSStyleSheet.cpp:
14396 (WebCore::CSSStyleSheet::CSSStyleSheet):
14397 * css/CSSStyleSheet.h:
14399 2008-09-22 Dan Bernstein <mitz@apple.com>
14401 Reviewed by Sam Weinig.
14403 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
14404 Make the ATSUI code path respect spacingDisabled()
14406 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
14408 * platform/graphics/mac/FontMacATSUI.mm:
14409 (WebCore::overrideLayoutOperation):
14411 2008-09-22 Maciej Stachowiak <mjs@apple.com>
14413 Reviewed by Cameron Zwarich.
14415 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
14417 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
14419 2.2% speedup on EarleyBoyer benchmark.
14421 * bindings/js/JSQuarantinedObjectWrapper.cpp:
14422 * bindings/js/JSQuarantinedObjectWrapper.h:
14423 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
14424 * bindings/scripts/CodeGeneratorJS.pm:
14426 2008-09-22 Adam Roben <aroben@apple.com>
14430 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
14432 2008-09-22 Maciej Stachowiak <mjs@apple.com>
14434 Reviewed by Dave Hyatt.
14436 Based on initial work by Darin Adler.
14438 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
14439 - use this to JIT inline code for eq_null and neq_null
14440 https://bugs.webkit.org/show_bug.cgi?id=20823
14442 * WebCore.xcodeproj/project.pbxproj:
14443 * WebCore.vcproj/WebCore.vcproj:
14444 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14445 (WebCore::JSCSSStyleDeclaration::nameGetter):
14446 * bindings/js/JSHTMLAllCollection.cpp: Added.
14448 * bindings/js/JSHTMLAllCollection.h:
14449 (WebCore::JSHTMLAllCollection::createStructureID):
14450 (WebCore::JSHTMLAllCollection::toBoolean):
14452 2008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
14456 Fix the QtWebKit build
14458 * bridge/qt/qt_instance.cpp:
14459 (JSC::Bindings::QtRuntimeObjectImp::construct):
14460 * bridge/qt/qt_runtime.cpp:
14462 2008-09-22 Alp Toker <alp@nuanti.com>
14464 Suggested by David Hyatt.
14466 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
14469 * platform/ScrollView.h:
14471 2008-09-22 David Hyatt <hyatt@apple.com>
14473 Fix a regression in Windows scrollbar painting. (Also fix the same
14474 bug in my new viewless Mac scrollbar painting code). The track rect
14475 was being improperly inflated when painting resulting in the scrollbar
14476 being too tall and painting in the border of overflow sections.
14478 Reviewed by Oliver Hunt
14480 * platform/mac/ScrollbarThemeMac.mm:
14481 (WebCore::ScrollbarThemeMac::trackRect):
14482 * platform/win/ScrollbarThemeSafari.cpp:
14483 (WebCore::ScrollbarThemeSafari::trackRect):
14485 2008-09-22 David Hyatt <hyatt@apple.com>
14487 Fix a hit testing bug where events are mistakenly passed to subframes
14488 if the mouse is over the border or padding area of the frame. Add
14489 a boolean flag, isOverWidget(), to hit test results so that EventHandler
14490 can check it to tell if the mouse is really over the content box of a
14491 RenderWidget and not just in the border/padding area.
14493 This is not testable, since the old code properly recovered when it detected
14494 that the mouse was outside the bounds of the view, but this prevents
14495 the extra passdown from even occurring (and is basically a nice cleanup).
14497 Reviewed by Oliver Hunt
14499 * page/EventHandler.cpp:
14500 (WebCore::EventHandler::handleMousePressEvent):
14501 (WebCore::EventHandler::hitTestResultAtPoint):
14502 (WebCore::subframeForHitTestResult):
14503 (WebCore::EventHandler::handleMouseDoubleClickEvent):
14504 (WebCore::EventHandler::handleMouseMoveEvent):
14505 (WebCore::EventHandler::handleMouseReleaseEvent):
14506 (WebCore::EventHandler::handleWheelEvent):
14507 * page/MouseEventWithHitTestResults.h:
14508 (WebCore::MouseEventWithHitTestResults::isOverWidget):
14509 * rendering/HitTestResult.cpp:
14510 (WebCore::HitTestResult::HitTestResult):
14511 (WebCore::HitTestResult::operator=):
14512 * rendering/HitTestResult.h:
14513 (WebCore::HitTestResult::isOverWidget):
14514 (WebCore::HitTestResult::setIsOverWidget):
14515 * rendering/RenderWidget.cpp:
14516 (WebCore::RenderWidget::nodeAtPoint):
14517 * rendering/RenderWidget.h:
14519 2008-09-21 David Hyatt <hyatt@apple.com>
14521 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
14522 both it and ScrollView's updateContents method be off-limits to everyone in
14523 WebCore except for RenderView.
14525 Make repaintViewRectangle the only possible method for WebCore code to do
14526 an invalidation. This ensures that all invalidates triggered by WebCore
14527 cross-platform code that cross ownerElement() boundaries are transform-aware.
14529 Make sure that iframes/frames contained inside objects that have transforms
14530 or reflections are not allowed to blit (this was already true for transparency).
14532 It is not possible to make a test for any of this, since iframe scrolling
14533 still doesn't work on Mac (since the invalidates are not being done
14534 through WebCore's cross-platform invalidation code but are instead going
14535 through NSScrollView's setNeedsDisplay still).
14537 Reviewed by Oliver Hunt
14539 * editing/SelectionController.cpp:
14540 (WebCore::SelectionController::recomputeCaretRect):
14541 (WebCore::SelectionController::invalidateCaretRect):
14542 (WebCore::SelectionController::focusedOrActiveStateChanged):
14543 * page/FrameView.cpp:
14544 (WebCore::FrameView::repaintContentRectangle):
14545 (WebCore::FrameView::endDeferredRepaints):
14546 * page/FrameView.h:
14547 * platform/ScrollView.h:
14548 * rendering/RenderBox.cpp:
14549 (WebCore::RenderBox::paintFillLayerExtended):
14550 * rendering/RenderLayer.cpp:
14551 (WebCore::RenderLayer::enclosingPositionedAncestor):
14552 (WebCore::RenderLayer::requiresSlowRepaints):
14553 * rendering/RenderLayer.h:
14554 (WebCore::RenderLayer::hasTransform):
14555 * rendering/RenderView.cpp:
14556 (WebCore::RenderView::paintBoxDecorations):
14557 (WebCore::RenderView::repaintViewRectangle):
14558 (WebCore::RenderView::setSelection):
14560 2008-09-21 Maciej Stachowiak <mjs@apple.com>
14564 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
14565 https://bugs.webkit.org/show_bug.cgi?id=20981
14567 * bindings/js/JSAudioConstructor.cpp:
14568 (WebCore::JSAudioConstructor::JSAudioConstructor):
14569 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14570 (WebCore::JSCSSStyleDeclaration::nameGetter):
14571 * bindings/js/JSDOMBinding.cpp:
14572 (WebCore::createDOMStructure):
14573 * bindings/js/JSDOMBinding.h:
14574 (WebCore::getDOMStructure):
14575 * bindings/js/JSDOMWindowShell.cpp:
14576 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
14577 (WebCore::JSDOMWindowShell::setWindow):
14578 * bindings/js/JSEventTargetNode.cpp:
14579 (WebCore::JSEventTargetNode::createPrototype):
14580 * bindings/js/JSHTMLOptionElementConstructor.cpp:
14581 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
14582 * bindings/js/JSImageConstructor.cpp:
14583 (WebCore::JSImageConstructor::JSImageConstructor):
14584 * bindings/js/JSXMLHttpRequestConstructor.cpp:
14585 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
14586 * bindings/js/JSXSLTProcessorConstructor.cpp:
14587 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
14588 * bindings/scripts/CodeGeneratorJS.pm:
14590 2008-09-21 Darin Adler <darin@apple.com>
14592 Reviewed by Maciej Stachowiak.
14594 - fix problem Maciej noticed where every JSNamedNodesCollection
14595 gets its own StructureID
14597 * bindings/js/JSNamedNodesCollection.cpp:
14598 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
14599 getDOMStructure to get the structure.
14600 * bindings/js/JSNamedNodesCollection.h:
14601 (WebCore::JSNamedNodesCollection::createPrototype): Return the
14604 2008-09-20 David Hyatt <hyatt@apple.com>
14606 Make sure transformed scrollbars in overflow sections position
14607 properly. This patch mimics the same behavior that works for
14608 iframes, namely making sure that the same code that dynamically
14609 adjusts iframe widget positions at paint time for fixed positioning
14610 and transforms also applies to scrollbars. (This is as simple as passing
14611 in the current translation factor at paint time rather than crawling
14612 up the layer tree to compute a "false" absolute position.)
14614 An existing transform test covers this (although only a pixel result
14615 reveals the correct rendering).
14617 Reviewed by Darin Adler
14619 * rendering/RenderLayer.cpp:
14620 (WebCore::RenderLayer::updateLayerPositions):
14621 (WebCore::RenderLayer::positionOverflowControls):
14622 (WebCore::RenderLayer::paintOverflowControls):
14623 (WebCore::RenderLayer::paintLayer):
14624 * rendering/RenderLayer.h:
14626 2008-09-21 Steve Falkenburg <sfalken@apple.com>
14628 Removed unnecessary nested timer check.
14630 Rubber-stamped by Dan Bernstein.
14632 * platform/win/SharedTimerWin.cpp:
14633 (WebCore::TimerWindowWndProc):
14635 2008-09-21 Steve Falkenburg <sfalken@apple.com>
14637 Improve timer resolution on WinXP.
14638 https://bugs.webkit.org/show_bug.cgi?id=20979
14640 Removed last-chance timer. It should not be necessary.
14641 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
14642 Remove Vista checks. We now run the same code on both XP and Vista.
14644 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
14645 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
14647 Reviewed by Maciej Stachowiak.
14649 * platform/win/SharedTimerWin.cpp:
14651 (WebCore::TimerWindowWndProc):
14652 (WebCore::setSharedTimerFireTime):
14653 * platform/win/SystemTimeWin.cpp:
14654 (WebCore::currentTime):
14656 2008-09-21 Dirk Schulze <vbs85@gmx.de>
14658 Reviewed by eseidel. Landed by eseidel.
14660 All platforms use the DashArray in the GraphicsContext.
14662 * svg/graphics/SVGPaintServer.h:
14663 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
14664 (WebCore::SVGPaintServerGradient::setup):
14665 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
14666 (WebCore::SVGPaintServerPattern::setup):
14667 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
14668 (WebCore::SVGPaintServerSolid::setup):
14669 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
14670 (WebCore::SVGPaintServerGradient::setup):
14671 * svg/graphics/qt/SVGPaintServerQt.cpp:
14672 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
14673 (WebCore::SVGPaintServerSolid::setup):
14675 2008-09-21 Dirk Schulze <vbs85@gmx.de>
14677 Reviewed by eseidel. Landed by eseidel.
14679 Moved DashArray to GraphicsContext.
14682 * WebCore.vcproj/WebCore.vcproj:
14683 * WebCore.xcodeproj/project.pbxproj:
14684 * platform/graphics/DashArray.h: Added.
14685 * platform/graphics/GraphicsContext.h:
14686 * platform/graphics/cairo/GraphicsContextCairo.cpp:
14687 (WebCore::GraphicsContext::setLineDash):
14688 * platform/graphics/cg/GraphicsContextCG.cpp:
14689 (WebCore::GraphicsContext::setLineDash):
14690 * platform/graphics/qt/GraphicsContextQt.cpp:
14691 (WebCore::GraphicsContext::setLineDash):
14692 * svg/graphics/SVGPaintServer.cpp:
14693 (WebCore::applyStrokeStyleToContext):
14694 * svg/graphics/SVGPaintServer.h:
14695 * svg/graphics/cg/CgSupport.cpp:
14696 * svg/graphics/cg/CgSupport.h:
14698 2008-09-21 Dan Bernstein <mitz@apple.com>
14700 Reviewed by Mark Rowe.
14702 - fix linker warnings
14704 * WebCore.base.exp:
14706 2008-09-20 Darin Adler <darin@apple.com>
14708 - another try at fixing Qt
14710 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
14712 2008-09-20 Darin Adler <darin@apple.com>
14714 - blind attempt to fix Qt build
14716 * bridge/qt/qt_runtime.cpp:
14717 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
14718 of regExpPrototype to make a RegExpObject. There should really be
14719 some sort of public helper function for this. Same thing for
14720 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
14722 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
14723 It is not correct to do this inside the constructor because it could
14724 cause a garbage collect while the QtRuntimeMethod object is half-
14725 allocated, which could lead to a crash; note that RuntimeMethod,
14726 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
14727 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
14729 2008-09-20 Collin Jackson <collinj@webkit.org>
14731 Prefetch DNS for hyperlinks that the user mouses over.
14733 https://bugs.webkit.org/show_bug.cgi?id=20931
14735 Reviewed by Sam Weinig.
14738 (WebCore::Chrome::mouseDidMoveOverElement):
14740 2008-09-20 Darin Adler <darin@apple.com>
14742 Reviewed by Maciej Stachowiak.
14744 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
14745 make each distinct C++ class get a distinct JSC::Structure
14747 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14748 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
14749 ID. Note that this makes a new structure every time -- we could
14750 optimize this slightly be caching and reusing a single one.
14752 * bridge/runtime_method.cpp:
14753 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
14755 * bridge/runtime_method.h:
14756 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
14757 getDOMStructure will work.
14759 * bindings/js/JSDOMWindowShell.cpp:
14760 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
14761 0; needed in case garbage collection happens while creating the
14764 2008-09-20 Dan Bernstein <mitz@apple.com>
14766 Reviewed by Eric Seidel.
14768 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
14769 <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
14771 * svg/SVGTextContentElement.cpp:
14772 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
14773 not include the first character in the extraCharsAvailable count.
14775 2008-09-20 Kevin Ollivier <kevino@theolliviers.com>
14777 Reviewed by Dan Bernstein.
14781 https://bugs.webkit.org/show_bug.cgi?id=20505
14783 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
14786 2008-09-20 Kevin Ollivier <kevino@theolliviers.com>
14788 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
14790 * WebCoreSources.bkl:
14791 * platform/ScrollView.h:
14792 * platform/wx/PopupMenuWx.cpp:
14793 (WebCore::PopupMenu::show):
14794 * platform/wx/RenderThemeWx.cpp:
14795 (WebCore::RenderThemeWx::paintButton):
14796 (WebCore::RenderThemeWx::paintTextField):
14797 (WebCore::RenderThemeWx::paintMenuList):
14798 (WebCore::RenderThemeWx::paintMenuListButton):
14799 * platform/wx/ScrollViewWx.cpp:
14800 (WebCore::ScrollView::setPlatformWidget):
14801 (WebCore::ScrollView::updateContents):
14802 (WebCore::ScrollView::update):
14803 (WebCore::ScrollView::visibleWidth):
14804 (WebCore::ScrollView::visibleHeight):
14805 (WebCore::ScrollView::scrollBy):
14806 (WebCore::ScrollView::resizeContents):
14807 (WebCore::ScrollView::contentsWidth):
14808 (WebCore::ScrollView::contentsHeight):
14809 (WebCore::ScrollView::isScrollViewScrollbar):
14810 (WebCore::ScrollView::adjustScrollbars):
14811 (WebCore::ScrollView::inWindow):
14812 (WebCore::ScrollView::removeChild):
14813 * platform/wx/WidgetWx.cpp:
14814 * plugins/wx/PluginViewWx.cpp:
14815 (WebCore::PluginView::setParentVisible):
14816 (WebCore::PluginView::updatePluginWidget):
14818 2008-09-20 Timothy Hatcher <timothy@apple.com>
14820 Fix the new Node Search button image to not be blurry.
14822 * page/inspector/Images/nodeSearchButtons.png:
14824 2008-09-20 Matt Lilek <webkit@mattlilek.com>
14826 Reviewed by Tim Hatcher.
14828 Cut down some of the inspector javascript -> InspectorController glue code
14829 with two new macros. Also rearrange the exposed function list to be grouped
14830 by implementation and to all explicitly use the WebCore namespace.
14832 * page/InspectorController.cpp:
14833 (WebCore::InspectorController::windowScriptObjectAvailable):
14835 2008-09-20 Matt Lilek <webkit@mattlilek.com>
14837 Reviewed by Tim Hatcher.
14839 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
14841 * page/inspector/inspector.css:
14843 2008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
14847 Refactor HTMLImageLoader/SVGImageLoader code.
14848 Move html/HTMLImageLoader.* to loader/ImageLoader.*
14850 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
14851 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
14855 * WebCore.vcproj/WebCore.vcproj:
14856 * WebCore.xcodeproj/project.pbxproj:
14857 * WebCoreSources.bkl:
14858 * dom/Document.cpp:
14859 (WebCore::Document::dispatchImageLoadEventSoon):
14860 (WebCore::Document::removeImage):
14861 (WebCore::Document::dispatchImageLoadEventsNow):
14863 * html/HTMLImageLoader.cpp:
14864 (WebCore::HTMLImageLoader::HTMLImageLoader):
14865 (WebCore::HTMLImageLoader::~HTMLImageLoader):
14866 (WebCore::HTMLImageLoader::sourceURI):
14867 (WebCore::HTMLImageLoader::notifyFinished):
14868 * html/HTMLImageLoader.h:
14869 * loader/DocLoader.h:
14870 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
14871 (WebCore::ImageLoader::ImageLoader):
14872 (WebCore::ImageLoader::~ImageLoader):
14873 (WebCore::ImageLoader::setImage):
14874 (WebCore::ImageLoader::setLoadingImage):
14875 (WebCore::ImageLoader::updateFromElement):
14876 (WebCore::ImageLoader::notifyFinished):
14877 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
14878 * svg/SVGImageElement.cpp:
14879 (WebCore::SVGImageElement::attach):
14880 (WebCore::SVGImageElement::insertedIntoDocument):
14881 (WebCore::SVGImageElement::imageSourceAttributeName):
14882 * svg/SVGImageElement.h:
14883 * svg/SVGImageLoader.cpp:
14884 (WebCore::SVGImageLoader::SVGImageLoader):
14885 (WebCore::SVGImageLoader::dispatchLoadEvent):
14886 (WebCore::SVGImageLoader::sourceURI):
14887 * svg/SVGImageLoader.h:
14889 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
14893 [qtwebkit] ScrollBar build fix after r36684.
14894 BackButtonPart was split into Start and End Part
14895 ForwardButtonPart was split into Start and End Part
14897 * platform/qt/ScrollbarThemeQt.cpp:
14899 (WebCore::scrollbarPart):
14900 (WebCore::styleOptionSlider):
14902 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
14906 [qtwebkit] Make qt_instance.cpp compile.
14907 Revision of 36675 introduced getDOMStructure to give unique
14908 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
14909 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
14911 * bridge/qt/qt_instance.cpp:
14912 (JSC::Bindings::QtInstance::getRuntimeObject):
14914 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
14916 Reviewed by Nikolas Zimmermann.
14918 [svg] Change SVGLocatable to deal with a plain SVGElement
14919 There is no requirement in the code that we have to have a
14920 SVGStyledElement. Remove that artificial limitation and compile
14923 * svg/SVGLocatable.cpp:
14924 * svg/SVGLocatable.h:
14926 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
14928 Reviewed by Nikolas Zimmermann.
14930 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
14933 * dom/Document.cpp:
14934 (WebCore::Document::~Document):
14935 (WebCore::Document::svgExtensions):
14936 (WebCore::Document::accessSVGExtensions):
14939 2008-09-19 David Hyatt <hyatt@apple.com>
14941 Fix for crash in updateTransitions. Make sure to test for a style
14942 being null when comparing two RenderStyles.
14944 Reviewed by Oliver Hunt
14946 * page/animation/AnimationBase.cpp:
14947 (WebCore::PropertyWrapperGetter::equals):
14949 2008-09-19 David Hyatt <hyatt@apple.com>
14951 https://bugs.webkit.org/show_bug.cgi?id=20954
14953 Roll out r36628 since it has caused horrible regressions with
14954 animated GIF CPU usage.
14956 * platform/graphics/BitmapImage.cpp:
14957 (WebCore::BitmapImage::cacheFrame):
14958 (WebCore::BitmapImage::startAnimation):
14959 * platform/graphics/BitmapImage.h:
14960 (WebCore::FrameData::FrameData):
14961 * platform/graphics/cairo/ImageCairo.cpp:
14962 (WebCore::FrameData::clear):
14963 * platform/graphics/cg/ImageCG.cpp:
14964 (WebCore::FrameData::clear):
14965 * platform/graphics/qt/ImageQt.cpp:
14966 (WebCore::FrameData::clear):
14967 * platform/graphics/wx/ImageWx.cpp:
14968 (WebCore::FrameData::clear):
14970 2008-09-20 Alp Toker <alp@nuanti.com>
14972 Reviewed by Timothy Hatcher.
14974 https://bugs.webkit.org/show_bug.cgi?id=20913
14975 Avoid redudant includes
14977 Document.h is included excessively such that a modification to Document.h (or
14978 any of the header it includes itself) triggers a rebuild of many files
14979 including the whole of SVG and a lot of the JS bindings.
14981 Some of these includes can be avoided by only including Document.h where
14984 * bindings/js/JSAttrCustom.cpp:
14985 * bindings/js/JSElementCustom.cpp:
14986 * bindings/js/JSEventTargetBase.cpp:
14987 * bindings/js/JSEventTargetBase.h:
14988 * bindings/js/JSEventTargetNode.cpp:
14989 * bindings/js/JSHTMLFrameElementCustom.cpp:
14990 * bindings/js/JSHTMLIFrameElementCustom.cpp:
14991 * bindings/scripts/CodeGeneratorJS.pm:
14992 * css/CSSCursorImageValue.cpp:
14993 * css/SVGCSSStyleSelector.cpp:
14994 * dom/make_names.pl:
14995 * svg/SVGAnimateElement.h:
14996 * svg/SVGAnimatedProperty.h:
14997 (WebCore::::baseValue):
14998 (WebCore::::setBaseValue):
14999 (WebCore::::startAnimation):
15000 (WebCore::::stopAnimation):
15001 * svg/SVGElement.cpp:
15002 (WebCore::SVGElement::accessDocumentSVGExtensions):
15003 * svg/SVGElement.h:
15004 * svg/SVGElementInstance.cpp:
15005 * svg/SVGFitToViewBox.cpp:
15006 * svg/SVGFontElement.cpp:
15007 * svg/SVGFontFaceElement.cpp:
15008 * svg/SVGLinearGradientElement.cpp:
15009 * svg/SVGMPathElement.cpp:
15010 * svg/SVGViewSpec.cpp:
15012 2008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
15014 Reviewed by Antti & Eric.
15016 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
15018 Finish HTMLScriptElement / SVGScriptElement unification.
15019 SVG <script> support is complete now, full SVGLoad event
15020 respecting the influence of the externalResourcesRequired attribute
15021 as well as SVGError event support. All other features shared with HTML.
15023 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
15024 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
15025 svg/dom/SVGScriptElement/script-load-and-error-events.svg
15026 svg/dom/SVGScriptElement/script-reexecution.svg
15027 svg/dom/SVGScriptElement/script-set-href.svg
15029 * dom/ScriptElement.cpp:
15030 (WebCore::ScriptElementData::ScriptElementData):
15031 (WebCore::ScriptElementData::requestScript):
15032 * dom/ScriptElement.h:
15033 (WebCore::ScriptElementData::haveFiredLoadEvent):
15034 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
15035 * dom/XMLTokenizer.cpp:
15036 (WebCore::XMLTokenizer::notifyFinished):
15037 * html/HTMLScriptElement.cpp:
15038 (WebCore::HTMLScriptElement::dispatchLoadEvent):
15039 * svg/SVGScriptElement.cpp:
15040 (WebCore::SVGScriptElement::setCreatedByParser):
15041 (WebCore::SVGScriptElement::parseMappedAttribute):
15042 (WebCore::SVGScriptElement::svgAttributeChanged):
15043 (WebCore::SVGScriptElement::insertedIntoDocument):
15044 (WebCore::SVGScriptElement::removedFromDocument):
15045 (WebCore::SVGScriptElement::childrenChanged):
15046 (WebCore::SVGScriptElement::isURLAttribute):
15047 (WebCore::SVGScriptElement::finishParsingChildren):
15048 (WebCore::SVGScriptElement::type):
15049 (WebCore::SVGScriptElement::setType):
15050 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
15051 (WebCore::SVGScriptElement::dispatchLoadEvent):
15052 (WebCore::SVGScriptElement::dispatchErrorEvent):
15053 * svg/SVGScriptElement.h:
15055 2008-09-19 Dan Bernstein <mitz@apple.com>
15057 Reviewed by John Sullivan.
15059 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
15060 Typo in Position::getInlineBoxAndOffset()
15061 and add an assertion
15063 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
15065 * dom/Position.cpp:
15066 (WebCore::Position::getInlineBoxAndOffset):
15067 * rendering/InlineTextBox.cpp:
15068 (WebCore::InlineTextBox::positionForOffset):
15070 2008-09-19 David Hyatt <hyatt@apple.com>
15072 Add support for hit testing of all five possible scrollbar button placements.
15074 Reviewed by Sam Weinig
15076 * platform/ScrollbarThemeComposite.cpp:
15077 (WebCore::ScrollbarThemeComposite::paint):
15078 * platform/mac/ScrollbarThemeMac.mm:
15080 (WebCore::ScrollbarThemeMac::backButtonRect):
15081 (WebCore::ScrollbarThemeMac::forwardButtonRect):
15082 (WebCore::ScrollbarThemeMac::trackRect):
15083 (WebCore::ScrollbarThemeMac::paintButton):
15085 2008-09-19 Darin Adler <darin@apple.com>
15087 - try to fix Qt build
15089 * bridge/qt/qt_instance.cpp:
15090 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
15091 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
15092 * bridge/runtime_object.cpp:
15093 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
15094 * bridge/runtime_object.h: Ditto.
15096 2008-09-19 Chris Marrin <cmarrin@apple.com>
15098 Reviewed by Dave Hyatt.
15100 Transition starts running when it shouldn't
15101 https://bugs.webkit.org/show_bug.cgi?id=20892
15103 When there is a transition and an animation on the
15104 same element, make sure the animation wins.
15106 The fix is to save the unanimated style when an animation is started.
15107 Then, when starting a transition, check to see if there is a current
15108 animation on the same prop. If so, use the unanimated style as the
15109 fromStyle rather than the current style.
15111 Test: animations/transition-and-animation-1.html
15113 * page/animation/CompositeAnimation.cpp:
15114 (WebCore::CompositeAnimation::updateTransitions):
15115 (WebCore::CompositeAnimation::updateKeyframeAnimations):
15116 (WebCore::CompositeAnimation::animate):
15117 (WebCore::CompositeAnimation::getAnimationForProperty):
15118 * page/animation/CompositeAnimation.h:
15119 * page/animation/ImplicitAnimation.cpp:
15120 (WebCore::ImplicitAnimation::reset):
15121 * page/animation/ImplicitAnimation.h:
15122 * page/animation/KeyframeAnimation.cpp:
15123 (WebCore::KeyframeAnimation::hasAnimationForProperty):
15124 * page/animation/KeyframeAnimation.h:
15125 (WebCore::KeyframeAnimation::KeyframeAnimation):
15126 (WebCore::KeyframeAnimation::unanimatedStyle):
15128 2008-09-19 David Hyatt <hyatt@apple.com>
15130 Add support for painting/hit testing of four possible scrollbar buttons.
15131 The Windows themes simply ignore the two parts that they will never
15132 show. The Mac theme also ignores the other two buttons for now.
15134 The cross-platform base for all three themes, ScrollbarThemeComposite,
15135 has all the proper support though.
15137 Reviewed by Sam Weinig
15139 * platform/ScrollbarThemeComposite.cpp:
15140 (WebCore::ScrollbarThemeComposite::hitTest):
15141 (WebCore::ScrollbarThemeComposite::invalidatePart):
15142 * platform/ScrollbarThemeComposite.h:
15143 * platform/mac/ScrollbarThemeMac.h:
15144 * platform/mac/ScrollbarThemeMac.mm:
15145 (WebCore::ScrollbarThemeMac::backButtonRect):
15146 (WebCore::ScrollbarThemeMac::forwardButtonRect):
15147 (WebCore::ScrollbarThemeMac::paintButton):
15148 * platform/win/ScrollbarThemeSafari.cpp:
15149 (WebCore::ScrollbarThemeSafari::backButtonRect):
15150 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
15151 (WebCore::ScrollbarThemeSafari::paintButton):
15152 * platform/win/ScrollbarThemeSafari.h:
15153 * platform/win/ScrollbarThemeWin.cpp:
15154 (WebCore::ScrollbarThemeWin::backButtonRect):
15155 (WebCore::ScrollbarThemeWin::forwardButtonRect):
15156 (WebCore::ScrollbarThemeWin::paintButton):
15157 * platform/win/ScrollbarThemeWin.h:
15159 2008-09-19 Matt Lilek <webkit@mattlilek.com>
15161 Reviewed by Tim Hatcher.
15163 Bug 17772: Inspector should support point-and-click to select a node to inspect
15164 https://bugs.webkit.org/show_bug.cgi?id=17772
15165 <rdar://problem/5792395>
15167 * English.lproj/localizedStrings.js:
15169 (WebCore::Chrome::mouseDidMoveOverElement):
15170 * page/EventHandler.cpp:
15171 (WebCore::EventHandler::handleMousePressEvent):
15172 * page/InspectorController.cpp:
15173 (WebCore::toggleNodeSearch):
15174 (WebCore::searchingForNode):
15175 (WebCore::InspectorController::InspectorController):
15176 (WebCore::InspectorController::toggleSearchForNodeInPage):
15177 (WebCore::InspectorController::mouseDidMoveOverElement):
15178 (WebCore::InspectorController::handleMousePressOnNode):
15179 (WebCore::InspectorController::windowScriptObjectAvailable):
15180 * page/InspectorController.h:
15181 (WebCore::InspectorController::searchingForNodeInPage):
15182 * page/inspector/ElementsPanel.js:
15183 * page/inspector/Images/nodeSearchButtons.png: Added.
15184 * page/inspector/inspector.css:
15186 2008-09-19 David Hyatt <hyatt@apple.com>
15188 Add new scrollbar parts to be able to represent back and forward buttons
15189 at either end of the scrollbar. The current scrollbar still just draws
15190 a single button at either end, but the parts now exist.
15192 Reviewed by Sam Weinig
15194 * platform/ScrollTypes.h:
15196 * platform/Scrollbar.cpp:
15197 (WebCore::Scrollbar::autoscrollTimerFired):
15198 (WebCore::Scrollbar::pressedPartScrollDirection):
15199 (WebCore::Scrollbar::pressedPartScrollGranularity):
15200 (WebCore::Scrollbar::handleMouseMoveEvent):
15201 * platform/ScrollbarTheme.h:
15202 (WebCore::ScrollbarTheme::buttonsPlacement):
15203 (WebCore::ScrollbarTheme::invalidateParts):
15204 * platform/ScrollbarThemeComposite.cpp:
15205 (WebCore::ScrollbarThemeComposite::paint):
15206 (WebCore::ScrollbarThemeComposite::hitTest):
15207 (WebCore::ScrollbarThemeComposite::invalidatePart):
15208 * platform/ScrollbarThemeComposite.h:
15210 2008-09-19 Beth Dakin <bdakin@apple.com>
15212 Reviewed by Dave Hyatt.
15214 Fix for <rdar://problem/6231308> crash in AutoTableLayout
15216 The code assumes later on that a TableSection's grid's row vector
15217 will never be empty. So make 1 the minimum number of columns.
15219 * rendering/RenderTableSection.cpp:
15220 (WebCore::RenderTableSection::ensureRows):
15222 2008-09-19 David Hyatt <hyatt@apple.com>
15224 Add a new ScrollbarButtonsPlacement type for specifying where
15225 the button arrows are in a scrollbar.
15227 Read in the placement settings for Mac. Nothing is done with the
15230 Add a new buttonsPlacement() method to ScrollbarTheme composite
15231 so that the arrow settings can be obtained.
15233 Reviewed by Sam Weinig
15235 * platform/ScrollTypes.h:
15237 * platform/ScrollbarThemeComposite.h:
15238 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
15239 * platform/mac/ScrollbarThemeMac.mm:
15240 (WebCore::updateArrowPlacement):
15241 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
15243 2008-09-19 Steve Falkenburg <sfalken@apple.com>
15245 Roll out r36626. It is causing variance in SunSpider numbers on XP.
15247 Rubber stamped by Mark Rowe.
15249 * platform/win/SharedTimerWin.cpp:
15250 (WebCore::isRunningOnVistaOrLater):
15251 (WebCore::setSharedTimerFireTime):
15253 2008-09-19 Kevin McCullough <kmccullough@apple.com>
15257 https://bugs.webkit.org/show_bug.cgi?id=20942
15258 Bug 20942: Repeated messages in resources don't collapse
15259 - Now repeated messages in a resource's view are collapsed and a message
15260 says how many were repeated.
15262 * English.lproj/localizedStrings.js:
15263 * manual-tests/inspector/multiple-console-messages.html:
15264 * page/inspector/Console.js: Send all the messages to the resource's
15265 view before possibly returning early if the message is a repeat.
15266 * page/inspector/SourceFrame.js: Add the text about the message being
15267 repeated, if it is, and increment it when necessary.
15269 2008-09-19 Chris Fleizach <cfleizach@apple.com>
15271 Removed unnecessary #if
15273 * page/mac/AccessibilityObjectWrapper.mm:
15275 2008-09-19 David Hyatt <hyatt@apple.com>
15277 Read in prefs for the scroll delay repeat values for buttons. Also
15278 honor the option-click pref for jumping to the thumb when clicking in
15281 Reviewed by Sam Weinig
15283 * platform/mac/ScrollbarThemeMac.h:
15284 * platform/mac/ScrollbarThemeMac.mm:
15285 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
15286 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
15287 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
15288 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
15290 2008-09-19 David Hyatt <hyatt@apple.com>
15292 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
15293 Set the initial button repeat delay to 0.5 for Mac.
15295 Reviewed by Sam Weinig
15297 * WebCore.xcodeproj/project.pbxproj:
15298 * platform/mac/ScrollbarThemeMac.cpp: Removed.
15299 * platform/mac/ScrollbarThemeMac.h:
15300 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
15301 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
15303 2008-09-19 Darin Adler <darin@apple.com>
15305 Reviewed by Sam Weinig.
15307 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
15308 make each distinct C++ class get a distinct JSC::Structure
15310 + Fixed all cases where we were using a shared structure for multiple
15311 C++ classes in WebCore. This still has to be done in JavaScriptCore.
15313 + Got rid of cacheGlobalObject.
15315 + Improved use of PassRefPtr in bindings code.
15317 + Removed a couple cases where we were potentially allocating prototypes
15318 inside a JSObject's construction process -- this can lead to trouble if
15319 we do a garbage collection while an object is only partly constructed.
15321 * bindings/js/JSAudioConstructor.cpp:
15322 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
15323 so we don't implicitly share the structure with other objects that use the object
15326 * bindings/js/JSDOMBinding.cpp:
15327 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
15328 don't need cacheGlobalObject any more.
15329 (WebCore::cacheDOMConstructor): Ditto.
15331 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
15332 Added functions and a function template for getting cached DOM constructors.
15333 Removed cacheGlobalObject function template.
15335 * bindings/js/JSDOMWindowBase.cpp:
15336 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
15337 we're taking ownership.
15338 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
15339 we're taking ownership. Added constructor map.
15340 * bindings/js/JSDOMWindowCustom.cpp:
15341 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
15343 * bindings/js/JSDOMWindowShell.cpp:
15344 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
15345 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
15346 this is now done in only that one place.
15347 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
15348 the passed-in DOMWindow. Code was moved here and changed to allocate unique
15349 structures for both the window prototype and the window.
15350 * bindings/js/JSDOMWindowShell.h: Ditto.
15352 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
15353 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
15354 private/friend in JSEventTargetBase. Removed comments referring to defunct
15355 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
15356 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
15357 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
15359 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
15360 for caching structures and prototypes.
15361 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
15362 (WebCore::JSEventTargetNode::createPrototype): Added.
15363 * bindings/js/JSEventTargetNode.h: Updated for above changes.
15365 * bindings/js/JSHTMLAllCollection.h:
15366 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
15367 * bindings/js/JSHTMLCollectionCustom.cpp:
15368 (WebCore::getNamedItems): Pass ExecState instead of prototype.
15369 * bindings/js/JSHTMLFormElementCustom.cpp:
15370 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
15371 * bindings/js/JSHTMLInputElementBase.cpp:
15372 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
15373 * bindings/js/JSHTMLInputElementBase.h: Ditto.
15374 * bindings/js/JSHTMLOptionElementConstructor.cpp:
15375 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
15376 Create a unique structure instead of sharing.
15377 * bindings/js/JSImageConstructor.cpp:
15378 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
15380 * bindings/js/JSInspectedObjectWrapper.cpp:
15381 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
15382 a prototype rather than a structure. Made the use of inheritorID() here
15384 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
15385 * bindings/js/JSInspectorCallbackWrapper.cpp:
15386 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
15387 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
15389 * bindings/js/JSNamedNodesCollection.cpp:
15390 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
15391 take an ExecState argument instead of a prototype. Create a unique
15392 StructureID instead of sharing.
15393 * bindings/js/JSNamedNodesCollection.h: Ditto.
15395 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
15396 constructor that takes a prototype instead of a structure.
15397 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
15399 * bindings/js/JSRGBColor.cpp:
15400 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
15401 prototype; create a unique structure.
15402 (WebCore::getJSRGBColor): Ditto.
15403 * bindings/js/JSRGBColor.h: Ditto.
15405 * bindings/js/JSSQLResultSetRowListCustom.cpp:
15406 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
15407 of explicit coding the idiom for making a new object.
15409 * bindings/js/JSXMLHttpRequestConstructor.cpp:
15410 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
15411 Create a unique structure instead of the shared one.
15412 * bindings/js/JSXSLTProcessorConstructor.cpp:
15413 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
15416 * bindings/js/ScriptController.cpp:
15417 (WebCore::ScriptController::clearWindowShell): Let the window shell's
15418 setWindow function create the JSDOMWindow instead of doing it here.
15420 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
15421 the structure and the wrapped object when creating wrappers.
15422 Simplified some of the special cases for DOMWindow so they are
15423 different only in ways the need to be. Eliminated the
15424 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
15425 functions. Moved responsibility for creating the structure and
15426 parent prototype out of the prototype constructor into the
15427 createPrototype function. Removed the unused "DoNotCache" flag for
15428 objects other than DOMWindow. Use getDOMConstructor instead of
15429 cacheGlobalObject for constructors. Make each constructor have
15430 a unique structure ID.
15432 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
15433 name of the info member to s_info so we can use the standard DOM
15434 binding macros to handl the prototype.
15435 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
15436 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
15437 Create a unique structure using getDOMStructure.
15439 * bridge/runtime_array.cpp: Fixed namespacing a bit.
15440 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
15442 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
15445 * bridge/runtime_object.cpp:
15446 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
15448 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
15451 * history/CachedPage.cpp:
15452 (WebCore::CachedPage::restore): Let the window shell's
15453 setWindow function create the JSDOMWindow instead of doing it here.
15455 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
15457 2008-09-19 Dan Bernstein <mitz@apple.com>
15459 Reviewed by Dave Hyatt.
15461 This optimization was suggested by Daniel Fenwick
15463 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
15465 Specifying LTR paragraph directionality when measuring runs of RTL text
15466 resulted in typically two CTRuns being generated for every run instead
15467 of one, due to the leading space being reordered to the left.
15469 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
15470 getCFStringAttributes() and changed m_CFStringAttributes from an array
15472 * platform/graphics/mac/CoreTextController.cpp:
15473 (WebCore::CoreTextController::CoreTextController): Added a
15474 mayUseNaturalWritingDirection parameter.
15475 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
15476 to force the bidi embedding level whenever
15477 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
15478 case, made the typesetter options dictionaries static.
15479 * platform/graphics/mac/CoreTextController.h:
15480 * platform/graphics/mac/FontMacCoreText.cpp:
15481 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
15482 (WebCore::Font::floatWidthForComplexText): Changed to allow the
15483 CoreTextController to not set the writing direction.
15484 * platform/graphics/mac/SimpleFontDataMac.mm:
15485 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
15486 parameter and the paragraph style attribute.
15488 2008-09-19 David Hyatt <hyatt@apple.com>
15490 Reviewed by Sam Weinig
15492 https://bugs.webkit.org/show_bug.cgi?id=20941
15494 Incorrect height calculation for replaced element inside nested
15495 positioned elements (where the inner has a percentage height and
15496 the outer implicitly has a fixed height because of explicit top/bottom
15499 Added fast/block/positioning/replaced-inside-top-bottom.html
15501 * rendering/RenderBox.cpp:
15502 (WebCore::RenderBox::availableHeightUsing):
15504 2008-09-19 Chris Fleizach <cfleizach@apple.com>
15508 * page/mac/AccessibilityObjectWrapper.mm:
15510 2008-09-18 Chris Fleizach <cfleizach@apple.com>
15512 Reviewed by Darin Adler.
15514 <rdar://problem/6211041> Expose legend tag in accessibility
15516 Exposes the legend tag as the titleUIElement of a fieldset
15518 Test: accessibility/legend.html
15520 * page/AccessibilityObject.h:
15521 (WebCore::AccessibilityObject::isFieldset):
15522 * page/AccessibilityRenderObject.cpp:
15523 (WebCore::AccessibilityRenderObject::isFieldset):
15524 (WebCore::AccessibilityRenderObject::titleUIElement):
15525 * page/AccessibilityRenderObject.h:
15526 * rendering/RenderFieldset.h:
15528 2008-09-19 Chris Fleizach <cfleizach@apple.com>
15530 Reviewed by Darin Adler.
15532 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
15534 Implement a few AX API methods that will be called by AppKit, which will
15535 speed up access to accessibility objects
15537 * page/mac/AccessibilityObjectWrapper.mm:
15538 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
15539 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
15540 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
15542 2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
15544 Reviewed by Simon Hausmann.
15546 [qtwebkit] Set the m_should* flags to their proper value on entry
15547 With plugins it was possible that we finished a job twice. This was
15548 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
15549 setting the flag to (m_loadMode == LoadDeferred) they will always have
15550 the right value and we will not send responses twice.
15552 * platform/network/qt/QNetworkReplyHandler.cpp:
15554 2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
15556 Reviewed by Simon Hausmann.
15558 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
15559 Handle text decoding errors before instructing the parser to parse. We
15560 have converted the text to QString and all encoding errors are gone and
15561 the parser will not be able to detect them. So handle them before parsing.
15563 * dom/XMLTokenizerQt.cpp:
15564 (WebCore::XMLTokenizer::doWrite):
15566 2008-09-18 Darin Adler <darin@apple.com>
15568 Reviewed by Maciej Stachowiak.
15570 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
15571 make each distinct C++ class get a distinct JSC::Structure
15573 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
15574 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
15575 instead of DOMExceptionTranslator.
15577 * bindings/js/JSDOMBinding.cpp:
15578 (WebCore::getCachedDOMObjectWrapper): Updated function name.
15579 (WebCore::cacheDOMObjectWrapper): Ditto.
15580 (WebCore::forgetDOMObject): Ditto.
15581 (WebCore::getCachedDOMNodeWrapper): Ditto.
15582 (WebCore::forgetDOMNode): Ditto.
15583 (WebCore::cacheDOMNodeWrapper): Ditto.
15584 (WebCore::forgetAllDOMNodesForDocument): Ditto.
15585 (WebCore::markDOMNodesForDocument): Ditto.
15586 (WebCore::updateDOMNodeDocument): Ditto.
15587 (WebCore::getCachedDOMStructure): Added.
15588 (WebCore::createDOMStructure): Ditto.
15590 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
15591 class and replace the static member functions with non-member
15592 functions. Added many other functions for getting at structures,
15593 prototypes, wrappers, and creating them. Also moved the
15594 cacheGlobalObject function here from JavaScriptCore; eventually
15595 I'll remove that once I get rid of the remaining callers. Also
15596 removed the DOMExceptionTranslator class.
15598 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
15599 and put one of those maps in each window.
15601 * bindings/js/JSDOMWindowCustom.cpp:
15602 (WebCore::markDOMObjectWrapper): Updated for function name change.
15603 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
15604 in the structure map.
15606 * bindings/js/JSEventTargetNode.cpp:
15607 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
15608 a structure instead of a prototype.
15609 * bindings/js/JSEventTargetNode.h: Ditto.
15610 * bindings/js/JSHTMLAllCollection.h:
15611 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
15613 * bindings/js/JSHTMLInputElementBase.cpp:
15614 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
15615 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
15616 structure instead of a prototype.
15617 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
15618 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
15619 to take a structure instead of a prototype. Created a dummy prototype
15620 class that causes the HTMLInputElement prototype to have the
15621 HTMLElement prototype.
15623 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
15624 structures instead of prototypes. Changed the prototype self function
15625 to use the getDOMPrototype function -- later we can eliminate it and
15626 have callers invoke getDOMPrototype directly instead. Updated other
15627 functions that have name changes. Added code to generate the
15628 createPrototype member function. Changed use of cacheGlobalObject to
15629 get it from the WebCore namespace instead of the JSC namespace.
15630 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
15632 * dom/Document.cpp:
15633 (WebCore::Document::~Document): Updated for name change and also
15634 removed unnecessary JSLock use -- there's no need to lock around this.
15636 (WebCore::Node::setDocument): Ditto.
15638 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
15639 instead of calling new directly.
15641 * bindings/js/JSCSSRuleCustom.cpp:
15642 (WebCore::toJS): Updated for function name changes and used the
15643 CREATE_DOM_OBJECT_WRAPPER macro.
15644 * bindings/js/JSCSSValueCustom.cpp:
15645 (WebCore::toJS): Ditto.
15646 * bindings/js/JSCanvasPixelArrayCustom.cpp:
15647 (WebCore::toJS): Ditto.
15648 * bindings/js/JSDocumentCustom.cpp:
15649 (WebCore::JSDocument::mark): Ditto.
15650 (WebCore::toJS): Ditto.
15651 * bindings/js/JSElementCustom.cpp:
15652 (WebCore::toJSNewlyCreated): Ditto.
15653 * bindings/js/JSEventCustom.cpp:
15654 (WebCore::toJS): Ditto.
15655 * bindings/js/JSEventTargetBase.cpp:
15656 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
15657 of DOMExceptionTranslator.
15658 (WebCore::toJS): Updated for function name changes and used the
15659 CREATE_DOM_OBJECT_WRAPPER macro.
15660 * bindings/js/JSHTMLCollectionCustom.cpp:
15661 (WebCore::toJS): Ditto.
15662 * bindings/js/JSNodeCustom.cpp:
15663 (WebCore::JSNode::mark): Ditto.
15664 (WebCore::createWrapper): Ditto.
15665 (WebCore::toJS): Ditto.
15666 * bindings/js/JSSVGPathSegCustom.cpp:
15667 (WebCore::toJS): Ditto.
15668 * bindings/js/JSStyleSheetCustom.cpp:
15669 (WebCore::toJS): Ditto.
15670 (WebCore::JSStyleSheet::mark): Ditto.
15671 * bindings/js/JSTextCustom.cpp:
15672 (WebCore::toJSNewlyCreated): Ditto.
15673 * bindings/js/JSXMLHttpRequestConstructor.cpp:
15674 (WebCore::constructXMLHttpRequest): Ditto.
15675 * bindings/js/JSXMLHttpRequestCustom.cpp:
15676 (WebCore::JSXMLHttpRequest::mark): Ditto.
15677 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
15678 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
15679 * bindings/js/JSXSLTProcessorConstructor.cpp:
15680 (WebCore::constructXSLTProcessor): Ditto.
15681 * bindings/js/ScriptController.cpp:
15682 (WebCore::ScriptController::finishedWithEvent): Ditto.
15683 * xml/XMLHttpRequest.cpp:
15684 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
15685 (WebCore::XMLHttpRequest::dropProtection): Ditto.
15687 2008-09-18 David Hyatt <hyatt@apple.com>
15689 This patch gets a viewless scrollbar working on Mac. It is turned off
15690 by default. Hit testing works. For now the scrollbar just paints ugly
15691 debug rects in the place of the buttons, track and thumb. It does match
15692 Aqua metrics though.
15694 Reviewed by Sam Weinig
15696 * WebCore.xcodeproj/project.pbxproj:
15697 * page/mac/EventHandlerMac.mm:
15698 (WebCore::EventHandler::passMousePressEventToScrollbar):
15699 * platform/ScrollbarThemeComposite.cpp:
15700 (WebCore::ScrollbarThemeComposite::paint):
15701 (WebCore::ScrollbarThemeComposite::trackPosition):
15702 * platform/ScrollbarThemeComposite.h:
15703 * platform/mac/ScrollViewMac.mm:
15704 (WebCore::ScrollView::addChild):
15705 * platform/mac/ScrollbarThemeMac.cpp:
15707 (WebCore::ScrollbarThemeMac::hasButtons):
15708 (WebCore::ScrollbarThemeMac::hasThumb):
15709 (WebCore::buttonRepaintRect):
15710 (WebCore::ScrollbarThemeMac::backButtonRect):
15711 (WebCore::ScrollbarThemeMac::forwardButtonRect):
15712 (WebCore::trackRepaintRect):
15713 (WebCore::ScrollbarThemeMac::trackRect):
15714 (WebCore::ScrollbarThemeMac::minimumThumbLength):
15715 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
15716 (WebCore::ScrollbarThemeMac::paintTrack):
15717 (WebCore::ScrollbarThemeMac::paintButton):
15718 (WebCore::ScrollbarThemeMac::paintThumb):
15719 * platform/mac/ScrollbarThemeMac.h:
15720 (WebCore::ScrollbarThemeMac::supportsControlTints):
15721 * platform/qt/ScrollbarThemeQt.cpp:
15722 (WebCore::ScrollbarThemeQt::trackPosition):
15724 2008-09-18 Collin Jackson <collinj@webkit.org>
15726 Build fix; added missing header file to GNUmakefile.am
15730 2008-09-18 Sam Weinig <sam@webkit.org>
15732 Reviewed by David "the Hair" Hyatt.
15734 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
15738 * WebCore.vcproj/WebCore.vcproj:
15739 * WebCore.xcodeproj/project.pbxproj:
15740 * rendering/DataRef.h: Removed.
15741 * rendering/SVGRenderStyle.cpp: Removed.
15742 * rendering/SVGRenderStyle.h: Removed.
15743 * rendering/SVGRenderStyleDefs.cpp: Removed.
15744 * rendering/SVGRenderStyleDefs.h: Removed.
15745 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
15746 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
15747 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
15748 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
15749 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
15751 2008-09-18 Mark Rowe <mrowe@apple.com>
15753 Reviewed by Dan Bernstein.
15755 Add a means of clearing a FrameTree's name.
15757 * WebCore.base.exp:
15758 * page/FrameTree.cpp:
15759 (WebCore::FrameTree::clearName):
15760 * page/FrameTree.h:
15762 2008-09-18 David Hyatt <hyatt@apple.com>
15764 Eliminate addToSuperview from Widget, since it was only called
15765 by ScrollViewMac's addChild method. Just shift the original body
15766 of addToSuperView into addChild.
15768 Reviewed by Sam Weinig
15770 * platform/Widget.h:
15771 * platform/mac/ScrollViewMac.mm:
15772 (WebCore::ScrollView::addChild):
15773 * platform/mac/WidgetMac.mm:
15775 2008-09-18 Collin Jackson <collinj@webkit.org>
15777 Reviewed by Antti Koivisto and Mark Rowe.
15779 Test: http/tests/misc/dns-prefetch-control.html
15781 https://bugs.webkit.org/show_bug.cgi?id=20690
15783 Invoke WebCore::prefetchDNS() on host names that appear in
15784 in the href of hyperlinks and <link rel="dns-prefetch">. This
15785 can be used to implement DNS prefetching.
15787 * WebCore.vcproj/WebCore.vcproj:
15788 * WebCore.xcodeproj/project.pbxproj:
15789 * dom/Document.cpp:
15790 (WebCore::Document::Document):
15791 (WebCore::Document::processHttpEquiv):
15792 (WebCore::Document::setSecurityOrigin):
15793 (WebCore::Document::initDNSPrefetch):
15794 (WebCore::Document::parseDNSPrefetchControlHeader):
15796 (WebCore::Document::isDNSPrefetchEnabled):
15797 * html/HTMLAnchorElement.cpp:
15798 (WebCore::HTMLAnchorElement::parseMappedAttribute):
15799 * html/HTMLLinkElement.cpp:
15800 (WebCore::HTMLLinkElement::HTMLLinkElement):
15801 (WebCore::HTMLLinkElement::parseMappedAttribute):
15802 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
15803 (WebCore::HTMLLinkElement::process):
15804 * html/HTMLLinkElement.h:
15805 * html/PreloadScanner.cpp:
15806 (WebCore::PreloadScanner::processAttribute):
15807 * loader/FrameLoader.cpp:
15808 (WebCore::FrameLoader::begin):
15809 * platform/gtk/TemporaryLinkStubs.cpp:
15810 (WebCore::prefetchDNS):
15811 * platform/network/DNS.h: Added.
15812 * platform/network/cf/DNSCFNet.cpp: Added.
15813 (WebCore::prefetchDNS):
15814 * platform/qt/TemporaryLinkStubs.cpp:
15815 (WebCore::prefetchDNS):
15816 * platform/wx/TemporaryLinkStubs.cpp:
15817 (WebCore::prefetchDNS):
15819 2008-09-18 David Hyatt <hyatt@apple.com>
15821 Eliminate the convertToScreenCoordinate method on Widget, since
15822 ScrollView has redundant methods that already do the same thing.
15824 Reviewed by Sam Weinig
15826 * editing/mac/SelectionControllerMac.mm:
15827 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
15828 * platform/Widget.h:
15829 * platform/mac/WidgetMac.mm:
15830 (WebCore::Widget::containingWindow):
15832 2008-09-18 David Hyatt <hyatt@apple.com>
15834 Move to only one constructor for Widgets. Rename data to m_data and make
15835 it have an #ifdef only for platforms that have platform-specific data (Mac
15838 Reviewed by Sam Weinig
15840 * WebCore.base.exp:
15841 * platform/Widget.cpp:
15842 (WebCore::Widget::init):
15843 * platform/Widget.h:
15844 * platform/gtk/WidgetGtk.cpp:
15845 (WebCore::Widget::Widget):
15846 (WebCore::Widget::~Widget):
15847 (WebCore::Widget::cursor):
15848 (WebCore::Widget::setCursor):
15849 * platform/mac/WidgetMac.mm:
15850 (WebCore::Widget::Widget):
15851 (WebCore::Widget::~Widget):
15852 (WebCore::Widget::addToSuperview):
15853 (WebCore::Widget::removeFromSuperview):
15854 (WebCore::Widget::beforeMouseDown):
15855 (WebCore::Widget::afterMouseDown):
15856 * platform/qt/WidgetQt.cpp:
15857 (WebCore::Widget::Widget):
15858 * platform/win/WidgetWin.cpp:
15859 (WebCore::Widget::Widget):
15860 * platform/wx/WidgetWx.cpp:
15861 (WebCore::Widget::Widget):
15863 2008-09-18 David Hyatt <hyatt@apple.com>
15865 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
15866 was no reason for it to be on Widget. This change eliminates Qt ifdefs
15869 Reviewed by Sam Weinig
15871 * bindings/js/ScriptControllerQt.cpp:
15872 (WebCore::ScriptController::createScriptInstanceForWidget):
15873 * platform/qt/WidgetQt.cpp:
15874 (WebCore::WidgetPrivate::WidgetPrivate):
15875 (WebCore::WidgetPrivate::~WidgetPrivate):
15876 (WebCore::Widget::Widget):
15877 (WebCore::Widget::~Widget):
15878 * plugins/PluginView.cpp:
15879 (WebCore::PluginView::PluginView):
15880 * plugins/PluginView.h:
15881 (WebCore::PluginView::isNPAPIPlugin):
15882 (WebCore::PluginView::setIsNPAPIPlugin):
15884 2008-09-18 David Hyatt <hyatt@apple.com>
15886 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
15887 ifdefs are now gone from Widget!
15889 Reviewed by Sam Weinig
15891 * platform/Widget.h:
15892 (WebCore::Widget::geometryChanged):
15893 * platform/gtk/WidgetGtk.cpp:
15894 * platform/qt/WidgetQt.cpp:
15896 2008-09-18 David Hyatt <hyatt@apple.com>
15898 Consolidate convertTo/FromContainingWindow methods so that all platforms
15899 but Mac share the same code.
15901 Move convertSelfToChild and convertChildToSelf to ScrollView, since
15902 Widget should know nothing about children. Make the methods cross-platform
15905 Reviewed by Sam Weinig
15907 * platform/ScrollView.h:
15908 (WebCore::ScrollView::convertChildToSelf):
15909 (WebCore::ScrollView::convertSelfToChild):
15910 * platform/Widget.cpp:
15911 (WebCore::Widget::convertToContainingWindow):
15912 (WebCore::Widget::convertFromContainingWindow):
15913 * platform/Widget.h:
15914 (WebCore::Widget::geometryChanged):
15915 * platform/gtk/ScrollViewGtk.cpp:
15916 (WebCore::ScrollView::isScrollViewScrollbar):
15917 * platform/gtk/WidgetGtk.cpp:
15918 * platform/mac/ScrollViewMac.mm:
15919 (WebCore::ScrollView::isScrollViewScrollbar):
15920 * platform/mac/WidgetMac.mm:
15921 * platform/qt/ScrollViewQt.cpp:
15922 (WebCore::ScrollView::isScrollViewScrollbar):
15923 * platform/qt/WidgetQt.cpp:
15924 * platform/win/ScrollViewWin.cpp:
15925 (WebCore::ScrollView::isScrollViewScrollbar):
15926 * platform/win/WidgetWin.cpp:
15928 2008-09-18 David Hyatt <hyatt@apple.com>
15930 Make the conversion methods that go to and from some containingWindow
15931 cross-platform. Implement them on Mac.
15933 Reviewed by Sam Weinig
15935 * platform/Widget.h:
15936 (WebCore::Widget::setContainingWindow):
15937 * platform/mac/WidgetMac.mm:
15938 (WebCore::Widget::convertFromContainingWindow):
15939 (WebCore::Widget::convertToContainingWindow):
15941 2008-09-18 Sam Weinig <sam@webkit.org>
15943 Rubber-stamped by David "Yeah-yeah" Hyatt.
15945 Cleanup RenderStyle.
15947 * WebCore.xcodeproj/project.pbxproj:
15948 * rendering/style/CounterContent.h:
15949 * rendering/style/RenderStyle.cpp:
15950 * rendering/style/RenderStyle.h:
15952 2008-09-18 Chris Marrin <cmarrin@apple.com>
15954 Reviewed by Sam Weinig
15956 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
15957 Now TransformOperations and AnimationList no longer
15958 inherit from Vector<> but rather have API to access.
15960 * css/CSSComputedStyleDeclaration.cpp:
15961 (WebCore::computedTransform):
15962 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
15963 * css/CSSStyleSelector.cpp:
15964 (WebCore::CSSStyleSelector::createTransformOperations):
15965 * page/animation/AnimationBase.cpp:
15966 (WebCore::blendFunc):
15967 * page/animation/CompositeAnimation.cpp:
15968 (WebCore::CompositeAnimation::updateTransitions):
15969 (WebCore::CompositeAnimation::updateKeyframeAnimations):
15970 (WebCore::CompositeAnimation::animate):
15971 * page/animation/ImplicitAnimation.cpp:
15972 (WebCore::ImplicitAnimation::validateTransformFunctionList):
15973 * page/animation/KeyframeAnimation.cpp:
15974 (WebCore::KeyframeAnimation::validateTransformFunctionList):
15975 * rendering/RenderLayer.cpp:
15976 (WebCore::RenderLayer::updateReflectionStyle):
15977 * rendering/style/AnimationList.cpp:
15978 (WebCore::AnimationList::operator==):
15979 * rendering/style/AnimationList.h:
15980 (WebCore::AnimationList::operator!=):
15981 (WebCore::AnimationList::size):
15982 (WebCore::AnimationList::isEmpty):
15983 (WebCore::AnimationList::resize):
15984 (WebCore::AnimationList::remove):
15985 (WebCore::AnimationList::append):
15986 (WebCore::AnimationList::animation):
15987 * rendering/style/RenderStyle.cpp:
15988 (WebCore::StyleRareNonInheritedData::updateKeyframes):
15989 (WebCore::RenderStyle::applyTransform):
15990 (WebCore::RenderStyle::adjustAnimations):
15991 (WebCore::RenderStyle::adjustTransitions):
15992 (WebCore::RenderStyle::transitionForProperty):
15993 * rendering/style/RenderStyle.h:
15994 (WebCore::RenderStyle::hasTransform):
15995 * rendering/style/TransformOperations.cpp:
15996 (WebCore::TransformOperations::TransformOperations):
15997 (WebCore::TransformOperations::operator==):
15998 * rendering/style/TransformOperations.h:
15999 (WebCore::TransformOperations::apply):
16000 (WebCore::TransformOperations::operations):
16002 2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
16006 [qt] Build fixes after the Widget/ScrollView cleanup
16007 topLevel() is now root()
16010 * platform/qt/ScrollViewQt.cpp:
16011 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
16012 (WebCore::ScrollView::addChild):
16013 (WebCore::ScrollView::removeChild):
16015 2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
16017 Reviewed by Mark Rowe.
16019 https://bugs.webkit.org/show_bug.cgi?id=20437
16021 XMLTokenizer.cpp used to contain two different implementations. One was using
16022 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
16023 separating the two implementations from each other.
16024 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
16025 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
16026 XMLTokenizerLibxml2.cpp. There should be no functional changes.
16028 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
16033 * WebCore.vcproj/WebCore.vcproj:
16034 * WebCore.xcodeproj/project.pbxproj:
16035 * WebCoreSources.bkl:
16036 * dom/XMLTokenizer.cpp:
16037 (WebCore::isScriptElement):
16038 (WebCore::castToScriptElement):
16039 (WebCore::XMLTokenizer::setCurrentNode):
16040 (WebCore::XMLTokenizer::write):
16041 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
16042 (WebCore::XMLTokenizer::enterText):
16043 (WebCore::toString):
16044 (WebCore::XMLTokenizer::exitText):
16045 (WebCore::XMLTokenizer::end):
16046 (WebCore::XMLTokenizer::insertErrorMessageBlock):
16047 * dom/XMLTokenizer.h:
16048 (WebCore::XMLTokenizer::wellFormed):
16049 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
16050 (WebCore::createMemoryParser):
16051 (WebCore::XMLTokenizer::XMLTokenizer):
16052 (WebCore::XMLTokenizer::~XMLTokenizer):
16053 (WebCore::XMLTokenizer::doWrite):
16054 (WebCore::ignorableWhitespaceHandler):
16055 (WebCore::XMLTokenizer::initializeParserContext):
16056 (WebCore::XMLTokenizer::doEnd):
16057 (WebCore::XMLTokenizer::lineNumber):
16058 (WebCore::XMLTokenizer::columnNumber):
16059 (WebCore::XMLTokenizer::stopParsing):
16060 (WebCore::XMLTokenizer::resumeParsing):
16061 (WebCore::parseXMLDocumentFragment):
16062 (WebCore::attributesStartElementNsHandler):
16063 (WebCore::parseAttributes):
16064 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
16065 (WebCore::EntityResolver::resolveUndeclaredEntity):
16066 (WebCore::XMLTokenizer::XMLTokenizer):
16067 (WebCore::XMLTokenizer::~XMLTokenizer):
16068 (WebCore::XMLTokenizer::doWrite):
16069 (WebCore::XMLTokenizer::initializeParserContext):
16070 (WebCore::XMLTokenizer::doEnd):
16071 (WebCore::XMLTokenizer::lineNumber):
16072 (WebCore::XMLTokenizer::columnNumber):
16073 (WebCore::XMLTokenizer::stopParsing):
16074 (WebCore::XMLTokenizer::resumeParsing):
16075 (WebCore::parseXMLDocumentFragment):
16076 (WebCore::attributesStartElementNsHandler):
16077 (WebCore::parseAttributes):
16080 2008-09-18 Beth Dakin <bdakin@apple.com>
16082 Reviewed by Geoff Garen.
16084 Build fix for non-Mac builds.
16086 * css/CSSPrimitiveValue.cpp:
16087 (WebCore::CSSPrimitiveValue::cssText):
16089 2008-09-18 Peter Kasting <pkasting@google.com>
16091 Reviewed by hyatt. Landed by eseidel.
16093 https://bugs.webkit.org/show_bug.cgi?id=20745
16094 Animated GIFs do not animate properly with (at least) CG.
16096 * WebCore\platform\graphics\BitmapImage.cpp:
16097 * WebCore\platform\graphics\BitmapImage.h:
16098 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
16099 * WebCore\platform\graphics\cg\ImageCG.cpp:
16100 * WebCore\platform\graphics\qt\ImageQt.cpp:
16101 * WebCore\platform\graphics\wx\ImageWx.cpp:
16103 2008-09-18 Chris Fleizach <cfleizach@apple.com>
16105 Reviewed by Beth Dakin
16107 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
16108 role specifies otherwise
16110 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
16112 Test: accessibility/table-with-aria-role.html
16114 * page/AccessibilityTable.cpp:
16115 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
16116 (WebCore::AccessibilityTable::addChildren):
16117 (WebCore::AccessibilityTable::roleValue):
16118 (WebCore::AccessibilityTable::accessibilityIsIgnored):
16119 (WebCore::AccessibilityTable::title):
16120 * page/AccessibilityTableCell.cpp:
16121 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
16122 (WebCore::AccessibilityTableCell::isTableCell):
16123 (WebCore::AccessibilityTableCell::roleValue):
16124 * page/AccessibilityTableCell.h:
16125 * page/AccessibilityTableRow.cpp:
16126 (WebCore::AccessibilityTableRow::roleValue):
16127 (WebCore::AccessibilityTableRow::isTableRow):
16128 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
16129 * page/AccessibilityTableRow.h:
16131 2008-09-18 Steve Falkenburg <sfalken@apple.com>
16133 Use higher-resolution timers on all variants of Windows.
16135 Reviewed by Darin Adler.
16137 * platform/win/SharedTimerWin.cpp:
16138 (WebCore::setSharedTimerFireTime):
16141 2008-09-18 David Hyatt <hyatt@apple.com>
16143 Make containingWindow() and setContainingWindow() cross-platform.
16144 Add a root() function cross-platform so Qt doesn't have to
16147 Reviewed by Darin Adler
16149 * platform/Widget.cpp:
16150 (WebCore::Widget::root):
16151 * platform/Widget.h:
16152 (WebCore::Widget::setContainingWindow):
16153 * platform/gtk/WidgetGtk.cpp:
16154 (WebCore::Widget::Widget):
16155 (WebCore::Widget::containingWindow):
16156 * platform/mac/ScrollViewMac.mm:
16157 (WebCore::ScrollView::addChild):
16158 (WebCore::ScrollView::removeChild):
16159 * platform/mac/WidgetMac.mm:
16160 (WebCore::Widget::containingWindow):
16161 * platform/qt/WidgetQt.cpp:
16162 (WebCore::Widget::invalidateRect):
16163 (WebCore::Widget::containingWindow):
16164 * platform/win/WidgetWin.cpp:
16165 (WebCore::Widget::Widget):
16166 (WebCore::Widget::~Widget):
16167 (WebCore::Widget::containingWindow):
16169 2008-09-18 Beth Dakin <bdakin@apple.com>
16171 Reviewed by Dave Hyatt.
16173 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
16174 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
16176 and corresponding: <rdar://problem/6174100>
16178 This patch makes CSSParserValue::createCSSValue handle unknown
16181 * css/CSSParserValues.cpp:
16182 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
16183 with no id (an unknown identifier) create a CSSPrimitiveValue of
16184 type CSS_PARSER_IDENTIFIER
16185 * css/CSSPrimitiveValue.cpp:
16186 (WebCore::CSSPrimitiveValue::cssText):
16187 (WebCore::CSSPrimitiveValue::parserValue):
16188 * css/CSSPrimitiveValue.h:
16189 (WebCore::CSSPrimitiveValue::):
16191 2008-09-18 Sam Weinig <sam@webkit.org>
16193 Rubber-stamped by David "I'd prefer not" Hyatt.
16195 More the remaining class out of RenderStyle.h/cpp
16199 * WebCore.vcproj/WebCore.vcproj:
16200 * WebCore.xcodeproj/project.pbxproj:
16201 * WebCoreSources.bkl:
16202 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
16203 (WebCore::CursorData::CursorData):
16204 (WebCore::CursorData::operator==):
16205 (WebCore::CursorData::operator!=):
16206 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
16207 (WebCore::CursorList::operator[]):
16208 (WebCore::CursorList::CursorList):
16209 * rendering/style/RenderStyle.cpp:
16210 * rendering/style/RenderStyle.h:
16211 (WebCore::RenderStyle::deref):
16212 (WebCore::RenderStyle::hasOneRef):
16213 (WebCore::RenderStyle::InheritedFlags::operator!=):
16214 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
16215 (WebCore::RenderStyle::hasBackground):
16216 (WebCore::RenderStyle::outlineWidth):
16217 (WebCore::RenderStyle::autoWrap):
16218 (WebCore::RenderStyle::preserveNewline):
16219 (WebCore::RenderStyle::collapseWhiteSpace):
16220 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
16221 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
16222 (WebCore::RenderStyle::breakWords):
16223 (WebCore::RenderStyle::outlineOffset):
16224 (WebCore::RenderStyle::setLeft):
16225 (WebCore::RenderStyle::setRight):
16226 (WebCore::RenderStyle::setTop):
16227 (WebCore::RenderStyle::setBottom):
16228 (WebCore::RenderStyle::setDashboardRegion):
16229 (WebCore::RenderStyle::setBackgroundColor):
16230 (WebCore::RenderStyle::setBorderImage):
16231 (WebCore::RenderStyle::setBorderRadius):
16232 (WebCore::RenderStyle::setFontDescription):
16233 (WebCore::RenderStyle::adjustBackgroundLayers):
16234 (WebCore::RenderStyle::adjustMaskLayers):
16235 (WebCore::RenderStyle::deleteBindingURIs):
16236 (WebCore::RenderStyle::inheritBindingURIs):
16237 (WebCore::RenderStyle::isDisplayReplacedType):
16238 (WebCore::RenderStyle::isDisplayInlineType):
16239 (WebCore::RenderStyle::isOriginalDisplayInlineType):
16240 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
16241 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
16242 (WebCore::StyleInheritedData::operator!=):
16243 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
16244 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
16245 (WebCore::StyleRareInheritedData::operator!=):
16246 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
16247 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
16248 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
16250 2008-09-18 David Hyatt <hyatt@apple.com>
16252 Move the concept of suppression invalidation on Widgets to Scrollbar
16253 instead. Since this is only used by Scrollbars, there is no need for
16254 it to be on Widget.
16256 Reviewed by Sam Weinig
16258 * platform/Scrollbar.cpp:
16259 (WebCore::Scrollbar::Scrollbar):
16260 (WebCore::Scrollbar::invalidateRect):
16261 * platform/Scrollbar.h:
16262 (WebCore::Scrollbar::suppressInvalidation):
16263 (WebCore::Scrollbar::setSuppressInvalidation):
16264 * platform/Widget.h:
16265 * platform/gtk/WidgetGtk.cpp:
16266 (WebCore::Widget::Widget):
16267 (WebCore::Widget::invalidateRect):
16268 * platform/qt/WidgetQt.cpp:
16269 (WebCore::WidgetPrivate::WidgetPrivate):
16270 (WebCore::Widget::invalidateRect):
16271 * platform/win/WidgetWin.cpp:
16272 (WebCore::Widget::Widget):
16273 (WebCore::Widget::invalidateRect):
16275 2008-09-18 David Hyatt <hyatt@apple.com>
16277 Make invalidate() on Widget non-virtual and make it just call
16278 invalidateRect() on the boundsGeometry() of the Widget.
16280 Reviewed by Dan Bernstein
16282 * platform/Widget.h:
16283 (WebCore::Widget::boundsGeometry):
16284 (WebCore::Widget::invalidate):
16285 * platform/gtk/WidgetGtk.cpp:
16286 * platform/mac/WidgetMac.mm:
16287 * platform/qt/WidgetQt.cpp:
16288 * platform/win/WidgetWin.cpp:
16289 * platform/wx/WidgetWx.cpp:
16291 2008-09-18 Sam Weinig <sam@webkit.org>
16293 Rubber-stamped in exile by David Hyatt.
16295 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
16296 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
16301 * WebCore.vcproj/WebCore.vcproj:
16302 * WebCore.xcodeproj/project.pbxproj:
16303 * WebCoreSources.bkl:
16304 * css/CSSStyleSelector.cpp:
16305 * css/CSSStyleSelector.h:
16306 * page/animation/CompositeAnimation.cpp:
16307 * page/animation/KeyframeAnimation.cpp:
16308 * page/animation/KeyframeAnimation.h:
16309 * rendering/RenderCounter.h:
16310 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
16311 (WebCore::Animation::~Animation):
16312 (WebCore::Animation::animationsMatch):
16313 (WebCore::Animation::keyframeList):
16314 (WebCore::Animation::setAnimationKeyframe):
16315 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
16316 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
16317 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
16318 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
16319 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
16320 (WebCore::BindingURI::operator!=):
16321 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
16322 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
16323 (WebCore::ContentData::ContentData):
16324 (WebCore::ContentData::~ContentData):
16325 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
16326 (WebCore::CounterContent::CounterContent):
16327 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
16328 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
16329 (WebCore::CounterDirectives::CounterDirectives):
16330 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
16331 (WebCore::KeyframeList::insert):
16332 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
16333 (WebCore::KeyframeValue::KeyframeValue):
16334 (WebCore::KeyframeList::create):
16335 (WebCore::KeyframeList::KeyframeList):
16336 * rendering/style/RenderStyle.cpp:
16337 * rendering/style/RenderStyle.h:
16338 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
16339 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
16340 (WebCore::ShadowData::ShadowData):
16341 (WebCore::ShadowData::~ShadowData):
16342 (WebCore::ShadowData::operator!=):
16343 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
16344 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
16345 (WebCore::StyleFlexibleBoxData::operator!=):
16346 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
16347 (WebCore::TimingFunction::TimingFunction):
16348 (WebCore::TimingFunction::operator==):
16350 2008-09-18 Adele Peterson <adele@apple.com>
16352 Reviewed by Dan Bernstein.
16354 Fix RenderStyle leaks.
16356 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
16358 2008-09-18 Kevin McCullough <kmccullough@apple.com>
16360 Accidentally checked in code.
16362 * html/HTMLElementFactory.cpp:
16363 (WebCore::frameConstructor):
16364 (WebCore::iframeConstructor):
16366 2008-09-18 Kevin McCullough <kmccullough@apple.com>
16370 <rdar://problem/5722310> gracefully handle too many console messages
16372 - Keep track of the most previous message and then compare it to the
16373 subsequent messages as they come in. If there are multiple of the same
16374 message create a count that indicates the current number.
16376 * manual-tests/inspector/multiple-console-messages.html: Added.
16377 * page/inspector/Console.js:
16378 * page/inspector/inspector.css:
16380 2008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
16382 Reviewed by Alp Toker
16384 https://bugs.webkit.org/show_bug.cgi?id=20830
16385 [GTK] Don't use deprecated pango API
16387 Replace deprecated pango functions with non-deprecated ones for newer
16390 * platform/graphics/gtk/FontGtk.cpp:
16391 (WebCore::getDefaultPangoLayout):
16392 * platform/graphics/gtk/FontPlatformDataPango.cpp:
16393 (WebCore::FontPlatformData::FontPlatformData):
16395 2008-09-18 Alp Toker <alp@nuanti.com>
16397 Build fix for r36587. Add new sources (and sort the lists).
16401 2008-09-17 Sam Weinig <sam@webkit.org>
16405 * WebCore.vcproj/WebCore.vcproj:
16407 2008-09-17 David Hyatt <hyatt@apple.com>
16409 Switch back to having frameGeometry be virtual in order to keep Mac
16410 the way it used to be.
16412 Reviewed by Sam Weinig
16414 * WebCore.base.exp:
16415 * platform/Widget.cpp:
16416 (WebCore::Widget::setParent):
16417 * platform/Widget.h:
16418 * platform/gtk/WidgetGtk.cpp:
16419 (WebCore::Widget::frameGeometry):
16420 (WebCore::Widget::setFrameGeometry):
16421 * platform/mac/WidgetMac.mm:
16422 (WebCore::Widget::frameGeometry):
16423 (WebCore::Widget::setFrameGeometry):
16424 * platform/qt/WidgetQt.cpp:
16425 (WebCore::Widget::frameGeometry):
16426 (WebCore::Widget::setFrameGeometry):
16427 * platform/win/WidgetWin.cpp:
16428 (WebCore::Widget::frameGeometry):
16429 (WebCore::Widget::setFrameGeometry):
16430 * platform/wx/WidgetWx.cpp:
16431 (WebCore::Widget::frameGeometry):
16432 (WebCore::Widget::setFrameGeometry):
16433 * plugins/PluginView.cpp:
16434 (WebCore::PluginView::setFrameGeometry):
16435 (WebCore::PluginView::geometryChanged):
16436 * plugins/PluginView.h:
16437 * plugins/gtk/PluginViewGtk.cpp:
16438 (WebCore::PluginView::updatePluginWidget):
16439 * plugins/qt/PluginViewQt.cpp:
16440 (WebCore::PluginView::updatePluginWidget):
16441 * plugins/win/PluginViewWin.cpp:
16442 (WebCore::PluginView::updatePluginWidget):
16444 2008-09-17 Sam Weinig <sam@webkit.org>
16446 Reviewed by Mark Rowe.
16448 Fix assertion in DOMWindow::adjustWindowRect where we were passing
16449 in garbage values and were getting lucky that they were a not Nan.
16451 * bindings/js/JSDOMWindowBase.cpp:
16452 (WebCore::windowProtoFuncOpen):
16454 2008-09-17 Sam Weinig <sam@webkit.org>
16458 * rendering/style/MatrixTransformOperation.cpp:
16460 2008-09-17 Sam Weinig <sam@webkit.org>
16462 Rubber-stamped with love by David Hyatt.
16464 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
16465 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
16466 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
16470 * WebCore.vcproj/WebCore.vcproj:
16471 * WebCore.xcodeproj/project.pbxproj:
16472 * WebCoreSources.bkl:
16473 * css/CSSStyleSelector.cpp:
16474 * page/animation/AnimationBase.cpp:
16475 (WebCore::solveEpsilon):
16476 * rendering/RenderLayer.cpp:
16477 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16478 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16479 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16480 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
16481 * rendering/style/RenderStyle.cpp:
16482 * rendering/style/RenderStyle.h:
16483 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16484 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16485 (WebCore::RotateTransformOperation::RotateTransformOperation):
16486 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16487 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16488 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
16489 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16490 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16491 (WebCore::SkewTransformOperation::SkewTransformOperation):
16492 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
16493 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
16494 (WebCore::StyleTransformData::operator!=):
16495 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
16496 (WebCore::TransformOperation::):
16497 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
16498 (WebCore::TransformOperations::TransformOperations):
16499 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
16500 (WebCore::TransformOperations::operator!=):
16501 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16502 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16503 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
16505 2008-09-17 Mark Rowe <mrowe@apple.com>
16509 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
16511 2008-09-17 David Hyatt <hyatt@apple.com>
16513 (1) Inline a bunch of methods for accessing frame geometry.
16514 (2) Make sure frameGeometry() works even when you have no underlying
16516 (3) Cache a frame geometry rect cross-platform (even for widgets that
16517 have underlying native widgets.
16518 (4) PluginView's updateWindow call is now a virtual function on Widget.
16520 Reviewed by Sam Weinig
16523 * WebCore.base.exp:
16524 * platform/Widget.cpp:
16525 (WebCore::Widget::setFrameGeometry):
16526 * platform/Widget.h:
16527 (WebCore::Widget::x):
16528 (WebCore::Widget::y):
16529 (WebCore::Widget::width):
16530 (WebCore::Widget::height):
16531 (WebCore::Widget::size):
16532 (WebCore::Widget::pos):
16533 (WebCore::Widget::frameGeometry):
16534 (WebCore::Widget::resize):
16535 (WebCore::Widget::move):
16536 (WebCore::Widget::isFrameView):
16537 (WebCore::Widget::windowClipRect):
16538 * platform/mac/WidgetMac.mm:
16539 (WebCore::Widget::~Widget):
16540 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
16541 * platform/win/WidgetWin.cpp:
16542 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
16543 * plugins/PluginView.cpp:
16544 (WebCore::PluginView::setFrameGeometry):
16545 (WebCore::PluginView::geometryChanged):
16546 * plugins/PluginView.h:
16547 * plugins/gtk/PluginViewGtk.cpp:
16548 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
16549 * plugins/qt/PluginViewQt.cpp:
16550 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
16551 * plugins/win/PluginViewWin.cpp:
16552 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
16553 * plugins/wx/PluginViewWx.cpp:
16555 2008-09-17 Sam Weinig <sam@webkit.org>
16557 Reviewed by David "Waterman" Hyatt.
16559 Fix a leak of NSViews in WidgetMac.mm.
16561 * platform/mac/WidgetMac.mm:
16562 (WebCore::Widget::~Widget):
16564 2008-09-17 Sam Weinig <sam@webkit.org>
16566 Rubber-stamped by David Waterman Hyatt.
16568 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
16569 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
16573 * WebCore.vcproj/WebCore.vcproj:
16574 * WebCore.xcodeproj/project.pbxproj:
16575 * WebCoreSources.bkl:
16576 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
16577 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
16578 (WebCore::FillLayer::operator!=):
16579 (WebCore::FillLayer::hasImage):
16580 (WebCore::FillLayer::hasFixedImage):
16581 * rendering/style/RenderStyle.cpp:
16582 * rendering/style/RenderStyle.h:
16583 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
16584 (WebCore::StyleBackgroundData::StyleBackgroundData):
16585 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
16586 (WebCore::StyleBackgroundData::~StyleBackgroundData):
16587 (WebCore::StyleBackgroundData::operator!=):
16588 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
16589 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
16590 (WebCore::StyleBoxData::operator!=):
16591 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
16592 (WebCore::StyleDashboardRegion::operator!=):
16593 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
16594 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
16595 (WebCore::StyleMarqueeData::operator!=):
16596 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
16597 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
16598 (WebCore::StyleMultiColData::operator!=):
16599 (WebCore::StyleMultiColData::ruleWidth):
16600 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
16601 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
16602 (WebCore::StyleVisualData::operator==):
16604 2008-09-17 David Hyatt <hyatt@apple.com>
16606 Remove WidgetClient from Widget.
16608 Reviewed by Sam Weinig
16610 * WebCore.xcodeproj/project.pbxproj:
16611 * platform/Widget.h:
16612 (WebCore::Widget::setClient):
16613 (WebCore::Widget::client):
16614 * platform/WidgetClient.h: Removed.
16615 * platform/gtk/WidgetGtk.cpp:
16616 * platform/mac/WidgetMac.mm:
16617 (WebCore::Widget::Widget):
16618 (WebCore::Widget::show):
16619 (WebCore::Widget::hide):
16620 * platform/qt/WidgetQt.cpp:
16621 (WebCore::WidgetPrivate::WidgetPrivate):
16622 * platform/win/WidgetWin.cpp:
16623 (WebCore::Widget::Widget):
16624 * platform/wx/WidgetWx.cpp:
16625 (WebCore::Widget::Widget):
16627 2008-09-17 David Hyatt <hyatt@apple.com>
16629 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
16630 only applies to Scrollbars so the method has been moved there and made
16631 cross-platform. Scrollbar subclasses that have a corresponding native
16632 widget can subclass setEnabled to change the enabled state of the native
16635 Reviewed by Sam Weinig & Darin Adler
16637 * WebCore.base.exp:
16638 * platform/Scrollbar.cpp:
16639 (WebCore::Scrollbar::Scrollbar):
16640 * platform/Scrollbar.h:
16641 (WebCore::Scrollbar::enabled):
16642 (WebCore::Scrollbar::setEnabled):
16643 * platform/Widget.h:
16644 * platform/gtk/ScrollbarGtk.cpp:
16645 (ScrollbarGtk::setEnabled):
16646 * platform/gtk/ScrollbarGtk.h:
16647 * platform/gtk/WidgetGtk.cpp:
16648 * platform/mac/ScrollbarMac.h:
16649 * platform/mac/ScrollbarMac.mm:
16650 (WebCore::ScrollbarMac::scrollbarHit):
16651 (WebCore::ScrollbarMac::setEnabled):
16652 * platform/mac/WidgetMac.mm:
16653 * platform/qt/WidgetQt.cpp:
16654 (WebCore::WidgetPrivate::WidgetPrivate):
16655 * platform/win/WidgetWin.cpp:
16656 (WebCore::Widget::Widget):
16657 * platform/wx/WidgetWx.cpp:
16659 2008-09-17 Sam Weinig <sam@webkit.org>
16661 Rubber-stamped by David Hyatt.
16663 Split all RenderStyle enums into their own file.
16666 * WebCore.vcproj/WebCore.vcproj:
16667 * WebCore.xcodeproj/project.pbxproj:
16668 * rendering/style/BorderValue.h:
16669 * rendering/style/CollapsedBorderValue.h:
16670 * rendering/style/RenderStyle.h:
16671 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
16673 * rendering/style/StyleCachedImage.h:
16674 * rendering/style/StyleGeneratedImage.h:
16675 * rendering/style/StyleImage.h:
16677 2008-09-17 Steve Falkenburg <sfalken@apple.com>
16679 Add back isFrameView check to fix failed assertion during scroll bar teardown.
16681 Reviewed by Dave Hyatt.
16683 * platform/Scrollbar.cpp:
16684 (WebCore::Scrollbar::setParent):
16686 2008-09-17 Brady Eidson <beidson@apple.com>
16688 Reviewed by Mac build fix
16690 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
16692 2008-09-17 Steve Falkenburg <sfalken@apple.com>
16696 * platform/win/ScrollViewWin.cpp:
16697 (WebCore::ScrollView::setParentVisible):
16698 * plugins/win/PluginViewWin.cpp:
16699 (WebCore::PluginView::init):
16701 2008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
16705 [QtWebKit] Implement error handling in TextCodecQt::decode
16706 Use the QTextCodec parsing state to set the sawError out variable. This
16707 is needed to pass Test 70 of acid3. The test case for this bug is
16708 fast/encoding/invalid-xml.html that is now partially passed. To pass
16709 it completely the Qt text codecs need to be adjusted to have proper
16712 * platform/text/qt/TextCodecQt.cpp:
16713 (WebCore::TextCodecQt::decode):
16715 2008-09-17 Sam Weinig <sam@webkit.org>
16717 Rubber-stamped by Dave Hyatt.
16719 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
16720 out of RenderStyle.h/cpp
16724 * WebCore.vcproj/WebCore.vcproj:
16725 * WebCore.xcodeproj/project.pbxproj:
16726 * WebCoreSources.bkl:
16727 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
16728 (WebCore::BorderData::hasBorderRadius):
16729 (WebCore::BorderData::borderLeftWidth):
16730 (WebCore::BorderData::borderRightWidth):
16731 (WebCore::BorderData::borderTopWidth):
16732 (WebCore::BorderData::borderBottomWidth):
16733 (WebCore::BorderData::operator!=):
16734 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
16736 (WebCore::BorderValue::BorderValue):
16737 (WebCore::BorderValue::nonZero):
16738 (WebCore::BorderValue::isTransparent):
16739 (WebCore::BorderValue::isVisible):
16740 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
16742 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
16743 (WebCore::CollapsedBorderValue::operator==):
16744 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
16745 (WebCore::OutlineValue::OutlineValue):
16746 * rendering/style/RenderStyle.cpp:
16747 * rendering/style/RenderStyle.h:
16748 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
16749 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
16750 (WebCore::StyleSurroundData::operator!=):
16752 2008-09-17 Beth Dakin <bdakin@apple.com>
16754 Reviewed by Darin Adler.
16756 This is a better fix for: Invalid CSS code crashes Safari
16757 https://bugs.webkit.org/show_bug.cgi?id=20512
16759 The spec indicates that the only valid input for a counter is a
16760 number or an identifier. So that is exactly what we allow.
16762 * css/CSSParser.cpp:
16763 (WebCore::CSSParser::parseCounterContent):
16765 2008-09-17 Alp Toker <alp@nuanti.com>
16767 GTK+ build fix. Adapt to use PlatformWidget functions.
16769 * platform/gtk/ScrollViewGtk.cpp:
16770 (WebCore::ScrollViewScrollbar::geometryChanged):
16771 (WebCore::ScrollView::addChild):
16772 (WebCore::ScrollView::removeChild):
16773 * platform/gtk/ScrollbarGtk.cpp:
16774 (ScrollbarGtk::ScrollbarGtk):
16775 (ScrollbarGtk::~ScrollbarGtk):
16776 (ScrollbarGtk::geometryChanged):
16778 2008-09-17 Sam Weinig <sam@webkit.org>
16780 Reviewed by Adele Peterson.
16782 Patch for <rdar://problem/6133884>
16783 Calling window.resizeTo() on a subframe shouldn't change the window size
16785 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
16787 * page/DOMWindow.cpp:
16788 (WebCore::DOMWindow::moveBy):
16789 (WebCore::DOMWindow::moveTo):
16790 (WebCore::DOMWindow::resizeBy):
16791 (WebCore::DOMWindow::resizeTo):
16793 2008-09-17 Beth Dakin <bdakin@apple.com>
16795 Reviewed by Adam Roben.
16797 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
16798 code crashes Safari
16799 and corresponding: <rdar://problem/6173832>
16801 Reading through the spec, it seems like a function is not valid
16802 input for a counter. So this patch checks for that and bails in the
16803 case of invalid input.
16805 * css/CSSParser.cpp:
16806 (WebCore::CSSParser::parseCounterContent):
16808 2008-09-17 Greg Bolsinga <bolsinga@apple.com>
16810 Reviewed by Antti Koivisto.
16812 Fix <rdar://problem/6227089>
16813 Crash in WebCore::Frame::setNeedsReapplyStyles()
16815 View is null checked elsewhere too.
16818 (WebCore::Frame::setNeedsReapplyStyles):
16820 2008-09-17 David Hyatt <hyatt@apple.com>
16822 Make the notion of having a native widget backing a Widget cross-platform.
16823 The PlatformWidget abstraction (which already existed) is used for this.
16830 There are new cross-platform methods that replace all of the unique
16831 platform-specific methods.
16833 setPlatformWidget()
16835 For plugins, on every platform except Qt on Windows, the plugin's native
16836 widget is now stored in the Widget base class. Since Qt on Windows uses
16837 HWNDs for plugins instead of QWidget, it is the only platform to keep the
16838 m_window variable in PluginView.
16840 Reviewed by Sam Weinig
16842 * WebCore.base.exp:
16843 * bindings/js/ScriptControllerMac.mm:
16844 (WebCore::ScriptController::createScriptInstanceForWidget):
16845 * page/mac/AccessibilityObjectWrapper.mm:
16846 (-[AccessibilityObjectWrapper attachmentView]):
16847 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
16848 * page/mac/EventHandlerMac.mm:
16849 (WebCore::EventHandler::passMouseDownEventToWidget):
16850 (WebCore::EventHandler::mouseDownViewIfStillGood):
16851 (WebCore::EventHandler::passWheelEventToWidget):
16852 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
16853 * platform/Widget.cpp:
16854 (WebCore::Widget::init):
16855 (WebCore::Widget::setParent):
16856 (WebCore::Widget::releasePlatformWidget):
16857 (WebCore::Widget::retainPlatformWidget):
16858 * platform/Widget.h:
16859 (WebCore::Widget::platformWidget):
16860 (WebCore::Widget::setPlatformWidget):
16861 * platform/gtk/WidgetGtk.cpp:
16862 (WebCore::Widget::Widget):
16863 (WebCore::Widget::setFocus):
16864 (WebCore::gdkDrawable):
16865 (WebCore::Widget::setCursor):
16866 (WebCore::Widget::show):
16867 (WebCore::Widget::hide):
16868 (WebCore::Widget::setEnabled):
16869 (WebCore::Widget::isEnabled):
16870 (WebCore::Widget::paint):
16871 * platform/mac/PlatformScreenMac.mm:
16872 (WebCore::screenRect):
16873 (WebCore::screenAvailableRect):
16874 * platform/mac/ScrollViewMac.mm:
16875 (WebCore::ScrollView::scrollView):
16876 (WebCore::ScrollView::update):
16877 (WebCore::ScrollView::inWindow):
16878 * platform/mac/ScrollbarMac.mm:
16879 (WebCore::ScrollbarMac::ScrollbarMac):
16880 (WebCore::ScrollbarMac::~ScrollbarMac):
16881 (WebCore::ScrollbarMac::updateThumbPosition):
16882 (WebCore::ScrollbarMac::updateThumbProportion):
16883 (WebCore::ScrollbarMac::scrollbarHit):
16884 * platform/mac/WidgetMac.mm:
16885 (WebCore::Widget::Widget):
16886 (WebCore::Widget::setEnabled):
16887 (WebCore::Widget::isEnabled):
16888 (WebCore::Widget::setFocus):
16889 (WebCore::Widget::getOuterView):
16890 (WebCore::Widget::paint):
16891 (WebCore::Widget::invalidate):
16892 (WebCore::Widget::invalidateRect):
16893 (WebCore::Widget::setIsSelected):
16894 (WebCore::Widget::releasePlatformWidget):
16895 (WebCore::Widget::retainPlatformWidget):
16896 * platform/qt/WidgetQt.cpp:
16897 (WebCore::WidgetPrivate::WidgetPrivate):
16898 (WebCore::Widget::Widget):
16899 (WebCore::Widget::setFrameGeometry):
16900 (WebCore::Widget::show):
16901 (WebCore::Widget::hide):
16902 (WebCore::Widget::isEnabled):
16903 (WebCore::Widget::setEnabled):
16904 (WebCore::Widget::invalidateRect):
16905 (WebCore::Widget::containingWindow):
16906 * platform/win/WidgetWin.cpp:
16907 (WebCore::Widget::Widget):
16908 * platform/wx/WidgetWx.cpp:
16909 (WebCore::Widget::Widget):
16910 (WebCore::Widget::frameGeometry):
16911 (WebCore::Widget::setFocus):
16912 (WebCore::Widget::setCursor):
16913 (WebCore::Widget::show):
16914 (WebCore::Widget::hide):
16915 (WebCore::Widget::setFrameGeometry):
16916 (WebCore::Widget::setEnabled):
16917 (WebCore::Widget::isEnabled):
16918 (WebCore::Widget::invalidate):
16919 (WebCore::Widget::invalidateRect):
16920 (WebCore::Widget::paint):
16921 * plugins/PluginView.cpp:
16922 (WebCore::PluginView::PluginView):
16923 * plugins/PluginView.h:
16924 (WebCore::PluginView::platformPluginWidget):
16925 * plugins/gtk/PluginViewGtk.cpp:
16926 (WebCore::PluginView::updateWindow):
16927 (WebCore::PluginView::setFocus):
16928 (WebCore::PluginView::show):
16929 (WebCore::PluginView::hide):
16930 (WebCore::PluginView::setParent):
16931 (WebCore::PluginView::setNPWindowRect):
16932 (WebCore::PluginView::setParentVisible):
16933 (WebCore::PluginView::getValue):
16934 (WebCore::PluginView::forceRedraw):
16935 (WebCore::PluginView::init):
16936 * plugins/qt/PluginViewQt.cpp:
16937 (WebCore::PluginView::updateWindow):
16938 (WebCore::PluginView::setFocus):
16939 (WebCore::PluginView::show):
16940 (WebCore::PluginView::hide):
16941 (WebCore::PluginView::setParent):
16942 (WebCore::PluginView::setNPWindowRect):
16943 (WebCore::PluginView::setParentVisible):
16944 (WebCore::PluginView::getValue):
16945 (WebCore::PluginView::~PluginView):
16946 (WebCore::PluginView::init):
16947 * plugins/win/PluginViewWin.cpp:
16948 (WebCore::PluginView::updateWindow):
16949 (WebCore::PluginView::setFocus):
16950 (WebCore::PluginView::show):
16951 (WebCore::PluginView::hide):
16952 (WebCore::PluginView::paint):
16953 (WebCore::PluginView::setParent):
16954 (WebCore::PluginView::setParentVisible):
16955 (WebCore::PluginView::setNPWindowRect):
16956 (WebCore::PluginView::stop):
16957 (WebCore::PluginView::invalidateRect):
16958 (WebCore::PluginView::forceRedraw):
16959 (WebCore::PluginView::~PluginView):
16960 (WebCore::PluginView::init):
16962 2008-09-17 Sam Weinig <sam@webkit.org>
16966 * platform/Widget.cpp:
16967 (WebCore::Widget::setParent):
16969 2008-09-17 David Hyatt <hyatt@apple.com>
16971 Beginnings of Widget refactoring (in order to make the mixing of
16972 widgets with and without corresponding native widgets more cross-platform).
16974 This first patch makes the concept of a parent ScrollView cross-platform.
16976 Note the similarity of the show/hide methods on the three PluginViews. This
16977 will be refactored better in a later patch so that they can all share
16978 a base class Widget show/hide method. For now the changes were made
16979 simply to be able to bring WidgetWin's setParent method up into Widget.
16981 Reviewed by Sam Weinig
16983 * WebCore.base.exp:
16984 * platform/ScrollView.h:
16985 * platform/Widget.cpp:
16986 (WebCore::Widget::init):
16987 (WebCore::Widget::setParent):
16988 * platform/Widget.h:
16989 (WebCore::Widget::isSelfVisible):
16990 (WebCore::Widget::isParentVisible):
16991 (WebCore::Widget::isVisible):
16992 (WebCore::Widget::setParentVisible):
16993 (WebCore::Widget::isPluginView):
16994 (WebCore::Widget::parent):
16995 (WebCore::Widget::handleEvent):
16996 (WebCore::Widget::geometryChanged):
16997 * platform/gtk/WidgetGtk.cpp:
16998 (WebCore::Widget::Widget):
16999 * platform/mac/ScrollViewMac.mm:
17000 (WebCore::ScrollView::addChild):
17001 (WebCore::ScrollView::removeChild):
17002 * platform/mac/ScrollbarMac.mm:
17003 (WebCore::ScrollbarMac::~ScrollbarMac):
17004 * platform/mac/WidgetMac.mm:
17005 (WebCore::Widget::Widget):
17006 (WebCore::Widget::~Widget):
17007 * platform/qt/WidgetQt.cpp:
17008 (WebCore::WidgetPrivate::WidgetPrivate):
17009 (WebCore::Widget::Widget):
17010 (WebCore::Widget::topLevel):
17011 * platform/win/ScrollViewWin.cpp:
17012 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
17013 (WebCore::ScrollView::setAncestorVisible):
17014 (WebCore::ScrollView::show):
17015 (WebCore::ScrollView::hide):
17016 * platform/win/WidgetWin.cpp:
17017 (WebCore::Widget::Widget):
17018 (WebCore::Widget::setParent):
17019 * platform/wx/WidgetWx.cpp:
17020 (WebCore::Widget::Widget):
17021 * plugins/PluginView.cpp:
17022 (WebCore::PluginView::PluginView):
17023 * plugins/PluginView.h:
17024 * plugins/gtk/PluginViewGtk.cpp:
17025 (WebCore::PluginView::show):
17026 (WebCore::PluginView::hide):
17027 (WebCore::PluginView::setParentVisible):
17028 * plugins/qt/PluginViewQt.cpp:
17029 (WebCore::PluginView::show):
17030 (WebCore::PluginView::hide):
17031 (WebCore::PluginView::setParentVisible):
17032 * plugins/win/PluginViewWin.cpp:
17033 (WebCore::PluginView::show):
17034 (WebCore::PluginView::hide):
17035 (WebCore::PluginView::setParentVisible):
17037 2008-09-17 Alexey Proskuryakov <ap@webkit.org>
17039 Reviewed by Adam Roben.
17041 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
17043 * platform/text/TextCodecICU.cpp:
17044 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
17046 2008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
17048 Fix the QtWebKit/Mac build
17050 * platform/qt/ScrollViewQt.cpp: add include
17052 2008-09-17 David Hyatt <hyatt@apple.com>
17054 Add a #define to control whether or not to use an NSScroller on Mac.
17055 This ifdef will allow the new NSView-less NSScroller on Mac to be
17056 developed side by side with the current one.
17058 The new scroller paints a debug red if turned on (although due to
17059 Widget issues you won't see anything paint yet).
17063 * platform/Scrollbar.cpp:
17064 * platform/Scrollbar.h:
17065 * platform/mac/ScrollbarMac.h:
17066 * platform/mac/ScrollbarMac.mm:
17067 * platform/mac/ScrollbarThemeMac.cpp:
17068 (WebCore::ScrollbarThemeMac::paint):
17069 * platform/mac/ScrollbarThemeMac.h:
17071 2008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
17073 Reviewed by Alp Toker.
17075 http://bugs.webkit.org/show_bug.cgi?id=20854
17076 [GTK] Windows can be not realized in ScrollView::update
17078 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
17080 * platform/gtk/ScrollViewGtk.cpp:
17081 (WebCore::ScrollView::update):
17083 2008-09-16 Alp Toker <alp@nuanti.com>
17085 Suggested by Dave Hyatt.
17087 Build fix and cleanup. Rename ScrollBar to Scrollbar.
17091 * WebCore.vcproj/WebCore.vcproj:
17092 * WebCore.xcodeproj/project.pbxproj:
17093 * WebCoreSources.bkl:
17094 * editing/EditorCommand.cpp:
17095 * page/EventHandler.cpp:
17096 * page/gtk/EventHandlerGtk.cpp:
17097 * page/mac/EventHandlerMac.mm:
17098 * page/mac/FrameMac.mm:
17099 * page/qt/EventHandlerQt.cpp:
17100 * page/wx/EventHandlerWx.cpp:
17101 * platform/PopupMenu.h:
17102 * platform/ScrollBar.cpp: Removed.
17103 * platform/ScrollBar.h: Removed.
17104 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
17105 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
17106 * platform/gtk/ScrollbarGtk.cpp:
17107 (ScrollbarGtk::ScrollbarGtk):
17108 * platform/gtk/ScrollbarGtk.h:
17109 * platform/mac/ScrollbarMac.h:
17110 * platform/qt/ScrollViewQt.cpp:
17111 * platform/qt/ScrollbarQt.cpp:
17112 * platform/qt/ScrollbarThemeQt.cpp:
17113 * platform/win/PlatformScrollBar.h:
17114 * platform/win/PopupMenuWin.cpp:
17115 * platform/win/ScrollViewWin.cpp:
17116 * platform/win/ScrollbarThemeWin.cpp:
17117 * platform/wx/ScrollViewWx.cpp:
17118 * platform/wx/TemporaryLinkStubs.cpp:
17119 * rendering/HitTestResult.cpp:
17120 * rendering/RenderLayer.cpp:
17121 * rendering/RenderTextControl.cpp:
17123 2008-09-16 David Hyatt <hyatt@apple.com>
17125 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
17126 it can be called from ScrollbarQt.
17128 * platform/ScrollBar.cpp:
17129 (WebCore::Scrollbar::moveThumb):
17130 (WebCore::Scrollbar::handleMouseMoveEvent):
17131 (WebCore::Scrollbar::handleMousePressEvent):
17132 * platform/ScrollBar.h:
17133 * platform/qt/ScrollViewQt.cpp:
17134 * platform/qt/ScrollbarQt.cpp:
17135 (WebCore::Scrollbar::handleContextMenuEvent):
17137 2008-09-16 David Hyatt <hyatt@apple.com>
17139 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
17140 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
17141 now just use Scrollbar.
17143 Reviewed by Sam Weinig
17147 * WebCore.vcproj/WebCore.vcproj:
17148 * WebCore.xcodeproj/project.pbxproj:
17149 * page/mac/FrameMac.mm:
17150 * platform/PopupMenu.h:
17151 (WebCore::PopupMenu::scrollbar):
17152 * platform/ScrollBar.cpp:
17153 (WebCore::createNativeScrollbar):
17154 * platform/ScrollBar.h:
17155 * platform/gtk/PlatformScrollBar.h: Removed.
17156 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
17157 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
17158 (gtkScrollEventCallback):
17159 (ScrollbarGtk::ScrollbarGtk):
17160 (ScrollbarGtk::~ScrollbarGtk):
17161 (ScrollbarGtk::updateThumbPosition):
17162 (ScrollbarGtk::updateThumbProportion):
17163 (ScrollbarGtk::setFrameGeometry):
17164 (ScrollbarGtk::geometryChanged):
17165 (ScrollbarGtk::gtkValueChanged):
17166 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
17167 * platform/mac/PlatformScrollBar.h: Removed.
17168 * platform/mac/PlatformScrollBarMac.mm: Removed.
17169 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
17170 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
17171 (-[WebCoreScrollBar initWithScrollbarMac:]):
17172 (-[WebCoreScrollBar detachScrollbarMac]):
17173 (WebCore::Scrollbar::createNativeScrollbar):
17174 (WebCore::ScrollbarMac::ScrollbarMac):
17175 (WebCore::ScrollbarMac::~ScrollbarMac):
17176 (WebCore::ScrollbarMac::updateThumbPosition):
17177 (WebCore::ScrollbarMac::updateThumbProportion):
17178 (WebCore::ScrollbarMac::scrollbarHit):
17179 * platform/qt/PlatformScrollBar.h: Removed.
17180 * platform/qt/PlatformScrollBarQt.cpp: Removed.
17181 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
17182 (WebCore::Scrollbar::handleContextMenuEvent):
17183 * rendering/HitTestResult.cpp:
17184 * rendering/RenderLayer.cpp:
17185 (WebCore::RenderLayer::createScrollbar):
17186 (WebCore::RenderLayer::destroyScrollbar):
17187 * rendering/RenderLayer.h:
17188 * rendering/RenderListBox.cpp:
17189 (WebCore::RenderListBox::~RenderListBox):
17190 (WebCore::RenderListBox::updateFromElement):
17191 (WebCore::RenderListBox::isPointInOverflowControl):
17192 * rendering/RenderObject.h:
17193 * rendering/RenderTextControl.cpp:
17195 2008-09-16 David Hyatt <hyatt@apple.com>
17197 Make the scrollbar resizer-dodging logic cross-platform in the
17200 Reviewed by Sam Weinig
17202 * platform/ScrollBar.cpp:
17203 (WebCore::Scrollbar::setFrameGeometry):
17204 (WebCore::Scrollbar::setParent):
17205 (WebCore::Scrollbar::windowClipRect):
17206 * platform/ScrollBar.h:
17207 * platform/ScrollView.h:
17208 (WebCore::ScrollView::windowResizerRect):
17209 (WebCore::ScrollView::resizerOverlapsContent):
17210 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
17211 * platform/Widget.h:
17212 (WebCore::Widget::setParent):
17213 * platform/mac/WidgetMac.mm:
17214 (WebCore::Widget::convertToContainingWindow):
17215 * platform/win/PlatformScrollBar.h:
17216 * platform/win/PlatformScrollBarWin.cpp:
17218 2008-09-16 Dan Bernstein <mitz@apple.com>
17220 Reviewed by Darin Adler.
17222 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
17223 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
17225 Covered by fast/repaint/4776765.html
17227 * rendering/RenderBlock.cpp:
17228 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
17229 did not have layout in the beginning.
17230 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
17231 layout in the beginning, repaint it in its new position, to compensate
17232 for the above (regardless of whether it "moved").
17233 * rendering/RenderObject.cpp:
17234 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
17235 about generalizing this fix in the future.
17237 2008-09-16 Dan Bernstein <mitz@apple.com>
17239 Reviewed by Dave Hyatt.
17241 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
17242 Div does not notice when grandparent changes height
17244 Test: fast/block/basic/quirk-percent-height-grandchild.html
17246 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
17247 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
17249 Test: fast/replaced/percent-height-in-anonymous-block.html
17251 Added a two-way mapping between boxes with percentage heights and
17252 their non-parent ancestors up to the one the height is computed relative
17253 to. In quirks mode (the first bug), this can be any number of containing
17254 block with auto height. In strict mode (the second bug) this can be
17255 the containing block of an anonymous block containing a replaced
17258 * rendering/RenderBlock.cpp:
17259 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
17260 mapping to/from this block to percentage-height descendants.
17261 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
17262 percentage-height descendants (and their containing block ancestry chain
17263 up to this block) for layout. This ensures that those descendants whose
17264 height depends on the height of this block (or an ancestor) are updated.
17265 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
17266 a two-way mapping between this block and the given box.
17267 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
17268 all the mapping to/from this box.
17269 * rendering/RenderBlock.h:
17270 * rendering/RenderBox.cpp:
17271 (WebCore::RenderBox::setStyle): Added calls to
17272 removePercentHeightDescendant() when style changes and the box
17273 previously had a percentage height. An exception is when the style
17274 change does not require layout, in which case the box still has
17275 a percentage height and the mappings are valid. In all other cases,
17276 any required mappings will be (re-)established during layout.
17277 (WebCore::RenderBox::destroy): Added a call to
17278 removePercentHeightDescendant.
17279 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
17280 mode, if a higher-than-parent containing block is affecting the box's
17281 height, creates a mapping between the box and that block.
17282 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
17283 anonymous containing blocks, if any, and when that happens, use
17284 addPercentHeightDescendant() to ensure that the non-anonymous block
17285 is aware of the dependent percent-height box.
17287 2008-09-16 Dirk Schulze <vbs85@gmx.de>
17289 Reviewed by Oliver Hunt and Alp Toker.
17291 Implemented toDataURL in Cairo. Only PNG support
17294 Qt, Cairo and wx require toDataURL implementations
17295 https://bugs.webkit.org/show_bug.cgi?id=17719
17297 * platform/MIMETypeRegistry.cpp:
17298 (WebCore::initializeSupportedImageMIMETypesForEncoding):
17299 * platform/graphics/cairo/ImageBufferCairo.cpp:
17300 (WebCore::ImageBuffer::ImageBuffer):
17301 (WebCore::writeFunction):
17302 (WebCore::ImageBuffer::toDataURL):
17304 2008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
17308 Hide unused media element controls in the QtWebKit port
17310 * platform/qt/html4-adjustments-qt.css
17312 2008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
17316 Fix compilation of the Qt scrollbar code.
17318 * platform/qt/PlatformScrollBarQt.cpp:
17320 (WebCore::styleOptionSlider):
17321 (WebCore::thumbLength):
17322 (WebCore::pixelPosToRangeValue):
17323 (WebCore::PlatformScrollbar::handleContextMenuEvent):
17325 2008-09-16 Adam Treat <treat@kde.org>
17327 Reviewed by Anders Carlsson.
17329 Prevent accesses off of the end of the buffer introduced in r36450
17330 and when checking for descriptions of mime. Also, coding style fix.
17332 * plugins/qt/PluginPackageQt.cpp:
17333 (WebCore::PluginPackage::fetchInfo):
17335 2008-09-15 Rob Buis <buis@kde.org>
17339 https://bugs.webkit.org/show_bug.cgi?id=20634
17340 SVG transform attribute is ignored by <use> in <clipPath>
17342 Transform the paths with the local transform when part
17345 Test: svg/custom/use-clipped-transform.svg
17347 * svg/SVGClipPathElement.cpp:
17348 (WebCore::SVGClipPathElement::canvasResource):
17349 * svg/SVGStyledTransformableElement.cpp:
17350 (WebCore::SVGStyledTransformableElement::toClipPath):
17351 * svg/SVGStyledTransformableElement.h:
17353 2008-09-15 Dave Hyatt <hyatt@apple.com>
17355 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
17356 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
17358 Reviewed by Sam Weinig
17360 * platform/ScrollBar.cpp:
17361 (WebCore::thumbUnderMouse):
17362 (WebCore::Scrollbar::autoscrollPressedPart):
17363 (WebCore::Scrollbar::startTimerIfNeeded):
17364 (WebCore::moveThumb):
17365 (WebCore::Scrollbar::handleMouseMoveEvent):
17366 (WebCore::Scrollbar::handleMousePressEvent):
17367 * platform/ScrollBar.h:
17368 (WebCore::Scrollbar::pressedPos):
17369 (WebCore::Scrollbar::pixelStep):
17370 (WebCore::Scrollbar::setPressedPos):
17371 * platform/ScrollbarTheme.h:
17372 (WebCore::ScrollbarTheme::thumbPosition):
17373 (WebCore::ScrollbarTheme::thumbLength):
17374 (WebCore::ScrollbarTheme::trackPosition):
17375 (WebCore::ScrollbarTheme::trackLength):
17376 * platform/ScrollbarThemeComposite.cpp:
17377 (WebCore::ScrollbarThemeComposite::trackPosition):
17378 * platform/ScrollbarThemeComposite.h:
17379 * platform/qt/PlatformScrollBarQt.cpp:
17380 (WebCore::PlatformScrollbar::PlatformScrollbar):
17382 * platform/qt/ScrollbarThemeQt.cpp:
17383 (WebCore::styleOptionSlider):
17384 (WebCore::ScrollbarThemeQt::hitTest):
17385 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
17386 (WebCore::ScrollbarThemeQt::invalidatePart):
17387 (WebCore::ScrollbarThemeQt::thumbPosition):
17389 * platform/qt/ScrollbarThemeQt.h:
17390 * platform/win/ScrollbarThemeSafari.cpp:
17391 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
17392 * platform/win/ScrollbarThemeSafari.h:
17393 * platform/win/ScrollbarThemeWin.cpp:
17394 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
17395 * platform/win/ScrollbarThemeWin.h:
17397 2008-09-15 David Smith <catfish.man@gmail.com>
17399 Reviewed by Sam Weinig.
17401 https://bugs.webkit.org/show_bug.cgi?id=20180
17403 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
17405 * GNUmakefile.am: Add CSSNthSelector
17406 * WebCore.pro: Add CSSNthSelector
17407 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
17408 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
17409 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
17410 * css/CSSNthSelector.cpp: Added.
17411 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
17412 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
17413 * css/CSSNthSelector.h: Added.
17414 (WebCore::CSSNthSelector::CSSNthSelector):
17415 (WebCore::CSSNthSelector::~CSSNthSelector):
17416 * css/CSSParser.cpp:
17417 (WebCore::CSSParser::createFloatingNthSelector):
17419 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
17420 (WebCore::CSSSelector::CSSSelector):
17421 * css/CSSStyleSelector.cpp:
17422 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
17424 2008-09-15 Matt Lilek <webkit@mattlilek.com>
17426 Reviewed by Tim Hatcher.
17428 Clean up some inspector JS callbacks to remove an extra return.
17430 * page/InspectorController.cpp:
17431 (WebCore::hideDOMNodeHighlight):
17433 (WebCore::unloading):
17436 (WebCore::startDebuggingAndReloadInspectedPage):
17437 (WebCore::stopDebugging):
17438 (WebCore::debuggerAttached):
17439 (WebCore::pauseOnExceptions):
17440 (WebCore::pauseInDebugger):
17441 (WebCore::resumeDebugger):
17442 (WebCore::stepOverStatementInDebugger):
17443 (WebCore::stepIntoStatementInDebugger):
17444 (WebCore::stepOutOfFunctionInDebugger):
17445 (WebCore::isWindowVisible):
17446 (WebCore::closeWindow):
17448 2008-09-15 Dave Hyatt <hyatt@apple.com>
17450 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
17451 now share most of their code.
17453 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
17454 also is never used in our code anyway.
17456 Reviewed by Sam Weinig
17458 * WebCore.vcproj/WebCore.vcproj:
17459 * platform/ScrollTypes.h:
17461 * platform/ScrollbarThemeComposite.cpp:
17462 (WebCore::ScrollbarThemeComposite::splitTrack):
17463 (WebCore::ScrollbarThemeComposite::thumbLength):
17464 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
17465 * platform/ScrollbarThemeComposite.h:
17466 * platform/mac/PlatformScrollBarMac.mm:
17467 (NSControlSizeForScrollBarControlSize):
17468 * platform/win/PlatformScrollBar.h:
17469 * platform/win/PlatformScrollBarSafari.cpp: Removed.
17470 * platform/win/PlatformScrollBarWin.cpp:
17471 (WebCore::PlatformScrollbar::PlatformScrollbar):
17472 * platform/win/ScrollbarThemeSafari.cpp:
17473 (WebCore::ScrollbarTheme::nativeTheme):
17475 (WebCore::scrollbarControlStateFromThemeState):
17476 (WebCore::ScrollbarThemeSafari::hasButtons):
17477 (WebCore::ScrollbarThemeSafari::hasThumb):
17478 (WebCore::buttonRepaintRect):
17479 (WebCore::ScrollbarThemeSafari::backButtonRect):
17480 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
17481 (WebCore::trackRepaintRect):
17482 (WebCore::ScrollbarThemeSafari::trackRect):
17483 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
17484 (WebCore::ScrollbarThemeSafari::paintTrack):
17485 (WebCore::ScrollbarThemeSafari::paintButton):
17486 (WebCore::ScrollbarThemeSafari::paintThumb):
17487 * platform/win/ScrollbarThemeSafari.h:
17488 * platform/win/ScrollbarThemeWin.cpp:
17489 * platform/win/ScrollbarThemeWin.h:
17491 2008-09-15 Chris Fleizach <cfleizach@apple.com>
17493 Reviewed by Darin Adler, Beth Dakin
17495 <rdar://problem/4003789> Expose lists as AXList
17496 <rdar://problem/5707399> VO: Definition lists not announced in Safari
17498 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
17499 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
17500 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
17501 as does each <dd> tag ("definition")
17503 Test: accessibility/lists.html
17507 * WebCore.vcproj/WebCore.vcproj:
17508 * WebCore.xcodeproj/project.pbxproj:
17509 * WebCoreSources.bkl:
17510 * page/AXObjectCache.cpp:
17511 * page/AccessibilityList.cpp: Added.
17512 * page/AccessibilityList.h: Added.
17513 * page/AccessibilityObject.h:
17514 * page/AccessibilityRenderObject.cpp:
17515 * page/AccessibilityTable.cpp:
17516 * page/mac/AccessibilityObjectWrapper.mm:
17517 * page/mac/WebCoreViewFactory.h:
17518 * platform/LocalizedStrings.h:
17519 * platform/mac/LocalizedStringsMac.mm:
17520 * platform/qt/Localizations.cpp:
17522 2008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
17526 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
17527 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
17530 dispatchHTMLEvent -> dispatchEventForType
17531 setHTMLEventListener -> setEventListenerForType
17532 getHTMLEventListener -> eventListenerForType
17533 removeHTMLEventListener -> removeEventListenerForType
17534 isHTMLEventListener -> isAttachedToEventTargetNode
17537 Similar renames for the dispatch/get/set/*Window*Event functions.
17538 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
17540 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
17541 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
17543 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
17544 SVG is able to use the code as well now. This affects most files in html/.
17546 No functional changes.
17550 * WebCore.vcproj/WebCore.vcproj:
17551 * WebCore.xcodeproj/project.pbxproj:
17552 * bindings/js/JSDOMWindowBase.cpp:
17553 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
17554 (WebCore::JSDOMWindowBase::setListener):
17555 (WebCore::JSDOMWindowBase::getListener):
17556 (WebCore::JSDOMWindowBase::findJSEventListener):
17557 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
17558 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
17559 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
17560 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
17561 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
17562 * bindings/js/JSDOMWindowBase.h:
17563 * bindings/js/JSEventListener.cpp:
17564 (WebCore::JSAbstractEventListener::handleEvent):
17565 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
17566 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
17567 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
17568 (WebCore::JSEventListener::JSEventListener):
17569 (WebCore::JSEventListener::~JSEventListener):
17570 (WebCore::JSLazyEventListener::JSLazyEventListener):
17571 (WebCore::eventParameterName):
17572 (WebCore::JSLazyEventListener::parseCode):
17573 (WebCore::getNodeEventListener):
17574 * bindings/js/JSEventListener.h:
17575 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
17576 (WebCore::JSUnprotectedEventListener::create):
17577 (WebCore::JSEventListener::create):
17578 (WebCore::JSLazyEventListener::):
17579 (WebCore::JSLazyEventListener::create):
17580 * bindings/js/JSEventTargetNode.cpp:
17581 (WebCore::JSEventTargetNode::setListener):
17582 (WebCore::JSEventTargetNode::getListener):
17583 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
17584 * bindings/js/JSSVGLazyEventListener.h: Removed.
17585 * bindings/js/ScriptController.cpp:
17586 (WebCore::ScriptController::createHTMLEventHandler):
17587 (WebCore::ScriptController::createSVGEventHandler):
17588 * dom/Document.cpp:
17589 (WebCore::Document::setFocusedNode):
17590 (WebCore::Document::handleWindowEvent):
17591 (WebCore::Document::setWindowEventListenerForType):
17592 (WebCore::Document::windowEventListenerForType):
17593 (WebCore::Document::removeWindowEventListenerForType):
17594 (WebCore::Document::addWindowEventListener):
17595 (WebCore::Document::hasWindowEventListener):
17596 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
17597 (WebCore::Document::createEventListener):
17598 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
17600 * dom/EventListener.h:
17601 (WebCore::EventListener::isAttachedToEventTargetNode):
17602 * dom/EventTargetNode.cpp:
17603 (WebCore::EventTargetNode::dispatchFocusEvent):
17604 (WebCore::EventTargetNode::dispatchBlurEvent):
17605 (WebCore::EventTargetNode::dispatchEventForType):
17606 (WebCore::EventTargetNode::removeEventListenerForType):
17607 (WebCore::EventTargetNode::setEventListenerForType):
17608 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
17609 (WebCore::EventTargetNode::eventListenerForType):
17610 * dom/EventTargetNode.h:
17611 * dom/XMLTokenizer.cpp:
17612 (WebCore::XMLTokenizer::notifyFinished):
17613 * editing/ReplaceSelectionCommand.cpp:
17614 (WebCore::ReplacementFragment::ReplacementFragment):
17615 * html/HTMLBodyElement.cpp:
17616 (WebCore::HTMLBodyElement::parseMappedAttribute):
17617 * html/HTMLButtonElement.cpp:
17618 (WebCore::HTMLButtonElement::parseMappedAttribute):
17619 * html/HTMLElement.cpp:
17620 (WebCore::HTMLElement::parseMappedAttribute):
17621 (WebCore::HTMLElement::checkDTD):
17622 * html/HTMLElement.h:
17623 * html/HTMLFormControlElement.cpp:
17624 (WebCore::HTMLFormControlElement::onChange):
17625 * html/HTMLFormElement.cpp:
17626 (WebCore::HTMLFormElement::prepareSubmit):
17627 (WebCore::HTMLFormElement::reset):
17628 (WebCore::HTMLFormElement::parseMappedAttribute):
17629 * html/HTMLFrameElementBase.cpp:
17630 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
17631 * html/HTMLFrameSetElement.cpp:
17632 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
17633 * html/HTMLImageElement.cpp:
17634 (WebCore::HTMLImageElement::parseMappedAttribute):
17635 * html/HTMLImageLoader.cpp:
17636 (WebCore::HTMLImageLoader::dispatchLoadEvent):
17637 * html/HTMLInputElement.cpp:
17638 (WebCore::HTMLInputElement::parseMappedAttribute):
17639 (WebCore::HTMLInputElement::setValueFromRenderer):
17640 (WebCore::HTMLInputElement::onSearch):
17641 * html/HTMLMediaElement.cpp:
17642 (WebCore::HTMLMediaElement::asyncEventTimerFired):
17643 (WebCore::HTMLMediaElement::load):
17644 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
17645 (WebCore::HTMLMediaElement::setReadyState):
17646 (WebCore::HTMLMediaElement::seek):
17647 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
17648 (WebCore::HTMLMediaElement::willSaveToCache):
17649 * html/HTMLObjectElement.cpp:
17650 (WebCore::HTMLObjectElement::parseMappedAttribute):
17651 * html/HTMLScriptElement.cpp:
17652 (WebCore::HTMLScriptElement::parseMappedAttribute):
17653 (WebCore::HTMLScriptElement::dispatchLoadEvent):
17654 (WebCore::HTMLScriptElement::dispatchErrorEvent):
17655 * html/HTMLSelectElement.cpp:
17656 (WebCore::HTMLSelectElement::parseMappedAttribute):
17657 * html/HTMLTextAreaElement.cpp:
17658 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
17659 * html/HTMLTokenizer.cpp:
17660 (WebCore::HTMLTokenizer::notifyFinished):
17661 * page/AccessibilityRenderObject.cpp:
17662 (WebCore::AccessibilityRenderObject::mouseButtonListener):
17663 * page/EventHandler.cpp:
17664 (WebCore::EventHandler::canMouseDownStartSelect):
17665 (WebCore::EventHandler::canMouseDragExtendSelect):
17667 (WebCore::Frame::sendScrollEvent):
17669 (WebCore::networkStateChanged):
17670 * rendering/RenderListBox.cpp:
17671 (WebCore::RenderListBox::valueChanged):
17672 * rendering/RenderTextControl.cpp:
17673 (WebCore::RenderTextControl::selectionChanged):
17674 * svg/SVGDocumentExtensions.cpp:
17675 * svg/SVGDocumentExtensions.h:
17676 * svg/SVGElement.cpp:
17677 (WebCore::SVGElement::parseMappedAttribute):
17678 (WebCore::SVGElement::finishParsingChildren):
17679 * svg/SVGElement.h:
17680 * svg/SVGSVGElement.cpp:
17681 (WebCore::SVGSVGElement::parseMappedAttribute):
17682 * svg/SVGSVGElement.h:
17684 2008-09-15 Dave Hyatt <hyatt@apple.com>
17686 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
17687 need to be converted.
17689 Reviewed by Sam Weinig
17691 * platform/ScrollBar.cpp:
17692 (WebCore::Scrollbar::Scrollbar):
17693 (WebCore::Scrollbar::updateThumbPosition):
17694 (WebCore::Scrollbar::updateThumbProportion):
17695 (WebCore::Scrollbar::autoscrollPressedPart):
17696 (WebCore::Scrollbar::startTimerIfNeeded):
17697 * platform/ScrollBar.h:
17698 * platform/ScrollbarTheme.h:
17699 (WebCore::ScrollbarTheme::invalidateParts):
17700 * platform/ScrollbarThemeComposite.cpp:
17701 (WebCore::ScrollbarThemeComposite::hitTest):
17702 (WebCore::ScrollbarThemeComposite::invalidatePart):
17703 (WebCore::ScrollbarThemeComposite::thumbPosition):
17704 (WebCore::ScrollbarThemeComposite::thumbLength):
17705 (WebCore::ScrollbarThemeComposite::trackLength):
17706 * platform/ScrollbarThemeComposite.h:
17707 * platform/win/PlatformScrollBarSafari.cpp:
17708 (WebCore::PlatformScrollbar::PlatformScrollbar):
17709 * platform/win/PlatformScrollBarWin.cpp:
17710 (WebCore::PlatformScrollbar::PlatformScrollbar):
17712 2008-09-15 David Smith <catfish.man@gmail.com>
17714 "Just do it"'d by Mark Rowe
17716 https://bugs.webkit.org/show_bug.cgi?id=20856
17717 Add missing license header
17719 * dom/NodeRenderStyle.h:
17721 2008-09-15 Dean Jackson <dino@apple.com>
17723 Reviewed by Tim Hatcher.
17725 Add default constructor for ShadowData
17726 https://bugs.webkit.org/show_bug.cgi?id=20757
17728 Test: transitions/shadow.html
17730 * rendering/style/RenderStyle.h:
17732 2008-09-15 Dean Jackson <dino@apple.com>
17734 Reviewed by Tim Hatcher.
17736 RenderStyle should update keyframes.
17737 http://bugs.webkit.org/show_bug.cgi?id=20756
17739 * rendering/style/RenderStyle.cpp:
17740 (WebCore::StyleRareNonInheritedData::updateKeyframes):
17742 2008-09-15 Dean Jackson <dino@apple.com>
17744 Reviewed by Tim Hatcher.
17746 Unnecessary ASSERT in ImplicitAnimation destructor.
17747 https://bugs.webkit.org/show_bug.cgi?id=20817
17749 * page/animation/ImplicitAnimation.cpp:
17750 (WebCore::ImplicitAnimation::~ImplicitAnimation):
17752 2008-09-15 Adam Treat <treat@kde.org>
17756 Fix plugin extension info. It was returning the mimetype where the
17757 extension was given.
17759 * plugins/qt/PluginPackageQt.cpp:
17760 (WebCore::PluginPackage::fetchInfo):
17762 2008-09-15 Dean Jackson <dino@apple.com>
17764 Reviewed by Tim Hatcher
17766 Coding style violation!!!! Cleanup AnimationBase.cpp
17768 * page/animation/AnimationBase.cpp:
17769 (WebCore::blendFunc):
17771 2008-09-15 David Hyatt <hyatt@apple.com>
17773 Move all hit testing code for scrollbars into the base class. Refactor
17774 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
17777 No platform is using this code yet. Although it has been moved and compiles
17778 (even on Mac), it is not being used on any platform.
17780 Reviewed by Sam Weinig
17782 * platform/ScrollBar.cpp:
17783 (WebCore::Scrollbar::autoscrollPressedPart):
17784 (WebCore::Scrollbar::startTimerIfNeeded):
17785 (WebCore::Scrollbar::handleMouseMoveEvent):
17786 (WebCore::Scrollbar::handleMouseOutEvent):
17787 (WebCore::Scrollbar::handleMouseReleaseEvent):
17788 (WebCore::Scrollbar::handleMousePressEvent):
17789 * platform/ScrollBar.h:
17790 (WebCore::Scrollbar::handleContextMenuEvent):
17791 * platform/ScrollbarTheme.h:
17792 (WebCore::ScrollbarTheme::hitTest):
17793 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
17794 (WebCore::ScrollbarTheme::invalidatePart):
17795 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
17796 (WebCore::ScrollbarTheme::centerOnThumb):
17797 (WebCore::ScrollbarTheme::thumbPosition):
17798 (WebCore::ScrollbarTheme::thumbLength):
17799 (WebCore::ScrollbarTheme::trackLength):
17800 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
17801 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
17802 * platform/Widget.h:
17803 (WebCore::Widget::parent):
17804 * platform/mac/PlatformScrollBar.h:
17805 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
17806 (WebCore::PlatformScrollbar::handleMouseOutEvent):
17807 (WebCore::PlatformScrollbar::handleMousePressEvent):
17808 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
17809 * platform/mac/WidgetMac.mm:
17810 (WebCore::Widget::convertFromContainingWindow):
17811 * platform/win/ScrollbarThemeWin.cpp:
17812 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
17813 * platform/win/ScrollbarThemeWin.h:
17815 2008-09-15 Dan Bernstein <mitz@apple.com>
17817 Reviewed by Sam Weinig.
17819 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
17821 Cache the next breakable position for text nodes in InlineIterator.
17823 * rendering/bidi.cpp:
17824 (WebCore::InlineIterator::InlineIterator):
17825 (WebCore::InlineIterator::increment):
17826 (WebCore::RenderBlock::findNextLineBreak):
17828 2008-09-15 Simon Fraser <simon.fraser@apple.com>
17830 Reviewed by Dan Bernstein
17832 Fix assertion and integral pixel issue when creating subimages.
17833 https://bugs.webkit.org/show_bug.cgi?id=20786
17835 * platform/graphics/cg/ImageCG.cpp:
17836 (WebCore::BitmapImage::draw):
17838 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
17842 Implment seek() and clean up and improve debugging output
17844 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17845 (debugMediaObject):
17846 (WebCore::MediaPlayerPrivate::seek):
17847 (WebCore::MediaPlayerPrivate::setVolume):
17848 (WebCore::MediaPlayerPrivate::setMuted):
17849 (WebCore::MediaPlayerPrivate::updateStates):
17850 (WebCore::MediaPlayerPrivate::naturalSize):
17851 (WebCore::MediaPlayerPrivate::paint):
17852 (WebCore::MediaPlayerPrivate::stateChanged):
17853 (WebCore::MediaPlayerPrivate::tick):
17855 2008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
17859 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
17861 m_mediaObject, m_audioOutput, m_videoWidget get created in the
17862 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
17863 only check if we use the MediaPlayerPrivate after it has been deleted.
17865 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
17867 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17868 (WebCore::MediaPlayerPrivate::play):
17869 (WebCore::MediaPlayerPrivate::setVolume):
17870 (WebCore::MediaPlayerPrivate::updateStates):
17872 2008-09-15 Anders Carlsson <andersca@apple.com>
17874 Reviewed by Maciej.
17876 <rdar://problem/6163988>
17877 https://bugs.webkit.org/show_bug.cgi?id=20457
17878 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
17880 Check the width and height and throw an exception if any of them are 0.
17882 * html/CanvasRenderingContext2D.cpp:
17883 (WebCore::CanvasRenderingContext2D::createPattern):
17885 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
17889 Render media element controls with antialiasing enabled
17891 * platform/qt/RenderThemeQt.cpp:
17892 (WebCore::RenderThemeQt::paintMediaMuteButton):
17893 (WebCore::RenderThemeQt::paintMediaPlayButton):
17894 (WebCore::RenderThemeQt::paintMediaSliderTrack):
17895 (WebCore::RenderThemeQt::paintMediaSliderThumb):
17897 2008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
17901 Upon non fatal error, switch to the pause state (so that playback can continue)
17903 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17904 (WebCore::MediaPlayerPrivate::updateStates):
17906 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
17910 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
17914 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
17918 Make QtInstance::create() private and fix caching
17920 * bindings/js/ScriptControllerQt.cpp:
17921 (WebCore::ScriptController::createScriptInstanceForWidget):
17922 * bridge/qt/qt_instance.cpp:
17923 (JSC::Bindings::QtInstance::getQtInstance):
17924 (JSC::Bindings::QtInstance::getRuntimeObject):
17925 * bridge/qt/qt_instance.h:
17926 (JSC::Bindings::QtInstance::create):
17927 * bridge/qt/qt_runtime.cpp:
17928 (JSC::Bindings::convertQVariantToValue):
17929 (JSC::Bindings::QtConnectionObject::execute):
17931 2008-09-15 David Smith <catfish.man@gmail.com>
17933 Reviewed by Dave Hyatt.
17935 https://bugs.webkit.org/show_bug.cgi?id=20180
17937 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
17938 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
17939 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
17941 * css/CSSStyleSelector.cpp:
17942 (WebCore::CSSStyleSelector::CSSStyleSelector):
17943 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
17944 * css/CSSStyleSelector.h:
17946 2008-09-14 Dave Hyatt <hyatt@apple.com>
17948 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
17949 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
17951 Reviewed by Sam Weinig
17953 * platform/ScrollBar.h:
17954 (WebCore::Scrollbar::client):
17955 (WebCore::Scrollbar::currentPos):
17956 (WebCore::Scrollbar::totalSize):
17957 * platform/ScrollbarTheme.h:
17958 * platform/ScrollbarThemeComposite.cpp:
17959 (WebCore::pageForScrollView):
17960 (WebCore::ScrollbarThemeComposite::paint):
17961 * platform/ScrollbarThemeComposite.h:
17962 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
17963 * platform/win/PlatformScrollBar.h:
17964 * platform/win/PlatformScrollBarSafari.cpp:
17965 * platform/win/PlatformScrollBarWin.cpp:
17966 * platform/win/ScrollbarThemeSafari.h:
17967 (WebCore::ScrollbarThemeSafari::hasButtons):
17968 (WebCore::ScrollbarThemeSafari::hasThumb):
17969 (WebCore::ScrollbarThemeSafari::backButtonRect):
17970 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
17971 (WebCore::ScrollbarThemeSafari::trackRect):
17972 (WebCore::ScrollbarThemeSafari::splitTrack):
17973 (WebCore::ScrollbarThemeSafari::paintTrack):
17974 (WebCore::ScrollbarThemeSafari::paintButton):
17975 (WebCore::ScrollbarThemeSafari::paintThumb):
17976 * platform/win/ScrollbarThemeWin.cpp:
17977 (WebCore::isRunningOnVistaOrLater):
17978 (WebCore::checkAndInitScrollbarTheme):
17979 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
17980 (WebCore::ScrollbarThemeWin::themeChanged):
17981 (WebCore::ScrollbarThemeWin::hasThumb):
17982 (WebCore::ScrollbarThemeWin::backButtonRect):
17983 (WebCore::ScrollbarThemeWin::forwardButtonRect):
17984 (WebCore::ScrollbarThemeWin::trackRect):
17985 (WebCore::ScrollbarThemeWin::splitTrack):
17986 (WebCore::ScrollbarThemeWin::paintTrack):
17987 (WebCore::ScrollbarThemeWin::paintButton):
17988 (WebCore::gripperRect):
17989 (WebCore::paintGripper):
17990 (WebCore::ScrollbarThemeWin::paintThumb):
17991 (WebCore::ScrollbarThemeWin::thumbPosition):
17992 (WebCore::ScrollbarThemeWin::thumbLength):
17993 (WebCore::ScrollbarThemeWin::trackLength):
17994 * platform/win/ScrollbarThemeWin.h:
17995 (WebCore::ScrollbarThemeWin::hasButtons):
17996 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
17998 2008-09-14 Anthony Ricaud <rik24d@gmail.com>
18000 Moving all resource graphs under the same container for future scalable feature.
18001 This is a speedup on resize but maybe a loss on changing the sorting function.
18003 https://bugs.webkit.org/show_bug.cgi?id=20555
18005 Reviewed by Timothy Hatcher.
18007 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
18008 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
18009 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
18011 2008-09-14 Alexey Proskuryakov <ap@webkit.org>
18013 Reviewed by Maciej Stachowiak.
18015 https://bugs.webkit.org/show_bug.cgi?id=20738
18016 compareBoundaryPoints gives incorrect results
18018 Test: fast/dom/Range/compareBoundaryPoints-2.html
18020 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
18022 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
18024 2008-09-14 Maciej Stachowiak <mjs@apple.com>
18026 Unreviewed build fix.
18030 * bindings/js/JSQuarantinedObjectWrapper.cpp:
18031 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
18033 2008-09-14 Maciej Stachowiak <mjs@apple.com>
18035 Unreviewed build fix.
18037 Blind attempt to fix build. Correct parameters for hasInstance.
18039 * bindings/js/JSQuarantinedObjectWrapper.cpp:
18040 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
18041 * bindings/js/JSQuarantinedObjectWrapper.h:
18043 2008-09-14 Dan Bernstein <mitz@apple.com>
18045 Rubber-stamped by Sam Weinig.
18047 - revert <http://trac.webkit.org/changeset/36382> because it exposed
18048 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
18051 * platform/graphics/mac/FontCacheMac.mm:
18052 (WebCore::FontCache::getFontDataForCharacters):
18053 (WebCore::FontCache::getLastResortFallbackFont):
18055 2008-09-14 Dave Hyatt <hyatt@apple.com>
18057 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
18058 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
18061 Reviewed by Sam Weinig
18063 * WebCore.vcproj/WebCore.vcproj:
18064 * platform/win/ScrollbarThemeSafari.h:
18065 * platform/win/ScrollbarThemeWin.h:
18067 2008-09-14 Alp Toker <alp@nuanti.com>
18069 https://bugs.webkit.org/show_bug.cgi?id=20320
18070 [GTK] A white rectangle is visible behind widgets with rounded corners
18072 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
18075 Requested by Michael Monreal.
18077 * platform/gtk/RenderThemeGtk.cpp:
18078 (WebCore::RenderThemeGtk::RenderThemeGtk):
18079 * platform/gtk/gtk2drawing.c:
18080 (moz_gtk_set_widget_name):
18081 (ensure_window_widget):
18082 (setup_widget_prototype):
18083 (ensure_button_arrow_widget):
18084 (moz_gtk_get_combo_box_inner_button):
18085 (moz_gtk_get_combo_box_button_inner_widgets):
18086 (ensure_combo_box_widgets):
18087 (moz_gtk_get_combo_box_entry_inner_widgets):
18088 (moz_gtk_get_combo_box_entry_arrow):
18089 (ensure_combo_box_entry_widgets):
18090 (ensure_toolbar_widget):
18091 (ensure_tooltip_widget):
18092 (ensure_menu_bar_widget):
18093 (ensure_menu_bar_item_widget):
18094 (ensure_menu_popup_widget):
18095 (ensure_menu_item_widget):
18096 (ensure_image_menu_item_widget):
18097 (ensure_menu_separator_widget):
18098 (ensure_check_menu_item_widget):
18099 (ensure_tree_header_cell_widget):
18100 (ensure_scrolled_window_widget):
18101 (moz_gtk_button_paint):
18103 (moz_gtk_button_get_inner_border):
18104 (moz_gtk_toggle_paint):
18105 (calculate_button_inner_rect):
18106 (calculate_arrow_rect):
18107 (moz_gtk_scrollbar_button_paint):
18108 (moz_gtk_scrollbar_thumb_paint):
18109 (moz_gtk_caret_paint):
18110 (moz_gtk_entry_paint):
18111 (moz_gtk_treeview_paint):
18112 (moz_gtk_tree_header_cell_paint):
18113 (moz_gtk_combo_box_paint):
18114 (moz_gtk_downarrow_paint):
18115 (moz_gtk_combo_box_entry_button_paint):
18116 (moz_gtk_toolbar_paint):
18117 (moz_gtk_tab_scroll_arrow_paint):
18118 (moz_gtk_menu_bar_paint):
18119 (moz_gtk_menu_item_paint):
18120 (moz_gtk_get_widget_border):
18121 (moz_gtk_get_combo_box_entry_button_size):
18122 (moz_gtk_get_tab_scroll_arrow_size):
18123 (moz_gtk_get_downarrow_size):
18124 (moz_gtk_images_in_menus):
18125 (moz_gtk_widget_paint):
18126 (moz_gtk_shutdown):
18127 * platform/gtk/gtkdrawing.h:
18129 2008-09-14 David Hyatt <hyatt@apple.com>
18131 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
18132 painting. Mac and Gtk themes don't do anything and just let the
18133 underlying widget paint. Qt now uses the theme to paint. wx doesn't
18136 Reviewed by Sam Weinig
18138 * platform/ScrollBar.cpp:
18139 (WebCore::Scrollbar::paint):
18140 * platform/ScrollBar.h:
18141 (WebCore::Scrollbar::value):
18142 (WebCore::Scrollbar::visibleSize):
18143 (WebCore::Scrollbar::maximum):
18144 (WebCore::Scrollbar::lineStep):
18145 (WebCore::Scrollbar::pageStep):
18146 (WebCore::Scrollbar::pixelStep):
18147 (WebCore::Scrollbar::pressedPart):
18148 (WebCore::Scrollbar::hoveredPart):
18149 (WebCore::Scrollbar::theme):
18150 * platform/ScrollbarTheme.h:
18151 (WebCore::ScrollbarTheme::paint):
18152 (WebCore::ScrollbarTheme::scrollbarThickness):
18153 (WebCore::ScrollbarTheme::supportsControlTints):
18154 (WebCore::ScrollbarTheme::themeChanged):
18155 * platform/gtk/PlatformScrollBar.h:
18156 * platform/gtk/PlatformScrollBarGtk.cpp:
18157 * platform/mac/PlatformScrollBar.h:
18158 * platform/mac/PlatformScrollBarMac.mm:
18159 * platform/qt/PlatformScrollBar.h:
18160 * platform/qt/PlatformScrollBarQt.cpp:
18161 * platform/qt/ScrollbarThemeQt.cpp:
18162 (WebCore::styleOptionSlider):
18163 * platform/qt/ScrollbarThemeQt.h:
18164 (WebCore::ScrollbarThemeQt::paint):
18165 * platform/win/PlatformScrollBarSafari.cpp:
18166 (WebCore::PlatformScrollbar::paint):
18167 * platform/win/ScrollbarThemeSafari.h:
18168 (WebCore::ScrollbarThemeSafari::supportsControlTints):
18169 * platform/wx/PlatformScrollBar.h:
18170 * platform/wx/TemporaryLinkStubs.cpp:
18171 (PlatformScrollbar::~PlatformScrollbar):
18173 2008-09-14 Sam Weinig <sam@webkit.org>
18177 * platform/qt/PlatformScrollBarQt.cpp:
18179 2008-09-14 Sam Weinig <sam@webkit.org>
18181 Reviewed by Mark Rowe.
18183 Remove extraneous semicolons.
18185 * bindings/scripts/CodeGeneratorObjC.pm:
18186 * html/HTMLLinkElement.cpp:
18187 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
18188 * html/HTMLScriptElement.cpp:
18189 (WebCore::HTMLScriptElement::charsetAttributeValue):
18190 (WebCore::HTMLScriptElement::typeAttributeValue):
18191 * platform/graphics/qt/GradientQt.cpp:
18192 (WebCore::Gradient::platformGradient):
18193 * platform/qt/ScrollViewQt.cpp:
18194 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
18195 * platform/win/ScrollViewWin.cpp:
18196 (WebCore::ScrollView::updateScrollbars):
18197 * rendering/RenderBlock.cpp:
18198 (WebCore::RenderBlock::paintEllipsisBoxes):
18199 * svg/SVGPathSegList.cpp:
18200 (WebCore::SVGPathSegList::toPathData):
18202 2008-09-14 Sam Weinig <sam@webkit.org>
18206 * platform/qt/ScrollViewQt.cpp:
18207 (WebCore::ScrollView::updateScrollbars):
18209 2008-09-14 Sam Weinig <sam@webkit.org>
18213 * platform/qt/PlatformScrollBarQt.cpp:
18214 (WebCore::PlatformScrollbar::PlatformScrollbar):
18215 (WebCore::PlatformScrollbar::paint):
18217 2008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
18219 Gtk build fix, not reviewed.
18221 * platform/gtk/PlatformScrollBarGtk.cpp:
18222 (PlatformScrollbar::PlatformScrollbar):
18223 * platform/gtk/ScrollViewGtk.cpp:
18224 (WebCore::ScrollView::updateScrollbars):
18226 2008-09-13 Dave Hyatt <hyatt@apple.com>
18228 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
18229 to set the dimensions of a scrollbar.
18231 Reviewed by Sam Weinig
18233 * platform/ScrollBar.h:
18234 * platform/gtk/PlatformScrollBar.h:
18235 * platform/gtk/PlatformScrollBarGtk.cpp:
18236 (PlatformScrollbar::setFrameGeometry):
18237 * platform/gtk/ScrollViewGtk.cpp:
18238 (WebCore::ScrollView::updateScrollbars):
18239 * platform/mac/PlatformScrollBarMac.mm:
18240 * platform/qt/PlatformScrollBarQt.cpp:
18241 * platform/qt/ScrollViewQt.cpp:
18242 (WebCore::ScrollView::updateScrollbars):
18243 * platform/win/PlatformScrollBar.h:
18244 * platform/win/PlatformScrollBarSafari.cpp:
18245 (WebCore::PlatformScrollbar::PlatformScrollbar):
18246 (WebCore::PlatformScrollbar::setFrameGeometry):
18247 * platform/win/PlatformScrollBarWin.cpp:
18248 (WebCore::PlatformScrollbar::PlatformScrollbar):
18249 (WebCore::PlatformScrollbar::setFrameGeometry):
18250 * platform/win/PopupMenuWin.cpp:
18251 (WebCore::PopupWndProc):
18252 * platform/win/ScrollViewWin.cpp:
18253 (WebCore::ScrollView::updateScrollbars):
18254 * platform/wx/PlatformScrollBar.h:
18255 * platform/wx/TemporaryLinkStubs.cpp:
18256 (PlatformScrollbar::updateThumbProportion):
18257 * rendering/RenderLayer.cpp:
18258 (WebCore::RenderLayer::positionOverflowControls):
18259 * rendering/RenderListBox.cpp:
18260 (WebCore::RenderListBox::paintScrollbar):
18262 2008-09-13 Dave Hyatt <hyatt@apple.com>
18264 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
18266 Reviewed by Sam Weinig
18268 * platform/ScrollBar.h:
18269 * platform/gtk/PlatformScrollBar.h:
18270 * platform/gtk/PlatformScrollBarGtk.cpp:
18271 * platform/mac/PlatformScrollBar.h:
18272 * platform/mac/PlatformScrollBarMac.mm:
18273 * platform/win/PlatformScrollBar.h:
18274 * platform/win/PlatformScrollBarSafari.cpp:
18275 * platform/win/PlatformScrollBarWin.cpp:
18276 * platform/wx/PlatformScrollBar.h:
18277 * platform/wx/TemporaryLinkStubs.cpp:
18278 (PlatformScrollbar::~PlatformScrollbar):
18280 2008-09-13 Dave Hyatt <hyatt@apple.com>
18282 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
18283 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
18285 Reviewed by Sam Weinig
18287 * platform/ScrollBar.h:
18288 * platform/gtk/PlatformScrollBar.h:
18289 * platform/gtk/PlatformScrollBarGtk.cpp:
18290 * platform/mac/PlatformScrollBar.h:
18291 * platform/mac/PlatformScrollBarMac.mm:
18292 * platform/win/PlatformScrollBarSafari.cpp:
18293 * platform/win/PlatformScrollBarWin.cpp:
18294 * platform/wx/PlatformScrollBar.h:
18295 * platform/wx/TemporaryLinkStubs.cpp:
18296 (PlatformScrollbar::~PlatformScrollbar):
18298 2008-09-13 Dave Hyatt <hyatt@apple.com>
18300 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
18302 Reviewed by Sam Weinig
18304 * platform/ScrollBar.cpp:
18305 (WebCore::Scrollbar::~Scrollbar):
18306 * platform/ScrollBar.h:
18307 * platform/qt/PlatformScrollBarQt.cpp:
18308 (WebCore::PlatformScrollbar::~PlatformScrollbar):
18309 * platform/win/PlatformScrollBarSafari.cpp:
18310 (WebCore::PlatformScrollbar::~PlatformScrollbar):
18311 * platform/win/PlatformScrollBarWin.cpp:
18312 (WebCore::PlatformScrollbar::~PlatformScrollbar):
18314 2008-09-13 David Hyatt <hyatt@apple.com>
18316 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
18317 function on Scrollbar. Fixes Qt build bustage.
18319 Reviewed by Sam Weinig
18321 * platform/ScrollBar.h:
18322 (WebCore::Scrollbar::orientation):
18323 (WebCore::Scrollbar::value):
18324 (WebCore::Scrollbar::maximum):
18325 * platform/qt/PlatformScrollBar.h:
18327 2008-09-13 Dan Bernstein <mitz@apple.com>
18329 Reviewed by Sam Weinig.
18331 - use the LastResort font for missing glyphs instead of showing the
18332 primary font's missing glyph
18334 Test: platform/mac/fast/text/last-resort-font.html
18336 * platform/graphics/mac/FontCacheMac.mm:
18337 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
18338 last resort font if a substitute font cannot be found.
18339 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
18340 comment (the user's preferred standard font is included in the search
18341 thanks to code in FontCache::getFontData()) and changed to return the
18344 2008-09-13 Dave Hyatt <hyatt@apple.com>
18346 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
18347 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
18348 patches will move rendering and hit testing functionality into this class.
18350 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
18351 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
18353 Reviewed by Sam Weinig
18357 * WebCore.vcproj/WebCore.vcproj:
18358 * platform/ScrollBar.cpp:
18359 (WebCore::Scrollbar::Scrollbar):
18360 * platform/ScrollBar.h:
18361 * platform/ScrollbarTheme.h: Added.
18362 (WebCore::ScrollbarTheme::~ScrollbarTheme):
18363 (WebCore::ScrollbarTheme::scrollbarThickness):
18364 (WebCore::ScrollbarTheme::themeChanged):
18365 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
18366 (WebCore::ScrollbarTheme::nativeTheme):
18367 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
18368 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
18369 * platform/gtk/ScrollbarThemeGtk.h: Added.
18370 * platform/mac/PlatformScrollBar.h:
18371 * platform/mac/ScrollbarThemeMac.cpp: Added.
18372 (WebCore::ScrollbarTheme::nativeTheme):
18374 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
18375 (WebCore::ScrollbarThemeMac::scrollbarThickness):
18376 * platform/mac/ScrollbarThemeMac.h: Added.
18377 * platform/qt/PlatformScrollBarQt.cpp:
18378 * platform/qt/ScrollbarThemeQt.cpp: Added.
18379 (WebCore::ScrollbarTheme::nativeTheme):
18380 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
18381 (WebCore::ScrollbarThemeQt::scrollbarThickness):
18382 * platform/qt/ScrollbarThemeQt.h: Added.
18383 * platform/win/PlatformScrollBar.h:
18384 * platform/win/PlatformScrollBarSafari.cpp:
18385 * platform/win/PlatformScrollBarWin.cpp:
18386 * platform/win/PopupMenuWin.cpp:
18387 (WebCore::PopupMenu::calculatePositionAndSize):
18388 * platform/win/ScrollViewWin.cpp:
18389 (WebCore::ScrollView::updateScrollbars):
18390 (WebCore::ScrollView::themeChanged):
18391 * platform/win/ScrollbarThemeSafari.cpp: Added.
18392 (WebCore::ScrollbarTheme::nativeTheme):
18394 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
18395 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
18396 * platform/win/ScrollbarThemeSafari.h: Added.
18397 * platform/win/ScrollbarThemeWin.cpp: Added.
18398 (WebCore::ScrollbarTheme::nativeTheme):
18399 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
18400 (WebCore::ScrollbarThemeWin::scrollbarThickness):
18401 (WebCore::ScrollbarThemeWin::themeChanged):
18402 * platform/win/ScrollbarThemeWin.h: Added.
18403 * platform/wx/TemporaryLinkStubs.cpp:
18404 (ScrollbarTheme::nativeTheme):
18405 * rendering/RenderLayer.cpp:
18406 (WebCore::scrollCornerRect):
18407 * rendering/RenderTextControl.cpp:
18408 (WebCore::RenderTextControl::calcHeight):
18409 (WebCore::RenderTextControl::calcPrefWidths):
18411 2008-09-13 Chris Fleizach <cfleizach@apple.com>
18413 Reviewed by Timothy Hatcher.
18415 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
18417 * page/mac/AccessibilityObjectWrapper.mm:
18418 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
18420 2008-09-13 Dan Bernstein <mitz@apple.com>
18422 Reviewed by Timothy Hatcher.
18424 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
18426 No regression test because the back/forward cache is disabled in DumpRenderTree
18428 * rendering/RenderContainer.cpp:
18429 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
18430 is being destroyed.
18432 2008-09-13 Kevin Ollivier <kevino@theolliviers.com>
18434 wx build fixes for new methods recently introduced.
18436 * platform/graphics/wx/AffineTransformWx.cpp:
18437 (WebCore::AffineTransform::AffineTransform):
18438 (WebCore::AffineTransform::setMatrix):
18439 (WebCore::AffineTransform::setA):
18440 (WebCore::AffineTransform::setB):
18441 (WebCore::AffineTransform::setC):
18442 (WebCore::AffineTransform::setD):
18443 (WebCore::AffineTransform::setE):
18444 (WebCore::AffineTransform::setF):
18445 * platform/wx/LocalizedStringsWx.cpp:
18446 (WebCore::AXDefinitionListTermText):
18447 (WebCore::AXDefinitionListDefinitionText):
18449 2008-09-12 Dave Hyatt <hyatt@apple.com>
18451 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
18452 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
18453 "PlatformScrollbar."
18455 Reviewed by Sam Weinig
18457 * WebCore.vcproj/WebCore.vcproj:
18458 * editing/EditorCommand.cpp:
18459 * page/EventHandler.cpp:
18460 (WebCore::EventHandler::selectCursor):
18461 (WebCore::EventHandler::handleMousePressEvent):
18462 (WebCore::EventHandler::handleMouseMoveEvent):
18463 * page/EventHandler.h:
18464 * page/MouseEventWithHitTestResults.cpp:
18465 (WebCore::MouseEventWithHitTestResults::scrollbar):
18466 * page/MouseEventWithHitTestResults.h:
18467 * page/gtk/EventHandlerGtk.cpp:
18468 (WebCore::EventHandler::passMousePressEventToScrollbar):
18469 * page/mac/EventHandlerMac.mm:
18470 (WebCore::EventHandler::passMousePressEventToScrollbar):
18471 * page/qt/EventHandlerQt.cpp:
18472 (WebCore::EventHandler::passMousePressEventToScrollbar):
18473 * page/win/EventHandlerWin.cpp:
18474 (WebCore::EventHandler::passMousePressEventToScrollbar):
18475 * page/wx/EventHandlerWx.cpp:
18476 (WebCore::EventHandler::passMousePressEventToScrollbar):
18477 * platform/PopupMenu.h:
18478 * platform/ScrollBar.cpp:
18479 (WebCore::Scrollbar::Scrollbar):
18480 (WebCore::Scrollbar::autoscrollTimerFired):
18481 (WebCore::Scrollbar::autoscrollPressedPart):
18482 (WebCore::Scrollbar::startTimerIfNeeded):
18483 (WebCore::Scrollbar::stopTimerIfNeeded):
18484 (WebCore::Scrollbar::pressedPartScrollDirection):
18485 (WebCore::Scrollbar::pressedPartScrollGranularity):
18486 * platform/ScrollBar.h:
18487 (WebCore::Scrollbar::handleMousePressEvent):
18488 (WebCore::Scrollbar::invalidatePart):
18489 (WebCore::Scrollbar::thumbUnderMouse):
18490 * platform/ScrollView.h:
18491 * platform/ScrollbarClient.h: Added.
18492 (WebCore::ScrollbarClient::~ScrollbarClient):
18493 * platform/gtk/ScrollViewGtk.cpp:
18494 (WebCore::ScrollView::scrollbarUnderMouse):
18495 * platform/qt/PlatformScrollBar.h:
18496 * platform/qt/PlatformScrollBarQt.cpp:
18497 (WebCore::PlatformScrollbar::PlatformScrollbar):
18498 (WebCore::scrollbarPart):
18499 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
18500 (WebCore::PlatformScrollbar::handleMouseOutEvent):
18501 (WebCore::PlatformScrollbar::handleMousePressEvent):
18502 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
18503 * platform/qt/ScrollViewQt.cpp:
18504 (WebCore::ScrollView::scrollbarUnderMouse):
18505 (WebCore::ScrollView::wheelEvent):
18506 * platform/win/PlatformScrollBar.h:
18507 * platform/win/PlatformScrollBarSafari.cpp:
18508 (WebCore::PlatformScrollbar::PlatformScrollbar):
18509 * platform/win/PlatformScrollBarWin.cpp:
18510 (WebCore::PlatformScrollbar::PlatformScrollbar):
18511 * platform/win/ScrollViewWin.cpp:
18512 (WebCore::ScrollView::scrollbarUnderMouse):
18513 * rendering/HitTestResult.cpp:
18514 (WebCore::HitTestResult::setScrollbar):
18515 * rendering/HitTestResult.h:
18516 (WebCore::HitTestResult::scrollbar):
18517 * rendering/RenderLayer.cpp:
18518 (WebCore::RenderLayer::hitTestOverflowControls):
18519 * rendering/RenderLayer.h:
18520 * rendering/RenderListBox.h:
18522 2008-09-12 Steve Falkenburg <sfalken@apple.com>
18526 * css/CSSStyleSelector.cpp:
18527 (WebCore::getTransformOperationType):
18529 2008-09-12 Chris Marrin <cmarrin@apple.com>
18531 Reviewed by Dave Hyatt.
18533 Make transform animation behavior match spec
18534 https://bugs.webkit.org/show_bug.cgi?id=20770
18536 Tests: transitions/transform-op-list-match.html
18537 transitions/transform-op-list-no-match.html
18539 * css/CSSStyleSelector.cpp:
18540 * css/CSSStyleSelector.h:
18541 * page/animation/AnimationBase.cpp:
18542 * page/animation/AnimationBase.h:
18543 * page/animation/ImplicitAnimation.cpp:
18544 * page/animation/ImplicitAnimation.h:
18545 * page/animation/KeyframeAnimation.cpp:
18546 * page/animation/KeyframeAnimation.h:
18547 * rendering/RenderLayer.cpp:
18548 * rendering/style/RenderStyle.cpp:
18549 * rendering/style/RenderStyle.h:
18551 2008-09-12 Ojan Vafai <ojan@chromium.org>
18553 Properly escape contents of links added to the inspector.
18554 For now, just build the link with the DOM and get the
18555 outerHTML. Eventually, we probably just want to do
18556 this entirely with the DOM.
18558 Reviewed by Timothy Hatcher.
18560 https://bugs.webkit.org/show_bug.cgi?id=20684
18562 * manual-tests/inspector/escape-links.html: Added.
18563 * page/inspector/StylesSidebarPane.js:
18564 * page/inspector/inspector.js:
18565 * page/inspector/utilities.js:
18567 2008-09-12 Adele Peterson <adele@apple.com>
18569 Reviewed by John Sullivan and Kevin McCullough.
18571 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
18573 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
18574 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
18575 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
18577 2008-09-12 Kevin McCullough <kmccullough@apple.com>
18581 Re-introducing the code since it was not the cause of the crash.
18584 * rendering/RenderObject.cpp:
18585 (WebCore::RenderObject::canBeProgramaticallyScrolled):
18586 * rendering/RenderObject.h:
18588 2008-09-12 Chris Marrin <cmarrin@apple.com>
18590 Reviewed by Dave Hyatt.
18592 When changing one animation in a list, don't reset other animations
18593 https://bugs.webkit.org/show_bug.cgi?id=20675
18595 Test: animations/change-one-anim.html
18597 * page/animation/AnimationBase.cpp:
18598 (WebCore::AnimationBase::getNumProperties):
18599 * page/animation/AnimationBase.h:
18600 * page/animation/AnimationController.cpp:
18601 * page/animation/CompositeAnimation.cpp:
18602 (WebCore::CompositeAnimation::updateKeyframeAnimations):
18603 * page/animation/CompositeAnimation.h:
18604 * page/animation/ImplicitAnimation.cpp:
18605 * page/animation/KeyframeAnimation.cpp:
18606 * page/animation/KeyframeAnimation.h:
18607 (WebCore::KeyframeAnimation::setIndex):
18609 2008-09-12 Brady Eidson <beidson@apple.com>
18611 Reviewed by Mitz Pettel
18613 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
18615 * loader/DocumentLoader.cpp:
18616 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
18617 Subresources can never be created from nil data, but there is always a MainResource, whether
18618 or not there's any data. So in the case where the main resource has no data, fake it for the
18619 sake of creating the ArchiveResource.
18621 2008-09-12 Dave Hyatt <hyatt@apple.com>
18623 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
18624 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
18625 Remove all the isWidget and hasPlatformScrollbars guards.
18627 Reviewed by Tim Hatcher
18629 * platform/ScrollBar.h:
18630 * platform/gtk/PlatformScrollBar.h:
18631 * platform/mac/PlatformScrollBar.h:
18632 * platform/qt/PlatformScrollBar.h:
18633 * platform/win/PlatformScrollBar.h:
18634 * platform/win/ScrollViewWin.cpp:
18635 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
18636 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
18637 * platform/wx/PlatformScrollBar.h:
18638 * rendering/RenderLayer.cpp:
18639 (WebCore::RenderLayer::horizontalScrollbarWidget):
18640 (WebCore::RenderLayer::verticalScrollbarWidget):
18641 (WebCore::RenderLayer::createScrollbar):
18642 (WebCore::RenderLayer::destroyScrollbar):
18643 * rendering/RenderListBox.cpp:
18644 (WebCore::RenderListBox::~RenderListBox):
18645 (WebCore::RenderListBox::updateFromElement):
18646 (WebCore::RenderListBox::isPointInOverflowControl):
18648 2008-09-12 Dan Bernstein <mitz@apple.com>
18650 Reviewed by Sam Weinig.
18652 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
18654 * page/animation/AnimationController.cpp:
18655 * page/animation/AnimationController.h:
18656 * page/animation/CompositeAnimation.cpp:
18657 * page/animation/CompositeAnimation.h:
18658 * page/animation/ImplicitAnimation.cpp:
18659 * page/animation/ImplicitAnimation.h:
18660 * page/animation/KeyframeAnimation.cpp:
18661 * page/animation/KeyframeAnimation.h:
18663 2008-09-11 Timothy Hatcher <timothy@apple.com>
18665 Add a renderedImage method to DOMNode to get an image
18666 of the rendering for the node and it's descendants.
18668 <rdar://problem/5849349> Would like API to create
18669 an image for a DOM node
18671 Reviewed by Oliver Hunt.
18673 * bindings/objc/DOM.mm:
18674 (-[DOMNode renderedImage]): Call Frame::nodeImage.
18675 * bindings/objc/DOMPrivate.h:
18677 * page/mac/FrameMac.mm:
18678 (WebCore::Frame::nodeImage):
18680 2008-09-08 Chris Marrin <cmarrin@apple.com>
18682 Reviewed by Dave Hyatt
18684 Need to support comma separated list of key times in keyframes selectors
18685 https://bugs.webkit.org/show_bug.cgi?id=20680
18687 Test: animations/keyframes-comma-separated.html
18689 * css/CSSGrammar.y:
18690 * css/CSSParser.cpp:
18691 (WebCore::CSSParser::createKeyframeRule):
18693 * css/CSSStyleSelector.cpp:
18694 (WebCore::CSSStyleSelector::addKeyframeStyle):
18695 * css/WebKitCSSKeyframeRule.cpp:
18696 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
18697 (WebCore::WebKitCSSKeyframeRule::cssText):
18698 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
18699 * css/WebKitCSSKeyframeRule.h:
18700 (WebCore::WebKitCSSKeyframeRule::keyText):
18701 (WebCore::WebKitCSSKeyframeRule::setKeyText):
18702 (WebCore::WebKitCSSKeyframeRule::getKeys):
18703 * css/WebKitCSSKeyframesRule.cpp:
18704 (WebCore::WebKitCSSKeyframesRule::append):
18705 (WebCore::WebKitCSSKeyframesRule::insertRule):
18706 (WebCore::WebKitCSSKeyframesRule::deleteRule):
18707 (WebCore::WebKitCSSKeyframesRule::findRule):
18708 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
18709 * css/WebKitCSSKeyframesRule.h:
18710 * page/animation/AnimationBase.cpp:
18711 (WebCore::AnimationBase::blendProperties):
18713 2008-09-11 Kevin McCullough <kmccullough@apple.com>
18717 Reverting because this caused a crash.
18719 * rendering/RenderObject.cpp:
18720 (WebCore::RenderObject::canBeProgramaticallyScrolled):
18721 (WebCore::RenderObject::hasScrollableView):
18722 * rendering/RenderObject.h:
18724 2008-09-11 Dean Jackson <dino@apple.com>
18726 Reviewed by Dan Bernstein.
18728 Fix assertion on transition property "none"
18729 https://bugs.webkit.org/show_bug.cgi?id=20751
18731 Test: transitions/transition-end-event-set-none.html
18733 * page/animation/CompositeAnimation.cpp:
18734 (WebCore::CompositeAnimation::updateTransitions):
18736 2008-09-11 David Smith <catfish.man@gmail.com>
18738 Rubber-stamped by mitzpettel.
18740 Remove an accidentally added extra file.
18742 * WebCore: Removed.
18744 2008-09-11 David Smith <catfish.man@gmail.com>
18748 https://bugs.webkit.org/show_bug.cgi?id=20180
18750 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.
18752 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
18753 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
18754 * dom/Element.cpp: include NodeRenderStyle.h
18755 * dom/Node.cpp: Remove the definition of renderStyle()
18756 (WebCore::Node::nonRendererRenderStyle):
18757 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
18758 * dom/NodeRenderStyle.h: Added.
18759 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
18760 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
18761 * html/HTMLOptGroupElement.h:
18762 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
18763 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
18764 * html/HTMLOptionElement.h:
18765 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
18766 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
18767 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
18768 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
18770 2008-09-11 Kevin McCullough <kmccullough@apple.com>
18772 Reviewed by Adele and Tim.
18774 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
18775 Inspector does not scroll to the line of the results (20167)
18776 - This was put in by Max to fix auto scrolling but is not correct for
18777 the whole web: rdar://problem/6213098
18779 * rendering/RenderObject.cpp:
18780 (WebCore::RenderObject::canBeProgramaticallyScrolled):
18781 * rendering/RenderObject.h:
18783 2008-09-11 Chris Fleizach <cfleizach@apple.com>
18785 Reviewed by Beth Dakin
18787 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
18789 Test: accessibility/frame-with-title.html
18791 * page/AccessibilityRenderObject.cpp:
18792 (WebCore::AccessibilityRenderObject::accessibilityDescription):
18794 2008-09-11 Dirk Schulze <vbs85@gmx.de>
18798 Fixed stroke() and strokeRect() to support gradients
18799 and patterns on Qt.
18801 [Qt] Canvas stroke don't work for gradients and patterns
18802 [https://bugs.webkit.org/show_bug.cgi?id=20749]
18804 * platform/graphics/qt/GraphicsContextQt.cpp:
18805 (WebCore::GraphicsContext::strokePath):
18806 (WebCore::GraphicsContext::strokeRect):
18808 2008-09-11 Dirk Schulze <vbs85@gmx.de>
18812 https://bugs.webkit.org/show_bug.cgi?id=20729
18814 Fixed canvas gradients for Qt
18816 [Qt] Canvas gradients don't work as expected
18817 [https://bugs.webkit.org/show_bug.cgi?id=20729]
18819 * platform/graphics/qt/GradientQt.cpp:
18820 (WebCore::Gradient::platformGradient):
18822 2008-09-11 Dirk Schulze <vbs85@gmx.de>
18826 https://bugs.webkit.org/show_bug.cgi?id=20568
18828 Add support for patterns to Qt.
18830 * platform/graphics/qt/PatternQt.cpp:
18831 (WebCore::Pattern::createPlatformPattern):
18833 2008-09-10 Dan Bernstein <mitz@apple.com>
18835 Reviewed by Sam Weinig.
18837 - clean up AnimationBase
18839 * page/animation/AnimationBase.cpp:
18840 * page/animation/AnimationBase.h:
18841 * page/animation/CompositeAnimation.cpp:
18842 * page/animation/ImplicitAnimation.cpp:
18843 * page/animation/ImplicitAnimation.h:
18844 * page/animation/KeyframeAnimation.cpp:
18845 * page/animation/KeyframeAnimation.h:
18847 2008-09-10 Alexey Proskuryakov <ap@webkit.org>
18849 Reviewed by Darin Adler.
18851 https://bugs.webkit.org/show_bug.cgi?id=20741
18852 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
18854 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
18855 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
18856 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
18858 I also found and fixed a potential crasher for non-Mac ports.
18860 Tests: fast/encoding/hebrew/8859-8-e.html
18861 fast/encoding/hebrew/8859-8-i.html
18862 fast/encoding/hebrew/8859-8.html
18863 fast/encoding/hebrew/csISO88598I.html
18864 fast/encoding/hebrew/hebrew.html
18865 fast/encoding/hebrew/iso-ir-138.html
18866 fast/encoding/hebrew/logical.html
18868 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
18869 (case-insensitively, because different versions of ICU report this MIME name in different
18872 * platform/text/TextCodecICU.cpp:
18873 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
18874 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
18875 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
18876 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
18877 we also support these via TEC (which we should stop doing), but on Windows, this would
18880 2008-09-09 Dave Hyatt <hyatt@apple.com
18882 Resurrect PlatformScrollbarWin.
18884 Reviewed by Adam Roben
18886 * WebCore.vcproj/WebCore.vcproj:
18887 * platform/win/PlatformScrollBarWin.cpp:
18888 (WebCore::isRunningOnVistaOrLater):
18889 (WebCore::checkAndInitScrollbarTheme):
18890 (WebCore::PlatformScrollbar::PlatformScrollbar):
18891 (WebCore::PlatformScrollbar::invalidateTrack):
18892 (WebCore::PlatformScrollbar::invalidatePart):
18893 (WebCore::PlatformScrollbar::paint):
18894 (WebCore::PlatformScrollbar::hasButtons):
18895 (WebCore::PlatformScrollbar::hasThumb):
18896 (WebCore::PlatformScrollbar::backButtonRect):
18897 (WebCore::PlatformScrollbar::forwardButtonRect):
18898 (WebCore::PlatformScrollbar::trackRect):
18899 (WebCore::PlatformScrollbar::gripperRect):
18900 (WebCore::PlatformScrollbar::thumbLength):
18901 (WebCore::PlatformScrollbar::paintButton):
18902 (WebCore::PlatformScrollbar::paintTrack):
18903 (WebCore::PlatformScrollbar::paintThumb):
18904 (WebCore::PlatformScrollbar::paintGripper):
18905 (WebCore::PlatformScrollbar::hitTest):
18906 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
18907 (WebCore::PlatformScrollbar::handleMouseOutEvent):
18908 (WebCore::PlatformScrollbar::themeChanged):
18910 2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
18912 Reviewed by Maciej Stachowiak.
18914 Bug 20759: Remove MacroAssembler
18915 <https://bugs.webkit.org/show_bug.cgi?id=20759>
18917 Make the necessary changes to ForwardingHeaders to remove
18920 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
18921 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
18922 * ForwardingHeaders/masm/X86Assembler.h: Added.
18924 2008-09-09 Alp Toker <alp@nuanti.com>
18926 Reviewed by Dave Hyatt.
18928 https://bugs.webkit.org/show_bug.cgi?id=16792
18929 [GTK] Fails to render Japanese/Chinese text with simple path
18931 https://bugs.webkit.org/show_bug.cgi?id=16942
18932 [GTK] Oddities in font selection and fall back
18934 https://bugs.webkit.org/show_bug.cgi?id=16862
18935 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
18937 GTK+ font fixes and enhancements.
18939 Implement font fallback for the simple FontConfig-based text path and
18940 improve the Pango-based complex text path to make use of requested
18941 font properties and available font selection.
18943 Add text shadow support to the complex path.
18945 * platform/graphics/gtk/FontCacheGtk.cpp:
18946 (WebCore::FontCache::getFontDataForCharacters):
18947 (WebCore::FontCache::getSimilarFontPlatformData):
18948 * platform/graphics/gtk/FontGtk.cpp:
18949 (WebCore::setPangoAttributes):
18950 (WebCore::Font::drawComplexText):
18951 (WebCore::getDefaultPangoLayout):
18952 (WebCore::Font::floatWidthForComplexText):
18953 (WebCore::Font::offsetForPositionForComplexText):
18954 (WebCore::Font::selectionRectForComplexText):
18955 * platform/graphics/gtk/FontPlatformData.h:
18956 (WebCore::FontPlatformData::FontPlatformData):
18957 (WebCore::FontPlatformData::hash):
18958 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
18959 (WebCore::FontPlatformData::FontPlatformData):
18960 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
18961 (WebCore::SimpleFontData::platformDestroy):
18963 2008-09-09 Dave Hyatt <hyatt@apple.com>
18965 Make the Windows classic case work again. Overlap in slider constants and other constants broke
18966 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
18967 value to make sure it's really a slider thumb to resolve this conflict.
18969 Reviewed by Adam Roben
18971 * rendering/RenderThemeWin.cpp:
18972 (WebCore::drawControl):
18974 2008-09-05 Chris Marrin <cmarrin@apple.com>
18976 Reviewed by Sam Weinig.
18978 Need to handle the case when 0% or 100% keyframe is omitted
18979 https://bugs.webkit.org/show_bug.cgi?id=20679
18981 Tests: animations/keyframes-from-missing.html
18982 animations/keyframes-to-missing.html
18984 * css/CSSStyleSelector.cpp:
18985 (WebCore::CSSStyleSelector::addKeyframeStyle):
18987 2008-09-09 Dave Hyatt <hyatt@apple.com>
18989 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
18990 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
18991 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
18992 what changes have been made as compared with the old RenderThemeWin).
18994 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
18995 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
18996 vs. printer advancement rounding).
18998 Reviewed by Adam/Sam
19000 * css/CSSStyleSelector.cpp:
19001 (WebCore::CSSStyleSelector::applyProperty):
19002 * platform/graphics/Icon.h:
19003 (WebCore::Icon::create):
19004 * rendering/RenderThemeWin.cpp:
19005 (WebCore::RenderThemeWin::RenderThemeWin):
19006 (WebCore::RenderThemeWin::~RenderThemeWin):
19007 (WebCore::RenderThemeWin::buttonTheme):
19008 (WebCore::RenderThemeWin::textFieldTheme):
19009 (WebCore::RenderThemeWin::menuListTheme):
19010 (WebCore::RenderThemeWin::sliderTheme):
19011 (WebCore::RenderThemeWin::close):
19012 (WebCore::RenderThemeWin::themeChanged):
19013 (WebCore::RenderThemeWin::supportsHover):
19014 (WebCore::fillFontDescription):
19015 (WebCore::RenderThemeWin::systemFont):
19016 (WebCore::RenderThemeWin::supportsFocus):
19017 (WebCore::RenderThemeWin::determineClassicState):
19018 (WebCore::RenderThemeWin::determineState):
19019 (WebCore::RenderThemeWin::determineSliderThumbState):
19020 (WebCore::RenderThemeWin::getClassicThemeData):
19021 (WebCore::RenderThemeWin::getThemeData):
19022 (WebCore::drawControl):
19023 (WebCore::RenderThemeWin::paintButton):
19024 (WebCore::RenderThemeWin::paintTextField):
19025 (WebCore::RenderThemeWin::paintMenuList):
19026 (WebCore::RenderThemeWin::adjustMenuListStyle):
19027 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
19028 (WebCore::RenderThemeWin::paintMenuListButton):
19029 (WebCore::RenderThemeWin::paintSliderTrack):
19030 (WebCore::RenderThemeWin::paintSliderThumb):
19031 (WebCore::RenderThemeWin::adjustSliderThumbSize):
19032 (WebCore::RenderThemeWin::paintSearchField):
19033 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
19034 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
19035 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
19036 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
19037 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
19038 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
19039 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
19040 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
19041 * rendering/RenderThemeWin.h:
19042 (WebCore::ThemeData::ThemeData):
19043 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
19044 (WebCore::RenderThemeWin::adjustButtonStyle):
19045 (WebCore::RenderThemeWin::adjustTextFieldStyle):
19046 (WebCore::RenderThemeWin::adjustTextAreaStyle):
19048 2008-09-09 Dean Jackson <dino@apple.com>
19050 Reviewed by Sam Weinig.
19052 Document::createEvent missing cases for animation and
19054 https://bugs.webkit.org/show_bug.cgi?id=20734
19056 Test: transitions/transition-end-event-create.html
19057 Test: animations/animation-events-create.html
19059 * dom/Document.cpp:
19060 (WebCore::Document::createEvent):
19061 - add the two cases
19063 2008-09-09 Dan Bernstein <mitz@apple.com>
19067 * WebCore.Tiger.exp:
19068 * WebCore.base.exp:
19069 * platform/mac/WebCoreSystemInterface.h:
19070 * platform/mac/WebCoreSystemInterface.mm:
19072 2008-09-09 Dan Bernstein <mitz@apple.com>
19074 Reviewed by Darin Adler.
19076 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
19078 * WebCore.Tiger.exp:
19079 * WebCore.base.exp:
19080 * platform/graphics/SimpleFontData.h:
19081 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
19082 (WebCore::GlyphPage::fill):
19083 * platform/graphics/mac/SimpleFontDataMac.mm:
19084 (WebCore::initFontData):
19085 (WebCore::SimpleFontData::platformInit):
19086 (WebCore::SimpleFontData::platformDestroy):
19087 * platform/mac/WebCoreSystemInterface.h:
19088 * platform/mac/WebCoreSystemInterface.mm:
19090 2008-09-09 Kevin McCullough <kmccullough@apple.com>
19094 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
19095 breakpoints inside eval.
19097 * page/inspector/inspector.js:
19099 2008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
19103 Fix compilation of the Qt port with disabled plugins on Windows
19106 * plugins/PluginView.cpp:
19107 (WebCore::PluginView::PluginView):
19108 * plugins/PluginView.h:
19110 2008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
19112 Reviewed by Alexey Proskuryakov.
19114 Try MIME charset names before trying IANA names
19115 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
19117 With this change, shorter and more widely used names (preferred MIME
19118 names) are returned by document.charset, document.characterSet,
19119 document.inputEncoding rather than IANA names. This helps
19120 fixing bug 18085 in addition to web developers who are more familiar
19121 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
19122 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
19123 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
19124 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
19125 used, the former is still recognized as aliases to the latter so that
19126 there's very little, if any, to worry about.
19128 * platform/text/TextCodecICU.cpp:
19129 (WebCore::TextCodecICU::registerExtendedEncodingNames):
19131 2008-09-08 Sam Weinig <sam@webkit.org>
19133 Reviewed by Maciej Stachowiak and Oliver Hunt.
19135 Add forwarding headers.
19137 * ForwardingHeaders/wtf/HashFunctions.h: Added.
19139 2008-09-05 Dean Jackson <dino@apple.com>
19141 Reviewed by Dan Bernstein.
19143 Update grammar so that we can add a keyframe rule via the DOM.
19144 https://bugs.webkit.org/show_bug.cgi?id=20613
19146 * css/CSSGrammar.y:
19147 * css/tokenizer.flex:
19149 2008-09-08 Antti Koivisto <antti@apple.com>
19151 Reviewed by Dan Bernstein.
19153 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
19154 actually show up in any of the default stylesheets.
19156 * css/CSSStyleSelector.cpp:
19157 (WebCore::elementCanUseSimpleDefaultStyle):
19159 2008-09-08 Dimitri Glazkov <dglazkov@google.com>
19161 Reviewed by Dan Bernstein.
19163 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
19164 Zero width and space characters are displayed incorrectly if not contained in a fallback font
19166 Adds an extra check for Object Replacement Character (U+FFFC) to address
19167 the issue with fast/text/zero-width-characters.html test when run
19168 with Windows system default fonts.
19170 * platform/graphics/Font.h:
19171 (WebCore::Font::treatAsZeroWidthSpace):
19173 2008-09-08 Dean Jackson <dino@apple.com>
19175 Reviewed by Sam Weinig.
19177 Code style issue I forgot to fix from previous commit.
19179 * platform/graphics/AffineTransform.cpp:
19180 (WebCore::AffineTransform::blend):
19182 2008-09-08 Chris Marrin <cmarrin@apple.com>
19184 Reviewed by Sam Weinig
19186 - Animation of -webkit-transform matrix() function should not do linear interpolation
19187 https://bugs.webkit.org/show_bug.cgi?id=20667
19189 Test: animations/matrix-anim.html
19192 * platform/graphics/AffineTransform.cpp:
19193 (WebCore::affineTransformDecompose):
19194 (WebCore::affineTransformCompose):
19195 (WebCore::AffineTransform::blend):
19196 * platform/graphics/AffineTransform.h:
19197 * rendering/style/RenderStyle.cpp:
19198 (WebCore::MatrixTransformOperation::blend):
19200 2008-09-08 Alexey Proskuryakov <ap@webkit.org>
19202 Reviewed by Darin Adler.
19204 https://bugs.webkit.org/show_bug.cgi?id=20668
19205 multipart/form-data does not always include Content-type for submitted files
19207 Cannot be tested with DRT or manual tests.
19209 * platform/MIMETypeRegistry.cpp:
19210 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
19211 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
19212 unknown extensions, not just missing ones.
19214 2008-09-08 Simon Hausmann <hausmann@webkit.org>
19216 Build fix for the Qt/Windows build, define USE_JSC to
19217 enable the WebCore::String -> JSC::UString operator that
19218 MSVC insists on seeing
19222 2008-09-08 Anders Carlsson <andersca@apple.com>
19224 Reviewed by Maciej.
19226 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
19228 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
19229 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
19231 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
19233 * bindings/js/JSDOMWindowBase.h:
19234 * loader/FrameLoader.cpp:
19235 (WebCore::FrameLoader::commitProvisionalLoad):
19237 2008-09-07 Antti Koivisto <antti@apple.com>
19239 Reviewed by Dave Hyatt.
19241 Don't leak the simple stylesheet.
19242 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
19244 * css/CSSStyleSelector.cpp:
19245 (WebCore::loadFullDefaultStyle):
19246 (WebCore::loadSimpleDefaultStyle):
19247 (WebCore::CSSStyleSelector::styleForElement):
19249 2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
19251 Reviewed by Oliver Hunt.
19253 Bug 20711: Change KJS prefix on preprocessor macros to JSC
19254 <https://bugs.webkit.org/show_bug.cgi?id=20711>
19256 * bindings/js/JSEventTargetBase.h:
19257 * bindings/js/JSHTMLInputElementBase.cpp:
19258 * bindings/js/JSHTMLInputElementBase.h:
19259 * bindings/scripts/CodeGeneratorJS.pm:
19261 2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
19263 Reviewed by Maciej Stachowiak.
19265 Bug 20704: Replace the KJS namespace
19266 <https://bugs.webkit.org/show_bug.cgi?id=20704>
19268 Rename the KJS namespace to JSC. There are still some uses of KJS in the
19269 names of JNI functions, and I will check if these are safe to change
19272 * WebCore.base.exp:
19273 * bindings/js/GCController.cpp:
19274 * bindings/js/JSAttrCustom.cpp:
19275 * bindings/js/JSAudioConstructor.cpp:
19276 * bindings/js/JSAudioConstructor.h:
19277 (WebCore::JSAudioConstructor::classInfo):
19278 * bindings/js/JSCSSRuleCustom.cpp:
19279 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
19280 * bindings/js/JSCSSValueCustom.cpp:
19281 * bindings/js/JSCanvasPixelArrayCustom.cpp:
19282 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
19283 * bindings/js/JSClipboardCustom.cpp:
19284 * bindings/js/JSConsoleCustom.cpp:
19285 * bindings/js/JSCustomSQLStatementCallback.cpp:
19286 (WebCore::JSCustomSQLStatementCallback::handleEvent):
19287 * bindings/js/JSCustomSQLStatementCallback.h:
19288 (WebCore::JSCustomSQLStatementCallback::create):
19289 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
19290 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
19291 * bindings/js/JSCustomSQLStatementErrorCallback.h:
19292 (WebCore::JSCustomSQLStatementErrorCallback::create):
19293 * bindings/js/JSCustomSQLTransactionCallback.cpp:
19294 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
19295 * bindings/js/JSCustomSQLTransactionCallback.h:
19296 (WebCore::JSCustomSQLTransactionCallback::create):
19297 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
19298 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
19299 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
19300 (WebCore::JSCustomSQLTransactionErrorCallback::create):
19301 * bindings/js/JSCustomVoidCallback.cpp:
19302 (WebCore::JSCustomVoidCallback::handleEvent):
19303 * bindings/js/JSCustomVoidCallback.h:
19304 (WebCore::JSCustomVoidCallback::create):
19305 * bindings/js/JSCustomXPathNSResolver.cpp:
19306 (WebCore::JSCustomXPathNSResolver::create):
19307 * bindings/js/JSCustomXPathNSResolver.h:
19308 * bindings/js/JSDOMApplicationCacheCustom.cpp:
19309 (WebCore::JSDOMApplicationCache::dispatchEvent):
19310 * bindings/js/JSDOMBinding.cpp:
19311 (WebCore::jsOwnedStringOrNull):
19312 * bindings/js/JSDOMBinding.h:
19313 (WebCore::DOMObject::DOMObject):
19314 (WebCore::cacheDOMObject):
19315 (WebCore::cacheSVGDOMObject):
19316 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
19318 * bindings/js/JSDOMWindowBase.cpp:
19319 * bindings/js/JSDOMWindowBase.h:
19320 (WebCore::JSDOMWindowBase::classInfo):
19321 (WebCore::JSDOMWindowBase::d):
19322 * bindings/js/JSDOMWindowCustom.cpp:
19323 (WebCore::JSDOMWindow::getPropertyAttributes):
19324 * bindings/js/JSDOMWindowCustom.h:
19325 (WebCore::asJSDOMWindow):
19326 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
19327 (WebCore::JSDOMWindow::customPut):
19328 (WebCore::JSDOMWindowBase::allowsAccessFrom):
19329 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
19330 * bindings/js/JSDOMWindowShell.cpp:
19331 (WebCore::JSDOMWindowShell::getPropertyAttributes):
19332 * bindings/js/JSDOMWindowShell.h:
19333 (WebCore::JSDOMWindowShell::classInfo):
19334 * bindings/js/JSDatabaseCustom.cpp:
19335 * bindings/js/JSDocumentCustom.cpp:
19336 * bindings/js/JSDocumentFragmentCustom.cpp:
19337 * bindings/js/JSElementCustom.cpp:
19338 * bindings/js/JSEventCustom.cpp:
19339 * bindings/js/JSEventListener.cpp:
19340 * bindings/js/JSEventListener.h:
19341 (WebCore::JSUnprotectedEventListener::create):
19342 (WebCore::JSEventListener::create):
19343 * bindings/js/JSEventTargetBase.cpp:
19344 * bindings/js/JSEventTargetBase.h:
19345 (WebCore::JSEventTargetBase::getValueProperty):
19346 (WebCore::JSEventTargetBase::putValueProperty):
19347 (WebCore::JSEventTargetBase::getOwnPropertySlot):
19348 (WebCore::JSEventTargetBase::put):
19349 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
19350 (WebCore::JSEventTargetPrototype::self):
19351 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
19352 (WebCore::JSEventTargetPrototype::classInfo):
19353 * bindings/js/JSEventTargetNode.cpp:
19354 * bindings/js/JSEventTargetNode.h:
19355 (WebCore::JSEventTargetNode::getOwnPropertySlot):
19356 (WebCore::JSEventTargetNode::getValueProperty):
19357 (WebCore::JSEventTargetNode::put):
19358 (WebCore::JSEventTargetNode::putValueProperty):
19359 * bindings/js/JSHTMLAllCollection.h:
19360 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
19361 (WebCore::JSHTMLAllCollection::toBoolean):
19362 * bindings/js/JSHTMLAppletElementCustom.cpp:
19363 * bindings/js/JSHTMLCollectionCustom.cpp:
19364 * bindings/js/JSHTMLDocumentCustom.cpp:
19365 * bindings/js/JSHTMLElementCustom.cpp:
19366 * bindings/js/JSHTMLEmbedElementCustom.cpp:
19367 * bindings/js/JSHTMLFormElementCustom.cpp:
19368 * bindings/js/JSHTMLFrameElementCustom.cpp:
19369 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
19370 * bindings/js/JSHTMLIFrameElementCustom.cpp:
19371 * bindings/js/JSHTMLInputElementBase.cpp:
19372 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
19373 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
19374 * bindings/js/JSHTMLInputElementBase.h:
19375 (WebCore::JSHTMLInputElementBase::classInfo):
19376 * bindings/js/JSHTMLObjectElementCustom.cpp:
19377 * bindings/js/JSHTMLOptionElementConstructor.cpp:
19378 * bindings/js/JSHTMLOptionElementConstructor.h:
19379 (WebCore::JSHTMLOptionElementConstructor::classInfo):
19380 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
19381 * bindings/js/JSHTMLSelectElementCustom.cpp:
19382 (WebCore::selectIndexSetter):
19383 (WebCore::JSHTMLSelectElement::indexSetter):
19384 * bindings/js/JSHTMLSelectElementCustom.h:
19385 * bindings/js/JSHistoryCustom.cpp:
19386 * bindings/js/JSImageConstructor.cpp:
19387 * bindings/js/JSImageConstructor.h:
19388 (WebCore::JSImageConstructor::classInfo):
19389 * bindings/js/JSInspectedObjectWrapper.cpp:
19390 * bindings/js/JSInspectedObjectWrapper.h:
19391 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
19392 (WebCore::JSInspectedObjectWrapper::classInfo):
19393 * bindings/js/JSInspectorCallbackWrapper.cpp:
19394 * bindings/js/JSInspectorCallbackWrapper.h:
19395 (WebCore::JSInspectorCallbackWrapper::classInfo):
19396 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
19397 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
19398 * bindings/js/JSLocationCustom.cpp:
19399 * bindings/js/JSMimeTypeArrayCustom.cpp:
19400 * bindings/js/JSNSResolver.cpp:
19401 * bindings/js/JSNSResolver.h:
19402 (WebCore::JSNSResolver::create):
19403 * bindings/js/JSNamedNodeMapCustom.cpp:
19404 * bindings/js/JSNamedNodesCollection.cpp:
19405 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
19406 * bindings/js/JSNamedNodesCollection.h:
19407 (WebCore::JSNamedNodesCollection::classInfo):
19408 * bindings/js/JSNavigatorCustom.cpp:
19409 * bindings/js/JSNodeCustom.cpp:
19410 * bindings/js/JSNodeFilterCondition.cpp:
19411 (WebCore::JSNodeFilterCondition::acceptNode):
19412 * bindings/js/JSNodeFilterCondition.h:
19413 (WebCore::JSNodeFilterCondition::create):
19414 * bindings/js/JSNodeFilterCustom.cpp:
19415 * bindings/js/JSNodeIteratorCustom.cpp:
19416 * bindings/js/JSNodeListCustom.cpp:
19417 * bindings/js/JSPluginArrayCustom.cpp:
19418 * bindings/js/JSPluginCustom.cpp:
19419 * bindings/js/JSPluginElementFunctions.cpp:
19420 (WebCore::getRuntimeObject):
19421 * bindings/js/JSPluginElementFunctions.h:
19422 * bindings/js/JSQuarantinedObjectWrapper.cpp:
19423 (WebCore::JSQuarantinedObjectWrapper::construct):
19424 (WebCore::JSQuarantinedObjectWrapper::call):
19425 * bindings/js/JSQuarantinedObjectWrapper.h:
19426 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
19427 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
19428 (WebCore::JSQuarantinedObjectWrapper::className):
19429 * bindings/js/JSRGBColor.cpp:
19430 * bindings/js/JSRGBColor.h:
19431 (WebCore::JSRGBColor::classInfo):
19432 * bindings/js/JSSQLResultSetRowListCustom.cpp:
19433 * bindings/js/JSSQLTransactionCustom.cpp:
19434 * bindings/js/JSSVGLazyEventListener.cpp:
19435 * bindings/js/JSSVGLazyEventListener.h:
19436 * bindings/js/JSSVGLengthCustom.cpp:
19437 * bindings/js/JSSVGMatrixCustom.cpp:
19438 (WebCore::JSSVGMatrix::inverse):
19439 (WebCore::JSSVGMatrix::rotateFromVector):
19440 * bindings/js/JSSVGPathSegCustom.cpp:
19441 * bindings/js/JSSVGPathSegListCustom.cpp:
19442 (WebCore::JSSVGPathSegList::initialize):
19443 (WebCore::JSSVGPathSegList::getItem):
19444 (WebCore::JSSVGPathSegList::insertItemBefore):
19445 (WebCore::JSSVGPathSegList::replaceItem):
19446 (WebCore::JSSVGPathSegList::removeItem):
19447 (WebCore::JSSVGPathSegList::appendItem):
19448 * bindings/js/JSSVGPointListCustom.cpp:
19449 * bindings/js/JSSVGTransformListCustom.cpp:
19450 * bindings/js/JSStorageCustom.cpp:
19451 * bindings/js/JSStyleSheetCustom.cpp:
19452 * bindings/js/JSStyleSheetListCustom.cpp:
19453 * bindings/js/JSTextCustom.cpp:
19454 * bindings/js/JSTreeWalkerCustom.cpp:
19455 * bindings/js/JSXMLHttpRequestConstructor.cpp:
19456 * bindings/js/JSXMLHttpRequestConstructor.h:
19457 (WebCore::JSXMLHttpRequestConstructor::classInfo):
19458 * bindings/js/JSXMLHttpRequestCustom.cpp:
19459 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
19460 * bindings/js/JSXSLTProcessorConstructor.cpp:
19461 * bindings/js/JSXSLTProcessorConstructor.h:
19462 (WebCore::JSXSLTProcessorConstructor::classInfo):
19463 * bindings/js/JSXSLTProcessorCustom.cpp:
19464 * bindings/js/ScheduledAction.cpp:
19465 * bindings/js/ScheduledAction.h:
19466 * bindings/js/ScriptController.cpp:
19467 (WebCore::ScriptController::attachDebugger):
19468 (WebCore::ScriptController::windowScriptNPObject):
19469 * bindings/js/ScriptController.h:
19470 * bindings/js/ScriptControllerGtk.cpp:
19471 (WebCore::ScriptController::createScriptInstanceForWidget):
19472 * bindings/js/ScriptControllerMac.mm:
19473 (WebCore::ScriptController::createScriptInstanceForWidget):
19474 (WebCore::ScriptController::windowScriptObject):
19475 (WebCore::ScriptController::clearPlatformScriptObjects):
19476 (WebCore::updateRenderingForBindings):
19477 (WebCore::ScriptController::initJavaJSBindings):
19478 * bindings/js/ScriptControllerQt.cpp:
19479 (WebCore::ScriptController::createScriptInstanceForWidget):
19480 * bindings/js/ScriptControllerWin.cpp:
19481 (WebCore::ScriptController::createScriptInstanceForWidget):
19482 * bindings/js/ScriptControllerWx.cpp:
19483 (WebCore::ScriptController::createScriptInstanceForWidget):
19484 * bindings/js/StringSourceProvider.h:
19485 (WebCore::StringSourceProvider::getRange):
19486 * bindings/objc/DOM.mm:
19487 (-[DOMNode JSC::Bindings::]):
19488 * bindings/objc/DOMInternal.h:
19489 * bindings/objc/DOMInternal.mm:
19490 (-[WebScriptObject _initializeScriptDOMNodeImp]):
19491 * bindings/objc/DOMUtility.mm:
19492 (JSC::createDOMWrapper):
19493 (WebCore::createDOMWrapper):
19494 * bindings/objc/WebScriptObject.mm:
19495 (WebCore::createJSWrapper):
19496 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
19497 * bindings/objc/WebScriptObjectPrivate.h:
19498 * bindings/scripts/CodeGeneratorJS.pm:
19499 * bridge/NP_jsobject.cpp:
19500 * bridge/NP_jsobject.h:
19501 * bridge/c/c_class.cpp:
19502 * bridge/c/c_class.h:
19503 * bridge/c/c_instance.cpp:
19504 * bridge/c/c_instance.h:
19505 * bridge/c/c_runtime.cpp:
19506 * bridge/c/c_runtime.h:
19507 * bridge/c/c_utility.cpp:
19508 * bridge/c/c_utility.h:
19509 * bridge/jni/jni_class.cpp:
19510 * bridge/jni/jni_class.h:
19511 * bridge/jni/jni_instance.cpp:
19512 * bridge/jni/jni_instance.h:
19513 * bridge/jni/jni_jsobject.h:
19514 * bridge/jni/jni_jsobject.mm:
19515 (JavaJSObject::call):
19516 (JavaJSObject::convertJObjectToValue):
19517 * bridge/jni/jni_objc.mm:
19518 (JSC::Bindings::dispatchJNICall):
19519 * bridge/jni/jni_runtime.cpp:
19520 * bridge/jni/jni_runtime.h:
19521 * bridge/jni/jni_utility.cpp:
19522 * bridge/jni/jni_utility.h:
19523 * bridge/npruntime.cpp:
19524 (_NPN_GetStringIdentifier):
19525 * bridge/objc/WebScriptObject.h:
19526 * bridge/objc/objc_class.h:
19527 * bridge/objc/objc_class.mm:
19528 * bridge/objc/objc_instance.h:
19529 * bridge/objc/objc_instance.mm:
19530 * bridge/objc/objc_runtime.h:
19531 * bridge/objc/objc_runtime.mm:
19532 * bridge/objc/objc_utility.h:
19533 * bridge/objc/objc_utility.mm:
19534 * bridge/qt/qt_class.cpp:
19535 * bridge/qt/qt_class.h:
19536 * bridge/qt/qt_instance.cpp:
19537 * bridge/qt/qt_instance.h:
19538 * bridge/qt/qt_runtime.cpp:
19539 (JSC::Bindings::convertQVariantToValue):
19541 * bridge/qt/qt_runtime.h:
19542 * bridge/runtime.cpp:
19543 * bridge/runtime.h:
19544 * bridge/runtime_array.cpp:
19545 * bridge/runtime_array.h:
19546 * bridge/runtime_method.cpp:
19547 * bridge/runtime_method.h:
19548 * bridge/runtime_object.cpp:
19549 * bridge/runtime_object.h:
19550 * bridge/runtime_root.cpp:
19551 (JSC::Bindings::RootObject::invalidate):
19552 (JSC::Bindings::RootObject::gcProtect):
19553 (JSC::Bindings::RootObject::gcUnprotect):
19554 * bridge/runtime_root.h:
19555 * bridge/testbindings.cpp:
19556 * bridge/testbindings.mm:
19557 * bridge/testqtbindings.cpp:
19558 * dom/Document.cpp:
19559 (WebCore::Document::~Document):
19560 * dom/NSResolver.h:
19562 (WebCore::Node::setDocument):
19563 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
19564 (WebCore::resolveNamespacesForSelector):
19565 (WebCore::Node::querySelector):
19566 (WebCore::Node::querySelectorAll):
19568 * dom/NodeFilter.cpp:
19569 * dom/NodeFilter.h:
19570 * dom/NodeFilterCondition.cpp:
19571 * dom/NodeFilterCondition.h:
19572 * dom/NodeIterator.cpp:
19573 * dom/NodeIterator.h:
19574 * dom/Traversal.cpp:
19576 * dom/TreeWalker.cpp:
19577 * dom/TreeWalker.h:
19578 * dom/make_names.pl:
19579 * history/CachedPage.cpp:
19580 * history/CachedPage.h:
19581 * html/HTMLPlugInElement.cpp:
19582 (WebCore::HTMLPlugInElement::getInstance):
19583 * html/HTMLPlugInElement.h:
19584 * loader/FrameLoader.cpp:
19585 * loader/FrameLoader.h:
19586 * loader/icon/IconDatabase.cpp:
19587 (WebCore::iconDatabase):
19588 * page/Console.cpp:
19590 * page/InspectorController.cpp:
19591 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
19592 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
19593 (WebCore::InspectorResource::setXMLHttpRequestProperties):
19594 (WebCore::InspectorResource::sourceString):
19595 (WebCore::getResourceDocumentNode):
19597 (WebCore::InspectorController::focusNode):
19598 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
19599 (WebCore::InspectorController::addDatabaseScriptResource):
19600 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
19601 * page/InspectorController.h:
19602 (WebCore::InspectorController::profiles):
19603 * page/JavaScriptCallFrame.cpp:
19604 (WebCore::JavaScriptCallFrame::scopeChain):
19605 * page/JavaScriptCallFrame.h:
19606 (WebCore::JavaScriptCallFrame::create):
19607 (WebCore::JavaScriptCallFrame::update):
19608 * page/JavaScriptDebugListener.h:
19609 * page/JavaScriptDebugServer.cpp:
19610 (WebCore::dispatchDidParseSource):
19611 * page/JavaScriptDebugServer.h:
19612 * page/JavaScriptProfile.cpp:
19613 * page/JavaScriptProfile.h:
19614 * page/JavaScriptProfileNode.cpp:
19615 (WebCore::getTotalTime):
19616 (WebCore::getSelfTime):
19617 (WebCore::getTotalPercent):
19618 (WebCore::getSelfPercent):
19619 (WebCore::getNumberOfCalls):
19620 (WebCore::getChildren):
19621 (WebCore::getVisible):
19622 * page/JavaScriptProfileNode.h:
19624 (WebCore::Page::setDebuggerForAllPages):
19625 (WebCore::Page::setDebugger):
19627 (WebCore::Page::debugger):
19628 * page/mac/FrameMac.mm:
19630 (WebCore::KURL::operator JSC::UString):
19631 * platform/text/AtomicString.cpp:
19632 (WebCore::AtomicString::add):
19633 (WebCore::AtomicString::find):
19634 * platform/text/AtomicString.h:
19635 (WebCore::AtomicString::AtomicString):
19636 * platform/text/PlatformString.h:
19637 * platform/text/String.cpp:
19638 (WebCore::charactersToDouble):
19639 * platform/win/BString.cpp:
19640 * platform/win/BString.h:
19641 * plugins/MimeTypeArray.h:
19642 * plugins/Plugin.h:
19643 * plugins/PluginArray.h:
19644 * plugins/PluginView.cpp:
19645 (WebCore::PluginView::start):
19646 (WebCore::PluginView::performRequest):
19647 (WebCore::PluginView::bindingInstance):
19648 * plugins/PluginView.h:
19649 * plugins/gtk/PluginViewGtk.cpp:
19650 (WebCore::PluginView::paint):
19651 (WebCore::PluginView::handleKeyboardEvent):
19652 (WebCore::PluginView::handleMouseEvent):
19653 (WebCore::PluginView::setNPWindowRect):
19654 (WebCore::PluginView::stop):
19655 (WebCore::PluginView::init):
19656 * plugins/qt/PluginViewQt.cpp:
19657 (WebCore::PluginView::setNPWindowRect):
19658 (WebCore::PluginView::stop):
19659 (WebCore::PluginView::init):
19660 * plugins/win/PluginViewWin.cpp:
19661 (WebCore::PluginView::dispatchNPEvent):
19662 (WebCore::PluginView::handleKeyboardEvent):
19663 (WebCore::PluginView::handleMouseEvent):
19664 (WebCore::PluginView::setNPWindowRect):
19665 (WebCore::PluginView::stop):
19666 * storage/Database.cpp:
19667 (WebCore::Database::Database):
19668 * xml/XMLHttpRequest.cpp:
19669 (WebCore::XMLHttpRequest::responseText):
19670 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
19671 (WebCore::XMLHttpRequest::clearResponse):
19672 (WebCore::XMLHttpRequest::dropProtection):
19673 (WebCore::XMLHttpRequest::didFinishLoading):
19674 (WebCore::XMLHttpRequest::didReceiveData):
19675 * xml/XMLHttpRequest.h:
19677 2008-09-07 Adam Barth <abarth@webkit.org>
19679 Reviewed by Sam Weinig.
19681 Adopt opener restriction on frame navigation.
19682 https://bugs.webkit.org/show_bug.cgi?id=20642
19684 This restriction helps prevent an attacker from navigating top-level
19685 windows that were created by another web site.
19687 Tests: http/tests/security/frameNavigation/not-opener.html
19688 http/tests/security/frameNavigation/opener.html
19690 * loader/FrameLoader.cpp:
19691 (WebCore::canAccessAncestor):
19692 (WebCore::FrameLoader::shouldAllowNavigation):
19694 2008-09-07 Dan Bernstein <mitz@apple.com>
19696 Reviewed by Maciej Stachowiak.
19698 - use the correct sign for vertical offsets of combining marks
19700 * platform/graphics/win/UniscribeController.cpp:
19701 (WebCore::UniscribeController::shapeAndPlaceItem):
19703 2008-09-07 Dan Bernstein <mitz@apple.com>
19705 Reviewed by Dave Hyatt.
19707 - add the combining mark offsets in two places where I forgot them
19709 * platform/graphics/win/FontCGWin.cpp:
19710 (WebCore::Font::drawGlyphs):
19712 2008-09-07 Dan Bernstein <mitz@apple.com>
19714 Reviewed by Dave Hyatt.
19716 - correct glyph advances in complex text using web fonts rendered with
19719 * platform/graphics/win/FontCustomPlatformData.cpp:
19720 (WebCore::FontCustomPlatformData::fontPlatformData):
19722 2008-09-07 Keishi Hattori <casey.hattori@gmail.com>
19724 Adds console.dirxml support to the Web Inspector.
19726 https://bugs.webkit.org/show_bug.cgi?id=19156
19728 Reviewed by Timothy Hatcher.
19730 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
19731 * bindings/js/JSConsoleCustom.cpp:
19732 (WebCore::JSConsole::dirxml):
19733 * page/Console.cpp:
19734 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
19736 (WebCore::): Added NodeMessageLevel.
19737 * page/Console.idl: Added console.dirxml.
19738 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
19739 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
19740 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
19741 * page/inspector/ElementsTreeOutline.js: Added.
19742 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
19743 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
19744 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
19745 * page/inspector/inspector.css:
19746 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
19747 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
19748 (WebInspector.altKeyDown):
19749 (WebInspector.forceHoverHighlight):
19750 (WebInspector.hoveredDOMNode):
19751 (WebInspector._updateHoverHighlightSoon):
19752 (WebInspector._updateHoverHighlight):
19753 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
19754 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
19755 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
19756 isAncestorIncludingParentFrames.
19758 2008-09-06 Mark Rowe <mrowe@apple.com>
19762 * bridge/qt/qt_runtime.cpp:
19763 (KJS::Bindings::convertQVariantToValue):
19765 === End merge of squirrelfish-extreme ===
19767 2008-09-05 Oliver Hunt <oliver@apple.com>
19769 Start bringing up SFX on windows.
19771 Reviewed by Mark Rowe and Sam Weinig
19773 Start doing the work to bring up SFX on windows. Initially
19774 just working on WREC, as it does not make any calls so reduces
19775 the amount of code that needs to be corrected.
19777 Add forwarding headers
19780 * ForwardingHeaders/masm/MacroAssembler.h: Added.
19781 * WebCore.vcproj/WebCore.vcproj:
19783 2008-08-27 Mark Rowe <mrowe@apple.com>
19785 Reviewed by Oliver Hunt.
19787 Fix the build of the full WebKit stack.
19789 Add forwarding headers.
19791 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
19792 * ForwardingHeaders/wrec/WREC.h: Added.
19794 === Start merge of squirrelfish-extreme ===
19796 2008-09-06 Antti Koivisto <antti@apple.com>
19798 Reviewed by Dave Hyatt.
19800 <rdar://problem/6187043>
19801 Don't parse full HTML user agent style sheet unless it is actually needed
19802 <rdar://problem/6131889>
19803 WebView is significantly more expensive to create recently
19805 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
19806 startup. Some clients may never use most of the rules.
19808 With this patch we use simplified UA stylesheet until we hit something it can't handle.
19809 This avoids full stylesheet parsing on application startup (due to empty document construction)
19810 and also makes it possible for clients with very simple demands (divs and spans only) never to load
19813 It also delays view source style parsing until it is used.
19815 * css/CSSStyleSelector.cpp:
19816 (WebCore::elementCanUseSimpleDefaultStyle):
19817 (WebCore::CSSStyleSelector::CSSStyleSelector):
19818 (WebCore::loadFullDefaultStyle):
19819 (WebCore::loadSimpleDefaultStyle):
19820 (WebCore::loadViewSourceStyle):
19821 (WebCore::CSSStyleSelector::matchUARules):
19822 (WebCore::CSSStyleSelector::styleForElement):
19824 2008-09-06 Kevin Ollivier <kevino@theolliviers.com>
19828 * WebCoreSources.bkl:
19830 2008-09-06 Antti Koivisto <antti@apple.com>
19832 Reverting r35953 which was causing problems on Windows which relies on
19833 WebCore timers in nested event loops. r36132 did alternative fix.
19836 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
19837 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
19839 2008-09-06 Antti Koivisto <antti@apple.com>
19841 Reviewed by Dan Bernstein.
19843 Fix <rdar://problem/6201644>
19844 https://bugs.webkit.org/show_bug.cgi?id=20493
19845 Crash after OK in dialog box and reloading page in secure mode
19847 Limited loader only fix since the general timer fix is causing problems on Windows.
19849 * loader/loader.cpp:
19850 (WebCore::Loader::servePendingRequests):
19851 (WebCore::Loader::Host::Host):
19852 (WebCore::Loader::Host::didFinishLoading):
19853 (WebCore::Loader::Host::didFail):
19854 (WebCore::Loader::Host::didReceiveData):
19856 (WebCore::Loader::Host::processingResource):
19858 2008-09-06 Dan Bernstein <mitz@apple.com>
19860 Reviewed by Dave Hyatt.
19862 The initial Core Text adoption prototype was made by Daniel Fenwick.
19864 - <rdar://problem/5158514> Add a Core Text-based complex text code path
19866 Currently the Core Text code path is not used in any configuration.
19868 * WebCore.xcodeproj/project.pbxproj: Added files.
19869 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
19870 * platform/graphics/Font.cpp:
19871 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
19873 * platform/graphics/GlyphBuffer.h:
19874 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
19875 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
19876 Added getCTFont() and getCFStringAttributes() and corresponding data
19877 members for Core Text.
19878 * platform/graphics/mac/CoreTextController.cpp: Added.
19879 (WebCore::roundCGFloat): Helper function.
19880 (WebCore::ceilCGFloat): Helper function.
19881 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
19882 (WebCore::CoreTextController::CoreTextController):
19883 (WebCore::CoreTextController::offsetForPosition):
19884 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
19885 run into subruns as necessary such that each subrun can be rendered with
19886 a single font. Also separates out soft hyphens and replaces them with
19887 real hyphens, because Core Text does not emit a glyph for soft hyphens.
19888 Then calls collectCoreTextRunsForCharacters() on each subrun.
19889 (WebCore::CoreTextController::advance):
19890 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
19891 a CTLine from the given subrun and collects its CoreTextRuns.
19892 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
19893 rounding hacks, letter- and word-spacing and glyph substitutions and
19894 stores the resulting adjusted glyphs and advances.
19895 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
19896 (WebCore::CoreTextController::totalWidth):
19897 (WebCore::CoreTextController::finalRoundingWidth):
19898 (WebCore::CoreTextController::CoreTextRun::ctRun):
19899 (WebCore::CoreTextController::CoreTextRun::glyphCount):
19900 (WebCore::CoreTextController::CoreTextRun::fontData):
19901 (WebCore::CoreTextController::CoreTextRun::characters):
19902 (WebCore::CoreTextController::CoreTextRun::stringLocation):
19903 (WebCore::CoreTextController::CoreTextRun::stringLength):
19904 (WebCore::CoreTextController::CoreTextRun::indexAt):
19905 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
19907 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
19908 (WebCore::disableLigatures): Changed to call
19909 FontPlatformData::allowsLigatures().
19910 (WebCore::overrideLayoutOperation): Changed to call
19911 FontPlatformData::roundsGlyphAdvances().
19912 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
19913 (WebCore::Font::selectionRectForComplexText): Changed to use
19914 totalWidth() instead of advancing to the end and using runWidthSoFar().
19915 (WebCore::Font::drawComplexText):
19916 (WebCore::Font::floatWidthForComplexText): Ditto.
19917 (WebCore::Font::offsetForPositionForComplexText):
19918 * platform/graphics/mac/FontPlatformData.h:
19919 * platform/graphics/mac/FontPlatformDataMac.mm:
19920 (WebCore::FontPlatformData::setFont):
19921 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
19922 AppKit rendering mode.
19923 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
19924 heuristic that allows ligatures in fonts that do not have a glyph for
19925 'a', based on the assumption that such fonts are only used in complex
19927 * platform/graphics/mac/SimpleFontDataMac.mm:
19928 (WebCore::SimpleFontData::platformInit):
19929 (WebCore::SimpleFontData::platformDestroy):
19930 (WebCore::SimpleFontData::getCTFont): Added.
19931 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
19932 returns an attributes dictionary.
19933 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
19934 * platform/text/mac/ShapeArabic.h: Ditto.
19936 2008-09-06 Dan Bernstein <mitz@apple.com>
19938 Reviewed by Dave Hyatt.
19940 - make combining mark offsets work in CG text on Windows
19942 * platform/graphics/win/FontCGWin.cpp:
19943 (WebCore::Font::drawGlyphs): The old code tried to translate the text
19944 matrix, but failed for two reasons: it did not actually change the
19945 matrix, and even if it did, CGContextSetTextPosition overwrites the
19946 translation values in the text matrix. Instead, just added the
19947 translation to the anchor point.
19949 2008-09-05 Gustavo Noronha Silva <gns@gnome.org>
19951 Reviewed by Alp Toker.
19953 https://bugs.webkit.org/show_bug.cgi?id=18346
19954 [GTK] Remove build warnings
19956 Applied some casts, and removed an unused typedef to make the
19957 compiler happy, printing less warnings when building.
19959 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
19960 * platform/graphics/gtk/SimpleFontDataPango.cpp:
19961 (WebCore::SimpleFontData::containsCharacters):
19962 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
19963 (webkit_video_sink_set_caps):
19964 * platform/network/soup/ResourceHandleSoup.cpp:
19966 2008-09-05 Eric Seidel <eric@webkit.org>
19968 Reviewed by Adam Roben.
19970 Build fix for WebKitWin and Chromium
19972 * platform/FileSystem.h:
19974 2008-09-05 Eric Seidel <eric@webkit.org>
19976 Reviewed by Darin Adler.
19978 Try to make Chromium compile with ToT:
19979 - Wrap a few places which depend on KJS:: in #if USE(JSC)
19980 - Include some windows forward declarations
19984 * page/animation/CompositeAnimation.h:
19985 * platform/FileSystem.h:
19986 * platform/graphics/Image.h:
19987 * platform/text/AtomicString.h:
19988 * platform/text/String.cpp:
19989 * rendering/style/RenderStyle.h:
19991 2008-09-05 Dave Hyatt <hyatt@apple.com>
19993 Add support for runtime switchability of the Aqua look and the native look on Windows.
19994 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
19996 Reviewed by Adam Roben
19998 * WebCore.vcproj/WebCore.vcproj:
19999 * page/Settings.cpp:
20000 (WebCore::Settings::setShouldPaintNativeControls):
20002 (WebCore::Settings::shouldPaintNativeControls):
20003 * rendering/RenderThemeSafari.cpp:
20005 * rendering/RenderThemeWin.cpp:
20007 2008-09-05 Antti Koivisto <antti@apple.com>
20011 * svg/SVGFEImageElement.cpp:
20012 (WebCore::SVGFEImageElement::build):
20014 2008-09-05 Dirk Schulze <vbs85@gmx.de>
20020 2008-09-05 Antti Koivisto <antti@apple.com>
20024 * svg/SVGFEImageElement.cpp:
20025 (WebCore::SVGFEImageElement::notifyFinished):
20027 2008-09-05 Antti Koivisto <antti@apple.com>
20031 * WebCore.xcodeproj/project.pbxproj:
20032 * svg/graphics/filters/SVGFEImage.cpp:
20033 (WebCore::FEImage::cachedImage):
20035 2008-09-05 Antti Koivisto <antti@apple.com>
20037 Reviewed by Darin Adler.
20039 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
20040 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
20042 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
20043 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
20044 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
20045 we avoid re-decoding resources, especially images.
20047 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
20048 CacheControl: max-age=0 header. That would be added in reload case.
20050 The approach for revalidation is to kick the original resource out from the memory cache
20051 and create a new CachedResource that represents the revalidation request. In case
20052 we get 304 back for the request we put the original resource back to the cache, update
20053 its expiration date and switch the clients registered to revalidation resource to be
20054 clients of the original resource.
20056 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
20057 This allows updating the handles to point to the original resource when the revalidation succeeds. It
20058 also acts as refcounting smart pointer.
20061 * WebCore.vcproj/WebCore.vcproj:
20062 * WebCore.xcodeproj/project.pbxproj:
20063 * css/CSSFontFaceSource.h:
20064 * css/CSSImportRule.h:
20066 (WebCore::Clipboard::dragImage):
20067 * dom/ProcessingInstruction.h:
20068 * dom/ScriptElement.h:
20069 * dom/XMLTokenizer.cpp:
20070 (WebCore::XMLTokenizer::isWaitingForScripts):
20071 * dom/XMLTokenizer.h:
20072 * html/HTMLImageLoader.cpp:
20073 (WebCore::HTMLImageLoader::setImage):
20074 (WebCore::HTMLImageLoader::updateFromElement):
20075 (WebCore::HTMLImageLoader::notifyFinished):
20076 * html/HTMLImageLoader.h:
20077 (WebCore::HTMLImageLoader::image):
20078 * html/HTMLLinkElement.h:
20079 * html/HTMLTokenizer.cpp:
20080 (WebCore::HTMLTokenizer::reset):
20081 (WebCore::HTMLTokenizer::scriptHandler):
20082 (WebCore::HTMLTokenizer::notifyFinished):
20083 * html/HTMLTokenizer.h:
20084 * loader/Cache.cpp:
20085 (WebCore::Cache::revalidateResource):
20086 (WebCore::Cache::revalidationSucceeded):
20087 (WebCore::Cache::revalidationFailed):
20089 * loader/CachedResource.cpp:
20090 (WebCore::CachedResource::CachedResource):
20091 (WebCore::CachedResource::~CachedResource):
20092 (WebCore::CachedResource::isExpired):
20093 (WebCore::CachedResource::setResponse):
20094 (WebCore::CachedResource::deleteIfPossible):
20095 (WebCore::CachedResource::setResourceToRevalidate):
20096 (WebCore::CachedResource::clearResourceToRevalidate):
20097 (WebCore::CachedResource::switchClientsToRevalidatedResource):
20098 (WebCore::CachedResource::canUseCacheValidator):
20099 (WebCore::CachedResource::mustRevalidate):
20100 * loader/CachedResource.h:
20101 (WebCore::CachedResource::canDelete):
20102 (WebCore::CachedResource::registerHandle):
20103 (WebCore::CachedResource::unregisterHandle):
20104 (WebCore::CachedResource::isCacheValidator):
20105 (WebCore::CachedResource::resourceToRevalidate):
20106 (WebCore::CachedResource::setExpirationDate):
20107 * loader/CachedResourceHandle.cpp: Added.
20108 (WebCore::CachedResourceHandleBase::setResource):
20109 * loader/CachedResourceHandle.h: Added.
20110 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
20111 (WebCore::CachedResourceHandleBase::get):
20112 (WebCore::CachedResourceHandleBase::operator!):
20113 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
20114 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
20115 (WebCore::CachedResourceHandleBase::operator=):
20116 (WebCore::CachedResourceHandle::CachedResourceHandle):
20117 (WebCore::CachedResourceHandle::get):
20118 (WebCore::CachedResourceHandle::operator->):
20119 (WebCore::CachedResourceHandle::operator=):
20120 (WebCore::CachedResourceHandle::operator==):
20121 (WebCore::CachedResourceHandle::operator!=):
20122 (WebCore::operator==):
20123 (WebCore::operator!=):
20124 * loader/DocLoader.cpp:
20125 (WebCore::DocLoader::checkForReload):
20126 * loader/UserStyleSheetLoader.h:
20127 * loader/loader.cpp:
20128 (WebCore::Loader::Host::servePendingRequests):
20129 (WebCore::Loader::Host::didFinishLoading):
20130 (WebCore::Loader::Host::didFail):
20131 (WebCore::Loader::Host::didReceiveResponse):
20132 (WebCore::Loader::Host::didReceiveData):
20133 * page/EventHandler.cpp:
20134 (WebCore::EventHandler::selectCursor):
20135 * rendering/RenderImage.cpp:
20136 (WebCore::RenderImage::setCachedImage):
20137 (WebCore::RenderImage::imageChanged):
20138 * rendering/RenderImage.h:
20139 (WebCore::RenderImage::cachedImage):
20140 (WebCore::RenderImage::imagePtr):
20141 * rendering/style/RenderStyle.h:
20142 * rendering/style/StyleCachedImage.h:
20143 (WebCore::StyleCachedImage::data):
20144 (WebCore::StyleCachedImage::cachedImage):
20145 * svg/SVGFEImageElement.h:
20146 * svg/graphics/filters/SVGFEImage.h:
20147 * xml/XSLImportRule.h:
20149 2008-09-04 Brady Eidson <beidson@apple.com>
20153 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
20155 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
20156 to model default NSURLRequest behavior in a cross-platform manner.
20158 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
20159 client that wished to enforce a much larger default timeout using NSURLRequest API.
20161 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
20162 behavior on the web and this restores previous Safari/WebKit behavior.
20164 It would be easy to write a layout test for this, but to be effective it would have
20165 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
20167 * manual-tests/timeout-test.html: Added.
20168 * manual-tests/timeout-test.php: Added.
20170 * platform/network/ResourceRequestBase.h:
20171 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
20172 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
20173 * platform/network/mac/ResourceRequestMac.mm:
20174 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
20175 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
20176 WebKit applications to enforce their own default timeout.
20178 2008-09-04 Dan Bernstein <mitz@apple.com>
20180 Reviewed by Beth Dakin.
20182 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
20184 Test: fast/repaint/button-spurious-layout-hint.html
20186 * rendering/RenderButton.cpp:
20187 (WebCore::RenderButton::setStyle): Reset the inner block's style box
20188 flex to 0 to avoid getting a spurious layout hint.
20190 2008-09-04 Kevin Ollivier <kevino@theolliviers.com>
20194 * WebCoreSources.bkl:
20195 * bindings/js/ScriptControllerWx.cpp: Added.
20196 (WebCore::ScriptController::createScriptInstanceForWidget):
20197 * page/wx/AccessibilityObjectWx.cpp: Added.
20198 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
20199 * platform/graphics/wx/GraphicsContextWx.cpp:
20200 * webcore-base.bkl:
20203 2008-09-04 Dan Bernstein <mitz@apple.com>
20205 Reviewed by Mark Rowe.
20207 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
20208 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
20209 require a different approach
20211 * css/CSSGrammar.y:
20213 2008-09-04 Mark Rowe <mrowe@apple.com>
20215 Reviewed by Eric Seidel.
20217 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
20218 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
20220 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
20221 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
20222 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
20224 2008-09-04 Mark Rowe <mrowe@apple.com>
20228 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
20230 2008-09-04 Eric Seidel <eric@webkit.org>
20232 Build fix only, no review.
20234 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
20236 2008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
20238 Reviewed by Eric Seidel.
20240 http://bugs.webkit.org/show_bug.cgi?id=20380
20241 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
20243 * config.h: Include the configuration header generated by autotools if
20246 2008-09-04 Dan Bernstein <mitz@apple.com>
20248 Rubber-stamped by Dave Hyatt.
20250 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
20252 * loader/CachedFont.cpp:
20253 (WebCore::CachedFont::allClientsRemoved):
20254 * loader/CachedFont.h:
20255 * loader/CachedImage.cpp:
20256 (WebCore::CachedImage::allClientsRemoved):
20257 * loader/CachedImage.h:
20258 * loader/CachedResource.cpp:
20259 (WebCore::CachedResource::removeClient):
20260 * loader/CachedResource.h:
20261 (WebCore::CachedResource::allClientsRemoved):
20263 2008-09-04 Adam Roben <aroben@apple.com>
20265 Windows build fix after r36071
20267 We were getting these errors:
20269 error C2356: initialization segment must not change during translation
20272 This was happening because multiple files #included by
20273 DerivedSources.cpp were themselves #including StaticConstructors.h. I
20274 fixed the error by adding header guards to StaticConstructors.h so its
20275 contents will only be included once.
20277 But it's also not a good idea for StaticConstructors.h to end up in
20278 DerivedSources.cpp, since it ends up "polluting" all the source files
20279 we have in there. So I removed all the files that include
20280 StaticConstructors.h and added some preprocessor directives to
20281 DerivedSources.cpp to catch this error in the future.
20283 * DerivedSources.cpp: Removed the *Names.cpp files, which include
20284 StaticConstructors.h, and added some preprocessor directives to make
20285 sure we don't end up accidentally including StaticConstructors.h in
20287 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
20288 * platform/StaticConstructors.h: Added header guards.
20290 2008-09-04 Adam Roben <aroben@apple.com>
20294 * platform/graphics/win/FontPlatformData.h: Added a missing #include
20295 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
20296 * platform/text/PlatformString.h: Added a missing #include of
20299 2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
20303 Fix the QtWebKit build to match changes in r36016
20306 * bridge/qt/qt_instance.cpp:
20307 (KJS::Bindings::QtInstance::getRuntimeObject):
20308 * bridge/qt/qt_runtime.cpp:
20309 (KJS::Bindings::convertQVariantToValue):
20310 (KJS::Bindings::QtConnectionObject::execute):
20312 2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
20316 Re-enable support for user stylesheets in QtWebKit
20318 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
20319 code path, which allows us to keep API support for
20320 loading user style sheets from remote URLs.
20322 As part of the change UserStyleSheetLoader.cpp/h was
20323 moved from WebCore/loader/mac to WebCore/loader.
20326 * WebCore.xcodeproj/project.pbxproj:
20328 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
20329 (UserStyleSheetLoader::UserStyleSheetLoader):
20330 (UserStyleSheetLoader::~UserStyleSheetLoader):
20331 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
20332 * page/qt/FrameQt.cpp:
20333 (WebCore::Frame::setUserStyleSheetLocation):
20334 (WebCore::Frame::setUserStyleSheet):
20336 2008-09-04 Alp Toker <alp@nuanti.com>
20340 Remove left-over QT and CAIRO platform checks.
20342 * html/CanvasRenderingContext2D.cpp:
20344 2008-09-04 Eric Seidel <eric@webkit.org>
20346 Reviewed by Mark Rowe.
20348 Fix leak of TextMetrics due to over-ref as see on buildbot.
20350 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
20352 2008-09-04 Dan Bernstein <mitz@apple.com>
20354 Reviewed by Dave Hyatt.
20356 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
20357 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
20359 * rendering/RenderBlock.cpp:
20360 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
20361 positioned movement only case, call
20362 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
20363 layout if that fails.
20364 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
20365 * rendering/RenderBox.h:
20366 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
20367 layoutDoingPositionedMovementOnly to this, and made this function
20368 check if the width changed. If it did, return, leaving the object
20369 dirty. The caller can then call layout(). The width can change even
20370 in the "positioned movement only" case if the object is shrink-to-fit
20371 and the available width constraint is met. (This was the case in the
20373 * rendering/RenderObject.h:
20374 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
20375 Renamed layoutDoingPositionedMovementOnly() to this.
20377 2008-09-03 Eric Seidel <eric@webkit.org>
20379 No review, build fix only.
20381 Attempt to fix the Qt build.
20383 * WebCore.pro: add page/animation to include path
20385 2008-09-03 Mark Rowe <mrowe@apple.com>
20387 Mac build fix. Correctly detect whether dashboard support is enabled.
20389 * DerivedSources.make:
20391 2008-09-03 Eric Seidel <eric@webkit.org>
20395 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
20397 * Configurations/WebCore.xcconfig: add missing ENABLE_*
20398 * config.h: add rules for V8_BINDINGS
20400 2008-09-03 Eric Seidel <eric@webkit.org>
20404 https://bugs.webkit.org/show_bug.cgi?id=20620
20406 Add #if USE(JSC) around KJS dependencies
20407 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
20408 1. Most platforms have it on anyway
20409 2. V8 is going to want to share some of that code
20410 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
20412 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
20413 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
20414 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20415 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20416 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20417 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20418 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20419 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20420 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
20421 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
20422 * platform/text/AtomicString.cpp: add USE(JSC)
20423 * platform/text/AtomicString.h: add USE(JSC)
20424 * platform/text/PlatformString.h: add USE(JSC)
20425 * platform/text/String.cpp: add USE(JSC)
20426 * platform/text/StringImpl.cpp: add USE(JSC)
20427 * platform/text/StringImpl.h: add USE(JSC)
20429 2008-09-03 Dean McNamee <deanm@chromium.org>
20431 Reviewed by Darin Adler.
20433 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
20434 Bug 20511: Remove static initializers on Windows
20436 Avoid static initializers on Windows by forcing Visual C++ to put
20437 all static initializers in a code segment that is never executed.
20440 * css/MediaFeatureNames.cpp:
20441 * dom/EventNames.cpp:
20442 * dom/QualifiedName.cpp:
20443 * dom/make_names.pl:
20444 * platform/StaticConstructors.h:
20445 * platform/text/AtomicString.cpp:
20447 2008-09-03 Dirk Schulze <vbs85@gmx.de>
20449 Reviewed by Dave Hyatt.
20451 Make FontCairo draw TextStroke and TextFill separately.
20453 [CAIRO] draw TextFill and TextStroke separately.
20454 [https://bugs.webkit.org/show_bug.cgi?id=20631]
20456 * platform/graphics/cairo/FontCairo.cpp:
20457 (WebCore::Font::drawGlyphs):
20459 2008-09-03 Peter Kasting <pkasting@google.com>
20461 Reviewed by Dave Hyatt.
20463 https://bugs.webkit.org/show_bug.cgi?id=19663
20464 Account for paint and timer lag when animating images. Also pretend
20465 that images whose animations were paused (by becoming invisible)
20466 continued to animate, by "catching up" to the correct frame when they're
20469 * platform/graphics/BitmapImage.cpp:
20470 (WebCore::BitmapImage::BitmapImage):
20471 (WebCore::BitmapImage::startAnimation):
20472 (WebCore::BitmapImage::advanceAnimation):
20473 (WebCore::BitmapImage::internalAdvanceAnimation):
20474 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
20475 * platform/graphics/BitmapImage.h:
20476 * platform/graphics/cairo/ImageCairo.cpp:
20477 (WebCore::BitmapImage::draw):
20478 * platform/graphics/cg/ImageCG.cpp:
20479 (WebCore::BitmapImage::draw):
20480 * platform/graphics/qt/ImageQt.cpp:
20481 (WebCore::BitmapImage::draw):
20482 * platform/graphics/wx/ImageWx.cpp:
20483 (WebCore::BitmapImage::draw):
20485 2008-09-03 Kevin McCullough <kmccullough@apple.com>
20489 Remove the rest of the "zombie" code from the profiler.
20490 - There is no longer a need for the ProfilerClient callback mechanism.
20492 * page/Console.cpp:
20493 (WebCore::Console::Console):
20494 (WebCore::Console::profile):
20495 (WebCore::Console::profileEnd): Move the variables from the header to
20496 here since we don't have to wait for a callback to use them.
20498 * page/InspectorController.cpp:
20499 (WebCore::InspectorController::startUserInitiatedProfiling):
20500 (WebCore::InspectorController::stopUserInitiatedProfiling):
20501 * page/InspectorController.h:
20503 2008-09-03 Ada Chan <adachan@apple.com>
20507 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
20509 2008-09-01 Dean Jackson <dino@apple.com>
20511 Reviewed by Dave Hyatt.
20513 https://bugs.webkit.org/show_bug.cgi?id=20594
20514 Add DOM interfaces for WebKitCSSKeyframeRule
20515 and WebKitCSSKeyframesRule.
20517 TEST: LayoutTests/css3/keyframes-rule.html
20519 * css/WebKitCSSKeyframeRule.idl: Added
20520 * css/WebKitCSSKeyframesRule.idl: Added
20522 * bindings/js/JSCSSRuleCustom.cpp:
20524 Add return of new JS Keyframe rules
20525 * bindings/objc/DOMInternal.h:
20526 Include new internal header
20528 * DerivedSources.make:
20531 * WebCore.vcproj/WebCore.vcproj:
20532 * WebCore.xcodeproj/project.pbxproj:
20533 * WebCoreSources.bkl:
20534 Build configs for new files
20536 2008-09-03 Adam Roben <aroben@apple.com>
20540 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
20541 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
20542 convenience/consistency.
20544 2008-09-03 Adele Peterson <adele@apple.com>
20548 * WebCore.vcproj/WebCore.vcproj:
20550 2008-09-03 David Hyatt <hyatt@apple.com>
20552 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
20554 Reviewed by Darin (ages ago)
20556 Added fast/block/float/clamped-right-float.html
20558 * rendering/RenderBlock.cpp:
20559 (WebCore::RenderBlock::positionNewFloats):
20561 2008-09-02 David Hyatt <hyatt@apple.com>
20563 Add support for canvas text drawing APIs.
20567 Tests added as fast/canvas/canvas-text-*.html
20569 * DerivedSources.make:
20570 * WebCore.xcodeproj/project.pbxproj:
20571 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
20572 (WebCore::JSCanvasRenderingContext2D::fillText):
20573 (WebCore::JSCanvasRenderingContext2D::strokeText):
20574 * css/CSSStyleSelector.cpp:
20575 (WebCore::CSSStyleSelector::initForStyleResolve):
20576 (WebCore::CSSStyleSelector::applyPropertyToStyle):
20577 * css/CSSStyleSelector.h:
20578 * html/CanvasRenderingContext2D.cpp:
20579 (WebCore::CanvasRenderingContext2D::State::State):
20580 (WebCore::CanvasRenderingContext2D::font):
20581 (WebCore::CanvasRenderingContext2D::setFont):
20582 (WebCore::CanvasRenderingContext2D::textAlign):
20583 (WebCore::CanvasRenderingContext2D::setTextAlign):
20584 (WebCore::CanvasRenderingContext2D::textBaseline):
20585 (WebCore::CanvasRenderingContext2D::setTextBaseline):
20586 (WebCore::CanvasRenderingContext2D::fillText):
20587 (WebCore::CanvasRenderingContext2D::strokeText):
20588 (WebCore::CanvasRenderingContext2D::measureText):
20589 (WebCore::CanvasRenderingContext2D::drawTextInternal):
20590 (WebCore::CanvasRenderingContext2D::accessFont):
20591 * html/CanvasRenderingContext2D.h:
20592 * html/CanvasRenderingContext2D.idl:
20593 * html/TextMetrics.h: Added.
20594 (WebCore::TextMetrics::create):
20595 (WebCore::TextMetrics::width):
20596 (WebCore::TextMetrics::setWidth):
20597 (WebCore::TextMetrics::TextMetrics):
20598 * html/TextMetrics.idl: Added.
20599 * platform/graphics/Font.cpp:
20600 (WebCore::Font::lineGap):
20601 * platform/graphics/Font.h:
20602 * platform/graphics/GraphicsContext.cpp:
20603 (WebCore::GraphicsContext::drawBidiText):
20604 * platform/graphics/GraphicsContext.h:
20605 * platform/graphics/GraphicsTypes.cpp:
20606 (WebCore::textAlignName):
20607 (WebCore::parseTextAlign):
20608 (WebCore::textBaselineName):
20609 (WebCore::parseTextBaseline):
20610 * platform/graphics/GraphicsTypes.h:
20613 2008-09-03 John Sullivan <sullivan@apple.com>
20615 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
20617 Fixed by Darin, reviewed by me
20619 * page/animation/AnimationBase.cpp:
20620 (WebCore::AnimationBase::propertiesEqual):
20621 added ensurePropertyMap() to this static function
20622 (WebCore::AnimationBase::getPropertyAtIndex):
20624 (WebCore::AnimationBase::getNumProperties):
20627 2008-09-03 Kevin McCullough <kmccullough@apple.com>
20629 Reviewed by Darin and Tim.
20631 Remove most of the "zombie" mode from the profiler. Next we will need
20632 to remove the client callback mechanism in profiles.
20633 - These changes are a result of changes to JSCore.
20635 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
20636 * page/Console.cpp:
20637 (WebCore::retrieveLastCaller):
20638 (WebCore::Console::profileEnd):
20639 * page/InspectorController.cpp:
20640 (WebCore::InspectorController::stopUserInitiatedProfiling):
20642 2008-09-03 Adele Peterson <adele@apple.com>
20644 Reviewed by Darin Adler.
20646 Test: fast/forms/search-display-none-cancel-button.html
20648 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
20650 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
20652 * rendering/RenderTextControl.cpp:
20653 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
20654 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
20655 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
20656 (WebCore::RenderTextControl::createSubtreeIfNeeded):
20657 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
20658 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
20659 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
20660 (WebCore::RenderTextControl::calcHeight): ditto.
20661 (WebCore::RenderTextControl::nodeAtPoint): ditto.
20662 (WebCore::RenderTextControl::layout): ditto.
20663 (WebCore::RenderTextControl::calcPrefWidths): ditto.
20664 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
20665 (WebCore::RenderTextControl::clientPaddingRight): ditto.
20667 * rendering/TextControlInnerElements.cpp:
20668 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
20669 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
20670 (WebCore::TextControlInnerElement::attachInnerElement): Added.
20671 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
20672 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
20673 * rendering/TextControlInnerElements.h:
20675 2008-08-28 Alexey Proskuryakov <ap@webkit.org>
20677 Reviewed by Maciej.
20679 Elminate SQLiteAuthorizer class.
20681 * WebCore.xcodeproj/project.pbxproj:
20682 * WebCore.vcproj/WebCore.vcproj:
20684 Removed SQLiteAuthorizer.h.
20686 * platform/sql/SQLiteAuthorizer.cpp:
20687 * platform/sql/SQLiteAuthorizer.h: Removed.
20688 * platform/sql/SQLiteDatabase.cpp:
20689 (WebCore::SQLiteDatabase::authorizerFunction):
20690 (WebCore::SQLiteDatabase::setAuthorizer):
20691 * platform/sql/SQLiteDatabase.h:
20692 * storage/DatabaseAuthorizer.h:
20693 (WebCore::DatabaseAuthorizer::create):
20694 (WebCore::DatabaseAuthorizer::createView):
20695 (WebCore::DatabaseAuthorizer::createTempView):
20696 (WebCore::DatabaseAuthorizer::dropView):
20697 (WebCore::DatabaseAuthorizer::dropTempView):
20698 (WebCore::DatabaseAuthorizer::allowSelect):
20699 (WebCore::DatabaseAuthorizer::allowReindex):
20700 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
20702 2008-09-03 Dirk Schulze <vbs85@gmx.de>
20704 Reviewed by Mark Rowe.
20706 WebKitGtk build fix.
20709 * page/animation/AnimationController.h:
20711 2008-09-02 Robert Blaut <webkit@blaut.biz>
20713 Reviewed by Geoff Garen.
20715 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
20716 Misplaced elements should not close DL lists.
20718 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
20720 * html/HTMLParser.cpp:
20721 (WebCore::HTMLParser::handleError):
20723 2008-09-02 Glenn Wilson <wilsong@gmail.com>
20725 Reviewed by Darin Adler.
20727 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
20728 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
20730 We would inappropriately interpret and apply an invalid CSS "color" property
20731 when the value is a predefined color preceded by a '#' symbol. For example,
20732 style="color:#gray;" would apply the color gray when it should not.
20734 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
20735 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
20736 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
20737 an ignorable token.
20739 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
20740 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
20741 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
20743 Test: css1/color_and_background/invalid_color.html
20745 * css/CSSGrammar.y:
20747 2008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
20749 Reviewed by Darin Adler.
20751 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
20752 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
20754 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
20756 Test: css3/khtml-background-size-0x0-bmp.html
20758 * rendering/RenderBox.cpp:
20759 (WebCore::RenderBox::repaintLayerRectsForImage):
20761 2008-09-02 Glenn Wilson <wilsong@gmail.com>
20763 Reviewed by Eric Seidel.
20765 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
20766 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
20768 The function checkForOrphanedUnits() would change the length of a list whose size was
20769 was already determined before the call to checkForOrphanedUnits was made. Later in
20770 the caller, the old size was being used for boundary management.
20772 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
20773 calling function, before the size of the list is determined.
20775 Test: fast/css/orphaned_units_crash.html
20777 * css/CSSParser.cpp:
20778 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
20780 2008-09-02 Dirk Schulze <vbs85@gmx.de>
20782 Reviewed by Darin Adler.
20784 Fallback on invalid fill or stroke styles in Canvas was
20785 transparent black. Changed it to last valid style.
20787 Canvas fillStyle() and strokeStyle() needs fallback
20788 https://bugs.webkit.org/show_bug.cgi?id=20474
20790 Tests: fast/canvas/canvas-invalid-fillstyle.html
20791 fast/canvas/canvas-invalid-strokestyle.html
20793 * html/CanvasStyle.cpp:
20794 (WebCore::CanvasStyle::applyStrokeColor):
20795 (WebCore::CanvasStyle::applyFillColor):
20797 2008-09-02 Dirk Schulze <vbs85@gmx.de>
20799 Reviewed by Darin Adler.
20801 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
20802 Updated drawImage() in canvas to match the current specification.
20804 Test: fast/canvas/drawImage-with-negative-source-destination.html
20806 * html/CanvasRenderingContext2D.cpp:
20807 (WebCore::normalizeRect):
20808 (WebCore::CanvasRenderingContext2D::drawImage):
20810 2008-08-26 Mark Rowe <mrowe@apple.com>
20812 Reviewed by Darin Adler.
20814 <rdar://problem/5768210> Switch back to the system version of SQLite
20816 Use the system version of SQLite when it is new enough to provide the functionality
20817 that WebCore requires.
20819 * Configurations/Base.xcconfig:
20820 * Configurations/DebugRelease.xcconfig:
20821 * Configurations/WebCore.xcconfig:
20823 2008-09-02 Dan Bernstein <mitz@apple.com>
20827 * page/animation/AnimationBase.h:
20829 2008-09-02 Chris Marrin <cmarrin@apple.com>
20831 Reviewed by Dave Hyatt.
20833 AnimationController.cpp should be split into separate files
20834 https://bugs.webkit.org/show_bug.cgi?id=20604
20836 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
20837 recommendation of Dave Hyatt.
20841 * WebCore.vcproj/WebCore.vcproj:
20842 * WebCore.xcodeproj/project.pbxproj:
20843 * WebCoreSources.bkl:
20846 * page/AnimationController.cpp: Removed.
20847 * page/AnimationController.h: Removed.
20848 * page/animation: Added.
20849 * page/animation/AnimationBase.cpp: Added.
20850 * page/animation/AnimationBase.h: Added.
20851 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
20852 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
20853 * page/animation/CompositeAnimation.cpp: Added.
20854 * page/animation/CompositeAnimation.h: Added.
20855 * page/animation/ImplicitAnimation.cpp: Added.
20856 * page/animation/ImplicitAnimation.h: Added.
20857 * page/animation/KeyframeAnimation.cpp: Added.
20858 * page/animation/KeyframeAnimation.h: Added.
20860 2008-09-02 Dan Bernstein <mitz@apple.com>
20862 - release build fix
20864 * platform/graphics/cg/GraphicsContextCG.cpp:
20865 (WebCore::calculateDrawingMode):
20867 2008-09-02 Timothy Hatcher <timothy@apple.com>
20869 Make console functions log the correct resource URL and
20870 line number for where the call originated.
20872 https://bugs.webkit.org/show_bug.cgi?id=17234
20873 <rdar://problem/5732837>
20875 Reviewed by Kevin McCullough.
20877 Test: manual-tests/inspector/console-call-line-numbers.html
20879 * bindings/js/JSConsoleCustom.cpp:
20880 (WebCore::JSConsole::count): Call the impl.
20881 (WebCore::JSConsole::timeEnd): Ditto.
20882 * manual-tests/inspector/console-call-line-numbers.html: Added.
20883 * manual-tests/inspector/resources/script-console-calls.js: Added.
20884 * page/Console.cpp:
20885 (WebCore::retrieveLastCaller): Helper to get the URL and line.
20886 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
20887 line number to pass to addMessageToConsole.
20888 (WebCore::Console::info): Ditto.
20889 (WebCore::Console::log): Ditto.
20890 (WebCore::Console::assertCondition): Ditto.
20891 (WebCore::Console::count): Ditto.
20892 (WebCore::Console::timeEnd): Ditto.
20893 (WebCore::Console::warn): Ditto.
20895 * page/Console.idl: Make count and timeEnd custom.
20897 2008-09-02 Timothy Hatcher <timothy@apple.com>
20899 Removed IDL files from WebCore's framework resources.
20901 * WebCore.xcodeproj/project.pbxproj:
20903 2008-09-02 Dan Bernstein <mitz@apple.com>
20905 Reviewed by Dave Hyatt.
20907 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
20909 * html/HTMLParser.cpp:
20910 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
20911 cap on the number of consecutive identical residual style tags to
20913 (WebCore::HTMLParser::popBlock): Ditto.
20915 2008-09-02 Alexey Proskuryakov <ap@webkit.org>
20917 Reviewed by Adam Roben.
20919 A little database quota management cleanup.
20921 * storage/OriginQuotaManager.cpp:
20922 (WebCore::OriginQuotaManager::OriginQuotaManager):
20923 (WebCore::OriginQuotaManager::lock):
20924 (WebCore::OriginQuotaManager::unlock):
20925 (WebCore::OriginQuotaManager::trackOrigin):
20926 (WebCore::OriginQuotaManager::tracksOrigin):
20927 (WebCore::OriginQuotaManager::addDatabase):
20928 (WebCore::OriginQuotaManager::removeDatabase):
20929 (WebCore::OriginQuotaManager::removeOrigin):
20930 (WebCore::OriginQuotaManager::markDatabase):
20931 (WebCore::OriginQuotaManager::diskUsage):
20932 * storage/OriginQuotaManager.h:
20933 Changed to assert that a lock is taken more directly and reliably. Removed comments about
20934 main/background threads, as this is likely to stop being true with synchronous Database calls
20935 being made on worker threads.
20937 * storage/OriginUsageRecord.cpp:
20938 (WebCore::OriginUsageRecord::OriginUsageRecord):
20939 (WebCore::OriginUsageRecord::addDatabase):
20940 (WebCore::OriginUsageRecord::removeDatabase):
20941 (WebCore::OriginUsageRecord::markDatabase):
20942 (WebCore::OriginUsageRecord::diskUsage):
20943 * storage/OriginUsageRecord.h:
20944 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
20945 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
20946 can be replaced with a single boolean for OriginUsageRecord.
20947 Added assertions for string parameters being unshared.
20950 2008-09-01 Adam Barth <abarth@webkit.org>
20952 Reviewed by Sam Weinig.
20954 https://bugs.webkit.org/show_bug.cgi?id=19760
20956 Make granting LoadLocalResources conditional on a policy.
20958 * WebCore.base.exp:
20959 * dom/Document.cpp:
20960 (WebCore::Document::initSecurityContext):
20961 * loader/FrameLoader.cpp:
20962 (WebCore::FrameLoader::setLocalLoadPolicy):
20963 (WebCore::FrameLoader::restrictAccessToLocal):
20964 * loader/FrameLoader.h:
20965 (WebCore::FrameLoader::):
20966 * platform/SecurityOrigin.cpp:
20967 (WebCore::SecurityOrigin::grantLoadLocalResources):
20968 * platform/SecurityOrigin.h:
20970 2008-09-01 Dean Jackson <dino@apple.com>
20972 Reviewed by Sam Weinig.
20974 https://bugs.webkit.org/show_bug.cgi?id=20571
20975 Make sure Window object can assign Animation/Transition event
20976 listeners via attributes.
20978 Also added a bunch of transition event tests, although
20979 only transition-end-event-window is directly relevant to this patch.
20981 (WebCore::JSDOMWindowBase::put):
20983 Tests: transitions/transition-end-event-all-properties.html
20984 transitions/transition-end-event-attributes.html
20985 transitions/transition-end-event-container.html
20986 transitions/transition-end-event-left.html
20987 transitions/transition-end-event-multiple-01.html
20988 transitions/transition-end-event-multiple-02.html
20989 transitions/transition-end-event-multiple-03.html
20990 transitions/transition-end-event-multiple-04.html
20991 transitions/transition-end-event-nested.html
20992 transitions/transition-end-event-transform.html
20993 transitions/transition-end-event-window.html
20995 2008-09-01 Dean Jackson <dino@apple.com>
20997 Reviewed by Sam Weinig
20999 Code styling cleanup.
21001 * bindings/js/JSDOMWindowBase.cpp:
21002 (WebCore::JSDOMWindowBase::getValueProperty):
21003 (WebCore::JSDOMWindowBase::put):
21005 2008-09-01 Geoffrey Garen <ggaren@apple.com>
21007 Reviewed by Darin Adler.
21009 First cut at inline caching for access to vanilla JavaScript properties.
21011 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
21012 to WebCore classes, and PutPropertySlot& arguments to put functions.
21014 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
21015 inline caching for global properties, so global assignment can be optimized.
21017 * ForwardingHeaders/kjs/StructureID.h: Added.
21018 * bindings/js/JSDOMBinding.h:
21019 (WebCore::DOMObject::DOMObject):
21020 * bindings/js/JSDOMWindowBase.cpp:
21021 (WebCore::JSDOMWindowBase::put):
21022 * bindings/js/JSDOMWindowBase.h:
21023 * bindings/js/JSDOMWindowCustom.h:
21024 (WebCore::JSDOMWindow::customPut):
21025 * bindings/js/JSDOMWindowShell.cpp:
21026 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
21027 (WebCore::JSDOMWindowShell::put):
21028 * bindings/js/JSDOMWindowShell.h:
21029 * bindings/js/JSEventTargetBase.h:
21030 (WebCore::JSEventTargetBase::put):
21031 * bindings/js/JSEventTargetNode.h:
21032 (WebCore::JSEventTargetNode::put):
21033 * bindings/js/JSHTMLAppletElementCustom.cpp:
21034 (WebCore::JSHTMLAppletElement::customPut):
21035 * bindings/js/JSHTMLEmbedElementCustom.cpp:
21036 (WebCore::JSHTMLEmbedElement::customPut):
21037 * bindings/js/JSHTMLInputElementBase.cpp:
21038 (WebCore::JSHTMLInputElementBase::put):
21039 * bindings/js/JSHTMLInputElementBase.h:
21040 * bindings/js/JSHTMLObjectElementCustom.cpp:
21041 (WebCore::JSHTMLObjectElement::customPut):
21042 * bindings/js/JSHistoryCustom.cpp:
21043 (WebCore::JSHistory::customPut):
21044 * bindings/js/JSInspectedObjectWrapper.cpp:
21045 (WebCore::JSInspectedObjectWrapper::wrap):
21046 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
21047 * bindings/js/JSInspectedObjectWrapper.h:
21048 * bindings/js/JSInspectorCallbackWrapper.cpp:
21049 (WebCore::JSInspectorCallbackWrapper::wrap):
21050 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
21051 * bindings/js/JSInspectorCallbackWrapper.h:
21052 * bindings/js/JSLocationCustom.cpp:
21053 (WebCore::JSLocation::customPut):
21054 * bindings/js/JSPluginElementFunctions.cpp:
21055 (WebCore::runtimeObjectCustomPut):
21056 * bindings/js/JSPluginElementFunctions.h:
21057 * bindings/js/JSQuarantinedObjectWrapper.cpp:
21058 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
21059 (WebCore::JSQuarantinedObjectWrapper::put):
21060 * bindings/js/JSQuarantinedObjectWrapper.h:
21061 * bindings/js/JSStorageCustom.cpp:
21062 (WebCore::JSStorage::customPut):
21063 * bindings/objc/WebScriptObject.mm:
21064 (-[WebScriptObject setValue:forKey:]):
21065 * bindings/scripts/CodeGeneratorJS.pm:
21066 * bridge/NP_jsobject.cpp:
21067 (_NPN_SetProperty):
21068 * bridge/jni/jni_jsobject.mm:
21069 (JavaJSObject::setMember):
21070 * bridge/objc/objc_class.mm:
21071 (KJS::Bindings::ObjcClass::fallbackObject):
21072 * bridge/objc/objc_runtime.h:
21073 * bridge/objc/objc_runtime.mm:
21074 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
21075 (ObjcFallbackObjectImp::put):
21076 * bridge/runtime.cpp:
21077 (KJS::Bindings::Instance::createRuntimeObject):
21078 * bridge/runtime_array.cpp:
21079 (RuntimeArray::put):
21080 * bridge/runtime_array.h:
21081 * bridge/runtime_object.cpp:
21082 (RuntimeObjectImp::RuntimeObjectImp):
21083 (RuntimeObjectImp::put):
21084 * bridge/runtime_object.h:
21086 2008-09-01 Dirk Schulze <vbs85@gmx.de>
21088 Reviewed by Eric Seidel.
21090 Fixed border-radius for Cairo.
21092 * platform/graphics/cairo/GraphicsContextCairo.cpp:
21093 (WebCore::GraphicsContext::strokeArc):
21095 2008-09-01 Dirk Schulze <vbs85@gmx.de>
21097 Reviewed by Eric Seidel.
21099 Added canvas's globalAlpha to cairo.
21101 * platform/graphics/GraphicsContext.h:
21102 * platform/graphics/cairo/GraphicsContextCairo.cpp:
21103 (WebCore::GraphicsContext::fillPath):
21104 (WebCore::GraphicsContext::strokePath):
21105 (WebCore::GraphicsContext::setAlpha):
21106 (WebCore::GraphicsContext::getAlpha):
21107 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
21108 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
21109 * platform/graphics/cairo/ImageCairo.cpp:
21110 (WebCore::BitmapImage::draw):
21112 2008-08-31 Simon Hausmann <hausmann@webkit.org>
21114 Unreviewed Qt build fix.
21116 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
21119 2008-08-30 Darin Adler <darin@apple.com>
21121 Reviewed by Maciej.
21123 - adopt some new JavaScriptCore functions where appropriate
21125 * bindings/js/JSDOMWindowBase.cpp:
21126 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
21127 (WebCore::windowProtoFuncBToA): Ditto.
21128 * bindings/js/JSEventListener.cpp:
21129 (WebCore::JSLazyEventListener::eventParameterName): Adopted
21130 jsNontrivialString.
21131 * bindings/js/JSSVGLazyEventListener.cpp:
21132 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
21134 2008-08-29 Brady Eidson <beidson@apple.com>
21136 Reviewed by Anders' rubberstamp
21138 Style cleanup to match MediaTokenizer::writeRawData()
21140 * loader/PluginDocument.cpp:
21141 (WebCore::PluginTokenizer::writeRawData):
21143 2008-08-29 Brady Eidson <beidson@apple.com>
21147 https://bugs.webkit.org/show_bug.cgi?id=20556
21148 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
21150 Fix regression I introducted in 35946
21151 Already covered by media/video-click-dlbclick-standalone.html
21153 * loader/MediaDocument.cpp:
21154 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
21155 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
21156 an ASSERT signifying that this method should only be called once, to more closely follow the
21157 PluginDocument case.
21159 2008-08-29 Beth Dakin <bdakin@apple.com>
21161 Reviewed by Sam Weinig.
21163 Fix for <rdar://problem/6181588>
21165 This patch makes hit testing take into account the new concept of a
21166 disconnected frame, in which some of the content may not be
21167 visible. The current hit testing mechanism starts at a target frame
21168 and drills down for a HitTestResult. In some cases, drilling down
21169 will find a non-visible result. When this happens, we need to try
21170 again, starting at a higher level -- namely, starting at the main
21173 * editing/Editor.cpp:
21174 (WebCore::Editor::insideVisibleArea): New function that tests if a
21175 point is inside the visible area for a disconnected frame.
21176 * editing/Editor.h:
21177 * page/EventHandler.cpp:
21178 (WebCore::EventHandler::hitTestResultAtPoint):
21180 2008-08-29 Adele Peterson <adele@apple.com>
21182 Reviewed by Adam Roben.
21184 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
21188 * WebCore.vcproj/WebCore.vcproj:
21189 * WebCore.xcodeproj/project.pbxproj:
21190 * WebCoreSources.bkl:
21191 * html/HTMLTextFieldInnerElement.cpp: Removed.
21192 * html/HTMLTextFieldInnerElement.h: Removed.
21193 * rendering/RenderTextControl.cpp:
21194 (WebCore::RenderTextControl::createSubtreeIfNeeded):
21195 * rendering/RenderTextControl.h:
21196 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
21197 (WebCore::TextControlInnerElement::TextControlInnerElement):
21198 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
21199 (WebCore::TextControlInnerTextElement::defaultEventHandler):
21200 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
21201 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
21202 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
21203 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
21204 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
21206 2008-08-29 Eric Seidel <eric@webkit.org>
21208 Rubber-stamped by aroben.
21210 Add GraphicsContext.h include to GraphcisContextPrivate.h
21212 GraphicsContextPrivate uses StrokeStyle which is defined
21213 in GraphicsContext.h but it doesn't include that header.
21214 CoreGraphics build doesn't fail here due to the order
21215 it happens to include files.
21217 * platform/graphics/GraphicsContextPrivate.h:
21219 2008-08-29 Eric Seidel <eric@webkit.org>
21223 Fix GeneratedImage to respect Image's refcounting
21224 Fixing potential crashers (future if not current)
21225 https://bugs.webkit.org/show_bug.cgi?id=20567
21227 I don't know if it's possible to make the current code
21228 crash, thus I've not made a test.
21230 * css/CSSGradientValue.cpp:
21231 (WebCore::CSSGradientValue::image):
21232 * css/CSSImageGeneratorValue.cpp:
21233 (WebCore::CSSImageGeneratorValue::removeClient):
21234 (WebCore::CSSImageGeneratorValue::getImage):
21235 * css/CSSImageGeneratorValue.h:
21236 * platform/graphics/GeneratedImage.h:
21237 (WebCore::GeneratedImage::GeneratedImage):
21238 * rendering/style/RenderStyle.cpp:
21239 (WebCore::RenderStyle::setContent):
21240 * rendering/style/RenderStyle.h:
21242 2008-08-29 Eric Carlson <eric.carlson@apple.com>
21246 Fix for <rdar://problem/6093767>
21247 https://bugs.webkit.org/show_bug.cgi?id=20526
21249 Don't allow video to render until unsupported track types have been disabled.
21251 * platform/graphics/win/QTMovieWin.cpp:
21252 (QTMovieWinPrivate::task):
21253 (QTMovieWinPrivate::drawingComplete):
21254 (QTMovieWinPrivate::clearGWorld):
21256 2008-08-29 Eric Carlson <eric.carlson@apple.com>
21260 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
21261 <rdar://problem/6169301>
21263 Return the size of the movie data instead of 1000.
21265 Test: media/progress-event-total.html
21267 * platform/graphics/win/QTMovieWin.cpp:
21268 (QTMovieWin::dataSize):
21270 2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
21272 Reviewed by Eric Seidel.
21274 [janitor/qt] Start replacing port specific getters with the generic native getter
21275 To get the native presentation of an image we currently have platform
21276 specific #ifdef's and a generic getter using NativeImagePtr. This patch
21277 extends this to the ImageBuffer and updates the Qt platform to get rid
21278 of the special #ifdefs.
21280 https://bugs.webkit.org/attachment.cgi?id=22861
21282 * platform/graphics/BitmapImage.h:
21283 * platform/graphics/Image.h:
21284 * platform/graphics/qt/ImageQt.cpp:
21285 * platform/graphics/qt/StillImageQt.cpp:
21286 * platform/graphics/qt/StillImageQt.h:
21287 * platform/qt/ClipboardQt.cpp:
21288 (WebCore::ClipboardQt::createDragImage):
21289 (WebCore::ClipboardQt::declareAndWriteDragImage):
21290 * platform/qt/CursorQt.cpp:
21291 * platform/qt/PasteboardQt.cpp:
21292 (WebCore::Pasteboard::writeImage):
21294 2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
21298 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
21300 * svg/graphics/qt/SVGPaintServerQt.cpp:
21301 (WebCore::SVGPaintServer::renderPath):
21302 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
21303 (WebCore::SVGPaintServerSolid::setup):
21305 2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
21309 [network/qt] Implement defering of loading ResourceHandle's
21310 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
21311 implementation is simply not forwarding anything to the
21312 ResourceHandleClient until we are allowed to. This might lead to a deadlock
21313 in Qt as we do not empty the QNetworkReply input buffer and wait until we
21314 are allowed to read. If that happens we are forced to buffer the data
21315 within QNetworkReplyHandler, for now this is not done.
21318 - Open http://acid3.acidtests.org
21319 - Wait for the test to complete
21320 - Click on the Reference Rendering link
21321 - Be fast and see the results of acid3
21324 * platform/network/qt/QNetworkReplyHandler.cpp:
21325 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
21326 (WebCore::QNetworkReplyHandler::setLoadMode):
21327 (WebCore::QNetworkReplyHandler::finish):
21328 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
21329 (WebCore::QNetworkReplyHandler::forwardData):
21330 (WebCore::QNetworkReplyHandler::start):
21331 (WebCore::QNetworkReplyHandler::resetState):
21332 (WebCore::QNetworkReplyHandler::sendQueuedItems):
21333 * platform/network/qt/QNetworkReplyHandler.h:
21334 (WebCore::QNetworkReplyHandler::):
21335 * platform/network/qt/ResourceHandleQt.cpp:
21336 (WebCore::ResourceHandle::start):
21337 (WebCore::ResourceHandle::loadResourceSynchronously):
21338 (WebCore::ResourceHandle::setDefersLoading):
21340 2008-08-29 Simon Hausmann <hausmann@webkit.org>
21342 Reviewed by Holger.
21344 Don't crash when drawing patterns with the HTML canvas. Patterns
21345 remain unimplemented but at least they don't crash anymore. This is
21346 done by changing the PlatformPatternPtr to be a brush for the Qt
21349 * platform/graphics/Pattern.h:
21350 * platform/graphics/qt/GraphicsContextQt.cpp:
21351 (WebCore::GraphicsContext::fillPath):
21352 (WebCore::GraphicsContext::strokePath):
21353 (WebCore::GraphicsContext::fillRect):
21354 * platform/graphics/qt/PatternQt.cpp:
21355 (WebCore::Pattern::createPlatformPattern):
21357 2008-08-29 Simon Hausmann <hausmann@webkit.org>
21359 Fix the Qt build, fontSelector() is not used by the Qt port yet
21360 and we just return 0 in Font::fontSelector().
21362 * platform/graphics/Font.h:
21364 2008-08-28 Alp Toker <alp@nuanti.com>
21366 GTK+ dist/build fix. List newly added header files.
21370 2008-08-28 Simon Fraser <simon.fraser@apple.com>
21372 Reviewed by Dave Hyatt
21374 Various WebKitCSSTransformValue-related fixes
21375 https://bugs.webkit.org/show_bug.cgi?id=20562
21377 Test: css3/transform-value-types.html
21379 * bindings/js/JSCSSValueCustom.cpp:
21382 * css/WebKitCSSTransformValue.cpp:
21383 (WebCore::WebKitCSSTransformValue::cssText):
21384 * css/WebKitCSSTransformValue.h:
21385 (WebCore::WebKitCSSTransformValue::):
21386 * css/WebKitCSSTransformValue.idl:
21388 2008-08-28 Dan Bernstein <mitz@apple.com>
21390 Reviewed by Steve Falkenburg.
21392 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
21394 * platform/win/SharedTimerWin.cpp:
21395 (WebCore::TimerWindowWndProc):
21397 2008-08-28 David Hyatt <hyatt@apple.com>
21399 RenderStyle cleanup.
21401 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
21405 * css/CSSImageGeneratorValue.cpp:
21406 * css/CSSImageValue.cpp:
21407 * css/CSSStyleSelector.cpp:
21408 * rendering/RenderImageGeneratedContent.cpp:
21409 * rendering/style/NinePieceImage.cpp: Added.
21410 * rendering/style/NinePieceImage.h: Added.
21411 * rendering/style/RenderStyle.cpp:
21412 (WebCore::FillLayer::operator==):
21413 (WebCore::FillLayer::containsImage):
21414 (WebCore::StyleInheritedData::operator==):
21415 (WebCore::RenderStyle::contentDataEquivalent):
21416 * rendering/style/RenderStyle.h:
21417 * rendering/style/StyleCachedImage.cpp: Added.
21418 * rendering/style/StyleCachedImage.h: Added.
21419 * rendering/style/StyleGeneratedImage.cpp: Added.
21420 * rendering/style/StyleGeneratedImage.h: Added.
21421 * rendering/style/StyleImage.h: Added.
21423 2008-08-28 Simon Fraser <simon.fraser@apple.com>
21425 Reviewed by Dave Hyatt
21427 Make all the 'isFoo()' methods on CSSValue const,
21428 and fix the subclasses.
21430 https://bugs.webkit.org/show_bug.cgi?id=20561
21432 * css/CSSTimingFunctionValue.h:
21434 (WebCore::CSSValue::isFontValue):
21435 (WebCore::CSSValue::isImageGeneratorValue):
21436 (WebCore::CSSValue::isImageValue):
21437 (WebCore::CSSValue::isImplicitInitialValue):
21438 * css/CSSValueList.h:
21441 2008-08-28 David Hyatt <hyatt@apple.com>
21443 The great RenderStyle cleanup begins!
21445 Move LengthBox and LengthSize out of RenderStyle and into Length.
21449 * rendering/Length.h:
21451 (WebCore::Length::Length):
21452 (WebCore::Length::operator==):
21453 (WebCore::Length::operator!=):
21454 (WebCore::Length::value):
21455 (WebCore::Length::rawValue):
21456 (WebCore::Length::percent):
21457 (WebCore::Length::type):
21458 (WebCore::Length::quirk):
21459 (WebCore::Length::setValue):
21460 (WebCore::Length::setRawValue):
21461 (WebCore::Length::calcValue):
21462 (WebCore::Length::calcMinValue):
21463 (WebCore::Length::calcFloatValue):
21464 (WebCore::Length::isUndefined):
21465 (WebCore::Length::isZero):
21466 (WebCore::Length::isPositive):
21467 (WebCore::Length::isNegative):
21468 (WebCore::Length::isAuto):
21469 (WebCore::Length::isRelative):
21470 (WebCore::Length::isPercent):
21471 (WebCore::Length::isFixed):
21472 (WebCore::Length::isStatic):
21473 (WebCore::Length::isIntrinsicOrAuto):
21474 (WebCore::Length::blend):
21475 (WebCore::LengthBox::LengthBox):
21476 (WebCore::LengthBox::operator=):
21477 (WebCore::LengthBox::operator==):
21478 (WebCore::LengthBox::operator!=):
21479 (WebCore::LengthBox::nonZero):
21480 (WebCore::LengthSize::LengthSize):
21481 * rendering/style/RenderStyle.h:
21483 2008-08-28 David Hyatt <hyatt@apple.com>
21487 https://bugs.webkit.org/show_bug.cgi?id=18091
21489 font-size should be animatable using -webkit-transition.
21491 * page/AnimationController.cpp:
21492 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
21493 * rendering/style/RenderStyle.h:
21494 (WebCore::RenderStyle::setFontSize):
21496 2008-08-28 Brad Garcia <bgarcia@google.com>
21498 Reviewed by Dan Bernstein.
21500 https://bugs.webkit.org/show_bug.cgi?id=20549
21501 Correctly determine when cursor is over a resizable border within
21504 * rendering/RenderFrameSet.cpp:
21505 (WebCore::RenderFrameSet::canResizeRow):
21506 (WebCore::RenderFrameSet::canResizeColumn):
21508 2008-08-28 Simon Fraser <simon.fraser@apple.com>
21510 Reviewed by Eric Seidel
21512 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
21513 https://bugs.webkit.org/show_bug.cgi?id=20552
21515 Test: animations/animation-css-rule-types.html
21519 2008-08-28 Anders Carlsson <andersca@apple.com>
21521 Reviewed by Kevin and Darin.
21523 <rdar://problem/6182541>
21524 https://bugs.webkit.org/show_bug.cgi?id=20202
21525 Missing http status line from the http headers.
21527 Add a status line to the header string.
21529 * plugins/PluginStream.cpp:
21530 (WebCore::PluginStream::startStream):
21532 2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
21534 Rubber-stamped by Darin Adler.
21536 https://bugs.webkit.org/show_bug.cgi?id=17261
21538 Make it possible to theme the default Url icon and enable this for
21539 the Qt port. To have a minimal usage of #ifdef in the code the setting
21540 of the icon was moved to a new method which comes in two flavors.
21542 * loader/icon/IconDatabase.cpp:
21543 (WebCore::loadDefaultIconRecord): Load or set the default icon
21544 (WebCore::IconDatabase::defaultIcon):
21546 2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
21548 Unreviewed compile fix
21550 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
21552 2008-08-28 Adam Roben <aroben@apple.com>
21554 Windows (and others?) build fix
21556 * page/Chrome.cpp: Added a missing #include.
21557 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
21559 2008-08-27 Eric Seidel <eric@webkit.org>
21561 Reviewed by Oliver Hunt.
21563 Qt and Cairo support from krit (and blind stab @ wx compile support)
21564 https://bugs.webkit.org/show_bug.cgi?id=20373
21566 * platform/graphics/cairo/GraphicsContextCairo.cpp:
21567 (WebCore::GraphicsContext::fillPath):
21568 (WebCore::GraphicsContext::strokePath):
21569 (WebCore::GraphicsContext::drawPath):
21570 (WebCore::GraphicsContext::fillRect):
21571 (WebCore::GraphicsContext::setPlatformFillColor):
21572 (WebCore::GraphicsContext::setPlatformStrokeColor):
21573 (WebCore::GraphicsContext::setPlatformStrokeStyle):
21574 (WebCore::GraphicsContext::strokeRect):
21575 (WebCore::GraphicsContext::setImageInterpolationQuality):
21576 (WebCore::GraphicsContext::imageInterpolationQuality):
21577 (WebCore::GraphicsContext::setPlatformFillPattern):
21578 (WebCore::GraphicsContext::setPlatformStrokePattern):
21579 (WebCore::GraphicsContext::setPlatformFillGradient):
21580 (WebCore::GraphicsContext::setPlatformStrokeGradient):
21581 * platform/graphics/qt/GraphicsContextQt.cpp:
21582 (WebCore::GraphicsContext::fillPath):
21583 (WebCore::GraphicsContext::strokePath):
21584 (WebCore::GraphicsContext::fillRect):
21585 (WebCore::GraphicsContext::strokeRect):
21586 (WebCore::GraphicsContext::clipToImageBuffer):
21587 (WebCore::GraphicsContext::setPlatformFillPattern):
21588 (WebCore::GraphicsContext::setPlatformStrokePattern):
21589 (WebCore::GraphicsContext::setPlatformFillGradient):
21590 (WebCore::GraphicsContext::setPlatformStrokeGradient):
21591 (WebCore::GraphicsContext::setImageInterpolationQuality):
21592 (WebCore::GraphicsContext::imageInterpolationQuality):
21593 * platform/graphics/wx/GraphicsContextWx.cpp:
21594 (WebCore::GraphicsContext::clipToImageBuffer):
21595 (WebCore::GraphicsContext::setImageInterpolationQuality):
21596 (WebCore::GraphicsContext::imageInterpolationQuality):
21597 (WebCore::GraphicsContext::fillPath):
21598 (WebCore::GraphicsContext::strokePath):
21599 (WebCore::GraphicsContext::drawPath):
21600 (WebCore::GraphicsContext::fillRect):
21601 (WebCore::GraphicsContext::setPlatformFillPattern):
21602 (WebCore::GraphicsContext::setPlatformStrokePattern):
21603 (WebCore::GraphicsContext::setPlatformFillGradient):
21605 2008-08-27 Eric Seidel <eric@webkit.org>
21607 Reviewed by Oliver Hunt.
21609 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
21610 https://bugs.webkit.org/show_bug.cgi?id=20373
21612 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
21614 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
21615 have to store large Gradient objects in the GraphicsContextState
21617 Made Pattern RefCounted for the same reason.
21619 Many updates to GraphicsContext to support easier drawing with
21620 Patterns and Gradients.
21622 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
21623 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
21625 * css/CSSGradientValue.cpp:
21626 (WebCore::CSSGradientValue::createGradient):
21627 * css/CSSGradientValue.h:
21628 * html/CanvasGradient.cpp:
21629 (WebCore::CanvasGradient::CanvasGradient):
21630 * html/CanvasGradient.h:
21631 (WebCore::CanvasGradient::gradient):
21632 (WebCore::CanvasGradient::addColorStop):
21633 (WebCore::CanvasGradient::getColor):
21634 * html/CanvasPattern.cpp:
21635 * html/CanvasPattern.h:
21636 (WebCore::CanvasPattern::pattern):
21637 (WebCore::CanvasPattern::originClean):
21638 * html/CanvasRenderingContext2D.cpp:
21639 (WebCore::CanvasRenderingContext2D::State::State):
21640 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
21641 (WebCore::CanvasRenderingContext2D::setFillStyle):
21642 (WebCore::CanvasRenderingContext2D::fill):
21643 (WebCore::CanvasRenderingContext2D::stroke):
21644 (WebCore::CanvasRenderingContext2D::fillRect):
21645 (WebCore::CanvasRenderingContext2D::strokeRect):
21646 * html/CanvasRenderingContext2D.h:
21647 * html/CanvasStyle.cpp:
21648 (WebCore::CanvasStyle::applyStrokeColor):
21649 (WebCore::CanvasStyle::applyFillColor):
21650 * html/CanvasStyle.h:
21651 * platform/graphics/GeneratedImage.h:
21652 (WebCore::GeneratedImage::GeneratedImage):
21653 * platform/graphics/Generator.h:
21654 * platform/graphics/Gradient.h:
21655 (WebCore::Gradient::create):
21656 * platform/graphics/GraphicsContext.cpp:
21657 (WebCore::GraphicsContext::fillRule):
21658 (WebCore::GraphicsContext::setFillRule):
21659 (WebCore::GraphicsContext::setStrokePattern):
21660 (WebCore::GraphicsContext::setFillPattern):
21661 (WebCore::GraphicsContext::setStrokeGradient):
21662 (WebCore::GraphicsContext::setFillGradient):
21663 * platform/graphics/GraphicsContext.h:
21664 * platform/graphics/GraphicsContextPrivate.h:
21666 (WebCore::GraphicsContextState::GraphicsContextState):
21667 * platform/graphics/GraphicsTypes.h:
21668 * platform/graphics/Path.h:
21669 * platform/graphics/Pattern.h:
21670 (WebCore::Pattern::create):
21671 (WebCore::Pattern::tileImage):
21672 * platform/graphics/cg/GraphicsContextCG.cpp:
21673 (WebCore::GraphicsContext::drawRect):
21674 (WebCore::GraphicsContext::drawEllipse):
21675 (WebCore::GraphicsContext::drawConvexPolygon):
21676 (WebCore::calculateDrawingMode):
21677 (WebCore::GraphicsContext::drawPath):
21678 (WebCore::fillPathWithFillRule):
21679 (WebCore::GraphicsContext::fillPath):
21680 (WebCore::GraphicsContext::strokePath):
21681 (WebCore::GraphicsContext::fillRect):
21682 (WebCore::GraphicsContext::fillRoundedRect):
21683 (WebCore::GraphicsContext::setPlatformStrokePattern):
21684 (WebCore::GraphicsContext::setPlatformFillPattern):
21685 (WebCore::GraphicsContext::setPlatformStrokeGradient):
21686 (WebCore::GraphicsContext::setPlatformFillGradient):
21688 2008-08-20 Eric Seidel <eric@webkit.org>
21690 Reviewed by Darin and Alexey.
21692 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
21693 with timeouts paused.
21694 https://bugs.webkit.org/show_bug.cgi?id=20469
21696 I attempted to clean up the memory management of PausedTimeouts, I'm not
21697 sure the solution I came up with is "cleaner", but it's in some ways
21698 "safer", since it no longer uses raw pointers and manual new/delete.
21700 This also now prevents CachedPage from needlessly creating Window
21701 objects when caching pages which didn't already have one. :)
21703 I also made Chrome.cpp no longer depend on the JavaScript bindings
21704 (aka JSDOMWindowBase.h), since there was no real reason for it to.
21706 * bindings/js/JSDOMWindowBase.cpp:
21707 (WebCore::JSDOMWindowBase::pauseTimeouts):
21708 (WebCore::JSDOMWindowBase::resumeTimeouts):
21709 * bindings/js/JSDOMWindowBase.h:
21710 * bindings/js/ScriptController.cpp:
21711 (WebCore::ScriptController::pauseTimeouts):
21712 (WebCore::ScriptController::resumeTimeouts):
21713 * bindings/js/ScriptController.h:
21714 * history/CachedPage.cpp:
21715 (WebCore::CachedPage::CachedPage):
21716 (WebCore::CachedPage::restore):
21718 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
21719 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
21720 * page/JavaScriptDebugServer.cpp:
21721 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
21722 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
21724 2008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
21726 Unreviewed compile fix
21728 Add the stub for the Qt port.
21731 * page/qt/AccessibilityObjectQt.cpp: Added.
21732 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21734 2008-08-27 Alp Toker <alp@nuanti.com>
21738 https://bugs.webkit.org/show_bug.cgi?id=20551
21739 [GTK] search popup crash
21741 * platform/gtk/SearchPopupMenuGtk.cpp:
21742 (WebCore::SearchPopupMenu::enabled):
21743 Fix a search popup crasher by disabling the history popup since we
21744 don't support this feature yet in the GTK+ port.
21746 2008-08-27 Alp Toker <alp@nuanti.com>
21750 https://bugs.webkit.org/show_bug.cgi?id=20551
21751 [GTK] curl crashers
21753 * platform/network/curl/ResourceHandleManager.cpp:
21754 (WebCore::ResourceHandleManager::startScheduledJobs):
21755 Remove the resource handle from the pending list before starting the
21756 job, not afterwards. Fixes crashers in the test suite.
21758 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
21759 Test: fast/encoding/char-encoding.html
21761 2008-08-27 Dirk Schulze <vbs85@gmx.de>
21763 Reviewed by eseidel.
21765 Fix canvas drawImage to support composite operations.
21766 Composite had no effect on canvas elements like these:
21767 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
21769 [CAIRO] Canvas composite don't work on canvas-elements.
21770 https://bugs.webkit.org/show_bug.cgi?id=20548
21772 * html/CanvasRenderingContext2D.cpp:
21773 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
21775 2008-08-27 Mario Bensi <mbensi@pleyo.com>
21777 Reviewed by Eric Seidel.
21779 Fix the data content of an image with a base64.
21781 * platform/network/curl/ResourceHandleManager.cpp:
21782 (WebCore::parseDataUrl): Remove the String and use only the data
21783 Vector because the data.latin1().data() convert the data content and
21784 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
21785 not drawn correctly.
21787 2008-08-27 Antti Koivisto <antti@apple.com>
21789 Reviewed by Eric Seidel.
21791 Crash after OK in dialog box and reloading page in secure mode
21792 https://bugs.webkit.org/show_bug.cgi?id=20493
21794 The new run loop spawned by a modal dialog causes a timer in the loader to run
21795 synchronously inside didFinishLoading() deleting "this" object.
21797 Defer all WebCore timers when a modal dialog is up. They are not
21801 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
21802 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
21804 2008-08-27 Chris Marrin <cmarrin@apple.com>
21806 Reviewed by Dave Hyatt
21808 Memory leaks when animating transforms
21809 https://bugs.webkit.org/show_bug.cgi?id=20532
21811 * rendering/style/RenderStyle.cpp:
21812 (WebCore::ScaleTransformOperation::blend):
21813 (WebCore::RotateTransformOperation::blend):
21814 (WebCore::SkewTransformOperation::blend):
21815 (WebCore::TranslateTransformOperation::blend):
21816 (WebCore::MatrixTransformOperation::blend):
21817 * rendering/style/RenderStyle.h:
21819 2008-08-27 Timothy Hatcher <timothy@apple.com>
21821 Add support for support for -webkit-appearance: default-button on the Mac platform.
21823 <rdar://problem/6173530>
21825 Reviewed by Dave Hyatt.
21827 * WebCore.base.exp: Export new symbols.
21828 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
21829 * platform/mac/WebCoreSystemInterface.mm: Ditto.
21830 * rendering/RenderButton.cpp:
21831 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
21832 (WebCore::RenderButton::setStyle): Ditto.
21833 * rendering/RenderButton.h: Ditto.
21834 * rendering/RenderThemeMac.mm:
21835 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
21836 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
21837 key if the button is default, otherwise reset the key equivalent.
21838 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
21839 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
21840 the window's previous default button cell when finished.
21842 2008-08-26 David Hyatt <hyatt@apple.com>
21844 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
21848 Added fast/forms/zoomed-controls.html
21850 * css/CSSStyleSelector.cpp:
21851 (WebCore::addIntrinsicMargins):
21852 * rendering/RenderSlider.cpp:
21853 (WebCore::RenderSlider::calcPrefWidths):
21854 * rendering/RenderThemeMac.h:
21855 * rendering/RenderThemeMac.mm:
21856 (WebCore::RenderThemeMac::adjustRepaintRect):
21857 (WebCore::RenderThemeMac::inflateRect):
21858 (WebCore::RenderThemeMac::baselinePosition):
21859 (WebCore::RenderThemeMac::setControlSize):
21860 (WebCore::RenderThemeMac::sizeForFont):
21861 (WebCore::RenderThemeMac::sizeForSystemFont):
21862 (WebCore::RenderThemeMac::setFontFromControlSize):
21863 (WebCore::RenderThemeMac::paintCheckbox):
21864 (WebCore::RenderThemeMac::setCheckboxCellState):
21865 (WebCore::RenderThemeMac::paintRadio):
21866 (WebCore::RenderThemeMac::setRadioCellState):
21867 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
21868 (WebCore::RenderThemeMac::adjustButtonStyle):
21869 (WebCore::RenderThemeMac::setButtonCellState):
21870 (WebCore::RenderThemeMac::paintButton):
21871 (WebCore::RenderThemeMac::paintMenuList):
21872 (WebCore::RenderThemeMac::paintMenuListButton):
21873 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
21874 (WebCore::RenderThemeMac::popupInternalPaddingRight):
21875 (WebCore::RenderThemeMac::popupInternalPaddingTop):
21876 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
21877 (WebCore::RenderThemeMac::setPopupButtonCellState):
21878 (WebCore::RenderThemeMac::paintSliderTrack):
21879 (WebCore::RenderThemeMac::paintSliderThumb):
21880 (WebCore::RenderThemeMac::adjustSliderThumbSize):
21881 (WebCore::RenderThemeMac::paintSearchField):
21882 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
21883 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
21884 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
21886 2008-08-27 Brady Eidson <beidson@apple.com>
21890 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
21892 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
21893 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
21894 away the virtual address space and a crash.
21896 * loader/EmptyClients.h:
21897 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
21898 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
21899 "plugin will handle load"
21901 * loader/MediaDocument.cpp:
21902 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
21903 and cancel the WebCore-managed load
21904 (WebCore::MediaTokenizer::writeRawData):
21905 (WebCore::MediaTokenizer::finish):
21907 2008-08-26 Simon Fraser <simon.fraser@apple.com>
21909 Reviewed by Eric Seidel
21911 Linear timing functions should have control points 0, 0, 1, 1.
21912 https://bugs.webkit.org/show_bug.cgi?id=20535
21914 * css/CSSStyleSelector.cpp:
21915 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
21916 * rendering/style/RenderStyle.h:
21918 2008-08-27 Adam Roben <aroben@apple.com>
21922 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
21924 2008-08-26 Chris Fleizach <cfleizach@apple.com>
21926 Reviewed by Beth Dakin.
21928 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
21930 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
21931 to determine if an attachment is ignored through accessibility. Added equivalent
21932 methods in Gtk, Win and Mac
21934 Test: accessibility/plugin.html
21937 * WebCore.vcproj/WebCore.vcproj:
21938 * WebCore.xcodeproj/project.pbxproj:
21939 * page/AccessibilityObject.h:
21940 * page/AccessibilityRenderObject.cpp:
21941 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
21942 * page/gtk/AccessibilityObjectAtk.cpp: Added.
21943 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21944 * page/mac/AccessibilityObjectMac.mm: Added.
21945 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21946 * page/mac/AccessibilityObjectWrapper.h:
21947 * page/win/AccessibilityObjectWin.cpp: Added.
21948 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21950 2008-08-26 Chris Fleizach <cfleizach@apple.com>
21952 Reviewed by Beth Dakin.
21954 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
21956 * page/mac/AccessibilityObjectWrapper.mm:
21957 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
21958 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
21960 2008-08-26 Chris Fleizach <cfleizach@apple.com>
21962 Reviewed by Darin Adler.
21964 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
21966 Tests: accessibility/table-notbody.html
21968 * page/AccessibilityTable.cpp:
21969 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
21971 2008-08-26 Sam Weinig <sam@webkit.org>
21973 Reviewed by Beth Dakin.
21977 * dom/DOMCoreException.h:
21979 2008-08-26 Sam Weinig <sam@webkit.org>
21981 Reviewed by Oliver Hunt.
21983 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
21984 <rdar://problem/6167660>
21985 Take image redirects into account when tainting the canvas.
21987 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
21989 * html/CanvasRenderingContext2D.cpp:
21990 (WebCore::CanvasRenderingContext2D::drawImage):
21991 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
21993 2008-08-26 Sam Weinig <sam@webkit.org>
21995 Reviewed by Darin Adler.
21997 Change canvas tainting logic to ask the image if it contains
21998 any resources outside of its own origin. Since there is no
21999 way to determine if SVG images contain any resources outside its
22000 origin, we always assume it does.
22002 * html/CanvasRenderingContext2D.cpp:
22003 (WebCore::CanvasRenderingContext2D::drawImage):
22004 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
22005 * platform/graphics/BitmapImage.h:
22006 (WebCore::BitmapImage::hasSingleSecurityOrigin):
22007 * platform/graphics/GeneratedImage.h:
22008 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
22009 * platform/graphics/Image.h:
22010 (WebCore::Image::hasSingleSecurityOrigin):
22011 * platform/graphics/cg/PDFDocumentImage.h:
22012 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
22013 * svg/graphics/SVGImage.h:
22015 2008-08-26 Maxime Britto <britto@apple.com>
22019 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
22020 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.
22021 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.
22023 * page/EventHandler.cpp:
22024 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
22025 * page/EventHandler.h:
22026 * rendering/RenderLayer.cpp:
22027 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
22028 (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.
22029 * rendering/RenderLayer.h:
22030 * rendering/RenderObject.cpp:
22031 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
22032 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
22033 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
22035 2008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
22037 Reviewed by Darin Adler.
22039 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
22040 https://bugs.webkit.org/show_bug.cgi?id=20247
22042 <rdar://problem/6118218>
22044 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
22045 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
22046 (case insensitive for HTML elements).
22048 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
22051 (WebCore::Element::getAttribute):
22052 * dom/NamedAttrMap.cpp:
22053 (WebCore::NamedAttrMap::getNamedItem):
22054 (WebCore::NamedAttrMap::getAttributeItem):
22055 * dom/NamedAttrMap.h:
22057 2008-08-25 Sam Weinig <sam@webkit.org>
22059 Reviewed by Oliver Hunt.
22061 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
22062 <rdar://problem/6174096>
22063 Treat SVG images as dirty when drawing to a canvas.
22065 Test: http/tests/security/canvas-remote-read-svg-image.html
22067 * html/CanvasRenderingContext2D.cpp:
22068 (WebCore::CanvasRenderingContext2D::drawImage):
22069 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
22070 * platform/graphics/Image.h:
22071 (WebCore::Image::isSVGImage):
22072 * svg/graphics/SVGImage.h:
22073 (WebCore::SVGImage::isSVGImage):
22075 2008-08-25 Sam Weinig <sam@webkit.org>
22077 Reviewed by Mark Rowe.
22079 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
22080 Leak in XMLHttpRequest.
22082 * xml/XMLHttpRequest.cpp:
22083 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
22085 2008-08-25 Brady Eidson <beidson@apple.com>
22089 Speculative fix for <rdar://problem/6173217>
22091 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
22092 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
22093 the first null check invalid.
22095 * loader/FrameLoader.cpp:
22096 (WebCore::FrameLoader::stopAllLoaders):
22099 2008-08-25 Kevin McCullough <kmccullough@apple.com>
22103 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
22104 there is no profile, can cause crash
22106 * page/inspector/ProfilesPanel.js:
22108 2008-08-25 Dean Jackson <dino@apple.com>
22110 Reviewed by Dave Hyatt
22112 Make sure 'inherit' is handled by transition property.
22113 https://bugs.webkit.org/show_bug.cgi?id=20513
22115 Test: transitions/inherit.html
22116 Test: transitions/inherit-other-props.html
22118 * css/CSSStyleSelector.cpp:
22119 fix macro to check existence of list before getting size
22121 2008-08-25 Anders Carlsson <andersca@apple.com>
22125 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
22127 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
22128 (safely) that any class that needs finalization on the main thread will also need to be deallocated
22129 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
22130 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
22132 * platform/mac/WebCoreObjCExtras.c:
22133 (WebCoreObjCFinalizeOnMainThread):
22135 2008-08-25 Antti Koivisto <antti@apple.com>
22137 Reviewed by Dan Bernstein.
22139 Rename CachedResource::referenced() to CachedResource::hasClients() to
22140 match previous ref() -> addClient() rename.
22142 * loader/Cache.cpp:
22143 (WebCore::Cache::pruneLiveResources):
22144 (WebCore::Cache::pruneDeadResources):
22145 (WebCore::Cache::remove):
22146 (WebCore::Cache::getStatistics):
22147 (WebCore::Cache::dumpLRULists):
22148 * loader/CachedResource.cpp:
22149 (WebCore::CachedResource::addClient):
22150 (WebCore::CachedResource::removeClient):
22151 (WebCore::CachedResource::setDecodedSize):
22152 (WebCore::CachedResource::setEncodedSize):
22153 * loader/CachedResource.h:
22154 (WebCore::CachedResource::hasClients):
22155 (WebCore::CachedResource::canDelete):
22157 2008-08-25 Anthony Ricaud <rik24d@gmail.com>
22159 Add a missing Inspector localized string for "other".
22161 https://bugs.webkit.org/show_bug.cgi?id=20509
22163 Reviewed by Tim Hatcher.
22165 * English.lproj/localizedStrings.js:
22167 2008-08-22 Kevin McCullough <kmccullough@apple.com>
22169 Reviewed by Geoff, Mark and Tim.
22171 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
22172 in the console said what file and line number they came from
22173 - Lay the foundation for getting line numbers and other data from the
22176 * ForwardingHeaders/VM: Added.
22177 * ForwardingHeaders/VM/Machine.h: Added.
22178 * page/Console.cpp: Gather the line number and file information when
22179 profileEnd has been called, but don't use it until didFinishProfiling is
22180 called. We won't need to wait once we remove the profiler "zombie" mode
22181 which this patch helps pave the foundation for.
22182 (WebCore::Console::Console):
22183 (WebCore::Console::profileEnd):
22184 (WebCore::Console::finishedProfiling):
22186 * page/InspectorController.cpp: Modify calls to
22187 addProfileMessageToConsole to satisfy the new arguments it takes.
22188 (WebCore::InspectorController::finishedProfiling):
22189 (WebCore::InspectorController::addProfile):
22190 (WebCore::InspectorController::addProfileMessageToConsole):
22191 (WebCore::InspectorController::finishedProfiling):
22192 * page/InspectorController.h:
22194 2008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
22198 [inspector] Update the WebKit.qrc Qt resources file
22199 Catchup with the changes in the directory.
22201 * page/inspector/WebKit.qrc:
22203 2008-08-25 Dirk Schulze <vbs85@gmx.de>
22207 Transformed the radian to degree, to get rotate()
22208 in canvas work as expected.
22210 [Qt] Canvas.rotate() doesn't work
22211 https://bugs.webkit.org/show_bug.cgi?id=20496
22213 * platform/graphics/qt/GraphicsContextQt.cpp:
22214 (WebCore::GraphicsContext::rotate):
22216 2008-08-24 Steve Falkenburg <sfalken@apple.com>
22218 Add a "last chance" WM_TIMER to the Windows shared timer.
22220 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
22221 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
22222 timers if a timer with an earlier expiration is already pending. This results in no timers
22223 firing from that point on.
22225 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
22226 buggy window message hook.
22228 This timer will start when the first WM_TIMER is scheduled, and will
22229 fire every 5 seconds thereafter, causing any lost timers to be fired.
22231 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
22232 and prevents the WebFrame leak.
22234 Reviewed by Darin Adler, Geoff Garen.
22236 * platform/win/SharedTimerWin.cpp:
22238 (WebCore::TimerWindowWndProc):
22239 (WebCore::setSharedTimerFireTime):
22241 2008-08-24 Dan Bernstein <mitz@apple.com>
22243 Reviewed by Darin Adler.
22245 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
22247 Test: fast/css/font-property-priority.html
22249 * css/CSSParser.cpp:
22250 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
22251 to the font-property-parsing functions.
22252 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
22253 changed to use it rather than the m_important member.
22254 (WebCore::CSSParser::parseFontVariant): Ditto.
22255 (WebCore::CSSParser::parseFontWeight): Ditto.
22258 2008-08-24 Timothy Hatcher <timothy@apple.com>
22260 Fixes a bug where the Inspector's UI would not animate or
22261 fully function because JavaScript timeouts, intervals and
22262 CSS animation timers where not firing while paused at a
22263 a breakpoint in the inspected page.
22265 https://bugs.webkit.org/show_bug.cgi?id=20042
22267 Reviewed by Darin Adler.
22269 Test: manual-tests/inspector/forzen-ui-while-paused.html
22271 * page/JavaScriptDebugServer.cpp:
22272 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
22273 Add a call to TimerBase::fireTimersInNestedEventLoop before
22274 spinning the EventLoop.
22276 2008-08-24 Rob Buis <buis@kde.org>
22278 Reviewed by Sam Weinig.
22280 https://bugs.webkit.org/show_bug.cgi?id=20324
22281 A change in SVG Glyph wont show up
22283 Invalidate the glyph cache when the d attribute is set.
22285 Test: svg/custom/glyph-setting-d-attribute.svg
22287 * svg/SVGGlyphElement.cpp:
22288 (WebCore::SVGGlyphElement::invalidateGlyphCache):
22289 (WebCore::SVGGlyphElement::parseMappedAttribute):
22290 (WebCore::SVGGlyphElement::insertedIntoDocument):
22291 (WebCore::SVGGlyphElement::removedFromDocument):
22292 * svg/SVGGlyphElement.h:
22294 2008-08-24 Dan Bernstein <mitz@apple.com>
22296 Reviewed by Sam Weinig.
22298 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
22299 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
22301 * rendering/RenderText.cpp:
22302 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
22303 beginWS and endWS before the early return to ensure that they are
22304 initialized in that case.
22306 2008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
22308 Rubber-stamped by Mark Rowe.
22313 * bridge/testbindings.cpp:
22315 * loader/SubstituteData.h:
22318 * page/ChromeClient.h:
22320 * page/FrameLoadRequest.h:
22321 * page/FrameTree.cpp:
22322 * page/FrameTree.h:
22324 * page/mac/ChromeMac.mm:
22325 * platform/network/HTTPHeaderMap.h:
22326 * platform/network/ResourceErrorBase.cpp:
22327 * platform/network/ResourceErrorBase.h:
22328 * platform/network/ResourceHandleInternal.h:
22329 * platform/network/ResourceRequestBase.cpp:
22330 * platform/network/ResourceRequestBase.h:
22331 * platform/network/ResourceResponseBase.cpp:
22332 * platform/network/ResourceResponseBase.h:
22333 * platform/network/cf/ResourceError.h:
22334 * platform/network/cf/ResourceRequest.h:
22335 * platform/network/cf/ResourceRequestCFNet.h:
22336 * platform/network/cf/ResourceResponse.h:
22337 * platform/network/cf/ResourceResponseCFNet.h:
22338 * platform/network/curl/ResourceError.h:
22339 * platform/network/curl/ResourceRequest.h:
22340 * platform/network/curl/ResourceResponse.h:
22341 * platform/network/mac/ResourceError.h:
22342 * platform/network/mac/ResourceErrorMac.mm:
22343 * platform/network/mac/ResourceRequest.h:
22344 * platform/network/mac/ResourceRequestMac.mm:
22345 * platform/network/mac/ResourceResponse.h:
22346 * platform/network/mac/ResourceResponseMac.mm:
22347 * platform/network/qt/ResourceError.h:
22348 * platform/network/qt/ResourceRequest.h:
22349 * platform/network/qt/ResourceResponse.h:
22350 * platform/network/soup/CookieJarSoup.cpp:
22351 * platform/network/soup/ResourceError.h:
22352 * platform/network/soup/ResourceRequest.h:
22353 * platform/network/soup/ResourceResponse.h:
22355 2008-08-23 Dan Bernstein <mitz@apple.com>
22357 Reviewed by Dave Hyatt.
22359 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
22361 Test: fast/table/vertical-align-baseline.html
22363 * rendering/RenderTable.cpp:
22364 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
22365 baseline of the first table row, if there is one, -1 otherwise.
22366 * rendering/RenderTable.h:
22367 * rendering/RenderTableCell.cpp:
22368 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
22369 CSS2.1 definition of the baseline of a table cell.
22370 * rendering/RenderTableSection.cpp:
22371 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
22372 the baseline of the first row in the section.
22373 * rendering/RenderTableSection.h:
22375 2008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
22377 Add SPI to make a Windows WebView transparent.
22379 Reviewed by Dan Bernstein.
22381 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
22382 determines whether the created context has an alpha channel.
22383 * platform/graphics/win/GraphicsContextCGWin.cpp:
22384 (WebCore::CGContextWithHDC):
22386 2008-08-22 Timothy Hatcher <timothy@apple.com>
22388 Rolls out r35834 because it caused a regression in the Inspector's
22389 Console where some expressions always threw a syntax error.
22391 https://bugs.webkit.org/show_bug.cgi?id=20487
22393 * page/inspector/Console.js:
22394 (Console.prototype._evalInInspectedWindow): Removes parenthesis
22395 around the expression.
22397 2008-08-22 Timothy Hatcher <timothy@apple.com>
22399 Makes getStyleProperty return a value for the overflow property
22400 when overflow-x and overflow-y are equal.
22402 https://bugs.webkit.org/show_bug.cgi?id=20485
22404 Reviewed by Dan Bernstein.
22406 Test: fast/css/overflow-property.html
22408 * css/CSSMutableStyleDeclaration.cpp:
22409 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
22411 2008-08-22 Timothy Hatcher <timothy@apple.com>
22413 Fixes a bug where while editing in the Inspector the
22414 sidebar scroll position would jump to the top.
22416 https://bugs.webkit.org/show_bug.cgi?id=20484
22418 Reviewed by Darin Adler.
22420 * page/inspector/treeoutline.js:
22421 (TreeOutline._removeChildren): Remove the offsetTop call that
22422 was forcing a layout, since layout causes scroll positions
22423 to be clamped to the new scrollHeight/Width. Layout will happen
22424 normally when needed.
22426 2008-08-22 Kevin Ollivier <kevino@theolliviers.com>
22428 wx build fix. Add AccessibilityTable sources.
22430 * WebCoreSources.bkl:
22432 2008-08-21 Dan Bernstein <mitz@apple.com>
22434 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
22436 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
22438 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
22440 * platform/graphics/mac/SimpleFontDataMac.mm:
22441 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
22442 ascent and 100% to its reported descent.
22444 2008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
22446 Reviewed by Darin Adler.
22448 https://bugs.webkit.org/show_bug.cgi?id=20267
22449 [GTK] Crash on some pages due to a plugin
22451 Fix handling of badly formatted and empty plugin mime descriptions
22453 * plugins/gtk/PluginPackageGtk.cpp:
22454 (WebCore::PluginPackage::fetchInfo):
22456 2008-08-21 Kevin Watters <kevinwatters@gmail.com>
22458 Reviewed by Darin Adler.
22460 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
22461 animated GIF frame duration of less than 50ms.
22463 * platform/graphics/wx/ImageSourceWx.cpp:
22464 (WebCore::ImageSource::frameDurationAtIndex):
22466 2008-08-21 Maxime Britto <britto@apple.com>
22468 Reviewed by Kevin McCullough.
22470 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
22471 https://bugs.webkit.org/show_bug.cgi?id=20451
22473 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
22474 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
22475 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
22477 * page/EventHandler.cpp:
22478 (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.
22480 (WebCore::EventHandler::handleMousePressEvent): ditto
22482 2008-08-21 Anthony Ricaud <rik24d@gmail.com>
22484 Small optimization for when the dividers in the Inspector's
22485 Resources panel are updated.
22487 Reviewed by Tim Hatcher.
22489 * page/inspector/ResourcesPanel.js:
22490 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
22491 Combind a for loop and clone the divider element.
22493 2008-08-21 Chris Marrin <cmarrin@apple.com>
22495 Allow 0 (without units) for Time eg. duration
22496 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
22498 Reviewed by Dave Hyatt.
22500 Test: css1/units/zero-duration-without-units.html
22502 * css/CSSParser.cpp:
22503 (WebCore::CSSParser::validUnit):
22505 2008-08-21 Timothy Hatcher <timothy@apple.com>
22507 Make deleting all text while editing a DOM attribute in
22508 the Inspector delete the attribute. This also fixes
22509 an exception that would happen before.
22511 https://bugs.webkit.org/show_bug.cgi?id=20472
22513 Reviewed by Kevin McCullough.
22515 * page/inspector/ElementsPanel.js:
22516 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
22517 Don't check for hasAttributes on the parseElement, continuing
22518 through the function will correctly remove the attribute.
22519 If the parseElement is null, call _editingCancelled not
22520 editingCancelled, this fixes an exception.
22522 2008-08-21 Timothy Hatcher <timothy@apple.com>
22524 Update the Inspector's Metrics pane when editing in
22525 the Styles pane. This makes sure the metrics shown
22526 always match what the Styles pane shows.
22528 https://bugs.webkit.org/show_bug.cgi?id=20470
22530 Reviewed by Kevin McCullough.
22532 * page/inspector/ElementsPanel.js:
22533 (WebInspector.ElementsPanel): Add event listeners for
22534 the "style edited" and "style property toggled" events,
22535 so the Metrics pane is updated.
22536 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
22537 Update the Metrics pane.
22538 * page/inspector/StylesSidebarPane.js:
22539 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
22540 Dispatch the "style property toggled" event.
22541 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
22542 Dispatch the "style edited" event when the CSS text is restored.
22543 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
22544 Dispatch the "style edited" event.
22546 2008-08-21 Timothy Hatcher <timothy@apple.com>
22548 Make the Inspector's Metrics sidebar pane editable.
22550 https://bugs.webkit.org/show_bug.cgi?id=17218
22551 rdar://problem/5732818
22553 Reviewed by Kevin McCullough.
22555 * page/inspector/ElementsPanel.js:
22556 (WebInspector.ElementsPanel): Add an event listener for
22557 the "metrics edited" event, so the Styles pane is updated.
22558 * page/inspector/MetricsSidebarPane.js:
22559 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
22560 so future updates work. Add a double click event listener for the
22561 metric values to start editing.
22562 (WebInspector.MetricsSidebarPane.prototype.startEditing):
22563 Call WebInspector.startEditing with some context.
22564 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
22565 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
22566 Set the user input on the elements inline style. Fire the
22567 "metrics edited" event.
22569 2008-08-21 Steve Falkenburg <sfalken@apple.com>
22571 Fix a race condition in Windows timer code.
22572 Timer function could end up being called with a 0 timer, leading to a Windows exception.
22574 Don't post a timer message if one is already pending.
22576 Reviewed by Ada Chan.
22578 * platform/win/SharedTimerWin.cpp:
22579 (WebCore::TimerWindowWndProc):
22580 (WebCore::clearTimer):
22581 (WebCore::queueTimerProc):
22582 (WebCore::setSharedTimerFireTime):
22584 2008-08-21 Anthony Ricaud <rik24d@gmail.com>
22586 After trying to add the expression, try again with quotes for
22589 https://bugs.webkit.org/show_bug.cgi?id=20466
22591 Reviewed by Tim Hatcher.
22593 * page/inspector/ObjectPropertiesSection.js: Added an
22594 evaluateExpression function.
22596 2008-08-21 Anthony Ricaud <rik24d@gmail.com>
22598 Perform Inspector searches on search event to clear results when
22599 clicking the cross to empty it. Delete the lastQuery when the field
22600 is emptied in order to perform the search if exactly the same query
22603 https://bugs.webkit.org/show_bug.cgi?id=20462
22605 Reviewed by Tim Hatcher.
22607 * page/inspector/inspector.js:
22609 2008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
22611 Reviewed by Mark Rowe.
22613 http://bugs.webkit.org/show_bug.cgi?id=19656
22614 [SOUP] The gio code should call didFail() instead of
22615 didFinishLoading() in case of error
22617 In case of error call didFail() instead of didReceiveResponse() and
22618 didFinishLoading().
22620 * platform/network/soup/ResourceHandleSoup.cpp:
22621 (WebCore::networkErrorForFile):
22622 (WebCore::readCallback):
22623 (WebCore::openCallback):
22624 (WebCore::queryInfoCallback):
22626 2008-08-20 Mark Rowe <mrowe@apple.com>
22628 Reviewed by Jon Honeycutt.
22632 * bridge/c/c_instance.cpp:
22633 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
22634 as that is what NPEnumerationFunctionPtr is declared as accepting.
22636 2008-08-20 Mark Rowe <mrowe@apple.com>
22638 Reviewed by Dan Bernstein.
22640 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
22642 * platform/graphics/GraphicsContext.h:
22644 * platform/graphics/cg/GraphicsContextCG.cpp:
22645 (WebCore::GraphicsContext::setImageInterpolationQuality):
22646 (WebCore::GraphicsContext::imageInterpolationQuality):
22648 2008-08-20 Dan Bernstein <mitz@apple.com>
22650 Rubber-stamped by John Sullivan.
22652 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
22653 rename related methods and variables accordingly.
22655 * WebCore.base.exp:
22656 * page/FrameView.cpp:
22657 (WebCore::FrameViewPrivate::FrameViewPrivate):
22658 (WebCore::FrameView::shouldUpdateWhileOffscreen):
22659 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
22660 * page/FrameView.h:
22661 * platform/ScrollView.h:
22662 * platform/mac/ScrollViewMac.mm:
22663 (WebCore::ScrollView::updateContents):
22665 2008-08-20 Brady Eidson <beidson@apple.com>
22667 Reviewed by Mitzpettel
22669 <rdar://problem/6163636> - Many images broken in Mail
22671 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
22672 sooner than before and confuse the WebArchive machinery.
22674 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
22675 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
22676 machinery and nothing is known about where the data will eventually come from.
22678 * loader/DocumentLoader.cpp:
22679 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
22680 CachedResource::PreloadReferenced.
22682 2008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
22684 Unreviewed compile fix
22686 Catch up with the JSValue::type elimination.
22688 * bridge/qt/qt_instance.cpp:
22689 (KJS::Bindings::QtRuntimeObjectImp::construct):
22690 (KJS::Bindings::QtInstance::defaultValue):
22691 * bridge/qt/qt_runtime.cpp:
22692 (KJS::Bindings::QtRuntimeConnectionMethod::call):
22694 2008-08-20 Chris Teague <chris.teague@gmail.com>
22696 Reviewed by Mark Rowe.
22698 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
22699 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
22702 * loader/FrameLoader.cpp:
22703 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
22705 2008-08-20 Simon Fraser <simon.fraser@apple.com>
22707 Reviewed by Dave Hyatt
22709 getComputedStyle() for webkitTransform should return a transform
22710 that does not have the transform origin baked into it.
22711 https://bugs.webkit.org/show_bug.cgi?id=20464
22713 Test: fast/css/getComputedStyle-transform.html
22715 * css/CSSComputedStyleDeclaration.cpp:
22716 (WebCore::computedTransform):
22717 * rendering/style/RenderStyle.cpp:
22718 (WebCore::RenderStyle::applyTransform):
22719 * rendering/style/RenderStyle.h:
22721 2008-08-20 Josh Aas <joshmoz@gmail.com>
22723 Reviewed and landed by Anders.
22725 <rdar://problem/6163636>
22726 rename NPCocoaEvent's "event" struct to "data" (20446)
22731 2008-08-20 Beth Dakin <bdakin@apple.com>
22733 Reviewed by Darin Adler.
22735 Fix for <rdar://problem/6145626>
22736 This patch fixes a number of remaining problems getting
22737 disconnected frames to work correctly with markAllMatchesForText()
22738 and findString(). Details inline.
22740 This was a static helper function in Frame, but this patch requires
22741 the same functionality in Editor, so I just added it as a function
22744 (WebCore::Node::isInShadowTree):
22747 * editing/Editor.cpp:
22748 (WebCore::Editor::insideVisibleArea): Returns false if
22749 excludeFromTextSearch() is true.
22751 In a normal (non-disconnected) frame, findString returns a range of
22752 the document node if the text is not found in the frame. I changed
22753 firstVisibleRange and lastVisibleRange to match that behavior when
22754 the text is not found
22755 (WebCore::Editor::firstVisibleRange):
22756 (WebCore::Editor::lastVisibleRange):
22758 Here are the bulk of the changes in the patch. A lot of text was
22759 not being found in disconnected frames because I failed to account
22760 for all of the possible problems associated with shadow trees. That
22762 (WebCore::Editor::nextVisibleRange):
22763 * editing/Editor.h:
22765 excludeFromTextSearch() is new. It allows a WebKit client to mark a
22766 frame as not-text-searchable through SPI.
22767 * WebCore.base.exp:
22769 (WebCore::Frame::excludeFromTextSearch):
22770 (WebCore::Frame::setExcludeFromTextSearch):
22771 (WebCore::FramePrivate::FramePrivate):
22773 * page/FramePrivate.h:
22775 (WebCore::Frame::findString):
22776 (WebCore::Frame::markAllMatchesForText): I kept running into an
22777 assertion failure in paining code because of the forced paint on
22778 empty visible rects.
22780 2008-08-20 Timothy Hatcher <timothy@apple.com>
22782 Adds a positon box to the Inspector's Metrics sidebar
22783 pane. When an element is not statically positioned, there
22784 is now a position box that show top, right, bottom and
22785 left computed values.
22787 Reviewed by Kevin McCullough.
22789 * English.lproj/localizedStrings.js: Updated the strings.
22790 * page/inspector/MetricsSidebarPane.js:
22791 (WebInspector.MetricsSidebarPane.prototype.update):
22792 Renamed the boxPartValue function to createBoxPartElement
22793 and made it create the entire element. Made it understand
22794 how to get position style properties. Don't use the figure dash
22795 when 0px is used for positions, since the 0 is meaningful there.
22796 Instead use the figure dash when a position is auto.
22797 * page/inspector/inspector.css: Added a new rule for position.
22799 2008-08-20 Chris Fleizach <cfleizach@apple.com>
22801 Reviewed by Beth Dakin
22807 2008-08-20 Dan Bernstein <mitz@apple.com>
22809 Reviewed by Anders Carlsson.
22811 - avoid using a deprecated NSScroller method on Leopard
22813 * platform/mac/PlatformScrollBarMac.mm:
22814 (WebCore::PlatformScrollbar::updateThumbPosition):
22815 (WebCore::PlatformScrollbar::updateThumbProportion):
22817 2008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
22819 Reviewed by Oliver Hunt.
22824 * page/AccessibilityTable.cpp: Change nil to 0
22825 (WebCore::AccessibilityTable::cellForColumnAndRow):
22827 2008-08-19 Alexey Proskuryakov <ap@webkit.org>
22829 Reviewed by Geoff Garen.
22831 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
22833 * ForwardingHeaders/kjs/JSLock.h: Added.
22834 * WebCore.vcproj/WebCore.vcproj:
22835 * bindings/js/GCController.cpp:
22836 (WebCore::collect):
22837 (WebCore::GCController::gcTimerFired):
22838 (WebCore::GCController::garbageCollectNow):
22839 * bindings/js/JSCustomSQLStatementCallback.cpp:
22840 (WebCore::JSCustomSQLStatementCallback::handleEvent):
22841 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
22842 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
22843 * bindings/js/JSCustomSQLTransactionCallback.cpp:
22844 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
22845 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
22846 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
22847 * bindings/js/JSCustomVoidCallback.cpp:
22848 (WebCore::JSCustomVoidCallback::handleEvent):
22849 * bindings/js/JSCustomXPathNSResolver.cpp:
22850 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
22851 * bindings/js/JSDOMWindowBase.cpp:
22852 (WebCore::DOMWindowTimer::~DOMWindowTimer):
22853 (WebCore::JSDOMWindowBase::clear):
22854 (WebCore::JSDOMWindowBase::timerFired):
22855 * bindings/js/JSEventCustom.cpp:
22857 * bindings/js/JSEventListener.cpp:
22858 (WebCore::JSAbstractEventListener::handleEvent):
22859 * bindings/js/JSNSResolver.cpp:
22860 (WebCore::JSNSResolver::lookupNamespaceURI):
22861 * bindings/js/JSNodeFilterCondition.cpp:
22862 (WebCore::JSNodeFilterCondition::acceptNode):
22863 * bindings/js/ScheduledAction.cpp:
22864 (WebCore::ScheduledAction::execute):
22865 * bindings/js/ScriptController.cpp:
22866 (WebCore::ScriptController::evaluate):
22867 (WebCore::ScriptController::clearWindowShell):
22868 (WebCore::ScriptController::createHTMLEventHandler):
22869 (WebCore::ScriptController::createSVGEventHandler):
22870 (WebCore::ScriptController::initScript):
22871 (WebCore::ScriptController::updateDocument):
22872 (WebCore::ScriptController::bindingRootObject):
22873 (WebCore::ScriptController::windowScriptNPObject):
22874 (WebCore::ScriptController::createScriptObjectForPluginElement):
22875 (WebCore::ScriptController::clearScriptObjects):
22876 * bindings/js/ScriptControllerMac.mm:
22877 (WebCore::ScriptController::windowScriptObject):
22878 * bindings/objc/WebScriptObject.mm:
22880 (-[WebScriptObject callWebScriptMethod:withArguments:]):
22881 (-[WebScriptObject evaluateWebScript:]):
22882 (-[WebScriptObject setValue:forKey:]):
22883 (-[WebScriptObject valueForKey:]):
22884 (-[WebScriptObject removeWebScriptKey:]):
22885 (-[WebScriptObject stringRepresentation]):
22886 (-[WebScriptObject webScriptValueAtIndex:]):
22887 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
22888 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
22889 * bridge/NP_jsobject.cpp:
22890 (_NPN_InvokeDefault):
22893 (_NPN_GetProperty):
22894 (_NPN_SetProperty):
22895 (_NPN_RemoveProperty):
22896 (_NPN_HasProperty):
22899 * bridge/c/c_class.cpp:
22900 (KJS::Bindings::CClass::~CClass):
22901 (KJS::Bindings::CClass::methodsNamed):
22902 (KJS::Bindings::CClass::fieldNamed):
22903 * bridge/c/c_instance.cpp:
22904 (KJS::Bindings::CInstance::invokeMethod):
22905 (KJS::Bindings::CInstance::invokeDefaultMethod):
22906 (KJS::Bindings::CInstance::getPropertyNames):
22907 * bridge/c/c_runtime.cpp:
22908 (KJS::Bindings::CField::valueFromInstance):
22909 (KJS::Bindings::CField::setValueToInstance):
22910 * bridge/c/c_utility.cpp:
22911 (KJS::Bindings::convertValueToNPVariant):
22912 (KJS::Bindings::convertNPVariantToValue):
22913 * bridge/jni/jni_class.cpp:
22914 (JavaClass::JavaClass):
22915 (JavaClass::~JavaClass):
22916 * bridge/jni/jni_instance.cpp:
22917 (JavaInstance::stringValue):
22918 * bridge/jni/jni_jsobject.mm:
22919 (JavaJSObject::call):
22920 (JavaJSObject::eval):
22921 (JavaJSObject::getMember):
22922 (JavaJSObject::setMember):
22923 (JavaJSObject::removeMember):
22924 (JavaJSObject::getSlot):
22925 (JavaJSObject::setSlot):
22926 (JavaJSObject::toString):
22927 (JavaJSObject::convertValueToJObject):
22928 (JavaJSObject::convertJObjectToValue):
22929 * bridge/jni/jni_objc.mm:
22930 (KJS::Bindings::dispatchJNICall):
22931 * bridge/jni/jni_runtime.cpp:
22933 (JavaMethod::signature):
22934 * bridge/jni/jni_runtime.h:
22935 (KJS::Bindings::JavaString::JavaString):
22936 (KJS::Bindings::JavaString::_commonInit):
22937 (KJS::Bindings::JavaString::~JavaString):
22938 (KJS::Bindings::JavaString::UTF8String):
22939 * bridge/jni/jni_utility.cpp:
22940 (KJS::Bindings::convertValueToJValue):
22941 * bridge/npruntime.cpp:
22942 (_NPN_GetStringIdentifier):
22943 * bridge/objc/objc_instance.mm:
22944 (ObjcInstance::moveGlobalExceptionToExecState):
22945 (ObjcInstance::invokeMethod):
22946 (ObjcInstance::invokeDefaultMethod):
22947 (ObjcInstance::setValueOfUndefinedField):
22948 (ObjcInstance::getValueOfUndefinedField):
22949 * bridge/objc/objc_runtime.mm:
22950 (ObjcField::valueFromInstance):
22951 (ObjcField::setValueToInstance):
22952 * bridge/objc/objc_utility.mm:
22953 (KJS::Bindings::convertValueToObjcValue):
22954 (KJS::Bindings::convertNSStringToString):
22955 (KJS::Bindings::convertObjcValueToValue):
22956 * bridge/qt/qt_instance.cpp:
22957 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
22958 (KJS::Bindings::QtInstance::~QtInstance):
22959 (KJS::Bindings::QtInstance::getQtInstance):
22960 (KJS::Bindings::QtInstance::getRuntimeObject):
22961 * bridge/qt/qt_runtime.cpp:
22962 (KJS::Bindings::convertValueToQVariant):
22963 (KJS::Bindings::convertQVariantToValue):
22964 (KJS::Bindings::QtRuntimeMetaMethod::call):
22965 (KJS::Bindings::QtRuntimeConnectionMethod::call):
22966 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
22967 (KJS::Bindings::QtConnectionObject::execute):
22968 * bridge/runtime.cpp:
22969 (KJS::Bindings::Instance::createRuntimeObject):
22970 * bridge/testbindings.cpp:
22972 * bridge/testbindings.mm:
22974 * bridge/testqtbindings.cpp:
22976 * dom/Document.cpp:
22977 (WebCore::Document::~Document):
22979 (WebCore::Node::setDocument):
22980 * history/CachedPage.cpp:
22981 (WebCore::CachedPage::CachedPage):
22982 (WebCore::CachedPage::restore):
22983 (WebCore::CachedPage::clear):
22984 * loader/FrameLoader.cpp:
22985 (WebCore::getString):
22986 * page/InspectorController.cpp:
22987 (WebCore::ConsoleMessage::ConsoleMessage):
22988 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
22989 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
22990 (WebCore::getResourceDocumentNode):
22992 (WebCore::inspectedWindow):
22993 (WebCore::wrapCallback):
22994 (WebCore::currentCallFrame):
22995 (WebCore::profiles):
22996 (WebCore::InspectorController::focusNode):
22997 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
22998 (WebCore::InspectorController::addDatabaseScriptResource):
22999 (WebCore::InspectorController::addScriptProfile):
23000 * page/JavaScriptCallFrame.cpp:
23001 (WebCore::JavaScriptCallFrame::evaluate):
23002 * page/JavaScriptProfileNode.cpp:
23003 (WebCore::getTotalTime):
23004 (WebCore::getSelfTime):
23005 (WebCore::getTotalPercent):
23006 (WebCore::getSelfPercent):
23007 (WebCore::getNumberOfCalls):
23008 (WebCore::getChildren):
23009 (WebCore::getVisible):
23011 * page/mac/FrameMac.mm:
23012 * plugins/PluginView.cpp:
23013 (WebCore::PluginView::start):
23014 (WebCore::getString):
23015 (WebCore::PluginView::performRequest):
23016 (WebCore::PluginView::bindingInstance):
23017 * plugins/gtk/PluginViewGtk.cpp:
23018 (WebCore::PluginView::paint):
23019 (WebCore::PluginView::handleKeyboardEvent):
23020 (WebCore::PluginView::handleMouseEvent):
23021 (WebCore::PluginView::setNPWindowRect):
23022 (WebCore::PluginView::stop):
23023 (WebCore::PluginView::init):
23024 * plugins/qt/PluginViewQt.cpp:
23025 (WebCore::PluginView::setNPWindowRect):
23026 (WebCore::PluginView::stop):
23027 (WebCore::PluginView::init):
23028 * plugins/win/PluginViewWin.cpp:
23029 (WebCore::PluginView::dispatchNPEvent):
23030 (WebCore::PluginView::handleKeyboardEvent):
23031 (WebCore::PluginView::handleMouseEvent):
23032 (WebCore::PluginView::setNPWindowRect):
23033 (WebCore::PluginView::stop):
23034 * xml/XMLHttpRequest.cpp:
23035 (WebCore::XMLHttpRequest::clearResponse):
23036 (WebCore::XMLHttpRequest::didFinishLoading):
23037 (WebCore::XMLHttpRequest::didReceiveData):
23039 2008-08-19 Eric Seidel <eric@webkit.org>
23041 Reviewed by Geoff Garen.
23043 Add the beginnings of Skia graphics support to WebCore
23044 as I try to begin the long process of un-forking the changes
23045 needed to WebCore to make Andriod's WebCore build.
23047 I'll follow this up with actual *Skia.cpp files in a separate patch.
23049 * platform/graphics/AffineTransform.h:
23050 * platform/graphics/FloatPoint.h:
23051 * platform/graphics/FloatRect.h:
23052 * platform/graphics/Gradient.h:
23053 * platform/graphics/GraphicsContext.h:
23054 * platform/graphics/Image.h:
23055 * platform/graphics/ImageBuffer.h:
23056 * platform/graphics/ImageSource.h:
23057 * platform/graphics/IntPoint.h:
23058 * platform/graphics/IntRect.h:
23059 * platform/graphics/Path.h:
23060 * platform/graphics/Pattern.h:
23061 * svg/graphics/SVGPaintServerPattern.h:
23062 * svg/graphics/SVGPaintServerSolid.h:
23064 2008-08-19 Steve Falkenburg <sfalken@apple.com>
23066 Fix Windows build more.
23068 * WebCore.vcproj/WebCore.vcproj:
23070 2008-08-19 Steve Falkenburg <sfalken@apple.com>
23074 * page/AccessibilityRenderObject.cpp:
23075 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
23077 2008-08-19 Chris Fleizach <cfleizach@apple.com>
23079 Reviewed by Beth Dakin.
23081 <rdar://problem/4003764> Expose tables as AXTables
23083 Tests: accessibility/table-attributes.html
23084 accessibility/table-cell-spans.html
23085 accessibility/table-cells.html
23086 accessibility/table-detection.html
23087 accessibility/table-sections.html
23088 accessibility/table-with-rules.html
23090 * WebCore.xcodeproj/project.pbxproj:
23091 * page/AXObjectCache.cpp:
23092 (WebCore::AXObjectCache::get):
23093 * page/AccessibilityObject.h:
23095 (WebCore::AccessibilityObject::isDataTable):
23096 (WebCore::AccessibilityObject::isTableRow):
23097 (WebCore::AccessibilityObject::isTableColumn):
23098 (WebCore::AccessibilityObject::isTableCell):
23099 * page/AccessibilityRenderObject.cpp:
23100 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
23101 * page/AccessibilityTable.cpp: Added.
23102 (WebCore::AccessibilityTable::AccessibilityTable):
23103 (WebCore::AccessibilityTable::~AccessibilityTable):
23104 (WebCore::AccessibilityTable::create):
23105 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
23106 (WebCore::AccessibilityTable::clearChildren):
23107 (WebCore::AccessibilityTable::addChildren):
23108 (WebCore::AccessibilityTable::headerContainer):
23109 (WebCore::AccessibilityTable::columns):
23110 (WebCore::AccessibilityTable::rows):
23111 (WebCore::AccessibilityTable::rowHeaders):
23112 (WebCore::AccessibilityTable::columnHeaders):
23113 (WebCore::AccessibilityTable::cells):
23114 (WebCore::AccessibilityTable::columnCount):
23115 (WebCore::AccessibilityTable::rowCount):
23116 (WebCore::AccessibilityTable::cellForColumnAndRow):
23117 (WebCore::AccessibilityTable::roleValue):
23118 (WebCore::AccessibilityTable::accessibilityIsIgnored):
23119 (WebCore::AccessibilityTable::title):
23120 (WebCore::AccessibilityTable::isDataTable):
23121 * page/AccessibilityTable.h: Added.
23122 * page/AccessibilityTableCell.cpp: Added.
23123 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
23124 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
23125 (WebCore::AccessibilityTableCell::create):
23126 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
23127 (WebCore::AccessibilityTableCell::rowIndexRange):
23128 (WebCore::AccessibilityTableCell::columnIndexRange):
23129 * page/AccessibilityTableCell.h: Added.
23130 (WebCore::AccessibilityTableCell::isTableCell):
23131 (WebCore::AccessibilityTableCell::roleValue):
23132 * page/AccessibilityTableColumn.cpp: Added.
23133 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
23134 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
23135 (WebCore::AccessibilityTableColumn::create):
23136 (WebCore::AccessibilityTableColumn::setParentTable):
23137 (WebCore::AccessibilityTableColumn::elementRect):
23138 (WebCore::AccessibilityTableColumn::size):
23139 (WebCore::AccessibilityTableColumn::children):
23140 (WebCore::AccessibilityTableColumn::headerObject):
23141 (WebCore::AccessibilityTableColumn::headerObjectForSection):
23142 (WebCore::AccessibilityTableColumn::addChildren):
23143 * page/AccessibilityTableColumn.h: Added.
23144 (WebCore::AccessibilityTableColumn::parentObject):
23145 (WebCore::AccessibilityTableColumn::roleValue):
23146 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
23147 (WebCore::AccessibilityTableColumn::isTableColumn):
23148 (WebCore::AccessibilityTableColumn::setColumnIndex):
23149 (WebCore::AccessibilityTableColumn::columnIndex):
23150 * page/AccessibilityTableHeaderContainer.cpp: Added.
23151 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
23152 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
23153 (WebCore::AccessibilityTableHeaderContainer::create):
23154 (WebCore::AccessibilityTableHeaderContainer::children):
23155 (WebCore::AccessibilityTableHeaderContainer::elementRect):
23156 (WebCore::AccessibilityTableHeaderContainer::size):
23157 (WebCore::AccessibilityTableHeaderContainer::addChildren):
23158 * page/AccessibilityTableHeaderContainer.h: Added.
23159 (WebCore::AccessibilityTableHeaderContainer::roleValue):
23160 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
23161 (WebCore::AccessibilityTableHeaderContainer::parentObject):
23162 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
23163 * page/AccessibilityTableRow.cpp: Added.
23164 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
23165 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
23166 (WebCore::AccessibilityTableRow::create):
23167 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
23168 (WebCore::AccessibilityTableRow::headerObject):
23169 * page/AccessibilityTableRow.h: Added.
23170 (WebCore::AccessibilityTableRow::isTableRow):
23171 (WebCore::AccessibilityTableRow::roleValue):
23172 (WebCore::AccessibilityTableRow::setRowIndex):
23173 (WebCore::AccessibilityTableRow::rowIndex):
23174 * page/mac/AccessibilityObjectWrapper.mm:
23175 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
23177 (-[AccessibilityObjectWrapper roleDescription]):
23178 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
23179 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
23180 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
23182 2008-08-19 Steve Falkenburg <sfalken@apple.com>
23185 Add buildfailed support to stop builds early (preventing inaccurate error messages).
23186 Add missing post-build rule to Release.
23188 * WebCore.vcproj/QTMovieWin.vcproj:
23190 2008-08-19 Keishi Hattori <casey.hattori@gmail.com>
23192 Added support for console.count in the inspector.
23194 Reviewed by Geoff Garen.
23196 * page/Console.cpp:
23197 (WebCore::Console::count):
23199 * page/Console.idl: Added console.count.
23200 * page/InspectorController.cpp:
23201 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
23202 (WebCore::InspectorController::count): Updates the count number
23203 sing "title@source:line" as the identifier, and adds a
23204 message to the console.
23205 * page/InspectorController.h: Added m_counts.
23207 2008-08-19 Keishi Hattori <casey.hattori@gmail.com>
23209 Clear console.time timers when changing page.
23211 Reviewed by Geoff Garen.
23213 * page/InspectorController.cpp:
23214 (WebCore::InspectorController::didCommitLoad):
23216 2008-08-19 Eric Carlson <eric.carlson@apple.com>
23220 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
23221 https://bugs.webkit.org/show_bug.cgi?id=20404
23223 Ignore setVisible() when visibility doesn't change.
23225 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
23226 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23227 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
23228 (WebCore::MediaPlayerPrivate::setVisible):
23230 2008-08-19 Timothy Hatcher <timothy@apple.com>
23232 Fixes a bug in the Profile view where switching sort order, then
23233 switching from heavy to tree mode would show the tree in the
23234 previous sort order.
23236 https://bugs.webkit.org/show_bug.cgi?id=20441
23238 Reviewed by Kevin McCullough.
23240 * page/inspector/ProfileView.js:
23241 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
23242 on the next profile before assigning it to this.profile.
23243 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
23244 (WebInspector.ProfileView.prototype._sortProfile): Moves from
23245 _sortData and takes a profile argument. If the profile passed in
23246 matches the this.profile, then call refresh.
23248 2008-08-18 Timothy Hatcher <timothy@apple.com>
23250 Changed the default sort order now that heavy view is the default.
23251 Also fixes a bug where the heavy profile was not sorted at first.
23253 https://bugs.webkit.org/show_bug.cgi?id=20440
23255 Reviewed by Kevin McCullough.
23257 * page/inspector/ProfileView.js:
23258 (WebInspector.ProfileView): Changed the default sort column. Also assign
23259 heavyProfile to profile, so the sortSelfTimeDescending call happens
23260 on the heavy profile before assigning to this.profile.
23262 2008-08-18 Timothy Hatcher <timothy@apple.com>
23264 Add support for editing DOM properties and scope variables by double
23265 clicking a property to enter edit mode.
23267 https://bugs.webkit.org/show_bug.cgi?id=20415
23269 Reviewed by Kevin McCullough.
23271 * page/inspector/ObjectPropertiesSection.js:
23272 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
23273 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
23274 Factored out code into update, and calls update.
23275 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
23276 Call removeChildren since this method can be called multiple times now.
23277 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
23278 gets made later in onattach.
23279 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
23280 if shouldRefreshChildren is true. Call removeChildren since this method can be
23281 called multiple times now.
23282 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
23283 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
23284 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
23285 this element (code moved from the constructor.)
23286 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
23287 sibling property elements.
23288 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
23289 WebInspector.startEditing after rememebring some context.
23290 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
23291 for the list element, since it might have scrolled during editing.
23292 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
23293 then restore the state from the context. Then call update to restore the title.
23294 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
23295 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
23296 to commit the user input.
23297 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
23298 and stores the result on the object for the property name of this element. If the expression is
23299 empty, delete the property and remove the tree element.
23300 * page/inspector/ScopeChainSidebarPane.js:
23301 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
23302 property on each ObjectPropertiesSection.
23303 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
23304 since it is now implemented.
23305 * page/inspector/ScriptsPanel.js:
23306 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
23307 that defaults to true if omitted. It specifies whether to call update on the scope chain.
23308 * page/inspector/inspector.css: New styles.
23309 * page/inspector/treeoutline.js:
23310 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
23311 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
23313 2008-08-18 Timothy Hatcher <timothy@apple.com>
23315 Surround the expression to be evaluated in parenthesis so the
23316 result of the eval is the result of the whole expression not
23317 the last potential sub-expression. So evaluating {x: 123}
23318 will show the Object not 123.
23320 https://bugs.webkit.org/show_bug.cgi?id=20428
23322 Reviewed by Kevin McCullough.
23324 * page/inspector/Console.js:
23325 (Console.prototype._evalInInspectedWindow): Add parenthesis
23326 around the expression. And add couple comments.
23328 2008-08-19 Kevin McCullough <kmccullough@apple.com>
23332 -Implement a page() function to extract a common code pattern.
23334 * WebCore.xcodeproj/project.pbxproj:
23335 * page/Console.cpp:
23336 (WebCore::Console::addMessage):
23337 (WebCore::Console::error):
23338 (WebCore::Console::info):
23339 (WebCore::Console::log):
23340 (WebCore::Console::dir):
23341 (WebCore::Console::assertCondition):
23342 (WebCore::Console::time):
23343 (WebCore::Console::timeEnd):
23344 (WebCore::Console::group):
23345 (WebCore::Console::groupEnd):
23346 (WebCore::Console::finishedProfiling):
23347 (WebCore::Console::warn):
23348 (WebCore::Console::framePage):
23351 2008-08-12 Darin Adler <darin@apple.com>
23355 - eliminate JSValue::type()
23357 * bridge/c/c_instance.cpp:
23358 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
23359 argument instead of JSType argument. Removed unneeded code to handle
23360 boolean, since that's never passed.
23361 * bridge/c/c_instance.h: Ditto.
23363 * bridge/c/c_utility.cpp:
23364 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
23365 instead of JSValue::type(). Removed unneeded code to handle
23368 * bridge/jni/jni_instance.cpp:
23369 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
23370 instead of JSType argument. Removed unneeded code to handle boolean.
23371 * bridge/jni/jni_instance.h: Ditto.
23373 * bridge/jni/jni_jsobject.mm:
23374 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
23375 instead of JSValue::type().
23377 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
23378 instead of JSType argument. Removed unused argument.
23379 * bridge/objc/objc_instance.mm:
23380 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
23381 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
23382 instead of JSType argument. Removed unneeded code to handle boolean
23383 and another dead code path for unknown types.
23385 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
23386 instead of JSType argument. Removed override of type() that caused
23387 the fallback object to return "UndefinedType" when there is no
23388 invokeUndefinedMethodFromWebScript:withArguments: method defined.
23389 That didn't accomplish much, since most checks for undefined don't
23391 * bridge/objc/objc_runtime.mm:
23392 (ObjcFallbackObjectImp::defaultValue): Ditto.
23394 * bridge/qt/qt_instance.cpp:
23395 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
23396 argument instead of JSType argument. Removed unneeded code to handle
23398 * bridge/qt/qt_instance.h: Ditto.
23400 * bridge/runtime.h:
23401 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
23403 * bridge/runtime_object.cpp:
23404 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
23405 argument instead of JSType argument.
23406 * bridge/runtime_object.h: Ditto.
23408 2008-08-18 Maxime Britto <britto@apple.com>
23412 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
23413 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
23414 We shouldn't be able to create another window while we are in pan scrolling.
23415 Other browsers behaviors :
23416 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
23417 IE7 : Keys are not disabled but stops immediately the panning.
23418 This patch matches FF3 behavior by disabling every key but the esc key.
23420 * page/EventHandler.cpp:
23421 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
23422 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
23424 2008-08-18 Dan Bernstein <mitz@apple.com>
23426 Reviewed by Dave Hyatt.
23428 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
23430 Test: fast/replaced/max-width-percent.html
23432 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
23433 When false, max-width is not factored into the
23435 Changed RenderReplaced and subclasses' calcPrefWidths() to call
23436 calcReplacedWidth(false) and then apply max-width only if it has a
23437 fixed, positive value.
23439 * rendering/RenderBox.cpp:
23440 (WebCore::RenderBox::calcReplacedWidth):
23441 * rendering/RenderBox.h:
23442 * rendering/RenderImage.cpp:
23443 (WebCore::RenderImage::calcReplacedWidth):
23444 (WebCore::RenderImage::calcPrefWidths):
23445 * rendering/RenderImage.h:
23446 * rendering/RenderReplaced.cpp:
23447 (WebCore::RenderReplaced::calcPrefWidths):
23448 * rendering/RenderSVGRoot.cpp:
23449 (WebCore::RenderSVGRoot::calcPrefWidths):
23450 * rendering/RenderVideo.cpp:
23451 (WebCore::RenderVideo::calcReplacedWidth):
23452 (WebCore::RenderVideo::calcPrefWidths):
23453 * rendering/RenderVideo.h:
23455 2008-08-18 Daniel Macks <dmacks@netspace.org>
23457 Reviewed by Mark Rowe.
23459 https://bugs.webkit.org/show_bug.cgi?id=20410
23460 More portable/self-documenting replacement for SIZE_MAX.
23462 * platform/network/curl/FormDataStreamCurl.cpp:
23463 (WebCore::FormDataStream::read):
23465 2008-08-18 Simon Fraser <simon.fraser@apple.com>
23467 Reviewed by Dave Hyatt
23469 Need to make sure we have an Animation in the AnimationList
23470 before setting the initial value.
23471 https://bugs.webkit.org/show_bug.cgi?id=20408
23473 Test: fast/css/transition_shorthand_parsing.html
23475 * css/CSSStyleSelector.cpp:
23477 2008-08-18 Kevin McCullough <kmccullough@apple.com>
23481 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
23482 is another profile.
23484 * page/inspector/ProfilesPanel.js:
23486 2008-08-18 Kevin McCullough <kmccullough@apple.com>
23490 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
23491 all console messages
23493 * page/inspector/Console.js:
23495 2008-08-18 Dirk Schulze <vbs85@gmx.de>
23497 Reviewed by Eric Seidel.
23499 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
23500 the canvas clean up.
23502 https://bugs.webkit.org/show_bug.cgi?id=20405
23504 * html/CanvasRenderingContext2D.cpp:
23505 (WebCore::CanvasRenderingContext2D::fill):
23506 (WebCore::CanvasRenderingContext2D::stroke):
23507 (WebCore::CanvasRenderingContext2D::fillRect):
23509 2008-08-17 Timothy Hatcher <timothy@apple.com>
23511 Complete in scope variables in the Console when paused.
23513 https://bugs.webkit.org/show_bug.cgi?id=19115
23515 Reviewed by Geoffrey Garen.
23517 * page/inspector/Console.js:
23518 (WebInspector.Console.prototype.completions): If the expressionString
23519 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
23520 to get an object that declares all the in scope variables. That way
23521 "top level" expressions are completed.
23522 * page/inspector/ScriptsPanel.js:
23523 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
23524 Return an object that has all the variables that are in scope for the
23525 selected call frame. The value of each property is just true.
23526 The return object is useful for quick lookups or auto completion.
23528 2008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
23532 Speculative Qt build fix.
23534 * bridge/qt/qt_runtime.cpp:
23535 (KJS::Bindings::convertValueToQVariant):
23536 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
23538 2008-08-17 Geoffrey Garen <ggaren@apple.com>
23540 Reviewed by Cameron Zwarich.
23542 Updated project files to XCode 3.1.
23544 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
23546 2008-08-17 Geoffrey Garen <ggaren@apple.com>
23548 Reviewed by Cameron Zwarich.
23550 Made room for a free word in JSCell.
23552 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
23553 JSGlobalData, so the two could share a pointer.
23555 Added a bunch of ASSERTs, to help catch over-sized objects.
23557 2008-08-15 Mark Rowe <mrowe@apple.com>
23559 Reviewed by Dan Bernstein.
23561 Disable dead code stripping in debug builds.
23563 * Configurations/Base.xcconfig:
23564 * WebCore.xcodeproj/project.pbxproj:
23566 2008-08-15 Mark Rowe <mrowe@apple.com>
23568 Rubber-stamped by Geoff Garen.
23570 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
23572 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
23573 between the Debug configuration and debug Production variant.
23574 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
23576 2008-08-15 Antti Koivisto <antti@apple.com>
23578 Reviewed by Anders.
23580 Don't start preloading body resources before the head is complete. This prevents
23581 body preloads from slowing down initial display when there is limited amount
23582 of bandwidth available.
23584 Works by queuing up found body preloads to DocLoader and only issuing them
23585 after document has rendering.
23587 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
23588 without affecting complete load time.
23590 * html/PreloadScanner.cpp:
23591 (WebCore::PreloadScanner::PreloadScanner):
23592 (WebCore::PreloadScanner::scanningBody):
23593 (WebCore::PreloadScanner::emitTag):
23594 (WebCore::PreloadScanner::emitCSSRule):
23595 * html/PreloadScanner.h:
23596 * loader/DocLoader.cpp:
23597 (WebCore::DocLoader::preload):
23598 (WebCore::DocLoader::checkForPendingPreloads):
23599 (WebCore::DocLoader::requestPreload):
23600 * loader/DocLoader.h:
23601 * loader/loader.cpp:
23602 (WebCore::Loader::Host::didFinishLoading):
23603 (WebCore::Loader::Host::didFail):
23605 2008-08-15 Ada Chan <adachan@apple.com>
23607 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
23608 This way style set on an <hr> within a <select> will be honored.
23610 Reviewed by Dave Hyatt and Dan Bernstein.
23612 * rendering/RenderMenuList.cpp:
23613 (WebCore::RenderMenuList::itemStyle):
23615 2008-08-15 Antti Koivisto <antti@apple.com>
23617 Reviewed by Oliver.
23619 Some loader performance tweaks:
23620 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
23621 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
23622 to not delay rendering.
23623 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
23624 can take long time when latency is high so it is good to get started early.
23625 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
23626 load queues. Issue remaining loads to the network layer.
23628 * loader/loader.cpp:
23629 (WebCore::Loader::determinePriority):
23630 (WebCore::Loader::load):
23631 (WebCore::Loader::Host::servePendingRequests):
23634 2008-08-15 Timothy Hatcher <timothy@apple.com>
23636 Detach the script debugger when the Web Inspector's window closes.
23637 This has always been the intended design, but never fully implemented.
23639 https://bugs.webkit.org/show_bug.cgi?id=20402
23641 Reviewed by Adam Roben.
23643 * page/InspectorController.cpp:
23644 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
23645 if the window is no longer visible.
23647 2008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
23651 Fixes: compile with QT_NO_CONTEXTMENU
23653 * platform/qt/PlatformMouseEventQt.cpp:
23654 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
23655 * platform/qt/PlatformScrollBarQt.cpp:
23656 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
23657 (WebCore::PlatformScrollbar::handleContextMenuEvent):
23659 2008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
23663 Fixes: compile with QT_NO_WHEELEVENT
23665 * platform/qt/WheelEventQt.cpp:
23666 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
23668 2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
23670 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
23672 https://bugs.webkit.org/show_bug.cgi?id=20210
23674 Reviewed by Tim Hatcher.
23676 * page/Console.cpp:
23677 (WebCore::Console::group):
23678 (WebCore::Console::groupEnd):
23680 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
23681 * page/InspectorController.cpp:
23682 (WebCore::InspectorController::startGroup): Increments group level by
23683 one and adds console message with StartGroupMessaageLevel.
23684 (WebCore::InspectorController::endGroup): Decrements group level by one
23685 and adds console message with EndGroupMessaageLevel.
23686 * page/InspectorController.h:
23687 * page/inspector/Console.js:
23688 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
23689 if the message is StartGroupMessaageLevel.
23690 (WebInspector.ConsoleMessage.prototype.toMessageElement):
23691 (WebInspector.ConsoleGroup.prototype.addMessage):
23692 * page/inspector/inspector.js:
23694 2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
23696 Adds support for console.dir to the Inspector
23698 https://bugs.webkit.org/show_bug.cgi?id=19155
23700 Reviewed by Tim Hatcher.
23702 * bindings/js/JSConsoleCustom.cpp:
23703 (WebCore::JSConsole::dir):
23704 * page/Console.cpp:
23705 (WebCore::Console::dir):
23706 * page/Console.h: Added ObjectMessageLevel.
23707 * page/Console.idl: Added console.dir.
23708 * page/inspector/Console.js:
23709 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
23710 ObjectPropertiesSection if the MessageLevel is Object.
23711 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
23712 used on primitive data types.
23713 * page/inspector/inspector.css:
23715 2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
23717 Adds support for clear() in the Inspector console.
23719 https://bugs.webkit.org/show_bug.cgi?id=19873
23721 Reviewed by Tim Hatcher.
23723 * page/inspector/Console.js:
23725 2008-08-15 Anthony Ricaud <rik24d@gmail.com>
23727 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
23729 Platform distinction and modifier key matching adjusted
23730 by Daniel Jalkut <jalkut@red-sweater.com>
23732 Bug 16313: text search (find) keybindings should work in the Web Inspector
23733 https://bugs.webkit.org/show_bug.cgi?id=16313
23735 Reviewed by Tim Hatcher.
23737 * page/inspector/inspector.js: Added a case for the F key
23739 2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
23741 Fix for error when the string doesn't contain a webkit-profile link.
23743 https://bugs.webkit.org/show_bug.cgi?id=20399
23745 Reviewed by Tim Hatcher.
23747 * page/inspector/inspector.js:
23749 2008-08-15 Timothy Hatcher <timothy@apple.com>
23751 Fixes two bugs where JavaScript could be executed from the page
23752 while the debugger is paused.
23754 The first issue was JSLazyEventListener not checking the paused
23755 state before parsing the code.
23757 The second issue was with the PageGroup version of
23758 JavaScriptDebugServer::setJavaScriptPaused always passing false
23759 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
23760 and not the paused argument.
23762 https://bugs.webkit.org/show_bug.cgi?id=20284
23764 Reviewed by Adam Roben.
23766 * bindings/js/JSEventListener.cpp:
23767 (WebCore::JSLazyEventListener::parseCode): Check the paused
23768 state of the ScriptController. Return early if paused.
23769 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
23770 * page/JavaScriptDebugServer.cpp:
23771 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
23772 Pass the paused argument to the Page version of setJavaScriptPaused.
23774 2008-08-15 Alexey Proskuryakov <ap@webkit.org>
23776 Reviewed by Geoff Garen.
23778 JSStringRef is created context-free, but can get linked to one via an identifier table,
23779 breaking an implicit API contract.
23781 * page/InspectorController.cpp:
23782 (WebCore::jsStringRef):
23783 (WebCore::InspectorController::didParseSource):
23784 (WebCore::InspectorController::failedToParseSource):
23785 * page/JavaScriptProfile.cpp:
23786 (WebCore::getTitleCallback):
23787 Updated for JavaScriptCore changes.
23789 2008-08-14 Kevin Ollivier <kevino@theolliviers.com>
23791 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
23792 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
23794 * platform/graphics/AffineTransform.h:
23796 2008-08-14 Eric Carlson <eric.carlson@apple.com>
23800 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
23801 <video> elements on Windows never becomes visible when a page is restored from the cache
23803 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
23804 value is different from the cached value. Let the implementation decide when
23805 to avoid work because nothing has changed.
23807 * platform/graphics/MediaPlayer.cpp:
23808 (WebCore::MediaPlayer::setVolume):
23809 (WebCore::MediaPlayer::setRate):
23810 (WebCore::MediaPlayer::setRect):
23811 (WebCore::MediaPlayer::setVisible):
23813 2008-08-14 Keishi Hattori <casey.hattori@gmail.com>
23815 Make Firebug command line API respect predefined variables.
23817 https://bugs.webkit.org/show_bug.cgi?id=20385
23819 Reviewed by Tim Hatcher.
23821 * page/inspector/Console.js:
23823 2008-08-14 Sam Weinig <sam@webkit.org>
23825 Reviewed by Geoffrey Garen and Timothy Hatcher.
23827 Allow programatically setting the HTMLTokenizers time delay and chunk size
23828 which are used for determining how aggressively we yield.
23830 * WebCore.base.exp:
23831 * html/HTMLTokenizer.cpp:
23832 (WebCore::HTMLTokenizer::begin):
23833 (WebCore::HTMLTokenizer::continueProcessing):
23834 * html/HTMLTokenizer.h:
23836 (WebCore::Page::Page):
23837 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
23838 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
23840 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
23841 (WebCore::Page::customHTMLTokenizerTimeDelay):
23842 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
23843 (WebCore::Page::customHTMLTokenizerChunkSize):
23845 2008-08-14 Eric Seidel <eric@webkit.org>
23849 Move us one step closer to cross-platform svg/graphics code
23851 * WebCore.xcodeproj/project.pbxproj:
23852 * html/CanvasStyle.cpp:
23853 * platform/graphics/Color.cpp:
23854 (WebCore::colorWithOverrideAlpha):
23855 * platform/graphics/Color.h:
23856 * svg/graphics/cg/CgSupport.cpp:
23857 (WebCore::applyStrokeStyleToContext):
23858 (WebCore::strokeBoundingBox):
23859 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
23860 (WebCore::SVGPaintServerSolid::setup):
23862 2008-08-14 Eric Seidel <eric@webkit.org>
23864 Reviewed by Alexey.
23866 Remove un-need includes from HTMLCanvas and use the
23867 Gradient platform abstraction in one place in CanvasStyle
23869 * html/CanvasRenderingContext2D.cpp:
23870 (WebCore::CanvasRenderingContext2D::fillRect):
23871 * html/CanvasStyle.cpp:
23872 * html/HTMLCanvasElement.cpp:
23874 2008-08-14 Eric Seidel <eric@webkit.org>
23876 Reviewed by Alexey.
23878 Clean up GlyphBuffer.h, removing more #ifdefs
23880 * platform/graphics/GlyphBuffer.h:
23881 (WebCore::GlyphBuffer::glyphAt):
23882 (WebCore::GlyphBuffer::advanceAt):
23883 (WebCore::GlyphBuffer::add):
23885 2008-08-14 Eric Seidel <eric@webkit.org>
23889 Clean up AffineTransform.h, removing #ifdefs
23891 * platform/graphics/AffineTransform.h:
23892 * platform/graphics/cairo/AffineTransformCairo.cpp:
23893 * platform/graphics/cg/AffineTransformCG.cpp:
23894 * platform/graphics/qt/AffineTransformQt.cpp:
23895 * platform/graphics/wx/AffineTransformWx.cpp:
23897 2008-08-14 Dan Bernstein <mitz@apple.com>
23899 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
23901 * platform/graphics/cairo/ImageSourceCairo.cpp:
23902 (WebCore::ImageSource::frameSizeAtIndex):
23903 * platform/graphics/qt/ImageSourceQt.cpp:
23904 (WebCore::ImageSource::frameSizeAtIndex):
23905 * platform/graphics/wx/ImageSourceWx.cpp:
23906 (WebCore::ImageSource::frameSizeAtIndex):
23908 2008-08-14 Dan Bernstein <mitz@apple.com>
23910 Reviewed by Brady Eidson.
23912 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
23914 * platform/graphics/BitmapImage.cpp:
23915 (WebCore::BitmapImage::BitmapImage): Added initialization of
23916 m_hasUniformFrameSize.
23917 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
23918 cached frame for use in decoded size computation and for setting
23919 m_hasUniformFrameSize.
23920 (WebCore::BitmapImage::currentFrameSize): Added.
23921 (WebCore::BitmapImage::dataChanged): Added code to reset
23922 m_hasUniformFrameSize.
23923 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
23924 m_hasUniformFrameSize.
23925 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
23926 * platform/graphics/cg/ImageCG.cpp:
23927 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
23928 fixes the bug, which resulted from assuming that the frame being drawn
23929 was the same size as the first frame.
23930 * platform/graphics/cg/ImageSourceCG.cpp:
23931 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
23932 changed to get the size of the frame at the given index.
23933 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
23935 2008-08-13 Simon Fraser <simon.fraser@apple.com>
23937 Reviewed by Eric Seidel
23939 Fix @font-face inside @media rule crash.
23940 https://bugs.webkit.org/show_bug.cgi?id=20367
23942 Test: fast/css/font-face-in-media-rule.html
23944 * css/CSSStyleSelector.cpp:
23945 (WebCore::CSSRuleSet::addRulesFromSheet):
23947 2008-08-14 Kevin Ollivier <kevino@theolliviers.com>
23949 wx build fixes after recent changes to Canvas and Image classes.
23951 * platform/graphics/Pattern.h:
23952 * platform/graphics/wx/GradientWx.cpp:
23953 (WebCore::Gradient::fill):
23954 * platform/graphics/wx/GraphicsContextWx.cpp:
23955 (WebCore::GraphicsContext::applyFillPattern):
23956 (WebCore::GraphicsContext::applyStrokePattern):
23957 * platform/graphics/wx/ImageBufferWx.cpp:
23958 (WebCore::ImageBuffer::image):
23959 * platform/graphics/wx/ImageWx.cpp:
23960 (WebCore::Image::loadPlatformResource):
23962 2008-08-14 Maxime Britto <britto@apple.com>
23964 Reviewed by Sam Weinig.
23967 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
23968 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
23969 Some differences exist between them concerning the kind of key which is pressed :
23970 IE7 : every key leads to a stop of the panning
23971 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
23972 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
23974 * page/EventHandler.cpp:
23975 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
23977 2008-08-14 Christian Dywan <christian@twotoasts.de>
23979 Gtk+/ Cairo build fix, patch by Dirk Schulze.
23981 * html/CanvasStyle.cpp:
23982 * platform/graphics/cairo/PatternCairo.cpp:
23983 (WebCore::Pattern::createPlatformPattern):
23984 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
23986 2008-08-14 Kevin McCullough <kmccullough@apple.com>
23990 <rdar://problem/6115819> Notify of profile in console
23992 * page/InspectorController.cpp:
23993 (WebCore::InspectorController::addProfile):
23994 (WebCore::InspectorController::addProfileMessageToConsole): Called by
23995 addProfile this is the function that adds a message to the console that
23996 a profile finished.
23997 * page/InspectorController.h:
23998 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
23999 the console log to the profile in the web inspector.
24000 (WebCore::getUniqueIdCallback):
24001 (WebCore::ProfileClass):
24002 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
24003 Id to bring up the requested profile. Also select and reveal the
24004 profile in the profile panel. And created displayTitleForProfileLink()
24005 which formats a title taking into account if it's user initiated or if
24006 there are multiples. Lasty, I put the user initiated profile in a
24008 * page/inspector/inspector.js: Make the profile title be a clickable
24009 link that will take the user to the identified profile. Also expose
24010 the count of user initiated profiles so they can be displayed in the
24011 console with the correct count.
24013 2008-08-14 Timothy Hatcher <timothy@apple.com>
24015 Avoid formating ConsoleMessages twice unless the message will be
24016 displayed in bubbles of a SourceFrame.
24018 Reviewed by Kevin McCullough.
24020 * page/inspector/Console.js:
24021 (WebInspector.ConsoleMessage): Only format the plain text message
24022 if the URL and line are valid and the level is error or warning.
24023 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
24024 Helper to test for error or warning level.
24025 * page/inspector/SourceFrame.js:
24026 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
24027 message if there is no message or valid line or if the msg
24028 isn't an error or warning.
24030 2008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
24032 partial Gtk build fix, not reviewed
24034 * platform/graphics/cairo/PatternCairo.cpp:
24036 2008-08-13 Sam Weinig <sam@webkit.org>
24038 Reviewed by Anders Carlsson.
24042 * html/HTMLMediaElement.cpp:
24043 (WebCore::HTMLMediaElement::pickMedia):
24045 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
24047 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
24048 Continue Erics build fixes, after the Image cleanup.
24050 * platform/graphics/cairo/ImageBufferCairo.cpp:
24051 (WebCore::ImageBuffer::image):
24053 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
24055 Build fix for Qt, not reviewed.
24056 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
24058 * dom/XMLTokenizer.cpp:
24059 (WebCore::eventuallyMarkAsParserCreated): Was erre
24061 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
24063 Build fix, not reviewed.
24064 Add ScriptElement.cpp to Gtk build.
24068 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
24072 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
24074 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
24075 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
24077 This resolves code duplications and allows us to completly replace the old
24078 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
24080 As ScriptElement, doesn't actually inherit from Element, we may want to rename
24081 it, though StyleElement uses the same naming convention, so I left it as is for now.
24082 Eventually we'll rename both files in future.
24084 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
24086 * WebCore.pro: Add new ScriptElement.cpp to build.
24087 * WebCore.vcproj/WebCore.vcproj: Ditto.
24088 * WebCore.xcodeproj/project.pbxproj: Ditto.
24089 * WebCoreSources.bkl: Dutto.
24090 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
24091 (WebCore::ScriptElement::insertedIntoDocument):
24092 (WebCore::ScriptElement::removedFromDocument):
24093 (WebCore::ScriptElement::childrenChanged):
24094 (WebCore::ScriptElement::finishParsingChildren):
24095 (WebCore::ScriptElement::handleSourceAttribute):
24096 (WebCore::isSupportedJavaScriptLanguage):
24097 (WebCore::ScriptElementData::ScriptElementData):
24098 (WebCore::ScriptElementData::~ScriptElementData):
24099 (WebCore::ScriptElementData::requestScript):
24100 (WebCore::ScriptElementData::evaluateScript):
24101 (WebCore::ScriptElementData::stopLoadRequest):
24102 (WebCore::ScriptElementData::notifyFinished):
24103 (WebCore::ScriptElementData::ignoresLoadRequest):
24104 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
24105 (WebCore::ScriptElementData::scriptCharset):
24106 (WebCore::ScriptElementData::scriptContent):
24107 * dom/ScriptElement.h: Added.
24108 (WebCore::ScriptElement::ScriptElement):
24109 (WebCore::ScriptElement::~ScriptElement):
24110 (WebCore::ScriptElementData::element):
24111 (WebCore::ScriptElementData::createdByParser):
24112 (WebCore::ScriptElementData::setCreatedByParser):
24113 * dom/XMLTokenizer.cpp:
24114 (WebCore::isScriptElement):
24115 (WebCore::castToScriptElement):
24116 (WebCore::eventuallyMarkAsParserCreated):
24117 (WebCore::XMLTokenizer::startElementNs):
24118 (WebCore::XMLTokenizer::endElementNs):
24119 (WebCore::createXHTMLParserErrorHeader):
24120 (WebCore::XMLTokenizer::insertErrorMessageBlock):
24121 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
24122 (WebCore::HTMLScriptElement::HTMLScriptElement):
24123 (WebCore::HTMLScriptElement::~HTMLScriptElement):
24124 (WebCore::HTMLScriptElement::isURLAttribute):
24125 (WebCore::HTMLScriptElement::setCreatedByParser):
24126 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
24127 (WebCore::HTMLScriptElement::childrenChanged):
24128 (WebCore::HTMLScriptElement::parseMappedAttribute):
24129 (WebCore::HTMLScriptElement::finishParsingChildren):
24130 (WebCore::HTMLScriptElement::insertedIntoDocument):
24131 (WebCore::HTMLScriptElement::removedFromDocument):
24132 (WebCore::HTMLScriptElement::text):
24133 (WebCore::HTMLScriptElement::setText):
24134 (WebCore::HTMLScriptElement::setHtmlFor):
24135 (WebCore::HTMLScriptElement::setEvent):
24136 (WebCore::HTMLScriptElement::charset):
24137 (WebCore::HTMLScriptElement::src):
24138 (WebCore::HTMLScriptElement::type):
24139 (WebCore::HTMLScriptElement::scriptCharset):
24140 (WebCore::HTMLScriptElement::scriptContent):
24141 (WebCore::HTMLScriptElement::sourceAttributeValue):
24142 (WebCore::HTMLScriptElement::charsetAttributeValue):
24143 (WebCore::HTMLScriptElement::typeAttributeValue):
24144 (WebCore::HTMLScriptElement::languageAttributeValue):
24145 (WebCore::HTMLScriptElement::dispatchLoadEvent):
24146 (WebCore::HTMLScriptElement::dispatchErrorEvent):
24147 * html/HTMLScriptElement.h:
24148 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
24149 * svg/SVGScriptElement.cpp:
24150 (WebCore::SVGScriptElement::SVGScriptElement):
24151 (WebCore::SVGScriptElement::scriptContent):
24152 (WebCore::SVGScriptElement::sourceAttributeValue):
24153 (WebCore::SVGScriptElement::charsetAttributeValue):
24154 (WebCore::SVGScriptElement::typeAttributeValue):
24155 (WebCore::SVGScriptElement::languageAttributeValue):
24156 (WebCore::SVGScriptElement::dispatchLoadEvent):
24157 (WebCore::SVGScriptElement::dispatchErrorEvent):
24158 * svg/SVGScriptElement.h:
24159 (WebCore::SVGScriptElement::setCreatedByParser):
24161 2008-08-13 Eric Seidel <eric@webkit.org>
24163 Attempt to fix the Gtk build, no review.
24165 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
24167 * platform/graphics/GraphicsContext.h:
24168 * platform/graphics/cairo/GraphicsContextCairo.cpp:
24169 * platform/graphics/qt/GradientQt.cpp:
24170 * platform/graphics/qt/GraphicsContextQt.cpp:
24171 * platform/gtk/RenderThemeGtk.cpp:
24172 (WebCore::paintMozWidget):
24174 2008-08-13 Eric Seidel <eric@webkit.org>
24176 Yet another attempt to fix the Qt build, no review.
24178 * platform/graphics/qt/GradientQt.cpp:
24179 * platform/graphics/qt/GraphicsContextQt.cpp:
24180 (WebCore::GraphicsContext::applyStrokePattern):
24181 (WebCore::GraphicsContext::applyFillPattern):
24183 2008-08-13 Eric Seidel <eric@webkit.org>
24185 Attempt to fix the Windows build, no review.
24187 * platform/win/CursorWin.cpp:
24188 (WebCore::loadCursorByName):
24189 * platform/win/ScrollViewWin.cpp:
24190 (WebCore::ScrollView::paint):
24192 2008-08-13 Eric Seidel <eric@webkit.org>
24194 Attempt to fix the Windows build, no review.
24196 * platform/win/CursorWin.cpp:
24197 (WebCore::loadCursorByName):
24198 * platform/win/ScrollViewWin.cpp:
24199 (WebCore::ScrollView::paint):
24201 2008-08-13 Eric Seidel <eric@webkit.org>
24203 Attempt to fix the Qt build, no review.
24205 * platform/graphics/qt/ImageBufferQt.cpp:
24206 (WebCore::ImageBuffer::image):
24208 2008-08-13 Eric Seidel <eric@webkit.org>
24210 Attempt to fix the Windows build, no review.
24212 * platform/graphics/win/ImageWin.cpp:
24213 (WebCore::Image::loadPlatformResource):
24214 * plugins/win/PluginViewWin.cpp:
24215 (WebCore::PluginView::paintMissingPluginIcon):
24217 2008-08-13 Eric Seidel <eric@webkit.org>
24219 Another attempt to fix the Qt build, no review.
24221 * platform/graphics/qt/ImageQt.cpp:
24222 * platform/graphics/qt/StillImageQt.h:
24224 2008-08-13 Eric Seidel <eric@webkit.org>
24226 No review, build fix only.
24228 Fix mac build, due to change in new code since my patch was written.
24230 * svg/graphics/cg/SVGResourceMaskerCg.mm:
24231 (WebCore::SVGResourceMasker::applyMask):
24233 2008-08-13 Eric Seidel <eric@webkit.org>
24235 Build fix only, no review.
24237 Attempt to fix the Qt build.
24239 * platform/graphics/qt/ImageBufferQt.cpp:
24240 * platform/graphics/qt/StillImageQt.h:
24241 (WebCore::StillImage::create):
24242 (WebCore::StillImage::destroyDecodedData):
24243 (WebCore::StillImage::decodedSize):
24245 2008-08-13 Eric Seidel <eric@webkit.org>
24247 Build fix only, no review.
24249 Attempt to fix the Qt build.
24251 * html/CanvasStyle.cpp:
24252 (WebCore::CanvasStyle::applyStrokeColor):
24253 (WebCore::CanvasStyle::applyFillColor):
24255 2008-08-13 Eric Seidel <eric@webkit.org>
24259 Match HTML5 spec by throwing INVALID_STATE_ERR when
24260 createPattern is called and the HTMLImageElement is not
24261 yet done loading the image (!isComplete)
24262 https://bugs.webkit.org/show_bug.cgi?id=20351
24264 Test: http/misc/canvas-pattern-from-incremental-image.html
24266 * html/CanvasRenderingContext2D.cpp:
24267 (WebCore::CanvasRenderingContext2D::createPattern):
24269 2008-08-13 Eric Seidel <eric@webkit.org>
24273 Split out a Pattern class from CanvasPattern
24274 and remove all the Pattern-related #ifdefs
24275 (This will break non-mac platforms! I will fix them.)
24276 https://bugs.webkit.org/show_bug.cgi?id=20351
24280 * WebCore.vcproj/WebCore.vcproj:
24281 * WebCore.xcodeproj/project.pbxproj:
24282 * WebCoreSources.bkl:
24283 * html/CanvasPattern.cpp:
24284 (WebCore::CanvasPattern::parseRepetitionType):
24285 (WebCore::CanvasPattern::CanvasPattern):
24286 * html/CanvasPattern.h:
24287 (WebCore::CanvasPattern::create):
24288 (WebCore::CanvasPattern::pattern):
24289 (WebCore::CanvasPattern::originClean):
24290 * html/CanvasRenderingContext2D.cpp:
24291 (WebCore::CanvasRenderingContext2D::createPattern):
24292 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
24293 (WebCore::CanvasRenderingContext2D::applyFillPattern):
24294 * html/CanvasRenderingContext2D.h:
24295 * html/HTMLCanvasElement.cpp:
24296 * html/HTMLCanvasElement.h:
24297 * loader/FrameLoader.cpp:
24298 (WebCore::FrameLoader::createHistoryItem):
24299 * platform/graphics/GraphicsContext.h:
24300 * platform/graphics/cairo/GraphicsContextCairo.cpp:
24301 (WebCore::GraphicsContext::applyStrokePattern):
24302 (WebCore::GraphicsContext::applyFillPattern):
24303 * platform/graphics/cg/GraphicsContextCG.cpp:
24304 (WebCore::GraphicsContext::clipToImageBuffer):
24305 (WebCore::GraphicsContext::applyStrokePattern):
24306 (WebCore::GraphicsContext::applyFillPattern):
24308 2008-08-13 Eric Seidel <eric@webkit.org>
24312 Make Images RefCounted (and clean up callers)
24313 https://bugs.webkit.org/show_bug.cgi?id=20351
24315 * editing/DeleteButtonController.cpp:
24316 (WebCore::DeleteButtonController::createDeletionUI):
24317 * loader/CachedImage.cpp:
24318 (WebCore::CachedImage::CachedImage):
24319 (WebCore::brokenImage):
24320 (WebCore::nullImage):
24321 (WebCore::CachedImage::image):
24322 (WebCore::CachedImage::notifyObservers):
24323 (WebCore::CachedImage::createImage):
24324 * loader/CachedImage.h:
24325 * loader/icon/IconRecord.cpp:
24326 (WebCore::IconRecord::setImageData):
24327 (WebCore::IconRecord::loadImageFromResource):
24328 * loader/icon/IconRecord.h:
24329 * platform/graphics/BitmapImage.h:
24330 (WebCore::BitmapImage::create):
24331 * platform/graphics/GeneratedImage.h:
24332 * platform/graphics/Gradient.cpp:
24333 * platform/graphics/Gradient.h:
24334 * platform/graphics/Image.cpp:
24335 (WebCore::Image::nullImage):
24336 * platform/graphics/Image.h:
24337 * platform/graphics/ImageBuffer.h:
24338 * platform/graphics/cairo/ImageBufferCairo.cpp:
24339 (WebCore::ImageBuffer::image):
24340 * platform/graphics/cg/ImageBufferCG.cpp:
24341 (WebCore::ImageBuffer::image):
24342 (WebCore::ImageBuffer::getImageData):
24343 (WebCore::ImageBuffer::putImageData):
24344 * platform/graphics/cg/PDFDocumentImage.h:
24345 (WebCore::PDFDocumentImage::create):
24346 (WebCore::PDFDocumentImage::destroyDecodedData):
24347 (WebCore::PDFDocumentImage::decodedSize):
24348 * platform/graphics/gtk/ImageGtk.cpp:
24349 (WebCore::Image::loadPlatformResource):
24350 * platform/graphics/mac/ImageMac.mm:
24351 (WebCore::Image::loadPlatformResource):
24352 * rendering/RenderImage.cpp:
24353 * rendering/RenderLayer.cpp:
24354 (WebCore::RenderLayer::paintOverflowControls):
24355 * svg/graphics/SVGImage.cpp:
24356 (WebCore::SVGImage::nativeImageForCurrentFrame):
24357 * svg/graphics/SVGImage.h:
24358 (WebCore::SVGImage::create):
24359 (WebCore::SVGImage::destroyDecodedData):
24360 (WebCore::SVGImage::decodedSize):
24361 (WebCore::SVGImage::frameAtIndex):
24362 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
24363 (WebCore::SVGPaintServerPattern::setup):
24364 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
24365 (WebCore::SVGResourceMasker::applyMask):
24366 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
24367 (WebCore::patternCallback):
24368 * svg/graphics/cg/SVGResourceMaskerCg.mm:
24369 (WebCore::SVGResourceMasker::applyMask):
24371 2008-08-13 Eric Seidel <eric@webkit.org>
24375 Remove #ifdefs from CanvasStyle by using platform/Color.h
24376 https://bugs.webkit.org/show_bug.cgi?id=20351
24378 There are some down-sides to this commit.
24379 This commit limits us to 255 levels of grey for calls like:
24380 context.setStrokeStyle(.37, 1.0)
24381 previously CG might have used up to 32bits to store the grey level
24382 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
24384 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
24385 to RGBA32 (like all the rest of colors in WebCore), thus:
24386 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
24387 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
24389 If this is a problem for Dashboard, we can either roll out this commit
24390 or add a beefier Color abstraction, which can be used internally by GraphicsContext
24391 when keeping state, and then GraphicsContext can grow some additional set* routines
24392 for setting the a grey/float/whatever fill and stroke.
24394 * html/CanvasRenderingContext2D.cpp:
24395 (WebCore::CanvasRenderingContext2D::setFillStyle):
24396 * html/CanvasStyle.cpp:
24397 (WebCore::CanvasStyle::CanvasStyle):
24398 (WebCore::colorWithOverrideAlpha):
24399 (WebCore::CanvasStyle::applyStrokeColor):
24400 (WebCore::CanvasStyle::applyFillColor):
24401 * html/CanvasStyle.h:
24402 * platform/graphics/Color.cpp:
24403 (WebCore::colorFloatToRGBAByte):
24404 (WebCore::makeRGBA32FromFloats):
24405 * platform/graphics/Color.h:
24407 2008-08-13 Eric Carlson <eric.carlson@apple.com>
24409 Reviewed by Adele Peterson.
24411 Fix for <rdar://problem/6137931>
24412 https://bugs.webkit.org/show_bug.cgi?id=20360
24413 Remove all parameters from the MIME type before checking with the MIME type registry
24415 Tests: media/video-source-type-params.html
24417 * html/HTMLMediaElement.cpp:
24418 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
24419 to isSupportedMediaMIMEType()
24421 2008-08-13 Beth Dakin <bdakin@apple.com>
24423 Reviewed by Sam Weinig.
24425 Fix for <rdar://problem/6141345>
24427 This patch refines findString and markAllMatchesForText functions'
24428 interactions with disconnected frames. They no longer rely on
24429 knowing where a range is relative to the visible region and work
24430 with disconnected frames that contain frames.
24432 * editing/Editor.cpp:
24433 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
24434 the visiblity enum.
24435 (WebCore::Editor::firstVisibleRange): This now returns the very
24436 first visible range in the document. It's no longer dependent on
24438 (WebCore::Editor::lastVisibleRange): This now returns the very last
24439 visible range in the document. It's no longer dependent on
24440 searching backwards.
24441 (WebCore::Editor::nextVisibleRange): This returns the next visible
24442 range in the appropriate direction from the current range.
24443 * editing/Editor.h:
24445 (WebCore::Frame::findString):
24446 (WebCore::Frame::markAllMatchesForText):
24448 2008-08-13 Kevin Ollivier <kevino@theolliviers.com>
24450 wx build fix for case-sensitive platforms, like Linux.
24452 * WebCoreSources.bkl:
24454 2008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
24456 Reviewed by Holger Freyther.
24458 http://bugs.webkit.org/show_bug.cgi?id=16881
24459 [GTK] PlatformScreenGtk is unimplemented
24461 Original patch by Christian Dywan.
24463 * platform/gtk/PlatformScreenGtk.cpp:
24464 (WebCore::screenDepth):
24465 (WebCore::screenDepthPerComponent):
24466 (WebCore::screenIsMonochrome):
24467 (WebCore::screenRect):
24468 (WebCore::screenAvailableRect):
24470 2008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
24472 Reviewed by Holger Freyther.
24474 http://bugs.webkit.org/show_bug.cgi?id=20318
24475 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
24477 g_idle_add is the same as g_idle_add_full with a priority of
24478 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
24480 * platform/gtk/SharedTimerGtk.cpp:
24481 (WebCore::setSharedTimerFireTime):
24483 2008-08-13 Timothy Hatcher <timothy@apple.com>
24485 Changed the InspectorController so it can be notified when the
24486 attached state of the Inspector changes in WebKit.
24488 Reviewed by Kevin McCullough.
24490 * WebCore.base.exp: Updated the symbol for setWindowVisible.
24491 * page/InspectorController.cpp:
24492 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
24493 that defaults to false.Call setAttachedWindow with the attached argument.
24494 (WebCore::InspectorController::setAttachedWindow): Call the script version
24495 of setAttachedWindow.
24496 * page/InspectorController.h:
24497 * page/inspector/inspector.js:
24498 (WebInspector.setAttachedWindow): Set the attached property.
24500 2008-08-12 Timothy Hatcher <timothy@apple.com>
24502 Added a close button to the Inspector's toolbar when docked.
24504 https://bugs.webkit.org/show_bug.cgi?id=14270
24506 Reviewed by Kevin McCullough.
24508 * page/InspectorController.cpp:
24509 (WebCore::closeWindow): Call InspectorController::closeWindow.
24510 (WebCore::InspectorController::windowScriptObjectAvailable):
24511 Added closeWindow to the script class.
24512 * page/InspectorController.h:
24513 * page/inspector/Images/closeButtons.png: Added.
24514 * page/inspector/inspector.css: Added and changed styles.
24515 * page/inspector/inspector.html: Added the close button.
24516 * page/inspector/inspector.js:
24517 (WebInspector.loaded): Added click event listener to the close button.
24518 (WebInspector.close): Call InspectorController.closeWindow.
24520 2008-08-12 Timothy Hatcher <timothy@apple.com>
24522 Make the docked Web Inspector resizable. This is the cross platform
24523 portion of the code. Each InspectorClient needs to implement the
24526 https://bugs.webkit.org/show_bug.cgi?id=14282
24528 Reviewed by Kevin McCullough.
24530 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
24531 * page/InspectorClient.h: Added setAttachedWindowHeight.
24532 * page/InspectorController.cpp:
24533 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
24534 on the InspectorController.
24535 (WebCore::InspectorController::setAttachedWindowHeight): Call
24536 setAttachedWindowHeight on the client.
24537 (WebCore::InspectorController::windowScriptObjectAvailable):
24538 Added setAttachedWindowHeight to the script class.
24539 * page/InspectorController.h:
24540 * page/inspector/inspector.css: Make the cursor on the toolbar be
24541 row-resize when docked.
24542 * page/inspector/inspector.js:
24543 (WebInspector.loaded): Always add the toolbarDragStart event listener.
24544 (WebInspector.toolbarDragStart): Return early if we are not attached
24545 and not on Leopard. Call WebInspector.elementDragStart.
24546 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
24547 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
24548 otherwise call moveByUnrestricted.
24550 2008-08-13 Simon Hausmann <hausmann@webkit.org>
24552 Reviewed by Holger.
24554 Initialize m_zoomsTextOnly in the Settings constructor.
24556 * page/Settings.cpp:
24557 (WebCore::Settings::Settings):
24559 2008-08-13 Brad Hughes <bhughes@trolltech.com>
24563 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
24565 The latest upgrade of the intel compiler allows us to compile all of
24566 Qt with optimizations enabled (yay!).
24570 2008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
24574 Fix QtWebKit not displaying content on 403 HTTP responses
24576 Just like with 404 responses also display content with 403, as
24577 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
24579 * platform/network/qt/QNetworkReplyHandler.cpp:
24580 (WebCore::QNetworkReplyHandler::finish):
24582 2008-08-13 Simon Hausmann <hausmann@webkit.org>
24584 Reviewed by Holger.
24586 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
24588 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
24590 * platform/text/String.cpp:
24591 (WebCore::String::format):
24593 2008-08-13 Simon Hausmann <hausmann@webkit.org>
24597 Fix QWebFrame::setHtml() not setting the new contents immediately.
24599 Added a setter to the DocumentLoader to toggle the deferred loading of the main
24600 resource when it comes from substitute data.
24602 Disable deferred loading of the main resource when we have valid substitute data,
24603 as used by QWebFrame::setHtml.
24605 * loader/DocumentLoader.h:
24607 2008-08-13 Mark Rowe <mrowe@apple.com>
24609 Speculative GTK build fix.
24611 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
24613 2008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
24617 Fix encoding of [ and ] in the host part of the URL
24619 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
24620 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
24621 doesn't encode [ and ] when they are found in the host part. That is, the
24624 is valid and should not be reencoded to:
24627 * platform/qt/KURLQt.cpp:
24628 (WebCore::KURL::operator QUrl):
24630 2008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
24632 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
24633 Broken HTML object elements cause de-reference of pointer to freed memory.
24634 If we fail to load an image for an object tag and we no longer believe the object tag points at
24635 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
24638 Reviewed by Dave Hyatt and Alexey Proskuryakov.
24640 Test: http/tests/misc/object-image-error-with-onload.html
24642 * html/HTMLObjectElement.cpp:
24643 (WebCore::HTMLObjectElement::renderFallbackContent):
24645 (WebCore::Frame::Frame):
24647 2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
24651 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
24652 Masks are translated, and the mask images are swapped on the y-axis.
24654 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
24655 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
24657 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
24658 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
24660 * svg/graphics/cg/SVGResourceMaskerCg.mm:
24661 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
24663 2008-08-12 Dan Bernstein <mitz@apple.com>
24665 - WebCore part of <rdar://problem/6121636>
24666 Make fast*alloc() abort() on failure and add "try" variants that
24667 return NULL on failure.
24669 Reviewed by Darin Adler.
24671 * platform/Arena.cpp:
24672 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
24674 * platform/graphics/cg/ImageBufferCG.cpp:
24675 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
24677 2008-08-12 Dan Bernstein <mitz@apple.com>
24679 Reviewed by Darin Adler.
24681 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
24682 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
24684 Test: fast/frames/frameset-style-recalc.html
24686 * html/HTMLFrameSetElement.cpp:
24687 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
24688 class implementation after marking for layout.
24690 2008-08-12 Dan Bernstein <mitz@apple.com>
24692 Reviewed by John Sullivan.
24694 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
24696 * WebCore.base.exp:
24697 * page/FrameView.cpp:
24698 (WebCore::FrameViewPrivate::FrameViewPrivate):
24699 (WebCore::FrameView::shouldUpdateWhileHidden):
24700 (WebCore::FrameView::setShouldUpdateWhileHidden):
24701 * page/FrameView.h:
24702 * page/Settings.cpp:
24705 2008-08-12 Adam Roben <aroben@apple.com>
24709 * bindings/js/JSSVGPODTypeWrapper.h: Align
24710 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
24711 members on 16-byte boundaries to avoid an alignment warning.
24713 2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
24715 Reviewed by Oliver.
24717 Add new dynamice-update layout tests covering SVGMarkerElement.
24718 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
24719 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
24721 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
24722 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
24723 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
24724 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
24725 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
24726 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
24727 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
24728 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
24729 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
24730 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
24731 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
24732 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
24733 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
24734 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
24735 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
24737 * svg/SVGMarkerElement.cpp:
24738 (WebCore::SVGMarkerElement::SVGMarkerElement):
24739 (WebCore::SVGMarkerElement::parseMappedAttribute):
24740 (WebCore::SVGMarkerElement::svgAttributeChanged):
24741 (WebCore::SVGMarkerElement::childrenChanged):
24742 (WebCore::SVGMarkerElement::setOrientToAuto):
24743 (WebCore::SVGMarkerElement::setOrientToAngle):
24744 (WebCore::SVGMarkerElement::canvasResource):
24746 2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
24748 Reviewed by Oliver.
24750 Add new dynamic-update layout tests covering SVGImageElement.
24751 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
24753 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
24754 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
24755 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
24756 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
24757 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
24758 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
24759 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
24760 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
24761 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
24762 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
24764 * svg/SVGImageElement.cpp:
24765 (WebCore::SVGImageElement::svgAttributeChanged):
24767 2008-08-11 Anthony Ricaud <rik24d@gmail.com>
24769 Changed Option/Alt-Up or Down in CSS editing when the value is
24770 near zero to jump to the next integer.
24772 Reviewed by Tim Hatcher.
24774 https://bugs.webkit.org/show_bug.cgi?id=20326
24776 * page/inspector/StylesSidebarPane.js:
24778 2008-08-11 Anthony Ricaud <rik24d@gmail.com>
24780 Changed the line highlight transition for an easier animation.
24782 Reviewed by Tim Hatcher.
24784 * page/inspector/SourceFrame.js:
24786 2008-08-11 Keishi Hattori <casey.hattori@gmail.com>
24788 Added support for some Firebug Command Line APIs.
24790 Reviewed by Tim Hatcher.
24792 https://bugs.webkit.org/show_bug.cgi?id=19867
24793 https://bugs.webkit.org/show_bug.cgi?id=19868
24794 https://bugs.webkit.org/show_bug.cgi?id=19869
24795 https://bugs.webkit.org/show_bug.cgi?id=19875
24796 https://bugs.webkit.org/show_bug.cgi?id=19876
24797 https://bugs.webkit.org/show_bug.cgi?id=19880
24799 * page/inspector/Console.js:
24800 (WebInspector.Console.prototype._evalInInspectedWindow):
24801 Create an object on the inspected window that holds the console
24802 command line API functions. This object is used in a with statement
24803 around the typed expression.
24805 2008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
24809 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
24811 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
24812 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
24814 Added tests: svg/custom/svg-modify-currentTranslate.html
24815 svg/custom/tearoffs-with-tearoffs.html
24816 svg/custom/immutable-properties.html
24818 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
24820 * bindings/js/JSSVGPODTypeWrapper.h:
24821 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
24822 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
24823 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
24824 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
24825 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
24826 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
24827 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
24828 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
24829 * bindings/scripts/CodeGenerator.pm:
24830 * bindings/scripts/CodeGeneratorJS.pm:
24831 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
24832 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
24834 2008-08-11 Brady Eidson <beidson@apple.com>
24836 Reviewed by John and Anders
24838 Fix for <rdar://problem/6141797>
24840 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
24841 would never have nil data.
24843 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
24844 semantics with some WebKit applications.
24846 The guarantee was a good one and should be restored.
24848 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
24849 creates an empty data object in the case of null data for its own purposes.
24851 * loader/SubstituteResource.h:
24852 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
24853 well help any future subclassers not make this mistake.
24855 * loader/archive/ArchiveResource.cpp:
24856 (WebCore::ArchiveResource::create): Return 0 if the data is null.
24858 2008-08-11 Simon Fraser <simon.fraser@apple.com>
24860 Reviewed by Dave Hyatt
24862 https://bugs.webkit.org/show_bug.cgi?id=20328
24863 Fix a problem when an 'all' transition transition with more than
24864 one property changing is interrupted, and did some AnimationController
24867 Test: transitions/interrupted-all-transition.html
24869 * page/AnimationController.cpp:
24870 (WebCore::ImplicitAnimation::ImplicitAnimation):
24871 (WebCore::AnimationControllerPrivate::blendProperties):
24872 (WebCore::CompositeAnimation::updateTransitions):
24873 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
24874 (WebCore::CompositeAnimation::setTransitionStartTime):
24875 (WebCore::CompositeAnimation::overrideImplicitAnimations):
24876 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
24877 (WebCore::ImplicitAnimation::animate):
24878 (WebCore::ImplicitAnimation::onAnimationEnd):
24879 (WebCore::ImplicitAnimation::sendTransitionEvent):
24880 (WebCore::ImplicitAnimation::affectsProperty):
24881 (WebCore::KeyframeAnimation::endAnimation):
24882 (WebCore::KeyframeAnimation::onAnimationEnd):
24884 2008-08-11 Kevin McCullough <kmccullough@apple.com>
24888 - Because console messages have group levels now, newly created messages
24889 that do not specify the level lose their message since the number of
24890 arguments is wrong.
24892 * page/inspector/Console.js:
24893 * page/inspector/Resource.js:
24895 2008-08-11 Alp Toker <alp@nuanti.com>
24897 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
24898 the opportunity to sort the sources lists.
24902 2008-08-11 Timothy Hatcher <timothy@apple.com>
24904 Speed up the the JavaScript syntax highlighter by generating
24905 the finders only once per script instead of per line.
24907 https://bugs.webkit.org/show_bug.cgi?id=20346
24909 Reviewed by Adam Roben.
24911 * page/inspector/SourceFrame.js:
24912 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
24913 Removed, factored into syntaxHighlightJavascript as an inline function.
24914 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
24915 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
24916 Generate the finders before iterating the lines.
24918 2008-08-11 Adam Roben <aroben@apple.com>
24922 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
24923 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
24926 2008-08-11 Dan Bernstein <mitz@apple.com>
24928 Reviewed by Darin Adler.
24930 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
24932 Test: fast/css/counters/invalidate-cached-counter-node.html
24934 * rendering/RenderContainer.cpp:
24935 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
24936 RenderCounters in :before and :after content.
24937 * rendering/RenderContainer.h:
24938 * rendering/RenderCounter.cpp:
24939 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
24940 to match the RenderObject method.
24941 (WebCore::RenderCounter::invalidate): Added. Resets the cached
24942 CounterNode and invalidates the object's layout and preferred widths.
24943 (WebCore::destroyCounterNodeChildren): Added a call to
24944 invalidateCounters().
24945 * rendering/RenderCounter.h:
24946 * rendering/RenderObject.h:
24947 (WebCore::RenderObject::invalidateCounters):
24949 2008-08-11 Dean Jackson <dino@apple.com>
24951 Implement CSS Animation and Transition Events
24952 https://bugs.webkit.org/show_bug.cgi?id=20337
24954 Implement the events defined in the CSS Animations
24955 and Transitions specifications so code can react
24956 to animations and transitions.
24958 Reviewed by Tim Hatcher and Dave Hyatt.
24960 * DerivedSources.make:
24963 * WebCore.vcproj/WebCore.vcproj:
24964 * WebCore.xcodeproj/project.pbxproj:
24965 * WebCoreSources.bkl:
24966 Build configs for new files
24968 * bindings/js/JSDOMWindowBase.cpp:
24969 * bindings/js/JSDOMWindowBase.h:
24970 * bindings/js/JSEventCustom.cpp:
24974 * dom/EventTarget.cpp:
24975 * dom/EventTargetNode.cpp:
24976 * dom/EventTargetNode.h:
24977 * html/HTMLElement.cpp:
24978 * page/AnimationController.cpp:
24979 do all the new event stuff
24981 * html/HTMLAttributeNames.in:
24982 the onwebkitanimation* and onwebkittransitionend attrs
24984 * dom/WebKitAnimationEvent.cpp: Added.
24985 * dom/WebKitAnimationEvent.h: Added.
24986 * dom/WebKitAnimationEvent.idl: Added.
24987 * dom/WebKitTransitionEvent.cpp: Added.
24988 * dom/WebKitTransitionEvent.h: Added.
24989 * dom/WebKitTransitionEvent.idl: Added.
24990 New files for the events
24992 * manual-tests/transition-events.html: Added.
24995 2008-08-11 Adam Roben <aroben@apple.com>
24997 Add a ForwardingHeader for wtf/NotFound.h
24999 Rubberstamped by Darin Adler.
25001 * ForwardingHeaders/wtf/NotFound.h: Added.
25003 2008-08-11 Timothy Hatcher <timothy@apple.com>
25005 Fixes a bug where error bubbles in JavaScript resources would
25006 be clobbered by the syntax highlighter.
25008 https://bugs.webkit.org/show_bug.cgi?id=20345
25010 Reviewed by Adam Roben.
25012 * manual-tests/inspector/resources/script-error.js: Added.
25013 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
25014 * page/inspector/SourceFrame.js:
25015 (WebInspector.SourceFrame.prototype._addMessageToSource):
25016 Check the nodeType and not the nodeName, this is less fragile.
25017 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
25018 Check if the lastChild is an error bubble, if so remove it before
25019 getting the line's textContent. Add the error bubble back at the end.
25021 == Rolled over to ChangeLog-2008-08-10 ==