1 2010-09-08 Antonio Gomes <agomes@rim.com>
3 Reviewed by Daniel Bates.
5 Make FocusController::focusedOrMainFrame method const
6 https://bugs.webkit.org/show_bug.cgi?id=45406
10 * page/FocusController.cpp:
11 (WebCore::FocusController::focusedOrMainFrame):
12 * page/FocusController.h:
14 2010-09-08 Jian Li <jianli@chromium.org>
16 Reviewed by Darin Adler.
18 Fix a problem in createCanonicalUUIDString that causes the last digit
20 https://bugs.webkit.org/show_bug.cgi?id=45412
22 This is caused by not including the final null character into the count
23 that is provided to fgets.
25 This is covered by the existing test: send-form-data-with-sliced-file.html.
28 (WebCore::createCanonicalUUIDString):
30 2010-09-08 Nico Weber <thakis@chromium.org>
32 Reviewed by Dimitri Glazkov.
34 chromium/mac: Fix overrelease in ImageLayerChromium
35 https://bugs.webkit.org/show_bug.cgi?id=45360
37 Only release colorSpace if we created it.
39 * platform/graphics/chromium/ImageLayerChromium.cpp:
40 (WebCore::ImageLayerChromium::updateContents):
42 2010-09-08 Robert Hogan <robert@webkit.org>
44 Reviewed by Antonio Gomes.
46 Remove some unnecessary duplicate calls to string functions
48 https://bugs.webkit.org/show_bug.cgi?id=45314
50 * platform/network/curl/ResourceHandleManager.cpp:
51 (WebCore::parseDataUrl):
52 * websockets/WebSocketChannel.cpp:
53 (WebCore::WebSocketChannel::send):
55 2010-09-08 Peter Kasting <pkasting@google.com>
57 Not reviewed, fallout from http://trac.webkit.org/changeset/67001
59 Fix compile failures and add svn:eol-style on two new files.
61 * platform/ScrollAnimator.h: Added property svn:eol-style.
62 * platform/ScrollAnimatorWin.cpp: Added property svn:eol-style.
63 * platform/win/PopupMenuWin.cpp: Fix compile errors.
64 (WebCore::PopupMenuWin::scrollToRevealSelection):
65 (WebCore::PopupMenuWin::scrollSize):
67 2010-09-08 James Robinson <jamesr@chromium.org>
69 Reviewed by Kenneth Russell.
71 [chromium] Force canvas 2d draw calls to happen in software if a gradient, pattern, shadow, or clip are active
72 https://bugs.webkit.org/show_bug.cgi?id=45405
74 This forces all draw calls to happen in software instead of hardware if there is a fill pattern, gradient,
75 shadow, or clip applied; at least until we can handle these in hardware. Otherwise the pattern/gradient/etc
76 is completely ignored by the hardware drawing routine and we render incorrectly.
78 The test is slightly convervative - for example it will force drawImage() calls to happen in software if a
79 fill gradient is set even though it's irrelevant. This doesn't seem to be an issue in practice and we
80 can tighten the checks later if needed.
82 Tested by fast/canvas/canvas-incremental-repaint.html.
84 * platform/graphics/skia/GraphicsContextSkia.cpp:
85 (WebCore::GraphicsContext::canvasClip):
86 (WebCore::GraphicsContext::fillRect):
87 * platform/graphics/skia/ImageBufferSkia.cpp:
88 (WebCore::ImageBuffer::draw):
89 * platform/graphics/skia/ImageSkia.cpp:
90 (WebCore::BitmapImage::draw):
91 (WebCore::BitmapImageSingleFrameSkia::draw):
92 * platform/graphics/skia/PlatformContextSkia.cpp:
93 (WebCore::PlatformContextSkia::State::State):
94 (WebCore::PlatformContextSkia::canvasClipPath):
95 (WebCore::PlatformContextSkia::canAccelerate):
96 * platform/graphics/skia/PlatformContextSkia.h:
98 2010-09-08 Peter Kasting <pkasting@google.com>
100 Reviewed by David Hyatt.
102 Add smooth scrolling framework, and a Windows implementation.
103 https://bugs.webkit.org/show_bug.cgi?id=32356
105 * CMakeLists.txt: Add ScrollAnimator.
106 * GNUmakefile.am: Add ScrollAnimator.
107 * WebCore.gyp/WebCore.gyp: Add Windows ScrollAnimator.
108 * WebCore.gypi: Add ScrollAnimator.
109 * WebCore.pro: Add ScrollAnimator.
110 * WebCore.vcproj/WebCore.vcproj: Add ScrollAnimator.
111 * WebCore.xcodeproj/project.pbxproj: Add ScrollAnimator.
112 * platform/ScrollAnimator.cpp: Added base implementation that does no animation.
113 (WebCore::ScrollAnimator::create):
114 (WebCore::ScrollAnimator::scroll):
115 (WebCore::ScrollAnimator::setScrollPositionAndStopAnimation):
116 * platform/ScrollAnimator.h: Added base implementation that does no animation.
117 (WebCore::ScrollAnimator::ScrollAnimator):
118 (WebCore::ScrollAnimator::~ScrollAnimator):
119 * platform/ScrollAnimatorWin.cpp: Added Windows subclass that animates scrolls.
120 (WebCore::ScrollAnimator::create):
121 (WebCore::ScrollAnimatorWin::PerAxisData::PerAxisData):
122 (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
123 (WebCore::ScrollAnimatorWin::~ScrollAnimatorWin):
124 (WebCore::ScrollAnimatorWin::scroll):
125 (WebCore::ScrollAnimatorWin::setScrollPositionAndStopAnimation):
126 (WebCore::ScrollAnimatorWin::accelerationTime):
127 (WebCore::ScrollAnimatorWin::animationTimerFired):
128 (WebCore::ScrollAnimatorWin::stopAnimationTimerIfNeeded):
129 (WebCore::ScrollAnimatorWin::animateScroll):
130 * platform/ScrollAnimatorWin.h: Added Windows subclass that animates scrolls.
131 * platform/ScrollView.cpp: Implement new ScrollbarClient functions. Allow wheel scrolls to be animated.
132 (WebCore::ScrollView::scrollSize):
133 (WebCore::ScrollView::setScrollOffsetFromAnimation):
134 (WebCore::ScrollView::updateScrollbars):
135 (WebCore::ScrollView::wheelEvent):
136 * platform/ScrollView.h: Implement new ScrollbarClient functions.
137 * platform/Scrollbar.cpp: Allow ScrollAnimator to handle scrolls if present.
138 (WebCore::Scrollbar::setValue):
139 (WebCore::Scrollbar::scroll):
140 (WebCore::Scrollbar::moveThumb):
141 (WebCore::Scrollbar::setCurrentPos):
142 (WebCore::Scrollbar::mouseMoved):
143 * platform/Scrollbar.h:
144 * platform/ScrollbarClient.cpp: Added to avoid having to make ScrollAnimator.h non-private.
145 (WebCore::ScrollbarClient::ScrollbarClient):
146 (WebCore::ScrollbarClient::~ScrollbarClient):
147 (WebCore::ScrollbarClient::scroll):
148 (WebCore::ScrollbarClient::setScrollPositionAndStopAnimation):
149 * platform/ScrollbarClient.h: Add hooks for ScrollAnimator.
150 (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
151 (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
152 * platform/gtk/MainFrameScrollbarGtk.cpp:
153 (MainFrameScrollbarGtk::gtkValueChanged):
154 * platform/qt/ScrollbarQt.cpp: Use scroll() in preference to setValue().
155 (WebCore::Scrollbar::contextMenu):
156 * platform/win/PopupMenuWin.cpp: Implement new ScrollbarClient functions.
157 (WebCore::PopupMenuWin::scrollSize):
158 (WebCore::PopupMenuWin::setScrollOffsetFromAnimation):
159 * platform/win/PopupMenuWin.h: Implement new ScrollbarClient functions.
160 * rendering/RenderDataGrid.cpp: Implement new ScrollbarClient functions.
161 (WebCore::RenderDataGrid::scrollSize):
162 (WebCore::RenderDataGrid::setScrollOffsetFromAnimation):
163 * rendering/RenderDataGrid.h: Implement new ScrollbarClient functions.
164 * rendering/RenderLayer.cpp: Implement new ScrollbarClient functions.
165 (WebCore::RenderLayer::scrollToOffset):
166 (WebCore::RenderLayer::scrollSize):
167 (WebCore::RenderLayer::setScrollOffsetFromAnimation):
168 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
169 * rendering/RenderLayer.h: Implement new ScrollbarClient functions.
170 * rendering/RenderListBox.cpp: Implement new ScrollbarClient functions.
171 (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
172 (WebCore::RenderListBox::scrollSize):
173 (WebCore::RenderListBox::setScrollOffsetFromAnimation):
174 (WebCore::RenderListBox::setScrollTop):
175 * rendering/RenderListBox.h: Implement new ScrollbarClient functions.
177 2010-09-08 Ryosuke Niwa <rniwa@webkit.org>
179 Reviewed by Tony Chang.
181 applyInlineStyleToRange needs cleanup
182 https://bugs.webkit.org/show_bug.cgi?id=45008
184 Removed rangeIsEmpty and extracted the entire loop into applyInlineStyleToNodeRange.
185 applyInlineStyleToRange is now a wrapper that fixes range and passes it on to applyInlineStyleToNodeRange.
187 No new tests are added since this is a cleanup.
189 * editing/ApplyStyleCommand.cpp:
190 (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Cleaned up.
191 (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Extracted from applyInlineStyleToRange.
192 * editing/ApplyStyleCommand.h:
194 2010-09-08 Andy Estes <aestes@apple.com>
196 Rubber-stamped by Darin Adler.
198 Incorporate additional feedback from
199 https://bugs.webkit.org/show_bug.cgi?id=45364.
201 * html/HTMLObjectElement.cpp:
202 (WebCore::HTMLObjectElement::parametersForPlugin): Rename urlParam to
204 * loader/SubframeLoader.h: Add argument names to the definition of
205 SubframeLoader::resourceWillUsePlugin().
207 2010-09-07 Oliver Hunt <oliver@apple.com>
209 Reviewed by Anders Carlsson.
211 Support SerializedScriptValue in WebKit2
212 https://bugs.webkit.org/show_bug.cgi?id=45340
214 Add a new constructor that allows WebKit2 to create a SerializedScriptValue
215 directly from serialized data.
218 * bindings/js/SerializedScriptValue.h:
219 (WebCore::SerializedScriptValue::adopt):
220 (WebCore::SerializedScriptValue::data):
222 2010-09-08 Andy Estes <aestes@apple.com>
224 Reviewed by Eric Carlson.
226 Fallback content should be rendered when an <object> doesn't specify a
227 data, type or classid attribute.
228 https://bugs.webkit.org/show_bug.cgi?id=45364
229 <rdar://problem/8375816>
231 HTML5 says that if no data or type attribute is specified on an <object>,
232 fallback content should be rendered. However, WebKit has traditionally
233 supported specifying a URL and MIME type in <param> elements.
235 To more closely match the spec while maintaining compatibility with
236 content that relied on our old behavior, we will continue to load
237 a resource specified by <param> elements if we can determine a priori
238 that it will be handled by a plug-in.
240 If we can't make this determination, and the <object> element has no
241 "data" or "type" attribute, the <param> elements will be ignored and
242 fallback content will be rendered. Otherwise, there is no change in
245 * html/HTMLObjectElement.cpp:
246 (WebCore::HTMLObjectElement::parametersForPlugin): If an empty url is
247 passed to this function and a <param> exists that specifies a url that
248 references a plug-in resource, set it to url, making it the url that
249 will be loaded by the <object> element.
250 (WebCore::HTMLObjectElement::updateWidget): If no type attribute was
251 specified, but there is a classid attribute, try to map the classid to
252 a MIME type. This needs to be done before calling
253 HTMLObjectElement::parametersForPlugin().
254 * loader/SubframeLoader.cpp:
255 (WebCore::SubframeLoader::resourceWillUsePlugin): Make a public method
256 that determines if a resource will load a plug-in based on its url and
257 MIME type. This is equivalent to calling
258 SubframeLoader::shouldUsePlugin(), but does not burden the caller with
259 the details of fallback content.
260 * loader/SubframeLoader.h:
262 2010-09-08 Pavel Podivilov <podivilov@chromium.org>
264 Reviewed by Yury Semikhatsky.
266 Web Inspector: add breakpoints to source frame after content is loaded.
267 https://bugs.webkit.org/show_bug.cgi?id=43056
269 * inspector/front-end/ScriptsPanel.js:
270 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
271 (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
272 * inspector/front-end/SourceView.js:
273 (WebInspector.SourceView.prototype._contentLoaded):
275 2010-09-08 Andreas Kling <andreas.kling@nokia.com>
277 Reviewed by Kenneth Rohde Christiansen.
279 Canvas: Remove unnecessary null-check of canvas() in getImageData()
280 https://bugs.webkit.org/show_bug.cgi?id=45394
282 canvas() is already dereferenced earlier in the function so there is
283 no use in checking it for null later.
285 * html/canvas/CanvasRenderingContext2D.cpp:
286 (WebCore::CanvasRenderingContext2D::getImageData):
288 2010-09-08 Philippe Normand <pnormand@igalia.com>
290 Reviewed by Eric Carlson.
292 [GStreamer] cache media duration in READY instead of PLAYING
293 https://bugs.webkit.org/show_bug.cgi?id=39053
295 New cacheDuration private method used to in updateStates() and
298 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
299 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
300 (WebCore::MediaPlayerPrivateGStreamer::cacheDuration):
301 (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
302 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
304 2010-09-08 Martin Robinson <mrobinson@igalia.com>
306 Reviewed by Xan Lopez.
308 [GTK] Need a WebSocket implementation
309 https://bugs.webkit.org/show_bug.cgi?id=45197
311 Add a GIO-based WebSocket implementation. This does not yet support
312 SSL sockets or proxies, but these should be possible to add as support
313 arrives in GLib/GIO for them.
315 * platform/network/soup/SocketStreamHandle.h:
316 * platform/network/soup/SocketStreamHandleSoup.cpp: Add a GIO-based WebSocket implementation.
317 (WebCore::isActiveHandle): Added.
318 (WebCore::deactivateHandle): Added.
319 (WebCore::SocketStreamHandle::SocketStreamHandle): Filled out stub.
320 (WebCore::SocketStreamHandle::~SocketStreamHandle): Ditto.
321 (WebCore::SocketStreamHandle::connected): Added.
322 (WebCore::SocketStreamHandle::readBytes): Added.
323 (WebCore::SocketStreamHandle::writeReady): Added.
324 (WebCore::SocketStreamHandle::platformSend): Filled out stub.
325 (WebCore::SocketStreamHandle::platformClose): Filled out stub.
326 (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Added.
327 (WebCore::SocketStreamHandle::stopWaitingForSocketWritability):
328 (WebCore::connectedCallback): Added.
329 (WebCore::readReadyCallback): Added.
330 (WebCore::writeReadyCallback): Added.
332 2010-09-07 Martin Robinson <mrobinson@igalia.com>
334 Reviewed by Dirk Schulze.
336 [Cairo] Actually use the antialias parameter of GraphicsContext::clipConvexPolygon
337 https://bugs.webkit.org/show_bug.cgi?id=45355
339 r63864 added an additional boolean parameter to GraphicsContext::clipConvexPolygon,
340 which determines whether or not to render the render the clip with anti-aliasing
341 or not. The Cairo implementation now uses that parameter to determine the argument
342 to pass to cairo_set_antialias(...) when clipping.
344 Test: This is tested by many tests in fast/borders.
346 * platform/graphics/cairo/GraphicsContextCairo.cpp:
347 (WebCore::GraphicsContext::clipConvexPolygon): Actually use the boolean antialias parameter.
349 2010-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
351 Reviewed by Kenneth Rohde Christiansen.
353 [EFL] Support to enable HTML5's Video based on gstreamer in WebKit-EFL
354 https://bugs.webkit.org/show_bug.cgi?id=44098
356 To support video of HTML5 based on gstreamer, add files regarding gstreamer to
361 2010-09-08 Jan E Hanssen <jhanssen@sencha.com>
363 Reviewed by Dirk Schulze.
365 [Qt] PathQt should use the QPainterPath functionality for calculations
366 https://bugs.webkit.org/show_bug.cgi?id=43837
368 Change PathQt to use the built-in functionality of QPainterPath for
369 calculating length(), pointAtLength() and normalAngleAtLength().
371 * platform/graphics/Path.cpp:
372 * platform/graphics/qt/PathQt.cpp:
373 (WebCore::Path::length):
374 (WebCore::Path::pointAtLength):
375 (WebCore::Path::normalAngleAtLength):
377 2010-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
379 Reviewed by Dirk Schulze.
381 [WML] Remove create() function in WMLTaskElement because of build break.
382 https://bugs.webkit.org/show_bug.cgi?id=44954
384 Remove create() function in WMLTaskElement.cpp because of build breaks.
386 * wml/WMLTaskElement.cpp:
387 * wml/WMLTaskElement.h:
389 2010-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
391 Reviewed by Dirk Schulze.
393 [WML] Add create functions to WML.
394 https://bugs.webkit.org/show_bug.cgi?id=44950
396 There are missing definitions of create function in WML area.
397 So, there are build breaks when enabling WML. The create functions and the construction
398 are added. In addition, a style error and duplicated adoptRef usage are fixed.
401 (WebCore::WMLDocument::create):
402 * wml/WMLFormControlElement.h:
403 * wml/WMLIntrinsicEvent.cpp:
404 (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
405 * wml/WMLIntrinsicEvent.h:
407 2010-09-08 Nico Weber <thakis@chromium.org>
409 Reviewed by Kenneth Russell.
411 chromium/mac: Fix crash with compositor due to missing current NSGraphicsContext
412 https://bugs.webkit.org/show_bug.cgi?id=45354
414 * platform/graphics/chromium/ContentLayerChromium.cpp:
415 (WebCore::ContentLayerChromium::updateContents): Set a current local context.
417 2010-09-08 Justin Schuh <jschuh@chromium.org>
419 Reviewed by Nikolas Zimmermann.
421 NULL deref when use target is reset, then set to display:none
422 https://bugs.webkit.org/show_bug.cgi?id=45345
424 Move the NULL check on shadowRoot earlier in SVGUseElement::recalcStyle
426 Test: svg/custom/use-display-none.svg
428 * svg/SVGUseElement.cpp:
429 (WebCore::SVGUseElement::recalcStyle):
431 2010-08-30 Maciej Stachowiak <mjs@apple.com>
433 Reviewed by Darin Adler.
435 Handle MediaQueryExp memory management exclusively with smart pointers
436 https://bugs.webkit.org/show_bug.cgi?id=44874
438 Gace MediaQueryExp a create function, made the constructor private, and followed
439 the implications. The one tricky bit was using a non-copying sort to sort
440 the Vector<OwnPtr<MediaQueryExp> > in the MediaQuery constructor.
442 * ForwardingHeaders/wtf/NonCopyingSort.h: Added.
445 (WebCore::CSSParser::~CSSParser):
446 (WebCore::CSSParser::createFloatingMediaQueryExp):
447 (WebCore::CSSParser::createFloatingMediaQueryExpList):
448 (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
449 (WebCore::CSSParser::createFloatingMediaQuery):
452 * css/MediaQuery.cpp:
453 (WebCore::expressionCompare):
454 (WebCore::MediaQuery::MediaQuery):
455 (WebCore::MediaQuery::~MediaQuery):
457 (WebCore::MediaQuery::expressions):
458 * css/MediaQueryEvaluator.cpp:
459 (WebCore::MediaQueryEvaluator::eval):
460 * css/MediaQueryExp.h:
461 (WebCore::MediaQueryExp::create):
463 2010-09-08 Adam Barth <abarth@webkit.org>
465 Reviewed by Maciej Stachowiak.
467 Remove unused member variable from DecodedDocumentParser
468 https://bugs.webkit.org/show_bug.cgi?id=45379
470 This member variable isn't used because of the recent split of
471 TextDocumentParser and TextViewSourceParser.
473 * dom/DecodedDataDocumentParser.cpp:
474 (WebCore::DecodedDataDocumentParser::DecodedDataDocumentParser):
475 * dom/DecodedDataDocumentParser.h:
476 * dom/ScriptableDocumentParser.cpp:
477 (WebCore::ScriptableDocumentParser::ScriptableDocumentParser):
478 * dom/ScriptableDocumentParser.h:
480 2010-09-08 Csaba Osztrogonác <ossy@webkit.org>
482 Reviewed by Andreas Kling.
484 Fix warning in rendering/RenderBlock.cpp.
485 https://bugs.webkit.org/show_bug.cgi?id=45373
487 * rendering/RenderBlock.cpp:
488 (WebCore::RenderBlock::hitTestColumns): Suggested parentheses added around && within ||
490 2010-09-08 Mario Sanchez Prada <msanchez@igalia.com>
492 Reviewed by Martin Robinson.
494 [Gtk] A list item's number/bullet should not be a child of that list item
495 https://bugs.webkit.org/show_bug.cgi?id=45190
497 Ignore list markers and prefix them to the text for the item
499 * accessibility/gtk/AccessibilityObjectAtk.cpp:
500 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
501 Make list markers ignore accessibility for the GTK port.
502 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
503 (webkit_accessible_text_get_text): Prefix the text of a marker
504 along with the accessible text for its list item's AtkObject
506 2010-09-08 Adam Barth <abarth@webkit.org>
508 Rubber-stamped by Eric Seidel.
510 Rename DocLoader to CachedResourceLoader because that's what it does.
517 * WebCore.vcproj/WebCore.vcproj:
518 * WebCore.xcodeproj/project.pbxproj:
519 * css/CSSCursorImageValue.cpp:
520 (WebCore::CSSCursorImageValue::cachedImage):
521 * css/CSSCursorImageValue.h:
522 * css/CSSFontFaceSource.cpp:
523 (WebCore::CSSFontFaceSource::getFontData):
524 * css/CSSFontSelector.cpp:
525 (WebCore::CSSFontSelector::cachedResourceLoader):
526 (WebCore::CSSFontSelector::addFontFaceRule):
527 * css/CSSFontSelector.h:
528 * css/CSSImageValue.cpp:
529 (WebCore::CSSImageValue::cachedImage):
530 * css/CSSImageValue.h:
531 * css/CSSImportRule.cpp:
532 (WebCore::CSSImportRule::insertedIntoParent):
533 * css/CSSStyleSelector.cpp:
534 (WebCore::CSSStyleSelector::loadPendingImages):
535 * css/CSSStyleSheet.h:
537 (WebCore::Document::Document):
538 (WebCore::Document::~Document):
539 (WebCore::Document::implicitClose):
541 (WebCore::Document::cachedResourceLoader):
542 * dom/ProcessingInstruction.cpp:
543 (WebCore::ProcessingInstruction::checkStyleSheet):
544 * dom/ScriptElement.cpp:
545 (WebCore::ScriptElementData::requestScript):
546 * dom/XMLDocumentParser.cpp:
547 * dom/XMLDocumentParser.h:
548 * dom/XMLDocumentParserLibxml2.cpp:
549 (WebCore::matchFunc):
550 (WebCore::shouldAllowExternalLoad):
552 (WebCore::XMLDocumentParser::doWrite):
553 (WebCore::XMLDocumentParser::endElementNs):
554 (WebCore::XMLDocumentParser::initializeParserContext):
555 (WebCore::XMLDocumentParser::doEnd):
556 (WebCore::xmlDocPtrForString):
557 * dom/XMLDocumentParserQt.cpp:
558 (WebCore::XMLDocumentParser::parseEndElement):
559 * dom/XMLDocumentParserScope.cpp:
560 (WebCore::XMLDocumentParserScope::XMLDocumentParserScope):
561 (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope):
562 * dom/XMLDocumentParserScope.h:
563 * editing/Editor.cpp:
564 (WebCore::Editor::paste):
565 * editing/mac/EditorMac.mm:
566 (WebCore::Editor::paste):
567 * html/HTMLLinkElement.cpp:
568 (WebCore::HTMLLinkElement::process):
569 * html/parser/CSSPreloadScanner.cpp:
570 (WebCore::CSSPreloadScanner::emitRule):
571 * html/parser/HTMLPreloadScanner.cpp:
572 (WebCore::HTMLNames::PreloadTask::preload):
573 * html/parser/HTMLScriptRunner.cpp:
574 (WebCore::HTMLScriptRunner::requestPendingScript):
575 * inspector/InspectorResource.cpp:
576 (WebCore::InspectorResource::cachedResource):
578 (WebCore::Cache::requestResource):
579 (WebCore::Cache::requestUserCSSStyleSheet):
580 (WebCore::Cache::revalidateResource):
581 (WebCore::Cache::addCachedResourceLoader):
582 (WebCore::Cache::removeCachedResourceLoader):
584 * loader/CachedCSSStyleSheet.h:
585 * loader/CachedFont.cpp:
586 (WebCore::CachedFont::load):
587 (WebCore::CachedFont::beginLoadIfNeeded):
588 * loader/CachedFont.h:
589 * loader/CachedImage.cpp:
590 (WebCore::CachedImage::load):
591 (WebCore::CachedImage::maximumDecodedImageSize):
592 * loader/CachedImage.h:
593 * loader/CachedResource.cpp:
594 (WebCore::CachedResource::CachedResource):
595 (WebCore::CachedResource::~CachedResource):
596 (WebCore::CachedResource::load):
597 * loader/CachedResource.h:
598 (WebCore::CachedResource::load):
599 (WebCore::CachedResource::setCachedResourceLoader):
600 * loader/CachedResourceLoader.cpp: Copied from WebCore/loader/DocLoader.cpp.
601 (WebCore::CachedResourceLoader::CachedResourceLoader):
602 (WebCore::CachedResourceLoader::~CachedResourceLoader):
603 (WebCore::CachedResourceLoader::frame):
604 (WebCore::CachedResourceLoader::checkForReload):
605 (WebCore::CachedResourceLoader::requestImage):
606 (WebCore::CachedResourceLoader::requestFont):
607 (WebCore::CachedResourceLoader::requestCSSStyleSheet):
608 (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
609 (WebCore::CachedResourceLoader::requestScript):
610 (WebCore::CachedResourceLoader::requestXSLStyleSheet):
611 (WebCore::CachedResourceLoader::requestLinkPrefetch):
612 (WebCore::CachedResourceLoader::canRequest):
613 (WebCore::CachedResourceLoader::requestResource):
614 (WebCore::CachedResourceLoader::printAccessDeniedMessage):
615 (WebCore::CachedResourceLoader::setAutoLoadImages):
616 (WebCore::CachedResourceLoader::cachePolicy):
617 (WebCore::CachedResourceLoader::removeCachedResource):
618 (WebCore::CachedResourceLoader::setLoadInProgress):
619 (WebCore::CachedResourceLoader::checkCacheObjectStatus):
620 (WebCore::CachedResourceLoader::incrementRequestCount):
621 (WebCore::CachedResourceLoader::decrementRequestCount):
622 (WebCore::CachedResourceLoader::requestCount):
623 (WebCore::CachedResourceLoader::preload):
624 (WebCore::CachedResourceLoader::checkForPendingPreloads):
625 (WebCore::CachedResourceLoader::requestPreload):
626 (WebCore::CachedResourceLoader::clearPreloads):
627 (WebCore::CachedResourceLoader::clearPendingPreloads):
628 (WebCore::CachedResourceLoader::printPreloadStats):
629 * loader/CachedResourceLoader.h: Copied from WebCore/loader/DocLoader.h.
630 * loader/CachedScript.h:
631 * loader/CachedXSLStyleSheet.h:
632 * loader/DocLoader.cpp: Removed.
633 * loader/DocLoader.h: Removed.
634 * loader/DocumentLoader.cpp:
635 (WebCore::DocumentLoader::isLoadingInAPISense):
636 (WebCore::DocumentLoader::subresource):
637 (WebCore::DocumentLoader::getSubresources):
638 * loader/FrameLoader.cpp:
639 (WebCore::numRequests):
640 (WebCore::FrameLoader::stopLoading):
641 (WebCore::FrameLoader::didBeginDocument):
642 * loader/HistoryController.cpp:
643 (WebCore::HistoryController::createItem):
644 * loader/ImageLoader.cpp:
645 (WebCore::ImageLoader::updateFromElement):
646 * loader/Request.cpp:
647 (WebCore::Request::Request):
649 (WebCore::Request::cachedResourceLoader):
651 (WebCore::Loader::load):
652 (WebCore::Loader::cancelRequests):
653 (WebCore::Loader::Host::servePendingRequests):
654 (WebCore::Loader::Host::didFinishLoading):
655 (WebCore::Loader::Host::didFail):
656 (WebCore::Loader::Host::didReceiveResponse):
657 (WebCore::Loader::Host::cancelPendingRequests):
658 (WebCore::Loader::Host::cancelRequests):
660 * page/DragController.cpp:
661 (WebCore::DragController::concludeEditDrag):
663 * page/FrameView.cpp:
664 (WebCore::FrameView::checkStopDelayingDeferredRepaints):
665 (WebCore::FrameView::updateDeferredRepaintDelay):
667 (WebCore::setLoadsImagesAutomaticallyInAllFrames):
668 * platform/android/TemporaryLinkStubs.cpp:
669 (WebCore::CheckCacheObjectStatus):
670 * platform/network/android/ResourceHandleAndroid.cpp:
671 (WebCore::ResourceHandle::start):
672 * platform/network/cf/ResourceHandleCFNet.cpp:
673 * platform/network/curl/ResourceHandleCurl.cpp:
674 * platform/network/mac/ResourceHandleMac.mm:
675 * platform/network/qt/ResourceHandleQt.cpp:
676 * platform/network/soup/ResourceHandleSoup.cpp:
677 * platform/network/win/ResourceHandleWin.cpp:
678 * svg/SVGFEImageElement.cpp:
679 (WebCore::SVGFEImageElement::requestImageResource):
680 * svg/SVGFontFaceUriElement.cpp:
681 (WebCore::SVGFontFaceUriElement::loadFont):
682 * workers/Worker.cpp:
683 * xml/XSLImportRule.cpp:
684 (WebCore::XSLImportRule::loadSheet):
685 * xml/XSLStyleSheet.h:
686 * xml/XSLStyleSheetLibxslt.cpp:
687 (WebCore::XSLStyleSheet::cachedResourceLoader):
688 (WebCore::XSLStyleSheet::parseString):
689 * xml/XSLStyleSheetQt.cpp:
690 (WebCore::XSLStyleSheet::cachedResourceLoader):
691 * xml/XSLTProcessor.cpp:
692 * xml/XSLTProcessorLibxslt.cpp:
693 (WebCore::docLoaderFunc):
694 (WebCore::setXSLTLoadCallBack):
695 (WebCore::xmlDocPtrFromNode):
696 (WebCore::XSLTProcessor::transformToString):
698 2010-09-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
700 Reviewed by Eric Carlson.
702 Add mediaPlayerPlaybackStateChanged to MediaPlayerClient
704 https://bugs.webkit.org/show_bug.cgi?id=45263
706 The platform backend may change state, for example as a result
707 of an external plugin controlling the backend, so we need to
708 react to this situation by syncing up the WebCore state with the
711 We call playInternal()/pauseInternal() depending on the backend
712 state, to trigger the corresponding DOM events to match the state.
714 updatePlayState() is then refactored to take into account the
715 situation where the backend is already in the correct state but
716 WebCore is not, so that we update the playback progress timer
717 and set m_playing correctly.
719 updatePlayState() changes Should be covered by existing tests.
721 * html/HTMLMediaElement.cpp:
722 (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
723 (WebCore::HTMLMediaElement::updatePlayState):
724 * html/HTMLMediaElement.h:
725 * platform/graphics/MediaPlayer.cpp:
726 (WebCore::MediaPlayer::playbackStateChanged):
727 * platform/graphics/MediaPlayer.h:
728 (WebCore::MediaPlayerClient::mediaPlayerPlaybackStateChanged):
730 2010-09-08 Adam Barth <abarth@webkit.org>
732 Reviewed by Eric Seidel.
734 TextDocument doesn't belong in WebCore/loader
735 https://bugs.webkit.org/show_bug.cgi?id=45346
737 TextDocument has nothing to do with loading. It turns out that it
738 should be in WebCore/html because TextDocument is actually a subclass
739 of HTMLDocument (in quirks mode, no less).
746 * WebCore.vcproj/WebCore.vcproj:
747 * WebCore.xcodeproj/project.pbxproj:
748 * html/TextDocument.cpp: Renamed from WebCore/loader/TextDocument.cpp.
749 (WebCore::TextDocument::TextDocument):
750 (WebCore::TextDocument::createParser):
751 * html/TextDocument.h: Renamed from WebCore/loader/TextDocument.h.
752 (WebCore::TextDocument::create):
754 2010-09-08 Adam Barth <abarth@webkit.org>
756 Reviewed by Eric Seidel.
758 Create TextViewSourceParser
759 https://bugs.webkit.org/show_bug.cgi?id=45343
761 Rather than have the view source document set a flag on
762 HTMLViewSourceParser to indicate whether we're parsing a text document,
763 this patch creates a TextViewSourceParser for parsing text documents in
764 view-source mode. Like the TextDocumentParser, the
765 TextViewSourceParser implements this functionality by subclassing its
773 * WebCore.vcproj/WebCore.vcproj:
774 * WebCore.xcodeproj/project.pbxproj:
775 * html/HTMLViewSourceDocument.cpp:
776 (WebCore::HTMLViewSourceDocument::createParser):
777 * html/parser/HTMLViewSourceParser.cpp:
778 * html/parser/HTMLViewSourceParser.h:
779 (WebCore::HTMLViewSourceParser::tokenizer):
780 * html/parser/TextViewSourceParser.cpp: Added.
781 (WebCore::TextViewSourceParser::TextViewSourceParser):
782 (WebCore::TextViewSourceParser::~TextViewSourceParser):
783 * html/parser/TextViewSourceParser.h: Added.
784 (WebCore::TextViewSourceParser::create):
786 2010-09-08 Adam Barth <abarth@webkit.org>
788 Reviewed by Darin Adler.
790 Move HTMLInputStream to WebCore/html/parser
791 https://bugs.webkit.org/show_bug.cgi?id=45339
793 I forgot to move this file before.
797 * WebCore.vcproj/WebCore.vcproj:
798 * WebCore.xcodeproj/project.pbxproj:
799 * html/parser/HTMLInputStream.h: Renamed from WebCore/html/HTMLInputStream.h.
800 (WebCore::HTMLInputStream::HTMLInputStream):
801 (WebCore::HTMLInputStream::appendToEnd):
802 (WebCore::HTMLInputStream::insertAtCurrentInsertionPoint):
803 (WebCore::HTMLInputStream::hasInsertionPoint):
804 (WebCore::HTMLInputStream::markEndOfFile):
805 (WebCore::HTMLInputStream::haveSeenEndOfFile):
806 (WebCore::HTMLInputStream::current):
807 (WebCore::HTMLInputStream::splitInto):
808 (WebCore::HTMLInputStream::mergeFrom):
809 (WebCore::InsertionPointRecord::InsertionPointRecord):
810 (WebCore::InsertionPointRecord::~InsertionPointRecord):
812 2010-09-08 Adam Barth <abarth@webkit.org>
814 Reviewed by Eric Seidel.
816 TextDocument should come in from the cold
817 https://bugs.webkit.org/show_bug.cgi?id=45334
819 Previously, TextDocument reinvented the wheel to parse text. This
820 patch replaces TextDocument's hand-rolled parser with a parser built on
821 the HTML parser infrustructure, which gives us that stuff for free. I
822 also disentangled TextDocument from HTMLViewSourceDocument.
824 In a future patch, I'll move TextDocument out of the "loader" directory.
831 * WebCore.vcproj/WebCore.vcproj:
832 * WebCore.xcodeproj/project.pbxproj:
833 * html/HTMLViewSourceDocument.cpp:
834 (WebCore::HTMLViewSourceDocument::createParser):
835 * html/HTMLViewSourceDocument.h:
836 * html/parser/HTMLTreeBuilder.cpp:
837 (WebCore::HTMLTreeBuilder::constructTreeFromToken):
838 (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
839 * html/parser/HTMLTreeBuilder.h:
840 * html/parser/HTMLViewSourceParser.cpp:
841 (WebCore::HTMLViewSourceParser::forcePlaintext):
842 * html/parser/HTMLViewSourceParser.h:
843 * html/parser/TextDocumentParser.cpp: Added.
844 (WebCore::TextDocumentParser::TextDocumentParser):
845 (WebCore::TextDocumentParser::~TextDocumentParser):
846 (WebCore::TextDocumentParser::insertFakePreElement):
847 * html/parser/TextDocumentParser.h: Added.
848 (WebCore::TextDocumentParser::create):
849 * loader/TextDocument.cpp:
850 * loader/TextDocument.h:
852 2010-09-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
854 Reviewed by Andreas Kling.
856 Implement MediaPlayerPrivate::platformMedia() for the Qt port
858 https://bugs.webkit.org/show_bug.cgi?id=45264
860 * platform/graphics/MediaPlayer.h:
861 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
862 (WebCore::MediaPlayerPrivate::platformMedia):
863 * platform/graphics/qt/MediaPlayerPrivateQt.h:
865 2010-09-08 Zoltan Herczeg <zherczeg@webkit.org>
867 Reviewed by Dirk Schulze.
869 An individual renderer should be assigned to each SVGFE*Element class
870 https://bugs.webkit.org/show_bug.cgi?id=43954
872 RenderSVGResourceFilterPrimitive renderer is added to
873 the project, and assigned to each object, which class is
874 derived from SVGFilterPrimitiveStandardAttributes. The patch
875 mainly contains build system changes, and it fixes one layout
876 test in svg/dynamic-updates.
883 * WebCore.vcproj/WebCore.vcproj:
884 * WebCore.xcodeproj/project.pbxproj:
885 * rendering/RenderObject.h:
886 (WebCore::RenderObject::isSVGResourceFilterPrimitive):
887 * rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
888 (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
889 * rendering/RenderSVGResourceFilterPrimitive.h: Added.
890 (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
891 * rendering/SVGRenderTreeAsText.cpp:
892 (WebCore::writeSVGContainer):
893 * svg/SVGFEDiffuseLightingElement.cpp:
894 (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
895 * svg/SVGFELightElement.cpp:
896 (WebCore::SVGFELightElement::svgAttributeChanged):
897 (WebCore::SVGFELightElement::childrenChanged):
898 * svg/SVGFEOffsetElement.cpp:
899 (WebCore::SVGFEOffsetElement::svgAttributeChanged):
900 * svg/SVGFilterElement.h:
901 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
902 (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
903 (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
904 (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
905 * svg/SVGFilterPrimitiveStandardAttributes.h:
906 (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
908 2010-09-07 Sam Weinig <sam@webkit.org>
910 Reviewed by Dan Bernstein.
912 DatasetDOMStringMap does not have the right memory model
913 https://bugs.webkit.org/show_bug.cgi?id=45358
915 Test: fast/dom/dataset-gc.html
917 * bindings/js/JSElementCustom.cpp:
918 (WebCore::JSElement::markChildren):
919 Mark the dataset if it exists.
922 (WebCore::Element::optionalDataset):
924 Expose a way to get the dataset or null (depending on if anyone thing
925 has forced its creation yet).
927 2010-09-07 Jan E Hanssen <jhanssen@sencha.com>
929 Reviewed by Andreas Kling.
931 [Qt] Add a separate Path::closeCanvasSubpath() function for canvas paths
932 https://bugs.webkit.org/show_bug.cgi?id=45331
934 This is needed due to an adverse effect of the fix in 44061 that causes
935 certain paths not to be closed. This is not important for canvas paths
936 but it is for SVG paths, so splitting up the code in a generic (SVG)
937 case and one specialized for canvas.
939 Test: svg/dom/path-totalLength.html
941 * html/canvas/CanvasRenderingContext2D.cpp:
942 (WebCore::CanvasRenderingContext2D::closePath):
943 * platform/graphics/Path.h:
944 (WebCore::Path::closeCanvasSubpath):
945 * platform/graphics/qt/PathQt.cpp:
946 (WebCore::Path::closeSubpath):
947 (WebCore::Path::closeCanvasSubpath):
949 2010-09-07 Simon Fraser <simon.fraser@apple.com>
951 Reviewed by Chris Marrin.
953 Transform animations always run in software now
954 https://bugs.webkit.org/show_bug.cgi?id=45341
956 After r66339 we always fell into software animation, because we
957 failed to detect transform or opacity properties in the keyframes,
958 so would send an empty list of values to the GraphicsLayer.
960 Fixed by using CSSProperty values, rather than GraphicsLayer
961 values, when detecting the presence of properties in the keyframes.
963 Test: manual-tests/transition-accelerated.html
965 * rendering/RenderLayerBacking.cpp:
966 (WebCore::RenderLayerBacking::startAnimation):
968 2010-09-07 Chris Rogers <crogers@google.com>
970 Reviewed by Kenneth Russell.
972 audio engine: add FFTFrame files
973 https://bugs.webkit.org/show_bug.cgi?id=34827
975 No new tests since audio API is not yet implemented.
977 * platform/audio/FFTFrame.cpp: Added.
978 (WebCore::FFTFrame::doPaddedFFT):
979 (WebCore::FFTFrame::createInterpolatedFrame):
980 (WebCore::FFTFrame::interpolateFrequencyComponents):
981 (WebCore::FFTFrame::extractAverageGroupDelay):
982 (WebCore::FFTFrame::addConstantGroupDelay):
983 (WebCore::FFTFrame::print):
984 * platform/audio/FFTFrame.h: Added.
985 (WebCore::FFTFrame::fftSize):
986 (WebCore::FFTFrame::log2FFTSize):
987 (WebCore::FFTFrame::dspSplitComplex):
988 * platform/audio/mac/FFTFrameMac.cpp: Added.
989 (WebCore::FFTFrame::FFTFrame):
990 (WebCore::FFTFrame::~FFTFrame):
991 (WebCore::FFTFrame::multiply):
992 (WebCore::FFTFrame::doFFT):
993 (WebCore::FFTFrame::doInverseFFT):
994 (WebCore::FFTFrame::fftSetupForSize):
995 (WebCore::FFTFrame::cleanup):
996 (WebCore::FFTFrame::realData):
997 (WebCore::FFTFrame::imagData):
999 2010-09-07 Brent Fulgham <bfulgham@webkit.org>
1001 Build fix, no review.
1003 Provide stubs to allow WebKit.dll to build
1004 for the WinCairo port.
1006 * platform/network/curl/ResourceRequest.h:
1007 (WebCore::ResourceRequest::ResourceRequest):
1008 * platform/network/curl/ResourceResponse.h:
1009 (WebCore::ResourceResponse::cfURLResponse):
1011 2010-09-07 Chris Rogers <crogers@google.com>
1013 Reviewed by Kenneth Russell.
1016 https://bugs.webkit.org/show_bug.cgi?id=45204
1018 No new tests since audio API is not yet implemented.
1020 * platform/audio/AudioArray.h: Added.
1021 (WebCore::AudioArray::AudioArray):
1022 (WebCore::AudioArray::zero):
1023 (WebCore::AudioArray::zeroRange):
1024 (WebCore::AudioArray::copyToRange):
1026 2010-09-07 Mihai Parparita <mihaip@chromium.org>
1028 Reviewed by Oliver Hunt.
1030 pushState and replaceState do not clone RegExp objects correctly
1031 https://bugs.webkit.org/show_bug.cgi?id=44718
1033 Add RegExp support to the JSC implementation of SerializedScriptValue
1034 (it stores the pattern and flags read from a RegExpObject, and creates
1035 a new one on deserialization).
1037 Tests: fast/loader/stateobjects/pushstate-object-types.html
1039 * ForwardingHeaders/runtime/RegExp.h: Added.
1040 * ForwardingHeaders/runtime/RegExpObject.h: Added.
1041 * bindings/js/SerializedScriptValue.cpp:
1042 (WebCore::CloneSerializer::dumpIfTerminal):
1043 (WebCore::CloneDeserializer::readTerminal):
1045 2010-09-07 James Robinson <jamesr@chromium.org>
1047 Reviewed by Kenneth Russell.
1049 Fix compile errors in DrawingBuffer if USE(ACCELERATED_COMPOSITING) is not set
1050 https://bugs.webkit.org/show_bug.cgi?id=45324
1052 Adds appropriate #if guards around code that has to deal directly with the compositor.
1053 DrawingBuffer can still be used without the compositor as an off-screen rendering
1056 To test, compile without USE(ACCELERATED_COMPOSITING).
1058 * platform/graphics/chromium/DrawingBufferChromium.cpp:
1059 (WebCore::DrawingBuffer::~DrawingBuffer):
1060 (WebCore::DrawingBuffer::reset):
1061 * platform/graphics/gpu/DrawingBuffer.h:
1063 2010-09-03 Joseph Pecoraro <joepeck@webkit.org>
1065 Reviewed by Darin Adler.
1067 Provide a way to trigger a <select multiple> onchange event on changes
1068 https://bugs.webkit.org/show_bug.cgi?id=45192
1070 Test: LayoutTests/platform/mac/fast/objc/dom-html-select-activate.html
1072 This provides a way for a WebKit client using the Obj-C DOM bindings to
1073 trigger the "change" on a listbox select (<select multiple> or <select>
1074 with size > 1). This is because when a select is rendered as a listbox
1075 "change" events are triggered by mouse down events.
1077 This adds -[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]
1078 to allow for handling multiple selections if the select element is a
1081 * bindings/objc/DOMHTML.mm:
1082 (-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]):
1083 * bindings/objc/DOMPrivate.h: unified the Category name. Was "FormsAutocomplete" now all are "FormAutocomplete".
1084 * dom/SelectElement.h:
1085 * html/HTMLSelectElement.cpp:
1086 (WebCore::HTMLSelectElement::setSelectedIndexByUser): listboxs need to be treated specially to fire their "change" event.
1087 * html/HTMLSelectElement.h:
1088 * wml/WMLSelectElement.cpp:
1089 (WebCore::WMLSelectElement::setSelectedIndexByUser):
1091 2010-09-07 Simon Fraser <simon.fraser@apple.com>
1093 Reviewed by Darin Adler.
1095 Minor WKCACFLayerRenderer cleanup
1096 https://bugs.webkit.org/show_bug.cgi?id=45201
1098 Call initD3DGeometry() from createRenderer, rather than duplicating the code.
1100 No behavior changes.
1102 * platform/graphics/win/WKCACFLayerRenderer.cpp:
1103 (WebCore::WKCACFLayerRenderer::createRenderer):
1105 2010-09-07 Vangelis Kokkevis <vangelis@chromium.org>
1107 Reviewed by Darin Fisher.
1109 [chromium] Reset the owner of PlatformLayer's once the GraphicsLayer they are associated with
1111 https://bugs.webkit.org/show_bug.cgi?id=45329
1113 Test: Fixes UI test failures downstream for all the Media tests when run on the buildbots (machines without GPUs).
1115 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1116 (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1118 2010-09-07 Anders Carlsson <andersca@apple.com>
1120 Reviewed by Darin Adler.
1122 <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
1124 Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
1126 * Configurations/Base.xcconfig:
1128 2010-09-07 Abhishek Arya <inferno@chromium.org>
1130 Reviewed by Darin Adler.
1132 Remove redundant bounds check in originalText(). Add bounds check
1133 to previousCharacter(). No need of start() > 0 check since m_start
1134 is unsigned and we already do start() null check inside function.
1135 https://bugs.webkit.org/show_bug.cgi?id=45303
1137 Test: fast/text/one-letter-transform-crash.html
1139 * rendering/RenderTextFragment.cpp:
1140 (WebCore::RenderTextFragment::originalText):
1141 (WebCore::RenderTextFragment::previousCharacter):
1143 2010-09-07 Kenneth Russell <kbr@google.com>
1145 Reviewed by Dimitri Glazkov.
1147 Regression in JPEG texture uploads on Mac OS X
1148 https://bugs.webkit.org/show_bug.cgi?id=45316
1150 Fixed regression introduced in
1151 https://bugs.webkit.org/show_bug.cgi?id=44566 . Added regression
1152 test covering this case to gl-teximage.html in Khronos repository
1153 and synced test with WebKit's version.
1155 * platform/graphics/cg/GraphicsContext3DCG.cpp:
1156 (WebCore::GraphicsContext3D::getImageData):
1158 2010-09-07 Martin Robinson <mrobinson@igalia.com>
1160 Add rendering/ColumnInfo.h to the sources list.
1164 2010-09-07 David Hyatt <hyatt@apple.com>
1166 Reviewed by Beth Dakin.
1168 https://bugs.webkit.org/show_bug.cgi?id=45317, encapsulate multi-column rectangle information.
1170 * WebCore.xcodeproj/project.pbxproj:
1171 * rendering/ColumnInfo.h: Added.
1172 (WebCore::ColumnInfo::ColumnInfo):
1173 (WebCore::ColumnInfo::desiredColumnWidth):
1174 (WebCore::ColumnInfo::setDesiredColumnWidth):
1175 (WebCore::ColumnInfo::desiredColumnCount):
1176 (WebCore::ColumnInfo::setDesiredColumnCount):
1177 (WebCore::ColumnInfo::columnCount):
1178 (WebCore::ColumnInfo::columnRectAt):
1179 (WebCore::ColumnInfo::clearColumns):
1180 (WebCore::ColumnInfo::addColumnRect):
1181 * rendering/RenderBlock.cpp:
1182 (WebCore::RenderBlock::paintColumnRules):
1183 (WebCore::RenderBlock::paintColumnContents):
1184 (WebCore::RenderBlock::lowestPosition):
1185 (WebCore::RenderBlock::rightmostPosition):
1186 (WebCore::RenderBlock::leftmostPosition):
1187 (WebCore::RenderBlock::hitTestColumns):
1188 (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
1189 (WebCore::RenderBlock::desiredColumnWidth):
1190 (WebCore::RenderBlock::desiredColumnCount):
1191 (WebCore::RenderBlock::columnInfo):
1192 (WebCore::RenderBlock::layoutColumns):
1193 (WebCore::RenderBlock::adjustPointToColumnContents):
1194 (WebCore::RenderBlock::adjustRectForColumns):
1195 (WebCore::RenderBlock::adjustForColumns):
1196 * rendering/RenderBlock.h:
1197 * rendering/RenderLayer.cpp:
1198 (WebCore::RenderLayer::paintChildLayerIntoColumns):
1199 (WebCore::RenderLayer::hitTestChildLayerColumns):
1201 2010-09-07 Dan Bernstein <mitz@apple.com>
1203 Reviewed by Dave Hyatt.
1205 <rdar://problem/7794761> Floats inside of multicol fail to hit test
1206 https://bugs.webkit.org/show_bug.cgi?id=44730
1208 Test: fast/multicol/hit-test-float.html
1210 Factored float hit-testing out of nodeAtPoint so that hitTestColumns could
1211 call it with column-adjusted coordinates.
1213 * rendering/RenderBlock.cpp:
1214 (WebCore::RenderBlock::nodeAtPoint):
1215 (WebCore::RenderBlock::hitTestFloats):
1216 (WebCore::RenderBlock::hitTestColumns):
1217 * rendering/RenderBlock.h:
1219 2010-09-07 François Sausset <sausset@gmail.com>
1221 Reviewed by Beth Dakin.
1223 <math> element should be centered when display attribute set to block.
1224 https://bugs.webkit.org/show_bug.cgi?id=44206
1226 Test: mathml/presentation/attributes.xhtml
1229 (math[display="block"]):
1231 2010-09-07 Eric Carlson <eric.carlson@apple.com>
1233 Reviewed by Darin Adler.
1235 Media elements should derive from ActiveDOMObjects
1236 https://bugs.webkit.org/show_bug.cgi?id=45306
1237 <rdar://problem/7929062>
1239 * html/HTMLMediaElement.cpp:
1240 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize ActiveDOMObject
1241 (WebCore::HTMLMediaElement::stop): Call suspend, we want to do the same thing in both cases.
1242 (WebCore::HTMLMediaElement::suspend): Rename from documentWillBecomeInactive.
1243 (WebCore::HTMLMediaElement::resume): Rename from documentDidBecomeActive.
1244 (WebCore::HTMLMediaElement::hasPendingActivity): Return true if the event queue is not empty
1245 so the element can't be collected before they are sent.
1246 * html/HTMLMediaElement.h:
1247 (WebCore::HTMLMediaElement::canSuspend):
1249 2010-09-07 Dimitri Glazkov <dglazkov@chromium.org>
1251 Unreviewed, rolling out r66886.
1252 http://trac.webkit.org/changeset/66886
1253 https://bugs.webkit.org/show_bug.cgi?id=45112
1257 * platform/chromium/GeolocationServiceChromium.cpp:
1258 * platform/chromium/GeolocationServiceChromium.h:
1260 2010-09-07 Martin Robinson <mrobinson@igalia.com>
1262 Small build fix. Remove libWebCoreJS from CLEAN_FILES, as it
1265 * GNUmakefile.am: Remove reference to libWebCoreJS.
1267 2010-09-07 Martin Robinson <mrobinson@igalia.com>
1269 Reviewed by Xan Lopez.
1271 [GTK] [REGRESSION] r66848 caused a crash in testwebview
1272 https://bugs.webkit.org/show_bug.cgi?id=45298
1274 No new tests as this fixes a test failure.
1276 * platform/gtk/ScrollViewGtk.cpp:
1277 (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
1278 scrollbar adjustments unless this is a main frame ScrollView. If we do
1279 Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
1282 2010-09-07 Kristian Monsen <kristianm@google.com>
1284 Reviewed by Steve Block.
1286 Compile fix for Android.
1287 https://bugs.webkit.org/show_bug.cgi?id=45292
1288 Explicitly add needed header for
1289 STRING_TO_V8PARAMETER_EXCEPTION_BLOCK as they do not get
1290 included through other headers on Android.
1292 No new tests, just a compile fix.
1294 * bindings/scripts/CodeGeneratorV8.pm:
1296 2010-09-07 Martin Robinson <mrobinson@igalia.com>
1298 Reviewed by Xan Lopez.
1300 [GTK] Fix some feature guards
1301 https://bugs.webkit.org/show_bug.cgi?id=45302
1303 No new tests as this is just a build change.
1305 * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Guard with #if ENABLE(VIDEO)
1306 * platform/graphics/gstreamer/DataSourceGStreamer.h: Ditto.
1307 * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Ditto.
1308 * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Ditto.
1309 * platform/graphics/gstreamer/GStreamerGWorld.cpp: Ditto.
1310 * platform/graphics/gstreamer/GStreamerGWorld.h: Ditto.
1311 * platform/graphics/gstreamer/ImageGStreamer.h: Ditto.
1312 * platform/graphics/gstreamer/ImageGStreamerCG.mm: Ditto.
1313 * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.
1314 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Ditto.
1315 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto.
1316 * platform/graphics/gstreamer/PlatformVideoWindow.h: Ditto.
1317 * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Ditto.
1318 * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Ditto.
1319 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Ditto.
1320 * platform/graphics/gstreamer/VideoSinkGStreamer.h: Ditto.
1321 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Ditto.
1322 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Ditto.
1323 * platform/gtk/GeolocationServiceGtk.cpp: Guard with ENABLE(GEOLOCATION)
1324 * platform/gtk/GeolocationServiceGtk.h: Ditto.
1326 2010-09-07 Jonathan Dixon <joth@chromium.org>
1328 Reviewed by Jeremy Orlow.
1330 Access to out-of-scope WebGeolocationServiceBridgeImpl
1331 https://bugs.webkit.org/show_bug.cgi?id=45112
1333 Add missing virtual destructor to the abstract base class.
1335 * platform/chromium/GeolocationServiceChromium.cpp:
1336 (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
1337 * platform/chromium/GeolocationServiceChromium.h:
1339 2010-09-07 Martin Robinson <mrobinson@igalia.com>
1341 Reviewed by Xan Lopez.
1343 [GTK] [REGRESSION] r66848 caused a crash in testwebview
1344 https://bugs.webkit.org/show_bug.cgi?id=45298
1346 No new tests as this fixes a test failure.
1348 * platform/gtk/ScrollViewGtk.cpp:
1349 (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the
1350 scrollbar adjustments unless this is a main frame ScrollView. If we do
1351 Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing
1354 2010-09-07 Adam Langley <agl@chromium.org>
1356 Reviewed by Tony Chang.
1358 [chromium] Fix complex text word spacing on Linux.
1360 I broke complex text word spacing with r66689. I misnamed a
1361 variable in the original code |glyphIndex| when it was
1362 actually indexing code points. That meant that I compared it
1363 against the wrong limit when working around Harfbuzz issues
1364 and neatly disabled word spacing.
1366 https://bugs.webkit.org/show_bug.cgi?id=45191
1368 Test: fast/text/atsui-spacing-features.html
1370 * platform/graphics/chromium/FontLinux.cpp:
1371 (WebCore::TextRunWalker::setGlyphXPositions):
1373 2010-09-07 Satish Sampath <satish@chromium.org>
1375 Reviewed by Steve Block.
1377 Fix speech button's hit test logic for RTL rendering.
1378 https://bugs.webkit.org/show_bug.cgi?id=45288
1380 * rendering/RenderTextControlSingleLine.cpp:
1381 (WebCore::RenderTextControlSingleLine::forwardEvent):
1383 2010-09-07 Satish Sampath <satish@chromium.org>
1385 Reviewed by Jeremy Orlow.
1387 Ignore programmatic clicks on speech input button for security reasons.
1388 https://bugs.webkit.org/show_bug.cgi?id=45181
1390 Test: fast/speech/speech-button-ignore-generated-events.html
1392 * rendering/TextControlInnerElements.cpp:
1393 (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
1395 2010-09-07 Kent Hansen <kent.hansen@nokia.com>
1397 Reviewed by Andreas Kling.
1399 [Qt] tst_QWebFrame::connectAndDisconnect() fails on WebKit trunk because __qt_sender__ is never set
1400 https://bugs.webkit.org/show_bug.cgi?id=44697
1402 When the signal handler is a JS function, __qt_sender__ is stuffed into a temporary
1403 object that's pushed onto the function's scope before the function is invoked, and
1404 popped again afterwards.
1406 We were pushing this new scope object _after_ calling JSFunction::getCallData(),
1407 and relying on JSC::call() to use the fresh scope chain from the function object.
1408 However, this is no longer the case; JSC::call() uses the scope chain passed in
1409 the CallData argument. Hence, we need to set up the scope before the function's
1410 CallData is queried.
1412 * bridge/qt/qt_runtime.cpp:
1413 (JSC::Bindings::QtConnectionObject::execute):
1415 2010-09-07 Kwang Yul Seo <skyul@company100.net>
1417 Reviewed by Kent Tamura.
1419 Add ENABLE(INSPECTOR) guard in InspectorController::inspectorControllerForNode
1420 https://bugs.webkit.org/show_bug.cgi?id=45272
1424 * inspector/InspectorController.h:
1425 (WebCore::InspectorController::inspectorControllerForNode):
1427 2010-09-07 Joerg Bornemann <joerg.bornemann@nokia.com>
1429 Reviewed by Ariya Hidayat.
1431 Fix QtWebKit linker error on Windows CE 6.
1432 https://bugs.webkit.org/show_bug.cgi?id=43442
1434 Doesn't affect any tests.
1438 2010-09-07 James Kozianski <koz@chromium.org>
1440 Reviewed by Kent Tamura.
1442 Crash rendering <meter/> with percent padding
1443 https://bugs.webkit.org/show_bug.cgi?id=45081
1445 Avoids a crash caused by RenderMeter checking its own dimensions to
1446 determine whether it needs layout. The crash is avoided by removing
1447 the check and always calling setNeedsLayout(true).
1449 Test: fast/dom/HTMLMeterElement/meter-percent-size.html
1451 * rendering/RenderIndicator.cpp:
1452 (WebCore::RenderIndicator::updateFromElement):
1453 * rendering/RenderIndicator.h:
1455 2010-09-06 Adam Barth <abarth@webkit.org>
1457 Reviewed by Sam Weinig.
1459 OOB read with svg polyline
1460 https://bugs.webkit.org/show_bug.cgi?id=45279
1462 In principle, attributeChanged can do anything. If we supported more
1463 DOM mutation events, it could even run JavaScript. That means we need
1464 to be prepared for the attribute map to change when running
1465 attributeChanged. This patch makes this loop resilient to the
1466 attribute map changing by storing the list of changed attributes on the
1469 Test: fast/parser/changing-attrbutes-crash.html
1472 (WebCore::Element::setAttributeMap):
1474 2010-09-06 Oliver Hunt <oliver@apple.com>
1478 * bindings/js/SerializedScriptValue.cpp:
1479 (WebCore::CloneSerializer::write):
1481 2010-09-06 Oliver Hunt <oliver@apple.com>
1485 * bindings/js/SerializedScriptValue.cpp:
1486 (WebCore::CloneSerializer::write):
1488 2010-09-05 Oliver Hunt <oliver@apple.com>
1490 Reviewed by Sam Weinig.
1492 SerializedScriptValue needs to use a flat storage mechanism
1493 https://bugs.webkit.org/show_bug.cgi?id=45244
1495 Rewrite the old tree to tree serialization logic to use
1496 flat storage. Unfortunately this basically required a
1499 * bindings/js/SerializedScriptValue.cpp:
1500 (WebCore::CloneBase::CloneBase):
1501 (WebCore::CloneBase::shouldTerminate):
1502 (WebCore::CloneBase::ticksUntilNextCheck):
1503 (WebCore::CloneBase::didTimeOut):
1504 (WebCore::CloneBase::throwStackOverflow):
1505 (WebCore::CloneBase::throwInterruptedException):
1506 (WebCore::CloneBase::fail):
1507 (WebCore::CloneSerializer::serialize):
1508 (WebCore::CloneSerializer::CloneSerializer):
1509 (WebCore::CloneSerializer::isArray):
1510 (WebCore::CloneSerializer::startObject):
1511 (WebCore::CloneSerializer::startArray):
1512 (WebCore::CloneSerializer::endObject):
1513 (WebCore::CloneSerializer::getSparseIndex):
1514 (WebCore::CloneSerializer::getProperty):
1515 (WebCore::CloneSerializer::dumpImmediate):
1516 (WebCore::CloneSerializer::dumpString):
1517 (WebCore::CloneSerializer::dumpIfTerminal):
1518 (WebCore::CloneSerializer::write):
1519 (WebCore::CloneSerializer::writeLittleEndian):
1520 (WebCore::CloneSerializer::writeStringIndex):
1521 (WebCore::CloneDeserializer::deserializeString):
1522 (WebCore::CloneDeserializer::deserialize):
1523 (WebCore::CloneDeserializer::CloneDeserializer):
1524 (WebCore::CloneDeserializer::throwValidationError):
1525 (WebCore::CloneDeserializer::isValid):
1526 (WebCore::CloneDeserializer::readLittleEndian):
1527 (WebCore::CloneDeserializer::read):
1528 (WebCore::CloneDeserializer::readStringIndex):
1529 (WebCore::CloneDeserializer::readString):
1530 (WebCore::CloneDeserializer::readStringData):
1531 (WebCore::CloneDeserializer::readTag):
1532 (WebCore::CloneDeserializer::putProperty):
1533 (WebCore::CloneDeserializer::readFile):
1534 (WebCore::CloneDeserializer::readTerminal):
1535 (WebCore::SerializedScriptValue::~SerializedScriptValue):
1536 (WebCore::SerializedScriptValue::SerializedScriptValue):
1537 (WebCore::SerializedScriptValue::create):
1538 (WebCore::SerializedScriptValue::toString):
1539 (WebCore::SerializedScriptValue::deserialize):
1540 (WebCore::SerializedScriptValue::nullValue):
1541 * bindings/js/SerializedScriptValue.h:
1542 * dom/MessagePortChannel.cpp:
1543 (WebCore::MessagePortChannel::EventData::EventData):
1544 * workers/WorkerMessagingProxy.cpp:
1545 (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
1546 (WebCore::MessageWorkerTask::MessageWorkerTask):
1548 2010-09-06 Martin Robinson <mrobinson@igalia.com>
1550 Reviewed by Gustavo Noronha Silva.
1552 [GTK] ScrollbarThemeGtk should be enabled for interior frame scrollbars
1553 https://bugs.webkit.org/show_bug.cgi?id=45046
1555 Make interior frame scrollbars "fully-fake," which means they do not rely
1556 at all on GTK+ for painting or behavior, but instead are typical WebCore
1557 scrollbars drawn according to the GTK+ theme. Move ScrollbarGtk to
1558 MainFrameScrollbarGtk and remove all logic in that file dealing with interior
1561 No new tests, as this is already covered by pixel tests for scrollbars,
1562 which were added in r66605.
1564 * GNUmakefile.am: Update sources list.
1565 * platform/ScrollView.h: Change the adjustment members to be smart pointers.
1566 * platform/Scrollbar.cpp: Enable THUMB_POSITION_AFFECTS_BUTTONS for GTK+ as well.
1567 * platform/gtk/MainFrameScrollbarGtk.cpp: Added.
1568 (MainFrameScrollbarGtk::create): Create a MainFrameScrollbarGtk instead of ScrollbarGtk.
1569 (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
1570 (MainFrameScrollbarGtk::~MainFrameScrollbarGtk):
1571 (MainFrameScrollbarGtk::attachAdjustment):
1572 (MainFrameScrollbarGtk::detachAdjustment):
1573 (MainFrameScrollbarGtk::updateThumbPosition):
1574 (MainFrameScrollbarGtk::updateThumbProportion):
1575 (MainFrameScrollbarGtk::gtkValueChanged):
1576 (MainFrameScrollbarGtk::paint):
1577 * platform/gtk/MainFrameScrollbarGtk.h: Added.
1578 * platform/gtk/ScrollViewGtk.cpp:
1579 (WebCore::ScrollView::platformInit): Remove unnecessary initialization
1580 because of smart pointer change.
1581 (WebCore::ScrollView::createScrollbar): Instead of creating ScrollbarGtk for
1582 interior frame scrollbars, create a normal WebCore scrollbar.
1583 (WebCore::ScrollView::setGtkAdjustments): Added an extra assert which ensures
1584 that this method is never called with a non-null adjustment on an interior frame
1586 (WebCore::ScrollView::platformAddChild): Remove logic for interior frame scrollbars.
1587 (WebCore::ScrollView::platformRemoveChild): Remove logic for interior frame scrollbars.
1588 (WebCore::ScrollView::visibleContentRect): Use a more accurate guard for detecting
1589 transitionary states when accessing parent widgets. Explcitly guard against interior
1590 frame ScrollView's trying to determine size based on parent widgets.
1591 (WebCore::ScrollView::setScrollbarModes): This method was out of sync with the one
1592 it copy-and-pasted from. Update it and change the logic to do the right thing for
1593 interior frame scrollbars.
1594 * platform/gtk/ScrollbarGtk.cpp: Removed.
1595 * platform/gtk/ScrollbarGtk.h: Removed.
1597 2010-09-06 Justin Schuh <jschuh@chromium.org>
1599 Reviewed by Nikolas Zimmermann.
1601 Make SVG PendingResources use RefPtr
1602 https://bugs.webkit.org/show_bug.cgi?id=43587
1604 Convert SVGDocumentExtensions::m_pendingResources to use a RefPtr for
1605 pending elements instead of a raw pointer so that pending elements can't
1606 be freed prematurely.
1608 Test: svg/custom/use-invalid-pattern.svg
1610 * rendering/RenderSVGResourceContainer.cpp:
1611 (WebCore::RenderSVGResourceContainer::registerResource):
1612 * svg/SVGDocumentExtensions.cpp:
1613 (WebCore::SVGDocumentExtensions::addPendingResource):
1614 (WebCore::SVGDocumentExtensions::removePendingResource):
1615 * svg/SVGDocumentExtensions.h:
1616 * svg/SVGElement.cpp:
1617 (WebCore::SVGElement::insertedIntoDocument):
1619 2010-09-06 Martin Robinson <mrobinson@igalia.com>
1621 Reviewed by Gustavo Noronha Silva.
1623 [GTK] ScrollbarThemeGtk should support secondary steppers
1624 https://bugs.webkit.org/show_bug.cgi?id=44791
1626 Add support to ScrollbarThemeGtk for drawing alternate steppers. Adjust
1627 the algorithms for calculating forward and back button rects, if they
1628 are active in the theme. Expose this information via GtkScrollbarMetrics.
1630 * platform/gtk/ScrollbarThemeGtk.cpp:
1631 (WebCore::ScrollbarThemeGtk::updateThemeProperties): Access the secondary stepper properties
1632 of GtkScrollbarMetrics when updating the style cache.
1633 (WebCore::ScrollbarThemeGtk::backButtonRect): Account for alternate steppers.
1634 (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto.
1635 (WebCore::ScrollbarThemeGtk::trackRect): Ditto.
1636 (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
1637 * platform/gtk/ScrollbarThemeGtk.h:
1638 * platform/gtk/gtk2drawing.c: Expose whether or not the style uses alternate steppers
1639 via GtkScrollbarMetrics.
1640 * platform/gtk/gtkdrawing.h: Added fields to GtkScrollbarMetrics.
1642 2010-09-06 Tony Gentilcore <tonyg@chromium.org>
1644 Reviewed by Adam Barth.
1646 Implement HTML5 definition of document.readyState
1647 https://bugs.webkit.org/show_bug.cgi?id=45119
1649 The legacy behavior was "loading" -> "loaded" -> "complete". The new
1650 HTML5 behavior is "loading" -> "interactive" -> "complete". There is
1651 some potential for this to cause compat problems if for instance a
1652 page expects readyState to be "loaded" during the DOMContentLoaded event.
1654 Test: fast/dom/Document/readystate.html
1657 (WebCore::Document::Document): Initial value is Complete because according to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-readystate,
1658 when a Document is created the initial value is "complete" unless it has a parser associated with it, in which case it is "loading".
1659 So the ctor starts it Complete, and when the parser is created it is flipped to Loading.
1660 (WebCore::Document::readyState):
1661 (WebCore::Document::setReadyState):
1662 (WebCore::Document::implicitOpen):
1663 (WebCore::Document::finishedParsing): Ensure that XML and HTML parser have transition to Stopping state.
1665 * dom/DocumentParser.cpp:
1666 (WebCore::DocumentParser::prepareToStopParsing): Previously this was being called when parsing had stopped.
1667 It is better to ensure it is only called while parsing.
1668 * dom/XMLDocumentParser.cpp:
1669 (WebCore::XMLDocumentParser::end): Transition to stopping before calling document finishedParsiong().
1670 * html/parser/HTMLDocumentParser.cpp:
1671 (WebCore::HTMLDocumentParser::prepareToStopParsing): Set state to interactive before running deferred scripts.
1672 This method is also called when parsing fragments, so we need to ensure it isn't done in that case.
1673 (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd): Added. Break out this part s that notifyFinished doesn't go through
1674 the additional steps of pumping tokenizer, setting the state, etc.
1675 (WebCore::HTMLDocumentParser::notifyFinished): Now that prepareToStopParsing is split up, we must protect. It also makes sense to add a couple of ASSERTs.
1676 * loader/FrameLoader.cpp:
1677 (WebCore::FrameLoader::stopLoading): It looks like an aborted load should never transition to "complete" according the HTML5. I've left the legacy behavior for now though.
1678 (WebCore::FrameLoader::checkCompleted): The FrameLoader now sets the state on the Document instead of the Document polling the FrameLoader.
1680 2010-09-06 Anton Muhin <antonm@chromium.org>
1682 Reviewed by Adam Barth.
1684 [v8] Inline hot methods for V8 to WebCore and back conversions
1685 https://bugs.webkit.org/show_bug.cgi?id=45270
1687 Inline fast paths of hot functions performing conversions from V8 wrappers
1688 to WebCore native objects and back.
1689 That slightly increases the size of binary (within 0.1% for both Ubuntu
1690 and Windows, but those builds are slightly different from official ones),
1691 but gives performance boost (3--5% on Windows, up to 8% on Ubuntu).
1693 * bindings/scripts/CodeGeneratorV8.pm:
1694 * bindings/v8/V8DOMWindowShell.cpp:
1695 (WebCore::V8DOMWindowShell::initContextIfNeeded):
1696 * bindings/v8/V8DOMWindowShell.h:
1697 * bindings/v8/V8DOMWrapper.cpp:
1698 (WebCore::V8DOMWrapper::getWrapperSlow):
1699 * bindings/v8/V8DOMWrapper.h:
1700 (WebCore::V8DOMWrapper::getWrapper):
1701 * bindings/v8/custom/V8NodeCustom.cpp:
1702 (WebCore::toV8Slow):
1704 2010-09-06 Shane Stephens <shanestephens@google.com>
1706 Reviewed by Dimitri Glazkov.
1708 [Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use>
1709 https://bugs.webkit.org/show_bug.cgi?id=44750
1711 Fixes crash by checking for null transforms and skipping update step
1714 Test: svg/dom/symbol-embeddedAnimation.svg
1716 * svg/SVGAnimateMotionElement.cpp:
1717 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
1719 2010-09-06 Xan Lopez <xlopez@igalia.com>
1721 Rubber-stamped by Tor Arne Vestbø.
1723 WebCore already generates a focus-{out,in} events on its setFocus
1724 method, there's no need to duplicate it here. Previously this was
1725 needed because we were not catching all possible names of focus
1726 events in PluginView::handleEvent and were missing the ones
1727 WebCore does, but this has been fixed in r66827.
1729 * plugins/qt/PluginViewQt.cpp:
1730 (WebCore::PluginView::setFocus):
1732 2010-09-06 Sheriff Bot <webkit.review.bot@gmail.com>
1734 Unreviewed, rolling out r66823.
1735 http://trac.webkit.org/changeset/66823
1736 https://bugs.webkit.org/show_bug.cgi?id=45266
1738 Windows build fails with unknown reason (Requested by zherczeg
1746 * WebCore.vcproj/WebCore.vcproj:
1747 * WebCore.xcodeproj/project.pbxproj:
1748 * rendering/RenderObject.h:
1749 * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed.
1750 * rendering/RenderSVGResourceFilterPrimitive.h: Removed.
1751 * rendering/SVGRenderTreeAsText.cpp:
1752 (WebCore::writeSVGContainer):
1753 * svg/SVGFEDiffuseLightingElement.cpp:
1754 (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
1755 * svg/SVGFELightElement.cpp:
1756 (WebCore::SVGFELightElement::svgAttributeChanged):
1757 (WebCore::SVGFELightElement::childrenChanged):
1758 * svg/SVGFEOffsetElement.cpp:
1759 (WebCore::SVGFEOffsetElement::svgAttributeChanged):
1760 * svg/SVGFilterElement.h:
1761 (WebCore::SVGFilterElement::invalidateFilter):
1762 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1763 (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
1764 (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
1765 * svg/SVGFilterPrimitiveStandardAttributes.h:
1766 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
1768 2010-09-06 Xan Lopez <xlopez@igalia.com>
1770 Reviewed by Martin Robinson.
1772 [GTK] Provide Keyboard Events to Windowless plugins
1773 https://bugs.webkit.org/show_bug.cgi?id=44613
1775 Fix keyboard event delivery for windowless plugins.
1777 Based on a patch by Bharathwaaj.
1779 * plugins/PluginView.cpp:
1780 (WebCore::PluginView::handleEvent): also take into account
1781 focused{in,out} events
1782 * plugins/gtk/PluginViewGtk.cpp:
1783 (WebCore::PluginView::handleKeyboardEvent): we want the keyval
1784 here, not the hardware keycode
1785 (WebCore::PluginView::handleMouseEvent): focus the pluginview on mouse events
1787 2010-09-06 Ilya Tikhonovsky <loislo@chromium.org>
1789 Reviewed by Yury Semikhatsky.
1791 WebInspector: it'd be nice to be able to pass undefined argument as a callback to InspectorBackend functions.
1793 There are some places where callback is passing via some wrapper. In that case sendMessageToBackend
1794 will be called with additional argument for callback but with undefined value.
1796 https://bugs.webkit.org/show_bug.cgi?id=45265
1798 * inspector/CodeGeneratorInspector.pm:
1800 2010-09-06 Zoltan Herczeg <zherczeg@webkit.org>
1802 Reviewed by Dirk Schulze.
1804 An individual renderer should be assigned to each SVGFE*Element class
1805 https://bugs.webkit.org/show_bug.cgi?id=43954
1807 RenderSVGResourceFilterPrimitive renderer is added to
1808 the project, and assigned to each object, which class is
1809 derived from SVGFilterPrimitiveStandardAttributes. The patch
1810 mainly contains build system changes, and it fixes one layout
1811 test in svg/dynamic-updates.
1818 * WebCore.vcproj/WebCore.vcproj:
1819 * WebCore.xcodeproj/project.pbxproj:
1820 * rendering/RenderObject.h:
1821 (WebCore::RenderObject::isSVGResourceFilterPrimitive):
1822 * rendering/RenderSVGResourceFilterPrimitive.cpp: Added.
1823 (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
1824 * rendering/RenderSVGResourceFilterPrimitive.h: Added.
1825 (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive):
1826 * rendering/SVGRenderTreeAsText.cpp:
1827 (WebCore::writeSVGContainer):
1828 * svg/SVGFEDiffuseLightingElement.cpp:
1829 (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
1830 * svg/SVGFELightElement.cpp:
1831 (WebCore::SVGFELightElement::svgAttributeChanged):
1832 (WebCore::SVGFELightElement::childrenChanged):
1833 * svg/SVGFEOffsetElement.cpp:
1834 (WebCore::SVGFEOffsetElement::svgAttributeChanged):
1835 * svg/SVGFilterElement.h:
1836 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1837 (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
1838 (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
1839 (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer):
1840 * svg/SVGFilterPrimitiveStandardAttributes.h:
1841 (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
1843 2010-09-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1845 Reviewed by Dirk Schulze.
1847 [WML] Use RenderImageResource in WMLImageElement.cpp
1848 https://bugs.webkit.org/show_bug.cgi?id=44952
1850 The hasImage() and setCachedImage() were moved to RenderImageResource class.
1851 So, WML also should use the functions from RenderImageResource.
1853 * wml/WMLImageElement.cpp:
1854 (WebCore::WMLImageElement::attach):
1856 2010-08-26 Jeremy Orlow <jorlow@chromium.org>
1858 Reviewed by Steve Block.
1860 Add index insertion support to IndexedDB.
1861 https://bugs.webkit.org/show_bug.cgi?id=44695
1863 Whenever you insert an item into an ObjectStore, it should use all
1864 indexes' key paths to insert corresponding entries into each index.
1865 Also data should be deleted out of the index when it goes away.
1867 Not much testing yet since there's no way to directly observe indexes.
1868 More will be in next patch.
1870 * storage/IDBDatabaseBackendImpl.cpp:
1871 (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
1872 * storage/IDBFactoryBackendImpl.cpp:
1873 (WebCore::createTables):
1874 * storage/IDBIndex.idl:
1875 * storage/IDBIndexBackendImpl.cpp:
1876 (WebCore::whereClause):
1877 (WebCore::bindWhereClause):
1878 (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
1879 * storage/IDBIndexBackendImpl.h:
1880 (WebCore::IDBIndexBackendImpl::id):
1881 * storage/IDBKey.cpp:
1882 (WebCore::IDBKey::whereSyntax):
1883 (WebCore::IDBKey::bind):
1884 (WebCore::IDBKey::bindWithNulls):
1886 * storage/IDBObjectStore.idl:
1887 * storage/IDBObjectStoreBackendImpl.cpp:
1888 (WebCore::whereClause):
1889 (WebCore::bindWhereClause):
1890 (WebCore::IDBObjectStoreBackendImpl::get):
1891 (WebCore::fetchKeyFromKeyPath):
1892 (WebCore::putObjectStoreData):
1893 (WebCore::putIndexData):
1894 (WebCore::IDBObjectStoreBackendImpl::put):
1895 (WebCore::IDBObjectStoreBackendImpl::remove):
1896 (WebCore::IDBObjectStoreBackendImpl::createIndex):
1897 (WebCore::doDelete):
1898 (WebCore::IDBObjectStoreBackendImpl::removeIndex):
1899 (WebCore::IDBObjectStoreBackendImpl::openCursor):
1900 * storage/IDBObjectStoreBackendImpl.h:
1902 2010-09-06 Anton Muhin <antonm@chromium.org>
1904 Reviewed by Adam Barth.
1906 [v8] bypass caches when query memory usage from post GC and in crash handler.
1907 https://bugs.webkit.org/show_bug.cgi?id=45036
1909 Add Chromium-specific API to query actual memory usage which bypasses any caches.
1911 * platform/chromium/ChromiumBridge.h:
1913 2010-09-06 Adam Barth <abarth@webkit.org>
1915 Reviewed by Darin Adler.
1917 Rename SecurityOrigin::canLoad to canDisplay
1918 https://bugs.webkit.org/show_bug.cgi?id=45214
1920 canLoad is a pretty opaque name. This function is really about whether
1921 you can display the contents of the URL in an iframe, an image, or a
1925 * html/HTMLMediaElement.cpp:
1926 (WebCore::HTMLMediaElement::isSafeToLoadURL):
1928 (WebCore::Cache::requestResource):
1929 * loader/FrameLoader.cpp:
1930 (WebCore::FrameLoader::loadFrameRequest):
1931 * loader/PingLoader.cpp:
1932 (WebCore::PingLoader::loadImage):
1933 * loader/SubframeLoader.cpp:
1934 (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
1935 (WebCore::SubframeLoader::createJavaAppletWidget):
1936 (WebCore::SubframeLoader::loadSubframe):
1937 (WebCore::SubframeLoader::loadPlugin):
1938 * loader/SubresourceLoader.cpp:
1939 (WebCore::SubresourceLoader::create):
1940 * page/SecurityOrigin.cpp:
1941 (WebCore::SecurityOrigin::canDisplay):
1942 * page/SecurityOrigin.h:
1943 * plugins/PluginView.cpp:
1944 (WebCore::PluginView::load):
1946 2010-08-31 Yury Semikhatsky <yurys@chromium.org>
1948 Reviewed by Joseph Pecoraro.
1950 Web Inspector: browser crashes on attempt to evaluate "alert(1)" while staying on a breakpoint
1951 https://bugs.webkit.org/show_bug.cgi?id=44943
1953 Test: inspector/debugger-suspend-active-dom-objects.html
1955 * page/PageGroupLoadDeferrer.cpp:
1956 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
1958 2010-09-05 Kenneth Russell <kbr@google.com>
1960 Reviewed by Darin Fisher.
1962 Add unit tests for red-black tree and (POD) arena
1963 https://bugs.webkit.org/show_bug.cgi?id=45060
1965 * platform/graphics/gpu/PODArena.h: Made DefaultChunkSize public so unit tests can access it. Fixed copyright header.
1966 * platform/graphics/gpu/PODInterval.h: Fixed copyright header.
1967 * platform/graphics/gpu/PODIntervalTree.h: Fixed copyright header.
1968 * platform/graphics/gpu/PODRedBlackTree.h: Fixed copyright header.
1970 2010-09-05 Jeremy Orlow <jorlow@chromium.org>
1972 Reviewed by Nate Chapin.
1974 Add the concept of class methods to bindings (for IndexedDB's IDBKeyRange).
1975 https://bugs.webkit.org/show_bug.cgi?id=45044
1977 IndexedDB's IDBKeyRange has what, in other languages, are called class
1978 methods. In javaScript terms, these are methods only accessible from their
1979 constructor and not instances. This change adds such support to V8. There
1980 are already other features required for IndexedDB that JSC doesn't yet
1981 support, so I'll add this to the list of todo items in the master bug
1984 The bindings tests cover this. My next patch will change WebCore to use
1985 this and it'll have associated layout tests.
1987 * bindings/scripts/CodeGeneratorV8.pm:
1988 * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1989 (WebDOMTestObj::classMethod):
1990 (WebDOMTestObj::classMethodWithOptional):
1991 * bindings/scripts/test/CPP/WebDOMTestObj.h:
1992 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1993 (webkit_dom_test_obj_class_method):
1994 (webkit_dom_test_obj_class_method_with_optional):
1995 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1996 * bindings/scripts/test/JS/JSTestObj.cpp:
1997 (WebCore::jsTestObjPrototypeFunctionStaticMethod):
1998 (WebCore::jsTestObjPrototypeFunctionStaticMethodWithOptional):
1999 * bindings/scripts/test/JS/JSTestObj.h:
2000 * bindings/scripts/test/ObjC/DOMTestObj.h:
2001 * bindings/scripts/test/ObjC/DOMTestObj.mm:
2002 (-[DOMTestObj classMethod]):
2003 (-[DOMTestObj classMethodWithOptional:]):
2004 * bindings/scripts/test/TestObj.idl:
2005 * bindings/scripts/test/V8/V8TestObj.cpp:
2006 (WebCore::TestObjInternal::classMethodCallback):
2007 (WebCore::TestObjInternal::classMethodWithOptionalCallback):
2008 (WebCore::ConfigureV8TestObjTemplate):
2009 * storage/IDBKeyRange.idl:
2011 2010-09-05 Jeremy Orlow <jorlow@chromium.org>
2013 Reviewed by Steve Block.
2015 Add IndexedDB objects' constructors to window
2016 https://bugs.webkit.org/show_bug.cgi?id=44599
2018 Also add a forgotten constant to IDBTransaction, and
2019 change IDBKeyRange over to using the V8Static attribute
2020 so it actually behaves as it's supposed to.
2022 * bindings/generic/RuntimeEnabledFeatures.h:
2023 (WebCore::RuntimeEnabledFeatures::iDBCursorEnabled):
2024 (WebCore::RuntimeEnabledFeatures::iDBDatabaseEnabled):
2025 (WebCore::RuntimeEnabledFeatures::iDBDatabaseErrorEnabled):
2026 (WebCore::RuntimeEnabledFeatures::iDBDatabaseExceptionEnabled):
2027 (WebCore::RuntimeEnabledFeatures::iDBErrorEventEnabled):
2028 (WebCore::RuntimeEnabledFeatures::iDBEventEnabled):
2029 (WebCore::RuntimeEnabledFeatures::iDBFactoryEnabled):
2030 (WebCore::RuntimeEnabledFeatures::iDBIndexEnabled):
2031 (WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled):
2032 (WebCore::RuntimeEnabledFeatures::iDBObjectStoreEnabled):
2033 (WebCore::RuntimeEnabledFeatures::iDBRequestEnabled):
2034 (WebCore::RuntimeEnabledFeatures::iDBSuccessEventEnabled):
2035 (WebCore::RuntimeEnabledFeatures::iDBTransactionEnabled):
2036 * page/DOMWindow.cpp:
2037 (WebCore::DOMWindow::clear):
2038 (WebCore::DOMWindow::indexedDB):
2040 * page/DOMWindow.idl:
2041 * storage/IDBKeyRange.idl:
2042 * storage/IDBTransaction.h:
2043 * storage/IDBTransaction.idl:
2045 2010-09-04 Justin Schuh <jschuh@chromium.org>
2047 Reviewed by Nikolas Zimmermann.
2049 Prevent premature deletion of svg use shadow tree
2050 https://bugs.webkit.org/show_bug.cgi?id=43260
2052 Test: svg/custom/use-invalid-style.svg
2054 * svg/SVGUseElement.cpp:
2055 (WebCore::SVGUseElement::insertedIntoDocument):
2056 (WebCore::SVGUseElement::removedFromDocument):
2057 (WebCore::SVGUseElement::detach):
2059 2010-09-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
2061 Reviewed by Darin Adler.
2063 Add NetworkingContext to avoid layer violations
2064 https://bugs.webkit.org/show_bug.cgi?id=42292
2066 Create and provide access to NetworkingContext in FrameLoader.
2068 In the WebKit layer we added specific implementations of FrameNetworkingContext
2069 so each port's FrameLoaderClient can add any port specific information to NetworkingContext
2070 The NetworkingContext is, therefore, created by a FrameLoaderClient and stored
2071 in the FrameLoader for each frame created. People must always use it
2072 by calling FrameLoader::networkingContext() and never through their FrameLoaderClient.
2073 The lifetime cycle of NetworkingContext is kept by a RefPtr, so the object is RefCounted.
2075 It is still a preparation to NetworkingContext to be activated and
2079 * loader/EmptyClients.h:
2080 (WebCore::EmptyFrameLoaderClient::createNetworkingContext):
2081 * loader/FrameLoader.cpp:
2082 (WebCore::FrameLoader::~FrameLoader):
2083 (WebCore::FrameLoader::init):
2084 (WebCore::FrameLoader::networkingContext):
2085 * loader/FrameLoader.h:
2086 * loader/FrameLoaderClient.h:
2088 2010-09-03 Kinuko Yasuda <kinuko@chromium.org>
2090 Reviewed by Darin Adler.
2092 V8/JS bindings should not perform type checks if the parameter has Callback attribute
2093 https://bugs.webkit.org/show_bug.cgi?id=45143
2095 No new tests, should not affect existing idls.
2097 * bindings/scripts/CodeGeneratorJS.pm:
2098 * bindings/scripts/CodeGeneratorV8.pm:
2099 * bindings/scripts/test/JS/JSTestObj.cpp:
2100 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
2101 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
2102 * bindings/scripts/test/TestObj.idl:
2103 * bindings/scripts/test/V8/V8TestObj.cpp:
2104 (WebCore::TestObjInternal::overloadedMethod5Callback):
2105 (WebCore::TestObjInternal::overloadedMethodCallback):
2107 2010-09-03 Kenneth Russell <kbr@google.com>
2109 Unreviewed, Chromium build fix. Fix breakage on Windows after
2110 r66787 / https://bugs.webkit.org/show_bug.cgi?id=45223 .
2112 * platform/graphics/chromium/FontChromiumWin.cpp:
2113 (WebCore::Font::drawGlyphs):
2115 2010-09-03 James Robinson <jamesr@chromium.org>
2117 Reviewed by Kenneth Russell.
2119 [chromium] Text sometimes fails to display in accelerated 2d canvases
2120 https://bugs.webkit.org/show_bug.cgi?id=45223
2122 Calls PlatformContextSkia::prepareForSoftwareDraw() before drawing glyphs
2123 using skia to ensure that the backing store state is consistent.
2125 * platform/graphics/chromium/FontChromiumWin.cpp:
2126 (WebCore::Font::drawGlyphs):
2127 * platform/graphics/chromium/FontLinux.cpp:
2128 (WebCore::Font::drawGlyphs):
2130 2010-09-03 Kenneth Russell <kbr@google.com>
2132 Reviewed by Darin Fisher.
2134 Add thirdparty directory and incorporate GLU tessellator
2135 https://bugs.webkit.org/show_bug.cgi?id=44707
2137 This directory is intended to contain copies of third-party libraries used
2138 by WebCore, in particular those which may require some modification in
2139 order to incorporate.
2141 No tests at this time; these sources are being added in preparation for
2142 incorporating other code which uses them, at which point the code will be
2143 exercised and testable.
2145 * thirdparty: Added.
2146 * thirdparty/README.txt: Added.
2147 * thirdparty/glu: Added.
2148 * thirdparty/glu/LICENSE.txt: Added.
2149 * thirdparty/glu/README.webkit: Added.
2150 * thirdparty/glu/gluos.h: Added.
2151 * thirdparty/glu/internal_glu.h: Added.
2152 * thirdparty/glu/libtess: Added.
2153 * thirdparty/glu/libtess/GNUmakefile: Added.
2154 * thirdparty/glu/libtess/Imakefile: Added.
2155 * thirdparty/glu/libtess/README: Added.
2156 * thirdparty/glu/libtess/alg-outline: Added.
2157 * thirdparty/glu/libtess/dict-list.h: Added.
2158 * thirdparty/glu/libtess/dict.c: Added.
2159 * thirdparty/glu/libtess/dict.h: Added.
2160 * thirdparty/glu/libtess/geom.c: Added.
2161 * thirdparty/glu/libtess/geom.h: Added.
2162 * thirdparty/glu/libtess/memalloc.c: Added.
2163 * thirdparty/glu/libtess/memalloc.h: Added.
2164 * thirdparty/glu/libtess/mesh.c: Added.
2165 * thirdparty/glu/libtess/mesh.h: Added.
2166 * thirdparty/glu/libtess/normal.c: Added.
2167 * thirdparty/glu/libtess/normal.h: Added.
2168 * thirdparty/glu/libtess/priorityq-heap.c: Added.
2169 * thirdparty/glu/libtess/priorityq-heap.h: Added.
2170 * thirdparty/glu/libtess/priorityq-sort.h: Added.
2171 * thirdparty/glu/libtess/priorityq.c: Added.
2172 * thirdparty/glu/libtess/priorityq.h: Added.
2173 * thirdparty/glu/libtess/render.c: Added.
2174 * thirdparty/glu/libtess/render.h: Added.
2175 * thirdparty/glu/libtess/sweep.c: Added.
2176 * thirdparty/glu/libtess/sweep.h: Added.
2177 * thirdparty/glu/libtess/tess.c: Added.
2178 * thirdparty/glu/libtess/tess.h: Added.
2179 * thirdparty/glu/libtess/tessmono.c: Added.
2180 * thirdparty/glu/libtess/tessmono.h: Added.
2182 2010-09-03 Sheriff Bot <webkit.review.bot@gmail.com>
2184 Unreviewed, rolling out r66781.
2185 http://trac.webkit.org/changeset/66781
2186 https://bugs.webkit.org/show_bug.cgi?id=45220
2188 Breaks the build. Adds a mac-specific file to
2189 platform/graphics without #if PLATFORM() guards and changes
2190 the GraphicsContext3D interface without updating all
2191 implementations (Requested by jamesr on #webkit).
2194 * WebCore.xcodeproj/project.pbxproj:
2195 * html/canvas/WebGLObject.cpp:
2196 (WebCore::WebGLObject::deleteObject):
2197 * platform/graphics/ANGLEWebKitBridge.h:
2198 * platform/graphics/GraphicsContext3D.h:
2199 * platform/graphics/GraphicsContext3DOpenGL.cpp: Removed.
2200 * platform/graphics/mac/GraphicsContext3DMac.mm:
2201 (WebCore::GraphicsContext3D::validateAttributes):
2202 (WebCore::GraphicsContext3D::makeContextCurrent):
2203 (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2204 (WebCore::GraphicsContext3D::reshape):
2205 (WebCore::ensureContext):
2206 (WebCore::GraphicsContext3D::prepareTexture):
2207 (WebCore::GraphicsContext3D::activeTexture):
2208 (WebCore::GraphicsContext3D::attachShader):
2209 (WebCore::GraphicsContext3D::bindAttribLocation):
2210 (WebCore::GraphicsContext3D::bindBuffer):
2211 (WebCore::GraphicsContext3D::bindFramebuffer):
2212 (WebCore::GraphicsContext3D::bindRenderbuffer):
2213 (WebCore::GraphicsContext3D::bindTexture):
2214 (WebCore::GraphicsContext3D::blendColor):
2215 (WebCore::GraphicsContext3D::blendEquation):
2216 (WebCore::GraphicsContext3D::blendEquationSeparate):
2217 (WebCore::GraphicsContext3D::blendFunc):
2218 (WebCore::GraphicsContext3D::blendFuncSeparate):
2219 (WebCore::GraphicsContext3D::bufferData):
2220 (WebCore::GraphicsContext3D::bufferSubData):
2221 (WebCore::GraphicsContext3D::checkFramebufferStatus):
2222 (WebCore::GraphicsContext3D::clearColor):
2223 (WebCore::GraphicsContext3D::clear):
2224 (WebCore::GraphicsContext3D::clearDepth):
2225 (WebCore::GraphicsContext3D::clearStencil):
2226 (WebCore::GraphicsContext3D::colorMask):
2227 (WebCore::GraphicsContext3D::compileShader):
2228 (WebCore::GraphicsContext3D::copyTexImage2D):
2229 (WebCore::GraphicsContext3D::copyTexSubImage2D):
2230 (WebCore::GraphicsContext3D::cullFace):
2231 (WebCore::GraphicsContext3D::depthFunc):
2232 (WebCore::GraphicsContext3D::depthMask):
2233 (WebCore::GraphicsContext3D::depthRange):
2234 (WebCore::GraphicsContext3D::detachShader):
2235 (WebCore::GraphicsContext3D::disable):
2236 (WebCore::GraphicsContext3D::disableVertexAttribArray):
2237 (WebCore::GraphicsContext3D::drawArrays):
2238 (WebCore::GraphicsContext3D::drawElements):
2239 (WebCore::GraphicsContext3D::enable):
2240 (WebCore::GraphicsContext3D::enableVertexAttribArray):
2241 (WebCore::GraphicsContext3D::finish):
2242 (WebCore::GraphicsContext3D::flush):
2243 (WebCore::GraphicsContext3D::framebufferRenderbuffer):
2244 (WebCore::GraphicsContext3D::framebufferTexture2D):
2245 (WebCore::GraphicsContext3D::frontFace):
2246 (WebCore::GraphicsContext3D::generateMipmap):
2247 (WebCore::GraphicsContext3D::getActiveAttrib):
2248 (WebCore::GraphicsContext3D::getActiveUniform):
2249 (WebCore::GraphicsContext3D::getAttachedShaders):
2250 (WebCore::GraphicsContext3D::getAttribLocation):
2251 (WebCore::GraphicsContext3D::getContextAttributes):
2252 (WebCore::GraphicsContext3D::getError):
2253 (WebCore::GraphicsContext3D::getString):
2254 (WebCore::GraphicsContext3D::hint):
2255 (WebCore::GraphicsContext3D::isBuffer):
2256 (WebCore::GraphicsContext3D::isEnabled):
2257 (WebCore::GraphicsContext3D::isFramebuffer):
2258 (WebCore::GraphicsContext3D::isProgram):
2259 (WebCore::GraphicsContext3D::isRenderbuffer):
2260 (WebCore::GraphicsContext3D::isShader):
2261 (WebCore::GraphicsContext3D::isTexture):
2262 (WebCore::GraphicsContext3D::lineWidth):
2263 (WebCore::GraphicsContext3D::linkProgram):
2264 (WebCore::GraphicsContext3D::pixelStorei):
2265 (WebCore::GraphicsContext3D::polygonOffset):
2266 (WebCore::GraphicsContext3D::readPixels):
2267 (WebCore::GraphicsContext3D::releaseShaderCompiler):
2268 (WebCore::GraphicsContext3D::renderbufferStorage):
2269 (WebCore::GraphicsContext3D::sampleCoverage):
2270 (WebCore::GraphicsContext3D::scissor):
2271 (WebCore::GraphicsContext3D::shaderSource):
2272 (WebCore::GraphicsContext3D::stencilFunc):
2273 (WebCore::GraphicsContext3D::stencilFuncSeparate):
2274 (WebCore::GraphicsContext3D::stencilMask):
2275 (WebCore::GraphicsContext3D::stencilMaskSeparate):
2276 (WebCore::GraphicsContext3D::stencilOp):
2277 (WebCore::GraphicsContext3D::stencilOpSeparate):
2278 (WebCore::GraphicsContext3D::texParameterf):
2279 (WebCore::GraphicsContext3D::texParameteri):
2280 (WebCore::GraphicsContext3D::uniform1f):
2281 (WebCore::GraphicsContext3D::uniform1fv):
2282 (WebCore::GraphicsContext3D::uniform2f):
2283 (WebCore::GraphicsContext3D::uniform2fv):
2284 (WebCore::GraphicsContext3D::uniform3f):
2285 (WebCore::GraphicsContext3D::uniform3fv):
2286 (WebCore::GraphicsContext3D::uniform4f):
2287 (WebCore::GraphicsContext3D::uniform4fv):
2288 (WebCore::GraphicsContext3D::uniform1i):
2289 (WebCore::GraphicsContext3D::uniform1iv):
2290 (WebCore::GraphicsContext3D::uniform2i):
2291 (WebCore::GraphicsContext3D::uniform2iv):
2292 (WebCore::GraphicsContext3D::uniform3i):
2293 (WebCore::GraphicsContext3D::uniform3iv):
2294 (WebCore::GraphicsContext3D::uniform4i):
2295 (WebCore::GraphicsContext3D::uniform4iv):
2296 (WebCore::GraphicsContext3D::uniformMatrix2fv):
2297 (WebCore::GraphicsContext3D::uniformMatrix3fv):
2298 (WebCore::GraphicsContext3D::uniformMatrix4fv):
2299 (WebCore::GraphicsContext3D::useProgram):
2300 (WebCore::GraphicsContext3D::validateProgram):
2301 (WebCore::GraphicsContext3D::vertexAttrib1f):
2302 (WebCore::GraphicsContext3D::vertexAttrib1fv):
2303 (WebCore::GraphicsContext3D::vertexAttrib2f):
2304 (WebCore::GraphicsContext3D::vertexAttrib2fv):
2305 (WebCore::GraphicsContext3D::vertexAttrib3f):
2306 (WebCore::GraphicsContext3D::vertexAttrib3fv):
2307 (WebCore::GraphicsContext3D::vertexAttrib4f):
2308 (WebCore::GraphicsContext3D::vertexAttrib4fv):
2309 (WebCore::GraphicsContext3D::vertexAttribPointer):
2310 (WebCore::GraphicsContext3D::viewport):
2311 (WebCore::GraphicsContext3D::getBooleanv):
2312 (WebCore::GraphicsContext3D::getBufferParameteriv):
2313 (WebCore::GraphicsContext3D::getFloatv):
2314 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
2315 (WebCore::GraphicsContext3D::getIntegerv):
2316 (WebCore::GraphicsContext3D::getProgramiv):
2317 (WebCore::GraphicsContext3D::getProgramInfoLog):
2318 (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
2319 (WebCore::GraphicsContext3D::getShaderiv):
2320 (WebCore::GraphicsContext3D::getShaderInfoLog):
2321 (WebCore::GraphicsContext3D::getShaderSource):
2322 (WebCore::GraphicsContext3D::getTexParameterfv):
2323 (WebCore::GraphicsContext3D::getTexParameteriv):
2324 (WebCore::GraphicsContext3D::getUniformfv):
2325 (WebCore::GraphicsContext3D::getUniformiv):
2326 (WebCore::GraphicsContext3D::getUniformLocation):
2327 (WebCore::GraphicsContext3D::getVertexAttribfv):
2328 (WebCore::GraphicsContext3D::getVertexAttribiv):
2329 (WebCore::GraphicsContext3D::getVertexAttribOffset):
2330 (WebCore::GraphicsContext3D::texImage2D):
2331 (WebCore::GraphicsContext3D::texSubImage2D):
2332 (WebCore::GraphicsContext3D::createBuffer):
2333 (WebCore::GraphicsContext3D::createFramebuffer):
2334 (WebCore::GraphicsContext3D::createProgram):
2335 (WebCore::GraphicsContext3D::createRenderbuffer):
2336 (WebCore::GraphicsContext3D::createShader):
2337 (WebCore::GraphicsContext3D::createTexture):
2338 (WebCore::GraphicsContext3D::deleteBuffer):
2339 (WebCore::GraphicsContext3D::deleteFramebuffer):
2340 (WebCore::GraphicsContext3D::deleteProgram):
2341 (WebCore::GraphicsContext3D::deleteRenderbuffer):
2342 (WebCore::GraphicsContext3D::deleteShader):
2343 (WebCore::GraphicsContext3D::deleteTexture):
2344 (WebCore::GraphicsContext3D::sizeInBytes):
2345 (WebCore::GraphicsContext3D::synthesizeGLError):
2347 2010-09-03 James Robinson <jamesr@chromium.org>
2349 Reviewed by Kenneth Russell.
2351 Force 2d canvases to be rendered in software when the composite operation isn't source-over
2352 https://bugs.webkit.org/show_bug.cgi?id=45216
2354 The current accelerated 2d canvas implementation is very slow for composite operations other
2355 than the default. This patch forces a canvas to be rendered in software if any other operation
2356 is set until we accelerate the rest.
2358 Tested by any of the fast/canvas tests that use a non-default globalCompositeOperation.
2360 * html/canvas/CanvasRenderingContext2D.cpp:
2361 (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
2362 * platform/graphics/skia/PlatformContextSkia.cpp:
2363 (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
2365 2010-09-03 Paul Sawaya <psawaya@apple.com>
2367 Reviewed by Chris Marrin.
2369 Refactored out Mac specific code for platform/graphics/mac/GraphicsContext3D.mm file.
2370 Left general OpenGL code in platform/graphics/GraphicsContext3DOpenGL.cpp.
2371 https://bugs.webkit.org/show_bug.cgi?id=30625
2374 * WebCore.xcodeproj/project.pbxproj:
2375 * html/canvas/WebGLObject.cpp:
2376 (WebCore::WebGLObject::deleteObject):
2377 * platform/graphics/ANGLEWebKitBridge.h:
2378 * platform/graphics/GraphicsContext3D.h:
2379 * platform/graphics/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm.
2380 (WebCore::GraphicsContext3D::prepareTexture):
2381 (WebCore::GraphicsContext3D::activeTexture):
2382 (WebCore::GraphicsContext3D::attachShader):
2383 (WebCore::GraphicsContext3D::bindAttribLocation):
2384 (WebCore::GraphicsContext3D::bindBuffer):
2385 (WebCore::GraphicsContext3D::bindFramebuffer):
2386 (WebCore::GraphicsContext3D::bindRenderbuffer):
2387 (WebCore::GraphicsContext3D::bindTexture):
2388 (WebCore::GraphicsContext3D::blendColor):
2389 (WebCore::GraphicsContext3D::blendEquation):
2390 (WebCore::GraphicsContext3D::blendEquationSeparate):
2391 (WebCore::GraphicsContext3D::blendFunc):
2392 (WebCore::GraphicsContext3D::blendFuncSeparate):
2393 (WebCore::GraphicsContext3D::bufferData):
2394 (WebCore::GraphicsContext3D::bufferSubData):
2395 (WebCore::GraphicsContext3D::checkFramebufferStatus):
2396 (WebCore::GraphicsContext3D::clearColor):
2397 (WebCore::GraphicsContext3D::clear):
2398 (WebCore::GraphicsContext3D::clearDepth):
2399 (WebCore::GraphicsContext3D::clearStencil):
2400 (WebCore::GraphicsContext3D::colorMask):
2401 (WebCore::GraphicsContext3D::compileShader):
2402 (WebCore::GraphicsContext3D::copyTexImage2D):
2403 (WebCore::GraphicsContext3D::copyTexSubImage2D):
2404 (WebCore::GraphicsContext3D::cullFace):
2405 (WebCore::GraphicsContext3D::depthFunc):
2406 (WebCore::GraphicsContext3D::depthMask):
2407 (WebCore::GraphicsContext3D::depthRange):
2408 (WebCore::GraphicsContext3D::detachShader):
2409 (WebCore::GraphicsContext3D::disable):
2410 (WebCore::GraphicsContext3D::disableVertexAttribArray):
2411 (WebCore::GraphicsContext3D::drawArrays):
2412 (WebCore::GraphicsContext3D::drawElements):
2413 (WebCore::GraphicsContext3D::enable):
2414 (WebCore::GraphicsContext3D::enableVertexAttribArray):
2415 (WebCore::GraphicsContext3D::finish):
2416 (WebCore::GraphicsContext3D::flush):
2417 (WebCore::GraphicsContext3D::framebufferRenderbuffer):
2418 (WebCore::GraphicsContext3D::framebufferTexture2D):
2419 (WebCore::GraphicsContext3D::frontFace):
2420 (WebCore::GraphicsContext3D::generateMipmap):
2421 (WebCore::GraphicsContext3D::getActiveAttrib):
2422 (WebCore::GraphicsContext3D::getActiveUniform):
2423 (WebCore::GraphicsContext3D::getAttachedShaders):
2424 (WebCore::GraphicsContext3D::getAttribLocation):
2425 (WebCore::GraphicsContext3D::getError):
2426 (WebCore::GraphicsContext3D::getString):
2427 (WebCore::GraphicsContext3D::hint):
2428 (WebCore::GraphicsContext3D::isBuffer):
2429 (WebCore::GraphicsContext3D::isEnabled):
2430 (WebCore::GraphicsContext3D::isFramebuffer):
2431 (WebCore::GraphicsContext3D::isProgram):
2432 (WebCore::GraphicsContext3D::isRenderbuffer):
2433 (WebCore::GraphicsContext3D::isShader):
2434 (WebCore::GraphicsContext3D::isTexture):
2435 (WebCore::GraphicsContext3D::lineWidth):
2436 (WebCore::GraphicsContext3D::linkProgram):
2437 (WebCore::GraphicsContext3D::pixelStorei):
2438 (WebCore::GraphicsContext3D::polygonOffset):
2439 (WebCore::GraphicsContext3D::readPixels):
2440 (WebCore::GraphicsContext3D::releaseShaderCompiler):
2441 (WebCore::GraphicsContext3D::renderbufferStorage):
2442 (WebCore::GraphicsContext3D::sampleCoverage):
2443 (WebCore::GraphicsContext3D::scissor):
2444 (WebCore::GraphicsContext3D::shaderSource):
2445 (WebCore::GraphicsContext3D::stencilFunc):
2446 (WebCore::GraphicsContext3D::stencilFuncSeparate):
2447 (WebCore::GraphicsContext3D::stencilMask):
2448 (WebCore::GraphicsContext3D::stencilMaskSeparate):
2449 (WebCore::GraphicsContext3D::stencilOp):
2450 (WebCore::GraphicsContext3D::stencilOpSeparate):
2451 (WebCore::GraphicsContext3D::texParameterf):
2452 (WebCore::GraphicsContext3D::texParameteri):
2453 (WebCore::GraphicsContext3D::uniform1f):
2454 (WebCore::GraphicsContext3D::uniform1fv):
2455 (WebCore::GraphicsContext3D::uniform2f):
2456 (WebCore::GraphicsContext3D::uniform2fv):
2457 (WebCore::GraphicsContext3D::uniform3f):
2458 (WebCore::GraphicsContext3D::uniform3fv):
2459 (WebCore::GraphicsContext3D::uniform4f):
2460 (WebCore::GraphicsContext3D::uniform4fv):
2461 (WebCore::GraphicsContext3D::uniform1i):
2462 (WebCore::GraphicsContext3D::uniform1iv):
2463 (WebCore::GraphicsContext3D::uniform2i):
2464 (WebCore::GraphicsContext3D::uniform2iv):
2465 (WebCore::GraphicsContext3D::uniform3i):
2466 (WebCore::GraphicsContext3D::uniform3iv):
2467 (WebCore::GraphicsContext3D::uniform4i):
2468 (WebCore::GraphicsContext3D::uniform4iv):
2469 (WebCore::GraphicsContext3D::uniformMatrix2fv):
2470 (WebCore::GraphicsContext3D::uniformMatrix3fv):
2471 (WebCore::GraphicsContext3D::uniformMatrix4fv):
2472 (WebCore::GraphicsContext3D::useProgram):
2473 (WebCore::GraphicsContext3D::validateProgram):
2474 (WebCore::GraphicsContext3D::vertexAttrib1f):
2475 (WebCore::GraphicsContext3D::vertexAttrib1fv):
2476 (WebCore::GraphicsContext3D::vertexAttrib2f):
2477 (WebCore::GraphicsContext3D::vertexAttrib2fv):
2478 (WebCore::GraphicsContext3D::vertexAttrib3f):
2479 (WebCore::GraphicsContext3D::vertexAttrib3fv):
2480 (WebCore::GraphicsContext3D::vertexAttrib4f):
2481 (WebCore::GraphicsContext3D::vertexAttrib4fv):
2482 (WebCore::GraphicsContext3D::vertexAttribPointer):
2483 (WebCore::GraphicsContext3D::viewport):
2484 (WebCore::GraphicsContext3D::getBooleanv):
2485 (WebCore::GraphicsContext3D::getBufferParameteriv):
2486 (WebCore::GraphicsContext3D::getFloatv):
2487 (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
2488 (WebCore::GraphicsContext3D::getIntegerv):
2489 (WebCore::GraphicsContext3D::getProgramiv):
2490 (WebCore::GraphicsContext3D::getProgramInfoLog):
2491 (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
2492 (WebCore::GraphicsContext3D::getShaderiv):
2493 (WebCore::GraphicsContext3D::getShaderInfoLog):
2494 (WebCore::GraphicsContext3D::getShaderSource):
2495 (WebCore::GraphicsContext3D::getTexParameterfv):
2496 (WebCore::GraphicsContext3D::getTexParameteriv):
2497 (WebCore::GraphicsContext3D::getUniformfv):
2498 (WebCore::GraphicsContext3D::getUniformiv):
2499 (WebCore::GraphicsContext3D::getUniformLocation):
2500 (WebCore::GraphicsContext3D::getVertexAttribfv):
2501 (WebCore::GraphicsContext3D::getVertexAttribiv):
2502 (WebCore::GraphicsContext3D::getVertexAttribOffset):
2503 (WebCore::GraphicsContext3D::texImage2D):
2504 (WebCore::GraphicsContext3D::texSubImage2D):
2505 (WebCore::GraphicsContext3D::createBuffer):
2506 (WebCore::GraphicsContext3D::createFramebuffer):
2507 (WebCore::GraphicsContext3D::createProgram):
2508 (WebCore::GraphicsContext3D::createRenderbuffer):
2509 (WebCore::GraphicsContext3D::createShader):
2510 (WebCore::GraphicsContext3D::createTexture):
2511 (WebCore::GraphicsContext3D::deleteBuffer):
2512 (WebCore::GraphicsContext3D::deleteFramebuffer):
2513 (WebCore::GraphicsContext3D::deleteProgram):
2514 (WebCore::GraphicsContext3D::deleteRenderbuffer):
2515 (WebCore::GraphicsContext3D::deleteShader):
2516 (WebCore::GraphicsContext3D::deleteTexture):
2517 * platform/graphics/mac/GraphicsContext3DMac.mm:
2518 (WebCore::GraphicsContext3D::ensureContext):
2519 (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
2521 2010-09-03 James Robinson <jamesr@chromium.org>
2523 Reviewed by Darin Fisher.
2525 [chromium] Implement ImageBufferSkia::draw on the GPU when possible
2526 https://bugs.webkit.org/show_bug.cgi?id=45207
2528 When drawing from an ImageBuffer into a GraphicsContext, attempt to do the
2529 draw in hardware when possible. This is how canvas 2d's drawImage(canvas, ...)
2530 is implemented. Adds new API to DrawingBuffer to request a texture containing
2531 the DrawingBuffer's current rendering results.
2533 Test: covered fast/canvas/drawImage.html and all other tests that draw from one
2534 2d canvas into another.
2536 * html/canvas/CanvasRenderingContext2D.cpp:
2537 (WebCore::CanvasRenderingContext2D::drawImage):
2538 * platform/graphics/chromium/DrawingBufferChromium.cpp:
2539 (WebCore::DrawingBuffer::getRenderingResultsAsTexture):
2540 * platform/graphics/gpu/DrawingBuffer.h:
2541 * platform/graphics/skia/ImageBufferSkia.cpp:
2542 (WebCore::ImageBuffer::draw):
2544 2010-09-03 James Robinson <jamesr@chromium.org>
2546 Reviewed by Kenneth Russell.
2548 [chromium] Null out Canvas2DLayerChromium's back reference to DrawingBuffer on destruction
2549 https://bugs.webkit.org/show_bug.cgi?id=45187
2551 Canvas2DLayerChromium keeps a back reference to a DrawingBuffer. This has to be a raw pointer
2552 because the DrawingBuffer holds a RefPtr to the Canvas2DLayerChromium. Since the layer can
2553 outlive the buffer, this back reference has to be explicitly cleared when the DrawingBuffer
2556 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2557 (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
2558 * platform/graphics/chromium/Canvas2DLayerChromium.h:
2559 * platform/graphics/chromium/DrawingBufferChromium.cpp:
2560 (WebCore::DrawingBuffer::~DrawingBuffer):
2562 2010-09-03 Kenneth Russell <kbr@google.com>
2564 Reviewed by Darin Fisher.
2566 Add interval tree capable of holding plain old data (POD)
2567 https://bugs.webkit.org/show_bug.cgi?id=45160
2569 Adding an interval tree currently capable of holding types which
2570 do not require their destructors to be called. POD is a slight
2571 misnomer which will be corrected soon, hopefully by removing this
2574 This class is based on the augmentable property of the red/black
2575 tree integrated under bug 45059.
2577 Unit tests for the PODIntervalTree will be integrated separately
2581 * platform/graphics/gpu/PODInterval.h: Added.
2582 (WebCore::PODInterval::PODInterval):
2583 (WebCore::PODInterval::low):
2584 (WebCore::PODInterval::high):
2585 (WebCore::PODInterval::data):
2586 (WebCore::PODInterval::overlaps):
2587 (WebCore::PODInterval::operator<):
2588 (WebCore::PODInterval::operator==):
2589 (WebCore::PODInterval::maxHigh):
2590 (WebCore::PODInterval::setMaxHigh):
2591 (WebCore::PODInterval::toString):
2592 * platform/graphics/gpu/PODIntervalTree.h: Added.
2593 (WebCore::PODIntervalTree::PODIntervalTree):
2594 (WebCore::PODIntervalTree::allOverlaps):
2595 (WebCore::PODIntervalTree::createInterval):
2596 (WebCore::PODIntervalTree::checkInvariants):
2597 (WebCore::PODIntervalTree::init):
2598 (WebCore::PODIntervalTree::searchForOverlapsFrom):
2599 (WebCore::PODIntervalTree::updateNode):
2600 (WebCore::PODIntervalTree::checkInvariantsFromNode):
2601 (WebCore::valueToString):
2603 2010-09-02 Vangelis Kokkevis <vangelis@chromium.org>
2605 Reviewed by Darin Fisher.
2607 [chromium] Gracefully switch over to software compositing if the accelerated
2608 compositor fails to initialize. LayerRendererChromium::create() will now return 0
2609 if the GLES2Context passed to it is NULL or the LayerRendererChromium failed to initialize
2611 https://bugs.webkit.org/show_bug.cgi?id=45124
2613 Tested by forcing the creation of the gles2 context to fail and loading pages that normally trigger
2616 * platform/graphics/chromium/LayerRendererChromium.cpp:
2617 (WebCore::LayerRendererChromium::create):
2618 (WebCore::LayerRendererChromium::LayerRendererChromium):
2619 (WebCore::LayerRendererChromium::makeContextCurrent):
2621 2010-09-03 Peter Kasting <pkasting@google.com>
2623 Reviewed by Simon Fraser.
2625 Report correct (unzoomed) image sizes for zoomed images.
2626 https://bugs.webkit.org/show_bug.cgi?id=42089
2628 Test: fast/images/zoomed-img-size.html
2630 * css/CSSPrimitiveValue.cpp: Factor rounding code out to a templatized function so it can be shared.
2631 (WebCore::CSSPrimitiveValue::computeLengthInt):
2632 (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
2633 (WebCore::CSSPrimitiveValue::computeLengthShort):
2634 * css/CSSPrimitiveValue.h: Factor rounding code out to a templatized function so it can be shared.
2635 (WebCore::roundForImpreciseConversion):
2636 * html/HTMLImageElement.cpp: Report unzoomed size to script that queries an image's width or height.
2637 (WebCore::HTMLImageElement::width):
2638 (WebCore::HTMLImageElement::height):
2639 * loader/ImageDocument.cpp: Report unzoomed size in the page title when viewing a standalone image.
2640 (WebCore::ImageDocumentParser::finish):
2641 * rendering/RenderObject.h: Use shared rounding code from CSSPrimitiveValue to compensate for inexactness in zoomed sizes.
2642 (WebCore::adjustForAbsoluteZoom):
2644 2010-09-03 Sheriff Bot <webkit.review.bot@gmail.com>
2646 Unreviewed, rolling out r66770.
2647 http://trac.webkit.org/changeset/66770
2648 https://bugs.webkit.org/show_bug.cgi?id=45200
2650 Broke Windows in a way I can't figure out now to fix
2651 (Requested by abarth on #webkit).
2656 * WebCore.vcproj/WebCore.vcproj:
2657 * WebCore.xcodeproj/project.pbxproj:
2658 * bindings/generic/BindingDOMWindow.h:
2659 (WebCore::::completeURL):
2660 * bindings/generic/BindingFrame.h: Removed.
2661 * bindings/generic/BindingLocation.h: Removed.
2662 * bindings/generic/GenericBinding.h:
2663 * bindings/js/JSBinding.h: Removed.
2664 * bindings/js/JSBindingsAllInOne.cpp:
2665 * bindings/js/JSDOMBinding.cpp:
2666 (WebCore::shouldAllowNavigation):
2667 (WebCore::toLexicalFrame):
2668 (WebCore::toDynamicFrame):
2669 (WebCore::processingUserGesture):
2670 (WebCore::completeURL):
2671 * bindings/js/JSLocationCustom.cpp:
2672 (WebCore::navigateIfAllowed):
2673 (WebCore::JSLocation::replace):
2674 * bindings/js/specialization/JSBindingState.cpp: Removed.
2675 * bindings/js/specialization/JSBindingState.h: Removed.
2676 * bindings/v8/V8Binding.h:
2677 * bindings/v8/V8Utilities.cpp:
2678 (WebCore::completeURL):
2679 (WebCore::navigateIfAllowed):
2680 * bindings/v8/custom/V8LocationCustom.cpp:
2681 (WebCore::V8Location::replaceCallback):
2682 * bindings/v8/specialization/V8BindingState.cpp:
2683 * bindings/v8/specialization/V8BindingState.h:
2685 2010-09-03 Jian Li <jianli@chromium.org>
2687 Reviewed by Darin Adler.
2689 REGRESSION (r66452): Sending of multipart forms with files is broken.
2690 https://bugs.webkit.org/show_bug.cgi?id=45159
2692 * platform/network/FormData.cpp:
2693 (WebCore::FormData::appendKeyValuePairItems):
2695 2010-09-03 Dominic Cooney <dominicc@google.com>
2697 Reviewed by Adam Barth.
2699 Moves location.replace bindings logic into bindings/generic and
2700 instantiates it for JSC and V8.
2702 https://bugs.webkit.org/show_bug.cgi?id=44891
2704 Covered by existing location.replace tests.
2709 * WebCore.vcproj/WebCore.vcproj:
2710 * WebCore.xcodeproj/project.pbxproj:
2711 * bindings/generic/BindingDOMWindow.h:
2712 (WebCore::::createWindow):
2714 * bindings/generic/BindingFrame.h: Added.
2715 (WebCore::::navigateIfAllowed):
2716 * bindings/generic/BindingLocation.h: Added.
2717 (WebCore::::replace):
2718 * bindings/generic/GenericBinding.h:
2719 (WebCore::completeURL):
2720 * bindings/js/JSBinding.h: Added.
2721 * bindings/js/JSBindingsAllInOne.cpp:
2722 * bindings/js/JSDOMBinding.cpp:
2723 (WebCore::shouldAllowNavigation):
2724 (WebCore::toLexicalFrame):
2725 (WebCore::toDynamicFrame):
2726 (WebCore::processingUserGesture):
2727 (WebCore::completeURL):
2728 * bindings/js/JSLocationCustom.cpp:
2729 (WebCore::navigateIfAllowed):
2730 (WebCore::JSLocation::replace):
2731 * bindings/js/specialization/JSBindingState.cpp: Added.
2732 (WebCore::::getActiveFrame):
2733 (WebCore::::getFirstFrame):
2734 (WebCore::::processingUserGesture):
2735 (WebCore::::allowsAccessFromFrame):
2736 * bindings/js/specialization/JSBindingState.h: Added.
2737 * bindings/v8/V8Binding.h:
2738 * bindings/v8/V8Utilities.cpp:
2739 (WebCore::completeURL):
2740 (WebCore::navigateIfAllowed):
2741 * bindings/v8/custom/V8LocationCustom.cpp:
2742 (WebCore::V8Location::replaceCallback):
2743 * bindings/v8/specialization/V8BindingState.cpp:
2744 (WebCore::::allowsAccessFromFrame):
2745 * bindings/v8/specialization/V8BindingState.h:
2747 2010-09-03 Dimitri Glazkov <dglazkov@chromium.org>
2749 Reviewed by Tony Chang.
2751 [Chromium] Make sure that the width of the menu list is always constant under layout tests.
2752 https://bugs.webkit.org/show_bug.cgi?id=45196
2754 * rendering/RenderThemeChromiumWin.cpp:
2755 (WebCore::menuListButtonWidth): Added.
2756 (WebCore::RenderThemeChromiumWin::paintMenuList): Use menuListButtonWidth instead of always
2757 querying system metrics.
2759 2010-09-03 Sheriff Bot <webkit.review.bot@gmail.com>
2761 Unreviewed, rolling out r66732.
2762 http://trac.webkit.org/changeset/66732
2763 https://bugs.webkit.org/show_bug.cgi?id=45195
2765 the patch is not matched with general publish/subscribe scheme
2766 implemented in the Inspector API (Requested by loislo on
2769 * inspector/CodeGeneratorInspector.pm:
2770 * inspector/Inspector.idl:
2771 * inspector/InspectorDOMAgent.cpp:
2772 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2773 (WebCore::InspectorDOMAgent::getChildNodes):
2774 * inspector/InspectorDOMAgent.h:
2775 * inspector/front-end/DOMAgent.js:
2776 (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
2777 (WebInspector.DOMAgent.prototype.getChildNodesAsync):
2778 * inspector/front-end/WorkersSidebarPane.js:
2779 (WebInspector.WorkersSidebarPane.prototype.reset):
2781 2010-09-03 James Robinson <jamesr@chromium.org>
2783 [chromium] Compile fixes for 66746
2785 * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2786 (WebCore::SharedGraphicsContext3D::texImage2D):
2787 (WebCore::SharedGraphicsContext3D::texSubImage2D):
2789 2010-09-03 Chris Rogers <crogers@google.com>
2791 Reviewed by Kenneth Russell.
2793 Add AudioParam files
2794 https://bugs.webkit.org/show_bug.cgi?id=44995
2796 No new tests since audio API is not yet implemented.
2799 * webaudio/AudioParam.h: Added.
2800 (WebCore::AudioParam::create):
2801 (WebCore::AudioParam::AudioParam):
2802 (WebCore::AudioParam::value):
2803 (WebCore::AudioParam::setValue):
2804 (WebCore::AudioParam::name):
2805 (WebCore::AudioParam::minValue):
2806 (WebCore::AudioParam::maxValue):
2807 (WebCore::AudioParam::defaultValue):
2808 (WebCore::AudioParam::units):
2809 (WebCore::AudioParam::smoothedValue):
2810 (WebCore::AudioParam::smooth):
2811 (WebCore::AudioParam::resetSmoothedValue):
2812 (WebCore::AudioParam::setSmoothingConstant):
2813 * webaudio/AudioParam.idl: Added.
2815 2010-09-03 Chris Rogers <crogers@google.com>
2817 Reviewed by Kenneth Russell.
2819 audio engine: add AudioChannel files
2820 https://bugs.webkit.org/show_bug.cgi?id=44921
2822 No new tests since audio API is not yet implemented.
2824 * platform/audio/AudioChannel.cpp: Added.
2825 (WebCore::AudioChannel::scale):
2826 (WebCore::AudioChannel::copyFrom):
2827 (WebCore::AudioChannel::copyFromRange):
2828 (WebCore::AudioChannel::sumFrom):
2829 (WebCore::AudioChannel::maxAbsValue):
2830 * platform/audio/AudioChannel.h: Added.
2831 (WebCore::AudioChannel::AudioChannel):
2832 (WebCore::AudioChannel::set):
2833 (WebCore::AudioChannel::length):
2834 (WebCore::AudioChannel::data):
2835 (WebCore::AudioChannel::zero):
2837 2010-09-03 Patrick Gansterer <paroga@paroga.com>
2839 Reviewed by Adam Roben.
2841 [WINCE] Remove usage of ce_textcodecs.h
2842 https://bugs.webkit.org/show_bug.cgi?id=45169
2844 ce_textcodecs.h was a non public header for (not required)
2845 additonal codecs in the original Torch Mobile port.
2847 * platform/text/wince/TextCodecWinCE.cpp:
2848 (WebCore::LanguageManager::LanguageManager):
2851 2010-09-03 Chris Rogers <crogers@google.com>
2853 Reviewed by Kenneth Russell.
2855 Initial patch for audio engine: AudioBus and helper classes
2856 https://bugs.webkit.org/show_bug.cgi?id=34452
2858 No new tests since audio API is not yet implemented.
2860 * platform/audio/AudioBus.cpp: Added.
2861 (WebCore::AudioBus::AudioBus):
2862 (WebCore::AudioBus::setChannelMemory):
2863 (WebCore::AudioBus::zero):
2864 (WebCore::AudioBus::channelByType):
2865 (WebCore::AudioBus::topologyMatches):
2866 (WebCore::AudioBus::createBufferFromRange):
2867 (WebCore::AudioBus::maxAbsValue):
2868 (WebCore::AudioBus::normalize):
2869 (WebCore::AudioBus::scale):
2870 (WebCore::AudioBus::copyFrom):
2871 (WebCore::AudioBus::sumFrom):
2872 (WebCore::AudioBus::processWithGainFromMonoStereo):
2873 (WebCore::AudioBus::processWithGainFrom):
2874 (WebCore::AudioBus::copyWithGainFrom):
2875 (WebCore::AudioBus::sumWithGainFrom):
2876 * platform/audio/AudioBus.h: Added.
2877 (WebCore::AudioBus::numberOfChannels):
2878 (WebCore::AudioBus::channel):
2879 (WebCore::AudioBus::length):
2880 (WebCore::AudioBus::sampleRate):
2881 (WebCore::AudioBus::setSampleRate):
2882 (WebCore::AudioBus::setGain):
2883 (WebCore::AudioBus::gain):
2884 (WebCore::AudioBus::reset):
2885 (WebCore::AudioBus::AudioBus):
2886 * platform/audio/AudioSourceProvider.h: Added.
2887 (WebCore::AudioSourceProvider::~AudioSourceProvider):
2889 2010-09-03 Chris Rogers <crogers@google.com>
2891 Reviewed by Kenneth Russell.
2894 https://bugs.webkit.org/show_bug.cgi?id=45076
2896 No new tests since audio API is not yet implemented.
2898 * platform/audio/Panner.cpp: Added.
2899 (WebCore::Panner::create):
2900 * platform/audio/Panner.h: Added.
2901 (WebCore::Panner::~Panner):
2902 (WebCore::Panner::panningModel):
2903 (WebCore::Panner::Panner):
2905 2010-09-03 Chris Rogers <crogers@google.com>
2907 Reviewed by Kenneth Russell.
2909 Add AudioListener files
2910 https://bugs.webkit.org/show_bug.cgi?id=45006
2912 No new tests since audio API is not yet implemented.
2915 * webaudio/AudioListener.cpp: Added.
2916 (WebCore::AudioListener::AudioListener):
2917 * webaudio/AudioListener.h: Added.
2918 (WebCore::AudioListener::create):
2919 (WebCore::AudioListener::setPosition):
2920 (WebCore::AudioListener::position):
2921 (WebCore::AudioListener::setOrientation):
2922 (WebCore::AudioListener::orientation):
2923 (WebCore::AudioListener::setUpVector):
2924 (WebCore::AudioListener::upVector):
2925 (WebCore::AudioListener::setVelocity):
2926 (WebCore::AudioListener::velocity):
2927 (WebCore::AudioListener::setDopplerFactor):
2928 (WebCore::AudioListener::dopplerFactor):
2929 (WebCore::AudioListener::setSpeedOfSound):
2930 (WebCore::AudioListener::speedOfSound):
2931 * webaudio/AudioListener.idl: Added.
2933 2010-09-03 Chris Rogers <crogers@google.com>
2937 Add WebCore/webaudio and WebCore/platform/audio/mac directories in preparation for landing reviewed patches
2938 https://bugs.webkit.org/show_bug.cgi?id=45185
2940 * platform/audio/mac: Added.
2943 2010-09-03 James Robinson <jamesr@chromium.org>
2945 Reviewed by Chris Marrin.
2947 Multiple accelerated 2D canvases should be able to use the same GraphicsContext3D
2948 https://bugs.webkit.org/show_bug.cgi?id=44926
2950 This allows many accelerated 2d canvases to render using a single underlying GraphicsContext3D.
2951 It introduces a new class SharedGraphicsContext3D that manages several callers. This class could
2952 also cache the current state to avoid issuing redundant calls, although in this first cut it doesn't.
2953 The SharedGraphicsContext3D is provided through the ChromeClient so that its lifetime can be tied to that
2954 of the platform-specific compositor infrastructure.
2956 Accelerated 2d canvases maintain a reference to a SharedGraphicsContext3D and have ownership of a CanvasFramebuffer,
2957 which represents the canvas's rendering target. The compositing layer for an accelerated 2d canvas is
2958 aware only of the canvas's CanvasFramebuffer. This means that WebGL and 2d canvases are no longer treated
2959 as the same time of layer by the compositor.
2961 Covered by existing canvas tests.
2964 * html/canvas/CanvasRenderingContext.cpp:
2965 * html/canvas/CanvasRenderingContext.h:
2966 (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer):
2967 (WebCore::CanvasRenderingContext::platformLayer):
2968 * html/canvas/CanvasRenderingContext2D.cpp:
2969 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2970 (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
2971 (WebCore::CanvasRenderingContext2D::reset):
2972 (WebCore::CanvasRenderingContext2D::didDraw):
2973 (WebCore::CanvasRenderingContext2D::platformLayer):
2974 * html/canvas/CanvasRenderingContext2D.h:
2975 * html/canvas/WebGLRenderingContext.cpp:
2976 (WebCore::WebGLRenderingContext::paintsIntoCanvasBuffer):
2977 * html/canvas/WebGLRenderingContext.h:
2978 (WebCore::WebGLRenderingContext::graphicsContext3D):
2979 (WebCore::WebGLRenderingContext::platformLayer):
2980 * loader/EmptyClients.h:
2981 (WebCore::EmptyChromeClient::attachRootGraphicsLayer):
2982 (WebCore::EmptyChromeClient::setNeedsOneShotDrawingSynchronization):
2983 (WebCore::EmptyChromeClient::scheduleCompositingLayerSync):
2984 * page/ChromeClient.h:
2985 (WebCore::ChromeClient::getSharedGraphicsContext3D):
2986 * platform/graphics/GraphicsContext.cpp:
2987 (WebCore::GraphicsContext::setSharedGraphicsContext3D):
2988 (WebCore::GraphicsContext::syncSoftwareCanvas):
2989 * platform/graphics/GraphicsContext.h:
2990 * platform/graphics/chromium/Canvas2DLayerChromium.cpp: Added.
2991 (WebCore::Canvas2DLayerChromium::create):
2992 (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
2993 (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
2994 (WebCore::Canvas2DLayerChromium::updateContents):
2995 (WebCore::Canvas2DLayerChromium::setTextureChanged):
2996 (WebCore::Canvas2DLayerChromium::textureId):
2997 * platform/graphics/chromium/Canvas2DLayerChromium.h: Added.
2998 (WebCore::Canvas2DLayerChromium::drawsContent):
2999 * platform/graphics/chromium/CanvasLayerChromium.cpp:
3000 (WebCore::CanvasLayerChromium::CanvasLayerChromium):
3001 (WebCore::CanvasLayerChromium::~CanvasLayerChromium):
3002 (WebCore::CanvasLayerChromium::draw):
3003 * platform/graphics/chromium/CanvasLayerChromium.h:
3004 * platform/graphics/chromium/DrawingBufferChromium.cpp: Added.
3005 (WebCore::generateColorTexture):
3006 (WebCore::DrawingBuffer::DrawingBuffer):
3007 (WebCore::DrawingBuffer::~DrawingBuffer):
3008 (WebCore::DrawingBuffer::publishToPlatformLayer):
3009 (WebCore::DrawingBuffer::reset):
3010 (WebCore::DrawingBuffer::platformLayer):
3011 * platform/graphics/chromium/GLES2Canvas.cpp:
3012 (WebCore::GLES2Canvas::GLES2Canvas):
3013 (WebCore::GLES2Canvas::~GLES2Canvas):
3014 (WebCore::GLES2Canvas::bindFramebuffer):
3015 (WebCore::GLES2Canvas::clearRect):
3016 (WebCore::GLES2Canvas::fillRect):
3017 (WebCore::GLES2Canvas::drawTexturedRect):
3018 (WebCore::GLES2Canvas::drawTexturedRectTile):
3019 (WebCore::GLES2Canvas::drawQuad):
3020 (WebCore::GLES2Canvas::createTexture):
3021 (WebCore::GLES2Canvas::getTexture):
3022 * platform/graphics/chromium/GLES2Canvas.h:
3023 (WebCore::GLES2Canvas::context):
3024 (WebCore::GLES2Canvas::drawingBuffer):
3025 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3026 (WebCore::GraphicsLayerChromium::setContentsToCanvas):
3027 * platform/graphics/chromium/GraphicsLayerChromium.h:
3028 * platform/graphics/chromium/WebGLLayerChromium.cpp: Added.
3029 (WebCore::WebGLLayerChromium::create):
3030 (WebCore::WebGLLayerChromium::WebGLLayerChromium):
3031 (WebCore::WebGLLayerChromium::updateContents):
3032 (WebCore::WebGLLayerChromium::setContext):
3033 * platform/graphics/chromium/WebGLLayerChromium.h: Added.
3034 (WebCore::WebGLLayerChromium::drawsContent):
3035 * platform/graphics/gpu/DrawingBuffer.cpp: Added.
3036 (WebCore::DrawingBuffer::create):
3037 (WebCore::DrawingBuffer::bind):
3038 (WebCore::DrawingBuffer::setWillPublishCallback):
3039 * platform/graphics/gpu/DrawingBuffer.h: Added.
3040 (WebCore::DrawingBuffer::size):
3041 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Added.
3042 (WebCore::SharedGraphicsContext3D::create):
3043 (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
3044 (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
3045 (WebCore::SharedGraphicsContext3D::makeContextCurrent):
3046 (WebCore::SharedGraphicsContext3D::scissor):
3047 (WebCore::SharedGraphicsContext3D::enable):
3048 (WebCore::SharedGraphicsContext3D::disable):
3049 (WebCore::SharedGraphicsContext3D::clearColor):
3050 (WebCore::SharedGraphicsContext3D::clear):
3051 (WebCore::SharedGraphicsContext3D::drawArrays):
3052 (WebCore::SharedGraphicsContext3D::getError):
3053 (WebCore::SharedGraphicsContext3D::getIntegerv):
3054 (WebCore::SharedGraphicsContext3D::createFramebuffer):
3055 (WebCore::SharedGraphicsContext3D::createTexture):
3056 (WebCore::SharedGraphicsContext3D::deleteFramebuffer):
3057 (WebCore::SharedGraphicsContext3D::deleteTexture):
3058 (WebCore::SharedGraphicsContext3D::framebufferTexture2D):
3059 (WebCore::SharedGraphicsContext3D::texParameteri):
3060 (WebCore::SharedGraphicsContext3D::texImage2D):
3061 (WebCore::SharedGraphicsContext3D::texSubImage2D):
3062 (WebCore::SharedGraphicsContext3D::readPixels):
3063 (WebCore::SharedGraphicsContext3D::supportsBGRA):
3064 (WebCore::SharedGraphicsContext3D::getTexture):
3065 (WebCore::SharedGraphicsContext3D::applyCompositeOperator):
3066 (WebCore::SharedGraphicsContext3D::useQuadVertices):
3067 (WebCore::SharedGraphicsContext3D::setActiveTexture):
3068 (WebCore::SharedGraphicsContext3D::bindTexture):
3069 (WebCore::SharedGraphicsContext3D::useFillSolidProgram):
3070 (WebCore::SharedGraphicsContext3D::useTextureProgram):
3071 (WebCore::SharedGraphicsContext3D::bindFramebuffer):
3072 (WebCore::SharedGraphicsContext3D::setViewport):
3073 (WebCore::SharedGraphicsContext3D::paintsIntoCanvasBuffer):
3074 * platform/graphics/gpu/SharedGraphicsContext3D.h: Added.
3075 * platform/graphics/gpu/Texture.cpp:
3076 * platform/graphics/skia/GraphicsContextSkia.cpp:
3077 (WebCore::GraphicsContext::syncSoftwareCanvas):
3078 (WebCore::GraphicsContext::setSharedGraphicsContext3D):
3079 * platform/graphics/skia/ImageSkia.cpp:
3080 * platform/graphics/skia/PlatformContextSkia.cpp:
3081 (WebCore::PlatformContextSkia::~PlatformContextSkia):
3082 (WebCore::WillPublishCallbackImpl::create):
3083 (WebCore::WillPublishCallbackImpl::willPublish):
3084 (WebCore::WillPublishCallbackImpl::WillPublishCallbackImpl):
3085 (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
3086 (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
3087 (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
3088 * platform/graphics/skia/PlatformContextSkia.h:
3089 * rendering/RenderLayerBacking.cpp:
3090 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3092 2010-09-03 Chris Rogers <crogers@google.com>
3094 Reviewed by Kenneth Russell.
3096 Add audio distance effect files
3097 https://bugs.webkit.org/show_bug.cgi?id=44705
3099 No new tests since audio API is not yet implemented.
3101 * platform/audio/Distance.cpp: Added.
3102 (WebCore::DistanceEffect::DistanceEffect):
3103 (WebCore::DistanceEffect::gain):
3104 (WebCore::DistanceEffect::linearGain):
3105 (WebCore::DistanceEffect::inverseGain):
3106 (WebCore::DistanceEffect::exponentialGain):
3107 * platform/audio/Distance.h: Added.
3108 (WebCore::DistanceEffect::model):
3109 (WebCore::DistanceEffect::setModel):
3110 (WebCore::DistanceEffect::setRefDistance):
3111 (WebCore::DistanceEffect::setMaxDistance):
3112 (WebCore::DistanceEffect::setRolloffFactor):
3113 (WebCore::DistanceEffect::refDistance):
3114 (WebCore::DistanceEffect::maxDistance):
3115 (WebCore::DistanceEffect::rolloffFactor):
3117 2010-09-03 Johnny Ding <jnd@chromium.org>
3119 Reviewed by Adam Barth.
3121 Save the gesture state to track the user gesture state across async form submission.
3122 https://bugs.webkit.org/show_bug.cgi?id=44969
3124 fast/events/popup-blocked-to-post-blank.html can cover the test in WebKit.
3125 A UI test will be added in chromium to address chromium's bug.
3127 * loader/RedirectScheduler.cpp:
3128 (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
3129 (WebCore::ScheduledFormSubmission::fire):
3130 (WebCore::RedirectScheduler::scheduleFormSubmission):
3132 2010-09-03 Dan Bernstein <mitz@apple.com>
3134 Reviewed by Anders Carlsson.
3136 <rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
3137 https://bugs.webkit.org/show_bug.cgi?id=45182
3139 Test: fast/text/decomposed-after-stacked-diacritics.html
3141 * platform/graphics/Font.cpp:
3142 (WebCore::Font::codePath): Do not bail out if the run contains stacked diacritics, since
3143 it may also contain characters that require the complex text code path.
3145 2010-09-03 Mikhail Naganov <mnaganov@chromium.org>
3147 Reviewed by Yury Semikhatsky.
3149 Web Inspector: Cleanup after r66117 - extract heap snapshot
3150 view styles into a dedicated .css
3152 https://bugs.webkit.org/show_bug.cgi?id=45178
3155 * WebCore.vcproj/WebCore.vcproj:
3156 * inspector/front-end/WebKit.qrc:
3157 * inspector/front-end/heapProfiler.css: Added.
3158 (.heap-snapshot-sidebar-tree-item .icon):
3159 (.heap-snapshot-sidebar-tree-item.small .icon):
3160 (.heap-snapshot-view):
3161 (.heap-snapshot-view.visible):
3162 (.heap-snapshot-view .data-grid):
3163 (.heap-snapshot-view .data-grid th.count-column):
3164 (.heap-snapshot-view .data-grid td.count-column):
3165 (.heap-snapshot-view .data-grid th.size-column):
3166 (.heap-snapshot-view .data-grid td.size-column):
3167 (.heap-snapshot-view .data-grid th.countDelta-column):
3168 (.heap-snapshot-view .data-grid td.countDelta-column):
3169 (.heap-snapshot-view .data-grid th.sizeDelta-column):
3170 (.heap-snapshot-view .data-grid td.sizeDelta-column):
3171 (#heap-snapshot-summary-container):
3172 (.heap-snapshot-summary):
3173 (.heap-snapshot-summary canvas.summary-graph):
3174 (.heap-snapshot-summary-label):
3175 * inspector/front-end/inspector.css:
3176 * inspector/front-end/inspector.html:
3178 2010-09-03 Zaheer Ahmad <zaheer.mot@gmail.com>
3180 Reviewed by Darin Adler.
3182 [GTK] compilation issue with JSTimeRanges when video turned off
3183 https://bugs.webkit.org/show_bug.cgi?id=44249
3185 Move the JSTimeRanges outside ENABLE_VIDEO in GNUMakefile.am
3186 * WebCore/GNUMakefile.am
3188 2010-09-03 Ilya Tikhonovsky <loislo@chromium.org>
3190 Reviewed by Yury Semikhatsky.
3192 Web Inspector: cleanup inspector api. getChildNodes should return array of child nodes as an output value.
3194 The current implementation of the inspector api has some unnecessary complexity.
3195 As example WebInspector is requesting child nodes of a node by getChildNodes
3196 but DOM agent is actually pushing the child nodes via setChildNodes event call and
3197 send back an empty response message.
3199 https://bugs.webkit.org/show_bug.cgi?id=45172
3201 * inspector/CodeGeneratorInspector.pm:
3202 * inspector/Inspector.idl:
3203 * inspector/InspectorDOMAgent.cpp:
3204 (WebCore::InspectorDOMAgent::getChildNodesArray):
3205 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
3206 (WebCore::InspectorDOMAgent::getChildNodes):
3207 * inspector/InspectorDOMAgent.h:
3208 * inspector/front-end/DOMAgent.js:
3209 (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
3210 (WebInspector.DOMAgent.prototype.getChildNodesAsync):
3211 * inspector/front-end/WorkersSidebarPane.js:
3212 (WebInspector.WorkersSidebarPane.prototype.reset):
3214 2010-09-03 Nikolas Zimmermann <nzimmermann@rim.com>
3216 Reviewed by Dirk Schulze.
3218 SVG atlas map slider doesn't work properly
3219 https://bugs.webkit.org/show_bug.cgi?id=45107
3221 SVG 1.1 2nd edition relaxes hit testing rules. The outermost <svg> should react
3222 to mouse events, in standalone and compound documents, if the mouse location is
3223 within the intrinsic boundaries of the <svg> element.
3225 Tests: svg/custom/mouse-move-on-svg-container-standalone.svg
3226 svg/custom/mouse-move-on-svg-container.xhtml
3227 svg/custom/mouse-move-on-svg-root-standalone.svg
3228 svg/custom/mouse-move-on-svg-root.xhtml
3230 * rendering/RenderSVGRoot.cpp:
3231 (WebCore::RenderSVGRoot::nodeAtPoint):
3233 2010-09-03 Pavel Podivilov <podivilov@chromium.org>
3235 Reviewed by Yury Semikhatsky.
3237 Web Inspector: provide more information to front-end when breaking on DOM event
3238 https://bugs.webkit.org/show_bug.cgi?id=44679
3240 * dom/ContainerNode.cpp:
3241 (WebCore::ContainerNode::insertBefore):
3242 (WebCore::ContainerNode::parserInsertBefore):
3243 (WebCore::ContainerNode::replaceChild):
3244 (WebCore::ContainerNode::appendChild):
3245 (WebCore::ContainerNode::parserAddChild):
3246 (WebCore::notifyChildInserted):
3247 (WebCore::dispatchChildRemovalEvents):
3249 (WebCore::Element::setAttribute):
3250 (WebCore::Element::removeAttribute):
3251 * inspector/Inspector.idl:
3252 * inspector/InspectorController.cpp:
3253 (WebCore::InspectorController::willInsertDOMNodeImpl):
3254 (WebCore::InspectorController::didInsertDOMNodeImpl):
3255 (WebCore::InspectorController::willRemoveDOMNodeImpl):
3256 (WebCore::InspectorController::didRemoveDOMNodeImpl):
3257 (WebCore::InspectorController::willModifyDOMAttrImpl):
3258 (WebCore::InspectorController::didModifyDOMAttrImpl):
3259 * inspector/InspectorController.h:
3260 (WebCore::InspectorController::willInsertDOMNode):
3261 (WebCore::InspectorController::didInsertDOMNode):
3262 (WebCore::InspectorController::willRemoveDOMNode):
3263 (WebCore::InspectorController::willModifyDOMAttr):
3264 (WebCore::InspectorController::didModifyDOMAttr):
3265 (WebCore::InspectorController::inspectorControllerForNode):
3266 * inspector/InspectorDOMAgent.cpp:
3267 (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
3268 (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
3269 (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
3270 (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
3271 (WebCore::InspectorDOMAgent::didInsertDOMNode):
3272 (WebCore::InspectorDOMAgent::didRemoveDOMNode):
3273 (WebCore::InspectorDOMAgent::didModifyDOMAttr):
3274 (WebCore::InspectorDOMAgent::createBreakpoint):
3275 * inspector/InspectorDOMAgent.h:
3276 * inspector/InspectorDebuggerAgent.cpp:
3277 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3278 (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
3279 (WebCore::InspectorDebuggerAgent::didPause):
3280 (WebCore::InspectorDebuggerAgent::breakProgram):
3281 * inspector/InspectorDebuggerAgent.h:
3282 * inspector/InspectorValues.h:
3283 (WebCore::InspectorValue::isNull):
3284 * inspector/front-end/BreakpointsSidebarPane.js:
3285 (WebInspector.BreakpointItem):
3286 (WebInspector.BreakpointItem.prototype._enableChanged):
3287 * inspector/front-end/Script.js:
3288 (WebInspector.Script.prototype.get linesCount):
3289 * inspector/front-end/inspector.js:
3290 (WebInspector.pausedScript):
3292 2010-08-31 Jeremy Orlow <jorlow@chromium.org>
3294 Reviewed by Steve Block.
3296 IDBCursor.continue() should reuse the .openCursor's IDBRequest object
3297 https://bugs.webkit.org/show_bug.cgi?id=44953
3299 This is to match the spec. This requires a modification to IDBRequest so
3300 that multiple events can be queued up.
3302 Note that the initial state for IDBRequest was removed from the spec.
3304 Test: modified existing test to verify new behavior.
3306 * storage/IDBAny.cpp:
3307 (WebCore::IDBAny::createInvalid):
3308 (WebCore::IDBAny::createNull):
3309 (WebCore::IDBAny::setNull):
3311 (WebCore::IDBAny::create):
3312 * storage/IDBCursor.cpp:
3313 (WebCore::IDBCursor::IDBCursor):
3314 (WebCore::IDBCursor::continueFunction):
3315 * storage/IDBCursor.h:
3316 (WebCore::IDBCursor::create):
3317 * storage/IDBCursor.idl:
3318 * storage/IDBRequest.cpp:
3319 (WebCore::IDBRequest::IDBRequest):
3320 (WebCore::IDBRequest::~IDBRequest):
3321 (WebCore::IDBRequest::resetReadyState):
3322 (WebCore::IDBRequest::onError):
3323 (WebCore::IDBRequest::onSuccess):
3324 (WebCore::IDBRequest::abort):
3325 (WebCore::IDBRequest::timerFired):
3326 (WebCore::IDBRequest::scheduleEvent):
3327 * storage/IDBRequest.h:
3328 * storage/IDBRequest.idl:
3330 2010-09-03 Bharathwaaj Srinivasan <bharathwaaj.s@gmail.com>
3332 Reviewed by Xan Lopez.
3334 Initialize keyboard events before passing plugins.
3335 https://bugs.webkit.org/show_bug.cgi?id=44771
3337 No new tests needed since this is a trivial fix.
3339 * plugins/gtk/PluginViewGtk.cpp:
3340 (WebCore::PluginView::handleKeyboardEvent):
3342 2010-09-03 Yury Semikhatsky <yurys@chromium.org>
3344 Unreviewed. Fix Qt compilation.
3346 * html/HTMLEmbedElement.cpp:
3347 (WebCore::HTMLEmbedElement::parametersForPlugin):
3349 2010-09-03 Hironori Bono <hbono@chromium.org>
3351 Reviewed by Kent Tamura.
3353 Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests
3354 and implements it for Mac.
3355 https://bugs.webkit.org/show_bug.cgi?id=41832
3357 Tests: editing/spelling/spelling-contenteditable.html
3358 editing/spelling/spelling-textarea.html
3360 * WebCore.exp.in: Exported symbols used by [WebFrame hasSpellingMarker:length:].
3362 2010-09-02 Yury Semikhatsky <yurys@chromium.org>
3364 Reviewed by Pavel Feldman.
3366 REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
3367 https://bugs.webkit.org/show_bug.cgi?id=44230
3369 * inspector/Inspector.idl:
3370 * inspector/InspectorController.cpp:
3371 (WebCore::InspectorController::inspectedPageDestroyed):
3372 (WebCore::InspectorController::close):
3373 * inspector/InspectorFrontendClient.h:
3374 * inspector/InspectorFrontendHost.cpp:
3375 (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController
3376 that frontend closes if InspectorController triggered the action.
3377 * inspector/InspectorFrontendHost.h:
3378 * inspector/InspectorFrontendHost.idl:
3379 * inspector/front-end/InspectorFrontendHostStub.js:
3380 (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
3381 * inspector/front-end/inspector.js:
3382 (WebInspector.disconnectFromBackend):
3384 2010-09-03 Girish Ramakrishnan <girish@forwardbias.in>
3386 Reviewed-by Simon Hausmann.
3388 Passing a 32-bit depth X pixmap to NPAPI windowless plugins is too inefficient.
3389 Instead, pass a X Pixmap that has same depth as the screen depth since graphics
3390 operations are optimized for this depth.
3392 https://bugs.webkit.org/show_bug.cgi?id=45167
3394 * plugins/PluginPackage.cpp:
3395 (WebCore::PluginPackage::determineQuirks):
3397 2010-09-02 Kwang Yul Seo <skyul@company100.net>
3399 Reviewed by Kent Tamura.
3401 Add ENABLE(DATABASE) guard to DatabaseAuthorizer.cpp
3402 https://bugs.webkit.org/show_bug.cgi?id=45152
3404 DatabaseAuthorizer is used only with ENABLE(DATABASE).
3406 * storage/DatabaseAuthorizer.cpp:
3408 2010-09-02 Pavel Podivilov <podivilov@chromium.org>
3410 Reviewed by Yury Semikhatsky.
3412 Web Inspector: persist DOM breakpoints between page reloads
3413 https://bugs.webkit.org/show_bug.cgi?id=44837
3415 * inspector/front-end/BreakpointsSidebarPane.js:
3416 (WebInspector.DOMBreakpointItem):
3417 * inspector/front-end/DOMAgent.js:
3418 (WebInspector.DOMNode.prototype.path):
3419 (WebInspector.DOMNode.prototype.setBreakpoint):
3420 (WebInspector.DOMNode.prototype.hasBreakpoint):
3421 (WebInspector.DOMNode.prototype.removeBreakpoint):
3422 (WebInspector.DOMNode.prototype.removeBreakpoints):
3423 (WebInspector.DOMAgent.prototype._setDocument):
3424 (WebInspector.DOMAgent.prototype._childNodeRemoved):
3425 (WebInspector.DOMAgent.prototype._removeBreakpoints):
3426 (WebInspector.DOMBreakpointManager):
3427 (WebInspector.DOMBreakpointManager.prototype.setBreakpoint):
3428 (WebInspector.DOMBreakpointManager.prototype.removeBreakpointsForNode):
3429 (WebInspector.DOMBreakpointManager.prototype._breakpointRemoved):
3430 (WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints.restoreBreakpointsForNode):
3431 (WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints):
3432 (WebInspector.DOMBreakpoint):
3433 (WebInspector.DOMBreakpoint.prototype.get nodeId):
3434 (WebInspector.DOMBreakpoint.prototype.get type):
3435 (WebInspector.DOMBreakpoint.prototype.set enabled):
3436 (WebInspector.DOMBreakpoint.prototype.remove):
3437 * inspector/front-end/ElementsPanel.js:
3438 (WebInspector.ElementsPanel.prototype.reset):
3439 (WebInspector.ElementsPanel.prototype.setDocument):
3440 * inspector/front-end/ElementsTreeOutline.js:
3441 (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
3442 * inspector/front-end/SourceFrame.js:
3443 (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
3445 2010-09-02 Eric Seidel <eric@webkit.org>
3447 Reviewed by Dimitri Glazkov.
3449 Move updateWidget into FrameView from RenderEmbeddedObject
3450 https://bugs.webkit.org/show_bug.cgi?id=45065
3452 I also made updateWidget() virtual on HTMLPlugInImageElement.
3453 I'm not yet sure that updateWidget belongs on HTMLElement since
3454 I'm not sure that HTMLMediaElement's use of the updateWidget
3455 infrastructure is correct.
3457 I also got rid of the strange !m_replacementText.isEmpty() checks
3458 by making a pluginCrashedOrWasMissing() call which seems to embody
3459 the idea behind that check and hides the screwy details.
3461 I noticed a couple methods on HTMLPlugInImageElement were public
3462 which did not need to be. Fixed.
3464 No functional change, thus no tests.
3466 * html/HTMLEmbedElement.h:
3467 * html/HTMLObjectElement.h:
3468 * html/HTMLPlugInImageElement.cpp:
3469 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
3470 * html/HTMLPlugInImageElement.h:
3471 (WebCore::HTMLPlugInImageElement::serviceType):
3472 (WebCore::HTMLPlugInImageElement::url):
3473 * page/FrameView.cpp:
3474 (WebCore::FrameView::updateWidget):
3475 (WebCore::FrameView::updateWidgets):
3477 * rendering/RenderEmbeddedObject.cpp:
3478 (WebCore::RenderEmbeddedObject::pluginCrashedOrWasMissing):
3479 (WebCore::RenderEmbeddedObject::paint):
3480 (WebCore::RenderEmbeddedObject::paintReplaced):
3481 * rendering/RenderEmbeddedObject.h:
3483 2010-09-02 Eric Seidel <eric@webkit.org>
3485 Reviewed by Dimitri Glazkov.
3487 Move updateWidget implementations into the DOM
3488 https://bugs.webkit.org/show_bug.cgi?id=45058
3490 Unfortunately it's not yet possible to share an updateWidget
3491 implementation between <embed> and <object>. That would amount to
3492 (positive) functional changes for <embed> which I'd will separate
3493 into a later patch. I will also have to untangle <object>'s <param>
3494 walk from its url/serviceType calculations.
3496 However after this patch it's slap-you-across-the-face obvious that
3497 RenderEmbeddedObject::updateWidget was the wrong place for this code.
3498 RenderEmbeddedObject::updateWidget still exists, but only as a
3499 pseudo-virtual-method dispatcher. Unless we add updateWidget() to
3500 HTMLElement, we won't be able to use real virtual dispatch.
3502 I may need to consider making "having a widget" a has-a relationship
3503 with some sort of WidgetContainer object which Media and Plugin can
3504 share. Or its also possible that Media's use of the widget code here
3505 is just wrong. Certainly now that updateWidget was moved into HTMLMediaElement
3506 it becomes obvious that HTMLMediaElement has duplicate code for updating widgets.
3508 No functional changes, thus no tests.
3510 * html/HTMLEmbedElement.cpp:
3511 (WebCore::HTMLEmbedElement::updateWidget):
3512 * html/HTMLEmbedElement.h:
3513 * html/HTMLMediaElement.cpp:
3514 (WebCore::HTMLMediaElement::updateWidget):
3515 * html/HTMLMediaElement.h:
3516 * html/HTMLObjectElement.cpp:
3517 (WebCore::HTMLObjectElement::updateWidget):
3518 * html/HTMLObjectElement.h:
3519 (WebCore::HTMLObjectElement::useFallbackContent):
3520 * html/HTMLPlugInImageElement.h:
3521 (WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
3522 (WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
3523 * loader/FrameLoader.cpp:
3524 * rendering/RenderEmbeddedObject.cpp:
3525 (WebCore::RenderEmbeddedObject::updateWidget):
3527 2010-09-02 Eric Seidel <eric@webkit.org>
3529 Reviewed by Dimitri Glazkov.
3531 Move more code from RenderEmbeddedObject into the DOM
3532 https://bugs.webkit.org/show_bug.cgi?id=45055
3534 No logic changes here, just taking the code which
3535 I ripped out of RenderEmbeddedObject::updateWidget
3536 into static methods before and moving it into
3537 the applicable DOM classes.
3539 HTMLObjectElement::parametersForPlugin does too much
3540 but in order to fix it I may need to add a PluginParameters
3541 class so we can ask things about the parameters. <object>
3542 needs to get multiple bits of information out of its parameters
3543 array. Right now it does it all in one walk. In order to share
3544 code with HTMLEmbedElement, we need the "generate the params array"
3545 code to be separate from the "make advanced <object> specific decision
3546 from the params array". But that will need to be in a later patch.
3548 No functional changes, thus no tests.
3550 * html/HTMLEmbedElement.cpp:
3551 (WebCore::HTMLEmbedElement::parametersForPlugin):
3552 * html/HTMLEmbedElement.h:
3553 * html/HTMLObjectElement.cpp:
3554 (WebCore::createClassIdToTypeMap):
3555 (WebCore::serviceTypeForClassId):
3556 (WebCore::mapDataParamToSrc):
3557 (WebCore::HTMLObjectElement::parametersForPlugin):
3558 (WebCore::HTMLObjectElement::hasFallbackContent):
3559 * html/HTMLObjectElement.h:
3560 * html/HTMLPlugInImageElement.cpp:
3561 (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
3562 (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
3563 (WebCore::HTMLPlugInImageElement::detach):
3564 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
3565 (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
3566 * html/HTMLPlugInImageElement.h:
3567 * rendering/RenderEmbeddedObject.cpp:
3568 (WebCore::updateWidgetForObjectElement):
3569 (WebCore::updateWidgetForEmbedElement):
3570 (WebCore::RenderEmbeddedObject::updateWidget):
3572 2010-09-02 François Sausset <sausset@gmail.com>
3574 Reviewed by Darin Adler.
3576 MathML mo element should render "hyphen-minus" as "minus sign" (Unicode glyph names).
3577 https://bugs.webkit.org/show_bug.cgi?id=43629
3579 Test: mathml/presentation/mo.xhtml
3581 * mathml/RenderMathMLOperator.cpp:
3582 (WebCore::RenderMathMLOperator::RenderMathMLOperator):
3583 (WebCore::RenderMathMLOperator::updateFromElement):
3584 * mathml/RenderMathMLOperator.h:
3585 (WebCore::convertHyphenMinusToMinusSign):
3586 * platform/text/CharacterNames.h:
3588 2010-09-02 Kenneth Russell <kbr@google.com>
3590 Reviewed by Darin Fisher.
3592 Add red-black tree capable of holding plain old data (POD)
3593 https://bugs.webkit.org/show_bug.cgi?id=45059
3595 Adding an augmentable red-black tree capable of holding Plain Old
3596 Data (POD), or classes bottoming out into only POD, and an
3597 associated PODArena. Note that the PODArena will be used by other
3598 classes to allocate temporary structures, which is why it is not
3599 just an implementation detail of the red-black tree.
3601 These classes are being placed under WebCore/platform/graphics/gpu
3602 for the time being. If they are generalized to hold even data
3603 types which internally perform dynamic memory allocation, we may
3604 consider moving them to WTF in the future.
3606 Unit tests for the PODRedBlackTree will be integrated separately
3610 * platform/graphics/gpu/PODArena.h: Added.
3611 (WebCore::PODArena::Allocator::~Allocator):
3612 (WebCore::PODArena::FastMallocAllocator::create):
3613 (WebCore::PODArena::FastMallocAllocator::allocate):
3614 (WebCore::PODArena::FastMallocAllocator::free):
3615 (WebCore::PODArena::FastMallocAllocator::FastMallocAllocator):
3616 (WebCore::PODArena::create):
3617 (WebCore::PODArena::allocateObject):
3618 (WebCore::PODArena::~PODArena):
3619 (WebCore::PODArena::PODArena):
3620 (WebCore::PODArena::minAlignment):
3621 (WebCore::PODArena::roundUp):
3622 (WebCore::PODArena::Chunk::Chunk):
3623 (WebCore::PODArena::Chunk::~Chunk):
3624 (WebCore::PODArena::Chunk::allocate):
3625 * platform/graphics/gpu/PODRedBlackTree.h: Added.
3626 (WebCore::PODRedBlackTree::Visitor::~Visitor):
3627 (WebCore::PODRedBlackTree::PODRedBlackTree):
3628 (WebCore::PODRedBlackTree::~PODRedBlackTree):
3629 (WebCore::PODRedBlackTree::add):
3630 (WebCore::PODRedBlackTree::remove):
3631 (WebCore::PODRedBlackTree::contains):
3632 (WebCore::PODRedBlackTree::visitInorder):
3633 (WebCore::PODRedBlackTree::size):
3634 (WebCore::PODRedBlackTree::setNeedsFullOrderingComparisons):
3635 (WebCore::PODRedBlackTree::checkInvariants):
3636 (WebCore::PODRedBlackTree::dump):
3637 (WebCore::PODRedBlackTree::setVerboseDebugging):
3638 (WebCore::PODRedBlackTree::Node::Node):
3639 (WebCore::PODRedBlackTree::Node::~Node):
3640 (WebCore::PODRedBlackTree::Node::color):
3641 (WebCore::PODRedBlackTree::Node::setColor):
3642 (WebCore::PODRedBlackTree::Node::data):
3643 (WebCore::PODRedBlackTree::Node::copyFrom):
3644 (WebCore::PODRedBlackTree::Node::left):
3645 (WebCore::PODRedBlackTree::Node::setLeft):
3646 (WebCore::PODRedBlackTree::Node::right):
3647 (WebCore::PODRedBlackTree::Node::setRight):
3648 (WebCore::PODRedBlackTree::Node::parent):