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