1 2008-12-11 Cameron Zwarich <zwarich@apple.com>
3 Reviewed by Dave Hyatt.
5 Bug 21256: REGRESSION (r36906): horizontally repeating image leaves ghosts when vertical scrolling
6 <https://bugs.webkit.org/show_bug.cgi?id=21256>
7 <rdar://problem/6362978>
9 The ScrollView refactoring in r36906 caused the ScrollView and the
10 platform widget to disagree about whether optimizing scrolling via
11 blitting is allowed. The easiest way to fix this is to make ScrollView
12 simply ask the platform widget whether this is safe on platforms that
15 It is not possible to write a layout test for this bug because it
16 involves the back/forward cache.
18 * platform/ScrollView.cpp:
19 (WebCore::ScrollView::ScrollView):
20 (WebCore::ScrollView::setCanBlitOnScroll):
21 (WebCore::ScrollView::canBlitOnScroll):
22 (WebCore::ScrollView::platformSetCanBlitOnScroll):
23 (WebCore::ScrollView::platformCanBlitOnScroll):
24 * platform/ScrollView.h:
25 * platform/mac/ScrollViewMac.mm:
26 (WebCore::ScrollView::platformSetCanBlitOnScroll):
27 (WebCore::ScrollView::platformCanBlitOnScroll):
28 * platform/wx/ScrollViewWx.cpp:
29 (WebCore::ScrollView::platformSetCanBlitOnScroll):
30 (WebCore::ScrollView::platformCanBlitOnScroll):
32 2008-12-11 Brent Fulgham <bfulgham@gmail.com>
34 Reviewed by Adam Roben.
36 https://bugs.webkit.org/show_bug.cgi?id=22808
38 Correct build break due to malformed XML in Visual Studio project
39 following @r39205 change.
41 * WebCore.vcproj/WebCore.vcproj: Correct file entry so project loads.
43 2008-12-10 Chris Marrin <cmarrin@apple.com>
45 Reviewed by Dave Hyatt.
47 Fixed https://bugs.webkit.org/show_bug.cgi?id=22738
49 This gets rid of the per-animation timers which were used when an animation
50 started, ended and looped. Their job is now done by the main AnimationController's
51 timer. It is now set to fire as needed. For instance, if there is a delay, it will
52 fire after the delay time and then every 30ms to run the animation. The start, loop
53 and end events are generated as needed during the firing of this timer.
55 I had to add one more bit of code. When animation timers used to fire the animation events.
56 This would always happen from the RunLoop, so any style changes that happened in the
57 event handler would get picked up on the next updateRendering() call. But now the start
58 event is generated during the styleIsAvailable() call, which is in the middle of the
59 updateRendering() cycle. And calling an event handler in the middle of updateRendering()
60 is not allowed and causes style changes to get missed. We already have a mechanism in
61 AnimationController to defer updateRendering() calls. So I added logic to defer all
62 event handling to there. Now, I put any request for event handling into a list and ask
63 for a deferred updateRendering() call. When that deferred timer fires, I go through that
64 list, send all the events and then call updateRendering().
66 * page/animation/AnimationBase.cpp:
67 (WebCore::AnimationBase::AnimationBase):
68 (WebCore::AnimationBase::updateStateMachine):
69 (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
70 (WebCore::AnimationBase::willNeedService):
71 (WebCore::AnimationBase::goIntoEndingOrLoopingState):
72 * page/animation/AnimationBase.h:
73 * page/animation/AnimationController.cpp:
74 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
75 (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
76 (WebCore::AnimationControllerPrivate::addEventToDispatch):
77 (WebCore::AnimationControllerPrivate::animationTimerFired):
78 (WebCore::AnimationController::addEventToDispatch):
79 * page/animation/AnimationController.h:
80 * page/animation/CompositeAnimation.cpp:
81 (WebCore::CompositeAnimationPrivate::updateTransitions):
82 (WebCore::CompositeAnimationPrivate::willNeedService):
83 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
84 (WebCore::CompositeAnimation::willNeedService):
85 (WebCore::CompositeAnimation::getAnimationForProperty):
86 * page/animation/CompositeAnimation.h:
87 * page/animation/ImplicitAnimation.cpp:
88 (WebCore::ImplicitAnimation::animate):
89 (WebCore::ImplicitAnimation::onAnimationEnd):
90 (WebCore::ImplicitAnimation::sendTransitionEvent):
91 * page/animation/ImplicitAnimation.h:
92 * page/animation/KeyframeAnimation.cpp:
93 (WebCore::KeyframeAnimation::animate):
94 (WebCore::KeyframeAnimation::sendAnimationEvent):
95 * page/animation/KeyframeAnimation.h:
96 (WebCore::KeyframeAnimation::setUnanimatedStyle):
98 2008-12-11 Simon Hausmann <simon.hausmann@nokia.com>
100 Fix the Qt build with an empty filenameExtension() implementation.
102 * platform/graphics/qt/ImageSourceQt.cpp:
103 (WebCore::ImageSource::filenameExtension):
105 2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
107 Reviewed by Simon Hausmann.
109 Fix crash in the cairo implementation of the SVGPaintServer
111 For SVGFonts the RenderObject can be zero. The existing SVGFont
112 test cases is exposing this bug. Qt and other ports have fixed
113 this issue by adding null checks as well.
115 * svg/graphics/cairo/SVGPaintServerCairo.cpp:
116 (WebCore::SVGPaintServer::renderPath):
118 2008-12-11 Holger Freyther <zecke@selfish.org>
120 Reviewed by Simon Hausmann.
122 https://bugs.webkit.org/show_bug.cgi?id=20953
124 Make the Qt port follow the Win, Mac, Gtk+ port in regard to Font
125 handling. FontQt.cpp from now on is only implementing the complex path. Create
126 FontFallbackListQt.cpp and FontPlatformDataQt.cpp to work within
127 the framework set by the Font code.
129 Sharing the Font.cpp implementation allows the Qt port to support
130 the CSS font faces and SVG fonts.
132 Split out the Qt4.3 Font handling into FonQt43.cpp to allow to more
135 This commit is removing a lot of #ifdefs from Font.h as the Qt Font
136 implementation is now in line with the rest of WebCore.
139 * platform/graphics/Font.h: Remove #ifdefs
140 (WebCore::Font::letterSpacing):
141 (WebCore::Font::setLetterSpacing):
142 (WebCore::Font::isPlatformFont):
143 * platform/graphics/FontFallbackList.h:
144 * platform/graphics/SimpleFontData.cpp:
145 (WebCore::SimpleFontData::SimpleFontData):
146 (WebCore::SimpleFontData::platformGlyphInit): There is no GlyphCache
147 on Qt, move the initialisation over.
148 (WebCore::SimpleFontData::~SimpleFontData):
149 * platform/graphics/SimpleFontData.h:
150 (WebCore::SimpleFontData::getQtFont):
151 * platform/graphics/qt/FontCacheQt.cpp:
152 (WebCore::FontCache::getCachedFontPlatformData): Remove unused parameter
153 (WebCore::FontCache::releaseFontData): Add to build
154 * platform/graphics/qt/FontCustomPlatformData.cpp:
155 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
156 (WebCore::FontCustomPlatformData::fontPlatformData):
157 (WebCore::createFontCustomPlatformData):
158 * platform/graphics/qt/FontCustomPlatformData.h:
159 * platform/graphics/qt/FontFallbackListQt.cpp: Added.
160 (WebCore::FontFallbackList::FontFallbackList):
161 (WebCore::FontFallbackList::invalidate):
162 (WebCore::FontFallbackList::releaseFontData):
163 (WebCore::FontFallbackList::determinePitch):
164 (WebCore::FontFallbackList::fontDataAt):
165 (WebCore::FontFallbackList::fontDataForCharacters):
166 (WebCore::FontFallbackList::setPlatformFont):
167 * platform/graphics/qt/FontPlatformData.h:
168 (WebCore::FontPlatformData::font):
169 (WebCore::FontPlatformData::size):
170 * platform/graphics/qt/FontPlatformDataQt.cpp: Added.
171 (WebCore::FontPlatformData::FontPlatformData):
172 * platform/graphics/qt/FontQt.cpp:
173 (WebCore::Font::drawComplexText):
174 (WebCore::Font::floatWidthForComplexText):
175 (WebCore::Font::offsetForPositionForComplexText):
176 (WebCore::Font::selectionRectForComplexText):
177 (WebCore::Font::font):
178 * platform/graphics/qt/FontQt43.cpp: Added. Moved Qt4.3 code from FontQt.cpp
179 (WebCore::Font::drawComplexText):
180 (WebCore::Font::floatWidthForComplexText):
181 (WebCore::Font::offsetForPositionForComplexText):
182 (WebCore::Font::selectionRectForComplexText):
183 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
184 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
185 (WebCore::GlyphPageTreeNode::pruneTreeFontData):
186 * platform/graphics/qt/SimpleFontDataQt.cpp:
187 (WebCore::SimpleFontData::determinePitch):
188 (WebCore::SimpleFontData::containsCharacters):
189 (WebCore::SimpleFontData::platformInit):
190 (WebCore::SimpleFontData::platformGlyphInit):
191 (WebCore::SimpleFontData::platformDestroy):
192 * platform/qt/RenderThemeQt.cpp:
193 (WebCore::RenderThemeQt::adjustButtonStyle): Avoid crashes.
195 2008-12-11 Holger Freyther <zecke@selfish.org>
197 Reviewed by Simon Hausmann.
199 https://bugs.webkit.org/show_bug.cgi?id=20953
201 For Qt it is not pratical to have a FontCache and GlyphPageTreeNode
202 implementation. This is one of the reasons why the Qt port is currently not
203 using WebCore/platform/graphics/Font.cpp. By allowing to not use
204 the simple/fast-path the Qt port will be able to use it.
206 Introduce USE(FONT_FAST_PATH) and define it for every port but the
209 * platform/graphics/Font.cpp:
210 (WebCore::Font::drawText):
211 (WebCore::Font::floatWidth):
212 (WebCore::Font::selectionRectForText):
213 (WebCore::Font::offsetForPosition):
214 * platform/graphics/Font.h:
216 2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
218 Reviewed by Darin Adler.
220 https://bugs.webkit.org/show_bug.cgi?id=20953
222 Split out the font fast path from Fast.cpp into FontFastPath.cpp. This
223 will allow the Qt port to share most of WebCore::Font
224 implementation but the fast path. Qt does not provide the API to get
225 individual Glyphs making the fast path hard to support.
229 * WebCore.vcproj/WebCore.vcproj:
230 * WebCore.xcodeproj/project.pbxproj:
231 * WebCoreSources.bkl:
232 * platform/graphics/Font.cpp:
233 * platform/graphics/FontFastPath.cpp: Added.
234 (WebCore::Font::glyphDataForCharacter):
236 2008-12-11 Robert Carr <racarr@svn.gnome.org>
238 Reviewed by Holger Freyther.
240 https://bugs.webkit.org/show_bug.cgi?id=22560
242 Code in PlatformScreenGtk for screenDepth and screenRect can not
243 assume that the platformWindow for the widget has a valid "window"
244 member. For example in the case of, a new browser view opening as a
245 child of a GtkNotebook, but never being switched to, or manually
246 realized. Solve by using the toplevel window of the widget, rather
247 than the widget itself.
249 * platform/gtk/PlatformScreenGtk.cpp:
250 (WebCore::screenDepth):
251 (WebCore::screenRect):
253 2008-12-08 Tor Arne Vestbø <tavestbo@trolltech.com>
255 Reviewed by Darin Adler and Holger Freyther.
257 Make Widget::frameRectsChanged() and overrides non-const
259 This will hopefully allow us to get rid of some of the mutables in
260 the classes that react to the callback by changing their own state.
262 * platform/ScrollView.cpp:
263 (WebCore::ScrollView::frameRectsChanged):
264 * platform/ScrollView.h:
266 (WebCore::Widget::frameRectsChanged):
267 * platform/gtk/ScrollbarGtk.cpp: Remove non-const version since
268 this was more complex and did the same thing, changed const of
269 the leftover frameRectsChanged() method.
270 (ScrollbarGtk::frameRectsChanged):
271 * platform/gtk/ScrollbarGtk.h:
272 * plugins/PluginView.cpp:
273 (WebCore::PluginView::frameRectsChanged):
274 * plugins/PluginView.h:
276 2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
278 Reviewed and implemented with Tor Arne Vestbø.
280 Reimplement RenderTheme::caretBlinkInterval for Qt.
282 The QApplication::cursorFlashTime is in milliseconds and describes
283 the whole cycle while WebCore expects half a cycle.
285 * platform/qt/RenderThemeQt.cpp:
286 (WebCore::RenderThemeQt::caretBlinkInterval):
287 * platform/qt/RenderThemeQt.h:
289 2008-12-09 Trenton Schulz <trenton.schulz@nokia.com>
291 Reviewed by Tor Arne Vestbø.
293 [Qt/Mac] Don't call HIGetScaleFactor() if we're not on Tiger or better
295 * plugins/mac/PluginViewMac.cpp:
296 (WebCore::tigerOrBetter):
297 (WebCore::PluginView::globalMousePosForPlugin):
299 2008-12-10 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
301 Reviewed by Eric Seidel and George Staikos.
303 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22799
305 Add WML <template> support. The <template> element is specified at deck-level
306 and declares a template for all <card> elements in the document.
309 * WebCore.vcproj/WebCore.vcproj:
310 * WebCore.xcodeproj/project.pbxproj:
311 * editing/htmlediting.cpp:
312 (WebCore::canHaveChildrenForEditing): Treat <do> just like a <button>.
313 * wml/WMLCardElement.cpp:
314 (WebCore::WMLCardElement::WMLCardElement):
315 (WebCore::WMLCardElement::setTemplateElement):
316 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
317 (WebCore::WMLCardElement::handleDeckLevelTaskOverridesIfNeeded):
318 * wml/WMLCardElement.h:
319 (WebCore::WMLCardElement::templateElement):
320 * wml/WMLDoElement.cpp:
321 (WebCore::WMLDoElement::insertedIntoDocument):
322 * wml/WMLDocument.cpp:
323 (WebCore::WMLDocument::finishedParsing):
324 * wml/WMLErrorHandling.cpp:
325 (WebCore::errorMessageForErrorCode):
326 * wml/WMLErrorHandling.h:
328 * wml/WMLEventHandlingElement.cpp:
329 (WebCore::WMLEventHandlingElement::~WMLEventHandlingElement):
330 * wml/WMLEventHandlingElement.h:
331 (WebCore::WMLEventHandlingElement::doElements):
332 * wml/WMLTagNames.in:
333 * wml/WMLTemplateElement.cpp: Added.
334 (WebCore::WMLTemplateElement::WMLTemplateElement):
335 (WebCore::WMLTemplateElement::~WMLTemplateElement):
336 (WebCore::WMLTemplateElement::parseMappedAttribute):
337 (WebCore::WMLTemplateElement::registerTemplatesInDocument):
338 * wml/WMLTemplateElement.h: Added.
339 * wml/WMLTimerElement.cpp:
340 (WebCore::WMLTimerElement::timerFired):
342 2008-12-09 Dmitry Titov <dimich@chromium.org>
344 Reviewed by Darin Adler.
346 Fix memory leak - need to call stopActiveDOMObjects
347 when cached pages get destroyed.
348 https://bugs.webkit.org/show_bug.cgi?id=22753
351 (WebCore::Document::detach):
353 2008-12-10 Alice Liu <alice.liu@apple.com>
355 Manual test for https://bugs.webkit.org/show_bug.cgi?id=20685
357 Reviewed by Darin Adler.
359 * manual-tests/drag-image-to-desktop.html: Added.
361 2008-12-10 Alice Liu <alice.liu@apple.com>
363 fixed https://bugs.webkit.org/show_bug.cgi?id=20685
365 Reviewed by Darin Adler.
367 Manual test case is manual-tests/drag-image-to-desktop.html
369 Added new files to projects
370 * WebCore.vcproj/WebCore.vcproj:
371 * WebCore.xcodeproj/project.pbxproj:
373 * page/DragController.cpp:
374 (WebCore::DragController::startDrag):
375 * platform/MIMETypeRegistry.cpp:
376 (WebCore::initializeSupportedImageMIMETypes):
377 (WebCore::initializeSupportedImageMIMETypesForEncoding):
379 These changes add a method to obtain the extension for an image
380 * platform/graphics/BitmapImage.cpp:
381 (WebCore::BitmapImage::filenameExtension):
382 * platform/graphics/BitmapImage.h:
383 * platform/graphics/Image.h:
384 (WebCore::Image::filenameExtension):
385 * platform/graphics/ImageSource.h:
386 * platform/graphics/cairo/ImageSourceCairo.cpp:
387 (WebCore::ImageSource::filenameExtension):
388 * platform/graphics/cg/ImageSourceCG.cpp:
389 (WebCore::ImageSource::filenameExtension):
391 These changes added a utility that returns the preferred extension for a UTI
392 * platform/graphics/cg/ImageSourceCG.h: Added.
393 * platform/graphics/cg/ImageSourceCGMac.mm: Added.
394 (WebCore::MIMETypeForImageSourceType):
395 (WebCore::preferredExtensionForImageSourceType):
396 * platform/graphics/cg/ImageSourceCGWin.cpp: Added.
397 (WebCore::MIMETypeForImageSourceType):
398 (WebCore::preferredExtensionForImageSourceType):
400 * platform/mac/MIMETypeRegistryMac.mm:
401 moved getMIMETypeForUTI to ImageSourceCGMac.mm
403 Ask image for its file extension instead of relying on MIME type and file path
404 * platform/win/ClipboardWin.cpp:
405 (WebCore::createGlobalImageFileDescriptor):
407 Remove extraneous code from getPreferredExtensionForMIMEType.
408 Also moved getMIMETypeForUTI to ImageSourceCGWin.cpp
409 * platform/win/MIMETypeRegistryWin.cpp:
410 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
412 2008-12-10 Simon Fraser <simon.fraser@apple.com>
414 Reviewed by Antti Koivisto
416 <rdar://problem/6431224>
418 When updating the value of a slider, don't mark the parents
419 as needing layout, because the size of the slider can never
420 change. This fixes full-page repaints in some cases.
422 * rendering/RenderSlider.cpp:
423 (WebCore::RenderSlider::updateFromElement):
425 2008-12-10 Simon Fraser <simon.fraser@apple.com>
427 Potential build fix. The forward declaration of FloatPoint should
428 be inside the WebCore namespace.
430 * platform/graphics/FloatPoint3D.h:
432 2008-12-10 Simon Fraser <simon.fraser@apple.com>
434 Reviewed by Sam Weinig
436 https://bugs.webkit.org/show_bug.cgi?id=22793
438 Cleanup FloatPoint3D: inline the getters and setters,
439 fix a potential divide-by-zero in normalize(), and add
440 a FloatPoint constructor.
442 * platform/graphics/FloatPoint3D.cpp:
443 (WebCore::FloatPoint3D::FloatPoint3D):
444 (WebCore::FloatPoint3D::normalize):
445 * platform/graphics/FloatPoint3D.h:
446 (WebCore::FloatPoint3D::x):
447 (WebCore::FloatPoint3D::setX):
448 (WebCore::FloatPoint3D::y):
449 (WebCore::FloatPoint3D::setY):
450 (WebCore::FloatPoint3D::z):
451 (WebCore::FloatPoint3D::setZ):
453 2008-12-09 Julien Chaffraix <jchaffraix@webkit.org>
455 Reviewed by Eric Seidel.
457 Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
458 https://bugs.webkit.org/show_bug.cgi?id=22665
460 - Removed setCreatedByParser from style and link elements.
462 - Removed XMLTokenizer::eventuallyMarkAsCreatedByParser.
464 * dom/XMLTokenizer.cpp:
465 * dom/XMLTokenizer.h:
466 * dom/XMLTokenizerLibxml2.cpp:
467 (WebCore::XMLTokenizer::startElementNs):
468 * dom/XMLTokenizerQt.cpp:
469 (WebCore::XMLTokenizer::parseStartElement):
470 * html/HTMLElementFactory.cpp:
471 (WebCore::linkConstructor):
472 (WebCore::styleConstructor):
473 * html/HTMLLinkElement.cpp:
474 (WebCore::HTMLLinkElement::HTMLLinkElement):
475 * html/HTMLLinkElement.h:
476 * html/HTMLStyleElement.cpp:
477 (WebCore::HTMLStyleElement::HTMLStyleElement):
478 * html/HTMLStyleElement.h:
479 * html/HTMLTagNames.in:
480 * svg/SVGStyleElement.cpp:
481 (WebCore::SVGStyleElement::SVGStyleElement):
482 * svg/SVGStyleElement.h:
485 2008-12-10 Brady Eidson <beidson@apple.com>
489 https://bugs.webkit.org/show_bug.cgi?id=22194 and <rdar://problem/6388378> -
490 Dialog when going back to a page from whence you submitted a form
492 http://trac.webkit.org/changeset/37317 changed the manner in which headers are added to
493 http requests, which caused the networking layer to have an incomplete set of headers
494 just before consulting the Policy Delegate. This caused a cache miss and incorrectly made
495 us believe we'd be resubmitting the form.
497 * loader/FrameLoader.cpp:
498 (WebCore::FrameLoader::loadItem): Being careful to maintain the new behavior required by
499 the Origin header mechanism as discussed in bug 22194, restore the previous behavior of
500 setting all the headers before the networking layer is asked about the cache lookup.
502 2008-12-10 Dimitri Glazkov <dglazkov@chromium.org>
504 Reviewed by Timothy Hatcher.
506 Add back ability to end all profiling via console by invoking profileEnd
510 (WebCore::Console::profileEnd): Removed title null-checking and
511 subsequent early exit.
513 2008-12-10 Pierre-Olivier Latour <pol@apple.com>
515 Reviewed by Darin Adler.
517 KeyframeAnimation::animate() needs to compute the elapsed animation time
518 properly taking into account its paused state.
520 https://bugs.webkit.org/show_bug.cgi?id=22773
522 Test: animations/animation-drt-api-multiple-keyframes.html
524 * page/animation/KeyframeAnimation.cpp:
525 (WebCore::KeyframeAnimation::animate):
527 2008-12-10 Simon Fraser <simon.fraser@apple.com>
529 Reviewed by Dan Bernstein
532 https://bugs.webkit.org/show_bug.cgi?id=22570
534 Rename methods on RenderLayer for clarity:
535 clearClipRects -> clearClipRectsIncludingDescendants
536 clearClipRect -> clearClipRects
538 * rendering/RenderBox.cpp:
539 (WebCore::RenderBox::destroy):
540 * rendering/RenderLayer.cpp:
541 (WebCore::RenderLayer::updateLayerPosition):
542 (WebCore::RenderLayer::removeOnlyThisLayer):
543 (WebCore::RenderLayer::insertOnlyThisLayer):
544 (WebCore::RenderLayer::clearClipRectsIncludingDescendants):
545 (WebCore::RenderLayer::clearClipRects):
546 * rendering/RenderLayer.h:
547 * rendering/RenderObject.cpp:
548 (WebCore::RenderObject::styleWillChange):
549 * rendering/RenderWidget.cpp:
550 (WebCore::RenderWidget::destroy):
552 2008-12-10 Kevin Ollivier <kevino@theolliviers.com>
554 wx build fix after the script call stack/frame additions.
556 * WebCoreSources.bkl:
558 2008-12-10 Srinivasa Rao M. Hamse <msrinirao@gmail.com>
560 Reviewed by Holger Freyther.
562 F1-F12 key mappings for WebKit Gtk Port
564 * platform/gtk/KeyEventGtk.cpp:
565 (WebCore::windowsKeyCodeForKeyEvent):
567 2008-12-10 Enrico Ros <enrico.ros@m31.com>
569 Reviewed by Simon Hausmann.
571 Fix the Qt build when SVG is disabled. A broken dependancy caused
572 unnecessary rebuilds even with no changes.
574 * WebCore.pro: fix a broken build dependancy
576 2008-12-10 Hironori Bono <hbono@chromium.org>
578 Reviewed by Alexey Proskuryakov.
580 Bug 21820: Unable to enter the Tamil UNICODE Characters via Thamizha Phonetic IME
581 https://bugs.webkit.org/show_bug.cgi?id=21820
583 <rdar://problem/5683248> Typing backspace to delete a diacritical mark also deletes the character before (Arabic)
584 <rdar://problem/5702038> Backspace removes Thai Character in wrong sequence
586 Tests: editing/deleting/delete-ligature-001.html
587 editing/deleting/delete-ligature-002.html
588 editing/deleting/delete-ligature-003.html
590 * editing/TypingCommand.cpp:
591 (WebCore::TypingCommand::deleteKeyPressed): Delete only the last character
592 of a ligature which consists of multiple Unicode characters when deleting it with
595 2008-12-10 David Levin <levin@chromium.org>
597 Reviewed by Alexey Proskuryakov.
599 https://bugs.webkit.org/show_bug.cgi?id=22177
600 Fix the windows build by removing calls to notifyFormStateChanged
601 where they didn't appear in the original reviewed patch.
603 * html/HTMLInputElement.cpp:
604 (WebCore::HTMLInputElement::type):
605 (WebCore::HTMLInputElement::attach):
607 2008-12-09 Adam Barth <abarth@webkit.org>
609 Reviewed by Sam Weinig.
611 Add ScriptController::updateSecurityOrigin to notify the bindings
612 that a document's securityOrigin has been updated. This is used by
613 V8 to update its security context.
615 * bindings/js/ScriptController.cpp:
616 (WebCore::ScriptController::updateSecurityOrigin):
617 * bindings/js/ScriptController.h:
619 (WebCore::Document::setDomain):
621 2008-12-09 Eric Seidel <eric@webkit.org>
623 No review, build fix only.
625 Fix a few config issues to let the Chromium Windows WebCore build get further.
629 2008-12-09 Brett Wilson <brettw@chromium.org>
631 Reviewed by Dave Hyatt.
633 https://bugs.webkit.org/show_bug.cgi?id=22177
635 Add a callback on ChromeClient that the state of form elements on
636 the page has changed. This is to allow clients implementing session
637 saving to know when the current state is dirty.
639 * html/HTMLInputElement.cpp:
640 (WebCore::notifyFormStateChanged):
641 (WebCore::HTMLInputElement::setInputType):
642 (WebCore::HTMLInputElement::type):
643 (WebCore::HTMLInputElement::attach):
644 (WebCore::HTMLInputElement::setValue):
645 (WebCore::HTMLInputElement::setValueFromRenderer):
646 (WebCore::HTMLInputElement::setFileListFromRenderer):
647 * html/HTMLSelectElement.cpp:
648 (WebCore::HTMLSelectElement::setSelectedIndex):
649 * html/HTMLTextAreaElement.cpp:
650 (WebCore::notifyFormStateChanged):
651 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
652 (WebCore::HTMLTextAreaElement::updateValue):
653 (WebCore::HTMLTextAreaElement::setValue):
654 * loader/EmptyClients.h:
655 (WebCore::EmptyChromeClient::formStateDidChange):
656 * page/ChromeClient.h:
658 2008-12-09 Sam Weinig <sam@webkit.org>
660 Reviewed by Darin Adler.
662 https://bugs.webkit.org/show_bug.cgi?id=19762
664 Fix intermittent crash in buildbot. The CSSCursorImageValues and
665 SVGCursorElements held onto raw SVGElement pointers without any
666 guarantee that the element is still around.
668 We did not fix the design that resulted in this issue, we just fixed
669 the pointer lifetimes.
671 * css/CSSCursorImageValue.cpp:
672 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Zero out the back pointers.
673 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Set up a back pointer.
674 (WebCore::CSSCursorImageValue::removeReferencedElement): Added. Used when the element
676 * css/CSSCursorImageValue.h: Added removeReferencedElement.
678 * svg/SVGCursorElement.cpp:
679 (WebCore::SVGCursorElement::~SVGCursorElement): Zero out the back pointers.
680 (WebCore::SVGCursorElement::addClient): Set up a back pointer.
681 (WebCore::SVGCursorElement::removeClient): Zero out the back pointer.
683 * svg/SVGElement.cpp:
684 (WebCore::SVGElement::SVGElement): Initialize back pointers to zero.
685 (WebCore::SVGElement::~SVGElement): Call both the element and cursor image value
686 to remove the element from their sets.
688 (WebCore::SVGElement::setCursorElement): Added.
689 (WebCore::SVGElement::setCursorImageValue): Added.
691 2008-12-09 David Hyatt <hyatt@apple.com>
693 Add code that will create custom CSS scrollbars from the <body>, the document element (<html>) and the owning
694 frame/iframe. If any of them set a custom style, it will be used. The scrollbars do not update dynamically
695 yet as you switch from page to page (until they are destroyed and recreated).
699 * page/FrameView.cpp:
700 (WebCore::FrameView::createScrollbar):
702 2008-12-09 Ojan Vafai <ojan@chromium.org>
704 Reviewed by Dave Hyatt.
706 https://bugs.webkit.org/show_bug.cgi?id=22689
707 Match Firefox button metrics on Windows.
709 * rendering/RenderButton.cpp:
710 (WebCore::RenderButton::addChild):
711 (WebCore::RenderButton::styleDidChange):
712 (WebCore::RenderButton::setupInnerStyle):
713 * rendering/RenderButton.h:
714 * rendering/RenderTheme.cpp:
715 (WebCore::RenderTheme::adjustButtonInnerStyle):
716 * rendering/RenderTheme.h:
717 * rendering/RenderThemeWin.cpp:
718 (WebCore::RenderThemeWin::adjustSliderThumbSize):
719 (WebCore::RenderThemeWin::adjustButtonInnerStyle):
720 * rendering/RenderThemeWin.h:
722 2008-12-09 Darin Fisher <darin@chromium.org>
726 https://bugs.webkit.org/show_bug.cgi?id=22631
727 Adding missing files from previous commit.
729 * bindings/js/ScriptCallFrame.cpp: Added.
730 (WebCore::ScriptCallFrame::ScriptCallFrame):
731 (WebCore::ScriptCallFrame::~ScriptCallFrame):
732 (WebCore::ScriptCallFrame::argumentAt):
733 * bindings/js/ScriptCallFrame.h: Added.
734 (WebCore::ScriptCallFrame::functionName):
735 (WebCore::ScriptCallFrame::sourceURL):
736 (WebCore::ScriptCallFrame::lineNumber):
737 (WebCore::ScriptCallFrame::argumentCount):
738 * bindings/js/ScriptCallStack.cpp: Added.
739 (WebCore::ScriptCallStack::ScriptCallStack):
740 (WebCore::ScriptCallStack::~ScriptCallStack):
741 (WebCore::ScriptCallStack::at):
742 (WebCore::ScriptCallStack::size):
743 (WebCore::ScriptCallStack::initialize):
744 * bindings/js/ScriptCallStack.h: Added.
745 (WebCore::ScriptCallStack::state):
747 2008-12-09 Dimitri Glazkov <dglazkov@chromium.org>
749 Reviewed by Timothy Hatcher.
751 https://bugs.webkit.org/show_bug.cgi?id=22631
752 Streamline Console.cpp, abstract out the use of JSC::ExecState and
753 JSC::ArgList by introducing ScriptCallFrame and ScriptCallStack
756 * GNUmakefile.am: Added ScriptCallFrame and ScriptCallStack to build
757 * WebCore.pro: Added ScriptCallFrame and ScriptCallStack to build
758 * WebCore.vcproj/WebCore.vcproj: Added ScriptCallFrame and
759 ScriptCallStack to project
760 * WebCore.xcodeproj/project.pbxproj: Added ScriptCallFrame and
761 ScriptCallStack to project
762 * bindings/js/JSConsoleCustom.cpp: Remove custom bindings.
763 * bindings/js/ScriptCallFrame.cpp: Added.
764 (WebCore::ScriptCallFrame::ScriptCallFrame):
765 (WebCore::ScriptCallFrame::~ScriptCallFrame):
766 (WebCore::ScriptCallFrame::argumentAt):
767 * bindings/js/ScriptCallFrame.h: Added.
768 (WebCore::ScriptCallFrame::functionName):
769 (WebCore::ScriptCallFrame::sourceURL):
770 (WebCore::ScriptCallFrame::lineNumber):
771 (WebCore::ScriptCallFrame::argumentCount):
772 * bindings/js/ScriptCallStack.cpp: Added.
773 (WebCore::ScriptCallStack::ScriptCallStack):
774 (WebCore::ScriptCallStack::~ScriptCallStack):
775 (WebCore::ScriptCallStack::at):
776 (WebCore::ScriptCallStack::size):
777 (WebCore::ScriptCallStack::initialize):
778 * bindings/js/ScriptCallStack.h: Added.
779 (WebCore::ScriptCallStack::ScriptCallStack):
780 (WebCore::ScriptCallStack::~ScriptCallStack):
781 (WebCore::ScriptCallStack::state):
782 (WebCore::ScriptCallStack::at):
783 (WebCore::ScriptCallStack::size):
784 (WebCore::ScriptCallStack::initialize):
785 * bindings/js/ScriptString.h: Added missing PlatformString include.
786 (WebCore::ScriptString::ScriptString): Added default constructor.
787 (WebCore::ScriptString::operator==): Added equality operator.
788 (WebCore::ScriptString::operator!=):
789 * bindings/js/ScriptValue.cpp: Added isNull and isUndefined.
790 (WebCore::ScriptValue::isNull):
791 (WebCore::ScriptValue::isUndefined):
792 * bindings/js/ScriptValue.h: Added isNull and isUndefined
793 * bindings/scripts/CodeGeneratorJS.pm: Add handling for
794 CustomArgumentHandling attribute.
795 * inspector/InspectorController.cpp: Refactored to use
796 ScriptCallFrame and ScriptCallStack.
797 (WebCore::ConsoleMessage::ConsoleMessage):
798 (WebCore::InspectorController::addMessageToConsole):
799 (WebCore::InspectorController::startGroup):
800 (WebCore::InspectorController::addScriptConsoleMessage):
801 (WebCore::InspectorController::count):
802 (WebCore::InspectorController::startTiming):
803 (WebCore::InspectorController::stopTiming):
804 * inspector/InspectorController.h: Refactored to use ScriptCallFrame and
806 * inspector/front-end/Console.js: Modified to use argument value itself
807 rather than f.name for stack trace.
808 * page/Console.cpp: Refactored to use ScriptCallFrame and
810 (WebCore::getFirstArgumentAsString):
811 (WebCore::Console::addMessage):
812 (WebCore::Console::debug):
813 (WebCore::Console::error):
814 (WebCore::Console::info):
815 (WebCore::Console::log):
816 (WebCore::Console::dir):
817 (WebCore::Console::dirxml):
818 (WebCore::Console::trace):
819 (WebCore::Console::assertCondition):
820 (WebCore::Console::count):
821 (WebCore::Console::profile):
822 (WebCore::Console::profileEnd):
823 (WebCore::Console::time):
824 (WebCore::Console::timeEnd):
825 (WebCore::Console::group):
826 (WebCore::Console::warn):
828 * page/Console.idl: Removed Custom attributes, added
829 CustomArgumentHandling attributes, and tweaked argument defs.
831 2008-12-09 Darin Adler <darin@apple.com>
833 Try to fix non-Mac builds.
835 * GNUmakefile.am: Added NavigatorBase.
836 * WebCore.pro: Ditto.
837 * WebCore.scons: Ditto.
838 * WebCore.vcproj/WebCore.vcproj: Ditto.
839 * WebCoreSources.bkl: Ditto.
841 Unrelated tweak sitting in my tree.
843 * bindings/objc/DOMAbstractView.mm: Remove pointless override of finalize method.
845 2008-12-09 Darin Adler <darin@apple.com>
847 Try to fix Tiger build.
849 * platform/network/mac/NetworkStateNotifierMac.cpp: Declare CFRunLoopGetMain.
851 2008-12-09 Alexey Proskuryakov <ap@webkit.org>
853 Reviewed by Darin Adler.
855 https://bugs.webkit.org/show_bug.cgi?id=22719
856 Implement Navigator object in Workers
858 Test: fast/workers/worker-navigator.html
860 * DerivedSources.make:
863 * WebCore.vcproj/WebCore.vcproj:
864 * WebCore.xcodeproj/project.pbxproj:
865 Added WorkerNavigator sources.
867 * bindings/js/JSWorkerContext.cpp: (WebCore::jsWorkerContextNavigator):
868 Worker.navigator returns a WoerkerNavigator object (it is named just Navigator in the spec,
869 but it is not the same interface that is available on Windows).
872 (WebCore::Worker::notifyFinished):
873 * dom/WorkerContext.cpp:
874 (WebCore::WorkerContext::WorkerContext):
875 (WebCore::WorkerContext::navigator):
876 * dom/WorkerContext.h:
877 (WebCore::WorkerContext::create):
878 * dom/WorkerThread.cpp:
879 (WebCore::WorkerThread::create):
880 (WebCore::WorkerThread::WorkerThread):
881 (WebCore::WorkerThread::workerThread):
882 * dom/WorkerThread.h:
883 Pass a pre-computed user agent string into worker, because it cannot call a client method
884 directly, and pre-computing is easier than sending a synchronous message to the main thread.
886 * page/Navigator.cpp:
888 * page/NavigatorBase.cpp: Added.
889 * page/NavigatorBase.h: Added.
890 Factor out common (and uncommon, but very similar) functionality into a base class.
892 * page/WorkerNavigator.cpp: Added.
893 * page/WorkerNavigator.h: Added.
894 * page/WorkerNavigator.idl: Added.
895 Per Web Workers and HTML5, implement a small subset of what we currently have in Window.Navigator.
897 * platform/network/NetworkStateNotifier.cpp: (WebCore::networkStateNotifier):
898 Make networkStateNotifier() static constructor thread safe. The object is created on the
899 thread it is first called from, while callbacks are registered on the main thread. Calls to
900 onLine() from other threads are safe, because it is just loading a boolean.
902 * platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier):
903 Schedule notifications on main event loop, not the current one.
905 2008-12-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
907 Rubber-stamped by Alexey Proskuryakov.
909 Forgot to update Qt/WML build - add some new files to the build.
913 2008-12-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
915 Reviewed by Alexey Proskuryakov.
917 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22637
919 Implement the GET method for WMLGoElement, and some test covering it's behaviour.
920 Update all build systems supporting WML that haven't been updated since a while.
922 Add WMLPostField stub implementation, needed for implementing POST method.
924 Tests: wml/go-task-get-method-external-deck-with-href.html
925 wml/go-task-get-method-external-deck.html
926 wml/go-task-get-method-same-deck.html
929 * WebCore.vcproj/WebCore.vcproj:
930 * WebCore.xcodeproj/project.pbxproj:
932 (WebCore::Document::resetWMLPageState):
933 * wml/WMLCardElement.cpp:
934 * wml/WMLCardElement.h:
935 * wml/WMLEventHandlingElement.cpp:
936 (WebCore::WMLCardElement::registerDoElement):
937 * wml/WMLEventHandlingElement.h:
938 * wml/WMLGoElement.cpp:
939 (WebCore::WMLGoElement::WMLGoElement):
940 (WebCore::WMLGoElement::registerPostfieldElement):
941 (WebCore::WMLGoElement::parseMappedAttribute):
942 (WebCore::WMLGoElement::executeTask):
943 (WebCore::WMLGoElement::parseContentType):
944 (WebCore::WMLGoElement::preparePOSTRequest):
945 (WebCore::WMLGoElement::prepareGETRequest):
946 * wml/WMLGoElement.h:
947 * wml/WMLPostfieldElement.cpp: Added.
948 (WebCore::WMLPostfieldElement::WMLPostfieldElement):
949 (WebCore::WMLPostfieldElement::parseMappedAttribute):
950 (WebCore::WMLPostfieldElement::insertedIntoDocument):
951 * wml/WMLPostfieldElement.h: Added.
952 (WebCore::WMLPostfieldElement::name):
953 (WebCore::WMLPostfieldElement::value):
954 * wml/WMLTagNames.in:
956 2008-12-08 Peter Kasting <pkasting@google.com>
958 Reviewed by Anders Carlsson.
960 https://bugs.webkit.org/show_bug.cgi?id=16814
961 Allow ports to disable ActiveX->NPAPI conversion for Media Player.
962 Improve handling of miscellaneous ActiveX objects.
964 * rendering/RenderPartObject.cpp:
965 (WebCore::mapClassIdToServiceType):
966 (WebCore::shouldUseChildEmbedOfObject):
967 (WebCore::RenderPartObject::updateWidget):
969 2008-12-08 Darin Adler <darin@apple.com>
971 Reviewed by John Sullivan.
973 - fix https://bugs.webkit.org/show_bug.cgi?id=22409
974 REGRESSION: cmd-shift-left/right don't switch tabs, instead select text
976 Tests: editing/execCommand/enabling-and-selection-2.html
977 editing/execCommand/enabling-and-selection.html
979 * editing/EditorCommand.cpp: Updated table to use these functions by their new names.
980 (WebCore::enabledVisibleSelection): Renamed this to reflect its new algorithm.
981 An invisible selection with a position that selects no characters doesn't count
982 as a visible selection.
983 (WebCore::enabledVisibleSelectionAndMark): Ditto.
985 2008-12-08 David Kilzer <ddkilzer@apple.com>
987 Remove duplicate entries from WebCore project.
989 Reviewed by Eric Seidel.
991 Bug 22555: Sort "children" sections in Xcode project files.
992 <https://bugs.webkit.org/show_bug.cgi?id=22555>
994 Recipe for removing duplicates:
995 $ ./WebKitTools/Scripts/sort-Xcode-project-file project.pbxproj
996 $ uniq < project.pbxproj | diff -u project.pbxproj - | patch -p0 project.pbxproj
998 * WebCore.xcodeproj/project.pbxproj: Removed duplicates.
1000 2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>
1002 Reviewed by Darin Adler.
1004 Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
1005 https://bugs.webkit.org/show_bug.cgi?id=22665
1007 Remove setCreatedByParser from the script elements (HTML and SVG).
1009 * dom/XMLTokenizer.cpp:
1010 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): Removed
1011 call to setCreatedByParser for the 2 elements.
1013 * dom/make_names.pl: Modified to call the constructor with
1014 the createByParser parameter if 'constructorNeedsCreatedByParser'
1017 * html/HTMLElementFactory.cpp:
1018 (WebCore::scriptConstructor):
1019 * html/HTMLScriptElement.cpp:
1020 (WebCore::HTMLScriptElement::HTMLScriptElement):
1021 * html/HTMLScriptElement.h:
1022 * html/HTMLTagNames.in: Added constructorNeedsCreatedByParser
1024 * svg/SVGScriptElement.cpp:
1025 (WebCore::SVGScriptElement::SVGScriptElement):
1026 * svg/SVGScriptElement.h:
1027 * svg/svgtags.in: Added constructorNeedsCreatedByParser
1030 2008-12-08 David Kilzer <ddkilzer@apple.com>
1032 Bug 22555: Sort "children" sections in Xcode project files
1034 <https://bugs.webkit.org/show_bug.cgi?id=22555>
1036 Reviewed by Eric Seidel.
1038 * WebCore.xcodeproj/project.pbxproj: Sorted.
1039 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Sorted.
1041 2008-12-08 Tony Chang <tony@chromium.org>
1043 Reviewed by Eric Seidel.
1045 Add a bool to GraphicsContext so that shadows can ignore
1046 transformations. This is needed by HTML canvas element
1047 where the spec says shadows are applied w/o transformations.
1048 https://bugs.webkit.org/show_bug.cgi?id=22580
1050 No functional changes, thus no tests.
1052 * html/CanvasRenderingContext2D.cpp:
1053 (WebCore::CanvasRenderingContext2D::setShadow):
1054 (WebCore::CanvasRenderingContext2D::applyShadow):
1055 * html/HTMLCanvasElement.cpp:
1056 (WebCore::HTMLCanvasElement::createImageBuffer):
1057 * platform/graphics/GraphicsContext.cpp:
1058 (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
1059 * platform/graphics/GraphicsContext.h:
1060 * platform/graphics/GraphicsContextPrivate.h:
1061 (WebCore::GraphicsContextState::GraphicsContextState):
1062 * platform/graphics/cg/GraphicsContextCG.cpp:
1063 (WebCore::GraphicsContext::setPlatformShadow):
1065 2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>
1067 Reviewed by Darin Adler.
1069 Bug 17897: Not Rendering Images Imported from XHTML Document
1070 <rdar://problem/5827614>
1072 When we were loading document with XMLHttpRequest that contained images, the images
1073 would not be fetched as they would not be displayed. However if we inserted such
1074 an image element into a rendered document, we would not fetch the image and thus never
1077 Now we check if the image has been loaded when we insert an HTMLImageElement into a
1079 To enable this, the image loader has an error flag. To avoid doing several attempts
1080 when we know that the image is in error, we store the failed URL.
1081 However Firefox and Opera ignore errors when the 'src' attribute changes and thus
1082 we also have an updateFromElementIgnoringPreviousError to match the other browser.
1084 Tests: http/tests/misc/image-blocked-src-change.html
1085 http/tests/misc/image-blocked-src-no-change.html
1086 http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg
1087 http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html
1089 * html/HTMLEmbedElement.cpp:
1090 (WebCore::HTMLEmbedElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
1091 * html/HTMLImageElement.cpp:
1092 (WebCore::HTMLImageElement::parseMappedAttribute): Ditto.
1093 (WebCore::HTMLImageElement::insertedIntoDocument): Call updateFromElement if we do not have
1096 * html/HTMLInputElement.cpp:
1097 (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
1098 * html/HTMLObjectElement.cpp:
1099 (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
1100 * html/HTMLVideoElement.cpp:
1101 (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
1102 * loader/ImageLoader.cpp:
1103 (WebCore::ImageLoader::setImage): Added an assertion.
1104 (WebCore::ImageLoader::updateFromElement): Added a check for load error (to avoid displaying
1105 multiple errors in the console for a single image load).
1107 (WebCore::ImageLoader::updateFromElementIgnoringPreviousError): This method clears previous error
1108 before calling updateFromElement.
1110 (WebCore::ImageLoader::notifyFinished): Added an assertion.
1111 * loader/ImageLoader.h:
1112 * svg/SVGImageElement.cpp:
1113 (WebCore::SVGImageElement::svgAttributeChanged): Changed to call updateFromElementIgnoringPreviousError.
1115 2008-12-08 David Hyatt <hyatt@apple.com>
1117 Make scrollbar creation virtual on ScrollView so that FrameView can have the capability to create
1118 custom CSS scrollbars.
1120 Reviewed by Eric Seidel
1122 * page/FrameView.cpp:
1123 (WebCore::FrameView::createScrollbar):
1125 * platform/ScrollView.cpp:
1126 (WebCore::ScrollView::setHasHorizontalScrollbar):
1127 (WebCore::ScrollView::setHasVerticalScrollbar):
1128 (WebCore::ScrollView::createScrollbar):
1129 * platform/ScrollView.h:
1131 2008-12-08 Dan Bernstein <mitz@apple.com>
1133 Reviewed by John Sullivan.
1135 - WebCore part of tracking the global history item for a WebView
1137 * loader/FrameLoader.cpp:
1138 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Set the page's
1139 global history item to the current back/forward list item, respecting
1140 private browsing mode.
1141 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto in this
1143 (WebCore::FrameLoader::goToItem): Ditto in this case.
1144 (WebCore::FrameLoader::updateHistoryForStandardLoad): If this load
1145 creates a new global history item, set the page's global history item
1147 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
1150 (WebCore::Page::setGlobalHistoryItem): Added this setter.
1151 * page/Page.h: Added a m_globalHistoryItem data member.
1152 (WebCore::Page::globalHistoryItem): Added this getter.
1154 2008-12-08 Antti Koivisto <antti@apple.com>
1156 Reviewed by Dave Kilzer.
1158 A few stylistic fixes suggested by Dave Kilzer.
1160 * css/CSSPrimitiveValue.cpp:
1161 (WebCore::CSSPrimitiveValue::createIdentifier):
1162 (WebCore::CSSPrimitiveValue::create):
1164 2008-12-08 Alexey Proskuryakov <ap@webkit.org>
1166 Reviewed by Darin Adler.
1168 https://bugs.webkit.org/show_bug.cgi?id=22737
1169 Try debug version when locating CFNetwork
1171 * platform/network/cf/ResourceRequestCFNet.cpp:
1172 (WebCore::findCFNetworkModule):
1173 (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
1174 (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
1175 * platform/network/win/CookieJarCFNetWin.cpp:
1176 (WebCore::findCFNetworkModule):
1177 (WebCore::findIsHTTPOnlyFunction):
1179 2008-12-08 Aaron Boodman <aa@chromium.org>
1181 Reviewed by Stephanie Lewis.
1183 https://bugs.webkit.org/show_bug.cgi?id=22301
1184 Make dispatchDidFinishLoading() always fire before didFinishLoadForFrame().
1186 * loader/FrameLoader.cpp:
1187 (WebCore::FrameLoader::finishedParsing):
1189 2008-12-08 Trenton Schulz <trenton.schulz@nokia.com>
1191 Rubber-stamped by Tor Arne Vestbø.
1193 Fix build warning on Mac
1195 * platform/text/mac/StringImplMac.mm:
1197 2008-12-08 Simon Hausmann <simon.hausmann@nokia.com>
1201 * bridge/qt/qt_runtime.cpp:
1202 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData to RegExp
1205 2008-12-08 Oliver Hunt <oliver@apple.com>
1207 Reviewed by Alexey Proskuryakov.
1209 Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler
1210 <rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398)
1212 This regression was caused by r39059 replacing the protector on the active
1213 animation with a protector on just the composition. It turns out that both
1214 protectors are necessary.
1216 Test: transitions/transition-duration-cleared-in-transitionend-crash.html
1218 * page/animation/AnimationBase.cpp:
1219 (WebCore::AnimationBase::animationTimerCallbackFired):
1221 2008-12-08 Dmitry Titov <dimich@chromium.org>
1223 Reviewed by Alexey Proskuryakov.
1225 https://bugs.webkit.org/show_bug.cgi?id=22732
1226 Remove unused files PausedTimeouts.h,.cpp
1227 The change that deprecated this code was https://bugs.webkit.org/show_bug.cgi?id=22620
1232 * WebCore.vcproj/WebCore.vcproj:
1233 * WebCore.xcodeproj/project.pbxproj:
1234 * WebCoreSources.bkl:
1235 These are build files which had PausedTimeouts referenced.
1237 * bindings/js/PausedTimeouts.cpp: Removed.
1238 * bindings/js/PausedTimeouts.h: Removed.
1239 * bindings/js/ScriptController.cpp: Removed '#include'
1240 * page/Chrome.cpp: Removed '#include' and unused variable.
1242 2008-12-07 Simon Fraser <simon.fraser@apple.com>
1244 Reviewed by Dan Bernstein
1246 https://bugs.webkit.org/show_bug.cgi?id=22594
1248 Fix issues which break reading inline style for -webkit-transition
1249 and -webkit-transform-origin.
1251 Test: fast/css/transform-inline-style.html
1253 * css/CSSMutableStyleDeclaration.cpp:
1254 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases
1255 for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition
1256 so that these shorthand properties are returned correctly.
1257 * css/CSSParser.cpp:
1258 (WebCore::CSSParser::parseAnimationProperty): Create CSSPrimitiveValues
1259 with the correct CSSValueAll and CSSValueNone identifiers, not the
1260 RenderStyle-level cAnimateAll, cAnimateNone.
1261 * css/CSSStyleSelector.cpp:
1262 (WebCore::CSSStyleSelector::mapAnimationProperty): Special-case CSSValueAll
1263 and CSSValueNone values to set cAnimateAll and cAnimateNone transition properties.
1265 2008-12-07 Antti Koivisto <antti@apple.com>
1267 Reviewed by Darin Adler.
1269 https://bugs.webkit.org/show_bug.cgi?id=22717
1270 Make CSS values use less memory
1272 Share CSSPrimitiveValue objects for commonly used values including
1277 This reduces the amount CSSPrimitiveValue instances by > 80%.
1279 * css/CSSPrimitiveValue.cpp:
1280 (WebCore::CSSPrimitiveValue::createIdentifier):
1281 (WebCore::CSSPrimitiveValue::createColor):
1282 (WebCore::CSSPrimitiveValue::create):
1283 * css/CSSPrimitiveValue.h:
1284 (WebCore::CSSPrimitiveValue::create):
1286 2008-12-07 Antti Koivisto <antti@apple.com>
1288 Reviewed by Darin Adler.
1290 https://bugs.webkit.org/show_bug.cgi?id=22717
1291 Make CSS values use less memory
1293 Get CSSValues off from the common StyleBase base class. They don't
1294 need a parent pointer or anything else there and there is no real
1295 reason to have them in same data structures with other CSSOM objects.
1297 Disabled (instead of refactoring around the lack of common base) the ability
1298 to have style declaration blocks as CSS variable values. They don't exist in
1299 the spec so I wasn't sure if they have future or not. It would not be hard to
1300 get them back. CSS variables are in any case an experimental feature and
1301 not enabled by default.
1303 * css/CSSInitialValue.h:
1304 (WebCore::CSSInitialValue::createExplicit):
1305 (WebCore::CSSInitialValue::createImplicit):
1306 * css/CSSParser.cpp:
1307 (WebCore::CSSParser::addVariableDeclarationBlock):
1310 (WebCore::CSSValue::~CSSValue):
1311 (WebCore::CSSValue::parserValue):
1312 * css/CSSVariablesDeclaration.cpp:
1313 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
1314 (WebCore::CSSVariablesDeclaration::getVariableValue):
1315 (WebCore::CSSVariablesDeclaration::removeVariable):
1316 (WebCore::CSSVariablesDeclaration::addParsedVariable):
1317 (WebCore::CSSVariablesDeclaration::getParsedVariable):
1318 (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock):
1319 * css/CSSVariablesDeclaration.h:
1320 (WebCore::CSSVariablesDeclaration::create):
1323 2008-12-07 Dirk Schulze <krit@webkit.org>
1325 Reviewed by Oliver Hunt.
1327 Add gradient and pattern support for strokeRect on canvas/Cg.
1329 Canvas strokeRect() doesn't support gradients
1330 https://bugs.webkit.org/show_bug.cgi?id=19790
1332 Test: fast/canvas/canvas-strokeRect.html
1334 * platform/graphics/cg/GraphicsContextCG.cpp:
1335 (WebCore::GraphicsContext::strokeRect):
1337 2008-12-06 Dirk Schulze <krit@webkit.org>
1339 Reviewed by Oliver Hunt.
1341 Add support for setTransform() in canvas.
1343 <canvas> lacks transform() and setTransform()
1344 https://bugs.webkit.org/show_bug.cgi?id=16604
1346 Test: fast/canvas/canvas-setTransform.html
1348 * html/CanvasRenderingContext2D.cpp:
1349 (WebCore::CanvasRenderingContext2D::State::State):
1350 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
1351 (WebCore::CanvasRenderingContext2D::setFillStyle):
1352 (WebCore::CanvasRenderingContext2D::scale):
1353 (WebCore::CanvasRenderingContext2D::rotate):
1354 (WebCore::CanvasRenderingContext2D::translate):
1355 (WebCore::CanvasRenderingContext2D::transform):
1356 (WebCore::CanvasRenderingContext2D::setTransform):
1357 (WebCore::CanvasRenderingContext2D::beginPath):
1358 (WebCore::CanvasRenderingContext2D::closePath):
1359 (WebCore::CanvasRenderingContext2D::moveTo):
1360 (WebCore::CanvasRenderingContext2D::lineTo):
1361 (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
1362 (WebCore::CanvasRenderingContext2D::bezierCurveTo):
1363 (WebCore::CanvasRenderingContext2D::arcTo):
1364 (WebCore::CanvasRenderingContext2D::arc):
1365 (WebCore::CanvasRenderingContext2D::rect):
1366 (WebCore::CanvasRenderingContext2D::fill):
1367 (WebCore::CanvasRenderingContext2D::stroke):
1368 (WebCore::CanvasRenderingContext2D::clip):
1369 (WebCore::CanvasRenderingContext2D::isPointInPath):
1370 (WebCore::CanvasRenderingContext2D::clearRect):
1371 (WebCore::CanvasRenderingContext2D::fillRect):
1372 (WebCore::CanvasRenderingContext2D::strokeRect):
1373 (WebCore::CanvasRenderingContext2D::drawImage):
1374 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1375 (WebCore::CanvasRenderingContext2D::willDraw):
1376 (WebCore::CanvasRenderingContext2D::drawTextInternal):
1377 * html/CanvasRenderingContext2D.h:
1378 * html/CanvasRenderingContext2D.idl:
1379 * html/HTMLCanvasElement.cpp:
1380 (WebCore::HTMLCanvasElement::baseTransform):
1381 * html/HTMLCanvasElement.h:
1382 * platform/graphics/ImageBuffer.h:
1383 (WebCore::ImageBuffer::baseTransform):
1385 2008-12-06 Antti Koivisto <antti@apple.com>
1387 Reviewed by Darin Adler.
1389 Also copy m_implicit field. Darin wanted this change commited separately.
1391 * css/CSSProperty.h:
1392 (WebCore::CSSProperty::operator=):
1394 2008-12-06 Antti Koivisto <antti@apple.com>
1396 Reviewed by Darin Adler.
1398 https://bugs.webkit.org/show_bug.cgi?id=22379
1399 Make CSSOM use less memory
1401 Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration.
1403 Taught setter functions to use existing slots to avoid memory moves, plus some
1404 other optimizations.
1406 * WebCore.xcodeproj/project.pbxproj:
1407 * css/CSSMutableStyleDeclaration.cpp:
1408 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1409 (WebCore::CSSMutableStyleDeclaration::operator=):
1410 (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
1411 (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
1412 (WebCore::CSSMutableStyleDeclaration::removeProperty):
1413 (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
1414 (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
1415 (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
1416 (WebCore::CSSMutableStyleDeclaration::setProperty):
1417 (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
1418 (WebCore::CSSMutableStyleDeclaration::setStringProperty):
1419 (WebCore::CSSMutableStyleDeclaration::setImageProperty):
1420 (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
1421 (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
1422 (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
1423 (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
1424 (WebCore::CSSMutableStyleDeclaration::length):
1425 (WebCore::CSSMutableStyleDeclaration::item):
1426 (WebCore::CSSMutableStyleDeclaration::cssText):
1427 (WebCore::CSSMutableStyleDeclaration::setCssText):
1428 (WebCore::CSSMutableStyleDeclaration::merge):
1429 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1430 (WebCore::CSSMutableStyleDeclaration::copy):
1431 (WebCore::CSSMutableStyleDeclaration::findPropertyWithId):
1432 * css/CSSMutableStyleDeclaration.h:
1433 (WebCore::CSSMutableStyleDeclarationConstIterator::operator*):
1434 (WebCore::CSSMutableStyleDeclarationConstIterator::operator->):
1435 (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=):
1436 (WebCore::CSSMutableStyleDeclarationConstIterator::operator==):
1437 (WebCore::CSSMutableStyleDeclaration::create):
1438 (WebCore::CSSMutableStyleDeclaration::begin):
1439 (WebCore::CSSMutableStyleDeclaration::end):
1440 (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator):
1441 (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator):
1442 (WebCore::CSSMutableStyleDeclarationConstIterator::operator=):
1443 (WebCore::CSSMutableStyleDeclarationConstIterator::operator++):
1444 (WebCore::CSSMutableStyleDeclarationConstIterator::operator--):
1445 * css/CSSProperty.h:
1447 * css/CSSStyleDeclaration.cpp:
1448 (WebCore::CSSStyleDeclaration::diff):
1449 (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
1450 * css/CSSStyleSelector.cpp:
1451 (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
1452 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
1453 (WebCore::CSSStyleSelector::applyDeclarations):
1454 * dom/EventTarget.h:
1455 * editing/ApplyStyleCommand.cpp:
1456 (WebCore::StyleChange::init):
1457 (WebCore::ApplyStyleCommand::isHTMLStyleNode):
1458 (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
1459 (WebCore::ApplyStyleCommand::removeCSSStyle):
1460 * editing/Editor.cpp:
1461 (WebCore::Editor::selectionStartHasStyle):
1462 (WebCore::updateState):
1463 * editing/ReplaceSelectionCommand.cpp:
1464 (WebCore::ReplaceSelectionCommand::handleStyleSpans):
1465 * editing/markup.cpp:
1466 (WebCore::appendStartMarkup):
1468 2008-12-06 Simon Fraser <simon.fraser@apple.com>
1470 Reviewed by Antti Koivisto, Dan Bernstein
1472 https://bugs.webkit.org/show_bug.cgi?id=22088
1474 Fix logic related to repainting when transform changes:
1475 If an object has a layer, and the transform changes, then we need
1476 to do a repaintIncludingDescendants(), not just a repaint.
1478 Test: fast/repaint/transform-repaint-descendants.html
1480 * rendering/RenderObject.cpp:
1481 (WebCore::RenderObject::styleWillChange):
1483 2008-12-06 Simon Fraser <simon.fraser@apple.com>
1485 Reviewed by Dan Bernstein
1487 https://bugs.webkit.org/show_bug.cgi?id=15739
1489 When painting the selection on a replaced element, paint
1490 using local coordinates so that the selection is correctly
1491 painted for transformed elements.
1493 Test: fast/replaced/selection-rect-transform.html
1495 * rendering/RenderReplaced.cpp:
1496 (WebCore::RenderReplaced::paint):
1498 2008-12-06 Simon Fraser <simon.fraser@apple.com>
1500 Reviewed by Dave Hyatt
1502 https://bugs.webkit.org/show_bug.cgi?id=15671
1504 Fix caret rendering to behave correctly with transforms:
1505 * Rename caretRect() methods to localCaretRect() and
1506 absoluteCaretBounds() as appropriate
1507 * Fix localCaretRect() methods to return a rect in the
1508 appropriate coordinates.
1509 * Pass tx, ty down through the paintCaret() methods, after fixing them
1510 up to account for differences between contents coords, and renderer-local
1511 coords (via RenderBlock::offsetForContents()).
1512 * Remove m_caretPositionOnLayout from SelectionController, and instead
1513 call invalidateSelection() from RenderLayer::scrollToOffset(), because
1514 we can no longer assume simple x/y offsets from scrolling with transforms.
1515 * Move the logic to compute which RenderObject actually paints the caret into
1516 SelectionController::caretRenderer(), rather than having it in RenderBlock.
1517 * SelectionController now computes and caches a local caret rect. For invalidation,
1518 it computes the absolute bounds of that (possibly transformed) local rect.
1519 The local rect is computed in the coordinate system of the RenderObject that
1520 will paint the caret (this may require offsetting from the actual renderer
1521 at the start of the selection).
1522 * Fix LayoutState(RenderObject* root) to take transforms into account
1523 * Make offsetFromContainer() a virtual method on RenderObject, and implement
1524 the RenderObject version. It's used to map from selection start renderer
1527 Test: fast/transforms/transformed-caret.html
1530 * editing/DeleteSelectionCommand.cpp:
1531 (WebCore::DeleteSelectionCommand::mergeParagraphs):
1532 * editing/SelectionController.cpp:
1533 (WebCore::SelectionController::SelectionController):
1534 (WebCore::absoluteCaretY):
1535 (WebCore::SelectionController::modify):
1536 (WebCore::SelectionController::xPosForVerticalArrowNavigation):
1537 (WebCore::SelectionController::layout):
1538 (WebCore::SelectionController::caretRenderer):
1539 (WebCore::SelectionController::localCaretRect):
1540 (WebCore::SelectionController::absoluteCaretBounds):
1541 (WebCore::SelectionController::caretRepaintRect):
1542 (WebCore::SelectionController::recomputeCaretRect):
1543 (WebCore::SelectionController::invalidateCaretRect):
1544 (WebCore::SelectionController::paintCaret):
1545 (WebCore::SelectionController::caretRendersInsideNode):
1546 * editing/SelectionController.h:
1547 * editing/VisiblePosition.cpp:
1548 (WebCore::VisiblePosition::localCaretRect):
1549 (WebCore::VisiblePosition::absoluteCaretBounds):
1550 (WebCore::VisiblePosition::xOffsetForVerticalNavigation):
1551 * editing/VisiblePosition.h:
1552 * editing/mac/SelectionControllerMac.mm:
1553 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1554 * html/HTMLElement.cpp:
1555 (WebCore::HTMLElement::isContentEditable):
1556 * page/AccessibilityRenderObject.cpp:
1557 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
1559 (WebCore::Frame::firstRectForRange):
1560 (WebCore::Frame::selectionLayoutChanged):
1561 (WebCore::Frame::paintCaret):
1562 (WebCore::Frame::paintDragCaret):
1563 (WebCore::Frame::revealSelection):
1564 (WebCore::Frame::revealCaret):
1566 * rendering/LayoutState.cpp:
1567 (WebCore::LayoutState::LayoutState):
1568 * rendering/RenderBlock.cpp:
1569 (WebCore::RenderBlock::paintCaret):
1570 (WebCore::RenderBlock::paintObject):
1571 (WebCore::RenderBlock::positionForCoordinates):
1572 (WebCore::RenderBlock::offsetForContents):
1573 * rendering/RenderBlock.h:
1574 * rendering/RenderBox.cpp:
1575 (WebCore::RenderBox::localCaretRect):
1576 * rendering/RenderBox.h:
1577 * rendering/RenderFlow.cpp:
1578 (WebCore::RenderFlow::localCaretRect):
1579 * rendering/RenderFlow.h:
1580 * rendering/RenderLayer.cpp:
1581 (WebCore::RenderLayer::scrollToOffset):
1582 * rendering/RenderObject.cpp:
1583 (WebCore::RenderObject::localCaretRect):
1584 * rendering/RenderObject.h:
1585 * rendering/RenderSVGInlineText.cpp:
1586 (WebCore::RenderSVGInlineText::localCaretRect):
1587 * rendering/RenderSVGInlineText.h:
1588 * rendering/RenderText.cpp:
1589 (WebCore::RenderText::RenderText):
1590 (WebCore::RenderText::localCaretRect):
1591 * rendering/RenderText.h:
1593 2008-12-06 David Kilzer <ddkilzer@apple.com>
1595 Bug 22711: Current svn (build 39065) fails to compile
1597 <https://bugs.webkit.org/show_bug.cgi?id=22711>
1599 BUILD FIX for r39065: Forgot parentheses after "document".
1601 Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
1602 <https://bugs.webkit.org/show_bug.cgi?id=22666>
1604 * svg/SVGFEImageElement.cpp:
1605 (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed
1606 document to document().
1608 2008-12-06 Dmitry Titov <dimich@chromium.org>
1610 Reviewed by Alexey Proskuryakov.
1612 https://bugs.webkit.org/show_bug.cgi?id=22710
1613 Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document
1615 * bindings/js/DOMTimer.cpp:
1616 (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object.
1618 2008-12-06 David Kilzer <ddkilzer@apple.com>
1620 Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
1622 <https://bugs.webkit.org/show_bug.cgi?id=22666>
1624 Reviewed by Darin Adler.
1626 When creating a webarchive from WebCore::LegacyWebArchive::create(),
1627 HashSet<String>, Vector<KURL> and Vector<String> were all used to
1628 store a list of URLs for resources found in the document. Instead
1629 use a single ListHashSet<KURL> to store the list and resolve the
1630 relative URLs as they're added. We use a new inline method called
1631 WebCore::addSubresourceURL() to add KURL objects to the ListHashSet
1632 to prevent "null" KURL objects from crashing in the KURL hashing
1635 * WebCore.base.exp: Changed export of
1636 WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL>
1637 argument instead of a Vector<KURL>.
1639 * WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private
1640 header for use in WebKit.
1642 * css/CSSStyleSheet.cpp:
1643 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from
1644 addSubresourceURLStrings(). Changed to use ListHashSet<KURL>
1645 instead of HashSet<String>. Cleaned up code.
1646 * css/CSSStyleSheet.h:
1647 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto.
1649 (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto.
1652 (WebCore::Node::getSubresourceURLs): Changed to use
1653 ListHashSet<KURL> instead of Vector<KURL>. Cleaned up code.
1655 (WebCore::Node::getSubresourceURLs): Ditto.
1656 (WebCore::Node::addSubresourceAttributeURLs): Renamed from
1657 getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL>
1658 instead of Vector<String>.
1659 (WebCore::addSubresourceURL): Added. Safely adds new KURL objects
1660 to a ListHashSet<KURL> object. A "null" KURL object will cause the
1661 hash function to crash since it contains a null StringImpl. Used in
1662 Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in
1663 the style subsystem.
1665 * dom/ProcessingInstruction.cpp:
1666 (WebCore::ProcessingInstruction::addSubresourceAttributeURLs):
1667 Renamed from getSubresourceAttributeStrings(). Changed to use
1668 ListHashSet<KURL> instead of Vector<String>. Use
1669 WebCore::addSubresourceURL() to add new KURL objects.
1670 * dom/ProcessingInstruction.h: Ditto.
1671 * html/HTMLBodyElement.cpp:
1672 (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto.
1673 * html/HTMLBodyElement.h: Ditto.
1674 * html/HTMLEmbedElement.cpp:
1675 (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
1676 * html/HTMLEmbedElement.h: Ditto.
1677 * html/HTMLImageElement.cpp:
1678 (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
1679 * html/HTMLImageElement.h: Ditto.
1680 * html/HTMLInputElement.cpp:
1681 (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
1682 * html/HTMLInputElement.h: Ditto.
1683 * html/HTMLLinkElement.cpp:
1684 (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
1685 * html/HTMLLinkElement.h: Ditto.
1686 * html/HTMLObjectElement.cpp:
1687 (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
1688 * html/HTMLObjectElement.h: Ditto.
1689 * html/HTMLParamElement.cpp:
1690 (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
1691 * html/HTMLParamElement.h: Ditto.
1692 * html/HTMLScriptElement.cpp:
1693 (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
1694 * html/HTMLScriptElement.h: Ditto.
1695 * html/HTMLStyleElement.cpp:
1696 (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
1697 * html/HTMLStyleElement.h: Ditto.
1698 * html/HTMLTableCellElement.cpp:
1699 (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
1700 * html/HTMLTableCellElement.h: Ditto.
1701 * html/HTMLTableElement.cpp:
1702 (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
1703 * html/HTMLTableElement.h: Ditto.
1705 * loader/archive/cf/LegacyWebArchive.cpp:
1706 (WebCore::LegacyWebArchive::create): Changed from using
1707 HashSet<String> to ListHashSet<KURL> for tracking unique
1708 subresources. Changed from using Vector<KURL> to ListHashSet<KURL>
1709 when calling WebCore::Node::getSubresourceURLs(). Cleaned up code.
1711 * svg/SVGCursorElement.cpp:
1712 (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed
1713 from getSubresourceAttributeStrings(). Changed to use
1714 ListHashSet<KURL> instead of Vector<String>. Use
1715 WebCore::addSubresourceURL() to add new KURL objects.
1716 * svg/SVGCursorElement.h: Ditto.
1717 * svg/SVGFEImageElement.cpp:
1718 (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
1719 * svg/SVGFEImageElement.h: Ditto.
1720 * svg/SVGImageElement.cpp:
1721 (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
1722 * svg/SVGImageElement.h: Ditto.
1723 * svg/SVGScriptElement.cpp:
1724 (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
1725 * svg/SVGScriptElement.h: Ditto.
1727 2008-12-05 Brett Wilson <brettw@chromium.org>
1729 Reviewed by Darin Adler.
1731 Make the page group use the proper link hashing functions rather than
1732 calling the string hash functions directly. Add Chromium-specfic ifdefs
1733 in the visited link computation functions to allow integration.
1735 * page/PageGroup.cpp:
1736 (WebCore::PageGroup::isLinkVisited):
1737 (WebCore::PageGroup::addVisitedLink):
1738 * platform/LinkHash.cpp:
1739 (WebCore::visitedLinkHash):
1740 * platform/LinkHash.h:
1742 2008-12-05 Chris Marrin <cmarrin@apple.com>
1744 Reviewed by Dave Hyatt.
1746 Fix for https://bugs.webkit.org/show_bug.cgi?id=22635
1747 For iteration and end events, previous fixes to prevent the deletion of
1748 Animation objects (ref counting and hanging onto a ref during event callbacks)
1749 was sufficient to prevent dangling pointers. But start events are sent in
1750 the styleAvailable() call, which iterates over CompositeAnimation objects,
1751 which are not ref counted. So that object can get destroyed in the event
1752 handler while still active. So I added refcounting for CompositeAnimations.
1754 Additionally, when am iterating over the CompositingAnimation list, it can
1755 be deleted, which mutates the list. So I now make one pass over the list
1756 building a vector of CompositeAnimation objects that need to be called and
1757 then iterate over that vector to make the actual calls.
1759 Finally, to make sure the lifetime of the CompositeAnimation exceeds that of
1760 the Animation objects it owns, I now keep a ref to the CompositeAnimation
1761 in the timer callback for the iteration and end events. That means I no
1762 longer need to keep a ref to the Animation objects themselves in that timer
1763 callback, since the CompositeAnimation already has one.
1765 Tests: animations/animation-iteration-event-destroy-renderer.html
1766 animations/animation-start-event-destroy-renderer.html
1768 * page/animation/AnimationBase.cpp:
1769 (WebCore::AnimationBase::updateStateMachine):
1770 (WebCore::AnimationBase::animationTimerCallbackFired):
1771 * page/animation/AnimationController.cpp:
1772 (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
1773 (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
1774 (WebCore::AnimationControllerPrivate::clear):
1775 (WebCore::AnimationControllerPrivate::styleAvailable):
1776 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1777 (WebCore::AnimationControllerPrivate::animationTimerFired):
1778 (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
1779 (WebCore::AnimationControllerPrivate::suspendAnimations):
1780 (WebCore::AnimationControllerPrivate::resumeAnimations):
1781 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
1782 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
1783 (WebCore::AnimationController::updateAnimations):
1784 (WebCore::AnimationController::setAnimationStartTime):
1785 (WebCore::AnimationController::setTransitionStartTime):
1786 * page/animation/CompositeAnimation.cpp:
1787 (WebCore::CompositeAnimationPrivate::animationController):
1788 (WebCore::CompositeAnimationPrivate::isWaitingForStyleAvailable):
1789 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
1790 (WebCore::CompositeAnimationPrivate::clearRenderer):
1791 (WebCore::CompositeAnimation::clearRenderer):
1792 (WebCore::CompositeAnimation::animationController):
1793 (WebCore::CompositeAnimation::isWaitingForStyleAvailable):
1794 * page/animation/CompositeAnimation.h:
1795 (WebCore::CompositeAnimation::create):
1797 2008-12-05 David Kilzer <ddkilzer@apple.com>
1799 Bug 22609: Provide a build-time choice when generating hash tables for properties of built-in DOM objects
1801 <https://bugs.webkit.org/show_bug.cgi?id=22609>
1802 <rdar://problem/6331749>
1804 Reviewed by Darin Adler.
1806 Initial patch by Yosen Lin. Adapted for ToT WebKit by David Kilzer.
1808 Added back the code that generates a "compact" hash (instead of a
1809 perfect hash) as a build-time option using the
1810 ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h.
1812 * bindings/scripts/CodeGeneratorJS.pm:
1813 (GenerateImplementation): Compute the number of elements that will
1814 be stored in each hash table and pass it to GenerateHashTable().
1815 (GenerateHashTable): Added new second parameter representing the
1816 number of elements to store in the compact hash table. Added back
1817 code to compute compact hash tables. Generate both hash table sizes
1818 and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
1820 2008-12-05 Brett Wilson <brettw@chromium.org>
1822 Fix build bustage from previous patch.
1824 * css/CSSSelector.h:
1826 2008-12-05 Brett Wilson <brettw@chromium.org>
1828 Reviewed by Eric Seidel.
1830 Add a missing include for OwnPtr to make CSSSelector compile without
1831 precompiled headers.
1833 * css/CSSSelector.h:
1835 2008-12-05 Finnur Thorarinsson <finnur.webkit@gmail.com>
1837 Reviewed by Darin Adler.
1839 Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks
1840 without relying on high-level WebCore types, as requested by Dave Hyatt.
1842 No functional changes, thus no test cases.
1844 * page/FrameView.cpp:
1845 (WebCore::FrameView::getTickmarks):
1847 * platform/ScrollbarClient.h:
1849 2008-12-05 Dean Jackson <dino@apple.com>
1851 Reviewed by David Hyatt.
1853 Make sure Window event listeners also tell the
1854 Document about the event type, so noisy events
1855 will be dispatched even if nothing in the document
1857 https://bugs.webkit.org/show_bug.cgi?id=20572
1860 (WebCore::Document::addWindowEventListener):
1862 2008-12-05 Adam Roben <aroben@apple.com>
1864 Windows build fix after r39026
1866 * platform/network/cf/ResourceRequestCFNet.cpp:
1867 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1868 (WebCore::ResourceRequest::doUpdateResourceRequest):
1869 Add some missing .get()s.
1871 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
1875 * platform/network/mac/ResourceRequestMac.mm: Define NSUInteger.
1877 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
1879 Reviewed by Darin Adler.
1881 <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
1882 in Safari before opening a mail message in Mail
1884 * platform/mac/WebCoreObjCExtras.mm:
1885 (WebCoreObjCFinalizeOnMainThread):
1886 Don't call initializeThreading: we now expect the caller to do it, to simplify keeping
1887 Tiger and post-Tiger behavior in line.
1889 * bindings/objc/DOMRGBColor.mm:
1890 (+[DOMRGBColor initialize]):
1891 * bindings/objc/WebScriptObject.mm:
1892 (+[WebScriptObject initialize]):
1893 * page/mac/AccessibilityObjectWrapper.mm:
1894 (+[AccessibilityObjectWrapper initialize]):
1895 * platform/mac/SharedBufferMac.mm:
1896 (+[WebCoreSharedBufferData initialize]):
1897 Call JSC::initializeThreading();
1899 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
1901 Reviewed by Darin Adler.
1903 <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
1905 * platform/network/ResourceRequestBase.cpp:
1906 (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
1907 * platform/network/ResourceRequestBase.h:
1908 * platform/network/cf/ResourceRequestCFNet.cpp:
1909 (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
1910 (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
1911 (WebCore::setContentDispositionEncodingFallbackArray):
1912 (WebCore::copyContentDispositionEncodingFallbackArray):
1913 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1914 (WebCore::ResourceRequest::doUpdateResourceRequest):
1915 * platform/network/mac/ResourceRequestMac.mm:
1916 (WebCore::ResourceRequest::doUpdateResourceRequest):
1917 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1918 Added a way to specify encoding fallback list for Content-Disposition header.
1920 * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and
1921 pass a list of encodings to try when decoding Content-Disposition header, as described
1924 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
1926 Reviewed by Darin Adler.
1928 https://bugs.webkit.org/show_bug.cgi?id=22672
1929 ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout
1931 Test: http/tests/xmlhttprequest/send-on-abort.html
1933 * dom/ScriptExecutionContext.cpp:
1934 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
1935 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
1936 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
1937 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
1938 Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS.
1940 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This
1941 reverts a recent change that made the behavior slightly closer to Firefox - but the
1942 compatibility effect should be very minor if any, and Firefox itself behaves inconsistently.
1944 2008-12-05 Tobias König <tobias.koenig@nokia.com>
1946 Reviewed by Simon Hausmann.
1948 Record required package dependencies for the Qt build for a correct
1953 2008-12-05 Tor Arne Vestbø <tavestbo@trolltech.com>
1955 Rubber-stamped by Simon Hausmann.
1957 [Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model
1959 * plugins/mac/PluginPackageMac.cpp:
1960 (WebCore::PluginPackage::fetchInfo):
1961 (WebCore::PluginPackage::isPluginBlacklisted):
1963 2008-12-05 Jungshik Shin <jshin@chromium.org>
1965 Reviewed by Alexey Proskuryakov.
1967 https://bugs.webkit.org/show_bug.cgi?id=22472
1969 Revises charset alias map for TextCodecICU.
1970 - Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
1971 - Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
1972 - Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn
1973 mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly
1974 alias 'dos-874' to 'windows-874'.
1975 - Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name.
1976 Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by
1977 directly going to 'GBK'.
1978 - Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages.
1980 Tests: fast/encoding/char-decoding-mac.html
1981 fast/encoding/char-decoding.html
1983 * platform/text/TextCodecICU.cpp:
1984 (WebCore::TextCodecICU::registerExtendedEncodingNames):
1986 2008-12-04 Kevin Watters <kevinwatters@gmail.com>
1988 Reviewed by Kevin Ollivier.
1990 Add a MIME mapping for the .htm extension to wx and GTK ports.
1992 https://bugs.webkit.org/show_bug.cgi?id=22668
1994 * platform/gtk/MIMETypeRegistryGtk.cpp:
1996 * platform/wx/MimeTypeRegistryWx.cpp:
1999 2008-12-04 Kevin Watters <kevinwatters@gmail.com>
2001 Reviewed by Kevin Ollivier.
2003 Implement basic text paste support in wx and add notImplemented stubs
2004 to catch other methods.
2006 https://bugs.webkit.org/show_bug.cgi?id=22667
2008 * platform/wx/PasteboardWx.cpp:
2009 (WebCore::Pasteboard::canSmartReplace):
2010 (WebCore::Pasteboard::plainText):
2011 (WebCore::Pasteboard::documentFragment):
2012 (WebCore::Pasteboard::writeImage):
2014 2008-12-04 Kevin Ollivier <kevino@theolliviers.com>
2016 wx build fix for !USE(WXGC) build config.
2018 * platform/graphics/wx/PathWx.cpp:
2019 (WebCore::Path::contains):
2020 (WebCore::Path::addLineTo):
2021 (WebCore::Path::addQuadCurveTo):
2022 (WebCore::Path::addBezierCurveTo):
2023 (WebCore::Path::addArcTo):
2024 (WebCore::Path::closeSubpath):
2025 (WebCore::Path::addArc):
2026 (WebCore::Path::addRect):
2027 (WebCore::Path::addEllipse):
2028 (WebCore::Path::transform):
2029 (WebCore::Path::apply):
2030 (WebCore::Path::isEmpty):
2032 2008-12-04 Kevin Watters <kevinwatters@gmail.com>
2034 Reviewed by Kevin Ollivier.
2036 Turn off styled controls until we can implement them properly.
2038 https://bugs.webkit.org/show_bug.cgi?id=22662
2040 * platform/wx/RenderThemeWx.cpp:
2041 (WebCore::RenderThemeWx::isControlStyled):
2043 2008-12-04 Kevin Watters <kevinwatters@gmail.com>
2045 Reviewed by Kevin Ollivier.
2047 wx implementations for Path API.
2049 https://bugs.webkit.org/show_bug.cgi?id=22661
2051 * platform/graphics/wx/PathWx.cpp:
2052 (WebCore::Path::~Path):
2053 (WebCore::Path::contains):
2054 (WebCore::Path::addLineTo):
2055 (WebCore::Path::addQuadCurveTo):
2056 (WebCore::Path::addBezierCurveTo):
2057 (WebCore::Path::addArcTo):
2058 (WebCore::Path::closeSubpath):
2059 (WebCore::Path::addArc):
2060 (WebCore::Path::addRect):
2061 (WebCore::Path::addEllipse):
2062 (WebCore::Path::transform):
2063 (WebCore::Path::isEmpty):
2065 2008-12-04 Julien Chaffraix <jchaffraix@webkit.org>
2067 Reviewed by Eric Seidel.
2069 Bug 22564: Make HTML elements' constructors take a QualifiedName
2070 https://bugs.webkit.org/show_bug.cgi?id=22564
2072 Updated the remaining constructors.
2074 * bindings/js/JSImageConstructor.cpp:
2075 (WebCore::constructImage):
2077 (WebCore::Document::getCSSCanvasElement):
2078 * editing/DeleteButton.cpp:
2079 (WebCore::DeleteButton::DeleteButton):
2080 * html/HTMLAppletElement.cpp:
2081 (WebCore::HTMLAppletElement::HTMLAppletElement):
2082 * html/HTMLAppletElement.h:
2083 * html/HTMLAreaElement.cpp:
2084 (WebCore::HTMLAreaElement::HTMLAreaElement):
2085 * html/HTMLAreaElement.h:
2086 * html/HTMLBaseFontElement.cpp:
2087 (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
2088 * html/HTMLBaseFontElement.h:
2089 * html/HTMLCanvasElement.cpp:
2090 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2091 * html/HTMLCanvasElement.h:
2092 * html/HTMLElementFactory.cpp:
2093 (WebCore::hrConstructor):
2094 (WebCore::paragraphConstructor):
2095 (WebCore::basefontConstructor):
2096 (WebCore::fontConstructor):
2097 (WebCore::anchorConstructor):
2098 (WebCore::imageConstructor):
2099 (WebCore::mapConstructor):
2100 (WebCore::areaConstructor):
2101 (WebCore::canvasConstructor):
2102 (WebCore::appletConstructor):
2103 (WebCore::embedConstructor):
2104 (WebCore::objectConstructor):
2105 (WebCore::paramConstructor):
2106 (WebCore::scriptConstructor):
2107 (WebCore::tableConstructor):
2108 (WebCore::tableCaptionConstructor):
2109 (WebCore::tableRowConstructor):
2110 * html/HTMLEmbedElement.cpp:
2111 (WebCore::HTMLEmbedElement::HTMLEmbedElement):
2112 * html/HTMLEmbedElement.h:
2113 * html/HTMLFontElement.cpp:
2114 (WebCore::HTMLFontElement::HTMLFontElement):
2115 * html/HTMLFontElement.h:
2116 * html/HTMLHRElement.cpp:
2117 (WebCore::HTMLHRElement::HTMLHRElement):
2118 * html/HTMLHRElement.h:
2119 * html/HTMLImageElement.cpp:
2120 (WebCore::HTMLImageElement::HTMLImageElement):
2121 * html/HTMLImageElement.h:
2122 * html/HTMLMapElement.cpp:
2123 (WebCore::HTMLMapElement::HTMLMapElement):
2124 * html/HTMLMapElement.h:
2125 * html/HTMLObjectElement.cpp:
2126 (WebCore::HTMLObjectElement::HTMLObjectElement):
2127 * html/HTMLObjectElement.h:
2128 * html/HTMLParagraphElement.cpp:
2129 (WebCore::HTMLParagraphElement::HTMLParagraphElement):
2130 * html/HTMLParagraphElement.h:
2131 * html/HTMLParamElement.cpp:
2132 (WebCore::HTMLParamElement::HTMLParamElement):
2133 * html/HTMLParamElement.h:
2134 * html/HTMLParser.cpp:
2135 (WebCore::HTMLParser::handleError):
2136 (WebCore::HTMLParser::mapCreateErrorCheck):
2137 (WebCore::HTMLParser::handleIsindex):
2138 * html/HTMLScriptElement.cpp:
2139 (WebCore::HTMLScriptElement::HTMLScriptElement):
2140 * html/HTMLScriptElement.h:
2141 * html/HTMLTableCaptionElement.cpp:
2142 (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
2143 * html/HTMLTableCaptionElement.h:
2144 * html/HTMLTableElement.cpp:
2145 (WebCore::HTMLTableElement::HTMLTableElement):
2146 (WebCore::HTMLTableElement::createCaption):
2147 (WebCore::HTMLTableElement::insertRow):
2148 * html/HTMLTableElement.h:
2149 * html/HTMLTableRowElement.cpp:
2150 (WebCore::HTMLTableRowElement::HTMLTableRowElement):
2151 * html/HTMLTableRowElement.h:
2152 * html/HTMLTableSectionElement.cpp:
2153 (WebCore::HTMLTableSectionElement::insertRow):
2154 * html/HTMLViewSourceDocument.cpp:
2155 (WebCore::HTMLViewSourceDocument::createContainingTable):
2156 (WebCore::HTMLViewSourceDocument::addLine):
2157 * loader/ImageDocument.cpp:
2158 (WebCore::ImageDocumentElement::ImageDocumentElement):
2160 2008-12-04 Eric Seidel <eric@webkit.org>
2162 No review, build fix only.
2164 Add file missing from last commit.
2166 * bindings/js/ScriptState.h: Added.
2168 2008-12-04 Dimitri Glazkov <dglazkov@chromium.org>
2170 Reviewed by Geoff Garen.
2172 Implement ScriptState abstraction (initially, a simple typedef)
2173 as means of carrying exception information across bindings boundaries
2174 and in a script engine-independent way.
2176 * WebCore.vcproj/WebCore.vcproj:
2177 * WebCore.xcodeproj/project.pbxproj:
2178 * bindings/js/JSDOMBinding.cpp:
2179 (WebCore::scriptStateFromNode):
2180 * bindings/js/JSDOMBinding.h:
2181 * bindings/js/JSNodeFilterCondition.h:
2182 * bindings/js/ScriptState.h: Added.
2183 * dom/NodeFilter.cpp:
2184 (WebCore::NodeFilter::acceptNode):
2186 (WebCore::NodeFilter::acceptNode):
2187 * dom/NodeFilterCondition.cpp:
2188 (WebCore::NodeFilterCondition::acceptNode):
2189 * dom/NodeFilterCondition.h:
2190 * dom/NodeIterator.cpp:
2191 (WebCore::NodeIterator::nextNode):
2192 (WebCore::NodeIterator::previousNode):
2193 * dom/NodeIterator.h:
2194 (WebCore::NodeIterator::nextNode):
2195 (WebCore::NodeIterator::previousNode):
2196 * dom/Traversal.cpp:
2197 (WebCore::Traversal::acceptNode):
2199 * dom/TreeWalker.cpp:
2200 (WebCore::TreeWalker::parentNode):
2201 (WebCore::TreeWalker::firstChild):
2202 (WebCore::TreeWalker::lastChild):
2203 (WebCore::TreeWalker::previousSibling):
2204 (WebCore::TreeWalker::nextSibling):
2205 (WebCore::TreeWalker::previousNode):
2206 (WebCore::TreeWalker::nextNode):
2208 (WebCore::TreeWalker::parentNode):
2209 (WebCore::TreeWalker::firstChild):
2210 (WebCore::TreeWalker::lastChild):
2211 (WebCore::TreeWalker::previousSibling):
2212 (WebCore::TreeWalker::nextSibling):
2213 (WebCore::TreeWalker::previousNode):
2214 (WebCore::TreeWalker::nextNode):
2216 2008-12-04 Pierre-Olivier Latour <pol@apple.com>
2218 Reviewed by Dan Bernstein.
2220 Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name
2221 and potential similar issue with pauseAnimationAtTimeOnElementWithId().
2223 https://bugs.webkit.org/show_bug.cgi?id=22641
2225 * page/animation/CompositeAnimation.cpp:
2226 (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
2227 (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
2229 2008-12-04 Dimitri Glazkov <dglazkov@chromium.org>
2231 Reviewed by Darin Adler.
2233 Remove unused Completion.h include.
2235 * html/CanvasRenderingContext2D.cpp: Removed Completion.h include.
2237 2008-11-13 David Hyatt <hyatt@apple.com>
2239 Fix a bug in ScrollView's refactoring. An isVisible check should have been isSelfVisible.
2241 Reviewed by Darin Adler
2243 * platform/ScrollView.cpp:
2244 (WebCore::ScrollView::setParentVisible):
2246 2008-12-04 Friedemann Kleint <friedemann.kleint@nokia.com>
2248 Reviewed by Tor Arne Vestbø.
2250 Fix small translation glitch in the Qt file chooser.
2252 * platform/qt/FileChooserQt.cpp:
2253 (WebCore::FileChooser::basenameForWidth):
2255 2008-12-04 Tor Arne Vestbø <tavestbo@trolltech.com>
2257 Rubber-stamped by Simon Hausmann.
2259 Blacklist Silverlight plugin on Qt/Mac until supported
2261 Currently the plugin crashes with a corrupted stack trace, possibly
2262 related to https://bugs.webkit.org/show_bug.cgi?id=20635
2264 * plugins/mac/PluginPackageMac.cpp:
2265 (WebCore::PluginPackage::fetchInfo):
2266 (WebCore::PluginPackage::isPluginBlacklisted):
2268 2008-12-03 Dmitry Titov <dimich@chromium.org>
2270 Reviewed by Alexey Proskuryakov.
2274 * page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2276 2008-12-03 David Levin <levin@chromium.org>
2278 Reviewed by Alexey Proskuryakov.
2280 Remove uses of document() in XMLHttpRequest where simple.
2281 https://bugs.webkit.org/show_bug.cgi?id=22619
2283 * xml/XMLHttpRequest.cpp:
2284 (WebCore::XMLHttpRequest::responseXML):
2285 Return NULL in the worker case which is according to spec (and avoids using document()).
2287 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2288 (WebCore::XMLHttpRequest::initSend):
2289 Use scriptExecutionContext() instead of document().
2291 2008-12-03 David Levin <levin@chromium.org>
2293 Reviewed by Alexey Proskuryakov.
2295 Make ScriptExecutionContextTaskWorkerTask::performTask a pure virtual function.
2296 https://bugs.webkit.org/show_bug.cgi?id=22642
2299 (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
2300 (WebCore::ScriptExecutionContextTaskTimer::fired):
2301 (WebCore::PerformTaskContext::PerformTaskContext):
2302 (WebCore::performTask):
2303 (WebCore::Document::postTask):
2305 * dom/ScriptExecutionContext.cpp:
2306 * dom/ScriptExecutionContext.h:
2307 * dom/WorkerContext.cpp:
2308 (WebCore::ScriptExecutionContextTaskWorkerTask::create):
2309 (WebCore::ScriptExecutionContextTaskWorkerTask::ScriptExecutionContextTaskWorkerTask):
2310 (WebCore::ScriptExecutionContextTaskWorkerTask::performTask):
2311 (WebCore::WorkerContext::postTask):
2312 * dom/WorkerContext.h:
2314 2008-12-03 Dmitry Titov <dimich@chromium.org>
2316 Reviewed by Alexey Proskuryakov.
2318 Using ActiveDOMObject as base class for DOMTimer.
2319 https://bugs.webkit.org/show_bug.cgi?id=22620
2321 Using ActiveDOMObject simplifies the code because ActiveDOMObject
2322 is wired for stop/pause/resume on loading/unloading/caching the page etc
2323 so the timer-specific code that does the same can be removed.
2324 In addition, timers can be now paused/resumed 'in place' which
2325 makes it unnecessary to 'serialize' them into special PausedTimeouts
2326 instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed.
2327 Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime
2328 of timeouts and makes it possible to not roundtrip them via PausedTimeouts
2329 every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache.
2331 Timeouts are now paused with other ActiveDOMObjects:
2332 - before creating CachedPage in FrameLoader::commitProvisionalLoad()
2333 - in JavaScriptDebugServer::setJavaScriptPaused
2334 - during modal UI operations in Chrome::*
2335 this is equivalent to previous usage of JSDOMWindowBase::pauseTimeouts()
2337 Timeouts are stopped to prevent future firing from:
2338 - FrameLoader::clear()
2339 - FrameLoader::frameDetached()
2340 this is equivalent to previous usage of JSDOMWindowBase::clearAllTimeouts()
2342 This is also one of the steps to having timers in Workers. See the plan of
2343 the next steps in the bug above.
2345 * bindings/js/DOMTimer.cpp:
2346 (WebCore::DOMTimer::DOMTimer):
2347 (WebCore::DOMTimer::fired):
2348 (WebCore::DOMTimer::hasPendingActivity):
2349 (WebCore::DOMTimer::contextDestroyed):
2350 (WebCore::DOMTimer::stop):
2351 (WebCore::DOMTimer::suspend):
2352 (WebCore::DOMTimer::resume):
2353 (WebCore::DOMTimer::canSuspend): Implemented ActiveDOMObject methods.
2355 * bindings/js/DOMTimer.h:
2356 * bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper
2357 (WebCore::markActiveObjectsForContext):
2359 * bindings/js/JSDOMWindowBase.cpp:
2360 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
2361 (WebCore::JSDOMWindowBase::clear):
2362 (WebCore::JSDOMWindowBase::installTimeout):
2363 (WebCore::JSDOMWindowBase::removeTimeout):
2364 (WebCore::JSDOMWindowBase::timerFired):
2365 (WebCore::JSDOMWindowBase::disconnectFrame):
2366 * bindings/js/JSDOMWindowBase.h:
2367 * bindings/js/ScriptController.cpp:
2368 * bindings/js/ScriptController.h:
2370 * dom/Document.cpp: Document now holds a hash map id->timeout
2371 (WebCore::Document::addTimeout):
2372 (WebCore::Document::removeTimeout):
2373 (WebCore::Document::findTimeout):
2375 * history/CachedPage.cpp:
2376 (WebCore::CachedPage::CachedPage):
2377 (WebCore::CachedPage::restore):
2378 (WebCore::CachedPage::clear):
2379 * history/CachedPage.h:
2380 * inspector/JavaScriptDebugServer.cpp:
2381 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
2382 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
2383 * inspector/JavaScriptDebugServer.h:
2385 * loader/FrameLoader.cpp:
2386 (WebCore::FrameLoader::commitProvisionalLoad):
2387 removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear();
2388 I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload'
2389 and then calls into client which can be external code and can cause any active object created in onunload
2390 to fire. We can stop them all before firing onunload but it does not make a lot of sense.
2391 I have a test to go with the next patch which verifies that timers set in onunload do not fire.
2393 (WebCore::FrameLoader::open):
2395 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2396 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2398 2008-12-03 Justin Garcia <justin.garcia@apple.com>
2400 Reviewed by Beth Dakin.
2402 <rdar://problem/6018653> Extra blank line when pasting paragraph in plain text
2404 In SnowLeopard, Mail occasionally adds an empty, unstyled paragraph at the
2405 end of pasted content so that users don't get stuck with non-standard pargraph
2406 spacing. This content threw off our handling of interchange newlines. Any interchange
2407 newline, regardless of it's position in the incoming fragment was considered to be
2408 "at the start" of the fragment, and would result in us inserting in a newline before
2409 inserted content. This patch makes the checks for interchange newlines more strict,
2410 and treats interchange newlines found elsewhere as normal <br>s.
2412 * editing/ReplaceSelectionCommand.cpp:
2413 (WebCore::ReplacementFragment::ReplacementFragment):
2414 (WebCore::ReplacementFragment::removeInterchangeNodes):
2415 * editing/VisiblePosition.cpp:
2416 (WebCore::VisiblePosition::init):
2417 (WebCore::VisiblePosition::canonicalPosition):
2418 * editing/VisiblePosition.h:
2420 2008-12-03 Eric Seidel <eric@webkit.org>
2422 Rubber-stamped by David Hyatt.
2424 Bring the WebCore chromium build a couple steps closer to building.
2428 2008-12-03 Kevin Ollivier <kevino@theolliviers.com>
2432 * WebCoreSources.bkl:
2434 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2436 Reviewed by George Staikos.
2438 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22636
2440 Implement WML variable substitution & validation.
2441 Created a framework for scriptable WML layout tests, that are able to test variable substiution & validation.
2443 Tests: wml/variable-reference-invalid-character.html
2444 wml/variable-reference-valid.html
2446 * wml/WMLVariables.cpp:
2447 (WebCore::isValidFirstVariableNameCharacter):
2448 (WebCore::isValidVariableNameCharacter):
2449 (WebCore::isValidVariableEscapingModeString):
2450 (WebCore::isValidVariableName):
2451 (WebCore::containsVariableReference):
2452 (WebCore::substituteVariableReferences):
2453 * wml/WMLVariables.h:
2455 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2457 Reviewed by Cameron Zwarich.
2459 Further preparations for WML layout tests.
2460 - Enable variable substitution in Text.cpp - if the parent is a WMLElement derived class.
2461 - Dump WMLMessageSource messages to the console, just like it's done for JSMessageSource
2462 - Add helper method in Document.idl, to reset the WML page state to a well-known default state.
2463 (will be used in the upcoming LayoutTests/wml testcases)
2466 (WebCore::Document::resetWMLPageState):
2470 (WebCore::Text::insertedIntoDocument):
2473 (WebCore::Console::addMessage):
2474 * wml/WMLPageState.h: Readd heper function
2475 (WebCore::WMLPageState::hasVariables):
2477 2008-12-03 Antti Koivisto <antti@apple.com>
2479 Reviewed by Sam Weinig.
2481 Don't leak selectors in case selector list parsing failed.
2484 * css/CSSParser.cpp:
2485 (WebCore::CSSParser::~CSSParser):
2487 2008-12-03 Chris Marrin <cmarrin@apple.com>
2489 Reviewed by Dave Hyatt.
2491 Fix https://bugs.webkit.org/show_bug.cgi?id=22520
2493 This is a regression (causes a crash of LayoutTests/animations/transform-animation-event-destroy-element.html).
2494 This patch fixes the testcase.
2496 This is another case of animations getting destroyed in the end animation callback and causing dangling
2497 pointers on return. This one involves iterating over the CompositeAnimation, which has been destroyed.
2498 So I now check for a null m_object pointer (which is nullified when the CompositeAnimation is destroyed)
2501 * page/animation/AnimationBase.cpp:
2502 (WebCore::AnimationBase::updateStateMachine):
2504 2008-12-03 Antti Koivisto <antti@apple.com>
2506 Reviewed by Darin Adler.
2508 https://bugs.webkit.org/show_bug.cgi?id=22379
2509 Make CSSOM use less memory
2511 Reduce size of the CSSSelector by one more pointer by using an array
2512 instead of a linked list to store them.
2514 * WebCore.xcodeproj/project.pbxproj:
2516 * css/CSSParser.cpp:
2517 (WebCore::CSSParser::CSSParser):
2518 (WebCore::CSSParser::parseSelector):
2519 (WebCore::CSSParser::createStyleRule):
2521 (WebCore::CSSParser::reusableSelectorVector):
2522 * css/CSSSelector.h:
2523 (WebCore::CSSSelector::CSSSelector):
2524 (WebCore::CSSSelector::~CSSSelector):
2525 (WebCore::CSSSelector::isLastInSelectorList):
2526 (WebCore::CSSSelector::setLastInSelectorList):
2527 * css/CSSStyleRule.cpp:
2528 (WebCore::CSSStyleRule::CSSStyleRule):
2529 (WebCore::CSSStyleRule::~CSSStyleRule):
2530 (WebCore::CSSStyleRule::selectorText):
2531 * css/CSSStyleRule.h:
2532 (WebCore::CSSStyleRule::adoptSelectorVector):
2533 (WebCore::CSSStyleRule::selectorList):
2534 * css/CSSStyleSelector.cpp:
2535 (WebCore::CSSRuleSet::addRulesFromSheet):
2537 (WebCore::forEachSelector):
2538 (WebCore::selectorNeedsNamespaceResolution):
2539 (WebCore::Node::querySelector):
2540 (WebCore::Node::querySelectorAll):
2541 * dom/SelectorNodeList.cpp:
2542 (WebCore::createSelectorNodeList):
2543 * dom/SelectorNodeList.h:
2545 2008-12-03 Alexey Proskuryakov <ap@webkit.org>
2547 Reviewed by Darin Adler.
2549 https://bugs.webkit.org/show_bug.cgi?id=22630
2550 Assertion failure in XMLHttpRequest::contextDestroyed
2552 Test: http/tests/xmlhttprequest/close-window.html
2554 * loader/FrameLoader.cpp:
2555 (WebCore::FrameLoader::clear):
2556 (WebCore::FrameLoader::commitProvisionalLoad):
2557 Move stopping active objects to clear(), so that closing a window is also covered.
2559 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::abort): Protect the object in abort(),
2560 because internalAbort() deref()'s.
2562 2008-12-03 Dean Jackson <dino@apple.com>
2564 Reviewed by Dan Bernstein.
2566 Implement CSS 3 <angle> turn unit and support it
2568 https://bugs.webkit.org/show_bug.cgi?id=22497
2571 * css/CSSParser.cpp:
2572 (WebCore::CSSParser::validUnit):
2573 (WebCore::unitFromString):
2574 (WebCore::CSSParser::lex):
2575 * css/CSSPrimitiveValue.cpp:
2576 (WebCore::CSSPrimitiveValue::cssText):
2577 (WebCore::CSSPrimitiveValue::parserValue):
2578 * css/CSSPrimitiveValue.h:
2579 (WebCore::CSSPrimitiveValue::):
2580 * css/CSSStyleSelector.cpp:
2581 (WebCore::CSSStyleSelector::createTransformOperations):
2582 * css/tokenizer.flex:
2584 2008-12-03 Dirk Schulze <krit@webkit.org>
2586 Reviewed by Nikolas Zimmermann.
2588 Make use of the gradient code in GraphicsContext and get rid of most of the
2589 platform dependent code.
2591 SVG should use the new Gradient support on GraphicsContext
2592 https://bugs.webkit.org/show_bug.cgi?id=20543
2596 * WebCore.vcproj/WebCore.vcproj:
2597 * WebCore.xcodeproj/project.pbxproj:
2598 * platform/graphics/FloatSize.h:
2599 (WebCore::FloatSize::shrunkTo):
2600 * svg/SVGLinearGradientElement.cpp:
2601 (WebCore::SVGLinearGradientElement::buildGradient):
2602 * svg/SVGRadialGradientElement.cpp:
2603 (WebCore::SVGRadialGradientElement::buildGradient):
2604 * svg/graphics/SVGPaintServer.h:
2605 * svg/graphics/SVGPaintServerGradient.cpp:
2606 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
2607 (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
2608 (WebCore::SVGPaintServerGradient::gradient):
2609 (WebCore::SVGPaintServerGradient::setGradient):
2610 (WebCore::findTextRootObject):
2611 (WebCore::createMaskAndSwapContextForTextGradient):
2612 (WebCore::clipToTextMask):
2613 (WebCore::SVGPaintServerGradient::setup):
2614 (WebCore::SVGPaintServerGradient::renderPath):
2615 (WebCore::SVGPaintServerGradient::teardown):
2616 * svg/graphics/SVGPaintServerGradient.h:
2617 (WebCore::SVGPaintServerGradient::setGradientStops):
2618 (WebCore::SVGPaintServerGradient::gradientStops):
2619 * svg/graphics/SVGPaintServerLinearGradient.h:
2620 * svg/graphics/SVGPaintServerRadialGradient.h:
2621 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: Removed.
2622 * svg/graphics/cg/SVGPaintServerCg.cpp:
2623 * svg/graphics/cg/SVGPaintServerGradientCg.cpp: Removed.
2624 * svg/graphics/qt/SVGPaintServerGradientQt.cpp: Removed.
2625 * svg/graphics/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
2626 * svg/graphics/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
2628 2008-12-03 Sam Weinig <sam@webkit.org>
2630 Reviewed by Mark Rowe.
2634 * css/CSSSelector.h:
2635 (WebCore::CSSSelector::createRareData):
2637 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2639 Reviewed by Adam Roben.
2641 As Adam Roben noticed, synchronize MessageSource enum with Console.js, and add a comment.
2643 * inspector/front-end/Console.js:
2646 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2648 Reviewed by Alexey Proskuryakov.
2650 Next steps to make LayoutTests work:
2651 Never access the main frame from WMLRefreshElement/WMLCardElement, but
2652 the current documents frame (WML layout tests will run in an <iframe>)
2654 Prepare WMLErrorHandling for the case that no tokenizer is available anymore
2655 -> report errors through Console::addMessage(), so they get logged in the
2656 expected layout test results.
2658 * wml/WMLCardElement.cpp:
2659 (WebCore::WMLCardElement::setActiveCardInDocument):
2660 * wml/WMLErrorHandling.cpp:
2661 (WebCore::reportWMLError):
2662 (WebCore::errorMessageForErrorCode):
2663 * wml/WMLErrorHandling.h:
2664 * wml/WMLRefreshElement.cpp:
2665 (WebCore::WMLRefreshElement::executeTask):
2666 * page/Console.cpp: Handle WMLMessageSource.
2667 (WebCore::printMessageSourceAndLevelPrefix):
2668 * page/Console.h: Add WMLMessageSource.
2671 2008-12-03 Tor Arne Vestbø <tavestbo@trolltech.com>
2673 Reviewed by Simon Hausmann.
2675 Allow passing jsNull and jsUndefined to Qt plugins
2677 Currently limited to functions with QString and QVariant arguments,
2678 and properties of these types. Both jsNull and jsUndefined ends up
2679 as default-constructed QStrings and QVariants, which means you can
2680 check for isEmpty() and isValid() in the native plugin code.
2682 Based on patches by Jade Han <jade.han@nokia.com>
2684 * bridge/qt/qt_runtime.cpp:
2685 (JSC::Bindings::convertValueToQVariant):
2686 (JSC::Bindings::findMethodIndex):
2688 2008-12-03 Trenton Schulz <trenton.schulz@nokia.com>
2690 Reviewed by Simon Hausmann.
2692 Fix the build with Qt for Mac OS X.
2694 * platform/PurgeableBuffer.h: Use the dummy wrappers for now.
2696 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2698 Reviewed by Alexey Proskuryakov.
2700 Fix error handling in WMLSetvarElement. If an invalid variable reference is contained
2701 in the 'name' attribute of <setvar>, a 'WMLErrorInvalidVariableName' error should be
2702 reported, instead of 'WMLErrorInvalidVariableReference'.
2704 * wml/WMLElement.cpp:
2705 (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
2706 (WebCore::WMLElement::parseValueForbiddingVariableReferences):
2708 * wml/WMLSetvarElement.cpp:
2709 (WebCore::WMLSetvarElement::parseMappedAttribute):
2710 * wml/WMLSetvarElement.h:
2711 (WebCore::WMLSetvarElement::name):
2712 (WebCore::WMLSetvarElement::value):
2714 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2716 Reviewed by Alexey Proskuryakov.
2718 Preparations to get WML layout tests going.
2719 Make WMLPageState an OwnPtr to Page, and let Page create it on demand.
2722 (WebCore::Page::Page):
2723 (WebCore::Page::wmlPageState):
2725 * wml/WMLDocument.cpp:
2726 (WebCore::WMLDocument::WMLDocument):
2727 (WebCore::WMLDocument::finishedParsing):
2728 (WebCore::wmlPageStateForDocument):
2729 * wml/WMLPageState.h: Don't inherit from RefCounted anymore.
2730 (WebCore::WMLPageState::hasVariables): Remove helper function.
2732 2008-12-03 Alexey Proskuryakov <ap@webkit.org>
2734 Reviewed by Mark Rowe.
2736 https://bugs.webkit.org/show_bug.cgi?id=22627
2737 fast/workers/worker-terminate.html fails randomly
2739 The problem is that worker termination uses script timeouts, so an InterruptedExecutionError
2740 is raised, and it sometimes reaches the main thread.
2742 * dom/WorkerMessagingProxy.cpp:
2743 (WebCore::WorkerExceptionTask::create):
2744 (WebCore::WorkerExceptionTask::WorkerExceptionTask):
2745 (WebCore::WorkerExceptionTask::performTask):
2746 (WebCore::WorkerMessagingProxy::postWorkerException):
2747 * dom/WorkerMessagingProxy.h:
2748 Ignore exceptions that happen in terminated workers.
2750 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2752 Reviewed by Alexey Proskuryakov.
2754 Remove some unncessary includes.
2756 * wml/WMLAccessElement.cpp:
2757 * wml/WMLDocument.h:
2758 * wml/WMLRefreshElement.cpp:
2760 2008-12-03 Alexey Proskuryakov <ap@webkit.org>
2762 Rubber-stamped by Cameron Zwarich and Adam Roben.
2764 Fix a typo: m_executionForbidded.
2766 * bindings/js/WorkerScriptController.cpp:
2767 (WebCore::WorkerScriptController::WorkerScriptController):
2768 (WebCore::WorkerScriptController::evaluate):
2769 (WebCore::WorkerScriptController::forbidExecution):
2770 * bindings/js/WorkerScriptController.h:
2772 2008-12-03 Dean McNamee <deanm@chromium.org>
2774 Bug 22623: Uninitialized memory access in cache parsing code
2775 <https://bugs.webkit.org/show_bug.cgi?id=22623>
2777 Reviewed by David Kilzer.
2779 Initialize m_haveParsedCacheControlHeader and m_haveParsedPragmaHeader.
2781 * platform/network/ResourceResponseBase.h:
2782 (WebCore::ResourceResponseBase::ResourceResponseBase):
2784 2008-12-03 Antti Koivisto <antti@apple.com>
2788 * WebCoreSources.bkl:
2790 2008-12-03 Antti Koivisto <antti@apple.com>
2792 Forgot to commit these.
2795 (WebCore::forEachTagSelector):
2796 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
2797 (WebCore::Node::querySelector):
2798 * dom/SelectorNodeList.cpp:
2799 (WebCore::createSelectorNodeList):
2801 2008-12-03 Antti Koivisto <antti@apple.com>
2803 Reviewed by Dan Bernstein and Mark Rowe.
2805 https://bugs.webkit.org/show_bug.cgi?id=22379
2806 Make CSSOM use less memory
2808 Reduce size of the CSSSelector by 3/8 by moving rarely used fields to a rare data
2809 struct. Browsing around with some instrumentation showed that ~0.1% of all selectors
2810 encountered had rare data.
2812 This also eliminates the CSSNthSelector subclass which will make possible to store
2813 CSSSelectors in an array instead of a linked list for futher memory savings.
2816 * css/CSSNthSelector.cpp: Removed.
2817 * css/CSSNthSelector.h: Removed.
2818 * css/CSSParser.cpp:
2819 (WebCore::CSSParser::createFloatingSelector):
2821 * css/CSSSelector.cpp:
2822 (WebCore::CSSSelector::specificity):
2823 (WebCore::CSSSelector::operator==):
2824 (WebCore::CSSSelector::selectorText):
2825 (WebCore::CSSSelector::setTagHistory):
2826 (WebCore::CSSSelector::attribute):
2827 (WebCore::CSSSelector::setAttribute):
2828 (WebCore::CSSSelector::setArgument):
2829 (WebCore::CSSSelector::setSimpleSelector):
2830 (WebCore::CSSSelector::parseNth):
2831 (WebCore::CSSSelector::matchNth):
2832 (WebCore::CSSSelector::RareData::parseNth):
2833 (WebCore::CSSSelector::RareData::matchNth):
2834 * css/CSSSelector.h:
2835 (WebCore::CSSSelector::CSSSelector):
2836 (WebCore::CSSSelector::~CSSSelector):
2837 (WebCore::CSSSelector::tagHistory):
2838 (WebCore::CSSSelector::hasAttribute):
2839 (WebCore::CSSSelector::argument):
2840 (WebCore::CSSSelector::simpleSelector):
2841 (WebCore::CSSSelector::RareData::RareData):
2842 (WebCore::CSSSelector::createRareData):
2843 (WebCore::CSSSelector::):
2844 * css/CSSStyleSelector.cpp:
2845 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2846 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2848 2008-12-03 Jian Li <jianli@chromium.org>
2850 Reviewed by Alexey Proskuryakov.
2852 Remove unneeded included file in WorkerThread.cpp.
2853 https://bugs.webkit.org/show_bug.cgi?id=22613
2855 * dom/WorkerThread.cpp: No need to include JSWorkerContext.h.
2857 2008-12-02 Alexey Proskuryakov <ap@webkit.org>
2859 Reviewed by Maciej Stachowiak.
2861 https://bugs.webkit.org/show_bug.cgi?id=22543
2862 Consolidate ActiveDOMObject page cache interaction
2864 Test: http/tests/xmlhttprequest/abort-on-leaving-page.html
2866 * dom/ActiveDOMObject.cpp:
2867 (WebCore::ActiveDOMObject::canSuspend):
2868 (WebCore::ActiveDOMObject::suspend):
2869 (WebCore::ActiveDOMObject::resume):
2870 * dom/ActiveDOMObject.h:
2871 * dom/ScriptExecutionContext.cpp:
2872 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2873 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2874 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2875 * dom/ScriptExecutionContext.h:
2876 Added methods for suspending and resuming active objects.
2879 (WebCore::Worker::canSuspend):
2880 (WebCore::Worker::stop):
2882 Workers cannot be suspended yet. This is a change in behavior, as workers used to keep
2883 running until their owner was destroyed.
2885 * loader/FrameLoader.cpp:
2886 (WebCore::FrameLoader::stopLoading): No longer call stopActiveDOMObjects() here, because
2887 their activity is not necessarily loading.
2888 (WebCore::FrameLoader::canCachePage): Can only cache if all active objects can be suspended.
2889 Previously, stopLoading() cancelled outstanding XMLHttpRequests, which made the page
2890 uncacheable due to no-null main document error.
2891 (WebCore::FrameLoader::commitProvisionalLoad): Suspend or stop active objects, depending on
2892 whether the document will be cached.
2893 (WebCore::FrameLoader::frameDetached): Stop active objects to let them clean up before their
2894 context is destroyed.
2896 * xml/XMLHttpRequest.h: added canSuspend().
2897 * xml/XMLHttpRequest.cpp:
2898 (WebCore::XMLHttpRequest::canSuspend): Only XHRs that are not loading can be suspended.
2899 (WebCore::XMLHttpRequest::stop): Call abort() instead of internalAbort() to dispatch events
2900 for Firefox compatibility. This is a change in behavior that helps test that requests do
2902 (WebCore::XMLHttpRequest::contextDestroyed): The request must have been stopped by now, so
2905 2008-12-02 Chris Fleizach <cfleizach@apple.com>
2907 Reviewed by Beth Dakin.
2909 Bug 22606: Can <th> serves as the AXTitleUIElement for <td>?
2911 Test: accessibility/th-as-title-ui.html
2913 * page/AccessibilityObject.h:
2914 (WebCore::AccessibilityObject::isGroup):
2915 * page/AccessibilityRenderObject.cpp:
2916 (WebCore::AccessibilityRenderObject::isGroup):
2917 * page/AccessibilityRenderObject.h:
2918 * page/AccessibilityTableCell.cpp:
2919 (WebCore::AccessibilityTableCell::rowIndexRange):
2920 (WebCore::AccessibilityTableCell::columnIndexRange):
2921 (WebCore::AccessibilityTableCell::titleUIElement):
2922 * page/AccessibilityTableCell.h:
2923 * page/mac/AccessibilityObjectWrapper.mm:
2924 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2926 2008-12-02 Simon Fraser <simon.fraser@apple.com>
2928 Reviewed by Dave Hyatt
2930 https://bugs.webkit.org/show_bug.cgi?id=22472
2932 Override absoluteClippedOverflowRect() in RenderReplaced to return a rect
2933 that is large enough to encompass the selection, so that the repainting of
2934 selected replaced elements works correctly.
2936 Test: fast/repaint/selected-replaced.html
2938 * rendering/RenderReplaced.cpp:
2939 (WebCore::RenderReplaced::selectionRect):
2940 (WebCore::RenderReplaced::localSelectionRect):
2941 (WebCore::RenderReplaced::absoluteClippedOverflowRect):
2942 * rendering/RenderReplaced.h:
2944 2008-12-02 Gregory Hughes <ghughes@apple.com>
2946 Reviewed by Beth Dakin.
2948 Bug 22513: ZOOM: text selection does not send correct zoom bounds
2950 When zoomed, text selection must send the zoom bounds in flipped
2953 * editing/mac/SelectionControllerMac.mm:
2954 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2955 * page/mac/WebCoreViewFactory.h:
2957 2008-12-02 Dean Jackson <dino@apple.com>
2959 Reviewed by Sam Weinig.
2961 Remove support for 'now' from CSS (was
2962 erroneously added to transition and animation delay)
2963 https://bugs.webkit.org/show_bug.cgi?id=22571
2965 * css/CSSParser.cpp:
2966 (WebCore::CSSParser::parseAnimationDelay):
2967 * css/CSSStyleSelector.cpp:
2968 (WebCore::CSSStyleSelector::mapAnimationDelay):
2969 * css/CSSValueKeywords.in:
2971 2008-12-02 Eric Seidel <eric@webkit.org>
2973 Build fix, no review.
2975 Fix the Mac and gtk builds:
2976 Don't use a float to hold a double.
2977 Remove a now duplicate symbol.
2980 (WebCore::Frame::selectionLayoutChanged):
2981 * platform/gtk/TemporaryLinkStubs.cpp:
2983 2008-12-02 Chris Fleizach <cfleizach@apple.com>
2985 Bug 22596: Some elements don't report AXBlockQuoteLevel
2986 https://bugs.webkit.org/show_bug.cgi?id=22596
2988 Reviewed by John Sullivan.
2990 * page/mac/AccessibilityObjectWrapper.mm:
2992 (AXAttributeStringSetBlockquoteLevel):
2993 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2994 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2996 2008-12-02 Dean McNamee <deanm@chromium.org>
2998 Reviewed by Eric Seidel.
3000 Correctly handle a theme returning a non-blinking interval. We should
3001 not set any timers when the interval is 0 (non-blinking), otherwise we
3002 repeatedly set and destroy a blinking timer, causing a paint and timer
3003 storm. This is applicable to GTK and Windows, where a user can set a
3004 non-blinking caret in their system preferences.
3006 Renamed caretBlinkFrequency to the more accurate caretBlinkInterval.
3009 (WebCore::Frame::selectionLayoutChanged):
3011 (WebCore::Theme::caretBlinkInterval):
3012 * platform/gtk/RenderThemeGtk.cpp:
3013 (WebCore::RenderThemeGtk::caretBlinkInterval):
3014 * platform/gtk/RenderThemeGtk.h:
3015 * rendering/RenderTheme.h:
3016 (WebCore::RenderTheme::caretBlinkInterval):
3018 2008-12-02 David Levin <levin@chromium.org>
3020 Reviewed by Eric Seidel.
3022 https://bugs.webkit.org/show_bug.cgi?id=22538
3024 startsWith uses find which searches through the whole string if no match is found.
3025 Using reverseFind with an index of 0 has the benefit of only searching for the match
3026 at the beginning of the string. This may only be a small benefit in the overall program,
3027 but it may help in some cases when the string is big.
3029 No observable change in behavior, so no test.
3031 * platform/text/StringImpl.h:
3032 (WebCore::StringImpl::startsWith):
3034 2008-10-29 Eric Seidel <eric@webkit.org>
3036 Reviewed by Darin Adler.
3038 Wrap a JSC-only hack in a USE(JSC) block to fix the v8 build.
3039 https://bugs.webkit.org/show_bug.cgi?id=21951
3041 * svg/SVGElementInstance.cpp:
3042 (WebCore::SVGElementInstance::forgetWrapper):
3044 2008-12-02 Eric Seidel <eric@webkit.org>
3046 Reviewed by Darin Adler.
3048 Add an ASSERT to try and catch the root cause of:
3049 https://bugs.webkit.org/show_bug.cgi?id=22168
3050 http://code.google.com/p/chromium/issues/detail?id=4122
3052 * editing/TextIterator.cpp:
3053 (WebCore::TextIterator::emitText):
3055 2008-12-02 Brent Fulgham <bfulgham@gmail.com>
3057 Reviewed by Adam Roben.
3059 Remove some CG-specific code from the Windows Cairo build.
3060 https://bugs.webkit.org/show_bug.cgi?id=22586
3062 No new test cases since this update should create no user-visible
3063 changes, and should be fully covered by the existing regression
3066 * WebCore.vcproj/WebCore.vcproj: Remove FontDatabase from
3067 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3068 (WebCore::focusRingColor): Add stub method
3069 * platform/win/TemporaryLinkStubs.cpp:
3070 (WebCore::populateFontDatabase): Add stub method.
3072 2008-12-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>
3074 Reviewed by Tor Arne Vestbø.
3076 MinGW compilation fix for PluginPackageWin.cpp
3078 https://bugs.webkit.org/show_bug.cgi?id=22585
3080 * plugins/win/PluginPackageWin.cpp:
3081 (WebCore::PluginPackage::fetchInfo):
3083 2008-12-02 Adam Roben <aroben@apple.com>
3085 Build fix for Windows projects with NOMINMAX defined globally
3087 * platform/win/COMPtr.h: Don't redefine NOMINMAX if it's already
3090 2008-12-02 Simon Hausmann <hausmann@webkit.org>
3092 Reviewed by Tor Arne Vestbø.
3094 Build JavaScriptCore into libQtWebKit.so through a direct build
3095 instead of a static library. When linking a static library into
3096 a shared library qmake generates an incorrect .prl file, which
3097 causes all sorts of different build problems when linking against
3098 QtWebKit. Fixing this in qmake requires bigger changes that are
3099 currently not possible, so we need to work around this limitation
3100 for now. The advantages of the separate build did not outweight the
3101 build problems it caused.
3103 * WebCore.pro: include JavaScriptCore.pri, re-enable prl support
3104 and rename the lut generator to domlut to avoid a conflict with
3105 JavaScriptCore.pri's lut generator.
3107 2008-12-02 David Levin <levin@chromium.org>
3109 Reviewed by Alexey Proskuryakov.
3111 https://bugs.webkit.org/show_bug.cgi?id=22588
3112 Move securityOrigin() from Document and WorkerContext into ScriptExecutionContext.
3114 No observable change in behavior, so no test.
3117 (WebCore::Document::open):
3118 (WebCore::Document::domain):
3119 (WebCore::Document::setDomain):
3120 (WebCore::Document::initSecurityContext):
3121 (WebCore::Document::setSecurityOrigin):
3123 * dom/ScriptExecutionContext.cpp:
3124 (WebCore::ScriptExecutionContext::setSecurityOrigin):
3125 * dom/ScriptExecutionContext.h:
3126 (WebCore::ScriptExecutionContext::securityOrigin):
3127 * dom/WorkerContext.cpp:
3128 (WebCore::WorkerContext::WorkerContext):
3129 * dom/WorkerContext.h:
3130 These changes are for the move of securityOrigin().
3132 * xml/XMLHttpRequest.cpp:
3133 (WebCore::XMLHttpRequest::createRequest):
3134 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
3135 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
3136 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
3137 (WebCore::XMLHttpRequest::setRequestHeader):
3138 (WebCore::XMLHttpRequest::getAllResponseHeaders):
3139 (WebCore::XMLHttpRequest::getResponseHeader):
3140 (WebCore::XMLHttpRequest::processSyncLoadResults):
3141 (WebCore::XMLHttpRequest::willSendRequest):
3142 (WebCore::XMLHttpRequest::accessControlCheck):
3143 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3144 Change XMLHttpRequest to use ScriptExecutionContext instead of Document to access securityOrigin().
3146 2008-12-02 André Pönitz <apoenitz@trolltech.com>
3148 Reviewed by Simon Hausmann.
3150 Disable the creation of debug information for the Qt build when done
3151 inside Qt. With 670 mb it was slowing down gdb start significantly
3152 for third-party applications that usually don't need it.
3156 2008-12-01 Beth Dakin <bdakin@apple.com>
3158 Reviewed by Dan Bernstein.
3160 Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION
3161 (r19811): Using the down arrow in a textarea gets "stuck" at the
3162 end of a wrapped line
3163 And corresponding: <rdar://problem/5347931>
3165 The basic problem here is that Position::getInlineBoxAndOffset()
3166 failed to look beyond a single renderer. This patch looks for a
3167 better match beyond the first renderer when the affinity is
3168 downstream and we failed to find a "perfect" match.
3170 (WebCore::isNonTextLeafChild):
3171 (WebCore::searchAheadForBetterMatch):
3172 (WebCore::Position::getInlineBoxAndOffset):
3174 This is a fix I made based on code inspection. It looks like the
3175 old code here and skipped over the parent as a possible match.
3176 * rendering/RenderObject.cpp:
3177 (WebCore::RenderObject::nextInPreOrderAfterChildren):
3179 2008-12-01 Brent Fulgham <bfulgham@gmail.com>
3181 Reviewed by Adam Roben.
3183 Add WML related files to Visual Studio projects.
3184 https://bugs.webkit.org/show_bug.cgi?id=22561
3186 * WebCore.vcproj/WebCore.vcproj:
3187 1. Add files from the wml directory to the set of windows files.
3188 2. Extend include paths with new wml directory.
3189 3. Add new autogenerated WML files to DerivedSources.
3190 4. Alphabetize preprocesor includes (holdover from earlier debugging).
3192 2008-12-01 Steve Falkenburg <sfalken@apple.com>
3194 Revise node/selection image fix.
3195 Moved updateLayout call so selection rect is fetched after the layout.
3197 Reviewed by Adam Roben.
3199 * page/win/FrameCGWin.cpp:
3200 (WebCore::imageFromRect):
3201 (WebCore::imageFromSelection):
3202 (WebCore::Frame::nodeImage):
3204 2008-12-01 Steve Falkenburg <sfalken@apple.com>
3206 Support needed to implement renderedImage for Windows.
3207 https://bugs.webkit.org/show_bug.cgi?25648
3209 Reviewed by Adam Roben.
3212 * page/win/FrameCGWin.cpp:
3213 (WebCore::imageFromRect):
3214 (WebCore::imageFromSelection):
3215 (WebCore::Frame::nodeImage):
3216 * page/win/FrameCairoWin.cpp:
3217 (WebCore::imageFromNode):
3219 2008-12-01 Simon Fraser <simon.fraser@apple.com>
3221 Reviewed by Dan Bernstein
3223 https://bugs.webkit.org/show_bug.cgi?id=22581
3225 Fix the painting of the caps lock indicator for transformed text inputs,
3226 by replacing a call to absoluteContentBox() with code that computes the
3227 painting rect for the input contents.
3229 * rendering/RenderTextControl.cpp:
3230 (WebCore::RenderTextControl::paint):
3232 2008-12-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3234 Reviewed by George Staikos.
3236 Add two new helper functions to WMLElement, parseValueSubstitutingVariableReferences/parseValueForbiddingVariableReferences.
3238 Convert all elements to parse their attribute values using these new helper functions. This simplifies the
3239 actual attribute parsing code in all WMLElement derived classes, as most WML attribute values either report
3240 an error if there's a variable reference used in the attribute value, or if it's invalid.
3242 Split the WMLErrorInvalidVariableReference error which covered both 'invalid syntax' / 'wrong location'
3243 in two seperated error codes: WMLErrorInvalidVariableReference / WMLErrorInvalidVariableReferenceLocation.
3245 * wml/WMLAccessElement.cpp:
3246 (WebCore::WMLAccessElement::parseMappedAttribute):
3247 * wml/WMLDoElement.cpp:
3248 (WebCore::WMLDoElement::defaultEventHandler):
3249 (WebCore::WMLDoElement::parseMappedAttribute):
3250 * wml/WMLElement.cpp:
3251 (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
3252 (WebCore::WMLElement::parseValueForbiddingVariableReferences):
3254 * wml/WMLErrorHandling.cpp:
3255 (WebCore::reportWMLError):
3256 * wml/WMLErrorHandling.h:
3258 * wml/WMLOnEventElement.cpp:
3259 (WebCore::WMLOnEventElement::parseMappedAttribute):
3260 * wml/WMLPrevElement.cpp:
3261 (WebCore::WMLPrevElement::executeTask):
3262 * wml/WMLSetvarElement.cpp:
3263 (WebCore::WMLSetvarElement::parseMappedAttribute):
3264 * wml/WMLTimerElement.cpp:
3265 (WebCore::WMLTimerElement::parseMappedAttribute):
3267 2008-12-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3269 Reviewed by George Staikos.
3271 Fix switching active cards within a document. No way to test, until <go> support is implemented.
3273 * wml/WMLCardElement.cpp:
3274 (WebCore::WMLCardElement::showCard):
3275 (WebCore::WMLCardElement::hideCard):
3276 (WebCore::WMLCardElement::setActiveCardInDocument):
3277 * wml/WMLCardElement.h:
3279 2008-12-01 David Kilzer <ddkilzer@apple.com>
3281 Fix logic error in LegacyWebArchive::create() from r38884.
3283 * loader/archive/cf/LegacyWebArchive.cpp:
3284 (WebCore::LegacyWebArchive::create): Only continue if the
3285 subresource is actually added.
3287 2008-12-01 David Kilzer <ddkilzer@apple.com>
3289 Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org
3291 <https://bugs.webkit.org/show_bug.cgi?id=22466>
3292 <rdar://problem/6403593>
3294 Reviewed by Brady Eidson.
3296 Test: http/tests/webarchive/test-preload-resources.html
3298 * loader/archive/cf/LegacyWebArchive.cpp:
3299 (WebCore::LegacyWebArchive::create): Check the WebCore cache for
3300 resources if DocumentLoader::subresource() doesn't return them.
3301 Note that the DocumentLoader::subresource() method returned
3302 preloaded resources before r35867, but this caused a regression in
3305 2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
3307 Reviewed by Eric Seidel.
3309 Bug 22564: Make HTML elements' constructors take a QualifiedName
3310 https://bugs.webkit.org/show_bug.cgi?id=22564
3312 - Modified the remaining HTML elements' constructors to take a QualifiedName.
3314 - Added an assertion that the QualifiedName given corresponds to the element constructed.
3316 * bindings/js/JSAudioConstructor.cpp:
3317 (WebCore::constructAudio):
3318 * html/HTMLAudioElement.cpp:
3319 (WebCore::HTMLAudioElement::HTMLAudioElement):
3320 * html/HTMLAudioElement.h:
3321 * html/HTMLBRElement.cpp:
3322 (WebCore::HTMLBRElement::HTMLBRElement):
3323 * html/HTMLBRElement.h:
3324 * html/HTMLElement.cpp:
3325 (WebCore::HTMLElement::setInnerText):
3326 * html/HTMLElementFactory.cpp:
3327 (WebCore::brConstructor):
3328 (WebCore::quoteConstructor):
3329 (WebCore::marqueeConstructor):
3330 (WebCore::audioConstructor):
3331 (WebCore::videoConstructor):
3332 (WebCore::sourceConstructor):
3333 * html/HTMLMarqueeElement.cpp:
3334 (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
3335 * html/HTMLMarqueeElement.h:
3336 * html/HTMLQuoteElement.cpp:
3337 (WebCore::HTMLQuoteElement::HTMLQuoteElement):
3338 * html/HTMLQuoteElement.h:
3339 * html/HTMLSourceElement.cpp:
3340 (WebCore::HTMLSourceElement::HTMLSourceElement):
3341 * html/HTMLSourceElement.h:
3342 * html/HTMLVideoElement.cpp:
3343 (WebCore::HTMLVideoElement::HTMLVideoElement):
3344 * html/HTMLVideoElement.h:
3345 * rendering/RenderTextControl.cpp:
3346 (WebCore::RenderTextControl::updateFromElement):
3348 2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
3350 Reviewed by Antti Koivisto.
3352 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
3353 https://bugs.webkit.org/show_bug.cgi?id=22441
3355 Add an assertion to the modified HTML elements' constructor
3356 to check that the QualifiedName parameter is the one that
3357 matches the Element's.
3359 * html/HTMLBaseElement.cpp:
3360 (WebCore::HTMLBaseElement::HTMLBaseElement):
3361 * html/HTMLBlockquoteElement.cpp:
3362 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
3363 * html/HTMLBodyElement.cpp:
3364 (WebCore::HTMLBodyElement::HTMLBodyElement):
3365 * html/HTMLButtonElement.cpp:
3366 (WebCore::HTMLButtonElement::HTMLButtonElement):
3367 * html/HTMLDListElement.cpp:
3368 (WebCore::HTMLDListElement::HTMLDListElement):
3369 * html/HTMLDirectoryElement.cpp:
3370 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
3371 * html/HTMLDivElement.cpp:
3372 (WebCore::HTMLDivElement::HTMLDivElement):
3373 * html/HTMLFieldSetElement.cpp:
3374 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
3375 * html/HTMLFormElement.cpp:
3376 (WebCore::HTMLFormElement::HTMLFormElement):
3377 * html/HTMLFrameElement.cpp:
3378 (WebCore::HTMLFrameElement::HTMLFrameElement):
3379 * html/HTMLFrameSetElement.cpp:
3380 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
3381 * html/HTMLHeadElement.cpp:
3382 (WebCore::HTMLHeadElement::HTMLHeadElement):
3383 * html/HTMLHtmlElement.cpp:
3384 (WebCore::HTMLHtmlElement::HTMLHtmlElement):
3385 * html/HTMLIFrameElement.cpp:
3386 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
3387 * html/HTMLInputElement.cpp:
3388 (WebCore::HTMLInputElement::HTMLInputElement):
3389 * html/HTMLIsIndexElement.cpp:
3390 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
3391 * html/HTMLKeygenElement.cpp:
3392 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
3393 * html/HTMLLIElement.cpp:
3394 (WebCore::HTMLLIElement::HTMLLIElement):
3395 * html/HTMLLabelElement.cpp:
3396 (WebCore::HTMLLabelElement::HTMLLabelElement):
3397 * html/HTMLLegendElement.cpp:
3398 (WebCore::HTMLLegendElement::HTMLLegendElement):
3399 * html/HTMLLinkElement.cpp:
3400 (WebCore::HTMLLinkElement::HTMLLinkElement):
3401 * html/HTMLMenuElement.cpp:
3402 (WebCore::HTMLMenuElement::HTMLMenuElement):
3403 * html/HTMLMetaElement.cpp:
3404 (WebCore::HTMLMetaElement::HTMLMetaElement):
3405 * html/HTMLOListElement.cpp:
3406 (WebCore::HTMLOListElement::HTMLOListElement):
3407 * html/HTMLOptGroupElement.cpp:
3408 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
3409 * html/HTMLOptionElement.cpp:
3410 (WebCore::HTMLOptionElement::HTMLOptionElement):
3411 * html/HTMLSelectElement.cpp:
3412 (WebCore::HTMLSelectElement::HTMLSelectElement):
3413 * html/HTMLStyleElement.cpp:
3414 (WebCore::HTMLStyleElement::HTMLStyleElement):
3415 * html/HTMLTextAreaElement.cpp:
3416 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
3417 * html/HTMLTitleElement.cpp:
3418 (WebCore::HTMLTitleElement::HTMLTitleElement):
3419 * html/HTMLUListElement.cpp:
3420 (WebCore::HTMLUListElement::HTMLUListElement):
3422 2008-12-01 Chris Marrin <cmarrin@apple.com>
3424 Reviewed by Darin Adler.
3426 https://bugs.webkit.org/show_bug.cgi?id=22046
3428 Fixed another case of crashing because the animation object is getting deleted when
3429 it's in the middle of a callback. I actually moved where I am retaining the pointer
3430 up out of the lower level AnimationBase code and into the timer callback that calls
3431 them. So now the pointer is valid throughout the entire sequence of callback code.
3433 The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
3434 crash which this patch fixes.
3436 * page/animation/AnimationBase.cpp:
3437 (WebCore::AnimationBase::updateStateMachine):
3438 (WebCore::AnimationBase::animationTimerCallbackFired):
3439 * page/animation/CompositeAnimation.cpp:
3440 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
3441 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
3442 (WebCore::CompositeAnimationPrivate::styleAvailable):
3443 * page/animation/ImplicitAnimation.cpp:
3444 (WebCore::ImplicitAnimation::sendTransitionEvent):
3445 * page/animation/KeyframeAnimation.cpp:
3446 (WebCore::KeyframeAnimation::sendAnimationEvent):
3447 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
3449 2008-12-01 Tor Arne Vestbø <tavestbo@trolltech.com>
3451 Reviewed by Simon Hausmann.
3453 [Qt/Mac] Initialize NPAPI plugins before getting their entry points
3455 The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
3456 copied from Windows, but caused Silverlight on Mac to crash when loaded.
3458 Apparently the call order of NP_Initialize and NP_GetEntryPoints is
3459 reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425
3461 Reported-by: Peter Johnson <peter@zattoo.com>
3463 * plugins/mac/PluginPackageMac.cpp:
3464 (WebCore::PluginPackage::load):
3466 2008-11-30 Chris Fleizach <cfleizach@apple.com>
3468 Reviewed by John Sullivan.
3470 https://bugs.webkit.org/show_bug.cgi?id=22510
3471 Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA (22510)
3473 A nil pointer needed to be checked
3475 * page/AccessibilityRenderObject.cpp:
3476 (WebCore::AccessibilityRenderObject::activeDescendant):
3478 2008-11-30 Alexey Proskuryakov <ap@webkit.org>
3480 Reviewed by Dan Bernstein.
3482 https://bugs.webkit.org/show_bug.cgi?id=22530
3483 Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID
3485 * dom/WorkerThread.cpp:
3486 (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this
3487 function runs to completion before the thread begins execution.
3488 (WebCore::WorkerThread::workerThread): Updated comments.
3489 (WebCore::WorkerThread::stop): Ditto.
3490 * dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now
3491 protects startup as a whole.
3493 * storage/DatabaseThread.cpp:
3494 * storage/DatabaseThread.h:
3495 * storage/LocalStorageThread.cpp:
3496 * storage/LocalStorageThread.h:
3497 Fixed the same m_threadID problem.
3499 2008-11-29 Brent Fulgham <bfulgham@gmail.com>
3501 Reviewed by Alexey Proskuryakov.
3503 Remove Visual Studio project dependencies on non-redistributable
3504 components in the Debug_Cairo and Release_Cairo build targets.
3505 See https://bugs.webkit.org/show_bug.cgi?id=22527
3507 * WebCore.vcproj/WebCore.vcproj:
3509 2008-11-29 Sam Weinig <sam@webkit.org>
3511 Rubber-stamped by Alexey Proskuryakov.
3515 * WebCore.xcodeproj/project.pbxproj:
3517 2008-11-28 Sam Weinig <sam@webkit.org>
3519 Reviewed by Alexey Proskuryakov.
3521 Fix for https://bugs.webkit.org/show_bug.cgi?id=21063
3522 NULL pointer crash in dispatchEvent(null);
3524 Test: fast/events/dispatchEvent-crash.html
3526 * dom/MessagePort.cpp:
3527 (WebCore::MessagePort::dispatchEvent):
3529 (WebCore::Worker::dispatchEvent):
3530 * dom/WorkerContext.cpp:
3531 (WebCore::WorkerContext::dispatchEvent):
3532 * loader/appcache/DOMApplicationCache.cpp:
3533 (WebCore::DOMApplicationCache::dispatchEvent):
3534 * xml/XMLHttpRequest.cpp:
3535 (WebCore::XMLHttpRequest::dispatchEvent):
3536 * xml/XMLHttpRequestUpload.cpp:
3537 (WebCore::XMLHttpRequestUpload::dispatchEvent):
3539 2008-11-29 Dan Bernstein <mitz@apple.com>
3541 Reviewed by Alexey Proskuryakov.
3543 - fix https://bugs.webkit.org/show_bug.cgi?id=22454
3544 <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org
3546 Test: http/tests/misc/font-face-in-multiple-segmented-faces.html
3548 The crash happened because style recalculation was invoked by
3549 CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but
3550 before another CSSSegmentedFontFace using the same CSSFontFace had done
3551 so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace
3552 prune their tables before telling the CSSFontSelector to recalc style.
3554 * css/CSSFontFace.cpp:
3555 (WebCore::CSSFontFace::fontLoaded):
3556 * css/CSSFontSelector.cpp:
3557 (WebCore::CSSFontSelector::fontLoaded):
3558 * css/CSSFontSelector.h:
3559 * css/CSSSegmentedFontFace.cpp:
3560 (WebCore::CSSSegmentedFontFace::fontLoaded):
3562 2008-11-29 Alexey Proskuryakov <ap@webkit.org>
3564 Reviewed by Eric Seidel.
3566 https://bugs.webkit.org/show_bug.cgi?id=14968
3567 document.open() erroneously returns void instead of the new Document
3569 Test: fast/dom/HTMLDocument/document-open-return-value.html
3571 * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
3572 Return the document on which this method was invoked, per HTML5.
3574 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3576 Reviewed by Cameron Zwarich.
3578 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22550
3580 Add <timer> element support. It provides a way to execute a task with a delay.
3581 The user is notified by firing the task associated with the <card>'s ontimer attribute.
3582 Only one timer element is allowed per <card> (fix wrong error message in reportWMLError)
3584 * WebCore.xcodeproj/project.pbxproj:
3585 * wml/WMLCardElement.cpp:
3586 (WebCore::WMLCardElement::WMLCardElement):
3587 (WebCore::WMLCardElement::setIntrinsicEventTimer):
3588 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
3589 * wml/WMLCardElement.h:
3590 * wml/WMLDoElement.cpp:
3591 (WebCore::WMLDoElement::defaultEventHandler):
3592 * wml/WMLErrorHandling.cpp:
3593 (WebCore::reportWMLError):
3594 * wml/WMLPageState.h:
3595 (WebCore::WMLPageState::getVariable):
3596 * wml/WMLPrevElement.cpp:
3597 (WebCore::WMLPrevElement::executeTask):
3598 * wml/WMLRefreshElement.cpp:
3599 (WebCore::WMLRefreshElement::executeTask):
3600 * wml/WMLTagNames.in:
3601 * wml/WMLTimerElement.cpp: Added.
3602 (WebCore::WMLTimerElement::WMLTimerElement):
3603 (WebCore::WMLTimerElement::parseMappedAttribute):
3604 (WebCore::WMLTimerElement::insertedIntoDocument):
3605 (WebCore::WMLTimerElement::timerFired):
3606 (WebCore::WMLTimerElement::start):
3607 (WebCore::WMLTimerElement::stop):
3608 (WebCore::WMLTimerElement::storeIntervalToPageState):
3609 * wml/WMLTimerElement.h: Added.
3611 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3613 Reviewed by Holger Freyther.
3615 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22549
3617 Add <do> element support. It provides a way to bind a task element to a <template>/<card> element.
3618 Changes numerous of layout tests which contain <do> elements, as they render as buttons now.
3620 * WebCore.xcodeproj/project.pbxproj:
3621 * rendering/RenderButton.cpp:
3622 (WebCore::RenderButton::updateFromElement):
3623 * wml/WMLCardElement.cpp:
3624 (WebCore::WMLCardElement::registerDoElement):
3625 * wml/WMLCardElement.h:
3626 * wml/WMLDoElement.cpp: Added.
3627 (WebCore::WMLDoElement::WMLDoElement):
3628 (WebCore::WMLDoElement::defaultEventHandler):
3629 (WebCore::WMLDoElement::parseMappedAttribute):
3630 (WebCore::WMLDoElement::insertedIntoDocument):
3631 (WebCore::WMLDoElement::createRenderer):
3632 (WebCore::WMLDoElement::recalcStyle):
3633 * wml/WMLDoElement.h: Added.
3634 (WebCore::WMLDoElement::registerTask):
3635 (WebCore::WMLDoElement::isActive):
3636 (WebCore::WMLDoElement::label):
3637 (WebCore::WMLDoElement::name):
3638 (WebCore::WMLDoElement::setActive):
3639 (WebCore::WMLDoElement::setNoop):
3640 * wml/WMLNoopElement.cpp:
3641 (WebCore::WMLNoopElement::insertedIntoDocument):
3642 * wml/WMLTagNames.in:
3643 * wml/WMLTaskElement.cpp:
3644 (WebCore::WMLTaskElement::insertedIntoDocument):
3646 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3648 Reviewed by Sam Weinig.
3650 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22545
3652 Add onenterforward/onenterbackward/ontimer support for <card> elements.
3654 No testing possible at the moment because WMLGoElement is not yet implemented.
3655 After that we can add tests covering the <card> event handling.
3657 * wml/WMLCardElement.cpp:
3658 (WebCore::WMLCardElement::WMLCardElement):
3659 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
3660 (WebCore::WMLCardElement::parseMappedAttribute):
3661 (WebCore::WMLCardElement::setActiveCardInDocument):
3662 * wml/WMLCardElement.h:
3663 (WebCore::WMLCardElement::isNewContext):
3664 (WebCore::WMLCardElement::isOrdered):
3665 * wml/WMLDocument.cpp:
3666 (WebCore::WMLDocument::finishedParsing):
3667 * wml/WMLIntrinsicEvent.cpp:
3668 (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
3669 * wml/WMLIntrinsicEvent.h:
3670 (WebCore::WMLIntrinsicEvent::create):
3672 2008-11-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
3674 Reviewed by Tor Arne Vestbø.
3676 Regression seen on QtWebKit - causes a build failure on Win using MinGW
3678 https://bugs.webkit.org/show_bug.cgi?id=22536
3682 2008-11-28 Simon Hausmann <hausmann@webkit.org>
3684 Reviewed by Tor Arne Vestbø.
3686 Fix compilation and linking on Windows CE.
3688 Use WIN_OS instead of WIN and therefore exclude determineModuleVersionFromDescription()
3689 from the Windows'ish build.
3691 Link against the newly required mmtimer.
3694 * plugins/PluginPackage.cpp:
3696 2008-11-28 David Levin <levin@chromium.org>
3698 Reviewed by Alexey Proskuryakov.
3700 http://bugs.webkit.org/show_bug.cgi?id=22524
3702 Made static initializations in XMLHttpRequest.cpp thread-safe in preparation for usage
3703 of XMLHttpRequest by Workers (on threads).
3705 No observable change in behavior, so no test.
3707 * xml/XMLHttpRequest.cpp:
3708 (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
3709 (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
3710 (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
3711 (WebCore::PreflightResultCacheItem::allowsRequest):
3712 (WebCore::createXMLHttpRequestStaticData):
3713 (WebCore::initializeXMLHttpRequestStaticData):
3714 (WebCore::XMLHttpRequest::XMLHttpRequest):
3715 (WebCore::XMLHttpRequest::isSafeRequestHeader):
3716 (WebCore::XMLHttpRequest::isOnAccessControlResponseHeaderWhitelist):
3717 * xml/XMLHttpRequest.h:
3719 2008-11-27 Cameron Zwarich <zwarich@apple.com>
3723 r38825, was committed without checking whether anything in WebCore
3724 uses JSFunction::m_body. Use the appropriate getters and setters
3727 * inspector/JavaScriptDebugServer.cpp:
3728 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
3730 2008-11-27 Alexey Proskuryakov <ap@webkit.org>
3732 Reviewed by Dan Bernstein.
3734 https://bugs.webkit.org/show_bug.cgi?id=22529
3735 Crashes seen on buildbots due to trying to stop a worker thread twice
3737 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
3738 Don't try to stop the thread if it's already stopping.
3740 2008-11-27 Kent Hansen <khansen@trolltech.com>
3742 Reviewed by Simon Hausmann.
3744 Make JavaScript bindings for Qt plugin widgets work again
3745 this was a regression; need to handle non-NPAPI plugins as in 4.4.
3747 * bindings/js/ScriptControllerQt.cpp:
3748 (WebCore::ScriptController::createScriptInstanceForWidget):
3750 2008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3752 Reviewed by George Staikos.
3754 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22522
3756 Catch WML errors (invalid variable name/reference, multiple access elements, etc)
3757 while parsing the document, and stop parsing immediately and wrap the document
3758 fragment in a XHTML error document, just like it's done from XML parsing errors.
3760 Until now all card elements were hidden by default (no renderer created), and
3761 WMLDocument::finishedParsing() took care of showing the right card (either the first,
3762 or any named card in the document, specified by document URL reference). Change this
3763 behaviour to support displaying partially parsed WML document fragments: Mark the first
3764 WMLCardElement inserted into the document as visible. If the document parsing finishes
3765 without problems, WMLDocument::finishedParsing() will be called, which takes care of
3766 showing the desired card (common case: first card in the document, which is already
3767 visible, so nothing actually has to be done). If an error occours, the document is
3768 correctly rendered until the error happened - wrapped in a XHTML document.
3770 Fixes: fast/wml/err-event-binding-conflict.wml
3771 fast/wml/err-invalid-variable-name.wml
3772 fast/wml/err-multi-access.wml
3773 fast/wml/err-unallowed-task-in-anchor.wml
3775 * WebCore.xcodeproj/project.pbxproj:
3776 * wml/WMLAccessElement.cpp:
3777 (WebCore::WMLAccessElement::parseMappedAttribute):
3778 (WebCore::WMLAccessElement::insertedIntoDocument):
3779 * wml/WMLAccessElement.h:
3780 * wml/WMLCardElement.cpp:
3781 (WebCore::WMLCardElement::insertedIntoDocument):
3782 (WebCore::WMLCardElement::setActiveCardInDocument):
3783 * wml/WMLCardElement.h:
3784 * wml/WMLDocument.cpp:
3785 (WebCore::WMLDocument::finishedParsing):
3786 * wml/WMLErrorHandling.cpp: Added.
3787 (WebCore::reportWMLError):
3788 * wml/WMLErrorHandling.h: Added.
3790 * wml/WMLIntrinsicEventHandler.cpp:
3791 (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
3792 * wml/WMLIntrinsicEventHandler.h:
3793 * wml/WMLNoopElement.cpp:
3794 (WebCore::WMLNoopElement::insertedIntoDocument):
3795 * wml/WMLOnEventElement.cpp:
3796 (WebCore::WMLOnEventElement::parseMappedAttribute):
3797 (WebCore::WMLOnEventElement::registerTask):
3798 * wml/WMLPageState.cpp:
3799 (WebCore::WMLPageState::setNeedCheckDeckAccess):
3800 * wml/WMLPageState.h:
3801 * wml/WMLSetvarElement.cpp:
3802 (WebCore::WMLSetvarElement::parseMappedAttribute):
3804 2008-11-26 Glenn Wilson <gwilson@chromium.org>
3806 Reviewed by Dan Bernstein.
3808 Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953
3810 This fixes the crash when the small-caps font variant is used
3811 on a lower-case glyph that does not have a corresponding
3812 upper-case glyph defined in the set of available fonts.
3814 This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant.
3816 Test: fast/css/small-caps-crash.html
3818 * platform/graphics/Font.cpp:
3819 (WebCore::Font::glyphDataForCharacter):
3821 2008-11-26 Tony Chang <tony@chromium.org>
3823 Reviewed by Oliver Hunt.
3825 Add a new platform specific method cleanupAfterSystemDrag
3826 that platforms can ue to clean up drag state after a
3827 system drag. Use this method on PLAFORM(MAC).
3828 https://bugs.webkit.org/show_bug.cgi?id=21956
3831 * page/DragController.cpp:
3832 (WebCore::DragController::doSystemDrag):
3833 * page/DragController.h:
3834 * page/gtk/DragControllerGtk.cpp:
3835 (WebCore::DragController::cleanupAfterSystemDrag):
3836 * page/mac/DragControllerMac.mm:
3837 (WebCore::DragController::cleanupAfterSystemDrag):
3838 * page/qt/DragControllerQt.cpp:
3839 (WebCore::DragController::cleanupAfterSystemDrag):
3840 * page/win/DragControllerWin.cpp:
3841 (WebCore::DragController::cleanupAfterSystemDrag):
3842 * page/wx/DragControllerWx.cpp:
3843 (WebCore::DragController::cleanupAfterSystemDrag):
3845 2008-11-26 Nikolas Zimmermann <zimmermann@kde.org>
3847 Reviewed by Oliver Hunt.
3849 Fix path to string logic, correctly taking closed (sub-)paths into account.
3850 Code was just broken on cg, observed by Dirk Schulze.
3852 QPainterPath doesn't seem to expose any functionality to detect closed sub paths,
3853 using the elementAt() function. There might be a workaround - Dirk will investigate.
3855 * platform/graphics/cg/PathCG.cpp:
3856 (WebCore::CGPathToCFStringApplierFunction):
3857 * platform/graphics/cairo/PathCairo.cpp:
3858 (WebCore::Path::debugString):
3860 2008-11-26 Darin Fisher <darin@chromium.org>
3862 Reviewed by Eric Seidel.
3864 https://bugs.webkit.org/show_bug.cgi?id=22519
3865 Remove unnecessary include.
3867 * dom/XMLTokenizer.cpp:
3869 2008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3871 Reviewed by Oliver Hunt.
3873 Add <noop> element support, completing the task element support.
3875 * WebCore.xcodeproj/project.pbxproj:
3876 * wml/WMLNoopElement.cpp: Added.
3877 (WebCore::WMLNoopElement::WMLNoopElement):
3878 (WebCore::WMLNoopElement::insertedIntoDocument):
3879 * wml/WMLNoopElement.h: Added.
3880 * wml/WMLTagNames.in: Reorganize file a bit.
3882 2008-11-26 Julien Chaffraix <jchaffraix@webkit.org>
3884 Reviewed by Eric Seidel.
3886 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
3887 https://bugs.webkit.org/show_bug.cgi?id=22441
3889 Make more HTML elements' constructors take a QualifiedName.
3891 * editing/DeleteButtonController.cpp:
3892 (WebCore::DeleteButtonController::createDeletionUI):
3893 * html/HTMLBlockquoteElement.cpp:
3894 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
3895 * html/HTMLBlockquoteElement.h:
3896 * html/HTMLButtonElement.cpp:
3897 (WebCore::HTMLButtonElement::HTMLButtonElement):
3898 * html/HTMLButtonElement.h:
3899 * html/HTMLDListElement.cpp:
3900 (WebCore::HTMLDListElement::HTMLDListElement):
3901 * html/HTMLDListElement.h:
3902 * html/HTMLDirectoryElement.cpp:
3903 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
3904 * html/HTMLDirectoryElement.h:
3905 * html/HTMLDivElement.cpp:
3906 (WebCore::HTMLDivElement::HTMLDivElement):
3907 * html/HTMLDivElement.h:
3908 * html/HTMLElementFactory.cpp:
3909 (WebCore::styleConstructor):
3910 (WebCore::titleConstructor):
3911 (WebCore::frameConstructor):
3912 (WebCore::framesetConstructor):
3913 (WebCore::iframeConstructor):
3914 (WebCore::formConstructor):
3915 (WebCore::buttonConstructor):
3916 (WebCore::inputConstructor):
3917 (WebCore::isindexConstructor):
3918 (WebCore::fieldsetConstructor):
3919 (WebCore::keygenConstructor):
3920 (WebCore::labelConstructor):
3921 (WebCore::legendConstructor):
3922 (WebCore::optgroupConstructor):
3923 (WebCore::optionConstructor):
3924 (WebCore::selectConstructor):
3925 (WebCore::textareaConstructor):
3926 (WebCore::dlConstructor):
3927 (WebCore::ulConstructor):
3928 (WebCore::olConstructor):
3929 (WebCore::dirConstructor):
3930 (WebCore::menuConstructor):
3931 (WebCore::liConstructor):
3932 (WebCore::blockquoteConstructor):
3933 (WebCore::divConstructor):
3934 (WebCore::headingConstructor):
3935 * html/HTMLFieldSetElement.cpp:
3936 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
3937 * html/HTMLFieldSetElement.h:
3938 * html/HTMLFormElement.cpp:
3939 (WebCore::HTMLFormElement::HTMLFormElement):
3940 * html/HTMLFormElement.h:
3941 * html/HTMLFrameElement.cpp:
3942 (WebCore::HTMLFrameElement::HTMLFrameElement):
3943 * html/HTMLFrameElement.h:
3944 * html/HTMLFrameSetElement.cpp:
3945 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
3946 * html/HTMLFrameSetElement.h:
3947 * html/HTMLIFrameElement.cpp:
3948 (WebCore::HTMLIFrameElement::HTMLIFrameElement):
3949 * html/HTMLIFrameElement.h:
3950 * html/HTMLInputElement.cpp:
3951 * html/HTMLInputElement.h:
3952 * html/HTMLIsIndexElement.cpp:
3953 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
3954 * html/HTMLIsIndexElement.h:
3955 * html/HTMLKeygenElement.cpp:
3956 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
3957 * html/HTMLKeygenElement.h:
3958 * html/HTMLLIElement.cpp:
3959 (WebCore::HTMLLIElement::HTMLLIElement):
3960 * html/HTMLLIElement.h:
3961 * html/HTMLLabelElement.cpp:
3962 (WebCore::HTMLLabelElement::HTMLLabelElement):
3963 * html/HTMLLabelElement.h:
3964 * html/HTMLLegendElement.cpp:
3965 (WebCore::HTMLLegendElement::HTMLLegendElement):
3966 * html/HTMLLegendElement.h:
3967 * html/HTMLMenuElement.cpp:
3968 (WebCore::HTMLMenuElement::HTMLMenuElement):
3969 * html/HTMLMenuElement.h:
3970 * html/HTMLOListElement.cpp:
3971 (WebCore::HTMLOListElement::HTMLOListElement):
3972 * html/HTMLOListElement.h:
3973 * html/HTMLOptGroupElement.cpp:
3974 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
3975 * html/HTMLOptGroupElement.h:
3976 * html/HTMLOptionElement.cpp:
3977 (WebCore::HTMLOptionElement::HTMLOptionElement):
3978 * html/HTMLOptionElement.h:
3979 * html/HTMLParser.cpp:
3980 (WebCore::HTMLParser::formCreateErrorCheck):
3981 (WebCore::HTMLParser::handleIsindex):
3982 * html/HTMLSelectElement.cpp:
3983 * html/HTMLSelectElement.h:
3984 * html/HTMLStyleElement.cpp:
3985 (WebCore::HTMLStyleElement::HTMLStyleElement):
3986 * html/HTMLStyleElement.h:
3987 * html/HTMLTextAreaElement.cpp:
3988 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
3989 * html/HTMLTextAreaElement.h:
3990 * html/HTMLTitleElement.cpp:
3991 (WebCore::HTMLTitleElement::HTMLTitleElement):
3992 * html/HTMLTitleElement.h:
3993 * html/HTMLUListElement.cpp:
3994 (WebCore::HTMLUListElement::HTMLUListElement):
3995 * html/HTMLUListElement.h:
3996 * html/HTMLViewSourceDocument.cpp:
3997 (WebCore::HTMLViewSourceDocument::createContainingTable):
3998 * rendering/MediaControlElements.cpp:
3999 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
4000 (WebCore::MediaControlInputElement::MediaControlInputElement):
4001 * rendering/RenderFileUploadControl.cpp:
4002 (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
4003 * rendering/RenderMedia.cpp:
4004 (WebCore::RenderMedia::createPanel):
4005 (WebCore::RenderMedia::createTimeDisplay):
4006 * rendering/RenderSlider.cpp:
4007 (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
4008 * rendering/TextControlInnerElements.cpp:
4009 (WebCore::TextControlInnerElement::TextControlInnerElement):
4011 2008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4013 Reviewed by Sam Weinig.
4015 Fix obvious problem in WMLPageState constructor, m_page was not set to the passed Page pointer.
4017 * wml/WMLPageState.cpp:
4018 (WebCore::WMLPageState::WMLPageState):
4020 2008-11-26 Matt Perry <mpcomplete@gmail.com>
4024 See https://bugs.webkit.org/show_bug.cgi?id=22051
4026 * platform/qt/RenderThemeQt.cpp:
4027 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
4029 2008-11-26 Matt Perry <mpcomplete@gmail.com>
4031 Reviewed by Maciej Stachowiak.
4033 Fix https://bugs.webkit.org/show_bug.cgi?id=22051
4034 Renderthemes should be able to supply additional CSS rules to the core
4037 * DerivedSources.make:
4038 * css/CSSStyleSelector.cpp:
4039 (WebCore::parseUASheet):
4040 (WebCore::loadFullDefaultStyle):
4041 (WebCore::loadSimpleDefaultStyle):
4042 * css/themeWin.css: Added.
4043 * css/themeWinQuirks.css: Added.
4044 * platform/qt/RenderThemeQt.cpp:
4045 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
4046 * platform/qt/RenderThemeQt.h:
4047 * rendering/RenderTheme.cpp:
4048 * rendering/RenderTheme.h:
4049 (WebCore::RenderTheme::extraDefaultStyleSheet):
4050 (WebCore::RenderTheme::extraQuirksStyleSheet):
4051 * rendering/RenderThemeWin.cpp:
4052 (WebCore::RenderThemeWin::extraDefaultStyleSheet):
4053 (WebCore::RenderThemeWin::extraQuirksStyleSheet):
4054 * rendering/RenderThemeWin.h:
4056 2008-11-26 David Kilzer <ddkilzer@apple.com>
4058 Make CSSStyleSheet::addSubresourceURLStrings() iterative
4060 Part of the fix for Bug 11850: Webarchive fails to save images referenced in CSS
4061 <https://bugs.webkit.org/show_bug.cgi?id=11850>
4063 Reviewed by Brady Eidson.
4065 * css/CSSStyleSheet.cpp:
4066 (WebCore::CSSStyleSheet::addSubresourceURLStrings): Switch algorithm
4067 from recursive to iterative for gathering the list of all CSS
4068 stylesheets referenced in @import statements.
4070 2008-11-26 Dirk Schulze <krit@webkit.org>
4072 Reviewed by Simon Hausmann.
4074 Transformations to the context shouldn't transform the currentPath.
4077 [QT] GraphicsContext's currenPath can be transformed
4078 https://bugs.webkit.org/show_bug.cgi?id=22163
4080 * platform/graphics/GraphicsContextPrivate.h:
4081 * platform/graphics/qt/GraphicsContextQt.cpp:
4082 (WebCore::GraphicsContext::restorePlatformState):
4083 (WebCore::GraphicsContext::fillPath):
4084 (WebCore::GraphicsContext::strokePath):
4085 (WebCore::GraphicsContext::fillRect):
4086 (WebCore::GraphicsContext::translate):
4087 (WebCore::GraphicsContext::rotate):
4088 (WebCore::GraphicsContext::scale):
4089 (WebCore::GraphicsContext::concatCTM):
4091 2008-11-26 Jan Michael Alonzo <jmalonzo@webkit.org>
4093 Gtk build script minor fixes. Not reviewed.
4096 - Add ScriptInstance.h (introduced in r38774) to
4098 - Move WML and GEOLOCATION conditionals before the SVG
4099 conditional to be consistent with the style of the script.
4100 - Move GeolocationGtk sources to webcoregtk_sources.
4102 2008-11-26 Dmitry Titov <dimich@chromium.org>
4104 Reviewed by Darin Adler and Eric Seidel.
4106 https://bugs.webkit.org/show_bug.cgi?id=22469
4108 Move the class DOMWindowTimer from JSDOMWindowBase into its own file in
4109 preparation to making it work for Workers. For now, just move the code and couple
4110 of global variables.
4114 * WebCore.vcproj/WebCore.vcproj:
4115 * WebCore.xcodeproj/project.pbxproj:
4116 * WebCoreSources.bkl:
4117 * bindings/js/JSDOMWindowBase.cpp:
4118 (WebCore::JSDOMWindowBase::installTimeout):
4119 (WebCore::JSDOMWindowBase::pauseTimeouts):
4120 (WebCore::JSDOMWindowBase::resumeTimeouts):
4121 (WebCore::JSDOMWindowBase::timerFired):
4122 * bindings/js/JSDOMWindowBase.h:
4123 * bindings/js/DOMTimer.cpp: Added.
4124 (WebCore::DOMTimer::DOMTimer):
4125 (WebCore::DOMTimer::~DOMTimer):
4126 (WebCore::DOMTimer::fired):
4127 * bindings/js/DOMTimer.h: Added.
4128 (WebCore::DOMTimer::timeoutId):
4129 (WebCore::DOMTimer::nestingLevel):
4130 (WebCore::DOMTimer::setNestingLevel):
4131 (WebCore::DOMTimer::action):
4132 (WebCore::DOMTimer::takeAction):
4134 2008-11-25 Darin Fisher <darin@chromium.org>
4138 https://bugs.webkit.org/show_bug.cgi?id=22493
4139 Need to expose bridge/*.h to the WebKit build.
4141 * WebCore.vcproj/WebCore.vcproj:
4143 2008-11-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4145 Not reviewed. Fix build, by removing some wrong last-minute changes.
4147 * wml/WMLIntrinsicEvent.cpp:
4148 (WebCore::createTaskElement):
4149 * wml/WMLOnEventElement.cpp:
4150 (WebCore::WMLOnEventElement::registerTask):
4152 2008-11-25 Darin Fisher <darin@chromium.org>
4154 Reviewed by Geoffrey Garen.
4156 https://bugs.webkit.org/show_bug.cgi?id=22493
4157 Abstract away JSC:: usage in WebCore/html
4159 * WebCore.xcodeproj/project.pbxproj:
4160 * bindings/js/JSPluginElementFunctions.cpp:
4161 (WebCore::pluginInstance):
4162 * bindings/js/ScriptController.h:
4163 * bindings/js/ScriptControllerMac.mm:
4164 (WebCore::ScriptController::createScriptInstanceForWidget):
4165 * bindings/js/ScriptInstance.h: Added.
4166 * html/HTMLPlugInElement.cpp:
4167 (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
4168 (WebCore::HTMLPlugInElement::getInstance):
4169 * html/HTMLPlugInElement.h:
4171 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
4173 Reviewed by Sam Weinig.
4175 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22477
4177 A WMLTaskElement checks wheter it's parent is an <anchor>/<do>/<onevent> element, and calls registerTask(this) on the parent.
4178 Add a isWMLTaskElement() function to WMLElement, making it possible to cast to WMLTaskElement directly.
4180 Add WMLEventHandlingElement class, inheriting from WMLElement, to serve as common base WMLTemplate/Option/CardElement,
4181 centralizing the eventHandler() / createEventHandlerIfNeeded() implementation. Add a isWMLEventHandlingElement()
4182 function to WMLElement, so WMLOnEventElement can create event handlers, without knowing wheter it's a
4183 <template>/<option> or <card> element.
4185 Add complete <onevent> support.
4187 * WebCore.xcodeproj/project.pbxproj:
4188 * wml/WMLCardElement.cpp:
4189 (WebCore::WMLCardElement::WMLCardElement):
4190 (WebCore::WMLCardElement::setActiveCardInDocument):
4191 * wml/WMLCardElement.h:
4192 (WebCore::WMLCardElement::isVisible):
4193 (WebCore::WMLCardElement::setVisible):
4195 (WebCore::WMLElement::isWMLTaskElement):
4196 * wml/WMLEventHandlingElement.cpp: Added.
4197 (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
4198 (WebCore::WMLEventHandlingElement::createEventHandlerIfNeeded):
4199 * wml/WMLEventHandlingElement.h: Added.
4200 (WebCore::WMLEventHandlingElement::isWMLEventHandlingElement):
4201 (WebCore::WMLEventHandlingElement::eventHandler):
4202 * wml/WMLOnEventElement.cpp: Added.
4203 (WebCore::WMLOnEventElement::WMLOnEventElement):
4204 (WebCore::WMLOnEventElement::parseMappedAttribute):
4205 (WebCore::WMLOnEventElement::registerTask):
4206 * wml/WMLOnEventElement.h: Added.
4207 * wml/WMLSetvarElement.cpp:
4208 (WebCore::WMLSetvarElement::parseMappedAttribute):
4209 (WebCore::WMLSetvarElement::insertedIntoDocument):
4210 * wml/WMLTagNames.in:
4211 * wml/WMLTaskElement.cpp:
4212 (WebCore::WMLTaskElement::insertedIntoDocument):
4213 * wml/WMLTaskElement.h:
4214 (WebCore::WMLTaskElement::isWMLTaskElement):
4216 2008-11-25 Pierre-Olivier Latour <pol@apple.com>
4218 Reviewed by Mark Rowe.
4220 createFontCustomPlatformData() crashes if CGFontCreateWithPlatformFont() returns NULL
4222 https://bugs.webkit.org/show_bug.cgi?id=22503
4224 * platform/graphics/mac/FontCustomPlatformData.cpp:
4225 (WebCore::createFontCustomPlatformData):
4227 2008-11-25 Julien Chaffraix <jchaffraix@webkit.org>
4229 Reviewed by Eric Seidel.
4231 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
4232 https://bugs.webkit.org/show_bug.cgi?id=22441
4234 Element's other than HTML ones take a QualifiedName in their constructors.
4235 To make HTMLElementFactory closer to the other ElementFactory, we need
4236 to make them take the same arguments.
4237 This patch only makes the 5 first one in HTMLElementFactory abide by that. The others
4238 will go into the next patch.
4241 (WebCore::Document::implicitClose):
4242 * html/HTMLBaseElement.cpp:
4243 (WebCore::HTMLBaseElement::HTMLBaseElement):
4244 * html/HTMLBaseElement.h:
4245 * html/HTMLBodyElement.cpp:
4246 (WebCore::HTMLBodyElement::HTMLBodyElement):
4247 * html/HTMLBodyElement.h:
4248 * html/HTMLElementFactory.cpp:
4249 (WebCore::htmlConstructor):
4250 (WebCore::headConstructor):
4251 (WebCore::bodyConstructor):
4252 (WebCore::baseConstructor):
4253 (WebCore::linkConstructor):
4254 (WebCore::metaConstructor):