1 2008-11-04 Jan Michael Alonzo <jmalonzo@webkit.org>
3 Build fix. Not reviewed.
5 * platform/graphics/FloatPoint.h: include math.h.
6 reported by zdobersek in #webkit.
8 2008-11-04 Darin Fisher <darin@chromium.org>
10 Reviewed by Anders Carlsson.
12 No need to clobber all ResourceRequest fields in FrameLoader::reload()
13 https://bugs.webkit.org/show_bug.cgi?id=21949
15 * loader/FrameLoader.cpp:
16 (WebCore::FrameLoader::reload):
18 2008-11-04 Darin Adler <darin@apple.com>
20 Reviewed by Tim Hatcher.
22 * storage/Database.cpp:
23 (WebCore::databaseVersionKey): Tweaked formatting.
25 2008-11-03 Darin Adler <darin@apple.com>
27 Reviewed by Tim Hatcher.
29 - https://bugs.webkit.org/show_bug.cgi?id=22061
30 create script to check for exit-time destructors
32 * WebCore.xcodeproj/project.pbxproj: Added a script
33 phase that runs the check-for-exit-time-destructors script.
35 * html/HTMLAttributeNames.in: Removed some unused attribute names.
37 * html/HTMLEmbedElement.cpp:
38 (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
39 sets the write-only m_pluginPage.
40 * html/HTMLEmbedElement.h: Ditto.
42 * platform/mac/CursorMac.mm:
43 (WebCore::leakNamedCursor): Changed to return a Cursor&.
44 (WebCore::pointerCursor): Changed to leak an object to avoid an
46 (WebCore::crossCursor): Ditto.
47 (WebCore::handCursor): Ditto.
48 (WebCore::moveCursor): Ditto.
49 (WebCore::verticalTextCursor): Ditto.
50 (WebCore::cellCursor): Ditto.
51 (WebCore::contextMenuCursor): Ditto.
52 (WebCore::aliasCursor): Ditto.
53 (WebCore::zoomInCursor): Ditto.
54 (WebCore::zoomOutCursor): Ditto.
55 (WebCore::copyCursor): Ditto.
56 (WebCore::noneCursor): Ditto.
57 (WebCore::progressCursor): Ditto.
58 (WebCore::noDropCursor): Ditto.
59 (WebCore::notAllowedCursor): Ditto.
60 (WebCore::iBeamCursor): Ditto.
61 (WebCore::waitCursor): Ditto.
62 (WebCore::helpCursor): Ditto.
63 (WebCore::eastResizeCursor): Ditto.
64 (WebCore::northResizeCursor): Ditto.
65 (WebCore::northEastResizeCursor): Ditto.
66 (WebCore::northWestResizeCursor): Ditto.
67 (WebCore::southResizeCursor): Ditto.
68 (WebCore::southEastResizeCursor): Ditto.
69 (WebCore::southWestResizeCursor): Ditto.
70 (WebCore::westResizeCursor): Ditto.
71 (WebCore::northSouthResizeCursor): Ditto.
72 (WebCore::eastWestResizeCursor): Ditto.
73 (WebCore::northEastSouthWestResizeCursor): Ditto.
74 (WebCore::northWestSouthEastResizeCursor): Ditto.
75 (WebCore::columnResizeCursor): Ditto.
76 (WebCore::rowResizeCursor): Ditto.
77 (WebCore::grabCursor): Ditto.
78 (WebCore::grabbingCursor): Ditto.
80 * storage/Database.cpp:
81 (WebCore::guidMutex): Changed to leak an object to avoid an
82 exit-time destructor. Also added a comment explaining why it's
84 (WebCore::guidToVersionMap): Ditto.
85 (WebCore::guidToDatabaseMap): Ditto.
86 (WebCore::Database::databaseInfoTableName): Ditto.
87 (WebCore::databaseVersionKey): Ditto.
88 (WebCore::Database::getVersionFromDatabase): Ditto.
89 (WebCore::Database::setVersionInDatabase): Ditto.
90 (WebCore::guidForOriginAndName): Ditto.
91 * storage/DatabaseTracker.cpp:
92 (WebCore::DatabaseTracker::tracker): Ditto.
93 (WebCore::notificationMutex): Ditto.
94 (WebCore::notificationQueue): Ditto.
95 (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
97 2008-11-04 Simon Fraser <simon.fraser@apple.com>
99 Reviewed by Dave Hyatt
101 https://bugs.webkit.org/show_bug.cgi?id=21941
103 Rename absolutePosition() to localToAbsolute(), and add the ability
104 to optionally take transforms into account (which will eventually be the
108 * WebCore.xcodeproj/project.pbxproj:
109 * dom/ContainerNode.cpp:
110 (WebCore::ContainerNode::getUpperLeftCorner):
111 (WebCore::ContainerNode::getLowerRightCorner):
112 (WebCore::ContainerNode::getRect):
113 * dom/ContainerNode.h:
114 * dom/MouseRelatedEvent.cpp:
115 (WebCore::MouseRelatedEvent::receivedTarget):
117 (WebCore::Node::getRect):
118 * editing/SelectionController.cpp:
119 (WebCore::SelectionController::layout):
120 (WebCore::SelectionController::caretRect):
121 * editing/visible_units.cpp:
122 (WebCore::previousLinePosition):
123 (WebCore::nextLinePosition):
124 * html/HTMLAnchorElement.cpp:
125 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
126 (WebCore::HTMLAnchorElement::defaultEventHandler):
127 * html/HTMLAreaElement.cpp:
128 (WebCore::HTMLAreaElement::getRect):
129 * html/HTMLImageElement.cpp:
130 (WebCore::HTMLImageElement::x):
131 (WebCore::HTMLImageElement::y):
132 * html/HTMLInputElement.cpp:
133 (WebCore::HTMLInputElement::defaultEventHandler):
134 * html/HTMLInputElement.h:
135 * page/AccessibilityRenderObject.cpp:
136 (WebCore::AccessibilityRenderObject::boundingBoxRect):
137 * page/EventHandler.cpp:
138 (WebCore::EventHandler::handleDrag):
139 * platform/graphics/FloatPoint.h:
140 (WebCore::roundedIntPoint):
141 * platform/graphics/IntSize.h:
142 (WebCore::IntSize::expand):
143 * rendering/LayoutState.cpp:
144 (WebCore::LayoutState::LayoutState):
145 * rendering/RenderBlock.cpp:
146 (WebCore::RenderBlock::layoutBlock):
147 (WebCore::RenderBlock::paintObject):
148 (WebCore::RenderBlock::selectionGapRects):
149 (WebCore::RenderBlock::fillBlockSelectionGaps):
150 (WebCore::RenderBlock::nodeAtPoint):
151 (WebCore::RenderBlock::positionForCoordinates):
152 * rendering/RenderBox.cpp:
153 (WebCore::RenderBox::localToAbsolute):
154 (WebCore::RenderBox::computeAbsoluteRepaintRect):
155 (WebCore::RenderBox::caretRect):
156 * rendering/RenderBox.h:
157 (WebCore::RenderBox::relativePositionOffset):
158 * rendering/RenderContainer.cpp:
159 (WebCore::RenderContainer::addLineBoxRects):
160 * rendering/RenderFlow.cpp:
161 (WebCore::RenderFlow::absoluteClippedOverflowRect):
162 (WebCore::RenderFlow::caretRect):
163 (WebCore::RenderFlow::addFocusRingRects):
164 * rendering/RenderLayer.cpp:
165 (WebCore::RenderLayer::updateLayerPosition):
166 (WebCore::RenderLayer::convertToLayerCoords):
167 (WebCore::RenderLayer::addScrolledContentOffset):
168 (WebCore::RenderLayer::subtractScrolledContentOffset):
169 (WebCore::RenderLayer::scrollRectToVisible):
170 * rendering/RenderLayer.h:
171 (WebCore::RenderLayer::scrolledContentOffset):
172 (WebCore::RenderLayer::relativePositionOffset):
173 * rendering/RenderListBox.cpp:
174 (WebCore::RenderListBox::panScroll):
175 (WebCore::RenderListBox::scrollToward):
176 * rendering/RenderListMarker.cpp:
177 (WebCore::RenderListMarker::selectionRect):
178 * rendering/RenderObject.cpp:
179 (WebCore::RenderObject::absoluteBoundingBoxRect):
180 (WebCore::RenderObject::computeAbsoluteRepaintRect):
181 (WebCore::RenderObject::localToAbsolute):
182 (WebCore::RenderObject::addDashboardRegions):
183 (WebCore::RenderObject::absoluteContentBox):
184 (WebCore::RenderObject::absoluteOutlineBox):
185 * rendering/RenderObject.h:
186 (WebCore::RenderObject::localToAbsoluteForContent):
187 * rendering/RenderPart.cpp:
188 (WebCore::RenderPart::updateWidgetPosition):
189 * rendering/RenderReplaced.cpp:
190 (WebCore::RenderReplaced::selectionRect):
191 * rendering/RenderSVGInlineText.cpp:
192 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
193 * rendering/RenderSVGText.cpp:
194 (WebCore::RenderSVGText::absoluteRects):
195 * rendering/RenderTableCell.cpp:
196 (WebCore::RenderTableCell::localToAbsolute):
197 * rendering/RenderTableCell.h:
198 * rendering/RenderText.cpp:
199 (WebCore::RenderText::addLineBoxRects):
200 (WebCore::RenderText::caretRect):
201 (WebCore::RenderText::selectionRect):
202 * rendering/RenderVideo.cpp:
203 (WebCore::RenderVideo::updatePlayer):
204 * rendering/RenderView.cpp:
205 (WebCore::RenderView::localToAbsolute):
206 * rendering/RenderView.h:
207 * rendering/RenderWidget.cpp:
208 (WebCore::RenderWidget::updateWidgetPosition):
209 * svg/SVGSVGElement.cpp:
210 (WebCore::SVGSVGElement::getScreenCTM):
212 2008-11-03 Yael Aharon <yael.aharon@nokia.com>
214 Reviewed by Simon Hausmann.
216 Add methods for getting and setting user data on History Item.
217 This change is limited to QT port only. Tests were added in
218 the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
220 Minor change by Simon: made the functions inline and added a missing
223 * history/HistoryItem.h:
225 2008-11-01 Alexey Proskuryakov <ap@webkit.org>
227 Reviewed by Darin Adler.
229 https://bugs.webkit.org/show_bug.cgi?id=22030
230 Make EventNames usable from multiple threads
232 * platform/text/AtomicString.cpp:
233 (WebCore::stringTable):
234 (WebCore::AtomicString::add):
235 (WebCore::AtomicString::remove):
236 (WebCore::AtomicString::find):
237 (WebCore::AtomicString::init):
238 * platform/text/AtomicString.h:
239 Atomic string table is now per-thread. Individual strings cannot be shared between threads,
240 so global AtomicString constants cannot be used from threads other than the main one.
242 * dom/EventNames.cpp:
243 (WebCore::EventNames::EventNames):
244 (WebCore::eventNames):
245 (WebCore::EventNames::init):
247 Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
248 eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
252 * bindings/js/JSDOMWindowBase.cpp:
253 * bindings/js/JSEventListener.cpp:
254 * bindings/js/ScriptController.cpp:
255 (WebCore::ScriptController::processingUserGesture):
256 * dom/BeforeTextInsertedEvent.cpp:
257 (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
258 * dom/BeforeUnloadEvent.cpp:
259 (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
260 * dom/CharacterData.cpp:
261 (WebCore::CharacterData::dispatchModifiedEvent):
262 * dom/ContainerNode.cpp:
263 (WebCore::dispatchChildInsertionEvents):
264 (WebCore::dispatchChildRemovalEvents):
265 * dom/DedicatedWorker.cpp:
266 (WebCore::DedicatedWorker::dispatchErrorEvent):
268 (WebCore::Document::implicitClose):
269 (WebCore::Document::setFocusedNode):
270 (WebCore::Document::addListenerTypeIfNeeded):
271 (WebCore::Document::removeWindowInlineEventListenerForType):
272 (WebCore::Document::addWindowEventListener):
273 (WebCore::Document::removeWindowEventListener):
274 (WebCore::Document::finishedParsing):
275 * dom/EventTargetNode.cpp:
276 (WebCore::EventTargetNode::dispatchGenericEvent):
277 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
278 (WebCore::EventTargetNode::dispatchWindowEvent):
279 (WebCore::EventTargetNode::dispatchUIEvent):
280 (WebCore::EventTargetNode::dispatchSimulatedClick):
281 (WebCore::EventTargetNode::dispatchMouseEvent):
282 (WebCore::EventTargetNode::dispatchFocusEvent):
283 (WebCore::EventTargetNode::dispatchBlurEvent):
284 (WebCore::EventTargetNode::defaultEventHandler):
285 (WebCore::EventTargetNode::on*): (multiple methods)
286 (WebCore::EventTargetNode::setOn*): (multiple methods)
287 * dom/KeyboardEvent.cpp:
288 (WebCore::eventTypeForKeyboardEventType):
289 (WebCore::KeyboardEvent::keyCode):
290 (WebCore::KeyboardEvent::charCode):
291 * dom/MessageEvent.cpp:
292 (WebCore::MessageEvent::MessageEvent):
293 * dom/MessagePort.cpp:
294 (WebCore::MessagePort::dispatchMessages):
295 (WebCore::MessagePort::dispatchCloseEvent):
296 * dom/MouseEvent.cpp:
297 (WebCore::MouseEvent::isDragEvent):
298 (WebCore::MouseEvent::toElement):
299 (WebCore::MouseEvent::fromElement):
300 * dom/OverflowEvent.cpp:
301 (WebCore::OverflowEvent::OverflowEvent):
303 (WebCore::TextEvent::TextEvent):
304 * dom/WebKitAnimationEvent.cpp:
305 (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
306 (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
307 (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
308 (WebCore::WebKitAnimationEvent::animationName):
309 (WebCore::WebKitAnimationEvent::elapsedTime):
310 * dom/WebKitTransitionEvent.cpp:
311 (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
312 (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
313 (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
314 (WebCore::WebKitTransitionEvent::propertyName):
315 (WebCore::WebKitTransitionEvent::elapsedTime):
316 * dom/WheelEvent.cpp:
317 (WebCore::WheelEvent::WheelEvent):
318 (WebCore::WheelEvent::initWheelEvent):
319 * dom/XMLTokenizerLibxml2.cpp:
320 * dom/XMLTokenizerQt.cpp:
321 * editing/DeleteButton.cpp:
322 (WebCore::DeleteButton::defaultEventHandler):
323 * editing/EditCommand.cpp:
324 * editing/Editor.cpp:
325 (WebCore::Editor::canDHTMLCut):
326 (WebCore::Editor::canDHTMLCopy):
327 (WebCore::Editor::canDHTMLPaste):
328 (WebCore::Editor::tryDHTMLCopy):
329 (WebCore::Editor::tryDHTMLCut):
330 (WebCore::Editor::tryDHTMLPaste):
331 (WebCore::dispatchEditableContentChangedEvents):
332 * editing/ReplaceSelectionCommand.cpp:
333 (WebCore::ReplacementFragment::ReplacementFragment):
334 * editing/SelectionController.cpp:
335 (WebCore::SelectionController::setFocused):
336 * html/HTMLAnchorElement.cpp:
337 (WebCore::HTMLAnchorElement::defaultEventHandler):
338 * html/HTMLBodyElement.cpp:
339 (WebCore::HTMLBodyElement::parseMappedAttribute):
340 * html/HTMLButtonElement.cpp:
341 (WebCore::HTMLButtonElement::parseMappedAttribute):
342 (WebCore::HTMLButtonElement::defaultEventHandler):
343 * html/HTMLElement.cpp:
344 (WebCore::HTMLElement::parseMappedAttribute):
345 * html/HTMLFormControlElement.cpp:
346 (WebCore::HTMLFormControlElement::onChange):
347 * html/HTMLFormElement.cpp:
348 (WebCore::HTMLFormElement::handleLocalEvents):
349 (WebCore::HTMLFormElement::prepareSubmit):
350 (WebCore::HTMLFormElement::reset):
351 (WebCore::HTMLFormElement::parseMappedAttribute):
352 * html/HTMLFrameElementBase.cpp:
353 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
354 * html/HTMLFrameSetElement.cpp:
355 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
356 * html/HTMLImageElement.cpp:
357 (WebCore::HTMLImageElement::parseMappedAttribute):
358 * html/HTMLImageLoader.cpp:
359 (WebCore::HTMLImageLoader::dispatchLoadEvent):
360 * html/HTMLInputElement.cpp:
361 (WebCore::HTMLInputElement::parseMappedAttribute):
362 (WebCore::HTMLInputElement::setValueFromRenderer):
363 (WebCore::HTMLInputElement::preDispatchEventHandler):
364 (WebCore::HTMLInputElement::postDispatchEventHandler):
365 (WebCore::HTMLInputElement::defaultEventHandler):
366 (WebCore::HTMLInputElement::onSearch):
367 * html/HTMLLabelElement.cpp:
368 (WebCore::HTMLLabelElement::defaultEventHandler):
369 * html/HTMLMediaElement.cpp:
370 (WebCore::HTMLMediaElement::load):
371 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
372 (WebCore::HTMLMediaElement::setReadyState):
373 (WebCore::HTMLMediaElement::progressEventTimerFired):
374 (WebCore::HTMLMediaElement::seek):
375 (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
376 (WebCore::HTMLMediaElement::setPlaybackRate):
377 (WebCore::HTMLMediaElement::play):
378 (WebCore::HTMLMediaElement::pause):
379 (WebCore::HTMLMediaElement::setVolume):
380 (WebCore::HTMLMediaElement::setMuted):
381 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
382 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
383 * html/HTMLObjectElement.cpp:
384 (WebCore::HTMLObjectElement::parseMappedAttribute):
385 * html/HTMLOptionElement.cpp:
386 * html/HTMLScriptElement.cpp:
387 (WebCore::HTMLScriptElement::parseMappedAttribute):
388 (WebCore::HTMLScriptElement::dispatchLoadEvent):
389 (WebCore::HTMLScriptElement::dispatchErrorEvent):
390 * html/HTMLSelectElement.cpp:
391 (WebCore::HTMLSelectElement::parseMappedAttribute):
392 (WebCore::HTMLSelectElement::defaultEventHandler):
393 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
394 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
395 * html/HTMLTextAreaElement.cpp:
396 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
397 (WebCore::HTMLTextAreaElement::defaultEventHandler):
398 * html/HTMLTokenizer.cpp:
399 (WebCore::HTMLTokenizer::notifyFinished):
400 * loader/FrameLoader.cpp:
401 (WebCore::FrameLoader::stopLoading):
402 (WebCore::FrameLoader::canCachePage):
403 * loader/ImageDocument.cpp:
404 (WebCore::ImageEventListener::handleEvent):
405 * loader/ImageLoader.cpp:
406 * loader/MediaDocument.cpp:
407 (WebCore::MediaDocument::defaultEventHandler):
408 * loader/appcache/DOMApplicationCache.cpp:
409 (WebCore::DOMApplicationCache::callCheckingListener):
410 (WebCore::DOMApplicationCache::callErrorListener):
411 (WebCore::DOMApplicationCache::callNoUpdateListener):
412 (WebCore::DOMApplicationCache::callDownloadingListener):
413 (WebCore::DOMApplicationCache::callProgressListener):
414 (WebCore::DOMApplicationCache::callUpdateReadyListener):
415 (WebCore::DOMApplicationCache::callCachedListener):
416 * page/AccessibilityObject.cpp:
417 * page/AccessibilityRenderObject.cpp:
418 (WebCore::AccessibilityRenderObject::mouseButtonListener):
419 * page/ContextMenuController.cpp:
420 (WebCore::ContextMenuController::handleContextMenuEvent):
421 * page/DOMWindow.cpp:
422 (WebCore::DOMWindow::on*): (multiple methods)
423 (WebCore::DOMWindow::setOn*): (multiple methods)
424 * page/EventHandler.cpp:
425 (WebCore::EventHandler::handleMousePressEvent):
426 (WebCore::EventHandler::handleMouseDoubleClickEvent):
427 (WebCore::EventHandler::handleMouseMoveEvent):
428 (WebCore::EventHandler::handleMouseReleaseEvent):
429 (WebCore::EventHandler::updateDragAndDrop):
430 (WebCore::EventHandler::cancelDragAndDrop):
431 (WebCore::EventHandler::performDragAndDrop):
432 (WebCore::EventHandler::updateMouseEventTargetNode):
433 (WebCore::EventHandler::dispatchMouseEvent):
434 (WebCore::EventHandler::sendContextMenuEvent):
435 (WebCore::EventHandler::canMouseDownStartSelect):
436 (WebCore::EventHandler::canMouseDragExtendSelect):
437 (WebCore::EventHandler::defaultKeyboardEventHandler):
438 (WebCore::EventHandler::dragSourceMovedTo):
439 (WebCore::EventHandler::dragSourceEndedAt):
440 (WebCore::EventHandler::handleDrag):
441 (WebCore::EventHandler::handleTextInputEvent):
442 * page/FocusController.cpp:
444 (WebCore::Frame::sendResizeEvent):
445 (WebCore::Frame::sendScrollEvent):
447 (WebCore::networkStateChanged):
448 * page/animation/AnimationBase.cpp:
449 (WebCore::AnimationBase::updateStateMachine):
450 (WebCore::AnimationBase::animationTimerCallbackFired):
451 (WebCore::AnimationBase::primeEventTimers):
452 * page/animation/ImplicitAnimation.cpp:
453 (WebCore::ImplicitAnimation::onAnimationEnd):
454 (WebCore::ImplicitAnimation::sendTransitionEvent):
455 * page/animation/KeyframeAnimation.cpp:
456 (WebCore::KeyframeAnimation::onAnimationStart):
457 (WebCore::KeyframeAnimation::onAnimationIteration):
458 (WebCore::KeyframeAnimation::onAnimationEnd):
459 (WebCore::KeyframeAnimation::sendAnimationEvent):
460 * page/gtk/EventHandlerGtk.cpp:
461 * page/mac/EventHandlerMac.mm:
462 (WebCore::isKeyboardOptionTab):
463 * page/mac/FrameMac.mm:
464 * page/qt/EventHandlerQt.cpp:
465 (WebCore::isKeyboardOptionTab):
466 * plugins/PluginView.cpp:
467 * plugins/gtk/PluginViewGtk.cpp:
468 * plugins/qt/PluginViewQt.cpp:
469 * plugins/win/PluginViewWin.cpp:
470 (WebCore::PluginView::handleKeyboardEvent):
471 (WebCore::PluginView::handleMouseEvent):
472 * rendering/MediaControlElements.cpp:
473 (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
474 (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
475 (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
476 (WebCore::MediaControlTimelineElement::defaultEventHandler):
477 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
478 * rendering/RenderFrameSet.cpp:
479 (WebCore::RenderFrameSet::userResize):
480 * rendering/RenderLayer.cpp:
481 (WebCore::RenderLayer::scrollToOffset):
482 * rendering/RenderListBox.cpp:
483 (WebCore::RenderListBox::valueChanged):
484 * rendering/RenderMedia.cpp:
485 (WebCore::RenderMedia::forwardEvent):
486 * rendering/RenderObject.cpp:
487 * rendering/RenderSlider.cpp:
488 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
489 * rendering/RenderTextControl.cpp:
490 (WebCore::RenderTextControl::forwardEvent):
491 (WebCore::RenderTextControl::selectionChanged):
492 * rendering/RenderWidget.cpp:
493 * rendering/TextControlInnerElements.cpp:
494 (WebCore::TextControlInnerTextElement::defaultEventHandler):
495 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
496 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
497 * storage/LocalStorageArea.cpp:
498 (WebCore::LocalStorageArea::dispatchStorageEvent):
499 * storage/SessionStorageArea.cpp:
500 (WebCore::SessionStorageArea::dispatchStorageEvent):
501 * svg/SVGAElement.cpp:
502 (WebCore::SVGAElement::defaultEventHandler):
503 * svg/SVGDocument.cpp:
504 (WebCore::SVGDocument::dispatchZoomEvent):
505 (WebCore::SVGDocument::dispatchScrollEvent):
506 * svg/SVGElement.cpp:
507 (WebCore::SVGElement::parseMappedAttribute):
508 (WebCore::hasLoadListener):
509 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
510 * svg/SVGElementInstance.cpp:
511 (WebCore::SVGElementInstance::on*): (multiple methods)
512 (WebCore::SVGElementInstance::setOn*): (multiple methods)
513 * svg/SVGImageLoader.cpp:
514 (WebCore::SVGImageLoader::dispatchLoadEvent):
515 * svg/SVGSVGElement.cpp:
516 (WebCore::SVGSVGElement::parseMappedAttribute):
517 * svg/SVGScriptElement.cpp:
518 (WebCore::SVGScriptElement::dispatchErrorEvent):
519 * xml/XMLHttpRequest.cpp:
520 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
521 (WebCore::XMLHttpRequest::dispatchAbortEvent):
522 (WebCore::XMLHttpRequest::dispatchErrorEvent):
523 (WebCore::XMLHttpRequest::dispatchLoadEvent):
524 (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
525 (WebCore::XMLHttpRequest::dispatchProgressEvent):
526 * xml/XMLHttpRequestUpload.cpp:
527 (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
528 (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
529 (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
530 (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
531 (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
532 * xml/XPathResult.cpp:
533 (WebCore::XPathResult::XPathResult):
534 (WebCore::XPathResult::~XPathResult):
535 (WebCore::XPathResult::invalidateIteratorState):
536 Access event names via eventNames() function.
538 2008-11-04 Cameron Zwarich <zwarich@apple.com>
540 Reviewed by Mark Rowe.
542 Delete unused forwarding headers.
544 * ForwardingHeaders/kjs/Activation.h: Removed.
545 * ForwardingHeaders/kjs/Register.h: Removed.
546 * ForwardingHeaders/kjs/RegisterID.h: Removed.
548 2008-11-04 Cameron Zwarich <zwarich@apple.com>
552 Fix stupid typo in previous build fix.
554 * bindings/js/JSStorageCustom.cpp:
555 * bindings/scripts/CodeGeneratorJS.pm:
556 * bridge/NP_jsobject.cpp:
558 2008-11-03 Cameron Zwarich <zwarich@apple.com>
562 Fix the build for all non-Mac platforms.
564 * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
565 * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
566 * bindings/js/JSStorageCustom.cpp:
567 * bindings/scripts/CodeGeneratorJS.pm:
568 * bridge/NP_jsobject.cpp:
570 2008-11-03 Cameron Zwarich <zwarich@apple.com>
574 Fix the wxWindows build.
576 * bridge/c/c_instance.cpp:
578 2008-11-03 Cameron Zwarich <zwarich@apple.com>
580 Rubber-stamped by Maciej Stachowiak.
582 Move more files into the runtime subdirectory of JavaScriptCore.
584 * ForwardingHeaders/kjs/ArgList.h: Removed.
585 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
586 * ForwardingHeaders/kjs/ExecState.h: Removed.
587 * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
588 * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
589 * ForwardingHeaders/kjs/JSLock.h: Removed.
590 * ForwardingHeaders/kjs/SymbolTable.h: Removed.
591 * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
592 * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
593 * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
594 * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
595 * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
596 * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
597 * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
598 * bindings/js/GCController.cpp:
599 * bindings/js/JSCustomPositionCallback.cpp:
600 * bindings/js/JSCustomPositionErrorCallback.cpp:
601 * bindings/js/JSCustomSQLStatementCallback.cpp:
602 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
603 * bindings/js/JSCustomSQLTransactionCallback.cpp:
604 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
605 * bindings/js/JSCustomVoidCallback.cpp:
606 * bindings/js/JSCustomXPathNSResolver.cpp:
607 * bindings/js/JSDOMWindowBase.cpp:
608 * bindings/js/JSEventCustom.cpp:
609 * bindings/js/JSEventListener.cpp:
610 * bindings/js/JSNodeFilterCondition.cpp:
611 * bindings/js/ScheduledAction.cpp:
612 * bindings/js/ScriptController.cpp:
613 * bindings/js/ScriptControllerMac.mm:
614 * bindings/objc/WebScriptObject.mm:
615 * bridge/NP_jsobject.cpp:
616 * bridge/c/c_class.cpp:
617 * bridge/c/c_instance.cpp:
618 * bridge/c/c_runtime.cpp:
619 * bridge/c/c_utility.cpp:
620 * bridge/jni/jni_class.cpp:
621 * bridge/jni/jni_instance.cpp:
622 * bridge/jni/jni_jsobject.mm:
623 * bridge/jni/jni_objc.mm:
624 * bridge/jni/jni_runtime.cpp:
625 * bridge/jni/jni_runtime.h:
626 * bridge/jni/jni_utility.cpp:
627 * bridge/npruntime.cpp:
628 * bridge/objc/objc_instance.mm:
629 * bridge/objc/objc_runtime.mm:
630 * bridge/objc/objc_utility.mm:
631 * bridge/runtime.cpp:
634 * dom/NodeFilter.cpp:
635 * dom/NodeIterator.cpp:
636 * dom/TreeWalker.cpp:
637 * history/CachedPage.cpp:
638 * inspector/InspectorController.cpp:
639 * inspector/JavaScriptCallFrame.cpp:
640 * inspector/JavaScriptCallFrame.h:
641 * inspector/JavaScriptDebugServer.cpp:
642 * inspector/JavaScriptProfileNode.cpp:
643 * loader/FrameLoader.cpp:
644 * loader/icon/IconDatabase.cpp:
647 * page/mac/FrameMac.mm:
648 * plugins/PluginView.cpp:
649 * plugins/gtk/PluginViewGtk.cpp:
650 * plugins/qt/PluginViewQt.cpp:
651 * plugins/win/PluginViewWin.cpp:
652 * storage/Database.cpp:
653 * xml/XMLHttpRequest.cpp:
655 2008-11-03 Cameron Zwarich <zwarich@apple.com>
657 Reviewed by Sam Weinig.
659 Remove the forwarding header for FunctionCallProfile, because it was
660 renamed to ProfileNode in r33466.
662 * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
664 2008-11-03 Simon Fraser <simon.fraser@apple.com>
666 Reviewed by Dave Hyatt
668 https://bugs.webkit.org/show_bug.cgi?id=22026
670 When computing the bounds of the transparency layer, we need to
671 map the clipRect through the enclosing transform.
673 Test: fast/layers/opacity-transforms.html
675 * rendering/RenderLayer.cpp:
676 (WebCore::transparencyClipBox):
678 2008-11-03 Kevin Decker <kdecker@apple.com>
680 Reviewed by Anders Carlsson.
682 https://bugs.webkit.org/show_bug.cgi?id=22053
684 Added additional support needed for the NPDrawingModelCoreAnimation drawing model.
688 2008-11-03 Xan Lopez <xan@gnome.org>
690 Reviewed by Alp Toker.
692 Update parseDataUrl() function in the libsoup http backend with
693 the one from the curl backend which has recent correctness and crash
696 * platform/network/soup/ResourceHandleSoup.cpp:
697 (WebCore::parseDataUrl):
699 2008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
701 Reviewed by Alp Toker.
703 https://bugs.webkit.org/show_bug.cgi?id=22041
704 Fix CURL crashes on the test suite
706 Fix segfault with setDefersLoading(). Do not call into curl when we
707 don't have a CURL handle.
709 It is attempted to defer the loading before the load has been
710 started (no curl handle was allocated yet). If that happens then
711 just remember that. ResourceHandleManager::startJob is already taking
712 care of this and in initResourceHandle the the downloading will
715 Fixes fast/loader/simultaneous-reloads-assert.html
717 * platform/network/curl/ResourceHandleCurl.cpp:
718 (WebCore::ResourceHandle::setDefersLoading):
720 2008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
722 Reviewed by Alp Toker.
724 https://bugs.webkit.org/show_bug.cgi?id=22041
725 Fix CURL crashes on the test suite
727 Do not send "no data" to WebCore in parseDataUrl().
729 Fixes assert on fast/tokenizer/image-empty-crash.html
731 * platform/network/curl/ResourceHandleManager.cpp:
732 (WebCore::parseDataUrl):
734 2008-11-02 Xan Lopez <xan@gnome.org>
736 Reviewed by Holger Freyther.
738 https://bugs.webkit.org/show_bug.cgi?id=22009
739 HTML5 Video with GStreamer pulls gnome-vfs without using it
741 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
742 Remove gnome-vfs include.
744 2008-11-01 Adam Barth <abarth@webkit.org>
746 Reviewed by Sam Weinig.
748 Be sure to check the final URLs of requested resources to make sure we
749 don't get fooled by HTTP redirects.
751 https://bugs.webkit.org/show_bug.cgi?id=21963
753 Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
754 http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
756 * dom/XMLTokenizerLibxml2.cpp:
758 * loader/DocLoader.cpp:
759 (WebCore::DocLoader::canRequest):
760 (WebCore::DocLoader::requestResource):
761 * loader/DocLoader.h:
762 * xml/XSLTProcessor.cpp:
763 (WebCore::docLoaderFunc):
765 2008-11-01 Alexey Proskuryakov <ap@webkit.org>
767 Reviewed by Darin Adler.
769 https://bugs.webkit.org/show_bug.cgi?id=22001
770 AtomicStringImpl* keys of event listener maps can outlive their strings
772 Test: fast/events/destroyed-atomic-string.html
774 * dom/MessagePort.cpp:
775 (WebCore::MessagePort::addEventListener):
776 (WebCore::MessagePort::removeEventListener):
777 (WebCore::MessagePort::dispatchEvent):
779 * loader/appcache/DOMApplicationCache.cpp:
780 (WebCore::DOMApplicationCache::addEventListener):
781 (WebCore::DOMApplicationCache::removeEventListener):
782 (WebCore::DOMApplicationCache::dispatchEvent):
783 * loader/appcache/DOMApplicationCache.h:
784 * xml/XMLHttpRequest.cpp:
785 (WebCore::XMLHttpRequest::addEventListener):
786 (WebCore::XMLHttpRequest::removeEventListener):
787 (WebCore::XMLHttpRequest::dispatchEvent):
788 * xml/XMLHttpRequest.h:
789 * xml/XMLHttpRequestUpload.cpp:
790 (WebCore::XMLHttpRequestUpload::addEventListener):
791 (WebCore::XMLHttpRequestUpload::removeEventListener):
792 (WebCore::XMLHttpRequestUpload::dispatchEvent):
793 * xml/XMLHttpRequestUpload.h:
794 Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
796 2008-10-31 Alexey Proskuryakov <ap@webkit.org>
798 Reviewed by Darin Adler.
800 https://bugs.webkit.org/show_bug.cgi?id=21998
801 Use JSDOMGlobalObject in EventListener-related bindings
803 * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
805 * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
806 bindings for inline event handlers.
808 * bindings/js/JSDOMApplicationCacheCustom.cpp:
809 (WebCore::JSDOMApplicationCache::addEventListener):
810 (WebCore::JSDOMApplicationCache::removeEventListener):
811 * bindings/js/JSEventTargetNodeCustom.cpp:
812 (WebCore::JSEventTargetNode::addEventListener):
813 (WebCore::JSEventTargetNode::removeEventListener):
814 * bindings/js/JSMessagePortCustom.cpp:
815 (WebCore::JSMessagePort::removeEventListener):
816 * bindings/js/JSSVGElementInstanceCustom.cpp:
817 (WebCore::JSSVGElementInstance::addEventListener):
818 (WebCore::JSSVGElementInstance::removeEventListener):
819 * bindings/js/JSXMLHttpRequestCustom.cpp:
820 (WebCore::JSXMLHttpRequest::addEventListener):
821 (WebCore::JSXMLHttpRequest::removeEventListener):
822 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
823 (WebCore::JSXMLHttpRequestUpload::addEventListener):
824 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
825 Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
828 * dom/EventTargetNode.cpp:
829 (WebCore::EventTargetNode::scriptExecutionContext):
830 * dom/EventTargetNode.h:
831 * dom/MessagePort.cpp:
833 (WebCore::MessagePort::scriptExecutionContext):
834 * loader/appcache/DOMApplicationCache.cpp:
835 (WebCore::DOMApplicationCache::scriptExecutionContext):
836 * loader/appcache/DOMApplicationCache.h:
837 * svg/SVGElementInstance.cpp:
838 (WebCore::SVGElementInstance::scriptExecutionContext):
839 * svg/SVGElementInstance.h:
840 * xml/XMLHttpRequest.cpp:
841 (WebCore::XMLHttpRequest::scriptExecutionContext):
842 * xml/XMLHttpRequest.h:
843 * xml/XMLHttpRequestUpload.cpp:
844 (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
845 * xml/XMLHttpRequestUpload.h:
846 Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
849 2008-10-31 Cameron Zwarich <zwarich@apple.com>
851 Rubber-stamped by Geoff Garen.
853 Rename SourceRange.h to SourceCode.h.
855 * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
856 * ForwardingHeaders/kjs/SourceRange.h: Removed.
857 * bindings/js/StringSourceProvider.h:
858 * bridge/NP_jsobject.cpp:
860 2008-10-31 Cameron Zwarich <zwarich@apple.com>
862 Reviewed by Darin Adler.
864 Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
865 <https://bugs.webkit.org/show_bug.cgi?id=22019>
869 (WebCore::printToStandardOut):
870 (WebCore::Console::shouldPrintExceptions):
871 (WebCore::Console::setShouldPrintExceptions):
874 2008-10-31 Dan Bernstein <mitz@apple.com>
876 Reviewed by John Sullivan.
878 - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
881 (WebCore::Document::cookie): Added checking if cookies are disabled.
882 (WebCore::Document::setCookie): Ditto.
883 * page/Navigator.cpp:
884 (WebCore::Navigator::cookieEnabled): Ditto.
886 (WebCore::Page::Page): Initialize m_cookieEnabled to true.
888 (WebCore::Page::cookieEnabled): Added.
889 (WebCore::Page::setCookieEnabled): Added.
891 2008-10-31 Adele Peterson <adele@apple.com>
893 Reviewed by Darin Adler.
895 WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
896 https://bugs.webkit.org/show_bug.cgi?id=22008
898 * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon):
899 Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
900 * platform/graphics/Icon.h: ditto.
901 * platform/graphics/gtk/IconGtk.cpp:
902 (WebCore::Icon::createIconForFile): ditto.
903 (WebCore::Icon::createIconForFiles): ditto.
904 * platform/graphics/mac/IconMac.mm:
905 (WebCore::Icon::createIconForFile): ditto.
906 (WebCore::Icon::createIconForFiles): ditto.
907 * platform/graphics/qt/IconQt.cpp:
908 (WebCore::Icon::createIconForFile): ditto.
909 (WebCore::Icon::createIconForFiles): ditto.
910 * platform/wx/TemporaryLinkStubs.cpp:
911 (Icon::createIconForFile): ditto.
912 (Icon::createIconForFiles): ditto.
913 * platform/graphics/win/IconWin.cpp:
914 (WebCore::Icon::createIconForFile): ditto.
915 (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
917 * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
918 Improve icon creation code to match new code in Icon::createIconForFiles
920 2008-10-31 Timothy Hatcher <timothy@apple.com>
922 Add manual tests that check breakpoints on a blockless body of "for" loops.
924 https://bugs.webkit.org/show_bug.cgi?id=22004
926 Reviewed by Darin Adler.
928 * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
929 * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
931 2008-10-31 Darin Adler <darin@apple.com>
935 * platform/win/WCDataObject.cpp: Added missing include of "config.h".
937 2008-10-30 Alexey Proskuryakov <ap@webkit.org>
939 Reviewed by Darin Adler.
941 https://bugs.webkit.org/show_bug.cgi?id=21970
942 Make MessagePort event dispatch work in workers
944 * bindings/js/JSDOMGlobalObject.cpp:
945 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
946 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
947 (WebCore::JSDOMGlobalObject::findJSEventListener):
948 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
949 (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
950 (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
951 (WebCore::JSDOMGlobalObject::jsEventListeners):
952 (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
953 (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
954 (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
955 (WebCore::JSDOMGlobalObject::setCurrentEvent):
956 (WebCore::JSDOMGlobalObject::currentEvent):
957 (WebCore::toJSDOMGlobalObject):
958 * bindings/js/JSDOMGlobalObject.h:
959 * bindings/js/JSDOMWindowBase.cpp:
960 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
961 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
962 (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
963 * bindings/js/JSDOMWindowBase.h:
964 Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
966 * bindings/js/JSEventListener.cpp:
967 (WebCore::JSAbstractEventListener::handleEvent):
968 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
969 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
970 (WebCore::JSUnprotectedEventListener::globalObject):
971 (WebCore::JSUnprotectedEventListener::clearGlobalObject):
972 (WebCore::JSEventListener::JSEventListener):
973 (WebCore::JSEventListener::~JSEventListener):
974 (WebCore::JSEventListener::globalObject):
975 (WebCore::JSEventListener::clearGlobalObject):
976 (WebCore::JSLazyEventListener::JSLazyEventListener):
977 (WebCore::JSLazyEventListener::parseCode):
978 * bindings/js/JSEventListener.h:
979 (WebCore::JSUnprotectedEventListener::create):
980 (WebCore::JSEventListener::create):
981 (WebCore::JSLazyEventListener::create):
982 Changed to use JSDOMGlobalObject and ScriptExecutionContext.
984 * bindings/js/JSMessagePortCustom.cpp:
985 (WebCore::JSMessagePort::startConversation):
986 (WebCore::JSMessagePort::addEventListener):
987 (WebCore::JSMessagePort::removeEventListener):
988 (WebCore::JSMessagePort::setOnmessage):
989 (WebCore::JSMessagePort::setOnclose):
990 Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
991 such code, and stop using a custom implementation for JSMessagePort inline event handler
995 (WebCore::Document::virtualURL):
997 * dom/ScriptExecutionContext.h:
998 Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
999 JSLazyEventListener).
1001 2008-10-31 Cameron Zwarich <zwarich@apple.com>
1005 Speculative wxWindows build fix.
1009 2008-10-30 Mark Rowe <mrowe@apple.com>
1011 Reviewed by Jon Homeycutt.
1013 Explicitly default to building for only the native architecture in debug and release builds.
1015 * Configurations/DebugRelease.xcconfig:
1017 2008-10-30 Cameron Zwarich <zwarich@apple.com>
1019 Rubber-stamped by Sam Weinig.
1021 Create a debugger directory in JavaScriptCore and move the relevant
1024 * ForwardingHeaders/debugger: Added.
1025 * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
1026 * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
1027 * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
1028 * ForwardingHeaders/kjs/debugger.h: Removed.
1030 * bindings/js/ScriptController.cpp:
1031 * inspector/JavaScriptCallFrame.cpp:
1032 * inspector/JavaScriptCallFrame.h:
1033 * inspector/JavaScriptDebugServer.cpp:
1034 * inspector/JavaScriptDebugServer.h:
1036 2008-10-30 Tony Chang <tony@chromium.org>
1038 Fix 2 Windows theme bugs:
1039 1) Checkboxes marked readonly were rendered incorrectly
1040 2) If a button has focus and is pressed, it was rendered
1041 as focused rather than pressed.
1043 https://bugs.webkit.org/show_bug.cgi?id=21859
1045 Reviewed by Dave Hyatt.
1047 * rendering/RenderThemeWin.cpp:
1048 (WebCore::RenderThemeWin::determineState):
1049 (WebCore::RenderThemeWin::determineButtonState):
1051 2008-10-30 Benjamin K. Stuhl <bks24@cornell.edu>
1053 gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
1054 warnings; add some parentheses to disambiguate things. No functional
1055 changes, so no tests.
1057 https://bugs.webkit.org/show_bug.cgi?id=21973
1058 Add parentheses to clean up some gcc warnings
1060 Reviewed by Dan Bernstein.
1062 * platform/graphics/Font.h:
1063 (WebCore::Font::treatAsZeroWidthSpace):
1065 2008-10-30 Aaron Boodman <aa@chromium.org>
1067 Added an explicit dependency on HashMap.h. It was getting pulled in via
1068 <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
1070 Reviewed by Darin Adler.
1072 * platform/text/PlatformString.h:
1074 2008-10-30 Greg Bolsinga <bolsinga@apple.com>
1076 Reviewed by Sam Weinig
1078 https://bugs.webkit.org/show_bug.cgi?id=21967
1080 For some platforms the GeolocationService must be suspended and resumed.
1082 * page/Geolocation.cpp:
1083 (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
1084 (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
1085 (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
1086 (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
1087 * page/Geolocation.h:
1088 (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
1089 * platform/GeolocationService.h:
1090 (WebCore::GeolocationService::suspend): empty implementation
1091 (WebCore::GeolocationService::resume): empty implementation
1093 2008-10-30 Greg Bolsinga <bolsinga@apple.com>
1095 Reviewed by Sam Weinig
1097 https://bugs.webkit.org/show_bug.cgi?id=21966
1099 The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
1100 http://dev.w3.org/geo/api/spec-source.html
1102 * page/Geolocation.cpp:
1103 (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
1104 * page/Geoposition.cpp: velocity is now called speed
1105 (WebCore::Geoposition::toString):
1106 * page/Geoposition.h: velocity is now called speed
1107 (WebCore::Geoposition::create):
1108 (WebCore::Geoposition::speed):
1109 (WebCore::Geoposition::Geoposition):
1110 * page/Geoposition.idl: velocity is now called speed
1111 * page/PositionOptions.h: timeout is now unsigned
1112 (WebCore::PositionOptions::create):
1113 (WebCore::PositionOptions::timeout):
1114 (WebCore::PositionOptions::setTimeout):
1115 (WebCore::PositionOptions::PositionOptions):
1116 * page/PositionOptions.idl: timeout is now unsigned long
1118 2008-10-30 Justin Garcia <justin.garcia@apple.com>
1120 Also handle preserved newlines.
1122 * editing/BreakBlockquoteCommand.cpp:
1123 (WebCore::BreakBlockquoteCommand::doApply):
1125 2008-10-30 Justin Garcia <justin.garcia@apple.com>
1127 Reviewed by Beth Dakin.
1129 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1131 * editing/BreakBlockquoteCommand.cpp:
1132 (WebCore::BreakBlockquoteCommand::doApply):
1133 Don't store the endingSelection() in selection, just call endingSelection() in the few places it's
1134 needed. This function is cheap since it just returns a reference to a Selection instead of creating one.
1135 Don't store an affinity. In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
1136 we now use visiblePos (in order to avoid VisiblePosition creation).
1137 Set pos after we delete the current selection (if there is one), and be consistent about what we set
1138 pos to. Before, we upstream()ed it if there was a selection to delete and left it alone otherwise. In fact...
1139 ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is
1140 in the first node that we want to move. This fixes the bug, since it lets code that checks for the case
1141 where the caret is between text and a br work correctly.
1143 2008-10-30 Yael Aharon <yael.aharon@nokia.com>
1145 Reviewed by Darin Adler.
1149 https://bugs.webkit.org/show_bug.cgi?id=21969
1151 * inspector/front-end/WebKit.qrc:
1152 * platform/graphics/qt/ImageBufferQt.cpp:
1153 (WebCore::ImageBufferData::ImageBufferData):
1154 (WebCore::ImageBuffer::ImageBuffer):
1155 (WebCore::ImageBuffer::context):
1156 (WebCore::ImageBuffer::image):
1157 (WebCore::ImageBuffer::toDataURL):
1159 2008-10-30 Justin Garcia <justin.garcia@apple.com>
1161 Reviewed by Darin Adler.
1163 More preparation for:
1164 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1166 * editing/BreakBlockquoteCommand.cpp:
1167 (WebCore::BreakBlockquoteCommand::doApply): Added comments. Don't need to use newStartNode. If the
1168 startNode needs to change, change it. Afterwords, check to make sure that it hasn't left topBlockquote.
1169 This is slightly stricter than before, where we just made sure that it still had a topBlockquote. This
1170 doesn't really fix a bug, since we can't really get into a situation where we move to a different
1171 topBlockquote, but it simplifies the code.
1173 2008-10-30 Dirk Schulze <vbs85@gmx.de>
1175 Reviewed by Alp Toker.
1177 https://bugs.webkit.org/show_bug.cgi?id=21883
1178 [CAIRO] globalAlpha has to be stored and restored
1180 Cairo's globalAlpha has to be stored and reloaded on calling
1181 save() and restore(). We use the power of GraphicsContextState for this.
1183 * platform/graphics/GraphicsContextPrivate.h:
1184 (WebCore::GraphicsContextState::GraphicsContextState):
1185 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1186 (WebCore::GraphicsContext::fillPath):
1187 (WebCore::GraphicsContext::strokePath):
1188 (WebCore::GraphicsContext::setAlpha):
1189 (WebCore::GraphicsContext::getAlpha):
1190 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1191 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1193 2008-10-29 Alexey Proskuryakov <ap@webkit.org>
1195 Reviewed by Maciej Stachowiak.
1197 Rename "attachedToEventTargetNode" to "isInline".
1199 Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
1200 XMLHttpRequest, MessagePort et al.
1202 Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
1203 attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
1204 And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
1205 "inlineEventListenerForType", as they work with inline listeners.
1207 * bindings/js/JSDOMApplicationCacheCustom.cpp:
1208 (WebCore::JSDOMApplicationCache::addEventListener):
1209 (WebCore::JSDOMApplicationCache::removeEventListener):
1210 * bindings/js/JSMessagePortCustom.cpp:
1211 (WebCore::JSMessagePort::setOnmessage):
1212 (WebCore::JSMessagePort::setOnclose):
1213 * bindings/js/JSXMLHttpRequestCustom.cpp:
1214 (WebCore::JSXMLHttpRequest::addEventListener):
1215 (WebCore::JSXMLHttpRequest::removeEventListener):
1216 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1217 (WebCore::JSXMLHttpRequestUpload::addEventListener):
1218 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1219 Pass a correct value for this argument - callers used to be confused, because they didn't
1220 consider themselves event target nodes. This doesn't affect behavior however, as the only
1221 difference between inline and non-inline event handlers is that the former treat
1222 "return false" as "event.preventDefault()", which is not important to any of these objects.
1224 * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
1225 Assert that isInline is true instead of checking its value, as the constructor of this class
1226 always sets it to true.
1228 * bindings/js/JSDOMWindowBase.cpp:
1229 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
1230 (WebCore::JSDOMWindowBase::findJSEventListener):
1231 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
1232 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
1233 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
1234 (WebCore::JSDOMWindowBase::jsInlineEventListeners):
1235 (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
1236 * bindings/js/JSDOMWindowBase.h:
1237 * bindings/js/JSEventListener.cpp:
1238 (WebCore::JSAbstractEventListener::handleEvent):
1239 (WebCore::JSAbstractEventListener::isInline):
1240 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
1241 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
1242 (WebCore::JSEventListener::JSEventListener):
1243 (WebCore::JSEventListener::~JSEventListener):
1244 (WebCore::JSLazyEventListener::parseCode):
1245 * bindings/js/JSEventListener.h:
1246 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
1247 (WebCore::JSUnprotectedEventListener::create):
1248 (WebCore::JSEventListener::create):
1249 * bindings/js/ScriptController.cpp:
1250 (WebCore::ScriptController::createInlineEventHandler):
1251 * bindings/js/ScriptController.h:
1253 (WebCore::Document::setWindowInlineEventListenerForType):
1254 (WebCore::Document::windowInlineEventListenerForType):
1255 (WebCore::Document::removeWindowInlineEventListenerForType):
1256 (WebCore::Document::createEventListener):
1257 (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
1259 * dom/EventListener.h:
1260 (WebCore::EventListener::isInline):
1261 * dom/EventTargetNode.cpp:
1262 (WebCore::EventTargetNode::removeInlineEventListenerForType):
1263 (WebCore::EventTargetNode::setInlineEventListenerForType):
1264 (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
1265 (WebCore::EventTargetNode::inlineEventListenerForType):
1266 (WebCore::EventTargetNode::on*): (many methods)
1267 (WebCore::EventTargetNode::setOn*): (many methods)
1268 * dom/EventTargetNode.h:
1269 * editing/ReplaceSelectionCommand.cpp:
1270 (WebCore::ReplacementFragment::ReplacementFragment):
1271 * html/HTMLBodyElement.cpp:
1272 (WebCore::HTMLBodyElement::parseMappedAttribute):
1273 * html/HTMLButtonElement.cpp:
1274 (WebCore::HTMLButtonElement::parseMappedAttribute):
1275 * html/HTMLElement.cpp:
1276 (WebCore::HTMLElement::parseMappedAttribute):
1277 * html/HTMLFormElement.cpp:
1278 (WebCore::HTMLFormElement::parseMappedAttribute):
1279 * html/HTMLFrameElementBase.cpp:
1280 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
1281 * html/HTMLFrameSetElement.cpp:
1282 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1283 * html/HTMLImageElement.cpp:
1284 (WebCore::HTMLImageElement::parseMappedAttribute):
1285 * html/HTMLInputElement.cpp:
1286 (WebCore::HTMLInputElement::parseMappedAttribute):
1287 * html/HTMLObjectElement.cpp:
1288 (WebCore::HTMLObjectElement::parseMappedAttribute):
1289 * html/HTMLScriptElement.cpp:
1290 (WebCore::HTMLScriptElement::parseMappedAttribute):
1291 * html/HTMLSelectElement.cpp:
1292 (WebCore::HTMLSelectElement::parseMappedAttribute):
1293 * html/HTMLTextAreaElement.cpp:
1294 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
1295 * page/AccessibilityRenderObject.cpp:
1296 (WebCore::AccessibilityRenderObject::mouseButtonListener):
1297 * page/DOMWindow.cpp:
1298 (WebCore::DOMWindow::setInlineEventListenerForType):
1299 (WebCore::DOMWindow::inlineEventListenerForType):
1300 (WebCore::DOMWindow::on*): (many methods)
1301 (WebCore::DOMWindow::setOn*): (many methods)
1303 * svg/SVGElement.cpp:
1304 (WebCore::SVGElement::parseMappedAttribute):
1305 * svg/SVGElementInstance.cpp:
1306 (WebCore::SVGElementInstance::on*): (many methods)
1307 (WebCore::SVGElementInstance::setOn*): (many methods)
1308 * svg/SVGSVGElement.cpp:
1309 (WebCore::SVGSVGElement::parseMappedAttribute):
1310 Rename things, as described above.
1312 2008-10-29 Gustavo Noronha Silva <gns@gnome.org>
1314 Reviewed and slightly changed by Holger Freyther.
1316 Added all the files that need to be installed for the Inspector to
1319 * GNUmakefile.am: Invoke the shell to get the files.
1321 2008-10-29 Andrew Scherkus <scherkus@chromium.org>
1323 Reviewed by Darin Adler
1325 Add MediaPlayerPrivateChromium to MediaPlayer
1326 https://bugs.webkit.org/show_bug.cgi?id=21930
1328 * platform/graphics/MediaPlayer.cpp:
1330 2008-10-29 Justin Garcia <justin.garcia@apple.com>
1332 Reviewed by Darin Adler.
1334 Some preparation for:
1335 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
1337 Added an early return to avoid a level of if-nesting. No other changes. We probably don't
1338 need to rebalance whitespace before the early return but for now don't risk any change in behavior
1339 I'll revisit that later.
1341 * editing/BreakBlockquoteCommand.cpp:
1342 (WebCore::BreakBlockquoteCommand::doApply):
1344 2008-10-29 Kevin Ollivier <kevino@theolliviers.com>
1346 wx build fixes after addition of runtime and ImageBuffer changes.
1348 * platform/graphics/wx/ImageBufferData.h: Added.
1349 * platform/graphics/wx/ImageBufferWx.cpp:
1350 (WebCore::ImageBufferData::ImageBufferData):
1351 (WebCore::ImageBuffer::ImageBuffer):
1352 (WebCore::ImageBuffer::context):
1355 2008-10-29 Brett Wilson <brettw@chromium.org>
1357 Reviewed by Darin Adler
1358 https://bugs.webkit.org/attachment.cgi?id=24745
1360 Allow Skia implementations to get text style changed notifications.
1362 * platform/graphics/GraphicsContext.cpp:
1364 2008-10-29 Timothy Hatcher <timothy@apple.com>
1366 Add a manual test that checks breakpoints on a blockless body of
1367 an "else" statement.
1369 https://bugs.webkit.org/show_bug.cgi?id=21944
1371 Reviewed by Maciej Stachowiak.
1373 * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
1375 2008-10-29 Alexey Proskuryakov <ap@webkit.org>
1377 Reviewed by Darin Adler.
1379 https://bugs.webkit.org/show_bug.cgi?id=21921
1380 MessagePort messages are dispatched to documents that are not fully active
1382 Covered by corrected fast/events/message-port-inactive-document.html
1384 * bindings/js/JSEventListener.cpp:
1385 (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
1386 that are not fully active.
1388 2008-10-29 Alexey Proskuryakov <ap@webkit.org>
1390 Reviewed by Sam Weinig.
1392 https://bugs.webkit.org/show_bug.cgi?id=21922
1393 Expose MessagePort global constructor
1395 Covered by existing dumper tests.
1397 * dom/MessagePort.idl:
1398 * page/DOMWindow.idl:
1400 2008-10-29 Alexey Proskuryakov <ap@webkit.org>
1402 Reviewed by Darin Adler.
1404 https://bugs.webkit.org/show_bug.cgi?id=21924
1405 HashTable internal index is not always deleted
1407 * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
1408 Call deleteTable for HashTables that are being deleted.
1410 2008-10-28 Alexey Proskuryakov <ap@webkit.org>
1412 Reviewed by Darin Adler.
1414 https://bugs.webkit.org/show_bug.cgi?id=21923
1415 Create an abstraction for script execution context
1419 * WebCore.vcproj/WebCore.vcproj:
1420 * WebCore.xcodeproj/project.pbxproj:
1421 * WebCoreSources.bkl:
1422 Added ScriptExecutionContext.{h,cpp}.
1424 * bindings/js/JSAudioConstructor.cpp:
1425 (WebCore::JSAudioConstructor::JSAudioConstructor):
1426 * bindings/js/JSAudioConstructor.h:
1427 * bindings/js/JSImageConstructor.cpp:
1428 (WebCore::JSImageConstructor::JSImageConstructor):
1429 * bindings/js/JSImageConstructor.h:
1430 * bindings/js/JSOptionConstructor.cpp:
1431 (WebCore::JSOptionConstructor::JSOptionConstructor):
1432 * bindings/js/JSOptionConstructor.h:
1433 * bindings/js/JSXMLHttpRequestConstructor.cpp:
1434 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1435 * bindings/js/JSXMLHttpRequestConstructor.h:
1436 Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
1437 Since these objects can only work within documents now, it is immediately converted back
1440 * bindings/js/JSMessageChannelConstructor.cpp:
1441 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
1442 (WebCore::JSMessageChannelConstructor::construct):
1443 * bindings/js/JSMessageChannelConstructor.h:
1444 (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
1445 MessageChannel needs to be supported in workers right away, so the constructor operates with
1448 * dom/ActiveDOMObject.cpp:
1449 (WebCore::ActiveDOMObject::ActiveDOMObject):
1450 (WebCore::ActiveDOMObject::~ActiveDOMObject):
1451 (WebCore::ActiveDOMObject::contextDestroyed):
1452 * dom/ActiveDOMObject.h:
1453 (WebCore::ActiveDOMObject::scriptExecutionContext):
1454 * bindings/js/JSDOMBinding.cpp:
1455 (WebCore::markActiveObjectsForContext):
1456 (WebCore::markCrossHeapDependentObjectsForContext):
1457 Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
1458 tracking is handled by ScriptExecutionContext.
1460 * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
1462 * bindings/js/JSDOMGlobalObject.h:
1463 (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
1464 Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
1465 to worker context implementation.
1466 (WebCore::scriptExecutionContext): Added a pure virtual method to access
1467 ScriptExecutionContext, implemented by subclasses.
1469 * bindings/js/JSDOMWindowBase.h:
1470 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
1471 Implement by returning the associated document. Note that this method currently gives bogus
1472 results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
1473 that is currently in the frame, not the one associated with this window.
1475 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
1477 * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
1478 Call markActiveObjectsForContext() by its new name.
1480 * dom/DedicatedWorker.cpp:
1481 (WebCore::DedicatedWorker::DedicatedWorker):
1482 (WebCore::DedicatedWorker::document):
1483 * dom/DedicatedWorker.h:
1484 * xml/XMLHttpRequest.cpp:
1485 (WebCore::XMLHttpRequest::document):
1486 * xml/XMLHttpRequest.h:
1487 Added a document() function that upcasts ScriptExecutionContext, as these objects only work
1488 within documents currently (at least for XMLHttpRequest, this will change soon though).
1491 (WebCore::Document::Document):
1492 (WebCore::Document::~Document):
1493 Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
1497 (WebCore::Document::isDocument):
1498 (WebCore::Document::refScriptExecutionContext):
1499 (WebCore::Document::derefScriptExecutionContext):
1500 Inherit from ScriptExecutionContext.
1502 * dom/MessageChannel.cpp:
1503 (WebCore::MessageChannel::MessageChannel):
1504 * dom/MessageChannel.h:
1505 (WebCore::MessageChannel::create):
1506 Use ScriptExecutionContext instead of Document.
1508 * dom/MessagePort.cpp:
1509 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
1510 MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
1511 unrelated issue that was causing random crashes in layout tests).
1512 (WebCore::MessagePort::MessagePort):
1513 (WebCore::MessagePort::~MessagePort):
1514 (WebCore::MessagePort::associatedFrame):
1515 (WebCore::MessagePort::clone):
1516 (WebCore::MessagePort::postMessage):
1517 (WebCore::MessagePort::startConversation):
1518 (WebCore::MessagePort::start):
1519 (WebCore::MessagePort::contextDestroyed):
1520 (WebCore::MessagePort::dispatchMessages):
1521 * dom/MessagePort.h:
1522 (WebCore::MessagePort::create):
1523 (WebCore::MessagePort::scriptExecutionContext):
1524 Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
1525 work in worker contexts - we need to also make some its method thread safe for cross-thread
1526 messaging, and make event dispatching thread safe.
1528 * dom/ScriptExecutionContext.cpp: Added.
1529 * dom/ScriptExecutionContext.h: Added.
1530 ActiveDOMObject and MessagePort tracking is moved from Document.
1531 It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
1532 but as I'm just moving Document code, and it is Document that is the main context object
1533 in our implementation currently.
1534 Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
1535 seem non-trivial to fix, and isn't really a part of this task.
1537 2008-10-28 Alp Toker <alp@nuanti.com>
1539 List newly-added ImageBufferData.h in build system.
1543 2008-10-28 Alp Toker <alp@nuanti.com>
1545 Reviewed by Cameron Zwarich.
1547 De-list unused WebCore ForwardingHeaders to fix the dist target.
1551 2008-10-28 Cameron Zwarich <zwarich@apple.com>
1555 Attempt to fix the Windows build by generating Forwardingheaders for the
1556 runtime directory in JavaScriptCore.
1558 * WebCore.vcproj/WebCore.vcproj:
1560 2008-10-28 Justin Garcia <justin.garcia@apple.com>
1562 Reviewed by Darin Adler.
1564 <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
1566 * editing/Editor.cpp:
1567 (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
1568 (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which
1569 will probably require a change more complicated than just marking the learned word as
1570 misspelled. I'll address it with a separate patch.
1571 * editing/EditorCommand.cpp:
1572 (WebCore::executeIgnoreSpelling): Added.
1573 (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
1575 2008-10-28 Cameron Zwarich <zwarich@apple.com>
1577 Reviewed by Mark Rowe.
1579 Move ForwardingHeaders to their correct location after the creation of
1580 the runtime directory in JavaScriptCore.
1582 * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
1583 * ForwardingHeaders/kjs/BooleanObject.h: Removed.
1584 * ForwardingHeaders/kjs/CallData.h: Removed.
1585 * ForwardingHeaders/kjs/ConstructData.h: Removed.
1586 * ForwardingHeaders/kjs/DateInstance.h: Removed.
1587 * ForwardingHeaders/kjs/Error.h: Removed.
1588 * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
1589 * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
1590 * ForwardingHeaders/kjs/InternalFunction.h: Removed.
1591 * ForwardingHeaders/kjs/JSArray.h: Removed.
1592 * ForwardingHeaders/kjs/JSFunction.h: Removed.
1593 * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
1594 * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
1595 * ForwardingHeaders/kjs/JSObject.h: Removed.
1596 * ForwardingHeaders/kjs/JSString.h: Removed.
1597 * ForwardingHeaders/kjs/JSValue.h: Removed.
1598 * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
1599 * ForwardingHeaders/kjs/PropertyMap.h: Removed.
1600 * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
1601 * ForwardingHeaders/kjs/StringObject.h: Removed.
1602 * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
1603 * ForwardingHeaders/kjs/StringPrototype.h: Removed.
1604 * ForwardingHeaders/kjs/StructureID.h: Removed.
1605 * ForwardingHeaders/runtime: Added.
1606 * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
1607 * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
1608 * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
1609 * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
1610 * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
1611 * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
1612 * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
1613 * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
1614 * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
1615 * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
1616 * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
1617 * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
1618 * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
1619 * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
1620 * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
1621 * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
1622 * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
1623 * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
1624 * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
1625 * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
1626 * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
1627 * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
1628 * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
1629 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1630 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1631 * bindings/js/JSClipboardCustom.cpp:
1632 * bindings/js/JSConsoleCustom.cpp:
1633 * bindings/js/JSCustomPositionCallback.h:
1634 * bindings/js/JSCustomPositionErrorCallback.h:
1635 * bindings/js/JSCustomSQLStatementCallback.h:
1636 * bindings/js/JSCustomSQLStatementErrorCallback.h:
1637 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
1638 * bindings/js/JSCustomVoidCallback.h:
1639 * bindings/js/JSCustomXPathNSResolver.h:
1640 * bindings/js/JSDOMBinding.cpp:
1641 * bindings/js/JSDOMBinding.h:
1642 * bindings/js/JSDOMGlobalObject.h:
1643 * bindings/js/JSDOMWindowBase.cpp:
1644 * bindings/js/JSDOMWindowCustom.cpp:
1645 * bindings/js/JSDOMWindowShell.cpp:
1646 * bindings/js/JSDatabaseCustom.cpp:
1647 * bindings/js/JSEventListener.cpp:
1648 * bindings/js/JSEventTarget.h:
1649 * bindings/js/JSHTMLDocumentCustom.cpp:
1650 * bindings/js/JSHistoryCustom.cpp:
1651 * bindings/js/JSInspectedObjectWrapper.cpp:
1652 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1653 * bindings/js/JSLocationCustom.cpp:
1654 * bindings/js/JSNodeFilterCondition.h:
1655 * bindings/js/JSQuarantinedObjectWrapper.cpp:
1656 * bindings/js/JSQuarantinedObjectWrapper.h:
1657 * bindings/js/JSXMLHttpRequestCustom.cpp:
1658 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1659 * bindings/objc/WebScriptObject.mm:
1660 * bindings/objc/WebScriptObjectPrivate.h:
1661 * bindings/scripts/CodeGeneratorJS.pm:
1662 * bridge/NP_jsobject.cpp:
1663 * bridge/c/c_instance.cpp:
1664 * bridge/c/c_utility.cpp:
1665 * bridge/c/c_utility.h:
1666 * bridge/jni/jni_instance.cpp:
1667 * bridge/jni/jni_jsobject.h:
1668 * bridge/jni/jni_jsobject.mm:
1669 * bridge/jni/jni_runtime.cpp:
1670 * bridge/jni/jni_utility.cpp:
1671 * bridge/jni/jni_utility.h:
1672 * bridge/objc/objc_instance.mm:
1673 * bridge/objc/objc_runtime.h:
1674 * bridge/objc/objc_runtime.mm:
1675 * bridge/objc/objc_utility.h:
1676 * bridge/objc/objc_utility.mm:
1678 * bridge/runtime_array.cpp:
1679 * bridge/runtime_array.h:
1680 * bridge/runtime_method.cpp:
1681 * bridge/runtime_method.h:
1682 * bridge/runtime_object.cpp:
1683 * bridge/runtime_object.h:
1684 * bridge/runtime_root.cpp:
1685 * inspector/JavaScriptCallFrame.cpp:
1686 * inspector/JavaScriptProfile.cpp:
1687 * inspector/JavaScriptProfile.h:
1688 * inspector/JavaScriptProfileNode.cpp:
1689 * inspector/JavaScriptProfileNode.h:
1690 * loader/FrameLoader.cpp:
1692 * plugins/PluginView.cpp:
1693 * plugins/gtk/PluginViewGtk.cpp:
1694 * plugins/qt/PluginViewQt.cpp:
1695 * plugins/win/PluginViewWin.cpp:
1697 2008-10-28 Adele Peterson <adele@apple.com>
1699 Windows build fix. This removes Cairo include directories from non-Cairbo build configurations.
1701 * WebCore.vcproj/WebCore.vcproj:
1703 2008-10-28 Adele Peterson <adele@apple.com>
1707 * platform/graphics/ImageBuffer.h:
1708 (WebCore::ImageBuffer::create):
1710 2008-10-28 Cameron Zwarich <zwarich@apple.com>
1714 Roll out a mistaken attempt at fixing the GTK build in r37947.
1718 2008-10-28 Adele Peterson <adele@apple.com>
1720 Reviewed by John Sullivan.
1722 Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
1723 "files" string for multifile uploads needs to be localized
1725 * page/mac/WebCoreViewFactory.h:
1726 * platform/LocalizedStrings.h:
1727 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
1728 * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
1729 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
1730 * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
1731 * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
1732 * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
1734 2008-10-28 Brett Wilson <brettw@chromium.org>
1736 Reviewed by Darin Adler.
1738 https://bugs.webkit.org/show_bug.cgi?id=21816
1740 Remove platform ifdefs in ImageBuffer.h by moving platform specific code
1741 into a new PlatformImageBuffer class. Move the static create function
1742 into the header because it can be cross-platform. Initialization now
1743 happens in the cunstructor which sets a flag that create uses to know
1744 whether it should return null or not. I also made passing of IntSize
1745 more consistent (always by reference).
1747 This change also changes the ifdefs in GraphicsContext to allow Skia
1748 ports to implement text drawing modes.
1750 * platform/graphics/ImageBuffer.h:
1751 (WebCore::ImageBuffer::create):
1752 (WebCore::ImageBuffer::size):
1753 * platform/graphics/cairo/ImageBufferCairo.cpp:
1754 (WebCore::ImageBufferData::ImageBufferData):
1755 (WebCore::ImageBuffer::ImageBuffer):
1756 (WebCore::ImageBuffer::~ImageBuffer):
1757 (WebCore::ImageBuffer::image):
1758 (WebCore::ImageBuffer::getImageData):
1759 (WebCore::ImageBuffer::putImageData):
1760 * platform/graphics/cairo/ImageBufferData.h:
1761 * platform/graphics/cg/ImageBufferCG.cpp:
1762 (WebCore::ImageBufferData::ImageBufferData):
1763 (WebCore::ImageBuffer::ImageBuffer):
1764 (WebCore::ImageBuffer::~ImageBuffer):
1765 (WebCore::ImageBuffer::getImageData):
1766 (WebCore::ImageBuffer::putImageData):
1767 * platform/graphics/cg/ImageBufferData.h:
1768 * platform/graphics/qt/ImageBufferData.h:
1769 * platform/graphics/qt/ImageBufferQt.cpp:
1770 (WebCore::ImageBufferData::ImageBufferData):
1771 (WebCore::ImageBuffer::ImageBuffer):
1772 (WebCore::ImageBuffer::~ImageBuffer):
1774 2008-10-28 Cameron Zwarich <zwarich@apple.com>
1782 2008-10-28 Cameron Zwarich <zwarich@apple.com>
1786 Another Qt build fix.
1790 2008-10-28 Greg Bolsinga <bolsinga@apple.com>
1792 Reviewed by David Kilzer.
1794 https://bugs.webkit.org/show_bug.cgi?id=21932
1795 Add non-pointer constant lookups to SoftLinking.h
1797 * platform/mac/SoftLinking.h:
1799 2008-10-28 Greg Bolsinga <bolsinga@apple.com>
1801 Reviewed by David Kilzer.
1803 https://bugs.webkit.org/show_bug.cgi?id=2192
1804 Missing semi-colons in Geoposition.idl
1806 * page/Geoposition.idl: Add missing semi-colons
1808 2008-10-28 Timothy Hatcher <timothy@apple.com>
1810 Make the Profiles panel in the Web Inspector have an enable screen.
1811 Profiling now needs to be enabled before console.profile() works.
1813 <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
1814 not slow down JavaScript all the time
1816 Reviewed by Darin Adler and Kevin McCullough.
1818 * English.lproj/localizedStrings.js: New strings.
1819 * WebCore.base.exp: New and changed exports.
1820 * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
1821 * bindings/js/JSDOMWindowBase.cpp:
1822 (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
1823 * inspector/InspectorController.cpp:
1824 (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
1825 Timer to call InspectorController::startUserInitiatedProfiling.
1826 (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
1827 that calls InspectorController::startUserInitiatedProfiling.
1828 (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
1829 and enable the profiler if the profiler was not enabled.
1830 (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
1831 (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
1832 if the skipRecompile argument is false. Call the profilerWasEnabled script function.
1833 (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
1834 Call the profilerWasEnabled script function.
1835 (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
1836 so it won't be started later.
1837 * inspector/InspectorController.h:
1838 (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
1839 * inspector/front-end/Images/debuggingButtons.png: Remove.
1840 * inspector/front-end/Images/enableButtons.png: Added.
1841 * inspector/front-end/Images/profilesSilhouette.png: Added.
1842 * inspector/front-end/Images/scriptsSilhouette.png: Added.
1843 * inspector/front-end/PanelEnablerView.js: Added.
1844 (WebInspector.PanelEnablerView):
1845 (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
1846 event so listeners can do their thing.
1847 (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
1848 * inspector/front-end/ProfilesPanel.js:
1849 (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
1850 (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
1851 (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
1852 (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
1853 (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
1854 (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
1855 (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
1856 show/hide other buttons. Also show/hide the PanelEnablerView.
1857 (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
1858 (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
1859 disableProfiler or enableProfiler.
1860 * inspector/front-end/ScriptsPanel.js:
1861 (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
1862 debuggingButton with the enableToggleButton.
1863 (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
1864 the enableToggleButton.
1865 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
1866 when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
1867 with the enableToggleButton.
1868 (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
1869 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
1870 since reset is called from debuggerWasEnabled and debuggerWasDisabled.
1871 * inspector/front-end/View.js: Inherit from WebInspector.Object.
1872 * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
1873 * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
1874 * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
1875 * inspector/front-end/inspector.js:
1876 (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
1877 (WebInspector.profilerWasDisabled): Ditto.
1879 (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
1880 (WebCore::Console::info): Ditto.
1881 (WebCore::Console::log): Ditto.
1882 (WebCore::Console::assertCondition): Ditto.
1883 (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
1884 (WebCore::Console::count): Ditto.
1885 (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
1886 (WebCore::Console::profileEnd): Ditto.
1887 (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
1888 * page/Settings.cpp:
1889 (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
1890 (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
1891 Now just sets the member boolean.
1892 * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
1894 2008-10-28 Timothy Hatcher <timothy@apple.com>
1896 Rename a few methods related to attaching and detaching the debugger. Also
1897 adds stub methods for enabling and disabling the profiler.
1899 * Rename attachDebugger to enableDebugger.
1900 * Rename detachDebugger to disableDebugger.
1901 * Rename the debuggerAttached getter to debuggerEnabled.
1902 * Rename the debuggerAttached callback to debuggerWasEnabled.
1903 * Rename the debuggerDetached callback to debuggerWasDisabled.
1905 Reviewed by Darin Adler.
1908 * inspector/InspectorController.cpp:
1909 (WebCore::InspectorController::InspectorController):
1910 (WebCore::InspectorController::setWindowVisible):
1911 (WebCore::InspectorController::windowScriptObjectAvailable):
1912 (WebCore::InspectorController::close):
1913 (WebCore::InspectorController::enableProfiler):
1914 (WebCore::InspectorController::disableProfiler):
1915 (WebCore::InspectorController::enableDebugger):
1916 (WebCore::InspectorController::disableDebugger):
1917 (WebCore::InspectorController::pauseInDebugger):
1918 (WebCore::InspectorController::resumeDebugger):
1919 (WebCore::InspectorController::stepOverStatementInDebugger):
1920 (WebCore::InspectorController::stepIntoStatementInDebugger):
1921 (WebCore::InspectorController::stepOutOfFunctionInDebugger):
1922 * inspector/InspectorController.h:
1923 (WebCore::InspectorController::profilerEnabled):
1924 (WebCore::InspectorController::debuggerEnabled):
1925 * inspector/front-end/BreakpointsSidebarPane.js:
1926 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
1927 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
1928 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
1929 * inspector/front-end/Object.js:
1930 * inspector/front-end/ProfilesPanel.js:
1931 (WebInspector.ProfilesPanel):
1932 * inspector/front-end/ScriptsPanel.js:
1933 (WebInspector.ScriptsPanel):
1934 (WebInspector.ScriptsPanel.prototype.get statusBarItems):
1935 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
1936 (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
1937 (WebInspector.ScriptsPanel.prototype.reset):
1938 (WebInspector.ScriptsPanel.prototype.canShowResource):
1939 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
1940 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
1941 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1942 * inspector/front-end/View.js:
1943 * inspector/front-end/inspector.css:
1944 * inspector/front-end/inspector.html:
1945 * inspector/front-end/inspector.js:
1946 (WebInspector.addResource):
1947 (WebInspector.debuggerWasEnabled):
1948 (WebInspector.debuggerWasDisabled):
1950 2008-10-28 Timothy Hatcher <timothy@apple.com>
1952 Fix an exception when searching the Resources panel while there
1953 and resources queued to be added to the list.
1955 Reviewed by Kevin McCullough.
1957 * inspector/front-end/ResourcesPanel.js:
1958 (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
1959 the _resourcesTreeElement property.
1960 (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
1962 2008-10-28 Alp Toker <alp@nuanti.com>
1964 GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
1967 * platform/graphics/gtk/FontGtk.cpp:
1968 (WebCore::getDefaultPangoLayout):
1969 * platform/graphics/gtk/FontPlatformDataPango.cpp:
1971 2008-10-28 Alexey Proskuryakov <ap@webkit.org>
1973 Reviewed by Darin Adler.
1975 https://bugs.webkit.org/show_bug.cgi?id=21893
1976 Character set is incorrect for external scripts in XHTML pages
1978 <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
1980 Test: fast/encoding/external-script-charset.xhtml
1982 Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
1984 * dom/ScriptElement.h:
1985 * dom/XMLTokenizerLibxml2.cpp:
1986 (WebCore::XMLTokenizer::endElementNs):
1987 * dom/XMLTokenizerQt.cpp:
1988 (WebCore::XMLTokenizer::parseEndElement):
1989 * html/HTMLScriptElement.h:
1990 * svg/SVGScriptElement.cpp:
1991 (WebCore::SVGScriptElement::scriptCharset):
1992 * svg/SVGScriptElement.h:
1994 2008-10-28 Alp Toker <alp@nuanti.com>
1996 Include copyright license files in the autotools dist target and
1997 exclude unused zlib headers.
1999 Change suggested by Mike Hommey.
2003 2008-10-27 Sam Weinig <sam@webkit.org>
2005 Reviewed by Maciej Stachowiak.
2007 Clear the window shell when destroying a page to allow documents
2008 which have no way of being reached anymore, to be torn down.
2011 (WebCore::Frame::pageDestroyed):
2013 2008-10-27 Kevin Watters <kevinwatters@gmail.com>
2015 Reviewed by Kevin Ollivier.
2017 Update the active state as well as the focused state as both need to be true
2018 for the caret to be drawn.
2020 https://bugs.webkit.org/show_bug.cgi?id=21900
2023 (wxWebView::OnSetFocus):
2024 (wxWebView::OnKillFocus):
2026 2008-10-27 Kevin Ollivier <kevino@theolliviers.com>
2028 wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
2032 2008-10-27 Michael Knaup <michael.knaup@mac.com>
2034 Reviewed and tweaked by Darin Adler.
2036 - https://bugs.webkit.org/show_bug.cgi?id=8988
2038 Bug 8988: Add support for Mozilla CSS custom cursors.
2039 Added -webkit-grab and -webkit-grabbing cursor suppport
2040 for the Mac, dummy implementations for other platforms.
2042 * css/CSSParser.cpp:
2043 (WebCore::CSSParser::parseValue): Updated since the
2044 -webkit-grabbing cursor is now the last one.
2046 * css/CSSPrimitiveValueMappings.h:
2047 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
2048 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2050 * css/CSSValueKeywords.in: Added -webkit-grab and
2053 * manual-tests/cursor.html: Added -webkit-zoom-in,
2054 webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
2056 * page/EventHandler.cpp:
2057 (WebCore::EventHandler::selectCursor): Added
2058 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2060 * platform/Cursor.h: Added grabCursor and grabbingCursor.
2062 * platform/gtk/CursorGtk.cpp:
2063 (WebCore::grabCursor): Added.
2064 (WebCore::grabbingCursor): Added.
2065 * platform/mac/CursorMac.mm:
2066 (WebCore::grabCursor): Added.
2067 (WebCore::grabbingCursor): Added.
2068 * platform/qt/CursorQt.cpp:
2069 (WebCore::grabCursor): Added.
2070 (WebCore::grabbingCursor): Added.
2071 * platform/win/CursorWin.cpp:
2072 (WebCore::grabCursor): Added.
2073 (WebCore::grabbingCursor): Added.
2074 * platform/wx/CursorWx.cpp:
2075 (WebCore::grabCursor): Added.
2076 (WebCore::grabbingCursor): Added.
2078 * rendering/style/RenderStyleConstants.h:
2079 Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
2080 Also broke ECursor out into a single constant per line.
2081 Also added a couple of comments.
2083 2008-10-27 Dimitri Glazkov <dglazkov@chromium.org>
2085 Reviewed by Darin Adler.
2087 * svg/SVGAnimatedTemplate.h: needed a HashMap define
2089 2008-10-21 Eric Seidel <eric@webkit.org>
2091 Reviewed by Dave Hyatt.
2093 Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
2094 https://bugs.webkit.org/show_bug.cgi?id=20400
2096 Test: svg/custom/stop-crash.svg
2098 * WebCore.xcodeproj/project.pbxproj:
2099 * rendering/RenderSVGGradientStop.h:
2100 (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
2102 2008-10-27 Anders Carlsson <andersca@apple.com>
2104 Reviewed by Sam Weinig.
2106 No need to call release if the connection is null.
2108 * platform/network/mac/ResourceHandleMac.mm:
2109 (WebCore::ResourceHandle::start):
2111 2008-10-27 Anders Carlsson <andersca@apple.com>
2113 Reviewed by Kevin Decker.
2115 <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
2117 Make sure to null check the NSURLConnection object.
2119 * platform/network/mac/ResourceHandleMac.mm:
2120 (WebCore::ResourceHandle::start):
2121 (WebCore::ResourceHandle::setDefersLoading):
2123 2008-10-27 Alexey Proskuryakov <ap@webkit.org>
2129 * WebCore.vcproj/WebCore.vcproj:
2130 * WebCoreSources.bkl:
2131 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
2133 2008-10-26 Alexey Proskuryakov <ap@webkit.org>
2135 Reviewed by Sam Weinig.
2137 https://bugs.webkit.org/show_bug.cgi?id=21886
2138 window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
2140 Test: fast/dom/HTMLOptionElement/option-prototype.html
2142 We now have separate objects for window.Option and window.HTMLOptionElement - the latter
2143 "constructor" cannot be used to construct anything. This matches Firefox behavior.
2145 * WebCore.xcodeproj/project.pbxproj:
2146 * bindings/js/JSDOMWindowBase.cpp:
2147 (jsDOMWindowBaseOption):
2148 * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
2149 * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
2150 * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
2151 * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
2152 * html/HTMLOptionElement.idl:
2153 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
2155 * html/HTMLOptionElement.idl: Generate a constructor.
2157 2008-10-25 Geoffrey Garen <ggaren@apple.com>
2161 Try to fix Mac debug build on the buildbot.
2163 * platform/FileChooser.cpp:
2164 (WebCore::FileChooserClient::~FileChooserClient):
2165 * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
2166 weak exported symbol.
2168 2008-10-25 Jade Han <jade.han@nokia.com>
2172 Enable custom properties for Qt runtime objects in QtWebKit
2174 https://bugs.webkit.org/show_bug.cgi?id=21813
2176 * bridge/runtime_object.cpp:
2177 (JSC::RuntimeObjectImp::getOwnPropertySlot):
2178 (JSC::RuntimeObjectImp::put):
2180 2008-10-24 Sam Weinig <sam@webkit.org>
2187 2008-10-24 Sam Weinig <sam@webkit.org>
2191 * platform/qt/FileChooserQt.cpp:
2193 2008-10-24 Sam Weinig <sam@webkit.org>
2195 Reviewed by Dan Bernstein.
2197 Fix https://bugs.webkit.org/show_bug.cgi?id=21759
2198 Layering violation: FileChooser should not depend on Document/Frame/Page
2200 Move file choosing into WebKit ChromeClient.
2202 * loader/EmptyClients.h:
2203 (WebCore::EmptyChromeClient::runOpenPanel):
2205 (WebCore::Chrome::runOpenPanel):
2207 * page/ChromeClient.h:
2208 * page/mac/ChromeMac.mm:
2209 * platform/FileChooser.h:
2210 * platform/mac/FileChooserMac.mm:
2211 * platform/qt/FileChooserQt.cpp:
2212 * platform/win/FileChooserWin.cpp:
2213 * platform/wx/TemporaryLinkStubs.cpp:
2214 * rendering/RenderFileUploadControl.cpp:
2215 (WebCore::RenderFileUploadControl::click):
2217 2008-10-24 Kevin Ollivier <kevino@theolliviers.com>
2219 wx build fix - add newIconForFiles stub.
2221 * platform/wx/TemporaryLinkStubs.cpp:
2222 (Icon::newIconForFiles):
2224 2008-10-24 Kevin Watters <kevinwatters@gmail.com>
2226 Reviewed by Kevin Ollivier.
2228 Use the CGFont metrics APIs for more accurate measurements, and tweak the y
2229 value the text is drawn at (it was a couple pixels off before because wx
2230 internally adds to the y value.
2232 https://bugs.webkit.org/show_bug.cgi?id=21853
2234 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
2235 (wxFontProperties::wxFontProperties):
2236 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
2237 (WebCore::drawTextWithSpacing):
2239 2008-10-24 Eric Seidel <eric@webkit.org>
2241 Reviewed by Sam Weinig.
2243 Generate missing constructors and add test to prevent missing ones in the future
2244 https://bugs.webkit.org/show_bug.cgi?id=21846
2246 Test: fast/js/global-constructors.html
2248 * css/CSSStyleSheet.idl:
2250 * dom/NodeIterator.idl:
2251 * dom/TreeWalker.idl:
2252 * xml/XPathExpression.idl:
2254 2008-10-24 Alexey Proskuryakov <ap@webkit.org>
2256 Reviewed by Darin Adler.
2258 https://bugs.webkit.org/show_bug.cgi?id=21836
2259 REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
2261 Test: http/tests/xmlhttprequest/detaching-frame.html
2263 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
2264 even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
2265 when dispatching the same callback that results in this function being called.
2267 2008-10-24 David Kilzer <ddkilzer@apple.com>
2271 * platform/gtk/TemporaryLinkStubs.cpp:
2272 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
2274 2008-10-24 Mark Rowe <mrowe@apple.com>
2276 Reviewed by Sam Weinig.
2278 <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
2280 * platform/graphics/cg/GraphicsContextCG.cpp:
2281 (WebCore::GraphicsContext::setImageInterpolationQuality):
2282 (WebCore::GraphicsContext::imageInterpolationQuality):
2284 2008-10-24 Anders Carlsson <andersca@apple.com>
2286 Reviewed by Sam Weinig.
2288 <rdar://problem/5440917> Support NPN_Construct
2290 * WebCore.NPAPI.exp:
2291 Export _NPN_Construct.
2293 * bridge/NP_jsobject.cpp:
2297 * bridge/c/c_instance.cpp:
2298 (JSC::Bindings::CInstance::supportsConstruct):
2299 (JSC::Bindings::CInstance::invokeConstruct):
2300 Have this call the appropriate NPClass method.
2302 * bridge/npruntime.h:
2305 * bridge/npruntime_impl.h:
2309 (JSC::Bindings::Instance::supportsConstruct):
2310 (JSC::Bindings::Instance::invokeConstruct):
2313 * bridge/runtime_object.cpp:
2314 (JSC::callRuntimeConstructor):
2315 Call the native instance.
2317 (JSC::RuntimeObjectImp::getConstructData):
2320 * bridge/runtime_object.h:
2321 Add new method declarations.
2323 * plugins/gtk/PluginPackageGtk.cpp:
2324 (WebCore::PluginPackage::load):
2325 * plugins/qt/PluginPackageQt.cpp:
2326 (WebCore::PluginPackage::load):
2327 * plugins/win/PluginPackageWin.cpp:
2328 (WebCore::PluginPackage::load):
2329 Initialize m_pluginFuncs.construct.
2331 2008-10-24 Adele Peterson <adele@apple.com>
2335 * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
2336 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
2338 2008-10-24 Greg Bolsinga <bolsinga@apple.com>
2340 Fix GTK build break.
2342 Reviewed by David Kilzer.
2344 * GNUmakefile.am: Do not include .idl files whose generated files should not be
2347 2008-10-24 David Kilzer <ddkilzer@apple.com>
2351 * platform/wx/TemporaryLinkStubs.cpp:
2352 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
2354 2008-10-24 Adele Peterson <adele@apple.com>
2356 Reviewed by Sam Weinig.
2358 WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
2360 This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
2361 This is consistent with the direction HTML5 will be going in the future.
2363 The initial implementation here will show "n files" as the text next to the control when multiple files are selected. You can view
2364 the individual files in a tooltip for now. Improvements to this control will come later.
2366 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.
2367 These FileList Files can also be sent in an XMLHTTPRequest.
2369 * manual-tests/post-multi-file-upload.html: Added.
2370 * manual-tests/resources/multiFileResources: Added.
2371 * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
2372 * manual-tests/resources/multiFileResources/testFile1.html: Added.
2373 * manual-tests/resources/multiFileResources/testFile2.html: Added.
2374 * manual-tests/resources/multiFileResources/testFile3.html: Added.
2376 * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
2378 * html/HTMLInputElement.cpp:
2379 (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
2380 (WebCore::HTMLInputElement::value): Added comments. The HTML5 spec says that value shouldn't apply for the file upload control,
2381 but we don't want to break the behavior for existing websites that may rely on this.
2382 (WebCore::HTMLInputElement::setValue): ditto.
2383 (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
2384 (WebCore::HTMLInputElement::setFileListFromRenderer): Added.
2385 * html/HTMLInputElement.h:
2387 * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
2389 * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
2391 * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
2392 (WebCore::FileChooser::FileChooser):
2393 (WebCore::FileChooser::create):
2394 (WebCore::FileChooser::clear):
2395 (WebCore::FileChooser::chooseFile):
2396 (WebCore::FileChooser::chooseFiles):
2397 (WebCore::FileChooser::chooseIcon):
2398 * platform/FileChooser.h:
2399 (WebCore::FileChooser::filePaths):
2400 (WebCore::FileChooser::allowsMultipleFiles):
2402 * platform/graphics/Icon.h:
2403 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
2404 * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
2405 * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
2406 * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
2408 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): Updated to deal with new filenames vector.
2409 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
2410 * platform/qt/FileChooserQt.cpp:
2411 (WebCore::FileChooser::openFileChooser):
2412 (WebCore::FileChooser::basenameForWidth):
2413 * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
2415 * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
2416 Removed unnecessary assertion. This can get hit when connectionDidFinishLoading and cancel
2417 both get called for the same ResourceHandle. This getting called twice has no negative effect.
2419 * rendering/RenderFileUploadControl.cpp:
2420 (WebCore::RenderFileUploadControl::valueChanged): Calls setFileListFromRenderer.
2421 (WebCore::RenderFileUploadControl::allowsMultipleFiles): Added.
2422 (WebCore::RenderFileUploadControl::updateFromElement): Uses the new filenames call from FileChooser.
2423 (WebCore::RenderFileUploadControl::receiveDroppedFiles): Updated to support multiple files.
2424 * rendering/RenderFileUploadControl.h:
2426 2008-10-23 Peter Kasting <pkasting@google.com>
2428 Reviewed by David Hyatt.
2430 https://bugs.webkit.org/show_bug.cgi?id=21844
2431 Remove setFocusRingColorChangeFunction.
2434 (WebCore::Page::Page):
2435 * platform/graphics/Color.h:
2436 * platform/graphics/mac/ColorMac.mm:
2437 (WebCore::focusRingColor):
2438 * platform/graphics/qt/GraphicsContextQt.cpp:
2439 * platform/graphics/win/ColorSafari.cpp:
2441 2008-10-24 David Kilzer <ddkilzer@apple.com>
2447 * WebCore.pro: Added missing *.idl files.
2449 2008-10-24 Greg Bolsinga <bolsinga@apple.com>
2451 Reviewed by Sam Weinig.
2453 https://bugs.webkit.org/show_bug.cgi?id=21475
2455 Provide support for the Geolocation API
2457 http://dev.w3.org/geo/api/spec-source.html
2459 Test: geolocation/geolocation-not-implemented.html
2461 * DerivedSources.make:
2462 * GNUmakefile.am: Added Geolocation support
2463 * WebCore.pro: Added Geolocation support
2464 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
2465 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
2466 * WebCoreSources.bkl: Added Geolocation support
2467 * bindings/js/JSCustomPositionCallback.cpp: Added.
2468 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
2469 (WebCore::JSCustomPositionCallback::handleEvent):
2470 * bindings/js/JSCustomPositionCallback.h: Added.
2471 (WebCore::JSCustomPositionCallback::create):
2472 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
2473 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
2474 (WebCore::JSCustomPositionErrorCallback::handleEvent):
2475 * bindings/js/JSCustomPositionErrorCallback.h: Added.
2476 (WebCore::JSCustomPositionErrorCallback::create):
2477 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
2478 (WebCore::markDOMObjectWrapper):
2479 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
2480 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
2481 * bindings/js/JSGeolocationCustom.cpp: Added.
2482 (WebCore::JSGeolocation::getCurrentPosition):
2483 (WebCore::JSGeolocation::watchPosition):
2484 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
2485 (WebCore::JSNavigator::mark):
2487 (WebCore::Document::Document):
2489 (WebCore::Document::setUsingGeolocation):
2490 (WebCore::Document::usingGeolocation):
2491 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
2492 (WebCore::FrameLoader::canCachePage):
2493 * page/Geolocation.cpp: Added.
2494 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
2495 (WebCore::Geolocation::GeoNotifier::timerFired):
2496 (WebCore::Geolocation::Geolocation):
2497 (WebCore::Geolocation::disconnectFrame):
2498 (WebCore::Geolocation::getCurrentPosition):
2499 (WebCore::Geolocation::watchPosition):
2500 (WebCore::Geolocation::clearWatch):
2501 (WebCore::Geolocation::stopUpdatingIfEmpty):
2502 (WebCore::Geolocation::sendErrorToOneShots):
2503 (WebCore::Geolocation::sendErrorToWatchers):
2504 (WebCore::Geolocation::sendPositionToOneShots):
2505 (WebCore::Geolocation::sendPositionToWatchers):
2506 (WebCore::Geolocation::handleError):
2507 (WebCore::Geolocation::geolocationServicePositionChanged):
2508 (WebCore::Geolocation::geolocationServiceErrorOccurred):
2509 * page/Geolocation.h: Added.
2510 (WebCore::Geolocation::create):
2511 (WebCore::Geolocation::~Geolocation):
2512 (WebCore::Geolocation::lastPosition):
2513 (WebCore::Geolocation::GeoNotifier::create):
2514 * page/Geolocation.idl: Added.
2515 * page/Geoposition.cpp: Added.
2516 (WebCore::Geoposition::toString):
2517 * page/Geoposition.h: Added.
2518 (WebCore::Geoposition::create):
2519 (WebCore::Geoposition::latitude):
2520 (WebCore::Geoposition::longitude):
2521 (WebCore::Geoposition::altitude):
2522 (WebCore::Geoposition::accuracy):
2523 (WebCore::Geoposition::altitudeAccuracy):
2524 (WebCore::Geoposition::heading):
2525 (WebCore::Geoposition::velocity):
2526 (WebCore::Geoposition::timestamp):
2527 (WebCore::Geoposition::Geoposition):
2528 * page/Geoposition.idl: Added.
2529 * page/Navigator.cpp:
2530 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
2531 (WebCore::Navigator::geolocation): accessor for Geolocation
2533 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
2534 * page/Navigator.idl: accessor for Geolocation
2535 * page/PositionCallback.h: Added.
2536 (WebCore::PositionCallback::~PositionCallback):
2537 * page/PositionCallback.idl: Added.
2538 * page/PositionError.h: Added.
2539 (WebCore::PositionError::):
2540 (WebCore::PositionError::create):
2541 (WebCore::PositionError::code):
2542 (WebCore::PositionError::message):
2543 (WebCore::PositionError::PositionError):
2544 * page/PositionError.idl: Added.
2545 * page/PositionErrorCallback.h: Added.
2546 (WebCore::PositionErrorCallback::~PositionErrorCallback):
2547 * page/PositionErrorCallback.idl: Added.
2548 * page/PositionOptions.h: Added.
2549 (WebCore::PositionOptions::create):
2550 (WebCore::PositionOptions::enableHighAccuracy):
2551 (WebCore::PositionOptions::setEnableHighAccuracy):
2552 (WebCore::PositionOptions::timeout):
2553 (WebCore::PositionOptions::setTimeout):
2554 (WebCore::PositionOptions::PositionOptions):
2555 * page/PositionOptions.idl: Added.
2556 * platform/GeolocationService.cpp: Added.
2557 (WebCore::GeolocationService::GeolocationService):
2558 (WebCore::GeolocationService::positionChanged):
2559 (WebCore::GeolocationService::errorOccurred):
2560 * platform/GeolocationService.h: Added.
2561 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
2562 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
2563 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
2564 (WebCore::GeolocationService::~GeolocationService):
2566 2008-10-24 Simon Fraser <simon.fraser@apple.com>
2568 Reviewed by Darin Adler
2570 https://bugs.webkit.org/show_bug.cgi?id=21818
2572 Add HashTraits for AtomicString so that AtomicString can be used as
2573 the key for a HashMap or HashSet.
2575 * GNUmakefile.am: add AtomicStringHash.h
2576 * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
2577 * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
2578 * platform/text/AtomicString.h:
2579 (WebCore::AtomicString::AtomicString):
2580 (WebCore::AtomicString::isHashTableDeletedValue):
2581 specialize DefaultHash for AtomicString to use AtomicStringHash
2582 * platform/text/AtomicStringHash.h: Added.
2583 * platform/text/StringImpl.cpp:
2584 (WebCore::StringImpl::StringImpl):
2585 compute the hash up-front for the empty string
2586 * platform/text/StringImpl.h:
2587 (WebCore::StringImpl::existingHash):
2588 method to get the hash without a test and branch, for callers like
2589 AtomicStringHash who can guarantee that the hash has already been computed.
2591 2008-10-24 Simon Fraser <simon.fraser@apple.com>
2593 Reviewed by Sam Weinig
2595 https://bugs.webkit.org/show_bug.cgi?id=21857
2597 Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
2598 switch in _wrapCSSRule.
2600 * bindings/objc/DOMCSS.mm:
2601 (+[DOMCSSRule _wrapCSSRule:WebCore::]):
2603 2008-10-24 Adam Roben <aroben@apple.com>
2607 * plugins/PluginView.cpp:
2609 2008-10-24 Dan Bernstein <mitz@apple.com>
2611 Reviewed by Sam Weinig.
2613 - fix https://bugs.webkit.org/show_bug.cgi?id=21851
2614 <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
2616 Test: fast/replaced/percent-height-in-anonymous-block-widget.html
2618 * rendering/RenderWidget.cpp:
2619 (WebCore::RenderWidget::destroy): Copied code added to
2620 RenderBox::destroy() in r36513 into this function.
2622 2008-10-24 Timothy Hatcher <timothy@apple.com>
2624 Add a mechanism to ask the InspectorClient for key/value setting pairs.
2625 These settings can be strings, numbers, booleans or string vectors. The
2626 settings are also bridged to and from JavaScript.
2628 https://bugs.webkit.org/show_bug.cgi?id=21856
2630 Reviewed by Darin Adler.
2632 * WebCore.base.exp: Expose the String CFStringRef constructor.
2633 * inspector/InspectorClient.h:
2634 (WebCore::InspectorClient::populateSetting): Added, pure virtual.
2635 (WebCore::InspectorClient::storeSetting): Ditto.
2636 (WebCore::InspectorClient::removeSetting): Ditto.
2637 * inspector/InspectorController.cpp:
2638 (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
2639 (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
2640 (WebCore::InspectorController::InspectorController): Increment a global static
2641 to track the number of live InspectorControllers.
2642 (WebCore::InspectorController::~InspectorController): Decrement the global static
2643 that tracks the number of live InspectorControllers. Delete the setting cache if there
2644 are no more live controllers.
2645 (WebCore::InspectorController::setting): Check the cache and return the setting from there,
2646 otherwise make a new Setting and ask the client to populate it.
2647 (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
2648 (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
2649 to the InspectorController script class.
2650 * inspector/InspectorController.h:
2651 (WebCore::InspectorController::Setting::Setting):
2652 (WebCore::InspectorController::Setting::operator=):
2653 (WebCore::InspectorController::Setting::type): Return m_type.
2654 (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
2655 (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
2656 Assert the type is correct.
2657 (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
2658 Assert the type is correct.
2659 (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
2660 Assert the type is correct.
2661 (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
2662 Assert the type is correct.
2663 (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
2665 * loader/EmptyClients.h:
2666 (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
2667 (WebCore::EmptyInspectorClient::storeSetting): Ditto.
2668 (WebCore::EmptyInspectorClient::removeSetting): Ditto.
2670 2008-10-24 Cameron Zwarich <zwarich@apple.com>
2672 Reviewed by Sam Weinig.
2674 Remove some C-style casts.
2676 * html/HTMLViewSourceDocument.cpp:
2677 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
2679 2008-10-24 Darin Adler <darin@apple.com>
2681 - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
2683 * bindings/js/JSAttrCustom.cpp:
2684 * bindings/js/JSCSSRuleCustom.cpp:
2685 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2686 * bindings/js/JSCSSValueCustom.cpp:
2687 * bindings/js/JSCanvasPixelArrayCustom.h:
2688 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2689 * bindings/js/JSClipboardCustom.cpp:
2690 * bindings/js/JSConsoleCustom.cpp:
2691 * bindings/js/JSCustomSQLStatementCallback.cpp:
2692 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2693 * bindings/js/JSCustomSQLTransactionCallback.cpp:
2694 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2695 * bindings/js/JSCustomVoidCallback.cpp:
2696 * bindings/js/JSCustomVoidCallback.h:
2697 * bindings/js/JSCustomXPathNSResolver.cpp:
2698 * bindings/js/JSCustomXPathNSResolver.h:
2699 * bindings/js/JSDOMApplicationCacheCustom.cpp:
2700 * bindings/js/JSDOMBinding.cpp:
2701 * bindings/js/JSDOMBinding.h:
2702 * bindings/js/JSDOMWindowBase.cpp:
2703 * bindings/js/JSDOMWindowBase.h:
2704 * bindings/js/JSDOMWindowCustom.cpp:
2705 * bindings/js/JSDOMWindowCustom.h:
2706 * bindings/js/JSDOMWindowShell.cpp:
2707 * bindings/js/JSDOMWindowShell.h:
2708 * bindings/js/JSDatabaseCustom.cpp:
2709 * bindings/js/JSDedicatedWorkerCustom.cpp:
2710 * bindings/js/JSDocumentCustom.cpp:
2711 * bindings/js/JSElementCustom.cpp:
2712 * bindings/js/JSEventCustom.cpp:
2713 * bindings/js/JSEventListener.cpp:
2714 * bindings/js/JSEventTarget.cpp:
2715 * bindings/js/JSEventTarget.h:
2716 * bindings/js/JSEventTargetBase.h:
2717 * bindings/js/JSEventTargetNodeCustom.cpp:
2718 * bindings/js/JSHTMLAllCollection.h:
2719 * bindings/js/JSHTMLAppletElementCustom.cpp:
2720 * bindings/js/JSHTMLCollectionCustom.cpp:
2721 * bindings/js/JSHTMLDocumentCustom.cpp:
2722 * bindings/js/JSHTMLEmbedElementCustom.cpp:
2723 * bindings/js/JSHTMLFormElementCustom.cpp:
2724 * bindings/js/JSHTMLFrameElementCustom.cpp:
2725 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2726 * bindings/js/JSHTMLIFrameElementCustom.cpp:
2727 * bindings/js/JSHTMLInputElementCustom.cpp:
2728 * bindings/js/JSHTMLObjectElementCustom.cpp:
2729 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2730 * bindings/js/JSHTMLSelectElementCustom.cpp:
2731 * bindings/js/JSHTMLSelectElementCustom.h:
2732 * bindings/js/JSHistoryCustom.cpp:
2733 * bindings/js/JSImageDataCustom.cpp:
2734 * bindings/js/JSInspectedObjectWrapper.cpp:
2735 * bindings/js/JSInspectedObjectWrapper.h:
2736 * bindings/js/JSInspectorCallbackWrapper.cpp:
2737 * bindings/js/JSInspectorCallbackWrapper.h:
2738 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2739 * bindings/js/JSLocationCustom.cpp:
2740 * bindings/js/JSMessagePortCustom.cpp:
2741 * bindings/js/JSMimeTypeArrayCustom.cpp:
2742 * bindings/js/JSNamedNodeMapCustom.cpp:
2743 * bindings/js/JSNamedNodesCollection.cpp:
2744 * bindings/js/JSNamedNodesCollection.h:
2745 * bindings/js/JSNavigatorCustom.cpp:
2746 * bindings/js/JSNodeCustom.cpp:
2747 * bindings/js/JSNodeFilterCondition.cpp:
2748 * bindings/js/JSNodeFilterCondition.h:
2749 * bindings/js/JSNodeFilterCustom.cpp:
2750 * bindings/js/JSNodeIteratorCustom.cpp:
2751 * bindings/js/JSNodeListCustom.cpp:
2752 * bindings/js/JSPluginArrayCustom.cpp:
2753 * bindings/js/JSPluginCustom.cpp:
2754 * bindings/js/JSPluginElementFunctions.cpp:
2755 * bindings/js/JSPluginElementFunctions.h:
2756 * bindings/js/JSQuarantinedObjectWrapper.cpp:
2757 * bindings/js/JSQuarantinedObjectWrapper.h:
2758 * bindings/js/JSRGBColor.cpp:
2759 * bindings/js/JSRGBColor.h:
2760 * bindings/js/JSSQLResultSetRowListCustom.cpp:
2761 * bindings/js/JSSQLTransactionCustom.cpp:
2762 * bindings/js/JSSVGElementInstanceCustom.cpp:
2763 * bindings/js/JSSVGLengthCustom.cpp:
2764 * bindings/js/JSSVGMatrixCustom.cpp:
2765 * bindings/js/JSSVGPathSegCustom.cpp:
2766 * bindings/js/JSSVGPathSegListCustom.cpp:
2767 * bindings/js/JSSVGPointListCustom.cpp:
2768 * bindings/js/JSSVGTransformListCustom.cpp:
2769 * bindings/js/JSStorageCustom.cpp:
2770 * bindings/js/JSStyleSheetCustom.cpp:
2771 * bindings/js/JSStyleSheetListCustom.cpp:
2772 * bindings/js/JSTextCustom.cpp:
2773 * bindings/js/JSTreeWalkerCustom.cpp:
2774 * bindings/js/JSXMLHttpRequestCustom.cpp:
2775 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2776 * bindings/js/JSXSLTProcessorCustom.cpp:
2777 * bindings/js/ScheduledAction.cpp:
2778 * bindings/js/ScheduledAction.h:
2779 * bindings/js/ScriptController.cpp:
2780 * bindings/js/ScriptController.h:
2781 * bindings/objc/WebScriptObject.mm:
2782 * bindings/objc/WebScriptObjectPrivate.h:
2783 * bindings/scripts/CodeGeneratorJS.pm:
2784 * bridge/NP_jsobject.cpp:
2785 * bridge/c/c_instance.cpp:
2786 * bridge/c/c_instance.h:
2787 * bridge/c/c_runtime.cpp:
2788 * bridge/c/c_runtime.h:
2789 * bridge/c/c_utility.cpp:
2790 * bridge/c/c_utility.h:
2791 * bridge/jni/jni_instance.cpp:
2792 * bridge/jni/jni_instance.h:
2793 * bridge/jni/jni_jsobject.h:
2794 * bridge/jni/jni_jsobject.mm:
2795 * bridge/jni/jni_objc.mm:
2796 * bridge/jni/jni_runtime.cpp:
2797 * bridge/jni/jni_runtime.h:
2798 * bridge/jni/jni_utility.cpp:
2799 * bridge/jni/jni_utility.h:
2800 * bridge/objc/WebScriptObject.h:
2801 * bridge/objc/objc_class.h:
2802 * bridge/objc/objc_class.mm:
2803 * bridge/objc/objc_instance.h:
2804 * bridge/objc/objc_instance.mm:
2805 * bridge/objc/objc_runtime.h:
2806 * bridge/objc/objc_runtime.mm:
2807 * bridge/objc/objc_utility.h:
2808 * bridge/objc/objc_utility.mm:
2809 * bridge/qt/qt_class.cpp:
2810 * bridge/qt/qt_class.h:
2811 * bridge/qt/qt_instance.cpp:
2812 * bridge/qt/qt_instance.h:
2813 * bridge/qt/qt_runtime.cpp:
2814 * bridge/qt/qt_runtime.h:
2815 * bridge/runtime.cpp:
2817 * bridge/runtime_array.cpp:
2818 * bridge/runtime_array.h:
2819 * bridge/runtime_method.cpp:
2820 * bridge/runtime_method.h:
2821 * bridge/runtime_object.cpp:
2822 * bridge/runtime_object.h:
2823 * bridge/testqtbindings.cpp:
2824 * inspector/JavaScriptCallFrame.cpp:
2825 * inspector/JavaScriptCallFrame.h:
2826 * inspector/JavaScriptProfile.cpp:
2827 * inspector/JavaScriptProfile.h:
2828 * inspector/JavaScriptProfileNode.cpp:
2829 * inspector/JavaScriptProfileNode.h:
2830 * loader/FrameLoader.cpp:
2831 * loader/FrameLoader.h:
2834 * plugins/MimeTypeArray.h:
2836 * plugins/PluginArray.h:
2837 * plugins/PluginView.cpp:
2838 * xml/XMLHttpRequest.cpp:
2839 Use JSValue* instead of JSValuePtr.
2841 2008-10-24 Simon Hausmann <hausmann@webkit.org>
2845 * bridge/qt/qt_instance.cpp:
2846 (JSC::Bindings::QtField::valueFromInstance):
2848 2008-10-24 David Kilzer <ddkilzer@apple.com>
2850 Rolled out r37840 and r37841.
2852 * DerivedSources.make:
2855 * WebCore.vcproj/WebCore.vcproj:
2856 * WebCore.xcodeproj/project.pbxproj:
2857 * WebCoreSources.bkl:
2858 * bindings/js/JSCustomPositionCallback.cpp: Removed.
2859 * bindings/js/JSCustomPositionCallback.h: Removed.
2860 * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
2861 * bindings/js/JSCustomPositionErrorCallback.h: Removed.
2862 * bindings/js/JSDOMBinding.cpp:
2863 * bindings/js/JSDOMBinding.h:
2864 * bindings/js/JSDOMWindowCustom.cpp:
2865 (WebCore::markDOMObjectWrapper):
2866 * bindings/js/JSGeolocationCustom.cpp: Removed.
2867 * bindings/js/JSNavigatorCustom.cpp:
2869 (WebCore::Document::Document):
2871 * loader/FrameLoader.cpp:
2872 (WebCore::FrameLoader::canCachePage):
2873 * page/Geolocation.cpp: Removed.
2874 * page/Geolocation.h: Removed.
2875 * page/Geolocation.idl: Removed.
2876 * page/Geoposition.cpp: Removed.
2877 * page/Geoposition.h: Removed.
2878 * page/Geoposition.idl: Removed.
2879 * page/Navigator.cpp:
2880 (WebCore::Navigator::disconnectFrame):
2882 * page/Navigator.idl:
2883 * page/PositionCallback.h: Removed.
2884 * page/PositionCallback.idl: Removed.
2885 * page/PositionError.h: Removed.
2886 * page/PositionError.idl: Removed.
2887 * page/PositionErrorCallback.h: Removed.
2888 * page/PositionErrorCallback.idl: Removed.
2889 * page/PositionOptions.h: Removed.
2890 * page/PositionOptions.idl: Removed.
2891 * platform/GeolocationService.cpp: Removed.
2892 * platform/GeolocationService.h: Removed.
2894 2008-10-23 David Kilzer <ddkilzer@apple.com>
2896 Attempt to fix GTK build.
2898 * GNUmakefile.am: Added new *.idl files that were missing.
2900 2008-10-23 Greg Bolsinga <bolsinga@apple.com>
2902 Reviewed by Sam Weinig.
2904 https://bugs.webkit.org/show_bug.cgi?id=21475
2906 Provide support for the Geolocation API
2908 http://dev.w3.org/geo/api/spec-source.html
2910 Test: geolocation/geolocation-not-implemented.html
2912 * DerivedSources.make:
2913 * GNUmakefile.am: Added Geolocation support
2914 * WebCore.pro: Added Geolocation support
2915 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
2916 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
2917 * WebCoreSources.bkl: Added Geolocation support
2918 * bindings/js/JSCustomPositionCallback.cpp: Added.
2919 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
2920 (WebCore::JSCustomPositionCallback::handleEvent):
2921 * bindings/js/JSCustomPositionCallback.h: Added.
2922 (WebCore::JSCustomPositionCallback::create):
2923 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
2924 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
2925 (WebCore::JSCustomPositionErrorCallback::handleEvent):
2926 * bindings/js/JSCustomPositionErrorCallback.h: Added.
2927 (WebCore::JSCustomPositionErrorCallback::create):
2928 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
2929 (WebCore::markDOMObjectWrapper):
2930 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
2931 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
2932 * bindings/js/JSGeolocationCustom.cpp: Added.
2933 (WebCore::JSGeolocation::getCurrentPosition):
2934 (WebCore::JSGeolocation::watchPosition):
2935 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
2936 (WebCore::JSNavigator::mark):
2938 (WebCore::Document::Document):
2940 (WebCore::Document::setUsingGeolocation):
2941 (WebCore::Document::usingGeolocation):
2942 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
2943 (WebCore::FrameLoader::canCachePage):
2944 * page/Geolocation.cpp: Added.
2945 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
2946 (WebCore::Geolocation::GeoNotifier::timerFired):
2947 (WebCore::Geolocation::Geolocation):
2948 (WebCore::Geolocation::disconnectFrame):
2949 (WebCore::Geolocation::getCurrentPosition):
2950 (WebCore::Geolocation::watchPosition):
2951 (WebCore::Geolocation::clearWatch):
2952 (WebCore::Geolocation::stopUpdatingIfEmpty):
2953 (WebCore::Geolocation::sendErrorToOneShots):
2954 (WebCore::Geolocation::sendErrorToWatchers):
2955 (WebCore::Geolocation::sendPositionToOneShots):
2956 (WebCore::Geolocation::sendPositionToWatchers):
2957 (WebCore::Geolocation::handleError):
2958 (WebCore::Geolocation::geolocationServicePositionChanged):
2959 (WebCore::Geolocation::geolocationServiceErrorOccurred):
2960 * page/Geolocation.h: Added.
2961 (WebCore::Geolocation::create):
2962 (WebCore::Geolocation::~Geolocation):
2963 (WebCore::Geolocation::lastPosition):
2964 (WebCore::Geolocation::GeoNotifier::create):
2965 * page/Geolocation.idl: Added.
2966 * page/Geoposition.cpp: Added.
2967 (WebCore::Geoposition::toString):
2968 * page/Geoposition.h: Added.
2969 (WebCore::Geoposition::create):
2970 (WebCore::Geoposition::latitude):
2971 (WebCore::Geoposition::longitude):
2972 (WebCore::Geoposition::altitude):
2973 (WebCore::Geoposition::accuracy):
2974 (WebCore::Geoposition::altitudeAccuracy):
2975 (WebCore::Geoposition::heading):
2976 (WebCore::Geoposition::velocity):
2977 (WebCore::Geoposition::timestamp):
2978 (WebCore::Geoposition::Geoposition):
2979 * page/Geoposition.idl: Added.
2980 * page/Navigator.cpp:
2981 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
2982 (WebCore::Navigator::geolocation): accessor for Geolocation
2984 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
2985 * page/Navigator.idl: accessor for Geolocation
2986 * page/PositionCallback.h: Added.
2987 (WebCore::PositionCallback::~PositionCallback):
2988 * page/PositionCallback.idl: Added.
2989 * page/PositionError.h: Added.
2990 (WebCore::PositionError::):
2991 (WebCore::PositionError::create):
2992 (WebCore::PositionError::code):
2993 (WebCore::PositionError::message):
2994 (WebCore::PositionError::PositionError):
2995 * page/PositionError.idl: Added.
2996 * page/PositionErrorCallback.h: Added.
2997 (WebCore::PositionErrorCallback::~PositionErrorCallback):
2998 * page/PositionErrorCallback.idl: Added.
2999 * page/PositionOptions.h: Added.
3000 (WebCore::PositionOptions::create):
3001 (WebCore::PositionOptions::enableHighAccuracy):
3002 (WebCore::PositionOptions::setEnableHighAccuracy):
3003 (WebCore::PositionOptions::timeout):
3004 (WebCore::PositionOptions::setTimeout):
3005 (WebCore::PositionOptions::PositionOptions):
3006 * page/PositionOptions.idl: Added.
3007 * platform/GeolocationService.cpp: Added.
3008 (WebCore::GeolocationService::GeolocationService):
3009 (WebCore::GeolocationService::positionChanged):
3010 (WebCore::GeolocationService::errorOccurred):
3011 * platform/GeolocationService.h: Added.
3012 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
3013 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
3014 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
3015 (WebCore::GeolocationService::~GeolocationService):
3017 2008-10-23 Alp Toker <alp@nuanti.com>
3019 Fix typo in comment in previous commit. GTK -> GLIB
3021 * platform/gtk/guriescape.c:
3023 2008-10-23 Kalle Vahlman <kalle.vahlman@movial.com>
3025 Reviewed by Alp Toker.
3027 https://bugs.webkit.org/show_bug.cgi?id=21824
3028 [GTK] FileSystem abstraction uses features from Glib 2.16
3030 Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib
3032 * platform/gtk/guriescape.c:
3033 (unescape_character):
3034 (_webcore_g_uri_unescape_segment):
3035 (_webcore_g_uri_unescape_string):
3036 * platform/gtk/guriescape.h:
3038 2008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
3040 Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.
3044 2008-10-23 Darin Fisher <darin@chromium.org>
3046 Reviewed by Eric Seidel.
3048 m_frame null checked but then dereferenced
3049 https://bugs.webkit.org/show_bug.cgi?id=21845
3051 This error was found using a static analysis tool, and so I do not know
3052 how to produce a null m_frame on entry to this method. Hence, I have
3053 not included a regression test.
3055 * page/EventHandler.cpp:
3056 (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
3058 2008-10-23 Dan Bernstein <mitz@apple.com>
3060 Reviewed by Sam Weinig with no hesitation.
3062 - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
3063 <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering
3065 Test: fast/text/bidi-embedding-pop-and-push-same.html
3067 * platform/text/BidiResolver.h:
3068 (WebCore::BidiResolver::embed): Changed to only add the embedding
3069 operation to a vector of pending operations.
3071 (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
3072 code that used to be in the PDF case of embed() here, except the part
3073 that sets the context.
3075 (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
3076 code that used to be in the non-PDF case of embed() here, except the
3077 part the sets the context.
3079 (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
3080 explicit embedding operations in the vector by creating an updated
3081 context and determining the old and new embedding levels. If the levels
3082 are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
3083 sets the context to the new one.
3085 (WebCore::BidiResolver::createBidiRunsForLine): Added calls to
3086 commitExplicitEmbedding() after calling embed() and after calling
3089 * rendering/bidi.cpp:
3090 (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because
3091 this function increments the resolver.
3093 (WebCore::RenderBlock::skipLeadingWhitespace): Ditto.
3095 2008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
3097 Gtk build fix. Not reviewed.
3099 Add DNSCurl and DNSSoup to the Gtk build
3102 * platform/gtk/TemporaryLinkStubs.cpp:
3103 * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp.
3104 (WebCore::prefetchDNS):
3106 2008-10-23 Eric Seidel <eric@webkit.org>
3108 Reviewed by Sam Weinig.
3110 Un-break the Darwin build.
3112 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3113 * platform/graphics/cg/ImageCG.cpp:
3115 2008-10-23 Darin Fisher <darin@chromium.org>
3117 Reviewed by Eric Seidel.
3119 Fix forward decls to be struct instead of class.
3120 https://bugs.webkit.org/show_bug.cgi?id=21838
3122 * rendering/style/StyleRareInheritedData.h:
3123 * rendering/style/StyleRareNonInheritedData.h:
3125 2008-10-23 Brent Fulgham <bfulgham@gmail.com>
3127 Reviewed by Oliver Hunt.
3129 * platform/network/curl/ResourceRequest.h: A better implementation
3130 of CFURLRequest, rather than void*. This gives better compatibility
3131 with the WebKit.idl interface.
3132 (WebCore::ResourceRequest::cfURLRequest):
3134 2008-10-23 Mike Pinkerton <pinkerton@chromium.org>
3136 Reviewed by Eric Seidel.
3138 PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
3139 ifdefs to reflect that.
3141 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3142 * platform/graphics/cg/ImageCG.cpp:
3144 2008-10-23 Peter Kasting <pkasting@google.com>
3146 Reviewed by Adam Roben.
3148 https://bugs.webkit.org/show_bug.cgi?id=21833
3149 Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).
3151 * inspector/InspectorController.cpp:
3152 (WebCore::InspectorController::InspectorController):
3153 (WebCore::InspectorController::setWindowVisible):
3154 (WebCore::InspectorController::windowScriptObjectAvailable):
3155 (WebCore::InspectorController::close):
3156 * inspector/InspectorController.h:
3158 (WebCore::Page::Page):
3160 2008-10-23 Kevin McCullough <kmccullough@apple.com>
3162 Reviewed by Tim Hatcher.
3164 https://bugs.webkit.org/show_bug.cgi?id=21817
3165 Bug 21817: Manual profiler tests should be made into layout tests
3167 -Moving the tests before diffing so that it's clear what changed.
3169 * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
3170 * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
3171 * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
3172 * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
3173 * manual-tests/inspector/profiler-test-apply.html: Removed.
3174 * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
3175 * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
3176 * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
3177 * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
3178 * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
3179 * manual-tests/inspector/profiler-test-constructor.html: Removed.
3180 * manual-tests/inspector/profiler-test-dead-time.html: Removed.
3181 * manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
3182 * manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
3183 * manual-tests/inspector/profiler-test-event-handler.html: Removed.
3184 * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
3185 * manual-tests/inspector/profiler-test-heavy-view.html: Removed.
3186 * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
3187 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
3188 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
3189 * manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
3190 * manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
3191 * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
3192 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
3193 * manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
3194 * manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
3195 * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
3196 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
3197 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
3198 * manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
3199 * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
3200 * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
3201 * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
3202 * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
3203 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
3204 * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
3205 * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
3206 * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
3207 * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
3208 * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
3209 * manual-tests/inspector/resources/other-frame.html: Removed.
3210 * manual-tests/inspector/resources/other-window.html: Removed.
3211 * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.
3213 2008-10-23 Adam Barth <abarth@webkit.org>
3215 Reviewed by Sam Weinig.
3217 https://bugs.webkit.org/show_bug.cgi?id=21826
3219 Add accessor for SecurityOrigin::m_domainWasSetInDOM.
3221 * page/SecurityOrigin.h:
3222 (WebCore::SecurityOrigin::domainWasSetInDOM):
3224 2008-10-23 Darin Adler <darin@apple.com>
3226 - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
3228 * bindings/js/ScheduledAction.h:
3229 * inspector/InspectorController.cpp:
3230 ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
3232 2008-10-23 Simon Hausmann <hausmann@webkit.org>
3236 * bridge/qt/qt_runtime.cpp:
3237 (JSC::Bindings::QtConnectionObject::execute):
3238 * bridge/qt/qt_runtime.h:
3239 (JSC::Bindings::QtRuntimeMethod::createStructureID):
3241 2008-10-23 Alexey Proskuryakov <ap@webkit.org>
3243 Reviewed by Maciej Stachowiak.
3245 https://bugs.webkit.org/show_bug.cgi?id=21825
3246 JSDOMBinding should not blindly cast the global object to JSDOMWindow
3248 * bindings/js/JSDOMGlobalObject.cpp:
3249 * bindings/js/JSDOMGlobalObject.h:
3252 * WebCore.vcproj/WebCore.vcproj:
3253 * WebCore.xcodeproj/project.pbxproj:
3254 * WebCoreSources.bkl:
3255 Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
3257 * bindings/js/JSDOMBinding.cpp:
3258 (WebCore::getCachedDOMStructure):
3259 (WebCore::cacheDOMStructure):
3260 (WebCore::getCachedDOMConstructor):
3261 (WebCore::cacheDOMConstructor):
3262 Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
3264 * bindings/js/JSDOMWindowBase.cpp:
3265 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3266 * bindings/js/JSDOMWindowBase.h:
3267 * bindings/js/JSDOMWindowCustom.cpp:
3268 (WebCore::JSDOMWindow::mark):
3269 Moved constructor and structure tracking to JSDOMGlobalObject.
3271 2008-10-23 Adam Barth <abarth@webkit.org>
3273 Reviewed by Sam Weinig.
3275 https://bugs.webkit.org/show_bug.cgi?id=21787
3277 Update postMessage to send origin = "null" for non-serializable
3278 origins to match latest spec. Merge SecurityOrigin::toString and
3279 SecurityOrigin::toHTTPOrigin because they are now the same.
3281 Test: http/tests/security/postMessage/data-url-sends-null-origin.html
3283 * loader/FrameLoader.cpp:
3284 (WebCore::FrameLoader::outgoingOrigin):
3285 (WebCore::FrameLoader::loadURL):
3286 (WebCore::FrameLoader::addHTTPOriginIfNeeded):
3287 (WebCore::FrameLoader::loadItem):
3288 * loader/loader.cpp:
3289 (WebCore::Loader::Host::servePendingRequests):
3290 * page/SecurityOrigin.cpp:
3291 (WebCore::SecurityOrigin::toString):
3292 * page/SecurityOrigin.h:
3293 * xml/XMLHttpRequest.cpp:
3294 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
3295 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
3296 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
3297 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3299 2008-10-22 David Kilzer <ddkilzer@apple.com>
3301 Bug 21781: WebCore::Settings should have a maximum decoded image size setting
3303 <https://bugs.webkit.org/show_bug.cgi?id=21781>
3307 No tests since there is no change in behavior.
3309 * loader/CachedImage.cpp:
3310 (WebCore::CachedImage::maximumDecodedImageSize): Added. Returns
3311 WebCore::Settings::maximumDecodedImageSize() or 0 on error.
3312 (WebCore::CachedImage::data): Flag an error if the image being
3314 * loader/CachedImage.h:
3315 (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
3316 * page/Settings.cpp:
3317 (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize
3318 to the maximum value of size_t.
3320 (WebCore::Settings::setMaximumDecodedImageSize): Added method.
3321 (WebCore::Settings::maximumDecodedImageSize): Ditto.
3323 2008-10-22 Mike Pinkerton <pinkerton@chromium.org>
3325 Reviewed by Dan Bernstein.
3326 Landed and tweaked a bit by Darin Adler.
3328 - fix https://bugs.webkit.org/show_bug.cgi?id=21809
3330 Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits
3331 its use for PLATFORM(CHROMIUM) in the future.
3333 * platform/graphics/SimpleFontData.h:
3335 2008-10-22 David Smith <catfish.man@gmail.com>
3337 Reviewed by Anders Carlsson.
3339 https://bugs.webkit.org/show_bug.cgi?id=19974
3340 getElementsByClassName not live enough
3342 Test: fast/dom/getElementsByClassName/015.html
3344 * dom/StyledElement.cpp:
3345 (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()
3347 2008-10-22 Darin Adler <darin@apple.com>
3349 Reviewed by Sam Weinig.
3351 - fix https://bugs.webkit.org/show_bug.cgi?id=21294
3352 Bug 21294: Devirtualize getOwnPropertySlot()
3354 * bindings/js/JSDOMWindowShell.h:
3355 (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
3356 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
3358 * bindings/js/JSInspectorCallbackWrapper.cpp:
3359 (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
3360 for this class rather than sharing nullProtoStructureID, which no longer exists.
3362 * bindings/js/JSNamedNodesCollection.h:
3363 (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
3364 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
3365 * bindings/js/JSRGBColor.h:
3366 (WebCore::JSRGBColor::createStructureID): Ditto.
3368 * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
3369 constructors, and prototypes in any case where they override getOwnPropertySlot, without
3370 HasStandardGetOwnPropertySlot.
3372 * bridge/objc/objc_runtime.h:
3373 (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
3374 without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
3375 * bridge/qt/qt_runtime.h:
3376 (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
3377 * bridge/runtime_array.h:
3378 (JSC::RuntimeArray::createStructureID): Ditto.
3379 * bridge/runtime_method.h:
3380 (JSC::RuntimeMethod::createStructureID): Ditto.
3381 * bridge/runtime_object.h:
3382 (JSC::RuntimeObjectImp::createStructureID): Ditto.
3384 2008-10-22 Brent Fulgham <bfulgham@gmail.com>
3386 Bring Windows Cairo Port's font handling in line with CG.
3387 http://bugs.webkit.org/show_bug.cgi?id=21812.
3389 Reviewed by Adam Roben.
3391 * platform/graphics/win/FontCacheWin.cpp:
3392 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
3393 TrueType font search. It should match CG in all font selections.
3395 2008-10-22 Brent Fulgham <bfulgham@gmail.com>
3397 http://bugs.webkit.org/show_bug.cgi?id=21812.
3398 Bring Windows Cairo Port's font handling in line with CG.
3400 Reviewed by David Hyatt.
3402 * platform/graphics/win/FontCacheWin.cpp:
3403 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo TrueType font search. It should match CG in all font selections.
3405 2008-10-22 Brady Eidson <beidson@apple.com>
3407 Reviewed by Adam Roben
3409 <rdar://6261773> - autocomplete="off" doesn't work on Windows
3411 Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a
3412 statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false"
3413 instead of the much more correct "true."
3415 In the past we have worked around this by declaring the bitfield member as an unsigned instead
3418 For more discussion, see http://trac.webkit.org/changeset/25329
3420 * html/HTMLInputElement.h: Work around insane Visual Studio enum issue *sigh*
3422 2008-10-22 Kevin McCullough <kmccullough@apple.com>
3424 Reviewed by Oliver Hunt and Tim Hatcher.
3426 https://bugs.webkit.org/show_bug.cgi?id=19225
3427 Bug 19225: JSProfiler: Create automated profiler tests
3428 - This change exports profiles on the console object so that they can be
3429 iterated over via JavaScript, and thus can be used in automated tests.
3431 * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
3433 (WebCore::JSConsole::profiles):
3434 * inspector/InspectorController.h: Use the new typedef.
3435 (WebCore::InspectorController::profiles):
3436 * page/Console.cpp: Keep our own array of profile objects.
3437 (WebCore::Console::profileEnd):
3438 * page/Console.h: Ditto.
3439 (WebCore::Console::profiles):
3440 * page/Console.idl: Expose the profiles to JS.
3442 2008-10-22 David Hyatt <hyatt@apple.com>
3444 https://bugs.webkit.org/show_bug.cgi?id=21775
3446 Convert buttons over to use the new Theme API on OS X.
3448 Reviewed by Adam Roben
3450 * platform/LengthBox.h:
3451 (WebCore::LengthBox::LengthBox):
3452 * platform/Theme.cpp:
3453 (WebCore::Theme::controlBorder):
3454 (WebCore::Theme::controlPadding):
3456 (WebCore::Theme::controlFont):
3457 (WebCore::Theme::controlSize):
3458 (WebCore::Theme::minControlSize):
3459 (WebCore::Theme::controlRequiresPreWhiteSpace):
3460 * platform/mac/ThemeMac.h:
3461 (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
3462 * platform/mac/ThemeMac.mm:
3463 (WebCore::checkboxSize):
3464 (WebCore::radioSize):
3465 (WebCore::buttonSizes):
3466 (WebCore::buttonMargins):
3468 (WebCore::paintButton):
3469 (WebCore::ThemeMac::controlFont):
3470 (WebCore::ThemeMac::controlSize):
3471 (WebCore::ThemeMac::minControlSize):
3472 (WebCore::ThemeMac::controlBorder):
3473 (WebCore::ThemeMac::controlPadding):
3474 (WebCore::ThemeMac::inflateControlPaintRect):
3475 (WebCore::ThemeMac::paint):
3476 * rendering/RenderTheme.cpp:
3477 (WebCore::RenderTheme::adjustStyle):
3478 (WebCore::RenderTheme::paint):
3479 (WebCore::RenderTheme::controlStatesForRenderer):
3480 (WebCore::RenderTheme::isDefault):
3481 (WebCore::RenderTheme::adjustRadioStyle):
3482 * rendering/RenderTheme.h:
3483 (WebCore::RenderTheme::setRadioSize):
3484 * rendering/RenderThemeMac.h:
3485 * rendering/RenderThemeMac.mm:
3486 (WebCore::RenderThemeMac::adjustRepaintRect):
3487 (WebCore::menuListButtonSizes):
3488 (WebCore::RenderThemeMac::adjustMenuListStyle):
3489 * rendering/style/RenderStyle.h:
3490 (WebCore::InheritedFlags::paddingBox):
3491 (WebCore::InheritedFlags::setPaddingBox):
3493 2008-10-22 Chris Marrin <cmarrin@apple.com>
3495 Reviewed by Dave Hyatt
3497 Make sure that the AtomicString that identifies a set of animation keyframes
3498 stays live by keeping a copy in the WebKitCSSKeyframesRule.
3500 Also call styleSheetChanged() when the keyframes name changes, but
3501 add an internal method that doesn't call styleSheetChanged() for use
3502 during normal stylesheet parsing.
3504 Test: animations/change-keyframes-name.html
3507 * css/WebKitCSSKeyframesRule.cpp:
3508 (WebCore::WebKitCSSKeyframesRule::setName):
3509 * css/WebKitCSSKeyframesRule.h:
3510 (WebCore::WebKitCSSKeyframesRule::setNameInternal):
3512 2008-10-22 Alexey Proskuryakov <ap@webkit.org>
3514 Reviewed by Sam Weinig.
3516 https://bugs.webkit.org/show_bug.cgi?id=21791
3517 WebCore JS bindings should be able to use non-static hash tables for properties
3519 Add a map for HashTables to WebCore JS client data.
3521 This makes property access noticeably slower, so it is an opt-in. For classes that need to be
3522 supported in workers in forseeable future this is not critical.
3524 * bindings/js/JSDOMBinding.cpp:
3525 (WebCore::DOMObjectHashTableMap::get):
3526 (WebCore::DOMObjectHashTableMap::mapFor):
3527 (WebCore::getHashTableForGlobalData):
3528 (WebCore::DOMObjectWrapperMap::mapFor):
3529 WebCore client data is now a class that contains both a DOM wrapper map and a property hash
3532 * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
3534 * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
3535 JSDOMBinding map to access its property hash tables.
3537 * dom/MessageChannel.idl:
3538 * dom/MessagePort.idl:
3539 Added NoStaticTables attribute.
3541 2008-10-22 Gustavo Noronha Silva <gns@gnome.org>
3543 Reviewed by Timothy Hatcher.
3545 Build failure because of missing include
3546 https://bugs.webkit.org/show_bug.cgi?id=21765
3548 Build failure fix for WebKit/GTK+; added missing
3551 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3553 2008-10-22 Alp Toker <alp@nuanti.com>
3555 Reviewed by Adam Roben.
3557 Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
3558 doesn't initialize values if the requested property doesn't exist, so
3559 initialize the values to the documented defaults before calling it
3560 where necessary. Additionally, avoid critical warnings by not calling
3561 gtk_widget_style_get() when we know the property isn't available.
3563 Note that this is an imported source file which doesn't follow the
3564 WebKit coding style.
3566 * platform/gtk/gtk2drawing.c:
3568 (moz_gtk_button_get_inner_border):
3569 (moz_gtk_combo_box_paint):
3570 (moz_gtk_toolbar_separator_paint):
3571 (moz_gtk_menu_separator_paint):
3572 (moz_gtk_get_widget_border):
3573 (moz_gtk_get_tab_scroll_arrow_size):
3574 (moz_gtk_get_toolbar_separator_width):
3575 (moz_gtk_get_menu_separator_height):
3577 2008-10-22 Alp Toker <alp@nuanti.com>
3579 Fix build for Cairo 1.2.
3581 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3582 (WebCore::GraphicsContext::clipOut):
3583 * platform/gtk/RenderThemeGtk.cpp:
3584 (WebCore::paintMozWidget):
3586 2008-10-22 Darin Fisher <darin@chromium.org>
3588 Reviewed by Eric Seidel.
3590 A little more PLATFORM(CHROMIUM) in WebCore
3591 https://bugs.webkit.org/show_bug.cgi?id=21758
3593 * page/AccessibilityObject.h:
3594 * platform/graphics/Icon.h:
3596 2008-10-21 Alexey Proskuryakov <ap@webkit.org>
3598 Reviewed by Darin Adler.
3600 Test: fast/events/message-channel-gc-3.html
3602 https://bugs.webkit.org/show_bug.cgi?id=21769
3603 MessagePort should be GC protected if there are messages to be delivered
3605 * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
3606 pending, and check if the queue is non-empty.
3607 (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
3610 * dom/MessagePort.cpp:
3611 (WebCore::CloseMessagePortTimer::fired):
3612 (WebCore::MessagePort::MessagePort):
3613 (WebCore::MessagePort::queueCloseEvent):
3614 (WebCore::MessagePort::dispatchCloseEvent):
3615 (WebCore::MessagePort::hasPendingActivity):
3616 Track message and close event activity separately.
3618 * bindings/js/JSDOMBinding.cpp:
3619 (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
3620 causing same-heap ports to never be deleted.
3622 2008-10-21 Dan Bernstein <mitz@apple.com>
3624 Reviewed by Sam Weinig.
3626 - remove unreachable code
3628 * platform/text/BidiResolver.h:
3631 2008-10-21 Beth Dakin <bdakin@apple.com>
3633 Reviewed by Darin Adler.
3635 Fix for https://bugs.webkit.org/show_bug.cgi?id=20352
3636 REGRESSION(r31030-31055): Choosing "Print window" from frame set
3638 and corresponding: <rdar://problem/6142398>
3640 viewHeight() and viewWidth() only return valuable information if we
3641 are not printing. Everywhere else in the code, we make sure we are
3642 not printing before we call these functions. Adding a check for
3643 printing here fixes this bug, and framesets print again.
3645 * rendering/RenderFrameSet.cpp:
3646 (WebCore::RenderFrameSet::layout):
3648 2008-10-21 Yael Aharon <yael.aharon@nokia.com>
3652 Pixmap in canvas tag was not getting initialized.
3654 See https://bugs.webkit.org/show_bug.cgi?id=21771
3656 * platform/graphics/qt/ImageBufferQt.cpp:
3657 (WebCore::ImageBuffer::create):
3659 2008-10-20 Simon Fraser <simon.fraser@apple.com>
3661 Reviewed by Dan Bernstein
3663 Add a comment explaining layoutDelta(), and an assertion
3664 that checks that delta changes were correctly paired during layout.
3666 * rendering/RenderView.cpp:
3667 (WebCore::RenderView::layout):
3668 * rendering/RenderView.h:
3670 2008-10-20 Timothy Hatcher <timothy@apple.com>
3672 Make auto-complete only suggest properties that are valid syntax
3673 when using dot-notation. Also when completing numeric properties,
3674 the quotes are omitted inside the brackets.
3676 https://bugs.webkit.org/show_bug.cgi?id=21760
3677 https://bugs.webkit.org/show_bug.cgi?id=21761
3679 Reviewed by Oliver Hunt.
3681 * inspector/front-end/Console.js:
3682 (WebInspector.Console.prototype.completions): Skip properties that
3683 are not valid identifies when using dot-notation. And omit the quotes
3684 when completing numbers in bracket-notation.
3686 2008-10-20 Timothy Hatcher <timothy@apple.com>
3688 Fixes the Profiles panel in the Web Inspector, which was broken by
3689 the JSValue base-class changes. Also renames some functions and
3690 variables in JavaScriptProfileNode.cpp that where title case.
3692 https://bugs.webkit.org/show_bug.cgi?id=21764
3694 Reviewed by Oliver Hunt.
3696 * inspector/JavaScriptProfile.cpp:
3697 (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
3698 returned JSValuePtr will be treated as an object and not a value.
3699 * inspector/JavaScriptProfileNode.cpp:
3700 (WebCore::toJS): Ditto.
3702 2008-10-20 Sam Weinig <sam@webkit.org>
3704 Reviewed by Anders Carlsson.
3706 Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
3708 * loader/EmptyClients.h:
3709 (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
3710 * loader/FrameLoader.cpp:
3711 (WebCore::FrameLoader::detachFromParent):
3712 * loader/FrameLoaderClient.h:
3714 2008-10-20 Antti Koivisto <antti@apple.com>
3716 Reviewed by Adele Peterson.
3718 Fix https://bugs.webkit.org/show_bug.cgi?id=21763
3719 REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
3720 <rdar://problem/6285025
3722 If we get 304 response we need to explicitly check if that completes the frame load.
3724 No test case, simulating the condition is pretty difficult.
3726 * loader/loader.cpp:
3727 (WebCore::Loader::Host::didReceiveResponse):
3729 2008-10-20 Anders Carlsson <andersca@apple.com>
3731 Reviewed by Mark Rowe.
3733 Work around <rdar://problem/6301728>.
3735 Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
3737 * loader/MainResourceLoader.cpp:
3738 (WebCore::MainResourceLoader::didReceiveResponse):
3739 (WebCore::MainResourceLoader::didReceiveData):
3740 (WebCore::MainResourceLoader::didFinishLoading):
3741 (WebCore::MainResourceLoader::didFail):
3743 2008-10-20 Beth Dakin <bdakin@apple.com>
3745 Reviewed by Adele Peterson.
3747 Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19
3748 crashes in Safari at com.apple.WebCore
3749 WebCore::ScrollView::visibleContentRect const + 153
3751 d->m_view can be null and is null-checked at other points in the
3752 code. The logs indicate that this crash occurs when closing a
3753 window containing a PDF, so in case where we crash, the PDF's view
3754 is probably already null. So the fix is to simply add a null-check.
3757 (WebCore::Frame::selectionRect):
3759 2008-10-20 Adele Peterson <adele@apple.com>
3761 Reviewed by Darin Adler.
3763 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
3764 Removed stray increment that would screw up any form with multiple files in it.
3766 2008-10-20 Sam Weinig <sam@webkit.org>
3768 Rubber-stamped by David Hyatt.
3770 Split LengthBox and LengthSize into their own files.
3773 * WebCore.vcproj/WebCore.vcproj:
3774 * WebCore.xcodeproj/project.pbxproj:
3775 * platform/Length.h:
3776 (WebCore::Length::blend):
3777 * platform/LengthBox.h: Copied from platform/Length.h.
3778 (WebCore::LengthBox::LengthBox):
3779 (WebCore::LengthBox::nonZero):
3780 * platform/LengthSize.h: Copied from platform/Length.h.
3781 (WebCore::LengthSize::LengthSize):
3782 (WebCore::LengthSize::setWidth):
3783 (WebCore::LengthSize::setHeight):
3784 (WebCore::LengthSize::height):
3786 * rendering/style/FillLayer.h:
3787 * rendering/style/NinePieceImage.h:
3788 (WebCore::NinePieceImage::NinePieceImage):
3789 * rendering/style/RenderStyle.h:
3790 * rendering/style/StyleDashboardRegion.h:
3791 * rendering/style/StyleSurroundData.h:
3792 * rendering/style/StyleVisualData.h:
3794 2008-10-20 Dan Bernstein <mitz@apple.com>
3798 * WebCore.xcodeproj/project.pbxproj:
3800 2008-10-20 Alp Toker <alp@nuanti.com>
3802 Fix autotools dist build target by listing recently added header
3803 files only. Not reviewed.
3807 2008-10-20 David Hyatt <hyatt@apple.com>
3809 Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms). Also
3810 refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
3813 ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.
3815 Reviewed by Adam Roben
3817 * WebCore.xcodeproj/project.pbxproj:
3818 * platform/Theme.cpp: Added.
3819 (WebCore::Theme::controlSupportsBorder):
3820 (WebCore::Theme::controlSupportsPadding):
3822 * platform/mac/ThemeMac.h:
3823 * platform/mac/ThemeMac.mm:
3824 * rendering/RenderTheme.cpp:
3825 (WebCore::RenderTheme::adjustStyle):
3826 * rendering/RenderTheme.h:
3828 2008-10-20 David Hyatt <hyatt@apple.com>
3830 Rename LengthBox's members to have m_ in front of them.
3832 Reviewed by Sam Weinig
3834 * css/CSSComputedStyleDeclaration.cpp:
3835 (WebCore::valueForNinePieceImage):
3836 (WebCore::getPositionOffsetValue):
3837 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3838 * css/CSSStyleSelector.cpp:
3839 (WebCore::CSSStyleSelector::mapNinePieceImage):
3840 * platform/Length.h:
3841 (WebCore::LengthBox::LengthBox):
3842 (WebCore::LengthBox::left):
3843 (WebCore::LengthBox::right):
3844 (WebCore::LengthBox::top):
3845 (WebCore::LengthBox::bottom):
3846 (WebCore::LengthBox::operator==):
3847 (WebCore::LengthBox::nonZero):
3848 * rendering/RenderObject.cpp:
3849 (WebCore::RenderObject::paintNinePieceImage):
3850 (WebCore::RenderObject::addDashboardRegions):
3851 * rendering/style/RenderStyle.cpp:
3852 (WebCore::positionedObjectMoved):
3853 (WebCore::RenderStyle::setClip):
3854 (WebCore::RenderStyle::noneDashboardRegions):
3855 * rendering/style/RenderStyle.h:
3856 (WebCore::InheritedFlags::left):
3857 (WebCore::InheritedFlags::right):
3858 (WebCore::InheritedFlags::top):
3859 (WebCore::InheritedFlags::bottom):
3860 (WebCore::InheritedFlags::clipLeft):
3861 (WebCore::InheritedFlags::clipRight):
3862 (WebCore::InheritedFlags::clipTop):
3863 (WebCore::InheritedFlags::clipBottom):
3864 (WebCore::InheritedFlags::marginTop):
3865 (WebCore::InheritedFlags::marginBottom):
3866 (WebCore::InheritedFlags::marginLeft):
3867 (WebCore::InheritedFlags::marginRight):
3868 (WebCore::InheritedFlags::paddingTop):
3869 (WebCore::InheritedFlags::paddingBottom):
3870 (WebCore::InheritedFlags::paddingLeft):
3871 (WebCore::InheritedFlags::paddingRight):
3872 (WebCore::InheritedFlags::setLeft):
3873 (WebCore::InheritedFlags::setRight):
3874 (WebCore::InheritedFlags::setTop):
3875 (WebCore::InheritedFlags::setBottom):
3876 (WebCore::InheritedFlags::setDashboardRegion):
3877 (WebCore::InheritedFlags::setClipLeft):
3878 (WebCore::InheritedFlags::setClipRight):
3879 (WebCore::InheritedFlags::setClipTop):
3880 (WebCore::InheritedFlags::setClipBottom):
3881 (WebCore::InheritedFlags::setMarginTop):
3882 (WebCore::InheritedFlags::setMarginBottom):
3883 (WebCore::InheritedFlags::setMarginLeft):
3884 (WebCore::InheritedFlags::setMarginRight):
3885 (WebCore::InheritedFlags::setPaddingTop):
3886 (WebCore::InheritedFlags::setPaddingBottom):
3887 (WebCore::InheritedFlags::setPaddingLeft):
3888 (WebCore::InheritedFlags::setPaddingRight):
3890 2008-10-20 Timothy Hatcher <timothy@apple.com>
3892 Make the Resource panel perform graph updates atomically, so when resources
3893 are added the graph and summary graph update at the same time.
3895 https://bugs.webkit.org/show_bug.cgi?id=21755
3897 Reviewed by Kevin McCullough.
3899 * inspector/front-end/Resource.js:
3900 (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
3901 property is undefined, null or 0. This allows callers to check for -1 and not
3902 the other values when there is no startTime yet.
3903 (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
3904 (WebInspector.Resource.prototype.get endTime): Ditto.
3905 (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
3906 (WebInspector.Resource.prototype.get latency): Ditto.
3907 (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
3908 property is undefined or null. This allows callers to always assume a number.
3909 (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
3910 (WebInspector.Resource.prototype.get errors): Simplify the case where there is
3911 no _errors property yet.
3912 (WebInspector.Resource.prototype.set errors): Remove the check if the new value
3913 if the same as the previous value, since there is no work to guard.
3914 (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
3915 no _warnings property yet.
3916 (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
3917 if the same as the previous value, since there is no work to guard.
3918 (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
3919 responseReceivedTime is -1.
3920 (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
3921 * inspector/front-end/ResourcesPanel.js:
3922 (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
3923 have a _resourcesTreeElement yet, exclude it from the searchable views.
3924 (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
3925 and call refresh to refresh the entire graph.
3926 (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
3927 is visible that calls refresh.
3928 (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
3929 graph for a resource if it hasn't been created yet. If the boundaries changed during
3930 the first stale resource pass, do a full pass of all resources when updating the graphs.
3931 (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
3932 (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
3933 graph, these are now created during the first refresh.
3934 (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
3935 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
3936 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
3937 (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
3938 add the resource to the _staleResources and set needsRefresh.
3939 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
3940 _resourcesTreeElement.
3941 (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
3942 the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
3943 since the insertBefore call will do it if needed.
3944 (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
3945 clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
3946 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
3947 timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
3948 since all the legend items are removed in one pass right before.
3949 (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
3950 before the calculator so the correct sortingFunction is there when a refresh happens.
3951 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
3952 when the startTime is -1, since that looks best visually. Also set middle and end
3953 to the start and middle (respectfully) when startAtZero. This looks best visually.
3954 (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
3955 (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
3957 2008-10-20 David Hyatt <hyatt@apple.com>
3959 https://bugs.webkit.org/show_bug.cgi?id=21733
3961 Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
3962 no attempt is made to re-cache the frame from a non-existent image source.
3964 Reviewed by Sam Weinig
3966 * platform/graphics/cairo/ImageCairo.cpp:
3967 (WebCore::BitmapImage::BitmapImage):
3968 * platform/graphics/cg/ImageCG.cpp:
3969 (WebCore::BitmapImage::BitmapImage):
3971 2008-10-20 Dan Bernstein <mitz@apple.com>
3973 Reviewed by John Sullivan.
3975 - make hasARenderedDescendant() have internal linkage
3977 * editing/CompositeEditCommand.cpp:
3978 (WebCore::hasARenderedDescendant):
3980 2008-10-20 Chris Fleizach <cfleizach@apple.com>
3982 Reviewed by Jon Honeycutt
3984 Fix a crash in Accessibility where a table section was being
3985 referenced without first checking if it was null
3987 https://bugs.webkit.org/show_bug.cgi?id=21721
3989 Test: accessibility/table-nofirstbody.html
3991 * page/AccessibilityTable.cpp:
3992 (WebCore::AccessibilityTable::addChildren):
3994 2008-10-20 David Hyatt <hyatt@apple.com>
3996 Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.
3998 Reviewed by Darin Adler
4000 * platform/graphics/cg/ImageSourceCG.cpp:
4001 (WebCore::ImageSource::repetitionCount):
4002 (WebCore::ImageSource::frameDurationAtIndex):
4004 2008-10-20 Alp Toker <alp@nuanti.com>
4006 Reviewed by Mark Rowe.
4008 Fix the pthread conditionals in the FTP code to correctly define
4009 threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
4012 * loader/FTPDirectoryDocument.cpp:
4013 * loader/FTPDirectoryParser.cpp:
4015 2008-10-20 David Hyatt <hyatt@apple.com>
4017 https://bugs.webkit.org/show_bug.cgi?id=21751
4019 Convert checkboxes and radio buttons on OS X over to the new Theme API.
4021 Reviewed by Adam Roben
4023 * css/CSSComputedStyleDeclaration.cpp:
4024 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4025 * css/CSSStyleSelector.cpp:
4026 (WebCore::CSSStyleSelector::mapFillSize):
4027 * platform/Length.h:
4028 (WebCore::LengthSize::LengthSize):
4029 (WebCore::LengthSize::operator==):
4030 (WebCore::LengthSize::width):
4031 (WebCore::LengthSize::height):
4032 (WebCore::LengthSize::setWidth):
4033 (WebCore::LengthSize::setHeight):
4035 (WebCore::Theme::controlSize):
4036 (WebCore::Theme::controlSupportsBorder):
4037 (WebCore::Theme::controlSupportsPadding):
4038 (WebCore::Theme::paint):
4039 (WebCore::Theme::inflateControlPaintRect):
4040 * platform/ThemeTypes.h:
4042 * platform/mac/ThemeMac.h:
4043 * platform/mac/ThemeMac.mm:
4045 (WebCore::controlSizeForFont):
4046 (WebCore::sizeFromFont):
4047 (WebCore::setControlSize):
4048 (WebCore::updateStates):
4049 (WebCore::inflateRect):
4050 (WebCore::checkboxSizes):
4051 (WebCore::checkboxMargins):
4052 (WebCore::checkboxSize):
4053 (WebCore::checkbox):
4054 (WebCore::paintCheckbox):
4055 (WebCore::radioSizes):
4056 (WebCore::radioMargins):
4057 (WebCore::radioSize):
4059 (WebCore::paintRadio):
4060 (WebCore::ThemeMac::baselinePositionAdjustment):
4061 (WebCore::ThemeMac::controlSize):
4062 (WebCore::ThemeMac::controlSupportsBorder):
4063 (WebCore::ThemeMac::controlSupportsPadding):
4064 (WebCore::ThemeMac::inflateControlPaintRect):
4065 (WebCore::ThemeMac::paint):
4066 * rendering/RenderBox.cpp:
4067 (WebCore::RenderBox::calculateBackgroundSize):
4068 * rendering/RenderObject.cpp:
4069 (WebCore::mustRepaintFillLayers):
4070 * rendering/RenderTheme.cpp:
4071 (WebCore::RenderTheme::adjustStyle):
4072 (WebCore::RenderTheme::paint):
4073 (WebCore::RenderTheme::baselinePosition):
4074 (WebCore::RenderTheme::adjustRepaintRect):
4075 (WebCore::RenderTheme::controlStatesForRenderer):
4076 (WebCore::RenderTheme::isFocused):
4077 * rendering/RenderTheme.h:
4078 * rendering/RenderThemeMac.h:
4079 * rendering/RenderThemeMac.mm:
4080 (WebCore::RenderThemeMac::adjustRepaintRect):
4081 * rendering/style/FillLayer.cpp:
4082 (WebCore::FillLayer::operator==):
4084 2008-10-18 Geoffrey Garen <ggaren@apple.com>
4086 Reviewed by Darin Adler.
4088 Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
4089 Emit profiling instrumentation only if the Web Inspector's profiling
4092 * bindings/js/JSDOMWindowBase.cpp:
4093 (WebCore::JSDOMWindowBase::supportsProfiling):
4094 * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
4095 whether a target global object has the Web Inspector's profiling feature
4098 * inspector/JavaScriptDebugServer.cpp:
4099 (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
4100 (WebCore::JavaScriptDebugServer::didAddListener):
4101 (WebCore::JavaScriptDebugServer::didRemoveListener):
4102 * inspector/JavaScriptDebugServer.h: Exported an API for recompiling,
4103 used by the Settings object.
4105 * page/Settings.cpp:
4106 (WebCore::Settings::Settings):
4107 (WebCore::Settings::setDeveloperExtrasEnabled):
4108 * page/Settings.h: Recompile when the developer menu is enabled/disabled
4109 for the first time, to add/remove profiling hooks. In the future, with
4110 better Web Inspector UI, we can do this on a page-by-page basis,
4111 instead of a global basis.
4113 2008-10-20 David Hyatt <hyatt@apple.com>
4115 Move Length to platform/.
4117 Reviewed by Adam Roben
4121 * WebCore.vcproj/WebCore.vcproj:
4122 * WebCore.xcodeproj/project.pbxproj:
4123 * WebCoreSources.bkl:
4124 * platform/Length.cpp: Copied from rendering/Length.cpp.
4125 * platform/Length.h: Copied from rendering/Length.h.
4127 2008-10-20 Darin Adler <darin@apple.com>
4129 - try to fix Qt build
4131 * bridge/qt/qt_runtime.cpp:
4132 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
4133 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
4135 2008-10-20 Darin Adler <darin@apple.com>
4137 - try to fix Qt build
4139 * bridge/qt/qt_instance.cpp:
4140 (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
4141 (JSC::Bindings::QtField::valueFromInstance): Ditto.
4142 * bridge/qt/qt_instance.h: Ditto.
4144 2008-10-20 Darin Adler <darin@apple.com>
4146 - try to fix Tiger build
4148 * bridge/objc/objc_instance.mm:
4149 (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
4151 (ObjcInstance::invokeDefaultMethod): Ditto.
4152 (ObjcInstance::getValueOfUndefinedField): Ditto.
4153 * bridge/objc/objc_runtime.mm:
4154 (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
4156 2008-10-20 Alexey Proskuryakov <ap@webkit.org>
4158 Reviewed by Darin Adler.
4160 https://bugs.webkit.org/show_bug.cgi?id=21750
4161 Eliminate the notion of "temporary events"
4163 We mark some events as temporary when dispatching, for the sole reason of
4164 manually calling forgetDOMObject when done dispatching.
4166 There doesn't seem to be any reason to call it manually, as JSEvent destructor
4167 will do this automatically right away.
4169 * bindings/js/ScriptController.cpp:
4170 * bindings/js/ScriptController.h:
4171 Removed ScriptController::finishedWithEvent(), which was called after dispatching
4174 * dom/ContainerNode.cpp:
4175 (WebCore::dispatchChildInsertionEvents):
4176 (WebCore::dispatchChildRemovalEvents):
4177 * dom/EventTarget.h:
4178 * dom/EventTargetNode.cpp:
4179 (WebCore::EventTargetNode::dispatchEvent):
4180 (WebCore::EventTargetNode::dispatchGenericEvent):
4181 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
4182 (WebCore::EventTargetNode::dispatchWindowEvent):
4183 (WebCore::EventTargetNode::dispatchUIEvent):
4184 (WebCore::EventTargetNode::dispatchKeyEvent):
4185 (WebCore::EventTargetNode::dispatchMouseEvent):
4186 (WebCore::EventTargetNode::dispatchWheelEvent):
4187 (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
4188 (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
4189 (WebCore::EventTargetNode::dispatchEventForType):
4190 (WebCore::EventTargetNode::dispatchProgressEvent):
4191 (WebCore::EventTargetNode::dispatchStorageEvent):
4192 * dom/EventTargetNode.h:
4193 * dom/MessagePort.cpp:
4194 (WebCore::MessagePort::dispatchMessages):
4195 (WebCore::MessagePort::dispatchCloseEvent):
4196 (WebCore::MessagePort::dispatchEvent):
4197 * dom/MessagePort.h:
4198 * editing/Editor.cpp:
4199 (WebCore::Editor::dispatchCPPEvent):
4200 (WebCore::dispatchEditableContentChangedEvents):
4201 * editing/ReplaceSelectionCommand.cpp:
4202 (WebCore::ReplacementFragment::ReplacementFragment):
4203 * editing/TypingCommand.cpp:
4204 (WebCore::TypingCommand::insertText):
4205 * loader/appcache/DOMApplicationCache.cpp:
4206 (WebCore::DOMApplicationCache::dispatchEvent):
4207 (WebCore::DOMApplicationCache::callListener):
4208 * loader/appcache/DOMApplicationCache.h:
4209 * page/EventHandler.cpp:
4210 (WebCore::EventHandler::dispatchDragEvent):
4211 (WebCore::EventHandler::keyEvent):
4212 (WebCore::EventHandler::handleTextInputEvent):
4213 * page/FrameView.cpp:
4214 (WebCore::FrameView::scheduleEvent):
4215 (WebCore::FrameView::updateOverflowStatus):
4216 (WebCore::FrameView::dispatchScheduledEvents):
4218 * rendering/RenderLayer.cpp:
4219 (WebCore::RenderLayer::scrollToOffset):
4220 (WebCore::RenderLayer::updateOverflowStatus):
4221 * svg/SVGElement.cpp:
4222 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
4223 * svg/SVGElementInstance.cpp:
4224 (WebCore::SVGElementInstance::dispatchEvent):
4225 * svg/SVGElementInstance.h:
4226 * xml/XMLHttpRequest.cpp:
4227 (WebCore::XMLHttpRequest::dispatchEvent):
4228 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
4229 (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
4230 * xml/XMLHttpRequest.h:
4231 * xml/XMLHttpRequestUpload.cpp:
4232 (WebCore::XMLHttpRequestUpload::dispatchEvent):
4233 (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
4234 * xml/XMLHttpRequestUpload.h:
4235 Don't pass the tempEvent boolean around.
4237 2008-10-20 Alp Toker <alp@nuanti.com>
4239 Remove unused includes only. Partial GTK+/Win build fix.
4241 * platform/graphics/gtk/SimpleFontDataPango.cpp:
4243 2008-10-20 Alexey Proskuryakov <ap@webkit.org>
4245 Reviewed by Oliver Hunt.
4247 https://bugs.webkit.org/show_bug.cgi?id=21705
4248 Implement Web Workers client-side API
4250 The implementation is experimental, and disabled by default. It doesn't quite match the
4251 published draft, being influenced by further WHATWG discussions.
4253 This only implements the client-side API, and does not actually create any threads or
4254 global contexts yet.
4256 * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
4257 still not sure if having separate classes for these helps at all.
4259 * WebCore.xcodeproj/project.pbxproj: Added new files.
4261 * bindings/js/JSDOMWindowBase.cpp:
4262 (jsDOMWindowBaseWorker):
4263 (WebCore::JSDOMWindowBase::put):
4264 (setJSDOMWindowBaseWorker):
4265 Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
4266 to match prevailing style.
4268 * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
4269 * bindings/js/JSDedicatedWorkerConstructor.h: Added.
4270 * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
4271 The implementation of event listeners are left custom intentionally, for easier implementation
4272 of listeners that are not tied to any Document in the future.
4274 * dom/DedicatedWorker.cpp: Added.
4275 * dom/DedicatedWorker.h: Added.
4276 * dom/DedicatedWorker.idl: Added.
4277 Added an implementation that can only load requested scripts for now.
4279 2008-10-19 Darin Adler <darin@apple.com>
4281 Reviewed by Dan Bernstein.
4283 - fix assertion seen when opening inspector
4285 * bindings/js/JSQuarantinedObjectWrapper.cpp:
4286 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
4287 Removed unneeded asObject cast.
4289 2008-10-19 Dan Bernstein <mitz@apple.com>
4291 Rubber-stamped by Timothy Hatcher.
4293 - remove empty directories and correct the MIME type of inspector images
4295 * page/inspector: Removed.
4296 * page/inspector/Images: Removed.
4298 2008-10-19 Timothy Hatcher <timothy@apple.com>
4300 Make the Web Inspector Resources panel open quicker and change graphs
4301 faster. There was some accidental n^2 logic at fault when updating the
4304 https://bugs.webkit.org/show_bug.cgi?id=21742
4306 Reviewed by Darin Adler.
4308 * inspector/front-end/ResourcesPanel.js:
4309 (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
4310 a null calculator. Remove the second argument passed to _refreshAllResources.
4311 (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
4312 the calculator for all the stale resources before calling refreshResource.
4313 Pass true for the first argument of refreshResource to skip the boundary update.
4314 (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
4315 the second argument passed to _refreshAllResources.
4316 (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
4317 skipSort argument since every passed true, and it would be bad to pass false.
4318 (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
4319 skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
4320 the resources before calling refreshResource. Pass true for the first argument
4321 of refreshResource to skip the boundary update.
4323 2008-10-19 Timothy Hatcher <timothy@apple.com>
4325 Visually distinguish resources that loaded from the memory cache.
4327 https://bugs.webkit.org/show_bug.cgi?id=14279
4329 Reviewed by Dan Bernstein.
4331 * English.lproj/localizedStrings.js: New string.
4332 * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
4333 * inspector/front-end/Images/timelineHollowPillGray.png: Added.
4334 * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
4335 * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
4336 * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
4337 * inspector/front-end/Images/timelineHollowPillRed.png: Added.
4338 * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
4339 * inspector/front-end/ResourcesPanel.js:
4340 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
4341 Add the "(from cache)" suffix to the tooltip.
4342 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
4343 Add the "(from cache)" suffix to the tooltip.
4344 (WebInspector.ResourceGraph): Add the "resource-cached" class.
4345 * inspector/front-end/inspector.css: New styles to make the timeline
4346 bars use the hollow pill images.
4348 2008-10-19 Timothy Hatcher <timothy@apple.com>
4350 Update the scroll position in the Resources panel when loading
4351 a new page or toggling on small resource rows.
4353 https://bugs.webkit.org/show_bug.cgi?id=20114
4355 Reviewed by Darin Adler.
4357 * inspector/front-end/ResourcesPanel.js:
4358 (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
4359 since all the resource are being removed.
4360 (WebInspector.ResourcesPanel.prototype.removeResource): Call
4361 _adjustScrollPosition in case the view is shorter and needs scrolled.
4362 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
4363 (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
4364 the height of the sidebar against the scrollTop and height of the
4365 resourcesContainerElement. If the sidebar is shorter, scroll up
4366 so the last resource is at the bottom again.
4368 2008-10-19 Timothy Hatcher <timothy@apple.com>
4370 Show per resource times and sizes when hovering over the bar graph for a resource.
4372 https://bugs.webkit.org/show_bug.cgi?id=14300
4373 rdar://problem/5712802
4375 Reviewed by Cameron Zwarich.
4377 * English.lproj/localizedStrings.js: Add new strings.
4378 * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
4379 * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
4380 * inspector/front-end/ResourcesPanel.js:
4381 (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
4382 ResourceGraph.refresh function.
4383 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
4384 returns the formatted value.
4385 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
4386 for the latency and download times. Also generate a custom tooltip.
4387 (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
4388 (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
4389 in case the bar has changed size.
4390 (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
4391 * inspector/front-end/inspector.css: New styles for the labels.
4393 2008-10-19 Darin Adler <darin@apple.com>
4395 Reviewed by Oliver Hunt.
4397 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
4398 improve performance by eliminating JSValue as a base class for JSCell
4400 Remove most uses of JSValue, which will be removed in a future patch.
4402 * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
4403 and used JSValuePtr instead.
4404 * bindings/js/JSEventTarget.h: Ditto.
4405 * bindings/js/JSNodeFilterCondition.h: Ditto.
4406 * bindings/js/ScheduledAction.h: Ditto.
4407 * bindings/js/ScriptController.h: Ditto.
4408 * bindings/objc/WebScriptObjectPrivate.h: Ditto.
4409 * bridge/c/c_utility.h: Ditto.
4410 * bridge/jni/jni_jsobject.h: Ditto.
4411 * bridge/jni/jni_utility.h: Ditto.
4412 * bridge/objc/WebScriptObject.h: Ditto.
4413 * dom/Traversal.h: Ditto.
4414 * inspector/InspectorController.cpp: Ditto.
4415 * inspector/JavaScriptProfile.h: Ditto.
4416 * inspector/JavaScriptProfileNode.h: Ditto.
4417 * loader/FrameLoader.h: Ditto.
4418 * page/Console.h: Ditto.
4419 * plugins/MimeTypeArray.h: Ditto.
4420 * plugins/Plugin.h: Ditto.
4421 * plugins/PluginArray.h: Ditto.
4422 * plugins/PluginView.cpp:
4423 (WebCore::getString): Ditto.
4424 (WebCore::PluginView::performRequest): Ditto.
4425 * plugins/gtk/PluginViewGtk.cpp: Ditto.
4426 * plugins/qt/PluginViewQt.cpp: Ditto.
4427 * plugins/win/PluginViewWin.cpp: Ditto.
4429 * bridge/qt/qt_class.cpp:
4430 (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
4431 instead of JSValue*.
4432 * bridge/qt/qt_class.h: Ditto.
4433 * bridge/qt/qt_instance.cpp:
4434 (JSC::Bindings::QtInstance::mark): Ditto.
4435 (JSC::Bindings::QtInstance::invokeMethod): Ditto.
4436 (JSC::Bindings::QtInstance::defaultValue): Ditto.
4437 (JSC::Bindings::QtInstance::stringValue): Ditto.
4438 (JSC::Bindings::QtInstance::numberValue): Ditto.
4439 (JSC::Bindings::QtInstance::booleanValue): Ditto.
4440 (JSC::Bindings::QtInstance::valueOf): Ditto.
4441 (JSC::Bindings::QtField::valueFromInstance): Ditto.
4442 (JSC::Bindings::QtField::setValueToInstance): Ditto.
4443 * bridge/qt/qt_instance.h: Ditto.
4444 * bridge/qt/qt_runtime.cpp: Ditto.
4445 (JSC::Bindings::valueRealType): Ditto.
4446 (JSC::Bindings::convertValueToQVariant): Ditto.
4447 (JSC::Bindings::convertQVariantToValue): Ditto.
4448 (JSC::Bindings::findMethodIndex): Ditto.
4449 (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
4450 (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
4451 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
4452 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
4453 (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
4454 (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
4455 (JSC::Bindings::QtArray::setValueAt): Ditto.
4456 (JSC::Bindings::QtArray::valueAt): Ditto.
4457 * bridge/qt/qt_runtime.h: Ditto.
4459 * bridge/testqtbindings.cpp:
4460 (main): Use JSValuePtr.
4462 2008-10-18 Darin Adler <darin@apple.com>
4464 Reviewed by Oliver Hunt.
4466 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
4467 improve performance by eliminating JSValue as a base class for JSCell
4469 Tweak a little more to get closer to where we can make JSValuePtr a class.
4471 * bindings/js/JSAudioConstructor.cpp:
4472 (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
4473 (WebCore::constructAudio): Ditto.
4474 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4475 (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
4477 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4478 (WebCore::toHTMLCanvasStyle): Use asString and asObject.
4479 (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
4480 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
4481 (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
4482 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
4483 (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
4484 (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
4486 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
4487 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
4489 * bindings/js/JSDOMBinding.cpp:
4490 (WebCore::setDOMException): Use noValue.
4492 * bindings/js/JSDOMBinding.h:
4493 (WebCore::getDOMPrototype): Use asObject.
4495 * bindings/js/JSDOMWindowBase.cpp:
4496 (WebCore::showModalDialog): Use noValue.
4497 (jsDOMWindowBaseEvent): Use asObject.
4498 (jsDOMWindowBaseImage): Ditto.
4499 (jsDOMWindowBaseMessageChannel): Ditto.
4500 (jsDOMWindowBaseOption): Ditto.
4501 (jsDOMWindowBaseXMLHttpRequest): Ditto.
4502 (jsDOMWindowBaseAudio): Ditto.
4503 (jsDOMWindowBaseXSLTProcessor): Ditto.
4504 (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
4505 (WebCore::JSDOMWindowBase::indexGetter): Ditto.
4506 (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
4507 (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
4508 (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
4509 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
4510 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
4511 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
4512 (windowProtoFuncOpen): Use noValue.
4513 (WebCore::toJSDOMWindow): Use asObject.
4515 * bindings/js/JSDOMWindowCustom.cpp:
4516 (WebCore::setTimeoutOrInterval): Use asString.
4517 (WebCore::toDOMWindow): Use asObject.
4519 * bindings/js/JSEventListener.cpp:
4520 (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
4521 (WebCore::JSLazyEventListener::parseCode): Use asObject.
4523 * bindings/js/JSHTMLCollectionCustom.cpp:
4524 (WebCore::JSHTMLCollection::nameGetter): Use asObject.
4525 * bindings/js/JSHTMLDocumentCustom.cpp:
4526 (WebCore::JSHTMLDocument::nameGetter): Ditto.
4527 * bindings/js/JSHTMLElementCustom.cpp:
4528 (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
4529 * bindings/js/JSHTMLFormElementCustom.cpp:
4530 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
4531 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
4532 (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
4533 * bindings/js/JSHTMLOptionElementConstructor.cpp:
4534 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
4535 (WebCore::constructHTMLOptionElement): Ditto.
4536 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
4537 (WebCore::JSHTMLOptionsCollection::remove): Ditto.
4538 * bindings/js/JSImageConstructor.cpp:
4539 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
4540 (WebCore::constructImage): Ditto.
4541 * bindings/js/JSInspectedObjectWrapper.cpp:
4542 (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
4543 * bindings/js/JSInspectorCallbackWrapper.cpp:
4544 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
4546 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4547 (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
4549 * bindings/js/JSMessageChannelConstructor.cpp:
4550 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
4551 (WebCore::JSMessageChannelConstructor::construct): Ditto.
4552 * bindings/js/JSMimeTypeArrayCustom.cpp:
4553 (WebCore::JSMimeTypeArray::nameGetter): Ditto.
4554 * bindings/js/JSNamedNodeMapCustom.cpp:
4555 (WebCore::JSNamedNodeMap::nameGetter): Ditto.
4556 * bindings/js/JSNamedNodesCollection.cpp:
4557 (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
4558 (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
4559 * bindings/js/JSNodeFilterCustom.cpp:
4560 (WebCore::toNodeFilter): Ditto.
4561 * bindings/js/JSNodeListCustom.cpp:
4562 (WebCore::JSNodeList::nameGetter): Ditto.
4563 * bindings/js/JSPluginArrayCustom.cpp:
4564 (WebCore::JSPluginArray::nameGetter): Ditto.
4565 * bindings/js/JSPluginCustom.cpp:
4566 (WebCore::JSPlugin::nameGetter): Ditto.
4567 * bindings/js/JSPluginElementFunctions.cpp:
4568 (WebCore::runtimeObjectGetter): Ditto.
4569 (WebCore::runtimeObjectPropertyGetter): Ditto.
4570 * bindings/js/JSQuarantinedObjectWrapper.cpp:
4571 (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
4572 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
4573 (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
4574 * bindings/js/JSRGBColor.cpp:
4575 (jsRGBColorRed): Ditto.
4576 (jsRGBColorGreen): Ditto.
4577 (jsRGBColorBlue): Ditto.
4579 * bindings/js/JSSQLResultSetRowListCustom.cpp:
4580 (WebCore::JSSQLResultSetRowList::item): Use noValue.
4582 * bindings/js/JSStorageCustom.cpp:
4583 (WebCore::JSStorage::nameGetter): Use asObject.
4584 (WebCore::JSStorage::deleteProperty): Ditto.
4585 (WebCore::JSStorage::customPut): Ditto.
4586 * bindings/js/JSStyleSheetListCustom.cpp:
4587 (WebCore::JSStyleSheetList::nameGetter): Ditto.
4588 * bindings/js/JSXMLHttpRequestConstructor.cpp:
4589 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
4590 * bindings/js/JSXSLTProcessorCustom.cpp:
4591 (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
4592 (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
4593 (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
4595 * bindings/js/ScriptController.cpp:
4596 (WebCore::ScriptController::evaluate): Use noValue.
4597 * bindings/objc/DOMInternal.mm:
4598 (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
4600 * bindings/objc/WebScriptObject.mm:
4601 (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
4602 (-[WebScriptObject valueForKey:]): Ditto.
4603 (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
4604 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
4605 Use asObject and asString.
4607 * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
4609 * bridge/c/c_instance.h: Use JSValuePtr.
4610 * bridge/c/c_runtime.cpp:
4611 (JSC::Bindings::CField::setValueToInstance): Ditto.
4613 * bridge/c/c_utility.cpp:
4614 (JSC::Bindings::convertValueToNPVariant): Use asObject.
4616 * bridge/jni/jni_instance.cpp:
4617 (JavaInstance::booleanValue): Use JSValuePtr.
4618 (JavaInstance::invokeMethod): Ditto. And noValue.
4619 * bridge/jni/jni_jsobject.mm:
4620 (JavaJSObject::getSlot): Ditto.
4621 (JavaJSObject::convertValueToJObject): Ditto.
4622 * bridge/jni/jni_runtime.cpp:
4623 (JavaField::dispatchValueFromInstance): Ditto.
4624 (JavaField::valueFromInstance): Ditto.
4625 (JavaField::dispatchSetValueToInstance): Ditto.
4626 (JavaField::setValueToInstance): Ditto.
4627 (JavaArray::setValueAt): Ditto.
4628 (JavaArray::valueAt): Ditto.
4629 * bridge/jni/jni_runtime.h: Ditto.
4631 * bridge/jni/jni_utility.cpp:
4632 (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
4633 instead of a JSValue*.
4634 (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
4636 * bridge/objc/objc_class.h: Use JSValuePtr.
4637 * bridge/objc/objc_instance.h: Ditto.
4638 * bridge/objc/objc_runtime.h: Ditto.
4640 * bridge/objc/objc_runtime.mm:
4641 (JSC::Bindings::callObjCFallbackObject): Use asObject.
4643 * bridge/objc/objc_utility.h: Use JSValuePtr.
4644 * bridge/objc/objc_utility.mm:
4645 (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
4646 (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
4648 * bridge/runtime.cpp:
4649 (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
4650 (JSC::Bindings::Instance::setValueOfField): Ditto.
4652 * bridge/runtime_array.cpp:
4653 (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
4654 (JSC::RuntimeArray::indexGetter): Ditto.
4655 * bridge/runtime_array.h: Ditto.
4656 * bridge/runtime_method.cpp:
4657 (JSC::RuntimeMethod::lengthGetter): Ditto.
4658 (JSC::callRuntimeMethod): Ditto.
4659 * bridge/runtime_object.cpp:
4660 (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
4661 (JSC::RuntimeObjectImp::fieldGetter): Ditto.
4662 (JSC::RuntimeObjectImp::methodGetter): Ditto.
4664 * loader/FrameLoader.cpp:
4665 (WebCore::FrameLoader::executeScript): Use noValue.
4668 (WebCore::Console::trace): Use asInternalFunction.
4670 2008-10-19 Dan Bernstein <mitz@apple.com>
4672 Reviewed by Timothy Hatcher.
4674 - lower the default button repaint frequency
4676 * rendering/RenderButton.cpp:
4677 (WebCore::RenderButton::styleDidChange): Changed the timer interval from
4680 2008-10-18 Dan Bernstein <mitz@apple.com>
4682 Reviewed by Mark Rowe.
4686 * rendering/RenderThemeSafari.cpp:
4687 (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
4688 (WebCore::RenderThemeSafari::paintMediaMuteButton):
4689 (WebCore::RenderThemeSafari::paintMediaPlayButton):
4690 (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
4691 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
4692 (WebCore::RenderThemeSafari::paintMediaSliderThumb):
4694 2008-10-18 Dan Bernstein <mitz@apple.com>
4696 Reviewed by Sam Weinig.
4698 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
4699 Long-dead decoded image data make up for most of the object cache's memory use over time
4701 Add a cache setting for how long decoded image data should be allowed to
4702 persist in memory after the image has died. By default, this is set to
4703 0, which means "forever".
4706 (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
4708 (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
4709 (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
4710 * loader/CachedImage.cpp:
4711 (WebCore::CachedImage::CachedImage): Initialize the decoded data
4713 (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
4714 the decoded image data.
4715 (WebCore::CachedImage::addClient): Stop the timer if it is active.
4716 (WebCore::CachedImage::allClientsRemoved): Start the decoded data
4718 * loader/CachedImage.h:
4720 2008-10-18 Darin Adler <darin@apple.com>
4722 Reviewed by Dan Bernstein.
4724 - fix https://bugs.webkit.org/show_bug.cgi?id=21645
4725 REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
4727 * html/HTMLFormElement.cpp:
4728 (WebCore::HTMLFormElement::formData):
4729 Fix loop that goes through the FormDataList to go two at a time in a clearer
4730 way. My last patch screwed up the way it got form content from the items.
4731 This "two at a time" approach is a confusing way to do things, which explains
4732 why I got it wrong last time through, but I decided to just fix it locally for
4733 now rather than changing the design of FormDataList.
4735 2008-10-18 Darin Adler <darin@apple.com>
4737 Reviewed by Cameron Zwarich.
4739 - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
4740 improve performance by eliminating JSValue as a base class for JSCell
4742 Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
4743 changing JSValuePtr to be a class, and then eventually renaming it
4744 to JSValue once that's done.
4746 * bindings/js/JSAttrCustom.cpp:
4747 * bindings/js/JSCSSRuleCustom.cpp:
4748 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4749 * bindings/js/JSCSSValueCustom.cpp:
4750 * bindings/js/JSCanvasPixelArrayCustom.h:
4751 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4752 * bindings/js/JSClipboardCustom.cpp:
4753 * bindings/js/JSConsoleCustom.cpp:
4754 * bindings/js/JSCustomSQLStatementCallback.cpp:
4755 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
4756 * bindings/js/JSCustomSQLTransactionCallback.cpp:
4757 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
4758 * bindings/js/JSCustomVoidCallback.cpp:
4759 * bindings/js/JSCustomVoidCallback.h:
4760 * bindings/js/JSCustomXPathNSResolver.cpp:
4761 * bindings/js/JSDOMApplicationCacheCustom.cpp:
4762 * bindings/js/JSDOMBinding.cpp:
4763 * bindings/js/JSDOMBinding.h:
4764 * bindings/js/JSDOMWindowBase.cpp:
4765 * bindings/js/JSDOMWindowBase.h:
4766 * bindings/js/JSDOMWindowCustom.cpp:
4767 * bindings/js/JSDOMWindowCustom.h:
4768 * bindings/js/JSDOMWindowShell.cpp:
4769 * bindings/js/JSDOMWindowShell.h:
4770 * bindings/js/JSDatabaseCustom.cpp:
4771 * bindings/js/JSDocumentCustom.cpp:
4772 * bindings/js/JSElementCustom.cpp:
4773 * bindings/js/JSEventCustom.cpp:
4774 * bindings/js/JSEventListener.cpp:
4775 * bindings/js/JSEventTarget.cpp:
4776 * bindings/js/JSEventTargetBase.h:
4777 * bindings/js/JSEventTargetNodeCustom.cpp:
4778 * bindings/js/JSHTMLAllCollection.h:
4779 * bindings/js/JSHTMLAppletElementCustom.cpp:
4780 * bindings/js/JSHTMLCollectionCustom.cpp:
4781 * bindings/js/JSHTMLDocumentCustom.cpp:
4782 * bindings/js/JSHTMLEmbedElementCustom.cpp:
4783 * bindings/js/JSHTMLFormElementCustom.cpp:
4784 * bindings/js/JSHTMLFrameElementCustom.cpp:
4785 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
4786 * bindings/js/JSHTMLIFrameElementCustom.cpp:
4787 * bindings/js/JSHTMLInputElementCustom.cpp:
4788 * bindings/js/JSHTMLObjectElementCustom.cpp:
4789 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
4790 * bindings/js/JSHTMLSelectElementCustom.cpp:
4791 * bindings/js/JSHTMLSelectElementCustom.h:
4792 * bindings/js/JSHistoryCustom.cpp:
4793 * bindings/js/JSImageDataCustom.cpp:
4794 * bindings/js/JSInspectedObjectWrapper.cpp:
4795 * bindings/js/JSInspectedObjectWrapper.h:
4796 * bindings/js/JSInspectorCallbackWrapper.cpp:
4797 * bindings/js/JSInspectorCallbackWrapper.h:
4798 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4799 * bindings/js/JSLocationCustom.cpp:
4800 * bindings/js/JSMessagePortCustom.cpp:
4801 * bindings/js/JSMimeTypeArrayCustom.cpp:
4802 * bindings/js/JSNamedNodeMapCustom.cpp:
4803 * bindings/js/JSNamedNodesCollection.cpp:
4804 * bindings/js/JSNamedNodesCollection.h:
4805 * bindings/js/JSNavigatorCustom.cpp:
4806 * bindings/js/JSNodeCustom.cpp:
4807 * bindings/js/JSNodeFilterCondition.cpp:
4808 * bindings/js/JSNodeFilterCustom.cpp:
4809 * bindings/js/JSNodeIteratorCustom.cpp:
4810 * bindings/js/JSNodeListCustom.cpp:
4811 * bindings/js/JSPluginArrayCustom.cpp:
4812 * bindings/js/JSPluginCustom.cpp:
4813 * bindings/js/JSPluginElementFunctions.cpp:
4814 * bindings/js/JSPluginElementFunctions.h:
4815 * bindings/js/JSQuarantinedObjectWrapper.cpp:
4816 * bindings/js/JSQuarantinedObjectWrapper.h:
4817 * bindings/js/JSRGBColor.cpp:
4818 * bindings/js/JSRGBColor.h:
4819 * bindings/js/JSSQLResultSetRowListCustom.cpp:
4820 * bindings/js/JSSQLTransactionCustom.cpp:
4821 * bindings/js/JSSVGElementInstanceCustom.cpp:
4822 * bindings/js/JSSVGLengthCustom.cpp:
4823 * bindings/js/JSSVGMatrixCustom.cpp:
4824 * bindings/js/JSSVGPathSegCustom.cpp:
4825 * bindings/js/JSSVGPathSegListCustom.cpp:
4826 * bindings/js/JSSVGPointListCustom.cpp:
4827 * bindings/js/JSSVGTransformListCustom.cpp:
4828 * bindings/js/JSStorageCustom.cpp:
4829 * bindings/js/JSStyleSheetCustom.cpp:
4830 * bindings/js/JSStyleSheetListCustom.cpp:
4831 * bindings/js/JSTextCustom.cpp:
4832 * bindings/js/JSTreeWalkerCustom.cpp:
4833 * bindings/js/JSXMLHttpRequestCustom.cpp:
4834 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4835 * bindings/js/JSXSLTProcessorCustom.cpp:
4836 * bindings/js/ScheduledAction.cpp:
4837 * bindings/js/ScheduledAction.h:
4838 * bindings/js/ScriptController.cpp:
4839 * bindings/js/ScriptController.h:
4840 * bindings/objc/WebScriptObject.mm:
4841 * bindings/scripts/CodeGeneratorJS.pm:
4842 * bridge/NP_jsobject.cpp:
4843 * bridge/c/c_instance.cpp:
4844 * bridge/c/c_instance.h:
4845 * bridge/c/c_runtime.cpp:
4846 * bridge/c/c_runtime.h:
4847 * bridge/c/c_utility.cpp:
4848 * bridge/jni/jni_instance.cpp:
4849 * bridge/jni/jni_instance.h:
4850 * bridge/jni/jni_jsobject.mm:
4851 * bridge/jni/jni_objc.mm:
4852 * bridge/jni/jni_runtime.cpp:
4853 * bridge/jni/jni_runtime.h:
4854 * bridge/jni/jni_utility.cpp:
4855 * bridge/objc/objc_class.mm:
4856 * bridge/objc/objc_instance.h:
4857 * bridge/objc/objc_instance.mm:
4858 * bridge/objc/objc_runtime.h:
4859 * bridge/objc/objc_runtime.mm:
4860 * bridge/objc/objc_utility.h:
4861 * bridge/objc/objc_utility.mm:
4863 * bridge/runtime_array.cpp:
4864 * bridge/runtime_array.h:
4865 * bridge/runtime_method.cpp:
4866 * bridge/runtime_method.h:
4867 * bridge/runtime_object.cpp:
4868 * bridge/runtime_object.h:
4869 * inspector/JavaScriptCallFrame.cpp:
4870 * inspector/JavaScriptCallFrame.h:
4871 * inspector/JavaScriptProfile.cpp:
4872 * inspector/JavaScriptProfileNode.cpp:
4873 * loader/FrameLoader.cpp:
4874 * loader/FrameLoader.h:
4877 * plugins/MimeTypeArray.h:
4879 * plugins/PluginArray.h:
4880 * xml/XMLHttpRequest.cpp:
4881 Replace JSValue* with JSValuePtr.
4883 2008-10-18 Darin Adler <darin@apple.com>
4885 Reviewed by Oliver Hunt.
4887 - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
4888 improve performance by eliminating JSValue as a base class for JSCell
4890 Update for change to make PreferredPrimitiveType no longer
4891 a member of JSValue.
4893 * bridge/c/c_instance.cpp:
4894 (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
4895 * bridge/jni/jni_instance.cpp:
4896 (JavaInstance::defaultValue): Ditto.
4897 * bridge/objc/objc_instance.mm:
4898 (ObjcInstance::defaultValue): Ditto.
4899 * bridge/qt/qt_instance.cpp:
4900 (JSC::Bindings::QtInstance::defaultValue): Ditto.
4901 * bridge/runtime.h: Ditto. Also removed typedef.
4903 2008-10-18 Darin Adler <darin@apple.com>
4905 - try to fix Windows build
4907 * rendering/RenderThemeSafari.cpp:
4908 (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
4909 SafariTheme namespace, since there is now an identically named constant in
4910 the ControlPart enum.
4911 (WebCore::RenderThemeSafari::paintButton): Ditto.
4912 (WebCore::RenderThemeSafari::paintTextField): Ditto.
4913 (WebCore::RenderThemeSafari::paintTextArea): Ditto.
4914 (WebCore::RenderThemeSafari::paintSearchField): Ditto.
4915 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
4916 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
4917 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
4919 2008-10-18 Jan Michael Alonzo <jmalonzo@webkit.org>
4921 Reviewed by Alp Toker.
4923 [GTK] crash after selecting a file on an <input type=file>
4924 https://bugs.webkit.org/show_bug.cgi?id=21385
4926 Follow Mac and Win's behaviors for Icon::paint
4928 * platform/graphics/gtk/IconGtk.cpp:
4929 (WebCore::Icon::paint): check if painting is enabled before
4932 2008-10-18 Zan Dobersek <zandobersek@gmail.com>
4934 Reviewed by Oliver Hunt.
4938 * platform/qt/RenderThemeQt.h:
4940 2008-10-17 Kevin Watters <kevinwatters@gmail.com>
4942 Reviewed by Kevin Ollivier
4944 Fix wx port's scrollbar and drawing handling after recent changes.
4946 https://bugs.webkit.org/show_bug.cgi?id=21720
4948 * platform/ScrollView.h:
4949 * platform/wx/ScrollViewWx.cpp:
4950 (WebCore::ScrollView::platformVisibleContentRect):
4951 (WebCore::ScrollView::platformContentsSize):
4952 (WebCore::ScrollView::platformSetContentsSize):
4953 * platform/wx/WidgetWx.cpp:
4954 (WebCore::Widget::paint):
4956 2008-10-17 Kevin Ollivier <kevino@theolliviers.com>
4958 wx build fix. EAppearance -> ControlPart.
4960 * platform/wx/RenderThemeWx.cpp:
4961 (WebCore::RenderThemeWx::isControlStyled):
4962 (WebCore::RenderThemeWx::adjustRepaintRect):
4963 (WebCore::RenderThemeWx::controlSupportsTints):
4964 (WebCore::RenderThemeWx::supportsFocus):
4965 (WebCore::RenderThemeWx::paintButton):
4967 2008-10-17 David Hyatt <hyatt@apple.com>
4969 Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar
4970 values from the enum since they are handled by ScrollbarTheme instead.
4972 Reviewed by Tim Hatcher
4974 * css/CSSPrimitiveValueMappings.h:
4975 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
4976 (WebCore::CSSPrimitiveValue::operator ControlPart):
4977 * css/CSSStyleSelector.cpp:
4978 (WebCore::CSSStyleSelector::adjustRenderStyle):
4979 * css/CSSValueKeywords.in:
4980 * platform/gtk/RenderThemeGtk.cpp:
4981 (WebCore::supportsFocus):
4982 (WebCore::RenderThemeGtk::baselinePosition):
4983 (WebCore::setToggleSize):
4984 (WebCore::RenderThemeGtk::setCheckboxSize):
4985 (WebCore::RenderThemeGtk::setRadioSize):
4986 (WebCore::RenderThemeGtk::adjustButtonStyle):
4987 * platform/qt/RenderThemeQt.cpp:
4988 (WebCore::RenderThemeQt::baselinePosition):
4989 (WebCore::RenderThemeQt::controlSupportsTints):
4990 (WebCore::RenderThemeQt::adjustRepaintRect):
4991 (WebCore::RenderThemeQt::isControlStyled):
4992 (WebCore::computeSizeBasedOnStyle):
4993 (WebCore::RenderThemeQt::paintButton):
4994 (WebCore::RenderThemeQt::paintTextField):
4995 (WebCore::RenderThemeQt::paintMenuList):
4996 (WebCore::RenderThemeQt::supportsFocus):
4997 (WebCore::RenderThemeQt::applyTheme):
4998 (WebCore::RenderThemeQt::adjustSliderThumbSize):
4999 * platform/qt/RenderThemeQt.h:
5000 * rendering/RenderSlider.cpp:
5001 (WebCore::RenderSlider::createThumbStyle):
5002 (WebCore::RenderSlider::layout):
5003 (WebCore::RenderSlider::setValueForPosition):
5004 (WebCore::RenderSlider::setPositionFromValue):
5005 (WebCore::RenderSlider::positionForOffset):
5006 (WebCore::RenderSlider::currentPosition):
5007 (WebCore::RenderSlider::setCurrentPosition):
5008 (WebCore::RenderSlider::trackSize):
5009 * rendering/RenderTheme.cpp:
5010 (WebCore::RenderTheme::adjustStyle):
5011 (WebCore::RenderTheme::paint):
5012 (WebCore::RenderTheme::paintBorderOnly):
5013 (WebCore::RenderTheme::paintDecorations):
5014 (WebCore::RenderTheme::isControlContainer):
5015 (WebCore::RenderTheme::isControlStyled):
5016 (WebCore::RenderTheme::supportsFocusRing):
5017 (WebCore::RenderTheme::isDefault):
5018 * rendering/RenderTheme.h:
5019 * rendering/RenderThemeMac.mm:
5020 (WebCore::RenderThemeMac::isControlStyled):
5021 (WebCore::RenderThemeMac::adjustRepaintRect):
5022 (WebCore::RenderThemeMac::baselinePosition):
5023 (WebCore::RenderThemeMac::controlSupportsTints):
5024 (WebCore::RenderThemeMac::adjustButtonStyle):
5025 (WebCore::RenderThemeMac::setButtonCellState):
5026 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
5027 (WebCore::RenderThemeMac::popupInternalPaddingRight):
5028 (WebCore::RenderThemeMac::popupInternalPaddingTop):
5029 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
5030 (WebCore::RenderThemeMac::paintSliderTrack):
5031 (WebCore::RenderThemeMac::paintSliderThumb):
5032 (WebCore::RenderThemeMac::adjustSliderThumbSize):
5033 * rendering/RenderThemeSafari.cpp:
5034 (WebCore::RenderThemeSafari::isControlStyled):
5035 (WebCore::RenderThemeSafari::adjustRepaintRect):
5036 (WebCore::RenderThemeSafari::baselinePosition):
5037 (WebCore::RenderThemeSafari::controlSupportsTints):
5038 (WebCore::RenderThemeSafari::adjustButtonStyle):
5039 (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
5040 (WebCore::RenderThemeSafari::popupInternalPaddingRight):
5041 (WebCore::RenderThemeSafari::popupInternalPaddingTop):
5042 (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
5043 (WebCore::RenderThemeSafari::paintSliderTrack):
5044 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
5045 * rendering/RenderThemeWin.cpp:
5046 (WebCore::RenderThemeWin::supportsFocus):
5047 (WebCore::RenderThemeWin::determineClassicState):
5048 (WebCore::RenderThemeWin::getClassicThemeData):
5049 (WebCore::RenderThemeWin::getThemeData):
5050 (WebCore::drawControl):
5051 (WebCore::RenderThemeWin::paintSliderTrack):
5052 (WebCore::RenderThemeWin::adjustSliderThumbSize):
5053 * rendering/RenderThemeWin.h:
5054 * rendering/style/RenderStyle.h:
5055 (WebCore::InheritedFlags::hasAppearance):
5056 (WebCore::InheritedFlags::appearance):
5057 (WebCore::InheritedFlags::setAppearance):
5058 (WebCore::InheritedFlags::initialAppearance):
5059 * rendering/style/RenderStyleConstants.h:
5061 2008-10-17 David Hyatt <hyatt@apple.com>
5063 Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header
5064 file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first.
5066 Reviewed by Tim Hatcher
5068 * WebCore.vcproj/WebCore.vcproj:
5069 * WebCore.xcodeproj/project.pbxproj:
5071 * platform/Theme.h: Added.
5072 (WebCore::Theme::Theme):
5073 (WebCore::Theme::~Theme):
5074 (WebCore::Theme::baselinePositionAdjustment):
5075 (WebCore::Theme::controlHasInactiveAppearance):
5076 (WebCore::Theme::controlsCanHaveInactiveAppearance):
5077 (WebCore::Theme::controlsCanHaveHoveredAppearance):
5078 (WebCore::Theme::controlDrawsBorder):
5079 (WebCore::Theme::controlDrawsBackground):
5080 (WebCore::Theme::controlDrawsFocusOutline):
5081 (WebCore::Theme::selectionColor):
5082 (WebCore::Theme::textSearchHighlightColor):
5083 (WebCore::Theme::systemColor):
5084 (WebCore::Theme::systemFont):
5085 (WebCore::Theme::caretBlinkFrequency):
5086 (WebCore::Theme::themeChanged):
5087 (WebCore::Theme::controlSize):
5088 (WebCore::Theme::controlFont):
5089 (WebCore::Theme::controlPadding):
5090 (WebCore::Theme::controlInternalPadding):
5091 (WebCore::Theme::controlBorder):
5092 (WebCore::Theme::controlBorderRadius):
5093 (WebCore::Theme::paint):
5094 (WebCore::Theme::inflateControlPaintRect):
5095 * platform/ThemeTypes.h: Added.
5097 (WebCore::ControlBox::ControlBox):
5098 (WebCore::ControlBox::top):
5099 (WebCore::ControlBox::right):
5100 (WebCore::ControlBox::bottom):
5101 (WebCore::ControlBox::left):
5102 * platform/mac/ThemeMac.h: Added.
5103 (WebCore::ThemeMac::ThemeMac):
5104 (WebCore::ThemeMac::~ThemeMac):
5105 * platform/mac/ThemeMac.mm: Added.
5106 (WebCore::platformTheme):
5107 * rendering/RenderTheme.cpp:
5108 (WebCore::RenderTheme::RenderTheme):
5109 * rendering/RenderTheme.h:
5111 2008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>
5113 Reviewed by Sam Weinig. Landed by Jan Alonzo.
5115 https://bugs.webkit.org/show_bug.cgi?id=21603
5116 [GTK] Minor fixes to GOwnPtr
5118 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
5119 (WebCore::mediaPlayerPrivateErrorCallback):
5121 2008-10-17 Timothy Hatcher <timothy@apple.com>
5123 Recompile the JavaScript functions when removing any listener, so functions that are
5124 not being debugged can resume normal speed again.
5126 https://bugs.webkit.org/show_bug.cgi?id=21715
5128 Reviewed by Geoffrey Garen.
5130 * bindings/js/JSDOMWindowBase.cpp:
5131 (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
5132 was firing when closing the window and having the recompile fire after. This was an
5133 overzelious assert now.
5134 * inspector/JavaScriptDebugServer.cpp:
5135 (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
5136 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
5138 2008-10-17 Timothy Hatcher <timothy@apple.com>
5140 Fixes a regression where starting a debugging session in
5141 another Web Inspector window would not show any scripts.
5142 Also only attach the debugger to only the required Pages.
5144 https://bugs.webkit.org/show_bug.cgi?id=21708
5146 Reviewed by Darin Adler.
5148 * inspector/JavaScriptDebugServer.cpp:
5149 (WebCore::JavaScriptDebugServer::addListener): Add an assert and
5150 remove the call to willAddFirstListener(). Add a call to
5152 (WebCore::JavaScriptDebugServer::removeListener): Add an assert
5153 and call to didRemoveListener().
5154 (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
5155 if there is a listener interested in the new Page.
5156 (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
5157 Use hasGlobalListeners() instead of isEmpty().
5158 (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
5159 (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
5160 debugger to the page if non-null, or all pages if page is null.
5161 (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
5162 the debugger only if there are no interested listeners.
5163 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
5164 call to Page::setDebuggerForAllPages().
5165 * inspector/JavaScriptDebugServer.h:
5166 (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
5168 2008-10-15 Brett Wilson <brettw@chromium.org>
5170 Reviewed by Timothy Hatcher.
5172 Have ImageDocument generate its own filename for the title of images
5173 without relying on the suggested filename from the network layer, which
5174 may be nonexistant or not relevant.
5175 https://bugs.webkit.org/show_bug.cgi?id=21565
5177 * loader/ImageDocument.cpp:
5178 (WebCore::ImageTokenizer::finish):
5180 2008-10-17 Alexey Proskuryakov <ap@webkit.org>
5186 * WebCore.vcproj/WebCore.vcproj:
5187 * WebCoreSources.bkl:
5188 Added ActiveDOMObject to the build.
5190 2008-10-17 Alexey Proskuryakov <ap@webkit.org>
5192 Reviewed by Sam Weinig.
5194 https://bugs.webkit.org/show_bug.cgi?id=21642
5195 Abstract out active object tracking
5197 * WebCore.xcodeproj/project.pbxproj:
5198 * bindings/js/JSDOMBinding.cpp:
5199 (WebCore::markActiveObjectsForDocument):
5200 * dom/ActiveDOMObject.cpp: Added.
5201 (WebCore::ActiveDOMObject::ActiveDOMObject):
5202 (WebCore::ActiveDOMObject::~ActiveDOMObject):
5203 (WebCore::ActiveDOMObject::contextDestroyed):
5204 (WebCore::ActiveDOMObject::stop):
5205 * dom/ActiveDOMObject.h: Added.
5206 (WebCore::ActiveDOMObject::document):
5207 (WebCore::ActiveDOMObject::hasPendingActivity):
5208 (WebCore::ActiveDOMObject::setPendingActivity):
5209 (WebCore::ActiveDOMObject::unsetPendingActivity):
5211 (WebCore::Document::~Document):
5212 (WebCore::Document::stopActiveDOMObjects):
5213 (WebCore::Document::createdActiveDOMObject):
5214 (WebCore::Document::destroyedActiveDOMObject):
5216 (WebCore::Document::activeDOMObjects):
5217 * dom/MessagePort.cpp:
5218 (WebCore::MessagePort::contextDestroyed):
5219 * dom/MessagePort.h:
5220 * loader/FrameLoader.cpp:
5221 (WebCore::FrameLoader::stopLoading):
5222 * xml/XMLHttpRequest.cpp:
5223 (WebCore::XMLHttpRequest::XMLHttpRequest):
5224 (WebCore::XMLHttpRequest::~XMLHttpRequest):
5225 (WebCore::XMLHttpRequest::associatedFrame):
5226 (WebCore::XMLHttpRequest::responseXML):
5227 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
5228 (WebCore::XMLHttpRequest::initSend):
5229 (WebCore::XMLHttpRequest::send):
5230 (WebCore::XMLHttpRequest::createRequest):
5231 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
5232 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
5233 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
5234 (WebCore::XMLHttpRequest::loadRequestSynchronously):
5235 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
5236 (WebCore::XMLHttpRequest::dropProtection):
5237 (WebCore::XMLHttpRequest::setRequestHeader):
5238 (WebCore::XMLHttpRequest::processSyncLoadResults):
5239 (WebCore::XMLHttpRequest::didFinishLoading):
5240 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
5241 (WebCore::XMLHttpRequest::willSendRequest):
5242 (WebCore::XMLHttpRequest::accessControlCheck):
5243 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
5244 (WebCore::XMLHttpRequest::stop):
5245 (WebCore::XMLHttpRequest::contextDestroyed):
5246 * xml/XMLHttpRequest.h:
5247 Move activity tracking to a new ActiveDOMObject class.
5249 2008-10-16 David Hyatt <hyatt@apple.com>
5251 Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant
5252 they would be given a style that corresponded to the RenderObject* passed in. This is not what the code
5253 did though. This patch removes the renderer argument and the Element subclass shadow implementation
5254 so that confusion like this can't occur again.
5256 Reviewed by Oliver Hunt
5261 (WebCore::Node::createRendererIfNeeded):
5262 (WebCore::Node::styleForRenderer):
5264 * html/HTMLOptGroupElement.cpp:
5265 (WebCore::HTMLOptGroupElement::attach):
5266 * html/HTMLOptionElement.cpp:
5267 (WebCore::HTMLOptionElement::attach):
5268 * svg/SVGClipPathElement.cpp:
5269 (WebCore::SVGClipPathElement::canvasResource):
5270 * svg/SVGFEDiffuseLightingElement.cpp:
5271 (WebCore::SVGFEDiffuseLightingElement::build):
5272 * svg/SVGFEFloodElement.cpp:
5273 (WebCore::SVGFEFloodElement::build):
5274 * svg/SVGFESpecularLightingElement.cpp:
5275 (WebCore::SVGFESpecularLightingElement::build):
5276 * svg/SVGGradientElement.cpp:
5277 (WebCore::SVGGradientElement::buildStops):
5278 * svg/SVGUseElement.cpp:
5279 (WebCore::SVGUseElement::attachShadowTree):
5281 2008-10-16 David Hyatt <hyatt@apple.com>
5283 https://bugs.webkit.org/attachment.cgi?bugid=21647
5285 Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced
5286 out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and
5287 all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed
5290 At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
5291 as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the
5292 arena also limited the usefulness.
5294 Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
5295 mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate
5296 manual ref/deref far outweigh keeping them in the arena.
5298 Reviewed by Adam Roben
5300 * css/CSSStyleSelector.cpp:
5301 (WebCore::CSSStyleSelector::CSSStyleSelector):
5302 (WebCore::CSSStyleSelector::~CSSStyleSelector):
5303 (WebCore::CSSStyleSelector::styleForElement):
5304 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
5305 (WebCore::CSSStyleSelector::pseudoStyleForElement):
5306 These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back
5307 so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
5309 (WebCore::CSSStyleSelector::updateFont):
5310 (WebCore::CSSStyleSelector::checkSelector):
5311 (WebCore::CSSStyleSelector::applyProperty):
5312 (WebCore::CSSStyleSelector::mapFillSize):
5313 (WebCore::CSSStyleSelector::mapFillXPosition):
5314 (WebCore::CSSStyleSelector::mapFillYPosition):
5315 * css/CSSStyleSelector.h:
5316 (WebCore::CSSStyleSelector::style):
5318 (WebCore::Document::recalcStyle):
5320 (WebCore::Element::styleForRenderer):
5321 (WebCore::Element::recalcStyle):
5322 (WebCore::Element::computedStyle):
5324 * dom/ElementRareData.h:
5325 (WebCore::ElementRareData::ElementRareData):
5326 (WebCore::ElementRareData::resetComputedStyle):
5328 (WebCore::Node::diff):
5329 (WebCore::Node::createRendererIfNeeded):
5330 (WebCore::Node::styleForRenderer):
5331 (WebCore::Node::setRenderStyle):
5333 * html/CanvasRenderingContext2D.cpp:
5334 (WebCore::CanvasRenderingContext2D::setFont):
5335 * html/HTMLOptGroupElement.cpp:
5336 (WebCore::HTMLOptGroupElement::attach):
5337 (WebCore::HTMLOptGroupElement::detach):
5338 (WebCore::HTMLOptGroupElement::setRenderStyle):
5339 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
5340 * html/HTMLOptGroupElement.h:
5341 * html/HTMLOptionElement.cpp:
5342 (WebCore::HTMLOptionElement::attach):
5343 (WebCore::HTMLOptionElement::detach):
5344 (WebCore::HTMLOptionElement::setRenderStyle):
5345 (WebCore::HTMLOptionElement::nonRendererRenderStyle):
5346 * html/HTMLOptionElement.h:
5347 * page/animation/AnimationBase.h:
5348 (WebCore::AnimationBase::animate):
5349 * page/animation/AnimationController.cpp:
5350 (WebCore::AnimationController::updateAnimations):
5351 * page/animation/AnimationController.h:
5352 * page/animation/CompositeAnimation.cpp:
5353 (WebCore::CompositeAnimationPrivate::updateTransitions):
5354 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
5355 (WebCore::CompositeAnimationPrivate::animate):
5356 (WebCore::CompositeAnimation::animate):
5357 * page/animation/CompositeAnimation.h:
5358 * page/animation/ImplicitAnimation.cpp:
5359 (WebCore::ImplicitAnimation::ImplicitAnimation):
5360 (WebCore::ImplicitAnimation::~ImplicitAnimation):
5361 (WebCore::ImplicitAnimation::animate):
5362 (WebCore::ImplicitAnimation::reset):
5363 (WebCore::ImplicitAnimation::isTargetPropertyEqual):
5364 (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
5365 * page/animation/ImplicitAnimation.h:
5366 (WebCore::ImplicitAnimation::create):
5367 * page/animation/KeyframeAnimation.cpp:
5368 (WebCore::KeyframeAnimation::KeyframeAnimation):
5369 (WebCore::KeyframeAnimation::~KeyframeAnimation):
5370 (WebCore::KeyframeAnimation::animate):
5371 (WebCore::KeyframeAnimation::validateTransformFunctionList):
5372 * page/animation/KeyframeAnimation.h:
5373 (WebCore::KeyframeAnimation::create):
5374 (WebCore::KeyframeAnimation::unanimatedStyle):
5375 * rendering/InlineTextBox.cpp:
5376 (WebCore::InlineTextBox::paint):
5377 * rendering/MediaControlElements.cpp:
5378 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
5379 (WebCore::MediaControlInputElement::MediaControlInputElement):
5380 * rendering/RenderBlock.cpp:
5381 (WebCore::RenderBlock::styleDidChange):
5382 (WebCore::RenderBlock::updateFirstLetter):
5383 * rendering/RenderContainer.cpp:
5384 (WebCore::RenderContainer::addChild):
5385 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
5386 * rendering/RenderFileUploadControl.cpp:
5387 (WebCore::RenderFileUploadControl::updateFromElement):
5388 (WebCore::RenderFileUploadControl::createButtonStyle):
5389 * rendering/RenderFileUploadControl.h:
5390 * rendering/RenderFlow.cpp:
5391 (WebCore::RenderFlow::createAnonymousFlow):
5392 * rendering/RenderFlow.h:
5393 * rendering/RenderInline.cpp:
5394 (WebCore::RenderInline::addChildToFlow):
5395 * rendering/RenderLayer.cpp:
5396 (WebCore::RenderLayer::updateScrollCornerStyle):
5397 (WebCore::RenderLayer::updateResizerStyle):
5398 (WebCore::RenderLayer::updateReflectionStyle):
5399 * rendering/RenderListItem.cpp:
5400 (WebCore::RenderListItem::styleDidChange):
5401 * rendering/RenderMedia.cpp:
5402 (WebCore::RenderMedia::createPanel):
5403 (WebCore::RenderMedia::createTimeDisplay):
5404 (WebCore::RenderMedia::changeOpacity):
5405 * rendering/RenderObject.cpp:
5406 (WebCore::RenderObject::selectionBackgroundColor):
5407 (WebCore::RenderObject::selectionForegroundColor):
5408 (WebCore::RenderObject::createAnonymousBlock):
5409 (WebCore::RenderObject::setAnimatableStyle):
5410 (WebCore::RenderObject::setStyle):
5411 (WebCore::RenderObject::setStyleInternal):
5412 (WebCore::RenderObject::arenaDelete):
5413 (WebCore::RenderObject::firstLineStyle):
5414 (WebCore::RenderObject::getPseudoStyle):
5415 * rendering/RenderObject.h:
5416 (WebCore::RenderObject::style):
5417 * rendering/RenderSVGBlock.cpp:
5418 (WebCore::RenderSVGBlock::setStyle):
5419 * rendering/RenderSVGBlock.h:
5420 * rendering/RenderScrollbar.cpp:
5421 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
5422 (WebCore::RenderScrollbar::updateScrollbarPart):
5423 * rendering/RenderScrollbar.h:
5424 * rendering/RenderSlider.cpp:
5425 (WebCore::RenderSlider::styleDidChange):
5426 (WebCore::RenderSlider::createThumbStyle):
5427 (WebCore::RenderSlider::updateFromElement):
5428 * rendering/RenderSlider.h:
5429 * rendering/RenderTable.cpp:
5430 (WebCore::RenderTable::addChild):
5431 * rendering/RenderTableRow.cpp:
5432 (WebCore::RenderTableRow::addChild):
5433 * rendering/RenderTableSection.cpp:
5434 (WebCore::RenderTableSection::addChild):
5435 * rendering/RenderTextControl.cpp:
5436 (WebCore::RenderTextControl::styleDidChange):
5437 (WebCore::RenderTextControl::createInnerBlockStyle):
5438 (WebCore::RenderTextControl::createInnerTextStyle):
5439 (WebCore::RenderTextControl::createResultsButtonStyle):
5440 (WebCore::RenderTextControl::createCancelButtonStyle):
5441 (WebCore::RenderTextControl::createSubtreeIfNeeded):
5442 (WebCore::RenderTextControl::updatePlaceholderVisibility):
5443 * rendering/RenderTextControl.h:
5444 * rendering/TextControlInnerElements.cpp:
5445 (WebCore::TextControlInnerElement::attachInnerElement):
5446 * rendering/TextControlInnerElements.h:
5447 * rendering/style/KeyframeList.cpp:
5448 (WebCore::KeyframeList::clear):
5449 (WebCore::KeyframeList::operator==):
5450 (WebCore::KeyframeList::insert):
5451 * rendering/style/KeyframeList.h:
5452 (WebCore::KeyframeValue::KeyframeValue):
5453 (WebCore::KeyframeValue::~KeyframeValue):
5454 (WebCore::KeyframeValue::key):
5455 (WebCore::KeyframeValue::style):
5456 * rendering/style/RenderStyle.cpp:
5457 (WebCore::defaultStyle):
5458 (WebCore::RenderStyle::create):
5459 (WebCore::RenderStyle::createDefaultStyle):
5460 (WebCore::RenderStyle::clone):
5461 (WebCore::RenderStyle::RenderStyle):
5462 (WebCore::RenderStyle::getCachedPseudoStyle):
5463 (WebCore::RenderStyle::addCachedPseudoStyle):
5464 * rendering/style/RenderStyle.h:
5466 (WebCore::InheritedFlags::operator!=):
5467 * svg/SVGClipPathElement.cpp:
5468 (WebCore::SVGClipPathElement::canvasResource):
5469 * svg/SVGGradientElement.cpp:
5470 (WebCore::SVGGradientElement::buildStops):
5471 * svg/SVGStyledElement.cpp:
5472 (WebCore::SVGStyledElement::resolveStyle):
5473 * svg/SVGStyledElement.h:
5474 * svg/SVGUseElement.cpp:
5475 (WebCore::SVGUseElement::recalcStyle):
5476 (WebCore::SVGUseElement::attachShadowTree):
5478 2008-10-16 Kenneth Russell <kenneth.russell@sun.com>
5480 Reviewed and landed by Anders Carlsson.
5482 https://bugs.webkit.org/show_bug.cgi?id=21587
5483 NPN_PluginThreadAsyncCall does not work properly
5485 * plugins/PluginMainThreadScheduler.cpp:
5486 (WebCore::PluginMainThreadScheduler::dispatchCalls):
5487 Make sure to set m_callPending to false once the queue has been cleared.
5489 2008-10-15 Alexey Proskuryakov <ap@webkit.org>
5491 Reviewed by Darin Adler.
5493 https://bugs.webkit.org/show_bug.cgi?id=21609
5494 Make MessagePorts protect their peers across heaps
5496 * dom/MessagePort.cpp:
5497 (WebCore::MessagePort::MessagePort):
5498 * dom/MessagePort.h:
5499 (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
5500 (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
5501 Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
5502 means that the implementation object knows about JS bindings - but it is not possible to
5503 access JS wrappers from another heap/thread.
5505 * bindings/js/JSDOMBinding.cpp:
5506 (WebCore::markCrossHeapDependentObjectsForDocument):
5507 * bindings/js/JSDOMBinding.h:
5508 * bindings/js/JSDOMWindowBase.cpp:
5509 (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
5510 * bindings/js/JSDOMWindowBase.h:
5511 Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
5512 hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
5513 as long as its entangled port is accessible itself.
5515 2008-10-15 Jon Honeycutt <jhoneycutt@apple.com>
5517 Remove unneeded check of whether a Page defers loading before running it
5522 Reviewed by Tim Hatcher.
5526 2008-10-15 Geoffrey Garen <ggaren@apple.com>
5528 Reviewed by Cameron Zwarich.
5530 Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
5531 Start the debugger without reloading the inspected page
5533 * WebCore.base.exp: New symbols.
5535 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
5536 * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
5537 * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
5539 * inspector/InspectorController.cpp:
5540 (WebCore::InspectorController::setWindowVisible):
5541 (WebCore::InspectorController::windowScriptObjectAvailable):
5542 (WebCore::InspectorController::startDebugging):
5543 * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
5544 to startDebugging, and changed its behavior to match.
5546 * inspector/JavaScriptDebugListener.h:
5547 * inspector/JavaScriptDebugServer.cpp:
5548 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
5549 (WebCore::JavaScriptDebugServer::addListener):
5550 (WebCore::JavaScriptDebugServer::removeListener):
5551 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
5552 (WebCore::JavaScriptDebugServer::willAddFirstListener):
5553 (WebCore::JavaScriptDebugServer::didRemoveLastListener):
5554 * inspector/JavaScriptDebugServer.h: Refactored the
5555 JavaScriptDebugServer to centralize handling of adding the first listener
5556 and removing the last. Then, added a feature to recompile all JS functions
5557 in these cases. This allows us to dynamically add and remove hooks like
5558 the debugger hooks without reloading the page.
5560 * inspector/front-end/ScriptsPanel.js:
5561 * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
5562 startDebugging rename. Removed all UI that claimed that starting the
5563 debugger would reload the page.
5565 2008-10-15 Adele Peterson <adele@apple.com>
5567 Attempt to fix the Tiger build.
5569 * platform/network/mac/ResourceHandleMac.mm:
5571 2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
5575 Try to fix static/non-static declaration of g_string_append_uri_escape
5576 by renaming that string. Another look needs to be taken.
5578 * platform/gtk/guriescape.c:
5579 (_webcore_g_string_append_uri_escaped):
5580 (_webcore_g_uri_escape_string):
5582 2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
5586 m_animatingImageType is gone.
5588 * platform/graphics/cairo/ImageCairo.cpp:
5589 (WebCore::BitmapImage::BitmapImage):
5591 2008-10-15 Jeff Cook <cookiecaper@gmail.com>
5593 Reviewed by Holger Freyther.
5595 Stop SIGSEGV when leaving a page with a Flash object by reordering
5596 window destruction and plugin stop.
5598 See https://bugs.webkit.org/show_bug.cgi?id=20779
5600 * plugins/gtk/PluginViewGtk.cpp:
5601 (WebCore::PluginView::stop):
5603 2008-10-15 Adele Peterson <adele@apple.com>
5605 Reviewed by Sam Weinig.
5607 Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist.
5609 * platform/network/ResourceHandle.h:
5610 * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
5611 * platform/network/mac/ResourceHandleMac.mm:
5612 (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
5613 (WebCore::ResourceHandle::start):
5614 (WebCore::ResourceHandle::cancel):
5615 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
5616 (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
5617 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
5618 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
5620 2008-10-15 Peter Kasting <pkasting@google.com>
5622 Reviewed by David Hyatt.
5624 Qt build bustage fix.
5626 * platform/graphics/qt/StillImageQt.h:
5627 (WebCore::StillImage::destroyDecodedData):
5629 2008-10-15 David Hyatt <hyatt@apple.com>
5631 Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
5633 Reviewed by Mark Rowe
5635 * rendering/RenderScrollbar.cpp:
5636 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
5637 (WebCore::RenderScrollbar::updateScrollbarPart):
5639 2008-10-15 Peter Kasting <pkasting@google.com>
5641 Reviewed by David Hyatt.
5643 https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
5644 Account for paint and timer lag when animating images. Also pretend
5645 that images whose animations were paused (by becoming invisible)
5646 continued to animate, by "catching up" to the correct frame when they're
5649 * platform/graphics/BitmapImage.cpp:
5650 (WebCore::BitmapImage::BitmapImage):
5651 (WebCore::BitmapImage::destroyDecodedData):
5652 (WebCore::BitmapImage::cacheFrame):
5653 (WebCore::BitmapImage::frameIsCompleteAtIndex):
5654 (WebCore::BitmapImage::frameDurationAtIndex):
5655 (WebCore::BitmapImage::frameHasAlphaAtIndex):
5656 (WebCore::BitmapImage::repetitionCount):
5657 (WebCore::BitmapImage::shouldAnimate):
5658 (WebCore::BitmapImage::startAnimation):
5659 (WebCore::BitmapImage::resetAnimation):
5660 (WebCore::BitmapImage::advanceAnimation):
5661 (WebCore::BitmapImage::internalAdvanceAnimation):
5662 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
5663 * platform/graphics/BitmapImage.h:
5664 (WebCore::FrameData::FrameData):
5665 (WebCore::BitmapImage::):
5666 * platform/graphics/GeneratedImage.h:
5667 (WebCore::GeneratedImage::destroyDecodedData):
5668 * platform/graphics/Image.h:
5669 * platform/graphics/cairo/ImageCairo.cpp:
5670 (WebCore::FrameData::clear):
5671 (WebCore::BitmapImage::BitmapImage):
5672 (WebCore::BitmapImage::draw):
5673 * platform/graphics/cg/ImageCG.cpp:
5674 (WebCore::FrameData::clear):
5675 (WebCore::BitmapImage::BitmapImage):
5676 (WebCore::BitmapImage::draw):
5677 * platform/graphics/cg/PDFDocumentImage.h:
5678 (WebCore::PDFDocumentImage::destroyDecodedData):
5679 * platform/graphics/qt/ImageQt.cpp:
5680 (WebCore::FrameData::clear):
5681 (WebCore::BitmapImage::draw):
5682 * platform/graphics/wx/ImageWx.cpp:
5683 (WebCore::FrameData::clear):
5684 (WebCore::BitmapImage::draw):
5685 * svg/graphics/SVGImage.h:
5686 (WebCore::SVGImage::destroyDecodedData):
5688 2008-10-14 Maxime Britto <britto@apple.com>
5690 Reviewed by Darin Adler, tweaked and landed by Beth.
5692 * WebCore.base.exp: Exposes two functions to be able to create a
5693 selection from a point on the screen. Also exposes the new
5694 TextIterator::currentNode function.
5695 * WebCore/editing/TextIterator.cpp:
5696 (TextIterator::currentNode) : New function that returns the current
5697 text node or NULL if there is no text node.
5699 2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
5701 Reviewed by Holger Freyther.
5703 http://bugs.webkit.org/show_bug.cgi?id=21211
5704 [CURL] Upload doesn't work because cancel is called
5706 FormDataStream::read returns 0 when retrieving data from the form
5707 fails, but also when there is no more data to send. This means that
5708 ResourceHandleManager::cancel is always called even when the data was
5711 Check if there are more elements in the form before calling
5712 FormDataStream::read.
5714 * platform/network/curl/FormDataStreamCurl.cpp:
5715 (WebCore::FormDataStream::hasMoreElements):
5716 * platform/network/curl/FormDataStreamCurl.h:
5717 * platform/network/curl/ResourceHandleManager.cpp:
5718 (WebCore::readCallback):
5720 2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
5722 Reviewed by Holger Freyther.
5724 http://bugs.webkit.org/show_bug.cgi?id=20664
5725 [GTK] File names are not always encodable in UTF-8
5727 On Linux file names are just raw data and cannot always be directly
5728 encoded in UTF-8 or in any other encodings, so we escape them before
5729 storing the file name in a String and unescape them before passing
5730 them to native functions handling files.
5733 * platform/FileSystem.h:
5734 * platform/gtk/FileChooserGtk.cpp:
5735 (WebCore::stringByAdoptingFileSystemRepresentation):
5736 (WebCore::FileChooser::basenameForWidth):
5737 * platform/gtk/FileSystemGtk.cpp:
5738 (WebCore::filenameToString):
5739 (WebCore::filenameFromString):
5740 (WebCore::filenameForDisplay):
5741 (WebCore::fileExists):
5742 (WebCore::deleteFile):
5743 (WebCore::deleteEmptyDirectory):
5744 (WebCore::getFileSize):
5745 (WebCore::getFileModificationTime):
5746 (WebCore::makeAllDirectories):
5747 (WebCore::homeDirectoryPath):
5748 (WebCore::pathGetFileName):
5749 (WebCore::listDirectory):
5750 * platform/gtk/KURLGtk.cpp:
5751 (WebCore::KURL::fileSystemPath):
5752 * platform/gtk/SharedBufferGtk.cpp:
5753 (WebCore::SharedBuffer::createWithContentsOfFile):
5754 * platform/gtk/guriescape.c: Added.
5757 (g_string_append_uri_escaped):
5758 (_webcore_g_uri_escape_string):
5759 * platform/gtk/guriescape.h: Added.
5761 2008-10-15 Dirk Schulze <vbs85@gmx.de>
5763 Reviewed by Eric Seidel.
5765 - part of https://bugs.webkit.org/show_bug.cgi?id=20543
5766 Moved gradient spread method out of SVG into the GraphicsContext.
5768 * platform/graphics/GraphicsContext.cpp:
5769 (WebCore::GraphicsContext::spreadMethod):
5770 (WebCore::GraphicsContext::setSpreadMethod):
5771 * platform/graphics/GraphicsContext.h:
5773 * platform/graphics/GraphicsContextPrivate.h:
5774 * platform/graphics/cairo/GraphicsContextCairo.cpp:
5775 (WebCore::applySpreadMethod):
5776 (WebCore::GraphicsContext::fillPath):
5777 (WebCore::GraphicsContext::strokePath):
5778 * platform/graphics/qt/GraphicsContextQt.cpp:
5779 (WebCore::applySpreadMethod):
5780 (WebCore::GraphicsContext::fillPath):
5781 (WebCore::GraphicsContext::strokePath):
5782 * svg/GradientAttributes.h:
5783 (WebCore::GradientAttributes::GradientAttributes):
5784 (WebCore::GradientAttributes::spreadMethod):
5785 (WebCore::GradientAttributes::setSpreadMethod):
5786 * svg/SVGGradientElement.cpp:
5787 (WebCore::SVGGradientElement::parseMappedAttribute):
5788 * svg/SVGGradientElement.h:
5789 * svg/SVGLinearGradientElement.cpp:
5790 (WebCore::SVGLinearGradientElement::collectGradientProperties):
5791 * svg/SVGRadialGradientElement.cpp:
5792 (WebCore::SVGRadialGradientElement::collectGradientProperties):
5793 * svg/graphics/SVGPaintServerGradient.cpp:
5794 (WebCore::operator<<):
5795 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
5796 (WebCore::SVGPaintServerGradient::spreadMethod):
5797 (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
5798 (WebCore::SVGPaintServerGradient::externalRepresentation):
5799 * svg/graphics/SVGPaintServerGradient.h:
5800 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
5801 (WebCore::SVGPaintServerGradient::setup):
5802 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
5803 (WebCore::SVGPaintServerGradient::setup):
5805 2008-10-09 Darin Fisher <darin@chromium.org>
5807 Reviewed by Sam Weinig.
5809 Make pan scrolling a platform configurable option
5810 https://bugs.webkit.org/show_bug.cgi?id=21515
5812 * page/EventHandler.cpp:
5813 (WebCore::EventHandler::handleAutoscroll):
5814 (WebCore::EventHandler::autoscrollTimerFired):
5815 (WebCore::EventHandler::stopAutoscrollTimer):
5816 (WebCore::EventHandler::handleMousePressEvent):
5817 (WebCore::EventHandler::keyEvent):
5819 2008-10-10 Darin Fisher <darin@chromium.org>
5821 Reviewed by Darin Adler.
5823 Add some PLATFORM(CHROMIUM) ifdefs to WebCore
5824 https://bugs.webkit.org/show_bug.cgi?id=21511
5826 * loader/FTPDirectoryDocument.cpp:
5827 * loader/FTPDirectoryParser.cpp:
5828 * loader/FrameLoader.cpp:
5829 (WebCore::FrameLoader::finishedLoadingDocument):
5830 * platform/ContextMenuItem.h:
5831 * platform/Cursor.h:
5832 * platform/DragData.h:
5833 * platform/DragImage.h:
5834 * platform/Pasteboard.h:
5835 * platform/PlatformKeyboardEvent.h:
5836 (WebCore::PlatformKeyboardEvent::isSystemKey):
5837 * platform/PlatformMenuDescription.h:
5838 * platform/PlatformMouseEvent.h:
5839 * platform/PlatformWheelEvent.h:
5840 * platform/PopupMenu.h:
5841 * platform/ScrollView.h:
5842 * platform/Widget.h:
5843 * platform/network/NetworkStateNotifier.h:
5845 2008-10-14 Chris Marrin <cmarrin@apple.com>
5847 Reviewed by Darin Adler.
5849 Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
5850 Optimize keyframe style sheet changes by avoiding styleSheetChanged()
5852 Test: css3/change-keyframes.html
5854 * css/WebKitCSSKeyframesRule.cpp:
5855 (WebCore::WebKitCSSKeyframesRule::append):
5856 (WebCore::WebKitCSSKeyframesRule::deleteRule):
5858 2008-10-14 David Hyatt <hyatt@apple.com>
5860 https://bugs.webkit.org/show_bug.cgi?id=21595
5862 Clean up background and overflow propagation from the body to the viewport. Make it match the
5863 latest CSS2.1 spec thinking.
5865 Reviewed by Adam Roben
5867 Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling
5868 (available at http://simon.html5.org/test/css/magic-body/).
5871 (WebCore::Document::body):
5872 * page/FrameView.cpp:
5873 (WebCore::FrameView::layout):
5874 * rendering/RenderBox.cpp:
5875 (WebCore::RenderBox::styleDidChange):
5876 (WebCore::RenderBox::paintRootBoxDecorations):
5877 (WebCore::RenderBox::paintBoxDecorations):
5878 (WebCore::RenderBox::repaintLayerRectsForImage):
5880 2008-10-14 Dimitri Glazkov <dglazkov@chromium.org>
5882 Reviewed and landed by Sam Weinig.
5884 Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
5885 remove NSResolver code, leaving only checking for selectors that need
5886 NS resolution and throwing a coresponding error.
5889 * WebCore.vcproj/WebCore.vcproj:
5890 * WebCore.xcodeproj/project.pbxproj:
5891 * WebCoreSources.bkl:
5892 * bindings/js/JSDocumentCustom.cpp:
5893 * bindings/js/JSDocumentFragmentCustom.cpp:
5894 * bindings/js/JSElementCustom.cpp:
5895 * bindings/js/JSNSResolver.cpp: Removed.
5896 * bindings/js/JSNSResolver.h: Removed.
5898 * dom/DocumentFragment.idl:
5900 * dom/NSResolver.h: Removed.
5901 * dom/NSResolver.idl: Removed.
5904 (WebCore::forEachTagSelector):
5905 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
5906 (WebCore::selectorNeedsNamespaceResolution):
5907 (WebCore::Node::querySelector):
5908 (WebCore::Node::querySelectorAll):
5910 2008-10-14 Darin Adler <darin@apple.com>
5912 Reviewed by Sam Weinig (all but the FormDataListItem rename).
5914 - https://bugs.webkit.org/show_bug.cgi?id=21593
5915 Bug 21593: add multiple-file support to HTMLFormElement
5917 * html/FormDataList.cpp: Removed appendFile since it's now inline.
5918 Also took incorrect old copyrights off of this file that are left
5919 over from when it was split.
5920 * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
5921 made it a member of FormDataList. Changed it to hold a File object
5922 instead of a path. And made its data members private. Changed
5923 FormDataList::appendFile accordingly.
5925 * html/HTMLFormElement.cpp:
5926 (WebCore::HTMLFormElement::formData): Updated for above changes.
5927 Removed the code that special-cases HTMLInputElement, because now
5928 the FormDataListItem has everything we need. And if there are
5929 multiple files, we'll get multiple list items for them.
5931 * html/HTMLInputElement.cpp:
5932 (WebCore::HTMLInputElement::appendFormData): Changed the code for
5933 <input type=file> to use File objects instead of path strings and
5934 also to append multiple files if the file list has them.
5936 2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
5940 Fix QtWebKit scrollbar painting errors
5942 * platform/qt/ScrollbarThemeQt.cpp:
5943 (WebCore::ScrollbarThemeQt::paint):
5944 (WebCore::ScrollbarThemeQt::paintScrollCorner):
5946 2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
5950 Fix scrollbar arrows for horizontal scrollbars
5952 * platform/qt/ScrollbarThemeQt.cpp:
5953 (WebCore::styleOptionSlider):
5955 2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
5959 Use style-painter to draw scrollbars in ScrollbarThemeQt
5961 This has the benefit of setting up the painter properly without
5962 antialiasing and saving and restoring the brush. It also ensures
5963 that we use the style of the QWebView over the QApplication style
5966 * platform/qt/RenderThemeQt.cpp:
5967 (WebCore::StylePainter::StylePainter):
5968 (WebCore::StylePainter::init):
5969 * platform/qt/RenderThemeQt.h:
5970 * platform/qt/ScrollbarThemeQt.cpp:
5971 (WebCore::ScrollbarThemeQt::paint):
5973 2008-10-13 David Hyatt <hyatt@apple.com>
5975 Add support for CSS transitions on some SVG properties. This patch is intended to be a guideline
5976 for how to add support for the rest.
5978 Reviewed by Oliver Hunt
5980 * page/animation/AnimationBase.cpp:
5981 (WebCore::ensurePropertyMap):
5982 * rendering/style/RenderStyle.h:
5983 (WebCore::RenderStyle::fillOpacity):
5984 (WebCore::RenderStyle::setFillOpacity):
5985 (WebCore::RenderStyle::strokeOpacity):
5986 (WebCore::RenderStyle::setStrokeOpacity):
5987 (WebCore::RenderStyle::floodOpacity):
5988 (WebCore::RenderStyle::setFloodOpacity):
5990 2008-10-13 David Hyatt <hyatt@apple.com>
5992 <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
5994 Fix for disabled scrollbars not painting in Windows Safari. Make sure that the Windows theme
5995 implements paintTrackBackground so that when the thumb is not present the track still paints.
5997 Reviewed by Oliver Hunt
5999 * platform/ScrollbarThemeComposite.cpp:
6000 (WebCore::ScrollbarThemeComposite::paint):
6001 * platform/win/ScrollbarThemeWin.cpp:
6002 (WebCore::ScrollbarThemeWin::paintTrackBackground):
6003 * platform/win/ScrollbarThemeWin.h:
6005 2008-10-13 David Hyatt <hyatt@apple.com>
6007 Fix over-invalidation of native scrollbars.
6009 Reviewed by Oliver Hunt
6011 * platform/Scrollbar.h:
6012 (WebCore::Scrollbar::styleChanged):
6013 * platform/mac/ScrollbarThemeMac.mm:
6014 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
6015 * rendering/RenderScrollbar.cpp:
6016 (WebCore::RenderScrollbar::styleChanged):
6018 2008-10-13 Alp Toker <alp@nuanti.com>
6020 Fix autotools dist build target by listing recently added header
6021 files only. Not reviewed.
6025 2008-10-13 Mark Rowe <mrowe@apple.com>
6027 Reviewed by Brady Eidson.
6029 Don't run a SQLite query on every iteration of the sync thread when the query
6030 will touch a large portion of the icon database while performing no useful work.
6032 * loader/icon/IconDatabase.cpp:
6033 (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
6034 we modified the database.
6035 (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
6036 unless we've been asked to prune any dangling pageURLs that we find.
6038 2008-10-13 Maciej Stachowiak <mjs@apple.com>
6040 Rubber stamped by Mark Rowe.
6042 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
6044 * Configurations/DebugRelease.xcconfig:
6046 2008-10-13 David Hyatt <hyatt@apple.com>
6048 Make dropdown lists on Windows work with CSS custom scrollbars.
6052 * platform/PopupMenu.h:
6053 (WebCore::PopupMenu::scrollbarCornerPresent):
6054 * platform/PopupMenuClient.h:
6055 * platform/win/PopupMenuWin.cpp:
6056 (WebCore::PopupMenu::show):
6057 * rendering/RenderMenuList.cpp:
6058 (WebCore::RenderMenuList::createScrollbar):
6059 * rendering/RenderMenuList.h:
6060 * rendering/RenderTextControl.cpp:
6061 (WebCore::RenderTextControl::createScrollbar):
6062 * rendering/RenderTextControl.h:
6064 2008-10-13 Chris Fleizach <cfleizach@apple.com>
6066 Reviewed by Beth Dakin.
6068 <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
6070 Links from image maps were not being included in the web area's AXLinkUIElements attribute.
6071 The position of image map links was being reported incorrectly and the parent-chain
6072 hierarchy for image map links was incorrect because image map links did not have a reference
6073 to their parent image.
6075 Test: accessibility/document-links.html
6077 * page/AccessibilityImageMapLink.cpp:
6078 (WebCore::AccessibilityImageMapLink::parentObject):
6079 (WebCore::AccessibilityImageMapLink::actionElement):
6080 (WebCore::AccessibilityImageMapLink::elementRect):
6081 * page/AccessibilityImageMapLink.h:
6082 (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
6083 (WebCore::AccessibilityImageMapLink::setParent):
6084 * page/AccessibilityObject.cpp:
6085 * page/AccessibilityObject.h:
6086 * page/AccessibilityRenderObject.cpp:
6087 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
6088 (WebCore::AccessibilityRenderObject::getDocumentLinks):
6089 (WebCore::AccessibilityRenderObject::addChildren):
6090 * page/AccessibilityRenderObject.h:
6091 * page/mac/AccessibilityObjectWrapper.mm:
6092 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
6094 2008-10-13 David Hyatt <hyatt@apple.com>
6096 Make RenderListBox work with CSS scrollbars. Refactoring this code to support creation/destruction in
6097 the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
6098 idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
6100 Reviewed by Tim Hatcher
6102 Added scrollbars/listbox-scrollbar-combinations.html
6104 * rendering/RenderListBox.cpp:
6105 (WebCore::RenderListBox::~RenderListBox):
6106 (WebCore::RenderListBox::updateFromElement):
6107 (WebCore::RenderListBox::createScrollbar):
6108 (WebCore::RenderListBox::destroyScrollbar):
6109 (WebCore::RenderListBox::setHasVerticalScrollbar):
6110 * rendering/RenderListBox.h:
6112 2008-10-13 David Hyatt <hyatt@apple.com>
6114 In order to always match the :corner-present pseudo-class properly, delay initial updating of
6115 scrollbar styles until the layer has the scrollbars in its member variables.
6117 Reviewed by Tim Hatcher
6119 * rendering/RenderLayer.cpp:
6120 (WebCore::RenderLayer::setHasHorizontalScrollbar):
6121 (WebCore::RenderLayer::setHasVerticalScrollbar):
6122 * rendering/RenderScrollbar.cpp:
6123 (WebCore::RenderScrollbar::RenderScrollbar):
6125 2008-10-13 Sam Weinig <sam@webkit.org>
6127 Reviewed by Dan Bernstein.
6129 Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
6130 5 false positive StructureID leaks
6132 In WebCore, we intentionally leak the common JSGlobalData which in turn
6133 leaks 5 StructureIDs. Use the new JSGlobalData::createLeaked in order to
6134 ignore the StructureIDs leaked within.
6136 * bindings/js/JSDOMWindowBase.cpp:
6137 (WebCore::JSDOMWindowBase::commonJSGlobalData):
6139 2008-10-13 David Hyatt <hyatt@apple.com>
6141 Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
6142 artwork based on whether there is a scrollbar corner present.
6144 Reviewed by Tim Hatcher
6146 * css/CSSSelector.cpp:
6147 (WebCore::CSSSelector::extractPseudoType):
6148 * css/CSSSelector.h:
6149 (WebCore::CSSSelector::):
6150 * css/CSSStyleSelector.cpp:
6151 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6152 * platform/ScrollView.cpp:
6153 (WebCore::ScrollView::scrollbarCornerPresent):
6154 * platform/ScrollView.h:
6155 * platform/ScrollbarClient.h:
6156 * rendering/RenderLayer.cpp:
6157 (WebCore::cornerRect):
6158 (WebCore::scrollCornerRect):
6159 (WebCore::resizerCornerRect):
6160 (WebCore::RenderLayer::scrollbarCornerPresent):
6161 (WebCore::RenderLayer::setHasHorizontalScrollbar):
6162 (WebCore::RenderLayer::setHasVerticalScrollbar):
6163 * rendering/RenderLayer.h:
6164 (WebCore::RenderLayer::horizontalScrollbar):
6165 (WebCore::RenderLayer::verticalScrollbar):
6166 * rendering/RenderListBox.h:
6167 (WebCore::RenderListBox::scrollbarCornerPresent):
6169 2008-10-13 David Hyatt <hyatt@apple.com>
6171 Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
6172 test case for all this can land).
6174 Reviewed by Tim Hatcher
6176 * css/CSSStyleSelector.cpp:
6177 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
6178 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6179 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6180 * rendering/RenderLayer.cpp:
6181 (WebCore::RenderLayer::paintOverflowControls):
6182 (WebCore::RenderLayer::paintScrollCorner):
6183 (WebCore::RenderLayer::paintResizer):
6184 (WebCore::RenderLayer::styleChanged):
6185 (WebCore::RenderLayer::updateScrollCornerStyle):
6186 (WebCore::RenderLayer::updateResizerStyle):
6187 * rendering/RenderLayer.h:
6188 * rendering/RenderScrollbar.cpp:
6189 (WebCore::RenderScrollbar::paint):
6190 * rendering/RenderScrollbarPart.cpp:
6191 (WebCore::RenderScrollbarPart::paintIntoRect):
6193 2008-10-13 David Hyatt <hyatt@apple.com>
6195 Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
6196 and invalidate properly as images load, etc.
6198 Reviewed by Tim Hatcher
6200 * rendering/RenderLayer.cpp:
6201 (WebCore::cornerRect):
6202 (WebCore::scrollCornerRect):
6203 (WebCore::resizerCornerRect):
6204 (WebCore::RenderLayer::positionOverflowControls):
6205 (WebCore::RenderLayer::paintOverflowControls):
6206 (WebCore::RenderLayer::paintScrollCorner):
6207 (WebCore::RenderLayer::paintResizer):
6208 (WebCore::RenderLayer::isPointInResizeControl):
6209 (WebCore::RenderLayer::hitTestOverflowControls):
6210 (WebCore::RenderLayer::styleChanged):
6211 * rendering/RenderLayer.h:
6212 * rendering/RenderObject.h:
6213 (WebCore::RenderObject::setRect):
6214 * rendering/RenderScrollbarPart.cpp:
6215 (WebCore::RenderScrollbarPart::styleDidChange):
6216 (WebCore::RenderScrollbarPart::imageChanged):
6218 2008-10-13 Marco Barisione <marco.barisione@collabora.co.uk>
6220 Reviewed by Darin Adler. Landed by Jan Alonzo.
6222 WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
6223 http://bugs.webkit.org/show_bug.cgi?id=20483
6225 Start the conversion to use GOwnPtr and fix a memory leak.
6227 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
6228 (WebCore::mediaPlayerPrivateErrorCallback):
6230 2008-10-12 Jon Honeycutt <jhoneycutt@apple.com>
6234 * loader/TextResourceDecoder.cpp:
6236 2008-10-12 Darin Fisher <darin@chromium.org>
6238 Reviewed by Darin Adler.
6240 - fix https://bugs.webkit.org/show_bug.cgi?id=21229
6241 Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
6243 * platform/network/NetworkStateNotifier.h: Add the #include.
6245 2008-10-12 Darin Adler <darin@apple.com>
6247 Based on work by Holger Freyther.
6249 - part of https://bugs.webkit.org/show_bug.cgi?id=20953
6250 Split WidthIterator into its own source file.
6252 * GNUmakefile.am: Added new source files.
6253 * WebCore.vcproj/WebCore.vcproj: Ditto.
6254 * WebCore.xcodeproj/project.pbxproj: Ditto.
6255 * WebCoreSources.bkl: Ditto.
6257 * platform/graphics/Font.cpp: Use WidthIterator from its new place.
6258 * platform/graphics/WidthIterator.cpp: Added.
6259 * platform/graphics/WidthIterator.h: Added.
6261 2008-10-12 Tony Chang <tony@chromium.org>
6263 Reviewed by Sam Weinig.
6265 - https://bugs.webkit.org/show_bug.cgi?id=21480
6266 Remove duplicate definitions of MimeClassInfo and PluginInfo.
6268 * plugins/PluginInfoStore.cpp: Added an include.
6269 * plugins/PluginInfoStore.h: Removed struct declarations.
6271 2008-10-12 Darin Adler <darin@apple.com>
6273 Reviewed by Dan Bernstein.
6275 - https://bugs.webkit.org/show_bug.cgi?id=21563
6276 Bug 21563: platform Gradient class should not use the CSS parser
6278 * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
6279 that accepts a CSS color string. That's handled in the DOM now, not here.
6280 (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
6282 * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
6284 2008-10-12 Glenn Wilson <gwilson@google.com>
6286 Reviewed by Darin Adler.
6288 - https://bugs.webkit.org/show_bug.cgi?id=20461
6290 Added feature to allow multi-line inputs into text fields.
6291 HTMLInputElement would cut the set text at the first 'system' character,
6292 so it would truncate at the first carriage return or newline.
6293 This fix modifies that behavior to truncate at any non-space system character
6294 but changes \r, \n, and \r\n to a single space.
6296 Tests: editing/pasteboard/paste-multiline-text-input.html
6298 * html/HTMLInputElement.cpp:
6299 (WebCore::HTMLInputElement::constrainValue):
6301 2008-10-12 Dirk Schulze <vbs85@gmx.de>
6303 Reviewed by Eric Seidel.
6305 - https://bugs.webkit.org/show_bug.cgi?id=20435
6307 Added exception codes to canvas gradients to match current specification.
6309 Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
6310 fast/canvas/linearGradient-infinite-values.html
6311 fast/canvas/radialGradient-infinite-values.html
6313 * html/CanvasGradient.cpp:
6314 (WebCore::CanvasGradient::addColorStop):
6315 * html/CanvasGradient.h:
6316 * html/CanvasGradient.idl:
6317 * html/CanvasRenderingContext2D.cpp:
6318 (WebCore::CanvasRenderingContext2D::createLinearGradient):
6319 (WebCore::CanvasRenderingContext2D::createRadialGradient):
6320 * html/CanvasRenderingContext2D.h:
6321 * html/CanvasRenderingContext2D.idl:
6323 2008-10-12 Eric Roman <eroman@chromium.org>
6325 - https://bugs.webkit.org/show_bug.cgi?id=20246
6326 Implement RenderThemeWin::systemColor() to match Windows colors.
6328 Reviewed by David Hyatt.
6330 * rendering/RenderThemeWin.cpp:
6331 (WebCore::cssValueIdToSysColorIndex):
6332 (WebCore::RenderThemeWin::systemColor):
6333 * rendering/RenderThemeWin.h:
6335 2008-10-12 Aaron Bockover <abockover@novell.com>
6337 Reviewed by Alp Toker.
6339 Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
6340 plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
6341 handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
6343 * plugins/gtk/PluginPackageGtk.cpp:
6345 2008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
6347 Reviewed by Oliver Hunt.
6349 - https://bugs.webkit.org/show_bug.cgi?id=19331
6350 <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
6352 * page/DragController.cpp:
6353 (WebCore::DragController::startDrag): When a link is dragged without any
6354 text selected (note: for this to work, the EditableLinkBehavior setting must be
6355 set to 'live' or 'default') and then dropped into an editable html document it
6356 will eventually violate an ASSERT in MoveSelectionCommand that requires that there
6357 is a selection. To prevent this, expand the selection to the enclosing anchor tag
6358 when the drag begins.
6360 2008-10-12 Darin Adler <darin@apple.com>
6362 Reviewed by Mark Rowe.
6364 - fix https://bugs.webkit.org/show_bug.cgi?id=21557
6365 Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
6367 * rendering/RenderObject.cpp:
6368 (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
6369 until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
6370 as RenderObject::isText(), and this guarantees that the node can be cast to
6371 Element*, which is done just below. The reason this is hit is that RenderLayer
6372 can call getPseudoStyle on a RenderView, which has the document as its
6373 element() -- and a document is neither a Text node nor an Element. A loose
6374 end is that this seems to mean you can't style the scrollbar corner or the
6375 resizer on a RenderView. Hyatt may want to look into that later.
6377 2008-10-12 Darin Adler <darin@apple.com>
6379 Reviewed by Sam Weinig.
6381 - https://bugs.webkit.org/show_bug.cgi?id=21556
6382 Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
6384 Tests: fast/dom/HTMLFontElement/size-attribute.html
6385 fast/dom/HTMLInputElement/size-attribute.html
6386 fast/dom/HTMLTableElement/cellpadding-attribute.html
6388 * html/HTMLFontElement.cpp:
6389 (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
6390 Unicode::isDigit, since non-ASCII digits are not valid here.
6391 * html/HTMLFontElement.h: Tweaked formatting a bit and removed
6392 the unneeded destructor declaration.
6393 * platform/text/String.cpp:
6394 (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
6395 of Unicode::isDigit, since non-ASCII digits are not valid.
6397 2008-10-12 Jungshik Shin <jshin@chromium.org>
6399 Reviewed by Darin Adler.
6401 Treat x-user-defined as windows-1252 for html files with meta charset
6402 declaration to be compatible with Indian web sites.
6403 ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
6405 Test: fast/encoding/charset-xuser-defined.html
6407 * loader/TextResourceDecoder.cpp:
6408 (WebCore::TextResourceDecoder::setEncoding):
6410 2008-10-12 Sam Weinig <sam@webkit.org>
6412 Reviewed by Dan Bernstein.
6414 Remove unneeded forward declaration.
6416 * platform/graphics/ImageBuffer.h:
6418 2008-10-12 Sam Weinig <sam@webkit.org>
6420 Reviewed by Darin Adler.
6422 Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
6423 Layering violation: String should not be responsible for creating Lengths
6425 It was a layering violation for String to know haw to parse
6426 into Lengths, LengthArrays, and CoordsArrays.
6430 * WebCore.vcproj/WebCore.vcproj:
6431 * WebCore.xcodeproj/project.pbxproj:
6432 * WebCoreSources.bkl:
6433 * html/HTMLAreaElement.cpp:
6434 (WebCore::HTMLAreaElement::parseMappedAttribute):
6435 * html/HTMLFrameSetElement.cpp:
6436 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
6437 * platform/text/AtomicString.h:
6438 (WebCore::AtomicString::percentage):
6439 * platform/text/PlatformString.h:
6440 * platform/text/String.cpp:
6441 * platform/text/StringImpl.cpp:
6442 * platform/text/StringImpl.h:
6443 * rendering/Length.cpp: Added.
6444 (WebCore::parseLength):
6445 (WebCore::countCharacter):
6446 (WebCore::newCoordsArray):
6447 (WebCore::newLengthArray):
6448 * rendering/Length.h:
6449 (WebCore::LengthSize::LengthSize):
6451 2008-10-12 Brad Garcia <bgarcia@google.com>
6453 Reviewed by Darin Adler.
6455 Interpret fractional percentage values for %MultiLength values.
6456 Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
6457 Test: fast/frames/frame-length-fractional-percentage.html
6459 * platform/text/StringImpl.cpp:
6460 (WebCore::parseLength):
6462 2008-10-12 Timothy Hatcher <timothy@apple.com>
6464 Remember the expanded state of the rules in the Styles pane. So
6465 collapsing a rule will persist across all the elements that have
6466 that same rule. The same applies to Computed Style, so the Computed
6467 Style rule is now collapsed by default. This should help lessen the
6468 confusion on why Computed Style can't be edited (a common confusion.)
6470 https://bugs.webkit.org/show_bug.cgi?id=21553
6472 Reviewed by Darin Adler.
6474 * inspector/front-end/PropertiesSection.js:
6475 (WebInspector.PropertiesSection): Set the _expanded property directly,
6476 instead of using the setter. Expanded is the default, so no work is needed.
6477 This prevents calling StylesSidebarPane.collapse before object initialization
6479 * inspector/front-end/StylesSidebarPane.js:
6480 (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
6481 for the expanded state of the StylePropertiesSection. Collapse computed style
6482 by default and expand everything else.
6483 (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
6484 when remembering expanded state.
6485 (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
6486 to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
6487 the state if the dontRememberState property is true.
6488 (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
6489 to false for this identifier in Preferences.styleRulesExpandedState.
6490 * inspector/front-end/inspector.js:
6491 (Preferences.styleRulesExpandedState): Initialize to an empty object.
6493 2008-10-12 Jan Michael Alonzo <jmalonzo@webkit.org>
6495 Reviewed by Alp Toker.
6497 [Gtk] Remove libWebCoreJS.la when doing make clean
6498 https://bugs.webkit.org/show_bug.cgi?id=21544
6500 Remove libWebCoreJS.la when doing a clean target
6502 * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
6504 2008-10-11 Alp Toker <alp@nuanti.com>
6506 Reviewed by Darin Adler.
6508 https://bugs.webkit.org/show_bug.cgi?id=20592
6509 The focus ring is not shown while navigating on some pages
6511 Fix drawFocusRing() so it doesn't depend on the current graphics
6512 state, thus matching other platforms which already work this way.
6514 This patch provides two code paths: one using straight Cairo and
6515 one specialised for the GTK+ port with a more conventional appearance.
6517 Also change focusRingColor() to return a null color, allowing the
6518 focus ring to pick up the style's current color if it isn't overridden
6521 * platform/graphics/cairo/GraphicsContextCairo.cpp:
6522 (WebCore::GraphicsContext::drawFocusRing):
6523 * platform/gtk/TemporaryLinkStubs.cpp:
6524 (WebCore::focusRingColor):
6526 2008-10-11 Dan Bernstein <mitz@apple.com>
6528 Rubber-stamped by Sam Weinig.
6530 - change all internal callers to use Cache::evict() instead of remove()
6533 (WebCore::Cache::revalidateResource):
6534 (WebCore::Cache::revalidationSucceeded):
6535 (WebCore::Cache::pruneDeadResources):
6536 (WebCore::Cache::setDisabled):
6538 2008-10-11 David Hyatt <hyatt@apple.com>
6540 Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
6542 Reviewed by Tim Hatcher
6544 * platform/ScrollbarThemeComposite.cpp:
6545 (WebCore::ScrollbarThemeComposite::invalidatePart):
6547 2008-10-11 David Hyatt <hyatt@apple.com>
6549 https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
6551 Also fixed resizer positioning problems.
6553 Reviewed by Tim Hatcher
6555 * platform/ScrollbarThemeComposite.cpp:
6556 (WebCore::ScrollbarThemeComposite::splitTrack):
6557 (WebCore::ScrollbarThemeComposite::trackPosition):
6558 (WebCore::ScrollbarThemeComposite::trackLength):
6559 * platform/ScrollbarThemeComposite.h:
6560 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
6561 * rendering/RenderLayer.cpp:
6562 (WebCore::scrollCornerRect):
6563 (WebCore::RenderLayer::positionOverflowControls):
6564 (WebCore::RenderLayer::paintOverflowControls):
6565 (WebCore::RenderLayer::isPointInResizeControl):
6566 (WebCore::RenderLayer::hitTestOverflowControls):
6567 * rendering/RenderScrollbarTheme.cpp:
6568 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
6569 * rendering/RenderScrollbarTheme.h:
6571 2008-10-11 Alp Toker <alp@nuanti.com>
6573 Reviewed by David Hyatt.
6575 Implement release/retain for Widget GTK+.
6577 * platform/Widget.cpp:
6578 * platform/gtk/WidgetGtk.cpp:
6579 (WebCore::Widget::~Widget):
6580 (WebCore::Widget::releasePlatformWidget):
6581 (WebCore::Widget::retainPlatformWidget):
6583 2008-10-11 Dan Bernstein <mitz@apple.com>
6585 Reviewed by Sam Weinig.
6587 - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
6588 and add a corresponding getter; add the same functions on Windows
6591 * platform/graphics/Font.cpp:
6592 (WebCore::Font::setCodePath):
6593 (WebCore::codePath):
6594 (WebCore::Font::canUseGlyphCache):
6595 * platform/graphics/Font.h:
6596 * platform/mac/WebCoreTextRenderer.h:
6597 * platform/mac/WebCoreTextRenderer.mm:
6598 (WebCoreSetAlwaysUsesComplexTextCodePath):
6599 (WebCoreAlwaysUsesComplexTextCodePath):
6600 * platform/win/WebCoreTextRenderer.cpp:
6601 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
6602 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
6603 * platform/win/WebCoreTextRenderer.h:
6605 2008-10-11 Sam Weinig <sam@webkit.org>
6607 Reviewed by Cameron Zwarich.
6609 Stop leaking the event parameter names. The protected strings were showing up
6610 in the caches window after one use. No measurable performance loss.
6612 * bindings/js/JSEventListener.cpp:
6613 (WebCore::eventParameterName):
6615 2008-10-11 Sam Weinig <sam@webkit.org>
6617 Reviewed by Cameron Zwarich.
6619 Remove unused function getNodeEventListener.
6621 * bindings/js/JSEventListener.cpp:
6622 * bindings/js/JSEventListener.h:
6624 2008-10-11 David Hyatt <hyatt@apple.com>
6626 Add support for both positive and negative margins to tracks and track pieces.
6628 Reviewed by Tim Hatcher
6630 * platform/ScrollbarThemeComposite.cpp:
6631 (WebCore::ScrollbarThemeComposite::paint):
6632 (WebCore::ScrollbarThemeComposite::hitTest):
6633 (WebCore::ScrollbarThemeComposite::splitTrack):
6634 (WebCore::ScrollbarThemeComposite::trackPieceRects):
6635 (WebCore::ScrollbarThemeComposite::trackPosition):
6636 (WebCore::ScrollbarThemeComposite::trackLength):
6637 * platform/ScrollbarThemeComposite.h:
6638 (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
6639 * rendering/RenderScrollbar.cpp:
6640 (WebCore::RenderScrollbar::trackRect):
6641 (WebCore::RenderScrollbar::trackPieceRectWithMargins):
6642 * rendering/RenderScrollbar.h:
6643 * rendering/RenderScrollbarPart.cpp:
6644 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
6645 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
6646 * rendering/RenderScrollbarTheme.cpp:
6647 (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
6648 * rendering/RenderScrollbarTheme.h:
6650 2008-10-10 David Hyatt <hyatt@apple.com>
6652 Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
6653 the scrollbar pseudo-elements anyway.
6655 Reviewed by Tim Hatcher
6657 * css/CSSSelector.cpp:
6658 (WebCore::CSSSelector::extractPseudoType):
6659 * css/CSSSelector.h:
6660 (WebCore::CSSSelector::):
6661 * css/CSSStyleSelector.cpp:
6662 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6664 2008-10-10 Dan Bernstein <mitz@apple.com>
6666 Reviewed by Sam Weinig.
6668 - separate Cache::remove() into a private method and a public interface,
6669 then make Cache::pruneDeadResources() use the private method.
6672 (WebCore::Cache::pruneDeadResources):
6673 (WebCore::Cache::evict):
6675 (WebCore::Cache::remove):
6677 2008-10-10 David Hyatt <hyatt@apple.com>
6679 Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite
6680 now that the track pieces meet under the thumb.
6682 Reviewed by Tim Hatcher
6684 * platform/ScrollbarThemeComposite.cpp:
6685 (WebCore::ScrollbarThemeComposite::paint):
6686 (WebCore::ScrollbarThemeComposite::splitTrack):
6688 2008-10-10 David Hyatt <hyatt@apple.com>
6690 Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
6692 Reviewed by Tim Hatcher
6694 * platform/ScrollbarThemeComposite.cpp:
6695 (WebCore::ScrollbarThemeComposite::hitTest):
6696 (WebCore::ScrollbarThemeComposite::splitTrack):
6698 2008-10-10 David Hyatt <hyatt@apple.com>
6700 Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
6702 Reviewed by Tim Hatcher
6704 * rendering/RenderLayer.cpp:
6705 (WebCore::RenderLayer::createScrollbar):
6706 * rendering/RenderScrollbar.cpp:
6707 (WebCore::RenderScrollbar::createCustomScrollbar):
6708 (WebCore::RenderScrollbar::RenderScrollbar):
6709 (WebCore::RenderScrollbar::setParent):
6710 (WebCore::RenderScrollbar::updateScrollbarParts):
6711 (WebCore::RenderScrollbar::updateScrollbarPart):
6712 * rendering/RenderScrollbar.h:
6713 * rendering/style/RenderStyle.h:
6714 (WebCore::RenderStyle::):
6716 2008-10-10 David Hyatt <hyatt@apple.com>
6718 Make sure scrollbar background images cause proper part invalidation to occur.
6720 Reviewed by Tim Hatcher
6722 * rendering/RenderScrollbar.cpp:
6723 (WebCore::RenderScrollbar::setHoveredPart):
6724 (WebCore::RenderScrollbar::setPressedPart):
6725 * rendering/RenderScrollbarPart.cpp:
6726 (WebCore::RenderScrollbarPart::styleDidChange):
6727 (WebCore::RenderScrollbarPart::imageChanged):
6728 * rendering/RenderScrollbarPart.h:
6730 2008-10-10 Simon Fraser <simon.fraser@apple.com>
6732 Reviewed by Darin Adler
6734 https://bugs.webkit.org/show_bug.cgi?id=21538
6736 The blendFunc() for TransformOperations should never mess with the
6737 operation lists by replacing some ops with identity, otherwise the lists
6738 no longer match and transitions break.
6740 Test: transitions/matched-transform-functions.html
6742 * page/animation/AnimationBase.cpp:
6743 (WebCore::blendFunc):
6745 2008-10-10 Simon Fraser <simon.fraser@apple.com>
6747 Reviewed by Darin Adler
6749 https://bugs.webkit.org/show_bug.cgi?id=21537
6751 Fix re-targetting a running transition; if the target property
6752 changes, we do need to make a new ImplicitAnimation.
6754 Test: transitions/retargetted-transition.html
6756 * page/animation/CompositeAnimation.cpp:
6757 (WebCore::CompositeAnimationPrivate::updateTransitions):
6759 2008-10-10 Oliver Hunt <oliver@apple.com>
6761 Reviewed by Cameron Zwarich.
6763 Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
6765 When JS is terminated by the user choosing to stop a slow script
6766 the exception toString method throws, yet the console logger does
6767 not perform exception checks after logging. This leaves an
6768 exception on the Machine, which in turn results in an assertion
6769 failure next time we attempt to enter JS. The solution is just to
6770 clear the exception state after attempting to record the exception.
6773 (WebCore::Console::reportException):
6775 2008-10-10 David Hyatt <hyatt@apple.com>
6777 Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer
6778 when looking for pseudo styles.
6780 Reviewed by Tim Hatcher
6782 * rendering/RenderLayer.cpp:
6783 (WebCore::RenderLayer::createScrollbar):
6784 (WebCore::RenderLayer::styleChanged):
6786 2008-10-10 David Hyatt <hyatt@apple.com>
6788 Add the ability to style the scroll corner and the resizer from CSS.
6790 Reviewed by Tim Hatcher
6792 * css/CSSSelector.cpp:
6793 (WebCore::CSSSelector::extractPseudoType):
6794 * css/CSSSelector.h:
6795 (WebCore::CSSSelector::):
6796 * css/CSSStyleSelector.cpp:
6797 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6798 * rendering/RenderLayer.cpp:
6799 (WebCore::RenderLayer::RenderLayer):
6800 (WebCore::RenderLayer::~RenderLayer):
6801 (WebCore::RenderLayer::paintOverflowControls):
6802 (WebCore::RenderLayer::paintScrollCorner):
6803 (WebCore::RenderLayer::paintResizer):
6804 (WebCore::RenderLayer::styleChanged):
6805 * rendering/RenderLayer.h:
6806 * rendering/RenderScrollbar.cpp:
6807 (WebCore::RenderScrollbar::updateScrollbarPart):
6808 (WebCore::RenderScrollbar::paintPart):
6809 * rendering/RenderScrollbarPart.cpp:
6810 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
6811 (WebCore::RenderScrollbarPart::paintIntoRect):
6812 * rendering/RenderScrollbarPart.h:
6813 * rendering/style/RenderStyle.h:
6814 (WebCore::RenderStyle::):
6816 2008-10-10 David Hyatt <hyatt@apple.com>
6818 Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
6820 Reviewed by Sam Weinig
6822 No test case possible, since the OS setting can vary.
6824 * css/CSSSelector.cpp:
6825 (WebCore::CSSSelector::extractPseudoType):
6826 * css/CSSSelector.h:
6827 (WebCore::CSSSelector::):
6828 * css/CSSStyleSelector.cpp:
6829 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6830 * platform/Scrollbar.h:
6831 (WebCore::Scrollbar::styleChanged):
6832 * platform/mac/ScrollbarThemeMac.mm:
6833 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
6834 (WebCore::ScrollbarThemeMac::preferencesChanged):
6835 * rendering/RenderLayer.cpp:
6836 (WebCore::RenderLayer::invalidateScrollbarRect):
6837 * rendering/RenderScrollbar.cpp:
6838 (WebCore::RenderScrollbar::styleChanged):
6839 (WebCore::RenderScrollbar::updateScrollbarPart):
6840 * rendering/RenderScrollbar.h:
6841 * rendering/RenderScrollbarTheme.h:
6842 (WebCore::RenderScrollbarTheme::buttonsPlacement):
6844 2008-10-10 Timothy Hatcher <timothy@apple.com>
6846 Fixes a regression with input search fields, where the placeholder text
6847 would not be updated when the value of the placeholder attribute changed.
6849 https://bugs.webkit.org/show_bug.cgi?id=21521
6851 Reviewed by Adele Peterson.
6853 Test: fast/forms/search-placeholder-value-changed.html
6855 * html/HTMLInputElement.cpp:
6856 (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
6857 placeholderValueChanged parameter of updatePlaceholderVisibility.
6858 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
6859 for placeholderValueChanged that informs the method that the value changed.
6860 * html/HTMLInputElement.h: Add the placeholderValueChanged to the
6861 updatePlaceholderVisibility method. Made it default to false.
6863 2008-10-10 David Hyatt <hyatt@apple.com>
6865 Allow the track part to have negative margins so that it can slightly overlap buttons. This
6866 is necessary to emulate the Aqua look in CSS.
6868 Reviewed by Sam Weinig
6870 * platform/ScrollbarThemeComposite.cpp:
6871 (WebCore::ScrollbarThemeComposite::paint):
6872 (WebCore::ScrollbarThemeComposite::hitTest):
6873 * rendering/RenderScrollbar.cpp:
6874 (WebCore::RenderScrollbar::setHoveredPart):
6875 (WebCore::RenderScrollbar::trackRect):
6876 * rendering/RenderScrollbar.h:
6877 * rendering/RenderScrollbarPart.cpp:
6878 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
6879 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
6880 * rendering/RenderScrollbarTheme.cpp:
6881 (WebCore::RenderScrollbarTheme::backButtonRect):
6882 (WebCore::RenderScrollbarTheme::forwardButtonRect):
6883 (WebCore::RenderScrollbarTheme::trackRect):
6885 2008-10-10 David Hyatt <hyatt@apple.com>
6887 https://bugs.webkit.org/show_bug.cgi?id=21527
6889 Make CSS scrollbars support :not, :hover and :active.
6891 Reviewed by Adam Roben
6893 Added WebCore/manual-tests/scrollbar-hover-active.html
6895 * css/CSSStyleSelector.cpp:
6896 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
6897 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6898 * platform/Scrollbar.cpp:
6899 (WebCore::Scrollbar::autoscrollPressedPart):
6900 (WebCore::Scrollbar::startTimerIfNeeded):
6901 (WebCore::Scrollbar::setHoveredPart):
6902 (WebCore::Scrollbar::setPressedPart):
6903 (WebCore::Scrollbar::mouseMoved):
6904 (WebCore::Scrollbar::mouseExited):
6905 (WebCore::Scrollbar::mouseUp):
6906 (WebCore::Scrollbar::mouseDown):
6907 * platform/Scrollbar.h:
6908 * rendering/RenderScrollbar.cpp:
6909 (WebCore::RenderScrollbar::setHoveredPart):
6910 (WebCore::RenderScrollbar::setPressedPart):
6911 (WebCore::RenderScrollbar::updateScrollbarParts):
6912 (WebCore::pseudoForScrollbarPart):
6913 (WebCore::RenderScrollbar::updateScrollbarPart):
6914 * rendering/RenderScrollbar.h:
6916 2008-10-10 Chris Marrin <cmarrin@apple.com>
6918 Reviewed by Dan Bernstein.
6920 Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
6921 CSS transition with duration=0 and delay=0 doesn't override ongoing transition
6923 Test: transitions/interrupt-zero-duration.html
6925 * page/animation/CompositeAnimation.cpp:
6926 (WebCore::CompositeAnimation::updateTransitions):
6928 2008-10-10 Kevin Ollivier <kevino@theolliviers.com>
6930 wx build fix. Add new scrollbar-related sources.
6932 * WebCoreSources.bkl:
6934 2008-10-10 David Hyatt <hyatt@apple.com>
6936 https://bugs.webkit.org/show_bug.cgi?id=21522
6938 Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be
6939 created. (Just :hover/:active left to finish it up.)
6941 Reviewed by Adam Roben
6943 Added scrollbars/scrollbar-buttons.html
6945 * css/CSSStyleSelector.cpp:
6946 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6948 2008-10-10 David Hyatt <hyatt@apple.com>
6950 Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming
6951 back/forward to decrement/increment. Adding start/end pseudoclasses.
6953 Reviewed by Eric Seidel
6955 * css/CSSSelector.cpp:
6956 (WebCore::CSSSelector::extractPseudoType):
6957 * css/CSSSelector.h:
6958 (WebCore::CSSSelector::):
6959 * css/CSSStyleSelector.cpp:
6960 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6962 2008-10-10 David Hyatt <hyatt@apple.com>
6964 Switch window-active to window-inactive, since that will work better as far as degrading in other
6967 Reviewed by Tim Hatcher
6969 * css/CSSSelector.cpp:
6970 (WebCore::CSSSelector::extractPseudoType):
6971 * css/CSSSelector.h:
6972 (WebCore::CSSSelector::):
6973 * css/CSSStyleSelector.cpp:
6974 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
6976 2008-10-09 Chris Marrin <cmarrin@apple.com>
6978 Reviewed by Dan Bernstein.
6980 https://bugs.webkit.org/show_bug.cgi?id=21310
6982 Redesigned how animation events are sent in order to get rid of
6983 AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
6984 are now ref counted. While calling the event handler, I keep a
6985 reference to this class to avoid it getting destroyed out from under me.
6987 I also moved most of the functionality of CompositeAnimation to
6988 and internal class (CompositeAnimationPrivate) to reduce the exposure
6989 of the internals of the various animation classes.
6991 We have several transition and animation LayoutTests which verify that
6992 this fix works as expected and continues to avoid crashes.
6994 * page/animation/AnimationBase.cpp:
6995 (WebCore::AnimationBase::AnimationBase):
6996 * page/animation/AnimationBase.h:
6997 (WebCore::AnimationBase::cancelTimers):
6998 (WebCore::AnimationBase::waitingForStyleAvailable):
6999 * page/animation/CompositeAnimation.cpp:
7000 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
7001 (WebCore::CompositeAnimationPrivate::suspended):
7002 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
7003 (WebCore::CompositeAnimationPrivate::updateTransitions):
7004 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
7005 (WebCore::CompositeAnimationPrivate::animate):
7006 (WebCore::CompositeAnimationPrivate::setAnimating):
7007 (WebCore::CompositeAnimationPrivate::animating):
7008 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
7009 (WebCore::CompositeAnimationPrivate::resetTransitions):
7010 (WebCore::CompositeAnimationPrivate::resetAnimations):
7011 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
7012 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
7013 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
7014 (WebCore::CompositeAnimationPrivate::suspendAnimations):
7015 (WebCore::CompositeAnimationPrivate::resumeAnimations):
7016 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
7017 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
7018 (WebCore::compareAnimationIndices):
7019 (WebCore::CompositeAnimationPrivate::styleAvailable):
7020 (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
7021 (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
7022 (WebCore::CompositeAnimation::CompositeAnimation):
7023 (WebCore::CompositeAnimation::~CompositeAnimation):
7024 (WebCore::CompositeAnimation::animate):
7025 (WebCore::CompositeAnimation::animating):
7026 (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
7027 (WebCore::CompositeAnimation::resetTransitions):
7028 (WebCore::CompositeAnimation::suspendAnimations):
7029 (WebCore::CompositeAnimation::resumeAnimations):
7030 (WebCore::CompositeAnimation::suspended):
7031 (WebCore::CompositeAnimation::styleAvailable):
7032 (WebCore::CompositeAnimation::setAnimating):
7033 (WebCore::CompositeAnimation::isAnimatingProperty):
7034 (WebCore::CompositeAnimation::setAnimationStartTime):
7035 (WebCore::CompositeAnimation::setTransitionStartTime):
7036 (WebCore::CompositeAnimation::overrideImplicitAnimations):
7037 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
7038 * page/animation/CompositeAnimation.h:
7039 * page/animation/ImplicitAnimation.cpp:
7040 (WebCore::ImplicitAnimation::sendTransitionEvent):
7041 * page/animation/ImplicitAnimation.h:
7042 (WebCore::ImplicitAnimation::create):
7043 * page/animation/KeyframeAnimation.cpp:
7044 (WebCore::KeyframeAnimation::sendAnimationEvent):
7045 * page/animation/KeyframeAnimation.h:
7046 (WebCore::KeyframeAnimation::create):
7048 2008-10-09 David Hyatt <hyatt@apple.com>
7050 Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar
7053 Reviewed by Tim Hatcher
7055 Added scrollbars/scrollbar-orientation.html
7057 * css/CSSSelector.cpp:
7058 (WebCore::CSSSelector::extractPseudoType):
7059 * css/CSSSelector.h:
7060 (WebCore::CSSSelector::):
7061 * css/CSSStyleSelector.cpp:
7062 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7063 * platform/Scrollbar.cpp:
7064 (WebCore::Scrollbar::isWindowActive):
7065 * platform/Scrollbar.h:
7066 * rendering/RenderScrollbar.cpp:
7067 (WebCore::RenderScrollbar::paint):
7068 (WebCore::RenderScrollbar::partForStyleResolve):
7069 * rendering/RenderScrollbar.h:
7071 2008-10-09 David Hyatt <hyatt@apple.com>
7073 Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only
7074 :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works.
7076 Reviewed by Tim Hatcher
7078 Added scrollbars/disabled-scrollbar.html
7080 * css/CSSStyleSelector.cpp:
7081 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
7082 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7083 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
7084 * css/CSSStyleSelector.h:
7085 * rendering/RenderObject.cpp:
7086 (WebCore::RenderObject::getPseudoStyle):
7087 * rendering/RenderObject.h:
7088 * rendering/RenderScrollbar.cpp:
7089 (WebCore::RenderScrollbar::setEnabled):
7090 (WebCore::RenderScrollbar::scrollbarForStyleResolve):
7091 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
7092 (WebCore::RenderScrollbar::paintPart):
7093 * rendering/RenderScrollbar.h:
7095 2008-10-09 Eric Carlson <eric.carlson@apple.com>
7097 Media controls should not show when element is not visible
7099 https://bugs.webkit.org/show_bug.cgi?id=21155
7101 Reviewed by Adele Peterson.
7103 * html/HTMLMediaElement.cpp:
7104 (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
7105 in sync with visibility changes
7106 * html/HTMLMediaElement.h:
7107 * rendering/RenderMedia.cpp:
7108 (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
7109 (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
7110 if element is visible or not. Don't animate controller visibility when change triggered by
7111 showing or hiding media element.
7112 * rendering/RenderMedia.h: declare m_previousVisible
7114 2008-10-09 Timothy Hatcher <timothy@apple.com>
7116 Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
7117 availability macros and version macros.
7119 https://bugs.webkit.org/show_bug.cgi?id=21496
7120 rdar://problem/6259225
7122 Reviewed by Sam Weinig.
7124 * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
7125 * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
7126 and add an #if around the enum.
7127 * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
7128 comment to match the other headers.
7129 * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
7130 * bindings/objc/DOMObject.h: Add a version #if around class interface.
7131 * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
7132 and add a version #if around the enum.
7133 * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
7134 * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
7135 * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
7136 when they where added to WebKit. Also annotate individual methods that are
7137 deprecated or where added after the class was added to WebKit.
7138 * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
7139 since this header is included by most DOM headers. Annotate the JSObject method.
7141 * bindings/scripts/CodeGeneratorObjC.pm:
7142 (ReadPublicInterfaces): Parse out the availability macro for each function/property.
7143 And parse out the availability version for the class/protocol. Default to
7144 WEBKIT_VERSION_LATEST if the class is new.
7145 (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
7146 interface availability version check if the class has a required version. Create
7147 a public interface key (used to lookup in $publicInterfaces) and make a declaration
7148 suffix that includes the availability macro (if needed). Use the "available in 1.3
7149 and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
7150 the default availability macro for old style methods. Tweak line breaks in the generated
7151 headers to look good and not have too many extra lines.
7153 2008-10-09 Simon Fraser <simon.fraser@apple.com>
7155 Reviewed by Dave Hyatt
7157 https://bugs.webkit.org/show_bug.cgi?id=20947
7159 Refactor setStyle() methods into styleWillChange()
7160 and styleDidChange(), so most of the setStyle() overrides can
7163 * rendering/RenderBR.cpp:
7164 (WebCore::RenderBR::styleDidChange):
7165 * rendering/RenderBR.h:
7166 * rendering/RenderBlock.cpp:
7167 (WebCore::RenderBlock::styleWillChange):
7168 (WebCore::RenderBlock::styleDidChange):
7169 * rendering/RenderBlock.h:
7170 * rendering/RenderBox.cpp:
7171 (WebCore::RenderBox::~RenderBox):
7172 (WebCore::RenderBox::destroy):
7173 (WebCore::RenderBox::styleWillChange):
7174 (WebCore::RenderBox::styleDidChange):
7175 * rendering/RenderBox.h:
7176 * rendering/RenderButton.cpp:
7177 (WebCore::RenderButton::styleWillChange):
7178 (WebCore::RenderButton::styleDidChange):
7179 * rendering/RenderButton.h:
7180 * rendering/RenderFieldset.cpp:
7181 (WebCore::RenderFieldset::styleDidChange):
7182 * rendering/RenderFieldset.h:
7183 * rendering/RenderFileUploadControl.cpp:
7184 (WebCore::RenderFileUploadControl::styleDidChange):
7185 * rendering/RenderFileUploadControl.h:
7186 * rendering/RenderInline.cpp:
7187 (WebCore::RenderInline::styleDidChange):
7188 * rendering/RenderInline.h:
7189 * rendering/RenderLayer.cpp:
7190 (WebCore::RenderLayer::styleChanged):
7191 * rendering/RenderLayer.h:
7192 * rendering/RenderListBox.cpp:
7193 (WebCore::RenderListBox::styleDidChange):
7194 * rendering/RenderListBox.h:
7195 * rendering/RenderListItem.cpp:
7196 (WebCore::RenderListItem::styleDidChange):
7197 * rendering/RenderListItem.h:
7198 * rendering/RenderListMarker.cpp:
7199 (WebCore::RenderListMarker::styleWillChange):
7200 (WebCore::RenderListMarker::styleDidChange):
7201 * rendering/RenderListMarker.h:
7202 * rendering/RenderMenuList.cpp:
7203 (WebCore::RenderMenuList::styleDidChange):
7204 * rendering/RenderMenuList.h:
7205 * rendering/RenderObject.cpp:
7206 (WebCore::RenderObject::setStyle):
7207 (WebCore::RenderObject::setStyleInternal):
7208 (WebCore::RenderObject::styleWillChange):
7209 (WebCore::RenderObject::styleDidChange):
7210 * rendering/RenderObject.h:
7211 * rendering/RenderReplaced.cpp:
7212 (WebCore::RenderReplaced::styleDidChange):
7213 * rendering/RenderReplaced.h:
7214 * rendering/RenderSVGGradientStop.cpp:
7215 (WebCore::RenderSVGGradientStop::styleDidChange):
7216 * rendering/RenderSVGGradientStop.h:
7217 * rendering/RenderScrollbarPart.cpp:
7218 (WebCore::RenderScrollbarPart::styleDidChange):
7219 * rendering/RenderScrollbarPart.h:
7220 * rendering/RenderSlider.cpp:
7221 (WebCore::RenderSlider::styleDidChange):
7222 * rendering/RenderSlider.h:
7223 * rendering/RenderTable.cpp:
7224 (WebCore::RenderTable::styleDidChange):
7225 * rendering/RenderTable.h:
7226 * rendering/RenderTableCell.cpp:
7227 (WebCore::RenderTableCell::styleWillChange):
7228 (WebCore::RenderTableCell::styleDidChange):
7229 * rendering/RenderTableCell.h:
7230 * rendering/RenderTableRow.cpp:
7231 (WebCore::RenderTableRow::styleWillChange):
7232 * rendering/RenderTableRow.h:
7233 * rendering/RenderText.cpp:
7234 (WebCore::RenderText::styleDidChange):
7235 * rendering/RenderText.h:
7236 * rendering/RenderTextControl.cpp:
7237 (WebCore::RenderTextControl::styleDidChange):
7238 * rendering/RenderTextControl.h:
7239 * rendering/RenderWidget.cpp:
7240 (WebCore::RenderWidget::styleDidChange):
7241 * rendering/RenderWidget.h:
7243 2008-10-09 David Hyatt <hyatt@apple.com>
7245 Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away. When our widget
7246 parent is nulled out is a good time.
7248 Reviewed by Oliver Hunt
7250 * rendering/RenderScrollbar.cpp:
7251 (WebCore::RenderScrollbar::~RenderScrollbar):
7252 (WebCore::RenderScrollbar::setParent):
7253 (WebCore::RenderScrollbar::updateScrollbarPart):
7254 * rendering/RenderScrollbar.h:
7256 2008-10-09 David Hyatt <hyatt@apple.com>
7258 https://bugs.webkit.org/show_bug.cgi?id=21446
7260 This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between
7261 orientation and back vs. forward on the buttons, but it's a start.
7263 Reviewed by Oliver Hunt
7265 Added scrollbars/basic-scrollbar.html
7267 * WebCore.xcodeproj/project.pbxproj:
7268 * css/CSSSelector.cpp:
7269 (WebCore::CSSSelector::extractPseudoType):
7270 * css/CSSSelector.h:
7271 (WebCore::CSSSelector::):
7272 * css/CSSStyleSelector.cpp:
7273 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7274 * platform/ScrollTypes.h:
7276 * platform/Scrollbar.h:
7277 (WebCore::Scrollbar::styleChanged):
7278 * platform/ScrollbarThemeComposite.cpp:
7279 (WebCore::ScrollbarThemeComposite::paint):
7280 (WebCore::ScrollbarThemeComposite::splitTrack):
7281 * platform/ScrollbarThemeComposite.h:
7282 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
7283 (WebCore::ScrollbarThemeComposite::paintTrackBackground):
7284 (WebCore::ScrollbarThemeComposite::paintTrackPiece):
7285 * platform/win/ScrollbarThemeSafari.cpp:
7286 (WebCore::ScrollbarThemeSafari::paintTrackBackground):
7287 * platform/win/ScrollbarThemeSafari.h:
7288 * platform/win/ScrollbarThemeWin.cpp:
7289 (WebCore::ScrollbarThemeWin::paintTrack):
7290 * platform/win/ScrollbarThemeWin.h:
7291 * rendering/RenderLayer.cpp:
7292 (WebCore::RenderLayer::createScrollbar):
7293 (WebCore::RenderLayer::styleChanged):
7294 * rendering/RenderScrollbar.cpp: Added.
7295 (WebCore::RenderScrollbar::createCustomScrollbar):
7296 (WebCore::RenderScrollbar::RenderScrollbar):
7297 (WebCore::RenderScrollbar::~RenderScrollbar):
7298 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
7299 (WebCore::RenderScrollbar::updateScrollbarParts):
7300 (WebCore::RenderScrollbar::updateScrollbarPart):
7301 (WebCore::RenderScrollbar::paintPart):
7302 (WebCore::RenderScrollbar::buttonRect):
7303 (WebCore::RenderScrollbar::minimumThumbLength):
7304 * rendering/RenderScrollbar.h: Added.
7305 (WebCore::RenderScrollbar::styleChanged):
7306 (WebCore::RenderScrollbar::owningRenderer):
7307 * rendering/RenderScrollbarPart.cpp: Added.
7308 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
7309 (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
7310 (WebCore::RenderScrollbarPart::layout):
7311 (WebCore::RenderScrollbarPart::layoutHorizontalPart):
7312 (WebCore::RenderScrollbarPart::layoutVerticalPart):
7313 (WebCore::calcScrollbarThicknessUsing):
7314 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
7315 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
7316 (WebCore::RenderScrollbarPart::calcPrefWidths):
7317 (WebCore::RenderScrollbarPart::setStyle):
7318 * rendering/RenderScrollbarPart.h: Added.
7319 (WebCore::RenderScrollbarPart::renderName):
7320 (WebCore::RenderScrollbarPart::requiresLayer):
7321 * rendering/RenderScrollbarTheme.cpp: Added.
7322 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
7323 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
7324 (WebCore::RenderScrollbarTheme::hasButtons):
7325 (WebCore::RenderScrollbarTheme::hasThumb):
7326 (WebCore::RenderScrollbarTheme::minimumThumbLength):
7327 (WebCore::RenderScrollbarTheme::backButtonRect):
7328 (WebCore::RenderScrollbarTheme::forwardButtonRect):
7329 (WebCore::RenderScrollbarTheme::trackRect):
7330 (WebCore::RenderScrollbarTheme::paintScrollCorner):
7331 (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
7332 (WebCore::RenderScrollbarTheme::paintTrackBackground):
7333 (WebCore::RenderScrollbarTheme::paintTrackPiece):
7334 (WebCore::RenderScrollbarTheme::paintButton):
7335 (WebCore::RenderScrollbarTheme::paintThumb):
7336 * rendering/RenderScrollbarTheme.h: Added.
7337 (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
7338 (WebCore::RenderScrollbarTheme::scrollbarThickness):
7339 (WebCore::RenderScrollbarTheme::buttonsPlacement):
7340 (WebCore::RenderScrollbarTheme::supportsControlTints):
7341 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
7342 (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
7343 (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
7344 (WebCore::RenderScrollbarTheme::registerScrollbar):
7345 (WebCore::RenderScrollbarTheme::unregisterScrollbar):
7346 * rendering/style/RenderStyle.h:
7347 (WebCore::RenderStyle::):
7349 2008-10-09 Eric Seidel <eric@webkit.org>
7351 Reviewed by Oliver Hunt.
7353 Fix Canvex DOOM Game
7354 Gradient clips were not getting cleared after filling the
7355 gradient, this was causing nothing to draw in Canvex
7356 https://bugs.webkit.org/show_bug.cgi?id=21498
7360 * WebCore.xcodeproj/project.pbxproj:
7361 * platform/graphics/cg/GraphicsContextCG.cpp:
7362 (WebCore::GraphicsContext::fillPath):
7363 (WebCore::GraphicsContext::strokePath):
7364 (WebCore::GraphicsContext::fillRect):
7366 2008-10-09 Eric Seidel <eric@webkit.org>
7368 Reviewed by Oliver Hunt.
7370 Fix transformed patterns
7371 https://bugs.webkit.org/show_bug.cgi?id=21498
7373 Test: fast/canvas/patternfill-repeat.html
7375 * WebCore.xcodeproj/project.pbxproj:
7376 * platform/graphics/GraphicsContext.cpp:
7377 (WebCore::GraphicsContext::setStrokePattern):
7378 (WebCore::GraphicsContext::setFillPattern):
7379 (WebCore::GraphicsContext::setStrokeGradient):
7380 (WebCore::GraphicsContext::setFillGradient):
7381 * platform/graphics/GraphicsContext.h:
7382 * platform/graphics/cairo/GraphicsContextCairo.cpp:
7383 * platform/graphics/cg/GraphicsContextCG.cpp:
7384 (WebCore::applyStrokePattern):
7385 (WebCore::applyFillPattern):
7386 (WebCore::GraphicsContext::drawPath):
7387 (WebCore::GraphicsContext::fillPath):
7388 (WebCore::GraphicsContext::strokePath):
7389 (WebCore::GraphicsContext::fillRect):
7390 * platform/graphics/qt/GraphicsContextQt.cpp:
7391 * platform/graphics/wx/GraphicsContextWx.cpp:
7393 2008-10-09 Kevin Ollivier <kevino@theolliviers.com>
7397 * platform/wx/WidgetWx.cpp:
7398 * plugins/wx/PluginViewWx.cpp:
7399 (WebCore::PluginView::invalidateRect):
7402 2008-10-09 Chris Marrin <cmarrin@apple.com>
7404 Reviewed by Darin Adler.
7406 Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
7407 Animations assert when navigating from page
7409 Changed assertions to test the right flag for the paused state
7411 * page/animation/AnimationBase.cpp:
7412 (WebCore::AnimationBase::updateStateMachine):
7414 2008-10-09 Chris Marrin <cmarrin@apple.com>
7416 Reviewed by Dan Bernstein.
7418 Fixed > 180 degree rotation bug
7419 Ensure that validateTransformFunctionList() is called after updating keyframe styles
7421 https://bugs.webkit.org/show_bug.cgi?id=21420
7423 Test: animations/big-rotation.html
7425 * page/animation/KeyframeAnimation.cpp:
7426 (WebCore::KeyframeAnimation::KeyframeAnimation):
7428 2008-10-09 Brady Eidson <beidson@apple.com>
7432 <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
7434 The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
7436 * loader/FrameLoader.cpp:
7437 (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
7438 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
7439 so perform a second null check on the page. Bail if it has been cleared.
7441 2008-10-09 Alp Toker <alp@nuanti.com>
7443 Build fix for recent DOM generation Makefile changes when custom
7444 CFLAGS/CXXFLAGS are passed in.
7448 2008-10-09 Jan Michael Alonzo <jmalonzo@webkit.org>
7450 Reviewed by Alp Toker.
7452 https://bugs.webkit.org/show_bug.cgi?id=21390
7453 [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
7455 * platform/gtk/ScrollViewGtk.cpp:
7456 (WebCore::ScrollView::platformRemoveChild):
7458 2008-10-09 Darin Adler <darin@apple.com>
7460 - try to fix Qt build
7462 * bridge/qt/qt_runtime.cpp:
7463 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
7465 2008-10-08 Nikolas Zimmermann <zimmermann@kde.org>
7467 Reviewed by Oliver Hunt & Sam Weinig.
7469 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
7470 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
7471 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
7473 Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
7474 Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
7475 use tree is rebuild.
7477 Make SVGElementInstance a real EventTarget, as the SVG specification demands.
7478 When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
7479 is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
7480 share an event listener list. Every event listener change on the SVGElementInstance object is forwared
7481 to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
7482 Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
7483 to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
7484 Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
7486 Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
7487 see resources/use-instanceRoot-event-bubbling.js for details.
7489 Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
7490 svg/custom/use-elementInstance-methods.svg (reenabled)
7491 svg/custom/use-setAttribute-crash.svg (covers bug 20550)
7492 svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
7493 svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
7494 svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
7496 * DerivedSources.make:
7499 * WebCore.vcproj/WebCore.vcproj:
7500 * WebCore.xcodeproj/project.pbxproj:
7501 * bindings/js/JSEventListener.h:
7502 (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
7503 * bindings/js/JSEventTarget.cpp:
7504 * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
7505 * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
7506 * bindings/js/JSSVGElementInstanceCustom.cpp:
7507 (WebCore::JSSVGElementInstance::addEventListener):
7508 (WebCore::JSSVGElementInstance::removeEventListener):
7509 (WebCore::JSSVGElementInstance::pushEventHandlerScope):
7510 * bindings/scripts/CodeGeneratorJS.pm:
7511 * bindings/scripts/CodeGeneratorObjC.pm:
7512 * dom/EventListener.h:
7513 (WebCore::EventListener::wasCreatedFromMarkup):
7514 * dom/EventTargetNode.cpp:
7515 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
7516 (WebCore::EventTargetNode::addEventListener):
7517 (WebCore::EventTargetNode::removeEventListener):
7518 (WebCore::eventTargetAsSVGElementInstance):
7519 (WebCore::eventTargetRespectingSVGTargetRules):
7520 (WebCore::EventTargetNode::dispatchEvent):
7521 (WebCore::EventTargetNode::dispatchGenericEvent):
7522 (WebCore::EventTargetNode::removeEventListenerForType):
7523 * page/EventHandler.cpp:
7524 (WebCore::EventHandler::clear):
7525 (WebCore::instanceAssociatedWithShadowTreeElement):
7526 (WebCore::EventHandler::updateMouseEventTargetNode):
7527 * page/EventHandler.h:
7528 * svg/EventTargetSVGElementInstance.cpp: Removed.
7529 * svg/EventTargetSVGElementInstance.h: Removed.
7530 * svg/SVGElementInstance.cpp:
7531 (WebCore::SVGElementInstance::SVGElementInstance):
7532 (WebCore::SVGElementInstance::~SVGElementInstance):
7533 (WebCore::SVGElementInstance::childNodes):
7534 (WebCore::SVGElementInstance::setShadowTreeElement):
7535 (WebCore::SVGElementInstance::forgetWrapper):
7536 (WebCore::SVGElementInstance::appendChild):
7537 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
7538 (WebCore::SVGElementInstance::setNeedsUpdate):
7539 (WebCore::SVGElementInstance::associatedFrame):
7540 (WebCore::SVGElementInstance::addEventListener):
7541 (WebCore::SVGElementInstance::removeEventListener):
7542 (WebCore::SVGElementInstance::dispatchEvent):
7543 (WebCore::SVGElementInstance::onabort):
7544 (WebCore::SVGElementInstance::setOnabort):
7545 (WebCore::SVGElementInstance::onblur):
7546 (WebCore::SVGElementInstance::setOnblur):
7547 (WebCore::SVGElementInstance::onchange):
7548 (WebCore::SVGElementInstance::setOnchange):
7549 (WebCore::SVGElementInstance::onclick):
7550 (WebCore::SVGElementInstance::setOnclick):
7551 (WebCore::SVGElementInstance::oncontextmenu):
7552 (WebCore::SVGElementInstance::setOncontextmenu):
7553 (WebCore::SVGElementInstance::ondblclick):
7554 (WebCore::SVGElementInstance::setOndblclick):
7555 (WebCore::SVGElementInstance::onerror):
7556 (WebCore::SVGElementInstance::setOnerror):
7557 (WebCore::SVGElementInstance::onfocus):
7558 (WebCore::SVGElementInstance::setOnfocus):
7559 (WebCore::SVGElementInstance::oninput):
7560 (WebCore::SVGElementInstance::setOninput):
7561 (WebCore::SVGElementInstance::onkeydown):
7562 (WebCore::SVGElementInstance::setOnkeydown):
7563 (WebCore::SVGElementInstance::onkeypress):
7564 (WebCore::SVGElementInstance::setOnkeypress):
7565 (WebCore::SVGElementInstance::onkeyup):
7566 (WebCore::SVGElementInstance::setOnkeyup):
7567 (WebCore::SVGElementInstance::onload):
7568 (WebCore::SVGElementInstance::setOnload):
7569 (WebCore::SVGElementInstance::onmousedown):
7570 (WebCore::SVGElementInstance::setOnmousedown):
7571 (WebCore::SVGElementInstance::onmousemove):
7572 (WebCore::SVGElementInstance::setOnmousemove):
7573 (WebCore::SVGElementInstance::onmouseout):
7574 (WebCore::SVGElementInstance::setOnmouseout):
7575 (WebCore::SVGElementInstance::onmouseover):
7576 (WebCore::SVGElementInstance::setOnmouseover):
7577 (WebCore::SVGElementInstance::onmouseup):
7578 (WebCore::SVGElementInstance::setOnmouseup):
7579 (WebCore::SVGElementInstance::onmousewheel):
7580 (WebCore::SVGElementInstance::setOnmousewheel):
7581 (WebCore::SVGElementInstance::onbeforecut):
7582 (WebCore::SVGElementInstance::setOnbeforecut):
7583 (WebCore::SVGElementInstance::oncut):
7584 (WebCore::SVGElementInstance::setOncut):
7585 (WebCore::SVGElementInstance::onbeforecopy):
7586 (WebCore::SVGElementInstance::setOnbeforecopy):
7587 (WebCore::SVGElementInstance::oncopy):
7588 (WebCore::SVGElementInstance::setOncopy):
7589 (WebCore::SVGElementInstance::onbeforepaste):
7590 (WebCore::SVGElementInstance::setOnbeforepaste):
7591 (WebCore::SVGElementInstance::onpaste):
7592 (WebCore::SVGElementInstance::setOnpaste):
7593 (WebCore::SVGElementInstance::ondragenter):
7594 (WebCore::SVGElementInstance::setOndragenter):
7595 (WebCore::SVGElementInstance::ondragover):
7596 (WebCore::SVGElementInstance::setOndragover):
7597 (WebCore::SVGElementInstance::ondragleave):
7598 (WebCore::SVGElementInstance::setOndragleave):
7599 (WebCore::SVGElementInstance::ondrop):
7600 (WebCore::SVGElementInstance::setOndrop):
7601 (WebCore::SVGElementInstance::ondragstart):
7602 (WebCore::SVGElementInstance::setOndragstart):
7603 (WebCore::SVGElementInstance::ondrag):
7604 (WebCore::SVGElementInstance::setOndrag):
7605 (WebCore::SVGElementInstance::ondragend):
7606 (WebCore::SVGElementInstance::setOndragend):
7607 (WebCore::SVGElementInstance::onreset):
7608 (WebCore::SVGElementInstance::setOnreset):
7609 (WebCore::SVGElementInstance::onresize):
7610 (WebCore::SVGElementInstance::setOnresize):
7611 (WebCore::SVGElementInstance::onscroll):
7612 (WebCore::SVGElementInstance::setOnscroll):
7613 (WebCore::SVGElementInstance::onsearch):
7614 (WebCore::SVGElementInstance::setOnsearch):
7615 (WebCore::SVGElementInstance::onselect):
7616 (WebCore::SVGElementInstance::setOnselect):
7617 (WebCore::SVGElementInstance::onselectstart):
7618 (WebCore::SVGElementInstance::setOnselectstart):
7619 (WebCore::SVGElementInstance::onsubmit):
7620 (WebCore::SVGElementInstance::setOnsubmit):
7621 (WebCore::SVGElementInstance::onunload):
7622 (WebCore::SVGElementInstance::setOnunload):
7623 * svg/SVGElementInstance.h:
7624 (WebCore::SVGElementInstance::needsUpdate):
7625 (WebCore::SVGElementInstance::toNode):
7626 (WebCore::SVGElementInstance::toSVGElementInstance):
7627 (WebCore::SVGElementInstance::correspondingElement):
7628 (WebCore::SVGElementInstance::correspondingUseElement):
7629 (WebCore::SVGElementInstance::shadowTreeElement):
7630 (WebCore::SVGElementInstance::parentNode):
7631 (WebCore::SVGElementInstance::previousSibling):
7632 (WebCore::SVGElementInstance::nextSibling):
7633 (WebCore::SVGElementInstance::firstChild):
7634 (WebCore::SVGElementInstance::lastChild):
7635 (WebCore::SVGElementInstance::ownerDocument):
7636 (WebCore::SVGElementInstance::hasChildNodes):
7637 (WebCore::SVGElementInstance::setFirstChild):
7638 (WebCore::SVGElementInstance::setLastChild):
7639 (WebCore::SVGElementInstance::setNextSibling):
7640 (WebCore::SVGElementInstance::setPreviousSibling):
7641 (WebCore::SVGElementInstance::refEventTarget):
7642 (WebCore::SVGElementInstance::derefEventTarget):
7643 * svg/SVGElementInstance.idl:
7644 * svg/SVGStyledElement.cpp:
7645 (WebCore::SVGStyledElement::svgAttributeChanged):
7646 (WebCore::SVGStyledElement::childrenChanged):
7647 * svg/SVGUseElement.cpp:
7648 (WebCore::SVGUseElement::svgAttributeChanged):
7649 (WebCore::shadowTreeContainsChangedNodes):
7650 (WebCore::SVGUseElement::recalcStyle):
7651 (WebCore::dumpInstanceTree):
7652 (WebCore::SVGUseElement::buildPendingResource):
7653 (WebCore::SVGUseElement::buildInstanceTree):
7654 (WebCore::SVGUseElement::transferEventListenersToShadowTree):
7655 * svg/SVGUseElement.h:
7657 2008-10-08 Sam Weinig <sam@webkit.org>
7659 Reviewed by Cameron Zwarich.
7661 Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
7662 REGRESSION (r36977): getRGBColorValue().red returning incorrect value
7664 Update JSRGBColor to use the new static function per getter approach.
7666 Test: fast/dom/css-RGBValue.html
7668 * bindings/js/JSRGBColor.cpp:
7673 * bindings/js/JSRGBColor.h:
7675 2008-10-08 Eric Seidel <eric@webkit.org>
7677 Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
7679 svgElement.className.baseValue = "foo" does not work
7680 https://bugs.webkit.org/show_bug.cgi?id=20651
7682 * dom/StyledElement.cpp:
7683 (WebCore::StyledElement::classAttributeChanged):
7684 (WebCore::StyledElement::parseMappedAttribute):
7685 * dom/StyledElement.h:
7686 * svg/SVGStyledElement.cpp:
7687 (WebCore::SVGStyledElement::svgAttributeChanged):
7689 2008-10-08 Anthony Ricaud <rik24d@gmail.com>
7691 Make the toolbar label text-shadow not disappear when clicking on the
7692 search result count or around the search field.
7694 Reviewed by Timothy Hatcher.
7696 * inspector/front-end/inspector.css:
7697 (.toolbar-item:active .toolbar-label): Make this rule also require the
7698 toggleable class with the toolbar-item class.
7700 2008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com>
7704 Updated the qrc file for the Web Inspector to contain the current set
7707 * inspector/front-end/WebKit.qrc:
7709 2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
7713 Fix the linking of applications against WebKit on Qt/Windows.
7715 The prl files that qmake creates are buggy on Unix, but we they're
7716 fine on Windows and we have to have them there in order to get the
7717 dependencies correct.
7721 2008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
7725 Speed up rectangle filling by not re-creating a QBrush all the time.
7727 This triggers faster path in QPainter where the brush is reused.
7729 * platform/graphics/qt/GraphicsContextQt.cpp:
7730 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
7731 (WebCore::GraphicsContext::fillRect):
7733 2008-10-08 Thiago Macieira <thiago.macieira@nokia.com>
7737 Fixes: Encoding of Qt URLs
7739 This encoding was added by Simon and I because QUrl's
7740 tolerant parser wasn't tolerant enough. Now it is, so we don't need
7743 * platform/qt/KURLQt.cpp:
7744 (WebCore::KURL::operator QUrl):
7746 2008-10-08 Marius Storm-Olsen <marius@trolltech.com>
7750 Fixes dependencies in qmake generated visual studio projects.
7752 Only add debug lib name if we're in the debug build_pass, else the release version.
7753 The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
7757 2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
7761 Fix compilation errors on VS2008 64Bit
7763 * platform/text/TextStream.cpp:
7764 (WebCore::TextStream::operator<<):
7765 * platform/text/TextStream.h:
7766 * plugins/win/PluginViewWin.cpp:
7767 (WebCore::PluginView::init):
7769 2008-10-07 Alp Toker <alp@nuanti.com>
7771 GTK+ build fix for older automake versions (1.7). Discussed in bug
7776 2008-10-07 Anders Carlsson <andersca@apple.com>
7778 Reviewed by Antti Koivisto.
7780 <rdar://problem/6273887> Crash in ApplicationCacheGroup
7782 Make sure to stop loading even before a cache update is in progress so that the
7783 manifest load will be stopped.
7785 * loader/appcache/ApplicationCacheGroup.cpp:
7786 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
7787 (WebCore::ApplicationCacheGroup::stopLoading):
7788 (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
7790 2008-10-07 Timothy Hatcher <timothy@apple.com>
7792 Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
7794 https://bugs.webkit.org/show_bug.cgi?id=21433
7796 Reviewed by Sam Weinig.
7798 * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
7799 * bindings/objc/DOM.mm: Remove previous category implementations
7800 on DOMDocument for createNodeIterator: and createTreeWalker:. Also
7801 moves ObjCNodeFilterCondition to its own file.
7802 * bindings/objc/DOMTraversal.h: Remove the category methods that added
7803 createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
7804 to do since DOmDocument.h is included still, and has these methods.
7805 * bindings/objc/DOMUtility.mm:
7806 (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
7807 JSTreeWalker now that the ObjC binding conforms to the standard wrap.
7808 * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
7809 (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
7810 (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
7811 * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
7812 (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
7813 * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
7814 createTreeWalker: methods to DOMDocument.
7815 * bindings/scripts/CodeGeneratorObjC.pm:
7816 (GetObjCTypeGetter): Add a case for NodeFilter.
7817 (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
7818 (GenerateImplementation): Remove existing NodeFilter special case that
7819 used the m_filter member variable. Add a new special getter for protocol
7820 types that aren't EventTarget, so the right class is used for NodeFilter.
7821 Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
7822 * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
7823 OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
7824 Rename the entityReferenceExpansion parameter to expandEntityReferences to
7825 match the previous ObjC API.
7826 * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
7827 m_filter member variable was never used in practice, it was always nil!
7828 We can remove it and not pad the object because this can't be subclassed.
7829 * dom/TreeWalker.idl: Ditto.
7831 2008-10-07 Timothy Hatcher <timothy@apple.com>
7833 Auto-generate the DOMEventTarget protocol implementation for
7834 DOMNode and DOMSVGElementInstance.
7836 https://bugs.webkit.org/show_bug.cgi?id=21432
7838 Reviewed by Darin Adler.
7840 * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
7841 * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
7842 ObjCEventListener to it's own file. Remove the manual impelmentations
7843 of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
7844 * bindings/objc/DOMEvents.h: Remove the categories that defined
7845 DOMEventTarget for DOMNode and DOMSVGElementInstance.
7846 * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
7847 * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
7848 (WebCore::ObjCEventListener::find): Moved from DOM.mm.
7849 (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
7850 callers from doing a manual deref.
7851 (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
7852 (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
7853 * bindings/scripts/CodeGeneratorObjC.pm:
7854 (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
7855 (AddIncludesForType): Include ObjCEventListener.h for EventListener.
7856 And include EventTargetSVGElementInstance.h for SVGElementInstance.
7857 (GenerateHeader): Remove the check for multiple parents.
7858 (GenerateImplementation): Remove the check for multiple parents. Remove
7859 the @deprecatedFunctions array since deprecated methods get generated
7860 into the main @interface now to work with protocols. Add support
7861 for the EventTargetNodeCast extended attribute. Add support for
7862 EventListener parameters.
7863 * dom/Node.idl: Define superclasses for ObjC so the implementation
7864 and interface implement the DOMEventTarget protocol. Explicitly
7865 specify Object as a superclass to use DOMEventTarget. Object will turn
7866 into DOMObject. This is needed to take the code generator down the right
7867 path of multiple super-classes as protocols. It is ObjC only for legacy
7868 reasons. The event target methods are normally on NodeEventTarget, a
7869 subclass of Node. But the ObjC API has never has this subclass and
7870 they are on DOMNode.
7871 * svg/SVGElementInstance.idl: Ditto.
7873 2008-10-07 David Hyatt <hyatt@apple.com>
7875 Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
7877 The new pseudo-elements are:
7884 These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
7885 the following new pseudo-classes:
7889 scrollbar-horizontal
7894 * css/CSSSelector.cpp:
7895 (WebCore::CSSSelector::extractPseudoType):
7896 * css/CSSSelector.h:
7897 (WebCore::CSSSelector::):
7899 2008-10-06 Timothy Hatcher <timothy@apple.com>
7901 Add support to the Resources panel for queries like "#123", "foo #123",
7902 "line: 123" and "foo line: 123". These will match the query limiting
7903 the search only to the line specified. If only a line is specified,
7904 the whole line is matched.
7906 https://bugs.webkit.org/show_bug.cgi?id=21422
7908 Reviewed by Darin Adler.
7910 * inspector/front-end/SourceFrame.js:
7911 (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
7912 row if the index is greater than the rows collection. Let it return
7913 undefined by indexing out-of-bounds.
7914 * inspector/front-end/SourceView.js:
7915 (WebInspector.SourceView.prototype.performSearch): Add support for
7916 queries like "#123", "foo #123", "line: 123" and "foo line: 123".
7917 Also match the whole query to the whole document in case there are
7920 2008-10-07 Alp Toker <alp@nuanti.com>
7922 Reviewed by Mark Rowe.
7924 https://bugs.webkit.org/show_bug.cgi?id=21392
7925 [GTK] Auto-generate JS DOM binding sources list
7927 Remove the huge lists of generated DOM binding sources and headers in
7928 the build system. These are difficult to maintain and can be derived
7931 The new strategy is to re-use the existing lists of IDL sources (which
7932 are needed for dist support anyway). This will also ease the addition
7933 of new language bindings.
7937 2008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
7941 Don't attempt to paint when updating control tints
7943 We don't have a valid PlatformGraphicsContext so schedule
7944 the dirty scrollbar/scrollview area for repaint instead.
7946 * platform/qt/ScrollbarThemeQt.cpp:
7947 (WebCore::ScrollbarThemeQt::paint):
7948 (WebCore::ScrollbarThemeQt::paintScrollCorner):
7950 2008-10-07 Holger Hans Peter Freyther <zecke@selfish.org>
7952 [qt] Build fix after Scrollbar.h and Widget.h changes.
7954 * plugins/qt/PluginViewQt.cpp:
7955 (WebCore::PluginView::getValue):
7956 (WebCore::PluginView::init):
7958 2008-10-06 David Hyatt <hyatt@apple.com>
7960 Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
7962 Reviewed by Sam Weinig
7965 * WebCore.xcodeproj/project.pbxproj:
7966 * loader/EmptyClients.h:
7967 (WebCore::EmptyFrameLoaderClient::hasWebView):
7968 * loader/FrameLoader.cpp:
7969 (WebCore::FrameLoader::loadWithDocumentLoader):
7970 (WebCore::FrameLoader::transitionToCommitted):
7971 * loader/FrameLoaderClient.h:
7972 * page/FocusController.cpp:
7973 (WebCore::FocusController::setActive):
7974 * page/FrameView.cpp:
7975 (WebCore::FrameView::FrameView):
7976 (WebCore::FrameView::init):
7977 (WebCore::FrameView::layoutIfNeededRecursive):
7980 2008-10-06 Dan Bernstein <mitz@apple.com>
7984 * bindings/objc/DOMEvents.h:
7986 2008-10-06 Mark Mentovai <mark@moxienet.com>
7988 Reviewed by Tim Hatcher.
7990 Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
7991 Platform.h is not available, in preference to #ifdef ENABLE_feature.
7992 #ifdef is wrong now that features are disabled by #defining
7993 ENABLE_feature to 0.
7995 https://bugs.webkit.org/show_bug.cgi?id=21338
7997 * bindings/objc/DOMEvents.h:
7998 * bindings/objc/PublicDOMInterfaces.h:
8000 * page/DOMWindow.idl:
8003 2008-10-06 Mark Mentovai <mark@moxienet.com>
8005 Reviewed by Sam Weinig.
8007 * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
8008 to get the declaration for isMainThread().
8010 2008-10-06 Jeremy Moskovich <jeremy@chromium.org>
8012 Reviewed by Tim Hatcher.
8014 WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
8017 * WebCore.xcodeproj/project.pbxproj:
8018 * platform/mac/WebCoreObjCExtras.c: Removed.
8019 * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
8021 2008-10-06 Jeremy Moskovich <jeremy@chromium.org>
8023 Reviewed by Dan Bernstein.
8025 Added C++ forward declaration for the NSURLAuthenticationChallenge class
8026 so that the m_currentMacChallenge variable doesn't cause a
8027 compilation error when ResourceHandleInternal.h is included from a C++ file.
8028 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
8030 * platform/network/ResourceHandleInternal.h:
8032 2008-10-06 Steve Falkenburg <sfalken@apple.com>
8036 * WebCore.vcproj/WebCore.vcproj:
8038 2008-10-06 Steve Falkenburg <sfalken@apple.com>
8040 https://bugs.webkit.org/show_bug.cgi?id=21416
8041 Add missing null checks identified by Application Verifier.
8043 Reviewed by Darin Adler.
8045 * platform/win/SharedTimerWin.cpp:
8046 (WebCore::clearTimer):
8048 2008-10-06 Kevin McCullough <kmccullough@apple.com>
8050 Reviewed by Tim Hatcher.
8052 Removed accidentally left in debugging statement.
8054 * inspector/front-end/inspector.js:
8056 2008-10-06 Kevin McCullough <kmccullough@apple.com>
8058 Reviewed by Tim Hatcher and Oliver Hunt.
8060 https://bugs.webkit.org/show_bug.cgi?id=21412
8061 Bug 21412: Refactor user initiated profile count to be more stable
8063 * inspector/InspectorController.cpp: Keep track of the user-initiated
8065 (WebCore::InspectorController::InspectorController):
8066 (WebCore::InspectorController::startUserInitiatedProfiling):
8067 (WebCore::InspectorController::stopUserInitiatedProfiling):
8068 * inspector/InspectorController.h:
8069 The front end will now need to check for the existence of the user-
8070 initiated profile title and use its count instead of keeping its own.
8071 * inspector/front-end/ProfilesPanel.js:
8073 2008-10-06 Dan Bernstein <mitz@apple.com>
8075 Reviewed by Sam Weinig.
8077 - separate GDI text drawing into its own function
8079 * platform/graphics/win/FontCGWin.cpp:
8080 (WebCore::drawGDIGlyphs):
8081 (WebCore::Font::drawGlyphs):
8083 2008-10-03 Steve Falkenburg <sfalken@apple.com>
8085 <rdar://problem/6249833> Fix default button appearance
8087 Reviewed by Adele Peterson.
8089 * rendering/RenderThemeWin.cpp:
8090 (WebCore::RenderThemeWin::supportsFocus):
8091 (WebCore::RenderThemeWin::determineClassicState):
8092 (WebCore::RenderThemeWin::determineButtonState):
8093 (WebCore::RenderThemeWin::getClassicThemeData):
8094 (WebCore::RenderThemeWin::getThemeData):
8095 (WebCore::drawControl):
8096 * rendering/RenderThemeWin.h:
8098 2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
8102 Add native virtual keycode to PlatformKeyboardEvent
8104 * platform/PlatformKeyboardEvent.h:
8105 * platform/gtk/KeyEventGtk.cpp:
8106 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8107 * platform/mac/KeyEventMac.mm:
8108 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8109 * platform/qt/PlatformKeyboardEventQt.cpp:
8110 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8111 * platform/win/KeyEventWin.cpp:
8112 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8113 * platform/wx/KeyboardEventWx.cpp:
8114 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8116 2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
8120 Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
8122 * platform/text/PlatformString.h:
8123 * platform/text/StringImpl.h:
8124 * platform/text/cf/StringCF.cpp:
8125 * platform/text/cf/StringImplCF.cpp:
8127 2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
8131 Use bundles on QtWebKit/Mac for platform modules
8133 * platform/FileSystem.h:
8134 * platform/qt/FileSystemQt.cpp:
8135 (WebCore::unloadModule):
8137 2008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
8141 Build fix for MinGW.
8143 * platform/win/SystemTimeWin.cpp:
8144 * plugins/win/PluginViewWin.cpp:
8145 (WebCore::PluginView::invalidateRect):
8147 2008-10-06 Adam Roben <aroben@apple.com>
8149 Mimic the inspector/ directory structure in WebCore.vcproj
8151 * WebCore.vcproj/WebCore.vcproj:
8153 2008-10-06 Adam Roben <aroben@apple.com>
8157 * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
8158 configurations to include WebCore/inspector.
8160 2008-10-04 Eric Seidel <eric@webkit.org>
8162 Reviewed by Darin Adler.
8164 SVG should support ascent and descent properties <font-face> instead of <font>!
8165 https://bugs.webkit.org/show_bug.cgi?id=21365
8167 Tested by many many existing SVG tests.
8169 * svg/SVGFontFaceElement.cpp:
8170 (WebCore::SVGFontFaceElement::ascent):
8171 (WebCore::SVGFontFaceElement::descent):
8173 2008-10-05 Darin Fisher <darin@chromium.org>
8175 Reviewed by Eric Seidel.
8177 REGRESSION: crash in ScriptElement::notifyFinished
8178 Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
8180 * dom/ScriptElement.cpp:
8181 (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
8182 ensure that the ScriptElementData object is not destroyed prematurely.
8184 2008-10-05 Chris Lord <chris@openedhand.com>
8186 Reviewed by Alp Toker. Landed by Jan Alonzo.
8188 https://bugs.webkit.org/show_bug.cgi?id=20624
8189 WebKit-gtk uses deprecated GtkType/GtkObject
8191 * plugins/gtk/gtk2xtbin.c:
8192 (gtk_xtbin_get_type):
8193 * plugins/gtk/gtk2xtbin.h:
8195 2008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
8197 Reviewed by David Hyatt.
8199 GTK_WINDOW_HWND not GTK_WINDOWING_HWND
8200 https://bugs.webkit.org/show_bug.cgi?id=20725
8202 Updated to ToT by Jan Alonzo.
8204 * plugins/gtk/PluginViewGtk.cpp:
8205 (WebCore::PluginView::getValue):
8207 2008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
8209 Reviewed by Darin Adler.
8211 Invalid cast from GdkWindow to GtkWidget
8212 https://bugs.webkit.org/show_bug.cgi?id=21391
8214 Fix a misplaced closing parenthesis to actually cast the widget, not the window
8216 * platform/gtk/PlatformScreenGtk.cpp:
8217 (WebCore::screenDepth):
8219 2008-10-05 Adam Barth <abarth@webkit.org>
8221 Reviewed by Darin Alder.
8223 Attach the Origin header to POST requests to help defend against
8224 cross-site request forgery.
8226 https://bugs.webkit.org/show_bug.cgi?id=20792
8228 Collin Jackson <collinj@webkit.org> also contributed to this patch.
8230 Tests: http/tests/security/originHeader/origin-header-for-data.html
8231 http/tests/security/originHeader/origin-header-for-empty.html
8232 http/tests/security/originHeader/origin-header-for-get.html
8233 http/tests/security/originHeader/origin-header-for-https.html
8234 http/tests/security/originHeader/origin-header-for-post.html
8236 * bindings/js/JSDOMWindowBase.cpp:
8237 (WebCore::createWindow):
8238 * loader/FrameLoader.cpp:
8239 (WebCore::FrameLoader::createWindow):
8240 (WebCore::FrameLoader::urlSelected):
8241 (WebCore::FrameLoader::submitForm):
8242 (WebCore::FrameLoader::outgoingOrigin):
8243 (WebCore::FrameLoader::loadURL):
8244 (WebCore::FrameLoader::addExtraFieldsToRequest):
8245 (WebCore::FrameLoader::loadPostRequest):
8246 (WebCore::FrameLoader::loadResourceSynchronously):
8247 (WebCore::FrameLoader::loadItem):
8248 * loader/FrameLoader.h:
8249 * loader/SubresourceLoader.cpp:
8250 (WebCore::SubresourceLoader::create):
8251 * loader/loader.cpp:
8252 (WebCore::Loader::Host::servePendingRequests):
8253 * platform/SecurityOrigin.cpp:
8254 (WebCore::SecurityOrigin::toHTTPOrigin):
8255 * platform/SecurityOrigin.h:
8256 * platform/network/ResourceRequestBase.h:
8257 (WebCore::ResourceRequestBase::httpOrigin):
8258 (WebCore::ResourceRequestBase::setHTTPOrigin):
8259 (WebCore::ResourceRequestBase::clearHTTPOrigin):
8260 * xml/XMLHttpRequest.cpp:
8261 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
8262 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
8263 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
8264 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
8266 2008-10-04 Oliver Hunt <oliver@apple.com>
8268 Reviewed by Tim Hatcher.
8270 Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
8271 <https://bugs.webkit.org/show_bug.cgi?id=21381>
8273 If we hit a parsing boundary (end of a packet, etc) in the middle of a
8274 <script> element when we are doing an incremental parse, we exit the
8275 parser, and reenter later when more data is available. During this
8276 reentry we incorrectly reset the scriptStartLineno to the current line
8277 in the parser, which is now part way through the script element.
8279 The solution is to track whether we are entering or reentering the parsing
8280 of a script element. We do this simply by 0 checking scriptStartLineno,
8281 and resetting it after we complete parsing of each script element.
8283 Test: http/tests/incremental/pause-in-script-element.pl
8286 * html/HTMLTokenizer.cpp:
8287 (WebCore::HTMLTokenizer::parseSpecial):
8288 (WebCore::HTMLTokenizer::scriptHandler):
8290 2008-10-04 Alp Toker <alp@nuanti.com>
8292 Reviewed by David Hyatt. Landed by Jan Alonzo.
8294 https://bugs.webkit.org/show_bug.cgi?id=20924
8295 [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
8297 https://bugs.webkit.org/show_bug.cgi?id=19578
8298 [CURL] problem in parseDataUrl
8300 De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
8301 This patch also fixes encoding support in escaped (non-Base64) data
8302 URLs. All manual data URL tests now pass in both GLib and non-GLib
8305 * platform/network/curl/ResourceHandleManager.cpp:
8306 (WebCore::parseDataUrl):
8308 2008-10-04 Timothy Hatcher <timothy@apple.com>
8310 Makes breakpoints and debugging code during page load work in the
8311 Web Inspector's debugger. Specifically, this makes the source
8312 code for loading resources show up in the Scripts panel.
8314 https://bugs.webkit.org/show_bug.cgi?id=19053
8315 rdar://problem/5933408
8317 Reviewed by Mark Rowe.
8319 * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
8320 not using tabs and a tab width of 8.
8321 * inspector/InspectorController.cpp:
8322 (WebCore::addResourceSourceToFrame): Return a bool to report if the
8323 source was added successfully or not.
8324 (WebCore::addSourceToFrame): Ditto.
8325 * inspector/front-end/ScriptView.js:
8326 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
8327 Return early if the InspectorController.addSourceToFrame fails.
8328 Moved the delete of the _frameNeedsSetup property after that call so
8329 if the source wasn't added it will be attempted again.
8330 * inspector/front-end/SourceView.js:
8331 (WebInspector.SourceView.prototype.detach): Move a comment.
8332 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
8333 Don't check if the resource is finished or failed, just attempt
8334 to add the source to the frame. WebCore has the source, but the
8335 finished property hasn't been set yet. Return early if the
8336 InspectorController.addSourceToFrame fails. Moved the delete
8337 of the _frameNeedsSetup property after that call so if the source
8338 wasn't added it will be attempted again.
8339 (WebInspector.SourceView.prototype._resourceLoadingFinished):
8340 Clear the _frameNeedsSetup and _sourceFrameSetup properties so
8341 the source frame will we populated again now that the resource
8343 * manual-tests/inspector/debugger-pause-during-load.html: Added.
8345 2008-10-04 Mark Rowe <mrowe@apple.com>
8347 Reviewed by Tim Hatcher.
8349 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
8351 * WebCore.xcodeproj/project.pbxproj:
8353 2008-10-04 David Hyatt <hyatt@apple.com>
8355 https://bugs.webkit.org/show_bug.cgi?id=21373
8357 Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
8360 Reviewed by Mark Rowe
8362 * page/FrameView.cpp:
8363 (WebCore::FrameView::~FrameView):
8365 2008-10-04 Sam Weinig <sam@webkit.org>
8367 Reviewed by Dan Bernstein.
8369 Avoid copying a Vector when using getSupportedKeySizes.
8371 * html/HTMLKeygenElement.cpp:
8372 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
8373 * platform/SSLKeyGenerator.h:
8374 * platform/gtk/TemporaryLinkStubs.cpp:
8375 (WebCore::getSupportedKeySizes):
8376 * platform/mac/SSLKeyGeneratorMac.mm:
8377 (WebCore::getSupportedKeySizes):
8378 * platform/qt/TemporaryLinkStubs.cpp:
8379 (WebCore::getSupportedKeySizes):
8380 * platform/win/TemporaryLinkStubs.cpp:
8381 (WebCore::getSupportedKeySizes):
8382 * platform/wx/TemporaryLinkStubs.cpp:
8383 (WebCore::getSupportedKeySizes):
8385 2008-10-04 Darin Adler <darin@apple.com>
8387 Reviewed by Cameron Zwarich.
8389 - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
8390 Bug 21295: Replace ExecState with a call frame Register pointer
8392 * bindings/js/JSQuarantinedObjectWrapper.cpp:
8393 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
8394 Remove bogus "const".
8395 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
8397 2008-10-04 David Hyatt <hyatt@apple.com>
8399 Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
8401 Reviewed by Darin Adler
8403 * WebCore.xcodeproj/project.pbxproj:
8404 * platform/PopupMenuClient.h:
8405 * platform/gtk/PopupMenuGtk.cpp:
8406 (WebCore::PopupMenu::show):
8407 * platform/mac/PopupMenuMac.mm:
8408 (WebCore::PopupMenu::populate):
8409 (WebCore::PopupMenu::show):
8410 * platform/qt/PopupMenuQt.cpp:
8411 (WebCore::PopupMenu::populate):
8412 * platform/win/PopupMenuWin.cpp:
8413 (WebCore::PopupMenu::calculatePositionAndSize):
8414 (WebCore::PopupMenu::paint):
8415 (WebCore::PopupWndProc):
8416 * rendering/RenderMenuList.cpp:
8417 (WebCore::RenderMenuList::itemStyle):
8418 (WebCore::RenderMenuList::menuStyle):
8419 (WebCore::RenderMenuList::hostWindow):
8420 * rendering/RenderMenuList.h:
8421 * rendering/RenderTextControl.cpp:
8422 (WebCore::RenderTextControl::itemStyle):
8423 (WebCore::RenderTextControl::menuStyle):
8424 (WebCore::RenderTextControl::hostWindow):
8425 * rendering/RenderTextControl.h:
8427 2008-10-04 Matt Lilek <webkit@mattlilek.com>
8429 Build fix - restore Private role to headers that had it before the move.
8431 * WebCore.xcodeproj/project.pbxproj:
8433 2008-10-04 Darin Adler <darin@apple.com>
8437 * DerivedSources.make: Add new inspector directory to VPATH.
8438 * GNUmakefile.am: Add new inspector directory to includes.
8439 Re-sort the IDL_BINDINGS list. Add new inspector directory
8442 2008-10-04 Matt Lilek <webkit@mattlilek.com>
8444 Not reviewed, attempt to fix Gtk build.
8448 2008-10-03 Timothy Hatcher <timothy@apple.com>
8450 Move the Web Inspector files into a top-level "inspector" folder.
8452 https://bugs.webkit.org/show_bug.cgi?id=21359
8454 Reviewed by Dave Hyatt.
8458 * WebCore.vcproj/WebCore.vcproj:
8459 * WebCore.xcodeproj/project.pbxproj:
8460 * WebCoreSources.bkl:
8461 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
8462 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
8463 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
8464 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
8465 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
8466 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
8467 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
8468 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
8469 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
8470 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
8471 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
8472 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
8473 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
8474 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
8475 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
8476 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
8477 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
8478 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
8479 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
8480 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
8481 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
8482 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
8483 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
8484 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
8485 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
8486 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
8487 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
8488 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
8489 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
8490 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
8491 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
8492 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
8493 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
8494 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
8495 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
8496 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
8497 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
8498 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
8499 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
8500 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
8501 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
8502 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
8503 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
8504 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
8505 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
8506 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
8507 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
8508 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
8509 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
8510 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
8511 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
8512 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
8513 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
8514 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
8515 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
8516 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
8517 * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
8518 * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
8519 * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
8520 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
8521 * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
8522 * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
8523 * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
8524 * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
8525 * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
8526 * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
8527 * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
8528 * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
8529 * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
8530 * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
8531 * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
8532 * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
8533 * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
8534 * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
8535 * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
8536 * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
8537 * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
8538 * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
8539 * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
8540 * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
8541 * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
8542 * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
8543 * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
8544 * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
8545 * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
8546 * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
8547 * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
8548 * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
8549 * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
8550 * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
8551 * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
8552 * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
8553 * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
8554 * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
8555 * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
8556 * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
8557 * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
8558 * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
8559 * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
8560 * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
8561 * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
8562 * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
8563 * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
8564 * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
8565 * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
8566 * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
8567 * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
8568 * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
8569 * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
8570 * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
8571 * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
8572 * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
8573 * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
8574 * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
8575 * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
8576 * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
8577 * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
8578 * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
8579 * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
8580 * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
8581 * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
8582 * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
8583 * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
8584 * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
8585 * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
8586 * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
8587 * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
8588 * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
8589 * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
8590 * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
8591 * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
8592 * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
8593 * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
8594 * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
8595 * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
8596 * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
8597 * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
8598 * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
8599 * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
8600 * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
8601 * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
8602 * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
8603 * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
8604 * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
8605 * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
8606 * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
8607 * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
8608 * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
8609 * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
8610 * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
8611 * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
8612 * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
8613 * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
8614 * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
8615 * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
8616 * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
8618 2008-10-03 Timothy Hatcher <timothy@apple.com>
8620 Adds support to the Web Inspector's Elements panel for fast tag name,
8621 class name, id and attribute name searching. The panel first tries
8622 using getElementById, getElementsByClassName and getElementsByTagName
8623 with the search query. Then does a slower search using XPath for partial
8624 matches, text and comment matches.
8626 Adds support for search queries like "<div>", "<h" and "frame>".
8627 These forms limit the search to tag names, text and comment matches.
8629 https://bugs.webkit.org/show_bug.cgi?id=21353
8631 Reviewed by Maciej Stachowiak.
8633 * page/inspector/ElementsPanel.js:
8634 (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
8635 support. Add new search functions that try exact matches first.
8637 2008-10-03 Timothy Hatcher <timothy@apple.com>
8639 Changes how searching works in the Web Inspector's Elements
8640 panel. The search tasks are divided into chunks that are small
8641 units of work that are performed at a time interval. This
8642 change also prevents queries that will select all elements,
8643 since that isn't useful.
8645 https://bugs.webkit.org/show_bug.cgi?id=21285
8647 Reviewed by Oliver Hunt.
8649 * page/inspector/ElementsPanel.js:
8650 (WebInspector.ElementsPanel.prototype.searchCancled):
8651 Remove the searchResultsProperty form results since there might
8652 be an unfinished search.
8653 (WebInspector.ElementsPanel.prototype.performSearch): Divide the
8654 documents and search functions into chunks that are performed on
8655 a interval of 25ms. Prevent searches for "//*" and "*".
8657 2008-10-03 Maciej Stachowiak <mjs@apple.com>
8659 Reviewed by Cameron Zwarich.
8661 - "this" object in methods called on primitives should be wrapper object
8662 https://bugs.webkit.org/show_bug.cgi?id=21362
8664 Updated so toThis conversion for the split window is handled properly.
8666 * bindings/scripts/CodeGeneratorJS.pm:
8668 2008-10-03 Sam Weinig <sam@webkit.org>
8670 Reviewed by David "The Motivator" Hyatt.
8672 Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
8673 Move SecurityOrigin out of platform/ to page/.
8675 It was a layering violation for SecurityOrigin to be in platform
8676 as it depended on FrameLoader.
8680 * WebCore.vcproj/WebCore.vcproj:
8681 * WebCore.xcodeproj/project.pbxproj:
8682 * WebCoreSources.bkl:
8683 * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
8684 * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
8685 * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
8686 * platform/SecurityOrigin.cpp: Removed.
8687 * platform/SecurityOrigin.h: Removed.
8688 * platform/SecurityOriginHash.h: Removed.
8690 2008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>
8692 Reviewed by Alp Toker.
8694 http://bugs.webkit.org/show_bug.cgi?id=18832
8695 [curl] file upload does not work
8697 The curl_off_t integer type has a different size depending if large
8698 file support is enabled or not. There is no different public API for
8699 the two cases, so the same function accepts a different type based on
8700 a compilation option the could be different in WebKit and libcurl.
8701 To fix the bug we query libcurl at runtime for large file support and
8702 pass the right type based on that.
8704 * platform/network/curl/ResourceHandleManager.cpp:
8705 (WebCore::ResourceHandleManager::setupPOST):
8707 2008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>
8709 Reviewed by David Hyatt.
8713 * platform/gtk/FileChooserGtk.cpp:
8714 (WebCore::FileChooser::openFileChooser):
8715 * platform/gtk/PlatformScreenGtk.cpp:
8716 (WebCore::screenDepth):
8717 (WebCore::screenDepthPerComponent):
8718 (WebCore::screenAvailableRect):
8719 * platform/gtk/PopupMenuGtk.cpp:
8720 (WebCore::PopupMenu::show):
8721 * platform/gtk/ScrollViewGtk.cpp:
8722 (WebCore::ScrollView::platformAddChild):
8723 (WebCore::ScrollView::platformRemoveChild):
8724 * platform/gtk/WidgetGtk.cpp:
8725 (WebCore::Widget::setCursor):
8726 * plugins/gtk/PluginViewGtk.cpp:
8727 (WebCore::PluginView::getValue):
8728 (WebCore::PluginView::forceRedraw):
8729 (WebCore::PluginView::init):
8731 2008-10-03 David Hyatt <hyatt@apple.com>
8733 Fix Qt bustage from missing include.
8735 * platform/qt/PlatformScreenQt.cpp:
8737 2008-10-03 David Hyatt <hyatt@apple.com>
8739 Fix Windows scrollbar bustage in popup menus.
8741 * platform/win/PopupMenuWin.cpp:
8742 (WebCore::PopupWndProc):
8744 2008-10-03 David Hyatt <hyatt@apple.com>
8746 Fix Windows bustage.
8748 * platform/win/FileChooserWin.cpp:
8749 (WebCore::FileChooser::openFileChooser):
8750 * platform/win/PlatformScreenWin.cpp:
8751 (WebCore::monitorInfoForWidget):
8752 * platform/win/WidgetWin.cpp:
8753 * plugins/win/PluginViewWin.cpp:
8754 (WebCore::PluginView::getValue):
8755 (WebCore::PluginView::forceRedraw):
8756 (WebCore::PluginView::init):
8758 2008-10-03 Darin Adler <darin@apple.com>
8760 * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
8761 seen on some machines but not others by adding an include.
8763 2008-10-03 Darin Adler <darin@apple.com>
8767 * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
8768 execute functions. Declarations for these relied on the CodeType
8769 enumeration, which used to be in ExecState.h; but the functions
8770 aren't needed at all.
8771 * bridge/qt/qt_runtime.h: Ditto.
8773 2008-10-03 Darin Adler <darin@apple.com>
8775 Reviewed by Geoff Garen.
8777 - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
8778 Turn ExecState into a call frame pointer.
8780 Remove m_globalObject and m_globalData from ExecState.
8782 * bindings/js/JSDOMWindowBase.cpp:
8783 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
8784 Removed an argument now that JSGlobalObject doesn't need it any more.
8785 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
8786 the JSDOMWindowBaseData constructor, and added the this argument to the
8787 JSGlobalObject constructor. This is because a couple key bits of
8788 initialization moved from the data constructor to the JSGlobalObject
8790 * bindings/js/JSDOMWindowBase.h: Ditto.
8792 * bridge/qt/qt_runtime.cpp:
8793 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
8794 * bridge/runtime_method.cpp:
8795 (JSC::RuntimeMethod::RuntimeMethod):
8796 Pass JSGlobalData* instead of ExecState* to the InternalFunction
8799 2008-10-03 David Hyatt <hyatt@apple.com>
8801 Fix Windows/Qt build bustage.
8805 * loader/EmptyClients.h:
8806 (WebCore::EmptyChromeClient::platformWindow):
8808 (WebCore::Chrome::platformWindow):
8810 * page/ChromeClient.h:
8811 * platform/HostWindow.h:
8812 * platform/qt/PlatformScreenQt.cpp:
8813 (WebCore::screenDepth):
8814 (WebCore::screenDepthPerComponent):
8815 (WebCore::screenIsMonochrome):
8816 (WebCore::screenRect):
8817 (WebCore::screenAvailableRect):
8818 * platform/qt/PopupMenuQt.cpp:
8819 (WebCore::PopupMenu::show):
8820 * platform/win/PopupMenuWin.cpp:
8821 (WebCore::PopupMenu::show):
8822 (WebCore::PopupMenu::calculatePositionAndSize):
8823 (WebCore::PopupWndProc):
8825 2008-10-03 Simon Fraser <simon.fraser@apple.com>
8827 Reviewed by Dave Hyatt
8829 Make setStyle() take a const RenderStyle, to ensure that an
8830 earlier RenderStyle::diff() remains valid.
8832 * rendering/RenderBR.cpp:
8833 * rendering/RenderBR.h:
8834 * rendering/RenderBlock.cpp:
8835 * rendering/RenderBlock.h:
8836 * rendering/RenderBox.cpp:
8837 * rendering/RenderBox.h:
8838 * rendering/RenderButton.cpp:
8839 * rendering/RenderButton.h:
8840 * rendering/RenderFieldset.cpp:
8841 * rendering/RenderFieldset.h:
8842 * rendering/RenderFileUploadControl.cpp:
8843 * rendering/RenderFileUploadControl.h:
8844 * rendering/RenderInline.cpp:
8845 * rendering/RenderInline.h:
8846 * rendering/RenderListBox.cpp:
8847 * rendering/RenderListBox.h:
8848 * rendering/RenderListItem.cpp:
8849 * rendering/RenderListItem.h:
8850 * rendering/RenderListMarker.cpp:
8851 * rendering/RenderListMarker.h:
8852 * rendering/RenderMenuList.cpp:
8853 * rendering/RenderMenuList.h:
8854 * rendering/RenderObject.cpp:
8855 (WebCore::RenderObject::setStyle):
8856 * rendering/RenderObject.h:
8857 * rendering/RenderReplaced.cpp:
8858 * rendering/RenderReplaced.h:
8859 * rendering/RenderSVGBlock.cpp:
8860 (WebCore::RenderSVGBlock::setStyle):
8861 * rendering/RenderSVGBlock.h:
8862 * rendering/RenderSVGGradientStop.cpp:
8863 * rendering/RenderSVGGradientStop.h:
8864 * rendering/RenderSlider.cpp:
8865 * rendering/RenderSlider.h:
8866 * rendering/RenderTable.cpp:
8867 * rendering/RenderTable.h:
8868 * rendering/RenderTableCell.cpp:
8869 * rendering/RenderTableCell.h:
8870 * rendering/RenderTableRow.cpp:
8871 * rendering/RenderTableRow.h:
8872 * rendering/RenderText.cpp:
8873 * rendering/RenderText.h:
8874 * rendering/RenderTextControl.cpp:
8875 * rendering/RenderTextControl.h:
8876 * rendering/RenderWidget.cpp:
8877 * rendering/RenderWidget.h:
8878 * rendering/style/RenderStyle.h:
8879 (WebCore::RenderStyle::isDisplayReplacedType):
8880 (WebCore::RenderStyle::isDisplayInlineType):
8882 2008-10-03 David Hyatt <hyatt@apple.com>
8884 Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
8885 event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
8886 method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
8887 that will work properly for hit testing. This patch just stubs out that method to return the same
8888 event untransformed.
8890 Reviewed by Darin Adler
8892 * page/EventHandler.cpp:
8893 (WebCore::EventHandler::handleMouseDoubleClickEvent):
8894 (WebCore::EventHandler::handleMouseMoveEvent):
8895 (WebCore::EventHandler::handleMouseReleaseEvent):
8896 (WebCore::EventHandler::passMousePressEventToScrollbar):
8897 * page/gtk/EventHandlerGtk.cpp:
8898 * page/mac/EventHandlerMac.mm:
8899 * page/qt/EventHandlerQt.cpp:
8900 * page/win/EventHandlerWin.cpp:
8901 * page/wx/EventHandlerWx.cpp:
8902 * platform/Scrollbar.cpp:
8903 (WebCore::Scrollbar::mouseMoved):
8904 (WebCore::Scrollbar::mouseExited):
8905 (WebCore::Scrollbar::mouseUp):
8906 (WebCore::Scrollbar::mouseDown):
8907 (WebCore::Scrollbar::transformEvent):
8908 * platform/Scrollbar.h:
8910 2008-10-03 David Hyatt <hyatt@apple.com>
8912 https://bugs.webkit.org/show_bug.cgi?id=21340
8914 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
8916 Reviewed by Dan Bernstein & Darin Adler
8918 * platform/ScrollView.cpp:
8919 (WebCore::ScrollView::addChild):
8920 * platform/Widget.cpp:
8921 (WebCore::Widget::init):
8922 * platform/Widget.h:
8923 * platform/mac/WidgetMac.mm:
8924 * platform/win/PopupMenuWin.cpp:
8925 (WebCore::PopupMenu::show):
8927 2008-10-03 Adele Peterson <adele@apple.com>
8929 Reviewed by Sam Weinig.
8931 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
8932 Return early if settings is nil.
8934 2008-10-03 Rob Buis <buis@kde.org>
8938 https://bugs.webkit.org/show_bug.cgi?id=20134
8939 REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
8941 Make sure the input element gets the right default value when no value is set.
8943 Test: fast/forms/range-default-value.html
8945 * rendering/RenderSlider.cpp:
8946 (WebCore::RenderSlider::setPositionFromValue):
8948 2008-10-03 David Hyatt <hyatt@apple.com>
8950 Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
8951 destructor that calls them, switch to having a cross-platform constructor/destructor that calls
8952 platform-specific init/destroy methods.
8954 With this change, ScrollViewWin.cpp can be removed from the build (yay!).
8956 Reviewed by Darin Adler
8958 * WebCore.vcproj/WebCore.vcproj:
8959 * platform/ScrollView.cpp:
8960 (WebCore::ScrollView::ScrollView):
8961 (WebCore::ScrollView::~ScrollView):
8962 (WebCore::ScrollView::platformInit):
8963 (WebCore::ScrollView::platformDestroy):
8964 (WebCore::ScrollView::platformAddChild):
8965 (WebCore::ScrollView::platformRemoveChild):
8966 * platform/ScrollView.h:
8967 * platform/gtk/ScrollViewGtk.cpp:
8968 (WebCore::ScrollView::platformInit):
8969 (WebCore::ScrollView::platformDestroy):
8970 * platform/mac/ScrollViewMac.mm:
8971 * platform/qt/ScrollViewQt.cpp:
8972 (WebCore::ScrollView::platformInit):
8973 (WebCore::ScrollView::platformDestroy):
8974 * platform/win/ScrollViewWin.cpp: Removed.
8975 * platform/wx/ScrollViewWx.cpp:
8976 (WebCore::ScrollView::platformInit):
8977 (WebCore::ScrollView::platformDestroy):
8978 (WebCore::ScrollView::setPlatformWidget):
8980 2008-10-03 Adele Peterson <adele@apple.com>
8982 Reviewed by Dan Bernstein.
8984 Fix for <rdar://problem/6012018>
8985 https://bugs.webkit.org/show_bug.cgi?id=21335
8986 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
8988 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
8990 2008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
8994 * platform/qt/WidgetQt.cpp:
8995 (WebCore::Widget::invalidateRect):
8997 2008-10-03 Alp Toker <alp@nuanti.com>
8999 Remove some left-over GTK+ includes. No change in functionality.
9001 * platform/Cursor.h:
9002 * platform/graphics/Icon.h:
9003 * platform/gtk/RenderThemeGtk.h:
9005 2008-10-03 Alp Toker <alp@nuanti.com>
9007 Build fix for trailing comment after #endif
9009 * dom/ElementRareData.h:
9011 2008-10-03 David Hyatt <hyatt@apple.com>
9013 Remove addToDirtyRegion.
9015 Reviewed by Oliver Hunt
9019 * page/ChromeClient.h:
9020 * platform/ScrollView.h:
9021 * platform/gtk/ScrollViewGtk.cpp:
9022 * platform/qt/ScrollViewQt.cpp:
9023 * platform/win/ScrollViewWin.cpp:
9025 2008-10-03 Dan Bernstein <mitz@apple.com>
9027 Reviewed by Maciej Stachowiak.
9029 - fix a CachedResource leak introduced in r37176
9031 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
9032 afterwards bail out of the outer pruneDeadResources().
9035 (WebCore::Cache::Cache):
9036 (WebCore::Cache::pruneDeadResources):
9037 (WebCore::Cache::remove):
9040 2008-10-03 David Hyatt <hyatt@apple.com>
9042 https://bugs.webkit.org/show_bug.cgi?id=21330
9044 Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
9047 Reviewed by Oliver Hunt
9049 * platform/ScrollView.cpp:
9050 (WebCore::ScrollView::setHasHorizontalScrollbar):
9051 (WebCore::ScrollView::setHasVerticalScrollbar):
9052 (WebCore::ScrollView::platformHasHorizontalAdjustment):
9053 (WebCore::ScrollView::platformHasVerticalAdjustment):
9054 * platform/ScrollView.h:
9055 * platform/gtk/ScrollViewGtk.cpp:
9056 (WebCore::ScrollView::adjustmentChanged):
9057 (WebCore::ScrollView::ScrollView):
9058 (WebCore::ScrollView::~ScrollView):
9059 (WebCore::ScrollView::setGtkAdjustments):
9060 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
9061 (WebCore::ScrollView::platformHandleVerticalAdjustment):
9063 2008-10-03 Julien Chaffraix <jchaffraix@webkit.org>
9065 Reviewed by Maciej Stachowiak.
9067 Bug 21106: .in format discussed changes
9068 https://bugs.webkit.org/show_bug.cgi?id=21106
9070 Change "upperCase" to "interfaceName" per-tag parameter as
9071 discussed on the mailing list. Removed the per-attribute version
9074 Also add the "Element" suffix to all interfaceName parameter to match
9075 the class name (and thus remove it from make_names.pl).
9077 * dom/make_names.pl:
9078 * html/HTMLTagNames.in:
9081 2008-10-03 David Hyatt <hyatt@apple.com>
9083 Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
9084 Hopefully this is a temporary hack that could eventually be removed.
9086 Reviewed by Sam Weinig
9088 * platform/ScrollView.cpp:
9089 (WebCore::ScrollView::scrollContents):
9090 * platform/ScrollView.h:
9091 (WebCore::ScrollView::rootPreventsBlitting):
9092 * platform/qt/ScrollViewQt.cpp:
9093 (WebCore::ScrollView::ScrollView):
9094 (WebCore::ScrollView::~ScrollView):
9095 (WebCore::ScrollView::platformAddChild):
9096 (WebCore::ScrollView::platformRemoveChild):
9098 2008-10-02 David Hyatt <hyatt@apple.com>
9100 https://bugs.webkit.org/show_bug.cgi?id=21328
9102 Make widget invalidation more cross-platform.
9104 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
9106 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
9107 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
9109 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
9111 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
9113 Reviewed by Sam Weinig
9116 * page/FrameView.cpp:
9117 (WebCore::FrameView::invalidateRect):
9118 (WebCore::FrameView::invalidateScrollbarRect):
9120 * platform/PopupMenu.h:
9121 * platform/ScrollView.cpp:
9122 (WebCore::ScrollView::scrollContents):
9123 * platform/ScrollView.h:
9124 * platform/Scrollbar.cpp:
9125 (WebCore::Scrollbar::setEnabled):
9126 (WebCore::Scrollbar::invalidateRect):
9127 * platform/Scrollbar.h:
9128 * platform/ScrollbarClient.h:
9129 * platform/Widget.h:
9130 * platform/gtk/WidgetGtk.cpp:
9131 * platform/mac/WidgetMac.mm:
9132 * platform/win/PopupMenuWin.cpp:
9133 (WebCore::PopupMenu::invalidateScrollbarRect):
9134 * platform/win/WidgetWin.cpp:
9135 * plugins/PluginView.cpp:
9136 (WebCore::PluginView::invalidateTimerFired):
9137 (WebCore::PluginView::invalidateWindowlessPluginRect):
9138 * plugins/PluginView.h:
9139 * plugins/gtk/PluginViewGtk.cpp:
9140 (WebCore::PluginView::invalidateRect):
9141 * plugins/qt/PluginViewQt.cpp:
9142 (WebCore::PluginView::invalidateRect):
9143 * plugins/win/PluginViewWin.cpp:
9144 (WebCore::PluginView::invalidateRect):
9145 (WebCore::PluginView::invalidateRegion):
9146 * rendering/RenderLayer.cpp:
9147 (WebCore::RenderLayer::invalidateScrollbarRect):
9148 * rendering/RenderLayer.h:
9149 * rendering/RenderListBox.cpp:
9150 (WebCore::RenderListBox::paintObject):
9151 (WebCore::RenderListBox::paintScrollbar):
9152 (WebCore::RenderListBox::invalidateScrollbarRect):
9153 * rendering/RenderListBox.h:
9155 2008-10-02 Dan Bernstein <mitz@apple.com>
9157 Reviewed by Geoffrey Garen and Sam Weinig.
9159 - fix SVGFontFaceElement leaks seen in Acid3
9160 - make font-face elements take effect only when they are in the document tree
9162 Test: svg/custom/font-face-not-in-document.svg
9164 * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
9165 RefPtr to a plain pointer to break a ref cycle.
9166 (WebCore::SVGFontData::svgFontFaceElement):
9168 * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
9169 @font-face rule from the document's mapped element sheet when the
9170 element is inserted and removed from the document, and to update it
9171 only when the element is in the document.
9172 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
9173 (WebCore::SVGFontFaceElement::parseMappedAttribute):
9174 (WebCore::SVGFontFaceElement::rebuildFontFace):
9175 (WebCore::SVGFontFaceElement::insertedIntoDocument):
9176 (WebCore::SVGFontFaceElement::removedFromDocument):
9177 (WebCore::SVGFontFaceElement::childrenChanged):
9178 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
9179 * svg/SVGFontFaceElement.h:
9181 2008-10-01 Simon Fraser <simon.fraser@apple.com>
9183 Reviewed by Dave Hyatt
9185 Fix RenderFileUploadControl::setStyle() and
9186 RenderMenuList::setStyle() to not touch the style; replace
9187 with html4.css and CSSStyleSelector changes.
9189 https://bugs.webkit.org/show_bug.cgi?id=21287
9191 * css/CSSStyleSelector.cpp:
9192 (WebCore::CSSStyleSelector::adjustRenderStyle):
9194 * rendering/RenderBlock.cpp:
9195 (WebCore::RenderBlock::setStyle):
9196 * rendering/RenderFileUploadControl.cpp:
9197 * rendering/RenderMenuList.cpp:
9198 (WebCore::RenderMenuList::setStyle):
9200 2008-10-01 Simon Fraser <simon.fraser@apple.com>
9202 Reviewed by Dave Hyatt
9204 Clean up code that changes the RenderStyle passed in to
9205 table renderer setStyle() methods.
9207 https://bugs.webkit.org/show_bug.cgi?id=21287
9209 Tests: fast/table/floating-th.html
9210 fast/table/table-display-types-strict.html
9211 fast/table/table-display-types.html
9213 * css/CSSStyleSelector.cpp:
9214 (WebCore::CSSStyleSelector::adjustRenderStyle):
9215 * rendering/RenderTableCell.cpp:
9216 (WebCore::RenderTableCell::setStyle):
9217 * rendering/RenderTableRow.cpp:
9218 (WebCore::RenderTableRow::setStyle):
9219 * rendering/RenderTableSection.cpp:
9220 (WebCore::RenderTableSection::setStyle):
9222 2008-10-02 Darin Adler <darin@apple.com>
9226 * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
9227 Not just locally in my generated file!
9229 2008-10-02 Adele Peterson <adele@apple.com>
9231 Reviewed by Dan Bernstein.
9233 Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
9234 REGRESSION: <input> color specified in inline style applies to placeholder
9236 I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
9237 is more appropriate. This change adds "-webkit-input-placeholder".
9239 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
9240 Added definition for "-webkit-input-placeholder" pseudo element.
9241 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
9242 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
9243 Added case for PseudoInputPlaceholder.
9244 * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
9245 * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
9247 * html/HTMLInputElement.cpp:
9248 (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
9249 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
9250 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
9251 setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
9252 * rendering/RenderTextControl.cpp:
9253 (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
9254 (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
9255 the text will be updated correctly.
9256 * rendering/RenderTextControl.h:
9258 2008-10-02 Chris Fleizach <cfleizach@apple.com>
9260 Reviewed by Darin Adler.
9262 https://bugs.webkit.org/show_bug.cgi?id=21280
9263 <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
9265 Updated AXTable detection to be more robust to false-positives. Specifically, added checks
9266 to ensure that there is more than one valid table cell, and that at least half of the cells
9267 have borders or have specific background colors. Modified the table detection layout test
9268 to test for the tables mentioned in the bug
9270 * page/AccessibilityTable.cpp:
9271 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
9273 2008-10-02 Darin Adler <darin@apple.com>
9275 Reviewed by Geoff Garen.
9277 - https://bugs.webkit.org/show_bug.cgi?id=21321
9278 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
9280 * bindings/js/GCController.cpp:
9281 (WebCore::collect): Use heap. instead of heap-> to work with the heap.
9282 (WebCore::GCController::gcTimerFired): Ditto.
9283 (WebCore::GCController::garbageCollectNow): Ditto.
9284 * bindings/js/JSDOMWindowShell.cpp:
9285 (WebCore::JSDOMWindowShell::operator new): Ditto.
9286 * storage/Database.cpp:
9287 (WebCore::Database::Database): Ditto.
9289 2008-10-02 Dan Bernstein <mitz@apple.com>
9291 Reviewed by Alexey Proskuryakov.
9293 - fix a Database leak that resulted in Document leaks
9295 * storage/Database.cpp:
9296 (WebCore::Database::openDatabase): Account for the fact that RefCounted
9297 objects start out with a ref count of 1.
9299 2008-10-02 Sam Weinig <sam@webkit.org>
9301 Reviewed by Mr. Geoffrey Garen.
9303 Always mark your parent before marking members.
9305 * bindings/js/JSDOMWindowCustom.cpp:
9306 (WebCore::JSDOMWindow::mark):
9308 2008-10-02 David Hyatt <hyatt@apple.com>
9310 https://bugs.webkit.org/show_bug.cgi?id=21314
9312 Make scrollBackingStore cross-platform.
9314 Reviewed by Sam Weinig
9316 * loader/EmptyClients.h:
9317 (WebCore::EmptyChromeClient::repaint):
9318 (WebCore::EmptyChromeClient::scroll):
9320 (WebCore::Chrome::repaint):
9321 (WebCore::Chrome::scroll):
9323 * page/ChromeClient.h:
9324 * page/EventHandler.cpp:
9325 (WebCore::EventHandler::handleAutoscroll):
9326 * platform/HostWindow.h:
9327 * platform/ScrollView.cpp:
9328 (WebCore::ScrollView::scrollContents):
9329 (WebCore::ScrollView::addPanScrollIcon):
9330 (WebCore::ScrollView::removePanScrollIcon):
9331 * platform/ScrollView.h:
9332 * platform/gtk/ScrollViewGtk.cpp:
9333 * platform/qt/ScrollViewQt.cpp:
9334 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
9335 (WebCore::ScrollView::~ScrollView):
9336 * platform/win/ScrollViewWin.cpp:
9337 (WebCore::ScrollView::ScrollView):
9338 (WebCore::ScrollView::~ScrollView):
9340 2008-10-02 Kevin Ollivier <kevino@theolliviers.com>
9342 wx build fixes after Frame/ScrollView changes.
9344 * WebCoreSources.bkl:
9345 * platform/wx/ScrollViewWx.cpp:
9346 (WebCore::ScrollView::platformContentsToScreen):
9347 (WebCore::ScrollView::platformScreenToContents):
9348 (WebCore::ScrollView::platformIsOffscreen):
9350 2008-10-02 Brett Wilson <brettw@chromium.org>
9352 Reviewed by Sam Weinig
9354 https://bugs.webkit.org/show_bug.cgi?id=21292
9356 Revert the changes to enclosingIntRect made in r12530 since the new code
9357 doesn't round correctly.
9360 * platform/graphics/FloatRect.cpp:
9361 (WebCore::enclosingIntRect):
9363 2008-10-02 Dan Bernstein <mitz@apple.com>
9365 Reviewed by Anders Carlsson and Eric Seidel.
9367 - fix HTMLCanvaseElement leak from -webkit-canvas() values
9369 Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
9370 pointer, as the document owns the canvas elements. Added code to release
9371 those elements in Document::removedLastRef() because they reference
9374 * css/CSSCanvasValue.cpp:
9375 (WebCore::CSSCanvasValue::element):
9376 * css/CSSCanvasValue.h:
9377 (WebCore::CSSCanvasValue::CSSCanvasValue):
9379 (WebCore::Document::removedLastRef):
9381 2008-10-02 Alexey Proskuryakov <ap@webkit.org>
9383 Reviewed by Maciej Stachowiak.
9385 Build fix for platforms that don't implement WTF::ThreadSpecific.
9387 * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
9388 Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
9389 code is only needed for JS bindings in worker threads.
9391 2008-10-01 David Hyatt <hyatt@apple.com>
9393 https://bugs.webkit.org/show_bug.cgi?id=21298
9395 Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
9396 will make that cross-platform.
9398 The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
9399 multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
9400 windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
9402 Reviewed by Sam Weinig
9404 * page/FrameView.cpp:
9405 (WebCore::FrameView::windowClipRect):
9406 (WebCore::FrameView::isActive):
9408 (WebCore::FrameView::visibleContentsResized):
9409 * platform/PopupMenu.h:
9410 * platform/ScrollView.cpp:
9411 (WebCore::ScrollView::init):
9412 (WebCore::ScrollView::destroy):
9413 (WebCore::ScrollView::setHasHorizontalScrollbar):
9414 (WebCore::ScrollView::setHasVerticalScrollbar):
9415 (WebCore::ScrollView::valueChanged):
9416 (WebCore::ScrollView::updateScrollbars):
9417 (WebCore::ScrollView::scrollContents):
9418 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
9419 (WebCore::ScrollView::platformHandleVerticalAdjustment):
9420 * platform/ScrollView.h:
9421 * platform/Scrollbar.cpp:
9422 (WebCore::Scrollbar::windowClipRect):
9423 * platform/ScrollbarClient.h:
9424 * platform/gtk/ScrollViewGtk.cpp:
9425 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
9426 (WebCore::ScrollView::platformHandleVerticalAdjustment):
9427 * platform/qt/ScrollViewQt.cpp:
9428 (WebCore::ScrollView::scrollContents):
9429 * platform/win/PopupMenuWin.cpp:
9430 (WebCore::PopupMenu::windowClipRect):
9431 * platform/win/ScrollViewWin.cpp:
9432 (WebCore::ScrollView::scrollContents):
9433 * rendering/RenderLayer.cpp:
9434 (WebCore::RenderLayer::windowClipRect):
9435 * rendering/RenderLayer.h:
9436 * rendering/RenderListBox.cpp:
9437 (WebCore::RenderListBox::panScroll):
9438 (WebCore::RenderListBox::windowClipRect):
9439 * rendering/RenderListBox.h:
9441 2008-10-02 Alexey Proskuryakov <ap@webkit.org>
9443 Reviewed by Darin Adler.
9445 https://bugs.webkit.org/show_bug.cgi?id=21304
9446 Stop using a static wrapper map for WebCore JS bindings
9448 The static domObjects map was not thread safe.
9451 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
9453 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
9456 (WebCore::Document::createdXMLHttpRequest):
9457 (WebCore::Document::destroyedXMLHttpRequest):
9458 Moved XMLHttpRequest tracking from a global map to Document.
9462 * WebCore.vcproj/WebCore.vcproj:
9463 * WebCore.xcodeproj/project.pbxproj:
9464 * WebCoreSources.bkl:
9466 * bindings/DOMProtect.cpp: Removed.
9467 * bindings/DOMProtect.h: Removed.
9468 Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
9469 so they can no longer protect bindings objects.
9471 * dom/MessagePort.cpp:
9472 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
9473 (WebCore::CloseMessagePortTimer::fired):
9474 (WebCore::MessagePort::MessagePort):
9475 (WebCore::MessagePort::queueCloseEvent):
9476 (WebCore::MessagePort::setPendingActivity):
9477 (WebCore::MessagePort::unsetPendingActivity):
9478 * dom/MessagePort.h:
9479 (WebCore::MessagePort::hasPendingActivity):
9480 MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
9483 * xml/XMLHttpRequest.h:
9484 (WebCore::XMLHttpRequest::hasPendingActivity):
9485 * xml/XMLHttpRequest.cpp:
9486 (WebCore::XMLHttpRequest::XMLHttpRequest):
9487 (WebCore::XMLHttpRequest::~XMLHttpRequest):
9488 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
9489 (WebCore::XMLHttpRequest::dropProtection):
9490 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
9491 (WebCore::XMLHttpRequest::cancelRequests):
9492 (WebCore::XMLHttpRequest::detachRequests):
9493 (WebCore::XMLHttpRequest::setPendingActivity):
9494 (WebCore::XMLHttpRequest::unsetPendingActivity):
9495 Moved XMLHttpRequest tracking from a global map to Document.
9497 * bindings/js/JSDOMBinding.cpp:
9498 (WebCore::wrapperSet):
9499 (WebCore::DOMObjectWrapperMap::mapFor):
9500 (WebCore::DOMObjectWrapperMap::get):
9501 (WebCore::DOMObjectWrapperMap::set):
9502 (WebCore::DOMObjectWrapperMap::remove):
9503 (WebCore::getCachedDOMObjectWrapper):
9504 (WebCore::cacheDOMObjectWrapper):
9505 (WebCore::forgetDOMObject):
9506 (WebCore::getCachedDOMNodeWrapper):
9507 (WebCore::forgetDOMNode):
9508 (WebCore::cacheDOMNodeWrapper):
9509 (WebCore::markActiveObjectsForDocument):
9510 * bindings/js/JSDOMBinding.h:
9511 (WebCore::createDOMObjectWrapper):
9512 (WebCore::getDOMObjectWrapper):
9513 Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
9514 to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
9515 WebCore objects can never migrate between threads.
9517 * bindings/js/JSDocumentCustom.cpp:
9518 (WebCore::JSDocument::mark):
9519 Call markActiveObjectsForDocument() from JSDOMBinding.
9521 * bindings/js/JSCSSRuleCustom.cpp:
9523 * bindings/js/JSCSSValueCustom.cpp:
9525 * bindings/js/JSDOMWindowCustom.cpp:
9526 (WebCore::markDOMObjectWrapper):
9527 (WebCore::JSDOMWindow::mark):
9528 * bindings/js/JSEventCustom.cpp:
9530 * bindings/js/JSEventTarget.cpp:
9532 * bindings/js/JSHTMLCollectionCustom.cpp:
9534 * bindings/js/JSImageDataCustom.cpp:
9536 * bindings/js/JSMessageChannelCustom.cpp:
9537 (WebCore::JSMessageChannel::mark):
9538 * bindings/js/JSMessagePortCustom.cpp:
9539 (WebCore::JSMessagePort::mark):
9540 * bindings/js/JSNodeCustom.cpp:
9541 (WebCore::JSNode::mark):
9542 * bindings/js/JSSVGPathSegCustom.cpp:
9544 * bindings/js/JSStyleSheetCustom.cpp:
9546 * bindings/js/JSXMLHttpRequestCustom.cpp:
9547 (WebCore::JSXMLHttpRequest::mark):
9548 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
9549 (WebCore::JSXMLHttpRequestUpload::mark):
9550 * bindings/js/ScriptController.cpp:
9551 (WebCore::ScriptController::finishedWithEvent):
9552 * bindings/scripts/CodeGeneratorJS.pm:
9553 Pass a JSGlobalData reference to functions that track JS wrapper objects.
9555 2008-10-02 Dan Bernstein <mitz@apple.com>
9559 * page/JavaScriptCallFrame.idl:
9561 2008-10-02 Oliver Hunt <oliver@apple.com>
9563 Reviewed by NOBODY (Build fix).
9565 Add new file to project files
9569 * WebCore.vcproj/WebCore.vcproj:
9571 2008-10-02 Geoffrey Garen <ggaren@apple.com>
9575 Try to fix some more builds.
9580 2008-10-02 Geoffrey Garen <ggaren@apple.com>
9584 Try to fix Windows build.
9586 * WebCore.vcproj/WebCore.vcproj:
9588 2008-10-01 Geoffrey Garen <ggaren@apple.com>
9590 Reviewed by Darin Adler and Cameron Zwarich.
9592 Updated for JavaScriptCore API changes: use a SourceCode instead of
9593 broken out parameters; treat sourceId as intptr_t.
9595 * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
9596 * bindings/js/JSXMLHttpRequestCustom.cpp:
9597 (WebCore::JSXMLHttpRequest::send):
9598 * bindings/js/ScriptController.cpp:
9599 (WebCore::ScriptController::evaluate):
9600 * bindings/js/StringSourceProvider.h:
9601 (WebCore::StringSourceProvider::create):
9602 (WebCore::StringSourceProvider::StringSourceProvider):
9604 (WebCore::makeSource): Added a makeSource function for convenience.
9606 * bindings/objc/WebScriptObject.mm:
9607 (-[WebScriptObject evaluateWebScript:]):
9608 * bridge/NP_jsobject.cpp:
9610 * bridge/jni/jni_jsobject.mm:
9611 (JavaJSObject::call):
9612 (JavaJSObject::eval):
9613 (JavaJSObject::getMember):
9614 (JavaJSObject::setMember):
9615 (JavaJSObject::removeMember):
9617 * bridge/jni/jni_runtime.h:
9618 (JSC::Bindings::JavaString::operator UString): Replaced the explicit
9619 ustring() function with an implicit operator because this class already
9620 holds a UString::rep.
9623 (WebCore::retrieveLastCaller):
9624 (WebCore::Console::trace):
9625 * page/InspectorController.cpp:
9626 (WebCore::jsStringRef):
9627 (WebCore::InspectorController::addBreakpoint):
9628 (WebCore::InspectorController::removeBreakpoint):
9629 (WebCore::InspectorController::didParseSource):
9630 (WebCore::InspectorController::failedToParseSource):
9631 * page/InspectorController.h:
9632 * page/JavaScriptCallFrame.cpp:
9633 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
9634 * page/JavaScriptCallFrame.h:
9635 (WebCore::JavaScriptCallFrame::create):
9636 (WebCore::JavaScriptCallFrame::sourceIdentifier):
9637 (WebCore::JavaScriptCallFrame::update):
9638 * page/JavaScriptDebugListener.h:
9639 * page/JavaScriptDebugServer.cpp:
9640 (WebCore::JavaScriptDebugServer::addBreakpoint):
9641 (WebCore::JavaScriptDebugServer::removeBreakpoint):
9642 (WebCore::JavaScriptDebugServer::hasBreakpoint):
9643 (WebCore::dispatchDidParseSource):
9644 (WebCore::dispatchFailedToParseSource):
9645 (WebCore::JavaScriptDebugServer::sourceParsed):
9646 (WebCore::JavaScriptDebugServer::callEvent):
9647 (WebCore::JavaScriptDebugServer::atStatement):
9648 (WebCore::JavaScriptDebugServer::returnEvent):
9649 (WebCore::JavaScriptDebugServer::exception):
9650 (WebCore::JavaScriptDebugServer::willExecuteProgram):
9651 (WebCore::JavaScriptDebugServer::didExecuteProgram):
9652 (WebCore::JavaScriptDebugServer::didReachBreakpoint):
9653 * page/JavaScriptDebugServer.h:
9654 * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
9655 sourceIdentifier to sourceID.
9657 2008-10-01 Dan Bernstein <mitz@apple.com>
9659 Reviewed by Geoffrey Garen.
9661 - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
9663 Broke a ref cycle by changing the m_svgFontFaceElement members of
9664 CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
9665 pointers. Also made sure that the @font-face rule added by
9666 SVGFontFaceElement to the document's mapped element sheet is removed
9667 when the font-face element is deleted or moved to another document.
9669 * css/CSSFontFaceSource.cpp:
9670 (WebCore::CSSFontFaceSource::CSSFontFaceSource):
9671 (WebCore::CSSFontFaceSource::getFontData):
9672 * css/CSSFontFaceSource.h:
9673 (WebCore::CSSFontFaceSource::svgFontFaceElement):
9674 * css/CSSFontFaceSrcValue.h:
9675 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
9676 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
9677 * svg/SVGFontFaceElement.cpp:
9678 (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
9679 (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
9680 (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
9681 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
9682 * svg/SVGFontFaceElement.h:
9684 2008-10-01 Oliver Hunt <oliver@apple.com>
9686 Reviewed by Maciej Stachowiak.
9688 Bug 20315: Memory leak with Canvas getImageData
9689 <https://bugs.webkit.org/show_bug.cgi?id=20315>
9691 This wasn't a leak, the issue was that we were reporting the cost
9692 of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
9693 and we should have been reporting the cost when we create the
9694 JSImageData wrapper.
9696 * WebCore.xcodeproj/project.pbxproj:
9697 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
9698 This was only needed to report the extra memory cost
9700 * bindings/js/JSImageDataCustom.cpp:
9702 We need a custom toJS function now so that we can report
9703 the extra memory cost.
9704 * bindings/scripts/CodeGeneratorJS.pm:
9705 Need to replace the reference to CanvasPixelArray with ImageData
9706 to be able to create the custom toJS implementation.
9707 * html/CanvasPixelArray.idl:
9708 * html/ImageData.idl:
9710 2008-10-01 Dan Bernstein <mitz@apple.com>
9712 Reviewed by Mark Rowe.
9714 - https://bugs.webkit.org/show_bug.cgi?id=21293
9715 REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
9717 * svg/SVGMarkerElement.cpp:
9718 (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
9719 that renderer destruction happens before the SVGMarkerElement is
9721 * svg/SVGSVGElement.cpp:
9722 (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
9724 2008-10-01 Evan Martin <evan@chromium.org>
9726 Reviewed by Eric Seidel.
9728 https://bugs.webkit.org/show_bug.cgi?id=20669
9733 2008-10-01 Evan Martin <evan@chromium.org>
9735 Reviewed by Eric Seidel.
9737 * loader/icon/IconDatabase.h:
9738 IconDatabase uses HashMap, so it needs to #include the header.
9740 2008-10-01 Dan Bernstein <mitz@apple.com>
9742 Reviewed by Mark Rowe.
9744 - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
9747 (WebCore::Cache::remove): Disable pruning temporarily during
9748 CachedResource deletion.
9750 2008-10-01 Dan Bernstein <mitz@apple.com>
9752 Reviewed by Mark Rowe.
9754 - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
9756 * svg/SVGFontFaceElement.cpp:
9757 (WebCore::SVGFontFaceElement::rebuildFontFace):
9758 * svg/SVGFontFaceElement.h:
9759 (WebCore::SVGFontFaceElement::associatedFontElement):
9761 2008-10-01 Brett Wilson <brettw@chromium.org>
9763 Reviewed by Maciej Stachowiak.
9765 Document the rounding behavior of the mapRect(IntRect) function in
9768 * platform/graphics/AffineTransform.h:
9770 2008-10-01 David Hyatt <hyatt@apple.com>
9772 Move prohibitsScrolling from the Frame to the ScrollView.
9774 Reviewed by Sam Weinig
9778 (WebCore::FramePrivate::FramePrivate):
9780 * page/FramePrivate.h:
9781 * page/FrameView.cpp:
9782 (WebCore::FrameView::scrollRectIntoViewRecursively):
9783 (WebCore::FrameView::setScrollPosition):
9784 * platform/ScrollView.cpp:
9785 (WebCore::ScrollView::init):
9786 (WebCore::ScrollView::scrollRectIntoViewRecursively):
9787 (WebCore::ScrollView::setScrollPosition):
9788 * platform/ScrollView.h:
9789 (WebCore::ScrollView::setProhibitsScrolling):
9790 (WebCore::ScrollView::prohibitsScrolling):
9791 * platform/gtk/ScrollViewGtk.cpp:
9792 (WebCore::ScrollView::updateScrollbars):
9793 * platform/qt/ScrollViewQt.cpp:
9794 (WebCore::ScrollView::updateScrollbars):
9795 * platform/win/ScrollViewWin.cpp:
9796 (WebCore::ScrollView::updateScrollbars):
9798 2008-10-01 Mark Rowe <mrowe@apple.com>
9800 Reviewed by Geoff Garen.
9802 Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
9804 * xml/XMLHttpRequest.cpp:
9805 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
9806 that we do during the loadRequestAsynchronously of the preflight request with a deref and
9809 2008-10-01 David Hyatt <hyatt@apple.com>
9811 Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
9812 clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.
9814 Reviewed by Tim Hatcher
9817 * page/FrameView.cpp:
9818 (WebCore::FrameView::setCanHaveScrollbars):
9820 * platform/ScrollView.cpp:
9821 (WebCore::ScrollView::setCanHaveScrollbars):
9822 (WebCore::ScrollView::wheelEvent):
9823 * platform/ScrollView.h:
9824 (WebCore::ScrollView::canHaveScrollbars):
9826 2008-10-01 Dan Bernstein <mitz@apple.com>
9828 Reviewed by Mark Rowe.
9830 - fix some CachedResource leaks seen on buildbot
9832 The issue here was that emptying the cache was a no-op when it only
9833 contained resources with no data. Changed to go after those
9834 resources when the desired cache capacity is zero.
9837 (WebCore::Cache::pruneLiveResources):
9838 (WebCore::Cache::pruneDeadResources):
9840 (WebCore::Cache::prune):
9842 2008-10-01 David Hyatt <hyatt@apple.com>
9844 Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
9845 HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)
9847 Reviewed by Adam Roben
9849 * platform/ScrollView.cpp:
9850 (WebCore::ScrollView::isOffscreen):
9851 (WebCore::ScrollView::platformIsOffscreen):
9852 * platform/ScrollView.h:
9853 * platform/gtk/ScrollViewGtk.cpp:
9854 * platform/mac/ScrollViewMac.mm:
9855 (WebCore::ScrollView::platformIsOffscreen):
9856 * platform/qt/ScrollViewQt.cpp:
9857 * platform/wx/ScrollViewWx.cpp:
9859 2008-10-01 David Hyatt <hyatt@apple.com>
9861 Make show/hide/setParentVisible cross-platform on ScrollView.
9863 Reviewed by Adam Roben
9865 * platform/ScrollView.cpp:
9866 (WebCore::ScrollView::setParentVisible):
9867 (WebCore::ScrollView::show):
9868 (WebCore::ScrollView::hide):
9869 * platform/ScrollView.h:
9870 * platform/win/ScrollViewWin.cpp:
9872 2008-10-01 Kevin McCullough <kmccullough@apple.com>
9874 Reviewed by Dan Bernstein.
9876 https://bugs.webkit.org/show_bug.cgi?id=21284
9877 Bug 21284: Max height affects max width
9878 - Looks like a cut and paste bug
9879 - Added layout test fast/css/max-height-and-max-width.html
9881 * css/CSSComputedStyleDeclaration.cpp:
9882 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
9884 2008-10-01 David Hyatt <hyatt@apple.com>
9886 https://bugs.webkit.org/show_bug.cgi?id=21282
9888 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
9890 Reviewed by Adam Roben
9892 * loader/EmptyClients.h:
9893 (WebCore::EmptyChromeClient::screenToWindow):
9894 (WebCore::EmptyChromeClient::windowToScreen):
9896 (WebCore::Chrome::screenToWindow):
9897 (WebCore::Chrome::windowToScreen):
9899 * page/ChromeClient.h:
9900 * platform/HostWindow.h:
9901 * platform/ScrollView.cpp:
9902 (WebCore::ScrollView::contentsToScreen):
9903 (WebCore::ScrollView::screenToContents):
9904 (WebCore::ScrollView::platformContentsToScreen):
9905 (WebCore::ScrollView::platformScreenToContents):
9906 * platform/ScrollView.h:
9907 * platform/mac/ScrollViewMac.mm:
9908 (WebCore::ScrollView::platformContentsToScreen):
9909 (WebCore::ScrollView::platformScreenToContents):
9910 * platform/win/ScrollViewWin.cpp:
9912 2008-10-01 Dan Bernstein <mitz@apple.com>
9914 Reviewed by Darin Adler.
9916 - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
9918 Test: fast/parser/residual-style-close-across-removed-block.html
9920 * html/HTMLParser.cpp:
9921 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
9922 an assertion that turned out to be wrong in this case, and changed to
9923 terminate the algorithm at the first empty block.
9925 2008-10-01 David Hyatt <hyatt@apple.com>
9927 Make setFrameRect on ScrollView cross-platform.
9929 Reviewed by Sam Weinig
9932 (WebCore::FrameView::contentsResized):
9933 * platform/ScrollView.cpp:
9934 (WebCore::ScrollView::setFrameRect):
9935 * platform/ScrollView.h:
9936 * platform/gtk/ScrollViewGtk.cpp:
9937 * platform/qt/ScrollViewQt.cpp:
9938 * platform/win/ScrollViewWin.cpp:
9940 2008-10-01 Sam Weinig <sam@webkit.org>
9942 Reviewed by Adele Peterson.
9944 Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
9945 to JSDOMWindow from JSDOMWindowBase.
9947 * WebCore.xcodeproj/project.pbxproj:
9948 * bindings/js/JSDOMWindowBase.cpp:
9949 (WebCore::JSDOMWindowBase::removeTimeout):
9950 * bindings/js/JSDOMWindowBase.h:
9951 * bindings/js/JSDOMWindowCustom.cpp:
9952 (WebCore::setTimeoutOrInterval):
9953 (WebCore::JSDOMWindow::setTimeout):
9954 (WebCore::JSDOMWindow::clearTimeout):
9955 (WebCore::JSDOMWindow::setInterval):
9956 (WebCore::JSDOMWindow::clearInterval):
9957 (WebCore::JSDOMWindow::atob):
9958 (WebCore::JSDOMWindow::btoa):
9959 * page/DOMWindow.idl:
9961 2008-10-01 Dan Bernstein <mitz@apple.com>
9967 2008-10-01 Timothy Hatcher <timothy@apple.com>
9969 Prevent stealing focus from the search field when focusing a DOM node.
9971 https://bugs.webkit.org/show_bug.cgi?id=21275
9973 Reviewed by Kevin McCullough.
9975 * page/inspector/ElementsPanel.js:
9976 (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
9977 Don't steal focus if the current focus element is the search field.
9979 2008-09-30 Sam Weinig <sam@webkit.org>
9981 Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
9983 Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
9984 Autogenerate JS event listeners
9986 - Generate getting/setting of EventListeners.
9988 - Adding a new named EventListener now has the same process as adding any other DOM
9989 attribute. (Add a method with the same name in the c++ file).
9991 (The EventListeners for MessagePort have been intentionally left custom so that we
9992 can continue to experiment with making those EventListeners work in a frame-less world.)
9994 * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
9995 * bindings/js/JSDOMWindowCustom.cpp: ditto.
9996 * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
9997 * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
9998 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
9999 * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
10001 * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
10002 * dom/EventTargetNode.h: ditto.
10003 * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
10004 will use JSEventListerner instead of JSUnprotectedEventListener.
10005 * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
10006 * page/DOMWindow.cpp: Add getter/setters for named EventListener
10007 * page/DOMWindow.h: ditto.
10008 * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
10009 will use JSEventListerner instead of JSUnprotectedEventListener.
10010 * xml/XMLHttpRequest.idl: Remove custom attributes.
10011 * xml/XMLHttpRequestUpload.idl: ditto.
10013 2008-09-30 Mark Rowe <mrowe@apple.com>
10015 Reviewed by Dan Bernstein.
10017 Add a leak counter for CachedResources since we've had two recent leaks involving them.
10019 * loader/CachedResource.cpp:
10020 (WebCore::CachedResource::CachedResource):
10021 (WebCore::CachedResource::~CachedResource):
10023 2008-09-30 Dan Bernstein <mitz@apple.com>
10025 Reviewed by Dave Hyatt.
10027 - fix https://bugs.webkit.org/show_bug.cgi?id=21127
10028 <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
10030 If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
10031 the font name in memory.
10033 * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
10034 OpenTypeUtilities.*.
10036 * platform/graphics/win/FontCustomPlatformData.cpp:
10037 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
10038 to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
10040 (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
10041 for fonts loaded using AddFontMemResourceEx.
10042 (WebCore::createFontCustomPlatformData): Added a call to
10043 renameAndActivateFont() if TTLoadEmbeddedFont fails. If
10044 TTLoadEmbeddedFont succeeds, set the font name to the null string, as
10045 fontPlatformData() will retrieve the name from the font reference.
10047 * platform/graphics/win/FontCustomPlatformData.h:
10048 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
10051 * platform/graphics/win/GetEOTHeader.cpp: Renamed.
10052 * platform/graphics/win/GetEOTHeader.h: Renamed.
10054 * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
10055 (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
10056 (WebCore::BigEndianULong::BigEndianULong): Ditto.
10057 (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
10058 the font data and modifies it to have the given name, then activates
10059 it using AddFontMemResourceEx.
10061 * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
10063 2008-09-30 Mark Rowe <mrowe@apple.com>
10065 Reviewed by Dan Bernstein.
10067 Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
10069 * rendering/RenderObject.cpp:
10070 (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
10071 with calls to removeClient when we're being destroyed.
10073 2008-09-30 Eric Carlson <eric.carlson@apple.com>
10075 Reviewed by Antti Koivisto.
10077 https://bugs.webkit.org/show_bug.cgi?id=21243
10079 Fix loopstart and loopend default values.
10081 Tests: media/loopend-limits.html
10082 media/loopstart-limits.html
10084 * html/HTMLMediaElement.cpp:
10085 (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
10086 (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
10088 2008-09-30 Kevin Ollivier <kevino@theolliviers.com>
10090 wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
10092 * WebCoreSources.bkl:
10093 * platform/wx/ScrollViewWx.cpp:
10094 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
10096 2008-09-30 Dan Bernstein <mitz@apple.com>
10098 Reviewed by Sam Weinig.
10100 - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
10101 was fixed in r17249 and re-introduced in r31435.
10103 * html/HTMLViewSourceDocument.cpp:
10104 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
10105 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
10106 (WebCore::HTMLViewSourceDocument::addLine):
10107 (WebCore::HTMLViewSourceDocument::addLink):
10108 * html/HTMLViewSourceDocument.h:
10110 2008-09-30 Sam Weinig <sam@webkit.org>
10112 Reviewed by Eric Seidel.
10114 More for https://bugs.webkit.org/show_bug.cgi?id=21122
10115 Autogenerate JS event listeners
10117 - Make EventListener getter/setters names in c++ files match those in
10118 JS (ie. onLoadListener -> onload).
10119 - Add standard way to access the frame associated with the EventTarget
10120 for EventListener lookup.
10121 - Autogenerate dispatchEvent, it wasn't doing anything custom.
10123 * bindings/js/JSDOMApplicationCacheCustom.cpp:
10124 (WebCore::JSDOMApplicationCache::mark):
10125 (WebCore::JSDOMApplicationCache::addEventListener):
10126 (WebCore::JSDOMApplicationCache::removeEventListener):
10127 (WebCore::JSDOMApplicationCache::setOnchecking):
10128 (WebCore::JSDOMApplicationCache::onchecking):
10129 (WebCore::JSDOMApplicationCache::setOnerror):
10130 (WebCore::JSDOMApplicationCache::onerror):
10131 (WebCore::JSDOMApplicationCache::setOnnoupdate):
10132 (WebCore::JSDOMApplicationCache::onnoupdate):
10133 (WebCore::JSDOMApplicationCache::setOndownloading):
10134 (WebCore::JSDOMApplicationCache::ondownloading):
10135 (WebCore::JSDOMApplicationCache::setOnprogress):
10136 (WebCore::JSDOMApplicationCache::onprogress):
10137 (WebCore::JSDOMApplicationCache::setOnupdateready):
10138 (WebCore::JSDOMApplicationCache::onupdateready):
10139 (WebCore::JSDOMApplicationCache::setOncached):
10140 (WebCore::JSDOMApplicationCache::oncached):
10141 * bindings/js/JSEventTargetNodeCustom.cpp:
10142 (WebCore::JSEventTargetNode::addEventListener):
10143 (WebCore::JSEventTargetNode::removeEventListener):
10144 (WebCore::JSEventTargetNode::getListener):
10145 (WebCore::JSEventTargetNode::setListener):
10146 * bindings/js/JSMessagePortCustom.cpp:
10147 (WebCore::JSMessagePort::mark):
10148 (WebCore::JSMessagePort::addEventListener):
10149 (WebCore::JSMessagePort::removeEventListener):
10150 (WebCore::JSMessagePort::setOnmessage):
10151 (WebCore::JSMessagePort::onmessage):
10152 (WebCore::JSMessagePort::setOnclose):
10153 (WebCore::JSMessagePort::onclose):
10154 * bindings/js/JSXMLHttpRequestCustom.cpp:
10155 (WebCore::JSXMLHttpRequest::mark):
10156 (WebCore::JSXMLHttpRequest::onreadystatechange):
10157 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
10158 (WebCore::JSXMLHttpRequest::onabort):
10159 (WebCore::JSXMLHttpRequest::setOnabort):
10160 (WebCore::JSXMLHttpRequest::onerror):
10161 (WebCore::JSXMLHttpRequest::setOnerror):
10162 (WebCore::JSXMLHttpRequest::onload):
10163 (WebCore::JSXMLHttpRequest::setOnload):
10164 (WebCore::JSXMLHttpRequest::onloadstart):
10165 (WebCore::JSXMLHttpRequest::setOnloadstart):
10166 (WebCore::JSXMLHttpRequest::onprogress):
10167 (WebCore::JSXMLHttpRequest::setOnprogress):
10168 (WebCore::JSXMLHttpRequest::addEventListener):
10169 (WebCore::JSXMLHttpRequest::removeEventListener):
10170 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
10171 (WebCore::JSXMLHttpRequestUpload::mark):
10172 (WebCore::JSXMLHttpRequestUpload::onabort):
10173 (WebCore::JSXMLHttpRequestUpload::setOnabort):
10174 (WebCore::JSXMLHttpRequestUpload::onerror):
10175 (WebCore::JSXMLHttpRequestUpload::setOnerror):
10176 (WebCore::JSXMLHttpRequestUpload::onload):
10177 (WebCore::JSXMLHttpRequestUpload::setOnload):
10178 (WebCore::JSXMLHttpRequestUpload::onloadstart):
10179 (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
10180 (WebCore::JSXMLHttpRequestUpload::onprogress):
10181 (WebCore::JSXMLHttpRequestUpload::setOnprogress):
10182 (WebCore::JSXMLHttpRequestUpload::addEventListener):
10183 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
10184 * bindings/scripts/CodeGeneratorJS.pm:
10185 * dom/EventTarget.h:
10186 * dom/EventTargetNode.cpp:
10187 (WebCore::EventTargetNode::associatedFrame):
10188 * dom/EventTargetNode.h:
10189 * dom/EventTargetNode.idl:
10190 * dom/MessagePort.cpp:
10191 (WebCore::MessagePort::associatedFrame):
10192 * dom/MessagePort.h:
10193 (WebCore::MessagePort::setOnmessage):
10194 (WebCore::MessagePort::onmessage):
10195 (WebCore::MessagePort::setOnclose):
10196 (WebCore::MessagePort::onclose):
10197 * dom/MessagePort.idl:
10198 * loader/appcache/DOMApplicationCache.h:
10199 (WebCore::DOMApplicationCache::setOnchecking):
10200 (WebCore::DOMApplicationCache::onchecking):
10201 (WebCore::DOMApplicationCache::setOnerror):
10202 (WebCore::DOMApplicationCache::onerror):
10203 (WebCore::DOMApplicationCache::setOnnoupdate):
10204 (WebCore::DOMApplicationCache::onnoupdate):
10205 (WebCore::DOMApplicationCache::setOndownloading):
10206 (WebCore::DOMApplicationCache::ondownloading):
10207 (WebCore::DOMApplicationCache::setOnprogress):
10208 (WebCore::DOMApplicationCache::onprogress):
10209 (WebCore::DOMApplicationCache::setOnupdateready):
10210 (WebCore::DOMApplicationCache::onupdateready):
10211 (WebCore::DOMApplicationCache::setOncached):
10212 (WebCore::DOMApplicationCache::oncached):
10213 (WebCore::DOMApplicationCache::associatedFrame):
10214 * loader/appcache/DOMApplicationCache.idl:
10215 * svg/EventTargetSVGElementInstance.cpp:
10216 (WebCore::EventTargetSVGElementInstance::associatedFrame):
10217 (WebCore::EventTargetSVGElementInstance::addEventListener):
10218 (WebCore::EventTargetSVGElementInstance::removeEventListener):
10219 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
10220 * svg/EventTargetSVGElementInstance.h:
10221 * xml/XMLHttpRequest.cpp:
10222 (WebCore::XMLHttpRequest::associatedFrame):
10223 * xml/XMLHttpRequest.h:
10224 (WebCore::XMLHttpRequest::setOnreadystatechange):
10225 (WebCore::XMLHttpRequest::onreadystatechange):
10226 (WebCore::XMLHttpRequest::setOnabort):
10227 (WebCore::XMLHttpRequest::onabort):
10228 (WebCore::XMLHttpRequest::setOnerror):
10229 (WebCore::XMLHttpRequest::onerror):
10230 (WebCore::XMLHttpRequest::setOnload):
10231 (WebCore::XMLHttpRequest::onload):
10232 (WebCore::XMLHttpRequest::setOnloadstart):
10233 (WebCore::XMLHttpRequest::onloadstart):
10234 (WebCore::XMLHttpRequest::setOnprogress):
10235 (WebCore::XMLHttpRequest::onprogress):
10236 * xml/XMLHttpRequest.idl:
10237 * xml/XMLHttpRequestUpload.cpp:
10238 (WebCore::XMLHttpRequestUpload::associatedFrame):
10239 * xml/XMLHttpRequestUpload.h:
10240 (WebCore::XMLHttpRequestUpload::setOnabort):
10241 (WebCore::XMLHttpRequestUpload::onabort):
10242 (WebCore::XMLHttpRequestUpload::setOnerror):
10243 (WebCore::XMLHttpRequestUpload::onerror):
10244 (WebCore::XMLHttpRequestUpload::setOnload):
10245 (WebCore::XMLHttpRequestUpload::onload):
10246 (WebCore::XMLHttpRequestUpload::setOnloadstart):
10247 (WebCore::XMLHttpRequestUpload::onloadstart):
10248 (WebCore::XMLHttpRequestUpload::setOnprogress):
10249 (WebCore::XMLHttpRequestUpload::onprogress):
10250 * xml/XMLHttpRequestUpload.idl:
10252 2008-09-30 Darin Adler <darin@apple.com>
10254 - roll out assertion breaking regression tests
10256 * platform/ScrollView.cpp:
10257 (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
10258 that fires in regression tests. Hyatt can add it back later. The assertion
10259 fires in the regression test because of layout that triggers repaint occuring
10260 during the process of removing a frame.
10262 2008-09-30 Adele Peterson <adele@apple.com>
10264 Reviewed by Darin Adler.
10266 Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
10267 <rdar://problem/6222134> add a way to set color for input placeholder text
10269 Test: fast/forms/placeholder-pseudo-style.html
10271 This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
10272 input elements when they are displaying the placeholder text.
10274 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
10275 * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
10276 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
10277 Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
10278 * css/html4.css: Add rule to make placeholder text default to darkGray.
10280 * html/HTMLInputElement.cpp:
10281 (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
10282 (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
10283 (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
10284 (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
10285 (WebCore::HTMLInputElement::setValue): ditto.
10286 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
10287 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
10288 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
10289 renderer will just ask the node if it should draw the placeholder.
10290 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
10292 * rendering/RenderTextControl.cpp:
10293 (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color,
10294 just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast.
10295 If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
10296 (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
10297 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
10298 is called directly from updateFromElement. updateFromElement will immediately update the text displayed.
10299 (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
10300 (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
10301 * rendering/RenderTextControl.h:
10303 2008-09-30 Beth Dakin <bdakin@apple.com>
10305 Reviewed by Darin Adler.
10307 Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
10308 by failed allocation due to invalid counter/attr
10309 and corresponding: <rdar://problem/6152371>
10311 * css/CSSParser.cpp:
10312 (WebCore::CSSParser::parseCounterContent): The spec indicates that
10313 only identifiers should be accepted here.
10315 2008-09-30 Kevin McCullough <kmccullough@apple.com>
10317 Reviewed by Oliver Hunt.
10319 Bug 21255: console.profileEnd() without a console.profile() crashes the
10322 * page/Console.cpp:
10323 (WebCore::Console::profileEnd):
10325 2008-09-30 Kevin McCullough <kmccullough@apple.com>
10327 Reviewed by Tim Hatcher.
10329 Bug 21252: calling console.profile() with a title that is 2 chars or
10330 shorter does not linkify it
10332 - Previously we tried to not linkify very short URLs but since profile
10333 titles can be any length this is not always true.
10335 * page/inspector/inspector.js:
10337 2008-09-30 Dave Hyatt <hyatt@apple.com>
10339 Remove the update() method on ScrollView. This method was only called in one place, and its purpose
10340 was to cause a display/flush to happen. Here is a breakdown of the method use on each platform:
10341 (1) Not used on Mac
10342 (2) Used on Windows
10343 (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
10344 (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
10345 (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
10347 There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
10348 cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
10349 With the changes to this method, the new behavior is as follows:
10350 (1) Not used on Mac
10351 (2) Used on Windows
10352 (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
10353 (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
10356 This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
10357 platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
10359 Reviewed by Sam Weinig
10362 * dom/Document.cpp:
10363 (WebCore::Document::implicitClose):
10364 * platform/HostWindow.h:
10365 (WebCore::HostWindow::paint):
10366 * platform/ScrollView.h:
10367 * platform/gtk/ScrollViewGtk.cpp:
10368 * platform/mac/ScrollViewMac.mm:
10369 * platform/qt/ScrollViewQt.cpp:
10370 * platform/win/ScrollViewWin.cpp:
10371 * platform/wx/ScrollViewWx.cpp:
10373 2008-09-30 Timothy Hatcher <timothy@apple.com>
10375 Focus the DOM tree in the Web Inspector when a node is inspected.
10376 So when the search field has focus, the focus moves to the tree,
10377 allowing the arrow keys work. This can happen when using the new
10378 find in page feature.
10380 https://bugs.webkit.org/show_bug.cgi?id=21251
10382 Reviewed by Geoff Garen.
10384 * page/inspector/ElementsPanel.js:
10385 (WebInspector.ElementsPanel): Set currentFocusElement to
10386 the main-panels element if the panel is visible.
10387 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
10388 Remove a set of currentFocusElement since this moved.
10389 * page/inspector/inspector.js:
10390 (WebInspector.set currentFocusElement): Always focus the element.
10391 This ensures that when focus changes in the page and we don't
10392 catch it, we will still focus the elements even if we think it
10393 was already focused.
10395 2008-09-30 Timothy Hatcher <timothy@apple.com>
10397 Make the Web Inspector's toolbar icons darker when the mouse is
10398 pressed on them. This matches the standard NSToolbar look.
10400 https://bugs.webkit.org/show_bug.cgi?id=21249
10401 rdar://problem/6033752
10403 Reviewed by Adam Roben.
10405 * page/inspector/Images/databasesIcon.png:
10406 * page/inspector/Images/elementsIcon.png:
10407 * page/inspector/Images/profilesIcon.png:
10408 * page/inspector/Images/resourcesIcon.png:
10409 * page/inspector/Images/scriptsIcon.png:
10410 * page/inspector/Panel.js:
10411 * page/inspector/inspector.css:
10413 2008-09-30 Kevin McCullough <kmccullough@apple.com>
10415 Reviewed by Tim Hatcher.
10417 Bug 21139: Profiler log message is wrong
10419 Don't call _format twice.
10422 * page/inspector/Console.js:
10423 * page/inspector/ProfilesPanel.js:
10424 * page/inspector/inspector.js:
10426 2008-09-30 Dave Hyatt <hyatt@apple.com>
10428 http://bugs.webkit.org/show_bug.cgi?id=21250
10430 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
10431 repaints up through the ChromeClient.
10433 Reviewed by Darin Adler
10435 * loader/EmptyClients.h:
10436 (WebCore::EmptyChromeClient::repaint):
10438 (WebCore::Chrome::repaint):
10440 * page/ChromeClient.h:
10441 * page/FrameView.cpp:
10442 (WebCore::FrameView::hostWindow):
10443 (WebCore::FrameView::repaintContentRectangle):
10444 * page/FrameView.h:
10445 * platform/HostWindow.h:
10446 * platform/ScrollView.cpp:
10447 (WebCore::ScrollView::repaintContentRectangle):
10448 (WebCore::ScrollView::platformRepaintContentRectangle):
10449 * platform/ScrollView.h:
10450 * platform/gtk/ScrollViewGtk.cpp:
10451 * platform/mac/ScrollViewMac.mm:
10452 (WebCore::ScrollView::platformRepaintContentRectangle):
10453 * platform/qt/ScrollViewQt.cpp:
10454 * platform/win/ScrollViewWin.cpp:
10455 * platform/wx/ScrollViewWx.cpp:
10456 (WebCore::ScrollView::platformRepaintContentRectangle):
10458 2008-09-30 Alexey Proskuryakov <ap@webkit.org>
10460 Non-Mac build fixes.
10464 * WebCore.vcproj/WebCore.vcproj:
10465 * WebCoreSources.bkl:
10466 * webcore-base.bkl:
10467 Added DOMProtect.{cpp,h}.
10469 2008-09-39 Kevin Decker <kdecker@apple.com>
10471 Reviewed by John Sullivan.
10473 * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
10474 for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
10476 2008-09-29 Julien Chaffraix <jchaffraix@webkit.org>
10478 Reviewed by Maciej Stachowiak.
10480 Bug 21106: .in format discussed changes
10481 https://bugs.webkit.org/show_bug.cgi?id=21106
10483 - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
10484 is the only namespace used.
10486 - Removed "generateFactory" and "generateWrapperFactory" parameters and
10487 re-introduced the command line options.
10489 - Cleaned up the output of make_names.pl (removed unneeded new line).
10491 * DerivedSources.make: Added factories command line options.
10492 * GNUmakefile.am: Ditto.
10493 * WebCore.pro: Ditto and removed some arguments that were migrated to
10496 * dom/make_names.pl: Clean up (see above).
10498 * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
10499 and "generateWrapperFactory" occurences.
10500 * html/HTMLTagNames.in: Ditto.
10501 * svg/svgattrs.in: Ditto.
10502 * svg/svgtags.in: Ditto.
10503 * svg/xlinkattrs.in: Ditto.
10504 * xml/xmlattrs.in: Ditto.
10506 2008-09-29 Chris Fleizach <cfleizach@apple.com>
10508 Reviewed by John Sullivan.
10510 <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
10511 Make sure that certain types of elements do not return children and, moreover, do not waste their
10512 energy trying to return children
10514 Test: accessibility/nochildren-elements.html
10516 * page/AccessibilityObject.h:
10517 (WebCore::AccessibilityObject::canHaveChildren):
10518 * page/AccessibilityRenderObject.cpp:
10519 (WebCore::AccessibilityRenderObject::canHaveChildren):
10520 (WebCore::AccessibilityRenderObject::addChildren):
10521 * page/AccessibilityRenderObject.h:
10523 2008-09-30 Alexey Proskuryakov <ap@webkit.org>
10525 Reviewed by Sam Weinig.
10527 https://bugs.webkit.org/show_bug.cgi?id=21213
10528 MessagePort crash when GC collects an object with a pending close event
10530 Test: fast/events/message-channel-gc-2.html
10531 fast/events/message-channel-listener-circular-ownership.html
10533 * bindings/DOMProtect.cpp: Added.
10534 (WebCore::gcProtectDOMObject):
10535 (WebCore::gcUnprotectDOMObject):
10536 * bindings/DOMProtect.h: Added.
10537 Added an abstraction for GC protection to avoid the need to call JS bindings code from
10538 DOM objects directly.
10540 * dom/MessagePort.cpp:
10541 (WebCore::CloseMessagePortTimer::fired):
10542 (WebCore::MessagePort::queueCloseEvent):
10543 GC protect MessagePort wrapper while there is a pending close event.
10544 This may be necessary for message events, too, but that case is not a crasher, and actually
10545 behaves to the letter of the current HTML5 text, so I'll consider it later.
10547 * xml/XMLHttpRequest.cpp:
10548 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
10549 (WebCore::XMLHttpRequest::dropProtection):
10550 Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
10552 * bindings/js/JSMessagePortCustom.cpp:
10553 (WebCore::JSMessagePort::addEventListener):
10554 (WebCore::JSMessagePort::removeEventListener):
10555 (WebCore::JSMessagePort::setOnmessage):
10556 (WebCore::JSMessagePort::setOnclose):
10557 Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
10558 know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
10560 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
10561 (WebCore::JSXMLHttpRequestUpload::mark):
10562 While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
10563 from XMLHttpRequest.
10565 2008-09-30 Adam Roben <aroben@apple.com>
10569 * DerivedSources.cpp: Add JSEventTargetNode.cpp.
10571 2008-09-29 Sam Weinig <sam@webkit.org>
10573 Reviewed by Tim Hatcher.
10575 Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
10576 Autogenerate JS event listeners
10578 - Generate EventTargetNode.
10580 * DerivedSources.make:
10583 * WebCore.vcproj/WebCore.vcproj:
10584 * WebCore.xcodeproj/project.pbxproj:
10585 * WebCoreSources.bkl:
10586 * bindings/js/JSEventListener.cpp:
10587 * bindings/js/JSEventTarget.cpp: Added.
10589 * bindings/js/JSEventTarget.h: Added.
10590 * bindings/js/JSEventTargetBase.cpp: Removed.
10591 * bindings/js/JSEventTargetBase.h:
10592 * bindings/js/JSEventTargetNode.cpp: Removed.
10593 * bindings/js/JSEventTargetNode.h: Removed.
10594 * bindings/js/JSEventTargetNodeCustom.cpp: Added.
10595 (WebCore::JSEventTargetNode::addEventListener):
10596 (WebCore::JSEventTargetNode::removeEventListener):
10597 (WebCore::JSEventTargetNode::dispatchEvent):
10598 (WebCore::JSEventTargetNode::getListener):
10599 (WebCore::JSEventTargetNode::setListener):
10600 (WebCore::JSEventTargetNode::pushEventHandlerScope):
10601 * bindings/js/JSEventTargetSVGElementInstance.cpp:
10603 (WebCore::JSEventTargetSVGElementInstancePrototype::self):
10604 (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
10605 (jsEventTargetAddEventListener):
10606 (jsEventTargetRemoveEventListener):
10607 (jsEventTargetDispatchEvent):
10608 * bindings/js/JSEventTargetSVGElementInstance.h:
10609 (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
10610 (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
10611 * bindings/scripts/CodeGeneratorJS.pm:
10612 * dom/EventTargetNode.idl: Added.
10614 2008-09-29 Darin Adler <darin@apple.com>
10616 Reviewed by Sam Weinig.
10618 - https://bugs.webkit.org/show_bug.cgi?id=21214
10619 work on getting rid of ExecState
10621 * bindings/js/JSDOMWindowBase.cpp:
10622 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
10623 for base class constructor.
10625 2008-09-29 David Hyatt <hyatt@apple.com>
10627 Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
10628 now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
10629 and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
10630 (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
10632 Reviewed by Sam Weinig
10634 * WebCore.xcodeproj/project.pbxproj:
10636 * platform/HostWindow.h: Added.
10637 (WebCore::HostWindow::HostWindow):
10638 (WebCore::HostWindow::~HostWindow):
10640 2008-09-29 Kevin Decker <kdecker@apple.com>
10642 Reviewed by Anders Carlsson.
10644 * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
10647 2008-09-29 Dan Bernstein <mitz@apple.com>
10649 Reviewed by Adam Roben.
10651 - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
10653 * rendering/RenderThemeWin.cpp:
10654 (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
10655 (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
10656 unloaded, to avoid calling uxtheme.dll functions after that library has
10658 * rendering/RenderThemeWin.h:
10660 2008-09-29 Chris Fleizach <cfleizach@apple.com>
10662 Reviewed by John Sullivan
10664 <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
10666 Sends AXLoadComplete only when the top level web area is finished loading
10668 * dom/Document.cpp:
10669 (WebCore::Document::implicitClose):
10671 2008-09-29 Timothy Hatcher <timothy@apple.com>
10673 Makes the node highlight always show up when hovering a node in
10674 the Web Inspector now that the highlight does not scroll to reveal
10675 the node. Also adds a hover effect in the inspector when hovering
10676 causes a highlight in the page. This ties the user hovering action
10677 to the highlight so it is clear what causes the highlight to appear.
10679 Also the highlight now temporarily shows up for 2 seconds after
10680 selecting a node in the DOM tree. So arrowing around in the tree
10681 will show the node on the page, providing feedback to the user.
10683 Plus fixes an issue where quickly moving away from hovering
10684 a node would keep showing the page highlight. This was happening
10685 in breadcrumbs and the DOM tree.
10687 https://bugs.webkit.org/show_bug.cgi?id=21220
10689 Reviewed by Kevin McCullough.
10691 * page/inspector/Console.js:
10692 (WebInspector.Console.prototype._mouseOverNode): Added. Used for
10693 hovering DOM nodes in the console.
10694 (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
10695 (WebInspector.Console.prototype._formatnode): Use the new event
10696 listeners and add a class name to the anchor element.
10697 * page/inspector/ElementsPanel.js:
10698 (WebInspector.ElementsPanel): Add new event listeners to the
10699 crumbs element to do the node hovering highlight.
10700 (WebInspector.ElementsPanel.prototype.hide):
10701 (WebInspector.ElementsPanel.prototype.reset):
10702 (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
10703 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
10704 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
10705 * page/inspector/ElementsTreeOutline.js:
10706 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
10707 Show the node hishlight for 2 seconds then restore the highlight
10708 to the current hovered node.
10709 (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
10710 hovered node and set the hovered state on the tree element.
10711 (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
10712 hovered node to null and removed the hovered state from the previous
10713 hovered tree element.
10714 (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
10715 the hovered class to the list item.
10716 (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
10717 * page/inspector/inspector.css:
10718 * page/inspector/inspector.js:
10719 (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
10720 based on the showingDOMNodeHighlight property of 50ms or 500ms. This
10721 causes the highlight to change sooner if there is one already showing
10722 and appear later if there isn't one showing. This is like tooltips,
10723 hovering a node for 500ms will cause highlight then mousing between nodes
10724 will keep the highlight and change to the new node.
10725 (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
10726 always reset the timeout so continuous mousing does not keep flasshing
10727 the highlight on the screen.
10728 (WebInspector._updateHoverHighlight): Removed the alt key check and added
10729 the showingDOMNodeHighlight property.
10730 (WebInspector.documentKeyDown): Removed the alt key check.
10731 (WebInspector.documentKeyUp): Ditto.
10732 (WebInspector.reset): Clear the hoveredDOMNode.
10734 2008-09-29 Simon Fraser <simon.fraser@apple.com>
10736 Reviewed by Anders Carlsson
10738 Fix RenderStyle leak in animation code, and assert that
10739 keyframe resolution in CSSStyleSelector is not going to clobber
10742 * css/CSSStyleSelector.cpp:
10743 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
10744 * page/animation/KeyframeAnimation.cpp:
10745 (WebCore::KeyframeAnimation::~KeyframeAnimation):
10747 2008-09-29 Chris Marrin <cmarrin@apple.com>
10749 Reviewed by Dave Hyatt
10751 Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
10752 Rewrite keyframe resolution to be like styleForElement()
10754 Test: animations/lineheight-animation.html
10756 * css/CSSStyleSelector.cpp:
10757 (WebCore::CSSStyleSelector::addKeyframeStyle):
10758 (WebCore::CSSStyleSelector::~CSSStyleSelector):
10759 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
10760 (WebCore::CSSRuleSet::addRulesFromSheet):
10761 (WebCore::CSSStyleSelector::mapAnimationName):
10762 * css/CSSStyleSelector.h:
10763 * page/animation/CompositeAnimation.cpp:
10764 (WebCore::CompositeAnimation::updateKeyframeAnimations):
10765 * page/animation/KeyframeAnimation.cpp:
10766 (WebCore::KeyframeAnimation::KeyframeAnimation):
10767 (WebCore::KeyframeAnimation::animate):
10768 (WebCore::KeyframeAnimation::hasAnimationForProperty):
10769 (WebCore::KeyframeAnimation::sendAnimationEvent):
10770 (WebCore::KeyframeAnimation::overrideAnimations):
10771 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
10772 (WebCore::KeyframeAnimation::affectsProperty):
10773 (WebCore::KeyframeAnimation::validateTransformFunctionList):
10774 * page/animation/KeyframeAnimation.h:
10775 * rendering/style/Animation.cpp:
10776 (WebCore::Animation::animationsMatch):
10777 * rendering/style/Animation.h:
10778 * rendering/style/KeyframeList.cpp:
10779 (WebCore::KeyframeList::~KeyframeList):
10780 (WebCore::KeyframeList::clear):
10781 (WebCore::KeyframeList::insert):
10782 * rendering/style/KeyframeList.h:
10783 (WebCore::KeyframeValue::KeyframeValue):
10784 (WebCore::KeyframeList::KeyframeList):
10785 (WebCore::KeyframeList::operator!=):
10786 (WebCore::KeyframeList::animationName):
10787 (WebCore::KeyframeList::addProperty):
10788 (WebCore::KeyframeList::containsProperty):
10789 (WebCore::KeyframeList::beginProperties):
10790 (WebCore::KeyframeList::endProperties):
10791 (WebCore::KeyframeList::isEmpty):
10792 (WebCore::KeyframeList::size):
10793 (WebCore::KeyframeList::beginKeyframes):
10794 (WebCore::KeyframeList::endKeyframes):
10795 * rendering/style/RenderStyle.h:
10796 * rendering/style/StyleRareNonInheritedData.cpp:
10797 * rendering/style/StyleRareNonInheritedData.h:
10799 2008-09-29 Chris Marrin <cmarrin@apple.com>
10801 Reviewed by Eric Seidel
10803 Clean up fix in PropertyWrapperGetter::equals
10804 https://bugs.webkit.org/show_bug.cgi?id=21011
10806 Test: transitions/override-transition-crash.html
10808 * page/animation/AnimationBase.cpp:
10809 (WebCore::PropertyWrapperGetter::equals):
10810 * page/animation/CompositeAnimation.cpp:
10811 (WebCore::CompositeAnimation::updateTransitions):
10813 2008-09-29 Chris Marrin <cmarrin@apple.com>
10815 Reviewed by Eric Seidel
10817 https://bugs.webkit.org/show_bug.cgi?id=21001
10818 Starting transition after animation, when animation
10819 is finished, transition is wrong.
10821 Test: animations/transition-and-animation-2.html
10823 * page/animation/AnimationBase.h:
10824 * page/animation/CompositeAnimation.cpp:
10825 (WebCore::CompositeAnimation::updateTransitions):
10826 (WebCore::CompositeAnimation::updateKeyframeAnimations):
10827 (WebCore::CompositeAnimation::resetTransitions):
10828 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
10829 * page/animation/ImplicitAnimation.cpp:
10830 (WebCore::ImplicitAnimation::ImplicitAnimation):
10831 (WebCore::ImplicitAnimation::~ImplicitAnimation):
10832 (WebCore::ImplicitAnimation::animate):
10833 (WebCore::ImplicitAnimation::reset):
10834 * page/animation/ImplicitAnimation.h:
10836 2008-09-29 Chris Marrin <cmarrin@apple.com>
10838 Reviewed by Sam Weinig
10840 https://bugs.webkit.org/show_bug.cgi?id=20921
10841 -webkit-animation-timing-function: inside of keyframes is ignored
10843 Test: animations/keyframe-timing-functions.html
10845 * page/animation/AnimationBase.cpp:
10846 (WebCore::AnimationBase::progress):
10847 * page/animation/AnimationBase.h:
10848 * page/animation/ImplicitAnimation.cpp:
10849 (WebCore::ImplicitAnimation::animate):
10850 * page/animation/KeyframeAnimation.cpp:
10851 (WebCore::KeyframeAnimation::animate):
10853 2008-09-29 Dan Bernstein <mitz@apple.com>
10855 - Windows build fix
10857 * platform/ScrollView.cpp:
10858 (WebCore::ScrollView::platformScroll):
10860 2008-09-29 Dan Bernstein <mitz@apple.com>
10862 - another attempt at a Windows build fix
10864 * platform/ScrollView.cpp:
10865 (WebCore::platformScroll):
10867 2008-09-29 Dan Bernstein <mitz@apple.com>
10869 - Windows build fix
10871 * platform/ScrollView.cpp:
10872 (WebCore::ScrollView::platformSetScrollPosition):
10874 2008-09-29 David Hyatt <hyatt@apple.com>
10876 https://bugs.webkit.org/show_bug.cgi?id=21218
10878 Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
10879 It's silly that the code was this fragile, but for now just put the check back in.
10881 Reviewed by Dan Bernstein
10883 * platform/ScrollView.cpp:
10884 (WebCore::ScrollView::setScrollbarModes):
10886 2008-09-29 David Hyatt <hyatt@apple.com>
10888 https://bugs.webkit.org/show_bug.cgi?id=21216
10890 Make setScrollPosition and scroll() cross-platform.
10894 * platform/ScrollView.cpp:
10895 (WebCore::ScrollView::setScrollPosition):
10896 (WebCore::ScrollView::scroll):
10897 * platform/ScrollView.h:
10898 * platform/gtk/ScrollViewGtk.cpp:
10899 * platform/mac/ScrollViewMac.mm:
10900 (WebCore::ScrollView::platformSetScrollPosition):
10901 (WebCore::ScrollView::platformScroll):
10902 * platform/qt/ScrollViewQt.cpp:
10903 * platform/win/ScrollViewWin.cpp:
10904 * platform/wx/ScrollViewWx.cpp:
10905 (WebCore::ScrollView::platformSetScrollPosition):
10906 (WebCore::ScrollView::platformScroll):
10908 2008-09-29 Kevin McCullough <kmccullough@apple.com>
10910 Reviewed by Oliver.
10912 Bug 21139: Profiler log message is wrong
10913 - Because _format was called twice the number in the log was incremented
10914 too many times, but we were passing it around in the link the whole time
10916 * page/inspector/ProfilesPanel.js:
10917 * page/inspector/inspector.js:
10919 2008-09-29 Sam Weinig <sam@webkit.org>
10921 Reviewed by Cameron Zwarich.
10923 Autogenerate EventListeners, addEventListener and removeEventListener
10926 * bindings/js/JSDOMWindowBase.cpp:
10927 * bindings/js/JSDOMWindowBase.h:
10928 * bindings/js/JSDOMWindowCustom.cpp:
10929 (WebCore::JSDOMWindow::onwebkitanimationstart):
10930 (WebCore::JSDOMWindow::setOnwebkitanimationstart):
10931 (WebCore::JSDOMWindow::onwebkitanimationiteration):
10932 (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
10933 (WebCore::JSDOMWindow::onwebkitanimationend):
10934 (WebCore::JSDOMWindow::setOnwebkitanimationend):
10935 (WebCore::JSDOMWindow::onwebkittransitionend):
10936 (WebCore::JSDOMWindow::setOnwebkittransitionend):
10937 (WebCore::JSDOMWindow::addEventListener):
10938 (WebCore::JSDOMWindow::removeEventListener):
10939 (WebCore::JSDOMWindow::setListener):
10940 (WebCore::JSDOMWindow::getListener):
10941 * bindings/scripts/CodeGeneratorJS.pm:
10942 * page/DOMWindow.idl:
10944 2008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
10948 Changed copyright from Trolltech ASA to Nokia.
10950 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
10952 * bindings/js/JSMimeTypeArrayCustom.cpp:
10953 * bindings/js/JSNavigatorCustom.cpp:
10954 * bindings/js/JSPluginArrayCustom.cpp:
10955 * bindings/js/JSPluginCustom.cpp:
10956 * bindings/js/ScriptControllerMac.mm:
10957 * bindings/js/ScriptControllerQt.cpp:
10958 * bridge/qt/qt_class.cpp:
10959 * bridge/qt/qt_class.h:
10960 * bridge/qt/qt_instance.cpp:
10961 * bridge/qt/qt_instance.h:
10962 * bridge/qt/qt_runtime.cpp:
10963 * bridge/qt/qt_runtime.h:
10964 * bridge/testqtbindings.cpp:
10965 * css/makegrammar.pl:
10967 * css/makevalues.pl:
10969 * dom/TagNodeList.cpp:
10970 * dom/TagNodeList.h:
10971 * dom/XMLTokenizer.cpp:
10972 * dom/XMLTokenizer.h:
10973 * dom/XMLTokenizerLibxml2.cpp:
10974 * dom/XMLTokenizerQt.cpp:
10975 * editing/Editor.cpp:
10976 * editing/EditorCommand.cpp:
10977 * html/CanvasRenderingContext2D.cpp:
10978 * html/CanvasStyle.cpp:
10979 * html/HTMLAppletElement.cpp:
10980 * html/HTMLEmbedElement.cpp:
10981 * html/HTMLObjectElement.cpp:
10982 * loader/FrameLoader.cpp:
10984 * page/EditorClient.h:
10987 * page/FramePrivate.h:
10988 * page/Navigator.cpp:
10989 * page/Navigator.h:
10990 * page/Navigator.idl:
10991 * page/mac/FrameMac.mm:
10992 * page/qt/EventHandlerQt.cpp:
10993 * platform/graphics/qt/FontCacheQt.cpp:
10994 * platform/graphics/qt/FontCustomPlatformData.cpp:
10995 * platform/graphics/qt/FontCustomPlatformData.h:
10996 * platform/graphics/qt/FontPlatformData.h:
10997 * platform/graphics/qt/FontQt.cpp:
10998 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
10999 * platform/graphics/qt/GraphicsContextQt.cpp:
11000 * platform/graphics/qt/ImageDecoderQt.cpp:
11001 * platform/graphics/qt/ImageDecoderQt.h:
11002 * platform/graphics/qt/ImageSourceQt.cpp:
11003 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
11004 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
11005 * platform/graphics/qt/SimpleFontDataQt.cpp:
11006 * platform/gtk/MIMETypeRegistryGtk.cpp:
11007 * platform/mac/MIMETypeRegistryMac.mm:
11008 * platform/network/qt/QNetworkReplyHandler.cpp:
11009 * platform/network/qt/QNetworkReplyHandler.h:
11010 * platform/network/qt/ResourceHandleQt.cpp:
11011 * platform/network/qt/ResourceRequestQt.cpp:
11012 * platform/qt/ClipboardQt.cpp:
11013 * platform/qt/EventLoopQt.cpp:
11014 * platform/qt/KURLQt.cpp:
11015 * platform/qt/LoggingQt.cpp:
11016 * platform/qt/MIMETypeRegistryQt.cpp:
11017 * platform/qt/PasteboardQt.cpp:
11018 * platform/qt/PlatformScreenQt.cpp:
11019 * platform/qt/PopupMenuQt.cpp:
11020 * platform/qt/QWebPopup.cpp:
11021 * platform/qt/QWebPopup.h:
11022 * platform/qt/RenderThemeQt.cpp:
11023 * platform/qt/ScrollbarQt.cpp:
11024 * platform/qt/ScrollbarThemeQt.cpp:
11025 * platform/qt/WheelEventQt.cpp:
11026 * platform/qt/html4-adjustments-qt.css:
11027 * platform/wx/MimeTypeRegistryWx.cpp:
11028 * plugins/MimeType.cpp:
11029 * plugins/MimeType.h:
11030 * plugins/MimeType.idl:
11031 * plugins/MimeTypeArray.cpp:
11032 * plugins/MimeTypeArray.h:
11033 * plugins/MimeTypeArray.idl:
11034 * plugins/Plugin.cpp:
11035 * plugins/Plugin.h:
11036 * plugins/Plugin.idl:
11037 * plugins/PluginArray.cpp:
11038 * plugins/PluginArray.h:
11039 * plugins/PluginArray.idl:
11040 * plugins/PluginData.cpp:
11041 * plugins/PluginData.h:
11042 * plugins/gtk/PluginDataGtk.cpp:
11043 * plugins/mac/PluginDataMac.mm:
11044 * plugins/qt/PluginDataQt.cpp:
11045 * plugins/win/PluginDataWin.cpp:
11046 * rendering/RenderTableCol.cpp:
11047 * rendering/RenderTableCol.h:
11049 2008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>
11053 Fix compilation with gcc 4.3
11055 gcc 4.3 is stricter and ctype.h isn't getting included
11056 automatically here by dependencies. So do it directly.
11058 * platform/qt/PlatformKeyboardEventQt.cpp:
11060 2008-09-29 Morten Sørvig <msorvig@trolltech.com>
11064 Fix compilation with Qt/Mac without plugins.
11066 * platform/qt/TemporaryLinkStubs.cpp:
11068 2008-09-29 Mark Rowe <mrowe@apple.com>
11070 Reviewed by Sam Weinig.
11072 Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
11073 In the few places that we call .upper() in WebCore the strings represent things like
11074 tag and attribute names, which are nearly always going to be ASCII.
11076 * platform/text/StringImpl.cpp:
11077 (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
11078 in to Unicode::toLower the second time.
11079 (WebCore::StringImpl::upper):
11081 2008-09-28 Mark Rowe <mrowe@apple.com>
11083 Reviewed by Sam Weinig.
11085 Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
11086 rather than String::operator+=.
11088 * css/CSSPrimitiveValue.cpp:
11089 (WebCore::CSSPrimitiveValue::cssText):
11091 2008-09-28 Mark Rowe <mrowe@apple.com>
11093 Reviewed by Oliver Hunt.
11095 Speed up computedStyle.getPropertyValue('color') by 4.5x.
11097 Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
11098 as it avoids many memory reallocations.
11100 This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
11101 by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
11102 unrelated properties on an element.
11104 * css/CSSPrimitiveValue.cpp:
11105 (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
11106 and use appendNumber rather than the String::number in order to cut down on memory allocations.
11107 * platform/text/PlatformString.h:
11108 (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
11109 into a Vector<UChar>.
11111 2008-09-28 Sam Weinig <sam@webkit.org>
11113 Reviewed by Anders Carlsson.
11115 Remove spurious call to lower().
11117 * css/MediaQueryEvaluator.cpp:
11118 (WebCore::MediaQueryEvaluator):
11120 2008-09-28 Sam Weinig <sam@webkit.org>
11122 Reviewed by Dan Bernstein.
11124 Use a CaseFoldingHash instead of calling lower on family strings.
11126 * css/CSSFontSelector.cpp:
11127 (WebCore::CSSFontSelector::addFontFaceRule):
11128 (WebCore::CSSFontSelector::getFontData):
11129 * css/CSSFontSelector.h:
11131 2008-09-28 Timothy Hatcher <timothy@apple.com>
11133 Remove the scrollIntoViewIfNeeded() call when drawing the
11134 Inspector node highlight.
11136 <rdar://problem/6115804> Don't scroll when highlighting (21000)
11137 https://bugs.webkit.org/show_bug.cgi?id=21000
11139 Reviewed by Dan Bernstein.
11141 * page/InspectorController.cpp:
11142 (WebCore::InspectorController::drawNodeHighlight):
11144 2008-09-28 David Hyatt <hyatt@apple.com>
11146 Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
11149 Reviewed by Dan Bernstein
11151 * platform/mac/ScrollbarThemeMac.mm:
11152 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
11154 2008-09-28 Timothy Hatcher <timothy@apple.com>
11156 Clear the current search results in the Inspector when
11157 the search query is less than 3 characters long. Incremental
11158 searches only occur for 3 characters or longer, but deleting
11159 under this limit would not clear the results unless the whole
11162 https://bugs.webkit.org/show_bug.cgi?id=21196
11164 Reviewed by Dan Bernstein.
11166 * page/inspector/inspector.js:
11167 (WebInspector.performSearch): Check for short queries in the
11168 if statement that triggers the clear.
11170 2008-09-28 Dan Bernstein <mitz@apple.com>
11172 Reviewed by Dave Hyatt.
11174 - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
11176 * platform/graphics/win/FontCustomPlatformData.cpp:
11177 (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
11178 overlayLength parameters.
11179 (WebCore::EOTStream::read): Added code to overlay the
11180 m_overlayLength bytes starting at m_overlayDst with the same number of
11181 bytes from m_overlaySrc.
11182 (WebCore::createFontCustomPlatformData): Changed to get overlay
11183 parameters from getEOTHeader.
11184 * platform/graphics/win/GetEOTHeader.cpp:
11185 (WebCore::getEOTHeader): Added code to specify overlaying of the
11186 family name with the prefix of the full name if they differ, because
11187 that such a difference causes TTLoadEmbeddedFont to fail.
11188 * platform/graphics/win/GetEOTHeader.h:
11190 2008-09-28 Alexey Proskuryakov <ap@webkit.org>
11192 Reviewed by Eric Seidel.
11194 https://bugs.webkit.org/show_bug.cgi?id=20366
11195 Reproducible test failure for editing/undo/undo-iframe-location-change.html
11197 * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
11199 2008-09-28 Darin Adler <darin@apple.com>
11201 Reviewed by Sam Weinig (except for a few comment and header tweaks).
11203 - https://bugs.webkit.org/show_bug.cgi?id=21158
11204 reduce use of virtual functions in Node for speed
11206 Speeds up Dromaeo a bit less than 1%.
11208 * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
11209 Node.h now that some inlines are in there.
11211 * dom/Attr.h: Override both the virtual and non-virtual name functions.
11213 * dom/ChildNodeList.cpp:
11214 (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
11215 * dom/ChildNodeList.h: Ditto.
11216 * dom/ClassNodeList.cpp:
11217 (WebCore::ClassNodeList::nodeMatches): Ditto.
11218 * dom/ClassNodeList.h: Ditto.
11220 * dom/Document.h: Put the Node::isDocumentNode() function's inline
11221 definition here where it can see the Document class definition.
11223 * dom/DynamicNodeList.cpp:
11224 (WebCore::DynamicNodeList::length): Changed to pass an Element.
11225 (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
11226 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
11227 (WebCore::DynamicNodeList::itemWithName): Ditto.
11228 * dom/DynamicNodeList.h: Ditto.
11230 * dom/Element.cpp: Removed virtualHasTagName.
11231 * dom/Element.h: Made localName, prefix, namespaceURI, and
11232 styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
11233 virtualNamespaceURI, and removed virtualHasTagName. Put the
11234 Node::hasTagName, Node::hasAttributes, and Node::attributes
11235 functions' inline definitions here where they can see the Element
11238 * dom/NameNodeList.cpp:
11239 (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
11240 * dom/NameNodeList.h: Ditto.
11243 (WebCore::Node::virtualPrefix): Renamed from prefix.
11244 (WebCore::Node::virtualLocalName): Renamed from localName.
11245 (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
11246 (WebCore::Node::styleForRenderer): Handle the Element case here.
11248 * dom/Node.h: Removed definition of hasTagName that calls virtual,
11249 since we now have a non-virtual version. Made hasAttributes,
11250 attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
11251 and styleForRenderer non-virtual. Added virtualPrefix,
11252 virtualLocalName, and virtualNamespaceURI. Removed isMalformed
11253 and setMalformed, which are used only on HTMLFormElement objects.
11255 * dom/TagNodeList.cpp:
11256 (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
11257 * dom/TagNodeList.h: Ditto.
11259 * html/HTMLAnchorElement.cpp: Added a comment.
11260 * html/HTMLFormControlElement.cpp: Ditto.
11262 * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
11263 function. Marked tabIndex function virtual explicitly for clarity.
11265 * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
11266 function. Marked isFocusable function virtual explicitly for clarity.
11268 * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
11270 * html/HTMLFormControlElement.h: Ditto.
11272 * html/HTMLFormElement.h: Made isMalformed non-virtual.
11274 * html/HTMLParser.cpp:
11275 (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
11276 pointer to call localName since that one does not need to call a virtual
11279 * rendering/RenderBlock.cpp:
11280 (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
11281 calling isMalformed. We already did a tag name check so we know it's
11282 an HTMLFormELement.
11284 * xml/XPathUtil.cpp:
11285 (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
11286 to nodeType(), since it's a virtual function.
11288 2008-09-28 David Hyatt <hyatt@apple.com>
11290 Make frameRectsChanged() cross-platform on ScrollView.
11292 Reviewed by Oliver Hunt
11294 * platform/ScrollView.cpp:
11295 (WebCore::ScrollView::frameRectsChanged):
11296 * platform/ScrollView.h:
11297 * platform/gtk/ScrollViewGtk.cpp:
11298 * platform/qt/ScrollViewQt.cpp:
11299 * platform/win/ScrollViewWin.cpp:
11300 * platform/wx/ScrollViewWx.cpp:
11302 2008-09-28 Oliver Hunt <oliver@apple.com>
11304 Reviewed by Maciej Stachowiak.
11306 Bug 21141: REGRESSION: Exception messages for user entered commands are poor
11307 <https://bugs.webkit.org/show_bug.cgi?id=21141>
11309 The bug repsonsible for this was the the JSInspectedObjectWrapper instances
11310 were not initialising their StructureID's to indicate that the wrapper
11311 overrides hasInstance, etc. The solution is simply to use the createStructureID
11312 helper on JSQuarantinedObjectWrapper to create a correct StructureID.
11314 * bindings/js/JSInspectedObjectWrapper.cpp:
11315 (WebCore::JSInspectedObjectWrapper::wrap):
11317 2008-09-28 David Hyatt <hyatt@apple.com>
11319 Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
11322 Reviewed by Oliver Hunt
11324 * dom/EventTargetNode.cpp:
11325 (WebCore::EventTargetNode::dispatchWheelEvent):
11327 2008-09-28 David Hyatt <hyatt@apple.com>
11329 https://bugs.webkit.org/show_bug.cgi?id=21191
11331 Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
11332 on ScrollView to be cross-platform.
11334 Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
11335 events are now pixel wheel events.
11337 Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
11338 (1) Page scrolling has been corrected to be properly detected (on Windows
11339 page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
11340 old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
11341 you could page scroll horizontally.
11342 (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
11343 This caused the scroll amount for page scrolling to be way too large on layers.
11345 Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.
11347 Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
11348 for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
11350 Reviewed by Oliver Hunt
11352 * editing/EditorCommand.cpp:
11353 (WebCore::verticalScrollDistance):
11354 * page/EventHandler.cpp:
11355 (WebCore::scrollAndAcceptEvent):
11356 (WebCore::EventHandler::handleWheelEvent):
11357 * platform/PlatformWheelEvent.h:
11359 (WebCore::PlatformWheelEvent::pos):
11360 (WebCore::PlatformWheelEvent::globalPos):
11361 (WebCore::PlatformWheelEvent::deltaX):
11362 (WebCore::PlatformWheelEvent::deltaY):
11363 (WebCore::PlatformWheelEvent::granularity):
11364 (WebCore::PlatformWheelEvent::x):
11365 (WebCore::PlatformWheelEvent::globalX):
11366 (WebCore::PlatformWheelEvent::ignore):
11367 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
11368 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
11369 * platform/ScrollView.cpp:
11370 (WebCore::ScrollView::wheelEvent):
11371 * platform/Scrollbar.h:
11372 * platform/gtk/ScrollViewGtk.cpp:
11373 (WebCore::ScrollView::updateScrollbars):
11374 * platform/gtk/WheelEventGtk.cpp:
11375 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11376 * platform/mac/ScrollViewMac.mm:
11377 * platform/mac/WheelEventMac.mm:
11378 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11379 * platform/qt/ScrollViewQt.cpp:
11380 (WebCore::ScrollView::updateScrollbars):
11381 * platform/qt/WheelEventQt.cpp:
11382 * platform/win/ScrollViewWin.cpp:
11383 (WebCore::ScrollView::updateScrollbars):
11384 * platform/win/WheelEventWin.cpp:
11385 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
11386 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
11387 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11388 * platform/wx/ScrollViewWx.cpp:
11389 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
11390 (WebCore::ScrollView::wheelEvent):
11391 * rendering/RenderLayer.cpp:
11392 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
11394 2008-09-27 Eric Carlson <eric.carlson@apple.com>
11396 Reviewed by Sam Weinig.
11398 fix https://bugs.webkit.org/show_bug.cgi?id=20994
11399 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
11401 HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
11402 all unsigned media attributes from string with toUInt() instead of toInt().
11404 * html/HTMLMediaElement.cpp:
11405 (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
11407 * html/HTMLVideoElement.cpp:
11408 (WebCore::HTMLVideoElement::videoWidth):
11409 (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
11410 (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
11412 (WebCore::HTMLVideoElement::height): Ditto.
11413 (WebCore::HTMLVideoElement::setWidth): take unsigned value.
11414 (WebCore::HTMLVideoElement::setHeight): Ditto.
11416 * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
11418 * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
11420 2008-09-27 Timothy Hatcher <timothy@apple.com>
11422 Fixes an exception when typing a command in the Console.
11424 Reviewed by Oliver Hunt.
11426 * page/inspector/Console.js:
11427 (WebInspector.Console.prototype.addMessage): Null check
11428 this.previosMessage.
11430 2008-09-27 Timothy Hatcher <timothy@apple.com>
11432 Fixes a bug where the Profiles panel sidebar would be empty
11433 after closing and reopening the Web Inspector.
11435 https://bugs.webkit.org/show_bug.cgi?id=21179
11437 Reviewed by Sam Weinig.
11439 * page/inspector/ProfilesPanel.js:
11440 (WebInspector.ProfilesPanel.prototype.reset): Don't call
11441 populateInterface, it is called automatically.
11442 (WebInspector.ProfilesPanel.prototype._populateProfiles):
11443 Return early if the sidebar is already populated.
11445 2008-09-27 Dave Hyatt <hyatt@apple.com>
11447 Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity
11448 incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the
11449 scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line
11450 step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
11452 There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
11453 (which should never have landed in the first place).
11455 Reviewed by Tim Hatcher, Sam Weinig
11457 * platform/win/ScrollViewWin.cpp:
11458 (WebCore::adjustDeltaForPageScrollMode):
11459 (WebCore::ScrollView::updateScrollbars):
11460 (WebCore::ScrollView::wheelEvent):
11462 2008-09-27 David Hyatt <hyatt@apple.com>
11464 Make the scrollbarUnderMouse method cross-platform.
11466 Reviewed by Sam Weinig
11468 * platform/ScrollView.cpp:
11469 (WebCore::ScrollView::scrollbarUnderMouse):
11470 * platform/gtk/ScrollViewGtk.cpp:
11471 * platform/mac/ScrollViewMac.mm:
11472 * platform/qt/ScrollViewQt.cpp:
11473 * platform/win/ScrollViewWin.cpp:
11474 * platform/wx/ScrollViewWx.cpp:
11476 2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
11480 * platform/gtk/ScrollViewGtk.cpp:
11481 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
11483 2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
11485 Reviewed by Holger Freyther.
11487 https://bugs.webkit.org/show_bug.cgi?id=20287
11488 [Gtk] disable plugins for gtk/directfb target
11490 Introduce WTF_PLATFORM_X11 for X11 builds.
11491 Also use target-specific packages when building the port
11493 * platform/gtk/PlatformScreenGtk.cpp:
11494 * plugins/gtk/PluginViewGtk.cpp:
11495 (WebCore::PluginView::updatePluginWidget):
11496 (WebCore::PluginView::getValueStatic):
11497 (WebCore::PluginView::getValue):
11498 (WebCore::PluginView::init):
11500 2008-09-27 David Hyatt <hyatt@apple.com>
11502 https://bugs.webkit.org/show_bug.cgi?id=21188
11504 Make scrollbar suppression and resizer avoidance cross-platform.
11508 * loader/FrameLoader.cpp:
11509 (WebCore::FrameLoader::transitionToCommitted):
11510 * page/FrameView.cpp:
11511 (WebCore::FrameView::resetScrollbars):
11512 (WebCore::FrameView::clear):
11513 (WebCore::FrameView::layout):
11514 (WebCore::FrameView::restoreScrollbar):
11515 (WebCore::FrameView::windowResizerRect):
11516 * page/FrameView.h:
11517 * platform/ScrollView.cpp:
11518 (WebCore::ScrollView::init):
11519 (WebCore::ScrollView::resizerOverlapsContent):
11520 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
11521 (WebCore::ScrollView::setParent):
11522 (WebCore::ScrollView::setScrollbarsSuppressed):
11523 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
11524 * platform/ScrollView.h:
11525 (WebCore::ScrollView::scrollbarsSuppressed):
11526 (WebCore::ScrollView::windowResizerRect):
11527 * platform/Scrollbar.cpp:
11528 (WebCore::Scrollbar::setFrameRect):
11529 (WebCore::Scrollbar::setParent):
11530 * platform/gtk/ScrollViewGtk.cpp:
11531 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11532 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
11533 (WebCore::ScrollView::updateScrollbars):
11534 (WebCore::ScrollView::paint):
11535 * platform/mac/ScrollViewMac.mm:
11536 (WebCore::ScrollView::ScrollView):
11537 (WebCore::ScrollView::~ScrollView):
11538 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
11539 (WebCore::ScrollView::setScrollPosition):
11540 * platform/qt/ScrollViewQt.cpp:
11541 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11542 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
11543 (WebCore::ScrollView::frameRectsChanged):
11544 (WebCore::ScrollView::updateScrollbars):
11545 (WebCore::ScrollView::paint):
11546 * platform/win/ScrollViewWin.cpp:
11547 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11548 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
11549 (WebCore::ScrollView::updateScrollbars):
11550 (WebCore::ScrollView::paint):
11551 * platform/wx/ScrollViewWx.cpp:
11552 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
11554 2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
11556 Rubber-stamped by Anders Carlsson.
11560 * plugins/PluginView.cpp:
11561 (WebCore::PluginView::load):
11563 2008-09-27 Mark Rowe <mrowe@apple.com>
11565 Rubber-stamped by Sam Weinig.
11567 Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
11568 Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
11570 Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
11572 * loader/CachedResource.cpp:
11573 (WebCore::CachedResource::~CachedResource):
11575 2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
11577 Reviewed by Simon Hausmann.
11579 [qt] Use QImageReader to figure out which image formats are supported
11580 - Qt can have many different plugins for different image formats. Instead
11581 of checking only for a few in WebCore use Qt to determine if this data
11582 can be treated as an image.
11584 * platform/graphics/qt/ImageSourceQt.cpp:
11585 (WebCore::canHandleImage):
11586 (WebCore::createDecoder):
11588 2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
11591 [qt] Clean the pattern code
11592 - Use save/restore on the painter after manipulating the
11594 - Make the context and object null checking consistent. CG is using
11595 the object unconditionally so the Qt webkit platform can do the
11597 - Move code below the early exit. Only use the m_ownerElement before
11598 the early exit as the CG code is doing it.
11600 * svg/graphics/SVGPaintServerPattern.h:
11601 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
11602 (WebCore::SVGPaintServerPattern::setup):
11603 (WebCore::SVGPaintServerPattern::teardown):
11605 2008-09-27 Keishi Hattori <casey.hattori@gmail.com>
11607 Added support for console.trace.
11609 https://bugs.webkit.org/show_bug.cgi?id=19157
11611 Reviewed by Kevin McCullough and Tim Hatcher.
11613 * bindings/js/JSConsoleCustom.cpp:
11614 (WebCore::JSConsole::trace):
11615 * page/Console.cpp:
11616 (WebCore::Console::trace): Calls Machine::retrieveCaller to
11619 (WebCore::): Added TraceMessageLevel.
11620 * page/Console.idl: Added console.trace.
11621 * page/inspector/Console.js:
11622 (ConsoleMessage): Added case for TraceMessageLevel.
11624 2008-09-27 Anders Carlsson <andersca@apple.com>
11626 Reviewed by Sam Weinig.
11628 https://bugs.webkit.org/show_bug.cgi?id=21178
11629 <rdar://problem/6248651>
11631 Check if the plug-in is allowed to load the resource. This matches Firefox.
11633 Test: http/tests/plugins/local-geturl-from-remote.html
11635 * plugins/PluginView.cpp:
11636 (WebCore::PluginView::load):
11638 2008-09-22 Dirk Schulze <vbs85@gmx.de>
11640 Reviewed by Eric Seidel.
11642 Added SVG pattern support to Qt.
11644 [Qt] SVG patterns are missing
11645 https://bugs.webkit.org/show_bug.cgi?id=20973
11647 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
11648 (WebCore::SVGPaintServerPattern::setup):
11650 2008-09-27 Keishi Hattori <casey.hattori@gmail.com>
11652 Fixed a bug in the JS syntax highlighter with multiple line tokens.
11654 https://bugs.webkit.org/show_bug.cgi?id=21171
11656 Reviewed by Tim Hatcher.
11658 * page/inspector/SourceFrame.js:
11659 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
11661 2008-09-27 Timothy Hatcher <timothy@apple.com>
11663 Change searching in the Profiles panel to not match the
11664 Self and Total columns when there are no units. The only
11665 column that is matched for unitless number searches is
11666 now the Calls column.
11668 https://bugs.webkit.org/show_bug.cgi?id=21169
11670 Reviewed by Sam Weinig.
11672 * page/inspector/ProfileView.js:
11673 (WebInspector.ProfileView.prototype.performSearch):
11675 2008-09-27 David Hyatt <hyatt@apple.com>
11677 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
11679 Reviewed by Sam Weinig
11681 * platform/ScrollView.h:
11682 * platform/Widget.h:
11683 (WebCore::Widget::boundsRect):
11684 (WebCore::Widget::invalidate):
11685 (WebCore::Widget::frameRectsChanged):
11686 * platform/gtk/ScrollViewGtk.cpp:
11687 (WebCore::ScrollViewScrollbar::frameRectsChanged):
11688 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
11689 (WebCore::ScrollView::setFrameRect):
11690 (WebCore::ScrollView::updateScrollbars):
11691 (WebCore::ScrollView::frameRectsChanged):
11692 * platform/gtk/ScrollbarGtk.cpp:
11693 (ScrollbarGtk::setFrameRect):
11694 (ScrollbarGtk::frameRectsChanged):
11695 * platform/gtk/ScrollbarGtk.h:
11696 * platform/gtk/WidgetGtk.cpp:
11697 * platform/qt/ScrollViewQt.cpp:
11698 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
11699 (WebCore::ScrollView::setFrameRect):
11700 (WebCore::ScrollView::frameRectsChanged):
11701 (WebCore::ScrollView::updateScrollbars):
11702 * platform/win/ScrollViewWin.cpp:
11703 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
11704 (WebCore::ScrollView::setFrameRect):
11705 (WebCore::ScrollView::updateScrollbars):
11706 (WebCore::ScrollView::frameRectsChanged):
11707 * plugins/PluginView.cpp:
11708 (WebCore::PluginView::frameRectsChanged):
11709 * plugins/PluginView.h:
11711 2008-09-27 Simon Hausmann <hausmann@webkit.org>
11713 Refix the previous build fix to compile on non-Qt platforms, too.
11715 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
11716 WebCore to generate the PrototypeTable in the WebCore namespace
11717 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
11718 table remains in the Webcore namespace
11719 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
11721 2008-09-27 Simon Hausmann <hausmann@webkit.org>
11723 Fix compilation with gcc 4.3 (probably > 4.0)
11725 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
11726 get/put functions inside the WebCore namespace.
11727 * bindings/js/JSEventTargetBase.cpp: Ditto.
11728 * bindings/js/JSEventTargetNode.cpp: Ditto.
11729 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
11730 * bindings/js/JSEventTargetBase.h: Forward declare
11731 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
11732 defines it in the JSC namespace.
11733 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
11734 prefix for PrototypeTable symbol.
11736 2008-09-27 David Hyatt <hyatt@apple.com>
11738 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
11740 Reviewed by Dan Bernstein
11742 * WebCore.base.exp:
11743 * page/FrameView.cpp:
11744 (WebCore::FrameView::FrameView):
11745 (WebCore::FrameView::updateControlTints):
11746 * platform/ScrollView.h:
11747 * platform/Scrollbar.cpp:
11748 (WebCore::Scrollbar::Scrollbar):
11749 (WebCore::Scrollbar::paint):
11750 (WebCore::Scrollbar::setFrameRect):
11751 * platform/Scrollbar.h:
11752 * platform/ScrollbarThemeComposite.cpp:
11753 (WebCore::ScrollbarThemeComposite::paint):
11754 * platform/Widget.h:
11755 (WebCore::Widget::x):
11756 (WebCore::Widget::y):
11757 (WebCore::Widget::width):
11758 (WebCore::Widget::height):
11759 (WebCore::Widget::size):
11760 (WebCore::Widget::pos):
11761 (WebCore::Widget::resize):
11762 (WebCore::Widget::move):
11763 * platform/gtk/ScrollViewGtk.cpp:
11764 (WebCore::ScrollViewScrollbar::geometryChanged):
11765 (WebCore::ScrollView::update):
11766 (WebCore::ScrollView::setFrameRect):
11767 (WebCore::ScrollView::updateScrollbars):
11768 (WebCore::ScrollView::scrollbarUnderMouse):
11769 (WebCore::ScrollView::paint):
11770 * platform/gtk/ScrollbarGtk.cpp:
11771 (ScrollbarGtk::setFrameRect):
11772 (ScrollbarGtk::geometryChanged):
11773 * platform/gtk/ScrollbarGtk.h:
11774 * platform/gtk/WidgetGtk.cpp:
11775 (WebCore::Widget::frameRect):
11776 (WebCore::Widget::setFrameRect):
11777 * platform/mac/ScrollbarThemeMac.mm:
11778 (WebCore::ScrollbarThemeMac::trackRect):
11779 (WebCore::ScrollbarThemeMac::paint):
11780 * platform/mac/WidgetMac.mm:
11781 (WebCore::Widget::frameRect):
11782 (WebCore::Widget::setFrameRect):
11783 * platform/qt/ScrollViewQt.cpp:
11784 (WebCore::ScrollView::setFrameRect):
11785 (WebCore::ScrollView::updateScrollbars):
11786 (WebCore::ScrollView::scrollbarUnderMouse):
11787 (WebCore::ScrollView::paint):
11788 * platform/qt/ScrollbarThemeQt.cpp:
11789 (WebCore::styleOptionSlider):
11790 * platform/qt/WidgetQt.cpp:
11791 (WebCore::Widget::frameRect):
11792 (WebCore::Widget::setFrameRect):
11793 * platform/win/PopupMenuWin.cpp:
11794 (WebCore::PopupMenu::invalidateItem):
11795 (WebCore::PopupMenu::valueChanged):
11796 (WebCore::PopupWndProc):
11797 * platform/win/ScrollViewWin.cpp:
11798 (WebCore::ScrollView::setFrameRect):
11799 (WebCore::ScrollView::updateScrollbars):
11800 (WebCore::ScrollView::scrollbarUnderMouse):
11801 (WebCore::ScrollView::paint):
11802 * platform/win/ScrollbarThemeSafari.cpp:
11803 (WebCore::ScrollbarThemeSafari::trackRect):
11804 * platform/win/WidgetWin.cpp:
11805 (WebCore::Widget::frameRect):
11806 (WebCore::Widget::setFrameRect):
11807 * platform/wx/WidgetWx.cpp:
11808 (WebCore::Widget::frameRect):
11809 (WebCore::Widget::setFrameRect):
11810 * plugins/PluginView.cpp:
11811 (WebCore::PluginView::setFrameRect):
11812 * plugins/PluginView.h:
11813 * plugins/gtk/PluginViewGtk.cpp:
11814 (WebCore::PluginView::updatePluginWidget):
11815 (WebCore::PluginView::paint):
11816 (WebCore::PluginView::init):
11817 * plugins/qt/PluginViewQt.cpp:
11818 (WebCore::PluginView::updatePluginWidget):
11819 (WebCore::PluginView::init):
11820 * plugins/win/PluginViewWin.cpp:
11821 (WebCore::PluginView::updatePluginWidget):
11822 (WebCore::PluginView::paintMissingPluginIcon):
11823 (WebCore::PluginView::paint):
11824 (WebCore::PluginView::init):
11825 * rendering/RenderLayer.cpp:
11826 (WebCore::RenderLayer::positionOverflowControls):
11827 * rendering/RenderListBox.cpp:
11828 (WebCore::RenderListBox::paintScrollbar):
11829 * rendering/RenderPart.cpp:
11830 (WebCore::RenderPart::updateWidgetPosition):
11831 * rendering/RenderWidget.cpp:
11832 (WebCore::RenderWidget::setWidgetGeometry):
11833 (WebCore::RenderWidget::updateWidgetPosition):
11835 2008-09-27 David Hyatt <hyatt@apple.com>
11837 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
11839 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
11840 access an actual member variable.
11842 Reviewed by Dan Bernstein
11844 * page/FocusController.cpp:
11845 (WebCore::FocusController::setFocusedFrame):
11847 2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
11849 Attempt to fix QT Build. Not reviewed.
11851 * WebCore.pro: add -n WebCore parameter to create_hash_table
11853 2008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
11855 Reviewed by Eric Seidel.
11857 http://bugs.webkit.org/show_bug.cgi?id=18905
11858 [GTK] Fix build with older pango (1.14.8)
11860 * platform/graphics/gtk/FontGtk.cpp:
11861 * platform/gtk/Language.cpp:
11862 (_pango_get_lc_ctype):
11863 (pango_language_get_default):
11865 2008-09-26 David Hyatt <hyatt@apple.com>
11867 https://bugs.webkit.org/show_bug.cgi?id=21168
11869 Make contentsToWindow/windowToContents cross-platform.
11871 Reviewed by Oliver Hunt
11873 * platform/ScrollView.cpp:
11874 (WebCore::ScrollView::windowToContents):
11875 (WebCore::ScrollView::contentsToWindow):
11876 * platform/ScrollView.h:
11877 * platform/gtk/ScrollViewGtk.cpp:
11878 * platform/mac/ScrollViewMac.mm:
11879 * platform/qt/ScrollViewQt.cpp:
11880 * platform/win/ScrollViewWin.cpp:
11881 * platform/wx/ScrollViewWx.cpp:
11883 2008-09-26 Sam Weinig <sam@webkit.org>
11889 2008-09-26 David Hyatt <hyatt@apple.com>
11891 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
11892 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
11893 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
11895 Reviewed by Oliver Hunt
11897 * page/FrameView.cpp:
11898 (WebCore::FrameView::repaintContentRectangle):
11899 * page/FrameView.h:
11900 * platform/ScrollView.h:
11901 * platform/gtk/ScrollViewGtk.cpp:
11902 (WebCore::ScrollView::isOffscreen):
11903 * platform/mac/ScrollViewMac.mm:
11904 (WebCore::ScrollView::updateContents):
11905 (WebCore::ScrollView::isOffscreen):
11906 * platform/qt/ScrollViewQt.cpp:
11907 (WebCore::ScrollView::isOffscreen):
11908 * platform/win/ScrollViewWin.cpp:
11909 (WebCore::ScrollView::isOffscreen):
11910 * platform/wx/ScrollViewWx.cpp:
11911 (WebCore::ScrollView::isOffscreen):
11912 * rendering/RenderObject.cpp:
11913 (WebCore::RenderObject::willRenderImage):
11915 2008-09-26 David Hyatt <hyatt@apple.com>
11917 https://bugs.webkit.org/show_bug.cgi?id=21164
11919 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
11921 Reviewed by Sam Weinig
11923 * WebCore.base.exp:
11924 * page/FrameView.cpp:
11925 (WebCore::FrameView::setAllowsScrolling):
11926 * page/FrameView.h:
11927 * platform/ScrollView.cpp:
11928 (WebCore::ScrollView::setAllowsScrolling):
11929 * platform/ScrollView.h:
11930 (WebCore::ScrollView::allowsScrolling):
11931 * platform/win/ScrollViewWin.cpp:
11932 (WebCore::ScrollView::wheelEvent):
11934 2008-09-26 Kevin Ollivier <kevino@theolliviers.com>
11936 wx build fixes after Widget/ScrollView changes.
11938 * platform/wx/PopupMenuWx.cpp:
11939 (WebCore::PopupMenu::show):
11940 * platform/wx/ScrollViewWx.cpp:
11941 (WebCore::ScrollView::platformSetContentsSize):
11942 (WebCore::ScrollView::platformSetScrollbarModes):
11943 (WebCore::ScrollView::wheelEvent):
11944 * platform/wx/TemporaryLinkStubs.cpp:
11945 * platform/wx/WidgetWx.cpp:
11946 (WebCore::Widget::containingWindow):
11948 2008-09-26 Timothy Hatcher <timothy@apple.com>
11950 Allow searching for paths by always performing the
11951 three search methods in the Elements panel and not
11952 assume a search with a "/" is a XPath query.
11954 https://bugs.webkit.org/show_bug.cgi?id=21159
11956 Reviewed by Geoff Garen.
11958 * page/inspector/ElementsPanel.js:
11959 (WebInspector.ElementsPanel.prototype.performSearch):
11961 2008-09-26 Sam Weinig <sam@webkit.org>
11963 Reviewed by Darin Adler.
11965 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
11966 Speedup static property get/put
11968 * DerivedSources.make:
11971 * WebCore.vcproj/WebCore.vcproj:
11972 * WebCore.xcodeproj/project.pbxproj:
11973 * bindings/js/JSDOMBinding.cpp:
11974 * bindings/js/JSDOMBinding.h:
11975 * bindings/js/JSDOMWindowBase.cpp:
11976 (WebCore::getDOMConstructor):
11977 (WebCore::jsDOMWindowBaseCrypto):
11978 (WebCore::jsDOMWindowBaseEvent):
11979 (WebCore::jsDOMWindowBaseImage):
11980 (WebCore::jsDOMWindowBaseMessageChannel):
11981 (WebCore::jsDOMWindowBaseOption):
11982 (WebCore::jsDOMWindowBaseXMLHttpRequest):
11983 (WebCore::jsDOMWindowBaseAudio):
11984 (WebCore::jsDOMWindowBaseXSLTProcessor):
11985 (WebCore::jsDOMWindowBaseOnabort):
11986 (WebCore::jsDOMWindowBaseOnblur):
11987 (WebCore::jsDOMWindowBaseOnchange):
11988 (WebCore::jsDOMWindowBaseOnclick):
11989 (WebCore::jsDOMWindowBaseOndblclick):
11990 (WebCore::jsDOMWindowBaseOnerror):
11991 (WebCore::jsDOMWindowBaseOnfocus):
11992 (WebCore::jsDOMWindowBaseOnkeydown):
11993 (WebCore::jsDOMWindowBaseOnkeypress):
11994 (WebCore::jsDOMWindowBaseOnkeyup):
11995 (WebCore::jsDOMWindowBaseOnload):
11996 (WebCore::jsDOMWindowBaseOnmousedown):
11997 (WebCore::jsDOMWindowBaseOnmousemove):
11998 (WebCore::jsDOMWindowBaseOnmouseout):
11999 (WebCore::jsDOMWindowBaseOnmouseover):
12000 (WebCore::jsDOMWindowBaseOnmouseup):
12001 (WebCore::jsDOMWindowBaseOnMouseWheel):
12002 (WebCore::jsDOMWindowBaseOnreset):
12003 (WebCore::jsDOMWindowBaseOnresize):
12004 (WebCore::jsDOMWindowBaseOnscroll):
12005 (WebCore::jsDOMWindowBaseOnsearch):
12006 (WebCore::jsDOMWindowBaseOnselect):
12007 (WebCore::jsDOMWindowBaseOnsubmit):
12008 (WebCore::jsDOMWindowBaseOnbeforeunload):
12009 (WebCore::jsDOMWindowBaseOnunload):
12010 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
12011 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
12012 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
12013 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
12014 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
12015 (WebCore::JSDOMWindowBase::put):
12016 (WebCore::setJSDOMWindowBaseOnabort):
12017 (WebCore::setJSDOMWindowBaseOnblur):
12018 (WebCore::setJSDOMWindowBaseOnchange):
12019 (WebCore::setJSDOMWindowBaseOnclick):
12020 (WebCore::setJSDOMWindowBaseOndblclick):
12021 (WebCore::setJSDOMWindowBaseOnerror):
12022 (WebCore::setJSDOMWindowBaseOnfocus):
12023 (WebCore::setJSDOMWindowBaseOnkeydown):
12024 (WebCore::setJSDOMWindowBaseOnkeypress):
12025 (WebCore::setJSDOMWindowBaseOnkeyup):
12026 (WebCore::setJSDOMWindowBaseOnload):
12027 (WebCore::setJSDOMWindowBaseOnmousedown):
12028 (WebCore::setJSDOMWindowBaseOnmousemove):
12029 (WebCore::setJSDOMWindowBaseOnmouseout):
12030 (WebCore::setJSDOMWindowBaseOnmouseover):
12031 (WebCore::setJSDOMWindowBaseOnmouseup):
12032 (WebCore::setJSDOMWindowBaseOnMouseWheel):
12033 (WebCore::setJSDOMWindowBaseOnreset):
12034 (WebCore::setJSDOMWindowBaseOnresize):
12035 (WebCore::setJSDOMWindowBaseOnscroll):
12036 (WebCore::setJSDOMWindowBaseOnsearch):
12037 (WebCore::setJSDOMWindowBaseOnselect):
12038 (WebCore::setJSDOMWindowBaseOnsubmit):
12039 (WebCore::setJSDOMWindowBaseOnbeforeunload):
12040 (WebCore::setJSDOMWindowBaseOnunload):
12041 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
12042 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
12043 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
12044 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
12045 (WebCore::setJSDOMWindowBaseEvent):
12046 (WebCore::setJSDOMWindowBaseAudio):
12047 (WebCore::setJSDOMWindowBaseImage):
12048 (WebCore::setJSDOMWindowBaseMessageChannel):
12049 (WebCore::setJSDOMWindowBaseOption):
12050 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
12051 (WebCore::setJSDOMWindowBaseXSLTProcessor):
12052 * bindings/js/JSDOMWindowBase.h:
12053 * bindings/js/JSDOMWindowCustom.cpp:
12054 (WebCore::nonCachingStaticCloseFunctionGetter):
12055 (WebCore::nonCachingStaticBlurFunctionGetter):
12056 (WebCore::nonCachingStaticFocusFunctionGetter):
12057 (WebCore::nonCachingStaticPostMessageFunctionGetter):
12058 * bindings/js/JSDOMWindowCustom.h:
12059 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
12060 * bindings/js/JSEventTargetBase.cpp:
12061 * bindings/js/JSEventTargetBase.h:
12062 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
12063 (WebCore::JSEventTargetBasePrototype::classInfo):
12064 * bindings/js/JSEventTargetNode.cpp:
12066 (WebCore::JSEventTargetNode::getOwnPropertySlot):
12067 (WebCore::JSEventTargetNode::put):
12068 * bindings/js/JSEventTargetNode.h:
12069 (WebCore::JSEventTargetNode::classInfo):
12070 (WebCore::JSEventTargetNode::prototypeClassName):
12071 * bindings/js/JSEventTargetSVGElementInstance.cpp:
12073 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
12074 (WebCore::JSEventTargetSVGElementInstance::put):
12075 * bindings/js/JSEventTargetSVGElementInstance.h:
12076 (WebCore::JSEventTargetSVGElementInstance::classInfo):
12077 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
12078 * bindings/js/JSHTMLInputElementCustom.cpp:
12079 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
12080 * bindings/js/JSHistoryCustom.cpp:
12081 (WebCore::nonCachingStaticBackFunctionGetter):
12082 (WebCore::nonCachingStaticForwardFunctionGetter):
12083 (WebCore::nonCachingStaticGoFunctionGetter):
12084 (WebCore::JSHistory::customGetOwnPropertySlot):
12085 * bindings/js/JSLocationCustom.cpp:
12086 (WebCore::nonCachingStaticReplaceFunctionGetter):
12087 (WebCore::nonCachingStaticReloadFunctionGetter):
12088 (WebCore::nonCachingStaticAssignFunctionGetter):
12089 (WebCore::JSLocation::customGetOwnPropertySlot):
12090 (WebCore::JSLocation::customPut):
12091 * bindings/scripts/CodeGeneratorJS.pm:
12093 2008-09-26 David Hyatt <hyatt@apple.com>
12095 https://bugs.webkit.org/show_bug.cgi?id=21149
12097 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
12098 Eliminate the unused isScrollable() method.
12100 Reviewed by Sam Weinig
12102 * WebCore.base.exp:
12103 * page/FrameView.cpp:
12104 (WebCore::FrameView::resetScrollbars):
12105 (WebCore::FrameView::initScrollbars):
12106 (WebCore::FrameView::layout):
12107 * page/FrameView.h:
12108 * page/mac/WebCoreFrameView.h:
12109 * platform/ScrollView.cpp:
12110 (WebCore::ScrollView::init):
12111 (WebCore::ScrollView::setScrollbarModes):
12112 (WebCore::ScrollView::scrollbarModes):
12113 (WebCore::ScrollView::platformSetScrollbarModes):
12114 (WebCore::ScrollView::platformScrollbarModes):
12115 * platform/ScrollView.h:
12116 (WebCore::ScrollView::horizontalScrollbar):
12117 (WebCore::ScrollView::verticalScrollbar):
12118 (WebCore::ScrollView::isScrollViewScrollbar):
12119 (WebCore::ScrollView::setHorizontalScrollbarMode):
12120 (WebCore::ScrollView::setVerticalScrollbarMode):
12121 (WebCore::ScrollView::horizontalScrollbarMode):
12122 (WebCore::ScrollView::verticalScrollbarMode):
12123 (WebCore::ScrollView::convertSelfToChild):
12124 * platform/gtk/ScrollViewGtk.cpp:
12125 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12126 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12127 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12128 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12129 (WebCore::ScrollView::updateScrollbars):
12130 (WebCore::ScrollView::scrollbarUnderMouse):
12131 (WebCore::ScrollView::isScrollViewScrollbar):
12132 (WebCore::ScrollView::paint):
12133 (WebCore::ScrollView::scroll):
12134 * platform/mac/ScrollViewMac.mm:
12135 (WebCore::ScrollView::platformSetScrollbarModes):
12136 (WebCore::ScrollView::platformScrollbarModes):
12137 * platform/qt/ScrollViewQt.cpp:
12138 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12139 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12140 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12141 (WebCore::ScrollView::horizontalScrollbar):
12142 (WebCore::ScrollView::verticalScrollbar):
12143 (WebCore::ScrollView::invalidateScrollbars):
12144 (WebCore::ScrollView::updateScrollbars):
12145 (WebCore::ScrollView::scrollbarUnderMouse):
12146 (WebCore::ScrollView::paint):
12147 (WebCore::ScrollView::scroll):
12148 * platform/win/ScrollViewWin.cpp:
12149 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12150 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12151 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12152 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12153 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
12154 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
12155 (WebCore::ScrollView::suppressScrollbars):
12156 (WebCore::ScrollView::updateScrollbars):
12157 (WebCore::ScrollView::scrollbarUnderMouse):
12158 (WebCore::ScrollView::paint):
12159 (WebCore::ScrollView::scroll):
12160 * platform/wx/ScrollViewWx.cpp:
12161 (WebCore::ScrollView::platformSetScrollbarModes):
12162 (WebCore::ScrollView::platformScrollbarModes):
12164 2008-09-26 David Kilzer <ddkilzer@apple.com>
12166 Fix Mac build with XPATH and XSLT disabled
12168 Reviewed by Alexey.
12170 * bindings/objc/DOMUtility.mm:
12171 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
12172 * dom/XMLTokenizerLibxml2.cpp:
12173 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
12174 prevent an unused code warning.
12176 2008-09-26 Kevin McCullough <kmccullough@apple.com>
12178 Rubber stamped by Tim Hatcher.
12180 Bug 21098: Crashing under Console::log
12181 - Speculative ASSERT to help find the problem.
12183 * page/InspectorController.cpp:
12184 (WebCore::ConsoleMessage::isEqual):
12186 2008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
12188 [gtk+] Build fix for the latest ScrollView changes
12190 * platform/gtk/ScrollViewGtk.cpp:
12191 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
12192 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12194 2008-09-26 Timothy Hatcher <timothy@apple.com>
12196 Fixes a bug where the console message repeat count would be wrong
12197 when typing commands in between repeated messages.
12199 https://bugs.webkit.org/show_bug.cgi?id=21145
12201 Reviewed by Kevin McCullough.
12203 * page/InspectorController.cpp:
12204 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
12205 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
12206 * page/inspector/Console.js:
12207 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
12208 for each message as totalRepeatCount, since we now modify repeatCount to mean
12209 repeats since previous console command. If repeatCountBeforeCommand is a number,
12210 subtract that value from the repeatCount.
12211 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
12212 and commandSincePreviousMessage properties.
12214 2008-09-26 Eric Carlson <eric.carlson@apple.com>
12218 https://bugs.webkit.org/show_bug.cgi?id=21116
12219 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
12220 back to page with <video>, then closing tab
12222 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
12223 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
12226 * dom/Document.cpp:
12227 (WebCore::Document::documentWillBecomeInactive):
12228 (WebCore::Document::documentDidBecomeActive):
12229 (WebCore::Document::registerForDocumentActivationCallbacks):
12230 (WebCore::Document::unregisterForDocumentActivationCallbacks):
12233 (WebCore::Element::documentWillBecomeInactive):
12234 (WebCore::Element::documentDidBecomeActive):
12235 * history/CachedPage.cpp:
12236 (WebCore::CachedPage::CachedPage):
12237 * html/HTMLFormElement.cpp:
12238 (WebCore::HTMLFormElement::~HTMLFormElement):
12239 (WebCore::HTMLFormElement::parseMappedAttribute):
12240 (WebCore::HTMLFormElement::documentDidBecomeActive):
12241 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
12242 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
12243 * html/HTMLFormElement.h:
12244 * html/HTMLInputElement.cpp:
12245 (WebCore::HTMLInputElement::~HTMLInputElement):
12246 (WebCore::HTMLInputElement::setInputType):
12247 (WebCore::HTMLInputElement::parseMappedAttribute):
12248 (WebCore::HTMLInputElement::needsActivationCallback):
12249 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
12250 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
12251 (WebCore::HTMLInputElement::documentDidBecomeActive):
12252 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
12253 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
12254 * html/HTMLInputElement.h:
12255 * html/HTMLMediaElement.cpp:
12256 (WebCore::HTMLMediaElement::HTMLMediaElement):
12257 (WebCore::HTMLMediaElement::~HTMLMediaElement):
12258 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
12259 (WebCore::HTMLMediaElement::documentDidBecomeActive):
12260 * html/HTMLMediaElement.h:
12261 (WebCore::HTMLMediaElement::inActiveDocument):
12262 * loader/FrameLoader.cpp:
12263 (WebCore::FrameLoader::opened):
12265 (WebCore::Page::~Page):
12266 * rendering/RenderMedia.cpp:
12267 (WebCore::RenderMedia::updateControls):
12268 * rendering/RenderVideo.cpp:
12269 (WebCore::RenderVideo::updatePlayer):
12270 * svg/SVGSVGElement.cpp:
12271 (WebCore::SVGSVGElement::SVGSVGElement):
12272 (WebCore::SVGSVGElement::~SVGSVGElement):
12273 (WebCore::SVGSVGElement::documentWillBecomeInactive):
12274 (WebCore::SVGSVGElement::documentDidBecomeActive):
12275 * svg/SVGSVGElement.h:
12277 2008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
12281 Fix the build inside Qt, don't create faulty prl files for now.
12285 2008-09-26 Simon Hausmann <hausmann@webkit.org>
12287 Fix compilation on Qt/Windows
12289 * Add WebCore/ to the include path so that config.h is found that enables JSC
12290 * Link against winmm for the multimedia timer functions
12291 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
12293 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
12294 but set m_window directly as setPlatformWidget takes a QWidget*.
12297 * platform/win/SystemTimeWin.cpp:
12298 * plugins/win/PluginViewWin.cpp:
12299 (WebCore::PluginView::init):
12301 2008-09-26 Oliver Hunt <oliver@apple.com>
12303 Reviewed by Maciej Stachowiak.
12305 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
12306 <https://bugs.webkit.org/show_bug.cgi?id=21054>
12308 This performance regression is actually just a symptom of a correctness
12309 bug. The constructor objects for a number of properties that have security
12310 checks on access were returning new objects each time. The most obvious
12311 symptom of this bug is that window.Image != window.Image, etc.
12313 The solution to this is to make sure we cache these constructors
12314 in the same way as all the other DOM constructors. To achieve this
12315 without causing any refcount cycles it is necessary to replace the
12316 refcounted document pointer in the Image, MessageChannel, Option,
12317 XMLHttpRequest, and Audio constructor objects with a reference to
12318 the document's JS wrapper.
12320 Tests: fast/dom/constructors-cached-navigate.html
12321 fast/dom/constructors-cached.html
12323 * WebCore.xcodeproj/project.pbxproj:
12324 * bindings/js/JSAudioConstructor.cpp:
12325 (WebCore::JSAudioConstructor::mark):
12326 * bindings/js/JSAudioConstructor.h:
12327 (WebCore::JSAudioConstructor::document):
12328 * bindings/js/JSDOMWindowBase.cpp:
12329 (WebCore::getDOMConstructor):
12330 (WebCore::JSDOMWindowBase::getValueProperty):
12331 * bindings/js/JSDOMWindowBase.h:
12332 * bindings/js/JSHTMLOptionElementConstructor.cpp:
12333 (WebCore::JSHTMLOptionElementConstructor::mark):
12334 * bindings/js/JSHTMLOptionElementConstructor.h:
12335 (WebCore::JSHTMLOptionElementConstructor::document):
12336 * bindings/js/JSImageConstructor.cpp:
12337 (WebCore::JSImageConstructor::mark):
12338 * bindings/js/JSImageConstructor.h:
12339 (WebCore::JSImageConstructor::document):
12340 * bindings/js/JSXMLHttpRequestConstructor.cpp:
12341 (WebCore::JSXMLHttpRequestConstructor::mark):
12342 * bindings/js/JSXMLHttpRequestConstructor.h:
12343 (WebCore::JSXMLHttpRequestConstructor::document):
12345 2008-09-26 Simon Hausmann <hausmann@webkit.org>
12347 Unreviewed one-liner build fix for the Qt/Windows build.
12349 The build requires NPAPI support to be enabled, fix the condition in
12350 the .pro file for that.
12354 2008-09-26 Trenton Schulz <twschulz@trolltech.com>
12358 Fix compilation with the Qt/Cocoa port.
12360 * platform/qt/ScrollViewQt.cpp:
12361 (WebCore::ScrollView::updateScrollbars):
12363 2008-09-26 Simon Hausmann <hausmann@webkit.org>
12365 Reviewed by Holger.
12367 Fix compilation with VC9SP1, work around bug in TR1 library by
12372 2008-09-26 Simon Hausmann <hausmann@webkit.org>
12374 Reviewed by Holger.
12376 Fix an lupdate() warning.
12378 Don't use tr() in a class that is not a QObject, use
12379 QCoreApplication::translate() directly.
12381 * platform/qt/ScrollbarQt.cpp:
12382 (WebCore::Scrollbar::handleContextMenuEvent):
12384 2008-09-25 David Hyatt <hyatt@apple.com>
12386 Remove the scrollTo() method from FrameView, since it is not used by anyone.
12388 Reviewed by Oliver Hunt
12390 * page/FrameView.cpp:
12391 * page/FrameView.h:
12393 2008-09-25 David Hyatt <hyatt@apple.com>
12395 Make scrollRectIntoViewRecursively cross-platform.
12397 Reviewed by Oliver Hunt
12399 * platform/ScrollView.cpp:
12400 (WebCore::ScrollView::scrollRectIntoViewRecursively):
12401 * platform/gtk/ScrollViewGtk.cpp:
12402 * platform/mac/ScrollViewMac.mm:
12403 * platform/qt/ScrollViewQt.cpp:
12404 * platform/win/ScrollViewWin.cpp:
12405 * platform/wx/ScrollViewWx.cpp:
12407 2008-09-25 David Hyatt <hyatt@apple.com>
12409 https://bugs.webkit.org/show_bug.cgi?id=21133
12411 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
12414 Reviewed by Oliver Hunt
12416 * loader/FrameLoader.cpp:
12417 (WebCore::FrameLoader::begin):
12418 * page/FrameView.cpp:
12419 (WebCore::FrameView::adjustViewSize):
12420 * platform/ScrollView.cpp:
12421 (WebCore::ScrollView::setContentsSize):
12422 * platform/ScrollView.h:
12423 (WebCore::ScrollView::updateScrollbars):
12424 * platform/gtk/ScrollViewGtk.cpp:
12425 * platform/mac/ScrollViewMac.mm:
12426 (WebCore::ScrollView::platformSetContentsSize):
12427 * platform/qt/ScrollViewQt.cpp:
12428 * platform/win/ScrollViewWin.cpp:
12429 * platform/wx/ScrollViewWx.cpp:
12430 (WebCore::ScrollView::platformSetContentsSize):
12432 2008-09-25 David Hyatt <hyatt@apple.com>
12434 https://bugs.webkit.org/show_bug.cgi?id=21132
12436 Clean up the methods that actually do the scrolling in ScrollView.
12438 Reviewed by Oliver Hunt
12440 * html/HTMLBodyElement.cpp:
12441 (WebCore::HTMLBodyElement::setScrollLeft):
12442 (WebCore::HTMLBodyElement::setScrollTop):
12443 * loader/FrameLoader.cpp:
12444 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
12445 * loader/ImageDocument.cpp:
12446 (WebCore::ImageDocument::imageClicked):
12447 * page/DOMWindow.cpp:
12448 (WebCore::DOMWindow::scrollBy):
12449 (WebCore::DOMWindow::scrollTo):
12450 * page/FrameView.cpp:
12451 (WebCore::FrameView::scrollTo):
12452 (WebCore::FrameView::setScrollPosition):
12453 * page/FrameView.h:
12454 * platform/ScrollView.cpp:
12455 (WebCore::ScrollView::maximumScrollPosition):
12456 * platform/ScrollView.h:
12457 (WebCore::ScrollView::contentsWidth):
12458 (WebCore::ScrollView::contentsHeight):
12459 (WebCore::ScrollView::scrollBy):
12460 * platform/gtk/ScrollViewGtk.cpp:
12461 (WebCore::ScrollView::setScrollPosition):
12462 * platform/mac/ScrollViewMac.mm:
12463 (WebCore::ScrollView::setScrollPosition):
12464 * platform/qt/ScrollViewQt.cpp:
12465 (WebCore::ScrollView::setScrollPosition):
12466 (WebCore::ScrollView::scrollRectIntoViewRecursively):
12467 * platform/win/ScrollViewWin.cpp:
12468 (WebCore::ScrollView::setScrollPosition):
12469 (WebCore::ScrollView::scrollRectIntoViewRecursively):
12470 * platform/wx/ScrollViewWx.cpp:
12471 (WebCore::ScrollView::setScrollPosition):
12472 * rendering/RenderLayer.cpp:
12473 (WebCore::RenderLayer::scrollByRecursively):
12474 (WebCore::RenderLayer::scrollRectToVisible):
12476 2008-09-25 Dan Bernstein <mitz@apple.com>
12478 - attempted Windows build fix
12480 * platform/win/ScrollViewWin.cpp:
12481 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12482 (WebCore::ScrollView::setContentsPos):
12483 (WebCore::ScrollView::paint):
12485 2008-09-25 Timothy Hatcher <timothy@apple.com>
12487 Revert the padding changes done in r36905 to prevent the
12488 scrollbar from overlapping the URLs in the Console.
12490 https://bugs.webkit.org/show_bug.cgi?id=21126
12492 * page/inspector/inspector.css:
12494 2008-09-25 David Hyatt <hyatt@apple.com>
12496 https://bugs.webkit.org/show_bug.cgi?id=21129
12498 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
12499 of platform-specific methods required of ScrollView implementations.
12501 Reviewed by Tim Hatcher
12503 * dom/MouseRelatedEvent.cpp:
12504 (WebCore::contentsX):
12505 (WebCore::contentsY):
12506 * html/HTMLBodyElement.cpp:
12507 (WebCore::HTMLBodyElement::scrollLeft):
12508 (WebCore::HTMLBodyElement::setScrollLeft):
12509 (WebCore::HTMLBodyElement::scrollTop):
12510 (WebCore::HTMLBodyElement::setScrollTop):
12511 * loader/FrameLoader.cpp:
12512 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
12513 * page/DOMWindow.cpp:
12514 (WebCore::DOMWindow::scrollX):
12515 (WebCore::DOMWindow::scrollY):
12516 * page/EventHandler.cpp:
12517 (WebCore::EventHandler::hitTestResultAtPoint):
12518 * page/FrameView.cpp:
12519 (WebCore::FrameView::scrollTo):
12520 (WebCore::FrameView::windowClipRect):
12521 * platform/ScrollView.cpp:
12522 (WebCore::ScrollView::visibleContentRect):
12523 (WebCore::ScrollView::contentsSize):
12524 (WebCore::ScrollView::platformContentsSize):
12525 * platform/ScrollView.h:
12526 (WebCore::ScrollView::scrollPosition):
12527 (WebCore::ScrollView::scrollOffset):
12528 (WebCore::ScrollView::scrollX):
12529 (WebCore::ScrollView::scrollY):
12530 (WebCore::ScrollView::contentsWidth):
12531 (WebCore::ScrollView::contentsHeight):
12532 * platform/gtk/ScrollViewGtk.cpp:
12533 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
12534 (WebCore::ScrollView::setGtkAdjustments):
12535 (WebCore::ScrollView::resizeContents):
12536 (WebCore::ScrollView::contentsWidth):
12537 (WebCore::ScrollView::contentsHeight):
12538 (WebCore::ScrollView::scrollOffset):
12539 (WebCore::ScrollView::maximumScroll):
12540 (WebCore::ScrollView::scrollBy):
12541 (WebCore::ScrollView::suppressScrollbars):
12542 (WebCore::ScrollView::setHScrollbarMode):
12543 (WebCore::ScrollView::setVScrollbarMode):
12544 (WebCore::ScrollView::setScrollbarsMode):
12545 (WebCore::ScrollView::setFrameGeometry):
12546 (WebCore::ScrollView::updateScrollbars):
12547 * platform/mac/ScrollViewMac.mm:
12548 (WebCore::ScrollView::platformContentsSize):
12549 (WebCore::ScrollView::scrollBy):
12550 * platform/mac/WidgetMac.mm:
12551 (WebCore::Widget::convertFromContainingWindow):
12552 (WebCore::Widget::convertToContainingWindow):
12553 * platform/qt/ScrollViewQt.cpp:
12554 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12555 (WebCore::ScrollView::resizeContents):
12556 (WebCore::ScrollView::setFrameGeometry):
12557 (WebCore::ScrollView::scrollOffset):
12558 (WebCore::ScrollView::maximumScroll):
12559 (WebCore::ScrollView::scrollBy):
12560 (WebCore::ScrollView::setHScrollbarMode):
12561 (WebCore::ScrollView::setVScrollbarMode):
12562 (WebCore::ScrollView::setScrollbarsMode):
12563 (WebCore::ScrollView::updateScrollbars):
12564 * platform/win/ScrollViewWin.cpp:
12565 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
12566 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
12567 (WebCore::ScrollView::resizeContents):
12568 (WebCore::ScrollView::setFrameGeometry):
12569 (WebCore::ScrollView::scrollOffset):
12570 (WebCore::ScrollView::maximumScroll):
12571 (WebCore::ScrollView::scrollBy):
12572 (WebCore::ScrollView::setHScrollbarMode):
12573 (WebCore::ScrollView::setVScrollbarMode):
12574 (WebCore::ScrollView::setScrollbarsMode):
12575 (WebCore::ScrollView::updateScrollbars):
12576 * platform/wx/ScrollViewWx.cpp:
12577 (WebCore::ScrollView::platformVisibleContentRect):
12578 (WebCore::ScrollView::platformContentsSize):
12579 * rendering/RenderBlock.cpp:
12580 (WebCore::RenderBlock::nodeAtPoint):
12581 * rendering/RenderLayer.cpp:
12582 (WebCore::RenderLayer::scrollRectToVisible):
12583 (WebCore::RenderLayer::calculateClipRects):
12584 (WebCore::RenderLayer::calculateRects):
12585 * rendering/RenderView.cpp:
12586 (WebCore::RenderView::absolutePosition):
12587 (WebCore::RenderView::computeAbsoluteRepaintRect):
12589 2008-09-25 David Smith <catfish.man@gmail.com>
12591 Reviewed by Dave Hyatt.
12593 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
12596 (WebCore::Element::rareData):
12599 (WebCore::Node::rareData):
12602 2008-09-25 David Smith <catfish.man@gmail.com>
12604 Reviewed by Darin Adler.
12606 https://bugs.webkit.org/show_bug.cgi?id=20980
12607 Split off uncommonly used data from Node similar to ElementRareData
12609 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
12610 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
12611 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
12613 * WebCore.base.exp:
12614 * WebCore.xcodeproj/project.pbxproj:
12615 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
12616 * dom/ContainerNode.cpp: Set isContainer to true
12617 (WebCore::ContainerNode::ContainerNode):
12618 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
12619 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
12620 (WebCore::Node::containerChildNode): ditto
12621 (WebCore::Node::containerFirstChild): ditto
12622 (WebCore::Node::containerLastChild): ditto
12623 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
12624 (WebCore::Element::Element):
12625 (WebCore::Element::~Element):
12626 (WebCore::Element::rareData):
12627 (WebCore::Element::ensureRareData): Renamed from createRareData
12628 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
12629 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
12630 (WebCore::Element::detach): ditto
12631 (WebCore::Element::recalcStyle): ditto
12632 (WebCore::Element::focus):
12633 (WebCore::Element::minimumSizeForResizing): ditto
12634 (WebCore::Element::setMinimumSizeForResizing): ditto
12635 (WebCore::Element::computedStyle):
12636 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
12638 * dom/ElementRareData.h: Added; everything copied from Element.cpp
12639 (WebCore::defaultMinimumSizeForResizing):
12640 (WebCore::ElementRareData::ElementRareData):
12641 (WebCore::ElementRareData::resetComputedStyle):
12642 * dom/EventTargetNode.cpp:
12643 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
12644 * dom/EventTargetNode.h:
12646 (WebCore::Node::Node):
12647 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
12648 (WebCore::Node::rareData):
12649 (WebCore::Node::ensureRareData):
12650 (WebCore::Node::createRareData):
12651 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
12652 (WebCore::Node::setTabIndexExplicitly):
12653 (WebCore::Node::childNodes): NodeLists are now in rareData
12654 (WebCore::Node::setFocus):
12655 (WebCore::Node::rareDataFocused):
12656 (WebCore::Node::isFocusable):
12657 (WebCore::Node::isKeyboardFocusable):
12658 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
12659 (WebCore::Node::unregisterDynamicNodeList): ditto
12660 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
12661 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
12662 (WebCore::Node::getElementsByName): ditto
12663 (WebCore::Node::getElementsByClassName): ditto
12665 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
12666 (WebCore::Node::lastChild): ditto
12667 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
12668 (WebCore::Node::focused): focus is in rareData if set
12669 (WebCore::Node::childTypeAllowed):
12670 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
12671 (WebCore::Node::childNode): ditto
12672 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
12673 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
12674 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
12675 (WebCore::NodeRareData::NodeRareData):
12676 (WebCore::NodeRareData::rareDataMap):
12677 (WebCore::NodeRareData::rareDataFromMap):
12678 (WebCore::NodeRareData::clearNodeLists):
12679 (WebCore::NodeRareData::setNodeLists):
12680 (WebCore::NodeRareData::nodeLists):
12681 (WebCore::NodeRareData::tabIndex):
12682 (WebCore::NodeRareData::setTabIndex):
12683 (WebCore::NodeRareData::tabIndexSetExplicitly):
12684 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
12685 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
12687 2008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
12689 Reviewed by Simon Hausmann.
12691 [qt] ImageBuffer::toDataURL implementation
12693 There needs to be a Qt specific test result for the above mentioned
12696 * platform/graphics/qt/ImageBufferQt.cpp:
12697 (WebCore::ImageBuffer::toDataURL):
12699 2008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
12701 Reviewed by Simon Hausmann.
12703 [qt] Implement SharedBuffer for Qt.
12706 * platform/qt/SharedBufferQt.cpp: Added.
12707 (WebCore::SharedBuffer::createWithContentsOfFile):
12708 * platform/qt/TemporaryLinkStubs.cpp:
12710 2008-09-25 Feng Qian <feng@chromium.org>
12712 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
12713 <rdar://problem/6243032>
12715 Reviewed by Dave Hyatt.
12717 Test: fast/dom/attribute-downcast-right.html
12719 Add isMappedAttribute function to Attribute for checking if an object
12720 is an instance of MappedAttribute. Removed attributeItem,
12721 getAttributeItem functions from NamedMappedAttrMap, and callers
12722 expecting MappedAttribute have to check isMappedAttribute before
12723 downcasting the return value to MappedAttribute.
12725 * css/CSSStyleSelector.cpp:
12726 (WebCore::CSSStyleSelector::styleForElement):
12728 (WebCore::Attribute::isMappedAttribute):
12729 * dom/MappedAttribute.h:
12730 (WebCore::MappedAttribute::isMappedAttribute):
12731 * dom/NamedMappedAttrMap.cpp:
12732 (WebCore::NamedMappedAttrMap::declCount):
12733 (WebCore::NamedMappedAttrMap::mapsEquivalent):
12734 * dom/NamedMappedAttrMap.h:
12735 * dom/StyledElement.cpp:
12736 (WebCore::StyledElement::attributeChanged):
12737 * html/HTMLInputElement.cpp:
12738 (WebCore::HTMLInputElement::setInputType):
12739 * svg/SVGForeignObjectElement.cpp:
12740 (WebCore::addCSSPropertyAndNotifyAttributeMap):
12741 * svg/SVGStyledElement.cpp:
12742 (WebCore::SVGStyledElement::getPresentationAttribute):
12744 2008-09-25 David Hyatt <hyatt@apple.com>
12746 https://bugs.webkit.org/show_bug.cgi?id=21120
12748 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
12749 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
12750 didn't want to mix that change in with this patch).
12752 Reviewed by Sam Weinig
12755 (WebCore::Frame::markAllMatchesForText):
12756 * page/FrameView.cpp:
12757 (WebCore::FrameView::repaintContentRectangle):
12758 (WebCore::FrameView::windowClipRect):
12759 (WebCore::FrameView::updateControlTints):
12760 * platform/ScrollView.cpp:
12761 (WebCore::ScrollView::visibleContentRect):
12762 (WebCore::ScrollView::platformVisibleContentRect):
12763 * platform/ScrollView.h:
12764 (WebCore::ScrollView::visibleWidth):
12765 (WebCore::ScrollView::visibleHeight):
12766 * platform/gtk/ScrollViewGtk.cpp:
12767 (WebCore::ScrollView::horizontalScrollbar):
12768 (WebCore::ScrollView::verticalScrollbar):
12769 * platform/mac/ScrollViewMac.mm:
12770 (WebCore::ScrollView::horizontalScrollbar):
12771 (WebCore::ScrollView::verticalScrollbar):
12772 (WebCore::ScrollView::platformVisibleContentRect):
12773 * platform/qt/ScrollViewQt.cpp:
12774 (WebCore::ScrollView::horizontalScrollbar):
12775 (WebCore::ScrollView::verticalScrollbar):
12776 * platform/win/ScrollViewWin.cpp:
12777 (WebCore::ScrollView::horizontalScrollbar):
12778 (WebCore::ScrollView::verticalScrollbar):
12779 * platform/wx/ScrollViewWx.cpp:
12780 (WebCore::ScrollView::platformVisibleContentRect):
12781 (WebCore::ScrollView::horizontalScrollbar):
12782 (WebCore::ScrollView::verticalScrollbar):
12783 * rendering/RenderLayer.cpp:
12784 (WebCore::RenderLayer::scrollRectToVisible):
12785 (WebCore::frameVisibleRect):
12786 * rendering/RenderView.cpp:
12787 (WebCore::RenderView::viewRect):
12789 2008-09-25 David Smith <catfish.man@gmail.com>
12791 Reviewed by Timothy Hatcher
12793 https://bugs.webkit.org/show_bug.cgi?id=21052
12794 Generalize id selector special case for querySelectorAll
12796 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
12797 Changes results on http://native.khan.mozilla.org
12809 (WebCore::Node::querySelector):
12810 * dom/SelectorNodeList.cpp:
12811 (WebCore::createSelectorNodeList):
12813 2008-09-25 David Hyatt <hyatt@apple.com>
12815 https://bugs.webkit.org/show_bug.cgi?id=21118
12817 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
12819 Reviewed by Sam Weinig
12821 * page/FrameView.cpp:
12822 (WebCore::FrameView::clear):
12823 (WebCore::FrameView::layout):
12824 (WebCore::FrameView::setUseSlowRepaints):
12825 (WebCore::FrameView::addSlowRepaintObject):
12826 (WebCore::FrameView::removeSlowRepaintObject):
12827 * platform/ScrollView.cpp:
12828 (WebCore::ScrollView::init):
12829 (WebCore::ScrollView::addChild):
12830 (WebCore::ScrollView::removeChild):
12831 (WebCore::ScrollView::setCanBlitOnScroll):
12832 * platform/ScrollView.h:
12833 (WebCore::ScrollView::canBlitOnScroll):
12834 * platform/gtk/ScrollViewGtk.cpp:
12835 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12836 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
12837 (WebCore::ScrollView::ScrollView):
12838 * platform/mac/ScrollViewMac.mm:
12839 (WebCore::ScrollView::ScrollView):
12840 (WebCore::ScrollView::platformAddChild):
12841 (WebCore::ScrollView::platformRemoveChild):
12842 (WebCore::ScrollView::platformSetCanBlitOnScroll):
12843 * platform/qt/ScrollViewQt.cpp:
12844 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12845 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
12846 (WebCore::ScrollView::ScrollView):
12847 * platform/win/ScrollViewWin.cpp:
12848 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12849 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
12850 (WebCore::ScrollView::ScrollView):
12851 * platform/wx/ScrollViewWx.cpp:
12852 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
12853 (WebCore::ScrollView::ScrollView):
12854 (WebCore::ScrollView::scrollBy):
12856 2008-09-25 Kevin McCullough <kmccullough@apple.com>
12858 Reviewed by Tim Hatcher.
12860 Bug 21109: Console should right-align urls
12862 * page/inspector/Console.js: Re-order the message elements so that when
12863 it overflows it doesn't get mixed in with the next message.
12864 * page/inspector/inspector.css:
12866 2008-09-25 David Hyatt <hyatt@apple.com>
12868 https://bugs.webkit.org/show_bug.cgi?id=21113
12870 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
12872 Reviewed by Darin Adler
12874 * css/CSSImportRule.cpp:
12875 (WebCore::CSSImportRule::insertedIntoParent):
12877 (WebCore::CSSRule::parentStyleSheet):
12878 (WebCore::CSSRule::parentRule):
12879 * css/CSSStyleSheet.cpp:
12880 (WebCore::CSSStyleSheet::CSSStyleSheet):
12881 * css/CSSStyleSheet.h:
12883 2008-09-25 Darin Adler <darin@apple.com>
12885 Reviewed by Adele Peterson.
12887 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
12888 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
12891 * html/HTMLFormElement.cpp:
12892 (WebCore::HTMLFormElement::formData): Use files() instead of value()
12893 to get the path, since value() now returns just the basename.
12895 2008-09-25 Brady Eidson <beidson@apple.com>
12897 Rubberstamped by Mark Rowe
12899 Roll out 36771 as it caused <rdar://problem/6246554>
12900 "nytimes.com doesn't display after returning to it with back/forward"
12902 * css/CSSImportRule.cpp:
12903 (WebCore::CSSImportRule::insertedIntoParent):
12905 (WebCore::CSSRule::parentStyleSheet):
12906 (WebCore::CSSRule::parentRule):
12907 * css/CSSStyleSheet.cpp:
12908 (WebCore::CSSStyleSheet::CSSStyleSheet):
12909 (WebCore::CSSStyleSheet::docLoader):
12910 * css/CSSStyleSheet.h:
12911 (WebCore::CSSStyleSheet::doc):
12913 2008-09-25 Adam Roben <aroben@apple.com>
12917 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
12919 2008-09-25 Dan Bernstein <mitz@apple.com>
12921 - Windows build fix
12923 * platform/win/ScrollViewWin.cpp:
12924 (WebCore::ScrollView::addChildPlatformWidget):
12925 (WebCore::ScrollView::removeChildPlatformWidget):
12927 2008-09-25 Timothy Hatcher <timothy@apple.com>
12929 Fixes a leak of ConsoleMessage seen when repeated console
12932 Reviewed by Mark Rowe.
12934 * page/InspectorController.cpp:
12935 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
12936 since we don't add it to m_consoleMessages.
12938 2008-09-25 Kevin McCullough <kmccullough@apple.com>
12940 Reviewed by Dan Bernstein.
12942 Bug 21105: XHRs logged in the console may show the wrong URL for the
12944 - Get the url at the time of the send() and pass it on to the XHR.
12946 * bindings/js/JSXMLHttpRequestCustom.cpp:
12947 (WebCore::JSXMLHttpRequest::send):
12948 * xml/XMLHttpRequest.cpp:
12949 (WebCore::XMLHttpRequest::didFinishLoading):
12950 * xml/XMLHttpRequest.h:
12951 (WebCore::XMLHttpRequest::setLastSendURL):
12953 2008-09-25 Kevin McCullough <kmccullough@apple.com>
12955 Reviewed by Geoff and Tim.
12957 Bug 20322: XHRs logged in the console do not have line numbers
12958 - Get the line number at the time of the send and pass it on to the XHR.
12960 * bindings/js/JSXMLHttpRequestCustom.cpp:
12961 (WebCore::JSXMLHttpRequest::send):
12962 * xml/XMLHttpRequest.cpp:
12963 (WebCore::XMLHttpRequest::XMLHttpRequest):
12964 (WebCore::XMLHttpRequest::didFinishLoading):
12965 * xml/XMLHttpRequest.h:
12966 (WebCore::XMLHttpRequest::setLastSendLineNumber):
12968 2008-09-25 Eric Carlson <eric.carlson@apple.com>
12970 Reviewed by Eric Seidel.
12972 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
12973 https://bugs.webkit.org/show_bug.cgi?id=21003
12975 * dom/EventNames.h: remove "begin" event
12976 * html/HTMLMediaElement.cpp:
12977 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
12979 2008-09-25 Alexey Proskuryakov <ap@webkit.org>
12981 Reviewed by Eric Seidel.
12983 https://bugs.webkit.org/show_bug.cgi?id=21097
12984 Calling a MessageChannel constructor from a destroyed document results in a crash
12986 Test: fast/events/message-port-constructor-for-deleted-document.html
12988 * bindings/js/JSMessageChannelConstructor.cpp:
12989 (WebCore::JSMessageChannelConstructor::construct):
12990 * bindings/js/JSMessageChannelConstructor.h:
12991 Made m_document a RefPtr.
12993 2008-09-24 Alexey Proskuryakov <ap@webkit.org>
12995 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
12997 https://bugs.webkit.org/show_bug.cgi?id=20879
12998 Implement HTML5 channel messaging
13000 Tests: fast/events/message-channel-gc.html
13001 fast/events/message-port-deleted-document.html
13002 fast/events/message-port-deleted-frame.html
13003 fast/events/message-port-inactive-document.html
13004 fast/events/message-port.html
13005 http/tests/security/MessagePort/event-listener-context.html
13007 * Configurations/WebCore.xcconfig:
13008 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
13010 * DerivedSources.make:
13011 Added MessageChannel and MessagePort.
13013 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
13014 turmed off anyway. Added new files.
13018 * WebCore.vcproj/WebCore.vcproj:
13019 * WebCore.xcodeproj/project.pbxproj:
13020 * WebCoreSources.bkl:
13023 * bindings/js/JSDOMWindowBase.h:
13024 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
13025 Added suport for window.MessageChannel constructor.
13027 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
13028 * page/DOMWindow.cpp:
13029 (WebCore::DOMWindow::postMessage):
13030 * page/DOMWindow.h:
13031 * page/DOMWindow.idl:
13032 Added support for three-argument postMessage (that posts a MessagePort).
13034 * dom/EventTarget.cpp:
13035 (WebCore::EventTarget::toMessagePort):
13036 * dom/EventTarget.h:
13037 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
13038 EventTarget variant.
13040 * bindings/js/JSMessageChannelConstructor.h:
13041 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
13042 take a browsing context (document) parameter.
13044 * bindings/js/JSMessageChannelCustom.cpp: Added.
13045 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
13046 port1 and port2 that it owns.
13048 * bindings/js/JSMessagePortCustom.cpp: Added.
13049 (WebCore::JSMessagePort::startConversation):
13050 (WebCore::JSMessagePort::addEventListener):
13051 (WebCore::JSMessagePort::removeEventListener):
13052 (WebCore::JSMessagePort::dispatchEvent):
13053 (WebCore::JSMessagePort::setOnmessage):
13054 (WebCore::JSMessagePort::onmessage):
13055 (WebCore::JSMessagePort::setOnclose):
13056 (WebCore::JSMessagePort::onclose):
13057 (WebCore::JSMessagePort::mark):
13058 * dom/MessagePort.cpp: Added.
13059 * dom/MessagePort.h: Added.
13060 * dom/MessagePort.idl: Added.
13061 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
13062 with Documents as contexts, but in the future, it will be used for communication with worker
13065 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
13066 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
13067 needed for MessageEvent.
13069 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
13071 * dom/Document.cpp:
13072 (WebCore::MessagePortTimer::MessagePortTimer):
13073 (WebCore::MessagePortTimer::fired):
13074 (WebCore::Document::processMessagePortMessagesSoon):
13075 (WebCore::Document::~Document):
13076 (WebCore::Document::dispatchMessagePortEvents):
13077 (WebCore::Document::createdMessagePort):
13078 (WebCore::Document::destroyedMessagePort):
13080 Document keeps track of all MessagePort objects that were created when it was fully active
13083 * dom/EventNames.h: Added closeEvent.
13085 * dom/MessageChannel.cpp: Added.
13086 (WebCore::MessageChannel::MessageChannel):
13087 (WebCore::MessageChannel::~MessageChannel):
13088 * dom/MessageChannel.h: Added.
13089 (WebCore::MessageChannel::create):
13090 (WebCore::MessageChannel::port1):
13091 (WebCore::MessageChannel::port2):
13092 * dom/MessageChannel.idl: Added.
13093 Addded JSMessageChannel implementation.
13095 * dom/MessageEvent.cpp:
13096 (WebCore::MessageEvent::MessageEvent):
13097 (WebCore::MessageEvent::initMessageEvent):
13098 * dom/MessageEvent.h:
13099 (WebCore::MessageEvent::create):
13100 (WebCore::MessageEvent::messagePort):
13101 * dom/MessageEvent.idl:
13102 MessageEvent has a MessagePort member now, making it possible to pass ports across
13105 2008-09-25 David Smith <catfish.man@gmail.com>
13107 Reviewed by Eric Seidel
13109 fix https://bugs.webkit.org/show_bug.cgi?id=21091
13110 Regression: querySelector matches tag names case sensitively
13112 Tests: fast/dom/SelectorAPI/caseTag.html
13113 fast/dom/SelectorAPI/caseTagX.xhtml
13115 * css/CSSParser.cpp:
13116 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
13119 (WebCore::Node::querySelector):
13120 (WebCore::Node::querySelectorAll):
13122 2008-09-24 David Hyatt <hyatt@apple.com>
13124 https://bugs.webkit.org/show_bug.cgi?id=21084
13126 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
13127 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
13129 Reviewed by Sam Weinig
13133 * WebCore.vcproj/WebCore.vcproj:
13134 * WebCore.xcodeproj/project.pbxproj:
13135 * WebCoreSources.bkl:
13136 * platform/ScrollView.h:
13137 (WebCore::ScrollView::children):
13138 * platform/Widget.h:
13139 * platform/gtk/ScrollViewGtk.cpp:
13140 (WebCore::ScrollView::addChildPlatformWidget):
13141 (WebCore::ScrollView::removeChildPlatformWidget):
13142 (WebCore::ScrollView::geometryChanged):
13143 * platform/mac/ScrollViewMac.mm:
13144 (WebCore::ScrollView::addChildPlatformWidget):
13145 (WebCore::ScrollView::removeChildPlatformWidget):
13146 * platform/qt/ScrollViewQt.cpp:
13147 (WebCore::ScrollView::geometryChanged):
13148 (WebCore::ScrollView::addChildPlatformWidget):
13149 (WebCore::ScrollView::removeChildPlatformWidget):
13150 * platform/win/ScrollViewWin.cpp:
13151 (WebCore::ScrollView::geometryChanged):
13152 (WebCore::ScrollView::setParentVisible):
13153 (WebCore::ScrollView::show):
13154 (WebCore::ScrollView::hide):
13155 * platform/wx/ScrollViewWx.cpp:
13156 (WebCore::ScrollView::addChildPlatformWidget):
13157 (WebCore::ScrollView::removeChildPlatformWidget):
13159 2008-09-25 Dan Bernstein <mitz@apple.com>
13161 Reviewed by Dave Hyatt.
13163 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
13164 <rdar://problem/6240821> Scrollbar not painted until hovered
13166 * rendering/RenderWidget.cpp:
13167 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
13168 this method, which sets both the location and the size.
13169 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
13170 with a call to the new method setWidgetGeometry. Positioning the
13171 widget correctly ensures that the scroll bars invalidate correctly when
13172 they are created and resized.
13173 * rendering/RenderWidget.h:
13175 2008-09-24 Dan Bernstein <mitz@apple.com>
13177 Rubber-stamped by Sam Weinig.
13179 - create a "style" subfolder under "rendering" and move style files to that folder
13181 * WebCore.vcproj/WebCore.vcproj:
13183 2008-09-24 Sam Weinig <sam@webkit.org>
13185 Reviewed by Maciej Stachowiak.
13187 Remove staticFunctionGetter. There is only one remaining user of
13188 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
13190 * bindings/js/JSDOMWindowBase.cpp:
13191 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
13193 2008-09-24 Jeremy Moskovich <jeremy@chromium.org>
13195 Reviewed by Dan Bernstein.
13197 Test: editing/spelling/inline_spelling_markers.html
13199 - https://bugs.webkit.org/show_bug.cgi?id=20092
13200 Spelling markers positioned incorrectly in RTL text
13202 Measure spelling markers with selectionRectForText() to fix RTL.
13204 This patch also fixes hit-testing for spelling marker tool tips,
13205 which used to work only on the first line.
13207 * rendering/InlineTextBox.cpp:
13208 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
13210 2008-09-24 David Hyatt <hyatt@apple.com>
13212 https://bugs.webkit.org/show_bug.cgi?id=21074
13214 Make sure the viewless scrollbar knows how to paint properly when transformed.
13216 Reviewed by Sam Weinig
13218 * platform/mac/ScrollbarThemeMac.mm:
13219 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
13220 (WebCore::ScrollbarThemeMac::paint):
13222 2008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
13224 Not reviewed. Try to fix win build.
13226 * bindings/js/JSSVGElementInstanceCustom.cpp:
13228 * dom/ContainerNodeAlgorithms.h:
13229 (WebCore::removeAllChildrenInContainer):
13230 (WebCore::appendChildToContainer):
13231 (WebCore::Private::addChildNodesToDeletionQueue):
13233 2008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
13235 Reviewed by Oliver.
13237 Add ContainerNodeAlgorithms.h, as central place to share algorithms
13238 operating on TreeShared-derived classes with a Node-style interface.
13240 This allows SVGElementInstance & ContainerNode to share code.
13242 * dom/ContainerNode.cpp:
13243 (WebCore::ContainerNode::removeAllChildren):
13244 (WebCore::ContainerNode::addChild):
13245 * dom/ContainerNode.h:
13246 * dom/ContainerNodeAlgorithms.h: Added.
13247 (WebCore::removeAllChildrenInContainer):
13248 (WebCore::appendChildToContainer):
13249 (WebCore::Private::NodeRemovalDispatcher::dispatch):
13250 (WebCore::Private::addChildNodesToDeletionQueue):
13252 2008-09-24 Simon Fraser <simon.fraser@apple.com>
13254 Reviewed by Dave Hyatt
13256 Wrap up dirtying the z-order list of the stacking context
13257 RenderLayer into a method.
13258 https://bugs.webkit.org/show_bug.cgi?id=21072
13260 * rendering/RenderLayer.cpp:
13261 (WebCore::RenderLayer::setHasVisibleContent):
13262 (WebCore::RenderLayer::addChild):
13263 (WebCore::RenderLayer::removeChild):
13264 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
13265 (WebCore::RenderLayer::styleChanged):
13266 * rendering/RenderLayer.h:
13267 * rendering/RenderObject.cpp:
13268 (WebCore::RenderObject::setStyle):
13270 2008-09-24 Kevin McCullough <kmccullough@apple.com>
13274 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
13275 or displayed multiple times
13276 - The Insepctor Controller was comparing JSValue pointers so thought the
13277 message was not a repeat, but the JS of the inspector compared the
13278 strings and so knew it was the same message and so overwrote the old
13281 * page/InspectorController.cpp:
13282 (WebCore::ConsoleMessage::isEqual):
13283 (WebCore::InspectorController::addMessageToConsole):
13284 (WebCore::InspectorController::addConsoleMessage):
13285 (WebCore::InspectorController::startGroup):
13286 (WebCore::InspectorController::endGroup):
13287 * page/InspectorController.h:
13289 2008-09-24 David Hyatt <hyatt@apple.com>
13291 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
13292 arrow placement preference and the thumb jump preference).
13294 Reviewed by Adam Roben
13296 * platform/Scrollbar.cpp:
13297 (WebCore::Scrollbar::Scrollbar):
13298 (WebCore::Scrollbar::~Scrollbar):
13299 * platform/ScrollbarTheme.h:
13300 (WebCore::ScrollbarTheme::registerScrollbar):
13301 (WebCore::ScrollbarTheme::unregisterScrollbar):
13302 * platform/mac/ScrollbarThemeMac.h:
13303 * platform/mac/ScrollbarThemeMac.mm:
13304 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
13305 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
13306 (+[ScrollbarPrefsObserver registerAsObserver]):
13307 (WebCore::ScrollbarThemeMac::registerScrollbar):
13308 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
13309 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
13310 (WebCore::ScrollbarThemeMac::preferencesChanged):
13312 2008-09-24 Rob Buis <buis@kde.org>
13316 https://bugs.webkit.org/show_bug.cgi?id=20557
13317 getScreenCTM() returns wrong values
13319 Use the absolute position of the svg root when
13320 determining the screen ctm.
13322 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
13324 * svg/SVGSVGElement.cpp:
13325 (WebCore::SVGSVGElement::getScreenCTM):
13327 2008-09-24 David Hyatt <hyatt@apple.com>
13329 Turn off support for CSS variables.
13332 * css/CSSParser.cpp:
13333 (WebCore::CSSParser::createVariablesRule):
13334 (WebCore::CSSParser::addVariable):
13335 (WebCore::CSSParser::addVariableDeclarationBlock):
13337 2008-09-24 David Hyatt <hyatt@apple.com>
13339 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
13341 * css/CSSGrammar.y:
13342 * css/CSSParserValues.cpp:
13343 (WebCore::CSSParserValue::isVariable):
13344 * css/CSSPrimitiveValue.cpp:
13345 (WebCore::CSSPrimitiveValue::cleanup):
13346 (WebCore::CSSPrimitiveValue::getStringValue):
13347 (WebCore::CSSPrimitiveValue::cssText):
13348 (WebCore::CSSPrimitiveValue::parserValue):
13349 * css/CSSPrimitiveValue.h:
13350 (WebCore::CSSPrimitiveValue::):
13351 (WebCore::CSSPrimitiveValue::isVariable):
13353 2008-09-24 Timothy Hatcher <timothy@apple.com>
13355 Fixes a regression where the "incorrect MIME-type" warning would not
13356 show up correctly in the Console or the resources sidebar.
13358 Reviewed by Kevin McCullough.
13360 * page/inspector/Resource.js:
13361 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
13362 to the WebInspector.ConsoleMessage constructor call.
13363 (WebInspector.Resource.prototype._checkWarning): Ditto.
13365 2008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
13369 Remove deprecated JS Qt bindings object call/construct code and fix autotests
13371 * bridge/qt/qt_instance.cpp:
13372 (JSC::Bindings::QtInstance::QtInstance):
13373 * bridge/qt/qt_instance.h:
13375 2008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
13377 Reviewed by Alp Toker. Landed by Jan Alonzo.
13379 Bug 20883: [CURL] Add deferred loading
13380 https://bugs.webkit.org/show_bug.cgi?id=20883
13382 Implement deferred loading for the libcURL backend using curl_easy_pause.
13383 As the method was introduced in version 7.18.0, all the code checks for libcURL
13386 * platform/network/curl/ResourceHandleCurl.cpp:
13387 (WebCore::ResourceHandle::setDefersLoading):
13388 * platform/network/curl/ResourceHandleManager.cpp:
13389 (WebCore::writeCallback): Add an assertion that deferred loading is not
13391 (WebCore::headerCallback): Ditto.
13392 (WebCore::readCallback): Ditto.
13393 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
13394 defersLoading to be false in order to avoid triggering an assertion.
13395 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
13396 activated, pause the easy handle.
13398 2008-09-23 Matt Lilek <webkit@mattlilek.com>
13400 Reviewed by Tim Hatcher.
13402 Inspector search field style tweaks.
13404 * page/inspector/inspector.css:
13406 2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
13410 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
13412 Fix missing negation in EventTargetNode::insertedIntoDocument.
13413 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
13414 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
13416 * dom/EventTargetNode.cpp:
13417 (WebCore::EventTargetNode::insertedIntoDocument):
13418 (WebCore::EventTargetNode::dispatchGenericEvent):
13419 * dom/EventTargetNode.h:
13421 2008-09-23 Timothy Hatcher <timothy@apple.com>
13423 Adds search support to the Profiles panel.
13425 The Profiles panel supports a few types of queries:
13426 * Standard string matching for function names and file URLs.
13427 * Greater than and less than search for numeric columns.
13428 So a query of ">24" will match all rows that have calls
13429 greater than 24. Or "<=42" will match all 42 or less.
13430 * Percent and time units. Adding a unit of "s", "ms" or "%"
13431 is supported and will match only the Self and Total columns.
13432 So a query of ">1.25s" will match all rows that took longer
13435 Reviewed by Oliver Hunt.
13437 * page/inspector/ProfileView.js:
13438 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
13439 it will start at the first result.
13440 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
13441 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
13443 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
13444 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
13445 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
13446 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
13447 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
13448 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
13449 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
13450 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
13451 Expand all the ancestors first so the profile node will have a DataGridNode.
13452 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
13453 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
13454 have search matches.
13455 * page/inspector/ProfilesPanel.js:
13456 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
13457 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
13458 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
13459 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
13460 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
13461 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
13462 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
13463 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
13464 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
13465 * page/inspector/inspector.css: New style rules for the cell highlight color.
13467 2008-09-23 Timothy Hatcher <timothy@apple.com>
13469 Adds search support to the Resources and Scripts panels.
13471 https://bugs.webkit.org/show_bug.cgi?id=21005
13473 Reviewed by Oliver Hunt.
13475 * page/inspector/Images/searchSmallBlue.png: Added.
13476 * page/inspector/Images/searchSmallBrightBlue.png: Added.
13477 * page/inspector/Images/searchSmallGray.png: Added.
13478 * page/inspector/Images/searchSmallWhite.png: Added.
13479 * page/inspector/ResourceView.js:
13480 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
13481 or "script-resource-views" since one might not be created yet.
13482 * page/inspector/ResourcesPanel.js:
13483 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
13484 are not this panel's current visible view. This can happen when a ResourceView is
13485 visible in the Scripts panel then switched to the this panel.
13486 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
13488 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
13489 that uses the current graph search function. So cycling through results will be in the order
13490 things appear in the sidebar.
13491 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
13492 resource's sidebar tree element.
13493 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
13494 in the sidebar. Calls the Panel prototype's searchCanceled.
13495 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
13496 in the sidebar. Calls the Panel prototype's performSearch.
13497 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
13498 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
13499 if there is a current search query.
13500 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
13501 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
13502 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
13503 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
13504 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
13505 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
13506 * page/inspector/ScriptView.js:
13507 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
13508 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
13509 it will start at the first result.
13510 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
13511 highlighting complete".
13512 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
13513 * page/inspector/ScriptsPanel.js:
13514 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
13515 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
13516 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
13517 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
13518 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
13519 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
13520 * page/inspector/SourceFrame.js:
13521 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
13522 * page/inspector/SourceView.js:
13523 (WebInspector.SourceView.prototype.hide):
13524 (WebInspector.SourceView.prototype.detach):
13525 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
13526 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
13527 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
13528 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
13529 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
13530 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
13531 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
13532 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
13533 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
13534 (WebInspector.SourceView.prototype.showingFirstSearchResult):
13535 (WebInspector.SourceView.prototype.showingLastSearchResult):
13536 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
13537 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
13538 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
13539 * page/inspector/inspector.css:
13541 2008-09-23 Timothy Hatcher <timothy@apple.com>
13543 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
13544 so future code can be shared.
13546 https://bugs.webkit.org/show_bug.cgi?id=21005
13548 Reviewed by Oliver Hunt.
13550 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
13551 And visibleResourceView to visibleView.
13552 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
13554 2008-09-23 Timothy Hatcher <timothy@apple.com>
13556 Highlight all matched search results in the Elements panel DOM tree.
13558 https://bugs.webkit.org/show_bug.cgi?id=21005
13560 Reviewed by Oliver Hunt.
13562 * page/inspector/ElementsPanel.js:
13563 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
13564 on all previous search results.
13565 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
13566 on all new search results.
13567 * page/inspector/ElementsTreeOutline.js:
13568 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
13569 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
13570 the highlighted class on the listItemElement.
13571 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
13572 if needed. Calls _updateTitle.
13573 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
13574 class so it can be styled when the highlighted class is present.
13575 * page/inspector/inspector.css: New style rules for the hihglight.
13577 2008-09-23 Timothy Hatcher <timothy@apple.com>
13579 Add search support to the Elements panel.
13581 https://bugs.webkit.org/show_bug.cgi?id=21005
13583 Reviewed by Oliver Hunt.
13585 * page/inspector/ElementsPanel.js:
13586 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
13587 with a 0 match count to rest. Reset the other search properties.
13588 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
13589 query and a CSS selector on all the Documents in the page. Remembers the found nodes
13590 and avoids duplicates. Focuses the first result.
13591 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
13592 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
13594 2008-09-23 Timothy Hatcher <timothy@apple.com>
13596 Add support to Panel that allows easy searching of sub-views.
13598 https://bugs.webkit.org/show_bug.cgi?id=21005
13600 Reviewed by Oliver Hunt.
13602 * page/inspector/Panel.js:
13603 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
13604 views in the search results and delete the currentQuery property. Call
13605 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
13606 other search properties.
13607 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
13608 reset everything we need before doing a new search. Get an array of searchableViews
13609 from the panel, implemented by sub-classes. Iterate over the views one-by-one
13610 with an interval to prevent blocking the UI for large lists of searchableViews.
13611 This keeps the interface really responsive. Pass a finishedCallback function to
13612 the performSearch on each view so it can notify the panel of results.
13613 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
13614 searchResults of the visibleView, so we know where in the results we are.
13615 This is done every time incase the user manually navigates to a new view.
13616 If the view is showing the last result, jump to the next view and show it's
13617 first result. Otherwise jump to the next result in the current view.
13618 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
13620 2008-09-23 Timothy Hatcher <timothy@apple.com>
13622 Add support for asking the current panel to perform a search, find next/previous and clear.
13623 A search is performed on the new new current panel when switching between panels. The search
13624 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
13625 be searched. The search field contents are selected when Command/Control-F or Enter/Return
13626 is pressed, so the user can easily type an entirely new query. The search match count shows
13627 up in the toolbar next to the search field.
13630 * Rename lastQuery to currentQuery since it better matches the truth.
13631 * Set the search field "results" attribute to zero since results arn't saved for
13632 how we use the search field.
13633 * Make repeated presses of the Return key jump to the next search result instead
13635 * Increased the search field width.
13637 https://bugs.webkit.org/show_bug.cgi?id=21005
13639 Reviewed by Oliver Hunt.
13641 * English.lproj/localizedStrings.js: New strings.
13642 * page/inspector/inspector.css: New styles.
13643 * page/inspector/inspector.html: Add the search-results-matches element. Add the
13644 incremental attribute to the search field and set the results attribute to zero.
13645 * page/inspector/inspector.js:
13646 (WebInspector.set currentPanel): perform the search on the new panel.
13647 (WebInspector.loaded): Change the event listeners and remove code that changes
13648 the search label text.
13649 (WebInspector.documentKeyDown): Add support for Command/Control-G and
13650 Command/Control-Shift-G. To jump to the next and previous search results.
13651 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
13652 This does different things depending on the attached state.
13653 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
13654 This prevents a "search" event from firing for key down. We handle the Enter key
13655 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
13656 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
13657 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
13658 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
13659 Call updateSearchMatchesCount to reset the matches count in the toolbar.
13660 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
13662 2008-09-23 Timothy Hatcher <timothy@apple.com>
13664 Remove the previous Inspector search code to make room for the new stuff.
13666 https://bugs.webkit.org/show_bug.cgi?id=21005
13668 Reviewed by Oliver Hunt.
13670 * page/inspector/inspector.css:
13671 * page/inspector/inspector.html:
13672 * page/inspector/inspector.js:
13673 (WebInspector.get/set showingSearchResults): Removed.
13674 (WebInspector.searchResultsKeyDown): Removed.
13675 (WebInspector.searchResultsResizerDragStart): Removed.
13676 (WebInspector.searchResultsResizerDragEnd): Removed.
13677 (WebInspector.searchResultsResizerDrag): Removed.
13678 (WebInspector.performSearch): Removed searching parts.
13680 2008-09-23 Timothy Hatcher <timothy@apple.com>
13682 Use the Array.remove helper function in more places.
13684 https://bugs.webkit.org/show_bug.cgi?id=21037
13686 Reviewed by Kevin McCullough.
13688 * page/inspector/ResourceCategory.js:
13689 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
13690 * page/inspector/ResourcesPanel.js:
13691 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
13692 * page/inspector/inspector.js:
13693 (WebInspector.removeResource): Ditto.
13695 2008-09-23 Timothy Hatcher <timothy@apple.com>
13697 Fixes a bug where inspecting a node after reloading the page
13698 would not reveal the node in the DOM tree. The TreeOutline
13699 was not being told to forget decendants of a removed child.
13700 So old TreeElements would be found that are not in the tree.
13702 https://bugs.webkit.org/show_bug.cgi?id=21036
13704 Reviewed by Kevin McCullough.
13706 * page/inspector/treeoutline.js:
13707 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
13708 in addition to _forgetTreeElement.
13709 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
13710 in addition to _forgetTreeElement.
13711 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
13712 search for known elements.
13713 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
13714 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
13715 descendants and call _forgetTreeElement.
13716 * page/inspector/utilities.js:
13717 (Array.prototype.remove): Speed up this function by using Array.indexOf
13718 when onlyFirst is true.
13720 2008-09-23 Timothy Hatcher <timothy@apple.com>
13722 Fixes a bug where inspecting some short text nodes does
13723 not reveal them in the Elements panel DOM tree.
13725 https://bugs.webkit.org/show_bug.cgi?id=21035
13727 Reviewed by Oliver Hunt.
13729 * page/inspector/ElementsTreeOutline.js:
13730 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
13731 The revealAndSelectNode() method might find a different element
13732 if there is inlined text, and the select() call would change the
13733 focusedDOMNode and reenter this setter. So to avoid calling
13734 focusedNodeChanged() twice, first check if _focusedDOMNode is
13735 the same node as the one passed in.
13736 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
13737 this.treeOutline, since this is the TreeOutline.
13738 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
13739 Provides default functions for isAncestor, getParet and equal.
13740 Calls the base protoype's findTreeElement. If that returns null
13741 and the node is a text node, try finding it's parent.
13742 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
13743 Renamed to revealAndSelectNode.
13744 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
13745 Selects and reveals the node passed in. Use the simple findTreeElement.
13746 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
13747 Remove use of this.treeOutline, since this is the TreeOutline.
13749 2008-09-23 Timothy Hatcher <timothy@apple.com>
13751 Fixes an exception that happened when removing a Resource
13752 from the ResourcesPanel.
13754 https://bugs.webkit.org/show_bug.cgi?id=21034
13756 Reviewed by Kevin McCullough.
13758 * page/inspector/ResourcesPanel.js:
13759 (WebInspctor.ResourcesPanel.prototype.removeResource):
13760 Remove the graphElement.
13762 2008-09-23 Kevin McCullough <kmccullough@apple.com>
13764 Fixed "Time" to "Tim"
13768 2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
13770 Reviewed by Oliver.
13772 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
13773 from SVGDocumentExtensions to SVGElement. It's more useful to store
13774 the list of SVGElementInstances per SVGElement, instead of using
13775 a document-wide hash for this purpose.
13777 * svg/SVGAnimateMotionElement.cpp:
13778 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
13779 * svg/SVGAnimateTransformElement.cpp:
13780 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
13781 * svg/SVGAnimationElement.cpp:
13782 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
13783 * svg/SVGDocumentExtensions.cpp:
13784 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
13785 * svg/SVGDocumentExtensions.h:
13786 * svg/SVGElement.cpp:
13787 (WebCore::SVGElement::mapInstanceToElement):
13788 (WebCore::SVGElement::removeInstanceMapping):
13789 (WebCore::SVGElement::instancesForElement):
13790 * svg/SVGElement.h:
13791 * svg/SVGElementInstance.cpp:
13792 (WebCore::SVGElementInstance::SVGElementInstance):
13793 (WebCore::SVGElementInstance::~SVGElementInstance):
13794 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
13795 * svg/SVGElementInstance.h:
13796 * svg/SVGStyledElement.cpp:
13797 (WebCore::SVGStyledElement::svgAttributeChanged):
13798 (WebCore::SVGStyledElement::childrenChanged):
13799 * svg/SVGStyledElement.h:
13801 2008-09-23 Kevin Ollivier <kevino@theolliviers.com>
13805 * WebCoreSources.bkl:
13807 2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
13809 Rubber stamped by Sam.
13811 Move code from EventTarget to EventTargetNode.
13813 I refactored most parts to live in EventTarget, a year ago,
13814 though the implementation of EventTargetSVGElementInstance is
13815 done in another way, that obsoletes this.
13817 * dom/Document.cpp:
13818 (WebCore::Document::addListenerTypeIfNeeded):
13820 * dom/EventTarget.cpp:
13821 * dom/EventTarget.h:
13822 (WebCore::allowEventDispatch):
13823 * dom/EventTargetNode.cpp:
13824 (WebCore::EventTargetNode::insertedIntoDocument):
13825 (WebCore::EventTargetNode::removedFromDocument):
13826 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
13827 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
13828 (WebCore::EventTargetNode::addEventListener):
13829 (WebCore::EventTargetNode::removeEventListener):
13830 (WebCore::EventTargetNode::removeAllEventListeners):
13831 (WebCore::EventTargetNode::handleLocalEvents):
13832 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
13833 (WebCore::EventTargetNode::dispatchEvent):
13834 (WebCore::EventTargetNode::dispatchGenericEvent):
13835 (WebCore::EventTargetNode::dispatchWindowEvent):
13836 (WebCore::EventTargetNode::removeEventListenerForType):
13837 * dom/EventTargetNode.h:
13838 * svg/EventTargetSVGElementInstance.cpp:
13839 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
13840 * svg/SVGElement.cpp:
13841 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
13842 * svg/SVGElement.h:
13843 (WebCore::SVGElement::supplementalTransform):
13845 2008-09-23 Dave Hyatt <hyatt@apple.com>
13847 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
13848 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
13850 Reviewed by Sam Weinig
13852 * platform/mac/ScrollbarThemeMac.mm:
13853 (WebCore::ScrollbarThemeMac::trackRect):
13854 * platform/win/ScrollbarThemeSafari.cpp:
13855 (WebCore::ScrollbarTheme::nativeTheme):
13856 (WebCore::ScrollbarThemeSafari::trackRect):
13858 2008-09-23 Beth Dakin <bdakin@apple.com>
13860 Reviewed by Sam Weinig.
13862 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
13863 link at gmail does not support AXPress action
13864 and corresponding: <rdar://problem/6216178>
13866 I fixed this bug by making AccessibilityObject::anchorElement
13867 support ARIA links.
13869 * page/AccessibilityImageMapLink.cpp:
13870 (WebCore::AccessibilityImageMapLink::anchorElement):
13871 * page/AccessibilityImageMapLink.h:
13872 * page/AccessibilityObject.cpp:
13873 (WebCore::AccessibilityObject::anchorElement):
13874 * page/AccessibilityObject.h:
13875 (WebCore::AccessibilityObject::isNativeAnchor):
13876 * page/AccessibilityRenderObject.cpp:
13877 (WebCore::AccessibilityRenderObject::isNativeAnchor):
13878 (WebCore::AccessibilityRenderObject::anchorElement):
13879 (WebCore::AccessibilityRenderObject::internalLinkElement):
13880 (WebCore::AccessibilityRenderObject::url):
13881 * page/AccessibilityRenderObject.h:
13882 * page/mac/AccessibilityObjectWrapper.mm:
13883 (AXLinkElementForNode):
13885 2008-09-23 Kevin McCullough <kmccullough@apple.com>
13887 Reviewed by Tim and Oliver.
13889 Bug 20949: Catch repeated messages in Inspector Controller to limit
13891 - Store the repeat count in the Console Message object, in the
13892 Inspector Controller and JS ConsoleMessage object.
13894 * page/InspectorController.cpp:
13895 (WebCore::ConsoleMessage::ConsoleMessage):
13896 (WebCore::ConsoleMessage::operator==):
13897 (WebCore::InspectorController::InspectorController):
13898 (WebCore::InspectorController::addConsoleMessage):
13899 (WebCore::InspectorController::addScriptConsoleMessage):
13900 * page/InspectorController.h:
13901 * page/inspector/Console.js:
13902 * page/inspector/Resource.js:
13903 * page/inspector/ResourcesPanel.js:
13904 * page/inspector/SourceFrame.js:
13906 2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
13910 Working on proper EventTarget support for SVGElementInstance.
13912 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
13913 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
13915 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
13916 implementation. Let it use TreeShared directly.
13918 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
13919 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
13923 * WebCore.vcproj/WebCore.vcproj:
13924 * WebCore.xcodeproj/project.pbxproj:
13925 * bindings/js/JSEventTargetBase.cpp:
13926 (WebCore::retrieveEventTargetAndCorrespondingNode):
13928 * bindings/js/JSEventTargetBase.h:
13929 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
13931 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
13932 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
13933 (WebCore::JSEventTargetSVGElementInstance::setListener):
13934 (WebCore::JSEventTargetSVGElementInstance::getListener):
13935 (WebCore::toEventTargetSVGElementInstance):
13936 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
13937 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
13938 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
13939 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
13940 (WebCore::JSEventTargetSVGElementInstance::put):
13941 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
13942 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
13944 * bindings/objc/DOM.mm:
13945 (+[DOMNode _wrapEventTarget:WebCore::]):
13946 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
13947 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
13948 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
13949 (-[DOMSVGElementInstance WebCore::]):
13950 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
13951 (-[DOMSVGElementInstance addEventListener:::]):
13952 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
13953 (-[DOMSVGElementInstance removeEventListener:::]):
13954 (-[DOMSVGElementInstance dispatchEvent:]):
13955 * bindings/objc/DOMEvents.h:
13956 * bindings/scripts/CodeGeneratorJS.pm:
13957 * bindings/scripts/CodeGeneratorObjC.pm:
13958 * svg/EventTargetSVGElementInstance.cpp: Added.
13959 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
13960 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
13961 (WebCore::EventTargetSVGElementInstance::addEventListener):
13962 (WebCore::EventTargetSVGElementInstance::removeEventListener):
13963 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
13964 * svg/EventTargetSVGElementInstance.h: Added.
13965 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
13966 (WebCore::EventTargetSVGElementInstance::toNode):
13967 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
13968 (WebCore::EventTargetSVGElementInstance::refEventTarget):
13969 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
13970 (WebCore::EventTargetSVGElementInstanceCast):
13971 * svg/SVGElement.cpp:
13972 (WebCore::SVGElement::dispatchEvent):
13973 * svg/SVGElementInstance.cpp:
13974 (WebCore::SVGElementInstance::SVGElementInstance):
13975 (WebCore::SVGElementInstance::~SVGElementInstance):
13976 * svg/SVGElementInstance.h:
13977 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
13978 * svg/SVGElementInstance.idl:
13980 2008-09-23 Dan Bernstein <mitz@apple.com>
13982 Reviewed by Dave Hyatt.
13984 - https://bugs.webkit.org/show_bug.cgi?id=21040
13985 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
13987 * platform/graphics/mac/SimpleFontDataMac.mm:
13988 (WebCore::SimpleFontData::getCTFont):
13990 2008-09-23 David Hyatt <hyatt@apple.com>
13992 https://bugs.webkit.org/show_bug.cgi?id=21039
13994 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
13996 Reviewed by Sam Weinig
13998 * platform/ScrollView.h:
13999 * platform/Scrollbar.cpp:
14000 (WebCore::Scrollbar::setFrameGeometry):
14001 * platform/Scrollbar.h:
14002 * platform/Widget.cpp:
14003 (WebCore::Widget::convertFromContainingWindow):
14004 * platform/Widget.h:
14005 * platform/mac/ScrollViewMac.mm:
14006 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14007 (WebCore::ScrollView::ScrollView):
14008 (WebCore::ScrollView::~ScrollView):
14009 (WebCore::ScrollView::windowResizerRect):
14010 (WebCore::ScrollView::resizerOverlapsContent):
14011 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
14012 (WebCore::ScrollView::setParent):
14013 * platform/mac/WidgetMac.mm:
14014 (WebCore::Widget::convertFromContainingWindow):
14016 2008-09-23 Dirk Schulze <vbs85@gmx.de>
14018 Reviewed by Darin Adler. Landed by Jan Alonzo.
14020 Added support for getImageData() and putImageData()
14023 [CAIRO] needs getImageData and putImageData support
14024 https://bugs.webkit.org/show_bug.cgi?id=20838
14026 * platform/graphics/cairo/ImageBufferCairo.cpp:
14027 (WebCore::ImageBuffer::ImageBuffer):
14028 (WebCore::ImageBuffer::getImageData):
14029 (WebCore::ImageBuffer::putImageData):
14031 2008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
14033 Reviewed by Holger Freyther.
14035 http://bugs.webkit.org/show_bug.cgi?id=18987
14036 [GTK] Implement SharedBuffer::createWithContentsOfFile and
14037 KURL::fileSystemPath
14039 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
14040 * platform/gtk/KURLGtk.cpp: Added.
14041 (WebCore::KURL::fileSystemPath): Implemented.
14042 * platform/gtk/SharedBufferGtk.cpp: Added.
14043 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
14044 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
14046 2008-09-23 Alexey Proskuryakov <ap@webkit.org>
14048 Reviewed by Oliver Hunt, okayed by Darin Adler.
14050 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
14052 * rendering/InlineTextBox.cpp:
14053 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
14055 2008-09-23 Alexey Proskuryakov <ap@webkit.org>
14057 Reviewed by Darin Adler.
14059 https://bugs.webkit.org/show_bug.cgi?id=21023
14060 Don't use TEC for encodings supported by ICU
14062 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
14063 x-mac-greek, and x-mac-turkish.
14065 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
14066 Register aliases for these encodings that are not registered automatically; updated comments.
14068 2008-09-23 Maciej Stachowiak <mjs@apple.com>
14072 - speed up instanceof some more
14073 https://bugs.webkit.org/show_bug.cgi?id=20818
14075 ~2% speedup on EarleyBoyer
14079 * bindings/js/JSQuarantinedObjectWrapper.h:
14080 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
14082 2008-09-22 Darin Adler <darin@apple.com>
14084 Reviewed by Oliver Hunt.
14086 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
14087 getting pixels by index from CanvasPixelArray is unnecessarily slow
14089 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
14090 * WebCore.vcproj/WebCore.vcproj: Ditto.
14091 * WebCore.xcodeproj/project.pbxproj: Ditto.
14093 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
14094 indexSetter. These are now both inlined, so in the header.
14095 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
14096 function is what's used for HasCustomIndexGetter. Also moved the
14097 indexSetter function here.
14099 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
14100 to use a getByIndex member function rather than an indexGetter static
14101 member function in a property slot. This lets us avoid the property
14102 slot mechanism's rule where it turns numeric property names into
14103 strings in the identifier table, which is good because that's slow.
14104 Also added a new property CustomHeader that allows IDL files to
14105 introduce headers to be included -- useful when we have functions
14106 that we want to inline into the binding.
14108 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
14110 2008-09-23 Eric Seidel <eric@webkit.org>
14112 No review, build fix only.
14114 Another blind stab in the dark.
14116 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
14118 2008-09-23 Eric Seidel <eric@webkit.org>
14120 No review, build fix only.
14122 Third time's the charm, eh? My local build is sadly still not done...
14124 * platform/graphics/AffineTransform.cpp: remove extra &
14125 * platform/graphics/AffineTransform.h: remove extra &
14127 2008-09-22 Eric Seidel <eric@webkit.org>
14129 No review, build fix only.
14131 * platform/graphics/AffineTransform.cpp: remove extra ;
14133 2008-09-22 Eric Seidel <eric@webkit.org>
14135 No review, build fix only.
14137 Speculative fix for the build while I wait for my compile to finish.
14139 * platform/graphics/AffineTransform.cpp:
14141 2008-09-22 Dirk Schulze <vbs85@gmx.de>
14143 Reviewed by eseidel. Landed by eseidel.
14145 Moved makeMapBetweenRects from SVG/CG to AffineTransform
14146 Make SVGResourceClipper::applyClip more cross-platform
14148 * platform/graphics/AffineTransform.cpp:
14149 * platform/graphics/AffineTransform.h:
14150 * svg/graphics/cg/CgSupport.cpp:
14151 * svg/graphics/cg/CgSupport.h:
14152 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
14153 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
14154 * svg/graphics/cg/SVGResourceClipperCg.cpp:
14155 (WebCore::SVGResourceClipper::applyClip):
14157 2008-09-22 Alp Toker <alp@nuanti.com>
14159 Reviewed by David Hyatt.
14161 https://bugs.webkit.org/show_bug.cgi?id=16331
14162 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
14164 Obey GTK+ focusing conventions for controls and anchor elements.
14166 It could be interesting to push these decisions up to Settings or
14167 ChromeClient some day but this gets things working.
14169 Right and middle click events still need some work to match GTK+
14172 * html/HTMLAnchorElement.cpp:
14173 (WebCore::HTMLAnchorElement::isMouseFocusable):
14174 * html/HTMLFormControlElement.cpp:
14175 (WebCore::HTMLFormControlElement::isMouseFocusable):
14176 * page/EventHandler.cpp:
14177 (WebCore::EventHandler::sendContextMenuEvent):
14179 2008-09-22 Darin Adler <darin@apple.com>
14181 * page/mac/FrameMac.mm:
14182 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
14184 2008-09-22 Sam Weinig <sam@webkit.org>
14186 Reviewed by Dan Bernstein.
14188 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
14189 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
14190 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
14193 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
14194 non-selectable input types, but return undefined when accessed.
14196 * DerivedSources.make:
14199 * WebCore.vcproj/WebCore.vcproj:
14200 * WebCore.xcodeproj/project.pbxproj:
14201 * WebCoreSources.bkl:
14202 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
14203 * bindings/js/JSHTMLInputElementBase.h: Removed.
14204 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
14205 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
14206 (WebCore::JSHTMLInputElement::selectionStart):
14207 (WebCore::JSHTMLInputElement::selectionEnd):
14208 * bindings/js/JSHTMLInputElementCustom.h: Added.
14209 * html/HTMLInputElement.idl:
14211 2008-09-22 Dan Bernstein <mitz@apple.com>
14213 Reviewed by Sam Weinig.
14215 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
14217 Not testable in DumpRenderTree or in Safari
14219 * page/mac/FrameMac.mm:
14220 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
14221 case that the selection start node is a block.
14223 2008-09-22 David Hyatt <hyatt@apple.com>
14225 https://bugs.webkit.org/show_bug.cgi?id=21007
14227 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
14229 Reviewed by Sam Weinig
14231 * page/EventHandler.cpp:
14232 (WebCore::EventHandler::handleMouseDoubleClickEvent):
14234 2008-09-22 Eric Seidel <eric@webkit.org>
14236 No review, rollback only.
14238 Roll out Peter's change (per his request)
14239 http://trac.webkit.org/changeset/36069
14240 https://bugs.webkit.org/show_bug.cgi?id=19663
14241 This change has been the source of numerous regressions
14242 (several of which were latent bugs revealed by this change,
14243 others were bugs in this change)
14245 * platform/graphics/BitmapImage.cpp:
14246 (WebCore::BitmapImage::BitmapImage):
14247 (WebCore::BitmapImage::startAnimation):
14248 (WebCore::BitmapImage::advanceAnimation):
14249 * platform/graphics/BitmapImage.h:
14250 * platform/graphics/cairo/ImageCairo.cpp:
14251 (WebCore::BitmapImage::draw):
14252 * platform/graphics/cg/ImageCG.cpp:
14253 (WebCore::BitmapImage::draw):
14254 * platform/graphics/qt/ImageQt.cpp:
14255 (WebCore::BitmapImage::draw):
14256 * platform/graphics/wx/ImageWx.cpp:
14257 (WebCore::BitmapImage::draw):
14259 2008-09-22 Dan Bernstein <mitz@apple.com>
14261 Reviewed by Sam Weinig.
14263 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
14265 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
14266 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
14268 * config.h: Use Core Text if not building for Leopard or Tiger.
14270 2008-09-22 David Hyatt <hyatt@apple.com>
14272 https://bugs.webkit.org/show_bug.cgi?id=21006
14274 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
14275 switched on. There are still a few more refinements to make to the rendering and behavior.
14277 Reviewed by Darin Adler
14279 * platform/ScrollbarThemeComposite.cpp:
14280 (WebCore::ScrollbarThemeComposite::paint):
14281 * platform/ScrollbarThemeComposite.h:
14282 (WebCore::ScrollbarThemeComposite::paintTrack):
14283 (WebCore::ScrollbarThemeComposite::paintButton):
14284 (WebCore::ScrollbarThemeComposite::paintThumb):
14285 * platform/mac/ScrollbarThemeMac.h:
14286 * platform/mac/ScrollbarThemeMac.mm:
14287 (WebCore::ScrollbarThemeMac::backButtonRect):
14288 (WebCore::ScrollbarThemeMac::forwardButtonRect):
14289 (WebCore::scrollbarPartToHIPressedState):
14290 (WebCore::ScrollbarThemeMac::paint):
14291 * platform/mac/WidgetMac.mm:
14292 (WebCore::Widget::invalidateRect):
14294 2008-09-22 Chris Marrin <cmarrin@apple.com>
14296 Reviewed by Sam Weinig
14298 transition end event when -webkit-transition-property: all puts wrong
14299 propertyName in event
14300 https://bugs.webkit.org/show_bug.cgi?id=20903
14302 * page/animation/ImplicitAnimation.cpp:
14303 (WebCore::ImplicitAnimation::sendTransitionEvent):
14305 2008-09-22 Chris Fleizach <cfleizach@apple.com>
14307 Reviewed by Darin Adler.
14309 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
14311 Test: accessibility/table-one-cell.html
14313 * page/AccessibilityTable.cpp:
14314 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
14316 2008-09-22 Chris Fleizach <cfleizach@apple.com>
14318 Reviewed by Darin Adler.
14320 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
14322 Test: accessibility/textarea-selected-text-range.html
14324 * page/AccessibilityRenderObject.cpp:
14325 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
14327 2008-09-22 David Hyatt <hyatt@apple.com>
14329 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
14330 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
14331 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
14334 Reviewed by Sam Weinig
14336 Added fast/css/nested-rule-parent-sheet.html
14338 * css/CSSImportRule.cpp:
14339 (WebCore::CSSImportRule::insertedIntoParent):
14341 (WebCore::CSSRule::parentStyleSheet):
14342 (WebCore::CSSRule::parentRule):
14343 * css/CSSStyleSheet.cpp:
14344 (WebCore::CSSStyleSheet::CSSStyleSheet):
14345 * css/CSSStyleSheet.h:
14347 2008-09-22 Dan Bernstein <mitz@apple.com>
14349 Reviewed by Sam Weinig.
14351 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
14352 Make the ATSUI code path respect spacingDisabled()
14354 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
14356 * platform/graphics/mac/FontMacATSUI.mm:
14357 (WebCore::overrideLayoutOperation):
14359 2008-09-22 Maciej Stachowiak <mjs@apple.com>
14361 Reviewed by Cameron Zwarich.
14363 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
14365 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
14367 2.2% speedup on EarleyBoyer benchmark.
14369 * bindings/js/JSQuarantinedObjectWrapper.cpp:
14370 * bindings/js/JSQuarantinedObjectWrapper.h:
14371 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
14372 * bindings/scripts/CodeGeneratorJS.pm:
14374 2008-09-22 Adam Roben <aroben@apple.com>
14378 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
14380 2008-09-22 Maciej Stachowiak <mjs@apple.com>
14382 Reviewed by Dave Hyatt.
14384 Based on initial work by Darin Adler.
14386 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
14387 - use this to JIT inline code for eq_null and neq_null
14388 https://bugs.webkit.org/show_bug.cgi?id=20823
14390 * WebCore.xcodeproj/project.pbxproj:
14391 * WebCore.vcproj/WebCore.vcproj:
14392 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14393 (WebCore::JSCSSStyleDeclaration::nameGetter):
14394 * bindings/js/JSHTMLAllCollection.cpp: Added.
14396 * bindings/js/JSHTMLAllCollection.h:
14397 (WebCore::JSHTMLAllCollection::createStructureID):
14398 (WebCore::JSHTMLAllCollection::toBoolean):
14400 2008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
14404 Fix the QtWebKit build
14406 * bridge/qt/qt_instance.cpp:
14407 (JSC::Bindings::QtRuntimeObjectImp::construct):
14408 * bridge/qt/qt_runtime.cpp:
14410 2008-09-22 Alp Toker <alp@nuanti.com>
14412 Suggested by David Hyatt.
14414 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
14417 * platform/ScrollView.h:
14419 2008-09-22 David Hyatt <hyatt@apple.com>
14421 Fix a regression in Windows scrollbar painting. (Also fix the same
14422 bug in my new viewless Mac scrollbar painting code). The track rect
14423 was being improperly inflated when painting resulting in the scrollbar
14424 being too tall and painting in the border of overflow sections.
14426 Reviewed by Oliver Hunt
14428 * platform/mac/ScrollbarThemeMac.mm:
14429 (WebCore::ScrollbarThemeMac::trackRect):
14430 * platform/win/ScrollbarThemeSafari.cpp:
14431 (WebCore::ScrollbarThemeSafari::trackRect):
14433 2008-09-22 David Hyatt <hyatt@apple.com>
14435 Fix a hit testing bug where events are mistakenly passed to subframes
14436 if the mouse is over the border or padding area of the frame. Add
14437 a boolean flag, isOverWidget(), to hit test results so that EventHandler
14438 can check it to tell if the mouse is really over the content box of a
14439 RenderWidget and not just in the border/padding area.
14441 This is not testable, since the old code properly recovered when it detected
14442 that the mouse was outside the bounds of the view, but this prevents
14443 the extra passdown from even occurring (and is basically a nice cleanup).
14445 Reviewed by Oliver Hunt
14447 * page/EventHandler.cpp:
14448 (WebCore::EventHandler::handleMousePressEvent):
14449 (WebCore::EventHandler::hitTestResultAtPoint):
14450 (WebCore::subframeForHitTestResult):
14451 (WebCore::EventHandler::handleMouseDoubleClickEvent):
14452 (WebCore::EventHandler::handleMouseMoveEvent):
14453 (WebCore::EventHandler::handleMouseReleaseEvent):
14454 (WebCore::EventHandler::handleWheelEvent):
14455 * page/MouseEventWithHitTestResults.h:
14456 (WebCore::MouseEventWithHitTestResults::isOverWidget):
14457 * rendering/HitTestResult.cpp:
14458 (WebCore::HitTestResult::HitTestResult):
14459 (WebCore::HitTestResult::operator=):
14460 * rendering/HitTestResult.h:
14461 (WebCore::HitTestResult::isOverWidget):
14462 (WebCore::HitTestResult::setIsOverWidget):
14463 * rendering/RenderWidget.cpp:
14464 (WebCore::RenderWidget::nodeAtPoint):
14465 * rendering/RenderWidget.h:
14467 2008-09-21 David Hyatt <hyatt@apple.com>
14469 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
14470 both it and ScrollView's updateContents method be off-limits to everyone in
14471 WebCore except for RenderView.
14473 Make repaintViewRectangle the only possible method for WebCore code to do
14474 an invalidation. This ensures that all invalidates triggered by WebCore
14475 cross-platform code that cross ownerElement() boundaries are transform-aware.
14477 Make sure that iframes/frames contained inside objects that have transforms
14478 or reflections are not allowed to blit (this was already true for transparency).
14480 It is not possible to make a test for any of this, since iframe scrolling
14481 still doesn't work on Mac (since the invalidates are not being done
14482 through WebCore's cross-platform invalidation code but are instead going
14483 through NSScrollView's setNeedsDisplay still).
14485 Reviewed by Oliver Hunt
14487 * editing/SelectionController.cpp:
14488 (WebCore::SelectionController::recomputeCaretRect):
14489 (WebCore::SelectionController::invalidateCaretRect):
14490 (WebCore::SelectionController::focusedOrActiveStateChanged):
14491 * page/FrameView.cpp:
14492 (WebCore::FrameView::repaintContentRectangle):
14493 (WebCore::FrameView::endDeferredRepaints):
14494 * page/FrameView.h:
14495 * platform/ScrollView.h:
14496 * rendering/RenderBox.cpp:
14497 (WebCore::RenderBox::paintFillLayerExtended):
14498 * rendering/RenderLayer.cpp:
14499 (WebCore::RenderLayer::enclosingPositionedAncestor):
14500 (WebCore::RenderLayer::requiresSlowRepaints):
14501 * rendering/RenderLayer.h:
14502 (WebCore::RenderLayer::hasTransform):
14503 * rendering/RenderView.cpp:
14504 (WebCore::RenderView::paintBoxDecorations):
14505 (WebCore::RenderView::repaintViewRectangle):
14506 (WebCore::RenderView::setSelection):
14508 2008-09-21 Maciej Stachowiak <mjs@apple.com>
14512 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
14513 https://bugs.webkit.org/show_bug.cgi?id=20981
14515 * bindings/js/JSAudioConstructor.cpp:
14516 (WebCore::JSAudioConstructor::JSAudioConstructor):
14517 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14518 (WebCore::JSCSSStyleDeclaration::nameGetter):
14519 * bindings/js/JSDOMBinding.cpp:
14520 (WebCore::createDOMStructure):
14521 * bindings/js/JSDOMBinding.h:
14522 (WebCore::getDOMStructure):
14523 * bindings/js/JSDOMWindowShell.cpp:
14524 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
14525 (WebCore::JSDOMWindowShell::setWindow):
14526 * bindings/js/JSEventTargetNode.cpp:
14527 (WebCore::JSEventTargetNode::createPrototype):
14528 * bindings/js/JSHTMLOptionElementConstructor.cpp:
14529 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
14530 * bindings/js/JSImageConstructor.cpp:
14531 (WebCore::JSImageConstructor::JSImageConstructor):
14532 * bindings/js/JSXMLHttpRequestConstructor.cpp:
14533 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
14534 * bindings/js/JSXSLTProcessorConstructor.cpp:
14535 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
14536 * bindings/scripts/CodeGeneratorJS.pm:
14538 2008-09-21 Darin Adler <darin@apple.com>
14540 Reviewed by Maciej Stachowiak.
14542 - fix problem Maciej noticed where every JSNamedNodesCollection
14543 gets its own StructureID
14545 * bindings/js/JSNamedNodesCollection.cpp:
14546 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
14547 getDOMStructure to get the structure.
14548 * bindings/js/JSNamedNodesCollection.h:
14549 (WebCore::JSNamedNodesCollection::createPrototype): Return the
14552 2008-09-20 David Hyatt <hyatt@apple.com>
14554 Make sure transformed scrollbars in overflow sections position
14555 properly. This patch mimics the same behavior that works for
14556 iframes, namely making sure that the same code that dynamically
14557 adjusts iframe widget positions at paint time for fixed positioning
14558 and transforms also applies to scrollbars. (This is as simple as passing
14559 in the current translation factor at paint time rather than crawling
14560 up the layer tree to compute a "false" absolute position.)
14562 An existing transform test covers this (although only a pixel result
14563 reveals the correct rendering).
14565 Reviewed by Darin Adler
14567 * rendering/RenderLayer.cpp:
14568 (WebCore::RenderLayer::updateLayerPositions):
14569 (WebCore::RenderLayer::positionOverflowControls):
14570 (WebCore::RenderLayer::paintOverflowControls):
14571 (WebCore::RenderLayer::paintLayer):
14572 * rendering/RenderLayer.h:
14574 2008-09-21 Steve Falkenburg <sfalken@apple.com>
14576 Removed unnecessary nested timer check.
14578 Rubber-stamped by Dan Bernstein.
14580 * platform/win/SharedTimerWin.cpp:
14581 (WebCore::TimerWindowWndProc):
14583 2008-09-21 Steve Falkenburg <sfalken@apple.com>
14585 Improve timer resolution on WinXP.
14586 https://bugs.webkit.org/show_bug.cgi?id=20979
14588 Removed last-chance timer. It should not be necessary.
14589 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
14590 Remove Vista checks. We now run the same code on both XP and Vista.
14592 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
14593 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
14595 Reviewed by Maciej Stachowiak.
14597 * platform/win/SharedTimerWin.cpp:
14599 (WebCore::TimerWindowWndProc):
14600 (WebCore::setSharedTimerFireTime):
14601 * platform/win/SystemTimeWin.cpp:
14602 (WebCore::currentTime):
14604 2008-09-21 Dirk Schulze <vbs85@gmx.de>
14606 Reviewed by eseidel. Landed by eseidel.
14608 All platforms use the DashArray in the GraphicsContext.
14610 * svg/graphics/SVGPaintServer.h:
14611 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
14612 (WebCore::SVGPaintServerGradient::setup):
14613 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
14614 (WebCore::SVGPaintServerPattern::setup):
14615 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
14616 (WebCore::SVGPaintServerSolid::setup):
14617 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
14618 (WebCore::SVGPaintServerGradient::setup):
14619 * svg/graphics/qt/SVGPaintServerQt.cpp:
14620 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
14621 (WebCore::SVGPaintServerSolid::setup):
14623 2008-09-21 Dirk Schulze <vbs85@gmx.de>
14625 Reviewed by eseidel. Landed by eseidel.
14627 Moved DashArray to GraphicsContext.
14630 * WebCore.vcproj/WebCore.vcproj:
14631 * WebCore.xcodeproj/project.pbxproj:
14632 * platform/graphics/DashArray.h: Added.
14633 * platform/graphics/GraphicsContext.h:
14634 * platform/graphics/cairo/GraphicsContextCairo.cpp:
14635 (WebCore::GraphicsContext::setLineDash):
14636 * platform/graphics/cg/GraphicsContextCG.cpp:
14637 (WebCore::GraphicsContext::setLineDash):
14638 * platform/graphics/qt/GraphicsContextQt.cpp:
14639 (WebCore::GraphicsContext::setLineDash):
14640 * svg/graphics/SVGPaintServer.cpp:
14641 (WebCore::applyStrokeStyleToContext):
14642 * svg/graphics/SVGPaintServer.h:
14643 * svg/graphics/cg/CgSupport.cpp:
14644 * svg/graphics/cg/CgSupport.h:
14646 2008-09-21 Dan Bernstein <mitz@apple.com>
14648 Reviewed by Mark Rowe.
14650 - fix linker warnings
14652 * WebCore.base.exp:
14654 2008-09-20 Darin Adler <darin@apple.com>
14656 - another try at fixing Qt
14658 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
14660 2008-09-20 Darin Adler <darin@apple.com>
14662 - blind attempt to fix Qt build
14664 * bridge/qt/qt_runtime.cpp:
14665 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
14666 of regExpPrototype to make a RegExpObject. There should really be
14667 some sort of public helper function for this. Same thing for
14668 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
14670 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
14671 It is not correct to do this inside the constructor because it could
14672 cause a garbage collect while the QtRuntimeMethod object is half-
14673 allocated, which could lead to a crash; note that RuntimeMethod,
14674 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
14675 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
14677 2008-09-20 Collin Jackson <collinj@webkit.org>
14679 Prefetch DNS for hyperlinks that the user mouses over.
14681 https://bugs.webkit.org/show_bug.cgi?id=20931
14683 Reviewed by Sam Weinig.
14686 (WebCore::Chrome::mouseDidMoveOverElement):
14688 2008-09-20 Darin Adler <darin@apple.com>
14690 Reviewed by Maciej Stachowiak.
14692 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
14693 make each distinct C++ class get a distinct JSC::Structure
14695 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14696 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
14697 ID. Note that this makes a new structure every time -- we could
14698 optimize this slightly be caching and reusing a single one.
14700 * bridge/runtime_method.cpp:
14701 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
14703 * bridge/runtime_method.h:
14704 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
14705 getDOMStructure will work.
14707 * bindings/js/JSDOMWindowShell.cpp:
14708 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
14709 0; needed in case garbage collection happens while creating the
14712 2008-09-20 Dan Bernstein <mitz@apple.com>
14714 Reviewed by Eric Seidel.
14716 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
14717 <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
14719 * svg/SVGTextContentElement.cpp:
14720 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
14721 not include the first character in the extraCharsAvailable count.
14723 2008-09-20 Kevin Ollivier <kevino@theolliviers.com>
14725 Reviewed by Dan Bernstein.
14729 https://bugs.webkit.org/show_bug.cgi?id=20505
14731 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
14734 2008-09-20 Kevin Ollivier <kevino@theolliviers.com>
14736 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
14738 * WebCoreSources.bkl:
14739 * platform/ScrollView.h:
14740 * platform/wx/PopupMenuWx.cpp:
14741 (WebCore::PopupMenu::show):
14742 * platform/wx/RenderThemeWx.cpp:
14743 (WebCore::RenderThemeWx::paintButton):
14744 (WebCore::RenderThemeWx::paintTextField):
14745 (WebCore::RenderThemeWx::paintMenuList):
14746 (WebCore::RenderThemeWx::paintMenuListButton):
14747 * platform/wx/ScrollViewWx.cpp:
14748 (WebCore::ScrollView::setPlatformWidget):
14749 (WebCore::ScrollView::updateContents):
14750 (WebCore::ScrollView::update):
14751 (WebCore::ScrollView::visibleWidth):
14752 (WebCore::ScrollView::visibleHeight):
14753 (WebCore::ScrollView::scrollBy):
14754 (WebCore::ScrollView::resizeContents):
14755 (WebCore::ScrollView::contentsWidth):
14756 (WebCore::ScrollView::contentsHeight):
14757 (WebCore::ScrollView::isScrollViewScrollbar):
14758 (WebCore::ScrollView::adjustScrollbars):
14759 (WebCore::ScrollView::inWindow):
14760 (WebCore::ScrollView::removeChild):
14761 * platform/wx/WidgetWx.cpp:
14762 * plugins/wx/PluginViewWx.cpp:
14763 (WebCore::PluginView::setParentVisible):
14764 (WebCore::PluginView::updatePluginWidget):
14766 2008-09-20 Timothy Hatcher <timothy@apple.com>
14768 Fix the new Node Search button image to not be blurry.
14770 * page/inspector/Images/nodeSearchButtons.png:
14772 2008-09-20 Matt Lilek <webkit@mattlilek.com>
14774 Reviewed by Tim Hatcher.
14776 Cut down some of the inspector javascript -> InspectorController glue code
14777 with two new macros. Also rearrange the exposed function list to be grouped
14778 by implementation and to all explicitly use the WebCore namespace.
14780 * page/InspectorController.cpp:
14781 (WebCore::InspectorController::windowScriptObjectAvailable):
14783 2008-09-20 Matt Lilek <webkit@mattlilek.com>
14785 Reviewed by Tim Hatcher.
14787 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
14789 * page/inspector/inspector.css:
14791 2008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
14795 Refactor HTMLImageLoader/SVGImageLoader code.
14796 Move html/HTMLImageLoader.* to loader/ImageLoader.*
14798 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
14799 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
14803 * WebCore.vcproj/WebCore.vcproj:
14804 * WebCore.xcodeproj/project.pbxproj:
14805 * WebCoreSources.bkl:
14806 * dom/Document.cpp:
14807 (WebCore::Document::dispatchImageLoadEventSoon):
14808 (WebCore::Document::removeImage):
14809 (WebCore::Document::dispatchImageLoadEventsNow):
14811 * html/HTMLImageLoader.cpp:
14812 (WebCore::HTMLImageLoader::HTMLImageLoader):
14813 (WebCore::HTMLImageLoader::~HTMLImageLoader):
14814 (WebCore::HTMLImageLoader::sourceURI):
14815 (WebCore::HTMLImageLoader::notifyFinished):
14816 * html/HTMLImageLoader.h:
14817 * loader/DocLoader.h:
14818 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
14819 (WebCore::ImageLoader::ImageLoader):
14820 (WebCore::ImageLoader::~ImageLoader):
14821 (WebCore::ImageLoader::setImage):
14822 (WebCore::ImageLoader::setLoadingImage):
14823 (WebCore::ImageLoader::updateFromElement):
14824 (WebCore::ImageLoader::notifyFinished):
14825 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
14826 * svg/SVGImageElement.cpp:
14827 (WebCore::SVGImageElement::attach):
14828 (WebCore::SVGImageElement::insertedIntoDocument):
14829 (WebCore::SVGImageElement::imageSourceAttributeName):
14830 * svg/SVGImageElement.h:
14831 * svg/SVGImageLoader.cpp:
14832 (WebCore::SVGImageLoader::SVGImageLoader):
14833 (WebCore::SVGImageLoader::dispatchLoadEvent):
14834 (WebCore::SVGImageLoader::sourceURI):
14835 * svg/SVGImageLoader.h:
14837 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
14841 [qtwebkit] ScrollBar build fix after r36684.
14842 BackButtonPart was split into Start and End Part
14843 ForwardButtonPart was split into Start and End Part
14845 * platform/qt/ScrollbarThemeQt.cpp:
14847 (WebCore::scrollbarPart):
14848 (WebCore::styleOptionSlider):
14850 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
14854 [qtwebkit] Make qt_instance.cpp compile.
14855 Revision of 36675 introduced getDOMStructure to give unique
14856 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
14857 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
14859 * bridge/qt/qt_instance.cpp:
14860 (JSC::Bindings::QtInstance::getRuntimeObject):
14862 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
14864 Reviewed by Nikolas Zimmermann.
14866 [svg] Change SVGLocatable to deal with a plain SVGElement
14867 There is no requirement in the code that we have to have a
14868 SVGStyledElement. Remove that artificial limitation and compile
14871 * svg/SVGLocatable.cpp:
14872 * svg/SVGLocatable.h:
14874 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
14876 Reviewed by Nikolas Zimmermann.
14878 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
14881 * dom/Document.cpp:
14882 (WebCore::Document::~Document):
14883 (WebCore::Document::svgExtensions):
14884 (WebCore::Document::accessSVGExtensions):
14887 2008-09-19 David Hyatt <hyatt@apple.com>
14889 Fix for crash in updateTransitions. Make sure to test for a style
14890 being null when comparing two RenderStyles.
14892 Reviewed by Oliver Hunt
14894 * page/animation/AnimationBase.cpp:
14895 (WebCore::PropertyWrapperGetter::equals):
14897 2008-09-19 David Hyatt <hyatt@apple.com>
14899 https://bugs.webkit.org/show_bug.cgi?id=20954
14901 Roll out r36628 since it has caused horrible regressions with
14902 animated GIF CPU usage.
14904 * platform/graphics/BitmapImage.cpp:
14905 (WebCore::BitmapImage::cacheFrame):
14906 (WebCore::BitmapImage::startAnimation):
14907 * platform/graphics/BitmapImage.h:
14908 (WebCore::FrameData::FrameData):
14909 * platform/graphics/cairo/ImageCairo.cpp:
14910 (WebCore::FrameData::clear):
14911 * platform/graphics/cg/ImageCG.cpp:
14912 (WebCore::FrameData::clear):
14913 * platform/graphics/qt/ImageQt.cpp:
14914 (WebCore::FrameData::clear):
14915 * platform/graphics/wx/ImageWx.cpp:
14916 (WebCore::FrameData::clear):
14918 2008-09-20 Alp Toker <alp@nuanti.com>
14920 Reviewed by Timothy Hatcher.
14922 https://bugs.webkit.org/show_bug.cgi?id=20913
14923 Avoid redudant includes
14925 Document.h is included excessively such that a modification to Document.h (or
14926 any of the header it includes itself) triggers a rebuild of many files
14927 including the whole of SVG and a lot of the JS bindings.
14929 Some of these includes can be avoided by only including Document.h where
14932 * bindings/js/JSAttrCustom.cpp:
14933 * bindings/js/JSElementCustom.cpp:
14934 * bindings/js/JSEventTargetBase.cpp:
14935 * bindings/js/JSEventTargetBase.h:
14936 * bindings/js/JSEventTargetNode.cpp:
14937 * bindings/js/JSHTMLFrameElementCustom.cpp:
14938 * bindings/js/JSHTMLIFrameElementCustom.cpp:
14939 * bindings/scripts/CodeGeneratorJS.pm:
14940 * css/CSSCursorImageValue.cpp:
14941 * css/SVGCSSStyleSelector.cpp:
14942 * dom/make_names.pl:
14943 * svg/SVGAnimateElement.h:
14944 * svg/SVGAnimatedProperty.h:
14945 (WebCore::::baseValue):
14946 (WebCore::::setBaseValue):
14947 (WebCore::::startAnimation):
14948 (WebCore::::stopAnimation):
14949 * svg/SVGElement.cpp:
14950 (WebCore::SVGElement::accessDocumentSVGExtensions):
14951 * svg/SVGElement.h:
14952 * svg/SVGElementInstance.cpp:
14953 * svg/SVGFitToViewBox.cpp:
14954 * svg/SVGFontElement.cpp:
14955 * svg/SVGFontFaceElement.cpp:
14956 * svg/SVGLinearGradientElement.cpp:
14957 * svg/SVGMPathElement.cpp:
14958 * svg/SVGViewSpec.cpp:
14960 2008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
14962 Reviewed by Antti & Eric.
14964 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
14966 Finish HTMLScriptElement / SVGScriptElement unification.
14967 SVG <script> support is complete now, full SVGLoad event
14968 respecting the influence of the externalResourcesRequired attribute
14969 as well as SVGError event support. All other features shared with HTML.
14971 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
14972 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
14973 svg/dom/SVGScriptElement/script-load-and-error-events.svg
14974 svg/dom/SVGScriptElement/script-reexecution.svg
14975 svg/dom/SVGScriptElement/script-set-href.svg
14977 * dom/ScriptElement.cpp:
14978 (WebCore::ScriptElementData::ScriptElementData):
14979 (WebCore::ScriptElementData::requestScript):
14980 * dom/ScriptElement.h:
14981 (WebCore::ScriptElementData::haveFiredLoadEvent):
14982 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
14983 * dom/XMLTokenizer.cpp:
14984 (WebCore::XMLTokenizer::notifyFinished):
14985 * html/HTMLScriptElement.cpp:
14986 (WebCore::HTMLScriptElement::dispatchLoadEvent):
14987 * svg/SVGScriptElement.cpp:
14988 (WebCore::SVGScriptElement::setCreatedByParser):
14989 (WebCore::SVGScriptElement::parseMappedAttribute):
14990 (WebCore::SVGScriptElement::svgAttributeChanged):
14991 (WebCore::SVGScriptElement::insertedIntoDocument):
14992 (WebCore::SVGScriptElement::removedFromDocument):
14993 (WebCore::SVGScriptElement::childrenChanged):
14994 (WebCore::SVGScriptElement::isURLAttribute):
14995 (WebCore::SVGScriptElement::finishParsingChildren):
14996 (WebCore::SVGScriptElement::type):
14997 (WebCore::SVGScriptElement::setType):
14998 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
14999 (WebCore::SVGScriptElement::dispatchLoadEvent):
15000 (WebCore::SVGScriptElement::dispatchErrorEvent):
15001 * svg/SVGScriptElement.h:
15003 2008-09-19 Dan Bernstein <mitz@apple.com>
15005 Reviewed by John Sullivan.
15007 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
15008 Typo in Position::getInlineBoxAndOffset()
15009 and add an assertion
15011 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
15013 * dom/Position.cpp:
15014 (WebCore::Position::getInlineBoxAndOffset):
15015 * rendering/InlineTextBox.cpp:
15016 (WebCore::InlineTextBox::positionForOffset):
15018 2008-09-19 David Hyatt <hyatt@apple.com>
15020 Add support for hit testing of all five possible scrollbar button placements.
15022 Reviewed by Sam Weinig
15024 * platform/ScrollbarThemeComposite.cpp:
15025 (WebCore::ScrollbarThemeComposite::paint):
15026 * platform/mac/ScrollbarThemeMac.mm:
15028 (WebCore::ScrollbarThemeMac::backButtonRect):
15029 (WebCore::ScrollbarThemeMac::forwardButtonRect):
15030 (WebCore::ScrollbarThemeMac::trackRect):
15031 (WebCore::ScrollbarThemeMac::paintButton):
15033 2008-09-19 Darin Adler <darin@apple.com>
15035 - try to fix Qt build
15037 * bridge/qt/qt_instance.cpp:
15038 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
15039 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
15040 * bridge/runtime_object.cpp:
15041 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
15042 * bridge/runtime_object.h: Ditto.
15044 2008-09-19 Chris Marrin <cmarrin@apple.com>
15046 Reviewed by Dave Hyatt.
15048 Transition starts running when it shouldn't
15049 https://bugs.webkit.org/show_bug.cgi?id=20892
15051 When there is a transition and an animation on the
15052 same element, make sure the animation wins.
15054 The fix is to save the unanimated style when an animation is started.
15055 Then, when starting a transition, check to see if there is a current
15056 animation on the same prop. If so, use the unanimated style as the
15057 fromStyle rather than the current style.
15059 Test: animations/transition-and-animation-1.html
15061 * page/animation/CompositeAnimation.cpp:
15062 (WebCore::CompositeAnimation::updateTransitions):
15063 (WebCore::CompositeAnimation::updateKeyframeAnimations):
15064 (WebCore::CompositeAnimation::animate):
15065 (WebCore::CompositeAnimation::getAnimationForProperty):
15066 * page/animation/CompositeAnimation.h:
15067 * page/animation/ImplicitAnimation.cpp:
15068 (WebCore::ImplicitAnimation::reset):
15069 * page/animation/ImplicitAnimation.h:
15070 * page/animation/KeyframeAnimation.cpp:
15071 (WebCore::KeyframeAnimation::hasAnimationForProperty):
15072 * page/animation/KeyframeAnimation.h:
15073 (WebCore::KeyframeAnimation::KeyframeAnimation):
15074 (WebCore::KeyframeAnimation::unanimatedStyle):
15076 2008-09-19 David Hyatt <hyatt@apple.com>
15078 Add support for painting/hit testing of four possible scrollbar buttons.
15079 The Windows themes simply ignore the two parts that they will never
15080 show. The Mac theme also ignores the other two buttons for now.
15082 The cross-platform base for all three themes, ScrollbarThemeComposite,
15083 has all the proper support though.
15085 Reviewed by Sam Weinig
15087 * platform/ScrollbarThemeComposite.cpp:
15088 (WebCore::ScrollbarThemeComposite::hitTest):
15089 (WebCore::ScrollbarThemeComposite::invalidatePart):
15090 * platform/ScrollbarThemeComposite.h:
15091 * platform/mac/ScrollbarThemeMac.h:
15092 * platform/mac/ScrollbarThemeMac.mm:
15093 (WebCore::ScrollbarThemeMac::backButtonRect):
15094 (WebCore::ScrollbarThemeMac::forwardButtonRect):
15095 (WebCore::ScrollbarThemeMac::paintButton):
15096 * platform/win/ScrollbarThemeSafari.cpp:
15097 (WebCore::ScrollbarThemeSafari::backButtonRect):
15098 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
15099 (WebCore::ScrollbarThemeSafari::paintButton):
15100 * platform/win/ScrollbarThemeSafari.h:
15101 * platform/win/ScrollbarThemeWin.cpp:
15102 (WebCore::ScrollbarThemeWin::backButtonRect):
15103 (WebCore::ScrollbarThemeWin::forwardButtonRect):
15104 (WebCore::ScrollbarThemeWin::paintButton):
15105 * platform/win/ScrollbarThemeWin.h:
15107 2008-09-19 Matt Lilek <webkit@mattlilek.com>
15109 Reviewed by Tim Hatcher.
15111 Bug 17772: Inspector should support point-and-click to select a node to inspect
15112 https://bugs.webkit.org/show_bug.cgi?id=17772
15113 <rdar://problem/5792395>
15115 * English.lproj/localizedStrings.js:
15117 (WebCore::Chrome::mouseDidMoveOverElement):
15118 * page/EventHandler.cpp:
15119 (WebCore::EventHandler::handleMousePressEvent):
15120 * page/InspectorController.cpp:
15121 (WebCore::toggleNodeSearch):
15122 (WebCore::searchingForNode):
15123 (WebCore::InspectorController::InspectorController):
15124 (WebCore::InspectorController::toggleSearchForNodeInPage):
15125 (WebCore::InspectorController::mouseDidMoveOverElement):
15126 (WebCore::InspectorController::handleMousePressOnNode):
15127 (WebCore::InspectorController::windowScriptObjectAvailable):
15128 * page/InspectorController.h:
15129 (WebCore::InspectorController::searchingForNodeInPage):
15130 * page/inspector/ElementsPanel.js:
15131 * page/inspector/Images/nodeSearchButtons.png: Added.
15132 * page/inspector/inspector.css:
15134 2008-09-19 David Hyatt <hyatt@apple.com>
15136 Add new scrollbar parts to be able to represent back and forward buttons
15137 at either end of the scrollbar. The current scrollbar still just draws
15138 a single button at either end, but the parts now exist.
15140 Reviewed by Sam Weinig
15142 * platform/ScrollTypes.h:
15144 * platform/Scrollbar.cpp:
15145 (WebCore::Scrollbar::autoscrollTimerFired):
15146 (WebCore::Scrollbar::pressedPartScrollDirection):
15147 (WebCore::Scrollbar::pressedPartScrollGranularity):
15148 (WebCore::Scrollbar::handleMouseMoveEvent):
15149 * platform/ScrollbarTheme.h:
15150 (WebCore::ScrollbarTheme::buttonsPlacement):
15151 (WebCore::ScrollbarTheme::invalidateParts):
15152 * platform/ScrollbarThemeComposite.cpp:
15153 (WebCore::ScrollbarThemeComposite::paint):
15154 (WebCore::ScrollbarThemeComposite::hitTest):
15155 (WebCore::ScrollbarThemeComposite::invalidatePart):
15156 * platform/ScrollbarThemeComposite.h:
15158 2008-09-19 Beth Dakin <bdakin@apple.com>
15160 Reviewed by Dave Hyatt.
15162 Fix for <rdar://problem/6231308> crash in AutoTableLayout
15164 The code assumes later on that a TableSection's grid's row vector
15165 will never be empty. So make 1 the minimum number of columns.
15167 * rendering/RenderTableSection.cpp:
15168 (WebCore::RenderTableSection::ensureRows):
15170 2008-09-19 David Hyatt <hyatt@apple.com>
15172 Add a new ScrollbarButtonsPlacement type for specifying where
15173 the button arrows are in a scrollbar.
15175 Read in the placement settings for Mac. Nothing is done with the
15178 Add a new buttonsPlacement() method to ScrollbarTheme composite
15179 so that the arrow settings can be obtained.
15181 Reviewed by Sam Weinig
15183 * platform/ScrollTypes.h:
15185 * platform/ScrollbarThemeComposite.h:
15186 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
15187 * platform/mac/ScrollbarThemeMac.mm:
15188 (WebCore::updateArrowPlacement):
15189 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
15191 2008-09-19 Steve Falkenburg <sfalken@apple.com>
15193 Roll out r36626. It is causing variance in SunSpider numbers on XP.
15195 Rubber stamped by Mark Rowe.
15197 * platform/win/SharedTimerWin.cpp:
15198 (WebCore::isRunningOnVistaOrLater):
15199 (WebCore::setSharedTimerFireTime):
15201 2008-09-19 Kevin McCullough <kmccullough@apple.com>
15205 https://bugs.webkit.org/show_bug.cgi?id=20942
15206 Bug 20942: Repeated messages in resources don't collapse
15207 - Now repeated messages in a resource's view are collapsed and a message
15208 says how many were repeated.
15210 * English.lproj/localizedStrings.js:
15211 * manual-tests/inspector/multiple-console-messages.html:
15212 * page/inspector/Console.js: Send all the messages to the resource's
15213 view before possibly returning early if the message is a repeat.
15214 * page/inspector/SourceFrame.js: Add the text about the message being
15215 repeated, if it is, and increment it when necessary.
15217 2008-09-19 Chris Fleizach <cfleizach@apple.com>
15219 Removed unnecessary #if
15221 * page/mac/AccessibilityObjectWrapper.mm:
15223 2008-09-19 David Hyatt <hyatt@apple.com>
15225 Read in prefs for the scroll delay repeat values for buttons. Also
15226 honor the option-click pref for jumping to the thumb when clicking in
15229 Reviewed by Sam Weinig
15231 * platform/mac/ScrollbarThemeMac.h:
15232 * platform/mac/ScrollbarThemeMac.mm:
15233 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
15234 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
15235 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
15236 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
15238 2008-09-19 David Hyatt <hyatt@apple.com>
15240 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
15241 Set the initial button repeat delay to 0.5 for Mac.
15243 Reviewed by Sam Weinig
15245 * WebCore.xcodeproj/project.pbxproj:
15246 * platform/mac/ScrollbarThemeMac.cpp: Removed.
15247 * platform/mac/ScrollbarThemeMac.h:
15248 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
15249 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
15251 2008-09-19 Darin Adler <darin@apple.com>
15253 Reviewed by Sam Weinig.
15255 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
15256 make each distinct C++ class get a distinct JSC::Structure
15258 + Fixed all cases where we were using a shared structure for multiple
15259 C++ classes in WebCore. This still has to be done in JavaScriptCore.
15261 + Got rid of cacheGlobalObject.
15263 + Improved use of PassRefPtr in bindings code.
15265 + Removed a couple cases where we were potentially allocating prototypes
15266 inside a JSObject's construction process -- this can lead to trouble if
15267 we do a garbage collection while an object is only partly constructed.
15269 * bindings/js/JSAudioConstructor.cpp:
15270 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
15271 so we don't implicitly share the structure with other objects that use the object
15274 * bindings/js/JSDOMBinding.cpp:
15275 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
15276 don't need cacheGlobalObject any more.
15277 (WebCore::cacheDOMConstructor): Ditto.
15279 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
15280 Added functions and a function template for getting cached DOM constructors.
15281 Removed cacheGlobalObject function template.
15283 * bindings/js/JSDOMWindowBase.cpp:
15284 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
15285 we're taking ownership.
15286 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
15287 we're taking ownership. Added constructor map.
15288 * bindings/js/JSDOMWindowCustom.cpp:
15289 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
15291 * bindings/js/JSDOMWindowShell.cpp:
15292 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
15293 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
15294 this is now done in only that one place.
15295 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
15296 the passed-in DOMWindow. Code was moved here and changed to allocate unique
15297 structures for both the window prototype and the window.
15298 * bindings/js/JSDOMWindowShell.h: Ditto.
15300 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
15301 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
15302 private/friend in JSEventTargetBase. Removed comments referring to defunct
15303 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
15304 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
15305 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
15307 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
15308 for caching structures and prototypes.
15309 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
15310 (WebCore::JSEventTargetNode::createPrototype): Added.
15311 * bindings/js/JSEventTargetNode.h: Updated for above changes.
15313 * bindings/js/JSHTMLAllCollection.h:
15314 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
15315 * bindings/js/JSHTMLCollectionCustom.cpp:
15316 (WebCore::getNamedItems): Pass ExecState instead of prototype.
15317 * bindings/js/JSHTMLFormElementCustom.cpp:
15318 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
15319 * bindings/js/JSHTMLInputElementBase.cpp:
15320 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
15321 * bindings/js/JSHTMLInputElementBase.h: Ditto.
15322 * bindings/js/JSHTMLOptionElementConstructor.cpp:
15323 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
15324 Create a unique structure instead of sharing.
15325 * bindings/js/JSImageConstructor.cpp:
15326 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
15328 * bindings/js/JSInspectedObjectWrapper.cpp:
15329 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
15330 a prototype rather than a structure. Made the use of inheritorID() here
15332 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
15333 * bindings/js/JSInspectorCallbackWrapper.cpp:
15334 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
15335 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
15337 * bindings/js/JSNamedNodesCollection.cpp:
15338 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
15339 take an ExecState argument instead of a prototype. Create a unique
15340 StructureID instead of sharing.
15341 * bindings/js/JSNamedNodesCollection.h: Ditto.
15343 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
15344 constructor that takes a prototype instead of a structure.
15345 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
15347 * bindings/js/JSRGBColor.cpp:
15348 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
15349 prototype; create a unique structure.
15350 (WebCore::getJSRGBColor): Ditto.
15351 * bindings/js/JSRGBColor.h: Ditto.
15353 * bindings/js/JSSQLResultSetRowListCustom.cpp:
15354 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
15355 of explicit coding the idiom for making a new object.
15357 * bindings/js/JSXMLHttpRequestConstructor.cpp:
15358 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
15359 Create a unique structure instead of the shared one.
15360 * bindings/js/JSXSLTProcessorConstructor.cpp:
15361 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
15364 * bindings/js/ScriptController.cpp:
15365 (WebCore::ScriptController::clearWindowShell): Let the window shell's
15366 setWindow function create the JSDOMWindow instead of doing it here.
15368 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
15369 the structure and the wrapped object when creating wrappers.
15370 Simplified some of the special cases for DOMWindow so they are
15371 different only in ways the need to be. Eliminated the
15372 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
15373 functions. Moved responsibility for creating the structure and
15374 parent prototype out of the prototype constructor into the
15375 createPrototype function. Removed the unused "DoNotCache" flag for
15376 objects other than DOMWindow. Use getDOMConstructor instead of
15377 cacheGlobalObject for constructors. Make each constructor have
15378 a unique structure ID.
15380 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
15381 name of the info member to s_info so we can use the standard DOM
15382 binding macros to handl the prototype.
15383 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
15384 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
15385 Create a unique structure using getDOMStructure.
15387 * bridge/runtime_array.cpp: Fixed namespacing a bit.
15388 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
15390 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
15393 * bridge/runtime_object.cpp:
15394 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
15396 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
15399 * history/CachedPage.cpp:
15400 (WebCore::CachedPage::restore): Let the window shell's
15401 setWindow function create the JSDOMWindow instead of doing it here.
15403 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
15405 2008-09-19 Dan Bernstein <mitz@apple.com>
15407 Reviewed by Dave Hyatt.
15409 This optimization was suggested by Daniel Fenwick
15411 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
15413 Specifying LTR paragraph directionality when measuring runs of RTL text
15414 resulted in typically two CTRuns being generated for every run instead
15415 of one, due to the leading space being reordered to the left.
15417 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
15418 getCFStringAttributes() and changed m_CFStringAttributes from an array
15420 * platform/graphics/mac/CoreTextController.cpp:
15421 (WebCore::CoreTextController::CoreTextController): Added a
15422 mayUseNaturalWritingDirection parameter.
15423 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
15424 to force the bidi embedding level whenever
15425 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
15426 case, made the typesetter options dictionaries static.
15427 * platform/graphics/mac/CoreTextController.h:
15428 * platform/graphics/mac/FontMacCoreText.cpp:
15429 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
15430 (WebCore::Font::floatWidthForComplexText): Changed to allow the
15431 CoreTextController to not set the writing direction.
15432 * platform/graphics/mac/SimpleFontDataMac.mm:
15433 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
15434 parameter and the paragraph style attribute.
15436 2008-09-19 David Hyatt <hyatt@apple.com>
15438 Reviewed by Sam Weinig
15440 https://bugs.webkit.org/show_bug.cgi?id=20941
15442 Incorrect height calculation for replaced element inside nested
15443 positioned elements (where the inner has a percentage height and
15444 the outer implicitly has a fixed height because of explicit top/bottom
15447 Added fast/block/positioning/replaced-inside-top-bottom.html
15449 * rendering/RenderBox.cpp:
15450 (WebCore::RenderBox::availableHeightUsing):
15452 2008-09-19 Chris Fleizach <cfleizach@apple.com>
15456 * page/mac/AccessibilityObjectWrapper.mm:
15458 2008-09-18 Chris Fleizach <cfleizach@apple.com>
15460 Reviewed by Darin Adler.
15462 <rdar://problem/6211041> Expose legend tag in accessibility
15464 Exposes the legend tag as the titleUIElement of a fieldset
15466 Test: accessibility/legend.html
15468 * page/AccessibilityObject.h:
15469 (WebCore::AccessibilityObject::isFieldset):
15470 * page/AccessibilityRenderObject.cpp:
15471 (WebCore::AccessibilityRenderObject::isFieldset):
15472 (WebCore::AccessibilityRenderObject::titleUIElement):
15473 * page/AccessibilityRenderObject.h:
15474 * rendering/RenderFieldset.h:
15476 2008-09-19 Chris Fleizach <cfleizach@apple.com>
15478 Reviewed by Darin Adler.
15480 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
15482 Implement a few AX API methods that will be called by AppKit, which will
15483 speed up access to accessibility objects
15485 * page/mac/AccessibilityObjectWrapper.mm:
15486 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
15487 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
15488 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
15490 2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
15492 Reviewed by Simon Hausmann.
15494 [qtwebkit] Set the m_should* flags to their proper value on entry
15495 With plugins it was possible that we finished a job twice. This was
15496 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
15497 setting the flag to (m_loadMode == LoadDeferred) they will always have
15498 the right value and we will not send responses twice.
15500 * platform/network/qt/QNetworkReplyHandler.cpp:
15502 2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
15504 Reviewed by Simon Hausmann.
15506 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
15507 Handle text decoding errors before instructing the parser to parse. We
15508 have converted the text to QString and all encoding errors are gone and
15509 the parser will not be able to detect them. So handle them before parsing.
15511 * dom/XMLTokenizerQt.cpp:
15512 (WebCore::XMLTokenizer::doWrite):
15514 2008-09-18 Darin Adler <darin@apple.com>
15516 Reviewed by Maciej Stachowiak.
15518 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
15519 make each distinct C++ class get a distinct JSC::Structure
15521 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
15522 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
15523 instead of DOMExceptionTranslator.
15525 * bindings/js/JSDOMBinding.cpp:
15526 (WebCore::getCachedDOMObjectWrapper): Updated function name.
15527 (WebCore::cacheDOMObjectWrapper): Ditto.
15528 (WebCore::forgetDOMObject): Ditto.
15529 (WebCore::getCachedDOMNodeWrapper): Ditto.
15530 (WebCore::forgetDOMNode): Ditto.
15531 (WebCore::cacheDOMNodeWrapper): Ditto.
15532 (WebCore::forgetAllDOMNodesForDocument): Ditto.
15533 (WebCore::markDOMNodesForDocument): Ditto.
15534 (WebCore::updateDOMNodeDocument): Ditto.
15535 (WebCore::getCachedDOMStructure): Added.
15536 (WebCore::createDOMStructure): Ditto.
15538 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
15539 class and replace the static member functions with non-member
15540 functions. Added many other functions for getting at structures,
15541 prototypes, wrappers, and creating them. Also moved the
15542 cacheGlobalObject function here from JavaScriptCore; eventually
15543 I'll remove that once I get rid of the remaining callers. Also
15544 removed the DOMExceptionTranslator class.
15546 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
15547 and put one of those maps in each window.
15549 * bindings/js/JSDOMWindowCustom.cpp:
15550 (WebCore::markDOMObjectWrapper): Updated for function name change.
15551 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
15552 in the structure map.
15554 * bindings/js/JSEventTargetNode.cpp:
15555 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
15556 a structure instead of a prototype.
15557 * bindings/js/JSEventTargetNode.h: Ditto.
15558 * bindings/js/JSHTMLAllCollection.h:
15559 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
15561 * bindings/js/JSHTMLInputElementBase.cpp:
15562 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
15563 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
15564 structure instead of a prototype.
15565 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
15566 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
15567 to take a structure instead of a prototype. Created a dummy prototype
15568 class that causes the HTMLInputElement prototype to have the
15569 HTMLElement prototype.
15571 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
15572 structures instead of prototypes. Changed the prototype self function
15573 to use the getDOMPrototype function -- later we can eliminate it and
15574 have callers invoke getDOMPrototype directly instead. Updated other
15575 functions that have name changes. Added code to generate the
15576 createPrototype member function. Changed use of cacheGlobalObject to
15577 get it from the WebCore namespace instead of the JSC namespace.
15578 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
15580 * dom/Document.cpp:
15581 (WebCore::Document::~Document): Updated for name change and also
15582 removed unnecessary JSLock use -- there's no need to lock around this.
15584 (WebCore::Node::setDocument): Ditto.
15586 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
15587 instead of calling new directly.
15589 * bindings/js/JSCSSRuleCustom.cpp:
15590 (WebCore::toJS): Updated for function name changes and used the
15591 CREATE_DOM_OBJECT_WRAPPER macro.
15592 * bindings/js/JSCSSValueCustom.cpp:
15593 (WebCore::toJS): Ditto.
15594 * bindings/js/JSCanvasPixelArrayCustom.cpp:
15595 (WebCore::toJS): Ditto.
15596 * bindings/js/JSDocumentCustom.cpp:
15597 (WebCore::JSDocument::mark): Ditto.
15598 (WebCore::toJS): Ditto.
15599 * bindings/js/JSElementCustom.cpp:
15600 (WebCore::toJSNewlyCreated): Ditto.
15601 * bindings/js/JSEventCustom.cpp:
15602 (WebCore::toJS): Ditto.
15603 * bindings/js/JSEventTargetBase.cpp:
15604 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
15605 of DOMExceptionTranslator.
15606 (WebCore::toJS): Updated for function name changes and used the
15607 CREATE_DOM_OBJECT_WRAPPER macro.
15608 * bindings/js/JSHTMLCollectionCustom.cpp:
15609 (WebCore::toJS): Ditto.
15610 * bindings/js/JSNodeCustom.cpp:
15611 (WebCore::JSNode::mark): Ditto.
15612 (WebCore::createWrapper): Ditto.
15613 (WebCore::toJS): Ditto.
15614 * bindings/js/JSSVGPathSegCustom.cpp:
15615 (WebCore::toJS): Ditto.
15616 * bindings/js/JSStyleSheetCustom.cpp:
15617 (WebCore::toJS): Ditto.
15618 (WebCore::JSStyleSheet::mark): Ditto.
15619 * bindings/js/JSTextCustom.cpp:
15620 (WebCore::toJSNewlyCreated): Ditto.
15621 * bindings/js/JSXMLHttpRequestConstructor.cpp:
15622 (WebCore::constructXMLHttpRequest): Ditto.
15623 * bindings/js/JSXMLHttpRequestCustom.cpp:
15624 (WebCore::JSXMLHttpRequest::mark): Ditto.
15625 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
15626 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
15627 * bindings/js/JSXSLTProcessorConstructor.cpp:
15628 (WebCore::constructXSLTProcessor): Ditto.
15629 * bindings/js/ScriptController.cpp:
15630 (WebCore::ScriptController::finishedWithEvent): Ditto.
15631 * xml/XMLHttpRequest.cpp:
15632 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
15633 (WebCore::XMLHttpRequest::dropProtection): Ditto.
15635 2008-09-18 David Hyatt <hyatt@apple.com>
15637 This patch gets a viewless scrollbar working on Mac. It is turned off
15638 by default. Hit testing works. For now the scrollbar just paints ugly
15639 debug rects in the place of the buttons, track and thumb. It does match
15640 Aqua metrics though.
15642 Reviewed by Sam Weinig
15644 * WebCore.xcodeproj/project.pbxproj:
15645 * page/mac/EventHandlerMac.mm:
15646 (WebCore::EventHandler::passMousePressEventToScrollbar):
15647 * platform/ScrollbarThemeComposite.cpp:
15648 (WebCore::ScrollbarThemeComposite::paint):
15649 (WebCore::ScrollbarThemeComposite::trackPosition):
15650 * platform/ScrollbarThemeComposite.h:
15651 * platform/mac/ScrollViewMac.mm:
15652 (WebCore::ScrollView::addChild):
15653 * platform/mac/ScrollbarThemeMac.cpp:
15655 (WebCore::ScrollbarThemeMac::hasButtons):
15656 (WebCore::ScrollbarThemeMac::hasThumb):
15657 (WebCore::buttonRepaintRect):
15658 (WebCore::ScrollbarThemeMac::backButtonRect):
15659 (WebCore::ScrollbarThemeMac::forwardButtonRect):
15660 (WebCore::trackRepaintRect):
15661 (WebCore::ScrollbarThemeMac::trackRect):
15662 (WebCore::ScrollbarThemeMac::minimumThumbLength):
15663 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
15664 (WebCore::ScrollbarThemeMac::paintTrack):
15665 (WebCore::ScrollbarThemeMac::paintButton):
15666 (WebCore::ScrollbarThemeMac::paintThumb):
15667 * platform/mac/ScrollbarThemeMac.h:
15668 (WebCore::ScrollbarThemeMac::supportsControlTints):
15669 * platform/qt/ScrollbarThemeQt.cpp:
15670 (WebCore::ScrollbarThemeQt::trackPosition):
15672 2008-09-18 Collin Jackson <collinj@webkit.org>
15674 Build fix; added missing header file to GNUmakefile.am
15678 2008-09-18 Sam Weinig <sam@webkit.org>
15680 Reviewed by David "the Hair" Hyatt.
15682 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
15686 * WebCore.vcproj/WebCore.vcproj:
15687 * WebCore.xcodeproj/project.pbxproj:
15688 * rendering/DataRef.h: Removed.
15689 * rendering/SVGRenderStyle.cpp: Removed.
15690 * rendering/SVGRenderStyle.h: Removed.
15691 * rendering/SVGRenderStyleDefs.cpp: Removed.
15692 * rendering/SVGRenderStyleDefs.h: Removed.
15693 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
15694 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
15695 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
15696 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
15697 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
15699 2008-09-18 Mark Rowe <mrowe@apple.com>
15701 Reviewed by Dan Bernstein.
15703 Add a means of clearing a FrameTree's name.
15705 * WebCore.base.exp:
15706 * page/FrameTree.cpp:
15707 (WebCore::FrameTree::clearName):
15708 * page/FrameTree.h:
15710 2008-09-18 David Hyatt <hyatt@apple.com>
15712 Eliminate addToSuperview from Widget, since it was only called
15713 by ScrollViewMac's addChild method. Just shift the original body
15714 of addToSuperView into addChild.
15716 Reviewed by Sam Weinig
15718 * platform/Widget.h:
15719 * platform/mac/ScrollViewMac.mm:
15720 (WebCore::ScrollView::addChild):
15721 * platform/mac/WidgetMac.mm:
15723 2008-09-18 Collin Jackson <collinj@webkit.org>
15725 Reviewed by Antti Koivisto and Mark Rowe.
15727 Test: http/tests/misc/dns-prefetch-control.html
15729 https://bugs.webkit.org/show_bug.cgi?id=20690
15731 Invoke WebCore::prefetchDNS() on host names that appear in
15732 in the href of hyperlinks and <link rel="dns-prefetch">. This
15733 can be used to implement DNS prefetching.
15735 * WebCore.vcproj/WebCore.vcproj:
15736 * WebCore.xcodeproj/project.pbxproj:
15737 * dom/Document.cpp:
15738 (WebCore::Document::Document):
15739 (WebCore::Document::processHttpEquiv):
15740 (WebCore::Document::setSecurityOrigin):
15741 (WebCore::Document::initDNSPrefetch):
15742 (WebCore::Document::parseDNSPrefetchControlHeader):
15744 (WebCore::Document::isDNSPrefetchEnabled):
15745 * html/HTMLAnchorElement.cpp:
15746 (WebCore::HTMLAnchorElement::parseMappedAttribute):
15747 * html/HTMLLinkElement.cpp:
15748 (WebCore::HTMLLinkElement::HTMLLinkElement):
15749 (WebCore::HTMLLinkElement::parseMappedAttribute):
15750 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
15751 (WebCore::HTMLLinkElement::process):
15752 * html/HTMLLinkElement.h:
15753 * html/PreloadScanner.cpp:
15754 (WebCore::PreloadScanner::processAttribute):
15755 * loader/FrameLoader.cpp:
15756 (WebCore::FrameLoader::begin):
15757 * platform/gtk/TemporaryLinkStubs.cpp:
15758 (WebCore::prefetchDNS):
15759 * platform/network/DNS.h: Added.
15760 * platform/network/cf/DNSCFNet.cpp: Added.
15761 (WebCore::prefetchDNS):
15762 * platform/qt/TemporaryLinkStubs.cpp:
15763 (WebCore::prefetchDNS):
15764 * platform/wx/TemporaryLinkStubs.cpp:
15765 (WebCore::prefetchDNS):
15767 2008-09-18 David Hyatt <hyatt@apple.com>
15769 Eliminate the convertToScreenCoordinate method on Widget, since
15770 ScrollView has redundant methods that already do the same thing.
15772 Reviewed by Sam Weinig
15774 * editing/mac/SelectionControllerMac.mm:
15775 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
15776 * platform/Widget.h:
15777 * platform/mac/WidgetMac.mm:
15778 (WebCore::Widget::containingWindow):
15780 2008-09-18 David Hyatt <hyatt@apple.com>
15782 Move to only one constructor for Widgets. Rename data to m_data and make
15783 it have an #ifdef only for platforms that have platform-specific data (Mac
15786 Reviewed by Sam Weinig
15788 * WebCore.base.exp:
15789 * platform/Widget.cpp:
15790 (WebCore::Widget::init):
15791 * platform/Widget.h:
15792 * platform/gtk/WidgetGtk.cpp:
15793 (WebCore::Widget::Widget):
15794 (WebCore::Widget::~Widget):
15795 (WebCore::Widget::cursor):
15796 (WebCore::Widget::setCursor):
15797 * platform/mac/WidgetMac.mm:
15798 (WebCore::Widget::Widget):
15799 (WebCore::Widget::~Widget):
15800 (WebCore::Widget::addToSuperview):
15801 (WebCore::Widget::removeFromSuperview):
15802 (WebCore::Widget::beforeMouseDown):
15803 (WebCore::Widget::afterMouseDown):
15804 * platform/qt/WidgetQt.cpp:
15805 (WebCore::Widget::Widget):
15806 * platform/win/WidgetWin.cpp:
15807 (WebCore::Widget::Widget):
15808 * platform/wx/WidgetWx.cpp:
15809 (WebCore::Widget::Widget):
15811 2008-09-18 David Hyatt <hyatt@apple.com>
15813 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
15814 was no reason for it to be on Widget. This change eliminates Qt ifdefs
15817 Reviewed by Sam Weinig
15819 * bindings/js/ScriptControllerQt.cpp:
15820 (WebCore::ScriptController::createScriptInstanceForWidget):
15821 * platform/qt/WidgetQt.cpp:
15822 (WebCore::WidgetPrivate::WidgetPrivate):
15823 (WebCore::WidgetPrivate::~WidgetPrivate):
15824 (WebCore::Widget::Widget):
15825 (WebCore::Widget::~Widget):
15826 * plugins/PluginView.cpp:
15827 (WebCore::PluginView::PluginView):
15828 * plugins/PluginView.h:
15829 (WebCore::PluginView::isNPAPIPlugin):
15830 (WebCore::PluginView::setIsNPAPIPlugin):
15832 2008-09-18 David Hyatt <hyatt@apple.com>
15834 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
15835 ifdefs are now gone from Widget!
15837 Reviewed by Sam Weinig
15839 * platform/Widget.h:
15840 (WebCore::Widget::geometryChanged):
15841 * platform/gtk/WidgetGtk.cpp:
15842 * platform/qt/WidgetQt.cpp:
15844 2008-09-18 David Hyatt <hyatt@apple.com>
15846 Consolidate convertTo/FromContainingWindow methods so that all platforms
15847 but Mac share the same code.
15849 Move convertSelfToChild and convertChildToSelf to ScrollView, since
15850 Widget should know nothing about children. Make the methods cross-platform
15853 Reviewed by Sam Weinig
15855 * platform/ScrollView.h:
15856 (WebCore::ScrollView::convertChildToSelf):
15857 (WebCore::ScrollView::convertSelfToChild):
15858 * platform/Widget.cpp:
15859 (WebCore::Widget::convertToContainingWindow):
15860 (WebCore::Widget::convertFromContainingWindow):
15861 * platform/Widget.h:
15862 (WebCore::Widget::geometryChanged):
15863 * platform/gtk/ScrollViewGtk.cpp:
15864 (WebCore::ScrollView::isScrollViewScrollbar):
15865 * platform/gtk/WidgetGtk.cpp:
15866 * platform/mac/ScrollViewMac.mm:
15867 (WebCore::ScrollView::isScrollViewScrollbar):
15868 * platform/mac/WidgetMac.mm:
15869 * platform/qt/ScrollViewQt.cpp:
15870 (WebCore::ScrollView::isScrollViewScrollbar):
15871 * platform/qt/WidgetQt.cpp:
15872 * platform/win/ScrollViewWin.cpp:
15873 (WebCore::ScrollView::isScrollViewScrollbar):
15874 * platform/win/WidgetWin.cpp:
15876 2008-09-18 David Hyatt <hyatt@apple.com>
15878 Make the conversion methods that go to and from some containingWindow
15879 cross-platform. Implement them on Mac.
15881 Reviewed by Sam Weinig
15883 * platform/Widget.h:
15884 (WebCore::Widget::setContainingWindow):
15885 * platform/mac/WidgetMac.mm:
15886 (WebCore::Widget::convertFromContainingWindow):
15887 (WebCore::Widget::convertToContainingWindow):
15889 2008-09-18 Sam Weinig <sam@webkit.org>
15891 Rubber-stamped by David "Yeah-yeah" Hyatt.
15893 Cleanup RenderStyle.
15895 * WebCore.xcodeproj/project.pbxproj:
15896 * rendering/style/CounterContent.h:
15897 * rendering/style/RenderStyle.cpp:
15898 * rendering/style/RenderStyle.h:
15900 2008-09-18 Chris Marrin <cmarrin@apple.com>
15902 Reviewed by Sam Weinig
15904 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
15905 Now TransformOperations and AnimationList no longer
15906 inherit from Vector<> but rather have API to access.
15908 * css/CSSComputedStyleDeclaration.cpp:
15909 (WebCore::computedTransform):
15910 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
15911 * css/CSSStyleSelector.cpp:
15912 (WebCore::CSSStyleSelector::createTransformOperations):
15913 * page/animation/AnimationBase.cpp:
15914 (WebCore::blendFunc):
15915 * page/animation/CompositeAnimation.cpp:
15916 (WebCore::CompositeAnimation::updateTransitions):
15917 (WebCore::CompositeAnimation::updateKeyframeAnimations):
15918 (WebCore::CompositeAnimation::animate):
15919 * page/animation/ImplicitAnimation.cpp:
15920 (WebCore::ImplicitAnimation::validateTransformFunctionList):
15921 * page/animation/KeyframeAnimation.cpp:
15922 (WebCore::KeyframeAnimation::validateTransformFunctionList):
15923 * rendering/RenderLayer.cpp:
15924 (WebCore::RenderLayer::updateReflectionStyle):
15925 * rendering/style/AnimationList.cpp:
15926 (WebCore::AnimationList::operator==):
15927 * rendering/style/AnimationList.h:
15928 (WebCore::AnimationList::operator!=):
15929 (WebCore::AnimationList::size):
15930 (WebCore::AnimationList::isEmpty):
15931 (WebCore::AnimationList::resize):
15932 (WebCore::AnimationList::remove):
15933 (WebCore::AnimationList::append):
15934 (WebCore::AnimationList::animation):
15935 * rendering/style/RenderStyle.cpp:
15936 (WebCore::StyleRareNonInheritedData::updateKeyframes):
15937 (WebCore::RenderStyle::applyTransform):
15938 (WebCore::RenderStyle::adjustAnimations):
15939 (WebCore::RenderStyle::adjustTransitions):
15940 (WebCore::RenderStyle::transitionForProperty):
15941 * rendering/style/RenderStyle.h:
15942 (WebCore::RenderStyle::hasTransform):
15943 * rendering/style/TransformOperations.cpp:
15944 (WebCore::TransformOperations::TransformOperations):
15945 (WebCore::TransformOperations::operator==):
15946 * rendering/style/TransformOperations.h:
15947 (WebCore::TransformOperations::apply):
15948 (WebCore::TransformOperations::operations):
15950 2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
15954 [qt] Build fixes after the Widget/ScrollView cleanup
15955 topLevel() is now root()
15958 * platform/qt/ScrollViewQt.cpp:
15959 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
15960 (WebCore::ScrollView::addChild):
15961 (WebCore::ScrollView::removeChild):
15963 2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
15965 Reviewed by Mark Rowe.
15967 https://bugs.webkit.org/show_bug.cgi?id=20437
15969 XMLTokenizer.cpp used to contain two different implementations. One was using
15970 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
15971 separating the two implementations from each other.
15972 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
15973 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
15974 XMLTokenizerLibxml2.cpp. There should be no functional changes.
15976 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
15981 * WebCore.vcproj/WebCore.vcproj:
15982 * WebCore.xcodeproj/project.pbxproj:
15983 * WebCoreSources.bkl:
15984 * dom/XMLTokenizer.cpp:
15985 (WebCore::isScriptElement):
15986 (WebCore::castToScriptElement):
15987 (WebCore::XMLTokenizer::setCurrentNode):
15988 (WebCore::XMLTokenizer::write):
15989 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
15990 (WebCore::XMLTokenizer::enterText):
15991 (WebCore::toString):
15992 (WebCore::XMLTokenizer::exitText):
15993 (WebCore::XMLTokenizer::end):
15994 (WebCore::XMLTokenizer::insertErrorMessageBlock):
15995 * dom/XMLTokenizer.h:
15996 (WebCore::XMLTokenizer::wellFormed):
15997 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
15998 (WebCore::createMemoryParser):
15999 (WebCore::XMLTokenizer::XMLTokenizer):
16000 (WebCore::XMLTokenizer::~XMLTokenizer):
16001 (WebCore::XMLTokenizer::doWrite):
16002 (WebCore::ignorableWhitespaceHandler):
16003 (WebCore::XMLTokenizer::initializeParserContext):
16004 (WebCore::XMLTokenizer::doEnd):
16005 (WebCore::XMLTokenizer::lineNumber):
16006 (WebCore::XMLTokenizer::columnNumber):
16007 (WebCore::XMLTokenizer::stopParsing):
16008 (WebCore::XMLTokenizer::resumeParsing):
16009 (WebCore::parseXMLDocumentFragment):
16010 (WebCore::attributesStartElementNsHandler):
16011 (WebCore::parseAttributes):
16012 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
16013 (WebCore::EntityResolver::resolveUndeclaredEntity):
16014 (WebCore::XMLTokenizer::XMLTokenizer):
16015 (WebCore::XMLTokenizer::~XMLTokenizer):
16016 (WebCore::XMLTokenizer::doWrite):
16017 (WebCore::XMLTokenizer::initializeParserContext):
16018 (WebCore::XMLTokenizer::doEnd):
16019 (WebCore::XMLTokenizer::lineNumber):
16020 (WebCore::XMLTokenizer::columnNumber):
16021 (WebCore::XMLTokenizer::stopParsing):
16022 (WebCore::XMLTokenizer::resumeParsing):
16023 (WebCore::parseXMLDocumentFragment):
16024 (WebCore::attributesStartElementNsHandler):
16025 (WebCore::parseAttributes):
16028 2008-09-18 Beth Dakin <bdakin@apple.com>
16030 Reviewed by Geoff Garen.
16032 Build fix for non-Mac builds.
16034 * css/CSSPrimitiveValue.cpp:
16035 (WebCore::CSSPrimitiveValue::cssText):
16037 2008-09-18 Peter Kasting <pkasting@google.com>
16039 Reviewed by hyatt. Landed by eseidel.
16041 https://bugs.webkit.org/show_bug.cgi?id=20745
16042 Animated GIFs do not animate properly with (at least) CG.
16044 * WebCore\platform\graphics\BitmapImage.cpp:
16045 * WebCore\platform\graphics\BitmapImage.h:
16046 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
16047 * WebCore\platform\graphics\cg\ImageCG.cpp:
16048 * WebCore\platform\graphics\qt\ImageQt.cpp:
16049 * WebCore\platform\graphics\wx\ImageWx.cpp:
16051 2008-09-18 Chris Fleizach <cfleizach@apple.com>
16053 Reviewed by Beth Dakin
16055 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
16056 role specifies otherwise
16058 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
16060 Test: accessibility/table-with-aria-role.html
16062 * page/AccessibilityTable.cpp:
16063 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
16064 (WebCore::AccessibilityTable::addChildren):
16065 (WebCore::AccessibilityTable::roleValue):
16066 (WebCore::AccessibilityTable::accessibilityIsIgnored):
16067 (WebCore::AccessibilityTable::title):
16068 * page/AccessibilityTableCell.cpp:
16069 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
16070 (WebCore::AccessibilityTableCell::isTableCell):
16071 (WebCore::AccessibilityTableCell::roleValue):
16072 * page/AccessibilityTableCell.h:
16073 * page/AccessibilityTableRow.cpp:
16074 (WebCore::AccessibilityTableRow::roleValue):
16075 (WebCore::AccessibilityTableRow::isTableRow):
16076 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
16077 * page/AccessibilityTableRow.h:
16079 2008-09-18 Steve Falkenburg <sfalken@apple.com>
16081 Use higher-resolution timers on all variants of Windows.
16083 Reviewed by Darin Adler.
16085 * platform/win/SharedTimerWin.cpp:
16086 (WebCore::setSharedTimerFireTime):
16089 2008-09-18 David Hyatt <hyatt@apple.com>
16091 Make containingWindow() and setContainingWindow() cross-platform.
16092 Add a root() function cross-platform so Qt doesn't have to
16095 Reviewed by Darin Adler
16097 * platform/Widget.cpp:
16098 (WebCore::Widget::root):
16099 * platform/Widget.h:
16100 (WebCore::Widget::setContainingWindow):
16101 * platform/gtk/WidgetGtk.cpp:
16102 (WebCore::Widget::Widget):
16103 (WebCore::Widget::containingWindow):
16104 * platform/mac/ScrollViewMac.mm:
16105 (WebCore::ScrollView::addChild):
16106 (WebCore::ScrollView::removeChild):
16107 * platform/mac/WidgetMac.mm:
16108 (WebCore::Widget::containingWindow):
16109 * platform/qt/WidgetQt.cpp:
16110 (WebCore::Widget::invalidateRect):
16111 (WebCore::Widget::containingWindow):
16112 * platform/win/WidgetWin.cpp:
16113 (WebCore::Widget::Widget):
16114 (WebCore::Widget::~Widget):
16115 (WebCore::Widget::containingWindow):
16117 2008-09-18 Beth Dakin <bdakin@apple.com>
16119 Reviewed by Dave Hyatt.
16121 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
16122 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
16124 and corresponding: <rdar://problem/6174100>
16126 This patch makes CSSParserValue::createCSSValue handle unknown
16129 * css/CSSParserValues.cpp:
16130 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
16131 with no id (an unknown identifier) create a CSSPrimitiveValue of
16132 type CSS_PARSER_IDENTIFIER
16133 * css/CSSPrimitiveValue.cpp:
16134 (WebCore::CSSPrimitiveValue::cssText):
16135 (WebCore::CSSPrimitiveValue::parserValue):
16136 * css/CSSPrimitiveValue.h:
16137 (WebCore::CSSPrimitiveValue::):
16139 2008-09-18 Sam Weinig <sam@webkit.org>
16141 Rubber-stamped by David "I'd prefer not" Hyatt.
16143 More the remaining class out of RenderStyle.h/cpp
16147 * WebCore.vcproj/WebCore.vcproj:
16148 * WebCore.xcodeproj/project.pbxproj:
16149 * WebCoreSources.bkl:
16150 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
16151 (WebCore::CursorData::CursorData):
16152 (WebCore::CursorData::operator==):
16153 (WebCore::CursorData::operator!=):
16154 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
16155 (WebCore::CursorList::operator[]):
16156 (WebCore::CursorList::CursorList):
16157 * rendering/style/RenderStyle.cpp:
16158 * rendering/style/RenderStyle.h:
16159 (WebCore::RenderStyle::deref):
16160 (WebCore::RenderStyle::hasOneRef):
16161 (WebCore::RenderStyle::InheritedFlags::operator!=):
16162 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
16163 (WebCore::RenderStyle::hasBackground):
16164 (WebCore::RenderStyle::outlineWidth):
16165 (WebCore::RenderStyle::autoWrap):
16166 (WebCore::RenderStyle::preserveNewline):
16167 (WebCore::RenderStyle::collapseWhiteSpace):
16168 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
16169 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
16170 (WebCore::RenderStyle::breakWords):
16171 (WebCore::RenderStyle::outlineOffset):
16172 (WebCore::RenderStyle::setLeft):
16173 (WebCore::RenderStyle::setRight):
16174 (WebCore::RenderStyle::setTop):
16175 (WebCore::RenderStyle::setBottom):
16176 (WebCore::RenderStyle::setDashboardRegion):
16177 (WebCore::RenderStyle::setBackgroundColor):
16178 (WebCore::RenderStyle::setBorderImage):
16179 (WebCore::RenderStyle::setBorderRadius):
16180 (WebCore::RenderStyle::setFontDescription):
16181 (WebCore::RenderStyle::adjustBackgroundLayers):
16182 (WebCore::RenderStyle::adjustMaskLayers):
16183 (WebCore::RenderStyle::deleteBindingURIs):
16184 (WebCore::RenderStyle::inheritBindingURIs):
16185 (WebCore::RenderStyle::isDisplayReplacedType):
16186 (WebCore::RenderStyle::isDisplayInlineType):
16187 (WebCore::RenderStyle::isOriginalDisplayInlineType):
16188 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
16189 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
16190 (WebCore::StyleInheritedData::operator!=):
16191 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
16192 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
16193 (WebCore::StyleRareInheritedData::operator!=):
16194 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
16195 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
16196 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
16198 2008-09-18 David Hyatt <hyatt@apple.com>
16200 Move the concept of suppression invalidation on Widgets to Scrollbar
16201 instead. Since this is only used by Scrollbars, there is no need for
16202 it to be on Widget.
16204 Reviewed by Sam Weinig
16206 * platform/Scrollbar.cpp:
16207 (WebCore::Scrollbar::Scrollbar):
16208 (WebCore::Scrollbar::invalidateRect):
16209 * platform/Scrollbar.h:
16210 (WebCore::Scrollbar::suppressInvalidation):
16211 (WebCore::Scrollbar::setSuppressInvalidation):
16212 * platform/Widget.h:
16213 * platform/gtk/WidgetGtk.cpp:
16214 (WebCore::Widget::Widget):
16215 (WebCore::Widget::invalidateRect):
16216 * platform/qt/WidgetQt.cpp:
16217 (WebCore::WidgetPrivate::WidgetPrivate):
16218 (WebCore::Widget::invalidateRect):
16219 * platform/win/WidgetWin.cpp:
16220 (WebCore::Widget::Widget):
16221 (WebCore::Widget::invalidateRect):
16223 2008-09-18 David Hyatt <hyatt@apple.com>
16225 Make invalidate() on Widget non-virtual and make it just call
16226 invalidateRect() on the boundsGeometry() of the Widget.
16228 Reviewed by Dan Bernstein
16230 * platform/Widget.h:
16231 (WebCore::Widget::boundsGeometry):
16232 (WebCore::Widget::invalidate):
16233 * platform/gtk/WidgetGtk.cpp:
16234 * platform/mac/WidgetMac.mm:
16235 * platform/qt/WidgetQt.cpp:
16236 * platform/win/WidgetWin.cpp:
16237 * platform/wx/WidgetWx.cpp:
16239 2008-09-18 Sam Weinig <sam@webkit.org>
16241 Rubber-stamped in exile by David Hyatt.
16243 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
16244 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
16249 * WebCore.vcproj/WebCore.vcproj:
16250 * WebCore.xcodeproj/project.pbxproj:
16251 * WebCoreSources.bkl:
16252 * css/CSSStyleSelector.cpp:
16253 * css/CSSStyleSelector.h:
16254 * page/animation/CompositeAnimation.cpp:
16255 * page/animation/KeyframeAnimation.cpp:
16256 * page/animation/KeyframeAnimation.h:
16257 * rendering/RenderCounter.h:
16258 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
16259 (WebCore::Animation::~Animation):
16260 (WebCore::Animation::animationsMatch):
16261 (WebCore::Animation::keyframeList):
16262 (WebCore::Animation::setAnimationKeyframe):
16263 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
16264 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
16265 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
16266 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
16267 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
16268 (WebCore::BindingURI::operator!=):
16269 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
16270 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
16271 (WebCore::ContentData::ContentData):
16272 (WebCore::ContentData::~ContentData):
16273 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
16274 (WebCore::CounterContent::CounterContent):
16275 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
16276 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
16277 (WebCore::CounterDirectives::CounterDirectives):
16278 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
16279 (WebCore::KeyframeList::insert):
16280 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
16281 (WebCore::KeyframeValue::KeyframeValue):
16282 (WebCore::KeyframeList::create):
16283 (WebCore::KeyframeList::KeyframeList):
16284 * rendering/style/RenderStyle.cpp:
16285 * rendering/style/RenderStyle.h:
16286 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
16287 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
16288 (WebCore::ShadowData::ShadowData):
16289 (WebCore::ShadowData::~ShadowData):
16290 (WebCore::ShadowData::operator!=):
16291 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
16292 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
16293 (WebCore::StyleFlexibleBoxData::operator!=):
16294 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
16295 (WebCore::TimingFunction::TimingFunction):
16296 (WebCore::TimingFunction::operator==):
16298 2008-09-18 Adele Peterson <adele@apple.com>
16300 Reviewed by Dan Bernstein.
16302 Fix RenderStyle leaks.
16304 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
16306 2008-09-18 Kevin McCullough <kmccullough@apple.com>
16308 Accidentally checked in code.
16310 * html/HTMLElementFactory.cpp:
16311 (WebCore::frameConstructor):
16312 (WebCore::iframeConstructor):
16314 2008-09-18 Kevin McCullough <kmccullough@apple.com>
16318 <rdar://problem/5722310> gracefully handle too many console messages
16320 - Keep track of the most previous message and then compare it to the
16321 subsequent messages as they come in. If there are multiple of the same
16322 message create a count that indicates the current number.
16324 * manual-tests/inspector/multiple-console-messages.html: Added.
16325 * page/inspector/Console.js:
16326 * page/inspector/inspector.css:
16328 2008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
16330 Reviewed by Alp Toker
16332 https://bugs.webkit.org/show_bug.cgi?id=20830
16333 [GTK] Don't use deprecated pango API
16335 Replace deprecated pango functions with non-deprecated ones for newer
16338 * platform/graphics/gtk/FontGtk.cpp:
16339 (WebCore::getDefaultPangoLayout):
16340 * platform/graphics/gtk/FontPlatformDataPango.cpp:
16341 (WebCore::FontPlatformData::FontPlatformData):
16343 2008-09-18 Alp Toker <alp@nuanti.com>
16345 Build fix for r36587. Add new sources (and sort the lists).
16349 2008-09-17 Sam Weinig <sam@webkit.org>
16353 * WebCore.vcproj/WebCore.vcproj:
16355 2008-09-17 David Hyatt <hyatt@apple.com>
16357 Switch back to having frameGeometry be virtual in order to keep Mac
16358 the way it used to be.
16360 Reviewed by Sam Weinig
16362 * WebCore.base.exp:
16363 * platform/Widget.cpp:
16364 (WebCore::Widget::setParent):
16365 * platform/Widget.h:
16366 * platform/gtk/WidgetGtk.cpp:
16367 (WebCore::Widget::frameGeometry):
16368 (WebCore::Widget::setFrameGeometry):
16369 * platform/mac/WidgetMac.mm:
16370 (WebCore::Widget::frameGeometry):
16371 (WebCore::Widget::setFrameGeometry):
16372 * platform/qt/WidgetQt.cpp:
16373 (WebCore::Widget::frameGeometry):
16374 (WebCore::Widget::setFrameGeometry):
16375 * platform/win/WidgetWin.cpp:
16376 (WebCore::Widget::frameGeometry):
16377 (WebCore::Widget::setFrameGeometry):
16378 * platform/wx/WidgetWx.cpp:
16379 (WebCore::Widget::frameGeometry):
16380 (WebCore::Widget::setFrameGeometry):
16381 * plugins/PluginView.cpp:
16382 (WebCore::PluginView::setFrameGeometry):
16383 (WebCore::PluginView::geometryChanged):
16384 * plugins/PluginView.h:
16385 * plugins/gtk/PluginViewGtk.cpp:
16386 (WebCore::PluginView::updatePluginWidget):
16387 * plugins/qt/PluginViewQt.cpp:
16388 (WebCore::PluginView::updatePluginWidget):
16389 * plugins/win/PluginViewWin.cpp:
16390 (WebCore::PluginView::updatePluginWidget):
16392 2008-09-17 Sam Weinig <sam@webkit.org>
16394 Reviewed by Mark Rowe.
16396 Fix assertion in DOMWindow::adjustWindowRect where we were passing
16397 in garbage values and were getting lucky that they were a not Nan.
16399 * bindings/js/JSDOMWindowBase.cpp:
16400 (WebCore::windowProtoFuncOpen):
16402 2008-09-17 Sam Weinig <sam@webkit.org>
16406 * rendering/style/MatrixTransformOperation.cpp:
16408 2008-09-17 Sam Weinig <sam@webkit.org>
16410 Rubber-stamped with love by David Hyatt.
16412 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
16413 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
16414 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
16418 * WebCore.vcproj/WebCore.vcproj:
16419 * WebCore.xcodeproj/project.pbxproj:
16420 * WebCoreSources.bkl:
16421 * css/CSSStyleSelector.cpp:
16422 * page/animation/AnimationBase.cpp:
16423 (WebCore::solveEpsilon):
16424 * rendering/RenderLayer.cpp:
16425 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16426 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16427 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16428 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
16429 * rendering/style/RenderStyle.cpp:
16430 * rendering/style/RenderStyle.h:
16431 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16432 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16433 (WebCore::RotateTransformOperation::RotateTransformOperation):
16434 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16435 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16436 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
16437 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16438 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16439 (WebCore::SkewTransformOperation::SkewTransformOperation):
16440 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
16441 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
16442 (WebCore::StyleTransformData::operator!=):
16443 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
16444 (WebCore::TransformOperation::):
16445 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
16446 (WebCore::TransformOperations::TransformOperations):
16447 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
16448 (WebCore::TransformOperations::operator!=):
16449 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
16450 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
16451 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
16453 2008-09-17 Mark Rowe <mrowe@apple.com>
16457 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
16459 2008-09-17 David Hyatt <hyatt@apple.com>
16461 (1) Inline a bunch of methods for accessing frame geometry.
16462 (2) Make sure frameGeometry() works even when you have no underlying
16464 (3) Cache a frame geometry rect cross-platform (even for widgets that
16465 have underlying native widgets.
16466 (4) PluginView's updateWindow call is now a virtual function on Widget.
16468 Reviewed by Sam Weinig
16471 * WebCore.base.exp:
16472 * platform/Widget.cpp:
16473 (WebCore::Widget::setFrameGeometry):
16474 * platform/Widget.h:
16475 (WebCore::Widget::x):
16476 (WebCore::Widget::y):
16477 (WebCore::Widget::width):
16478 (WebCore::Widget::height):
16479 (WebCore::Widget::size):
16480 (WebCore::Widget::pos):
16481 (WebCore::Widget::frameGeometry):
16482 (WebCore::Widget::resize):
16483 (WebCore::Widget::move):
16484 (WebCore::Widget::isFrameView):
16485 (WebCore::Widget::windowClipRect):
16486 * platform/mac/WidgetMac.mm:
16487 (WebCore::Widget::~Widget):
16488 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
16489 * platform/win/WidgetWin.cpp:
16490 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
16491 * plugins/PluginView.cpp:
16492 (WebCore::PluginView::setFrameGeometry):
16493 (WebCore::PluginView::geometryChanged):
16494 * plugins/PluginView.h:
16495 * plugins/gtk/PluginViewGtk.cpp:
16496 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
16497 * plugins/qt/PluginViewQt.cpp:
16498 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
16499 * plugins/win/PluginViewWin.cpp:
16500 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
16501 * plugins/wx/PluginViewWx.cpp:
16503 2008-09-17 Sam Weinig <sam@webkit.org>
16505 Reviewed by David "Waterman" Hyatt.
16507 Fix a leak of NSViews in WidgetMac.mm.
16509 * platform/mac/WidgetMac.mm:
16510 (WebCore::Widget::~Widget):
16512 2008-09-17 Sam Weinig <sam@webkit.org>
16514 Rubber-stamped by David Waterman Hyatt.
16516 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
16517 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
16521 * WebCore.vcproj/WebCore.vcproj:
16522 * WebCore.xcodeproj/project.pbxproj:
16523 * WebCoreSources.bkl:
16524 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
16525 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
16526 (WebCore::FillLayer::operator!=):
16527 (WebCore::FillLayer::hasImage):
16528 (WebCore::FillLayer::hasFixedImage):
16529 * rendering/style/RenderStyle.cpp:
16530 * rendering/style/RenderStyle.h:
16531 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
16532 (WebCore::StyleBackgroundData::StyleBackgroundData):
16533 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
16534 (WebCore::StyleBackgroundData::~StyleBackgroundData):
16535 (WebCore::StyleBackgroundData::operator!=):
16536 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
16537 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
16538 (WebCore::StyleBoxData::operator!=):
16539 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
16540 (WebCore::StyleDashboardRegion::operator!=):
16541 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
16542 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
16543 (WebCore::StyleMarqueeData::operator!=):
16544 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
16545 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
16546 (WebCore::StyleMultiColData::operator!=):
16547 (WebCore::StyleMultiColData::ruleWidth):
16548 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
16549 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
16550 (WebCore::StyleVisualData::operator==):
16552 2008-09-17 David Hyatt <hyatt@apple.com>
16554 Remove WidgetClient from Widget.
16556 Reviewed by Sam Weinig
16558 * WebCore.xcodeproj/project.pbxproj:
16559 * platform/Widget.h:
16560 (WebCore::Widget::setClient):
16561 (WebCore::Widget::client):
16562 * platform/WidgetClient.h: Removed.
16563 * platform/gtk/WidgetGtk.cpp:
16564 * platform/mac/WidgetMac.mm:
16565 (WebCore::Widget::Widget):
16566 (WebCore::Widget::show):
16567 (WebCore::Widget::hide):
16568 * platform/qt/WidgetQt.cpp:
16569 (WebCore::WidgetPrivate::WidgetPrivate):
16570 * platform/win/WidgetWin.cpp:
16571 (WebCore::Widget::Widget):
16572 * platform/wx/WidgetWx.cpp:
16573 (WebCore::Widget::Widget):
16575 2008-09-17 David Hyatt <hyatt@apple.com>
16577 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
16578 only applies to Scrollbars so the method has been moved there and made
16579 cross-platform. Scrollbar subclasses that have a corresponding native
16580 widget can subclass setEnabled to change the enabled state of the native
16583 Reviewed by Sam Weinig & Darin Adler
16585 * WebCore.base.exp:
16586 * platform/Scrollbar.cpp:
16587 (WebCore::Scrollbar::Scrollbar):
16588 * platform/Scrollbar.h:
16589 (WebCore::Scrollbar::enabled):
16590 (WebCore::Scrollbar::setEnabled):
16591 * platform/Widget.h:
16592 * platform/gtk/ScrollbarGtk.cpp:
16593 (ScrollbarGtk::setEnabled):
16594 * platform/gtk/ScrollbarGtk.h:
16595 * platform/gtk/WidgetGtk.cpp:
16596 * platform/mac/ScrollbarMac.h:
16597 * platform/mac/ScrollbarMac.mm:
16598 (WebCore::ScrollbarMac::scrollbarHit):
16599 (WebCore::ScrollbarMac::setEnabled):
16600 * platform/mac/WidgetMac.mm:
16601 * platform/qt/WidgetQt.cpp:
16602 (WebCore::WidgetPrivate::WidgetPrivate):
16603 * platform/win/WidgetWin.cpp:
16604 (WebCore::Widget::Widget):
16605 * platform/wx/WidgetWx.cpp:
16607 2008-09-17 Sam Weinig <sam@webkit.org>
16609 Rubber-stamped by David Hyatt.
16611 Split all RenderStyle enums into their own file.
16614 * WebCore.vcproj/WebCore.vcproj:
16615 * WebCore.xcodeproj/project.pbxproj:
16616 * rendering/style/BorderValue.h:
16617 * rendering/style/CollapsedBorderValue.h:
16618 * rendering/style/RenderStyle.h:
16619 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
16621 * rendering/style/StyleCachedImage.h:
16622 * rendering/style/StyleGeneratedImage.h:
16623 * rendering/style/StyleImage.h:
16625 2008-09-17 Steve Falkenburg <sfalken@apple.com>
16627 Add back isFrameView check to fix failed assertion during scroll bar teardown.
16629 Reviewed by Dave Hyatt.
16631 * platform/Scrollbar.cpp:
16632 (WebCore::Scrollbar::setParent):
16634 2008-09-17 Brady Eidson <beidson@apple.com>
16636 Reviewed by Mac build fix
16638 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
16640 2008-09-17 Steve Falkenburg <sfalken@apple.com>
16644 * platform/win/ScrollViewWin.cpp:
16645 (WebCore::ScrollView::setParentVisible):
16646 * plugins/win/PluginViewWin.cpp:
16647 (WebCore::PluginView::init):
16649 2008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
16653 [QtWebKit] Implement error handling in TextCodecQt::decode
16654 Use the QTextCodec parsing state to set the sawError out variable. This
16655 is needed to pass Test 70 of acid3. The test case for this bug is
16656 fast/encoding/invalid-xml.html that is now partially passed. To pass
16657 it completely the Qt text codecs need to be adjusted to have proper
16660 * platform/text/qt/TextCodecQt.cpp:
16661 (WebCore::TextCodecQt::decode):
16663 2008-09-17 Sam Weinig <sam@webkit.org>
16665 Rubber-stamped by Dave Hyatt.
16667 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
16668 out of RenderStyle.h/cpp
16672 * WebCore.vcproj/WebCore.vcproj:
16673 * WebCore.xcodeproj/project.pbxproj:
16674 * WebCoreSources.bkl:
16675 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
16676 (WebCore::BorderData::hasBorderRadius):
16677 (WebCore::BorderData::borderLeftWidth):
16678 (WebCore::BorderData::borderRightWidth):
16679 (WebCore::BorderData::borderTopWidth):
16680 (WebCore::BorderData::borderBottomWidth):
16681 (WebCore::BorderData::operator!=):
16682 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
16684 (WebCore::BorderValue::BorderValue):
16685 (WebCore::BorderValue::nonZero):
16686 (WebCore::BorderValue::isTransparent):
16687 (WebCore::BorderValue::isVisible):
16688 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
16690 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
16691 (WebCore::CollapsedBorderValue::operator==):
16692 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
16693 (WebCore::OutlineValue::OutlineValue):
16694 * rendering/style/RenderStyle.cpp:
16695 * rendering/style/RenderStyle.h:
16696 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
16697 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
16698 (WebCore::StyleSurroundData::operator!=):
16700 2008-09-17 Beth Dakin <bdakin@apple.com>
16702 Reviewed by Darin Adler.
16704 This is a better fix for: Invalid CSS code crashes Safari
16705 https://bugs.webkit.org/show_bug.cgi?id=20512
16707 The spec indicates that the only valid input for a counter is a
16708 number or an identifier. So that is exactly what we allow.
16710 * css/CSSParser.cpp:
16711 (WebCore::CSSParser::parseCounterContent):
16713 2008-09-17 Alp Toker <alp@nuanti.com>
16715 GTK+ build fix. Adapt to use PlatformWidget functions.
16717 * platform/gtk/ScrollViewGtk.cpp:
16718 (WebCore::ScrollViewScrollbar::geometryChanged):
16719 (WebCore::ScrollView::addChild):
16720 (WebCore::ScrollView::removeChild):
16721 * platform/gtk/ScrollbarGtk.cpp:
16722 (ScrollbarGtk::ScrollbarGtk):
16723 (ScrollbarGtk::~ScrollbarGtk):
16724 (ScrollbarGtk::geometryChanged):
16726 2008-09-17 Sam Weinig <sam@webkit.org>
16728 Reviewed by Adele Peterson.
16730 Patch for <rdar://problem/6133884>
16731 Calling window.resizeTo() on a subframe shouldn't change the window size
16733 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
16735 * page/DOMWindow.cpp:
16736 (WebCore::DOMWindow::moveBy):
16737 (WebCore::DOMWindow::moveTo):
16738 (WebCore::DOMWindow::resizeBy):
16739 (WebCore::DOMWindow::resizeTo):
16741 2008-09-17 Beth Dakin <bdakin@apple.com>
16743 Reviewed by Adam Roben.
16745 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
16746 code crashes Safari
16747 and corresponding: <rdar://problem/6173832>
16749 Reading through the spec, it seems like a function is not valid
16750 input for a counter. So this patch checks for that and bails in the
16751 case of invalid input.
16753 * css/CSSParser.cpp:
16754 (WebCore::CSSParser::parseCounterContent):
16756 2008-09-17 Greg Bolsinga <bolsinga@apple.com>
16758 Reviewed by Antti Koivisto.
16760 Fix <rdar://problem/6227089>
16761 Crash in WebCore::Frame::setNeedsReapplyStyles()
16763 View is null checked elsewhere too.
16766 (WebCore::Frame::setNeedsReapplyStyles):
16768 2008-09-17 David Hyatt <hyatt@apple.com>
16770 Make the notion of having a native widget backing a Widget cross-platform.
16771 The PlatformWidget abstraction (which already existed) is used for this.
16778 There are new cross-platform methods that replace all of the unique
16779 platform-specific methods.
16781 setPlatformWidget()
16783 For plugins, on every platform except Qt on Windows, the plugin's native
16784 widget is now stored in the Widget base class. Since Qt on Windows uses
16785 HWNDs for plugins instead of QWidget, it is the only platform to keep the
16786 m_window variable in PluginView.
16788 Reviewed by Sam Weinig
16790 * WebCore.base.exp:
16791 * bindings/js/ScriptControllerMac.mm:
16792 (WebCore::ScriptController::createScriptInstanceForWidget):
16793 * page/mac/AccessibilityObjectWrapper.mm:
16794 (-[AccessibilityObjectWrapper attachmentView]):
16795 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
16796 * page/mac/EventHandlerMac.mm:
16797 (WebCore::EventHandler::passMouseDownEventToWidget):
16798 (WebCore::EventHandler::mouseDownViewIfStillGood):
16799 (WebCore::EventHandler::passWheelEventToWidget):
16800 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
16801 * platform/Widget.cpp:
16802 (WebCore::Widget::init):
16803 (WebCore::Widget::setParent):
16804 (WebCore::Widget::releasePlatformWidget):
16805 (WebCore::Widget::retainPlatformWidget):
16806 * platform/Widget.h:
16807 (WebCore::Widget::platformWidget):
16808 (WebCore::Widget::setPlatformWidget):
16809 * platform/gtk/WidgetGtk.cpp:
16810 (WebCore::Widget::Widget):
16811 (WebCore::Widget::setFocus):
16812 (WebCore::gdkDrawable):
16813 (WebCore::Widget::setCursor):
16814 (WebCore::Widget::show):
16815 (WebCore::Widget::hide):
16816 (WebCore::Widget::setEnabled):
16817 (WebCore::Widget::isEnabled):
16818 (WebCore::Widget::paint):
16819 * platform/mac/PlatformScreenMac.mm:
16820 (WebCore::screenRect):
16821 (WebCore::screenAvailableRect):
16822 * platform/mac/ScrollViewMac.mm:
16823 (WebCore::ScrollView::scrollView):
16824 (WebCore::ScrollView::update):
16825 (WebCore::ScrollView::inWindow):
16826 * platform/mac/ScrollbarMac.mm:
16827 (WebCore::ScrollbarMac::ScrollbarMac):
16828 (WebCore::ScrollbarMac::~ScrollbarMac):
16829 (WebCore::ScrollbarMac::updateThumbPosition):
16830 (WebCore::ScrollbarMac::updateThumbProportion):
16831 (WebCore::ScrollbarMac::scrollbarHit):
16832 * platform/mac/WidgetMac.mm:
16833 (WebCore::Widget::Widget):
16834 (WebCore::Widget::setEnabled):
16835 (WebCore::Widget::isEnabled):
16836 (WebCore::Widget::setFocus):
16837 (WebCore::Widget::getOuterView):
16838 (WebCore::Widget::paint):
16839 (WebCore::Widget::invalidate):
16840 (WebCore::Widget::invalidateRect):
16841 (WebCore::Widget::setIsSelected):
16842 (WebCore::Widget::releasePlatformWidget):
16843 (WebCore::Widget::retainPlatformWidget):
16844 * platform/qt/WidgetQt.cpp:
16845 (WebCore::WidgetPrivate::WidgetPrivate):
16846 (WebCore::Widget::Widget):
16847 (WebCore::Widget::setFrameGeometry):
16848 (WebCore::Widget::show):
16849 (WebCore::Widget::hide):
16850 (WebCore::Widget::isEnabled):
16851 (WebCore::Widget::setEnabled):
16852 (WebCore::Widget::invalidateRect):
16853 (WebCore::Widget::containingWindow):
16854 * platform/win/WidgetWin.cpp:
16855 (WebCore::Widget::Widget):
16856 * platform/wx/WidgetWx.cpp:
16857 (WebCore::Widget::Widget):
16858 (WebCore::Widget::frameGeometry):
16859 (WebCore::Widget::setFocus):
16860 (WebCore::Widget::setCursor):
16861 (WebCore::Widget::show):
16862 (WebCore::Widget::hide):
16863 (WebCore::Widget::setFrameGeometry):
16864 (WebCore::Widget::setEnabled):
16865 (WebCore::Widget::isEnabled):
16866 (WebCore::Widget::invalidate):
16867 (WebCore::Widget::invalidateRect):
16868 (WebCore::Widget::paint):
16869 * plugins/PluginView.cpp:
16870 (WebCore::PluginView::PluginView):
16871 * plugins/PluginView.h:
16872 (WebCore::PluginView::platformPluginWidget):
16873 * plugins/gtk/PluginViewGtk.cpp:
16874 (WebCore::PluginView::updateWindow):
16875 (WebCore::PluginView::setFocus):
16876 (WebCore::PluginView::show):
16877 (WebCore::PluginView::hide):
16878 (WebCore::PluginView::setParent):
16879 (WebCore::PluginView::setNPWindowRect):
16880 (WebCore::PluginView::setParentVisible):
16881 (WebCore::PluginView::getValue):
16882 (WebCore::PluginView::forceRedraw):
16883 (WebCore::PluginView::init):
16884 * plugins/qt/PluginViewQt.cpp:
16885 (WebCore::PluginView::updateWindow):
16886 (WebCore::PluginView::setFocus):
16887 (WebCore::PluginView::show):
16888 (WebCore::PluginView::hide):
16889 (WebCore::PluginView::setParent):
16890 (WebCore::PluginView::setNPWindowRect):
16891 (WebCore::PluginView::setParentVisible):
16892 (WebCore::PluginView::getValue):
16893 (WebCore::PluginView::~PluginView):
16894 (WebCore::PluginView::init):
16895 * plugins/win/PluginViewWin.cpp:
16896 (WebCore::PluginView::updateWindow):
16897 (WebCore::PluginView::setFocus):
16898 (WebCore::PluginView::show):
16899 (WebCore::PluginView::hide):
16900 (WebCore::PluginView::paint):
16901 (WebCore::PluginView::setParent):
16902 (WebCore::PluginView::setParentVisible):
16903 (WebCore::PluginView::setNPWindowRect):
16904 (WebCore::PluginView::stop):
16905 (WebCore::PluginView::invalidateRect):
16906 (WebCore::PluginView::forceRedraw):
16907 (WebCore::PluginView::~PluginView):
16908 (WebCore::PluginView::init):
16910 2008-09-17 Sam Weinig <sam@webkit.org>
16914 * platform/Widget.cpp:
16915 (WebCore::Widget::setParent):
16917 2008-09-17 David Hyatt <hyatt@apple.com>
16919 Beginnings of Widget refactoring (in order to make the mixing of
16920 widgets with and without corresponding native widgets more cross-platform).
16922 This first patch makes the concept of a parent ScrollView cross-platform.
16924 Note the similarity of the show/hide methods on the three PluginViews. This
16925 will be refactored better in a later patch so that they can all share
16926 a base class Widget show/hide method. For now the changes were made
16927 simply to be able to bring WidgetWin's setParent method up into Widget.
16929 Reviewed by Sam Weinig
16931 * WebCore.base.exp:
16932 * platform/ScrollView.h:
16933 * platform/Widget.cpp:
16934 (WebCore::Widget::init):
16935 (WebCore::Widget::setParent):
16936 * platform/Widget.h:
16937 (WebCore::Widget::isSelfVisible):
16938 (WebCore::Widget::isParentVisible):
16939 (WebCore::Widget::isVisible):
16940 (WebCore::Widget::setParentVisible):
16941 (WebCore::Widget::isPluginView):
16942 (WebCore::Widget::parent):
16943 (WebCore::Widget::handleEvent):
16944 (WebCore::Widget::geometryChanged):
16945 * platform/gtk/WidgetGtk.cpp:
16946 (WebCore::Widget::Widget):
16947 * platform/mac/ScrollViewMac.mm:
16948 (WebCore::ScrollView::addChild):
16949 (WebCore::ScrollView::removeChild):
16950 * platform/mac/ScrollbarMac.mm:
16951 (WebCore::ScrollbarMac::~ScrollbarMac):
16952 * platform/mac/WidgetMac.mm:
16953 (WebCore::Widget::Widget):
16954 (WebCore::Widget::~Widget):
16955 * platform/qt/WidgetQt.cpp:
16956 (WebCore::WidgetPrivate::WidgetPrivate):
16957 (WebCore::Widget::Widget):
16958 (WebCore::Widget::topLevel):
16959 * platform/win/ScrollViewWin.cpp:
16960 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16961 (WebCore::ScrollView::setAncestorVisible):
16962 (WebCore::ScrollView::show):
16963 (WebCore::ScrollView::hide):
16964 * platform/win/WidgetWin.cpp:
16965 (WebCore::Widget::Widget):
16966 (WebCore::Widget::setParent):
16967 * platform/wx/WidgetWx.cpp:
16968 (WebCore::Widget::Widget):
16969 * plugins/PluginView.cpp:
16970 (WebCore::PluginView::PluginView):
16971 * plugins/PluginView.h:
16972 * plugins/gtk/PluginViewGtk.cpp:
16973 (WebCore::PluginView::show):
16974 (WebCore::PluginView::hide):
16975 (WebCore::PluginView::setParentVisible):
16976 * plugins/qt/PluginViewQt.cpp:
16977 (WebCore::PluginView::show):
16978 (WebCore::PluginView::hide):
16979 (WebCore::PluginView::setParentVisible):
16980 * plugins/win/PluginViewWin.cpp:
16981 (WebCore::PluginView::show):
16982 (WebCore::PluginView::hide):
16983 (WebCore::PluginView::setParentVisible):
16985 2008-09-17 Alexey Proskuryakov <ap@webkit.org>
16987 Reviewed by Adam Roben.
16989 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
16991 * platform/text/TextCodecICU.cpp:
16992 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
16994 2008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
16996 Fix the QtWebKit/Mac build
16998 * platform/qt/ScrollViewQt.cpp: add include
17000 2008-09-17 David Hyatt <hyatt@apple.com>
17002 Add a #define to control whether or not to use an NSScroller on Mac.
17003 This ifdef will allow the new NSView-less NSScroller on Mac to be
17004 developed side by side with the current one.
17006 The new scroller paints a debug red if turned on (although due to
17007 Widget issues you won't see anything paint yet).
17011 * platform/Scrollbar.cpp:
17012 * platform/Scrollbar.h:
17013 * platform/mac/ScrollbarMac.h:
17014 * platform/mac/ScrollbarMac.mm:
17015 * platform/mac/ScrollbarThemeMac.cpp:
17016 (WebCore::ScrollbarThemeMac::paint):
17017 * platform/mac/ScrollbarThemeMac.h:
17019 2008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
17021 Reviewed by Alp Toker.
17023 http://bugs.webkit.org/show_bug.cgi?id=20854
17024 [GTK] Windows can be not realized in ScrollView::update
17026 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
17028 * platform/gtk/ScrollViewGtk.cpp:
17029 (WebCore::ScrollView::update):
17031 2008-09-16 Alp Toker <alp@nuanti.com>
17033 Suggested by Dave Hyatt.
17035 Build fix and cleanup. Rename ScrollBar to Scrollbar.
17039 * WebCore.vcproj/WebCore.vcproj:
17040 * WebCore.xcodeproj/project.pbxproj:
17041 * WebCoreSources.bkl:
17042 * editing/EditorCommand.cpp:
17043 * page/EventHandler.cpp:
17044 * page/gtk/EventHandlerGtk.cpp:
17045 * page/mac/EventHandlerMac.mm:
17046 * page/mac/FrameMac.mm:
17047 * page/qt/EventHandlerQt.cpp:
17048 * page/wx/EventHandlerWx.cpp:
17049 * platform/PopupMenu.h:
17050 * platform/ScrollBar.cpp: Removed.
17051 * platform/ScrollBar.h: Removed.
17052 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
17053 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
17054 * platform/gtk/ScrollbarGtk.cpp:
17055 (ScrollbarGtk::ScrollbarGtk):
17056 * platform/gtk/ScrollbarGtk.h:
17057 * platform/mac/ScrollbarMac.h:
17058 * platform/qt/ScrollViewQt.cpp:
17059 * platform/qt/ScrollbarQt.cpp:
17060 * platform/qt/ScrollbarThemeQt.cpp:
17061 * platform/win/PlatformScrollBar.h:
17062 * platform/win/PopupMenuWin.cpp:
17063 * platform/win/ScrollViewWin.cpp:
17064 * platform/win/ScrollbarThemeWin.cpp:
17065 * platform/wx/ScrollViewWx.cpp:
17066 * platform/wx/TemporaryLinkStubs.cpp:
17067 * rendering/HitTestResult.cpp:
17068 * rendering/RenderLayer.cpp:
17069 * rendering/RenderTextControl.cpp:
17071 2008-09-16 David Hyatt <hyatt@apple.com>
17073 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
17074 it can be called from ScrollbarQt.
17076 * platform/ScrollBar.cpp:
17077 (WebCore::Scrollbar::moveThumb):
17078 (WebCore::Scrollbar::handleMouseMoveEvent):
17079 (WebCore::Scrollbar::handleMousePressEvent):
17080 * platform/ScrollBar.h:
17081 * platform/qt/ScrollViewQt.cpp:
17082 * platform/qt/ScrollbarQt.cpp:
17083 (WebCore::Scrollbar::handleContextMenuEvent):
17085 2008-09-16 David Hyatt <hyatt@apple.com>
17087 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
17088 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
17089 now just use Scrollbar.
17091 Reviewed by Sam Weinig
17095 * WebCore.vcproj/WebCore.vcproj:
17096 * WebCore.xcodeproj/project.pbxproj:
17097 * page/mac/FrameMac.mm:
17098 * platform/PopupMenu.h:
17099 (WebCore::PopupMenu::scrollbar):
17100 * platform/ScrollBar.cpp:
17101 (WebCore::createNativeScrollbar):
17102 * platform/ScrollBar.h:
17103 * platform/gtk/PlatformScrollBar.h: Removed.
17104 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
17105 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
17106 (gtkScrollEventCallback):
17107 (ScrollbarGtk::ScrollbarGtk):
17108 (ScrollbarGtk::~ScrollbarGtk):
17109 (ScrollbarGtk::updateThumbPosition):
17110 (ScrollbarGtk::updateThumbProportion):
17111 (ScrollbarGtk::setFrameGeometry):
17112 (ScrollbarGtk::geometryChanged):
17113 (ScrollbarGtk::gtkValueChanged):
17114 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
17115 * platform/mac/PlatformScrollBar.h: Removed.
17116 * platform/mac/PlatformScrollBarMac.mm: Removed.
17117 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
17118 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
17119 (-[WebCoreScrollBar initWithScrollbarMac:]):
17120 (-[WebCoreScrollBar detachScrollbarMac]):
17121 (WebCore::Scrollbar::createNativeScrollbar):
17122 (WebCore::ScrollbarMac::ScrollbarMac):
17123 (WebCore::ScrollbarMac::~ScrollbarMac):
17124 (WebCore::ScrollbarMac::updateThumbPosition):
17125 (WebCore::ScrollbarMac::updateThumbProportion):
17126 (WebCore::ScrollbarMac::scrollbarHit):
17127 * platform/qt/PlatformScrollBar.h: Removed.
17128 * platform/qt/PlatformScrollBarQt.cpp: Removed.
17129 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
17130 (WebCore::Scrollbar::handleContextMenuEvent):
17131 * rendering/HitTestResult.cpp:
17132 * rendering/RenderLayer.cpp:
17133 (WebCore::RenderLayer::createScrollbar):
17134 (WebCore::RenderLayer::destroyScrollbar):
17135 * rendering/RenderLayer.h:
17136 * rendering/RenderListBox.cpp:
17137 (WebCore::RenderListBox::~RenderListBox):
17138 (WebCore::RenderListBox::updateFromElement):
17139 (WebCore::RenderListBox::isPointInOverflowControl):
17140 * rendering/RenderObject.h:
17141 * rendering/RenderTextControl.cpp:
17143 2008-09-16 David Hyatt <hyatt@apple.com>
17145 Make the scrollbar resizer-dodging logic cross-platform in the
17148 Reviewed by Sam Weinig
17150 * platform/ScrollBar.cpp:
17151 (WebCore::Scrollbar::setFrameGeometry):
17152 (WebCore::Scrollbar::setParent):
17153 (WebCore::Scrollbar::windowClipRect):
17154 * platform/ScrollBar.h:
17155 * platform/ScrollView.h:
17156 (WebCore::ScrollView::windowResizerRect):
17157 (WebCore::ScrollView::resizerOverlapsContent):
17158 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
17159 * platform/Widget.h:
17160 (WebCore::Widget::setParent):
17161 * platform/mac/WidgetMac.mm:
17162 (WebCore::Widget::convertToContainingWindow):
17163 * platform/win/PlatformScrollBar.h:
17164 * platform/win/PlatformScrollBarWin.cpp:
17166 2008-09-16 Dan Bernstein <mitz@apple.com>
17168 Reviewed by Darin Adler.
17170 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
17171 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
17173 Covered by fast/repaint/4776765.html
17175 * rendering/RenderBlock.cpp:
17176 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
17177 did not have layout in the beginning.
17178 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
17179 layout in the beginning, repaint it in its new position, to compensate
17180 for the above (regardless of whether it "moved").
17181 * rendering/RenderObject.cpp:
17182 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
17183 about generalizing this fix in the future.
17185 2008-09-16 Dan Bernstein <mitz@apple.com>
17187 Reviewed by Dave Hyatt.
17189 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
17190 Div does not notice when grandparent changes height
17192 Test: fast/block/basic/quirk-percent-height-grandchild.html
17194 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
17195 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
17197 Test: fast/replaced/percent-height-in-anonymous-block.html
17199 Added a two-way mapping between boxes with percentage heights and
17200 their non-parent ancestors up to the one the height is computed relative
17201 to. In quirks mode (the first bug), this can be any number of containing
17202 block with auto height. In strict mode (the second bug) this can be
17203 the containing block of an anonymous block containing a replaced
17206 * rendering/RenderBlock.cpp:
17207 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
17208 mapping to/from this block to percentage-height descendants.
17209 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
17210 percentage-height descendants (and their containing block ancestry chain
17211 up to this block) for layout. This ensures that those descendants whose
17212 height depends on the height of this block (or an ancestor) are updated.
17213 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
17214 a two-way mapping between this block and the given box.
17215 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
17216 all the mapping to/from this box.
17217 * rendering/RenderBlock.h:
17218 * rendering/RenderBox.cpp:
17219 (WebCore::RenderBox::setStyle): Added calls to
17220 removePercentHeightDescendant() when style changes and the box
17221 previously had a percentage height. An exception is when the style
17222 change does not require layout, in which case the box still has
17223 a percentage height and the mappings are valid. In all other cases,
17224 any required mappings will be (re-)established during layout.
17225 (WebCore::RenderBox::destroy): Added a call to
17226 removePercentHeightDescendant.
17227 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
17228 mode, if a higher-than-parent containing block is affecting the box's
17229 height, creates a mapping between the box and that block.
17230 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
17231 anonymous containing blocks, if any, and when that happens, use
17232 addPercentHeightDescendant() to ensure that the non-anonymous block
17233 is aware of the dependent percent-height box.
17235 2008-09-16 Dirk Schulze <vbs85@gmx.de>
17237 Reviewed by Oliver Hunt and Alp Toker.
17239 Implemented toDataURL in Cairo. Only PNG support
17242 Qt, Cairo and wx require toDataURL implementations
17243 https://bugs.webkit.org/show_bug.cgi?id=17719
17245 * platform/MIMETypeRegistry.cpp:
17246 (WebCore::initializeSupportedImageMIMETypesForEncoding):
17247 * platform/graphics/cairo/ImageBufferCairo.cpp:
17248 (WebCore::ImageBuffer::ImageBuffer):
17249 (WebCore::writeFunction):
17250 (WebCore::ImageBuffer::toDataURL):
17252 2008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
17256 Hide unused media element controls in the QtWebKit port
17258 * platform/qt/html4-adjustments-qt.css
17260 2008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
17264 Fix compilation of the Qt scrollbar code.
17266 * platform/qt/PlatformScrollBarQt.cpp:
17268 (WebCore::styleOptionSlider):
17269 (WebCore::thumbLength):
17270 (WebCore::pixelPosToRangeValue):
17271 (WebCore::PlatformScrollbar::handleContextMenuEvent):
17273 2008-09-16 Adam Treat <treat@kde.org>
17275 Reviewed by Anders Carlsson.
17277 Prevent accesses off of the end of the buffer introduced in r36450
17278 and when checking for descriptions of mime. Also, coding style fix.
17280 * plugins/qt/PluginPackageQt.cpp:
17281 (WebCore::PluginPackage::fetchInfo):
17283 2008-09-15 Rob Buis <buis@kde.org>
17287 https://bugs.webkit.org/show_bug.cgi?id=20634
17288 SVG transform attribute is ignored by <use> in <clipPath>
17290 Transform the paths with the local transform when part
17293 Test: svg/custom/use-clipped-transform.svg
17295 * svg/SVGClipPathElement.cpp:
17296 (WebCore::SVGClipPathElement::canvasResource):
17297 * svg/SVGStyledTransformableElement.cpp:
17298 (WebCore::SVGStyledTransformableElement::toClipPath):
17299 * svg/SVGStyledTransformableElement.h:
17301 2008-09-15 Dave Hyatt <hyatt@apple.com>
17303 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
17304 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
17306 Reviewed by Sam Weinig
17308 * platform/ScrollBar.cpp:
17309 (WebCore::thumbUnderMouse):
17310 (WebCore::Scrollbar::autoscrollPressedPart):
17311 (WebCore::Scrollbar::startTimerIfNeeded):
17312 (WebCore::moveThumb):
17313 (WebCore::Scrollbar::handleMouseMoveEvent):
17314 (WebCore::Scrollbar::handleMousePressEvent):
17315 * platform/ScrollBar.h:
17316 (WebCore::Scrollbar::pressedPos):
17317 (WebCore::Scrollbar::pixelStep):
17318 (WebCore::Scrollbar::setPressedPos):
17319 * platform/ScrollbarTheme.h:
17320 (WebCore::ScrollbarTheme::thumbPosition):
17321 (WebCore::ScrollbarTheme::thumbLength):
17322 (WebCore::ScrollbarTheme::trackPosition):
17323 (WebCore::ScrollbarTheme::trackLength):
17324 * platform/ScrollbarThemeComposite.cpp:
17325 (WebCore::ScrollbarThemeComposite::trackPosition):
17326 * platform/ScrollbarThemeComposite.h:
17327 * platform/qt/PlatformScrollBarQt.cpp:
17328 (WebCore::PlatformScrollbar::PlatformScrollbar):
17330 * platform/qt/ScrollbarThemeQt.cpp:
17331 (WebCore::styleOptionSlider):
17332 (WebCore::ScrollbarThemeQt::hitTest):
17333 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
17334 (WebCore::ScrollbarThemeQt::invalidatePart):
17335 (WebCore::ScrollbarThemeQt::thumbPosition):
17337 * platform/qt/ScrollbarThemeQt.h:
17338 * platform/win/ScrollbarThemeSafari.cpp:
17339 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
17340 * platform/win/ScrollbarThemeSafari.h:
17341 * platform/win/ScrollbarThemeWin.cpp:
17342 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
17343 * platform/win/ScrollbarThemeWin.h:
17345 2008-09-15 David Smith <catfish.man@gmail.com>
17347 Reviewed by Sam Weinig.
17349 https://bugs.webkit.org/show_bug.cgi?id=20180
17351 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
17353 * GNUmakefile.am: Add CSSNthSelector
17354 * WebCore.pro: Add CSSNthSelector
17355 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
17356 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
17357 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
17358 * css/CSSNthSelector.cpp: Added.
17359 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
17360 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
17361 * css/CSSNthSelector.h: Added.
17362 (WebCore::CSSNthSelector::CSSNthSelector):
17363 (WebCore::CSSNthSelector::~CSSNthSelector):
17364 * css/CSSParser.cpp:
17365 (WebCore::CSSParser::createFloatingNthSelector):
17367 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
17368 (WebCore::CSSSelector::CSSSelector):
17369 * css/CSSStyleSelector.cpp:
17370 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
17372 2008-09-15 Matt Lilek <webkit@mattlilek.com>
17374 Reviewed by Tim Hatcher.
17376 Clean up some inspector JS callbacks to remove an extra return.
17378 * page/InspectorController.cpp:
17379 (WebCore::hideDOMNodeHighlight):
17381 (WebCore::unloading):
17384 (WebCore::startDebuggingAndReloadInspectedPage):
17385 (WebCore::stopDebugging):
17386 (WebCore::debuggerAttached):
17387 (WebCore::pauseOnExceptions):
17388 (WebCore::pauseInDebugger):
17389 (WebCore::resumeDebugger):
17390 (WebCore::stepOverStatementInDebugger):
17391 (WebCore::stepIntoStatementInDebugger):
17392 (WebCore::stepOutOfFunctionInDebugger):
17393 (WebCore::isWindowVisible):
17394 (WebCore::closeWindow):
17396 2008-09-15 Dave Hyatt <hyatt@apple.com>
17398 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
17399 now share most of their code.
17401 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
17402 also is never used in our code anyway.
17404 Reviewed by Sam Weinig
17406 * WebCore.vcproj/WebCore.vcproj:
17407 * platform/ScrollTypes.h:
17409 * platform/ScrollbarThemeComposite.cpp:
17410 (WebCore::ScrollbarThemeComposite::splitTrack):
17411 (WebCore::ScrollbarThemeComposite::thumbLength):
17412 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
17413 * platform/ScrollbarThemeComposite.h:
17414 * platform/mac/PlatformScrollBarMac.mm:
17415 (NSControlSizeForScrollBarControlSize):
17416 * platform/win/PlatformScrollBar.h:
17417 * platform/win/PlatformScrollBarSafari.cpp: Removed.
17418 * platform/win/PlatformScrollBarWin.cpp:
17419 (WebCore::PlatformScrollbar::PlatformScrollbar):
17420 * platform/win/ScrollbarThemeSafari.cpp:
17421 (WebCore::ScrollbarTheme::nativeTheme):
17423 (WebCore::scrollbarControlStateFromThemeState):
17424 (WebCore::ScrollbarThemeSafari::hasButtons):
17425 (WebCore::ScrollbarThemeSafari::hasThumb):
17426 (WebCore::buttonRepaintRect):
17427 (WebCore::ScrollbarThemeSafari::backButtonRect):
17428 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
17429 (WebCore::trackRepaintRect):
17430 (WebCore::ScrollbarThemeSafari::trackRect):
17431 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
17432 (WebCore::ScrollbarThemeSafari::paintTrack):
17433 (WebCore::ScrollbarThemeSafari::paintButton):
17434 (WebCore::ScrollbarThemeSafari::paintThumb):
17435 * platform/win/ScrollbarThemeSafari.h:
17436 * platform/win/ScrollbarThemeWin.cpp:
17437 * platform/win/ScrollbarThemeWin.h:
17439 2008-09-15 Chris Fleizach <cfleizach@apple.com>
17441 Reviewed by Darin Adler, Beth Dakin
17443 <rdar://problem/4003789> Expose lists as AXList
17444 <rdar://problem/5707399> VO: Definition lists not announced in Safari
17446 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
17447 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
17448 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
17449 as does each <dd> tag ("definition")
17451 Test: accessibility/lists.html
17455 * WebCore.vcproj/WebCore.vcproj:
17456 * WebCore.xcodeproj/project.pbxproj:
17457 * WebCoreSources.bkl:
17458 * page/AXObjectCache.cpp:
17459 * page/AccessibilityList.cpp: Added.
17460 * page/AccessibilityList.h: Added.
17461 * page/AccessibilityObject.h:
17462 * page/AccessibilityRenderObject.cpp:
17463 * page/AccessibilityTable.cpp:
17464 * page/mac/AccessibilityObjectWrapper.mm:
17465 * page/mac/WebCoreViewFactory.h:
17466 * platform/LocalizedStrings.h:
17467 * platform/mac/LocalizedStringsMac.mm:
17468 * platform/qt/Localizations.cpp:
17470 2008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
17474 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
17475 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
17478 dispatchHTMLEvent -> dispatchEventForType
17479 setHTMLEventListener -> setEventListenerForType
17480 getHTMLEventListener -> eventListenerForType
17481 removeHTMLEventListener -> removeEventListenerForType
17482 isHTMLEventListener -> isAttachedToEventTargetNode
17485 Similar renames for the dispatch/get/set/*Window*Event functions.
17486 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
17488 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
17489 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
17491 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
17492 SVG is able to use the code as well now. This affects most files in html/.
17494 No functional changes.
17498 * WebCore.vcproj/WebCore.vcproj:
17499 * WebCore.xcodeproj/project.pbxproj:
17500 * bindings/js/JSDOMWindowBase.cpp:
17501 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
17502 (WebCore::JSDOMWindowBase::setListener):
17503 (WebCore::JSDOMWindowBase::getListener):
17504 (WebCore::JSDOMWindowBase::findJSEventListener):
17505 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
17506 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
17507 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
17508 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
17509 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
17510 * bindings/js/JSDOMWindowBase.h:
17511 * bindings/js/JSEventListener.cpp:
17512 (WebCore::JSAbstractEventListener::handleEvent):
17513 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
17514 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
17515 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
17516 (WebCore::JSEventListener::JSEventListener):
17517 (WebCore::JSEventListener::~JSEventListener):
17518 (WebCore::JSLazyEventListener::JSLazyEventListener):
17519 (WebCore::eventParameterName):
17520 (WebCore::JSLazyEventListener::parseCode):
17521 (WebCore::getNodeEventListener):
17522 * bindings/js/JSEventListener.h:
17523 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
17524 (WebCore::JSUnprotectedEventListener::create):
17525 (WebCore::JSEventListener::create):
17526 (WebCore::JSLazyEventListener::):
17527 (WebCore::JSLazyEventListener::create):
17528 * bindings/js/JSEventTargetNode.cpp:
17529 (WebCore::JSEventTargetNode::setListener):
17530 (WebCore::JSEventTargetNode::getListener):
17531 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
17532 * bindings/js/JSSVGLazyEventListener.h: Removed.
17533 * bindings/js/ScriptController.cpp:
17534 (WebCore::ScriptController::createHTMLEventHandler):
17535 (WebCore::ScriptController::createSVGEventHandler):
17536 * dom/Document.cpp:
17537 (WebCore::Document::setFocusedNode):
17538 (WebCore::Document::handleWindowEvent):
17539 (WebCore::Document::setWindowEventListenerForType):
17540 (WebCore::Document::windowEventListenerForType):
17541 (WebCore::Document::removeWindowEventListenerForType):
17542 (WebCore::Document::addWindowEventListener):
17543 (WebCore::Document::hasWindowEventListener):
17544 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
17545 (WebCore::Document::createEventListener):
17546 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
17548 * dom/EventListener.h:
17549 (WebCore::EventListener::isAttachedToEventTargetNode):
17550 * dom/EventTargetNode.cpp:
17551 (WebCore::EventTargetNode::dispatchFocusEvent):
17552 (WebCore::EventTargetNode::dispatchBlurEvent):
17553 (WebCore::EventTargetNode::dispatchEventForType):
17554 (WebCore::EventTargetNode::removeEventListenerForType):
17555 (WebCore::EventTargetNode::setEventListenerForType):
17556 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
17557 (WebCore::EventTargetNode::eventListenerForType):
17558 * dom/EventTargetNode.h:
17559 * dom/XMLTokenizer.cpp:
17560 (WebCore::XMLTokenizer::notifyFinished):
17561 * editing/ReplaceSelectionCommand.cpp:
17562 (WebCore::ReplacementFragment::ReplacementFragment):
17563 * html/HTMLBodyElement.cpp:
17564 (WebCore::HTMLBodyElement::parseMappedAttribute):
17565 * html/HTMLButtonElement.cpp:
17566 (WebCore::HTMLButtonElement::parseMappedAttribute):
17567 * html/HTMLElement.cpp:
17568 (WebCore::HTMLElement::parseMappedAttribute):
17569 (WebCore::HTMLElement::checkDTD):
17570 * html/HTMLElement.h:
17571 * html/HTMLFormControlElement.cpp:
17572 (WebCore::HTMLFormControlElement::onChange):
17573 * html/HTMLFormElement.cpp:
17574 (WebCore::HTMLFormElement::prepareSubmit):
17575 (WebCore::HTMLFormElement::reset):
17576 (WebCore::HTMLFormElement::parseMappedAttribute):
17577 * html/HTMLFrameElementBase.cpp:
17578 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
17579 * html/HTMLFrameSetElement.cpp:
17580 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
17581 * html/HTMLImageElement.cpp:
17582 (WebCore::HTMLImageElement::parseMappedAttribute):
17583 * html/HTMLImageLoader.cpp:
17584 (WebCore::HTMLImageLoader::dispatchLoadEvent):
17585 * html/HTMLInputElement.cpp:
17586 (WebCore::HTMLInputElement::parseMappedAttribute):
17587 (WebCore::HTMLInputElement::setValueFromRenderer):
17588 (WebCore::HTMLInputElement::onSearch):
17589 * html/HTMLMediaElement.cpp:
17590 (WebCore::HTMLMediaElement::asyncEventTimerFired):
17591 (WebCore::HTMLMediaElement::load):
17592 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
17593 (WebCore::HTMLMediaElement::setReadyState):
17594 (WebCore::HTMLMediaElement::seek):
17595 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
17596 (WebCore::HTMLMediaElement::willSaveToCache):
17597 * html/HTMLObjectElement.cpp:
17598 (WebCore::HTMLObjectElement::parseMappedAttribute):
17599 * html/HTMLScriptElement.cpp:
17600 (WebCore::HTMLScriptElement::parseMappedAttribute):
17601 (WebCore::HTMLScriptElement::dispatchLoadEvent):
17602 (WebCore::HTMLScriptElement::dispatchErrorEvent):
17603 * html/HTMLSelectElement.cpp:
17604 (WebCore::HTMLSelectElement::parseMappedAttribute):
17605 * html/HTMLTextAreaElement.cpp:
17606 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
17607 * html/HTMLTokenizer.cpp:
17608 (WebCore::HTMLTokenizer::notifyFinished):
17609 * page/AccessibilityRenderObject.cpp:
17610 (WebCore::AccessibilityRenderObject::mouseButtonListener):
17611 * page/EventHandler.cpp:
17612 (WebCore::EventHandler::canMouseDownStartSelect):
17613 (WebCore::EventHandler::canMouseDragExtendSelect):
17615 (WebCore::Frame::sendScrollEvent):
17617 (WebCore::networkStateChanged):
17618 * rendering/RenderListBox.cpp:
17619 (WebCore::RenderListBox::valueChanged):
17620 * rendering/RenderTextControl.cpp:
17621 (WebCore::RenderTextControl::selectionChanged):
17622 * svg/SVGDocumentExtensions.cpp:
17623 * svg/SVGDocumentExtensions.h:
17624 * svg/SVGElement.cpp:
17625 (WebCore::SVGElement::parseMappedAttribute):
17626 (WebCore::SVGElement::finishParsingChildren):
17627 * svg/SVGElement.h:
17628 * svg/SVGSVGElement.cpp:
17629 (WebCore::SVGSVGElement::parseMappedAttribute):
17630 * svg/SVGSVGElement.h:
17632 2008-09-15 Dave Hyatt <hyatt@apple.com>
17634 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
17635 need to be converted.
17637 Reviewed by Sam Weinig
17639 * platform/ScrollBar.cpp:
17640 (WebCore::Scrollbar::Scrollbar):
17641 (WebCore::Scrollbar::updateThumbPosition):
17642 (WebCore::Scrollbar::updateThumbProportion):
17643 (WebCore::Scrollbar::autoscrollPressedPart):
17644 (WebCore::Scrollbar::startTimerIfNeeded):
17645 * platform/ScrollBar.h:
17646 * platform/ScrollbarTheme.h:
17647 (WebCore::ScrollbarTheme::invalidateParts):
17648 * platform/ScrollbarThemeComposite.cpp:
17649 (WebCore::ScrollbarThemeComposite::hitTest):
17650 (WebCore::ScrollbarThemeComposite::invalidatePart):
17651 (WebCore::ScrollbarThemeComposite::thumbPosition):
17652 (WebCore::ScrollbarThemeComposite::thumbLength):
17653 (WebCore::ScrollbarThemeComposite::trackLength):
17654 * platform/ScrollbarThemeComposite.h:
17655 * platform/win/PlatformScrollBarSafari.cpp:
17656 (WebCore::PlatformScrollbar::PlatformScrollbar):
17657 * platform/win/PlatformScrollBarWin.cpp:
17658 (WebCore::PlatformScrollbar::PlatformScrollbar):
17660 2008-09-15 David Smith <catfish.man@gmail.com>
17662 "Just do it"'d by Mark Rowe
17664 https://bugs.webkit.org/show_bug.cgi?id=20856
17665 Add missing license header
17667 * dom/NodeRenderStyle.h:
17669 2008-09-15 Dean Jackson <dino@apple.com>
17671 Reviewed by Tim Hatcher.
17673 Add default constructor for ShadowData
17674 https://bugs.webkit.org/show_bug.cgi?id=20757
17676 Test: transitions/shadow.html
17678 * rendering/style/RenderStyle.h:
17680 2008-09-15 Dean Jackson <dino@apple.com>
17682 Reviewed by Tim Hatcher.
17684 RenderStyle should update keyframes.
17685 http://bugs.webkit.org/show_bug.cgi?id=20756
17687 * rendering/style/RenderStyle.cpp:
17688 (WebCore::StyleRareNonInheritedData::updateKeyframes):
17690 2008-09-15 Dean Jackson <dino@apple.com>
17692 Reviewed by Tim Hatcher.
17694 Unnecessary ASSERT in ImplicitAnimation destructor.
17695 https://bugs.webkit.org/show_bug.cgi?id=20817
17697 * page/animation/ImplicitAnimation.cpp:
17698 (WebCore::ImplicitAnimation::~ImplicitAnimation):
17700 2008-09-15 Adam Treat <treat@kde.org>
17704 Fix plugin extension info. It was returning the mimetype where the
17705 extension was given.
17707 * plugins/qt/PluginPackageQt.cpp:
17708 (WebCore::PluginPackage::fetchInfo):
17710 2008-09-15 Dean Jackson <dino@apple.com>
17712 Reviewed by Tim Hatcher
17714 Coding style violation!!!! Cleanup AnimationBase.cpp
17716 * page/animation/AnimationBase.cpp:
17717 (WebCore::blendFunc):
17719 2008-09-15 David Hyatt <hyatt@apple.com>
17721 Move all hit testing code for scrollbars into the base class. Refactor
17722 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
17725 No platform is using this code yet. Although it has been moved and compiles
17726 (even on Mac), it is not being used on any platform.
17728 Reviewed by Sam Weinig
17730 * platform/ScrollBar.cpp:
17731 (WebCore::Scrollbar::autoscrollPressedPart):
17732 (WebCore::Scrollbar::startTimerIfNeeded):
17733 (WebCore::Scrollbar::handleMouseMoveEvent):
17734 (WebCore::Scrollbar::handleMouseOutEvent):
17735 (WebCore::Scrollbar::handleMouseReleaseEvent):
17736 (WebCore::Scrollbar::handleMousePressEvent):
17737 * platform/ScrollBar.h:
17738 (WebCore::Scrollbar::handleContextMenuEvent):
17739 * platform/ScrollbarTheme.h:
17740 (WebCore::ScrollbarTheme::hitTest):
17741 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
17742 (WebCore::ScrollbarTheme::invalidatePart):
17743 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
17744 (WebCore::ScrollbarTheme::centerOnThumb):
17745 (WebCore::ScrollbarTheme::thumbPosition):
17746 (WebCore::ScrollbarTheme::thumbLength):
17747 (WebCore::ScrollbarTheme::trackLength):
17748 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
17749 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
17750 * platform/Widget.h:
17751 (WebCore::Widget::parent):
17752 * platform/mac/PlatformScrollBar.h:
17753 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
17754 (WebCore::PlatformScrollbar::handleMouseOutEvent):
17755 (WebCore::PlatformScrollbar::handleMousePressEvent):
17756 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
17757 * platform/mac/WidgetMac.mm:
17758 (WebCore::Widget::convertFromContainingWindow):
17759 * platform/win/ScrollbarThemeWin.cpp:
17760 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
17761 * platform/win/ScrollbarThemeWin.h:
17763 2008-09-15 Dan Bernstein <mitz@apple.com>
17765 Reviewed by Sam Weinig.
17767 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
17769 Cache the next breakable position for text nodes in InlineIterator.
17771 * rendering/bidi.cpp:
17772 (WebCore::InlineIterator::InlineIterator):
17773 (WebCore::InlineIterator::increment):
17774 (WebCore::RenderBlock::findNextLineBreak):
17776 2008-09-15 Simon Fraser <simon.fraser@apple.com>
17778 Reviewed by Dan Bernstein
17780 Fix assertion and integral pixel issue when creating subimages.
17781 https://bugs.webkit.org/show_bug.cgi?id=20786
17783 * platform/graphics/cg/ImageCG.cpp:
17784 (WebCore::BitmapImage::draw):
17786 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
17790 Implment seek() and clean up and improve debugging output
17792 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17793 (debugMediaObject):
17794 (WebCore::MediaPlayerPrivate::seek):
17795 (WebCore::MediaPlayerPrivate::setVolume):
17796 (WebCore::MediaPlayerPrivate::setMuted):
17797 (WebCore::MediaPlayerPrivate::updateStates):
17798 (WebCore::MediaPlayerPrivate::naturalSize):
17799 (WebCore::MediaPlayerPrivate::paint):
17800 (WebCore::MediaPlayerPrivate::stateChanged):
17801 (WebCore::MediaPlayerPrivate::tick):
17803 2008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
17807 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
17809 m_mediaObject, m_audioOutput, m_videoWidget get created in the
17810 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
17811 only check if we use the MediaPlayerPrivate after it has been deleted.
17813 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
17815 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17816 (WebCore::MediaPlayerPrivate::play):
17817 (WebCore::MediaPlayerPrivate::setVolume):
17818 (WebCore::MediaPlayerPrivate::updateStates):
17820 2008-09-15 Anders Carlsson <andersca@apple.com>
17822 Reviewed by Maciej.
17824 <rdar://problem/6163988>
17825 https://bugs.webkit.org/show_bug.cgi?id=20457
17826 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
17828 Check the width and height and throw an exception if any of them are 0.
17830 * html/CanvasRenderingContext2D.cpp:
17831 (WebCore::CanvasRenderingContext2D::createPattern):
17833 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
17837 Render media element controls with antialiasing enabled
17839 * platform/qt/RenderThemeQt.cpp:
17840 (WebCore::RenderThemeQt::paintMediaMuteButton):
17841 (WebCore::RenderThemeQt::paintMediaPlayButton):
17842 (WebCore::RenderThemeQt::paintMediaSliderTrack):
17843 (WebCore::RenderThemeQt::paintMediaSliderThumb):
17845 2008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
17849 Upon non fatal error, switch to the pause state (so that playback can continue)
17851 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
17852 (WebCore::MediaPlayerPrivate::updateStates):
17854 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
17858 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
17862 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
17866 Make QtInstance::create() private and fix caching
17868 * bindings/js/ScriptControllerQt.cpp:
17869 (WebCore::ScriptController::createScriptInstanceForWidget):
17870 * bridge/qt/qt_instance.cpp:
17871 (JSC::Bindings::QtInstance::getQtInstance):
17872 (JSC::Bindings::QtInstance::getRuntimeObject):
17873 * bridge/qt/qt_instance.h:
17874 (JSC::Bindings::QtInstance::create):
17875 * bridge/qt/qt_runtime.cpp:
17876 (JSC::Bindings::convertQVariantToValue):
17877 (JSC::Bindings::QtConnectionObject::execute):
17879 2008-09-15 David Smith <catfish.man@gmail.com>
17881 Reviewed by Dave Hyatt.
17883 https://bugs.webkit.org/show_bug.cgi?id=20180
17885 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
17886 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
17887 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
17889 * css/CSSStyleSelector.cpp:
17890 (WebCore::CSSStyleSelector::CSSStyleSelector):
17891 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
17892 * css/CSSStyleSelector.h:
17894 2008-09-14 Dave Hyatt <hyatt@apple.com>
17896 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
17897 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
17899 Reviewed by Sam Weinig
17901 * platform/ScrollBar.h:
17902 (WebCore::Scrollbar::client):
17903 (WebCore::Scrollbar::currentPos):
17904 (WebCore::Scrollbar::totalSize):
17905 * platform/ScrollbarTheme.h:
17906 * platform/ScrollbarThemeComposite.cpp:
17907 (WebCore::pageForScrollView):
17908 (WebCore::ScrollbarThemeComposite::paint):
17909 * platform/ScrollbarThemeComposite.h:
17910 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
17911 * platform/win/PlatformScrollBar.h:
17912 * platform/win/PlatformScrollBarSafari.cpp:
17913 * platform/win/PlatformScrollBarWin.cpp:
17914 * platform/win/ScrollbarThemeSafari.h:
17915 (WebCore::ScrollbarThemeSafari::hasButtons):
17916 (WebCore::ScrollbarThemeSafari::hasThumb):
17917 (WebCore::ScrollbarThemeSafari::backButtonRect):
17918 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
17919 (WebCore::ScrollbarThemeSafari::trackRect):
17920 (WebCore::ScrollbarThemeSafari::splitTrack):
17921 (WebCore::ScrollbarThemeSafari::paintTrack):
17922 (WebCore::ScrollbarThemeSafari::paintButton):
17923 (WebCore::ScrollbarThemeSafari::paintThumb):
17924 * platform/win/ScrollbarThemeWin.cpp:
17925 (WebCore::isRunningOnVistaOrLater):
17926 (WebCore::checkAndInitScrollbarTheme):
17927 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
17928 (WebCore::ScrollbarThemeWin::themeChanged):
17929 (WebCore::ScrollbarThemeWin::hasThumb):
17930 (WebCore::ScrollbarThemeWin::backButtonRect):
17931 (WebCore::ScrollbarThemeWin::forwardButtonRect):
17932 (WebCore::ScrollbarThemeWin::trackRect):
17933 (WebCore::ScrollbarThemeWin::splitTrack):
17934 (WebCore::ScrollbarThemeWin::paintTrack):
17935 (WebCore::ScrollbarThemeWin::paintButton):
17936 (WebCore::gripperRect):
17937 (WebCore::paintGripper):
17938 (WebCore::ScrollbarThemeWin::paintThumb):
17939 (WebCore::ScrollbarThemeWin::thumbPosition):
17940 (WebCore::ScrollbarThemeWin::thumbLength):
17941 (WebCore::ScrollbarThemeWin::trackLength):
17942 * platform/win/ScrollbarThemeWin.h:
17943 (WebCore::ScrollbarThemeWin::hasButtons):
17944 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
17946 2008-09-14 Anthony Ricaud <rik24d@gmail.com>
17948 Moving all resource graphs under the same container for future scalable feature.
17949 This is a speedup on resize but maybe a loss on changing the sorting function.
17951 https://bugs.webkit.org/show_bug.cgi?id=20555
17953 Reviewed by Timothy Hatcher.
17955 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
17956 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
17957 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
17959 2008-09-14 Alexey Proskuryakov <ap@webkit.org>
17961 Reviewed by Maciej Stachowiak.
17963 https://bugs.webkit.org/show_bug.cgi?id=20738
17964 compareBoundaryPoints gives incorrect results
17966 Test: fast/dom/Range/compareBoundaryPoints-2.html
17968 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
17970 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
17972 2008-09-14 Maciej Stachowiak <mjs@apple.com>
17974 Unreviewed build fix.
17978 * bindings/js/JSQuarantinedObjectWrapper.cpp:
17979 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
17981 2008-09-14 Maciej Stachowiak <mjs@apple.com>
17983 Unreviewed build fix.
17985 Blind attempt to fix build. Correct parameters for hasInstance.
17987 * bindings/js/JSQuarantinedObjectWrapper.cpp:
17988 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
17989 * bindings/js/JSQuarantinedObjectWrapper.h:
17991 2008-09-14 Dan Bernstein <mitz@apple.com>
17993 Rubber-stamped by Sam Weinig.
17995 - revert <http://trac.webkit.org/changeset/36382> because it exposed
17996 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
17999 * platform/graphics/mac/FontCacheMac.mm:
18000 (WebCore::FontCache::getFontDataForCharacters):
18001 (WebCore::FontCache::getLastResortFallbackFont):
18003 2008-09-14 Dave Hyatt <hyatt@apple.com>
18005 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
18006 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
18009 Reviewed by Sam Weinig
18011 * WebCore.vcproj/WebCore.vcproj:
18012 * platform/win/ScrollbarThemeSafari.h:
18013 * platform/win/ScrollbarThemeWin.h:
18015 2008-09-14 Alp Toker <alp@nuanti.com>
18017 https://bugs.webkit.org/show_bug.cgi?id=20320
18018 [GTK] A white rectangle is visible behind widgets with rounded corners
18020 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
18023 Requested by Michael Monreal.
18025 * platform/gtk/RenderThemeGtk.cpp:
18026 (WebCore::RenderThemeGtk::RenderThemeGtk):
18027 * platform/gtk/gtk2drawing.c:
18028 (moz_gtk_set_widget_name):
18029 (ensure_window_widget):
18030 (setup_widget_prototype):
18031 (ensure_button_arrow_widget):
18032 (moz_gtk_get_combo_box_inner_button):
18033 (moz_gtk_get_combo_box_button_inner_widgets):
18034 (ensure_combo_box_widgets):
18035 (moz_gtk_get_combo_box_entry_inner_widgets):
18036 (moz_gtk_get_combo_box_entry_arrow):
18037 (ensure_combo_box_entry_widgets):
18038 (ensure_toolbar_widget):
18039 (ensure_tooltip_widget):
18040 (ensure_menu_bar_widget):
18041 (ensure_menu_bar_item_widget):
18042 (ensure_menu_popup_widget):
18043 (ensure_menu_item_widget):
18044 (ensure_image_menu_item_widget):
18045 (ensure_menu_separator_widget):
18046 (ensure_check_menu_item_widget):
18047 (ensure_tree_header_cell_widget):
18048 (ensure_scrolled_window_widget):
18049 (moz_gtk_button_paint):
18051 (moz_gtk_button_get_inner_border):
18052 (moz_gtk_toggle_paint):
18053 (calculate_button_inner_rect):
18054 (calculate_arrow_rect):
18055 (moz_gtk_scrollbar_button_paint):
18056 (moz_gtk_scrollbar_thumb_paint):
18057 (moz_gtk_caret_paint):
18058 (moz_gtk_entry_paint):
18059 (moz_gtk_treeview_paint):
18060 (moz_gtk_tree_header_cell_paint):
18061 (moz_gtk_combo_box_paint):
18062 (moz_gtk_downarrow_paint):
18063 (moz_gtk_combo_box_entry_button_paint):
18064 (moz_gtk_toolbar_paint):
18065 (moz_gtk_tab_scroll_arrow_paint):
18066 (moz_gtk_menu_bar_paint):
18067 (moz_gtk_menu_item_paint):
18068 (moz_gtk_get_widget_border):
18069 (moz_gtk_get_combo_box_entry_button_size):
18070 (moz_gtk_get_tab_scroll_arrow_size):
18071 (moz_gtk_get_downarrow_size):
18072 (moz_gtk_images_in_menus):
18073 (moz_gtk_widget_paint):
18074 (moz_gtk_shutdown):
18075 * platform/gtk/gtkdrawing.h:
18077 2008-09-14 David Hyatt <hyatt@apple.com>
18079 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
18080 painting. Mac and Gtk themes don't do anything and just let the
18081 underlying widget paint. Qt now uses the theme to paint. wx doesn't
18084 Reviewed by Sam Weinig
18086 * platform/ScrollBar.cpp:
18087 (WebCore::Scrollbar::paint):
18088 * platform/ScrollBar.h:
18089 (WebCore::Scrollbar::value):
18090 (WebCore::Scrollbar::visibleSize):
18091 (WebCore::Scrollbar::maximum):
18092 (WebCore::Scrollbar::lineStep):
18093 (WebCore::Scrollbar::pageStep):
18094 (WebCore::Scrollbar::pixelStep):
18095 (WebCore::Scrollbar::pressedPart):
18096 (WebCore::Scrollbar::hoveredPart):
18097 (WebCore::Scrollbar::theme):
18098 * platform/ScrollbarTheme.h:
18099 (WebCore::ScrollbarTheme::paint):
18100 (WebCore::ScrollbarTheme::scrollbarThickness):
18101 (WebCore::ScrollbarTheme::supportsControlTints):
18102 (WebCore::ScrollbarTheme::themeChanged):
18103 * platform/gtk/PlatformScrollBar.h:
18104 * platform/gtk/PlatformScrollBarGtk.cpp:
18105 * platform/mac/PlatformScrollBar.h:
18106 * platform/mac/PlatformScrollBarMac.mm:
18107 * platform/qt/PlatformScrollBar.h:
18108 * platform/qt/PlatformScrollBarQt.cpp:
18109 * platform/qt/ScrollbarThemeQt.cpp:
18110 (WebCore::styleOptionSlider):
18111 * platform/qt/ScrollbarThemeQt.h:
18112 (WebCore::ScrollbarThemeQt::paint):
18113 * platform/win/PlatformScrollBarSafari.cpp:
18114 (WebCore::PlatformScrollbar::paint):
18115 * platform/win/ScrollbarThemeSafari.h:
18116 (WebCore::ScrollbarThemeSafari::supportsControlTints):
18117 * platform/wx/PlatformScrollBar.h:
18118 * platform/wx/TemporaryLinkStubs.cpp:
18119 (PlatformScrollbar::~PlatformScrollbar):
18121 2008-09-14 Sam Weinig <sam@webkit.org>
18125 * platform/qt/PlatformScrollBarQt.cpp:
18127 2008-09-14 Sam Weinig <sam@webkit.org>
18129 Reviewed by Mark Rowe.
18131 Remove extraneous semicolons.
18133 * bindings/scripts/CodeGeneratorObjC.pm:
18134 * html/HTMLLinkElement.cpp:
18135 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
18136 * html/HTMLScriptElement.cpp:
18137 (WebCore::HTMLScriptElement::charsetAttributeValue):
18138 (WebCore::HTMLScriptElement::typeAttributeValue):
18139 * platform/graphics/qt/GradientQt.cpp:
18140 (WebCore::Gradient::platformGradient):
18141 * platform/qt/ScrollViewQt.cpp:
18142 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
18143 * platform/win/ScrollViewWin.cpp:
18144 (WebCore::ScrollView::updateScrollbars):
18145 * rendering/RenderBlock.cpp:
18146 (WebCore::RenderBlock::paintEllipsisBoxes):
18147 * svg/SVGPathSegList.cpp:
18148 (WebCore::SVGPathSegList::toPathData):
18150 2008-09-14 Sam Weinig <sam@webkit.org>
18154 * platform/qt/ScrollViewQt.cpp:
18155 (WebCore::ScrollView::updateScrollbars):
18157 2008-09-14 Sam Weinig <sam@webkit.org>
18161 * platform/qt/PlatformScrollBarQt.cpp:
18162 (WebCore::PlatformScrollbar::PlatformScrollbar):
18163 (WebCore::PlatformScrollbar::paint):
18165 2008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
18167 Gtk build fix, not reviewed.
18169 * platform/gtk/PlatformScrollBarGtk.cpp:
18170 (PlatformScrollbar::PlatformScrollbar):
18171 * platform/gtk/ScrollViewGtk.cpp:
18172 (WebCore::ScrollView::updateScrollbars):
18174 2008-09-13 Dave Hyatt <hyatt@apple.com>
18176 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
18177 to set the dimensions of a scrollbar.
18179 Reviewed by Sam Weinig
18181 * platform/ScrollBar.h:
18182 * platform/gtk/PlatformScrollBar.h:
18183 * platform/gtk/PlatformScrollBarGtk.cpp:
18184 (PlatformScrollbar::setFrameGeometry):
18185 * platform/gtk/ScrollViewGtk.cpp:
18186 (WebCore::ScrollView::updateScrollbars):
18187 * platform/mac/PlatformScrollBarMac.mm:
18188 * platform/qt/PlatformScrollBarQt.cpp:
18189 * platform/qt/ScrollViewQt.cpp:
18190 (WebCore::ScrollView::updateScrollbars):
18191 * platform/win/PlatformScrollBar.h:
18192 * platform/win/PlatformScrollBarSafari.cpp:
18193 (WebCore::PlatformScrollbar::PlatformScrollbar):
18194 (WebCore::PlatformScrollbar::setFrameGeometry):
18195 * platform/win/PlatformScrollBarWin.cpp:
18196 (WebCore::PlatformScrollbar::PlatformScrollbar):
18197 (WebCore::PlatformScrollbar::setFrameGeometry):
18198 * platform/win/PopupMenuWin.cpp:
18199 (WebCore::PopupWndProc):
18200 * platform/win/ScrollViewWin.cpp:
18201 (WebCore::ScrollView::updateScrollbars):
18202 * platform/wx/PlatformScrollBar.h:
18203 * platform/wx/TemporaryLinkStubs.cpp:
18204 (PlatformScrollbar::updateThumbProportion):
18205 * rendering/RenderLayer.cpp:
18206 (WebCore::RenderLayer::positionOverflowControls):
18207 * rendering/RenderListBox.cpp:
18208 (WebCore::RenderListBox::paintScrollbar):
18210 2008-09-13 Dave Hyatt <hyatt@apple.com>
18212 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
18214 Reviewed by Sam Weinig
18216 * platform/ScrollBar.h:
18217 * platform/gtk/PlatformScrollBar.h:
18218 * platform/gtk/PlatformScrollBarGtk.cpp:
18219 * platform/mac/PlatformScrollBar.h:
18220 * platform/mac/PlatformScrollBarMac.mm:
18221 * platform/win/PlatformScrollBar.h:
18222 * platform/win/PlatformScrollBarSafari.cpp:
18223 * platform/win/PlatformScrollBarWin.cpp:
18224 * platform/wx/PlatformScrollBar.h:
18225 * platform/wx/TemporaryLinkStubs.cpp:
18226 (PlatformScrollbar::~PlatformScrollbar):
18228 2008-09-13 Dave Hyatt <hyatt@apple.com>
18230 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
18231 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
18233 Reviewed by Sam Weinig
18235 * platform/ScrollBar.h:
18236 * platform/gtk/PlatformScrollBar.h:
18237 * platform/gtk/PlatformScrollBarGtk.cpp:
18238 * platform/mac/PlatformScrollBar.h:
18239 * platform/mac/PlatformScrollBarMac.mm:
18240 * platform/win/PlatformScrollBarSafari.cpp:
18241 * platform/win/PlatformScrollBarWin.cpp:
18242 * platform/wx/PlatformScrollBar.h:
18243 * platform/wx/TemporaryLinkStubs.cpp:
18244 (PlatformScrollbar::~PlatformScrollbar):
18246 2008-09-13 Dave Hyatt <hyatt@apple.com>
18248 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
18250 Reviewed by Sam Weinig
18252 * platform/ScrollBar.cpp:
18253 (WebCore::Scrollbar::~Scrollbar):
18254 * platform/ScrollBar.h:
18255 * platform/qt/PlatformScrollBarQt.cpp:
18256 (WebCore::PlatformScrollbar::~PlatformScrollbar):
18257 * platform/win/PlatformScrollBarSafari.cpp:
18258 (WebCore::PlatformScrollbar::~PlatformScrollbar):
18259 * platform/win/PlatformScrollBarWin.cpp:
18260 (WebCore::PlatformScrollbar::~PlatformScrollbar):
18262 2008-09-13 David Hyatt <hyatt@apple.com>
18264 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
18265 function on Scrollbar. Fixes Qt build bustage.
18267 Reviewed by Sam Weinig
18269 * platform/ScrollBar.h:
18270 (WebCore::Scrollbar::orientation):
18271 (WebCore::Scrollbar::value):
18272 (WebCore::Scrollbar::maximum):
18273 * platform/qt/PlatformScrollBar.h:
18275 2008-09-13 Dan Bernstein <mitz@apple.com>
18277 Reviewed by Sam Weinig.
18279 - use the LastResort font for missing glyphs instead of showing the
18280 primary font's missing glyph
18282 Test: platform/mac/fast/text/last-resort-font.html
18284 * platform/graphics/mac/FontCacheMac.mm:
18285 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
18286 last resort font if a substitute font cannot be found.
18287 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
18288 comment (the user's preferred standard font is included in the search
18289 thanks to code in FontCache::getFontData()) and changed to return the
18292 2008-09-13 Dave Hyatt <hyatt@apple.com>
18294 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
18295 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
18296 patches will move rendering and hit testing functionality into this class.
18298 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
18299 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
18301 Reviewed by Sam Weinig
18305 * WebCore.vcproj/WebCore.vcproj:
18306 * platform/ScrollBar.cpp:
18307 (WebCore::Scrollbar::Scrollbar):
18308 * platform/ScrollBar.h:
18309 * platform/ScrollbarTheme.h: Added.
18310 (WebCore::ScrollbarTheme::~ScrollbarTheme):
18311 (WebCore::ScrollbarTheme::scrollbarThickness):
18312 (WebCore::ScrollbarTheme::themeChanged):
18313 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
18314 (WebCore::ScrollbarTheme::nativeTheme):
18315 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
18316 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
18317 * platform/gtk/ScrollbarThemeGtk.h: Added.
18318 * platform/mac/PlatformScrollBar.h:
18319 * platform/mac/ScrollbarThemeMac.cpp: Added.
18320 (WebCore::ScrollbarTheme::nativeTheme):
18322 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
18323 (WebCore::ScrollbarThemeMac::scrollbarThickness):
18324 * platform/mac/ScrollbarThemeMac.h: Added.
18325 * platform/qt/PlatformScrollBarQt.cpp:
18326 * platform/qt/ScrollbarThemeQt.cpp: Added.
18327 (WebCore::ScrollbarTheme::nativeTheme):
18328 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
18329 (WebCore::ScrollbarThemeQt::scrollbarThickness):
18330 * platform/qt/ScrollbarThemeQt.h: Added.
18331 * platform/win/PlatformScrollBar.h:
18332 * platform/win/PlatformScrollBarSafari.cpp:
18333 * platform/win/PlatformScrollBarWin.cpp:
18334 * platform/win/PopupMenuWin.cpp:
18335 (WebCore::PopupMenu::calculatePositionAndSize):
18336 * platform/win/ScrollViewWin.cpp:
18337 (WebCore::ScrollView::updateScrollbars):
18338 (WebCore::ScrollView::themeChanged):
18339 * platform/win/ScrollbarThemeSafari.cpp: Added.
18340 (WebCore::ScrollbarTheme::nativeTheme):
18342 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
18343 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
18344 * platform/win/ScrollbarThemeSafari.h: Added.
18345 * platform/win/ScrollbarThemeWin.cpp: Added.
18346 (WebCore::ScrollbarTheme::nativeTheme):
18347 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
18348 (WebCore::ScrollbarThemeWin::scrollbarThickness):
18349 (WebCore::ScrollbarThemeWin::themeChanged):
18350 * platform/win/ScrollbarThemeWin.h: Added.
18351 * platform/wx/TemporaryLinkStubs.cpp:
18352 (ScrollbarTheme::nativeTheme):
18353 * rendering/RenderLayer.cpp:
18354 (WebCore::scrollCornerRect):
18355 * rendering/RenderTextControl.cpp:
18356 (WebCore::RenderTextControl::calcHeight):
18357 (WebCore::RenderTextControl::calcPrefWidths):
18359 2008-09-13 Chris Fleizach <cfleizach@apple.com>
18361 Reviewed by Timothy Hatcher.
18363 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
18365 * page/mac/AccessibilityObjectWrapper.mm:
18366 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
18368 2008-09-13 Dan Bernstein <mitz@apple.com>
18370 Reviewed by Timothy Hatcher.
18372 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
18374 No regression test because the back/forward cache is disabled in DumpRenderTree
18376 * rendering/RenderContainer.cpp:
18377 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
18378 is being destroyed.
18380 2008-09-13 Kevin Ollivier <kevino@theolliviers.com>
18382 wx build fixes for new methods recently introduced.
18384 * platform/graphics/wx/AffineTransformWx.cpp:
18385 (WebCore::AffineTransform::AffineTransform):
18386 (WebCore::AffineTransform::setMatrix):
18387 (WebCore::AffineTransform::setA):
18388 (WebCore::AffineTransform::setB):
18389 (WebCore::AffineTransform::setC):
18390 (WebCore::AffineTransform::setD):
18391 (WebCore::AffineTransform::setE):
18392 (WebCore::AffineTransform::setF):
18393 * platform/wx/LocalizedStringsWx.cpp:
18394 (WebCore::AXDefinitionListTermText):
18395 (WebCore::AXDefinitionListDefinitionText):
18397 2008-09-12 Dave Hyatt <hyatt@apple.com>
18399 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
18400 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
18401 "PlatformScrollbar."
18403 Reviewed by Sam Weinig
18405 * WebCore.vcproj/WebCore.vcproj:
18406 * editing/EditorCommand.cpp:
18407 * page/EventHandler.cpp:
18408 (WebCore::EventHandler::selectCursor):
18409 (WebCore::EventHandler::handleMousePressEvent):
18410 (WebCore::EventHandler::handleMouseMoveEvent):
18411 * page/EventHandler.h:
18412 * page/MouseEventWithHitTestResults.cpp:
18413 (WebCore::MouseEventWithHitTestResults::scrollbar):
18414 * page/MouseEventWithHitTestResults.h:
18415 * page/gtk/EventHandlerGtk.cpp:
18416 (WebCore::EventHandler::passMousePressEventToScrollbar):
18417 * page/mac/EventHandlerMac.mm:
18418 (WebCore::EventHandler::passMousePressEventToScrollbar):
18419 * page/qt/EventHandlerQt.cpp:
18420 (WebCore::EventHandler::passMousePressEventToScrollbar):
18421 * page/win/EventHandlerWin.cpp:
18422 (WebCore::EventHandler::passMousePressEventToScrollbar):
18423 * page/wx/EventHandlerWx.cpp:
18424 (WebCore::EventHandler::passMousePressEventToScrollbar):
18425 * platform/PopupMenu.h:
18426 * platform/ScrollBar.cpp:
18427 (WebCore::Scrollbar::Scrollbar):
18428 (WebCore::Scrollbar::autoscrollTimerFired):
18429 (WebCore::Scrollbar::autoscrollPressedPart):
18430 (WebCore::Scrollbar::startTimerIfNeeded):
18431 (WebCore::Scrollbar::stopTimerIfNeeded):
18432 (WebCore::Scrollbar::pressedPartScrollDirection):
18433 (WebCore::Scrollbar::pressedPartScrollGranularity):
18434 * platform/ScrollBar.h:
18435 (WebCore::Scrollbar::handleMousePressEvent):
18436 (WebCore::Scrollbar::invalidatePart):
18437 (WebCore::Scrollbar::thumbUnderMouse):
18438 * platform/ScrollView.h:
18439 * platform/ScrollbarClient.h: Added.
18440 (WebCore::ScrollbarClient::~ScrollbarClient):
18441 * platform/gtk/ScrollViewGtk.cpp:
18442 (WebCore::ScrollView::scrollbarUnderMouse):
18443 * platform/qt/PlatformScrollBar.h:
18444 * platform/qt/PlatformScrollBarQt.cpp:
18445 (WebCore::PlatformScrollbar::PlatformScrollbar):
18446 (WebCore::scrollbarPart):
18447 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
18448 (WebCore::PlatformScrollbar::handleMouseOutEvent):
18449 (WebCore::PlatformScrollbar::handleMousePressEvent):
18450 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
18451 * platform/qt/ScrollViewQt.cpp:
18452 (WebCore::ScrollView::scrollbarUnderMouse):
18453 (WebCore::ScrollView::wheelEvent):
18454 * platform/win/PlatformScrollBar.h:
18455 * platform/win/PlatformScrollBarSafari.cpp:
18456 (WebCore::PlatformScrollbar::PlatformScrollbar):
18457 * platform/win/PlatformScrollBarWin.cpp:
18458 (WebCore::PlatformScrollbar::PlatformScrollbar):
18459 * platform/win/ScrollViewWin.cpp:
18460 (WebCore::ScrollView::scrollbarUnderMouse):
18461 * rendering/HitTestResult.cpp:
18462 (WebCore::HitTestResult::setScrollbar):
18463 * rendering/HitTestResult.h:
18464 (WebCore::HitTestResult::scrollbar):
18465 * rendering/RenderLayer.cpp:
18466 (WebCore::RenderLayer::hitTestOverflowControls):
18467 * rendering/RenderLayer.h:
18468 * rendering/RenderListBox.h:
18470 2008-09-12 Steve Falkenburg <sfalken@apple.com>
18474 * css/CSSStyleSelector.cpp:
18475 (WebCore::getTransformOperationType):
18477 2008-09-12 Chris Marrin <cmarrin@apple.com>
18479 Reviewed by Dave Hyatt.
18481 Make transform animation behavior match spec
18482 https://bugs.webkit.org/show_bug.cgi?id=20770
18484 Tests: transitions/transform-op-list-match.html
18485 transitions/transform-op-list-no-match.html
18487 * css/CSSStyleSelector.cpp:
18488 * css/CSSStyleSelector.h:
18489 * page/animation/AnimationBase.cpp:
18490 * page/animation/AnimationBase.h:
18491 * page/animation/ImplicitAnimation.cpp:
18492 * page/animation/ImplicitAnimation.h:
18493 * page/animation/KeyframeAnimation.cpp:
18494 * page/animation/KeyframeAnimation.h:
18495 * rendering/RenderLayer.cpp:
18496 * rendering/style/RenderStyle.cpp:
18497 * rendering/style/RenderStyle.h:
18499 2008-09-12 Ojan Vafai <ojan@chromium.org>
18501 Properly escape contents of links added to the inspector.
18502 For now, just build the link with the DOM and get the
18503 outerHTML. Eventually, we probably just want to do
18504 this entirely with the DOM.
18506 Reviewed by Timothy Hatcher.
18508 https://bugs.webkit.org/show_bug.cgi?id=20684
18510 * manual-tests/inspector/escape-links.html: Added.
18511 * page/inspector/StylesSidebarPane.js:
18512 * page/inspector/inspector.js:
18513 * page/inspector/utilities.js:
18515 2008-09-12 Adele Peterson <adele@apple.com>
18517 Reviewed by John Sullivan and Kevin McCullough.
18519 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
18521 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
18522 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
18523 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
18525 2008-09-12 Kevin McCullough <kmccullough@apple.com>
18529 Re-introducing the code since it was not the cause of the crash.
18532 * rendering/RenderObject.cpp:
18533 (WebCore::RenderObject::canBeProgramaticallyScrolled):
18534 * rendering/RenderObject.h:
18536 2008-09-12 Chris Marrin <cmarrin@apple.com>
18538 Reviewed by Dave Hyatt.
18540 When changing one animation in a list, don't reset other animations
18541 https://bugs.webkit.org/show_bug.cgi?id=20675
18543 Test: animations/change-one-anim.html
18545 * page/animation/AnimationBase.cpp:
18546 (WebCore::AnimationBase::getNumProperties):
18547 * page/animation/AnimationBase.h:
18548 * page/animation/AnimationController.cpp:
18549 * page/animation/CompositeAnimation.cpp:
18550 (WebCore::CompositeAnimation::updateKeyframeAnimations):
18551 * page/animation/CompositeAnimation.h:
18552 * page/animation/ImplicitAnimation.cpp:
18553 * page/animation/KeyframeAnimation.cpp:
18554 * page/animation/KeyframeAnimation.h:
18555 (WebCore::KeyframeAnimation::setIndex):
18557 2008-09-12 Brady Eidson <beidson@apple.com>
18559 Reviewed by Mitz Pettel
18561 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
18563 * loader/DocumentLoader.cpp:
18564 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
18565 Subresources can never be created from nil data, but there is always a MainResource, whether
18566 or not there's any data. So in the case where the main resource has no data, fake it for the
18567 sake of creating the ArchiveResource.
18569 2008-09-12 Dave Hyatt <hyatt@apple.com>
18571 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
18572 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
18573 Remove all the isWidget and hasPlatformScrollbars guards.
18575 Reviewed by Tim Hatcher
18577 * platform/ScrollBar.h:
18578 * platform/gtk/PlatformScrollBar.h:
18579 * platform/mac/PlatformScrollBar.h:
18580 * platform/qt/PlatformScrollBar.h:
18581 * platform/win/PlatformScrollBar.h:
18582 * platform/win/ScrollViewWin.cpp:
18583 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
18584 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
18585 * platform/wx/PlatformScrollBar.h:
18586 * rendering/RenderLayer.cpp:
18587 (WebCore::RenderLayer::horizontalScrollbarWidget):
18588 (WebCore::RenderLayer::verticalScrollbarWidget):
18589 (WebCore::RenderLayer::createScrollbar):
18590 (WebCore::RenderLayer::destroyScrollbar):
18591 * rendering/RenderListBox.cpp:
18592 (WebCore::RenderListBox::~RenderListBox):
18593 (WebCore::RenderListBox::updateFromElement):
18594 (WebCore::RenderListBox::isPointInOverflowControl):
18596 2008-09-12 Dan Bernstein <mitz@apple.com>
18598 Reviewed by Sam Weinig.
18600 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
18602 * page/animation/AnimationController.cpp:
18603 * page/animation/AnimationController.h:
18604 * page/animation/CompositeAnimation.cpp:
18605 * page/animation/CompositeAnimation.h:
18606 * page/animation/ImplicitAnimation.cpp:
18607 * page/animation/ImplicitAnimation.h:
18608 * page/animation/KeyframeAnimation.cpp:
18609 * page/animation/KeyframeAnimation.h:
18611 2008-09-11 Timothy Hatcher <timothy@apple.com>
18613 Add a renderedImage method to DOMNode to get an image
18614 of the rendering for the node and it's descendants.
18616 <rdar://problem/5849349> Would like API to create
18617 an image for a DOM node
18619 Reviewed by Oliver Hunt.
18621 * bindings/objc/DOM.mm:
18622 (-[DOMNode renderedImage]): Call Frame::nodeImage.
18623 * bindings/objc/DOMPrivate.h:
18625 * page/mac/FrameMac.mm:
18626 (WebCore::Frame::nodeImage):
18628 2008-09-08 Chris Marrin <cmarrin@apple.com>
18630 Reviewed by Dave Hyatt
18632 Need to support comma separated list of key times in keyframes selectors
18633 https://bugs.webkit.org/show_bug.cgi?id=20680
18635 Test: animations/keyframes-comma-separated.html
18637 * css/CSSGrammar.y:
18638 * css/CSSParser.cpp:
18639 (WebCore::CSSParser::createKeyframeRule):
18641 * css/CSSStyleSelector.cpp:
18642 (WebCore::CSSStyleSelector::addKeyframeStyle):
18643 * css/WebKitCSSKeyframeRule.cpp:
18644 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
18645 (WebCore::WebKitCSSKeyframeRule::cssText):
18646 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
18647 * css/WebKitCSSKeyframeRule.h:
18648 (WebCore::WebKitCSSKeyframeRule::keyText):
18649 (WebCore::WebKitCSSKeyframeRule::setKeyText):
18650 (WebCore::WebKitCSSKeyframeRule::getKeys):
18651 * css/WebKitCSSKeyframesRule.cpp:
18652 (WebCore::WebKitCSSKeyframesRule::append):
18653 (WebCore::WebKitCSSKeyframesRule::insertRule):
18654 (WebCore::WebKitCSSKeyframesRule::deleteRule):
18655 (WebCore::WebKitCSSKeyframesRule::findRule):
18656 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
18657 * css/WebKitCSSKeyframesRule.h:
18658 * page/animation/AnimationBase.cpp:
18659 (WebCore::AnimationBase::blendProperties):
18661 2008-09-11 Kevin McCullough <kmccullough@apple.com>
18665 Reverting because this caused a crash.
18667 * rendering/RenderObject.cpp:
18668 (WebCore::RenderObject::canBeProgramaticallyScrolled):
18669 (WebCore::RenderObject::hasScrollableView):
18670 * rendering/RenderObject.h:
18672 2008-09-11 Dean Jackson <dino@apple.com>
18674 Reviewed by Dan Bernstein.
18676 Fix assertion on transition property "none"
18677 https://bugs.webkit.org/show_bug.cgi?id=20751
18679 Test: transitions/transition-end-event-set-none.html
18681 * page/animation/CompositeAnimation.cpp:
18682 (WebCore::CompositeAnimation::updateTransitions):
18684 2008-09-11 David Smith <catfish.man@gmail.com>
18686 Rubber-stamped by mitzpettel.
18688 Remove an accidentally added extra file.
18690 * WebCore: Removed.
18692 2008-09-11 David Smith <catfish.man@gmail.com>
18696 https://bugs.webkit.org/show_bug.cgi?id=20180
18698 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.
18700 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
18701 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
18702 * dom/Element.cpp: include NodeRenderStyle.h
18703 * dom/Node.cpp: Remove the definition of renderStyle()
18704 (WebCore::Node::nonRendererRenderStyle):
18705 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
18706 * dom/NodeRenderStyle.h: Added.
18707 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
18708 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
18709 * html/HTMLOptGroupElement.h:
18710 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
18711 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
18712 * html/HTMLOptionElement.h:
18713 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
18714 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
18715 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
18716 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
18718 2008-09-11 Kevin McCullough <kmccullough@apple.com>
18720 Reviewed by Adele and Tim.
18722 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
18723 Inspector does not scroll to the line of the results (20167)
18724 - This was put in by Max to fix auto scrolling but is not correct for
18725 the whole web: rdar://problem/6213098
18727 * rendering/RenderObject.cpp:
18728 (WebCore::RenderObject::canBeProgramaticallyScrolled):
18729 * rendering/RenderObject.h:
18731 2008-09-11 Chris Fleizach <cfleizach@apple.com>
18733 Reviewed by Beth Dakin
18735 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
18737 Test: accessibility/frame-with-title.html
18739 * page/AccessibilityRenderObject.cpp:
18740 (WebCore::AccessibilityRenderObject::accessibilityDescription):
18742 2008-09-11 Dirk Schulze <vbs85@gmx.de>
18746 Fixed stroke() and strokeRect() to support gradients
18747 and patterns on Qt.
18749 [Qt] Canvas stroke don't work for gradients and patterns
18750 [https://bugs.webkit.org/show_bug.cgi?id=20749]
18752 * platform/graphics/qt/GraphicsContextQt.cpp:
18753 (WebCore::GraphicsContext::strokePath):
18754 (WebCore::GraphicsContext::strokeRect):
18756 2008-09-11 Dirk Schulze <vbs85@gmx.de>
18760 https://bugs.webkit.org/show_bug.cgi?id=20729
18762 Fixed canvas gradients for Qt
18764 [Qt] Canvas gradients don't work as expected
18765 [https://bugs.webkit.org/show_bug.cgi?id=20729]
18767 * platform/graphics/qt/GradientQt.cpp:
18768 (WebCore::Gradient::platformGradient):
18770 2008-09-11 Dirk Schulze <vbs85@gmx.de>
18774 https://bugs.webkit.org/show_bug.cgi?id=20568
18776 Add support for patterns to Qt.
18778 * platform/graphics/qt/PatternQt.cpp:
18779 (WebCore::Pattern::createPlatformPattern):
18781 2008-09-10 Dan Bernstein <mitz@apple.com>
18783 Reviewed by Sam Weinig.
18785 - clean up AnimationBase
18787 * page/animation/AnimationBase.cpp:
18788 * page/animation/AnimationBase.h:
18789 * page/animation/CompositeAnimation.cpp:
18790 * page/animation/ImplicitAnimation.cpp:
18791 * page/animation/ImplicitAnimation.h:
18792 * page/animation/KeyframeAnimation.cpp:
18793 * page/animation/KeyframeAnimation.h:
18795 2008-09-10 Alexey Proskuryakov <ap@webkit.org>
18797 Reviewed by Darin Adler.
18799 https://bugs.webkit.org/show_bug.cgi?id=20741
18800 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
18802 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
18803 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
18804 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
18806 I also found and fixed a potential crasher for non-Mac ports.
18808 Tests: fast/encoding/hebrew/8859-8-e.html
18809 fast/encoding/hebrew/8859-8-i.html
18810 fast/encoding/hebrew/8859-8.html
18811 fast/encoding/hebrew/csISO88598I.html
18812 fast/encoding/hebrew/hebrew.html
18813 fast/encoding/hebrew/iso-ir-138.html
18814 fast/encoding/hebrew/logical.html
18816 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
18817 (case-insensitively, because different versions of ICU report this MIME name in different
18820 * platform/text/TextCodecICU.cpp:
18821 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
18822 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
18823 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
18824 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
18825 we also support these via TEC (which we should stop doing), but on Windows, this would
18828 2008-09-09 Dave Hyatt <hyatt@apple.com
18830 Resurrect PlatformScrollbarWin.
18832 Reviewed by Adam Roben
18834 * WebCore.vcproj/WebCore.vcproj:
18835 * platform/win/PlatformScrollBarWin.cpp:
18836 (WebCore::isRunningOnVistaOrLater):
18837 (WebCore::checkAndInitScrollbarTheme):
18838 (WebCore::PlatformScrollbar::PlatformScrollbar):
18839 (WebCore::PlatformScrollbar::invalidateTrack):
18840 (WebCore::PlatformScrollbar::invalidatePart):
18841 (WebCore::PlatformScrollbar::paint):
18842 (WebCore::PlatformScrollbar::hasButtons):
18843 (WebCore::PlatformScrollbar::hasThumb):
18844 (WebCore::PlatformScrollbar::backButtonRect):
18845 (WebCore::PlatformScrollbar::forwardButtonRect):
18846 (WebCore::PlatformScrollbar::trackRect):
18847 (WebCore::PlatformScrollbar::gripperRect):
18848 (WebCore::PlatformScrollbar::thumbLength):
18849 (WebCore::PlatformScrollbar::paintButton):
18850 (WebCore::PlatformScrollbar::paintTrack):
18851 (WebCore::PlatformScrollbar::paintThumb):
18852 (WebCore::PlatformScrollbar::paintGripper):
18853 (WebCore::PlatformScrollbar::hitTest):
18854 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
18855 (WebCore::PlatformScrollbar::handleMouseOutEvent):
18856 (WebCore::PlatformScrollbar::themeChanged):
18858 2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
18860 Reviewed by Maciej Stachowiak.
18862 Bug 20759: Remove MacroAssembler
18863 <https://bugs.webkit.org/show_bug.cgi?id=20759>
18865 Make the necessary changes to ForwardingHeaders to remove
18868 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
18869 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
18870 * ForwardingHeaders/masm/X86Assembler.h: Added.
18872 2008-09-09 Alp Toker <alp@nuanti.com>
18874 Reviewed by Dave Hyatt.
18876 https://bugs.webkit.org/show_bug.cgi?id=16792
18877 [GTK] Fails to render Japanese/Chinese text with simple path
18879 https://bugs.webkit.org/show_bug.cgi?id=16942
18880 [GTK] Oddities in font selection and fall back
18882 https://bugs.webkit.org/show_bug.cgi?id=16862
18883 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
18885 GTK+ font fixes and enhancements.
18887 Implement font fallback for the simple FontConfig-based text path and
18888 improve the Pango-based complex text path to make use of requested
18889 font properties and available font selection.
18891 Add text shadow support to the complex path.
18893 * platform/graphics/gtk/FontCacheGtk.cpp:
18894 (WebCore::FontCache::getFontDataForCharacters):
18895 (WebCore::FontCache::getSimilarFontPlatformData):
18896 * platform/graphics/gtk/FontGtk.cpp:
18897 (WebCore::setPangoAttributes):
18898 (WebCore::Font::drawComplexText):
18899 (WebCore::getDefaultPangoLayout):
18900 (WebCore::Font::floatWidthForComplexText):
18901 (WebCore::Font::offsetForPositionForComplexText):
18902 (WebCore::Font::selectionRectForComplexText):
18903 * platform/graphics/gtk/FontPlatformData.h:
18904 (WebCore::FontPlatformData::FontPlatformData):
18905 (WebCore::FontPlatformData::hash):
18906 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
18907 (WebCore::FontPlatformData::FontPlatformData):
18908 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
18909 (WebCore::SimpleFontData::platformDestroy):
18911 2008-09-09 Dave Hyatt <hyatt@apple.com>
18913 Make the Windows classic case work again. Overlap in slider constants and other constants broke
18914 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
18915 value to make sure it's really a slider thumb to resolve this conflict.
18917 Reviewed by Adam Roben
18919 * rendering/RenderThemeWin.cpp:
18920 (WebCore::drawControl):
18922 2008-09-05 Chris Marrin <cmarrin@apple.com>
18924 Reviewed by Sam Weinig.
18926 Need to handle the case when 0% or 100% keyframe is omitted
18927 https://bugs.webkit.org/show_bug.cgi?id=20679
18929 Tests: animations/keyframes-from-missing.html
18930 animations/keyframes-to-missing.html
18932 * css/CSSStyleSelector.cpp:
18933 (WebCore::CSSStyleSelector::addKeyframeStyle):
18935 2008-09-09 Dave Hyatt <hyatt@apple.com>
18937 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
18938 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
18939 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
18940 what changes have been made as compared with the old RenderThemeWin).
18942 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
18943 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
18944 vs. printer advancement rounding).
18946 Reviewed by Adam/Sam
18948 * css/CSSStyleSelector.cpp:
18949 (WebCore::CSSStyleSelector::applyProperty):
18950 * platform/graphics/Icon.h:
18951 (WebCore::Icon::create):
18952 * rendering/RenderThemeWin.cpp:
18953 (WebCore::RenderThemeWin::RenderThemeWin):
18954 (WebCore::RenderThemeWin::~RenderThemeWin):
18955 (WebCore::RenderThemeWin::buttonTheme):
18956 (WebCore::RenderThemeWin::textFieldTheme):
18957 (WebCore::RenderThemeWin::menuListTheme):
18958 (WebCore::RenderThemeWin::sliderTheme):
18959 (WebCore::RenderThemeWin::close):
18960 (WebCore::RenderThemeWin::themeChanged):
18961 (WebCore::RenderThemeWin::supportsHover):
18962 (WebCore::fillFontDescription):
18963 (WebCore::RenderThemeWin::systemFont):
18964 (WebCore::RenderThemeWin::supportsFocus):
18965 (WebCore::RenderThemeWin::determineClassicState):
18966 (WebCore::RenderThemeWin::determineState):
18967 (WebCore::RenderThemeWin::determineSliderThumbState):
18968 (WebCore::RenderThemeWin::getClassicThemeData):
18969 (WebCore::RenderThemeWin::getThemeData):
18970 (WebCore::drawControl):
18971 (WebCore::RenderThemeWin::paintButton):
18972 (WebCore::RenderThemeWin::paintTextField):
18973 (WebCore::RenderThemeWin::paintMenuList):
18974 (WebCore::RenderThemeWin::adjustMenuListStyle):
18975 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
18976 (WebCore::RenderThemeWin::paintMenuListButton):
18977 (WebCore::RenderThemeWin::paintSliderTrack):
18978 (WebCore::RenderThemeWin::paintSliderThumb):
18979 (WebCore::RenderThemeWin::adjustSliderThumbSize):
18980 (WebCore::RenderThemeWin::paintSearchField):
18981 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
18982 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
18983 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
18984 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
18985 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
18986 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
18987 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
18988 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
18989 * rendering/RenderThemeWin.h:
18990 (WebCore::ThemeData::ThemeData):
18991 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
18992 (WebCore::RenderThemeWin::adjustButtonStyle):
18993 (WebCore::RenderThemeWin::adjustTextFieldStyle):
18994 (WebCore::RenderThemeWin::adjustTextAreaStyle):
18996 2008-09-09 Dean Jackson <dino@apple.com>
18998 Reviewed by Sam Weinig.
19000 Document::createEvent missing cases for animation and
19002 https://bugs.webkit.org/show_bug.cgi?id=20734
19004 Test: transitions/transition-end-event-create.html
19005 Test: animations/animation-events-create.html
19007 * dom/Document.cpp:
19008 (WebCore::Document::createEvent):
19009 - add the two cases
19011 2008-09-09 Dan Bernstein <mitz@apple.com>
19015 * WebCore.Tiger.exp:
19016 * WebCore.base.exp:
19017 * platform/mac/WebCoreSystemInterface.h:
19018 * platform/mac/WebCoreSystemInterface.mm:
19020 2008-09-09 Dan Bernstein <mitz@apple.com>
19022 Reviewed by Darin Adler.
19024 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
19026 * WebCore.Tiger.exp:
19027 * WebCore.base.exp:
19028 * platform/graphics/SimpleFontData.h:
19029 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
19030 (WebCore::GlyphPage::fill):
19031 * platform/graphics/mac/SimpleFontDataMac.mm:
19032 (WebCore::initFontData):
19033 (WebCore::SimpleFontData::platformInit):
19034 (WebCore::SimpleFontData::platformDestroy):
19035 * platform/mac/WebCoreSystemInterface.h:
19036 * platform/mac/WebCoreSystemInterface.mm:
19038 2008-09-09 Kevin McCullough <kmccullough@apple.com>
19042 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
19043 breakpoints inside eval.
19045 * page/inspector/inspector.js:
19047 2008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
19051 Fix compilation of the Qt port with disabled plugins on Windows
19054 * plugins/PluginView.cpp:
19055 (WebCore::PluginView::PluginView):
19056 * plugins/PluginView.h:
19058 2008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
19060 Reviewed by Alexey Proskuryakov.
19062 Try MIME charset names before trying IANA names
19063 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
19065 With this change, shorter and more widely used names (preferred MIME
19066 names) are returned by document.charset, document.characterSet,
19067 document.inputEncoding rather than IANA names. This helps
19068 fixing bug 18085 in addition to web developers who are more familiar
19069 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
19070 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
19071 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
19072 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
19073 used, the former is still recognized as aliases to the latter so that
19074 there's very little, if any, to worry about.
19076 * platform/text/TextCodecICU.cpp:
19077 (WebCore::TextCodecICU::registerExtendedEncodingNames):
19079 2008-09-08 Sam Weinig <sam@webkit.org>
19081 Reviewed by Maciej Stachowiak and Oliver Hunt.
19083 Add forwarding headers.
19085 * ForwardingHeaders/wtf/HashFunctions.h: Added.
19087 2008-09-05 Dean Jackson <dino@apple.com>
19089 Reviewed by Dan Bernstein.
19091 Update grammar so that we can add a keyframe rule via the DOM.
19092 https://bugs.webkit.org/show_bug.cgi?id=20613
19094 * css/CSSGrammar.y:
19095 * css/tokenizer.flex:
19097 2008-09-08 Antti Koivisto <antti@apple.com>
19099 Reviewed by Dan Bernstein.
19101 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
19102 actually show up in any of the default stylesheets.
19104 * css/CSSStyleSelector.cpp:
19105 (WebCore::elementCanUseSimpleDefaultStyle):
19107 2008-09-08 Dimitri Glazkov <dglazkov@google.com>
19109 Reviewed by Dan Bernstein.
19111 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
19112 Zero width and space characters are displayed incorrectly if not contained in a fallback font
19114 Adds an extra check for Object Replacement Character (U+FFFC) to address
19115 the issue with fast/text/zero-width-characters.html test when run
19116 with Windows system default fonts.
19118 * platform/graphics/Font.h:
19119 (WebCore::Font::treatAsZeroWidthSpace):
19121 2008-09-08 Dean Jackson <dino@apple.com>
19123 Reviewed by Sam Weinig.
19125 Code style issue I forgot to fix from previous commit.
19127 * platform/graphics/AffineTransform.cpp:
19128 (WebCore::AffineTransform::blend):
19130 2008-09-08 Chris Marrin <cmarrin@apple.com>
19132 Reviewed by Sam Weinig
19134 - Animation of -webkit-transform matrix() function should not do linear interpolation
19135 https://bugs.webkit.org/show_bug.cgi?id=20667
19137 Test: animations/matrix-anim.html
19140 * platform/graphics/AffineTransform.cpp:
19141 (WebCore::affineTransformDecompose):
19142 (WebCore::affineTransformCompose):
19143 (WebCore::AffineTransform::blend):
19144 * platform/graphics/AffineTransform.h:
19145 * rendering/style/RenderStyle.cpp:
19146 (WebCore::MatrixTransformOperation::blend):
19148 2008-09-08 Alexey Proskuryakov <ap@webkit.org>
19150 Reviewed by Darin Adler.
19152 https://bugs.webkit.org/show_bug.cgi?id=20668
19153 multipart/form-data does not always include Content-type for submitted files
19155 Cannot be tested with DRT or manual tests.
19157 * platform/MIMETypeRegistry.cpp:
19158 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
19159 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
19160 unknown extensions, not just missing ones.
19162 2008-09-08 Simon Hausmann <hausmann@webkit.org>
19164 Build fix for the Qt/Windows build, define USE_JSC to
19165 enable the WebCore::String -> JSC::UString operator that
19166 MSVC insists on seeing
19170 2008-09-08 Anders Carlsson <andersca@apple.com>
19172 Reviewed by Maciej.
19174 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
19176 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
19177 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
19179 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
19181 * bindings/js/JSDOMWindowBase.h:
19182 * loader/FrameLoader.cpp:
19183 (WebCore::FrameLoader::commitProvisionalLoad):
19185 2008-09-07 Antti Koivisto <antti@apple.com>
19187 Reviewed by Dave Hyatt.
19189 Don't leak the simple stylesheet.
19190 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
19192 * css/CSSStyleSelector.cpp:
19193 (WebCore::loadFullDefaultStyle):
19194 (WebCore::loadSimpleDefaultStyle):
19195 (WebCore::CSSStyleSelector::styleForElement):
19197 2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
19199 Reviewed by Oliver Hunt.
19201 Bug 20711: Change KJS prefix on preprocessor macros to JSC
19202 <https://bugs.webkit.org/show_bug.cgi?id=20711>
19204 * bindings/js/JSEventTargetBase.h:
19205 * bindings/js/JSHTMLInputElementBase.cpp:
19206 * bindings/js/JSHTMLInputElementBase.h:
19207 * bindings/scripts/CodeGeneratorJS.pm:
19209 2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
19211 Reviewed by Maciej Stachowiak.
19213 Bug 20704: Replace the KJS namespace
19214 <https://bugs.webkit.org/show_bug.cgi?id=20704>
19216 Rename the KJS namespace to JSC. There are still some uses of KJS in the
19217 names of JNI functions, and I will check if these are safe to change
19220 * WebCore.base.exp:
19221 * bindings/js/GCController.cpp:
19222 * bindings/js/JSAttrCustom.cpp:
19223 * bindings/js/JSAudioConstructor.cpp:
19224 * bindings/js/JSAudioConstructor.h:
19225 (WebCore::JSAudioConstructor::classInfo):
19226 * bindings/js/JSCSSRuleCustom.cpp:
19227 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
19228 * bindings/js/JSCSSValueCustom.cpp:
19229 * bindings/js/JSCanvasPixelArrayCustom.cpp:
19230 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
19231 * bindings/js/JSClipboardCustom.cpp:
19232 * bindings/js/JSConsoleCustom.cpp:
19233 * bindings/js/JSCustomSQLStatementCallback.cpp:
19234 (WebCore::JSCustomSQLStatementCallback::handleEvent):
19235 * bindings/js/JSCustomSQLStatementCallback.h:
19236 (WebCore::JSCustomSQLStatementCallback::create):
19237 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
19238 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
19239 * bindings/js/JSCustomSQLStatementErrorCallback.h:
19240 (WebCore::JSCustomSQLStatementErrorCallback::create):
19241 * bindings/js/JSCustomSQLTransactionCallback.cpp:
19242 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
19243 * bindings/js/JSCustomSQLTransactionCallback.h:
19244 (WebCore::JSCustomSQLTransactionCallback::create):
19245 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
19246 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
19247 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
19248 (WebCore::JSCustomSQLTransactionErrorCallback::create):
19249 * bindings/js/JSCustomVoidCallback.cpp:
19250 (WebCore::JSCustomVoidCallback::handleEvent):
19251 * bindings/js/JSCustomVoidCallback.h:
19252 (WebCore::JSCustomVoidCallback::create):
19253 * bindings/js/JSCustomXPathNSResolver.cpp:
19254 (WebCore::JSCustomXPathNSResolver::create):
19255 * bindings/js/JSCustomXPathNSResolver.h:
19256 * bindings/js/JSDOMApplicationCacheCustom.cpp:
19257 (WebCore::JSDOMApplicationCache::dispatchEvent):
19258 * bindings/js/JSDOMBinding.cpp:
19259 (WebCore::jsOwnedStringOrNull):
19260 * bindings/js/JSDOMBinding.h:
19261 (WebCore::DOMObject::DOMObject):
19262 (WebCore::cacheDOMObject):
19263 (WebCore::cacheSVGDOMObject):
19264 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
19266 * bindings/js/JSDOMWindowBase.cpp:
19267 * bindings/js/JSDOMWindowBase.h:
19268 (WebCore::JSDOMWindowBase::classInfo):
19269 (WebCore::JSDOMWindowBase::d):
19270 * bindings/js/JSDOMWindowCustom.cpp:
19271 (WebCore::JSDOMWindow::getPropertyAttributes):
19272 * bindings/js/JSDOMWindowCustom.h:
19273 (WebCore::asJSDOMWindow):
19274 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
19275 (WebCore::JSDOMWindow::customPut):
19276 (WebCore::JSDOMWindowBase::allowsAccessFrom):
19277 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
19278 * bindings/js/JSDOMWindowShell.cpp:
19279 (WebCore::JSDOMWindowShell::getPropertyAttributes):
19280 * bindings/js/JSDOMWindowShell.h:
19281 (WebCore::JSDOMWindowShell::classInfo):
19282 * bindings/js/JSDatabaseCustom.cpp:
19283 * bindings/js/JSDocumentCustom.cpp:
19284 * bindings/js/JSDocumentFragmentCustom.cpp:
19285 * bindings/js/JSElementCustom.cpp:
19286 * bindings/js/JSEventCustom.cpp:
19287 * bindings/js/JSEventListener.cpp:
19288 * bindings/js/JSEventListener.h:
19289 (WebCore::JSUnprotectedEventListener::create):
19290 (WebCore::JSEventListener::create):
19291 * bindings/js/JSEventTargetBase.cpp:
19292 * bindings/js/JSEventTargetBase.h:
19293 (WebCore::JSEventTargetBase::getValueProperty):
19294 (WebCore::JSEventTargetBase::putValueProperty):
19295 (WebCore::JSEventTargetBase::getOwnPropertySlot):
19296 (WebCore::JSEventTargetBase::put):
19297 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
19298 (WebCore::JSEventTargetPrototype::self):
19299 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
19300 (WebCore::JSEventTargetPrototype::classInfo):
19301 * bindings/js/JSEventTargetNode.cpp:
19302 * bindings/js/JSEventTargetNode.h:
19303 (WebCore::JSEventTargetNode::getOwnPropertySlot):
19304 (WebCore::JSEventTargetNode::getValueProperty):
19305 (WebCore::JSEventTargetNode::put):
19306 (WebCore::JSEventTargetNode::putValueProperty):
19307 * bindings/js/JSHTMLAllCollection.h:
19308 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
19309 (WebCore::JSHTMLAllCollection::toBoolean):
19310 * bindings/js/JSHTMLAppletElementCustom.cpp:
19311 * bindings/js/JSHTMLCollectionCustom.cpp:
19312 * bindings/js/JSHTMLDocumentCustom.cpp:
19313 * bindings/js/JSHTMLElementCustom.cpp:
19314 * bindings/js/JSHTMLEmbedElementCustom.cpp:
19315 * bindings/js/JSHTMLFormElementCustom.cpp:
19316 * bindings/js/JSHTMLFrameElementCustom.cpp:
19317 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
19318 * bindings/js/JSHTMLIFrameElementCustom.cpp:
19319 * bindings/js/JSHTMLInputElementBase.cpp:
19320 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
19321 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
19322 * bindings/js/JSHTMLInputElementBase.h:
19323 (WebCore::JSHTMLInputElementBase::classInfo):
19324 * bindings/js/JSHTMLObjectElementCustom.cpp:
19325 * bindings/js/JSHTMLOptionElementConstructor.cpp:
19326 * bindings/js/JSHTMLOptionElementConstructor.h:
19327 (WebCore::JSHTMLOptionElementConstructor::classInfo):
19328 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
19329 * bindings/js/JSHTMLSelectElementCustom.cpp:
19330 (WebCore::selectIndexSetter):
19331 (WebCore::JSHTMLSelectElement::indexSetter):
19332 * bindings/js/JSHTMLSelectElementCustom.h:
19333 * bindings/js/JSHistoryCustom.cpp:
19334 * bindings/js/JSImageConstructor.cpp:
19335 * bindings/js/JSImageConstructor.h:
19336 (WebCore::JSImageConstructor::classInfo):
19337 * bindings/js/JSInspectedObjectWrapper.cpp:
19338 * bindings/js/JSInspectedObjectWrapper.h:
19339 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
19340 (WebCore::JSInspectedObjectWrapper::classInfo):
19341 * bindings/js/JSInspectorCallbackWrapper.cpp:
19342 * bindings/js/JSInspectorCallbackWrapper.h:
19343 (WebCore::JSInspectorCallbackWrapper::classInfo):
19344 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
19345 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
19346 * bindings/js/JSLocationCustom.cpp:
19347 * bindings/js/JSMimeTypeArrayCustom.cpp:
19348 * bindings/js/JSNSResolver.cpp:
19349 * bindings/js/JSNSResolver.h:
19350 (WebCore::JSNSResolver::create):
19351 * bindings/js/JSNamedNodeMapCustom.cpp:
19352 * bindings/js/JSNamedNodesCollection.cpp:
19353 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
19354 * bindings/js/JSNamedNodesCollection.h:
19355 (WebCore::JSNamedNodesCollection::classInfo):
19356 * bindings/js/JSNavigatorCustom.cpp:
19357 * bindings/js/JSNodeCustom.cpp:
19358 * bindings/js/JSNodeFilterCondition.cpp:
19359 (WebCore::JSNodeFilterCondition::acceptNode):
19360 * bindings/js/JSNodeFilterCondition.h:
19361 (WebCore::JSNodeFilterCondition::create):
19362 * bindings/js/JSNodeFilterCustom.cpp:
19363 * bindings/js/JSNodeIteratorCustom.cpp:
19364 * bindings/js/JSNodeListCustom.cpp:
19365 * bindings/js/JSPluginArrayCustom.cpp:
19366 * bindings/js/JSPluginCustom.cpp:
19367 * bindings/js/JSPluginElementFunctions.cpp:
19368 (WebCore::getRuntimeObject):
19369 * bindings/js/JSPluginElementFunctions.h:
19370 * bindings/js/JSQuarantinedObjectWrapper.cpp:
19371 (WebCore::JSQuarantinedObjectWrapper::construct):
19372 (WebCore::JSQuarantinedObjectWrapper::call):
19373 * bindings/js/JSQuarantinedObjectWrapper.h:
19374 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
19375 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
19376 (WebCore::JSQuarantinedObjectWrapper::className):
19377 * bindings/js/JSRGBColor.cpp:
19378 * bindings/js/JSRGBColor.h:
19379 (WebCore::JSRGBColor::classInfo):
19380 * bindings/js/JSSQLResultSetRowListCustom.cpp:
19381 * bindings/js/JSSQLTransactionCustom.cpp:
19382 * bindings/js/JSSVGLazyEventListener.cpp:
19383 * bindings/js/JSSVGLazyEventListener.h:
19384 * bindings/js/JSSVGLengthCustom.cpp:
19385 * bindings/js/JSSVGMatrixCustom.cpp:
19386 (WebCore::JSSVGMatrix::inverse):
19387 (WebCore::JSSVGMatrix::rotateFromVector):
19388 * bindings/js/JSSVGPathSegCustom.cpp:
19389 * bindings/js/JSSVGPathSegListCustom.cpp:
19390 (WebCore::JSSVGPathSegList::initialize):
19391 (WebCore::JSSVGPathSegList::getItem):
19392 (WebCore::JSSVGPathSegList::insertItemBefore):
19393 (WebCore::JSSVGPathSegList::replaceItem):
19394 (WebCore::JSSVGPathSegList::removeItem):
19395 (WebCore::JSSVGPathSegList::appendItem):
19396 * bindings/js/JSSVGPointListCustom.cpp:
19397 * bindings/js/JSSVGTransformListCustom.cpp:
19398 * bindings/js/JSStorageCustom.cpp:
19399 * bindings/js/JSStyleSheetCustom.cpp:
19400 * bindings/js/JSStyleSheetListCustom.cpp:
19401 * bindings/js/JSTextCustom.cpp:
19402 * bindings/js/JSTreeWalkerCustom.cpp:
19403 * bindings/js/JSXMLHttpRequestConstructor.cpp:
19404 * bindings/js/JSXMLHttpRequestConstructor.h:
19405 (WebCore::JSXMLHttpRequestConstructor::classInfo):
19406 * bindings/js/JSXMLHttpRequestCustom.cpp:
19407 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
19408 * bindings/js/JSXSLTProcessorConstructor.cpp:
19409 * bindings/js/JSXSLTProcessorConstructor.h:
19410 (WebCore::JSXSLTProcessorConstructor::classInfo):
19411 * bindings/js/JSXSLTProcessorCustom.cpp:
19412 * bindings/js/ScheduledAction.cpp:
19413 * bindings/js/ScheduledAction.h:
19414 * bindings/js/ScriptController.cpp:
19415 (WebCore::ScriptController::attachDebugger):
19416 (WebCore::ScriptController::windowScriptNPObject):
19417 * bindings/js/ScriptController.h:
19418 * bindings/js/ScriptControllerGtk.cpp:
19419 (WebCore::ScriptController::createScriptInstanceForWidget):
19420 * bindings/js/ScriptControllerMac.mm:
19421 (WebCore::ScriptController::createScriptInstanceForWidget):
19422 (WebCore::ScriptController::windowScriptObject):
19423 (WebCore::ScriptController::clearPlatformScriptObjects):
19424 (WebCore::updateRenderingForBindings):
19425 (WebCore::ScriptController::initJavaJSBindings):
19426 * bindings/js/ScriptControllerQt.cpp:
19427 (WebCore::ScriptController::createScriptInstanceForWidget):
19428 * bindings/js/ScriptControllerWin.cpp:
19429 (WebCore::ScriptController::createScriptInstanceForWidget):
19430 * bindings/js/ScriptControllerWx.cpp:
19431 (WebCore::ScriptController::createScriptInstanceForWidget):
19432 * bindings/js/StringSourceProvider.h:
19433 (WebCore::StringSourceProvider::getRange):
19434 * bindings/objc/DOM.mm:
19435 (-[DOMNode JSC::Bindings::]):
19436 * bindings/objc/DOMInternal.h:
19437 * bindings/objc/DOMInternal.mm:
19438 (-[WebScriptObject _initializeScriptDOMNodeImp]):
19439 * bindings/objc/DOMUtility.mm:
19440 (JSC::createDOMWrapper):
19441 (WebCore::createDOMWrapper):
19442 * bindings/objc/WebScriptObject.mm:
19443 (WebCore::createJSWrapper):
19444 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
19445 * bindings/objc/WebScriptObjectPrivate.h:
19446 * bindings/scripts/CodeGeneratorJS.pm:
19447 * bridge/NP_jsobject.cpp:
19448 * bridge/NP_jsobject.h:
19449 * bridge/c/c_class.cpp:
19450 * bridge/c/c_class.h:
19451 * bridge/c/c_instance.cpp:
19452 * bridge/c/c_instance.h:
19453 * bridge/c/c_runtime.cpp:
19454 * bridge/c/c_runtime.h:
19455 * bridge/c/c_utility.cpp:
19456 * bridge/c/c_utility.h:
19457 * bridge/jni/jni_class.cpp:
19458 * bridge/jni/jni_class.h:
19459 * bridge/jni/jni_instance.cpp:
19460 * bridge/jni/jni_instance.h:
19461 * bridge/jni/jni_jsobject.h:
19462 * bridge/jni/jni_jsobject.mm:
19463 (JavaJSObject::call):
19464 (JavaJSObject::convertJObjectToValue):
19465 * bridge/jni/jni_objc.mm:
19466 (JSC::Bindings::dispatchJNICall):
19467 * bridge/jni/jni_runtime.cpp:
19468 * bridge/jni/jni_runtime.h:
19469 * bridge/jni/jni_utility.cpp:
19470 * bridge/jni/jni_utility.h:
19471 * bridge/npruntime.cpp:
19472 (_NPN_GetStringIdentifier):
19473 * bridge/objc/WebScriptObject.h:
19474 * bridge/objc/objc_class.h:
19475 * bridge/objc/objc_class.mm:
19476 * bridge/objc/objc_instance.h:
19477 * bridge/objc/objc_instance.mm:
19478 * bridge/objc/objc_runtime.h:
19479 * bridge/objc/objc_runtime.mm:
19480 * bridge/objc/objc_utility.h:
19481 * bridge/objc/objc_utility.mm:
19482 * bridge/qt/qt_class.cpp:
19483 * bridge/qt/qt_class.h:
19484 * bridge/qt/qt_instance.cpp:
19485 * bridge/qt/qt_instance.h:
19486 * bridge/qt/qt_runtime.cpp:
19487 (JSC::Bindings::convertQVariantToValue):
19489 * bridge/qt/qt_runtime.h:
19490 * bridge/runtime.cpp:
19491 * bridge/runtime.h:
19492 * bridge/runtime_array.cpp:
19493 * bridge/runtime_array.h:
19494 * bridge/runtime_method.cpp:
19495 * bridge/runtime_method.h:
19496 * bridge/runtime_object.cpp:
19497 * bridge/runtime_object.h:
19498 * bridge/runtime_root.cpp:
19499 (JSC::Bindings::RootObject::invalidate):
19500 (JSC::Bindings::RootObject::gcProtect):
19501 (JSC::Bindings::RootObject::gcUnprotect):
19502 * bridge/runtime_root.h:
19503 * bridge/testbindings.cpp:
19504 * bridge/testbindings.mm:
19505 * bridge/testqtbindings.cpp:
19506 * dom/Document.cpp:
19507 (WebCore::Document::~Document):
19508 * dom/NSResolver.h:
19510 (WebCore::Node::setDocument):
19511 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
19512 (WebCore::resolveNamespacesForSelector):
19513 (WebCore::Node::querySelector):
19514 (WebCore::Node::querySelectorAll):
19516 * dom/NodeFilter.cpp:
19517 * dom/NodeFilter.h:
19518 * dom/NodeFilterCondition.cpp:
19519 * dom/NodeFilterCondition.h:
19520 * dom/NodeIterator.cpp:
19521 * dom/NodeIterator.h:
19522 * dom/Traversal.cpp:
19524 * dom/TreeWalker.cpp:
19525 * dom/TreeWalker.h:
19526 * dom/make_names.pl:
19527 * history/CachedPage.cpp:
19528 * history/CachedPage.h:
19529 * html/HTMLPlugInElement.cpp:
19530 (WebCore::HTMLPlugInElement::getInstance):
19531 * html/HTMLPlugInElement.h:
19532 * loader/FrameLoader.cpp:
19533 * loader/FrameLoader.h:
19534 * loader/icon/IconDatabase.cpp:
19535 (WebCore::iconDatabase):
19536 * page/Console.cpp:
19538 * page/InspectorController.cpp:
19539 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
19540 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
19541 (WebCore::InspectorResource::setXMLHttpRequestProperties):
19542 (WebCore::InspectorResource::sourceString):
19543 (WebCore::getResourceDocumentNode):
19545 (WebCore::InspectorController::focusNode):
19546 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
19547 (WebCore::InspectorController::addDatabaseScriptResource):
19548 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
19549 * page/InspectorController.h:
19550 (WebCore::InspectorController::profiles):
19551 * page/JavaScriptCallFrame.cpp:
19552 (WebCore::JavaScriptCallFrame::scopeChain):
19553 * page/JavaScriptCallFrame.h:
19554 (WebCore::JavaScriptCallFrame::create):
19555 (WebCore::JavaScriptCallFrame::update):
19556 * page/JavaScriptDebugListener.h:
19557 * page/JavaScriptDebugServer.cpp:
19558 (WebCore::dispatchDidParseSource):
19559 * page/JavaScriptDebugServer.h:
19560 * page/JavaScriptProfile.cpp:
19561 * page/JavaScriptProfile.h:
19562 * page/JavaScriptProfileNode.cpp:
19563 (WebCore::getTotalTime):
19564 (WebCore::getSelfTime):
19565 (WebCore::getTotalPercent):
19566 (WebCore::getSelfPercent):
19567 (WebCore::getNumberOfCalls):
19568 (WebCore::getChildren):
19569 (WebCore::getVisible):
19570 * page/JavaScriptProfileNode.h:
19572 (WebCore::Page::setDebuggerForAllPages):
19573 (WebCore::Page::setDebugger):
19575 (WebCore::Page::debugger):
19576 * page/mac/FrameMac.mm:
19578 (WebCore::KURL::operator JSC::UString):
19579 * platform/text/AtomicString.cpp:
19580 (WebCore::AtomicString::add):
19581 (WebCore::AtomicString::find):
19582 * platform/text/AtomicString.h:
19583 (WebCore::AtomicString::AtomicString):
19584 * platform/text/PlatformString.h:
19585 * platform/text/String.cpp:
19586 (WebCore::charactersToDouble):
19587 * platform/win/BString.cpp:
19588 * platform/win/BString.h:
19589 * plugins/MimeTypeArray.h:
19590 * plugins/Plugin.h:
19591 * plugins/PluginArray.h:
19592 * plugins/PluginView.cpp:
19593 (WebCore::PluginView::start):
19594 (WebCore::PluginView::performRequest):
19595 (WebCore::PluginView::bindingInstance):
19596 * plugins/PluginView.h:
19597 * plugins/gtk/PluginViewGtk.cpp:
19598 (WebCore::PluginView::paint):
19599 (WebCore::PluginView::handleKeyboardEvent):
19600 (WebCore::PluginView::handleMouseEvent):
19601 (WebCore::PluginView::setNPWindowRect):
19602 (WebCore::PluginView::stop):
19603 (WebCore::PluginView::init):
19604 * plugins/qt/PluginViewQt.cpp:
19605 (WebCore::PluginView::setNPWindowRect):
19606 (WebCore::PluginView::stop):
19607 (WebCore::PluginView::init):
19608 * plugins/win/PluginViewWin.cpp:
19609 (WebCore::PluginView::dispatchNPEvent):
19610 (WebCore::PluginView::handleKeyboardEvent):
19611 (WebCore::PluginView::handleMouseEvent):
19612 (WebCore::PluginView::setNPWindowRect):
19613 (WebCore::PluginView::stop):
19614 * storage/Database.cpp:
19615 (WebCore::Database::Database):
19616 * xml/XMLHttpRequest.cpp:
19617 (WebCore::XMLHttpRequest::responseText):
19618 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
19619 (WebCore::XMLHttpRequest::clearResponse):
19620 (WebCore::XMLHttpRequest::dropProtection):
19621 (WebCore::XMLHttpRequest::didFinishLoading):
19622 (WebCore::XMLHttpRequest::didReceiveData):
19623 * xml/XMLHttpRequest.h:
19625 2008-09-07 Adam Barth <abarth@webkit.org>
19627 Reviewed by Sam Weinig.
19629 Adopt opener restriction on frame navigation.
19630 https://bugs.webkit.org/show_bug.cgi?id=20642
19632 This restriction helps prevent an attacker from navigating top-level
19633 windows that were created by another web site.
19635 Tests: http/tests/security/frameNavigation/not-opener.html
19636 http/tests/security/frameNavigation/opener.html
19638 * loader/FrameLoader.cpp:
19639 (WebCore::canAccessAncestor):
19640 (WebCore::FrameLoader::shouldAllowNavigation):
19642 2008-09-07 Dan Bernstein <mitz@apple.com>
19644 Reviewed by Maciej Stachowiak.
19646 - use the correct sign for vertical offsets of combining marks
19648 * platform/graphics/win/UniscribeController.cpp:
19649 (WebCore::UniscribeController::shapeAndPlaceItem):
19651 2008-09-07 Dan Bernstein <mitz@apple.com>
19653 Reviewed by Dave Hyatt.
19655 - add the combining mark offsets in two places where I forgot them
19657 * platform/graphics/win/FontCGWin.cpp:
19658 (WebCore::Font::drawGlyphs):
19660 2008-09-07 Dan Bernstein <mitz@apple.com>
19662 Reviewed by Dave Hyatt.
19664 - correct glyph advances in complex text using web fonts rendered with
19667 * platform/graphics/win/FontCustomPlatformData.cpp:
19668 (WebCore::FontCustomPlatformData::fontPlatformData):
19670 2008-09-07 Keishi Hattori <casey.hattori@gmail.com>
19672 Adds console.dirxml support to the Web Inspector.
19674 https://bugs.webkit.org/show_bug.cgi?id=19156
19676 Reviewed by Timothy Hatcher.
19678 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
19679 * bindings/js/JSConsoleCustom.cpp:
19680 (WebCore::JSConsole::dirxml):
19681 * page/Console.cpp:
19682 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
19684 (WebCore::): Added NodeMessageLevel.
19685 * page/Console.idl: Added console.dirxml.
19686 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
19687 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
19688 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
19689 * page/inspector/ElementsTreeOutline.js: Added.
19690 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
19691 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
19692 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
19693 * page/inspector/inspector.css:
19694 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
19695 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
19696 (WebInspector.altKeyDown):
19697 (WebInspector.forceHoverHighlight):
19698 (WebInspector.hoveredDOMNode):
19699 (WebInspector._updateHoverHighlightSoon):
19700 (WebInspector._updateHoverHighlight):
19701 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
19702 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
19703 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
19704 isAncestorIncludingParentFrames.
19706 2008-09-06 Mark Rowe <mrowe@apple.com>
19710 * bridge/qt/qt_runtime.cpp:
19711 (KJS::Bindings::convertQVariantToValue):
19713 === End merge of squirrelfish-extreme ===
19715 2008-09-05 Oliver Hunt <oliver@apple.com>
19717 Start bringing up SFX on windows.
19719 Reviewed by Mark Rowe and Sam Weinig
19721 Start doing the work to bring up SFX on windows. Initially
19722 just working on WREC, as it does not make any calls so reduces
19723 the amount of code that needs to be corrected.
19725 Add forwarding headers
19728 * ForwardingHeaders/masm/MacroAssembler.h: Added.
19729 * WebCore.vcproj/WebCore.vcproj:
19731 2008-08-27 Mark Rowe <mrowe@apple.com>
19733 Reviewed by Oliver Hunt.
19735 Fix the build of the full WebKit stack.
19737 Add forwarding headers.
19739 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
19740 * ForwardingHeaders/wrec/WREC.h: Added.
19742 === Start merge of squirrelfish-extreme ===
19744 2008-09-06 Antti Koivisto <antti@apple.com>
19746 Reviewed by Dave Hyatt.
19748 <rdar://problem/6187043>
19749 Don't parse full HTML user agent style sheet unless it is actually needed
19750 <rdar://problem/6131889>
19751 WebView is significantly more expensive to create recently
19753 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
19754 startup. Some clients may never use most of the rules.
19756 With this patch we use simplified UA stylesheet until we hit something it can't handle.
19757 This avoids full stylesheet parsing on application startup (due to empty document construction)
19758 and also makes it possible for clients with very simple demands (divs and spans only) never to load
19761 It also delays view source style parsing until it is used.
19763 * css/CSSStyleSelector.cpp:
19764 (WebCore::elementCanUseSimpleDefaultStyle):
19765 (WebCore::CSSStyleSelector::CSSStyleSelector):
19766 (WebCore::loadFullDefaultStyle):
19767 (WebCore::loadSimpleDefaultStyle):
19768 (WebCore::loadViewSourceStyle):
19769 (WebCore::CSSStyleSelector::matchUARules):
19770 (WebCore::CSSStyleSelector::styleForElement):
19772 2008-09-06 Kevin Ollivier <kevino@theolliviers.com>
19776 * WebCoreSources.bkl:
19778 2008-09-06 Antti Koivisto <antti@apple.com>
19780 Reverting r35953 which was causing problems on Windows which relies on
19781 WebCore timers in nested event loops. r36132 did alternative fix.
19784 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
19785 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
19787 2008-09-06 Antti Koivisto <antti@apple.com>
19789 Reviewed by Dan Bernstein.
19791 Fix <rdar://problem/6201644>
19792 https://bugs.webkit.org/show_bug.cgi?id=20493
19793 Crash after OK in dialog box and reloading page in secure mode
19795 Limited loader only fix since the general timer fix is causing problems on Windows.
19797 * loader/loader.cpp:
19798 (WebCore::Loader::servePendingRequests):
19799 (WebCore::Loader::Host::Host):
19800 (WebCore::Loader::Host::didFinishLoading):
19801 (WebCore::Loader::Host::didFail):
19802 (WebCore::Loader::Host::didReceiveData):
19804 (WebCore::Loader::Host::processingResource):
19806 2008-09-06 Dan Bernstein <mitz@apple.com>
19808 Reviewed by Dave Hyatt.
19810 The initial Core Text adoption prototype was made by Daniel Fenwick.
19812 - <rdar://problem/5158514> Add a Core Text-based complex text code path
19814 Currently the Core Text code path is not used in any configuration.
19816 * WebCore.xcodeproj/project.pbxproj: Added files.
19817 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
19818 * platform/graphics/Font.cpp:
19819 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
19821 * platform/graphics/GlyphBuffer.h:
19822 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
19823 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
19824 Added getCTFont() and getCFStringAttributes() and corresponding data
19825 members for Core Text.
19826 * platform/graphics/mac/CoreTextController.cpp: Added.
19827 (WebCore::roundCGFloat): Helper function.
19828 (WebCore::ceilCGFloat): Helper function.
19829 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
19830 (WebCore::CoreTextController::CoreTextController):
19831 (WebCore::CoreTextController::offsetForPosition):
19832 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
19833 run into subruns as necessary such that each subrun can be rendered with
19834 a single font. Also separates out soft hyphens and replaces them with
19835 real hyphens, because Core Text does not emit a glyph for soft hyphens.
19836 Then calls collectCoreTextRunsForCharacters() on each subrun.
19837 (WebCore::CoreTextController::advance):
19838 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
19839 a CTLine from the given subrun and collects its CoreTextRuns.
19840 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
19841 rounding hacks, letter- and word-spacing and glyph substitutions and
19842 stores the resulting adjusted glyphs and advances.
19843 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
19844 (WebCore::CoreTextController::totalWidth):
19845 (WebCore::CoreTextController::finalRoundingWidth):
19846 (WebCore::CoreTextController::CoreTextRun::ctRun):
19847 (WebCore::CoreTextController::CoreTextRun::glyphCount):
19848 (WebCore::CoreTextController::CoreTextRun::fontData):
19849 (WebCore::CoreTextController::CoreTextRun::characters):
19850 (WebCore::CoreTextController::CoreTextRun::stringLocation):
19851 (WebCore::CoreTextController::CoreTextRun::stringLength):
19852 (WebCore::CoreTextController::CoreTextRun::indexAt):
19853 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
19855 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
19856 (WebCore::disableLigatures): Changed to call
19857 FontPlatformData::allowsLigatures().
19858 (WebCore::overrideLayoutOperation): Changed to call
19859 FontPlatformData::roundsGlyphAdvances().
19860 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
19861 (WebCore::Font::selectionRectForComplexText): Changed to use
19862 totalWidth() instead of advancing to the end and using runWidthSoFar().
19863 (WebCore::Font::drawComplexText):
19864 (WebCore::Font::floatWidthForComplexText): Ditto.
19865 (WebCore::Font::offsetForPositionForComplexText):
19866 * platform/graphics/mac/FontPlatformData.h:
19867 * platform/graphics/mac/FontPlatformDataMac.mm:
19868 (WebCore::FontPlatformData::setFont):
19869 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
19870 AppKit rendering mode.
19871 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
19872 heuristic that allows ligatures in fonts that do not have a glyph for
19873 'a', based on the assumption that such fonts are only used in complex
19875 * platform/graphics/mac/SimpleFontDataMac.mm:
19876 (WebCore::SimpleFontData::platformInit):
19877 (WebCore::SimpleFontData::platformDestroy):
19878 (WebCore::SimpleFontData::getCTFont): Added.
19879 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
19880 returns an attributes dictionary.
19881 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
19882 * platform/text/mac/ShapeArabic.h: Ditto.
19884 2008-09-06 Dan Bernstein <mitz@apple.com>
19886 Reviewed by Dave Hyatt.
19888 - make combining mark offsets work in CG text on Windows
19890 * platform/graphics/win/FontCGWin.cpp:
19891 (WebCore::Font::drawGlyphs): The old code tried to translate the text
19892 matrix, but failed for two reasons: it did not actually change the
19893 matrix, and even if it did, CGContextSetTextPosition overwrites the
19894 translation values in the text matrix. Instead, just added the
19895 translation to the anchor point.
19897 2008-09-05 Gustavo Noronha Silva <gns@gnome.org>
19899 Reviewed by Alp Toker.
19901 https://bugs.webkit.org/show_bug.cgi?id=18346
19902 [GTK] Remove build warnings
19904 Applied some casts, and removed an unused typedef to make the
19905 compiler happy, printing less warnings when building.
19907 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
19908 * platform/graphics/gtk/SimpleFontDataPango.cpp:
19909 (WebCore::SimpleFontData::containsCharacters):
19910 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
19911 (webkit_video_sink_set_caps):
19912 * platform/network/soup/ResourceHandleSoup.cpp:
19914 2008-09-05 Eric Seidel <eric@webkit.org>
19916 Reviewed by Adam Roben.
19918 Build fix for WebKitWin and Chromium
19920 * platform/FileSystem.h:
19922 2008-09-05 Eric Seidel <eric@webkit.org>
19924 Reviewed by Darin Adler.
19926 Try to make Chromium compile with ToT:
19927 - Wrap a few places which depend on KJS:: in #if USE(JSC)
19928 - Include some windows forward declarations
19932 * page/animation/CompositeAnimation.h:
19933 * platform/FileSystem.h:
19934 * platform/graphics/Image.h:
19935 * platform/text/AtomicString.h:
19936 * platform/text/String.cpp:
19937 * rendering/style/RenderStyle.h:
19939 2008-09-05 Dave Hyatt <hyatt@apple.com>
19941 Add support for runtime switchability of the Aqua look and the native look on Windows.
19942 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
19944 Reviewed by Adam Roben
19946 * WebCore.vcproj/WebCore.vcproj:
19947 * page/Settings.cpp:
19948 (WebCore::Settings::setShouldPaintNativeControls):
19950 (WebCore::Settings::shouldPaintNativeControls):
19951 * rendering/RenderThemeSafari.cpp:
19953 * rendering/RenderThemeWin.cpp:
19955 2008-09-05 Antti Koivisto <antti@apple.com>
19959 * svg/SVGFEImageElement.cpp:
19960 (WebCore::SVGFEImageElement::build):
19962 2008-09-05 Dirk Schulze <vbs85@gmx.de>
19968 2008-09-05 Antti Koivisto <antti@apple.com>
19972 * svg/SVGFEImageElement.cpp:
19973 (WebCore::SVGFEImageElement::notifyFinished):
19975 2008-09-05 Antti Koivisto <antti@apple.com>
19979 * WebCore.xcodeproj/project.pbxproj:
19980 * svg/graphics/filters/SVGFEImage.cpp:
19981 (WebCore::FEImage::cachedImage):
19983 2008-09-05 Antti Koivisto <antti@apple.com>
19985 Reviewed by Darin Adler.
19987 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
19988 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
19990 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
19991 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
19992 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
19993 we avoid re-decoding resources, especially images.
19995 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
19996 CacheControl: max-age=0 header. That would be added in reload case.
19998 The approach for revalidation is to kick the original resource out from the memory cache
19999 and create a new CachedResource that represents the revalidation request. In case
20000 we get 304 back for the request we put the original resource back to the cache, update
20001 its expiration date and switch the clients registered to revalidation resource to be
20002 clients of the original resource.
20004 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
20005 This allows updating the handles to point to the original resource when the revalidation succeeds. It
20006 also acts as refcounting smart pointer.
20009 * WebCore.vcproj/WebCore.vcproj:
20010 * WebCore.xcodeproj/project.pbxproj:
20011 * css/CSSFontFaceSource.h:
20012 * css/CSSImportRule.h:
20014 (WebCore::Clipboard::dragImage):
20015 * dom/ProcessingInstruction.h:
20016 * dom/ScriptElement.h:
20017 * dom/XMLTokenizer.cpp:
20018 (WebCore::XMLTokenizer::isWaitingForScripts):
20019 * dom/XMLTokenizer.h:
20020 * html/HTMLImageLoader.cpp:
20021 (WebCore::HTMLImageLoader::setImage):
20022 (WebCore::HTMLImageLoader::updateFromElement):
20023 (WebCore::HTMLImageLoader::notifyFinished):
20024 * html/HTMLImageLoader.h:
20025 (WebCore::HTMLImageLoader::image):
20026 * html/HTMLLinkElement.h:
20027 * html/HTMLTokenizer.cpp:
20028 (WebCore::HTMLTokenizer::reset):
20029 (WebCore::HTMLTokenizer::scriptHandler):
20030 (WebCore::HTMLTokenizer::notifyFinished):
20031 * html/HTMLTokenizer.h:
20032 * loader/Cache.cpp:
20033 (WebCore::Cache::revalidateResource):
20034 (WebCore::Cache::revalidationSucceeded):
20035 (WebCore::Cache::revalidationFailed):
20037 * loader/CachedResource.cpp:
20038 (WebCore::CachedResource::CachedResource):
20039 (WebCore::CachedResource::~CachedResource):
20040 (WebCore::CachedResource::isExpired):
20041 (WebCore::CachedResource::setResponse):
20042 (WebCore::CachedResource::deleteIfPossible):
20043 (WebCore::CachedResource::setResourceToRevalidate):
20044 (WebCore::CachedResource::clearResourceToRevalidate):
20045 (WebCore::CachedResource::switchClientsToRevalidatedResource):
20046 (WebCore::CachedResource::canUseCacheValidator):
20047 (WebCore::CachedResource::mustRevalidate):
20048 * loader/CachedResource.h:
20049 (WebCore::CachedResource::canDelete):
20050 (WebCore::CachedResource::registerHandle):
20051 (WebCore::CachedResource::unregisterHandle):
20052 (WebCore::CachedResource::isCacheValidator):
20053 (WebCore::CachedResource::resourceToRevalidate):
20054 (WebCore::CachedResource::setExpirationDate):
20055 * loader/CachedResourceHandle.cpp: Added.
20056 (WebCore::CachedResourceHandleBase::setResource):
20057 * loader/CachedResourceHandle.h: Added.
20058 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
20059 (WebCore::CachedResourceHandleBase::get):
20060 (WebCore::CachedResourceHandleBase::operator!):
20061 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
20062 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
20063 (WebCore::CachedResourceHandleBase::operator=):
20064 (WebCore::CachedResourceHandle::CachedResourceHandle):
20065 (WebCore::CachedResourceHandle::get):
20066 (WebCore::CachedResourceHandle::operator->):
20067 (WebCore::CachedResourceHandle::operator=):
20068 (WebCore::CachedResourceHandle::operator==):
20069 (WebCore::CachedResourceHandle::operator!=):
20070 (WebCore::operator==):
20071 (WebCore::operator!=):
20072 * loader/DocLoader.cpp:
20073 (WebCore::DocLoader::checkForReload):
20074 * loader/UserStyleSheetLoader.h:
20075 * loader/loader.cpp:
20076 (WebCore::Loader::Host::servePendingRequests):
20077 (WebCore::Loader::Host::didFinishLoading):
20078 (WebCore::Loader::Host::didFail):
20079 (WebCore::Loader::Host::didReceiveResponse):
20080 (WebCore::Loader::Host::didReceiveData):
20081 * page/EventHandler.cpp:
20082 (WebCore::EventHandler::selectCursor):
20083 * rendering/RenderImage.cpp:
20084 (WebCore::RenderImage::setCachedImage):
20085 (WebCore::RenderImage::imageChanged):
20086 * rendering/RenderImage.h:
20087 (WebCore::RenderImage::cachedImage):
20088 (WebCore::RenderImage::imagePtr):
20089 * rendering/style/RenderStyle.h:
20090 * rendering/style/StyleCachedImage.h:
20091 (WebCore::StyleCachedImage::data):
20092 (WebCore::StyleCachedImage::cachedImage):
20093 * svg/SVGFEImageElement.h:
20094 * svg/graphics/filters/SVGFEImage.h:
20095 * xml/XSLImportRule.h:
20097 2008-09-04 Brady Eidson <beidson@apple.com>
20101 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
20103 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
20104 to model default NSURLRequest behavior in a cross-platform manner.
20106 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
20107 client that wished to enforce a much larger default timeout using NSURLRequest API.
20109 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
20110 behavior on the web and this restores previous Safari/WebKit behavior.
20112 It would be easy to write a layout test for this, but to be effective it would have
20113 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
20115 * manual-tests/timeout-test.html: Added.
20116 * manual-tests/timeout-test.php: Added.
20118 * platform/network/ResourceRequestBase.h:
20119 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
20120 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
20121 * platform/network/mac/ResourceRequestMac.mm:
20122 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
20123 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
20124 WebKit applications to enforce their own default timeout.
20126 2008-09-04 Dan Bernstein <mitz@apple.com>
20128 Reviewed by Beth Dakin.
20130 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
20132 Test: fast/repaint/button-spurious-layout-hint.html
20134 * rendering/RenderButton.cpp:
20135 (WebCore::RenderButton::setStyle): Reset the inner block's style box
20136 flex to 0 to avoid getting a spurious layout hint.
20138 2008-09-04 Kevin Ollivier <kevino@theolliviers.com>
20142 * WebCoreSources.bkl:
20143 * bindings/js/ScriptControllerWx.cpp: Added.
20144 (WebCore::ScriptController::createScriptInstanceForWidget):
20145 * page/wx/AccessibilityObjectWx.cpp: Added.
20146 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
20147 * platform/graphics/wx/GraphicsContextWx.cpp:
20148 * webcore-base.bkl:
20151 2008-09-04 Dan Bernstein <mitz@apple.com>
20153 Reviewed by Mark Rowe.
20155 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
20156 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
20157 require a different approach
20159 * css/CSSGrammar.y:
20161 2008-09-04 Mark Rowe <mrowe@apple.com>
20163 Reviewed by Eric Seidel.
20165 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
20166 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
20168 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
20169 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
20170 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
20172 2008-09-04 Mark Rowe <mrowe@apple.com>
20176 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
20178 2008-09-04 Eric Seidel <eric@webkit.org>
20180 Build fix only, no review.
20182 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
20184 2008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
20186 Reviewed by Eric Seidel.
20188 http://bugs.webkit.org/show_bug.cgi?id=20380
20189 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
20191 * config.h: Include the configuration header generated by autotools if
20194 2008-09-04 Dan Bernstein <mitz@apple.com>
20196 Rubber-stamped by Dave Hyatt.
20198 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
20200 * loader/CachedFont.cpp:
20201 (WebCore::CachedFont::allClientsRemoved):
20202 * loader/CachedFont.h:
20203 * loader/CachedImage.cpp:
20204 (WebCore::CachedImage::allClientsRemoved):
20205 * loader/CachedImage.h:
20206 * loader/CachedResource.cpp:
20207 (WebCore::CachedResource::removeClient):
20208 * loader/CachedResource.h:
20209 (WebCore::CachedResource::allClientsRemoved):
20211 2008-09-04 Adam Roben <aroben@apple.com>
20213 Windows build fix after r36071
20215 We were getting these errors:
20217 error C2356: initialization segment must not change during translation
20220 This was happening because multiple files #included by
20221 DerivedSources.cpp were themselves #including StaticConstructors.h. I
20222 fixed the error by adding header guards to StaticConstructors.h so its
20223 contents will only be included once.
20225 But it's also not a good idea for StaticConstructors.h to end up in
20226 DerivedSources.cpp, since it ends up "polluting" all the source files
20227 we have in there. So I removed all the files that include
20228 StaticConstructors.h and added some preprocessor directives to
20229 DerivedSources.cpp to catch this error in the future.
20231 * DerivedSources.cpp: Removed the *Names.cpp files, which include
20232 StaticConstructors.h, and added some preprocessor directives to make
20233 sure we don't end up accidentally including StaticConstructors.h in
20235 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
20236 * platform/StaticConstructors.h: Added header guards.
20238 2008-09-04 Adam Roben <aroben@apple.com>
20242 * platform/graphics/win/FontPlatformData.h: Added a missing #include
20243 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
20244 * platform/text/PlatformString.h: Added a missing #include of
20247 2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
20251 Fix the QtWebKit build to match changes in r36016
20254 * bridge/qt/qt_instance.cpp:
20255 (KJS::Bindings::QtInstance::getRuntimeObject):
20256 * bridge/qt/qt_runtime.cpp:
20257 (KJS::Bindings::convertQVariantToValue):
20258 (KJS::Bindings::QtConnectionObject::execute):
20260 2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
20264 Re-enable support for user stylesheets in QtWebKit
20266 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
20267 code path, which allows us to keep API support for
20268 loading user style sheets from remote URLs.
20270 As part of the change UserStyleSheetLoader.cpp/h was
20271 moved from WebCore/loader/mac to WebCore/loader.
20274 * WebCore.xcodeproj/project.pbxproj:
20276 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
20277 (UserStyleSheetLoader::UserStyleSheetLoader):
20278 (UserStyleSheetLoader::~UserStyleSheetLoader):
20279 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
20280 * page/qt/FrameQt.cpp:
20281 (WebCore::Frame::setUserStyleSheetLocation):
20282 (WebCore::Frame::setUserStyleSheet):
20284 2008-09-04 Alp Toker <alp@nuanti.com>
20288 Remove left-over QT and CAIRO platform checks.
20290 * html/CanvasRenderingContext2D.cpp:
20292 2008-09-04 Eric Seidel <eric@webkit.org>
20294 Reviewed by Mark Rowe.
20296 Fix leak of TextMetrics due to over-ref as see on buildbot.
20298 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
20300 2008-09-04 Dan Bernstein <mitz@apple.com>
20302 Reviewed by Dave Hyatt.
20304 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
20305 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
20307 * rendering/RenderBlock.cpp:
20308 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
20309 positioned movement only case, call
20310 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
20311 layout if that fails.
20312 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
20313 * rendering/RenderBox.h:
20314 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
20315 layoutDoingPositionedMovementOnly to this, and made this function
20316 check if the width changed. If it did, return, leaving the object
20317 dirty. The caller can then call layout(). The width can change even
20318 in the "positioned movement only" case if the object is shrink-to-fit
20319 and the available width constraint is met. (This was the case in the
20321 * rendering/RenderObject.h:
20322 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
20323 Renamed layoutDoingPositionedMovementOnly() to this.
20325 2008-09-03 Eric Seidel <eric@webkit.org>
20327 No review, build fix only.
20329 Attempt to fix the Qt build.
20331 * WebCore.pro: add page/animation to include path
20333 2008-09-03 Mark Rowe <mrowe@apple.com>
20335 Mac build fix. Correctly detect whether dashboard support is enabled.
20337 * DerivedSources.make:
20339 2008-09-03 Eric Seidel <eric@webkit.org>
20343 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
20345 * Configurations/WebCore.xcconfig: add missing ENABLE_*
20346 * config.h: add rules for V8_BINDINGS
20348 2008-09-03 Eric Seidel <eric@webkit.org>
20352 https://bugs.webkit.org/show_bug.cgi?id=20620
20354 Add #if USE(JSC) around KJS dependencies
20355 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
20356 1. Most platforms have it on anyway
20357 2. V8 is going to want to share some of that code
20358 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
20360 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
20361 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
20362 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20363 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20364 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20365 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20366 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20367 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
20368 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
20369 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
20370 * platform/text/AtomicString.cpp: add USE(JSC)
20371 * platform/text/AtomicString.h: add USE(JSC)
20372 * platform/text/PlatformString.h: add USE(JSC)
20373 * platform/text/String.cpp: add USE(JSC)
20374 * platform/text/StringImpl.cpp: add USE(JSC)
20375 * platform/text/StringImpl.h: add USE(JSC)
20377 2008-09-03 Dean McNamee <deanm@chromium.org>
20379 Reviewed by Darin Adler.
20381 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
20382 Bug 20511: Remove static initializers on Windows
20384 Avoid static initializers on Windows by forcing Visual C++ to put
20385 all static initializers in a code segment that is never executed.
20388 * css/MediaFeatureNames.cpp:
20389 * dom/EventNames.cpp:
20390 * dom/QualifiedName.cpp:
20391 * dom/make_names.pl:
20392 * platform/StaticConstructors.h:
20393 * platform/text/AtomicString.cpp:
20395 2008-09-03 Dirk Schulze <vbs85@gmx.de>
20397 Reviewed by Dave Hyatt.
20399 Make FontCairo draw TextStroke and TextFill separately.
20401 [CAIRO] draw TextFill and TextStroke separately.
20402 [https://bugs.webkit.org/show_bug.cgi?id=20631]
20404 * platform/graphics/cairo/FontCairo.cpp:
20405 (WebCore::Font::drawGlyphs):
20407 2008-09-03 Peter Kasting <pkasting@google.com>
20409 Reviewed by Dave Hyatt.
20411 https://bugs.webkit.org/show_bug.cgi?id=19663
20412 Account for paint and timer lag when animating images. Also pretend
20413 that images whose animations were paused (by becoming invisible)
20414 continued to animate, by "catching up" to the correct frame when they're
20417 * platform/graphics/BitmapImage.cpp:
20418 (WebCore::BitmapImage::BitmapImage):
20419 (WebCore::BitmapImage::startAnimation):
20420 (WebCore::BitmapImage::advanceAnimation):
20421 (WebCore::BitmapImage::internalAdvanceAnimation):
20422 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
20423 * platform/graphics/BitmapImage.h:
20424 * platform/graphics/cairo/ImageCairo.cpp:
20425 (WebCore::BitmapImage::draw):
20426 * platform/graphics/cg/ImageCG.cpp:
20427 (WebCore::BitmapImage::draw):
20428 * platform/graphics/qt/ImageQt.cpp:
20429 (WebCore::BitmapImage::draw):
20430 * platform/graphics/wx/ImageWx.cpp:
20431 (WebCore::BitmapImage::draw):
20433 2008-09-03 Kevin McCullough <kmccullough@apple.com>
20437 Remove the rest of the "zombie" code from the profiler.
20438 - There is no longer a need for the ProfilerClient callback mechanism.
20440 * page/Console.cpp:
20441 (WebCore::Console::Console):
20442 (WebCore::Console::profile):
20443 (WebCore::Console::profileEnd): Move the variables from the header to
20444 here since we don't have to wait for a callback to use them.
20446 * page/InspectorController.cpp:
20447 (WebCore::InspectorController::startUserInitiatedProfiling):
20448 (WebCore::InspectorController::stopUserInitiatedProfiling):
20449 * page/InspectorController.h:
20451 2008-09-03 Ada Chan <adachan@apple.com>
20455 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
20457 2008-09-01 Dean Jackson <dino@apple.com>
20459 Reviewed by Dave Hyatt.
20461 https://bugs.webkit.org/show_bug.cgi?id=20594
20462 Add DOM interfaces for WebKitCSSKeyframeRule
20463 and WebKitCSSKeyframesRule.
20465 TEST: LayoutTests/css3/keyframes-rule.html
20467 * css/WebKitCSSKeyframeRule.idl: Added
20468 * css/WebKitCSSKeyframesRule.idl: Added
20470 * bindings/js/JSCSSRuleCustom.cpp:
20472 Add return of new JS Keyframe rules
20473 * bindings/objc/DOMInternal.h:
20474 Include new internal header
20476 * DerivedSources.make:
20479 * WebCore.vcproj/WebCore.vcproj:
20480 * WebCore.xcodeproj/project.pbxproj:
20481 * WebCoreSources.bkl:
20482 Build configs for new files
20484 2008-09-03 Adam Roben <aroben@apple.com>
20488 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
20489 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
20490 convenience/consistency.
20492 2008-09-03 Adele Peterson <adele@apple.com>
20496 * WebCore.vcproj/WebCore.vcproj:
20498 2008-09-03 David Hyatt <hyatt@apple.com>
20500 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
20502 Reviewed by Darin (ages ago)
20504 Added fast/block/float/clamped-right-float.html
20506 * rendering/RenderBlock.cpp:
20507 (WebCore::RenderBlock::positionNewFloats):
20509 2008-09-02 David Hyatt <hyatt@apple.com>
20511 Add support for canvas text drawing APIs.
20515 Tests added as fast/canvas/canvas-text-*.html
20517 * DerivedSources.make:
20518 * WebCore.xcodeproj/project.pbxproj:
20519 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
20520 (WebCore::JSCanvasRenderingContext2D::fillText):
20521 (WebCore::JSCanvasRenderingContext2D::strokeText):
20522 * css/CSSStyleSelector.cpp:
20523 (WebCore::CSSStyleSelector::initForStyleResolve):
20524 (WebCore::CSSStyleSelector::applyPropertyToStyle):
20525 * css/CSSStyleSelector.h:
20526 * html/CanvasRenderingContext2D.cpp:
20527 (WebCore::CanvasRenderingContext2D::State::State):
20528 (WebCore::CanvasRenderingContext2D::font):
20529 (WebCore::CanvasRenderingContext2D::setFont):
20530 (WebCore::CanvasRenderingContext2D::textAlign):
20531 (WebCore::CanvasRenderingContext2D::setTextAlign):
20532 (WebCore::CanvasRenderingContext2D::textBaseline):
20533 (WebCore::CanvasRenderingContext2D::setTextBaseline):
20534 (WebCore::CanvasRenderingContext2D::fillText):
20535 (WebCore::CanvasRenderingContext2D::strokeText):
20536 (WebCore::CanvasRenderingContext2D::measureText):
20537 (WebCore::CanvasRenderingContext2D::drawTextInternal):
20538 (WebCore::CanvasRenderingContext2D::accessFont):
20539 * html/CanvasRenderingContext2D.h:
20540 * html/CanvasRenderingContext2D.idl:
20541 * html/TextMetrics.h: Added.
20542 (WebCore::TextMetrics::create):
20543 (WebCore::TextMetrics::width):
20544 (WebCore::TextMetrics::setWidth):
20545 (WebCore::TextMetrics::TextMetrics):
20546 * html/TextMetrics.idl: Added.
20547 * platform/graphics/Font.cpp:
20548 (WebCore::Font::lineGap):
20549 * platform/graphics/Font.h:
20550 * platform/graphics/GraphicsContext.cpp:
20551 (WebCore::GraphicsContext::drawBidiText):
20552 * platform/graphics/GraphicsContext.h:
20553 * platform/graphics/GraphicsTypes.cpp:
20554 (WebCore::textAlignName):
20555 (WebCore::parseTextAlign):
20556 (WebCore::textBaselineName):
20557 (WebCore::parseTextBaseline):
20558 * platform/graphics/GraphicsTypes.h:
20561 2008-09-03 John Sullivan <sullivan@apple.com>
20563 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
20565 Fixed by Darin, reviewed by me
20567 * page/animation/AnimationBase.cpp:
20568 (WebCore::AnimationBase::propertiesEqual):
20569 added ensurePropertyMap() to this static function
20570 (WebCore::AnimationBase::getPropertyAtIndex):
20572 (WebCore::AnimationBase::getNumProperties):
20575 2008-09-03 Kevin McCullough <kmccullough@apple.com>
20577 Reviewed by Darin and Tim.
20579 Remove most of the "zombie" mode from the profiler. Next we will need
20580 to remove the client callback mechanism in profiles.
20581 - These changes are a result of changes to JSCore.
20583 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
20584 * page/Console.cpp:
20585 (WebCore::retrieveLastCaller):
20586 (WebCore::Console::profileEnd):
20587 * page/InspectorController.cpp:
20588 (WebCore::InspectorController::stopUserInitiatedProfiling):
20590 2008-09-03 Adele Peterson <adele@apple.com>
20592 Reviewed by Darin Adler.
20594 Test: fast/forms/search-display-none-cancel-button.html
20596 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
20598 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
20600 * rendering/RenderTextControl.cpp:
20601 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
20602 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
20603 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
20604 (WebCore::RenderTextControl::createSubtreeIfNeeded):
20605 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
20606 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
20607 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
20608 (WebCore::RenderTextControl::calcHeight): ditto.
20609 (WebCore::RenderTextControl::nodeAtPoint): ditto.
20610 (WebCore::RenderTextControl::layout): ditto.
20611 (WebCore::RenderTextControl::calcPrefWidths): ditto.
20612 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
20613 (WebCore::RenderTextControl::clientPaddingRight): ditto.
20615 * rendering/TextControlInnerElements.cpp:
20616 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
20617 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
20618 (WebCore::TextControlInnerElement::attachInnerElement): Added.
20619 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
20620 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
20621 * rendering/TextControlInnerElements.h:
20623 2008-08-28 Alexey Proskuryakov <ap@webkit.org>
20625 Reviewed by Maciej.
20627 Elminate SQLiteAuthorizer class.
20629 * WebCore.xcodeproj/project.pbxproj:
20630 * WebCore.vcproj/WebCore.vcproj:
20632 Removed SQLiteAuthorizer.h.
20634 * platform/sql/SQLiteAuthorizer.cpp:
20635 * platform/sql/SQLiteAuthorizer.h: Removed.
20636 * platform/sql/SQLiteDatabase.cpp:
20637 (WebCore::SQLiteDatabase::authorizerFunction):
20638 (WebCore::SQLiteDatabase::setAuthorizer):
20639 * platform/sql/SQLiteDatabase.h:
20640 * storage/DatabaseAuthorizer.h:
20641 (WebCore::DatabaseAuthorizer::create):
20642 (WebCore::DatabaseAuthorizer::createView):
20643 (WebCore::DatabaseAuthorizer::createTempView):
20644 (WebCore::DatabaseAuthorizer::dropView):
20645 (WebCore::DatabaseAuthorizer::dropTempView):
20646 (WebCore::DatabaseAuthorizer::allowSelect):
20647 (WebCore::DatabaseAuthorizer::allowReindex):
20648 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
20650 2008-09-03 Dirk Schulze <vbs85@gmx.de>
20652 Reviewed by Mark Rowe.
20654 WebKitGtk build fix.
20657 * page/animation/AnimationController.h:
20659 2008-09-02 Robert Blaut <webkit@blaut.biz>
20661 Reviewed by Geoff Garen.
20663 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
20664 Misplaced elements should not close DL lists.
20666 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
20668 * html/HTMLParser.cpp:
20669 (WebCore::HTMLParser::handleError):
20671 2008-09-02 Glenn Wilson <wilsong@gmail.com>
20673 Reviewed by Darin Adler.
20675 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
20676 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
20678 We would inappropriately interpret and apply an invalid CSS "color" property
20679 when the value is a predefined color preceded by a '#' symbol. For example,
20680 style="color:#gray;" would apply the color gray when it should not.
20682 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
20683 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
20684 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
20685 an ignorable token.
20687 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
20688 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
20689 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
20691 Test: css1/color_and_background/invalid_color.html
20693 * css/CSSGrammar.y:
20695 2008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
20697 Reviewed by Darin Adler.
20699 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
20700 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
20702 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
20704 Test: css3/khtml-background-size-0x0-bmp.html
20706 * rendering/RenderBox.cpp:
20707 (WebCore::RenderBox::repaintLayerRectsForImage):
20709 2008-09-02 Glenn Wilson <wilsong@gmail.com>
20711 Reviewed by Eric Seidel.
20713 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
20714 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
20716 The function checkForOrphanedUnits() would change the length of a list whose size was
20717 was already determined before the call to checkForOrphanedUnits was made. Later in
20718 the caller, the old size was being used for boundary management.
20720 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
20721 calling function, before the size of the list is determined.
20723 Test: fast/css/orphaned_units_crash.html
20725 * css/CSSParser.cpp:
20726 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
20728 2008-09-02 Dirk Schulze <vbs85@gmx.de>
20730 Reviewed by Darin Adler.
20732 Fallback on invalid fill or stroke styles in Canvas was
20733 transparent black. Changed it to last valid style.
20735 Canvas fillStyle() and strokeStyle() needs fallback
20736 https://bugs.webkit.org/show_bug.cgi?id=20474
20738 Tests: fast/canvas/canvas-invalid-fillstyle.html
20739 fast/canvas/canvas-invalid-strokestyle.html
20741 * html/CanvasStyle.cpp:
20742 (WebCore::CanvasStyle::applyStrokeColor):
20743 (WebCore::CanvasStyle::applyFillColor):
20745 2008-09-02 Dirk Schulze <vbs85@gmx.de>
20747 Reviewed by Darin Adler.
20749 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
20750 Updated drawImage() in canvas to match the current specification.
20752 Test: fast/canvas/drawImage-with-negative-source-destination.html
20754 * html/CanvasRenderingContext2D.cpp:
20755 (WebCore::normalizeRect):
20756 (WebCore::CanvasRenderingContext2D::drawImage):
20758 2008-08-26 Mark Rowe <mrowe@apple.com>
20760 Reviewed by Darin Adler.
20762 <rdar://problem/5768210> Switch back to the system version of SQLite
20764 Use the system version of SQLite when it is new enough to provide the functionality
20765 that WebCore requires.
20767 * Configurations/Base.xcconfig:
20768 * Configurations/DebugRelease.xcconfig:
20769 * Configurations/WebCore.xcconfig:
20771 2008-09-02 Dan Bernstein <mitz@apple.com>
20775 * page/animation/AnimationBase.h:
20777 2008-09-02 Chris Marrin <cmarrin@apple.com>
20779 Reviewed by Dave Hyatt.
20781 AnimationController.cpp should be split into separate files
20782 https://bugs.webkit.org/show_bug.cgi?id=20604
20784 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
20785 recommendation of Dave Hyatt.
20789 * WebCore.vcproj/WebCore.vcproj:
20790 * WebCore.xcodeproj/project.pbxproj:
20791 * WebCoreSources.bkl:
20794 * page/AnimationController.cpp: Removed.
20795 * page/AnimationController.h: Removed.
20796 * page/animation: Added.
20797 * page/animation/AnimationBase.cpp: Added.
20798 * page/animation/AnimationBase.h: Added.
20799 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
20800 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
20801 * page/animation/CompositeAnimation.cpp: Added.
20802 * page/animation/CompositeAnimation.h: Added.
20803 * page/animation/ImplicitAnimation.cpp: Added.
20804 * page/animation/ImplicitAnimation.h: Added.
20805 * page/animation/KeyframeAnimation.cpp: Added.
20806 * page/animation/KeyframeAnimation.h: Added.
20808 2008-09-02 Dan Bernstein <mitz@apple.com>
20810 - release build fix
20812 * platform/graphics/cg/GraphicsContextCG.cpp:
20813 (WebCore::calculateDrawingMode):
20815 2008-09-02 Timothy Hatcher <timothy@apple.com>
20817 Make console functions log the correct resource URL and
20818 line number for where the call originated.
20820 https://bugs.webkit.org/show_bug.cgi?id=17234
20821 <rdar://problem/5732837>
20823 Reviewed by Kevin McCullough.
20825 Test: manual-tests/inspector/console-call-line-numbers.html
20827 * bindings/js/JSConsoleCustom.cpp:
20828 (WebCore::JSConsole::count): Call the impl.
20829 (WebCore::JSConsole::timeEnd): Ditto.
20830 * manual-tests/inspector/console-call-line-numbers.html: Added.
20831 * manual-tests/inspector/resources/script-console-calls.js: Added.
20832 * page/Console.cpp:
20833 (WebCore::retrieveLastCaller): Helper to get the URL and line.
20834 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
20835 line number to pass to addMessageToConsole.
20836 (WebCore::Console::info): Ditto.
20837 (WebCore::Console::log): Ditto.
20838 (WebCore::Console::assertCondition): Ditto.
20839 (WebCore::Console::count): Ditto.
20840 (WebCore::Console::timeEnd): Ditto.
20841 (WebCore::Console::warn): Ditto.
20843 * page/Console.idl: Make count and timeEnd custom.
20845 2008-09-02 Timothy Hatcher <timothy@apple.com>
20847 Removed IDL files from WebCore's framework resources.
20849 * WebCore.xcodeproj/project.pbxproj:
20851 2008-09-02 Dan Bernstein <mitz@apple.com>
20853 Reviewed by Dave Hyatt.
20855 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
20857 * html/HTMLParser.cpp:
20858 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
20859 cap on the number of consecutive identical residual style tags to
20861 (WebCore::HTMLParser::popBlock): Ditto.
20863 2008-09-02 Alexey Proskuryakov <ap@webkit.org>
20865 Reviewed by Adam Roben.
20867 A little database quota management cleanup.
20869 * storage/OriginQuotaManager.cpp:
20870 (WebCore::OriginQuotaManager::OriginQuotaManager):
20871 (WebCore::OriginQuotaManager::lock):
20872 (WebCore::OriginQuotaManager::unlock):
20873 (WebCore::OriginQuotaManager::trackOrigin):
20874 (WebCore::OriginQuotaManager::tracksOrigin):
20875 (WebCore::OriginQuotaManager::addDatabase):
20876 (WebCore::OriginQuotaManager::removeDatabase):
20877 (WebCore::OriginQuotaManager::removeOrigin):
20878 (WebCore::OriginQuotaManager::markDatabase):
20879 (WebCore::OriginQuotaManager::diskUsage):
20880 * storage/OriginQuotaManager.h:
20881 Changed to assert that a lock is taken more directly and reliably. Removed comments about
20882 main/background threads, as this is likely to stop being true with synchronous Database calls
20883 being made on worker threads.
20885 * storage/OriginUsageRecord.cpp:
20886 (WebCore::OriginUsageRecord::OriginUsageRecord):
20887 (WebCore::OriginUsageRecord::addDatabase):
20888 (WebCore::OriginUsageRecord::removeDatabase):
20889 (WebCore::OriginUsageRecord::markDatabase):
20890 (WebCore::OriginUsageRecord::diskUsage):
20891 * storage/OriginUsageRecord.h:
20892 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
20893 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
20894 can be replaced with a single boolean for OriginUsageRecord.
20895 Added assertions for string parameters being unshared.
20898 2008-09-01 Adam Barth <abarth@webkit.org>
20900 Reviewed by Sam Weinig.
20902 https://bugs.webkit.org/show_bug.cgi?id=19760
20904 Make granting LoadLocalResources conditional on a policy.
20906 * WebCore.base.exp:
20907 * dom/Document.cpp:
20908 (WebCore::Document::initSecurityContext):
20909 * loader/FrameLoader.cpp:
20910 (WebCore::FrameLoader::setLocalLoadPolicy):
20911 (WebCore::FrameLoader::restrictAccessToLocal):
20912 * loader/FrameLoader.h:
20913 (WebCore::FrameLoader::):
20914 * platform/SecurityOrigin.cpp:
20915 (WebCore::SecurityOrigin::grantLoadLocalResources):
20916 * platform/SecurityOrigin.h:
20918 2008-09-01 Dean Jackson <dino@apple.com>
20920 Reviewed by Sam Weinig.
20922 https://bugs.webkit.org/show_bug.cgi?id=20571
20923 Make sure Window object can assign Animation/Transition event
20924 listeners via attributes.
20926 Also added a bunch of transition event tests, although
20927 only transition-end-event-window is directly relevant to this patch.
20929 (WebCore::JSDOMWindowBase::put):
20931 Tests: transitions/transition-end-event-all-properties.html
20932 transitions/transition-end-event-attributes.html
20933 transitions/transition-end-event-container.html
20934 transitions/transition-end-event-left.html
20935 transitions/transition-end-event-multiple-01.html
20936 transitions/transition-end-event-multiple-02.html
20937 transitions/transition-end-event-multiple-03.html
20938 transitions/transition-end-event-multiple-04.html
20939 transitions/transition-end-event-nested.html
20940 transitions/transition-end-event-transform.html
20941 transitions/transition-end-event-window.html
20943 2008-09-01 Dean Jackson <dino@apple.com>
20945 Reviewed by Sam Weinig
20947 Code styling cleanup.
20949 * bindings/js/JSDOMWindowBase.cpp:
20950 (WebCore::JSDOMWindowBase::getValueProperty):
20951 (WebCore::JSDOMWindowBase::put):
20953 2008-09-01 Geoffrey Garen <ggaren@apple.com>
20955 Reviewed by Darin Adler.
20957 First cut at inline caching for access to vanilla JavaScript properties.
20959 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
20960 to WebCore classes, and PutPropertySlot& arguments to put functions.
20962 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
20963 inline caching for global properties, so global assignment can be optimized.
20965 * ForwardingHeaders/kjs/StructureID.h: Added.
20966 * bindings/js/JSDOMBinding.h:
20967 (WebCore::DOMObject::DOMObject):
20968 * bindings/js/JSDOMWindowBase.cpp:
20969 (WebCore::JSDOMWindowBase::put):
20970 * bindings/js/JSDOMWindowBase.h:
20971 * bindings/js/JSDOMWindowCustom.h:
20972 (WebCore::JSDOMWindow::customPut):
20973 * bindings/js/JSDOMWindowShell.cpp:
20974 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
20975 (WebCore::JSDOMWindowShell::put):
20976 * bindings/js/JSDOMWindowShell.h:
20977 * bindings/js/JSEventTargetBase.h:
20978 (WebCore::JSEventTargetBase::put):
20979 * bindings/js/JSEventTargetNode.h:
20980 (WebCore::JSEventTargetNode::put):
20981 * bindings/js/JSHTMLAppletElementCustom.cpp:
20982 (WebCore::JSHTMLAppletElement::customPut):
20983 * bindings/js/JSHTMLEmbedElementCustom.cpp:
20984 (WebCore::JSHTMLEmbedElement::customPut):
20985 * bindings/js/JSHTMLInputElementBase.cpp:
20986 (WebCore::JSHTMLInputElementBase::put):
20987 * bindings/js/JSHTMLInputElementBase.h:
20988 * bindings/js/JSHTMLObjectElementCustom.cpp:
20989 (WebCore::JSHTMLObjectElement::customPut):
20990 * bindings/js/JSHistoryCustom.cpp:
20991 (WebCore::JSHistory::customPut):
20992 * bindings/js/JSInspectedObjectWrapper.cpp:
20993 (WebCore::JSInspectedObjectWrapper::wrap):
20994 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
20995 * bindings/js/JSInspectedObjectWrapper.h:
20996 * bindings/js/JSInspectorCallbackWrapper.cpp:
20997 (WebCore::JSInspectorCallbackWrapper::wrap):
20998 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
20999 * bindings/js/JSInspectorCallbackWrapper.h:
21000 * bindings/js/JSLocationCustom.cpp:
21001 (WebCore::JSLocation::customPut):
21002 * bindings/js/JSPluginElementFunctions.cpp:
21003 (WebCore::runtimeObjectCustomPut):
21004 * bindings/js/JSPluginElementFunctions.h:
21005 * bindings/js/JSQuarantinedObjectWrapper.cpp:
21006 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
21007 (WebCore::JSQuarantinedObjectWrapper::put):
21008 * bindings/js/JSQuarantinedObjectWrapper.h:
21009 * bindings/js/JSStorageCustom.cpp:
21010 (WebCore::JSStorage::customPut):
21011 * bindings/objc/WebScriptObject.mm:
21012 (-[WebScriptObject setValue:forKey:]):
21013 * bindings/scripts/CodeGeneratorJS.pm:
21014 * bridge/NP_jsobject.cpp:
21015 (_NPN_SetProperty):
21016 * bridge/jni/jni_jsobject.mm:
21017 (JavaJSObject::setMember):
21018 * bridge/objc/objc_class.mm:
21019 (KJS::Bindings::ObjcClass::fallbackObject):
21020 * bridge/objc/objc_runtime.h:
21021 * bridge/objc/objc_runtime.mm:
21022 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
21023 (ObjcFallbackObjectImp::put):
21024 * bridge/runtime.cpp:
21025 (KJS::Bindings::Instance::createRuntimeObject):
21026 * bridge/runtime_array.cpp:
21027 (RuntimeArray::put):
21028 * bridge/runtime_array.h:
21029 * bridge/runtime_object.cpp:
21030 (RuntimeObjectImp::RuntimeObjectImp):
21031 (RuntimeObjectImp::put):
21032 * bridge/runtime_object.h:
21034 2008-09-01 Dirk Schulze <vbs85@gmx.de>
21036 Reviewed by Eric Seidel.
21038 Fixed border-radius for Cairo.
21040 * platform/graphics/cairo/GraphicsContextCairo.cpp:
21041 (WebCore::GraphicsContext::strokeArc):
21043 2008-09-01 Dirk Schulze <vbs85@gmx.de>
21045 Reviewed by Eric Seidel.
21047 Added canvas's globalAlpha to cairo.
21049 * platform/graphics/GraphicsContext.h:
21050 * platform/graphics/cairo/GraphicsContextCairo.cpp:
21051 (WebCore::GraphicsContext::fillPath):
21052 (WebCore::GraphicsContext::strokePath):
21053 (WebCore::GraphicsContext::setAlpha):
21054 (WebCore::GraphicsContext::getAlpha):
21055 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
21056 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
21057 * platform/graphics/cairo/ImageCairo.cpp:
21058 (WebCore::BitmapImage::draw):
21060 2008-08-31 Simon Hausmann <hausmann@webkit.org>
21062 Unreviewed Qt build fix.
21064 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
21067 2008-08-30 Darin Adler <darin@apple.com>
21069 Reviewed by Maciej.
21071 - adopt some new JavaScriptCore functions where appropriate
21073 * bindings/js/JSDOMWindowBase.cpp:
21074 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
21075 (WebCore::windowProtoFuncBToA): Ditto.
21076 * bindings/js/JSEventListener.cpp:
21077 (WebCore::JSLazyEventListener::eventParameterName): Adopted
21078 jsNontrivialString.
21079 * bindings/js/JSSVGLazyEventListener.cpp:
21080 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
21082 2008-08-29 Brady Eidson <beidson@apple.com>
21084 Reviewed by Anders' rubberstamp
21086 Style cleanup to match MediaTokenizer::writeRawData()
21088 * loader/PluginDocument.cpp:
21089 (WebCore::PluginTokenizer::writeRawData):
21091 2008-08-29 Brady Eidson <beidson@apple.com>
21095 https://bugs.webkit.org/show_bug.cgi?id=20556
21096 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
21098 Fix regression I introducted in 35946
21099 Already covered by media/video-click-dlbclick-standalone.html
21101 * loader/MediaDocument.cpp:
21102 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
21103 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
21104 an ASSERT signifying that this method should only be called once, to more closely follow the
21105 PluginDocument case.
21107 2008-08-29 Beth Dakin <bdakin@apple.com>
21109 Reviewed by Sam Weinig.
21111 Fix for <rdar://problem/6181588>
21113 This patch makes hit testing take into account the new concept of a
21114 disconnected frame, in which some of the content may not be
21115 visible. The current hit testing mechanism starts at a target frame
21116 and drills down for a HitTestResult. In some cases, drilling down
21117 will find a non-visible result. When this happens, we need to try
21118 again, starting at a higher level -- namely, starting at the main
21121 * editing/Editor.cpp:
21122 (WebCore::Editor::insideVisibleArea): New function that tests if a
21123 point is inside the visible area for a disconnected frame.
21124 * editing/Editor.h:
21125 * page/EventHandler.cpp:
21126 (WebCore::EventHandler::hitTestResultAtPoint):
21128 2008-08-29 Adele Peterson <adele@apple.com>
21130 Reviewed by Adam Roben.
21132 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
21136 * WebCore.vcproj/WebCore.vcproj:
21137 * WebCore.xcodeproj/project.pbxproj:
21138 * WebCoreSources.bkl:
21139 * html/HTMLTextFieldInnerElement.cpp: Removed.
21140 * html/HTMLTextFieldInnerElement.h: Removed.
21141 * rendering/RenderTextControl.cpp:
21142 (WebCore::RenderTextControl::createSubtreeIfNeeded):
21143 * rendering/RenderTextControl.h:
21144 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
21145 (WebCore::TextControlInnerElement::TextControlInnerElement):
21146 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
21147 (WebCore::TextControlInnerTextElement::defaultEventHandler):
21148 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
21149 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
21150 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
21151 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
21152 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
21154 2008-08-29 Eric Seidel <eric@webkit.org>
21156 Rubber-stamped by aroben.
21158 Add GraphicsContext.h include to GraphcisContextPrivate.h
21160 GraphicsContextPrivate uses StrokeStyle which is defined
21161 in GraphicsContext.h but it doesn't include that header.
21162 CoreGraphics build doesn't fail here due to the order
21163 it happens to include files.
21165 * platform/graphics/GraphicsContextPrivate.h:
21167 2008-08-29 Eric Seidel <eric@webkit.org>
21171 Fix GeneratedImage to respect Image's refcounting
21172 Fixing potential crashers (future if not current)
21173 https://bugs.webkit.org/show_bug.cgi?id=20567
21175 I don't know if it's possible to make the current code
21176 crash, thus I've not made a test.
21178 * css/CSSGradientValue.cpp:
21179 (WebCore::CSSGradientValue::image):
21180 * css/CSSImageGeneratorValue.cpp:
21181 (WebCore::CSSImageGeneratorValue::removeClient):
21182 (WebCore::CSSImageGeneratorValue::getImage):
21183 * css/CSSImageGeneratorValue.h:
21184 * platform/graphics/GeneratedImage.h:
21185 (WebCore::GeneratedImage::GeneratedImage):
21186 * rendering/style/RenderStyle.cpp:
21187 (WebCore::RenderStyle::setContent):
21188 * rendering/style/RenderStyle.h:
21190 2008-08-29 Eric Carlson <eric.carlson@apple.com>
21194 Fix for <rdar://problem/6093767>
21195 https://bugs.webkit.org/show_bug.cgi?id=20526
21197 Don't allow video to render until unsupported track types have been disabled.
21199 * platform/graphics/win/QTMovieWin.cpp:
21200 (QTMovieWinPrivate::task):
21201 (QTMovieWinPrivate::drawingComplete):
21202 (QTMovieWinPrivate::clearGWorld):
21204 2008-08-29 Eric Carlson <eric.carlson@apple.com>
21208 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
21209 <rdar://problem/6169301>
21211 Return the size of the movie data instead of 1000.
21213 Test: media/progress-event-total.html
21215 * platform/graphics/win/QTMovieWin.cpp:
21216 (QTMovieWin::dataSize):
21218 2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
21220 Reviewed by Eric Seidel.
21222 [janitor/qt] Start replacing port specific getters with the generic native getter
21223 To get the native presentation of an image we currently have platform
21224 specific #ifdef's and a generic getter using NativeImagePtr. This patch
21225 extends this to the ImageBuffer and updates the Qt platform to get rid
21226 of the special #ifdefs.
21228 https://bugs.webkit.org/attachment.cgi?id=22861
21230 * platform/graphics/BitmapImage.h:
21231 * platform/graphics/Image.h:
21232 * platform/graphics/qt/ImageQt.cpp:
21233 * platform/graphics/qt/StillImageQt.cpp:
21234 * platform/graphics/qt/StillImageQt.h:
21235 * platform/qt/ClipboardQt.cpp:
21236 (WebCore::ClipboardQt::createDragImage):
21237 (WebCore::ClipboardQt::declareAndWriteDragImage):
21238 * platform/qt/CursorQt.cpp:
21239 * platform/qt/PasteboardQt.cpp:
21240 (WebCore::Pasteboard::writeImage):
21242 2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
21246 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
21248 * svg/graphics/qt/SVGPaintServerQt.cpp:
21249 (WebCore::SVGPaintServer::renderPath):
21250 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
21251 (WebCore::SVGPaintServerSolid::setup):
21253 2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
21257 [network/qt] Implement defering of loading ResourceHandle's
21258 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
21259 implementation is simply not forwarding anything to the
21260 ResourceHandleClient until we are allowed to. This might lead to a deadlock
21261 in Qt as we do not empty the QNetworkReply input buffer and wait until we
21262 are allowed to read. If that happens we are forced to buffer the data
21263 within QNetworkReplyHandler, for now this is not done.
21266 - Open http://acid3.acidtests.org
21267 - Wait for the test to complete
21268 - Click on the Reference Rendering link
21269 - Be fast and see the results of acid3
21272 * platform/network/qt/QNetworkReplyHandler.cpp:
21273 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
21274 (WebCore::QNetworkReplyHandler::setLoadMode):
21275 (WebCore::QNetworkReplyHandler::finish):
21276 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
21277 (WebCore::QNetworkReplyHandler::forwardData):
21278 (WebCore::QNetworkReplyHandler::start):
21279 (WebCore::QNetworkReplyHandler::resetState):
21280 (WebCore::QNetworkReplyHandler::sendQueuedItems):
21281 * platform/network/qt/QNetworkReplyHandler.h:
21282 (WebCore::QNetworkReplyHandler::):
21283 * platform/network/qt/ResourceHandleQt.cpp:
21284 (WebCore::ResourceHandle::start):
21285 (WebCore::ResourceHandle::loadResourceSynchronously):
21286 (WebCore::ResourceHandle::setDefersLoading):
21288 2008-08-29 Simon Hausmann <hausmann@webkit.org>
21290 Reviewed by Holger.
21292 Don't crash when drawing patterns with the HTML canvas. Patterns
21293 remain unimplemented but at least they don't crash anymore. This is
21294 done by changing the PlatformPatternPtr to be a brush for the Qt
21297 * platform/graphics/Pattern.h:
21298 * platform/graphics/qt/GraphicsContextQt.cpp:
21299 (WebCore::GraphicsContext::fillPath):
21300 (WebCore::GraphicsContext::strokePath):
21301 (WebCore::GraphicsContext::fillRect):
21302 * platform/graphics/qt/PatternQt.cpp:
21303 (WebCore::Pattern::createPlatformPattern):
21305 2008-08-29 Simon Hausmann <hausmann@webkit.org>
21307 Fix the Qt build, fontSelector() is not used by the Qt port yet
21308 and we just return 0 in Font::fontSelector().
21310 * platform/graphics/Font.h:
21312 2008-08-28 Alp Toker <alp@nuanti.com>
21314 GTK+ dist/build fix. List newly added header files.
21318 2008-08-28 Simon Fraser <simon.fraser@apple.com>
21320 Reviewed by Dave Hyatt
21322 Various WebKitCSSTransformValue-related fixes
21323 https://bugs.webkit.org/show_bug.cgi?id=20562
21325 Test: css3/transform-value-types.html
21327 * bindings/js/JSCSSValueCustom.cpp:
21330 * css/WebKitCSSTransformValue.cpp:
21331 (WebCore::WebKitCSSTransformValue::cssText):
21332 * css/WebKitCSSTransformValue.h:
21333 (WebCore::WebKitCSSTransformValue::):
21334 * css/WebKitCSSTransformValue.idl:
21336 2008-08-28 Dan Bernstein <mitz@apple.com>
21338 Reviewed by Steve Falkenburg.
21340 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
21342 * platform/win/SharedTimerWin.cpp:
21343 (WebCore::TimerWindowWndProc):
21345 2008-08-28 David Hyatt <hyatt@apple.com>
21347 RenderStyle cleanup.
21349 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
21353 * css/CSSImageGeneratorValue.cpp:
21354 * css/CSSImageValue.cpp:
21355 * css/CSSStyleSelector.cpp:
21356 * rendering/RenderImageGeneratedContent.cpp:
21357 * rendering/style/NinePieceImage.cpp: Added.
21358 * rendering/style/NinePieceImage.h: Added.
21359 * rendering/style/RenderStyle.cpp:
21360 (WebCore::FillLayer::operator==):
21361 (WebCore::FillLayer::containsImage):
21362 (WebCore::StyleInheritedData::operator==):
21363 (WebCore::RenderStyle::contentDataEquivalent):
21364 * rendering/style/RenderStyle.h:
21365 * rendering/style/StyleCachedImage.cpp: Added.
21366 * rendering/style/StyleCachedImage.h: Added.
21367 * rendering/style/StyleGeneratedImage.cpp: Added.
21368 * rendering/style/StyleGeneratedImage.h: Added.
21369 * rendering/style/StyleImage.h: Added.
21371 2008-08-28 Simon Fraser <simon.fraser@apple.com>
21373 Reviewed by Dave Hyatt
21375 Make all the 'isFoo()' methods on CSSValue const,
21376 and fix the subclasses.
21378 https://bugs.webkit.org/show_bug.cgi?id=20561
21380 * css/CSSTimingFunctionValue.h:
21382 (WebCore::CSSValue::isFontValue):
21383 (WebCore::CSSValue::isImageGeneratorValue):
21384 (WebCore::CSSValue::isImageValue):
21385 (WebCore::CSSValue::isImplicitInitialValue):
21386 * css/CSSValueList.h:
21389 2008-08-28 David Hyatt <hyatt@apple.com>
21391 The great RenderStyle cleanup begins!
21393 Move LengthBox and LengthSize out of RenderStyle and into Length.
21397 * rendering/Length.h:
21399 (WebCore::Length::Length):
21400 (WebCore::Length::operator==):
21401 (WebCore::Length::operator!=):
21402 (WebCore::Length::value):
21403 (WebCore::Length::rawValue):
21404 (WebCore::Length::percent):
21405 (WebCore::Length::type):
21406 (WebCore::Length::quirk):
21407 (WebCore::Length::setValue):
21408 (WebCore::Length::setRawValue):
21409 (WebCore::Length::calcValue):
21410 (WebCore::Length::calcMinValue):
21411 (WebCore::Length::calcFloatValue):
21412 (WebCore::Length::isUndefined):
21413 (WebCore::Length::isZero):
21414 (WebCore::Length::isPositive):
21415 (WebCore::Length::isNegative):
21416 (WebCore::Length::isAuto):
21417 (WebCore::Length::isRelative):
21418 (WebCore::Length::isPercent):
21419 (WebCore::Length::isFixed):
21420 (WebCore::Length::isStatic):
21421 (WebCore::Length::isIntrinsicOrAuto):
21422 (WebCore::Length::blend):
21423 (WebCore::LengthBox::LengthBox):
21424 (WebCore::LengthBox::operator=):
21425 (WebCore::LengthBox::operator==):
21426 (WebCore::LengthBox::operator!=):
21427 (WebCore::LengthBox::nonZero):
21428 (WebCore::LengthSize::LengthSize):
21429 * rendering/style/RenderStyle.h:
21431 2008-08-28 David Hyatt <hyatt@apple.com>
21435 https://bugs.webkit.org/show_bug.cgi?id=18091
21437 font-size should be animatable using -webkit-transition.
21439 * page/AnimationController.cpp:
21440 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
21441 * rendering/style/RenderStyle.h:
21442 (WebCore::RenderStyle::setFontSize):
21444 2008-08-28 Brad Garcia <bgarcia@google.com>
21446 Reviewed by Dan Bernstein.
21448 https://bugs.webkit.org/show_bug.cgi?id=20549
21449 Correctly determine when cursor is over a resizable border within
21452 * rendering/RenderFrameSet.cpp:
21453 (WebCore::RenderFrameSet::canResizeRow):
21454 (WebCore::RenderFrameSet::canResizeColumn):
21456 2008-08-28 Simon Fraser <simon.fraser@apple.com>
21458 Reviewed by Eric Seidel
21460 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
21461 https://bugs.webkit.org/show_bug.cgi?id=20552
21463 Test: animations/animation-css-rule-types.html
21467 2008-08-28 Anders Carlsson <andersca@apple.com>
21469 Reviewed by Kevin and Darin.
21471 <rdar://problem/6182541>
21472 https://bugs.webkit.org/show_bug.cgi?id=20202
21473 Missing http status line from the http headers.
21475 Add a status line to the header string.
21477 * plugins/PluginStream.cpp:
21478 (WebCore::PluginStream::startStream):
21480 2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
21482 Rubber-stamped by Darin Adler.
21484 https://bugs.webkit.org/show_bug.cgi?id=17261
21486 Make it possible to theme the default Url icon and enable this for
21487 the Qt port. To have a minimal usage of #ifdef in the code the setting
21488 of the icon was moved to a new method which comes in two flavors.
21490 * loader/icon/IconDatabase.cpp:
21491 (WebCore::loadDefaultIconRecord): Load or set the default icon
21492 (WebCore::IconDatabase::defaultIcon):
21494 2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
21496 Unreviewed compile fix
21498 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
21500 2008-08-28 Adam Roben <aroben@apple.com>
21502 Windows (and others?) build fix
21504 * page/Chrome.cpp: Added a missing #include.
21505 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
21507 2008-08-27 Eric Seidel <eric@webkit.org>
21509 Reviewed by Oliver Hunt.
21511 Qt and Cairo support from krit (and blind stab @ wx compile support)
21512 https://bugs.webkit.org/show_bug.cgi?id=20373
21514 * platform/graphics/cairo/GraphicsContextCairo.cpp:
21515 (WebCore::GraphicsContext::fillPath):
21516 (WebCore::GraphicsContext::strokePath):
21517 (WebCore::GraphicsContext::drawPath):
21518 (WebCore::GraphicsContext::fillRect):
21519 (WebCore::GraphicsContext::setPlatformFillColor):
21520 (WebCore::GraphicsContext::setPlatformStrokeColor):
21521 (WebCore::GraphicsContext::setPlatformStrokeStyle):
21522 (WebCore::GraphicsContext::strokeRect):
21523 (WebCore::GraphicsContext::setImageInterpolationQuality):
21524 (WebCore::GraphicsContext::imageInterpolationQuality):
21525 (WebCore::GraphicsContext::setPlatformFillPattern):
21526 (WebCore::GraphicsContext::setPlatformStrokePattern):
21527 (WebCore::GraphicsContext::setPlatformFillGradient):
21528 (WebCore::GraphicsContext::setPlatformStrokeGradient):
21529 * platform/graphics/qt/GraphicsContextQt.cpp:
21530 (WebCore::GraphicsContext::fillPath):
21531 (WebCore::GraphicsContext::strokePath):
21532 (WebCore::GraphicsContext::fillRect):
21533 (WebCore::GraphicsContext::strokeRect):
21534 (WebCore::GraphicsContext::clipToImageBuffer):
21535 (WebCore::GraphicsContext::setPlatformFillPattern):
21536 (WebCore::GraphicsContext::setPlatformStrokePattern):
21537 (WebCore::GraphicsContext::setPlatformFillGradient):
21538 (WebCore::GraphicsContext::setPlatformStrokeGradient):
21539 (WebCore::GraphicsContext::setImageInterpolationQuality):
21540 (WebCore::GraphicsContext::imageInterpolationQuality):
21541 * platform/graphics/wx/GraphicsContextWx.cpp:
21542 (WebCore::GraphicsContext::clipToImageBuffer):
21543 (WebCore::GraphicsContext::setImageInterpolationQuality):
21544 (WebCore::GraphicsContext::imageInterpolationQuality):
21545 (WebCore::GraphicsContext::fillPath):
21546 (WebCore::GraphicsContext::strokePath):
21547 (WebCore::GraphicsContext::drawPath):
21548 (WebCore::GraphicsContext::fillRect):
21549 (WebCore::GraphicsContext::setPlatformFillPattern):
21550 (WebCore::GraphicsContext::setPlatformStrokePattern):
21551 (WebCore::GraphicsContext::setPlatformFillGradient):
21553 2008-08-27 Eric Seidel <eric@webkit.org>
21555 Reviewed by Oliver Hunt.
21557 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
21558 https://bugs.webkit.org/show_bug.cgi?id=20373
21560 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
21562 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
21563 have to store large Gradient objects in the GraphicsContextState
21565 Made Pattern RefCounted for the same reason.
21567 Many updates to GraphicsContext to support easier drawing with
21568 Patterns and Gradients.
21570 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
21571 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
21573 * css/CSSGradientValue.cpp:
21574 (WebCore::CSSGradientValue::createGradient):
21575 * css/CSSGradientValue.h:
21576 * html/CanvasGradient.cpp:
21577 (WebCore::CanvasGradient::CanvasGradient):
21578 * html/CanvasGradient.h:
21579 (WebCore::CanvasGradient::gradient):
21580 (WebCore::CanvasGradient::addColorStop):
21581 (WebCore::CanvasGradient::getColor):
21582 * html/CanvasPattern.cpp:
21583 * html/CanvasPattern.h:
21584 (WebCore::CanvasPattern::pattern):
21585 (WebCore::CanvasPattern::originClean):
21586 * html/CanvasRenderingContext2D.cpp:
21587 (WebCore::CanvasRenderingContext2D::State::State):
21588 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
21589 (WebCore::CanvasRenderingContext2D::setFillStyle):
21590 (WebCore::CanvasRenderingContext2D::fill):
21591 (WebCore::CanvasRenderingContext2D::stroke):
21592 (WebCore::CanvasRenderingContext2D::fillRect):
21593 (WebCore::CanvasRenderingContext2D::strokeRect):
21594 * html/CanvasRenderingContext2D.h:
21595 * html/CanvasStyle.cpp:
21596 (WebCore::CanvasStyle::applyStrokeColor):
21597 (WebCore::CanvasStyle::applyFillColor):
21598 * html/CanvasStyle.h:
21599 * platform/graphics/GeneratedImage.h:
21600 (WebCore::GeneratedImage::GeneratedImage):
21601 * platform/graphics/Generator.h:
21602 * platform/graphics/Gradient.h:
21603 (WebCore::Gradient::create):
21604 * platform/graphics/GraphicsContext.cpp:
21605 (WebCore::GraphicsContext::fillRule):
21606 (WebCore::GraphicsContext::setFillRule):
21607 (WebCore::GraphicsContext::setStrokePattern):
21608 (WebCore::GraphicsContext::setFillPattern):
21609 (WebCore::GraphicsContext::setStrokeGradient):
21610 (WebCore::GraphicsContext::setFillGradient):
21611 * platform/graphics/GraphicsContext.h:
21612 * platform/graphics/GraphicsContextPrivate.h:
21614 (WebCore::GraphicsContextState::GraphicsContextState):
21615 * platform/graphics/GraphicsTypes.h:
21616 * platform/graphics/Path.h:
21617 * platform/graphics/Pattern.h:
21618 (WebCore::Pattern::create):
21619 (WebCore::Pattern::tileImage):
21620 * platform/graphics/cg/GraphicsContextCG.cpp:
21621 (WebCore::GraphicsContext::drawRect):
21622 (WebCore::GraphicsContext::drawEllipse):
21623 (WebCore::GraphicsContext::drawConvexPolygon):
21624 (WebCore::calculateDrawingMode):
21625 (WebCore::GraphicsContext::drawPath):
21626 (WebCore::fillPathWithFillRule):
21627 (WebCore::GraphicsContext::fillPath):
21628 (WebCore::GraphicsContext::strokePath):
21629 (WebCore::GraphicsContext::fillRect):
21630 (WebCore::GraphicsContext::fillRoundedRect):
21631 (WebCore::GraphicsContext::setPlatformStrokePattern):
21632 (WebCore::GraphicsContext::setPlatformFillPattern):
21633 (WebCore::GraphicsContext::setPlatformStrokeGradient):
21634 (WebCore::GraphicsContext::setPlatformFillGradient):
21636 2008-08-20 Eric Seidel <eric@webkit.org>
21638 Reviewed by Darin and Alexey.
21640 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
21641 with timeouts paused.
21642 https://bugs.webkit.org/show_bug.cgi?id=20469
21644 I attempted to clean up the memory management of PausedTimeouts, I'm not
21645 sure the solution I came up with is "cleaner", but it's in some ways
21646 "safer", since it no longer uses raw pointers and manual new/delete.
21648 This also now prevents CachedPage from needlessly creating Window
21649 objects when caching pages which didn't already have one. :)
21651 I also made Chrome.cpp no longer depend on the JavaScript bindings
21652 (aka JSDOMWindowBase.h), since there was no real reason for it to.
21654 * bindings/js/JSDOMWindowBase.cpp:
21655 (WebCore::JSDOMWindowBase::pauseTimeouts):
21656 (WebCore::JSDOMWindowBase::resumeTimeouts):
21657 * bindings/js/JSDOMWindowBase.h:
21658 * bindings/js/ScriptController.cpp:
21659 (WebCore::ScriptController::pauseTimeouts):
21660 (WebCore::ScriptController::resumeTimeouts):
21661 * bindings/js/ScriptController.h:
21662 * history/CachedPage.cpp:
21663 (WebCore::CachedPage::CachedPage):
21664 (WebCore::CachedPage::restore):
21666 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
21667 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
21668 * page/JavaScriptDebugServer.cpp:
21669 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
21670 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
21672 2008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
21674 Unreviewed compile fix
21676 Add the stub for the Qt port.
21679 * page/qt/AccessibilityObjectQt.cpp: Added.
21680 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21682 2008-08-27 Alp Toker <alp@nuanti.com>
21686 https://bugs.webkit.org/show_bug.cgi?id=20551
21687 [GTK] search popup crash
21689 * platform/gtk/SearchPopupMenuGtk.cpp:
21690 (WebCore::SearchPopupMenu::enabled):
21691 Fix a search popup crasher by disabling the history popup since we
21692 don't support this feature yet in the GTK+ port.
21694 2008-08-27 Alp Toker <alp@nuanti.com>
21698 https://bugs.webkit.org/show_bug.cgi?id=20551
21699 [GTK] curl crashers
21701 * platform/network/curl/ResourceHandleManager.cpp:
21702 (WebCore::ResourceHandleManager::startScheduledJobs):
21703 Remove the resource handle from the pending list before starting the
21704 job, not afterwards. Fixes crashers in the test suite.
21706 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
21707 Test: fast/encoding/char-encoding.html
21709 2008-08-27 Dirk Schulze <vbs85@gmx.de>
21711 Reviewed by eseidel.
21713 Fix canvas drawImage to support composite operations.
21714 Composite had no effect on canvas elements like these:
21715 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
21717 [CAIRO] Canvas composite don't work on canvas-elements.
21718 https://bugs.webkit.org/show_bug.cgi?id=20548
21720 * html/CanvasRenderingContext2D.cpp:
21721 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
21723 2008-08-27 Mario Bensi <mbensi@pleyo.com>
21725 Reviewed by Eric Seidel.
21727 Fix the data content of an image with a base64.
21729 * platform/network/curl/ResourceHandleManager.cpp:
21730 (WebCore::parseDataUrl): Remove the String and use only the data
21731 Vector because the data.latin1().data() convert the data content and
21732 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
21733 not drawn correctly.
21735 2008-08-27 Antti Koivisto <antti@apple.com>
21737 Reviewed by Eric Seidel.
21739 Crash after OK in dialog box and reloading page in secure mode
21740 https://bugs.webkit.org/show_bug.cgi?id=20493
21742 The new run loop spawned by a modal dialog causes a timer in the loader to run
21743 synchronously inside didFinishLoading() deleting "this" object.
21745 Defer all WebCore timers when a modal dialog is up. They are not
21749 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
21750 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
21752 2008-08-27 Chris Marrin <cmarrin@apple.com>
21754 Reviewed by Dave Hyatt
21756 Memory leaks when animating transforms
21757 https://bugs.webkit.org/show_bug.cgi?id=20532
21759 * rendering/style/RenderStyle.cpp:
21760 (WebCore::ScaleTransformOperation::blend):
21761 (WebCore::RotateTransformOperation::blend):
21762 (WebCore::SkewTransformOperation::blend):
21763 (WebCore::TranslateTransformOperation::blend):
21764 (WebCore::MatrixTransformOperation::blend):
21765 * rendering/style/RenderStyle.h:
21767 2008-08-27 Timothy Hatcher <timothy@apple.com>
21769 Add support for support for -webkit-appearance: default-button on the Mac platform.
21771 <rdar://problem/6173530>
21773 Reviewed by Dave Hyatt.
21775 * WebCore.base.exp: Export new symbols.
21776 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
21777 * platform/mac/WebCoreSystemInterface.mm: Ditto.
21778 * rendering/RenderButton.cpp:
21779 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
21780 (WebCore::RenderButton::setStyle): Ditto.
21781 * rendering/RenderButton.h: Ditto.
21782 * rendering/RenderThemeMac.mm:
21783 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
21784 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
21785 key if the button is default, otherwise reset the key equivalent.
21786 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
21787 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
21788 the window's previous default button cell when finished.
21790 2008-08-26 David Hyatt <hyatt@apple.com>
21792 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
21796 Added fast/forms/zoomed-controls.html
21798 * css/CSSStyleSelector.cpp:
21799 (WebCore::addIntrinsicMargins):
21800 * rendering/RenderSlider.cpp:
21801 (WebCore::RenderSlider::calcPrefWidths):
21802 * rendering/RenderThemeMac.h:
21803 * rendering/RenderThemeMac.mm:
21804 (WebCore::RenderThemeMac::adjustRepaintRect):
21805 (WebCore::RenderThemeMac::inflateRect):
21806 (WebCore::RenderThemeMac::baselinePosition):
21807 (WebCore::RenderThemeMac::setControlSize):
21808 (WebCore::RenderThemeMac::sizeForFont):
21809 (WebCore::RenderThemeMac::sizeForSystemFont):
21810 (WebCore::RenderThemeMac::setFontFromControlSize):
21811 (WebCore::RenderThemeMac::paintCheckbox):
21812 (WebCore::RenderThemeMac::setCheckboxCellState):
21813 (WebCore::RenderThemeMac::paintRadio):
21814 (WebCore::RenderThemeMac::setRadioCellState):
21815 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
21816 (WebCore::RenderThemeMac::adjustButtonStyle):
21817 (WebCore::RenderThemeMac::setButtonCellState):
21818 (WebCore::RenderThemeMac::paintButton):
21819 (WebCore::RenderThemeMac::paintMenuList):
21820 (WebCore::RenderThemeMac::paintMenuListButton):
21821 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
21822 (WebCore::RenderThemeMac::popupInternalPaddingRight):
21823 (WebCore::RenderThemeMac::popupInternalPaddingTop):
21824 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
21825 (WebCore::RenderThemeMac::setPopupButtonCellState):
21826 (WebCore::RenderThemeMac::paintSliderTrack):
21827 (WebCore::RenderThemeMac::paintSliderThumb):
21828 (WebCore::RenderThemeMac::adjustSliderThumbSize):
21829 (WebCore::RenderThemeMac::paintSearchField):
21830 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
21831 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
21832 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
21834 2008-08-27 Brady Eidson <beidson@apple.com>
21838 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
21840 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
21841 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
21842 away the virtual address space and a crash.
21844 * loader/EmptyClients.h:
21845 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
21846 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
21847 "plugin will handle load"
21849 * loader/MediaDocument.cpp:
21850 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
21851 and cancel the WebCore-managed load
21852 (WebCore::MediaTokenizer::writeRawData):
21853 (WebCore::MediaTokenizer::finish):
21855 2008-08-26 Simon Fraser <simon.fraser@apple.com>
21857 Reviewed by Eric Seidel
21859 Linear timing functions should have control points 0, 0, 1, 1.
21860 https://bugs.webkit.org/show_bug.cgi?id=20535
21862 * css/CSSStyleSelector.cpp:
21863 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
21864 * rendering/style/RenderStyle.h:
21866 2008-08-27 Adam Roben <aroben@apple.com>
21870 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
21872 2008-08-26 Chris Fleizach <cfleizach@apple.com>
21874 Reviewed by Beth Dakin.
21876 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
21878 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
21879 to determine if an attachment is ignored through accessibility. Added equivalent
21880 methods in Gtk, Win and Mac
21882 Test: accessibility/plugin.html
21885 * WebCore.vcproj/WebCore.vcproj:
21886 * WebCore.xcodeproj/project.pbxproj:
21887 * page/AccessibilityObject.h:
21888 * page/AccessibilityRenderObject.cpp:
21889 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
21890 * page/gtk/AccessibilityObjectAtk.cpp: Added.
21891 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21892 * page/mac/AccessibilityObjectMac.mm: Added.
21893 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21894 * page/mac/AccessibilityObjectWrapper.h:
21895 * page/win/AccessibilityObjectWin.cpp: Added.
21896 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
21898 2008-08-26 Chris Fleizach <cfleizach@apple.com>
21900 Reviewed by Beth Dakin.
21902 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
21904 * page/mac/AccessibilityObjectWrapper.mm:
21905 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
21906 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
21908 2008-08-26 Chris Fleizach <cfleizach@apple.com>
21910 Reviewed by Darin Adler.
21912 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
21914 Tests: accessibility/table-notbody.html
21916 * page/AccessibilityTable.cpp:
21917 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
21919 2008-08-26 Sam Weinig <sam@webkit.org>
21921 Reviewed by Beth Dakin.
21925 * dom/DOMCoreException.h:
21927 2008-08-26 Sam Weinig <sam@webkit.org>
21929 Reviewed by Oliver Hunt.
21931 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
21932 <rdar://problem/6167660>
21933 Take image redirects into account when tainting the canvas.
21935 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
21937 * html/CanvasRenderingContext2D.cpp:
21938 (WebCore::CanvasRenderingContext2D::drawImage):
21939 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
21941 2008-08-26 Sam Weinig <sam@webkit.org>
21943 Reviewed by Darin Adler.
21945 Change canvas tainting logic to ask the image if it contains
21946 any resources outside of its own origin. Since there is no
21947 way to determine if SVG images contain any resources outside its
21948 origin, we always assume it does.
21950 * html/CanvasRenderingContext2D.cpp:
21951 (WebCore::CanvasRenderingContext2D::drawImage):
21952 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
21953 * platform/graphics/BitmapImage.h:
21954 (WebCore::BitmapImage::hasSingleSecurityOrigin):
21955 * platform/graphics/GeneratedImage.h:
21956 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
21957 * platform/graphics/Image.h:
21958 (WebCore::Image::hasSingleSecurityOrigin):
21959 * platform/graphics/cg/PDFDocumentImage.h:
21960 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
21961 * svg/graphics/SVGImage.h:
21963 2008-08-26 Maxime Britto <britto@apple.com>
21967 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
21968 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.
21969 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.
21971 * page/EventHandler.cpp:
21972 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
21973 * page/EventHandler.h:
21974 * rendering/RenderLayer.cpp:
21975 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
21976 (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.
21977 * rendering/RenderLayer.h:
21978 * rendering/RenderObject.cpp:
21979 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
21980 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
21981 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
21983 2008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
21985 Reviewed by Darin Adler.
21987 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
21988 https://bugs.webkit.org/show_bug.cgi?id=20247
21990 <rdar://problem/6118218>
21992 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
21993 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
21994 (case insensitive for HTML elements).
21996 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
21999 (WebCore::Element::getAttribute):
22000 * dom/NamedAttrMap.cpp:
22001 (WebCore::NamedAttrMap::getNamedItem):
22002 (WebCore::NamedAttrMap::getAttributeItem):
22003 * dom/NamedAttrMap.h:
22005 2008-08-25 Sam Weinig <sam@webkit.org>
22007 Reviewed by Oliver Hunt.
22009 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
22010 <rdar://problem/6174096>
22011 Treat SVG images as dirty when drawing to a canvas.
22013 Test: http/tests/security/canvas-remote-read-svg-image.html
22015 * html/CanvasRenderingContext2D.cpp:
22016 (WebCore::CanvasRenderingContext2D::drawImage):
22017 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
22018 * platform/graphics/Image.h:
22019 (WebCore::Image::isSVGImage):
22020 * svg/graphics/SVGImage.h:
22021 (WebCore::SVGImage::isSVGImage):
22023 2008-08-25 Sam Weinig <sam@webkit.org>
22025 Reviewed by Mark Rowe.
22027 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
22028 Leak in XMLHttpRequest.
22030 * xml/XMLHttpRequest.cpp:
22031 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
22033 2008-08-25 Brady Eidson <beidson@apple.com>
22037 Speculative fix for <rdar://problem/6173217>
22039 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
22040 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
22041 the first null check invalid.
22043 * loader/FrameLoader.cpp:
22044 (WebCore::FrameLoader::stopAllLoaders):
22047 2008-08-25 Kevin McCullough <kmccullough@apple.com>
22051 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
22052 there is no profile, can cause crash
22054 * page/inspector/ProfilesPanel.js:
22056 2008-08-25 Dean Jackson <dino@apple.com>
22058 Reviewed by Dave Hyatt
22060 Make sure 'inherit' is handled by transition property.
22061 https://bugs.webkit.org/show_bug.cgi?id=20513
22063 Test: transitions/inherit.html
22064 Test: transitions/inherit-other-props.html
22066 * css/CSSStyleSelector.cpp:
22067 fix macro to check existence of list before getting size
22069 2008-08-25 Anders Carlsson <andersca@apple.com>
22073 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
22075 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
22076 (safely) that any class that needs finalization on the main thread will also need to be deallocated
22077 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
22078 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
22080 * platform/mac/WebCoreObjCExtras.c:
22081 (WebCoreObjCFinalizeOnMainThread):
22083 2008-08-25 Antti Koivisto <antti@apple.com>
22085 Reviewed by Dan Bernstein.
22087 Rename CachedResource::referenced() to CachedResource::hasClients() to
22088 match previous ref() -> addClient() rename.
22090 * loader/Cache.cpp:
22091 (WebCore::Cache::pruneLiveResources):
22092 (WebCore::Cache::pruneDeadResources):
22093 (WebCore::Cache::remove):
22094 (WebCore::Cache::getStatistics):
22095 (WebCore::Cache::dumpLRULists):
22096 * loader/CachedResource.cpp:
22097 (WebCore::CachedResource::addClient):
22098 (WebCore::CachedResource::removeClient):
22099 (WebCore::CachedResource::setDecodedSize):
22100 (WebCore::CachedResource::setEncodedSize):
22101 * loader/CachedResource.h:
22102 (WebCore::CachedResource::hasClients):
22103 (WebCore::CachedResource::canDelete):
22105 2008-08-25 Anthony Ricaud <rik24d@gmail.com>
22107 Add a missing Inspector localized string for "other".
22109 https://bugs.webkit.org/show_bug.cgi?id=20509
22111 Reviewed by Tim Hatcher.
22113 * English.lproj/localizedStrings.js:
22115 2008-08-22 Kevin McCullough <kmccullough@apple.com>
22117 Reviewed by Geoff, Mark and Tim.
22119 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
22120 in the console said what file and line number they came from
22121 - Lay the foundation for getting line numbers and other data from the
22124 * ForwardingHeaders/VM: Added.
22125 * ForwardingHeaders/VM/Machine.h: Added.
22126 * page/Console.cpp: Gather the line number and file information when
22127 profileEnd has been called, but don't use it until didFinishProfiling is
22128 called. We won't need to wait once we remove the profiler "zombie" mode
22129 which this patch helps pave the foundation for.
22130 (WebCore::Console::Console):
22131 (WebCore::Console::profileEnd):
22132 (WebCore::Console::finishedProfiling):
22134 * page/InspectorController.cpp: Modify calls to
22135 addProfileMessageToConsole to satisfy the new arguments it takes.
22136 (WebCore::InspectorController::finishedProfiling):
22137 (WebCore::InspectorController::addProfile):
22138 (WebCore::InspectorController::addProfileMessageToConsole):
22139 (WebCore::InspectorController::finishedProfiling):
22140 * page/InspectorController.h:
22142 2008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
22146 [inspector] Update the WebKit.qrc Qt resources file
22147 Catchup with the changes in the directory.
22149 * page/inspector/WebKit.qrc:
22151 2008-08-25 Dirk Schulze <vbs85@gmx.de>
22155 Transformed the radian to degree, to get rotate()
22156 in canvas work as expected.
22158 [Qt] Canvas.rotate() doesn't work
22159 https://bugs.webkit.org/show_bug.cgi?id=20496
22161 * platform/graphics/qt/GraphicsContextQt.cpp:
22162 (WebCore::GraphicsContext::rotate):
22164 2008-08-24 Steve Falkenburg <sfalken@apple.com>
22166 Add a "last chance" WM_TIMER to the Windows shared timer.
22168 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
22169 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
22170 timers if a timer with an earlier expiration is already pending. This results in no timers
22171 firing from that point on.
22173 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
22174 buggy window message hook.
22176 This timer will start when the first WM_TIMER is scheduled, and will
22177 fire every 5 seconds thereafter, causing any lost timers to be fired.
22179 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
22180 and prevents the WebFrame leak.
22182 Reviewed by Darin Adler, Geoff Garen.
22184 * platform/win/SharedTimerWin.cpp:
22186 (WebCore::TimerWindowWndProc):
22187 (WebCore::setSharedTimerFireTime):
22189 2008-08-24 Dan Bernstein <mitz@apple.com>
22191 Reviewed by Darin Adler.
22193 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
22195 Test: fast/css/font-property-priority.html
22197 * css/CSSParser.cpp:
22198 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
22199 to the font-property-parsing functions.
22200 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
22201 changed to use it rather than the m_important member.
22202 (WebCore::CSSParser::parseFontVariant): Ditto.
22203 (WebCore::CSSParser::parseFontWeight): Ditto.
22206 2008-08-24 Timothy Hatcher <timothy@apple.com>
22208 Fixes a bug where the Inspector's UI would not animate or
22209 fully function because JavaScript timeouts, intervals and
22210 CSS animation timers where not firing while paused at a
22211 a breakpoint in the inspected page.
22213 https://bugs.webkit.org/show_bug.cgi?id=20042
22215 Reviewed by Darin Adler.
22217 Test: manual-tests/inspector/forzen-ui-while-paused.html
22219 * page/JavaScriptDebugServer.cpp:
22220 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
22221 Add a call to TimerBase::fireTimersInNestedEventLoop before
22222 spinning the EventLoop.
22224 2008-08-24 Rob Buis <buis@kde.org>
22226 Reviewed by Sam Weinig.
22228 https://bugs.webkit.org/show_bug.cgi?id=20324
22229 A change in SVG Glyph wont show up
22231 Invalidate the glyph cache when the d attribute is set.
22233 Test: svg/custom/glyph-setting-d-attribute.svg
22235 * svg/SVGGlyphElement.cpp:
22236 (WebCore::SVGGlyphElement::invalidateGlyphCache):
22237 (WebCore::SVGGlyphElement::parseMappedAttribute):
22238 (WebCore::SVGGlyphElement::insertedIntoDocument):
22239 (WebCore::SVGGlyphElement::removedFromDocument):
22240 * svg/SVGGlyphElement.h:
22242 2008-08-24 Dan Bernstein <mitz@apple.com>
22244 Reviewed by Sam Weinig.
22246 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
22247 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
22249 * rendering/RenderText.cpp:
22250 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
22251 beginWS and endWS before the early return to ensure that they are
22252 initialized in that case.
22254 2008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
22256 Rubber-stamped by Mark Rowe.
22261 * bridge/testbindings.cpp:
22263 * loader/SubstituteData.h:
22266 * page/ChromeClient.h:
22268 * page/FrameLoadRequest.h:
22269 * page/FrameTree.cpp:
22270 * page/FrameTree.h:
22272 * page/mac/ChromeMac.mm:
22273 * platform/network/HTTPHeaderMap.h:
22274 * platform/network/ResourceErrorBase.cpp:
22275 * platform/network/ResourceErrorBase.h:
22276 * platform/network/ResourceHandleInternal.h:
22277 * platform/network/ResourceRequestBase.cpp:
22278 * platform/network/ResourceRequestBase.h:
22279 * platform/network/ResourceResponseBase.cpp:
22280 * platform/network/ResourceResponseBase.h:
22281 * platform/network/cf/ResourceError.h:
22282 * platform/network/cf/ResourceRequest.h:
22283 * platform/network/cf/ResourceRequestCFNet.h:
22284 * platform/network/cf/ResourceResponse.h:
22285 * platform/network/cf/ResourceResponseCFNet.h:
22286 * platform/network/curl/ResourceError.h:
22287 * platform/network/curl/ResourceRequest.h:
22288 * platform/network/curl/ResourceResponse.h:
22289 * platform/network/mac/ResourceError.h:
22290 * platform/network/mac/ResourceErrorMac.mm:
22291 * platform/network/mac/ResourceRequest.h:
22292 * platform/network/mac/ResourceRequestMac.mm:
22293 * platform/network/mac/ResourceResponse.h:
22294 * platform/network/mac/ResourceResponseMac.mm:
22295 * platform/network/qt/ResourceError.h:
22296 * platform/network/qt/ResourceRequest.h:
22297 * platform/network/qt/ResourceResponse.h:
22298 * platform/network/soup/CookieJarSoup.cpp:
22299 * platform/network/soup/ResourceError.h:
22300 * platform/network/soup/ResourceRequest.h:
22301 * platform/network/soup/ResourceResponse.h:
22303 2008-08-23 Dan Bernstein <mitz@apple.com>
22305 Reviewed by Dave Hyatt.
22307 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
22309 Test: fast/table/vertical-align-baseline.html
22311 * rendering/RenderTable.cpp:
22312 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
22313 baseline of the first table row, if there is one, -1 otherwise.
22314 * rendering/RenderTable.h:
22315 * rendering/RenderTableCell.cpp:
22316 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
22317 CSS2.1 definition of the baseline of a table cell.
22318 * rendering/RenderTableSection.cpp:
22319 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
22320 the baseline of the first row in the section.
22321 * rendering/RenderTableSection.h:
22323 2008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
22325 Add SPI to make a Windows WebView transparent.
22327 Reviewed by Dan Bernstein.
22329 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
22330 determines whether the created context has an alpha channel.
22331 * platform/graphics/win/GraphicsContextCGWin.cpp:
22332 (WebCore::CGContextWithHDC):
22334 2008-08-22 Timothy Hatcher <timothy@apple.com>
22336 Rolls out r35834 because it caused a regression in the Inspector's
22337 Console where some expressions always threw a syntax error.
22339 https://bugs.webkit.org/show_bug.cgi?id=20487
22341 * page/inspector/Console.js:
22342 (Console.prototype._evalInInspectedWindow): Removes parenthesis
22343 around the expression.
22345 2008-08-22 Timothy Hatcher <timothy@apple.com>
22347 Makes getStyleProperty return a value for the overflow property
22348 when overflow-x and overflow-y are equal.
22350 https://bugs.webkit.org/show_bug.cgi?id=20485
22352 Reviewed by Dan Bernstein.
22354 Test: fast/css/overflow-property.html
22356 * css/CSSMutableStyleDeclaration.cpp:
22357 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
22359 2008-08-22 Timothy Hatcher <timothy@apple.com>
22361 Fixes a bug where while editing in the Inspector the
22362 sidebar scroll position would jump to the top.
22364 https://bugs.webkit.org/show_bug.cgi?id=20484
22366 Reviewed by Darin Adler.
22368 * page/inspector/treeoutline.js:
22369 (TreeOutline._removeChildren): Remove the offsetTop call that
22370 was forcing a layout, since layout causes scroll positions
22371 to be clamped to the new scrollHeight/Width. Layout will happen
22372 normally when needed.
22374 2008-08-22 Kevin Ollivier <kevino@theolliviers.com>
22376 wx build fix. Add AccessibilityTable sources.
22378 * WebCoreSources.bkl:
22380 2008-08-21 Dan Bernstein <mitz@apple.com>
22382 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
22384 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
22386 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
22388 * platform/graphics/mac/SimpleFontDataMac.mm:
22389 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
22390 ascent and 100% to its reported descent.
22392 2008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
22394 Reviewed by Darin Adler.
22396 https://bugs.webkit.org/show_bug.cgi?id=20267
22397 [GTK] Crash on some pages due to a plugin
22399 Fix handling of badly formatted and empty plugin mime descriptions
22401 * plugins/gtk/PluginPackageGtk.cpp:
22402 (WebCore::PluginPackage::fetchInfo):
22404 2008-08-21 Kevin Watters <kevinwatters@gmail.com>
22406 Reviewed by Darin Adler.
22408 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
22409 animated GIF frame duration of less than 50ms.
22411 * platform/graphics/wx/ImageSourceWx.cpp:
22412 (WebCore::ImageSource::frameDurationAtIndex):
22414 2008-08-21 Maxime Britto <britto@apple.com>
22416 Reviewed by Kevin McCullough.
22418 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
22419 https://bugs.webkit.org/show_bug.cgi?id=20451
22421 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
22422 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
22423 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
22425 * page/EventHandler.cpp:
22426 (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.
22428 (WebCore::EventHandler::handleMousePressEvent): ditto
22430 2008-08-21 Anthony Ricaud <rik24d@gmail.com>
22432 Small optimization for when the dividers in the Inspector's
22433 Resources panel are updated.
22435 Reviewed by Tim Hatcher.
22437 * page/inspector/ResourcesPanel.js:
22438 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
22439 Combind a for loop and clone the divider element.
22441 2008-08-21 Chris Marrin <cmarrin@apple.com>
22443 Allow 0 (without units) for Time eg. duration
22444 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
22446 Reviewed by Dave Hyatt.
22448 Test: css1/units/zero-duration-without-units.html
22450 * css/CSSParser.cpp:
22451 (WebCore::CSSParser::validUnit):
22453 2008-08-21 Timothy Hatcher <timothy@apple.com>
22455 Make deleting all text while editing a DOM attribute in
22456 the Inspector delete the attribute. This also fixes
22457 an exception that would happen before.
22459 https://bugs.webkit.org/show_bug.cgi?id=20472
22461 Reviewed by Kevin McCullough.
22463 * page/inspector/ElementsPanel.js:
22464 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
22465 Don't check for hasAttributes on the parseElement, continuing
22466 through the function will correctly remove the attribute.
22467 If the parseElement is null, call _editingCancelled not
22468 editingCancelled, this fixes an exception.
22470 2008-08-21 Timothy Hatcher <timothy@apple.com>
22472 Update the Inspector's Metrics pane when editing in
22473 the Styles pane. This makes sure the metrics shown
22474 always match what the Styles pane shows.
22476 https://bugs.webkit.org/show_bug.cgi?id=20470
22478 Reviewed by Kevin McCullough.
22480 * page/inspector/ElementsPanel.js:
22481 (WebInspector.ElementsPanel): Add event listeners for
22482 the "style edited" and "style property toggled" events,
22483 so the Metrics pane is updated.
22484 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
22485 Update the Metrics pane.
22486 * page/inspector/StylesSidebarPane.js:
22487 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
22488 Dispatch the "style property toggled" event.
22489 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
22490 Dispatch the "style edited" event when the CSS text is restored.
22491 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
22492 Dispatch the "style edited" event.
22494 2008-08-21 Timothy Hatcher <timothy@apple.com>
22496 Make the Inspector's Metrics sidebar pane editable.
22498 https://bugs.webkit.org/show_bug.cgi?id=17218
22499 rdar://problem/5732818
22501 Reviewed by Kevin McCullough.
22503 * page/inspector/ElementsPanel.js:
22504 (WebInspector.ElementsPanel): Add an event listener for
22505 the "metrics edited" event, so the Styles pane is updated.
22506 * page/inspector/MetricsSidebarPane.js:
22507 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
22508 so future updates work. Add a double click event listener for the
22509 metric values to start editing.
22510 (WebInspector.MetricsSidebarPane.prototype.startEditing):
22511 Call WebInspector.startEditing with some context.
22512 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
22513 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
22514 Set the user input on the elements inline style. Fire the
22515 "metrics edited" event.
22517 2008-08-21 Steve Falkenburg <sfalken@apple.com>
22519 Fix a race condition in Windows timer code.
22520 Timer function could end up being called with a 0 timer, leading to a Windows exception.
22522 Don't post a timer message if one is already pending.
22524 Reviewed by Ada Chan.
22526 * platform/win/SharedTimerWin.cpp:
22527 (WebCore::TimerWindowWndProc):
22528 (WebCore::clearTimer):
22529 (WebCore::queueTimerProc):
22530 (WebCore::setSharedTimerFireTime):
22532 2008-08-21 Anthony Ricaud <rik24d@gmail.com>
22534 After trying to add the expression, try again with quotes for
22537 https://bugs.webkit.org/show_bug.cgi?id=20466
22539 Reviewed by Tim Hatcher.
22541 * page/inspector/ObjectPropertiesSection.js: Added an
22542 evaluateExpression function.
22544 2008-08-21 Anthony Ricaud <rik24d@gmail.com>
22546 Perform Inspector searches on search event to clear results when
22547 clicking the cross to empty it. Delete the lastQuery when the field
22548 is emptied in order to perform the search if exactly the same query
22551 https://bugs.webkit.org/show_bug.cgi?id=20462
22553 Reviewed by Tim Hatcher.
22555 * page/inspector/inspector.js:
22557 2008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
22559 Reviewed by Mark Rowe.
22561 http://bugs.webkit.org/show_bug.cgi?id=19656
22562 [SOUP] The gio code should call didFail() instead of
22563 didFinishLoading() in case of error
22565 In case of error call didFail() instead of didReceiveResponse() and
22566 didFinishLoading().
22568 * platform/network/soup/ResourceHandleSoup.cpp:
22569 (WebCore::networkErrorForFile):
22570 (WebCore::readCallback):
22571 (WebCore::openCallback):
22572 (WebCore::queryInfoCallback):
22574 2008-08-20 Mark Rowe <mrowe@apple.com>
22576 Reviewed by Jon Honeycutt.
22580 * bridge/c/c_instance.cpp:
22581 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
22582 as that is what NPEnumerationFunctionPtr is declared as accepting.
22584 2008-08-20 Mark Rowe <mrowe@apple.com>
22586 Reviewed by Dan Bernstein.
22588 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
22590 * platform/graphics/GraphicsContext.h:
22592 * platform/graphics/cg/GraphicsContextCG.cpp:
22593 (WebCore::GraphicsContext::setImageInterpolationQuality):
22594 (WebCore::GraphicsContext::imageInterpolationQuality):
22596 2008-08-20 Dan Bernstein <mitz@apple.com>
22598 Rubber-stamped by John Sullivan.
22600 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
22601 rename related methods and variables accordingly.
22603 * WebCore.base.exp:
22604 * page/FrameView.cpp:
22605 (WebCore::FrameViewPrivate::FrameViewPrivate):
22606 (WebCore::FrameView::shouldUpdateWhileOffscreen):
22607 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
22608 * page/FrameView.h:
22609 * platform/ScrollView.h:
22610 * platform/mac/ScrollViewMac.mm:
22611 (WebCore::ScrollView::updateContents):
22613 2008-08-20 Brady Eidson <beidson@apple.com>
22615 Reviewed by Mitzpettel
22617 <rdar://problem/6163636> - Many images broken in Mail
22619 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
22620 sooner than before and confuse the WebArchive machinery.
22622 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
22623 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
22624 machinery and nothing is known about where the data will eventually come from.
22626 * loader/DocumentLoader.cpp:
22627 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
22628 CachedResource::PreloadReferenced.
22630 2008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
22632 Unreviewed compile fix
22634 Catch up with the JSValue::type elimination.
22636 * bridge/qt/qt_instance.cpp:
22637 (KJS::Bindings::QtRuntimeObjectImp::construct):
22638 (KJS::Bindings::QtInstance::defaultValue):
22639 * bridge/qt/qt_runtime.cpp:
22640 (KJS::Bindings::QtRuntimeConnectionMethod::call):
22642 2008-08-20 Chris Teague <chris.teague@gmail.com>
22644 Reviewed by Mark Rowe.
22646 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
22647 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
22650 * loader/FrameLoader.cpp:
22651 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
22653 2008-08-20 Simon Fraser <simon.fraser@apple.com>
22655 Reviewed by Dave Hyatt
22657 getComputedStyle() for webkitTransform should return a transform
22658 that does not have the transform origin baked into it.
22659 https://bugs.webkit.org/show_bug.cgi?id=20464
22661 Test: fast/css/getComputedStyle-transform.html
22663 * css/CSSComputedStyleDeclaration.cpp:
22664 (WebCore::computedTransform):
22665 * rendering/style/RenderStyle.cpp:
22666 (WebCore::RenderStyle::applyTransform):
22667 * rendering/style/RenderStyle.h:
22669 2008-08-20 Josh Aas <joshmoz@gmail.com>
22671 Reviewed and landed by Anders.
22673 <rdar://problem/6163636>
22674 rename NPCocoaEvent's "event" struct to "data" (20446)
22679 2008-08-20 Beth Dakin <bdakin@apple.com>
22681 Reviewed by Darin Adler.
22683 Fix for <rdar://problem/6145626>
22684 This patch fixes a number of remaining problems getting
22685 disconnected frames to work correctly with markAllMatchesForText()
22686 and findString(). Details inline.
22688 This was a static helper function in Frame, but this patch requires
22689 the same functionality in Editor, so I just added it as a function
22692 (WebCore::Node::isInShadowTree):
22695 * editing/Editor.cpp:
22696 (WebCore::Editor::insideVisibleArea): Returns false if
22697 excludeFromTextSearch() is true.
22699 In a normal (non-disconnected) frame, findString returns a range of
22700 the document node if the text is not found in the frame. I changed
22701 firstVisibleRange and lastVisibleRange to match that behavior when
22702 the text is not found
22703 (WebCore::Editor::firstVisibleRange):
22704 (WebCore::Editor::lastVisibleRange):
22706 Here are the bulk of the changes in the patch. A lot of text was
22707 not being found in disconnected frames because I failed to account
22708 for all of the possible problems associated with shadow trees. That
22710 (WebCore::Editor::nextVisibleRange):
22711 * editing/Editor.h:
22713 excludeFromTextSearch() is new. It allows a WebKit client to mark a
22714 frame as not-text-searchable through SPI.
22715 * WebCore.base.exp:
22717 (WebCore::Frame::excludeFromTextSearch):
22718 (WebCore::Frame::setExcludeFromTextSearch):
22719 (WebCore::FramePrivate::FramePrivate):
22721 * page/FramePrivate.h:
22723 (WebCore::Frame::findString):
22724 (WebCore::Frame::markAllMatchesForText): I kept running into an
22725 assertion failure in paining code because of the forced paint on
22726 empty visible rects.
22728 2008-08-20 Timothy Hatcher <timothy@apple.com>
22730 Adds a positon box to the Inspector's Metrics sidebar
22731 pane. When an element is not statically positioned, there
22732 is now a position box that show top, right, bottom and
22733 left computed values.
22735 Reviewed by Kevin McCullough.
22737 * English.lproj/localizedStrings.js: Updated the strings.
22738 * page/inspector/MetricsSidebarPane.js:
22739 (WebInspector.MetricsSidebarPane.prototype.update):
22740 Renamed the boxPartValue function to createBoxPartElement
22741 and made it create the entire element. Made it understand
22742 how to get position style properties. Don't use the figure dash
22743 when 0px is used for positions, since the 0 is meaningful there.
22744 Instead use the figure dash when a position is auto.
22745 * page/inspector/inspector.css: Added a new rule for position.
22747 2008-08-20 Chris Fleizach <cfleizach@apple.com>
22749 Reviewed by Beth Dakin
22755 2008-08-20 Dan Bernstein <mitz@apple.com>
22757 Reviewed by Anders Carlsson.
22759 - avoid using a deprecated NSScroller method on Leopard
22761 * platform/mac/PlatformScrollBarMac.mm:
22762 (WebCore::PlatformScrollbar::updateThumbPosition):
22763 (WebCore::PlatformScrollbar::updateThumbProportion):
22765 2008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
22767 Reviewed by Oliver Hunt.
22772 * page/AccessibilityTable.cpp: Change nil to 0
22773 (WebCore::AccessibilityTable::cellForColumnAndRow):
22775 2008-08-19 Alexey Proskuryakov <ap@webkit.org>
22777 Reviewed by Geoff Garen.
22779 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
22781 * ForwardingHeaders/kjs/JSLock.h: Added.
22782 * WebCore.vcproj/WebCore.vcproj:
22783 * bindings/js/GCController.cpp:
22784 (WebCore::collect):
22785 (WebCore::GCController::gcTimerFired):
22786 (WebCore::GCController::garbageCollectNow):
22787 * bindings/js/JSCustomSQLStatementCallback.cpp:
22788 (WebCore::JSCustomSQLStatementCallback::handleEvent):
22789 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
22790 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
22791 * bindings/js/JSCustomSQLTransactionCallback.cpp:
22792 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
22793 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
22794 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
22795 * bindings/js/JSCustomVoidCallback.cpp:
22796 (WebCore::JSCustomVoidCallback::handleEvent):
22797 * bindings/js/JSCustomXPathNSResolver.cpp:
22798 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
22799 * bindings/js/JSDOMWindowBase.cpp:
22800 (WebCore::DOMWindowTimer::~DOMWindowTimer):
22801 (WebCore::JSDOMWindowBase::clear):
22802 (WebCore::JSDOMWindowBase::timerFired):
22803 * bindings/js/JSEventCustom.cpp:
22805 * bindings/js/JSEventListener.cpp:
22806 (WebCore::JSAbstractEventListener::handleEvent):
22807 * bindings/js/JSNSResolver.cpp:
22808 (WebCore::JSNSResolver::lookupNamespaceURI):
22809 * bindings/js/JSNodeFilterCondition.cpp:
22810 (WebCore::JSNodeFilterCondition::acceptNode):
22811 * bindings/js/ScheduledAction.cpp:
22812 (WebCore::ScheduledAction::execute):
22813 * bindings/js/ScriptController.cpp:
22814 (WebCore::ScriptController::evaluate):
22815 (WebCore::ScriptController::clearWindowShell):
22816 (WebCore::ScriptController::createHTMLEventHandler):
22817 (WebCore::ScriptController::createSVGEventHandler):
22818 (WebCore::ScriptController::initScript):
22819 (WebCore::ScriptController::updateDocument):
22820 (WebCore::ScriptController::bindingRootObject):
22821 (WebCore::ScriptController::windowScriptNPObject):
22822 (WebCore::ScriptController::createScriptObjectForPluginElement):
22823 (WebCore::ScriptController::clearScriptObjects):
22824 * bindings/js/ScriptControllerMac.mm:
22825 (WebCore::ScriptController::windowScriptObject):
22826 * bindings/objc/WebScriptObject.mm:
22828 (-[WebScriptObject callWebScriptMethod:withArguments:]):
22829 (-[WebScriptObject evaluateWebScript:]):
22830 (-[WebScriptObject setValue:forKey:]):
22831 (-[WebScriptObject valueForKey:]):
22832 (-[WebScriptObject removeWebScriptKey:]):
22833 (-[WebScriptObject stringRepresentation]):
22834 (-[WebScriptObject webScriptValueAtIndex:]):
22835 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
22836 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
22837 * bridge/NP_jsobject.cpp:
22838 (_NPN_InvokeDefault):
22841 (_NPN_GetProperty):
22842 (_NPN_SetProperty):
22843 (_NPN_RemoveProperty):
22844 (_NPN_HasProperty):
22847 * bridge/c/c_class.cpp:
22848 (KJS::Bindings::CClass::~CClass):
22849 (KJS::Bindings::CClass::methodsNamed):
22850 (KJS::Bindings::CClass::fieldNamed):
22851 * bridge/c/c_instance.cpp:
22852 (KJS::Bindings::CInstance::invokeMethod):
22853 (KJS::Bindings::CInstance::invokeDefaultMethod):
22854 (KJS::Bindings::CInstance::getPropertyNames):
22855 * bridge/c/c_runtime.cpp:
22856 (KJS::Bindings::CField::valueFromInstance):
22857 (KJS::Bindings::CField::setValueToInstance):
22858 * bridge/c/c_utility.cpp:
22859 (KJS::Bindings::convertValueToNPVariant):
22860 (KJS::Bindings::convertNPVariantToValue):
22861 * bridge/jni/jni_class.cpp:
22862 (JavaClass::JavaClass):
22863 (JavaClass::~JavaClass):
22864 * bridge/jni/jni_instance.cpp:
22865 (JavaInstance::stringValue):
22866 * bridge/jni/jni_jsobject.mm:
22867 (JavaJSObject::call):
22868 (JavaJSObject::eval):
22869 (JavaJSObject::getMember):
22870 (JavaJSObject::setMember):
22871 (JavaJSObject::removeMember):
22872 (JavaJSObject::getSlot):
22873 (JavaJSObject::setSlot):
22874 (JavaJSObject::toString):
22875 (JavaJSObject::convertValueToJObject):
22876 (JavaJSObject::convertJObjectToValue):
22877 * bridge/jni/jni_objc.mm:
22878 (KJS::Bindings::dispatchJNICall):
22879 * bridge/jni/jni_runtime.cpp:
22881 (JavaMethod::signature):
22882 * bridge/jni/jni_runtime.h:
22883 (KJS::Bindings::JavaString::JavaString):
22884 (KJS::Bindings::JavaString::_commonInit):
22885 (KJS::Bindings::JavaString::~JavaString):
22886 (KJS::Bindings::JavaString::UTF8String):
22887 * bridge/jni/jni_utility.cpp:
22888 (KJS::Bindings::convertValueToJValue):
22889 * bridge/npruntime.cpp:
22890 (_NPN_GetStringIdentifier):
22891 * bridge/objc/objc_instance.mm:
22892 (ObjcInstance::moveGlobalExceptionToExecState):
22893 (ObjcInstance::invokeMethod):
22894 (ObjcInstance::invokeDefaultMethod):
22895 (ObjcInstance::setValueOfUndefinedField):
22896 (ObjcInstance::getValueOfUndefinedField):
22897 * bridge/objc/objc_runtime.mm:
22898 (ObjcField::valueFromInstance):
22899 (ObjcField::setValueToInstance):
22900 * bridge/objc/objc_utility.mm:
22901 (KJS::Bindings::convertValueToObjcValue):
22902 (KJS::Bindings::convertNSStringToString):
22903 (KJS::Bindings::convertObjcValueToValue):
22904 * bridge/qt/qt_instance.cpp:
22905 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
22906 (KJS::Bindings::QtInstance::~QtInstance):
22907 (KJS::Bindings::QtInstance::getQtInstance):
22908 (KJS::Bindings::QtInstance::getRuntimeObject):
22909 * bridge/qt/qt_runtime.cpp:
22910 (KJS::Bindings::convertValueToQVariant):
22911 (KJS::Bindings::convertQVariantToValue):
22912 (KJS::Bindings::QtRuntimeMetaMethod::call):
22913 (KJS::Bindings::QtRuntimeConnectionMethod::call):
22914 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
22915 (KJS::Bindings::QtConnectionObject::execute):
22916 * bridge/runtime.cpp:
22917 (KJS::Bindings::Instance::createRuntimeObject):
22918 * bridge/testbindings.cpp:
22920 * bridge/testbindings.mm:
22922 * bridge/testqtbindings.cpp:
22924 * dom/Document.cpp:
22925 (WebCore::Document::~Document):
22927 (WebCore::Node::setDocument):
22928 * history/CachedPage.cpp:
22929 (WebCore::CachedPage::CachedPage):
22930 (WebCore::CachedPage::restore):
22931 (WebCore::CachedPage::clear):
22932 * loader/FrameLoader.cpp:
22933 (WebCore::getString):
22934 * page/InspectorController.cpp:
22935 (WebCore::ConsoleMessage::ConsoleMessage):
22936 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
22937 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
22938 (WebCore::getResourceDocumentNode):
22940 (WebCore::inspectedWindow):
22941 (WebCore::wrapCallback):
22942 (WebCore::currentCallFrame):
22943 (WebCore::profiles):
22944 (WebCore::InspectorController::focusNode):
22945 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
22946 (WebCore::InspectorController::addDatabaseScriptResource):
22947 (WebCore::InspectorController::addScriptProfile):
22948 * page/JavaScriptCallFrame.cpp:
22949 (WebCore::JavaScriptCallFrame::evaluate):
22950 * page/JavaScriptProfileNode.cpp:
22951 (WebCore::getTotalTime):
22952 (WebCore::getSelfTime):
22953 (WebCore::getTotalPercent):
22954 (WebCore::getSelfPercent):
22955 (WebCore::getNumberOfCalls):
22956 (WebCore::getChildren):
22957 (WebCore::getVisible):
22959 * page/mac/FrameMac.mm:
22960 * plugins/PluginView.cpp:
22961 (WebCore::PluginView::start):
22962 (WebCore::getString):
22963 (WebCore::PluginView::performRequest):
22964 (WebCore::PluginView::bindingInstance):
22965 * plugins/gtk/PluginViewGtk.cpp:
22966 (WebCore::PluginView::paint):
22967 (WebCore::PluginView::handleKeyboardEvent):
22968 (WebCore::PluginView::handleMouseEvent):
22969 (WebCore::PluginView::setNPWindowRect):
22970 (WebCore::PluginView::stop):
22971 (WebCore::PluginView::init):
22972 * plugins/qt/PluginViewQt.cpp:
22973 (WebCore::PluginView::setNPWindowRect):
22974 (WebCore::PluginView::stop):
22975 (WebCore::PluginView::init):
22976 * plugins/win/PluginViewWin.cpp:
22977 (WebCore::PluginView::dispatchNPEvent):
22978 (WebCore::PluginView::handleKeyboardEvent):
22979 (WebCore::PluginView::handleMouseEvent):
22980 (WebCore::PluginView::setNPWindowRect):
22981 (WebCore::PluginView::stop):
22982 * xml/XMLHttpRequest.cpp:
22983 (WebCore::XMLHttpRequest::clearResponse):
22984 (WebCore::XMLHttpRequest::didFinishLoading):
22985 (WebCore::XMLHttpRequest::didReceiveData):
22987 2008-08-19 Eric Seidel <eric@webkit.org>
22989 Reviewed by Geoff Garen.
22991 Add the beginnings of Skia graphics support to WebCore
22992 as I try to begin the long process of un-forking the changes
22993 needed to WebCore to make Andriod's WebCore build.
22995 I'll follow this up with actual *Skia.cpp files in a separate patch.
22997 * platform/graphics/AffineTransform.h:
22998 * platform/graphics/FloatPoint.h:
22999 * platform/graphics/FloatRect.h:
23000 * platform/graphics/Gradient.h:
23001 * platform/graphics/GraphicsContext.h:
23002 * platform/graphics/Image.h:
23003 * platform/graphics/ImageBuffer.h:
23004 * platform/graphics/ImageSource.h:
23005 * platform/graphics/IntPoint.h:
23006 * platform/graphics/IntRect.h:
23007 * platform/graphics/Path.h:
23008 * platform/graphics/Pattern.h:
23009 * svg/graphics/SVGPaintServerPattern.h:
23010 * svg/graphics/SVGPaintServerSolid.h:
23012 2008-08-19 Steve Falkenburg <sfalken@apple.com>
23014 Fix Windows build more.
23016 * WebCore.vcproj/WebCore.vcproj:
23018 2008-08-19 Steve Falkenburg <sfalken@apple.com>
23022 * page/AccessibilityRenderObject.cpp:
23023 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
23025 2008-08-19 Chris Fleizach <cfleizach@apple.com>
23027 Reviewed by Beth Dakin.
23029 <rdar://problem/4003764> Expose tables as AXTables
23031 Tests: accessibility/table-attributes.html
23032 accessibility/table-cell-spans.html
23033 accessibility/table-cells.html
23034 accessibility/table-detection.html
23035 accessibility/table-sections.html
23036 accessibility/table-with-rules.html
23038 * WebCore.xcodeproj/project.pbxproj:
23039 * page/AXObjectCache.cpp:
23040 (WebCore::AXObjectCache::get):
23041 * page/AccessibilityObject.h:
23043 (WebCore::AccessibilityObject::isDataTable):
23044 (WebCore::AccessibilityObject::isTableRow):
23045 (WebCore::AccessibilityObject::isTableColumn):
23046 (WebCore::AccessibilityObject::isTableCell):
23047 * page/AccessibilityRenderObject.cpp:
23048 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
23049 * page/AccessibilityTable.cpp: Added.
23050 (WebCore::AccessibilityTable::AccessibilityTable):
23051 (WebCore::AccessibilityTable::~AccessibilityTable):
23052 (WebCore::AccessibilityTable::create):
23053 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
23054 (WebCore::AccessibilityTable::clearChildren):
23055 (WebCore::AccessibilityTable::addChildren):
23056 (WebCore::AccessibilityTable::headerContainer):
23057 (WebCore::AccessibilityTable::columns):
23058 (WebCore::AccessibilityTable::rows):
23059 (WebCore::AccessibilityTable::rowHeaders):
23060 (WebCore::AccessibilityTable::columnHeaders):
23061 (WebCore::AccessibilityTable::cells):
23062 (WebCore::AccessibilityTable::columnCount):
23063 (WebCore::AccessibilityTable::rowCount):
23064 (WebCore::AccessibilityTable::cellForColumnAndRow):
23065 (WebCore::AccessibilityTable::roleValue):
23066 (WebCore::AccessibilityTable::accessibilityIsIgnored):
23067 (WebCore::AccessibilityTable::title):
23068 (WebCore::AccessibilityTable::isDataTable):
23069 * page/AccessibilityTable.h: Added.
23070 * page/AccessibilityTableCell.cpp: Added.
23071 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
23072 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
23073 (WebCore::AccessibilityTableCell::create):
23074 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
23075 (WebCore::AccessibilityTableCell::rowIndexRange):
23076 (WebCore::AccessibilityTableCell::columnIndexRange):
23077 * page/AccessibilityTableCell.h: Added.
23078 (WebCore::AccessibilityTableCell::isTableCell):
23079 (WebCore::AccessibilityTableCell::roleValue):
23080 * page/AccessibilityTableColumn.cpp: Added.
23081 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
23082 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
23083 (WebCore::AccessibilityTableColumn::create):
23084 (WebCore::AccessibilityTableColumn::setParentTable):
23085 (WebCore::AccessibilityTableColumn::elementRect):
23086 (WebCore::AccessibilityTableColumn::size):
23087 (WebCore::AccessibilityTableColumn::children):
23088 (WebCore::AccessibilityTableColumn::headerObject):
23089 (WebCore::AccessibilityTableColumn::headerObjectForSection):
23090 (WebCore::AccessibilityTableColumn::addChildren):
23091 * page/AccessibilityTableColumn.h: Added.
23092 (WebCore::AccessibilityTableColumn::parentObject):
23093 (WebCore::AccessibilityTableColumn::roleValue):
23094 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
23095 (WebCore::AccessibilityTableColumn::isTableColumn):
23096 (WebCore::AccessibilityTableColumn::setColumnIndex):
23097 (WebCore::AccessibilityTableColumn::columnIndex):
23098 * page/AccessibilityTableHeaderContainer.cpp: Added.
23099 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
23100 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
23101 (WebCore::AccessibilityTableHeaderContainer::create):
23102 (WebCore::AccessibilityTableHeaderContainer::children):
23103 (WebCore::AccessibilityTableHeaderContainer::elementRect):
23104 (WebCore::AccessibilityTableHeaderContainer::size):
23105 (WebCore::AccessibilityTableHeaderContainer::addChildren):
23106 * page/AccessibilityTableHeaderContainer.h: Added.
23107 (WebCore::AccessibilityTableHeaderContainer::roleValue):
23108 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
23109 (WebCore::AccessibilityTableHeaderContainer::parentObject):
23110 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
23111 * page/AccessibilityTableRow.cpp: Added.
23112 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
23113 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
23114 (WebCore::AccessibilityTableRow::create):
23115 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
23116 (WebCore::AccessibilityTableRow::headerObject):
23117 * page/AccessibilityTableRow.h: Added.
23118 (WebCore::AccessibilityTableRow::isTableRow):
23119 (WebCore::AccessibilityTableRow::roleValue):
23120 (WebCore::AccessibilityTableRow::setRowIndex):
23121 (WebCore::AccessibilityTableRow::rowIndex):
23122 * page/mac/AccessibilityObjectWrapper.mm:
23123 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
23125 (-[AccessibilityObjectWrapper roleDescription]):
23126 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
23127 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
23128 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
23130 2008-08-19 Steve Falkenburg <sfalken@apple.com>
23133 Add buildfailed support to stop builds early (preventing inaccurate error messages).
23134 Add missing post-build rule to Release.
23136 * WebCore.vcproj/QTMovieWin.vcproj:
23138 2008-08-19 Keishi Hattori <casey.hattori@gmail.com>
23140 Added support for console.count in the inspector.
23142 Reviewed by Geoff Garen.
23144 * page/Console.cpp:
23145 (WebCore::Console::count):
23147 * page/Console.idl: Added console.count.
23148 * page/InspectorController.cpp:
23149 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
23150 (WebCore::InspectorController::count): Updates the count number
23151 sing "title@source:line" as the identifier, and adds a
23152 message to the console.
23153 * page/InspectorController.h: Added m_counts.
23155 2008-08-19 Keishi Hattori <casey.hattori@gmail.com>
23157 Clear console.time timers when changing page.
23159 Reviewed by Geoff Garen.
23161 * page/InspectorController.cpp:
23162 (WebCore::InspectorController::didCommitLoad):
23164 2008-08-19 Eric Carlson <eric.carlson@apple.com>
23168 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
23169 https://bugs.webkit.org/show_bug.cgi?id=20404
23171 Ignore setVisible() when visibility doesn't change.
23173 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
23174 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23175 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
23176 (WebCore::MediaPlayerPrivate::setVisible):
23178 2008-08-19 Timothy Hatcher <timothy@apple.com>
23180 Fixes a bug in the Profile view where switching sort order, then
23181 switching from heavy to tree mode would show the tree in the
23182 previous sort order.
23184 https://bugs.webkit.org/show_bug.cgi?id=20441
23186 Reviewed by Kevin McCullough.
23188 * page/inspector/ProfileView.js:
23189 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
23190 on the next profile before assigning it to this.profile.
23191 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
23192 (WebInspector.ProfileView.prototype._sortProfile): Moves from
23193 _sortData and takes a profile argument. If the profile passed in
23194 matches the this.profile, then call refresh.
23196 2008-08-18 Timothy Hatcher <timothy@apple.com>
23198 Changed the default sort order now that heavy view is the default.
23199 Also fixes a bug where the heavy profile was not sorted at first.
23201 https://bugs.webkit.org/show_bug.cgi?id=20440
23203 Reviewed by Kevin McCullough.
23205 * page/inspector/ProfileView.js:
23206 (WebInspector.ProfileView): Changed the default sort column. Also assign
23207 heavyProfile to profile, so the sortSelfTimeDescending call happens
23208 on the heavy profile before assigning to this.profile.
23210 2008-08-18 Timothy Hatcher <timothy@apple.com>
23212 Add support for editing DOM properties and scope variables by double
23213 clicking a property to enter edit mode.
23215 https://bugs.webkit.org/show_bug.cgi?id=20415
23217 Reviewed by Kevin McCullough.
23219 * page/inspector/ObjectPropertiesSection.js:
23220 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
23221 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
23222 Factored out code into update, and calls update.
23223 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
23224 Call removeChildren since this method can be called multiple times now.
23225 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
23226 gets made later in onattach.
23227 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
23228 if shouldRefreshChildren is true. Call removeChildren since this method can be
23229 called multiple times now.
23230 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
23231 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
23232 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
23233 this element (code moved from the constructor.)
23234 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
23235 sibling property elements.
23236 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
23237 WebInspector.startEditing after rememebring some context.
23238 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
23239 for the list element, since it might have scrolled during editing.
23240 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
23241 then restore the state from the context. Then call update to restore the title.
23242 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
23243 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
23244 to commit the user input.
23245 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
23246 and stores the result on the object for the property name of this element. If the expression is
23247 empty, delete the property and remove the tree element.
23248 * page/inspector/ScopeChainSidebarPane.js:
23249 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
23250 property on each ObjectPropertiesSection.
23251 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
23252 since it is now implemented.
23253 * page/inspector/ScriptsPanel.js:
23254 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
23255 that defaults to true if omitted. It specifies whether to call update on the scope chain.
23256 * page/inspector/inspector.css: New styles.
23257 * page/inspector/treeoutline.js:
23258 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
23259 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
23261 2008-08-18 Timothy Hatcher <timothy@apple.com>
23263 Surround the expression to be evaluated in parenthesis so the
23264 result of the eval is the result of the whole expression not
23265 the last potential sub-expression. So evaluating {x: 123}
23266 will show the Object not 123.
23268 https://bugs.webkit.org/show_bug.cgi?id=20428
23270 Reviewed by Kevin McCullough.
23272 * page/inspector/Console.js:
23273 (Console.prototype._evalInInspectedWindow): Add parenthesis
23274 around the expression. And add couple comments.
23276 2008-08-19 Kevin McCullough <kmccullough@apple.com>
23280 -Implement a page() function to extract a common code pattern.
23282 * WebCore.xcodeproj/project.pbxproj:
23283 * page/Console.cpp:
23284 (WebCore::Console::addMessage):
23285 (WebCore::Console::error):
23286 (WebCore::Console::info):
23287 (WebCore::Console::log):
23288 (WebCore::Console::dir):
23289 (WebCore::Console::assertCondition):
23290 (WebCore::Console::time):
23291 (WebCore::Console::timeEnd):
23292 (WebCore::Console::group):
23293 (WebCore::Console::groupEnd):
23294 (WebCore::Console::finishedProfiling):
23295 (WebCore::Console::warn):
23296 (WebCore::Console::framePage):
23299 2008-08-12 Darin Adler <darin@apple.com>
23303 - eliminate JSValue::type()
23305 * bridge/c/c_instance.cpp:
23306 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
23307 argument instead of JSType argument. Removed unneeded code to handle
23308 boolean, since that's never passed.
23309 * bridge/c/c_instance.h: Ditto.
23311 * bridge/c/c_utility.cpp:
23312 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
23313 instead of JSValue::type(). Removed unneeded code to handle
23316 * bridge/jni/jni_instance.cpp:
23317 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
23318 instead of JSType argument. Removed unneeded code to handle boolean.
23319 * bridge/jni/jni_instance.h: Ditto.
23321 * bridge/jni/jni_jsobject.mm:
23322 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
23323 instead of JSValue::type().
23325 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
23326 instead of JSType argument. Removed unused argument.
23327 * bridge/objc/objc_instance.mm:
23328 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
23329 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
23330 instead of JSType argument. Removed unneeded code to handle boolean
23331 and another dead code path for unknown types.
23333 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
23334 instead of JSType argument. Removed override of type() that caused
23335 the fallback object to return "UndefinedType" when there is no
23336 invokeUndefinedMethodFromWebScript:withArguments: method defined.
23337 That didn't accomplish much, since most checks for undefined don't
23339 * bridge/objc/objc_runtime.mm:
23340 (ObjcFallbackObjectImp::defaultValue): Ditto.
23342 * bridge/qt/qt_instance.cpp:
23343 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
23344 argument instead of JSType argument. Removed unneeded code to handle
23346 * bridge/qt/qt_instance.h: Ditto.
23348 * bridge/runtime.h:
23349 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
23351 * bridge/runtime_object.cpp:
23352 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
23353 argument instead of JSType argument.
23354 * bridge/runtime_object.h: Ditto.
23356 2008-08-18 Maxime Britto <britto@apple.com>
23360 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
23361 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
23362 We shouldn't be able to create another window while we are in pan scrolling.
23363 Other browsers behaviors :
23364 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
23365 IE7 : Keys are not disabled but stops immediately the panning.
23366 This patch matches FF3 behavior by disabling every key but the esc key.
23368 * page/EventHandler.cpp:
23369 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
23370 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
23372 2008-08-18 Dan Bernstein <mitz@apple.com>
23374 Reviewed by Dave Hyatt.
23376 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
23378 Test: fast/replaced/max-width-percent.html
23380 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
23381 When false, max-width is not factored into the
23383 Changed RenderReplaced and subclasses' calcPrefWidths() to call
23384 calcReplacedWidth(false) and then apply max-width only if it has a
23385 fixed, positive value.
23387 * rendering/RenderBox.cpp:
23388 (WebCore::RenderBox::calcReplacedWidth):
23389 * rendering/RenderBox.h:
23390 * rendering/RenderImage.cpp:
23391 (WebCore::RenderImage::calcReplacedWidth):
23392 (WebCore::RenderImage::calcPrefWidths):
23393 * rendering/RenderImage.h:
23394 * rendering/RenderReplaced.cpp:
23395 (WebCore::RenderReplaced::calcPrefWidths):
23396 * rendering/RenderSVGRoot.cpp:
23397 (WebCore::RenderSVGRoot::calcPrefWidths):
23398 * rendering/RenderVideo.cpp:
23399 (WebCore::RenderVideo::calcReplacedWidth):
23400 (WebCore::RenderVideo::calcPrefWidths):
23401 * rendering/RenderVideo.h:
23403 2008-08-18 Daniel Macks <dmacks@netspace.org>
23405 Reviewed by Mark Rowe.
23407 https://bugs.webkit.org/show_bug.cgi?id=20410
23408 More portable/self-documenting replacement for SIZE_MAX.
23410 * platform/network/curl/FormDataStreamCurl.cpp:
23411 (WebCore::FormDataStream::read):
23413 2008-08-18 Simon Fraser <simon.fraser@apple.com>
23415 Reviewed by Dave Hyatt
23417 Need to make sure we have an Animation in the AnimationList
23418 before setting the initial value.
23419 https://bugs.webkit.org/show_bug.cgi?id=20408
23421 Test: fast/css/transition_shorthand_parsing.html
23423 * css/CSSStyleSelector.cpp:
23425 2008-08-18 Kevin McCullough <kmccullough@apple.com>
23429 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
23430 is another profile.
23432 * page/inspector/ProfilesPanel.js:
23434 2008-08-18 Kevin McCullough <kmccullough@apple.com>
23438 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
23439 all console messages
23441 * page/inspector/Console.js:
23443 2008-08-18 Dirk Schulze <vbs85@gmx.de>
23445 Reviewed by Eric Seidel.
23447 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
23448 the canvas clean up.
23450 https://bugs.webkit.org/show_bug.cgi?id=20405
23452 * html/CanvasRenderingContext2D.cpp:
23453 (WebCore::CanvasRenderingContext2D::fill):
23454 (WebCore::CanvasRenderingContext2D::stroke):
23455 (WebCore::CanvasRenderingContext2D::fillRect):
23457 2008-08-17 Timothy Hatcher <timothy@apple.com>
23459 Complete in scope variables in the Console when paused.
23461 https://bugs.webkit.org/show_bug.cgi?id=19115
23463 Reviewed by Geoffrey Garen.
23465 * page/inspector/Console.js:
23466 (WebInspector.Console.prototype.completions): If the expressionString
23467 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
23468 to get an object that declares all the in scope variables. That way
23469 "top level" expressions are completed.
23470 * page/inspector/ScriptsPanel.js:
23471 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
23472 Return an object that has all the variables that are in scope for the
23473 selected call frame. The value of each property is just true.
23474 The return object is useful for quick lookups or auto completion.
23476 2008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
23480 Speculative Qt build fix.
23482 * bridge/qt/qt_runtime.cpp:
23483 (KJS::Bindings::convertValueToQVariant):
23484 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
23486 2008-08-17 Geoffrey Garen <ggaren@apple.com>
23488 Reviewed by Cameron Zwarich.
23490 Updated project files to XCode 3.1.
23492 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
23494 2008-08-17 Geoffrey Garen <ggaren@apple.com>
23496 Reviewed by Cameron Zwarich.
23498 Made room for a free word in JSCell.
23500 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
23501 JSGlobalData, so the two could share a pointer.
23503 Added a bunch of ASSERTs, to help catch over-sized objects.
23505 2008-08-15 Mark Rowe <mrowe@apple.com>
23507 Reviewed by Dan Bernstein.
23509 Disable dead code stripping in debug builds.
23511 * Configurations/Base.xcconfig:
23512 * WebCore.xcodeproj/project.pbxproj:
23514 2008-08-15 Mark Rowe <mrowe@apple.com>
23516 Rubber-stamped by Geoff Garen.
23518 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
23520 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
23521 between the Debug configuration and debug Production variant.
23522 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
23524 2008-08-15 Antti Koivisto <antti@apple.com>
23526 Reviewed by Anders.
23528 Don't start preloading body resources before the head is complete. This prevents
23529 body preloads from slowing down initial display when there is limited amount
23530 of bandwidth available.
23532 Works by queuing up found body preloads to DocLoader and only issuing them
23533 after document has rendering.
23535 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
23536 without affecting complete load time.
23538 * html/PreloadScanner.cpp:
23539 (WebCore::PreloadScanner::PreloadScanner):
23540 (WebCore::PreloadScanner::scanningBody):
23541 (WebCore::PreloadScanner::emitTag):
23542 (WebCore::PreloadScanner::emitCSSRule):
23543 * html/PreloadScanner.h:
23544 * loader/DocLoader.cpp:
23545 (WebCore::DocLoader::preload):
23546 (WebCore::DocLoader::checkForPendingPreloads):
23547 (WebCore::DocLoader::requestPreload):
23548 * loader/DocLoader.h:
23549 * loader/loader.cpp:
23550 (WebCore::Loader::Host::didFinishLoading):
23551 (WebCore::Loader::Host::didFail):
23553 2008-08-15 Ada Chan <adachan@apple.com>
23555 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
23556 This way style set on an <hr> within a <select> will be honored.
23558 Reviewed by Dave Hyatt and Dan Bernstein.
23560 * rendering/RenderMenuList.cpp:
23561 (WebCore::RenderMenuList::itemStyle):
23563 2008-08-15 Antti Koivisto <antti@apple.com>
23565 Reviewed by Oliver.
23567 Some loader performance tweaks:
23568 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
23569 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
23570 to not delay rendering.
23571 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
23572 can take long time when latency is high so it is good to get started early.
23573 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
23574 load queues. Issue remaining loads to the network layer.
23576 * loader/loader.cpp:
23577 (WebCore::Loader::determinePriority):
23578 (WebCore::Loader::load):
23579 (WebCore::Loader::Host::servePendingRequests):
23582 2008-08-15 Timothy Hatcher <timothy@apple.com>
23584 Detach the script debugger when the Web Inspector's window closes.
23585 This has always been the intended design, but never fully implemented.
23587 https://bugs.webkit.org/show_bug.cgi?id=20402
23589 Reviewed by Adam Roben.
23591 * page/InspectorController.cpp:
23592 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
23593 if the window is no longer visible.
23595 2008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
23599 Fixes: compile with QT_NO_CONTEXTMENU
23601 * platform/qt/PlatformMouseEventQt.cpp:
23602 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
23603 * platform/qt/PlatformScrollBarQt.cpp:
23604 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
23605 (WebCore::PlatformScrollbar::handleContextMenuEvent):
23607 2008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
23611 Fixes: compile with QT_NO_WHEELEVENT
23613 * platform/qt/WheelEventQt.cpp:
23614 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
23616 2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
23618 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
23620 https://bugs.webkit.org/show_bug.cgi?id=20210
23622 Reviewed by Tim Hatcher.
23624 * page/Console.cpp:
23625 (WebCore::Console::group):
23626 (WebCore::Console::groupEnd):
23628 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
23629 * page/InspectorController.cpp:
23630 (WebCore::InspectorController::startGroup): Increments group level by
23631 one and adds console message with StartGroupMessaageLevel.
23632 (WebCore::InspectorController::endGroup): Decrements group level by one
23633 and adds console message with EndGroupMessaageLevel.
23634 * page/InspectorController.h:
23635 * page/inspector/Console.js:
23636 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
23637 if the message is StartGroupMessaageLevel.
23638 (WebInspector.ConsoleMessage.prototype.toMessageElement):
23639 (WebInspector.ConsoleGroup.prototype.addMessage):
23640 * page/inspector/inspector.js:
23642 2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
23644 Adds support for console.dir to the Inspector
23646 https://bugs.webkit.org/show_bug.cgi?id=19155
23648 Reviewed by Tim Hatcher.
23650 * bindings/js/JSConsoleCustom.cpp:
23651 (WebCore::JSConsole::dir):
23652 * page/Console.cpp:
23653 (WebCore::Console::dir):
23654 * page/Console.h: Added ObjectMessageLevel.
23655 * page/Console.idl: Added console.dir.
23656 * page/inspector/Console.js:
23657 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
23658 ObjectPropertiesSection if the MessageLevel is Object.
23659 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
23660 used on primitive data types.
23661 * page/inspector/inspector.css:
23663 2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
23665 Adds support for clear() in the Inspector console.
23667 https://bugs.webkit.org/show_bug.cgi?id=19873
23669 Reviewed by Tim Hatcher.
23671 * page/inspector/Console.js:
23673 2008-08-15 Anthony Ricaud <rik24d@gmail.com>
23675 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
23677 Platform distinction and modifier key matching adjusted
23678 by Daniel Jalkut <jalkut@red-sweater.com>
23680 Bug 16313: text search (find) keybindings should work in the Web Inspector
23681 https://bugs.webkit.org/show_bug.cgi?id=16313
23683 Reviewed by Tim Hatcher.
23685 * page/inspector/inspector.js: Added a case for the F key
23687 2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
23689 Fix for error when the string doesn't contain a webkit-profile link.
23691 https://bugs.webkit.org/show_bug.cgi?id=20399
23693 Reviewed by Tim Hatcher.
23695 * page/inspector/inspector.js:
23697 2008-08-15 Timothy Hatcher <timothy@apple.com>
23699 Fixes two bugs where JavaScript could be executed from the page
23700 while the debugger is paused.
23702 The first issue was JSLazyEventListener not checking the paused
23703 state before parsing the code.
23705 The second issue was with the PageGroup version of
23706 JavaScriptDebugServer::setJavaScriptPaused always passing false
23707 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
23708 and not the paused argument.
23710 https://bugs.webkit.org/show_bug.cgi?id=20284
23712 Reviewed by Adam Roben.
23714 * bindings/js/JSEventListener.cpp:
23715 (WebCore::JSLazyEventListener::parseCode): Check the paused
23716 state of the ScriptController. Return early if paused.
23717 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
23718 * page/JavaScriptDebugServer.cpp:
23719 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
23720 Pass the paused argument to the Page version of setJavaScriptPaused.
23722 2008-08-15 Alexey Proskuryakov <ap@webkit.org>
23724 Reviewed by Geoff Garen.
23726 JSStringRef is created context-free, but can get linked to one via an identifier table,
23727 breaking an implicit API contract.
23729 * page/InspectorController.cpp:
23730 (WebCore::jsStringRef):
23731 (WebCore::InspectorController::didParseSource):
23732 (WebCore::InspectorController::failedToParseSource):
23733 * page/JavaScriptProfile.cpp:
23734 (WebCore::getTitleCallback):
23735 Updated for JavaScriptCore changes.
23737 2008-08-14 Kevin Ollivier <kevino@theolliviers.com>
23739 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
23740 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
23742 * platform/graphics/AffineTransform.h:
23744 2008-08-14 Eric Carlson <eric.carlson@apple.com>
23748 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
23749 <video> elements on Windows never becomes visible when a page is restored from the cache
23751 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
23752 value is different from the cached value. Let the implementation decide when
23753 to avoid work because nothing has changed.
23755 * platform/graphics/MediaPlayer.cpp:
23756 (WebCore::MediaPlayer::setVolume):
23757 (WebCore::MediaPlayer::setRate):
23758 (WebCore::MediaPlayer::setRect):
23759 (WebCore::MediaPlayer::setVisible):
23761 2008-08-14 Keishi Hattori <casey.hattori@gmail.com>
23763 Make Firebug command line API respect predefined variables.
23765 https://bugs.webkit.org/show_bug.cgi?id=20385
23767 Reviewed by Tim Hatcher.
23769 * page/inspector/Console.js:
23771 2008-08-14 Sam Weinig <sam@webkit.org>
23773 Reviewed by Geoffrey Garen and Timothy Hatcher.
23775 Allow programatically setting the HTMLTokenizers time delay and chunk size
23776 which are used for determining how aggressively we yield.
23778 * WebCore.base.exp:
23779 * html/HTMLTokenizer.cpp:
23780 (WebCore::HTMLTokenizer::begin):
23781 (WebCore::HTMLTokenizer::continueProcessing):
23782 * html/HTMLTokenizer.h:
23784 (WebCore::Page::Page):
23785 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
23786 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
23788 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
23789 (WebCore::Page::customHTMLTokenizerTimeDelay):
23790 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
23791 (WebCore::Page::customHTMLTokenizerChunkSize):
23793 2008-08-14 Eric Seidel <eric@webkit.org>
23797 Move us one step closer to cross-platform svg/graphics code
23799 * WebCore.xcodeproj/project.pbxproj:
23800 * html/CanvasStyle.cpp:
23801 * platform/graphics/Color.cpp:
23802 (WebCore::colorWithOverrideAlpha):
23803 * platform/graphics/Color.h:
23804 * svg/graphics/cg/CgSupport.cpp:
23805 (WebCore::applyStrokeStyleToContext):
23806 (WebCore::strokeBoundingBox):
23807 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
23808 (WebCore::SVGPaintServerSolid::setup):
23810 2008-08-14 Eric Seidel <eric@webkit.org>
23812 Reviewed by Alexey.
23814 Remove un-need includes from HTMLCanvas and use the
23815 Gradient platform abstraction in one place in CanvasStyle
23817 * html/CanvasRenderingContext2D.cpp:
23818 (WebCore::CanvasRenderingContext2D::fillRect):
23819 * html/CanvasStyle.cpp:
23820 * html/HTMLCanvasElement.cpp:
23822 2008-08-14 Eric Seidel <eric@webkit.org>
23824 Reviewed by Alexey.
23826 Clean up GlyphBuffer.h, removing more #ifdefs
23828 * platform/graphics/GlyphBuffer.h:
23829 (WebCore::GlyphBuffer::glyphAt):
23830 (WebCore::GlyphBuffer::advanceAt):
23831 (WebCore::GlyphBuffer::add):
23833 2008-08-14 Eric Seidel <eric@webkit.org>
23837 Clean up AffineTransform.h, removing #ifdefs
23839 * platform/graphics/AffineTransform.h:
23840 * platform/graphics/cairo/AffineTransformCairo.cpp:
23841 * platform/graphics/cg/AffineTransformCG.cpp:
23842 * platform/graphics/qt/AffineTransformQt.cpp:
23843 * platform/graphics/wx/AffineTransformWx.cpp:
23845 2008-08-14 Dan Bernstein <mitz@apple.com>
23847 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
23849 * platform/graphics/cairo/ImageSourceCairo.cpp:
23850 (WebCore::ImageSource::frameSizeAtIndex):
23851 * platform/graphics/qt/ImageSourceQt.cpp:
23852 (WebCore::ImageSource::frameSizeAtIndex):
23853 * platform/graphics/wx/ImageSourceWx.cpp:
23854 (WebCore::ImageSource::frameSizeAtIndex):
23856 2008-08-14 Dan Bernstein <mitz@apple.com>
23858 Reviewed by Brady Eidson.
23860 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
23862 * platform/graphics/BitmapImage.cpp:
23863 (WebCore::BitmapImage::BitmapImage): Added initialization of
23864 m_hasUniformFrameSize.
23865 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
23866 cached frame for use in decoded size computation and for setting
23867 m_hasUniformFrameSize.
23868 (WebCore::BitmapImage::currentFrameSize): Added.
23869 (WebCore::BitmapImage::dataChanged): Added code to reset
23870 m_hasUniformFrameSize.
23871 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
23872 m_hasUniformFrameSize.
23873 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
23874 * platform/graphics/cg/ImageCG.cpp:
23875 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
23876 fixes the bug, which resulted from assuming that the frame being drawn
23877 was the same size as the first frame.
23878 * platform/graphics/cg/ImageSourceCG.cpp:
23879 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
23880 changed to get the size of the frame at the given index.
23881 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
23883 2008-08-13 Simon Fraser <simon.fraser@apple.com>
23885 Reviewed by Eric Seidel
23887 Fix @font-face inside @media rule crash.
23888 https://bugs.webkit.org/show_bug.cgi?id=20367
23890 Test: fast/css/font-face-in-media-rule.html
23892 * css/CSSStyleSelector.cpp:
23893 (WebCore::CSSRuleSet::addRulesFromSheet):
23895 2008-08-14 Kevin Ollivier <kevino@theolliviers.com>
23897 wx build fixes after recent changes to Canvas and Image classes.
23899 * platform/graphics/Pattern.h:
23900 * platform/graphics/wx/GradientWx.cpp:
23901 (WebCore::Gradient::fill):
23902 * platform/graphics/wx/GraphicsContextWx.cpp:
23903 (WebCore::GraphicsContext::applyFillPattern):
23904 (WebCore::GraphicsContext::applyStrokePattern):
23905 * platform/graphics/wx/ImageBufferWx.cpp:
23906 (WebCore::ImageBuffer::image):
23907 * platform/graphics/wx/ImageWx.cpp:
23908 (WebCore::Image::loadPlatformResource):
23910 2008-08-14 Maxime Britto <britto@apple.com>
23912 Reviewed by Sam Weinig.
23915 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
23916 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
23917 Some differences exist between them concerning the kind of key which is pressed :
23918 IE7 : every key leads to a stop of the panning
23919 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
23920 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
23922 * page/EventHandler.cpp:
23923 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
23925 2008-08-14 Christian Dywan <christian@twotoasts.de>
23927 Gtk+/ Cairo build fix, patch by Dirk Schulze.
23929 * html/CanvasStyle.cpp:
23930 * platform/graphics/cairo/PatternCairo.cpp:
23931 (WebCore::Pattern::createPlatformPattern):
23932 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
23934 2008-08-14 Kevin McCullough <kmccullough@apple.com>
23938 <rdar://problem/6115819> Notify of profile in console
23940 * page/InspectorController.cpp:
23941 (WebCore::InspectorController::addProfile):
23942 (WebCore::InspectorController::addProfileMessageToConsole): Called by
23943 addProfile this is the function that adds a message to the console that
23944 a profile finished.
23945 * page/InspectorController.h:
23946 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
23947 the console log to the profile in the web inspector.
23948 (WebCore::getUniqueIdCallback):
23949 (WebCore::ProfileClass):
23950 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
23951 Id to bring up the requested profile. Also select and reveal the
23952 profile in the profile panel. And created displayTitleForProfileLink()
23953 which formats a title taking into account if it's user initiated or if
23954 there are multiples. Lasty, I put the user initiated profile in a
23956 * page/inspector/inspector.js: Make the profile title be a clickable
23957 link that will take the user to the identified profile. Also expose
23958 the count of user initiated profiles so they can be displayed in the
23959 console with the correct count.
23961 2008-08-14 Timothy Hatcher <timothy@apple.com>
23963 Avoid formating ConsoleMessages twice unless the message will be
23964 displayed in bubbles of a SourceFrame.
23966 Reviewed by Kevin McCullough.
23968 * page/inspector/Console.js:
23969 (WebInspector.ConsoleMessage): Only format the plain text message
23970 if the URL and line are valid and the level is error or warning.
23971 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
23972 Helper to test for error or warning level.
23973 * page/inspector/SourceFrame.js:
23974 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
23975 message if there is no message or valid line or if the msg
23976 isn't an error or warning.
23978 2008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
23980 partial Gtk build fix, not reviewed
23982 * platform/graphics/cairo/PatternCairo.cpp:
23984 2008-08-13 Sam Weinig <sam@webkit.org>
23986 Reviewed by Anders Carlsson.
23990 * html/HTMLMediaElement.cpp:
23991 (WebCore::HTMLMediaElement::pickMedia):
23993 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
23995 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
23996 Continue Erics build fixes, after the Image cleanup.
23998 * platform/graphics/cairo/ImageBufferCairo.cpp:
23999 (WebCore::ImageBuffer::image):
24001 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
24003 Build fix for Qt, not reviewed.
24004 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
24006 * dom/XMLTokenizer.cpp:
24007 (WebCore::eventuallyMarkAsParserCreated): Was erre
24009 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
24011 Build fix, not reviewed.
24012 Add ScriptElement.cpp to Gtk build.
24016 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
24020 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
24022 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
24023 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
24025 This resolves code duplications and allows us to completly replace the old
24026 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
24028 As ScriptElement, doesn't actually inherit from Element, we may want to rename
24029 it, though StyleElement uses the same naming convention, so I left it as is for now.
24030 Eventually we'll rename both files in future.
24032 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
24034 * WebCore.pro: Add new ScriptElement.cpp to build.
24035 * WebCore.vcproj/WebCore.vcproj: Ditto.
24036 * WebCore.xcodeproj/project.pbxproj: Ditto.
24037 * WebCoreSources.bkl: Dutto.
24038 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
24039 (WebCore::ScriptElement::insertedIntoDocument):
24040 (WebCore::ScriptElement::removedFromDocument):
24041 (WebCore::ScriptElement::childrenChanged):
24042 (WebCore::ScriptElement::finishParsingChildren):
24043 (WebCore::ScriptElement::handleSourceAttribute):
24044 (WebCore::isSupportedJavaScriptLanguage):
24045 (WebCore::ScriptElementData::ScriptElementData):
24046 (WebCore::ScriptElementData::~ScriptElementData):
24047 (WebCore::ScriptElementData::requestScript):
24048 (WebCore::ScriptElementData::evaluateScript):
24049 (WebCore::ScriptElementData::stopLoadRequest):
24050 (WebCore::ScriptElementData::notifyFinished):
24051 (WebCore::ScriptElementData::ignoresLoadRequest):
24052 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
24053 (WebCore::ScriptElementData::scriptCharset):
24054 (WebCore::ScriptElementData::scriptContent):
24055 * dom/ScriptElement.h: Added.
24056 (WebCore::ScriptElement::ScriptElement):
24057 (WebCore::ScriptElement::~ScriptElement):
24058 (WebCore::ScriptElementData::element):
24059 (WebCore::ScriptElementData::createdByParser):
24060 (WebCore::ScriptElementData::setCreatedByParser):
24061 * dom/XMLTokenizer.cpp:
24062 (WebCore::isScriptElement):
24063 (WebCore::castToScriptElement):
24064 (WebCore::eventuallyMarkAsParserCreated):
24065 (WebCore::XMLTokenizer::startElementNs):
24066 (WebCore::XMLTokenizer::endElementNs):
24067 (WebCore::createXHTMLParserErrorHeader):
24068 (WebCore::XMLTokenizer::insertErrorMessageBlock):
24069 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
24070 (WebCore::HTMLScriptElement::HTMLScriptElement):
24071 (WebCore::HTMLScriptElement::~HTMLScriptElement):
24072 (WebCore::HTMLScriptElement::isURLAttribute):
24073 (WebCore::HTMLScriptElement::setCreatedByParser):
24074 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
24075 (WebCore::HTMLScriptElement::childrenChanged):
24076 (WebCore::HTMLScriptElement::parseMappedAttribute):
24077 (WebCore::HTMLScriptElement::finishParsingChildren):
24078 (WebCore::HTMLScriptElement::insertedIntoDocument):
24079 (WebCore::HTMLScriptElement::removedFromDocument):
24080 (WebCore::HTMLScriptElement::text):
24081 (WebCore::HTMLScriptElement::setText):
24082 (WebCore::HTMLScriptElement::setHtmlFor):
24083 (WebCore::HTMLScriptElement::setEvent):
24084 (WebCore::HTMLScriptElement::charset):
24085 (WebCore::HTMLScriptElement::src):
24086 (WebCore::HTMLScriptElement::type):
24087 (WebCore::HTMLScriptElement::scriptCharset):
24088 (WebCore::HTMLScriptElement::scriptContent):
24089 (WebCore::HTMLScriptElement::sourceAttributeValue):
24090 (WebCore::HTMLScriptElement::charsetAttributeValue):
24091 (WebCore::HTMLScriptElement::typeAttributeValue):
24092 (WebCore::HTMLScriptElement::languageAttributeValue):
24093 (WebCore::HTMLScriptElement::dispatchLoadEvent):
24094 (WebCore::HTMLScriptElement::dispatchErrorEvent):
24095 * html/HTMLScriptElement.h:
24096 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
24097 * svg/SVGScriptElement.cpp:
24098 (WebCore::SVGScriptElement::SVGScriptElement):
24099 (WebCore::SVGScriptElement::scriptContent):
24100 (WebCore::SVGScriptElement::sourceAttributeValue):
24101 (WebCore::SVGScriptElement::charsetAttributeValue):
24102 (WebCore::SVGScriptElement::typeAttributeValue):
24103 (WebCore::SVGScriptElement::languageAttributeValue):
24104 (WebCore::SVGScriptElement::dispatchLoadEvent):
24105 (WebCore::SVGScriptElement::dispatchErrorEvent):
24106 * svg/SVGScriptElement.h:
24107 (WebCore::SVGScriptElement::setCreatedByParser):
24109 2008-08-13 Eric Seidel <eric@webkit.org>
24111 Attempt to fix the Gtk build, no review.
24113 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
24115 * platform/graphics/GraphicsContext.h:
24116 * platform/graphics/cairo/GraphicsContextCairo.cpp:
24117 * platform/graphics/qt/GradientQt.cpp:
24118 * platform/graphics/qt/GraphicsContextQt.cpp:
24119 * platform/gtk/RenderThemeGtk.cpp:
24120 (WebCore::paintMozWidget):
24122 2008-08-13 Eric Seidel <eric@webkit.org>
24124 Yet another attempt to fix the Qt build, no review.
24126 * platform/graphics/qt/GradientQt.cpp:
24127 * platform/graphics/qt/GraphicsContextQt.cpp:
24128 (WebCore::GraphicsContext::applyStrokePattern):
24129 (WebCore::GraphicsContext::applyFillPattern):
24131 2008-08-13 Eric Seidel <eric@webkit.org>
24133 Attempt to fix the Windows build, no review.
24135 * platform/win/CursorWin.cpp:
24136 (WebCore::loadCursorByName):
24137 * platform/win/ScrollViewWin.cpp:
24138 (WebCore::ScrollView::paint):
24140 2008-08-13 Eric Seidel <eric@webkit.org>
24142 Attempt to fix the Windows build, no review.
24144 * platform/win/CursorWin.cpp:
24145 (WebCore::loadCursorByName):
24146 * platform/win/ScrollViewWin.cpp:
24147 (WebCore::ScrollView::paint):
24149 2008-08-13 Eric Seidel <eric@webkit.org>
24151 Attempt to fix the Qt build, no review.
24153 * platform/graphics/qt/ImageBufferQt.cpp:
24154 (WebCore::ImageBuffer::image):
24156 2008-08-13 Eric Seidel <eric@webkit.org>
24158 Attempt to fix the Windows build, no review.
24160 * platform/graphics/win/ImageWin.cpp:
24161 (WebCore::Image::loadPlatformResource):
24162 * plugins/win/PluginViewWin.cpp:
24163 (WebCore::PluginView::paintMissingPluginIcon):
24165 2008-08-13 Eric Seidel <eric@webkit.org>
24167 Another attempt to fix the Qt build, no review.
24169 * platform/graphics/qt/ImageQt.cpp:
24170 * platform/graphics/qt/StillImageQt.h:
24172 2008-08-13 Eric Seidel <eric@webkit.org>
24174 No review, build fix only.
24176 Fix mac build, due to change in new code since my patch was written.
24178 * svg/graphics/cg/SVGResourceMaskerCg.mm:
24179 (WebCore::SVGResourceMasker::applyMask):
24181 2008-08-13 Eric Seidel <eric@webkit.org>
24183 Build fix only, no review.
24185 Attempt to fix the Qt build.
24187 * platform/graphics/qt/ImageBufferQt.cpp:
24188 * platform/graphics/qt/StillImageQt.h:
24189 (WebCore::StillImage::create):
24190 (WebCore::StillImage::destroyDecodedData):
24191 (WebCore::StillImage::decodedSize):
24193 2008-08-13 Eric Seidel <eric@webkit.org>
24195 Build fix only, no review.
24197 Attempt to fix the Qt build.
24199 * html/CanvasStyle.cpp:
24200 (WebCore::CanvasStyle::applyStrokeColor):
24201 (WebCore::CanvasStyle::applyFillColor):
24203 2008-08-13 Eric Seidel <eric@webkit.org>
24207 Match HTML5 spec by throwing INVALID_STATE_ERR when
24208 createPattern is called and the HTMLImageElement is not
24209 yet done loading the image (!isComplete)
24210 https://bugs.webkit.org/show_bug.cgi?id=20351
24212 Test: http/misc/canvas-pattern-from-incremental-image.html
24214 * html/CanvasRenderingContext2D.cpp:
24215 (WebCore::CanvasRenderingContext2D::createPattern):
24217 2008-08-13 Eric Seidel <eric@webkit.org>
24221 Split out a Pattern class from CanvasPattern
24222 and remove all the Pattern-related #ifdefs
24223 (This will break non-mac platforms! I will fix them.)
24224 https://bugs.webkit.org/show_bug.cgi?id=20351
24228 * WebCore.vcproj/WebCore.vcproj:
24229 * WebCore.xcodeproj/project.pbxproj:
24230 * WebCoreSources.bkl:
24231 * html/CanvasPattern.cpp:
24232 (WebCore::CanvasPattern::parseRepetitionType):
24233 (WebCore::CanvasPattern::CanvasPattern):
24234 * html/CanvasPattern.h:
24235 (WebCore::CanvasPattern::create):
24236 (WebCore::CanvasPattern::pattern):
24237 (WebCore::CanvasPattern::originClean):
24238 * html/CanvasRenderingContext2D.cpp:
24239 (WebCore::CanvasRenderingContext2D::createPattern):
24240 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
24241 (WebCore::CanvasRenderingContext2D::applyFillPattern):
24242 * html/CanvasRenderingContext2D.h:
24243 * html/HTMLCanvasElement.cpp:
24244 * html/HTMLCanvasElement.h:
24245 * loader/FrameLoader.cpp:
24246 (WebCore::FrameLoader::createHistoryItem):
24247 * platform/graphics/GraphicsContext.h:
24248 * platform/graphics/cairo/GraphicsContextCairo.cpp:
24249 (WebCore::GraphicsContext::applyStrokePattern):
24250 (WebCore::GraphicsContext::applyFillPattern):
24251 * platform/graphics/cg/GraphicsContextCG.cpp:
24252 (WebCore::GraphicsContext::clipToImageBuffer):
24253 (WebCore::GraphicsContext::applyStrokePattern):
24254 (WebCore::GraphicsContext::applyFillPattern):
24256 2008-08-13 Eric Seidel <eric@webkit.org>
24260 Make Images RefCounted (and clean up callers)
24261 https://bugs.webkit.org/show_bug.cgi?id=20351
24263 * editing/DeleteButtonController.cpp:
24264 (WebCore::DeleteButtonController::createDeletionUI):
24265 * loader/CachedImage.cpp:
24266 (WebCore::CachedImage::CachedImage):
24267 (WebCore::brokenImage):
24268 (WebCore::nullImage):
24269 (WebCore::CachedImage::image):
24270 (WebCore::CachedImage::notifyObservers):
24271 (WebCore::CachedImage::createImage):
24272 * loader/CachedImage.h:
24273 * loader/icon/IconRecord.cpp:
24274 (WebCore::IconRecord::setImageData):
24275 (WebCore::IconRecord::loadImageFromResource):
24276 * loader/icon/IconRecord.h:
24277 * platform/graphics/BitmapImage.h:
24278 (WebCore::BitmapImage::create):
24279 * platform/graphics/GeneratedImage.h:
24280 * platform/graphics/Gradient.cpp:
24281 * platform/graphics/Gradient.h:
24282 * platform/graphics/Image.cpp:
24283 (WebCore::Image::nullImage):
24284 * platform/graphics/Image.h:
24285 * platform/graphics/ImageBuffer.h:
24286 * platform/graphics/cairo/ImageBufferCairo.cpp:
24287 (WebCore::ImageBuffer::image):
24288 * platform/graphics/cg/ImageBufferCG.cpp:
24289 (WebCore::ImageBuffer::image):
24290 (WebCore::ImageBuffer::getImageData):
24291 (WebCore::ImageBuffer::putImageData):
24292 * platform/graphics/cg/PDFDocumentImage.h:
24293 (WebCore::PDFDocumentImage::create):
24294 (WebCore::PDFDocumentImage::destroyDecodedData):
24295 (WebCore::PDFDocumentImage::decodedSize):
24296 * platform/graphics/gtk/ImageGtk.cpp:
24297 (WebCore::Image::loadPlatformResource):
24298 * platform/graphics/mac/ImageMac.mm:
24299 (WebCore::Image::loadPlatformResource):
24300 * rendering/RenderImage.cpp:
24301 * rendering/RenderLayer.cpp:
24302 (WebCore::RenderLayer::paintOverflowControls):
24303 * svg/graphics/SVGImage.cpp:
24304 (WebCore::SVGImage::nativeImageForCurrentFrame):
24305 * svg/graphics/SVGImage.h:
24306 (WebCore::SVGImage::create):
24307 (WebCore::SVGImage::destroyDecodedData):
24308 (WebCore::SVGImage::decodedSize):
24309 (WebCore::SVGImage::frameAtIndex):
24310 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
24311 (WebCore::SVGPaintServerPattern::setup):
24312 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
24313 (WebCore::SVGResourceMasker::applyMask):
24314 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
24315 (WebCore::patternCallback):
24316 * svg/graphics/cg/SVGResourceMaskerCg.mm:
24317 (WebCore::SVGResourceMasker::applyMask):
24319 2008-08-13 Eric Seidel <eric@webkit.org>
24323 Remove #ifdefs from CanvasStyle by using platform/Color.h
24324 https://bugs.webkit.org/show_bug.cgi?id=20351
24326 There are some down-sides to this commit.
24327 This commit limits us to 255 levels of grey for calls like:
24328 context.setStrokeStyle(.37, 1.0)
24329 previously CG might have used up to 32bits to store the grey level
24330 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
24332 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
24333 to RGBA32 (like all the rest of colors in WebCore), thus:
24334 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
24335 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
24337 If this is a problem for Dashboard, we can either roll out this commit
24338 or add a beefier Color abstraction, which can be used internally by GraphicsContext
24339 when keeping state, and then GraphicsContext can grow some additional set* routines
24340 for setting the a grey/float/whatever fill and stroke.
24342 * html/CanvasRenderingContext2D.cpp:
24343 (WebCore::CanvasRenderingContext2D::setFillStyle):
24344 * html/CanvasStyle.cpp:
24345 (WebCore::CanvasStyle::CanvasStyle):
24346 (WebCore::colorWithOverrideAlpha):
24347 (WebCore::CanvasStyle::applyStrokeColor):
24348 (WebCore::CanvasStyle::applyFillColor):
24349 * html/CanvasStyle.h:
24350 * platform/graphics/Color.cpp:
24351 (WebCore::colorFloatToRGBAByte):
24352 (WebCore::makeRGBA32FromFloats):
24353 * platform/graphics/Color.h:
24355 2008-08-13 Eric Carlson <eric.carlson@apple.com>
24357 Reviewed by Adele Peterson.
24359 Fix for <rdar://problem/6137931>
24360 https://bugs.webkit.org/show_bug.cgi?id=20360
24361 Remove all parameters from the MIME type before checking with the MIME type registry
24363 Tests: media/video-source-type-params.html
24365 * html/HTMLMediaElement.cpp:
24366 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
24367 to isSupportedMediaMIMEType()
24369 2008-08-13 Beth Dakin <bdakin@apple.com>
24371 Reviewed by Sam Weinig.
24373 Fix for <rdar://problem/6141345>
24375 This patch refines findString and markAllMatchesForText functions'
24376 interactions with disconnected frames. They no longer rely on
24377 knowing where a range is relative to the visible region and work
24378 with disconnected frames that contain frames.
24380 * editing/Editor.cpp:
24381 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
24382 the visiblity enum.
24383 (WebCore::Editor::firstVisibleRange): This now returns the very
24384 first visible range in the document. It's no longer dependent on
24386 (WebCore::Editor::lastVisibleRange): This now returns the very last
24387 visible range in the document. It's no longer dependent on
24388 searching backwards.
24389 (WebCore::Editor::nextVisibleRange): This returns the next visible
24390 range in the appropriate direction from the current range.
24391 * editing/Editor.h:
24393 (WebCore::Frame::findString):
24394 (WebCore::Frame::markAllMatchesForText):
24396 2008-08-13 Kevin Ollivier <kevino@theolliviers.com>
24398 wx build fix for case-sensitive platforms, like Linux.
24400 * WebCoreSources.bkl:
24402 2008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
24404 Reviewed by Holger Freyther.
24406 http://bugs.webkit.org/show_bug.cgi?id=16881
24407 [GTK] PlatformScreenGtk is unimplemented
24409 Original patch by Christian Dywan.
24411 * platform/gtk/PlatformScreenGtk.cpp:
24412 (WebCore::screenDepth):
24413 (WebCore::screenDepthPerComponent):
24414 (WebCore::screenIsMonochrome):
24415 (WebCore::screenRect):
24416 (WebCore::screenAvailableRect):
24418 2008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
24420 Reviewed by Holger Freyther.
24422 http://bugs.webkit.org/show_bug.cgi?id=20318
24423 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
24425 g_idle_add is the same as g_idle_add_full with a priority of
24426 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
24428 * platform/gtk/SharedTimerGtk.cpp:
24429 (WebCore::setSharedTimerFireTime):
24431 2008-08-13 Timothy Hatcher <timothy@apple.com>
24433 Changed the InspectorController so it can be notified when the
24434 attached state of the Inspector changes in WebKit.
24436 Reviewed by Kevin McCullough.
24438 * WebCore.base.exp: Updated the symbol for setWindowVisible.
24439 * page/InspectorController.cpp:
24440 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
24441 that defaults to false.Call setAttachedWindow with the attached argument.
24442 (WebCore::InspectorController::setAttachedWindow): Call the script version
24443 of setAttachedWindow.
24444 * page/InspectorController.h:
24445 * page/inspector/inspector.js:
24446 (WebInspector.setAttachedWindow): Set the attached property.
24448 2008-08-12 Timothy Hatcher <timothy@apple.com>
24450 Added a close button to the Inspector's toolbar when docked.
24452 https://bugs.webkit.org/show_bug.cgi?id=14270
24454 Reviewed by Kevin McCullough.
24456 * page/InspectorController.cpp:
24457 (WebCore::closeWindow): Call InspectorController::closeWindow.
24458 (WebCore::InspectorController::windowScriptObjectAvailable):
24459 Added closeWindow to the script class.
24460 * page/InspectorController.h:
24461 * page/inspector/Images/closeButtons.png: Added.
24462 * page/inspector/inspector.css: Added and changed styles.
24463 * page/inspector/inspector.html: Added the close button.
24464 * page/inspector/inspector.js:
24465 (WebInspector.loaded): Added click event listener to the close button.
24466 (WebInspector.close): Call InspectorController.closeWindow.
24468 2008-08-12 Timothy Hatcher <timothy@apple.com>
24470 Make the docked Web Inspector resizable. This is the cross platform
24471 portion of the code. Each InspectorClient needs to implement the
24474 https://bugs.webkit.org/show_bug.cgi?id=14282
24476 Reviewed by Kevin McCullough.
24478 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
24479 * page/InspectorClient.h: Added setAttachedWindowHeight.
24480 * page/InspectorController.cpp:
24481 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
24482 on the InspectorController.
24483 (WebCore::InspectorController::setAttachedWindowHeight): Call
24484 setAttachedWindowHeight on the client.
24485 (WebCore::InspectorController::windowScriptObjectAvailable):
24486 Added setAttachedWindowHeight to the script class.
24487 * page/InspectorController.h:
24488 * page/inspector/inspector.css: Make the cursor on the toolbar be
24489 row-resize when docked.
24490 * page/inspector/inspector.js:
24491 (WebInspector.loaded): Always add the toolbarDragStart event listener.
24492 (WebInspector.toolbarDragStart): Return early if we are not attached
24493 and not on Leopard. Call WebInspector.elementDragStart.
24494 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
24495 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
24496 otherwise call moveByUnrestricted.
24498 2008-08-13 Simon Hausmann <hausmann@webkit.org>
24500 Reviewed by Holger.
24502 Initialize m_zoomsTextOnly in the Settings constructor.
24504 * page/Settings.cpp:
24505 (WebCore::Settings::Settings):
24507 2008-08-13 Brad Hughes <bhughes@trolltech.com>
24511 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
24513 The latest upgrade of the intel compiler allows us to compile all of
24514 Qt with optimizations enabled (yay!).
24518 2008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
24522 Fix QtWebKit not displaying content on 403 HTTP responses
24524 Just like with 404 responses also display content with 403, as
24525 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
24527 * platform/network/qt/QNetworkReplyHandler.cpp:
24528 (WebCore::QNetworkReplyHandler::finish):
24530 2008-08-13 Simon Hausmann <hausmann@webkit.org>
24532 Reviewed by Holger.
24534 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
24536 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
24538 * platform/text/String.cpp:
24539 (WebCore::String::format):
24541 2008-08-13 Simon Hausmann <hausmann@webkit.org>
24545 Fix QWebFrame::setHtml() not setting the new contents immediately.
24547 Added a setter to the DocumentLoader to toggle the deferred loading of the main
24548 resource when it comes from substitute data.
24550 Disable deferred loading of the main resource when we have valid substitute data,
24551 as used by QWebFrame::setHtml.
24553 * loader/DocumentLoader.h:
24555 2008-08-13 Mark Rowe <mrowe@apple.com>
24557 Speculative GTK build fix.
24559 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
24561 2008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
24565 Fix encoding of [ and ] in the host part of the URL
24567 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
24568 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
24569 doesn't encode [ and ] when they are found in the host part. That is, the
24572 is valid and should not be reencoded to:
24575 * platform/qt/KURLQt.cpp:
24576 (WebCore::KURL::operator QUrl):
24578 2008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
24580 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
24581 Broken HTML object elements cause de-reference of pointer to freed memory.
24582 If we fail to load an image for an object tag and we no longer believe the object tag points at
24583 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
24586 Reviewed by Dave Hyatt and Alexey Proskuryakov.
24588 Test: http/tests/misc/object-image-error-with-onload.html
24590 * html/HTMLObjectElement.cpp:
24591 (WebCore::HTMLObjectElement::renderFallbackContent):
24593 (WebCore::Frame::Frame):
24595 2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
24599 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
24600 Masks are translated, and the mask images are swapped on the y-axis.
24602 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
24603 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
24605 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
24606 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
24608 * svg/graphics/cg/SVGResourceMaskerCg.mm:
24609 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
24611 2008-08-12 Dan Bernstein <mitz@apple.com>
24613 - WebCore part of <rdar://problem/6121636>
24614 Make fast*alloc() abort() on failure and add "try" variants that
24615 return NULL on failure.
24617 Reviewed by Darin Adler.
24619 * platform/Arena.cpp:
24620 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
24622 * platform/graphics/cg/ImageBufferCG.cpp:
24623 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
24625 2008-08-12 Dan Bernstein <mitz@apple.com>
24627 Reviewed by Darin Adler.
24629 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
24630 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
24632 Test: fast/frames/frameset-style-recalc.html
24634 * html/HTMLFrameSetElement.cpp:
24635 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
24636 class implementation after marking for layout.
24638 2008-08-12 Dan Bernstein <mitz@apple.com>
24640 Reviewed by John Sullivan.
24642 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
24644 * WebCore.base.exp:
24645 * page/FrameView.cpp:
24646 (WebCore::FrameViewPrivate::FrameViewPrivate):
24647 (WebCore::FrameView::shouldUpdateWhileHidden):
24648 (WebCore::FrameView::setShouldUpdateWhileHidden):
24649 * page/FrameView.h:
24650 * page/Settings.cpp:
24653 2008-08-12 Adam Roben <aroben@apple.com>
24657 * bindings/js/JSSVGPODTypeWrapper.h: Align
24658 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
24659 members on 16-byte boundaries to avoid an alignment warning.
24661 2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
24663 Reviewed by Oliver.
24665 Add new dynamice-update layout tests covering SVGMarkerElement.
24666 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
24667 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
24669 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
24670 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
24671 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
24672 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
24673 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
24674 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
24675 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
24676 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
24677 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
24678 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
24679 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
24680 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
24681 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
24682 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
24683 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
24685 * svg/SVGMarkerElement.cpp:
24686 (WebCore::SVGMarkerElement::SVGMarkerElement):
24687 (WebCore::SVGMarkerElement::parseMappedAttribute):
24688 (WebCore::SVGMarkerElement::svgAttributeChanged):
24689 (WebCore::SVGMarkerElement::childrenChanged):
24690 (WebCore::SVGMarkerElement::setOrientToAuto):
24691 (WebCore::SVGMarkerElement::setOrientToAngle):
24692 (WebCore::SVGMarkerElement::canvasResource):
24694 2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
24696 Reviewed by Oliver.
24698 Add new dynamic-update layout tests covering SVGImageElement.
24699 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
24701 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
24702 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
24703 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
24704 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
24705 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
24706 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
24707 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
24708 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
24709 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
24710 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
24712 * svg/SVGImageElement.cpp:
24713 (WebCore::SVGImageElement::svgAttributeChanged):
24715 2008-08-11 Anthony Ricaud <rik24d@gmail.com>
24717 Changed Option/Alt-Up or Down in CSS editing when the value is
24718 near zero to jump to the next integer.
24720 Reviewed by Tim Hatcher.
24722 https://bugs.webkit.org/show_bug.cgi?id=20326
24724 * page/inspector/StylesSidebarPane.js:
24726 2008-08-11 Anthony Ricaud <rik24d@gmail.com>
24728 Changed the line highlight transition for an easier animation.
24730 Reviewed by Tim Hatcher.
24732 * page/inspector/SourceFrame.js:
24734 2008-08-11 Keishi Hattori <casey.hattori@gmail.com>
24736 Added support for some Firebug Command Line APIs.
24738 Reviewed by Tim Hatcher.
24740 https://bugs.webkit.org/show_bug.cgi?id=19867
24741 https://bugs.webkit.org/show_bug.cgi?id=19868
24742 https://bugs.webkit.org/show_bug.cgi?id=19869
24743 https://bugs.webkit.org/show_bug.cgi?id=19875
24744 https://bugs.webkit.org/show_bug.cgi?id=19876
24745 https://bugs.webkit.org/show_bug.cgi?id=19880
24747 * page/inspector/Console.js:
24748 (WebInspector.Console.prototype._evalInInspectedWindow):
24749 Create an object on the inspected window that holds the console
24750 command line API functions. This object is used in a with statement
24751 around the typed expression.
24753 2008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
24757 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
24759 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
24760 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
24762 Added tests: svg/custom/svg-modify-currentTranslate.html
24763 svg/custom/tearoffs-with-tearoffs.html
24764 svg/custom/immutable-properties.html
24766 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
24768 * bindings/js/JSSVGPODTypeWrapper.h:
24769 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
24770 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
24771 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
24772 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
24773 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
24774 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
24775 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
24776 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
24777 * bindings/scripts/CodeGenerator.pm:
24778 * bindings/scripts/CodeGeneratorJS.pm:
24779 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
24780 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
24782 2008-08-11 Brady Eidson <beidson@apple.com>
24784 Reviewed by John and Anders
24786 Fix for <rdar://problem/6141797>
24788 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
24789 would never have nil data.
24791 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
24792 semantics with some WebKit applications.
24794 The guarantee was a good one and should be restored.
24796 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
24797 creates an empty data object in the case of null data for its own purposes.
24799 * loader/SubstituteResource.h:
24800 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
24801 well help any future subclassers not make this mistake.
24803 * loader/archive/ArchiveResource.cpp:
24804 (WebCore::ArchiveResource::create): Return 0 if the data is null.
24806 2008-08-11 Simon Fraser <simon.fraser@apple.com>
24808 Reviewed by Dave Hyatt
24810 https://bugs.webkit.org/show_bug.cgi?id=20328
24811 Fix a problem when an 'all' transition transition with more than
24812 one property changing is interrupted, and did some AnimationController
24815 Test: transitions/interrupted-all-transition.html
24817 * page/AnimationController.cpp:
24818 (WebCore::ImplicitAnimation::ImplicitAnimation):
24819 (WebCore::AnimationControllerPrivate::blendProperties):
24820 (WebCore::CompositeAnimation::updateTransitions):
24821 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
24822 (WebCore::CompositeAnimation::setTransitionStartTime):
24823 (WebCore::CompositeAnimation::overrideImplicitAnimations):
24824 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
24825 (WebCore::ImplicitAnimation::animate):
24826 (WebCore::ImplicitAnimation::onAnimationEnd):
24827 (WebCore::ImplicitAnimation::sendTransitionEvent):
24828 (WebCore::ImplicitAnimation::affectsProperty):
24829 (WebCore::KeyframeAnimation::endAnimation):
24830 (WebCore::KeyframeAnimation::onAnimationEnd):
24832 2008-08-11 Kevin McCullough <kmccullough@apple.com>
24836 - Because console messages have group levels now, newly created messages
24837 that do not specify the level lose their message since the number of
24838 arguments is wrong.
24840 * page/inspector/Console.js:
24841 * page/inspector/Resource.js:
24843 2008-08-11 Alp Toker <alp@nuanti.com>
24845 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
24846 the opportunity to sort the sources lists.
24850 2008-08-11 Timothy Hatcher <timothy@apple.com>
24852 Speed up the the JavaScript syntax highlighter by generating
24853 the finders only once per script instead of per line.
24855 https://bugs.webkit.org/show_bug.cgi?id=20346
24857 Reviewed by Adam Roben.
24859 * page/inspector/SourceFrame.js:
24860 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
24861 Removed, factored into syntaxHighlightJavascript as an inline function.
24862 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
24863 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
24864 Generate the finders before iterating the lines.
24866 2008-08-11 Adam Roben <aroben@apple.com>
24870 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
24871 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
24874 2008-08-11 Dan Bernstein <mitz@apple.com>
24876 Reviewed by Darin Adler.
24878 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
24880 Test: fast/css/counters/invalidate-cached-counter-node.html
24882 * rendering/RenderContainer.cpp:
24883 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
24884 RenderCounters in :before and :after content.
24885 * rendering/RenderContainer.h:
24886 * rendering/RenderCounter.cpp:
24887 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
24888 to match the RenderObject method.
24889 (WebCore::RenderCounter::invalidate): Added. Resets the cached
24890 CounterNode and invalidates the object's layout and preferred widths.
24891 (WebCore::destroyCounterNodeChildren): Added a call to
24892 invalidateCounters().
24893 * rendering/RenderCounter.h:
24894 * rendering/RenderObject.h:
24895 (WebCore::RenderObject::invalidateCounters):
24897 2008-08-11 Dean Jackson <dino@apple.com>
24899 Implement CSS Animation and Transition Events
24900 https://bugs.webkit.org/show_bug.cgi?id=20337
24902 Implement the events defined in the CSS Animations
24903 and Transitions specifications so code can react
24904 to animations and transitions.
24906 Reviewed by Tim Hatcher and Dave Hyatt.
24908 * DerivedSources.make:
24911 * WebCore.vcproj/WebCore.vcproj:
24912 * WebCore.xcodeproj/project.pbxproj:
24913 * WebCoreSources.bkl:
24914 Build configs for new files
24916 * bindings/js/JSDOMWindowBase.cpp:
24917 * bindings/js/JSDOMWindowBase.h:
24918 * bindings/js/JSEventCustom.cpp:
24922 * dom/EventTarget.cpp:
24923 * dom/EventTargetNode.cpp:
24924 * dom/EventTargetNode.h:
24925 * html/HTMLElement.cpp:
24926 * page/AnimationController.cpp:
24927 do all the new event stuff
24929 * html/HTMLAttributeNames.in:
24930 the onwebkitanimation* and onwebkittransitionend attrs
24932 * dom/WebKitAnimationEvent.cpp: Added.
24933 * dom/WebKitAnimationEvent.h: Added.
24934 * dom/WebKitAnimationEvent.idl: Added.
24935 * dom/WebKitTransitionEvent.cpp: Added.
24936 * dom/WebKitTransitionEvent.h: Added.
24937 * dom/WebKitTransitionEvent.idl: Added.
24938 New files for the events
24940 * manual-tests/transition-events.html: Added.
24943 2008-08-11 Adam Roben <aroben@apple.com>
24945 Add a ForwardingHeader for wtf/NotFound.h
24947 Rubberstamped by Darin Adler.
24949 * ForwardingHeaders/wtf/NotFound.h: Added.
24951 2008-08-11 Timothy Hatcher <timothy@apple.com>
24953 Fixes a bug where error bubbles in JavaScript resources would
24954 be clobbered by the syntax highlighter.
24956 https://bugs.webkit.org/show_bug.cgi?id=20345
24958 Reviewed by Adam Roben.
24960 * manual-tests/inspector/resources/script-error.js: Added.
24961 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
24962 * page/inspector/SourceFrame.js:
24963 (WebInspector.SourceFrame.prototype._addMessageToSource):
24964 Check the nodeType and not the nodeName, this is less fragile.
24965 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
24966 Check if the lastChild is an error bubble, if so remove it before
24967 getting the line's textContent. Add the error bubble back at the end.
24969 == Rolled over to ChangeLog-2008-08-10 ==