1 2008-12-10 Oliver Hunt <oliver@apple.com>
3 Reviewed by Adele Peterson.
5 <rdar://problem/6302405> Crash (null-deref) when using :before pseudoselector with content CSS rule in SVG
6 <https://bugs.webkit.org/show_bug.cgi?id=22804>
8 This issue was caused by css generated content resulting in non-svg flowboxes
9 being injected into SVG content. As SVG spec does not describe behaviour in
10 this case, and neither Opera nor Firefox displays such generated content, so
11 now we make svg text layout and rendering just ignore any such content.
13 Test: svg/css/crash-css-generated-content.xhtml
15 * rendering/SVGRootInlineBox.cpp:
16 (WebCore::SVGRootInlineBox::buildLayoutInformation):
17 (WebCore::SVGRootInlineBox::layoutInlineBoxes):
18 (WebCore::SVGRootInlineBox::buildTextChunks):
20 2008-12-11 Cameron Zwarich <zwarich@apple.com>
22 Reviewed by Dave Hyatt.
24 Bug 21256: REGRESSION (r36906): horizontally repeating image leaves ghosts when vertical scrolling
25 <https://bugs.webkit.org/show_bug.cgi?id=21256>
26 <rdar://problem/6362978>
28 The ScrollView refactoring in r36906 caused the ScrollView and the
29 platform widget to disagree about whether optimizing scrolling via
30 blitting is allowed. The easiest way to fix this is to make ScrollView
31 simply ask the platform widget whether this is safe on platforms that
34 It is not possible to write a layout test for this bug because it
35 involves the back/forward cache.
37 * platform/ScrollView.cpp:
38 (WebCore::ScrollView::ScrollView):
39 (WebCore::ScrollView::setCanBlitOnScroll):
40 (WebCore::ScrollView::canBlitOnScroll):
41 (WebCore::ScrollView::platformSetCanBlitOnScroll):
42 (WebCore::ScrollView::platformCanBlitOnScroll):
43 * platform/ScrollView.h:
44 * platform/mac/ScrollViewMac.mm:
45 (WebCore::ScrollView::platformSetCanBlitOnScroll):
46 (WebCore::ScrollView::platformCanBlitOnScroll):
47 * platform/wx/ScrollViewWx.cpp:
48 (WebCore::ScrollView::platformSetCanBlitOnScroll):
49 (WebCore::ScrollView::platformCanBlitOnScroll):
51 2008-12-11 Brent Fulgham <bfulgham@gmail.com>
53 Reviewed by Adam Roben.
55 https://bugs.webkit.org/show_bug.cgi?id=22808
57 Correct build break due to malformed XML in Visual Studio project
58 following @r39205 change.
60 * WebCore.vcproj/WebCore.vcproj: Correct file entry so project loads.
62 2008-12-10 Chris Marrin <cmarrin@apple.com>
64 Reviewed by Dave Hyatt.
66 Fixed https://bugs.webkit.org/show_bug.cgi?id=22738
68 This gets rid of the per-animation timers which were used when an animation
69 started, ended and looped. Their job is now done by the main AnimationController's
70 timer. It is now set to fire as needed. For instance, if there is a delay, it will
71 fire after the delay time and then every 30ms to run the animation. The start, loop
72 and end events are generated as needed during the firing of this timer.
74 I had to add one more bit of code. When animation timers used to fire the animation events.
75 This would always happen from the RunLoop, so any style changes that happened in the
76 event handler would get picked up on the next updateRendering() call. But now the start
77 event is generated during the styleIsAvailable() call, which is in the middle of the
78 updateRendering() cycle. And calling an event handler in the middle of updateRendering()
79 is not allowed and causes style changes to get missed. We already have a mechanism in
80 AnimationController to defer updateRendering() calls. So I added logic to defer all
81 event handling to there. Now, I put any request for event handling into a list and ask
82 for a deferred updateRendering() call. When that deferred timer fires, I go through that
83 list, send all the events and then call updateRendering().
85 * page/animation/AnimationBase.cpp:
86 (WebCore::AnimationBase::AnimationBase):
87 (WebCore::AnimationBase::updateStateMachine):
88 (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
89 (WebCore::AnimationBase::willNeedService):
90 (WebCore::AnimationBase::goIntoEndingOrLoopingState):
91 * page/animation/AnimationBase.h:
92 * page/animation/AnimationController.cpp:
93 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
94 (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
95 (WebCore::AnimationControllerPrivate::addEventToDispatch):
96 (WebCore::AnimationControllerPrivate::animationTimerFired):
97 (WebCore::AnimationController::addEventToDispatch):
98 * page/animation/AnimationController.h:
99 * page/animation/CompositeAnimation.cpp:
100 (WebCore::CompositeAnimationPrivate::updateTransitions):
101 (WebCore::CompositeAnimationPrivate::willNeedService):
102 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
103 (WebCore::CompositeAnimation::willNeedService):
104 (WebCore::CompositeAnimation::getAnimationForProperty):
105 * page/animation/CompositeAnimation.h:
106 * page/animation/ImplicitAnimation.cpp:
107 (WebCore::ImplicitAnimation::animate):
108 (WebCore::ImplicitAnimation::onAnimationEnd):
109 (WebCore::ImplicitAnimation::sendTransitionEvent):
110 * page/animation/ImplicitAnimation.h:
111 * page/animation/KeyframeAnimation.cpp:
112 (WebCore::KeyframeAnimation::animate):
113 (WebCore::KeyframeAnimation::sendAnimationEvent):
114 * page/animation/KeyframeAnimation.h:
115 (WebCore::KeyframeAnimation::setUnanimatedStyle):
117 2008-12-11 Simon Hausmann <simon.hausmann@nokia.com>
119 Fix the Qt build with an empty filenameExtension() implementation.
121 * platform/graphics/qt/ImageSourceQt.cpp:
122 (WebCore::ImageSource::filenameExtension):
124 2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
126 Reviewed by Simon Hausmann.
128 Fix crash in the cairo implementation of the SVGPaintServer
130 For SVGFonts the RenderObject can be zero. The existing SVGFont
131 test cases is exposing this bug. Qt and other ports have fixed
132 this issue by adding null checks as well.
134 * svg/graphics/cairo/SVGPaintServerCairo.cpp:
135 (WebCore::SVGPaintServer::renderPath):
137 2008-12-11 Holger Freyther <zecke@selfish.org>
139 Reviewed by Simon Hausmann.
141 https://bugs.webkit.org/show_bug.cgi?id=20953
143 Make the Qt port follow the Win, Mac, Gtk+ port in regard to Font
144 handling. FontQt.cpp from now on is only implementing the complex path. Create
145 FontFallbackListQt.cpp and FontPlatformDataQt.cpp to work within
146 the framework set by the Font code.
148 Sharing the Font.cpp implementation allows the Qt port to support
149 the CSS font faces and SVG fonts.
151 Split out the Qt4.3 Font handling into FonQt43.cpp to allow to more
154 This commit is removing a lot of #ifdefs from Font.h as the Qt Font
155 implementation is now in line with the rest of WebCore.
158 * platform/graphics/Font.h: Remove #ifdefs
159 (WebCore::Font::letterSpacing):
160 (WebCore::Font::setLetterSpacing):
161 (WebCore::Font::isPlatformFont):
162 * platform/graphics/FontFallbackList.h:
163 * platform/graphics/SimpleFontData.cpp:
164 (WebCore::SimpleFontData::SimpleFontData):
165 (WebCore::SimpleFontData::platformGlyphInit): There is no GlyphCache
166 on Qt, move the initialisation over.
167 (WebCore::SimpleFontData::~SimpleFontData):
168 * platform/graphics/SimpleFontData.h:
169 (WebCore::SimpleFontData::getQtFont):
170 * platform/graphics/qt/FontCacheQt.cpp:
171 (WebCore::FontCache::getCachedFontPlatformData): Remove unused parameter
172 (WebCore::FontCache::releaseFontData): Add to build
173 * platform/graphics/qt/FontCustomPlatformData.cpp:
174 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
175 (WebCore::FontCustomPlatformData::fontPlatformData):
176 (WebCore::createFontCustomPlatformData):
177 * platform/graphics/qt/FontCustomPlatformData.h:
178 * platform/graphics/qt/FontFallbackListQt.cpp: Added.
179 (WebCore::FontFallbackList::FontFallbackList):
180 (WebCore::FontFallbackList::invalidate):
181 (WebCore::FontFallbackList::releaseFontData):
182 (WebCore::FontFallbackList::determinePitch):
183 (WebCore::FontFallbackList::fontDataAt):
184 (WebCore::FontFallbackList::fontDataForCharacters):
185 (WebCore::FontFallbackList::setPlatformFont):
186 * platform/graphics/qt/FontPlatformData.h:
187 (WebCore::FontPlatformData::font):
188 (WebCore::FontPlatformData::size):
189 * platform/graphics/qt/FontPlatformDataQt.cpp: Added.
190 (WebCore::FontPlatformData::FontPlatformData):
191 * platform/graphics/qt/FontQt.cpp:
192 (WebCore::Font::drawComplexText):
193 (WebCore::Font::floatWidthForComplexText):
194 (WebCore::Font::offsetForPositionForComplexText):
195 (WebCore::Font::selectionRectForComplexText):
196 (WebCore::Font::font):
197 * platform/graphics/qt/FontQt43.cpp: Added. Moved Qt4.3 code from FontQt.cpp
198 (WebCore::Font::drawComplexText):
199 (WebCore::Font::floatWidthForComplexText):
200 (WebCore::Font::offsetForPositionForComplexText):
201 (WebCore::Font::selectionRectForComplexText):
202 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
203 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
204 (WebCore::GlyphPageTreeNode::pruneTreeFontData):
205 * platform/graphics/qt/SimpleFontDataQt.cpp:
206 (WebCore::SimpleFontData::determinePitch):
207 (WebCore::SimpleFontData::containsCharacters):
208 (WebCore::SimpleFontData::platformInit):
209 (WebCore::SimpleFontData::platformGlyphInit):
210 (WebCore::SimpleFontData::platformDestroy):
211 * platform/qt/RenderThemeQt.cpp:
212 (WebCore::RenderThemeQt::adjustButtonStyle): Avoid crashes.
214 2008-12-11 Holger Freyther <zecke@selfish.org>
216 Reviewed by Simon Hausmann.
218 https://bugs.webkit.org/show_bug.cgi?id=20953
220 For Qt it is not pratical to have a FontCache and GlyphPageTreeNode
221 implementation. This is one of the reasons why the Qt port is currently not
222 using WebCore/platform/graphics/Font.cpp. By allowing to not use
223 the simple/fast-path the Qt port will be able to use it.
225 Introduce USE(FONT_FAST_PATH) and define it for every port but the
228 * platform/graphics/Font.cpp:
229 (WebCore::Font::drawText):
230 (WebCore::Font::floatWidth):
231 (WebCore::Font::selectionRectForText):
232 (WebCore::Font::offsetForPosition):
233 * platform/graphics/Font.h:
235 2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
237 Reviewed by Darin Adler.
239 https://bugs.webkit.org/show_bug.cgi?id=20953
241 Split out the font fast path from Fast.cpp into FontFastPath.cpp. This
242 will allow the Qt port to share most of WebCore::Font
243 implementation but the fast path. Qt does not provide the API to get
244 individual Glyphs making the fast path hard to support.
248 * WebCore.vcproj/WebCore.vcproj:
249 * WebCore.xcodeproj/project.pbxproj:
250 * WebCoreSources.bkl:
251 * platform/graphics/Font.cpp:
252 * platform/graphics/FontFastPath.cpp: Added.
253 (WebCore::Font::glyphDataForCharacter):
255 2008-12-11 Robert Carr <racarr@svn.gnome.org>
257 Reviewed by Holger Freyther.
259 https://bugs.webkit.org/show_bug.cgi?id=22560
261 Code in PlatformScreenGtk for screenDepth and screenRect can not
262 assume that the platformWindow for the widget has a valid "window"
263 member. For example in the case of, a new browser view opening as a
264 child of a GtkNotebook, but never being switched to, or manually
265 realized. Solve by using the toplevel window of the widget, rather
266 than the widget itself.
268 * platform/gtk/PlatformScreenGtk.cpp:
269 (WebCore::screenDepth):
270 (WebCore::screenRect):
272 2008-12-08 Tor Arne Vestbø <tavestbo@trolltech.com>
274 Reviewed by Darin Adler and Holger Freyther.
276 Make Widget::frameRectsChanged() and overrides non-const
278 This will hopefully allow us to get rid of some of the mutables in
279 the classes that react to the callback by changing their own state.
281 * platform/ScrollView.cpp:
282 (WebCore::ScrollView::frameRectsChanged):
283 * platform/ScrollView.h:
285 (WebCore::Widget::frameRectsChanged):
286 * platform/gtk/ScrollbarGtk.cpp: Remove non-const version since
287 this was more complex and did the same thing, changed const of
288 the leftover frameRectsChanged() method.
289 (ScrollbarGtk::frameRectsChanged):
290 * platform/gtk/ScrollbarGtk.h:
291 * plugins/PluginView.cpp:
292 (WebCore::PluginView::frameRectsChanged):
293 * plugins/PluginView.h:
295 2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
297 Reviewed and implemented with Tor Arne Vestbø.
299 Reimplement RenderTheme::caretBlinkInterval for Qt.
301 The QApplication::cursorFlashTime is in milliseconds and describes
302 the whole cycle while WebCore expects half a cycle.
304 * platform/qt/RenderThemeQt.cpp:
305 (WebCore::RenderThemeQt::caretBlinkInterval):
306 * platform/qt/RenderThemeQt.h:
308 2008-12-09 Trenton Schulz <trenton.schulz@nokia.com>
310 Reviewed by Tor Arne Vestbø.
312 [Qt/Mac] Don't call HIGetScaleFactor() if we're not on Tiger or better
314 * plugins/mac/PluginViewMac.cpp:
315 (WebCore::tigerOrBetter):
316 (WebCore::PluginView::globalMousePosForPlugin):
318 2008-12-10 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
320 Reviewed by Eric Seidel and George Staikos.
322 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22799
324 Add WML <template> support. The <template> element is specified at deck-level
325 and declares a template for all <card> elements in the document.
328 * WebCore.vcproj/WebCore.vcproj:
329 * WebCore.xcodeproj/project.pbxproj:
330 * editing/htmlediting.cpp:
331 (WebCore::canHaveChildrenForEditing): Treat <do> just like a <button>.
332 * wml/WMLCardElement.cpp:
333 (WebCore::WMLCardElement::WMLCardElement):
334 (WebCore::WMLCardElement::setTemplateElement):
335 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
336 (WebCore::WMLCardElement::handleDeckLevelTaskOverridesIfNeeded):
337 * wml/WMLCardElement.h:
338 (WebCore::WMLCardElement::templateElement):
339 * wml/WMLDoElement.cpp:
340 (WebCore::WMLDoElement::insertedIntoDocument):
341 * wml/WMLDocument.cpp:
342 (WebCore::WMLDocument::finishedParsing):
343 * wml/WMLErrorHandling.cpp:
344 (WebCore::errorMessageForErrorCode):
345 * wml/WMLErrorHandling.h:
347 * wml/WMLEventHandlingElement.cpp:
348 (WebCore::WMLEventHandlingElement::~WMLEventHandlingElement):
349 * wml/WMLEventHandlingElement.h:
350 (WebCore::WMLEventHandlingElement::doElements):
351 * wml/WMLTagNames.in:
352 * wml/WMLTemplateElement.cpp: Added.
353 (WebCore::WMLTemplateElement::WMLTemplateElement):
354 (WebCore::WMLTemplateElement::~WMLTemplateElement):
355 (WebCore::WMLTemplateElement::parseMappedAttribute):
356 (WebCore::WMLTemplateElement::registerTemplatesInDocument):
357 * wml/WMLTemplateElement.h: Added.
358 * wml/WMLTimerElement.cpp:
359 (WebCore::WMLTimerElement::timerFired):
361 2008-12-09 Dmitry Titov <dimich@chromium.org>
363 Reviewed by Darin Adler.
365 Fix memory leak - need to call stopActiveDOMObjects
366 when cached pages get destroyed.
367 https://bugs.webkit.org/show_bug.cgi?id=22753
370 (WebCore::Document::detach):
372 2008-12-10 Alice Liu <alice.liu@apple.com>
374 Manual test for https://bugs.webkit.org/show_bug.cgi?id=20685
376 Reviewed by Darin Adler.
378 * manual-tests/drag-image-to-desktop.html: Added.
380 2008-12-10 Alice Liu <alice.liu@apple.com>
382 fixed https://bugs.webkit.org/show_bug.cgi?id=20685
384 Reviewed by Darin Adler.
386 Manual test case is manual-tests/drag-image-to-desktop.html
388 Added new files to projects
389 * WebCore.vcproj/WebCore.vcproj:
390 * WebCore.xcodeproj/project.pbxproj:
392 * page/DragController.cpp:
393 (WebCore::DragController::startDrag):
394 * platform/MIMETypeRegistry.cpp:
395 (WebCore::initializeSupportedImageMIMETypes):
396 (WebCore::initializeSupportedImageMIMETypesForEncoding):
398 These changes add a method to obtain the extension for an image
399 * platform/graphics/BitmapImage.cpp:
400 (WebCore::BitmapImage::filenameExtension):
401 * platform/graphics/BitmapImage.h:
402 * platform/graphics/Image.h:
403 (WebCore::Image::filenameExtension):
404 * platform/graphics/ImageSource.h:
405 * platform/graphics/cairo/ImageSourceCairo.cpp:
406 (WebCore::ImageSource::filenameExtension):
407 * platform/graphics/cg/ImageSourceCG.cpp:
408 (WebCore::ImageSource::filenameExtension):
410 These changes added a utility that returns the preferred extension for a UTI
411 * platform/graphics/cg/ImageSourceCG.h: Added.
412 * platform/graphics/cg/ImageSourceCGMac.mm: Added.
413 (WebCore::MIMETypeForImageSourceType):
414 (WebCore::preferredExtensionForImageSourceType):
415 * platform/graphics/cg/ImageSourceCGWin.cpp: Added.
416 (WebCore::MIMETypeForImageSourceType):
417 (WebCore::preferredExtensionForImageSourceType):
419 * platform/mac/MIMETypeRegistryMac.mm:
420 moved getMIMETypeForUTI to ImageSourceCGMac.mm
422 Ask image for its file extension instead of relying on MIME type and file path
423 * platform/win/ClipboardWin.cpp:
424 (WebCore::createGlobalImageFileDescriptor):
426 Remove extraneous code from getPreferredExtensionForMIMEType.
427 Also moved getMIMETypeForUTI to ImageSourceCGWin.cpp
428 * platform/win/MIMETypeRegistryWin.cpp:
429 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
431 2008-12-10 Simon Fraser <simon.fraser@apple.com>
433 Reviewed by Antti Koivisto
435 <rdar://problem/6431224>
437 When updating the value of a slider, don't mark the parents
438 as needing layout, because the size of the slider can never
439 change. This fixes full-page repaints in some cases.
441 * rendering/RenderSlider.cpp:
442 (WebCore::RenderSlider::updateFromElement):
444 2008-12-10 Simon Fraser <simon.fraser@apple.com>
446 Potential build fix. The forward declaration of FloatPoint should
447 be inside the WebCore namespace.
449 * platform/graphics/FloatPoint3D.h:
451 2008-12-10 Simon Fraser <simon.fraser@apple.com>
453 Reviewed by Sam Weinig
455 https://bugs.webkit.org/show_bug.cgi?id=22793
457 Cleanup FloatPoint3D: inline the getters and setters,
458 fix a potential divide-by-zero in normalize(), and add
459 a FloatPoint constructor.
461 * platform/graphics/FloatPoint3D.cpp:
462 (WebCore::FloatPoint3D::FloatPoint3D):
463 (WebCore::FloatPoint3D::normalize):
464 * platform/graphics/FloatPoint3D.h:
465 (WebCore::FloatPoint3D::x):
466 (WebCore::FloatPoint3D::setX):
467 (WebCore::FloatPoint3D::y):
468 (WebCore::FloatPoint3D::setY):
469 (WebCore::FloatPoint3D::z):
470 (WebCore::FloatPoint3D::setZ):
472 2008-12-09 Julien Chaffraix <jchaffraix@webkit.org>
474 Reviewed by Eric Seidel.
476 Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
477 https://bugs.webkit.org/show_bug.cgi?id=22665
479 - Removed setCreatedByParser from style and link elements.
481 - Removed XMLTokenizer::eventuallyMarkAsCreatedByParser.
483 * dom/XMLTokenizer.cpp:
484 * dom/XMLTokenizer.h:
485 * dom/XMLTokenizerLibxml2.cpp:
486 (WebCore::XMLTokenizer::startElementNs):
487 * dom/XMLTokenizerQt.cpp:
488 (WebCore::XMLTokenizer::parseStartElement):
489 * html/HTMLElementFactory.cpp:
490 (WebCore::linkConstructor):
491 (WebCore::styleConstructor):
492 * html/HTMLLinkElement.cpp:
493 (WebCore::HTMLLinkElement::HTMLLinkElement):
494 * html/HTMLLinkElement.h:
495 * html/HTMLStyleElement.cpp:
496 (WebCore::HTMLStyleElement::HTMLStyleElement):
497 * html/HTMLStyleElement.h:
498 * html/HTMLTagNames.in:
499 * svg/SVGStyleElement.cpp:
500 (WebCore::SVGStyleElement::SVGStyleElement):
501 * svg/SVGStyleElement.h:
504 2008-12-10 Brady Eidson <beidson@apple.com>
508 https://bugs.webkit.org/show_bug.cgi?id=22194 and <rdar://problem/6388378> -
509 Dialog when going back to a page from whence you submitted a form
511 http://trac.webkit.org/changeset/37317 changed the manner in which headers are added to
512 http requests, which caused the networking layer to have an incomplete set of headers
513 just before consulting the Policy Delegate. This caused a cache miss and incorrectly made
514 us believe we'd be resubmitting the form.
516 * loader/FrameLoader.cpp:
517 (WebCore::FrameLoader::loadItem): Being careful to maintain the new behavior required by
518 the Origin header mechanism as discussed in bug 22194, restore the previous behavior of
519 setting all the headers before the networking layer is asked about the cache lookup.
521 2008-12-10 Dimitri Glazkov <dglazkov@chromium.org>
523 Reviewed by Timothy Hatcher.
525 Add back ability to end all profiling via console by invoking profileEnd
529 (WebCore::Console::profileEnd): Removed title null-checking and
530 subsequent early exit.
532 2008-12-10 Pierre-Olivier Latour <pol@apple.com>
534 Reviewed by Darin Adler.
536 KeyframeAnimation::animate() needs to compute the elapsed animation time
537 properly taking into account its paused state.
539 https://bugs.webkit.org/show_bug.cgi?id=22773
541 Test: animations/animation-drt-api-multiple-keyframes.html
543 * page/animation/KeyframeAnimation.cpp:
544 (WebCore::KeyframeAnimation::animate):
546 2008-12-10 Simon Fraser <simon.fraser@apple.com>
548 Reviewed by Dan Bernstein
551 https://bugs.webkit.org/show_bug.cgi?id=22570
553 Rename methods on RenderLayer for clarity:
554 clearClipRects -> clearClipRectsIncludingDescendants
555 clearClipRect -> clearClipRects
557 * rendering/RenderBox.cpp:
558 (WebCore::RenderBox::destroy):
559 * rendering/RenderLayer.cpp:
560 (WebCore::RenderLayer::updateLayerPosition):
561 (WebCore::RenderLayer::removeOnlyThisLayer):
562 (WebCore::RenderLayer::insertOnlyThisLayer):
563 (WebCore::RenderLayer::clearClipRectsIncludingDescendants):
564 (WebCore::RenderLayer::clearClipRects):
565 * rendering/RenderLayer.h:
566 * rendering/RenderObject.cpp:
567 (WebCore::RenderObject::styleWillChange):
568 * rendering/RenderWidget.cpp:
569 (WebCore::RenderWidget::destroy):
571 2008-12-10 Kevin Ollivier <kevino@theolliviers.com>
573 wx build fix after the script call stack/frame additions.
575 * WebCoreSources.bkl:
577 2008-12-10 Srinivasa Rao M. Hamse <msrinirao@gmail.com>
579 Reviewed by Holger Freyther.
581 F1-F12 key mappings for WebKit Gtk Port
583 * platform/gtk/KeyEventGtk.cpp:
584 (WebCore::windowsKeyCodeForKeyEvent):
586 2008-12-10 Enrico Ros <enrico.ros@m31.com>
588 Reviewed by Simon Hausmann.
590 Fix the Qt build when SVG is disabled. A broken dependancy caused
591 unnecessary rebuilds even with no changes.
593 * WebCore.pro: fix a broken build dependancy
595 2008-12-10 Hironori Bono <hbono@chromium.org>
597 Reviewed by Alexey Proskuryakov.
599 Bug 21820: Unable to enter the Tamil UNICODE Characters via Thamizha Phonetic IME
600 https://bugs.webkit.org/show_bug.cgi?id=21820
602 <rdar://problem/5683248> Typing backspace to delete a diacritical mark also deletes the character before (Arabic)
603 <rdar://problem/5702038> Backspace removes Thai Character in wrong sequence
605 Tests: editing/deleting/delete-ligature-001.html
606 editing/deleting/delete-ligature-002.html
607 editing/deleting/delete-ligature-003.html
609 * editing/TypingCommand.cpp:
610 (WebCore::TypingCommand::deleteKeyPressed): Delete only the last character
611 of a ligature which consists of multiple Unicode characters when deleting it with
614 2008-12-10 David Levin <levin@chromium.org>
616 Reviewed by Alexey Proskuryakov.
618 https://bugs.webkit.org/show_bug.cgi?id=22177
619 Fix the windows build by removing calls to notifyFormStateChanged
620 where they didn't appear in the original reviewed patch.
622 * html/HTMLInputElement.cpp:
623 (WebCore::HTMLInputElement::type):
624 (WebCore::HTMLInputElement::attach):
626 2008-12-09 Adam Barth <abarth@webkit.org>
628 Reviewed by Sam Weinig.
630 Add ScriptController::updateSecurityOrigin to notify the bindings
631 that a document's securityOrigin has been updated. This is used by
632 V8 to update its security context.
634 * bindings/js/ScriptController.cpp:
635 (WebCore::ScriptController::updateSecurityOrigin):
636 * bindings/js/ScriptController.h:
638 (WebCore::Document::setDomain):
640 2008-12-09 Eric Seidel <eric@webkit.org>
642 No review, build fix only.
644 Fix a few config issues to let the Chromium Windows WebCore build get further.
648 2008-12-09 Brett Wilson <brettw@chromium.org>
650 Reviewed by Dave Hyatt.
652 https://bugs.webkit.org/show_bug.cgi?id=22177
654 Add a callback on ChromeClient that the state of form elements on
655 the page has changed. This is to allow clients implementing session
656 saving to know when the current state is dirty.
658 * html/HTMLInputElement.cpp:
659 (WebCore::notifyFormStateChanged):
660 (WebCore::HTMLInputElement::setInputType):
661 (WebCore::HTMLInputElement::type):
662 (WebCore::HTMLInputElement::attach):
663 (WebCore::HTMLInputElement::setValue):
664 (WebCore::HTMLInputElement::setValueFromRenderer):
665 (WebCore::HTMLInputElement::setFileListFromRenderer):
666 * html/HTMLSelectElement.cpp:
667 (WebCore::HTMLSelectElement::setSelectedIndex):
668 * html/HTMLTextAreaElement.cpp:
669 (WebCore::notifyFormStateChanged):
670 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
671 (WebCore::HTMLTextAreaElement::updateValue):
672 (WebCore::HTMLTextAreaElement::setValue):
673 * loader/EmptyClients.h:
674 (WebCore::EmptyChromeClient::formStateDidChange):
675 * page/ChromeClient.h:
677 2008-12-09 Sam Weinig <sam@webkit.org>
679 Reviewed by Darin Adler.
681 https://bugs.webkit.org/show_bug.cgi?id=19762
683 Fix intermittent crash in buildbot. The CSSCursorImageValues and
684 SVGCursorElements held onto raw SVGElement pointers without any
685 guarantee that the element is still around.
687 We did not fix the design that resulted in this issue, we just fixed
688 the pointer lifetimes.
690 * css/CSSCursorImageValue.cpp:
691 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Zero out the back pointers.
692 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Set up a back pointer.
693 (WebCore::CSSCursorImageValue::removeReferencedElement): Added. Used when the element
695 * css/CSSCursorImageValue.h: Added removeReferencedElement.
697 * svg/SVGCursorElement.cpp:
698 (WebCore::SVGCursorElement::~SVGCursorElement): Zero out the back pointers.
699 (WebCore::SVGCursorElement::addClient): Set up a back pointer.
700 (WebCore::SVGCursorElement::removeClient): Zero out the back pointer.
702 * svg/SVGElement.cpp:
703 (WebCore::SVGElement::SVGElement): Initialize back pointers to zero.
704 (WebCore::SVGElement::~SVGElement): Call both the element and cursor image value
705 to remove the element from their sets.
707 (WebCore::SVGElement::setCursorElement): Added.
708 (WebCore::SVGElement::setCursorImageValue): Added.
710 2008-12-09 David Hyatt <hyatt@apple.com>
712 Add code that will create custom CSS scrollbars from the <body>, the document element (<html>) and the owning
713 frame/iframe. If any of them set a custom style, it will be used. The scrollbars do not update dynamically
714 yet as you switch from page to page (until they are destroyed and recreated).
718 * page/FrameView.cpp:
719 (WebCore::FrameView::createScrollbar):
721 2008-12-09 Ojan Vafai <ojan@chromium.org>
723 Reviewed by Dave Hyatt.
725 https://bugs.webkit.org/show_bug.cgi?id=22689
726 Match Firefox button metrics on Windows.
728 * rendering/RenderButton.cpp:
729 (WebCore::RenderButton::addChild):
730 (WebCore::RenderButton::styleDidChange):
731 (WebCore::RenderButton::setupInnerStyle):
732 * rendering/RenderButton.h:
733 * rendering/RenderTheme.cpp:
734 (WebCore::RenderTheme::adjustButtonInnerStyle):
735 * rendering/RenderTheme.h:
736 * rendering/RenderThemeWin.cpp:
737 (WebCore::RenderThemeWin::adjustSliderThumbSize):
738 (WebCore::RenderThemeWin::adjustButtonInnerStyle):
739 * rendering/RenderThemeWin.h:
741 2008-12-09 Darin Fisher <darin@chromium.org>
745 https://bugs.webkit.org/show_bug.cgi?id=22631
746 Adding missing files from previous commit.
748 * bindings/js/ScriptCallFrame.cpp: Added.
749 (WebCore::ScriptCallFrame::ScriptCallFrame):
750 (WebCore::ScriptCallFrame::~ScriptCallFrame):
751 (WebCore::ScriptCallFrame::argumentAt):
752 * bindings/js/ScriptCallFrame.h: Added.
753 (WebCore::ScriptCallFrame::functionName):
754 (WebCore::ScriptCallFrame::sourceURL):
755 (WebCore::ScriptCallFrame::lineNumber):
756 (WebCore::ScriptCallFrame::argumentCount):
757 * bindings/js/ScriptCallStack.cpp: Added.
758 (WebCore::ScriptCallStack::ScriptCallStack):
759 (WebCore::ScriptCallStack::~ScriptCallStack):
760 (WebCore::ScriptCallStack::at):
761 (WebCore::ScriptCallStack::size):
762 (WebCore::ScriptCallStack::initialize):
763 * bindings/js/ScriptCallStack.h: Added.
764 (WebCore::ScriptCallStack::state):
766 2008-12-09 Dimitri Glazkov <dglazkov@chromium.org>
768 Reviewed by Timothy Hatcher.
770 https://bugs.webkit.org/show_bug.cgi?id=22631
771 Streamline Console.cpp, abstract out the use of JSC::ExecState and
772 JSC::ArgList by introducing ScriptCallFrame and ScriptCallStack
775 * GNUmakefile.am: Added ScriptCallFrame and ScriptCallStack to build
776 * WebCore.pro: Added ScriptCallFrame and ScriptCallStack to build
777 * WebCore.vcproj/WebCore.vcproj: Added ScriptCallFrame and
778 ScriptCallStack to project
779 * WebCore.xcodeproj/project.pbxproj: Added ScriptCallFrame and
780 ScriptCallStack to project
781 * bindings/js/JSConsoleCustom.cpp: Remove custom bindings.
782 * bindings/js/ScriptCallFrame.cpp: Added.
783 (WebCore::ScriptCallFrame::ScriptCallFrame):
784 (WebCore::ScriptCallFrame::~ScriptCallFrame):
785 (WebCore::ScriptCallFrame::argumentAt):
786 * bindings/js/ScriptCallFrame.h: Added.
787 (WebCore::ScriptCallFrame::functionName):
788 (WebCore::ScriptCallFrame::sourceURL):
789 (WebCore::ScriptCallFrame::lineNumber):
790 (WebCore::ScriptCallFrame::argumentCount):
791 * bindings/js/ScriptCallStack.cpp: Added.
792 (WebCore::ScriptCallStack::ScriptCallStack):
793 (WebCore::ScriptCallStack::~ScriptCallStack):
794 (WebCore::ScriptCallStack::at):
795 (WebCore::ScriptCallStack::size):
796 (WebCore::ScriptCallStack::initialize):
797 * bindings/js/ScriptCallStack.h: Added.
798 (WebCore::ScriptCallStack::ScriptCallStack):
799 (WebCore::ScriptCallStack::~ScriptCallStack):
800 (WebCore::ScriptCallStack::state):
801 (WebCore::ScriptCallStack::at):
802 (WebCore::ScriptCallStack::size):
803 (WebCore::ScriptCallStack::initialize):
804 * bindings/js/ScriptString.h: Added missing PlatformString include.
805 (WebCore::ScriptString::ScriptString): Added default constructor.
806 (WebCore::ScriptString::operator==): Added equality operator.
807 (WebCore::ScriptString::operator!=):
808 * bindings/js/ScriptValue.cpp: Added isNull and isUndefined.
809 (WebCore::ScriptValue::isNull):
810 (WebCore::ScriptValue::isUndefined):
811 * bindings/js/ScriptValue.h: Added isNull and isUndefined
812 * bindings/scripts/CodeGeneratorJS.pm: Add handling for
813 CustomArgumentHandling attribute.
814 * inspector/InspectorController.cpp: Refactored to use
815 ScriptCallFrame and ScriptCallStack.
816 (WebCore::ConsoleMessage::ConsoleMessage):
817 (WebCore::InspectorController::addMessageToConsole):
818 (WebCore::InspectorController::startGroup):
819 (WebCore::InspectorController::addScriptConsoleMessage):
820 (WebCore::InspectorController::count):
821 (WebCore::InspectorController::startTiming):
822 (WebCore::InspectorController::stopTiming):
823 * inspector/InspectorController.h: Refactored to use ScriptCallFrame and
825 * inspector/front-end/Console.js: Modified to use argument value itself
826 rather than f.name for stack trace.
827 * page/Console.cpp: Refactored to use ScriptCallFrame and
829 (WebCore::getFirstArgumentAsString):
830 (WebCore::Console::addMessage):
831 (WebCore::Console::debug):
832 (WebCore::Console::error):
833 (WebCore::Console::info):
834 (WebCore::Console::log):
835 (WebCore::Console::dir):
836 (WebCore::Console::dirxml):
837 (WebCore::Console::trace):
838 (WebCore::Console::assertCondition):
839 (WebCore::Console::count):
840 (WebCore::Console::profile):
841 (WebCore::Console::profileEnd):
842 (WebCore::Console::time):
843 (WebCore::Console::timeEnd):
844 (WebCore::Console::group):
845 (WebCore::Console::warn):
847 * page/Console.idl: Removed Custom attributes, added
848 CustomArgumentHandling attributes, and tweaked argument defs.
850 2008-12-09 Darin Adler <darin@apple.com>
852 Try to fix non-Mac builds.
854 * GNUmakefile.am: Added NavigatorBase.
855 * WebCore.pro: Ditto.
856 * WebCore.scons: Ditto.
857 * WebCore.vcproj/WebCore.vcproj: Ditto.
858 * WebCoreSources.bkl: Ditto.
860 Unrelated tweak sitting in my tree.
862 * bindings/objc/DOMAbstractView.mm: Remove pointless override of finalize method.
864 2008-12-09 Darin Adler <darin@apple.com>
866 Try to fix Tiger build.
868 * platform/network/mac/NetworkStateNotifierMac.cpp: Declare CFRunLoopGetMain.
870 2008-12-09 Alexey Proskuryakov <ap@webkit.org>
872 Reviewed by Darin Adler.
874 https://bugs.webkit.org/show_bug.cgi?id=22719
875 Implement Navigator object in Workers
877 Test: fast/workers/worker-navigator.html
879 * DerivedSources.make:
882 * WebCore.vcproj/WebCore.vcproj:
883 * WebCore.xcodeproj/project.pbxproj:
884 Added WorkerNavigator sources.
886 * bindings/js/JSWorkerContext.cpp: (WebCore::jsWorkerContextNavigator):
887 Worker.navigator returns a WoerkerNavigator object (it is named just Navigator in the spec,
888 but it is not the same interface that is available on Windows).
891 (WebCore::Worker::notifyFinished):
892 * dom/WorkerContext.cpp:
893 (WebCore::WorkerContext::WorkerContext):
894 (WebCore::WorkerContext::navigator):
895 * dom/WorkerContext.h:
896 (WebCore::WorkerContext::create):
897 * dom/WorkerThread.cpp:
898 (WebCore::WorkerThread::create):
899 (WebCore::WorkerThread::WorkerThread):
900 (WebCore::WorkerThread::workerThread):
901 * dom/WorkerThread.h:
902 Pass a pre-computed user agent string into worker, because it cannot call a client method
903 directly, and pre-computing is easier than sending a synchronous message to the main thread.
905 * page/Navigator.cpp:
907 * page/NavigatorBase.cpp: Added.
908 * page/NavigatorBase.h: Added.
909 Factor out common (and uncommon, but very similar) functionality into a base class.
911 * page/WorkerNavigator.cpp: Added.
912 * page/WorkerNavigator.h: Added.
913 * page/WorkerNavigator.idl: Added.
914 Per Web Workers and HTML5, implement a small subset of what we currently have in Window.Navigator.
916 * platform/network/NetworkStateNotifier.cpp: (WebCore::networkStateNotifier):
917 Make networkStateNotifier() static constructor thread safe. The object is created on the
918 thread it is first called from, while callbacks are registered on the main thread. Calls to
919 onLine() from other threads are safe, because it is just loading a boolean.
921 * platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier):
922 Schedule notifications on main event loop, not the current one.
924 2008-12-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
926 Rubber-stamped by Alexey Proskuryakov.
928 Forgot to update Qt/WML build - add some new files to the build.
932 2008-12-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
934 Reviewed by Alexey Proskuryakov.
936 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22637
938 Implement the GET method for WMLGoElement, and some test covering it's behaviour.
939 Update all build systems supporting WML that haven't been updated since a while.
941 Add WMLPostField stub implementation, needed for implementing POST method.
943 Tests: wml/go-task-get-method-external-deck-with-href.html
944 wml/go-task-get-method-external-deck.html
945 wml/go-task-get-method-same-deck.html
948 * WebCore.vcproj/WebCore.vcproj:
949 * WebCore.xcodeproj/project.pbxproj:
951 (WebCore::Document::resetWMLPageState):
952 * wml/WMLCardElement.cpp:
953 * wml/WMLCardElement.h:
954 * wml/WMLEventHandlingElement.cpp:
955 (WebCore::WMLCardElement::registerDoElement):
956 * wml/WMLEventHandlingElement.h:
957 * wml/WMLGoElement.cpp:
958 (WebCore::WMLGoElement::WMLGoElement):
959 (WebCore::WMLGoElement::registerPostfieldElement):
960 (WebCore::WMLGoElement::parseMappedAttribute):
961 (WebCore::WMLGoElement::executeTask):
962 (WebCore::WMLGoElement::parseContentType):
963 (WebCore::WMLGoElement::preparePOSTRequest):
964 (WebCore::WMLGoElement::prepareGETRequest):
965 * wml/WMLGoElement.h:
966 * wml/WMLPostfieldElement.cpp: Added.
967 (WebCore::WMLPostfieldElement::WMLPostfieldElement):
968 (WebCore::WMLPostfieldElement::parseMappedAttribute):
969 (WebCore::WMLPostfieldElement::insertedIntoDocument):
970 * wml/WMLPostfieldElement.h: Added.
971 (WebCore::WMLPostfieldElement::name):
972 (WebCore::WMLPostfieldElement::value):
973 * wml/WMLTagNames.in:
975 2008-12-08 Peter Kasting <pkasting@google.com>
977 Reviewed by Anders Carlsson.
979 https://bugs.webkit.org/show_bug.cgi?id=16814
980 Allow ports to disable ActiveX->NPAPI conversion for Media Player.
981 Improve handling of miscellaneous ActiveX objects.
983 * rendering/RenderPartObject.cpp:
984 (WebCore::mapClassIdToServiceType):
985 (WebCore::shouldUseChildEmbedOfObject):
986 (WebCore::RenderPartObject::updateWidget):
988 2008-12-08 Darin Adler <darin@apple.com>
990 Reviewed by John Sullivan.
992 - fix https://bugs.webkit.org/show_bug.cgi?id=22409
993 REGRESSION: cmd-shift-left/right don't switch tabs, instead select text
995 Tests: editing/execCommand/enabling-and-selection-2.html
996 editing/execCommand/enabling-and-selection.html
998 * editing/EditorCommand.cpp: Updated table to use these functions by their new names.
999 (WebCore::enabledVisibleSelection): Renamed this to reflect its new algorithm.
1000 An invisible selection with a position that selects no characters doesn't count
1001 as a visible selection.
1002 (WebCore::enabledVisibleSelectionAndMark): Ditto.
1004 2008-12-08 David Kilzer <ddkilzer@apple.com>
1006 Remove duplicate entries from WebCore project.
1008 Reviewed by Eric Seidel.
1010 Bug 22555: Sort "children" sections in Xcode project files.
1011 <https://bugs.webkit.org/show_bug.cgi?id=22555>
1013 Recipe for removing duplicates:
1014 $ ./WebKitTools/Scripts/sort-Xcode-project-file project.pbxproj
1015 $ uniq < project.pbxproj | diff -u project.pbxproj - | patch -p0 project.pbxproj
1017 * WebCore.xcodeproj/project.pbxproj: Removed duplicates.
1019 2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>
1021 Reviewed by Darin Adler.
1023 Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
1024 https://bugs.webkit.org/show_bug.cgi?id=22665
1026 Remove setCreatedByParser from the script elements (HTML and SVG).
1028 * dom/XMLTokenizer.cpp:
1029 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): Removed
1030 call to setCreatedByParser for the 2 elements.
1032 * dom/make_names.pl: Modified to call the constructor with
1033 the createByParser parameter if 'constructorNeedsCreatedByParser'
1036 * html/HTMLElementFactory.cpp:
1037 (WebCore::scriptConstructor):
1038 * html/HTMLScriptElement.cpp:
1039 (WebCore::HTMLScriptElement::HTMLScriptElement):
1040 * html/HTMLScriptElement.h:
1041 * html/HTMLTagNames.in: Added constructorNeedsCreatedByParser
1043 * svg/SVGScriptElement.cpp:
1044 (WebCore::SVGScriptElement::SVGScriptElement):
1045 * svg/SVGScriptElement.h:
1046 * svg/svgtags.in: Added constructorNeedsCreatedByParser
1049 2008-12-08 David Kilzer <ddkilzer@apple.com>
1051 Bug 22555: Sort "children" sections in Xcode project files
1053 <https://bugs.webkit.org/show_bug.cgi?id=22555>
1055 Reviewed by Eric Seidel.
1057 * WebCore.xcodeproj/project.pbxproj: Sorted.
1058 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Sorted.
1060 2008-12-08 Tony Chang <tony@chromium.org>
1062 Reviewed by Eric Seidel.
1064 Add a bool to GraphicsContext so that shadows can ignore
1065 transformations. This is needed by HTML canvas element
1066 where the spec says shadows are applied w/o transformations.
1067 https://bugs.webkit.org/show_bug.cgi?id=22580
1069 No functional changes, thus no tests.
1071 * html/CanvasRenderingContext2D.cpp:
1072 (WebCore::CanvasRenderingContext2D::setShadow):
1073 (WebCore::CanvasRenderingContext2D::applyShadow):
1074 * html/HTMLCanvasElement.cpp:
1075 (WebCore::HTMLCanvasElement::createImageBuffer):
1076 * platform/graphics/GraphicsContext.cpp:
1077 (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
1078 * platform/graphics/GraphicsContext.h:
1079 * platform/graphics/GraphicsContextPrivate.h:
1080 (WebCore::GraphicsContextState::GraphicsContextState):
1081 * platform/graphics/cg/GraphicsContextCG.cpp:
1082 (WebCore::GraphicsContext::setPlatformShadow):
1084 2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>
1086 Reviewed by Darin Adler.
1088 Bug 17897: Not Rendering Images Imported from XHTML Document
1089 <rdar://problem/5827614>
1091 When we were loading document with XMLHttpRequest that contained images, the images
1092 would not be fetched as they would not be displayed. However if we inserted such
1093 an image element into a rendered document, we would not fetch the image and thus never
1096 Now we check if the image has been loaded when we insert an HTMLImageElement into a
1098 To enable this, the image loader has an error flag. To avoid doing several attempts
1099 when we know that the image is in error, we store the failed URL.
1100 However Firefox and Opera ignore errors when the 'src' attribute changes and thus
1101 we also have an updateFromElementIgnoringPreviousError to match the other browser.
1103 Tests: http/tests/misc/image-blocked-src-change.html
1104 http/tests/misc/image-blocked-src-no-change.html
1105 http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg
1106 http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html
1108 * html/HTMLEmbedElement.cpp:
1109 (WebCore::HTMLEmbedElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
1110 * html/HTMLImageElement.cpp:
1111 (WebCore::HTMLImageElement::parseMappedAttribute): Ditto.
1112 (WebCore::HTMLImageElement::insertedIntoDocument): Call updateFromElement if we do not have
1115 * html/HTMLInputElement.cpp:
1116 (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
1117 * html/HTMLObjectElement.cpp:
1118 (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
1119 * html/HTMLVideoElement.cpp:
1120 (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
1121 * loader/ImageLoader.cpp:
1122 (WebCore::ImageLoader::setImage): Added an assertion.
1123 (WebCore::ImageLoader::updateFromElement): Added a check for load error (to avoid displaying
1124 multiple errors in the console for a single image load).
1126 (WebCore::ImageLoader::updateFromElementIgnoringPreviousError): This method clears previous error
1127 before calling updateFromElement.
1129 (WebCore::ImageLoader::notifyFinished): Added an assertion.
1130 * loader/ImageLoader.h:
1131 * svg/SVGImageElement.cpp:
1132 (WebCore::SVGImageElement::svgAttributeChanged): Changed to call updateFromElementIgnoringPreviousError.
1134 2008-12-08 David Hyatt <hyatt@apple.com>
1136 Make scrollbar creation virtual on ScrollView so that FrameView can have the capability to create
1137 custom CSS scrollbars.
1139 Reviewed by Eric Seidel
1141 * page/FrameView.cpp:
1142 (WebCore::FrameView::createScrollbar):
1144 * platform/ScrollView.cpp:
1145 (WebCore::ScrollView::setHasHorizontalScrollbar):
1146 (WebCore::ScrollView::setHasVerticalScrollbar):
1147 (WebCore::ScrollView::createScrollbar):
1148 * platform/ScrollView.h:
1150 2008-12-08 Dan Bernstein <mitz@apple.com>
1152 Reviewed by John Sullivan.
1154 - WebCore part of tracking the global history item for a WebView
1156 * loader/FrameLoader.cpp:
1157 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Set the page's
1158 global history item to the current back/forward list item, respecting
1159 private browsing mode.
1160 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto in this
1162 (WebCore::FrameLoader::goToItem): Ditto in this case.
1163 (WebCore::FrameLoader::updateHistoryForStandardLoad): If this load
1164 creates a new global history item, set the page's global history item
1166 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
1169 (WebCore::Page::setGlobalHistoryItem): Added this setter.
1170 * page/Page.h: Added a m_globalHistoryItem data member.
1171 (WebCore::Page::globalHistoryItem): Added this getter.
1173 2008-12-08 Antti Koivisto <antti@apple.com>
1175 Reviewed by Dave Kilzer.
1177 A few stylistic fixes suggested by Dave Kilzer.
1179 * css/CSSPrimitiveValue.cpp:
1180 (WebCore::CSSPrimitiveValue::createIdentifier):
1181 (WebCore::CSSPrimitiveValue::create):
1183 2008-12-08 Alexey Proskuryakov <ap@webkit.org>
1185 Reviewed by Darin Adler.
1187 https://bugs.webkit.org/show_bug.cgi?id=22737
1188 Try debug version when locating CFNetwork
1190 * platform/network/cf/ResourceRequestCFNet.cpp:
1191 (WebCore::findCFNetworkModule):
1192 (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
1193 (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
1194 * platform/network/win/CookieJarCFNetWin.cpp:
1195 (WebCore::findCFNetworkModule):
1196 (WebCore::findIsHTTPOnlyFunction):
1198 2008-12-08 Aaron Boodman <aa@chromium.org>
1200 Reviewed by Stephanie Lewis.
1202 https://bugs.webkit.org/show_bug.cgi?id=22301
1203 Make dispatchDidFinishLoading() always fire before didFinishLoadForFrame().
1205 * loader/FrameLoader.cpp:
1206 (WebCore::FrameLoader::finishedParsing):
1208 2008-12-08 Trenton Schulz <trenton.schulz@nokia.com>
1210 Rubber-stamped by Tor Arne Vestbø.
1212 Fix build warning on Mac
1214 * platform/text/mac/StringImplMac.mm:
1216 2008-12-08 Simon Hausmann <simon.hausmann@nokia.com>
1220 * bridge/qt/qt_runtime.cpp:
1221 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData to RegExp
1224 2008-12-08 Oliver Hunt <oliver@apple.com>
1226 Reviewed by Alexey Proskuryakov.
1228 Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler
1229 <rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398)
1231 This regression was caused by r39059 replacing the protector on the active
1232 animation with a protector on just the composition. It turns out that both
1233 protectors are necessary.
1235 Test: transitions/transition-duration-cleared-in-transitionend-crash.html
1237 * page/animation/AnimationBase.cpp:
1238 (WebCore::AnimationBase::animationTimerCallbackFired):
1240 2008-12-08 Dmitry Titov <dimich@chromium.org>
1242 Reviewed by Alexey Proskuryakov.
1244 https://bugs.webkit.org/show_bug.cgi?id=22732
1245 Remove unused files PausedTimeouts.h,.cpp
1246 The change that deprecated this code was https://bugs.webkit.org/show_bug.cgi?id=22620
1251 * WebCore.vcproj/WebCore.vcproj:
1252 * WebCore.xcodeproj/project.pbxproj:
1253 * WebCoreSources.bkl:
1254 These are build files which had PausedTimeouts referenced.
1256 * bindings/js/PausedTimeouts.cpp: Removed.
1257 * bindings/js/PausedTimeouts.h: Removed.
1258 * bindings/js/ScriptController.cpp: Removed '#include'
1259 * page/Chrome.cpp: Removed '#include' and unused variable.
1261 2008-12-07 Simon Fraser <simon.fraser@apple.com>
1263 Reviewed by Dan Bernstein
1265 https://bugs.webkit.org/show_bug.cgi?id=22594
1267 Fix issues which break reading inline style for -webkit-transition
1268 and -webkit-transform-origin.
1270 Test: fast/css/transform-inline-style.html
1272 * css/CSSMutableStyleDeclaration.cpp:
1273 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases
1274 for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition
1275 so that these shorthand properties are returned correctly.
1276 * css/CSSParser.cpp:
1277 (WebCore::CSSParser::parseAnimationProperty): Create CSSPrimitiveValues
1278 with the correct CSSValueAll and CSSValueNone identifiers, not the
1279 RenderStyle-level cAnimateAll, cAnimateNone.
1280 * css/CSSStyleSelector.cpp:
1281 (WebCore::CSSStyleSelector::mapAnimationProperty): Special-case CSSValueAll
1282 and CSSValueNone values to set cAnimateAll and cAnimateNone transition properties.
1284 2008-12-07 Antti Koivisto <antti@apple.com>
1286 Reviewed by Darin Adler.
1288 https://bugs.webkit.org/show_bug.cgi?id=22717
1289 Make CSS values use less memory
1291 Share CSSPrimitiveValue objects for commonly used values including
1296 This reduces the amount CSSPrimitiveValue instances by > 80%.
1298 * css/CSSPrimitiveValue.cpp:
1299 (WebCore::CSSPrimitiveValue::createIdentifier):
1300 (WebCore::CSSPrimitiveValue::createColor):
1301 (WebCore::CSSPrimitiveValue::create):
1302 * css/CSSPrimitiveValue.h:
1303 (WebCore::CSSPrimitiveValue::create):
1305 2008-12-07 Antti Koivisto <antti@apple.com>
1307 Reviewed by Darin Adler.
1309 https://bugs.webkit.org/show_bug.cgi?id=22717
1310 Make CSS values use less memory
1312 Get CSSValues off from the common StyleBase base class. They don't
1313 need a parent pointer or anything else there and there is no real
1314 reason to have them in same data structures with other CSSOM objects.
1316 Disabled (instead of refactoring around the lack of common base) the ability
1317 to have style declaration blocks as CSS variable values. They don't exist in
1318 the spec so I wasn't sure if they have future or not. It would not be hard to
1319 get them back. CSS variables are in any case an experimental feature and
1320 not enabled by default.
1322 * css/CSSInitialValue.h:
1323 (WebCore::CSSInitialValue::createExplicit):
1324 (WebCore::CSSInitialValue::createImplicit):
1325 * css/CSSParser.cpp:
1326 (WebCore::CSSParser::addVariableDeclarationBlock):
1329 (WebCore::CSSValue::~CSSValue):
1330 (WebCore::CSSValue::parserValue):
1331 * css/CSSVariablesDeclaration.cpp:
1332 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
1333 (WebCore::CSSVariablesDeclaration::getVariableValue):
1334 (WebCore::CSSVariablesDeclaration::removeVariable):
1335 (WebCore::CSSVariablesDeclaration::addParsedVariable):
1336 (WebCore::CSSVariablesDeclaration::getParsedVariable):
1337 (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock):
1338 * css/CSSVariablesDeclaration.h:
1339 (WebCore::CSSVariablesDeclaration::create):
1342 2008-12-07 Dirk Schulze <krit@webkit.org>
1344 Reviewed by Oliver Hunt.
1346 Add gradient and pattern support for strokeRect on canvas/Cg.
1348 Canvas strokeRect() doesn't support gradients
1349 https://bugs.webkit.org/show_bug.cgi?id=19790
1351 Test: fast/canvas/canvas-strokeRect.html
1353 * platform/graphics/cg/GraphicsContextCG.cpp:
1354 (WebCore::GraphicsContext::strokeRect):
1356 2008-12-06 Dirk Schulze <krit@webkit.org>
1358 Reviewed by Oliver Hunt.
1360 Add support for setTransform() in canvas.
1362 <canvas> lacks transform() and setTransform()
1363 https://bugs.webkit.org/show_bug.cgi?id=16604
1365 Test: fast/canvas/canvas-setTransform.html
1367 * html/CanvasRenderingContext2D.cpp:
1368 (WebCore::CanvasRenderingContext2D::State::State):
1369 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
1370 (WebCore::CanvasRenderingContext2D::setFillStyle):
1371 (WebCore::CanvasRenderingContext2D::scale):
1372 (WebCore::CanvasRenderingContext2D::rotate):
1373 (WebCore::CanvasRenderingContext2D::translate):
1374 (WebCore::CanvasRenderingContext2D::transform):
1375 (WebCore::CanvasRenderingContext2D::setTransform):
1376 (WebCore::CanvasRenderingContext2D::beginPath):
1377 (WebCore::CanvasRenderingContext2D::closePath):
1378 (WebCore::CanvasRenderingContext2D::moveTo):
1379 (WebCore::CanvasRenderingContext2D::lineTo):
1380 (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
1381 (WebCore::CanvasRenderingContext2D::bezierCurveTo):
1382 (WebCore::CanvasRenderingContext2D::arcTo):
1383 (WebCore::CanvasRenderingContext2D::arc):
1384 (WebCore::CanvasRenderingContext2D::rect):
1385 (WebCore::CanvasRenderingContext2D::fill):
1386 (WebCore::CanvasRenderingContext2D::stroke):
1387 (WebCore::CanvasRenderingContext2D::clip):
1388 (WebCore::CanvasRenderingContext2D::isPointInPath):
1389 (WebCore::CanvasRenderingContext2D::clearRect):
1390 (WebCore::CanvasRenderingContext2D::fillRect):
1391 (WebCore::CanvasRenderingContext2D::strokeRect):
1392 (WebCore::CanvasRenderingContext2D::drawImage):
1393 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1394 (WebCore::CanvasRenderingContext2D::willDraw):
1395 (WebCore::CanvasRenderingContext2D::drawTextInternal):
1396 * html/CanvasRenderingContext2D.h:
1397 * html/CanvasRenderingContext2D.idl:
1398 * html/HTMLCanvasElement.cpp:
1399 (WebCore::HTMLCanvasElement::baseTransform):
1400 * html/HTMLCanvasElement.h:
1401 * platform/graphics/ImageBuffer.h:
1402 (WebCore::ImageBuffer::baseTransform):
1404 2008-12-06 Antti Koivisto <antti@apple.com>
1406 Reviewed by Darin Adler.
1408 Also copy m_implicit field. Darin wanted this change commited separately.
1410 * css/CSSProperty.h:
1411 (WebCore::CSSProperty::operator=):
1413 2008-12-06 Antti Koivisto <antti@apple.com>
1415 Reviewed by Darin Adler.
1417 https://bugs.webkit.org/show_bug.cgi?id=22379
1418 Make CSSOM use less memory
1420 Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration.
1422 Taught setter functions to use existing slots to avoid memory moves, plus some
1423 other optimizations.
1425 * WebCore.xcodeproj/project.pbxproj:
1426 * css/CSSMutableStyleDeclaration.cpp:
1427 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1428 (WebCore::CSSMutableStyleDeclaration::operator=):
1429 (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
1430 (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
1431 (WebCore::CSSMutableStyleDeclaration::removeProperty):
1432 (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
1433 (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
1434 (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
1435 (WebCore::CSSMutableStyleDeclaration::setProperty):
1436 (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
1437 (WebCore::CSSMutableStyleDeclaration::setStringProperty):
1438 (WebCore::CSSMutableStyleDeclaration::setImageProperty):
1439 (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
1440 (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
1441 (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
1442 (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
1443 (WebCore::CSSMutableStyleDeclaration::length):
1444 (WebCore::CSSMutableStyleDeclaration::item):
1445 (WebCore::CSSMutableStyleDeclaration::cssText):
1446 (WebCore::CSSMutableStyleDeclaration::setCssText):
1447 (WebCore::CSSMutableStyleDeclaration::merge):
1448 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1449 (WebCore::CSSMutableStyleDeclaration::copy):
1450 (WebCore::CSSMutableStyleDeclaration::findPropertyWithId):
1451 * css/CSSMutableStyleDeclaration.h:
1452 (WebCore::CSSMutableStyleDeclarationConstIterator::operator*):
1453 (WebCore::CSSMutableStyleDeclarationConstIterator::operator->):
1454 (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=):
1455 (WebCore::CSSMutableStyleDeclarationConstIterator::operator==):
1456 (WebCore::CSSMutableStyleDeclaration::create):
1457 (WebCore::CSSMutableStyleDeclaration::begin):
1458 (WebCore::CSSMutableStyleDeclaration::end):
1459 (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator):
1460 (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator):
1461 (WebCore::CSSMutableStyleDeclarationConstIterator::operator=):
1462 (WebCore::CSSMutableStyleDeclarationConstIterator::operator++):
1463 (WebCore::CSSMutableStyleDeclarationConstIterator::operator--):
1464 * css/CSSProperty.h:
1466 * css/CSSStyleDeclaration.cpp:
1467 (WebCore::CSSStyleDeclaration::diff):
1468 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
1469 * css/CSSStyleSelector.cpp:
1470 (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
1471 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
1472 (WebCore::CSSStyleSelector::applyDeclarations):
1473 * dom/EventTarget.h:
1474 * editing/ApplyStyleCommand.cpp:
1475 (WebCore::StyleChange::init):
1476 (WebCore::ApplyStyleCommand::isHTMLStyleNode):
1477 (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
1478 (WebCore::ApplyStyleCommand::removeCSSStyle):
1479 * editing/Editor.cpp:
1480 (WebCore::Editor::selectionStartHasStyle):
1481 (WebCore::updateState):
1482 * editing/ReplaceSelectionCommand.cpp:
1483 (WebCore::ReplaceSelectionCommand::handleStyleSpans):
1484 * editing/markup.cpp:
1485 (WebCore::appendStartMarkup):
1487 2008-12-06 Simon Fraser <simon.fraser@apple.com>
1489 Reviewed by Antti Koivisto, Dan Bernstein
1491 https://bugs.webkit.org/show_bug.cgi?id=22088
1493 Fix logic related to repainting when transform changes:
1494 If an object has a layer, and the transform changes, then we need
1495 to do a repaintIncludingDescendants(), not just a repaint.
1497 Test: fast/repaint/transform-repaint-descendants.html
1499 * rendering/RenderObject.cpp:
1500 (WebCore::RenderObject::styleWillChange):
1502 2008-12-06 Simon Fraser <simon.fraser@apple.com>
1504 Reviewed by Dan Bernstein
1506 https://bugs.webkit.org/show_bug.cgi?id=15739
1508 When painting the selection on a replaced element, paint
1509 using local coordinates so that the selection is correctly
1510 painted for transformed elements.
1512 Test: fast/replaced/selection-rect-transform.html
1514 * rendering/RenderReplaced.cpp:
1515 (WebCore::RenderReplaced::paint):
1517 2008-12-06 Simon Fraser <simon.fraser@apple.com>
1519 Reviewed by Dave Hyatt
1521 https://bugs.webkit.org/show_bug.cgi?id=15671
1523 Fix caret rendering to behave correctly with transforms:
1524 * Rename caretRect() methods to localCaretRect() and
1525 absoluteCaretBounds() as appropriate
1526 * Fix localCaretRect() methods to return a rect in the
1527 appropriate coordinates.
1528 * Pass tx, ty down through the paintCaret() methods, after fixing them
1529 up to account for differences between contents coords, and renderer-local
1530 coords (via RenderBlock::offsetForContents()).
1531 * Remove m_caretPositionOnLayout from SelectionController, and instead
1532 call invalidateSelection() from RenderLayer::scrollToOffset(), because
1533 we can no longer assume simple x/y offsets from scrolling with transforms.
1534 * Move the logic to compute which RenderObject actually paints the caret into
1535 SelectionController::caretRenderer(), rather than having it in RenderBlock.
1536 * SelectionController now computes and caches a local caret rect. For invalidation,
1537 it computes the absolute bounds of that (possibly transformed) local rect.
1538 The local rect is computed in the coordinate system of the RenderObject that
1539 will paint the caret (this may require offsetting from the actual renderer
1540 at the start of the selection).
1541 * Fix LayoutState(RenderObject* root) to take transforms into account
1542 * Make offsetFromContainer() a virtual method on RenderObject, and implement
1543 the RenderObject version. It's used to map from selection start renderer
1546 Test: fast/transforms/transformed-caret.html
1549 * editing/DeleteSelectionCommand.cpp:
1550 (WebCore::DeleteSelectionCommand::mergeParagraphs):
1551 * editing/SelectionController.cpp:
1552 (WebCore::SelectionController::SelectionController):
1553 (WebCore::absoluteCaretY):
1554 (WebCore::SelectionController::modify):
1555 (WebCore::SelectionController::xPosForVerticalArrowNavigation):
1556 (WebCore::SelectionController::layout):
1557 (WebCore::SelectionController::caretRenderer):
1558 (WebCore::SelectionController::localCaretRect):
1559 (WebCore::SelectionController::absoluteCaretBounds):
1560 (WebCore::SelectionController::caretRepaintRect):
1561 (WebCore::SelectionController::recomputeCaretRect):
1562 (WebCore::SelectionController::invalidateCaretRect):
1563 (WebCore::SelectionController::paintCaret):
1564 (WebCore::SelectionController::caretRendersInsideNode):
1565 * editing/SelectionController.h:
1566 * editing/VisiblePosition.cpp:
1567 (WebCore::VisiblePosition::localCaretRect):
1568 (WebCore::VisiblePosition::absoluteCaretBounds):
1569 (WebCore::VisiblePosition::xOffsetForVerticalNavigation):
1570 * editing/VisiblePosition.h:
1571 * editing/mac/SelectionControllerMac.mm:
1572 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1573 * html/HTMLElement.cpp:
1574 (WebCore::HTMLElement::isContentEditable):
1575 * page/AccessibilityRenderObject.cpp:
1576 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
1578 (WebCore::Frame::firstRectForRange):
1579 (WebCore::Frame::selectionLayoutChanged):
1580 (WebCore::Frame::paintCaret):
1581 (WebCore::Frame::paintDragCaret):
1582 (WebCore::Frame::revealSelection):
1583 (WebCore::Frame::revealCaret):
1585 * rendering/LayoutState.cpp:
1586 (WebCore::LayoutState::LayoutState):
1587 * rendering/RenderBlock.cpp:
1588 (WebCore::RenderBlock::paintCaret):
1589 (WebCore::RenderBlock::paintObject):
1590 (WebCore::RenderBlock::positionForCoordinates):
1591 (WebCore::RenderBlock::offsetForContents):
1592 * rendering/RenderBlock.h:
1593 * rendering/RenderBox.cpp:
1594 (WebCore::RenderBox::localCaretRect):
1595 * rendering/RenderBox.h:
1596 * rendering/RenderFlow.cpp:
1597 (WebCore::RenderFlow::localCaretRect):
1598 * rendering/RenderFlow.h:
1599 * rendering/RenderLayer.cpp:
1600 (WebCore::RenderLayer::scrollToOffset):
1601 * rendering/RenderObject.cpp:
1602 (WebCore::RenderObject::localCaretRect):
1603 * rendering/RenderObject.h:
1604 * rendering/RenderSVGInlineText.cpp:
1605 (WebCore::RenderSVGInlineText::localCaretRect):
1606 * rendering/RenderSVGInlineText.h:
1607 * rendering/RenderText.cpp:
1608 (WebCore::RenderText::RenderText):
1609 (WebCore::RenderText::localCaretRect):
1610 * rendering/RenderText.h:
1612 2008-12-06 David Kilzer <ddkilzer@apple.com>
1614 Bug 22711: Current svn (build 39065) fails to compile
1616 <https://bugs.webkit.org/show_bug.cgi?id=22711>
1618 BUILD FIX for r39065: Forgot parentheses after "document".
1620 Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
1621 <https://bugs.webkit.org/show_bug.cgi?id=22666>
1623 * svg/SVGFEImageElement.cpp:
1624 (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed
1625 document to document().
1627 2008-12-06 Dmitry Titov <dimich@chromium.org>
1629 Reviewed by Alexey Proskuryakov.
1631 https://bugs.webkit.org/show_bug.cgi?id=22710
1632 Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document
1634 * bindings/js/DOMTimer.cpp:
1635 (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object.
1637 2008-12-06 David Kilzer <ddkilzer@apple.com>
1639 Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
1641 <https://bugs.webkit.org/show_bug.cgi?id=22666>
1643 Reviewed by Darin Adler.
1645 When creating a webarchive from WebCore::LegacyWebArchive::create(),
1646 HashSet<String>, Vector<KURL> and Vector<String> were all used to
1647 store a list of URLs for resources found in the document. Instead
1648 use a single ListHashSet<KURL> to store the list and resolve the
1649 relative URLs as they're added. We use a new inline method called
1650 WebCore::addSubresourceURL() to add KURL objects to the ListHashSet
1651 to prevent "null" KURL objects from crashing in the KURL hashing
1654 * WebCore.base.exp: Changed export of
1655 WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL>
1656 argument instead of a Vector<KURL>.
1658 * WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private
1659 header for use in WebKit.
1661 * css/CSSStyleSheet.cpp:
1662 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from
1663 addSubresourceURLStrings(). Changed to use ListHashSet<KURL>
1664 instead of HashSet<String>. Cleaned up code.
1665 * css/CSSStyleSheet.h:
1666 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto.
1668 (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto.
1671 (WebCore::Node::getSubresourceURLs): Changed to use
1672 ListHashSet<KURL> instead of Vector<KURL>. Cleaned up code.
1674 (WebCore::Node::getSubresourceURLs): Ditto.
1675 (WebCore::Node::addSubresourceAttributeURLs): Renamed from
1676 getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL>
1677 instead of Vector<String>.
1678 (WebCore::addSubresourceURL): Added. Safely adds new KURL objects
1679 to a ListHashSet<KURL> object. A "null" KURL object will cause the
1680 hash function to crash since it contains a null StringImpl. Used in
1681 Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in
1682 the style subsystem.
1684 * dom/ProcessingInstruction.cpp:
1685 (WebCore::ProcessingInstruction::addSubresourceAttributeURLs):
1686 Renamed from getSubresourceAttributeStrings(). Changed to use
1687 ListHashSet<KURL> instead of Vector<String>. Use
1688 WebCore::addSubresourceURL() to add new KURL objects.
1689 * dom/ProcessingInstruction.h: Ditto.
1690 * html/HTMLBodyElement.cpp:
1691 (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto.
1692 * html/HTMLBodyElement.h: Ditto.
1693 * html/HTMLEmbedElement.cpp:
1694 (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
1695 * html/HTMLEmbedElement.h: Ditto.
1696 * html/HTMLImageElement.cpp:
1697 (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
1698 * html/HTMLImageElement.h: Ditto.
1699 * html/HTMLInputElement.cpp:
1700 (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
1701 * html/HTMLInputElement.h: Ditto.
1702 * html/HTMLLinkElement.cpp:
1703 (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
1704 * html/HTMLLinkElement.h: Ditto.
1705 * html/HTMLObjectElement.cpp:
1706 (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
1707 * html/HTMLObjectElement.h: Ditto.
1708 * html/HTMLParamElement.cpp:
1709 (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
1710 * html/HTMLParamElement.h: Ditto.
1711 * html/HTMLScriptElement.cpp:
1712 (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
1713 * html/HTMLScriptElement.h: Ditto.
1714 * html/HTMLStyleElement.cpp:
1715 (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
1716 * html/HTMLStyleElement.h: Ditto.
1717 * html/HTMLTableCellElement.cpp:
1718 (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
1719 * html/HTMLTableCellElement.h: Ditto.
1720 * html/HTMLTableElement.cpp:
1721 (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
1722 * html/HTMLTableElement.h: Ditto.
1724 * loader/archive/cf/LegacyWebArchive.cpp:
1725 (WebCore::LegacyWebArchive::create): Changed from using
1726 HashSet<String> to ListHashSet<KURL> for tracking unique
1727 subresources. Changed from using Vector<KURL> to ListHashSet<KURL>
1728 when calling WebCore::Node::getSubresourceURLs(). Cleaned up code.
1730 * svg/SVGCursorElement.cpp:
1731 (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed
1732 from getSubresourceAttributeStrings(). Changed to use
1733 ListHashSet<KURL> instead of Vector<String>. Use
1734 WebCore::addSubresourceURL() to add new KURL objects.
1735 * svg/SVGCursorElement.h: Ditto.
1736 * svg/SVGFEImageElement.cpp:
1737 (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
1738 * svg/SVGFEImageElement.h: Ditto.
1739 * svg/SVGImageElement.cpp:
1740 (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
1741 * svg/SVGImageElement.h: Ditto.
1742 * svg/SVGScriptElement.cpp:
1743 (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
1744 * svg/SVGScriptElement.h: Ditto.
1746 2008-12-05 Brett Wilson <brettw@chromium.org>
1748 Reviewed by Darin Adler.
1750 Make the page group use the proper link hashing functions rather than
1751 calling the string hash functions directly. Add Chromium-specfic ifdefs
1752 in the visited link computation functions to allow integration.
1754 * page/PageGroup.cpp:
1755 (WebCore::PageGroup::isLinkVisited):
1756 (WebCore::PageGroup::addVisitedLink):
1757 * platform/LinkHash.cpp:
1758 (WebCore::visitedLinkHash):
1759 * platform/LinkHash.h:
1761 2008-12-05 Chris Marrin <cmarrin@apple.com>
1763 Reviewed by Dave Hyatt.
1765 Fix for https://bugs.webkit.org/show_bug.cgi?id=22635
1766 For iteration and end events, previous fixes to prevent the deletion of
1767 Animation objects (ref counting and hanging onto a ref during event callbacks)
1768 was sufficient to prevent dangling pointers. But start events are sent in
1769 the styleAvailable() call, which iterates over CompositeAnimation objects,
1770 which are not ref counted. So that object can get destroyed in the event
1771 handler while still active. So I added refcounting for CompositeAnimations.
1773 Additionally, when am iterating over the CompositingAnimation list, it can
1774 be deleted, which mutates the list. So I now make one pass over the list
1775 building a vector of CompositeAnimation objects that need to be called and
1776 then iterate over that vector to make the actual calls.
1778 Finally, to make sure the lifetime of the CompositeAnimation exceeds that of
1779 the Animation objects it owns, I now keep a ref to the CompositeAnimation
1780 in the timer callback for the iteration and end events. That means I no
1781 longer need to keep a ref to the Animation objects themselves in that timer
1782 callback, since the CompositeAnimation already has one.
1784 Tests: animations/animation-iteration-event-destroy-renderer.html
1785 animations/animation-start-event-destroy-renderer.html
1787 * page/animation/AnimationBase.cpp:
1788 (WebCore::AnimationBase::updateStateMachine):
1789 (WebCore::AnimationBase::animationTimerCallbackFired):
1790 * page/animation/AnimationController.cpp:
1791 (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
1792 (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
1793 (WebCore::AnimationControllerPrivate::clear):
1794 (WebCore::AnimationControllerPrivate::styleAvailable):
1795 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1796 (WebCore::AnimationControllerPrivate::animationTimerFired):
1797 (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
1798 (WebCore::AnimationControllerPrivate::suspendAnimations):
1799 (WebCore::AnimationControllerPrivate::resumeAnimations):
1800 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
1801 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
1802 (WebCore::AnimationController::updateAnimations):
1803 (WebCore::AnimationController::setAnimationStartTime):
1804 (WebCore::AnimationController::setTransitionStartTime):
1805 * page/animation/CompositeAnimation.cpp:
1806 (WebCore::CompositeAnimationPrivate::animationController):
1807 (WebCore::CompositeAnimationPrivate::isWaitingForStyleAvailable):
1808 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
1809 (WebCore::CompositeAnimationPrivate::clearRenderer):
1810 (WebCore::CompositeAnimation::clearRenderer):
1811 (WebCore::CompositeAnimation::animationController):
1812 (WebCore::CompositeAnimation::isWaitingForStyleAvailable):
1813 * page/animation/CompositeAnimation.h:
1814 (WebCore::CompositeAnimation::create):
1816 2008-12-05 David Kilzer <ddkilzer@apple.com>
1818 Bug 22609: Provide a build-time choice when generating hash tables for properties of built-in DOM objects
1820 <https://bugs.webkit.org/show_bug.cgi?id=22609>
1821 <rdar://problem/6331749>
1823 Reviewed by Darin Adler.
1825 Initial patch by Yosen Lin. Adapted for ToT WebKit by David Kilzer.
1827 Added back the code that generates a "compact" hash (instead of a
1828 perfect hash) as a build-time option using the
1829 ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h.
1831 * bindings/scripts/CodeGeneratorJS.pm:
1832 (GenerateImplementation): Compute the number of elements that will
1833 be stored in each hash table and pass it to GenerateHashTable().
1834 (GenerateHashTable): Added new second parameter representing the
1835 number of elements to store in the compact hash table. Added back
1836 code to compute compact hash tables. Generate both hash table sizes
1837 and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
1839 2008-12-05 Brett Wilson <brettw@chromium.org>
1841 Fix build bustage from previous patch.
1843 * css/CSSSelector.h:
1845 2008-12-05 Brett Wilson <brettw@chromium.org>
1847 Reviewed by Eric Seidel.
1849 Add a missing include for OwnPtr to make CSSSelector compile without
1850 precompiled headers.
1852 * css/CSSSelector.h:
1854 2008-12-05 Finnur Thorarinsson <finnur.webkit@gmail.com>
1856 Reviewed by Darin Adler.
1858 Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks
1859 without relying on high-level WebCore types, as requested by Dave Hyatt.
1861 No functional changes, thus no test cases.
1863 * page/FrameView.cpp:
1864 (WebCore::FrameView::getTickmarks):
1866 * platform/ScrollbarClient.h:
1868 2008-12-05 Dean Jackson <dino@apple.com>
1870 Reviewed by David Hyatt.
1872 Make sure Window event listeners also tell the
1873 Document about the event type, so noisy events
1874 will be dispatched even if nothing in the document
1876 https://bugs.webkit.org/show_bug.cgi?id=20572
1879 (WebCore::Document::addWindowEventListener):
1881 2008-12-05 Adam Roben <aroben@apple.com>
1883 Windows build fix after r39026
1885 * platform/network/cf/ResourceRequestCFNet.cpp:
1886 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1887 (WebCore::ResourceRequest::doUpdateResourceRequest):
1888 Add some missing .get()s.
1890 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
1894 * platform/network/mac/ResourceRequestMac.mm: Define NSUInteger.
1896 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
1898 Reviewed by Darin Adler.
1900 <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
1901 in Safari before opening a mail message in Mail
1903 * platform/mac/WebCoreObjCExtras.mm:
1904 (WebCoreObjCFinalizeOnMainThread):
1905 Don't call initializeThreading: we now expect the caller to do it, to simplify keeping
1906 Tiger and post-Tiger behavior in line.
1908 * bindings/objc/DOMRGBColor.mm:
1909 (+[DOMRGBColor initialize]):
1910 * bindings/objc/WebScriptObject.mm:
1911 (+[WebScriptObject initialize]):
1912 * page/mac/AccessibilityObjectWrapper.mm:
1913 (+[AccessibilityObjectWrapper initialize]):
1914 * platform/mac/SharedBufferMac.mm:
1915 (+[WebCoreSharedBufferData initialize]):
1916 Call JSC::initializeThreading();
1918 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
1920 Reviewed by Darin Adler.
1922 <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
1924 * platform/network/ResourceRequestBase.cpp:
1925 (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
1926 * platform/network/ResourceRequestBase.h:
1927 * platform/network/cf/ResourceRequestCFNet.cpp:
1928 (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
1929 (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
1930 (WebCore::setContentDispositionEncodingFallbackArray):
1931 (WebCore::copyContentDispositionEncodingFallbackArray):
1932 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1933 (WebCore::ResourceRequest::doUpdateResourceRequest):
1934 * platform/network/mac/ResourceRequestMac.mm:
1935 (WebCore::ResourceRequest::doUpdateResourceRequest):
1936 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1937 Added a way to specify encoding fallback list for Content-Disposition header.
1939 * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and
1940 pass a list of encodings to try when decoding Content-Disposition header, as described
1943 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
1945 Reviewed by Darin Adler.
1947 https://bugs.webkit.org/show_bug.cgi?id=22672
1948 ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout
1950 Test: http/tests/xmlhttprequest/send-on-abort.html
1952 * dom/ScriptExecutionContext.cpp:
1953 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1954 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1955 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1956 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1957 Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS.
1959 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This
1960 reverts a recent change that made the behavior slightly closer to Firefox - but the
1961 compatibility effect should be very minor if any, and Firefox itself behaves inconsistently.
1963 2008-12-05 Tobias König <tobias.koenig@nokia.com>
1965 Reviewed by Simon Hausmann.
1967 Record required package dependencies for the Qt build for a correct
1972 2008-12-05 Tor Arne Vestbø <tavestbo@trolltech.com>
1974 Rubber-stamped by Simon Hausmann.
1976 [Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model
1978 * plugins/mac/PluginPackageMac.cpp:
1979 (WebCore::PluginPackage::fetchInfo):
1980 (WebCore::PluginPackage::isPluginBlacklisted):
1982 2008-12-05 Jungshik Shin <jshin@chromium.org>
1984 Reviewed by Alexey Proskuryakov.
1986 https://bugs.webkit.org/show_bug.cgi?id=22472
1988 Revises charset alias map for TextCodecICU.
1989 - Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
1990 - Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
1991 - Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn
1992 mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly
1993 alias 'dos-874' to 'windows-874'.
1994 - Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name.
1995 Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by
1996 directly going to 'GBK'.
1997 - Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages.
1999 Tests: fast/encoding/char-decoding-mac.html
2000 fast/encoding/char-decoding.html
2002 * platform/text/TextCodecICU.cpp:
2003 (WebCore::TextCodecICU::registerExtendedEncodingNames):
2005 2008-12-04 Kevin Watters <kevinwatters@gmail.com>
2007 Reviewed by Kevin Ollivier.
2009 Add a MIME mapping for the .htm extension to wx and GTK ports.
2011 https://bugs.webkit.org/show_bug.cgi?id=22668
2013 * platform/gtk/MIMETypeRegistryGtk.cpp:
2015 * platform/wx/MimeTypeRegistryWx.cpp:
2018 2008-12-04 Kevin Watters <kevinwatters@gmail.com>
2020 Reviewed by Kevin Ollivier.
2022 Implement basic text paste support in wx and add notImplemented stubs
2023 to catch other methods.
2025 https://bugs.webkit.org/show_bug.cgi?id=22667
2027 * platform/wx/PasteboardWx.cpp:
2028 (WebCore::Pasteboard::canSmartReplace):
2029 (WebCore::Pasteboard::plainText):
2030 (WebCore::Pasteboard::documentFragment):
2031 (WebCore::Pasteboard::writeImage):
2033 2008-12-04 Kevin Ollivier <kevino@theolliviers.com>
2035 wx build fix for !USE(WXGC) build config.
2037 * platform/graphics/wx/PathWx.cpp:
2038 (WebCore::Path::contains):
2039 (WebCore::Path::addLineTo):
2040 (WebCore::Path::addQuadCurveTo):
2041 (WebCore::Path::addBezierCurveTo):
2042 (WebCore::Path::addArcTo):
2043 (WebCore::Path::closeSubpath):
2044 (WebCore::Path::addArc):
2045 (WebCore::Path::addRect):
2046 (WebCore::Path::addEllipse):
2047 (WebCore::Path::transform):
2048 (WebCore::Path::apply):
2049 (WebCore::Path::isEmpty):
2051 2008-12-04 Kevin Watters <kevinwatters@gmail.com>
2053 Reviewed by Kevin Ollivier.
2055 Turn off styled controls until we can implement them properly.
2057 https://bugs.webkit.org/show_bug.cgi?id=22662
2059 * platform/wx/RenderThemeWx.cpp:
2060 (WebCore::RenderThemeWx::isControlStyled):
2062 2008-12-04 Kevin Watters <kevinwatters@gmail.com>
2064 Reviewed by Kevin Ollivier.
2066 wx implementations for Path API.
2068 https://bugs.webkit.org/show_bug.cgi?id=22661
2070 * platform/graphics/wx/PathWx.cpp:
2071 (WebCore::Path::~Path):
2072 (WebCore::Path::contains):
2073 (WebCore::Path::addLineTo):
2074 (WebCore::Path::addQuadCurveTo):
2075 (WebCore::Path::addBezierCurveTo):
2076 (WebCore::Path::addArcTo):
2077 (WebCore::Path::closeSubpath):
2078 (WebCore::Path::addArc):
2079 (WebCore::Path::addRect):
2080 (WebCore::Path::addEllipse):
2081 (WebCore::Path::transform):
2082 (WebCore::Path::isEmpty):
2084 2008-12-04 Julien Chaffraix <jchaffraix@webkit.org>
2086 Reviewed by Eric Seidel.
2088 Bug 22564: Make HTML elements' constructors take a QualifiedName
2089 https://bugs.webkit.org/show_bug.cgi?id=22564
2091 Updated the remaining constructors.
2093 * bindings/js/JSImageConstructor.cpp:
2094 (WebCore::constructImage):
2096 (WebCore::Document::getCSSCanvasElement):
2097 * editing/DeleteButton.cpp:
2098 (WebCore::DeleteButton::DeleteButton):
2099 * html/HTMLAppletElement.cpp:
2100 (WebCore::HTMLAppletElement::HTMLAppletElement):
2101 * html/HTMLAppletElement.h:
2102 * html/HTMLAreaElement.cpp:
2103 (WebCore::HTMLAreaElement::HTMLAreaElement):
2104 * html/HTMLAreaElement.h:
2105 * html/HTMLBaseFontElement.cpp:
2106 (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
2107 * html/HTMLBaseFontElement.h:
2108 * html/HTMLCanvasElement.cpp:
2109 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2110 * html/HTMLCanvasElement.h:
2111 * html/HTMLElementFactory.cpp:
2112 (WebCore::hrConstructor):
2113 (WebCore::paragraphConstructor):
2114 (WebCore::basefontConstructor):
2115 (WebCore::fontConstructor):
2116 (WebCore::anchorConstructor):
2117 (WebCore::imageConstructor):
2118 (WebCore::mapConstructor):
2119 (WebCore::areaConstructor):
2120 (WebCore::canvasConstructor):
2121 (WebCore::appletConstructor):
2122 (WebCore::embedConstructor):
2123 (WebCore::objectConstructor):
2124 (WebCore::paramConstructor):
2125 (WebCore::scriptConstructor):
2126 (WebCore::tableConstructor):
2127 (WebCore::tableCaptionConstructor):
2128 (WebCore::tableRowConstructor):
2129 * html/HTMLEmbedElement.cpp:
2130 (WebCore::HTMLEmbedElement::HTMLEmbedElement):
2131 * html/HTMLEmbedElement.h:
2132 * html/HTMLFontElement.cpp:
2133 (WebCore::HTMLFontElement::HTMLFontElement):
2134 * html/HTMLFontElement.h:
2135 * html/HTMLHRElement.cpp:
2136 (WebCore::HTMLHRElement::HTMLHRElement):
2137 * html/HTMLHRElement.h:
2138 * html/HTMLImageElement.cpp:
2139 (WebCore::HTMLImageElement::HTMLImageElement):
2140 * html/HTMLImageElement.h:
2141 * html/HTMLMapElement.cpp:
2142 (WebCore::HTMLMapElement::HTMLMapElement):
2143 * html/HTMLMapElement.h:
2144 * html/HTMLObjectElement.cpp:
2145 (WebCore::HTMLObjectElement::HTMLObjectElement):
2146 * html/HTMLObjectElement.h:
2147 * html/HTMLParagraphElement.cpp:
2148 (WebCore::HTMLParagraphElement::HTMLParagraphElement):
2149 * html/HTMLParagraphElement.h:
2150 * html/HTMLParamElement.cpp:
2151 (WebCore::HTMLParamElement::HTMLParamElement):
2152 * html/HTMLParamElement.h:
2153 * html/HTMLParser.cpp:
2154 (WebCore::HTMLParser::handleError):
2155 (WebCore::HTMLParser::mapCreateErrorCheck):
2156 (WebCore::HTMLParser::handleIsindex):
2157 * html/HTMLScriptElement.cpp:
2158 (WebCore::HTMLScriptElement::HTMLScriptElement):
2159 * html/HTMLScriptElement.h:
2160 * html/HTMLTableCaptionElement.cpp:
2161 (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
2162 * html/HTMLTableCaptionElement.h:
2163 * html/HTMLTableElement.cpp:
2164 (WebCore::HTMLTableElement::HTMLTableElement):
2165 (WebCore::HTMLTableElement::createCaption):
2166 (WebCore::HTMLTableElement::insertRow):
2167 * html/HTMLTableElement.h:
2168 * html/HTMLTableRowElement.cpp:
2169 (WebCore::HTMLTableRowElement::HTMLTableRowElement):
2170 * html/HTMLTableRowElement.h:
2171 * html/HTMLTableSectionElement.cpp:
2172 (WebCore::HTMLTableSectionElement::insertRow):
2173 * html/HTMLViewSourceDocument.cpp:
2174 (WebCore::HTMLViewSourceDocument::createContainingTable):
2175 (WebCore::HTMLViewSourceDocument::addLine):
2176 * loader/ImageDocument.cpp:
2177 (WebCore::ImageDocumentElement::ImageDocumentElement):
2179 2008-12-04 Eric Seidel <eric@webkit.org>
2181 No review, build fix only.
2183 Add file missing from last commit.
2185 * bindings/js/ScriptState.h: Added.
2187 2008-12-04 Dimitri Glazkov <dglazkov@chromium.org>
2189 Reviewed by Geoff Garen.
2191 Implement ScriptState abstraction (initially, a simple typedef)
2192 as means of carrying exception information across bindings boundaries
2193 and in a script engine-independent way.
2195 * WebCore.vcproj/WebCore.vcproj:
2196 * WebCore.xcodeproj/project.pbxproj:
2197 * bindings/js/JSDOMBinding.cpp:
2198 (WebCore::scriptStateFromNode):
2199 * bindings/js/JSDOMBinding.h:
2200 * bindings/js/JSNodeFilterCondition.h:
2201 * bindings/js/ScriptState.h: Added.
2202 * dom/NodeFilter.cpp:
2203 (WebCore::NodeFilter::acceptNode):
2205 (WebCore::NodeFilter::acceptNode):
2206 * dom/NodeFilterCondition.cpp:
2207 (WebCore::NodeFilterCondition::acceptNode):
2208 * dom/NodeFilterCondition.h:
2209 * dom/NodeIterator.cpp:
2210 (WebCore::NodeIterator::nextNode):
2211 (WebCore::NodeIterator::previousNode):
2212 * dom/NodeIterator.h:
2213 (WebCore::NodeIterator::nextNode):
2214 (WebCore::NodeIterator::previousNode):
2215 * dom/Traversal.cpp:
2216 (WebCore::Traversal::acceptNode):
2218 * dom/TreeWalker.cpp:
2219 (WebCore::TreeWalker::parentNode):
2220 (WebCore::TreeWalker::firstChild):
2221 (WebCore::TreeWalker::lastChild):
2222 (WebCore::TreeWalker::previousSibling):
2223 (WebCore::TreeWalker::nextSibling):
2224 (WebCore::TreeWalker::previousNode):
2225 (WebCore::TreeWalker::nextNode):
2227 (WebCore::TreeWalker::parentNode):
2228 (WebCore::TreeWalker::firstChild):
2229 (WebCore::TreeWalker::lastChild):
2230 (WebCore::TreeWalker::previousSibling):
2231 (WebCore::TreeWalker::nextSibling):
2232 (WebCore::TreeWalker::previousNode):
2233 (WebCore::TreeWalker::nextNode):
2235 2008-12-04 Pierre-Olivier Latour <pol@apple.com>
2237 Reviewed by Dan Bernstein.
2239 Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name
2240 and potential similar issue with pauseAnimationAtTimeOnElementWithId().
2242 https://bugs.webkit.org/show_bug.cgi?id=22641
2244 * page/animation/CompositeAnimation.cpp:
2245 (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
2246 (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
2248 2008-12-04 Dimitri Glazkov <dglazkov@chromium.org>
2250 Reviewed by Darin Adler.
2252 Remove unused Completion.h include.
2254 * html/CanvasRenderingContext2D.cpp: Removed Completion.h include.
2256 2008-11-13 David Hyatt <hyatt@apple.com>
2258 Fix a bug in ScrollView's refactoring. An isVisible check should have been isSelfVisible.
2260 Reviewed by Darin Adler
2262 * platform/ScrollView.cpp:
2263 (WebCore::ScrollView::setParentVisible):
2265 2008-12-04 Friedemann Kleint <friedemann.kleint@nokia.com>
2267 Reviewed by Tor Arne Vestbø.
2269 Fix small translation glitch in the Qt file chooser.
2271 * platform/qt/FileChooserQt.cpp:
2272 (WebCore::FileChooser::basenameForWidth):
2274 2008-12-04 Tor Arne Vestbø <tavestbo@trolltech.com>
2276 Rubber-stamped by Simon Hausmann.
2278 Blacklist Silverlight plugin on Qt/Mac until supported
2280 Currently the plugin crashes with a corrupted stack trace, possibly
2281 related to https://bugs.webkit.org/show_bug.cgi?id=20635
2283 * plugins/mac/PluginPackageMac.cpp:
2284 (WebCore::PluginPackage::fetchInfo):
2285 (WebCore::PluginPackage::isPluginBlacklisted):
2287 2008-12-03 Dmitry Titov <dimich@chromium.org>
2289 Reviewed by Alexey Proskuryakov.
2293 * page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2295 2008-12-03 David Levin <levin@chromium.org>
2297 Reviewed by Alexey Proskuryakov.
2299 Remove uses of document() in XMLHttpRequest where simple.
2300 https://bugs.webkit.org/show_bug.cgi?id=22619
2302 * xml/XMLHttpRequest.cpp:
2303 (WebCore::XMLHttpRequest::responseXML):
2304 Return NULL in the worker case which is according to spec (and avoids using document()).
2306 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2307 (WebCore::XMLHttpRequest::initSend):
2308 Use scriptExecutionContext() instead of document().
2310 2008-12-03 David Levin <levin@chromium.org>
2312 Reviewed by Alexey Proskuryakov.
2314 Make ScriptExecutionContextTaskWorkerTask::performTask a pure virtual function.
2315 https://bugs.webkit.org/show_bug.cgi?id=22642
2318 (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
2319 (WebCore::ScriptExecutionContextTaskTimer::fired):
2320 (WebCore::PerformTaskContext::PerformTaskContext):
2321 (WebCore::performTask):
2322 (WebCore::Document::postTask):
2324 * dom/ScriptExecutionContext.cpp:
2325 * dom/ScriptExecutionContext.h:
2326 * dom/WorkerContext.cpp:
2327 (WebCore::ScriptExecutionContextTaskWorkerTask::create):
2328 (WebCore::ScriptExecutionContextTaskWorkerTask::ScriptExecutionContextTaskWorkerTask):
2329 (WebCore::ScriptExecutionContextTaskWorkerTask::performTask):
2330 (WebCore::WorkerContext::postTask):
2331 * dom/WorkerContext.h:
2333 2008-12-03 Dmitry Titov <dimich@chromium.org>
2335 Reviewed by Alexey Proskuryakov.
2337 Using ActiveDOMObject as base class for DOMTimer.
2338 https://bugs.webkit.org/show_bug.cgi?id=22620
2340 Using ActiveDOMObject simplifies the code because ActiveDOMObject
2341 is wired for stop/pause/resume on loading/unloading/caching the page etc
2342 so the timer-specific code that does the same can be removed.
2343 In addition, timers can be now paused/resumed 'in place' which
2344 makes it unnecessary to 'serialize' them into special PausedTimeouts
2345 instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed.
2346 Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime
2347 of timeouts and makes it possible to not roundtrip them via PausedTimeouts
2348 every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache.
2350 Timeouts are now paused with other ActiveDOMObjects:
2351 - before creating CachedPage in FrameLoader::commitProvisionalLoad()
2352 - in JavaScriptDebugServer::setJavaScriptPaused
2353 - during modal UI operations in Chrome::*
2354 this is equivalent to previous usage of JSDOMWindowBase::pauseTimeouts()
2356 Timeouts are stopped to prevent future firing from:
2357 - FrameLoader::clear()
2358 - FrameLoader::frameDetached()
2359 this is equivalent to previous usage of JSDOMWindowBase::clearAllTimeouts()
2361 This is also one of the steps to having timers in Workers. See the plan of
2362 the next steps in the bug above.
2364 * bindings/js/DOMTimer.cpp:
2365 (WebCore::DOMTimer::DOMTimer):
2366 (WebCore::DOMTimer::fired):
2367 (WebCore::DOMTimer::hasPendingActivity):
2368 (WebCore::DOMTimer::contextDestroyed):
2369 (WebCore::DOMTimer::stop):
2370 (WebCore::DOMTimer::suspend):
2371 (WebCore::DOMTimer::resume):
2372 (WebCore::DOMTimer::canSuspend): Implemented ActiveDOMObject methods.
2374 * bindings/js/DOMTimer.h:
2375 * bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper
2376 (WebCore::markActiveObjectsForContext):
2378 * bindings/js/JSDOMWindowBase.cpp:
2379 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
2380 (WebCore::JSDOMWindowBase::clear):
2381 (WebCore::JSDOMWindowBase::installTimeout):
2382 (WebCore::JSDOMWindowBase::removeTimeout):
2383 (WebCore::JSDOMWindowBase::timerFired):
2384 (WebCore::JSDOMWindowBase::disconnectFrame):
2385 * bindings/js/JSDOMWindowBase.h:
2386 * bindings/js/ScriptController.cpp:
2387 * bindings/js/ScriptController.h:
2389 * dom/Document.cpp: Document now holds a hash map id->timeout
2390 (WebCore::Document::addTimeout):
2391 (WebCore::Document::removeTimeout):
2392 (WebCore::Document::findTimeout):
2394 * history/CachedPage.cpp:
2395 (WebCore::CachedPage::CachedPage):
2396 (WebCore::CachedPage::restore):
2397 (WebCore::CachedPage::clear):
2398 * history/CachedPage.h:
2399 * inspector/JavaScriptDebugServer.cpp:
2400 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
2401 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
2402 * inspector/JavaScriptDebugServer.h:
2404 * loader/FrameLoader.cpp:
2405 (WebCore::FrameLoader::commitProvisionalLoad):
2406 removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear();
2407 I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload'
2408 and then calls into client which can be external code and can cause any active object created in onunload
2409 to fire. We can stop them all before firing onunload but it does not make a lot of sense.
2410 I have a test to go with the next patch which verifies that timers set in onunload do not fire.
2412 (WebCore::FrameLoader::open):
2414 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2415 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2417 2008-12-03 Justin Garcia <justin.garcia@apple.com>
2419 Reviewed by Beth Dakin.
2421 <rdar://problem/6018653> Extra blank line when pasting paragraph in plain text
2423 In SnowLeopard, Mail occasionally adds an empty, unstyled paragraph at the
2424 end of pasted content so that users don't get stuck with non-standard pargraph
2425 spacing. This content threw off our handling of interchange newlines. Any interchange
2426 newline, regardless of it's position in the incoming fragment was considered to be
2427 "at the start" of the fragment, and would result in us inserting in a newline before
2428 inserted content. This patch makes the checks for interchange newlines more strict,
2429 and treats interchange newlines found elsewhere as normal <br>s.
2431 * editing/ReplaceSelectionCommand.cpp:
2432 (WebCore::ReplacementFragment::ReplacementFragment):
2433 (WebCore::ReplacementFragment::removeInterchangeNodes):
2434 * editing/VisiblePosition.cpp:
2435 (WebCore::VisiblePosition::init):
2436 (WebCore::VisiblePosition::canonicalPosition):
2437 * editing/VisiblePosition.h:
2439 2008-12-03 Eric Seidel <eric@webkit.org>
2441 Rubber-stamped by David Hyatt.
2443 Bring the WebCore chromium build a couple steps closer to building.
2447 2008-12-03 Kevin Ollivier <kevino@theolliviers.com>
2451 * WebCoreSources.bkl:
2453 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2455 Reviewed by George Staikos.
2457 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22636
2459 Implement WML variable substitution & validation.
2460 Created a framework for scriptable WML layout tests, that are able to test variable substiution & validation.
2462 Tests: wml/variable-reference-invalid-character.html
2463 wml/variable-reference-valid.html
2465 * wml/WMLVariables.cpp:
2466 (WebCore::isValidFirstVariableNameCharacter):
2467 (WebCore::isValidVariableNameCharacter):
2468 (WebCore::isValidVariableEscapingModeString):
2469 (WebCore::isValidVariableName):
2470 (WebCore::containsVariableReference):
2471 (WebCore::substituteVariableReferences):
2472 * wml/WMLVariables.h:
2474 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2476 Reviewed by Cameron Zwarich.
2478 Further preparations for WML layout tests.
2479 - Enable variable substitution in Text.cpp - if the parent is a WMLElement derived class.
2480 - Dump WMLMessageSource messages to the console, just like it's done for JSMessageSource
2481 - Add helper method in Document.idl, to reset the WML page state to a well-known default state.
2482 (will be used in the upcoming LayoutTests/wml testcases)
2485 (WebCore::Document::resetWMLPageState):
2489 (WebCore::Text::insertedIntoDocument):
2492 (WebCore::Console::addMessage):
2493 * wml/WMLPageState.h: Readd heper function
2494 (WebCore::WMLPageState::hasVariables):
2496 2008-12-03 Antti Koivisto <antti@apple.com>
2498 Reviewed by Sam Weinig.
2500 Don't leak selectors in case selector list parsing failed.
2503 * css/CSSParser.cpp:
2504 (WebCore::CSSParser::~CSSParser):
2506 2008-12-03 Chris Marrin <cmarrin@apple.com>
2508 Reviewed by Dave Hyatt.
2510 Fix https://bugs.webkit.org/show_bug.cgi?id=22520
2512 This is a regression (causes a crash of LayoutTests/animations/transform-animation-event-destroy-element.html).
2513 This patch fixes the testcase.
2515 This is another case of animations getting destroyed in the end animation callback and causing dangling
2516 pointers on return. This one involves iterating over the CompositeAnimation, which has been destroyed.
2517 So I now check for a null m_object pointer (which is nullified when the CompositeAnimation is destroyed)
2520 * page/animation/AnimationBase.cpp:
2521 (WebCore::AnimationBase::updateStateMachine):
2523 2008-12-03 Antti Koivisto <antti@apple.com>
2525 Reviewed by Darin Adler.
2527 https://bugs.webkit.org/show_bug.cgi?id=22379
2528 Make CSSOM use less memory
2530 Reduce size of the CSSSelector by one more pointer by using an array
2531 instead of a linked list to store them.
2533 * WebCore.xcodeproj/project.pbxproj:
2535 * css/CSSParser.cpp:
2536 (WebCore::CSSParser::CSSParser):
2537 (WebCore::CSSParser::parseSelector):
2538 (WebCore::CSSParser::createStyleRule):
2540 (WebCore::CSSParser::reusableSelectorVector):
2541 * css/CSSSelector.h:
2542 (WebCore::CSSSelector::CSSSelector):
2543 (WebCore::CSSSelector::~CSSSelector):
2544 (WebCore::CSSSelector::isLastInSelectorList):
2545 (WebCore::CSSSelector::setLastInSelectorList):
2546 * css/CSSStyleRule.cpp:
2547 (WebCore::CSSStyleRule::CSSStyleRule):
2548 (WebCore::CSSStyleRule::~CSSStyleRule):
2549 (WebCore::CSSStyleRule::selectorText):
2550 * css/CSSStyleRule.h:
2551 (WebCore::CSSStyleRule::adoptSelectorVector):
2552 (WebCore::CSSStyleRule::selectorList):
2553 * css/CSSStyleSelector.cpp:
2554 (WebCore::CSSRuleSet::addRulesFromSheet):
2556 (WebCore::forEachSelector):
2557 (WebCore::selectorNeedsNamespaceResolution):
2558 (WebCore::Node::querySelector):
2559 (WebCore::Node::querySelectorAll):
2560 * dom/SelectorNodeList.cpp:
2561 (WebCore::createSelectorNodeList):
2562 * dom/SelectorNodeList.h:
2564 2008-12-03 Alexey Proskuryakov <ap@webkit.org>
2566 Reviewed by Darin Adler.
2568 https://bugs.webkit.org/show_bug.cgi?id=22630
2569 Assertion failure in XMLHttpRequest::contextDestroyed
2571 Test: http/tests/xmlhttprequest/close-window.html
2573 * loader/FrameLoader.cpp:
2574 (WebCore::FrameLoader::clear):
2575 (WebCore::FrameLoader::commitProvisionalLoad):
2576 Move stopping active objects to clear(), so that closing a window is also covered.
2578 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::abort): Protect the object in abort(),
2579 because internalAbort() deref()'s.
2581 2008-12-03 Dean Jackson <dino@apple.com>
2583 Reviewed by Dan Bernstein.
2585 Implement CSS 3 <angle> turn unit and support it
2587 https://bugs.webkit.org/show_bug.cgi?id=22497
2590 * css/CSSParser.cpp:
2591 (WebCore::CSSParser::validUnit):
2592 (WebCore::unitFromString):
2593 (WebCore::CSSParser::lex):
2594 * css/CSSPrimitiveValue.cpp:
2595 (WebCore::CSSPrimitiveValue::cssText):
2596 (WebCore::CSSPrimitiveValue::parserValue):
2597 * css/CSSPrimitiveValue.h:
2598 (WebCore::CSSPrimitiveValue::):
2599 * css/CSSStyleSelector.cpp:
2600 (WebCore::CSSStyleSelector::createTransformOperations):
2601 * css/tokenizer.flex:
2603 2008-12-03 Dirk Schulze <krit@webkit.org>
2605 Reviewed by Nikolas Zimmermann.
2607 Make use of the gradient code in GraphicsContext and get rid of most of the
2608 platform dependent code.
2610 SVG should use the new Gradient support on GraphicsContext
2611 https://bugs.webkit.org/show_bug.cgi?id=20543
2615 * WebCore.vcproj/WebCore.vcproj:
2616 * WebCore.xcodeproj/project.pbxproj:
2617 * platform/graphics/FloatSize.h:
2618 (WebCore::FloatSize::shrunkTo):
2619 * svg/SVGLinearGradientElement.cpp:
2620 (WebCore::SVGLinearGradientElement::buildGradient):
2621 * svg/SVGRadialGradientElement.cpp:
2622 (WebCore::SVGRadialGradientElement::buildGradient):
2623 * svg/graphics/SVGPaintServer.h:
2624 * svg/graphics/SVGPaintServerGradient.cpp:
2625 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2626 (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
2627 (WebCore::SVGPaintServerGradient::gradient):
2628 (WebCore::SVGPaintServerGradient::setGradient):
2629 (WebCore::findTextRootObject):
2630 (WebCore::createMaskAndSwapContextForTextGradient):
2631 (WebCore::clipToTextMask):
2632 (WebCore::SVGPaintServerGradient::setup):
2633 (WebCore::SVGPaintServerGradient::renderPath):
2634 (WebCore::SVGPaintServerGradient::teardown):
2635 * svg/graphics/SVGPaintServerGradient.h:
2636 (WebCore::SVGPaintServerGradient::setGradientStops):
2637 (WebCore::SVGPaintServerGradient::gradientStops):
2638 * svg/graphics/SVGPaintServerLinearGradient.h:
2639 * svg/graphics/SVGPaintServerRadialGradient.h:
2640 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: Removed.
2641 * svg/graphics/cg/SVGPaintServerCg.cpp:
2642 * svg/graphics/cg/SVGPaintServerGradientCg.cpp: Removed.
2643 * svg/graphics/qt/SVGPaintServerGradientQt.cpp: Removed.
2644 * svg/graphics/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
2645 * svg/graphics/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
2647 2008-12-03 Sam Weinig <sam@webkit.org>
2649 Reviewed by Mark Rowe.
2653 * css/CSSSelector.h:
2654 (WebCore::CSSSelector::createRareData):
2656 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2658 Reviewed by Adam Roben.
2660 As Adam Roben noticed, synchronize MessageSource enum with Console.js, and add a comment.
2662 * inspector/front-end/Console.js:
2665 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2667 Reviewed by Alexey Proskuryakov.
2669 Next steps to make LayoutTests work:
2670 Never access the main frame from WMLRefreshElement/WMLCardElement, but
2671 the current documents frame (WML layout tests will run in an <iframe>)
2673 Prepare WMLErrorHandling for the case that no tokenizer is available anymore
2674 -> report errors through Console::addMessage(), so they get logged in the
2675 expected layout test results.
2677 * wml/WMLCardElement.cpp:
2678 (WebCore::WMLCardElement::setActiveCardInDocument):
2679 * wml/WMLErrorHandling.cpp:
2680 (WebCore::reportWMLError):
2681 (WebCore::errorMessageForErrorCode):
2682 * wml/WMLErrorHandling.h:
2683 * wml/WMLRefreshElement.cpp:
2684 (WebCore::WMLRefreshElement::executeTask):
2685 * page/Console.cpp: Handle WMLMessageSource.
2686 (WebCore::printMessageSourceAndLevelPrefix):
2687 * page/Console.h: Add WMLMessageSource.
2690 2008-12-03 Tor Arne Vestbø <tavestbo@trolltech.com>
2692 Reviewed by Simon Hausmann.
2694 Allow passing jsNull and jsUndefined to Qt plugins
2696 Currently limited to functions with QString and QVariant arguments,
2697 and properties of these types. Both jsNull and jsUndefined ends up
2698 as default-constructed QStrings and QVariants, which means you can
2699 check for isEmpty() and isValid() in the native plugin code.
2701 Based on patches by Jade Han <jade.han@nokia.com>
2703 * bridge/qt/qt_runtime.cpp:
2704 (JSC::Bindings::convertValueToQVariant):
2705 (JSC::Bindings::findMethodIndex):
2707 2008-12-03 Trenton Schulz <trenton.schulz@nokia.com>
2709 Reviewed by Simon Hausmann.
2711 Fix the build with Qt for Mac OS X.
2713 * platform/PurgeableBuffer.h: Use the dummy wrappers for now.
2715 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2717 Reviewed by Alexey Proskuryakov.
2719 Fix error handling in WMLSetvarElement. If an invalid variable reference is contained
2720 in the 'name' attribute of <setvar>, a 'WMLErrorInvalidVariableName' error should be
2721 reported, instead of 'WMLErrorInvalidVariableReference'.
2723 * wml/WMLElement.cpp:
2724 (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
2725 (WebCore::WMLElement::parseValueForbiddingVariableReferences):
2727 * wml/WMLSetvarElement.cpp:
2728 (WebCore::WMLSetvarElement::parseMappedAttribute):
2729 * wml/WMLSetvarElement.h:
2730 (WebCore::WMLSetvarElement::name):
2731 (WebCore::WMLSetvarElement::value):
2733 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2735 Reviewed by Alexey Proskuryakov.
2737 Preparations to get WML layout tests going.
2738 Make WMLPageState an OwnPtr to Page, and let Page create it on demand.
2741 (WebCore::Page::Page):
2742 (WebCore::Page::wmlPageState):
2744 * wml/WMLDocument.cpp:
2745 (WebCore::WMLDocument::WMLDocument):
2746 (WebCore::WMLDocument::finishedParsing):
2747 (WebCore::wmlPageStateForDocument):
2748 * wml/WMLPageState.h: Don't inherit from RefCounted anymore.
2749 (WebCore::WMLPageState::hasVariables): Remove helper function.
2751 2008-12-03 Alexey Proskuryakov <ap@webkit.org>
2753 Reviewed by Mark Rowe.
2755 https://bugs.webkit.org/show_bug.cgi?id=22627
2756 fast/workers/worker-terminate.html fails randomly
2758 The problem is that worker termination uses script timeouts, so an InterruptedExecutionError
2759 is raised, and it sometimes reaches the main thread.
2761 * dom/WorkerMessagingProxy.cpp:
2762 (WebCore::WorkerExceptionTask::create):
2763 (WebCore::WorkerExceptionTask::WorkerExceptionTask):
2764 (WebCore::WorkerExceptionTask::performTask):
2765 (WebCore::WorkerMessagingProxy::postWorkerException):
2766 * dom/WorkerMessagingProxy.h:
2767 Ignore exceptions that happen in terminated workers.
2769 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2771 Reviewed by Alexey Proskuryakov.
2773 Remove some unncessary includes.
2775 * wml/WMLAccessElement.cpp:
2776 * wml/WMLDocument.h:
2777 * wml/WMLRefreshElement.cpp:
2779 2008-12-03 Alexey Proskuryakov <ap@webkit.org>
2781 Rubber-stamped by Cameron Zwarich and Adam Roben.
2783 Fix a typo: m_executionForbidded.
2785 * bindings/js/WorkerScriptController.cpp:
2786 (WebCore::WorkerScriptController::WorkerScriptController):
2787 (WebCore::WorkerScriptController::evaluate):
2788 (WebCore::WorkerScriptController::forbidExecution):
2789 * bindings/js/WorkerScriptController.h:
2791 2008-12-03 Dean McNamee <deanm@chromium.org>
2793 Bug 22623: Uninitialized memory access in cache parsing code
2794 <https://bugs.webkit.org/show_bug.cgi?id=22623>
2796 Reviewed by David Kilzer.
2798 Initialize m_haveParsedCacheControlHeader and m_haveParsedPragmaHeader.
2800 * platform/network/ResourceResponseBase.h:
2801 (WebCore::ResourceResponseBase::ResourceResponseBase):
2803 2008-12-03 Antti Koivisto <antti@apple.com>
2807 * WebCoreSources.bkl:
2809 2008-12-03 Antti Koivisto <antti@apple.com>
2811 Forgot to commit these.
2814 (WebCore::forEachTagSelector):
2815 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
2816 (WebCore::Node::querySelector):
2817 * dom/SelectorNodeList.cpp:
2818 (WebCore::createSelectorNodeList):
2820 2008-12-03 Antti Koivisto <antti@apple.com>
2822 Reviewed by Dan Bernstein and Mark Rowe.
2824 https://bugs.webkit.org/show_bug.cgi?id=22379
2825 Make CSSOM use less memory
2827 Reduce size of the CSSSelector by 3/8 by moving rarely used fields to a rare data
2828 struct. Browsing around with some instrumentation showed that ~0.1% of all selectors
2829 encountered had rare data.
2831 This also eliminates the CSSNthSelector subclass which will make possible to store
2832 CSSSelectors in an array instead of a linked list for futher memory savings.
2835 * css/CSSNthSelector.cpp: Removed.
2836 * css/CSSNthSelector.h: Removed.
2837 * css/CSSParser.cpp:
2838 (WebCore::CSSParser::createFloatingSelector):
2840 * css/CSSSelector.cpp:
2841 (WebCore::CSSSelector::specificity):
2842 (WebCore::CSSSelector::operator==):
2843 (WebCore::CSSSelector::selectorText):
2844 (WebCore::CSSSelector::setTagHistory):
2845 (WebCore::CSSSelector::attribute):
2846 (WebCore::CSSSelector::setAttribute):
2847 (WebCore::CSSSelector::setArgument):
2848 (WebCore::CSSSelector::setSimpleSelector):
2849 (WebCore::CSSSelector::parseNth):
2850 (WebCore::CSSSelector::matchNth):
2851 (WebCore::CSSSelector::RareData::parseNth):
2852 (WebCore::CSSSelector::RareData::matchNth):
2853 * css/CSSSelector.h:
2854 (WebCore::CSSSelector::CSSSelector):
2855 (WebCore::CSSSelector::~CSSSelector):
2856 (WebCore::CSSSelector::tagHistory):
2857 (WebCore::CSSSelector::hasAttribute):
2858 (WebCore::CSSSelector::argument):
2859 (WebCore::CSSSelector::simpleSelector):
2860 (WebCore::CSSSelector::RareData::RareData):
2861 (WebCore::CSSSelector::createRareData):
2862 (WebCore::CSSSelector::):
2863 * css/CSSStyleSelector.cpp:
2864 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2865 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2867 2008-12-03 Jian Li <jianli@chromium.org>
2869 Reviewed by Alexey Proskuryakov.
2871 Remove unneeded included file in WorkerThread.cpp.
2872 https://bugs.webkit.org/show_bug.cgi?id=22613
2874 * dom/WorkerThread.cpp: No need to include JSWorkerContext.h.
2876 2008-12-02 Alexey Proskuryakov <ap@webkit.org>
2878 Reviewed by Maciej Stachowiak.
2880 https://bugs.webkit.org/show_bug.cgi?id=22543
2881 Consolidate ActiveDOMObject page cache interaction
2883 Test: http/tests/xmlhttprequest/abort-on-leaving-page.html
2885 * dom/ActiveDOMObject.cpp:
2886 (WebCore::ActiveDOMObject::canSuspend):
2887 (WebCore::ActiveDOMObject::suspend):
2888 (WebCore::ActiveDOMObject::resume):
2889 * dom/ActiveDOMObject.h:
2890 * dom/ScriptExecutionContext.cpp:
2891 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2892 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2893 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2894 * dom/ScriptExecutionContext.h:
2895 Added methods for suspending and resuming active objects.
2898 (WebCore::Worker::canSuspend):
2899 (WebCore::Worker::stop):
2901 Workers cannot be suspended yet. This is a change in behavior, as workers used to keep
2902 running until their owner was destroyed.
2904 * loader/FrameLoader.cpp:
2905 (WebCore::FrameLoader::stopLoading): No longer call stopActiveDOMObjects() here, because
2906 their activity is not necessarily loading.
2907 (WebCore::FrameLoader::canCachePage): Can only cache if all active objects can be suspended.
2908 Previously, stopLoading() cancelled outstanding XMLHttpRequests, which made the page
2909 uncacheable due to no-null main document error.
2910 (WebCore::FrameLoader::commitProvisionalLoad): Suspend or stop active objects, depending on
2911 whether the document will be cached.
2912 (WebCore::FrameLoader::frameDetached): Stop active objects to let them clean up before their
2913 context is destroyed.
2915 * xml/XMLHttpRequest.h: added canSuspend().
2916 * xml/XMLHttpRequest.cpp:
2917 (WebCore::XMLHttpRequest::canSuspend): Only XHRs that are not loading can be suspended.
2918 (WebCore::XMLHttpRequest::stop): Call abort() instead of internalAbort() to dispatch events
2919 for Firefox compatibility. This is a change in behavior that helps test that requests do
2921 (WebCore::XMLHttpRequest::contextDestroyed): The request must have been stopped by now, so
2924 2008-12-02 Chris Fleizach <cfleizach@apple.com>
2926 Reviewed by Beth Dakin.
2928 Bug 22606: Can <th> serves as the AXTitleUIElement for <td>?
2930 Test: accessibility/th-as-title-ui.html
2932 * page/AccessibilityObject.h:
2933 (WebCore::AccessibilityObject::isGroup):
2934 * page/AccessibilityRenderObject.cpp:
2935 (WebCore::AccessibilityRenderObject::isGroup):
2936 * page/AccessibilityRenderObject.h:
2937 * page/AccessibilityTableCell.cpp:
2938 (WebCore::AccessibilityTableCell::rowIndexRange):
2939 (WebCore::AccessibilityTableCell::columnIndexRange):
2940 (WebCore::AccessibilityTableCell::titleUIElement):
2941 * page/AccessibilityTableCell.h:
2942 * page/mac/AccessibilityObjectWrapper.mm:
2943 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2945 2008-12-02 Simon Fraser <simon.fraser@apple.com>
2947 Reviewed by Dave Hyatt
2949 https://bugs.webkit.org/show_bug.cgi?id=22472
2951 Override absoluteClippedOverflowRect() in RenderReplaced to return a rect
2952 that is large enough to encompass the selection, so that the repainting of
2953 selected replaced elements works correctly.
2955 Test: fast/repaint/selected-replaced.html
2957 * rendering/RenderReplaced.cpp:
2958 (WebCore::RenderReplaced::selectionRect):
2959 (WebCore::RenderReplaced::localSelectionRect):
2960 (WebCore::RenderReplaced::absoluteClippedOverflowRect):
2961 * rendering/RenderReplaced.h:
2963 2008-12-02 Gregory Hughes <ghughes@apple.com>
2965 Reviewed by Beth Dakin.
2967 Bug 22513: ZOOM: text selection does not send correct zoom bounds
2969 When zoomed, text selection must send the zoom bounds in flipped
2972 * editing/mac/SelectionControllerMac.mm:
2973 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2974 * page/mac/WebCoreViewFactory.h:
2976 2008-12-02 Dean Jackson <dino@apple.com>
2978 Reviewed by Sam Weinig.
2980 Remove support for 'now' from CSS (was
2981 erroneously added to transition and animation delay)
2982 https://bugs.webkit.org/show_bug.cgi?id=22571
2984 * css/CSSParser.cpp:
2985 (WebCore::CSSParser::parseAnimationDelay):
2986 * css/CSSStyleSelector.cpp:
2987 (WebCore::CSSStyleSelector::mapAnimationDelay):
2988 * css/CSSValueKeywords.in:
2990 2008-12-02 Eric Seidel <eric@webkit.org>
2992 Build fix, no review.
2994 Fix the Mac and gtk builds:
2995 Don't use a float to hold a double.
2996 Remove a now duplicate symbol.
2999 (WebCore::Frame::selectionLayoutChanged):
3000 * platform/gtk/TemporaryLinkStubs.cpp:
3002 2008-12-02 Chris Fleizach <cfleizach@apple.com>
3004 Bug 22596: Some elements don't report AXBlockQuoteLevel
3005 https://bugs.webkit.org/show_bug.cgi?id=22596
3007 Reviewed by John Sullivan.
3009 * page/mac/AccessibilityObjectWrapper.mm:
3011 (AXAttributeStringSetBlockquoteLevel):
3012 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3013 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3015 2008-12-02 Dean McNamee <deanm@chromium.org>
3017 Reviewed by Eric Seidel.
3019 Correctly handle a theme returning a non-blinking interval. We should
3020 not set any timers when the interval is 0 (non-blinking), otherwise we
3021 repeatedly set and destroy a blinking timer, causing a paint and timer
3022 storm. This is applicable to GTK and Windows, where a user can set a
3023 non-blinking caret in their system preferences.
3025 Renamed caretBlinkFrequency to the more accurate caretBlinkInterval.
3028 (WebCore::Frame::selectionLayoutChanged):
3030 (WebCore::Theme::caretBlinkInterval):
3031 * platform/gtk/RenderThemeGtk.cpp:
3032 (WebCore::RenderThemeGtk::caretBlinkInterval):
3033 * platform/gtk/RenderThemeGtk.h:
3034 * rendering/RenderTheme.h:
3035 (WebCore::RenderTheme::caretBlinkInterval):
3037 2008-12-02 David Levin <levin@chromium.org>
3039 Reviewed by Eric Seidel.
3041 https://bugs.webkit.org/show_bug.cgi?id=22538
3043 startsWith uses find which searches through the whole string if no match is found.
3044 Using reverseFind with an index of 0 has the benefit of only searching for the match
3045 at the beginning of the string. This may only be a small benefit in the overall program,
3046 but it may help in some cases when the string is big.
3048 No observable change in behavior, so no test.
3050 * platform/text/StringImpl.h:
3051 (WebCore::StringImpl::startsWith):
3053 2008-10-29 Eric Seidel <eric@webkit.org>
3055 Reviewed by Darin Adler.
3057 Wrap a JSC-only hack in a USE(JSC) block to fix the v8 build.
3058 https://bugs.webkit.org/show_bug.cgi?id=21951
3060 * svg/SVGElementInstance.cpp:
3061 (WebCore::SVGElementInstance::forgetWrapper):
3063 2008-12-02 Eric Seidel <eric@webkit.org>
3065 Reviewed by Darin Adler.
3067 Add an ASSERT to try and catch the root cause of:
3068 https://bugs.webkit.org/show_bug.cgi?id=22168
3069 http://code.google.com/p/chromium/issues/detail?id=4122
3071 * editing/TextIterator.cpp:
3072 (WebCore::TextIterator::emitText):
3074 2008-12-02 Brent Fulgham <bfulgham@gmail.com>
3076 Reviewed by Adam Roben.
3078 Remove some CG-specific code from the Windows Cairo build.
3079 https://bugs.webkit.org/show_bug.cgi?id=22586
3081 No new test cases since this update should create no user-visible
3082 changes, and should be fully covered by the existing regression
3085 * WebCore.vcproj/WebCore.vcproj: Remove FontDatabase from
3086 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3087 (WebCore::focusRingColor): Add stub method
3088 * platform/win/TemporaryLinkStubs.cpp:
3089 (WebCore::populateFontDatabase): Add stub method.
3091 2008-12-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>
3093 Reviewed by Tor Arne Vestbø.
3095 MinGW compilation fix for PluginPackageWin.cpp
3097 https://bugs.webkit.org/show_bug.cgi?id=22585
3099 * plugins/win/PluginPackageWin.cpp:
3100 (WebCore::PluginPackage::fetchInfo):
3102 2008-12-02 Adam Roben <aroben@apple.com>
3104 Build fix for Windows projects with NOMINMAX defined globally
3106 * platform/win/COMPtr.h: Don't redefine NOMINMAX if it's already
3109 2008-12-02 Simon Hausmann <hausmann@webkit.org>
3111 Reviewed by Tor Arne Vestbø.
3113 Build JavaScriptCore into libQtWebKit.so through a direct build
3114 instead of a static library. When linking a static library into
3115 a shared library qmake generates an incorrect .prl file, which
3116 causes all sorts of different build problems when linking against
3117 QtWebKit. Fixing this in qmake requires bigger changes that are
3118 currently not possible, so we need to work around this limitation
3119 for now. The advantages of the separate build did not outweight the
3120 build problems it caused.
3122 * WebCore.pro: include JavaScriptCore.pri, re-enable prl support
3123 and rename the lut generator to domlut to avoid a conflict with
3124 JavaScriptCore.pri's lut generator.
3126 2008-12-02 David Levin <levin@chromium.org>
3128 Reviewed by Alexey Proskuryakov.
3130 https://bugs.webkit.org/show_bug.cgi?id=22588
3131 Move securityOrigin() from Document and WorkerContext into ScriptExecutionContext.
3133 No observable change in behavior, so no test.
3136 (WebCore::Document::open):
3137 (WebCore::Document::domain):
3138 (WebCore::Document::setDomain):
3139 (WebCore::Document::initSecurityContext):
3140 (WebCore::Document::setSecurityOrigin):
3142 * dom/ScriptExecutionContext.cpp:
3143 (WebCore::ScriptExecutionContext::setSecurityOrigin):
3144 * dom/ScriptExecutionContext.h:
3145 (WebCore::ScriptExecutionContext::securityOrigin):
3146 * dom/WorkerContext.cpp:
3147 (WebCore::WorkerContext::WorkerContext):
3148 * dom/WorkerContext.h:
3149 These changes are for the move of securityOrigin().
3151 * xml/XMLHttpRequest.cpp:
3152 (WebCore::XMLHttpRequest::createRequest):
3153 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
3154 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
3155 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
3156 (WebCore::XMLHttpRequest::setRequestHeader):
3157 (WebCore::XMLHttpRequest::getAllResponseHeaders):
3158 (WebCore::XMLHttpRequest::getResponseHeader):
3159 (WebCore::XMLHttpRequest::processSyncLoadResults):
3160 (WebCore::XMLHttpRequest::willSendRequest):
3161 (WebCore::XMLHttpRequest::accessControlCheck):
3162 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3163 Change XMLHttpRequest to use ScriptExecutionContext instead of Document to access securityOrigin().
3165 2008-12-02 André Pönitz <apoenitz@trolltech.com>
3167 Reviewed by Simon Hausmann.
3169 Disable the creation of debug information for the Qt build when done
3170 inside Qt. With 670 mb it was slowing down gdb start significantly
3171 for third-party applications that usually don't need it.
3175 2008-12-01 Beth Dakin <bdakin@apple.com>
3177 Reviewed by Dan Bernstein.
3179 Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION
3180 (r19811): Using the down arrow in a textarea gets "stuck" at the
3181 end of a wrapped line
3182 And corresponding: <rdar://problem/5347931>
3184 The basic problem here is that Position::getInlineBoxAndOffset()
3185 failed to look beyond a single renderer. This patch looks for a
3186 better match beyond the first renderer when the affinity is
3187 downstream and we failed to find a "perfect" match.
3189 (WebCore::isNonTextLeafChild):
3190 (WebCore::searchAheadForBetterMatch):
3191 (WebCore::Position::getInlineBoxAndOffset):
3193 This is a fix I made based on code inspection. It looks like the
3194 old code here and skipped over the parent as a possible match.
3195 * rendering/RenderObject.cpp:
3196 (WebCore::RenderObject::nextInPreOrderAfterChildren):
3198 2008-12-01 Brent Fulgham <bfulgham@gmail.com>
3200 Reviewed by Adam Roben.
3202 Add WML related files to Visual Studio projects.
3203 https://bugs.webkit.org/show_bug.cgi?id=22561
3205 * WebCore.vcproj/WebCore.vcproj:
3206 1. Add files from the wml directory to the set of windows files.
3207 2. Extend include paths with new wml directory.
3208 3. Add new autogenerated WML files to DerivedSources.
3209 4. Alphabetize preprocesor includes (holdover from earlier debugging).
3211 2008-12-01 Steve Falkenburg <sfalken@apple.com>
3213 Revise node/selection image fix.
3214 Moved updateLayout call so selection rect is fetched after the layout.
3216 Reviewed by Adam Roben.
3218 * page/win/FrameCGWin.cpp:
3219 (WebCore::imageFromRect):
3220 (WebCore::imageFromSelection):
3221 (WebCore::Frame::nodeImage):
3223 2008-12-01 Steve Falkenburg <sfalken@apple.com>
3225 Support needed to implement renderedImage for Windows.
3226 https://bugs.webkit.org/show_bug.cgi?25648
3228 Reviewed by Adam Roben.
3231 * page/win/FrameCGWin.cpp:
3232 (WebCore::imageFromRect):
3233 (WebCore::imageFromSelection):
3234 (WebCore::Frame::nodeImage):
3235 * page/win/FrameCairoWin.cpp:
3236 (WebCore::imageFromNode):
3238 2008-12-01 Simon Fraser <simon.fraser@apple.com>
3240 Reviewed by Dan Bernstein
3242 https://bugs.webkit.org/show_bug.cgi?id=22581
3244 Fix the painting of the caps lock indicator for transformed text inputs,
3245 by replacing a call to absoluteContentBox() with code that computes the
3246 painting rect for the input contents.
3248 * rendering/RenderTextControl.cpp:
3249 (WebCore::RenderTextControl::paint):
3251 2008-12-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3253 Reviewed by George Staikos.
3255 Add two new helper functions to WMLElement, parseValueSubstitutingVariableReferences/parseValueForbiddingVariableReferences.
3257 Convert all elements to parse their attribute values using these new helper functions. This simplifies the
3258 actual attribute parsing code in all WMLElement derived classes, as most WML attribute values either report
3259 an error if there's a variable reference used in the attribute value, or if it's invalid.
3261 Split the WMLErrorInvalidVariableReference error which covered both 'invalid syntax' / 'wrong location'
3262 in two seperated error codes: WMLErrorInvalidVariableReference / WMLErrorInvalidVariableReferenceLocation.
3264 * wml/WMLAccessElement.cpp:
3265 (WebCore::WMLAccessElement::parseMappedAttribute):
3266 * wml/WMLDoElement.cpp:
3267 (WebCore::WMLDoElement::defaultEventHandler):
3268 (WebCore::WMLDoElement::parseMappedAttribute):
3269 * wml/WMLElement.cpp:
3270 (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
3271 (WebCore::WMLElement::parseValueForbiddingVariableReferences):
3273 * wml/WMLErrorHandling.cpp:
3274 (WebCore::reportWMLError):
3275 * wml/WMLErrorHandling.h:
3277 * wml/WMLOnEventElement.cpp:
3278 (WebCore::WMLOnEventElement::parseMappedAttribute):
3279 * wml/WMLPrevElement.cpp:
3280 (WebCore::WMLPrevElement::executeTask):
3281 * wml/WMLSetvarElement.cpp:
3282 (WebCore::WMLSetvarElement::parseMappedAttribute):
3283 * wml/WMLTimerElement.cpp:
3284 (WebCore::WMLTimerElement::parseMappedAttribute):
3286 2008-12-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3288 Reviewed by George Staikos.
3290 Fix switching active cards within a document. No way to test, until <go> support is implemented.
3292 * wml/WMLCardElement.cpp:
3293 (WebCore::WMLCardElement::showCard):
3294 (WebCore::WMLCardElement::hideCard):
3295 (WebCore::WMLCardElement::setActiveCardInDocument):
3296 * wml/WMLCardElement.h:
3298 2008-12-01 David Kilzer <ddkilzer@apple.com>
3300 Fix logic error in LegacyWebArchive::create() from r38884.
3302 * loader/archive/cf/LegacyWebArchive.cpp:
3303 (WebCore::LegacyWebArchive::create): Only continue if the
3304 subresource is actually added.
3306 2008-12-01 David Kilzer <ddkilzer@apple.com>
3308 Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org
3310 <https://bugs.webkit.org/show_bug.cgi?id=22466>
3311 <rdar://problem/6403593>
3313 Reviewed by Brady Eidson.
3315 Test: http/tests/webarchive/test-preload-resources.html
3317 * loader/archive/cf/LegacyWebArchive.cpp:
3318 (WebCore::LegacyWebArchive::create): Check the WebCore cache for
3319 resources if DocumentLoader::subresource() doesn't return them.
3320 Note that the DocumentLoader::subresource() method returned
3321 preloaded resources before r35867, but this caused a regression in
3324 2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
3326 Reviewed by Eric Seidel.
3328 Bug 22564: Make HTML elements' constructors take a QualifiedName
3329 https://bugs.webkit.org/show_bug.cgi?id=22564
3331 - Modified the remaining HTML elements' constructors to take a QualifiedName.
3333 - Added an assertion that the QualifiedName given corresponds to the element constructed.
3335 * bindings/js/JSAudioConstructor.cpp:
3336 (WebCore::constructAudio):
3337 * html/HTMLAudioElement.cpp:
3338 (WebCore::HTMLAudioElement::HTMLAudioElement):
3339 * html/HTMLAudioElement.h:
3340 * html/HTMLBRElement.cpp:
3341 (WebCore::HTMLBRElement::HTMLBRElement):
3342 * html/HTMLBRElement.h:
3343 * html/HTMLElement.cpp:
3344 (WebCore::HTMLElement::setInnerText):
3345 * html/HTMLElementFactory.cpp:
3346 (WebCore::brConstructor):
3347 (WebCore::quoteConstructor):
3348 (WebCore::marqueeConstructor):
3349 (WebCore::audioConstructor):
3350 (WebCore::videoConstructor):
3351 (WebCore::sourceConstructor):
3352 * html/HTMLMarqueeElement.cpp:
3353 (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
3354 * html/HTMLMarqueeElement.h:
3355 * html/HTMLQuoteElement.cpp:
3356 (WebCore::HTMLQuoteElement::HTMLQuoteElement):
3357 * html/HTMLQuoteElement.h:
3358 * html/HTMLSourceElement.cpp:
3359 (WebCore::HTMLSourceElement::HTMLSourceElement):
3360 * html/HTMLSourceElement.h:
3361 * html/HTMLVideoElement.cpp:
3362 (WebCore::HTMLVideoElement::HTMLVideoElement):
3363 * html/HTMLVideoElement.h:
3364 * rendering/RenderTextControl.cpp:
3365 (WebCore::RenderTextControl::updateFromElement):
3367 2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
3369 Reviewed by Antti Koivisto.
3371 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
3372 https://bugs.webkit.org/show_bug.cgi?id=22441
3374 Add an assertion to the modified HTML elements' constructor
3375 to check that the QualifiedName parameter is the one that
3376 matches the Element's.
3378 * html/HTMLBaseElement.cpp:
3379 (WebCore::HTMLBaseElement::HTMLBaseElement):
3380 * html/HTMLBlockquoteElement.cpp:
3381 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
3382 * html/HTMLBodyElement.cpp:
3383 (WebCore::HTMLBodyElement::HTMLBodyElement):
3384 * html/HTMLButtonElement.cpp:
3385 (WebCore::HTMLButtonElement::HTMLButtonElement):
3386 * html/HTMLDListElement.cpp:
3387 (WebCore::HTMLDListElement::HTMLDListElement):
3388 * html/HTMLDirectoryElement.cpp:
3389 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
3390 * html/HTMLDivElement.cpp:
3391 (WebCore::HTMLDivElement::HTMLDivElement):
3392 * html/HTMLFieldSetElement.cpp:
3393 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
3394 * html/HTMLFormElement.cpp:
3395 (WebCore::HTMLFormElement::HTMLFormElement):
3396 * html/HTMLFrameElement.cpp:
3397 (WebCore::HTMLFrameElement::HTMLFrameElement):
3398 * html/HTMLFrameSetElement.cpp:
3399 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
3400 * html/HTMLHeadElement.cpp:
3401 (WebCore::HTMLHeadElement::HTMLHeadElement):
3402 * html/HTMLHtmlElement.cpp:
3403 (WebCore::HTMLHtmlElement::HTMLHtmlElement):
3404 * html/HTMLIFrameElement.cpp:
3405 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
3406 * html/HTMLInputElement.cpp:
3407 (WebCore::HTMLInputElement::HTMLInputElement):
3408 * html/HTMLIsIndexElement.cpp:
3409 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
3410 * html/HTMLKeygenElement.cpp:
3411 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
3412 * html/HTMLLIElement.cpp:
3413 (WebCore::HTMLLIElement::HTMLLIElement):
3414 * html/HTMLLabelElement.cpp:
3415 (WebCore::HTMLLabelElement::HTMLLabelElement):
3416 * html/HTMLLegendElement.cpp:
3417 (WebCore::HTMLLegendElement::HTMLLegendElement):
3418 * html/HTMLLinkElement.cpp:
3419 (WebCore::HTMLLinkElement::HTMLLinkElement):
3420 * html/HTMLMenuElement.cpp:
3421 (WebCore::HTMLMenuElement::HTMLMenuElement):
3422 * html/HTMLMetaElement.cpp:
3423 (WebCore::HTMLMetaElement::HTMLMetaElement):
3424 * html/HTMLOListElement.cpp:
3425 (WebCore::HTMLOListElement::HTMLOListElement):
3426 * html/HTMLOptGroupElement.cpp:
3427 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
3428 * html/HTMLOptionElement.cpp:
3429 (WebCore::HTMLOptionElement::HTMLOptionElement):
3430 * html/HTMLSelectElement.cpp:
3431 (WebCore::HTMLSelectElement::HTMLSelectElement):
3432 * html/HTMLStyleElement.cpp:
3433 (WebCore::HTMLStyleElement::HTMLStyleElement):
3434 * html/HTMLTextAreaElement.cpp:
3435 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
3436 * html/HTMLTitleElement.cpp:
3437 (WebCore::HTMLTitleElement::HTMLTitleElement):
3438 * html/HTMLUListElement.cpp:
3439 (WebCore::HTMLUListElement::HTMLUListElement):
3441 2008-12-01 Chris Marrin <cmarrin@apple.com>
3443 Reviewed by Darin Adler.
3445 https://bugs.webkit.org/show_bug.cgi?id=22046
3447 Fixed another case of crashing because the animation object is getting deleted when
3448 it's in the middle of a callback. I actually moved where I am retaining the pointer
3449 up out of the lower level AnimationBase code and into the timer callback that calls
3450 them. So now the pointer is valid throughout the entire sequence of callback code.
3452 The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
3453 crash which this patch fixes.
3455 * page/animation/AnimationBase.cpp:
3456 (WebCore::AnimationBase::updateStateMachine):
3457 (WebCore::AnimationBase::animationTimerCallbackFired):
3458 * page/animation/CompositeAnimation.cpp:
3459 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
3460 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
3461 (WebCore::CompositeAnimationPrivate::styleAvailable):
3462 * page/animation/ImplicitAnimation.cpp:
3463 (WebCore::ImplicitAnimation::sendTransitionEvent):
3464 * page/animation/KeyframeAnimation.cpp:
3465 (WebCore::KeyframeAnimation::sendAnimationEvent):
3466 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
3468 2008-12-01 Tor Arne Vestbø <tavestbo@trolltech.com>
3470 Reviewed by Simon Hausmann.
3472 [Qt/Mac] Initialize NPAPI plugins before getting their entry points
3474 The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
3475 copied from Windows, but caused Silverlight on Mac to crash when loaded.
3477 Apparently the call order of NP_Initialize and NP_GetEntryPoints is
3478 reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425
3480 Reported-by: Peter Johnson <peter@zattoo.com>
3482 * plugins/mac/PluginPackageMac.cpp:
3483 (WebCore::PluginPackage::load):
3485 2008-11-30 Chris Fleizach <cfleizach@apple.com>
3487 Reviewed by John Sullivan.
3489 https://bugs.webkit.org/show_bug.cgi?id=22510
3490 Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA (22510)
3492 A nil pointer needed to be checked
3494 * page/AccessibilityRenderObject.cpp:
3495 (WebCore::AccessibilityRenderObject::activeDescendant):
3497 2008-11-30 Alexey Proskuryakov <ap@webkit.org>
3499 Reviewed by Dan Bernstein.
3501 https://bugs.webkit.org/show_bug.cgi?id=22530
3502 Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID
3504 * dom/WorkerThread.cpp:
3505 (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this
3506 function runs to completion before the thread begins execution.
3507 (WebCore::WorkerThread::workerThread): Updated comments.
3508 (WebCore::WorkerThread::stop): Ditto.
3509 * dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now
3510 protects startup as a whole.
3512 * storage/DatabaseThread.cpp:
3513 * storage/DatabaseThread.h:
3514 * storage/LocalStorageThread.cpp:
3515 * storage/LocalStorageThread.h:
3516 Fixed the same m_threadID problem.
3518 2008-11-29 Brent Fulgham <bfulgham@gmail.com>
3520 Reviewed by Alexey Proskuryakov.
3522 Remove Visual Studio project dependencies on non-redistributable
3523 components in the Debug_Cairo and Release_Cairo build targets.
3524 See https://bugs.webkit.org/show_bug.cgi?id=22527
3526 * WebCore.vcproj/WebCore.vcproj:
3528 2008-11-29 Sam Weinig <sam@webkit.org>
3530 Rubber-stamped by Alexey Proskuryakov.
3534 * WebCore.xcodeproj/project.pbxproj:
3536 2008-11-28 Sam Weinig <sam@webkit.org>
3538 Reviewed by Alexey Proskuryakov.
3540 Fix for https://bugs.webkit.org/show_bug.cgi?id=21063
3541 NULL pointer crash in dispatchEvent(null);
3543 Test: fast/events/dispatchEvent-crash.html
3545 * dom/MessagePort.cpp:
3546 (WebCore::MessagePort::dispatchEvent):
3548 (WebCore::Worker::dispatchEvent):
3549 * dom/WorkerContext.cpp:
3550 (WebCore::WorkerContext::dispatchEvent):
3551 * loader/appcache/DOMApplicationCache.cpp:
3552 (WebCore::DOMApplicationCache::dispatchEvent):
3553 * xml/XMLHttpRequest.cpp:
3554 (WebCore::XMLHttpRequest::dispatchEvent):
3555 * xml/XMLHttpRequestUpload.cpp:
3556 (WebCore::XMLHttpRequestUpload::dispatchEvent):
3558 2008-11-29 Dan Bernstein <mitz@apple.com>
3560 Reviewed by Alexey Proskuryakov.
3562 - fix https://bugs.webkit.org/show_bug.cgi?id=22454
3563 <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org
3565 Test: http/tests/misc/font-face-in-multiple-segmented-faces.html
3567 The crash happened because style recalculation was invoked by
3568 CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but
3569 before another CSSSegmentedFontFace using the same CSSFontFace had done
3570 so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace
3571 prune their tables before telling the CSSFontSelector to recalc style.
3573 * css/CSSFontFace.cpp:
3574 (WebCore::CSSFontFace::fontLoaded):
3575 * css/CSSFontSelector.cpp:
3576 (WebCore::CSSFontSelector::fontLoaded):
3577 * css/CSSFontSelector.h:
3578 * css/CSSSegmentedFontFace.cpp:
3579 (WebCore::CSSSegmentedFontFace::fontLoaded):
3581 2008-11-29 Alexey Proskuryakov <ap@webkit.org>
3583 Reviewed by Eric Seidel.
3585 https://bugs.webkit.org/show_bug.cgi?id=14968
3586 document.open() erroneously returns void instead of the new Document
3588 Test: fast/dom/HTMLDocument/document-open-return-value.html
3590 * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
3591 Return the document on which this method was invoked, per HTML5.
3593 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3595 Reviewed by Cameron Zwarich.
3597 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22550
3599 Add <timer> element support. It provides a way to execute a task with a delay.
3600 The user is notified by firing the task associated with the <card>'s ontimer attribute.
3601 Only one timer element is allowed per <card> (fix wrong error