1 2012-07-23 Bem Jones-Bey <bjonesbe@adobe.com>
3 [CSS Exclusions] SVG shape errors should invalidate exclusion shapes
4 https://bugs.webkit.org/show_bug.cgi?id=91761
6 Reviewed by Andreas Kling.
8 CSS exclusion shapes that are specified with negative radiuses or
9 height/width are now considered invalid and ignored.
12 LayoutTests/fast/exclusions/parsing-wrap-shape-lengths.html
15 (WebCore::CSSParser::parseExclusionShapeRectangle):
16 (WebCore::CSSParser::parseExclusionShapeCircle):
17 (WebCore::CSSParser::parseExclusionShapeEllipse):
19 2012-07-23 Tien-Ren Chen <trchen@chromium.org>
21 [chromium] Implement scrollbar theme for Android
22 https://bugs.webkit.org/show_bug.cgi?id=91674
24 Reviewed by Adam Barth.
26 Previously the scrollbar for Android was implemented as an extra
27 drawing pass in the compositor. Now we switch to use the standard
28 ScrollbarTheme mechanism.
30 No new tests. We use mock scrollbars during layout test to share
31 pixel results with Linux.
33 * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
34 (WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
35 (WebCore::ScrollbarThemeChromiumAndroid::thumbPosition):
36 (WebCore::ScrollbarThemeChromiumAndroid::thumbLength):
37 (WebCore::ScrollbarThemeChromiumAndroid::backButtonRect):
38 (WebCore::ScrollbarThemeChromiumAndroid::forwardButtonRect):
39 (WebCore::ScrollbarThemeChromiumAndroid::trackRect):
41 (WebCore::ScrollbarThemeChromiumAndroid::paintThumb):
42 (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
43 * platform/chromium/ScrollbarThemeChromiumAndroid.h:
44 (WebCore::ScrollbarThemeChromiumAndroid::usesOverlayScrollbars):
45 (ScrollbarThemeChromiumAndroid):
46 (WebCore::ScrollbarThemeChromiumAndroid::hasButtons):
47 (WebCore::ScrollbarThemeChromiumAndroid::hasThumb):
49 2012-07-23 Kwang Yul Seo <skyul@company100.net>
51 Use the original token to create an element in "reconstruct the active formatting elements" and "call the adoption agency"
52 https://bugs.webkit.org/show_bug.cgi?id=91703
54 Reviewed by Adam Barth.
56 The current WebKit HTML5 parser implementation does not hold the original token
57 in the stack of open elements and the active formatting elements. This is
58 problematic because the original token is used to create an element in
59 "reconstruct the active formatting elements" and "call the adoption agency".
61 As a workaround, WebKit uses the saved element instead of the original token
62 to create an element. But this causes us to fail examples like this:
63 <b id="1"><p><script>document.getElementById("1").id = "2"</script></p>TEXT</b>
64 reconstructTheActiveFormattingElements calls this method to open a second <b>
65 tag to wrap TEXT, it will have id "2", even though the HTML5 spec implies it
68 Created a ref-counted container class, HTMLStackItem to hold the original token
69 and the namespace URI as well as the element. Changed HTMLElementStack and
70 HTMLFormattingElementList to use HTMLStackItem.
71 Changed HTMLConstructionSite::reconstructTheActiveFormattingElements and
72 HTMLTreeBuilder::callTheAdoptionAgency to create an element from the saved token
73 instead of the saved element.
75 Updated test expectation for html5lib/runner-expected.txt
76 because now resources/scripted/adoption01.dat passes.
78 * html/parser/HTMLConstructionSite.cpp:
79 (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
80 (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
81 (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
82 (WebCore::HTMLConstructionSite::insertHTMLFormElement):
83 (WebCore::HTMLConstructionSite::insertHTMLElement):
84 (WebCore::HTMLConstructionSite::insertFormattingElement):
85 (WebCore::HTMLConstructionSite::insertScriptElement):
86 (WebCore::HTMLConstructionSite::insertForeignElement):
87 (WebCore::HTMLConstructionSite::createElementFromSavedToken):
88 (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
89 * html/parser/HTMLConstructionSite.h:
90 (HTMLConstructionSite):
91 (WebCore::HTMLConstructionSite::currentElementRecord):
92 * html/parser/HTMLElementStack.cpp:
93 (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
94 (WebCore::HTMLElementStack::ElementRecord::replaceElement):
95 (WebCore::HTMLElementStack::pushRootNode):
96 (WebCore::HTMLElementStack::pushHTMLHtmlElement):
97 (WebCore::HTMLElementStack::pushRootNodeCommon):
98 (WebCore::HTMLElementStack::pushHTMLHeadElement):
99 (WebCore::HTMLElementStack::pushHTMLBodyElement):
100 (WebCore::HTMLElementStack::push):
101 (WebCore::HTMLElementStack::insertAbove):
102 (WebCore::HTMLElementStack::pushCommon):
103 * html/parser/HTMLElementStack.h:
104 (WebCore::HTMLElementStack::ElementRecord::element):
105 (WebCore::HTMLElementStack::ElementRecord::node):
106 (WebCore::HTMLElementStack::ElementRecord::stackItem):
109 * html/parser/HTMLFormattingElementList.cpp:
110 (WebCore::HTMLFormattingElementList::swapTo):
111 (WebCore::HTMLFormattingElementList::append):
112 * html/parser/HTMLFormattingElementList.h:
113 (WebCore::HTMLFormattingElementList::Entry::Entry):
114 (WebCore::HTMLFormattingElementList::Entry::isMarker):
115 (WebCore::HTMLFormattingElementList::Entry::stackItem):
116 (WebCore::HTMLFormattingElementList::Entry::element):
117 (WebCore::HTMLFormattingElementList::Entry::replaceElement):
118 (WebCore::HTMLFormattingElementList::Entry::operator==):
119 (WebCore::HTMLFormattingElementList::Entry::operator!=):
121 (HTMLFormattingElementList):
122 * html/parser/HTMLStackItem.h: Added.
125 (WebCore::HTMLStackItem::create):
126 (WebCore::HTMLStackItem::element):
127 (WebCore::HTMLStackItem::node):
128 (WebCore::HTMLStackItem::token):
129 (WebCore::HTMLStackItem::namespaceURI):
130 (WebCore::HTMLStackItem::HTMLStackItem):
131 * html/parser/HTMLTreeBuilder.cpp:
132 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
133 (WebCore::HTMLTreeBuilder::processStartTag):
134 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
136 2012-07-23 Andreas Kling <kling@webkit.org>
138 Report the extra memory used by immutable StylePropertySet objects.
139 <http://webkit.org/b/92032>
141 Reviewed by Anders Carlsson.
143 Add an optional parameter to the MemoryClassInfo constructor for passing in additional base object
144 size on top of sizeof(T).
146 Use this in StylePropertySet::reportMemoryUsage() to properly account for the CSSProperty array
147 tacked onto the end of the object when m_isMutable == false.
149 * css/StylePropertySet.h:
150 (WebCore::StylePropertySet::reportMemoryUsage):
151 * dom/MemoryInstrumentation.h:
152 (WebCore::MemoryObjectInfo::reportObjectInfo):
153 (WebCore::MemoryClassInfo::MemoryClassInfo):
155 2012-07-23 Gregg Tavares <gman@google.com>
157 Fix WebGL texSubImage2D for cube maps
158 https://bugs.webkit.org/show_bug.cgi?id=91927
160 Reviewed by Kenneth Russell.
162 Fixes texSubImage2D so any size rectangle can be passed in
165 Test: fast/canvas/webgl/tex-sub-image-cube-maps.html
167 * html/canvas/WebGLRenderingContext.cpp:
169 (WebCore::WebGLRenderingContext::copyTexImage2D):
170 (WebCore::WebGLRenderingContext::texImage2DBase):
171 (WebCore::WebGLRenderingContext::texSubImage2DBase):
172 (WebCore::WebGLRenderingContext::validateTexFuncParameters):
173 * html/canvas/WebGLRenderingContext.h:
174 (WebGLRenderingContext):
176 2012-07-23 Sheriff Bot <webkit.review.bot@gmail.com>
178 Unreviewed, rolling out r123387.
179 http://trac.webkit.org/changeset/123387
180 https://bugs.webkit.org/show_bug.cgi?id=92036
182 Broke chromium win build (Requested by tony^work on #webkit).
184 * WebCore.gyp/WebCore.gyp:
185 * WebCore.gyp/scripts/rule_bison.py:
186 * bindings/scripts/preprocessor.pm:
188 * make-hash-tools.pl:
190 2012-07-23 Kwang Yul Seo <skyul@company100.net>
192 Ref-count AtomicHTMLToken
193 https://bugs.webkit.org/show_bug.cgi?id=91981
195 Reviewed by Adam Barth.
197 Ref-count AtomicHTMLToken to avoid copying AtomicHTMLToken in Bug 91703.
199 No new tests - no functional changes.
201 * html/parser/HTMLConstructionSite.cpp:
202 (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
203 (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
204 (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
205 (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
206 (WebCore::HTMLConstructionSite::insertDoctype):
207 (WebCore::HTMLConstructionSite::insertComment):
208 (WebCore::HTMLConstructionSite::insertCommentOnDocument):
209 (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
210 (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
211 (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
212 (WebCore::HTMLConstructionSite::insertHTMLFormElement):
213 (WebCore::HTMLConstructionSite::insertHTMLElement):
214 (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
215 (WebCore::HTMLConstructionSite::insertFormattingElement):
216 (WebCore::HTMLConstructionSite::insertScriptElement):
217 (WebCore::HTMLConstructionSite::insertForeignElement):
218 (WebCore::HTMLConstructionSite::createElement):
219 (WebCore::HTMLConstructionSite::createHTMLElement):
220 (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
221 * html/parser/HTMLConstructionSite.h:
222 (HTMLConstructionSite):
223 * html/parser/HTMLToken.h:
224 (WebCore::AtomicHTMLToken::create):
226 (WebCore::AtomicHTMLToken::AtomicHTMLToken):
227 * html/parser/HTMLTreeBuilder.cpp:
228 (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
229 (WebCore::HTMLTreeBuilder::constructTreeFromToken):
230 (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
231 (WebCore::HTMLTreeBuilder::processToken):
232 (WebCore::HTMLTreeBuilder::processDoctypeToken):
233 (WebCore::HTMLTreeBuilder::processFakeStartTag):
234 (WebCore::HTMLTreeBuilder::processFakeEndTag):
235 (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
236 (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
237 (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
239 (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
240 (WebCore::HTMLTreeBuilder::processStartTagForInBody):
241 (WebCore::HTMLTreeBuilder::processStartTagForInTable):
242 (WebCore::HTMLTreeBuilder::processStartTag):
243 (WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody):
244 (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
245 (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
246 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
247 (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
248 (WebCore::HTMLTreeBuilder::processEndTagForInRow):
249 (WebCore::HTMLTreeBuilder::processEndTagForInCell):
250 (WebCore::HTMLTreeBuilder::processEndTagForInBody):
251 (WebCore::HTMLTreeBuilder::processEndTagForInTable):
252 (WebCore::HTMLTreeBuilder::processEndTag):
253 (WebCore::HTMLTreeBuilder::processComment):
254 (WebCore::HTMLTreeBuilder::processCharacter):
255 (WebCore::HTMLTreeBuilder::processEndOfFile):
256 (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
257 (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
258 (WebCore::HTMLTreeBuilder::defaultForInHead):
259 (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
260 (WebCore::HTMLTreeBuilder::defaultForAfterHead):
261 (WebCore::HTMLTreeBuilder::processStartTagForInHead):
262 (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
263 (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
264 (WebCore::HTMLTreeBuilder::processScriptStartTag):
265 (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
266 (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
267 (WebCore::HTMLTreeBuilder::parseError):
268 * html/parser/HTMLTreeBuilder.h:
270 * html/parser/TextDocumentParser.cpp:
271 (WebCore::TextDocumentParser::insertFakePreElement):
273 2012-07-23 Scott Graham <scottmg@google.com>
275 Use native (non-cygwin) binaries for perl, gperf, and bison in Chromium
276 https://bugs.webkit.org/show_bug.cgi?id=91667
278 Reviewed by Tony Chang.
280 Using native tools instead of cygwin version improves build time
281 performance by roughly 50% (on top of previous cl-instead-of-gcc
284 Also, use - instead of / for cl flags because a layer of project
285 generator converts them to \ otherwise, which causes the preprocessing
286 to fail (very slowly because of the cygwin-loop with a sleep 1).
290 * WebCore.gyp/WebCore.gyp:
291 * WebCore.gyp/scripts/rule_bison.py:
292 * bindings/scripts/preprocessor.pm:
294 * make-hash-tools.pl:
296 2012-06-12 Jer Noble <jer.noble@apple.com>
298 MediaController.currentTime should be kept stable during script execution.
299 https://bugs.webkit.org/show_bug.cgi?id=88555
301 Reviewed by Eric Carlson.
303 Test: media/media-controller-time-constant.html
305 To keep MediaController.currentTime stable, add a new m_position variable and
306 a new m_clearPositionTimer timer. Both must be mutable variables as they will
307 be updated from within const functions. Calls to currentTime() will result in
308 stable values until the next runloop iteration.
310 * html/MediaController.cpp:
311 (MediaController::MediaController):
312 (MediaController::currentTime):
313 (MediaController::setCurrentTime):
314 (MediaController::clearPositionTimerFired):
315 * html/MediaController.h:
317 2012-07-23 Huang Dongsung <luxtella@company100.net>
319 Destroy CSS decoded data more eagerly once they become dead caches.
320 https://bugs.webkit.org/show_bug.cgi?id=91733
322 Reviewed by Geoffrey Garen.
324 Internal review by Kwang Yul Seo.
326 There are three CachedResources with decoded data: CachedImage, CachedScript
327 and CachedCSSStyleSheet. In the cases of CachedImage and CachedScript, we
328 eagerly destroy the decoded data using Timer in CacehdResource::allClientsRemoved().
329 We must apply the same policy here in CachedCSSStyleSheet because priority
330 inversion can occur. For example, we can't destroy the decoded data of CachedImages
331 when they are referenced by CachedCSSStyleSheet as background, mask or border
334 No new tests - no new testable functionality.
336 * loader/cache/CachedCSSStyleSheet.cpp:
337 (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
338 (WebCore::CachedCSSStyleSheet::didAddClient):
339 (WebCore::CachedCSSStyleSheet::allClientsRemoved):
340 (WebCore::CachedCSSStyleSheet::destroyDecodedData):
342 (WebCore::CachedCSSStyleSheet::decodedDataDeletionTimerFired):
343 * loader/cache/CachedCSSStyleSheet.h:
344 (CachedCSSStyleSheet):
346 2012-07-23 Simon Fraser <simon.fraser@apple.com>
348 Part 2 of: Implement sticky positioning
349 https://bugs.webkit.org/show_bug.cgi?id=90046
351 Reviewed by Ojan Vafai.
353 Turn on ENABLE_CSS_STICKY_POSITION. Add support for parsing the new '-webkit-sticky'
354 value for position, returning it from getComputedStyle(), and storing it in RenderStyle.
356 Test: fast/css/sticky/parsing-position-sticky.html
358 * Configurations/FeatureDefines.xcconfig:
359 * css/CSSComputedStyleDeclaration.cpp:
360 (WebCore::getPositionOffsetValue):
362 (WebCore::isValidKeywordPropertyAndValue):
363 * css/CSSPrimitiveValueMappings.h:
364 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
365 (WebCore::CSSPrimitiveValue::operator EPosition):
366 * css/CSSValueKeywords.in:
367 * rendering/style/RenderStyle.h:
368 * rendering/style/RenderStyleConstants.h:
370 2012-07-23 Stephen Chenney <schenney@chromium.org>
372 Crash when setting empty class name on a new element
373 https://bugs.webkit.org/show_bug.cgi?id=92024
375 Reviewed by Andreas Kling.
377 Add a check for null attributeData() when setting the className to an
378 empty string on a newly created element. New SVG elements have null
379 attributeData() on baseVal upon creation.
381 Test: svg/custom/empty-className-baseVal-crash.html
383 * dom/StyledElement.cpp:
384 (WebCore::StyledElement::classAttributeChanged): Add check for null attributeData()
386 2012-07-23 Shawn Singh <shawnsingh@chromium.org>
388 [chromium] Refactor CCLayerTreeHostCommon: clean up clipRect and drawableContentRect design
389 https://bugs.webkit.org/show_bug.cgi?id=80622
391 Reviewed by Adrienne Walker.
393 clipRect(), usesLayerClipping(), and drawableContentRect() have been
394 very confusing in CCLayerTreeHostCommon for a while. This patch
395 refactors it so that (1) clipping is only done locally in
396 calcDrawTransforms, and (2) the layer's drawableContentRect value
397 is now meaningful value outside of calcDrawTransforms.
398 Additionally, the layer is now always clipped to the root
399 surface's contentBounds (which are set to the viewport bounds).
400 This refactor not only makes calcDrawTransforms far more readable and intuitive, but
401 this patch enables more upcoming beneficial refactors, including
402 the pending refactor in https://bugs.webkit.org/show_bug.cgi?id=88953.
404 Tests are also significantly updated to keep up with this refactoring change.
406 * platform/graphics/chromium/LayerChromium.cpp:
407 (WebCore::LayerChromium::LayerChromium):
408 * platform/graphics/chromium/LayerChromium.h:
410 Removed m_usesLayerClipping and m_clipRect and associated accessors.
412 * platform/graphics/chromium/RenderSurfaceChromium.h:
413 (RenderSurfaceChromium):
416 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
417 (WebCore::CCLayerImpl::CCLayerImpl):
418 * platform/graphics/chromium/cc/CCLayerImpl.h:
420 Removed m_usesLayerClipping and m_clipRect and associated accessors.
422 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
423 (WebCore::CCLayerTreeHost::updateLayers):
424 removed setClipRect code that no longer applies
426 * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
427 (WebCore::calculateLayerScissorRect):
428 scissor rect is now a little bit tighter, the intersection between damage and layer's new drawableContentRect.
430 (WebCore::calculateSurfaceScissorRect):
431 scissor rect is now a little bit tighter, except when filters are involved.
433 (WebCore::layerClipsSubtree):
437 (WebCore::calculateVisibleContentRect):
438 (WebCore::subtreeShouldRenderToSeparateSurface):
439 (WebCore::calculateDrawTransformsInternal):
440 - added drawableContentRectOfSubtree to the function args, it is valid only after recursion returns,
441 - added clipRectFromAncestor and bool ancestorClipsSubtree to function args, this replaces the layer's clipRect and usesLayerClipping.
442 - removed the boolean return value, which was redundant with drawableContentRectOfSubtree.
443 - replaced all the "setDrawableContentRect" logic with more intuitive, clear logic.
444 - now, layer's drawableContentRect represents the clipped bounds of the layer expressed in the target surface space.
446 (WebCore::CCLayerTreeHostCommon::calculateDrawTransforms):
447 (WebCore::pointIsClippedBySurfaceOrClipRect):
448 * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
449 (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
450 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
451 (WebCore::::layerScissorRectInTargetSurface):
452 Updated this accessor. It could be removed in the future, but not appropriate for this patch.
454 * platform/graphics/chromium/cc/CCRenderSurface.h:
456 2012-07-23 Patrick Gansterer <paroga@webkit.org>
458 [CMAKE] Added missing RenderLayerFilterInfo.cpp to build system.
462 2012-07-23 Ryosuke Niwa <rniwa@webkit.org>
464 REGRESSION(r123281): childNodes sometimes returns wrong nodes
465 https://bugs.webkit.org/show_bug.cgi?id=92014
467 Reviewed by Anders Carlsson.
469 The bug was caused by a typo in itemBeforeOrAfter. Namely, it should have been calling firstNode as
470 firstNode(forward, rootNode(), shouldOnlyIncludeDirectChildren()),
471 NOT firstNode(forward, rootNode(), previous)
472 as evident from the argument list of the function.
474 Test: fast/dom/NodeList/childNodes-reverse-iteration.html
476 * html/HTMLCollection.cpp:
477 (WebCore::DynamicNodeListCacheBase::itemBeforeOrAfter):
479 2012-07-23 Steve VanDeBogart <vandebo@chromium.org>
481 Chrome/Skia: PDF print output does not have clickable links.
482 https://bugs.webkit.org/show_bug.cgi?id=91171
484 Reviewed by Stephen White.
486 Connect GraphicsContext::setURLForRect to Skia's new API for annotations.
488 Printing is not generally testable.
490 * platform/graphics/skia/GraphicsContextSkia.cpp:
491 (WebCore::GraphicsContext::setURLForRect):
493 2012-07-23 Pierre Rossi <pierre.rossi@gmail.com>
495 Unify numTouchEventHandlersChanged and needTouchEvents in the chrome client
496 https://bugs.webkit.org/show_bug.cgi?id=91006
498 Reviewed by Ryosuke Niwa.
500 The rationale here is that the client doesn't need to know about the touch
501 event handler count. needTouchEvents was already used for that purpose.
503 Test: fast/events/touch/touch-handler-count.html
506 (WebCore::Document::Document):
507 (WebCore::Document::didAddTouchEventHandler): Only notify the client if needed.
508 (WebCore::Document::didRemoveTouchEventHandler): Ditto. Also unset the TOUCH_LISTENER
509 flag for the document if we reach a count of zero. The rationale being that
510 hasListenerType() is relied upon in other places in combination with TOUCH_LISTENER for
514 (WebCore::Document::touchEventHandlerCount):
515 * loader/EmptyClients.h:
516 * page/ChromeClient.h:
518 * page/Frame.cpp: Removed notifyChromeClientTouchEventHandlerCountChanged.
519 (WebCore::Frame::setDocument): call needsTouchEvents directly.
520 * page/Frame.h: Ditto.
522 * testing/Internals.cpp:
523 (WebCore::Internals::hasTouchEventListener): expose Document::hasListenerType indirectly
524 for additional testing.
526 * testing/Internals.h:
528 * testing/Internals.idl:
530 2012-07-23 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
532 [Qt] RenderThemeQtMobile highlight colors are not being used
533 https://bugs.webkit.org/show_bug.cgi?id=92004
535 Reviewed by Noam Rosenthal.
537 The issue here is that setPaletteFromPageClientIfExists() is being used as a
538 virtual function, but it isn't, so when platformActiveSelectionBackgroundColor()
539 runs, it doesn't pick the right palette.
541 Besides fixing this virtual behavior, the patch changes the structure a bit,
542 because setPaletteFromPageClientIfExists() was being "overriden" in mobile theme
543 to set the palette, which isn't exactly what the function name says.
545 * platform/qt/RenderThemeQt.cpp:
546 (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
547 (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
548 (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
549 (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
550 (WebCore::RenderThemeQt::platformFocusRingColor):
551 (WebCore::RenderThemeQt::systemColor):
552 (WebCore::RenderThemeQt::getMediaControlForegroundColor):
553 (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
554 Use the virtual colorPalette() to get the palette.
556 (WebCore::RenderThemeQt::colorPalette):
557 (WebCore): Removed the code for getting the page client from here since it is
558 used only by the QStyle variant.
560 * platform/qt/RenderThemeQt.h:
562 * platform/qt/RenderThemeQtMobile.cpp:
563 (WebCore::RenderThemeQtMobile::colorPalette):
565 * platform/qt/RenderThemeQtMobile.h:
566 (RenderThemeQtMobile):
568 2012-07-23 Simon Fraser <simon.fraser@apple.com>
570 Part 1 of: Implement sticky positioning
571 https://bugs.webkit.org/show_bug.cgi?id=90046
573 Reviewed by Ojan Vafai.
575 Add ENABLE_CSS_STICKY_POSITION, defaulting to off initially.
577 Sort the ENABLE_CSS lines in the file. Make sure all the flags
578 are in FEATURE_DEFINES.
580 * Configurations/FeatureDefines.xcconfig:
582 2012-07-23 Sheriff Bot <webkit.review.bot@gmail.com>
584 Unreviewed, rolling out r123339.
585 http://trac.webkit.org/changeset/123339
586 https://bugs.webkit.org/show_bug.cgi?id=92006
588 massive media tests failure (Requested by philn on #webkit).
590 * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
592 * platform/graphics/gstreamer/GStreamerVersioning.cpp:
593 (setGstElementClassMetadata):
594 * platform/graphics/gstreamer/GStreamerVersioning.h:
596 2012-07-21 Vincent Scheib <scheib@chromium.org>
598 webkitFullscreenElement, webkitCurrentFullScreenElement, webkitPointerLockElement block cross origin access.
599 https://bugs.webkit.org/show_bug.cgi?id=91892
601 Reviewed by Adam Barth.
603 PointerLockElement only returned when requested from the document that owns it.
605 Tests: http/tests/fullscreen/fullscreenelement-different-origin.html
606 http/tests/fullscreen/fullscreenelement-same-origin.html
607 http/tests/pointer-lock/pointerlockelement-different-origin.html
608 http/tests/pointer-lock/pointerlockelement-same-origin.html
611 (WebCore::Document::webkitPointerLockElement):
613 2012-07-23 Philippe Normand <pnormand@igalia.com>
615 [GTK][jhbuild] Switch to GStreamer 0.11 build
616 https://bugs.webkit.org/show_bug.cgi?id=91727
618 Reviewed by Gustavo Noronha Silva.
620 Add a new function to encapsulate the GStreamer API removal of
621 GST_OBJECT_IS_FLOATING in the upcoming 1.0 release. Use of this
622 macro can now be replaced by calling the g_object_is_floating
625 * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
627 * platform/graphics/gstreamer/GStreamerVersioning.cpp:
628 (gstObjectIsFloating):
629 * platform/graphics/gstreamer/GStreamerVersioning.h:
631 2012-07-23 Christophe Dumez <christophe.dumez@intel.com>
633 [EFL] media/controls-styling.html is failing
634 https://bugs.webkit.org/show_bug.cgi?id=91984
636 Reviewed by Eric Carlson.
638 Make sure that the CSS properties letter-spacing, word-spacing,
639 line-height, text-transform, text-indent, text-shadow,
640 text-decoration and color do not affect the media element controls,
643 No new tests. Already tested by media/controls-styling.html and
644 media/controls-styling-strict.html
646 * css/mediaControlsEfl.css:
647 (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
649 2012-07-23 Carlos Garcia Campos <cgarcia@igalia.com>
651 Unreviewed. Fix make distcheck.
653 * GNUmakefile.list.am: Add missing header files.
655 2012-07-23 Kent Tamura <tkent@chromium.org>
657 Replace some instances of shadowAncestorNode() with shadowHost()
658 https://bugs.webkit.org/show_bug.cgi?id=91966
660 Reviewed by Hajime Morita.
662 shadowAncestorNode() is deprecated. We should use shadowHost().
663 No new tests. This doesn't change any behavior.
665 * css/SelectorChecker.cpp:
666 (WebCore::SelectorChecker::checkSelector):
668 (WebCore::listTreeScopes):
669 * html/HTMLSummaryElement.cpp:
670 (WebCore::isClickableControl):
671 * html/shadow/DetailsMarkerControl.cpp:
672 (WebCore::DetailsMarkerControl::summaryElement):
673 * html/shadow/MeterShadowElement.cpp:
674 (WebCore::MeterShadowElement::meterElement):
675 * html/shadow/ProgressShadowElement.cpp:
676 (WebCore::ProgressShadowElement::progressElement):
677 * html/shadow/SliderThumbElement.cpp:
678 (WebCore::RenderSliderThumb::layout):
679 (WebCore::RenderSliderContainer::layout):
680 (WebCore::SliderThumbElement::hostInput):
681 (WebCore::TrackLimiterElement::shadowPseudoId):
682 (WebCore::SliderContainerElement::shadowPseudoId):
683 * html/shadow/TextControlInnerElements.cpp:
684 (WebCore::TextControlInnerElement::customStyleForRenderer):
685 (WebCore::TextControlInnerTextElement::defaultEventHandler):
686 (WebCore::TextControlInnerTextElement::createRenderer):
687 (WebCore::TextControlInnerTextElement::customStyleForRenderer):
688 (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
689 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
690 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
691 (WebCore::SpinButtonElement::defaultEventHandler):
692 (WebCore::SpinButtonElement::step):
693 (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
694 (WebCore::InputFieldSpeechButtonElement::setState):
695 (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
696 (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
697 * rendering/RenderTextControlSingleLine.cpp:
698 (WebCore::RenderTextControlInnerBlock::positionForPoint):
700 2012-07-23 Pavel Feldman <pfeldman@chromium.org>
702 [WK2] REGRESSION r122966: Crash when closing tab with Web Inspector open in WebKit::PageOverlay
703 https://bugs.webkit.org/show_bug.cgi?id=91782
705 Reviewed by Yury Semikhatsky.
707 hideHighlight was never called once user hovered over a node.
709 * inspector/DOMNodeHighlighter.cpp:
710 (WebCore::InspectorOverlay::update):
712 2012-07-23 Peter Beverloo <peter@chromium.org>
714 [Chromium] Build fix for the Windows builder following r123311
715 https://bugs.webkit.org/show_bug.cgi?id=91979
717 Unreviewed build fix.
719 Changeset r123311 moved the TextCodecWinCE.{cpp,h} files to the Windows
720 directory. Update Chromium's references to these files to fix the build.
724 2012-07-23 Patrick Gansterer <paroga@webkit.org>
726 [WIN] Remove ICU dependencies from UniscribeController
727 https://bugs.webkit.org/show_bug.cgi?id=91921
729 Reviewed by Ryosuke Niwa.
731 Replace ICU specific functions and macros with the corresponding code from WTF::Unicode.
732 This allows us to use UniscribeController with an other Unicode implementation too.
734 * platform/graphics/win/UniscribeController.cpp:
735 (WebCore::UniscribeController::advance):
737 2012-07-23 Christophe Dumez <christophe.dumez@intel.com>
739 [EFL] media/controls-styling-strict.html is failing
740 https://bugs.webkit.org/show_bug.cgi?id=91960
742 Reviewed by Kenneth Rohde Christiansen.
744 Use "display: -webkit-box;" instead of inline-block
745 for current-time control. This is needed because
746 inline-block behaves differently in strict mode.
748 No new test, already tested by media/controls-styling-strict.html
750 * css/mediaControlsEfl.css:
751 (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
753 2012-07-23 Carlos Garcia Campos <cgarcia@igalia.com>
755 Unreviewed. Fix GTK+ build with ENABLE_DATALIST_ELEMENT.
757 Add an implementation for virtual pure methods sliderTickSize()
758 and sliderTickOffsetFromTrackCenter() when HTML5 datalist element
761 * platform/gtk/RenderThemeGtk.cpp:
763 (WebCore::RenderThemeGtk::sliderTickSize):
764 (WebCore::RenderThemeGtk::sliderTickOffsetFromTrackCenter):
765 * platform/gtk/RenderThemeGtk.h:
767 2012-07-23 Patrick Gansterer <paroga@webkit.org>
769 Replace getCurrentLocalTime() with GetLocalTime() in LocaleWin.cpp
770 https://bugs.webkit.org/show_bug.cgi?id=91937
772 Reviewed by Ryosuke Niwa.
774 The windows function returns the required year directly and
775 removes one additonal dependecy on getCurrentLocalTime().
777 * platform/text/LocaleWin.cpp:
778 (WebCore::LocaleWin::LocaleWin):
780 2012-07-23 Vsevolod Vlasov <vsevik@chromium.org>
782 Web Inspector: Drag and drop should not be started on right mouse click.
783 https://bugs.webkit.org/show_bug.cgi?id=91728
785 Reviewed by Pavel Feldman.
787 Introduced WebInspector.installDragHandle method to control drag and drop support, checking whichg mouse button is pressed.
788 Simplified WebInspector._elementDragStart, removed "element" parameter.
789 Simplified tab moving support in TabbedPane, removed "mousemove" handler.
790 Removed while loop determining which element was dragged in TimelineOverviewPane, each drag support is now installed independently.
791 Drive-by: fixed TimelineOverviewPane window moving on resources-dividers-label-bar drang-and-drop.
792 Drive-by: fixed CSSStyleModel compilation.
794 * inspector/front-end/CSSStyleModel.js:
795 (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
796 * inspector/front-end/DataGrid.js:
797 (WebInspector.DataGrid.prototype._positionResizers):
798 (WebInspector.DataGrid.prototype._startResizerDragging):
799 (WebInspector.DataGrid.prototype._endResizerDragging):
800 * inspector/front-end/Drawer.js:
801 (WebInspector.Drawer):
802 (WebInspector.Drawer.prototype._animationDuration):
803 (WebInspector.Drawer.prototype._startStatusBarDragging):
804 (WebInspector.Drawer.prototype._endStatusBarDragging):
805 * inspector/front-end/HeapSnapshotView.js:
806 (WebInspector.HeapSnapshotView.prototype._startRetainersHeaderDragging):
807 (WebInspector.HeapSnapshotView.prototype._endRetainersHeaderDragging):
808 * inspector/front-end/SidebarOverlay.js:
809 (WebInspector.SidebarOverlay.prototype.set _startResizerDragging):
810 (WebInspector.SidebarOverlay.prototype._endResizerDragging):
811 (WebInspector.SidebarOverlay.prototype._installResizer):
812 * inspector/front-end/Spectrum.js:
813 * inspector/front-end/SplitView.js:
814 (WebInspector.SplitView.prototype._startResizerDragging):
815 (WebInspector.SplitView.prototype._endResizerDragging):
816 (WebInspector.SplitView.prototype.installResizer):
817 * inspector/front-end/TabbedPane.js:
818 (WebInspector.TabbedPaneTab.prototype._createTabElement):
819 (WebInspector.TabbedPaneTab.prototype._tabMouseDown):
820 (WebInspector.TabbedPaneTab.prototype._startTabDragging):
821 (WebInspector.TabbedPaneTab.prototype._endTabDragging):
822 * inspector/front-end/TimelineOverviewPane.js:
823 (WebInspector.TimelineOverviewPane):
824 (WebInspector.TimelineOverviewWindow):
825 (WebInspector.TimelineOverviewWindow.prototype._leftResizeElementDragging):
826 (WebInspector.TimelineOverviewWindow.prototype._rightResizeElementDragging):
827 (WebInspector.TimelineOverviewWindow.prototype._startWindowSelectorDragging):
828 (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):
829 (WebInspector.TimelineOverviewWindow.prototype._startWindowDragging):
830 (WebInspector.TimelineOverviewWindow.prototype._windowDragging):
831 (WebInspector.TimelineOverviewWindow.prototype._endWindowDragging):
832 (WebInspector.TimelineOverviewWindow.prototype._moveWindow):
833 (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
834 * inspector/front-end/TimelinePanel.js:
835 (WebInspector.TimelinePanel):
836 (WebInspector.TimelinePanel.prototype._startSplitterDragging):
837 (WebInspector.TimelinePanel.prototype._endSplitterDragging):
838 * inspector/front-end/Toolbar.js:
839 (WebInspector.Toolbar):
840 (WebInspector.Toolbar.prototype._toolbarDragStart):
841 (WebInspector.Toolbar.prototype._toolbarDragEnd):
842 * inspector/front-end/UIUtils.js:
843 (WebInspector.installDragHandle):
844 (WebInspector._elementDragStart):
845 (WebInspector._elementDragEnd):
846 * inspector/front-end/timelinePanel.css:
847 (#timeline-overview-grid .resources-dividers-label-bar):
849 2012-07-23 Hayato Ito <hayato@chromium.org>
851 ComposedShadowTreeWalker should skip an empty insertion points.
852 https://bugs.webkit.org/show_bug.cgi?id=91826
854 Reviewed by Hajime Morita.
856 ComposedShadowTreeWalker wrongly returns 'null' if it encounters
857 an insertion point into where no nodes are distributed. We should
858 skip such an insertion point and continue walking using the next
859 possible node, which might be a next sibling or a next distributed
860 node, and resolve the next node recursively.
862 Test: fast/dom/shadow/composed-shadow-tree-walker.html
864 * dom/ComposedShadowTreeWalker.cpp:
865 (WebCore::ComposedShadowTreeWalker::traverseLightChildren):
867 (WebCore::ComposedShadowTreeWalker::traverseSiblings):
868 (WebCore::ComposedShadowTreeWalker::traverseNode):
869 (WebCore::ComposedShadowTreeWalker::traverseDistributedeNodes):
870 (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
871 (WebCore::ComposedShadowTreeWalker::traverseSiblingInCurrentTree):
872 (WebCore::ComposedShadowTreeWalker::traverseBackToYoungerShadowRoot):
873 * dom/ComposedShadowTreeWalker.h:
874 (ComposedShadowTreeWalker):
876 2012-07-23 Patrick Gansterer <paroga@webkit.org>
878 Rename TextCodecWinCE to TextCodecWin
879 https://bugs.webkit.org/show_bug.cgi?id=91947
881 Reviewed by Ryosuke Niwa.
883 Since TextCodecWinCE is used by other (non-upstreamed) windows ports too,
884 TextCodecWin is a better name for the implementation.
885 Also remove the dependency on WinCE FontCache to make it more usable.
887 * PlatformWinCE.cmake:
888 * platform/text/TextEncodingRegistry.cpp:
889 (WebCore::extendTextCodecMaps):
890 * platform/text/win/TextCodecWin.cpp: Renamed from Source/WebCore/platform/text/wince/TextCodecWinCE.cpp.
891 * platform/text/win/TextCodecWin.h: Renamed from Source/WebCore/platform/text/wince/TextCodecWinCE.h.
893 2012-07-22 Kentaro Hara <haraken@chromium.org>
895 [V8] CodeGeneratorV8.pm should support static attributes
896 https://bugs.webkit.org/show_bug.cgi?id=91764
898 Reviewed by Adam Barth.
900 CodeGeneratorJS.pm already supports static attributes.
901 CodeGeneratorV8.pm should also support them.
903 Tests: bindings/scripts/test/TestObj.idl
904 bindings/scripts/test/TestSupplemental.idl
906 * bindings/scripts/CodeGeneratorV8.pm:
907 (GenerateNormalAttrGetter):
908 (GenerateNormalAttrSetter):
910 * bindings/scripts/test/TestObj.idl: Added defined(TESTING_V8).
911 * bindings/scripts/test/TestSupplemental.idl: Added test cases for static attributes in supplemental IDL files.
913 * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
915 (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
916 The generated code is wrong since CodeGeneratorJS.pm does not support static attributes for
917 supplemental IDL files. I will fix it in a follow-up patch.
918 (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
919 (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
920 * bindings/scripts/test/JS/JSTestInterface.h:
922 * bindings/scripts/test/V8/V8TestInterface.cpp: Updated run-bindings-tests results.
923 (WebCore::TestInterfaceV8Internal::supplementalStaticReadOnlyAttrAttrGetter):
924 (TestInterfaceV8Internal):
925 (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetter):
926 (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
928 * bindings/scripts/test/V8/V8TestObj.cpp:
929 (WebCore::TestObjV8Internal::staticReadOnlyIntAttrAttrGetter):
931 (WebCore::TestObjV8Internal::staticStringAttrAttrGetter):
932 (WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
935 2012-07-22 Gyuyoung Kim <gyuyoung.kim@samsung.com>
937 Missing *explicit* keyword in storage and workers.
938 https://bugs.webkit.org/show_bug.cgi?id=91934
940 Reviewed by Kentaro Hara.
942 Some constructors missed to use *explicit* keyword. They need to be added
943 *explicit* keyword to contructor which has a parameter in order to avoid
944 implicit type conversion.
946 No new tests. Convered by existing tests.
948 * storage/StorageAreaImpl.h:
950 * storage/StorageMap.h:
952 * storage/StorageSyncManager.h:
953 (StorageSyncManager):
954 * storage/StorageTask.h:
956 * storage/StorageTracker.h:
958 * workers/SharedWorker.h:
962 * workers/WorkerLocation.h:
963 (WebCore::WorkerLocation::WorkerLocation):
964 * workers/WorkerMessagingProxy.h:
965 (WorkerMessagingProxy):
967 2012-07-23 Kent Tamura <tkent@chromium.org>
969 Rename ENABLE_METER_TAG and ENABLE_PROGRESS_TAG to ENABLE_METER_ELEMENT and ENABLE_PROGRESS_ELEMENT respectively
970 https://bugs.webkit.org/show_bug.cgi?id=91941
972 Reviewed by Kentaro Hara.
974 A flag name for an elmement should be ENABLE_*_ELEMENT.
976 * Configurations/FeatureDefines.xcconfig:
977 * DerivedSources.make:
979 * accessibility/AXObjectCache.cpp:
980 (WebCore::createFromRenderer):
981 * accessibility/AccessibilityProgressIndicator.cpp:
982 * accessibility/AccessibilityProgressIndicator.h:
983 * css/CSSPrimitiveValueMappings.h:
984 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
985 * css/SelectorChecker.cpp:
986 (WebCore::SelectorChecker::checkOneSelector):
987 * css/StyleResolver.cpp:
988 (WebCore::StyleResolver::collectMatchingRulesForList):
990 * html/HTMLMeterElement.cpp:
991 * html/HTMLMeterElement.h:
992 * html/HTMLMeterElement.idl:
993 * html/HTMLProgressElement.cpp:
994 * html/HTMLProgressElement.h:
995 * html/HTMLProgressElement.idl:
996 * html/HTMLTagNames.in:
997 * html/shadow/MeterShadowElement.cpp:
998 * html/shadow/MeterShadowElement.h: Wrap with #if ENABLE(METER_ELEMENT).
999 * html/shadow/ProgressShadowElement.cpp:
1000 * html/shadow/ProgressShadowElement.h: Wrap with #if ENABLE(PROGRESS_ELEMENT).
1001 * page/DOMWindow.idl:
1002 * platform/efl/RenderThemeEfl.cpp:
1003 (WebCore::RenderThemeEfl::paintThemePart):
1004 (WebCore::RenderThemeEfl::edjeGroupFromFormType):
1006 * platform/efl/RenderThemeEfl.h:
1008 * platform/gtk/RenderThemeGtk.cpp:
1010 * platform/gtk/RenderThemeGtk.h:
1012 * platform/gtk/RenderThemeGtk2.cpp:
1014 * platform/gtk/RenderThemeGtk3.cpp:
1016 * platform/qt/RenderThemeQt.cpp:
1018 * platform/qt/RenderThemeQt.h:
1021 * platform/qt/RenderThemeQtMobile.cpp:
1023 * platform/qt/RenderThemeQtMobile.h:
1024 (RenderThemeQtMobile):
1025 * rendering/RenderMeter.cpp:
1026 * rendering/RenderMeter.h:
1027 * rendering/RenderObject.h:
1029 * rendering/RenderProgress.cpp:
1030 * rendering/RenderProgress.h:
1031 * rendering/RenderTheme.cpp:
1032 (WebCore::RenderTheme::adjustStyle):
1033 (WebCore::RenderTheme::paint):
1034 (WebCore::RenderTheme::paintBorderOnly):
1035 (WebCore::RenderTheme::paintDecorations):
1037 * rendering/RenderTheme.h:
1040 * rendering/RenderThemeChromiumLinux.cpp:
1042 * rendering/RenderThemeChromiumLinux.h:
1043 * rendering/RenderThemeChromiumSkia.cpp:
1045 * rendering/RenderThemeChromiumSkia.h:
1046 (RenderThemeChromiumSkia):
1047 * rendering/RenderThemeChromiumWin.cpp:
1049 * rendering/RenderThemeChromiumWin.h:
1050 (RenderThemeChromiumWin):
1051 * rendering/RenderThemeMac.h:
1053 * rendering/RenderThemeMac.mm:
1056 2012-07-22 Kent Tamura <tkent@chromium.org>
1058 Rename ENABLE_DETAILS to ENABLE_DETAILS_ELEMENT
1059 https://bugs.webkit.org/show_bug.cgi?id=91928
1061 Reviewed by Kentaro Hara.
1063 A flag name for an elmement should be ENABLE_*_ELEMENT.
1065 * Configurations/FeatureDefines.xcconfig:
1066 * DerivedSources.make:
1068 * html/HTMLDetailsElement.cpp:
1069 * html/HTMLDetailsElement.idl:
1070 * html/HTMLSummaryElement.cpp:
1071 * html/HTMLTagNames.in:
1072 * html/shadow/DetailsMarkerControl.cpp:
1073 * rendering/RenderDetailsMarker.cpp:
1074 * rendering/RenderDetailsMarker.h:
1075 * rendering/RenderObject.h:
1077 * rendering/RenderTreeAsText.cpp:
1078 (WebCore::RenderTreeAsText::writeRenderObject):
1080 2012-07-21 Dan Bernstein <mitz@apple.com>
1082 <rdar://problem/11928576> SVG-as-image (constrained) intrinsic size calculation is wrong in vertical writing modes
1083 https://bugs.webkit.org/show_bug.cgi?id=91918
1085 Reviewed by Anders Carlsson.
1087 Test: svg/as-image/svg-intrinsic-size-rectangular-vertical.html
1089 * rendering/RenderReplaced.cpp:
1090 (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox): When there is a content
1091 renderer, it returns a physical intrinsic size and aspect ratio. The code was already
1092 accounting for this by taking the reciprocal of the aspect ratio in the vertical case. Made
1093 it also transpose the size itself, turning it from physical to logical. Moved this code
1094 after setting m_intrinsicSize, since that member variable is always physical.
1096 2012-07-21 Patrick Gansterer <paroga@webkit.org>
1098 Cleanup TextEncoding USE(XXX_UNICODE) macros
1099 https://bugs.webkit.org/show_bug.cgi?id=91923
1101 Reviewed by Andreas Kling.
1103 Replace PLATFORM(QT) with USE(QT4_UNICODE) and OS(WINCE) with USE(WINCE_UNICODE).
1104 This gives us more flexibility in choosing the unicode backend for a port.
1106 * platform/text/TextEncoding.cpp:
1107 (WebCore::TextEncoding::encode):
1108 * platform/text/TextEncodingRegistry.cpp:
1109 (WebCore::extendTextCodecMaps):
1111 2012-07-21 Patrick Gansterer <paroga@webkit.org>
1113 Remove unnecessary ICU header includes from SimpleFontDataWin.cpp
1114 https://bugs.webkit.org/show_bug.cgi?id=91922
1116 Reviewed by Kentaro Hara.
1118 This allows us to use SimpleFontDataWin with an other Unicode implementation too.
1120 * platform/graphics/win/SimpleFontDataWin.cpp:
1122 2012-07-21 Kwang Yul Seo <skyul@company100.net>
1124 A start tag whose tag name is "html" in the "in body" insertion mode is a parse error
1125 https://bugs.webkit.org/show_bug.cgi?id=91916
1127 Reviewed by Eric Seidel.
1129 According to the HTML5 spec, a start tag whose tag name is "html" in the "in body"
1130 insertion mode is a parse error.
1132 Added HTMLTreeBuilder::processHtmlStartTagForInBody(AtomicHTMLToken&) to call parseError(token).
1133 Removed "FIXME: parse error" from HTMLConstructionSite::insertHTMLHtmlStartTagInBody and
1134 HTMLConstructionSite::insertHTMLBodyStartTagInBody because we already marked the call sites
1135 of these two methods with parseError(token).
1137 No behavior change because parseError(token) is just a marker.
1139 * html/parser/HTMLConstructionSite.cpp:
1140 (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
1141 (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
1142 * html/parser/HTMLTreeBuilder.cpp:
1143 (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1144 (WebCore::HTMLTreeBuilder::processStartTag):
1145 (WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody):
1147 (WebCore::HTMLTreeBuilder::processStartTagForInHead):
1148 * html/parser/HTMLTreeBuilder.h:
1150 2012-07-20 Czene Tamás <tczene@inf.u-szeged.hu>
1152 double data type shoud be changed to float in ColorMatrix
1153 https://bugs.webkit.org/show_bug.cgi?id=91499
1155 Reviewed by Nikolas Zimmermann.
1157 * platform/graphics/filters/FEColorMatrix.cpp:
1159 (WebCore::saturate):
1160 (WebCore::huerotate):
1161 (WebCore::luminance):
1162 (WebCore::effectType):
1164 2012-07-20 Stephen White <senorblanco@chromium.org>
1166 [chromium] Take current transformation matrix into account when
1167 deciding on resize algorithm for drawPattern.
1168 https://bugs.webkit.org/show_bug.cgi?id=90624
1170 Reviewed by Adrienne Walker.
1172 Since the pattern shader uses both the current transformation matrix
1173 and the pattern matrix when transforming pixels, we need to
1174 do the same when computing the resampling mode. Also removed the
1175 resampling hint code, added in r60658, since it appears to be dead
1176 (caller was removed in r76379).
1178 Covered by existing tests, such as
1179 fast/borders/border-image-scale-transform.html.
1181 * platform/graphics/skia/ImageSkia.cpp:
1182 (WebCore::computeResamplingMode):
1183 Pass in the matrix to be used for computing the destination width and
1184 height (for awesome resampling). Remove the image resampling hint code.
1185 (WebCore::paintSkBitmap):
1186 Pass in the CTM to computeResamplingMode().
1187 (WebCore::Image::drawPattern):
1188 Concatenate the CTM and the pattern matrix, and pass that to
1189 computeResamplingMode() and TransformDimensions(). Invert the
1190 CTM's scale and apply it to the pattern transform, so their
1191 concatenation gives identity scale.
1192 * platform/graphics/skia/PlatformContextSkia.cpp:
1193 * platform/graphics/skia/PlatformContextSkia.h:
1194 Remove the image resampling hint (dead code).
1196 2012-07-20 Kwang Yul Seo <skyul@company100.net>
1198 Anything else in the "in table" insertion mode is a parse error
1199 https://bugs.webkit.org/show_bug.cgi?id=91915
1201 Reviewed by Adam Barth.
1203 According to the HTML5 spec, anything else in the "in table" insertion mode is a parse error.
1205 No behavior change because parseError(token) is just a marker.
1207 * html/parser/HTMLTreeBuilder.cpp:
1208 (WebCore::HTMLTreeBuilder::processEndTagForInTable):
1210 2012-07-20 Kent Tamura <tkent@chromium.org>
1212 Rename ENABLE_DATALIST to ENABLE_DATALIST_ELEMENT
1213 https://bugs.webkit.org/show_bug.cgi?id=91846
1215 Reviewed by Kentaro Hara.
1217 A flag name for an elmement should be ENABLE_*_ELEMENT.
1219 * Configurations/FeatureDefines.xcconfig:
1220 * DerivedSources.make:
1223 * html/HTMLDataListElement.cpp:
1224 * html/HTMLDataListElement.h:
1225 * html/HTMLDataListElement.idl:
1226 * html/HTMLInputElement.cpp:
1228 (WebCore::HTMLInputElement::parseAttribute):
1229 (WebCore::HTMLInputElement::insertedInto):
1230 (WebCore::HTMLInputElement::removedFrom):
1231 * html/HTMLInputElement.h:
1233 * html/HTMLInputElement.idl:
1234 * html/HTMLOptionElement.cpp:
1235 (WebCore::HTMLOptionElement::parseAttribute):
1236 (WebCore::HTMLOptionElement::childrenChanged):
1238 * html/HTMLOptionElement.h:
1239 (HTMLOptionElement):
1240 * html/HTMLTagNames.in:
1241 * html/InputType.cpp:
1245 * html/RangeInputType.cpp:
1247 * html/RangeInputType.h:
1249 * html/shadow/SliderThumbElement.cpp:
1250 (WebCore::RenderSliderContainer::layout):
1251 * page/DOMWindow.idl:
1252 * platform/efl/RenderThemeEfl.cpp:
1254 * platform/efl/RenderThemeEfl.h:
1256 * platform/qt/RenderThemeQt.cpp:
1258 * platform/qt/RenderThemeQt.h:
1260 * rendering/RenderTheme.cpp:
1262 * rendering/RenderTheme.h:
1264 * rendering/RenderThemeChromiumLinux.cpp:
1266 (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
1267 * rendering/RenderThemeChromiumLinux.h:
1268 (RenderThemeChromiumLinux):
1269 * rendering/RenderThemeChromiumWin.cpp:
1271 (WebCore::RenderThemeChromiumWin::paintSliderTrack):
1272 * rendering/RenderThemeChromiumWin.h:
1273 (RenderThemeChromiumWin):
1274 * rendering/RenderThemeMac.h:
1276 * rendering/RenderThemeMac.mm:
1277 (WebCore::RenderThemeMac::paintSliderTrack):
1280 2012-07-18 Ryosuke Niwa <rniwa@webkit.org>
1282 Unify HTMLCollection and DynamicNodeList
1283 https://bugs.webkit.org/show_bug.cgi?id=91335
1285 Reviewed by Anders Carlsson.
1287 This is the grand unification of HTMLCollection and DynamicNodeList.
1289 It merges implementations of item() and length() in ChildNodeList, DynamicNodeList,
1290 and HTMLCollection. The unified implementation is based on the one used for HTMLCollection,
1291 that has been improved over the last few days; see r122660 and r122672 for examples.
1293 There are five key changes:
1294 1. Made itemBeforeOrAfter aware of DynamicNodeList.
1295 2. itemBeforeOrAfter and related functions take and return Node* to support ChildNodeList.
1296 3. Renamed InvalidCollectionType to NodeListCollectionType since DynamicNodeLists need to be
1297 identified itemBeforeOrAfter.
1298 4. Renamed itemAfter to virtualItemAfter in subclasses of HTMLCollection, and devirtualized
1299 itemAfter used in common cases to avoid performance regressions. To make this intent clear,
1300 SupportItemBefore and DoNotSupportItemBefore have been renamed to DoesNotOverrideItemAfter
1301 and OverridesItemAfter. This change also help us detect a subclass of HTMLCollection that
1302 passes in a wrong value to ItemBeforeSupportType by making forward iterations fail (hit an
1303 assertion or doesn't iterate at all) as well as backward iterations.
1304 5. Restricted the use of elementsArrayOffset to subclasses that provide virtualItemAfter.
1306 This patch completes my effort to share code between HTMLCollection and DynamicNodeList.
1308 * dom/ChildNodeList.cpp:
1309 (WebCore::ChildNodeList::ChildNodeList):
1310 (WebCore): Removed length() and item().
1311 (WebCore::ChildNodeList::nodeMatches):
1312 * dom/ChildNodeList.h:
1314 * dom/ClassNodeList.cpp:
1315 (WebCore::ClassNodeList::ClassNodeList):
1317 (WebCore::Document::registerNodeListCache):
1318 (WebCore::Document::unregisterNodeListCache):
1319 * dom/DynamicNodeList.cpp:
1320 (WebCore::DynamicNodeListCacheBase::invalidateCache):
1321 (WebCore::DynamicNodeList::length):
1322 (WebCore::DynamicNodeList::item):
1323 * dom/DynamicNodeList.h:
1324 (WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase): Takes new boolean argument
1325 shouldOnlyIncludeDirectChildren indicating whether the non-child descendents should be
1326 included or not. This is necessary to identify ChildNodeList in itemBeforeOrAfter.
1327 (WebCore::DynamicNodeListCacheBase::ownerNode): Moved from DynamicNodeListCacheBase and
1328 HTMLCollectionCacheBase.
1329 (WebCore::DynamicNodeListCacheBase::document): Moved from DynamicNodeListCacheBase.
1330 (WebCore::DynamicNodeListCacheBase::rootNode): Ditto.
1331 (WebCore::DynamicNodeListCacheBase::overridesItemAfter): Renamed from supportsItemBefore
1332 and the return value has been negated.
1333 (WebCore::DynamicNodeListCacheBase::shouldOnlyIncludeDirectChildren): Added.
1334 (WebCore::DynamicNodeListCacheBase):
1335 (WebCore::DynamicNodeList::DynamicNodeList): Takes NodeListType to determine the value of
1336 shouldOnlyIncludeDirectChildren.
1338 (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList):
1339 (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
1340 * dom/MicroDataItemList.cpp:
1341 (WebCore::MicroDataItemList::MicroDataItemList):
1342 * dom/NameNodeList.cpp:
1343 (WebCore::NameNodeList::NameNodeList):
1344 * dom/TagNodeList.cpp:
1345 (WebCore::TagNodeList::TagNodeList):
1346 * html/CollectionType.h:
1347 * html/HTMLAllCollection.cpp:
1348 (WebCore::HTMLAllCollection::HTMLAllCollection):
1349 * html/HTMLCollection.cpp:
1350 (WebCore::shouldOnlyIncludeDirectChildren):
1351 (WebCore::rootTypeFromCollectionType):
1352 (WebCore::invalidationTypeExcludingIdAndNameAttributes):
1353 (WebCore::HTMLCollection::HTMLCollection):
1354 (WebCore::HTMLCollection::create):
1355 (WebCore::HTMLCollection::~HTMLCollection):
1356 (WebCore::isAcceptableElement):
1357 (WebCore::firstNode): Extracted from itemBeforeOrAfter.
1358 (WebCore::DynamicNodeListCacheBase::iterateForNextNode): Ditto.
1359 (WebCore::DynamicNodeListCacheBase::itemBeforeOrAfter): Takes and returns Node*.
1360 Special case ChildNodeList since there is no need to skip any node. When "this" is a
1361 node list, call nodeMatches instead of isAcceptableElement.
1362 (WebCore::DynamicNodeListCacheBase::itemBefore): No longer takes offsetInArray since
1363 the use of elementsArrayOffset has been restricted to HTMLCollections that provides
1365 (WebCore::DynamicNodeListCacheBase::itemAfter): Calls virtualItemAfter if necessary.
1366 Otherwise assert offsetInArray is zero since we should never be using this variable
1367 when virtualItemAfter is not provided.
1368 (WebCore::DynamicNodeListCacheBase::isLastItemCloserThanLastOrCachedItem):
1369 (WebCore::DynamicNodeListCacheBase::isFirstItemCloserThanCachedItem):
1370 (WebCore::DynamicNodeListCacheBase::setItemCache): Updates m_cachedElementsArrayOffset
1371 in HTMLCollection if and only if virtualItemAfter is provided. This is safe because
1372 node lists never provide virtualItemAfter.
1373 (WebCore::DynamicNodeListCacheBase::cachedElementsArrayOffset): Similarly, returns
1374 m_cachedElementsArrayOffset if virtualItemAfter is provided.
1375 (WebCore::DynamicNodeListCacheBase::lengthCommon):
1376 (WebCore::DynamicNodeListCacheBase::itemCommon): Note that supportsItemBefore() is
1377 equivalent to !overridesItemAfter() here.
1378 (WebCore::DynamicNodeListCacheBase::itemBeforeOrAfterCachedItem): Uses Node* through
1379 out the function. Since itemBefore never uses offsetInArray, always sets 0 for that.
1380 Note that we never call itemBefore and virtualItemAfter on the same object.
1381 (WebCore::HTMLCollection::virtualItemAfter): Added only to make the class "concrete".
1382 (WebCore::HTMLCollection::namedItem):
1383 (WebCore::HTMLCollection::updateNameCache):
1384 (WebCore::HTMLCollection::tags):
1385 * html/HTMLCollection.h:
1386 (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
1387 (HTMLCollectionCacheBase):
1388 (WebCore::HTMLCollection::length):
1389 (WebCore::HTMLCollection::item):
1390 (WebCore::HTMLCollection::base):
1392 * html/HTMLFormCollection.cpp:
1393 (WebCore::HTMLFormCollection::HTMLFormCollection):
1394 (WebCore::HTMLFormCollection::virtualItemAfter):
1395 * html/HTMLFormCollection.h:
1396 (HTMLFormCollection):
1397 * html/HTMLNameCollection.cpp:
1398 (WebCore::HTMLNameCollection::HTMLNameCollection):
1399 (WebCore::HTMLNameCollection::virtualItemAfter):
1400 * html/HTMLNameCollection.h:
1401 (HTMLNameCollection):
1402 * html/HTMLOptionsCollection.cpp:
1403 (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
1404 * html/HTMLPropertiesCollection.cpp:
1405 (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
1406 (WebCore::HTMLPropertiesCollection::virtualItemAfter):
1407 (WebCore::HTMLPropertiesCollection::updateNameCache):
1408 * html/HTMLPropertiesCollection.h:
1409 (HTMLPropertiesCollection):
1410 * html/HTMLTableRowsCollection.cpp:
1411 (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
1412 (WebCore::HTMLTableRowsCollection::virtualItemAfter):
1413 * html/HTMLTableRowsCollection.h:
1414 (HTMLTableRowsCollection):
1415 * html/LabelsNodeList.cpp:
1416 (WebCore::LabelsNodeList::LabelsNodeList):
1417 * html/RadioNodeList.cpp:
1418 (WebCore::RadioNodeList::RadioNodeList):
1420 2012-07-20 Joshua Bell <jsbell@chromium.org>
1422 IndexedDB: Simplify backend interface classes
1423 https://bugs.webkit.org/show_bug.cgi?id=91901
1425 Reviewed by Tony Chang.
1427 The IDBTransactionBackendInterface included several methods only used by the
1428 real implementation objects, not via the interfaces. Expose a static Impl::from(Interface)
1429 method for transaction, and migrate all of the backend-internal uses from Interface to Impl.
1431 No new tests - no functional changes.
1433 * Modules/indexeddb/IDBCursorBackendImpl.cpp:
1434 (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
1435 * Modules/indexeddb/IDBCursorBackendImpl.h:
1437 (WebCore::IDBCursorBackendImpl::create):
1438 (IDBCursorBackendImpl):
1439 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1440 (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1441 (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
1442 (WebCore::IDBDatabaseBackendImpl::objectStore):
1443 (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
1444 (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
1445 (WebCore::IDBDatabaseBackendImpl::setVersion):
1446 (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
1447 (WebCore::IDBDatabaseBackendImpl::transactionStarted):
1448 (WebCore::IDBDatabaseBackendImpl::transactionFinished):
1449 (WebCore::IDBDatabaseBackendImpl::transaction):
1450 * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1452 (IDBDatabaseBackendImpl):
1453 * Modules/indexeddb/IDBIndexBackendImpl.cpp:
1454 (WebCore::IDBIndexBackendImpl::openCursorInternal):
1455 (WebCore::IDBIndexBackendImpl::openCursor):
1456 (WebCore::IDBIndexBackendImpl::openKeyCursor):
1457 (WebCore::IDBIndexBackendImpl::countInternal): Drop unused transaction argument.
1458 (WebCore::IDBIndexBackendImpl::count):
1459 (WebCore::IDBIndexBackendImpl::get):
1460 (WebCore::IDBIndexBackendImpl::getKey):
1461 * Modules/indexeddb/IDBIndexBackendImpl.h:
1462 (IDBIndexBackendImpl):
1463 * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1464 (WebCore::IDBObjectStoreBackendImpl::get):
1465 (WebCore::IDBObjectStoreBackendImpl::put):
1466 (WebCore::IDBObjectStoreBackendImpl::putWithIndexKeys):
1468 (WebCore::IDBObjectStoreBackendImpl::putInternal):
1469 (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
1470 (WebCore::IDBObjectStoreBackendImpl::clear):
1471 (WebCore::IDBObjectStoreBackendImpl::createIndex):
1472 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
1473 (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
1474 (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
1475 (WebCore::IDBObjectStoreBackendImpl::openCursor):
1476 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
1477 (WebCore::IDBObjectStoreBackendImpl::count):
1478 (WebCore::IDBObjectStoreBackendImpl::countInternal): Drop unused transaction argument.
1479 * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
1481 (IDBObjectStoreBackendImpl):
1482 * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
1483 (WebCore::IDBTransactionBackendImpl::objectStore):
1484 * Modules/indexeddb/IDBTransactionBackendImpl.h:
1485 (WebCore::IDBTransactionBackendImpl::from):
1486 (IDBTransactionBackendImpl):
1487 (WebCore::IDBTransactionBackendImpl::mode):
1488 * Modules/indexeddb/IDBTransactionBackendInterface.h:
1489 (IDBTransactionBackendInterface):
1491 2012-07-20 Joshua Bell <jsbell@chromium.org>
1493 IndexedDB: "ASSERTION FAILED: !m_requestFinished" hit in IDBRequest::dispatchEvent
1494 https://bugs.webkit.org/show_bug.cgi?id=86911
1496 Reviewed by Tony Chang.
1498 Clean up the IDBRequest/IDBCursor relationship and the IDBRequest lifecycle.
1500 The IDBRequest's m_cursor/setCursor() calls are renamed to m_pendingCursor/setPendingCursor() to
1501 clarify that the request will move between two states - either there's a cursor request in-flight
1502 c/o a continue() or advance() call, or the result has come in (cursor, null-for-done, or error).
1503 Since they were only ever used together, resetReadyState() is merged into setResultCursor(). The
1504 m_requestFinished flag becomes redundant and is dropped - the ASSERT reported in the bug
1505 becomes an ASSERT(m_readyState == PENDING) and m_readyState tracking is already correct.
1507 Test: storage/indexeddb/request-continue-abort.html
1509 * Modules/indexeddb/IDBCursor.cpp:
1510 (WebCore::IDBCursor::advance): Unreachable code path now dead and gone.
1511 (WebCore::IDBCursor::continueFunction): Ditto.
1512 * Modules/indexeddb/IDBRequest.cpp: Most functions just add state assertions.
1513 (WebCore::IDBRequest::IDBRequest):
1514 (WebCore::IDBRequest::abort):
1515 (WebCore::IDBRequest::setCursorDetails):
1516 (WebCore::IDBRequest::setPendingCursor): Merge with old resetReadyState().
1518 (WebCore::IDBRequest::getResultCursor): Helper, since digging cursor out of IDBAny is pesky.
1519 (WebCore::IDBRequest::setResultCursor): Just moved in the file to be with its friends.
1520 (WebCore::IDBRequest::finishCursor):
1521 (WebCore::IDBRequest::onError): Just assertions, re-ordering, re-naming.
1522 (WebCore::IDBRequest::onSuccess):
1523 (WebCore::IDBRequest::onSuccessWithContinuation):
1524 (WebCore::IDBRequest::hasPendingActivity):
1525 (WebCore::IDBRequest::dispatchEvent): Simplify!
1526 (WebCore::IDBRequest::enqueueEvent):
1527 * Modules/indexeddb/IDBRequest.h:
1530 2012-07-20 Andrew Scherkus <scherkus@chromium.org>
1532 [chromium] Don't display fullscreen button for video elements not containing video
1533 https://bugs.webkit.org/show_bug.cgi?id=91811
1535 Reviewed by Eric Carlson.
1537 Covered by media/media-document-audio-repaint.html
1539 * html/shadow/MediaControlRootElementChromium.cpp:
1540 (WebCore::MediaControlRootElementChromium::reset):
1542 2012-07-20 Dmitry Titov <dimich@chromium.org>
1544 [Chromium] Out of Memory is observed when a large object is passed to a Web Worker.
1545 https://bugs.webkit.org/show_bug.cgi?id=91535.
1547 Reviewed by David Levin.
1549 No new tests because of no new behavior and lack of mechanism to monitor used memory.
1551 * bindings/v8/SerializedScriptValue.cpp:
1552 (WebCore::SerializedScriptValue::SerializedScriptValue):
1553 (WebCore::SerializedScriptValue::registerMemoryAllocatedWithCurrentScriptContext):
1555 (WebCore::SerializedScriptValue::~SerializedScriptValue):
1556 * bindings/v8/SerializedScriptValue.h:
1557 (SerializedScriptValue):
1558 Added a method to SerializedScriptValue to add memory pressure on GC proportional to the size of memory allocated in serialized data.
1560 * dom/MessageEvent.cpp:
1561 (WebCore::MessageEvent::MessageEvent):
1562 (WebCore::MessageEvent::initMessageEvent):
1563 Call the new method of SerializedScriptValue during creation of MessageEvent (presumably in the thread which contains the right V8 context).
1565 2012-07-20 David Grogan <dgrogan@chromium.org>
1567 IndexedDB: Include intVersion when converting between WebCore and WebKit IDBMetadata types
1568 https://bugs.webkit.org/show_bug.cgi?id=91414
1570 Reviewed by Adam Barth.
1572 No new tests because no new behavior.
1574 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1575 (WebCore::IDBDatabaseBackendImpl::metadata):
1576 No behavior change, this just needs a dummy parameter to match the
1579 * Modules/indexeddb/IDBMetadata.h:
1580 (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
1581 (IDBDatabaseMetadata):
1583 2012-07-18 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
1585 [Soup] Unnecessary RefPtr usage and null check
1586 https://bugs.webkit.org/show_bug.cgi?id=91636
1588 Reviewed by Martin Robinson.
1590 Small clean up of code that is not necessary; no change in functionality.
1592 * platform/network/soup/SocketStreamHandleSoup.cpp:
1593 (WebCore::SocketStreamHandle::connected):
1595 2012-07-20 Mark Salisbury <mark.salisbury@hp.com>
1597 Typo in FontCacheWin.cpp causes return value from getCachedFontData() in getLastResortFallbackFont() to be ignored
1598 https://bugs.webkit.org/show_bug.cgi?id=91506
1600 Reviewed by Joseph Pecoraro.
1602 No new test. The "fallback fallback" code ends up creating a font, so you always
1603 get a fallback font even with this code bug. A test would be buggy, being highly
1604 platform dependent on what the "fallback fallback" font is on the particular
1605 windows machine the test runs on.
1607 * platform/graphics/win/FontCacheWin.cpp:
1608 (WebCore::FontCache::getLastResortFallbackFont):
1610 2012-07-20 Stephen White <senorblanco@chromium.org>
1612 [chromium] Clean up scratch texture usage in Chromium's implementation
1613 of GPU-accelerated filters.
1614 https://bugs.webkit.org/show_bug.cgi?id=83370
1616 Reviewed by Adrienne Walker.
1618 There didn't used to be a safe way to allocate a scratch texture, and
1619 hold into it beyond the lifetime of GrAutoScratchTexture. Now there is:
1622 Covered by existing tests in css3/filters.
1624 * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
1625 (WebCore::CCRenderSurfaceFilters::apply):
1626 Use a GrAutoScratchTexture to allocate the destination texture, and
1627 detach() to detach it from the cache before placing it in an
1628 SkGrTexturePixelRef. This means we no longer need to do any lock/
1629 unlock trickery with the TextureCacheEntry, since the refcount is
1630 enough to keep the texture away from the cache's prying hands.
1632 2012-07-20 Stephen White <senorblanco@chromium.org>
1634 [chromium] Clean up scratch texture usage in Chromium's implementation
1635 of GPU-accelerated filters.
1636 https://bugs.webkit.org/show_bug.cgi?id=83370
1638 Reviewed by Adrienne Walker.
1640 There didn't used to be a safe way to allocate a scratch texture, and
1641 hold into it beyond the lifetime of GrAutoScratchTexture. Now there is:
1644 Covered by existing tests in css3/filters.
1646 * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
1647 (WebCore::CCRenderSurfaceFilters::apply):
1648 Use a GrAutoScratchTexture to allocate the destination texture, and
1649 detach() to detach it from the cache before placing it in an
1650 SkGrTexturePixelRef. This means we no longer need to do any lock/
1651 unlock trickery with the TextureCacheEntry, since the refcount is
1652 enough to keep the texture away from the cache's prying hands.
1654 2012-07-19 Andrew Scherkus <scherkus@chromium.org>
1656 [chromium] CSS tweaks to media controls to prevent styles from being overridden
1657 https://bugs.webkit.org/show_bug.cgi?id=91802
1659 Reviewed by Eric Carlson.
1661 Having the buttons declared as inline caused them to not be included in the box layout,
1662 resulting in styles set outside the media element to affect the position of the buttons.
1664 In a similar vein, it was also possible to override the font-style attribute for the time
1667 Test: media/controls-styling-strict.html
1669 * css/mediaControlsChromium.css:
1670 (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1671 (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
1672 (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
1673 (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
1675 2012-07-20 Han Shen <shenhan@google.com>
1677 [Chromium] Compilation fails under gcc 4.7
1678 https://bugs.webkit.org/show_bug.cgi?id=90227
1680 Reviewed by Tony Chang.
1682 Disable warnings about c++0x compatibility in gcc newer than 4.6.
1684 * WebCore.gyp/WebCore.gyp:
1686 2012-07-20 Vincent Scheib <scheib@chromium.org>
1688 Unreviewed compile fix, r123247 included unintended changes to Document.cpp.
1690 See http://trac.webkit.org/changeset/123247.
1693 (WebCore::Document::webkitExitPointerLock):
1695 2012-07-20 Ryosuke Niwa <rniwa@webkit.org>
1697 REGRESSION(r122873): 15% regression on Dromaeo/dom-attr
1698 https://bugs.webkit.org/show_bug.cgi?id=91827
1700 Reviewed by Anders Carlsson.
1702 Move shouldInvalidateNodeListCaches from Document.cpp to Node.cpp since it's only called
1703 in Node::invalidateNodeListCachesInAncestors.
1705 Test: PerformanceTests/Dromaeo/dom-attr.html.
1710 (WebCore::shouldInvalidateNodeListCachesForAttr): Extracted from shouldInvalidateNodeListCaches
1711 to unroll the loop in shouldInvalidateNodeListCaches. Apparently gcc wasn't doing the right thing.
1712 (WebCore::Document::shouldInvalidateNodeListCaches):
1713 (WebCore::Document::invalidateNodeListCaches):
1714 (WebCore::Node::invalidateNodeListCachesInAncestors):
1716 2012-07-20 Nico Weber <thakis@chromium.org>
1718 Fix more -Wunused-private-field violations
1719 https://bugs.webkit.org/show_bug.cgi?id=91876
1721 Reviewed by Adam Barth.
1723 As of http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20120716/061102.html
1724 the warning finds more bugs. Fix them.
1726 * html/FTPDirectoryDocument.cpp:
1727 (FTPDirectoryDocumentParser):
1728 (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
1729 * html/parser/HTMLTreeBuilder.cpp:
1730 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1731 * html/parser/HTMLTreeBuilder.h:
1733 * html/shadow/MediaControlRootElementChromium.cpp:
1734 (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
1735 * html/shadow/MediaControlRootElementChromium.h:
1736 (MediaControlRootElementChromium):
1737 * inspector/InspectorDOMStorageResource.cpp:
1738 (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
1739 * inspector/InspectorDOMStorageResource.h:
1740 (InspectorDOMStorageResource):
1741 * page/Settings.cpp:
1742 (WebCore::Settings::Settings):
1745 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1746 (WebCore::CCThreadProxy::CCThreadProxy):
1747 * platform/graphics/chromium/cc/CCThreadProxy.h:
1749 * rendering/svg/RenderSVGTextPath.cpp:
1750 (WebCore::RenderSVGTextPath::RenderSVGTextPath):
1751 * rendering/svg/RenderSVGTextPath.h:
1753 2012-07-20 Adam Klein <adamk@chromium.org>
1755 CodeGeneratorInspector.py is unnecessarily chatty
1756 https://bugs.webkit.org/show_bug.cgi?id=91758
1758 Reviewed by Vsevolod Vlasov.
1760 The code aded in r123091 included a "print" statement for each written
1761 file. This makes for noisy build output, especially noticeable in the
1762 Chromium ninja build (where build output takes up a single line of the
1765 If this print statement is generally useful, it should be
1766 hidden behind a --verbose commandline option, as we do for the binding
1769 * inspector/CodeGeneratorInspector.py:
1770 (SmartOutput.close): Remove print statement.
1772 2012-07-20 Stephen White <senorblanco@chromium.org>
1774 [chromium] Enable GPU-accelerated skia implementation of
1775 feDiffuseLighting, feSpecularLighting.
1776 https://bugs.webkit.org/show_bug.cgi?id=91865
1778 Reviewed by Dirk Schulze.
1780 Translate the light parameters into the appropriate
1781 SkLightingImageFilter calls. This path is only enabled when
1782 the filters are created with the Accelerated flag set.
1784 This will be covered by tests in svg/filters/* when they are
1785 added to the virtual GPU tests.
1788 * platform/graphics/filters/FELighting.h:
1790 * platform/graphics/filters/skia/FELightingSkia.cpp: Added.
1792 (WebCore::FELighting::platformApplySkia):
1794 2012-07-20 Pavel Feldman <pfeldman@chromium.org>
1796 Web Inspector: disable fake workers inspection.
1797 https://bugs.webkit.org/show_bug.cgi?id=91867
1799 Reviewed by Vsevolod Vlasov.
1801 'Fake workers' is unreliable error-prone way to debug workers. There are a
1802 lot of frameworks supporting it. Inspector should not do that since it has a more
1803 powerful native worker inspection capabilities. Port owners should enable it
1804 in case they want to provide workers debugging.
1806 * English.lproj/localizedStrings.js:
1809 * WebCore.vcproj/WebCore.vcproj:
1810 * inspector/InjectedScriptHost.cpp:
1811 (WebCore::InjectedScriptHost::InjectedScriptHost):
1812 * inspector/InjectedScriptHost.h:
1813 (InjectedScriptHost):
1814 * inspector/InjectedScriptHost.idl:
1815 * inspector/Inspector.json:
1816 * inspector/InspectorAgent.cpp:
1817 (WebCore::InspectorAgent::didCommitLoad):
1818 (WebCore::InspectorAgent::enable):
1819 * inspector/InspectorAgent.h:
1822 * inspector/InspectorInstrumentation.cpp:
1823 * inspector/InspectorInstrumentation.h:
1824 (InspectorInstrumentation):
1825 * inspector/front-end/InjectedFakeWorker.js: Removed.
1826 * inspector/front-end/ScriptsPanel.js:
1827 * inspector/front-end/WebKit.qrc:
1828 * inspector/front-end/WorkersSidebarPane.js:
1829 (WebInspector.WorkersSidebarPane):
1830 * inspector/front-end/externs.js:
1831 * inspector/front-end/inspector.html:
1832 * inspector/front-end/inspector.js:
1833 * workers/AbstractWorker.cpp:
1834 (WebCore::AbstractWorker::contextDestroyed):
1835 * workers/AbstractWorker.h:
1837 * workers/SharedWorker.cpp:
1838 (WebCore::SharedWorker::create):
1839 * workers/Worker.cpp:
1840 (WebCore::Worker::create):
1842 2012-07-20 Sheriff Bot <webkit.review.bot@gmail.com>
1844 Unreviewed, rolling out r123182.
1845 http://trac.webkit.org/changeset/123182
1846 https://bugs.webkit.org/show_bug.cgi?id=91863
1848 Causing ASSERT crashes in tests accessibility/canvas.html and
1849 accessibility/canvas-accessibilitynodeobject.html (Requested
1850 by jernoble on #webkit).
1853 * GNUmakefile.list.am:
1856 * accessibility/AXObjectCache.cpp:
1858 * accessibility/AXObjectCache.h:
1860 * accessibility/AccessibilityARIAGrid.cpp:
1861 (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid):
1862 (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid):
1864 (WebCore::AccessibilityARIAGrid::create):
1865 * accessibility/AccessibilityARIAGrid.h:
1866 (AccessibilityARIAGrid):
1867 * accessibility/AccessibilityARIAGridCell.cpp:
1868 (WebCore::AccessibilityARIAGridCell::create):
1869 * accessibility/AccessibilityARIAGridRow.cpp:
1870 (WebCore::AccessibilityARIAGridRow::create):
1871 * accessibility/AccessibilityAllInOne.cpp:
1872 * accessibility/AccessibilityList.cpp:
1873 (WebCore::AccessibilityList::create):
1874 * accessibility/AccessibilityListBox.cpp:
1875 (WebCore::AccessibilityListBox::create):
1876 * accessibility/AccessibilityMediaControls.cpp:
1877 (WebCore::AccessibilityMediaControl::create):
1878 (WebCore::AccessibilityMediaControlsContainer::create):
1879 (WebCore::AccessibilityMediaTimeline::create):
1880 (WebCore::AccessibilityMediaTimeDisplay::create):
1881 * accessibility/AccessibilityMenuList.cpp:
1882 * accessibility/AccessibilityMenuList.h:
1883 (WebCore::AccessibilityMenuList::create):
1884 * accessibility/AccessibilityNodeObject.cpp: Removed.
1885 * accessibility/AccessibilityNodeObject.h: Removed.
1886 * accessibility/AccessibilityObject.h:
1887 (AccessibilityObject):
1888 * accessibility/AccessibilityProgressIndicator.cpp:
1889 (WebCore::AccessibilityProgressIndicator::create):
1890 * accessibility/AccessibilityRenderObject.cpp:
1891 (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
1892 (WebCore::AccessibilityRenderObject::create):
1893 (WebCore::AccessibilityRenderObject::detach):
1894 (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
1896 (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
1897 (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
1898 (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
1899 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
1900 (WebCore::AccessibilityRenderObject::childrenChanged):
1901 (WebCore::AccessibilityRenderObject::canHaveChildren):
1902 (WebCore::AccessibilityRenderObject::addChildren):
1903 * accessibility/AccessibilityRenderObject.h:
1904 (AccessibilityRenderObject):
1905 (WebCore::AccessibilityRenderObject::setRenderer):
1906 * accessibility/AccessibilitySlider.cpp:
1907 (WebCore::AccessibilitySlider::create):
1908 * accessibility/AccessibilityTable.cpp:
1909 (WebCore::AccessibilityTable::AccessibilityTable):
1910 (WebCore::AccessibilityTable::~AccessibilityTable):
1912 (WebCore::AccessibilityTable::create):
1913 * accessibility/AccessibilityTable.h:
1914 (AccessibilityTable):
1915 * accessibility/AccessibilityTableCell.cpp:
1916 (WebCore::AccessibilityTableCell::create):
1917 * accessibility/AccessibilityTableRow.cpp:
1918 (WebCore::AccessibilityTableRow::create):
1920 2012-07-20 Christophe Dumez <christophe.dumez@intel.com>
1922 [EFL] Proxy configuration should honor the no_proxy environment variable
1923 https://bugs.webkit.org/show_bug.cgi?id=91747
1925 Reviewed by Kenneth Rohde Christiansen.
1927 Implement a custom Proxy URI Resolver for libsoup
1928 so that we can use it in EFL port. This custom
1929 proxy resolver brings support for setting
1930 exceptions so that the proxy is not used for the
1933 By default, the proxy is not used for localhost and
1936 No new tests, no behavior change for layout tests.
1938 * PlatformEfl.cmake:
1939 * platform/network/soup/ProxyResolverSoup.cpp: Added.
1940 (soup_proxy_resolver_wk_init):
1941 (soupProxyResolverWkFinalize):
1942 (soupProxyResolverWkSetProperty):
1943 (soupProxyResolverWkGetProperty):
1944 (shouldBypassProxy):
1945 (idle_return_proxy_uri):
1946 (soupProxyResolverWkGetProxyURIAsync):
1947 (soupProxyResolverWkGetProxyURISync):
1948 (soup_proxy_resolver_wk_class_init):
1949 (soup_proxy_resolver_wk_interface_init):
1950 (soupProxyResolverWkNew):
1951 * platform/network/soup/ProxyResolverSoup.h: Added.
1953 2012-07-20 Pierre Rossi <pierre.rossi@gmail.com>
1955 ColorChooserClient should expose the element's location
1956 https://bugs.webkit.org/show_bug.cgi?id=91767
1958 Reviewed by Kent Tamura.
1960 The rationale is that the chrome client could have an interest in placing the picker next to
1961 the element for usability reasons.
1963 No new tests as there is not much logic here: Just exposing a geometry information to WebKit.
1965 * html/ColorInputType.cpp:
1966 (WebCore::ColorInputType::elementRectRelativeToWindow):
1968 * html/ColorInputType.h:
1970 * platform/ColorChooserClient.h:
1971 (ColorChooserClient):
1973 2012-07-20 Thiago Marcos P. Santos <thiago.santos@intel.com>
1975 [WK2] WebIntents doesn't build if mutation observers is disabled
1976 https://bugs.webkit.org/show_bug.cgi?id=91839
1978 Reviewed by Kenneth Rohde Christiansen.
1980 WebIntents was depending on a code protected by ENABLE(MUTATION_OBSERVERS).
1981 Now the code is also enabled by ENABLE(WEB_INTENTS).
1983 * bindings/js/JSDictionary.cpp:
1985 * bindings/js/JSDictionary.h:
1987 2012-07-20 Mihnea Ovidenie <mihnea@adobe.com>
1989 [CSSRegions]Assert failure when layout positioned objects in regions
1990 https://bugs.webkit.org/show_bug.cgi?id=90792
1992 Reviewed by Andreas Kling.
1994 Before clamping the containing block (for an out-of-flow positioned element
1995 inside a named flow) to the region, we have to test whether the region is not
1996 null, which can happen when the named flow does not have attached regions.
1998 Tests: fast/regions/positioned-vrl-in-named-flow.html
1999 fast/regions/positioned-vrl-in-parent-named-flow.html
2000 fast/regions/positioned-with-vrl-parent-in-named-flow.html
2002 * rendering/RenderBox.cpp:
2003 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
2004 (WebCore::RenderBox::computePositionedLogicalWidth):
2005 (WebCore::RenderBox::computePositionedLogicalHeight):
2007 2012-07-20 Stephen Chenney <schenney@chromium.org>
2009 SVG Filter Effect sub-region not applied for some filters
2010 https://bugs.webkit.org/show_bug.cgi?id=89767
2012 Reviewed by Dirk Schulze.
2014 The filter effect region for SVG feGaussian and feDropShadow filters
2015 was incorrectly set, failing to account for the radius of the blur.
2016 This patch fixes the problem and removes an unneccessary clip
2017 operation when the filter result is blitted into the target. That clip
2018 was clipping the shadow from webkit-shadow.
2020 Tests: svg/filters/feDropShadow-subregion.svg
2021 svg/filters/feGaussianBlur-subregion.svg
2023 * platform/graphics/filters/FEDropShadow.cpp:
2024 (WebCore::FEDropShadow::determineAbsolutePaintRect): Moved the code
2025 that clips the paint rect by the filter effect subregion to come after
2026 the paint is modified by the filter radius.
2027 * platform/graphics/filters/FEGaussianBlur.cpp:
2028 (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
2029 Moved the code that clips the paint rect by the filter effect subregion to
2030 come after the paint is modified by the filter radius.
2031 * rendering/svg/RenderSVGResourceFilter.cpp:
2032 (WebCore::RenderSVGResourceFilter::postApplyResource):
2033 Removed a clip that is unnecessary and that was incorrectly clipping drop shadows.
2035 2012-07-19 Pavel Feldman <pfeldman@chromium.org>
2037 Web Inspector: Status bar icons are misaligned by 1px to the right
2038 https://bugs.webkit.org/show_bug.cgi?id=91757
2040 Reviewed by Vsevolod Vlasov.
2042 * inspector/front-end/inspector.css:
2046 2012-07-20 Andrei Poenaru <poenaru@adobe.com>
2048 Web Inspector: Protocol Extension: add getNamedFlowCollection command
2049 https://bugs.webkit.org/show_bug.cgi?id=91607
2051 Reviewed by Pavel Feldman.
2053 Extended the protocol with "getNamedFlowCollection" command.
2054 This command returns the CSS Named Flows from the document.
2056 Test: inspector/styles/protocol-getNamedFlowCollection-command.html
2058 * dom/WebKitNamedFlowCollection.cpp:
2059 (WebCore::WebKitNamedFlowCollection::namedFlowsNames):
2061 * dom/WebKitNamedFlowCollection.h:
2062 (WebKitNamedFlowCollection):
2063 * inspector/Inspector.json:
2064 * inspector/InspectorCSSAgent.cpp:
2065 (WebCore::InspectorCSSAgent::getNamedFlowCollection):
2067 * inspector/InspectorCSSAgent.h:
2068 (InspectorCSSAgent):
2069 * inspector/InspectorDOMAgent.cpp:
2070 (WebCore::InspectorDOMAgent::assertDocument):
2072 * inspector/InspectorDOMAgent.h:
2073 (InspectorDOMAgent):
2074 * inspector/front-end/CSSStyleModel.js:
2075 (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
2077 2012-07-20 Eugene Klyuchnikov <eustas.big@gmail.com>
2079 Web Inspector: Timeline: forward compatibility for load.
2080 https://bugs.webkit.org/show_bug.cgi?id=91714
2082 Reviewed by Pavel Feldman.
2084 Accept records of unrecognized types and render them as "unknown".
2086 Test: inspector/timeline/timeline-load-incompatible.html
2088 * English.lproj/localizedStrings.js: Added UI string.
2089 * inspector/front-end/TimelinePresentationModel.js:
2090 (WebInspector.TimelinePresentationModel.recordStyle): Add missing record
2092 (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
2093 Add some common information for default case.
2095 2012-07-20 MORITA Hajime <morrita@google.com>
2097 Another unreviewed Mac build fix against r123184.
2101 2012-07-20 Mihnea Ovidenie <mihnea@adobe.com>
2103 [CSSRegions]Crash when flowing a region into itself
2104 https://bugs.webkit.org/show_bug.cgi?id=90289
2106 Reviewed by Andreas Kling.
2108 If a region is designed to receive itself as content through a named flow, we avoid
2109 a circular dependency by not attaching the region to the desired named flow.
2110 In such occasions, the region's attached flow thread object is null and
2111 we have to check this pointer before using it in RenderRegion::styleDidChange.
2113 Test: fast/regions/flow-region-into-itself-crash.html
2115 * rendering/RenderRegion.cpp:
2116 (WebCore::RenderRegion::styleDidChange):
2118 2012-07-20 MORITA Hajime <morrita@google.com>
2120 Unreviewed Mac build fix against r123184.
2124 2012-07-17 Kinuko Yasuda <kinuko@chromium.org>
2126 If value for responseType defined as type that not supported, it should not throw an exception in XHR 2
2127 https://bugs.webkit.org/show_bug.cgi?id=90976
2129 Reviewed by Alexey Proskuryakov.
2131 http://www.w3.org/TR/XMLHttpRequest2/#the-responsetype-attribute
2132 The spec does not say it should throw an exception when a non-supported
2133 type is set, and other browsers do not throw it either.
2135 Test: fast/xmlhttprequest/xmlhttprequest-responsetype-set-type.html
2137 * xml/XMLHttpRequest.cpp:
2138 (WebCore::XMLHttpRequest::setResponseType): Stop throwing an exception when non-supported type is given.
2140 2012-07-20 Matt Falkenhagen <falken@chromium.org>
2142 Show or hide <dialog> depending on the open attribute
2143 https://bugs.webkit.org/show_bug.cgi?id=90931
2145 Reviewed by Kent Tamura.
2147 Test: fast/dom/HTMLDialogElement/dialog-open.html
2149 * css/html.css: Add CSS for dialog. This is copied verbatim from the HTML5 spec: http://www.whatwg.org/specs/web-apps/current-work/#flow-content-1
2150 (dialog:not([open])):
2152 * html/HTMLDialogElement.cpp:
2153 (WebCore::HTMLDialogElement::close): Set open to false, to hide the dialog.
2154 (WebCore::HTMLDialogElement::show): Set open to true, to show the dialog.
2156 (WebCore::HTMLDialogElement::isPresentationAttribute): Make openAttr a presentation attribute, to work around bug 91058
2157 * html/HTMLDialogElement.h:
2158 (HTMLDialogElement):
2159 * html/HTMLDialogElement.idl:
2161 2012-07-20 Shinya Kawanaka <shinyak@chromium.org>
2163 Needs pseudo id to point the inner element of an img elemnet for styling
2164 https://bugs.webkit.org/show_bug.cgi?id=91590
2166 Reviewed by Hajime Morita.
2168 We introduce pseudo id to point the element in UserAgentShadowDOM.
2169 This enables us to style the inner element of an img element shadow.
2170 Please see also http://trac.webkit.org/wiki/ShadowDOMForReplacedElements
2172 Test: fast/dom/shadow/shadowdom-for-image-with-pseudo-id.html
2174 * html/shadow/ImageInnerElement.cpp:
2175 (WebCore::ImageInnerElement::shadowPseudoId):
2177 * html/shadow/ImageInnerElement.h:
2178 (ImageInnerElement):
2180 2012-07-20 Kent Tamura <tkent@chromium.org>
2182 REGRESSION(r121420): Performance regression of form state saving for pages with multiple forms
2183 https://bugs.webkit.org/show_bug.cgi?id=91804
2185 Reviewed by Hajime Morita.
2187 The complexity of FormKeyGenerator::formKey() was O(N) where N is the
2188 number of form elements with an identical action URL, and formKey() is
2189 called for every form. So, it's O(N^2). A page in www.reddit.com
2190 contains hundreds of form elements with action="#". So FormController::
2191 formElementsState() took a few seconds on a slow machine.
2193 In order to avoid O(N^2) operation, storing a map from form signatures
2194 to next index numbers, instead of storing existing formKey strings.
2196 No new tests. Just a performance improvement.
2198 * html/FormController.cpp:
2199 (FormKeyGenerator): Remove m_existingKeys. Add a map from a form
2200 signature string to the next index number.
2201 (WebCore::formSignature): Returns a signature string for a form, without
2202 an index number. This is like "actionURL [name1 name2 ]"
2203 (WebCore::FormKeyGenerator::formKey):
2204 Creates a formKey string by concatenating a formSignature and #n. N is
2205 obtained from m_formSignatureToNextIndexMap in O(1).
2206 (WebCore::FormKeyGenerator::willDeleteForm):
2207 Remove the code for m_existingKeys.
2209 2012-07-20 Keishi Hattori <keishi@webkit.org>
2211 Fix crash in WebCore::HTMLInputElement::dataList
2212 https://bugs.webkit.org/show_bug.cgi?id=91818
2214 Reviewed by Kent Tamura.
2216 Fix crash that occurs when setting slider appearance on a regular node.
2218 Test: fast/forms/range/slider-appearance-crash.html
2220 * rendering/RenderTheme.cpp:
2221 (WebCore::RenderTheme::paintSliderTicks): Check if node is an input element.
2223 2012-07-20 Kent Tamura <tkent@chromium.org>
2225 [Chromium] Fix an assertion failure in TextFieldDecorationElement::hostInput()
2226 https://bugs.webkit.org/show_bug.cgi?id=91824
2228 Reviewed by Hajime Morita.
2230 No new tests. This code is used only in Chromium browser.
2232 * html/shadow/TextFieldDecorationElement.cpp:
2233 (WebCore::TextFieldDecorationElement::hostInput):
2234 Use shadowHost(), and allow to return 0.
2235 (WebCore::TextFieldDecorationElement::defaultEventHandler):
2238 2012-07-19 Simon Hausmann <simon.hausmann@nokia.com>
2240 [Qt] Compile WebCore without QtWidgets
2241 https://bugs.webkit.org/show_bug.cgi?id=91819
2243 Reviewed by Kenneth Rohde Christiansen.
2245 * WebCore.pri: QT += opengl is not needed for Qt 5, given that QtGui has OpenGL
2246 support built in with the QOpenGL* classes.
2248 2012-07-19 MORITA Hajime <morrita@google.com>
2250 [Refactoring] Replace Node's Document pointer with a TreeScope pointer
2251 https://bugs.webkit.org/show_bug.cgi?id=59816
2253 Reviewed by Ryosuke Niwa.
2255 Before this change, Node::treeScope() fetches the TreeScope object
2256 from ElementRareData. This approach has several shortcomings:
2258 - rareData() call is slow due to a hashtable lookup.
2259 - In shadow tree, each node has its tree scope in ElementRareData,
2260 that means the rare-data is no longer rare in that case.
2262 This change gets rid of ElementRareData::m_treeScope by replacing
2263 Node::m_document with Node::m_treeScope. And retrieves the
2264 document of Node through m_treeScope.
2266 Note that Node::document() is a hot function and naive
2267 replacemennt of m_document with m_treeScope can hurt the
2268 speed. This change employs some tricks to address it.
2270 - This change introduces Node::InShadowTree flag, if the flag is off,
2271 that means m_treeScope is actually a document an can be returned as the result.
2272 this eliminates an extract dereference.
2273 - Node::m_treeScope can be null. But we don't want to issue any extra
2274 conditional statement. So this change represents a null
2275 TreeScope as TreeScope::nullInstance(), which saves one conditional
2278 With these changes, the Node::document() slowdown is minimized to
2281 No new tests. Covered by existing tests.
2283 * dom/Document.cpp: Took care of connectio betwen TreeScope.
2284 (WebCore::Document::Document):
2285 (WebCore::Document::~Document):
2286 (WebCore::Document::suggestedMIMEType):
2288 (WebCore::Node::treeScope): Now just return m_treeScope, taking care of nullInstance() case.
2290 (WebCore::Node::setTreeScope): Now just sets m_treeScope.
2291 (WebCore::Node::documentInternal): Extracted from document() to have ASSERT-free version.
2292 (WebCore::Node::document): Re-implemented over treeScope() and the flag.
2293 (WebCore::Node::isDocumentNode): Re-implemented using treeScope()
2294 (WebCore::Node::Node):
2296 (WebCore::Node::~Node):
2297 (WebCore::Node::reportMemoryUsage):
2300 (WebCore::Node::inDocument):
2301 (WebCore::Node::isInShadowTree): Rewrote to use InShadowTree flag.
2302 * dom/NodeRareData.h:
2303 (WebCore::NodeRareData::NodeRareData): Eliminated m_treeScope.
2305 * dom/ShadowRoot.cpp:
2306 (WebCore::ShadowRoot::ShadowRoot):
2307 * dom/TreeScope.cpp:
2308 (WebCore::TreeScope::TreeScope):
2310 (WebCore::TreeScope::setParentTreeScope): Added.
2311 (WebCore::TreeScope::isDocumentScope): Added.
2312 (WebCore::TreeScope::nullInstance): Added.
2313 * dom/TreeScope.h: Added m_parentTreeScope.
2315 (WebCore::TreeScope::rootDocument): Added.
2317 * dom/TreeScopeAdopter.cpp: No longer calls setDocument()
2318 (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2319 (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
2320 * editing/MoveSelectionCommand.cpp: Includes Document.h to find inlined Node functions
2321 * editing/RemoveNodeCommand.cpp: Includes Document.h to find inlined Node functions
2322 * editing/RemoveNodePreservingChildrenCommand.cpp: Includes Document.h to find inlined Node functions
2323 * inspector/PageConsoleAgent.cpp: Includes Document.h to find inlined Node functions
2325 2012-07-19 David Hyatt <hyatt@apple.com>
2327 SVG not properly respecting max-width.
2328 https://bugs.webkit.org/show_bug.cgi?id=91474
2330 My previous checkin for 91474 accidentally inverted width and height in the division case for
2331 the computation of height. When I fixed this inversion, I discovered that <object> elements
2332 are in fact also broken with max-width handling, and that furthermore, trying to apply the same
2333 max-width fix by calling RenderBox::computeReplacedLogicalWidth/Height failed because those methods
2334 call intrinsicLogicalWidth()/Height(). Becuase m_intrinsicSize is out-of-date and does not reflect
2335 the values we just obtained from the contentRenderer, we use the default 300x150 values for object
2338 In order to both fix SVG/<object> with max-width constraints and to keep <object> rendering correctly
2339 even when there are no max-width constraints, I was forced to update the m_intrinsicSize immediately
2340 in order to make sure that the RenderBox methods returned the right values when computing the width/height
2341 constrained to max/min-width/height values.
2343 Reviewed by Dan Bernstein.
2345 Added two new tests in svg/as-image. One test covers non-rectangular images to test for the inversion
2346 mistake I made. The second test applies a max-width to <object> and shows that we have never gotten
2347 this right before. An existing test in svg/as-image/ already covers basic <object> use (and tests that
2348 the intrinsic size of 300x150 is not used when an explicit non-percentage size is specified on the SVG
2351 * rendering/RenderReplaced.cpp:
2352 (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
2353 Add a check to update m_intrinsicSize when we know it should apply, so that the calls to check against
2354 min/max-width fetch this correct size.
2356 * rendering/RenderReplaced.h:
2358 Make m_intrinsicSize mutable because of the mutation that occurs during the method above. It may be
2359 that we should re-evaluate whether all of these methods should be const, but this would impact RenderBox
2360 methods as well, so I chose to hold off going down that rabbit hole.
2362 2012-07-19 Dominic Mazzoni <dmazzoni@google.com>
2364 AX: Need AccessibilityObjects for nodes without renderers in canvas subtree
2365 https://bugs.webkit.org/show_bug.cgi?id=87899
2367 Reviewed by Chris Fleizach.
2369 Refactors AccessibilityRenderObject so that it inherits from a new class,
2370 AccessibilityNodeObject, that can be constructed from a Node without a
2371 renderer. Modifies AXObjectCache so that it automatically creates an
2372 AccessibilityNodeObject for elements in a canvas subtree but not otherwise.
2373 A new layout test verifies that this correctly exposes an accessibility
2374 tree with appropriate roles for elements in a canvas subtree.
2376 This patch does not try to complete the implementation of
2377 AccessibilityNodeObject. Most AX methods are still unimplemented and need
2378 to be migrated from AccessibilityRenderObject to AccessibilityNodeObject
2381 This patch also doesn't change anything outside of WebCore/accessibility, so
2382 the rest of WebCore only calls AXObjectCache when there are changes to a
2383 RenderObject, not to a Node. Accessible notifications on nodes without
2384 renderers need to be implemented in a future patch.
2386 Test: accessibility/canvas-accessibilitynodeobject.html
2389 * GNUmakefile.list.am:
2392 * accessibility/AXObjectCache.cpp:
2393 (WebCore::AXObjectCache::get):
2395 (WebCore::createFromNode):
2396 (WebCore::AXObjectCache::getOrCreate):
2397 (WebCore::AXObjectCache::remove):
2398 * accessibility/AXObjectCache.h:
2400 (WebCore::AXObjectCache::get):
2401 (WebCore::AXObjectCache::getOrCreate):
2402 (WebCore::AXObjectCache::remove):
2403 * accessibility/AccessibilityARIAGrid.cpp:
2404 (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid):
2406 (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid):
2407 (WebCore::AccessibilityARIAGrid::init):
2408 (WebCore::AccessibilityARIAGrid::create):
2409 * accessibility/AccessibilityARIAGrid.h:
2410 (AccessibilityARIAGrid):
2411 * accessibility/AccessibilityARIAGridCell.cpp:
2412 (WebCore::AccessibilityARIAGridCell::create):
2413 * accessibility/AccessibilityARIAGridRow.cpp:
2414 (WebCore::AccessibilityARIAGridRow::create):
2415 * accessibility/AccessibilityAllInOne.cpp:
2416 * accessibility/AccessibilityList.cpp:
2417 (WebCore::AccessibilityList::create):
2418 * accessibility/AccessibilityListBox.cpp:
2419 (WebCore::AccessibilityListBox::create):
2420 * accessibility/AccessibilityMediaControls.cpp:
2421 (WebCore::AccessibilityMediaControl::create):
2422 (WebCore::AccessibilityMediaControlsContainer::create):
2423 (WebCore::AccessibilityMediaTimeline::create):
2424 (WebCore::AccessibilityMediaTimeDisplay::create):
2425 * accessibility/AccessibilityMenuList.cpp:
2426 (WebCore::AccessibilityMenuList::create):
2428 * accessibility/AccessibilityMenuList.h:
2429 (AccessibilityMenuList):
2430 * accessibility/AccessibilityNodeObject.cpp: Added.
2432 (WebCore::AccessibilityNodeObject::AccessibilityNodeObject):
2433 (WebCore::AccessibilityNodeObject::~AccessibilityNodeObject):
2434 (WebCore::AccessibilityNodeObject::init):
2435 (WebCore::AccessibilityNodeObject::create):
2436 (WebCore::AccessibilityNodeObject::detach):
2437 (WebCore::AccessibilityNodeObject::childrenChanged):
2438 (WebCore::AccessibilityNodeObject::updateAccessibilityRole):
2439 (WebCore::AccessibilityNodeObject::firstChild):
2440 (WebCore::AccessibilityNodeObject::lastChild):
2441 (WebCore::AccessibilityNodeObject::previousSibling):
2442 (WebCore::AccessibilityNodeObject::nextSibling):
2443 (WebCore::AccessibilityNodeObject::parentObjectIfExists):
2444 (WebCore::AccessibilityNodeObject::parentObject):
2445 (WebCore::AccessibilityNodeObject::elementRect):
2446 (WebCore::AccessibilityNodeObject::setNode):
2447 (WebCore::AccessibilityNodeObject::document):
2448 (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
2449 (WebCore::AccessibilityNodeObject::addChildren):
2450 (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
2451 (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
2452 (WebCore::AccessibilityNodeObject::determineAriaRoleAttribute):
2453 (WebCore::AccessibilityNodeObject::ariaRoleAttribute):
2454 (WebCore::AccessibilityNodeObject::remapAriaRoleDueToParent):
2455 * accessibility/AccessibilityNodeObject.h: Added.
2457 (AccessibilityNodeObject):
2458 (WebCore::AccessibilityNodeObject::isAccessibilityNodeObject):
2459 (WebCore::AccessibilityNodeObject::node):
2460 (WebCore::AccessibilityNodeObject::isDetached):
2461 (WebCore::toAccessibilityNodeObject):
2462 * accessibility/AccessibilityObject.h:
2463 (WebCore::AccessibilityObject::isAccessibilityNodeObject):
2464 * accessibility/AccessibilityProgressIndicator.cpp:
2465 (WebCore::AccessibilityProgressIndicator::create):
2466 * accessibility/AccessibilityRenderObject.cpp:
2467 (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
2468 (WebCore::AccessibilityRenderObject::init):
2470 (WebCore::AccessibilityRenderObject::create):
2471 (WebCore::AccessibilityRenderObject::detach):
2472 (WebCore::AccessibilityRenderObject::setRenderer):
2473 (WebCore::AccessibilityRenderObject::canHaveChildren):
2474 (WebCore::AccessibilityRenderObject::addCanvasChildren):
2475 (WebCore::AccessibilityRenderObject::addChildren):
2476 * accessibility/AccessibilityRenderObject.h:
2477 (AccessibilityRenderObject):
2478 * accessibility/AccessibilitySlider.cpp:
2479 (WebCore::AccessibilitySlider::create):
2480 * accessibility/AccessibilityTable.cpp:
2481 (WebCore::AccessibilityTable::AccessibilityTable):
2483 (WebCore::AccessibilityTable::~AccessibilityTable):
2484 (WebCore::AccessibilityTable::init):
2485 (WebCore::AccessibilityTable::create):
2486 * accessibility/AccessibilityTable.h:
2487 (AccessibilityTable):
2488 * accessibility/AccessibilityTableCell.cpp:
2489 (WebCore::AccessibilityTableCell::create):
2490 * accessibility/AccessibilityTableRow.cpp:
2491 (WebCore::AccessibilityTableRow::create):
2493 2012-07-19 Dan Bernstein <mitz@apple.com>
2495 The ATSUI-based complex text code is unused
2496 https://bugs.webkit.org/show_bug.cgi?id=91816
2498 Reviewed by Sam Weinig.
2500 * WebCore.gypi: Removed references to the files deleted in this change.
2501 * WebCore.xcodeproj/project.pbxproj: Ditto.
2502 * platform/graphics/FontCache.h:
2503 (FontCache): Replaced USE(CORE_TEXT) with PLATFORM(MAC) || PLATFORM(CHROMIUM) && OS(DARWIN).
2504 * platform/graphics/SimpleFontData.h:
2505 (SimpleFontData): Removed USE(ATSUI)-only code, replaced USE(CORE_TEXT) with
2506 (PLATFORM(CHROMIUM) && OS(DARWIN)).
2507 * platform/graphics/mac/ComplexTextController.cpp: Removed USE(ATSUI)-only code. Moved
2508 collectComplexTextRunsForCharacters() and the ComplexTextRun constructor out of this file.
2509 * platform/graphics/mac/ComplexTextController.h: Removed USE(ATSUI)-only code and removed
2510 #if USE(CORE_TEXT) because anyone including this header is using Core Text.
2511 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Removed.
2512 * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2513 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moved from
2514 ComplexTextController.cpp into this file and merged with createTextRunFromFontDataCoreText().
2515 (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Moved from
2516 ComplexTextController.cpp into this file and merged with
2517 collectComplexTextRunsForCharactersCoreText().
2518 * platform/graphics/mac/SimpleFontDataATSUI.mm: Removed.
2519 * platform/graphics/mac/SimpleFontDataMac.mm:
2520 (WebCore::SimpleFontData::platformInit): Remove USE(ATSUI)-only code.
2521 (WebCore::SimpleFontData::platformDestroy): Ditto.
2522 * platform/text/mac/ShapeArabic.c: Removed.
2523 * platform/text/mac/ShapeArabic.h: Removed.
2525 2012-07-19 Kent Tamura <tkent@chromium.org>
2527 Introduce Node::shadowHost()
2528 https://bugs.webkit.org/show_bug.cgi?id=91814
2530 Reviewed by Hajime Morita.
2532 Introduce Node::shadowHost(), which return the host element, or 0.
2533 Node::shadowAncestorNode() is used to obtain a shadow host. However it
2534 is confusing because it returns 'this' if this is not in a shadow tree.
2536 Replaces one callsite of shadowAncestorNode() with shadowHost().
2541 (WebCore::Node::shadowHost): Added.
2543 (Node): Declare shadowHost(), and add a comment to shadowAncestorNode().
2544 * html/shadow/CalendarPickerElement.cpp:
2545 (WebCore::CalendarPickerElement::hostInput):
2546 Replace shadowAncestorNode() with shaodwHost().
2548 2012-07-19 Kent Tamura <tkent@chromium.org>
2550 Form state restore: Need to identify a form by its content
2551 https://bugs.webkit.org/show_bug.cgi?id=91209
2553 Reviewed by Hajime Morita.
2555 Add names of the first two controls of a form to its formKey
2556 string. By this change, we can correctly restore states to
2557 reordered forms like webkit.org/b/91209#c0.
2559 Tests: Added test cases to fast/forms/state-restore-per-form.html.
2561 * html/FormController.cpp:
2562 (WebCore::recordFormStructure):
2563 Append at most two name attribute values.
2564 (WebCore::createKey): Insert a string built by recordFromStructure().
2565 (WebCore::formStateSignature): Bump the version.
2567 2012-07-19 Wei James <james.wei@intel.com>
2569 enable Web Audio for chromium android port
2570 https://bugs.webkit.org/show_bug.cgi?id=89428
2572 Reviewed by Kenneth Russell.
2574 * WebCore.gyp/WebCore.gyp:
2575 * platform/audio/FFTFrameStub.cpp:
2576 (WebCore::FFTFrame::doFFT):
2578 2012-07-19 David Hyatt <hyatt@apple.com>
2580 SVG images broken when max-width specified.
2581 https://bugs.webkit.org/show_bug.cgi?id=91474
2583 SVG images were computing intrinsic dimensions when width and height were auto that did not
2584 respect min-max width/height. Normal images had code that applied these constraints properly.
2585 Looking at the code before the check-in that broke things, these constraints used to be
2586 applied to all images regardless of type via calcAspectRatioLogicalWidth/Height.
2588 This patch leaves the new function structure in place but converts the code to be more like
2589 it was prior to the introduction of the regression. Instead of raw intrinsic sizes being
2590 used in the SVG case, now all image types get the intrinsic sizes constrained when doing
2591 width/height computations.
2593 Reviewed by Dan Bernstein.
2595 Test: svg/as-image/svg-intrinsic-size.html
2597 * rendering/RenderReplaced.cpp:
2598 (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
2599 Rename computeIntrinsicRatioInformationForRenderBox to computeAspectRatioInformationForRenderBox.
2600 Also rename the intrinsicSize reference to constrainedSize to reflect the fact that the size
2601 is not necessarily the intrinsic size any longer but instead a size where both axes have been
2602 constrained based off the max-min values of the opposite axes.
2604 Move the constraining code out of RenderReplaced::computeIntrinsicRatioInformation into this
2605 function so that the SVG code path appies the constraints as well. The movement of this code
2606 is what fixes the bug.
2608 (WebCore::RenderReplaced::computeIntrinsicRatioInformation):
2609 Changed to remove the code that constrains the returned size, since it is shifting to
2610 computeAspectRatioInformationForRenderBox instead.
2612 (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2613 (WebCore::RenderReplaced::computeReplacedLogicalHeight):
2614 * rendering/RenderReplaced.h:
2616 Patch the name of the reference passed in to computeReplacedLogicalWidth/Height to be
2617 constrainedSize instead of intrinsicSize, so that it is more obvious that the returned
2618 result is not just the intrinsic size of the image.
2620 2012-07-19 Dmitry Titov <dimich@chromium.org>
2622 Unreviewed, reverting http://trac.webkit.org/changeset/123149.
2623 It broke an IDB test on Chromium page cycler.
2625 * bindings/v8/SerializedScriptValue.cpp:
2626 (WebCore::SerializedScriptValue::SerializedScriptValue):
2628 * bindings/v8/SerializedScriptValue.h:
2629 * dom/MessageEvent.cpp:
2630 (WebCore::MessageEvent::MessageEvent):
2631 (WebCore::MessageEvent::initMessageEvent):
2633 2012-07-19 Julien Chaffraix <jchaffraix@webkit.org>
2635 [CSS2.1] Anonymous tables should be inline/block-level based off their parent
2636 https://bugs.webkit.org/show_bug.cgi?id=15365
2638 Reviewed by Abhishek Arya.
2640 This change makes us match bullet 3 "Generate missing parents" of section 17.2.1 http://www.w3.org/TR/CSS2/tables.html#anonymous-boxes":
2641 "If a table is contained by an inline element, then the anonymous tables should be inline-tables."
2643 Patch based on an earlier change by Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>.
2645 Tests: css2.1/20110323/inline-table-002b.html
2646 fast/dynamic/insert-before-table-part-in-continuation.html
2647 fast/table/inline-table-in-continuation.html
2648 fast/table/inline-table-with-caption.html
2650 * rendering/RenderTable.cpp:
2651 (WebCore::RenderTable::createAnonymousWithParentRenderer):
2652 Added a check to determine if we should be inline or block based on our parent to match CSS 2.1.
2654 * rendering/RenderInline.cpp:
2655 (WebCore::RenderInline::addChildIgnoringContinuation):
2656 Changed the child addition logic to not wrap a table part in an inline context. This change works
2657 as intended as we will call RenderObject::addChild which will create an anonymous inline table that
2658 will be added under |this| instead of the table part. As the table is inline, it doesn't need to be
2659 wrapped when we recursively call RenderInline::addChild.
2661 2012-07-19 Chris Fleizach <cfleizach@apple.com>
2663 WebKit should pass <title> element value as the default description for web views
2664 https://bugs.webkit.org/show_bug.cgi?id=91763
2666 Reviewed by Anders Carlsson.
2668 Update the logic for determining the description for the AXWebArea to include the document's title.
2670 Test: platform/mac/accessibility/document-title-used-for-description.html
2672 * accessibility/AccessibilityRenderObject.cpp:
2673 (WebCore::AccessibilityRenderObject::webAreaAccessibilityDescription):
2674 Move web area description handling into a separate method.
2675 (WebCore::AccessibilityRenderObject::accessibilityDescription):
2676 * accessibility/AccessibilityRenderObject.h:
2677 (AccessibilityRenderObject):
2679 2012-07-19 Zeev Lieber <zlieber@chromium.org>
2681 [Chromium] Textures drawn during occlusion are incorrectly re-used when unoccluded.
2682 https://bugs.webkit.org/show_bug.cgi?id=91537
2684 Reviewed by Adrienne Walker.
2686 Detecting if any external occlusion occurs when drawing a
2687 texture. If external occlusion happens, the texture is marked as
2688 "incomplete" in LayerRendererChromium, and is not being considered
2691 Minor refactoring of CCQuadCuller - extracted interface
2692 (CCQuadSink) and united append() and appendSurface() methods.
2694 Added unit tests to verify this fix; also added test to try
2695 clipping instead of occlusion.
2697 * platform/graphics/chromium/LayerRendererChromium.cpp:
2698 (LayerRendererChromium::CachedTexture):
2699 (WebCore::LayerRendererChromium::CachedTexture::create):
2700 (WebCore::LayerRendererChromium::CachedTexture::~CachedTexture):
2701 (WebCore::LayerRendererChromium::CachedTexture::isComplete):
2702 (WebCore::LayerRendererChromium::CachedTexture::setIsComplete):
2703 (WebCore::LayerRendererChromium::CachedTexture::CachedTexture):
2705 (WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame):
2706 (WebCore::LayerRendererChromium::haveCachedResourcesForRenderPassId):
2707 (WebCore::LayerRendererChromium::drawRenderPassQuad):
2708 * platform/graphics/chromium/LayerRendererChromium.h:
2709 (LayerRendererChromium):
2710 * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
2711 (WebCore::CCIOSurfaceLayerImpl::appendQuads):
2712 * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h:
2713 (CCIOSurfaceLayerImpl):
2714 * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2715 (WebCore::CCLayerImpl::appendDebugBorderQuad):
2716 * platform/graphics/chromium/cc/CCLayerImpl.h:
2718 (WebCore::CCLayerImpl::appendQuads):
2720 * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2721 (WebCore::::unoccludedContentRect):
2722 (WebCore::::unoccludedContributingSurfaceContentRect):
2724 * platform/graphics/chromium/cc/CCOcclusionTracker.h:
2725 (CCOcclusionTrackerBase):
2726 * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2727 (WebCore::CCQuadCuller::CCQuadCuller):
2728 (WebCore::CCQuadCuller::append):
2729 * platform/graphics/chromium/cc/CCQuadCuller.h:
2732 (WebCore::CCQuadCuller::~CCQuadCuller):
2733 (WebCore::CCQuadCuller::hasExternalOcclusion):
2734 * platform/graphics/chromium/cc/CCQuadSink.h:
2738 (WebCore::CCQuadSink::~CCQuadSink):
2739 * platform/graphics/chromium/cc/CCRenderPass.cpp:
2740 (WebCore::CCRenderPass::CCRenderPass):
2741 (WebCore::CCRenderPass::appendQuadsForLayer):
2742 (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
2743 * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
2744 (WebCore::CCRenderPassDrawQuad::create):
2745 (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
2746 * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
2747 (CCRenderPassDrawQuad):
2748 (WebCore::CCRenderPassDrawQuad::hasExternalOcclusion):
2749 * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2750 (WebCore::CCRenderSurface::CCRenderSurface):
2751 (WebCore::CCRenderSurface::appendQuads):
2752 * platform/graphics/chromium/cc/CCRenderSurface.h:
2754 (WebCore::CCRenderSurface::setHasExternalOcclusion):
2755 (WebCore::CCRenderSurface::hasExternalOcclusion):
2757 * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2758 (WebCore::CCScrollbarLayerImpl::appendQuads):
2759 * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2760 (CCScrollbarLayerImpl):
2761 * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
2762 (WebCore::CCSolidColorLayerImpl::appendQuads):
2763 * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
2764 (CCSolidColorLayerImpl):
2765 * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2766 (WebCore::CCTextureLayerImpl::appendQuads):
2767 * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
2768 (CCTextureLayerImpl):
2769 * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2770 (WebCore::CCTiledLayerImpl::appendQuads):
2771 * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2773 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2774 (WebCore::CCVideoLayerImpl::appendQuads):
2775 * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2778 2012-07-19 Simon Fraser <simon.fraser@apple.com>
2780 Keep overlap testing on for descendants of an animating element
2781 https://bugs.webkit.org/show_bug.cgi?id=91787
2783 Reviewed by Beth Dakin.
2785 RenderLayerCompositor::computeCompositingRequirements() would turn off
2786 overlap testing for descendants of a layer that has a 3D transform,
2787 or has an animating transform. This could cause compositing changes
2788 inside an animating element when transitions start and stop, which
2791 Instead, we can keep overlap testing on for descendants of that
2792 animating element, but we have to turn it off for layers later
2795 Also enhance the "IndirectCompositingReason" flags so that in
2796 the compositing log output, we can distinguish between layers that
2797 were composited as a result of overlap testing from those compositing
2798 for stacking reasons.
2800 Test: compositing/layer-creation/animation-overlap-with-children.html
2802 * rendering/RenderLayer.h: New IndirectCompositingReason value to
2803 distinguish overlap from stacking.
2804 * rendering/RenderLayerCompositor.cpp:
2805 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2806 Use an IndirectCompositingReason enum rather than a bool to track whether
2807 the layer starts as composited.
2808 Remove the if (layer->has3DTransform() || isRunningAcceleratedTransformAnimation(layer->renderer()))
2809 check that turned off overlap testing for descendants of this layer.
2810 Use IndirectCompositingForStacking (somewhat arbitrarily) for reflection layers.
2811 Turn overlap testing off for layers later in the z-order.
2812 (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Take IndirectCompositingForStacking into
2814 (WebCore::RenderLayerCompositor::reasonForCompositing): Improve the logging output.
2816 2012-07-19 No'am Rosenthal <noam.rosenthal@nokia.com>
2818 [Qt] Enable CSS shaders in Qt (software mode)
2819 https://bugs.webkit.org/show_bug.cgi?id=85140
2821 Reviewed by Simon Hausmann.
2823 Added missing files to the Qt build.
2825 No new tests, WebGL is still disabled by default in the bots.
2829 2012-07-19 No'am Rosenthal <noam.rosenthal@nokia.com>
2831 [Qt] Enable CSS shaders in Qt (software mode)
2832 https://bugs.webkit.org/show_bug.cgi?id=85140
2834 Reviewed by Simon Hausmann.
2836 Added missing files to the Qt build.
2838 No new tests, WebGL is still disabled by default in the bots.
2842 2012-07-19 Simon Fraser <simon.fraser@apple.com>
2844 Keep overlap testing on for descendants of an animating element
2845 https://bugs.webkit.org/show_bug.cgi?id=91787
2847 Reviewed by Beth Dakin.
2849 RenderLayerCompositor::computeCompositingRequirements() would turn off
2850 overlap testing for descendants of a layer that has a 3D transform,
2851 or has an animating transform. This could cause compositing changes
2852 inside an animating element when transitions start and stop, which
2855 Instead, we can keep overlap testing on for descendants of that
2856 animating element, but we have to turn it off for layers later
2859 Also enhance the "IndirectCompositingReason" flags so that in
2860 the compositing log output, we can distinguish between layers that
2861 were composited as a result of overlap testing from those compositing
2862 for stacking reasons.
2864 Test: compositing/layer-creation/animation-overlap-with-children.html
2866 * rendering/RenderLayer.h: New IndirectCompositingReason value to
2867 distinguish overlap from stacking.
2868 * rendering/RenderLayerCompositor.cpp:
2869 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2870 Use an IndirectCompositingReason enum rather than a bool to track whether
2871 the layer starts as composited.
2872 Remove the if (layer->has3DTransform() || isRunningAcceleratedTransformAnimation(layer->renderer()))
2873 check that turned off overlap testing for descendants of this layer.
2874 Use IndirectCompositingForStacking (somewhat arbitrarily) for reflection layers.
2875 Turn overlap testing off for layers later in the z-order.
2876 (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Take IndirectCompositingForStacking into
2878 (WebCore::RenderLayerCompositor::reasonForCompositing): Improve the logging output.
2880 2012-07-19 No'am Rosenthal <noam.rosenthal@nokia.com>
2882 [Qt] Enable CSS shaders in Qt (software mode)
2883 https://bugs.webkit.org/show_bug.cgi?id=85140
2885 Reviewed by Simon Hausmann.
2887 Added missing files to the Qt build.
2889 No new tests, WebGL is still disabled by default in the bots.
2893 2012-07-17 Dmitry Titov <dimich@chromium.org>
2895 [Chromium] Out of Memory is observed when a large object is passed to a Web Worker.
2896 https://bugs.webkit.org/show_bug.cgi?id=91535.
2898 Reviewed by Dave Levin.
2900 No new tests because of no new behavior and lack of mechanism to monitor used memory.
2902 * bindings/v8/SerializedScriptValue.cpp:
2903 (WebCore::SerializedScriptValue::SerializedScriptValue):
2904 (WebCore::SerializedScriptValue::registerMemoryAllocatedWithCurrentScriptContext):
2906 (WebCore::SerializedScriptValue::~SerializedScriptValue):
2907 * bindings/v8/SerializedScriptValue.h:
2908 (SerializedScriptValue):
2909 Added a method to SerializedScriptValue to add memory pressure on GC proportional to the size of memory allocated in serialized data.
2911 * dom/MessageEvent.cpp:
2912 (WebCore::MessageEvent::MessageEvent):
2913 (WebCore::MessageEvent::initMessageEvent):
2914 Call the new method of SerializedScriptValue during creation of MessageEvent (presumably in the thread which contains the right V8 context).
2916 2012-07-19 Dan Bernstein <mitz@apple.com>
2918 In flipped blocks writing modes, no flipping occurs when mapping RenderText’s local coordinates to absolute
2919 https://bugs.webkit.org/show_bug.cgi?id=91780
2921 Reviewed by Anders Carlsson.
2923 Test: fast/writing-mode/flipped-blocks-text-map-local-to-container.html
2925 When RenderObject::mapLocalToContainer() was called on a RenderText with ApplyContainerFlip,
2926 it would not flip (if the container was not a box) but it would always pass
2927 DoNotApplyContainerFlip when recurring to the parent. This meant that no one applied the flip.
2929 * rendering/RenderInline.cpp:
2930 (WebCore::RenderInline::mapLocalToContainer): Made the setting of applyContainerFlip to
2931 false unconditional on the container actually being flipped.
2932 * rendering/RenderObject.cpp:
2933 (WebCore::RenderObject::mapLocalToContainer): Rather than always passing
2934 DoNotApplyContainerFlip when recurring to the parent, changed this function to pass through
2935 the value of applyContainerFlip it was called with, unless it applied the flip itself.
2937 2012-07-19 Erik Arvidsson <arv@chromium.org>
2939 Window top should not be replaceable
2940 https://bugs.webkit.org/show_bug.cgi?id=91755
2942 Reviewed by Adam Barth.
2944 Window top is readonly and unforgable and should not be replaceable.
2946 http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#the-window-object
2948 This change brings JSC inline with all other browsers.
2950 No new tests. Modified existing tests.
2952 * page/DOMWindow.idl:
2954 2012-07-19 Max Feil <mfeil@rim.com>
2956 [BlackBerry] Only maintain the hole punch rect while html5 video is being renderered
2957 https://bugs.webkit.org/show_bug.cgi?id=91689
2959 Reviewed by Antonio Gomes.
2961 The hole punch rectangle needs to be present if and only if html5
2962 video content is being rendered. Otherwise unwanted content may
2963 show through from behind the browser tab's window.
2965 I am not adding any new tests because the difficulty of testing
2966 for this case outweighs the benefit.
2968 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2969 (WebCore::MediaPlayerPrivate::updateStates):
2971 2012-07-19 Bem Jones-Bey <bjonesbe@adobe.com>
2973 [CSS Exclusions] - Code cleanup: make shape parsing use isComma() instead of manual checks
2974 https://bugs.webkit.org/show_bug.cgi?id=91760
2976 Reviewed by Eric Seidel.
2978 Remove code duplication by making the rectangle, circle, and ellipse
2979 methods use isComma() to detect a comma.
2981 No new tests needed: no new functionality added.
2983 * css/CSSParser.cpp:
2984 (WebCore::CSSParser::parseExclusionShapeRectangle):
2985 (WebCore::CSSParser::parseExclusionShapeCircle):
2986 (WebCore::CSSParser::parseExclusionShapeEllipse):
2988 2012-07-19 Raymond Toy <rtoy@google.com>
2990 Limit maximum delay of DelayNode.
2991 https://bugs.webkit.org/show_bug.cgi?id=91675
2993 Reviewed by Kenneth Russell.
2995 Clip the maximum delay of a DelayNode to a reasonable maximum.
2997 Test: webaudio/delaynode-maxdelaylimit.html
2999 * Modules/webaudio/DelayNode.cpp:
3000 (WebCore): Add maximumAllowedDelayTime.
3001 (WebCore::DelayNode::DelayNode): Clip max delay.
3003 2012-07-14 Robert Hogan <robert@webkit.org>
3005 CSS 2.1 failure: text-indent-intrinsic-003 fails
3006 https://bugs.webkit.org/show_bug.cgi?id=80576
3008 Reviewed by Eric Seidel.
3010 Negative values of text-indent should be distributed across inline children until used up.
3011 This fixes text-indent-intrinsic-003 and text-indent-intrinsic-004.
3013 Tests: css2.1/20110323/text-indent-intrinsic-001.htm
3014 css2.1/20110323/text-indent-intrinsic-002.htm
3015 css2.1/20110323/text-indent-intrinsic-003.htm
3016 css2.1/20110323/text-indent-intrinsic-004.htm
3018 * rendering/RenderBlock.cpp:
3019 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): If text-indent is negative, keep
3020 applying it to inline children in the first formatted line until it's reduced to zero. This isn't
3021 a consideration when text-indent is a positive value.
3023 2012-07-19 Douglas Stockwell <dstockwell@google.com>
3025 Crash in WebCore::StyleResolver::collectMatchingRulesForList
3026 https://bugs.webkit.org/show_bug.cgi?id=90803
3028 Reviewed by Andreas Kling.
3030 When a ProcessingInstruction was removed from the document the owner
3031 was removed, but the style resolver was not guaranteed to be updated.
3032 It was then possible for an inconsistent version of the stylesheet to
3033 remain visible in the DOM. Fixed by removing an invalid condition and
3034 mirroring the logic from StyleElement.
3036 Test: fast/css/xml-stylesheet-removed.xhtml
3038 * dom/ProcessingInstruction.cpp:
3039 (WebCore::ProcessingInstruction::removedFrom): Mirror the logic from
3040 StyleElement -- always update the style resolver.
3042 2012-07-19 Bem Jones-Bey <bjonesbe@adobe.com>
3044 Shape-inside / shape-outside should support percent-based measurements
3045 https://bugs.webkit.org/show_bug.cgi?id=90311
3047 Reviewed by Andreas Kling.
3049 Update the CSS Parser to accept percentage length values for exclusion
3052 Testing added to LayoutTests/fast/exclusions/parsing-wrap-shape-lengths.html
3054 * css/CSSParser.cpp:
3055 (WebCore::CSSParser::parseExclusionShapeRectangle):
3056 (WebCore::CSSParser::parseExclusionShapeCircle):
3057 (WebCore::CSSParser::parseExclusionShapeEllipse):
3058 (WebCore::CSSParser::parseExclusionShapePolygon):
3060 2012-07-19 Tony Chang <tony@chromium.org>
3062 Unreviewed, rolling out r123117.
3063 http://trac.webkit.org/changeset/123117
3064 https://bugs.webkit.org/show_bug.cgi?id=91667
3066 Breaks chromium-win compile.
3068 * WebCore.gyp/WebCore.gyp:
3069 * WebCore.gyp/scripts/rule_bison.py:
3070 * bindings/scripts/preprocessor.pm:
3071 (applyPreprocessor):
3072 * make-hash-tools.pl:
3074 2012-07-19 James Simonsen <simonjam@chromium.org>
3076 Regression(120096): Protect the element used by ImageLoader until the end of notifyFinished().
3077 https://bugs.webkit.org/show_bug.cgi?id=90471
3079 Reviewed by Brady Eidson.
3081 Test: http/tests/security/video-poster-cross-origin-crash.html
3083 * html/HTMLImageLoader.cpp:
3084 (WebCore::HTMLImageLoader::notifyFinished): Hang on to the element until we're done.
3085 * loader/ImageLoader.cpp:
3086 (WebCore::ImageLoader::setImage): No behavior change.
3088 (WebCore::ImageLoader::setImageWithoutConsideringPendingLoadEvent): Split off from old setImage, minus calling updatedHasPendingLoadEvent().
3089 (WebCore::ImageLoader::notifyFinished): Invoke updatedHasPendingLoadEvent when done with cross origin errors.
3090 * loader/ImageLoader.h:
3093 2012-07-19 Scott Graham <scottmg@chromium.org>
3095 Use native (non-cygwin) binaries for perl, gperf, and bison in Chromium
3096 https://bugs.webkit.org/show_bug.cgi?id=91667
3098 Reviewed by Kentaro Hara.
3100 Using native tools instead of cygwin version improves build time
3101 performance by roughly 50% (on top of previous cl-instead-of-gcc
3106 * WebCore.gyp/WebCore.gyp:
3107 * WebCore.gyp/scripts/rule_bison.py:
3108 * bindings/scripts/preprocessor.pm:
3109 (applyPreprocessor):
3110 * make-hash-tools.pl:
3112 2012-07-19 Andrey Kosyakov <caseq@chromium.org>
3114 Web Inspector: CPU bars are not cleared along with the rest of the timeline panel
3115 https://bugs.webkit.org/show_bug.cgi?id=91753
3117 Reviewed by Pavel Feldman.
3119 - remove early bail-outs in refreshMainThreadBars; let it run to clear bars for the non-existent / invisible events;
3121 * inspector/front-end/TimelinePanel.js:
3122 (WebInspector.TimelinePanel.prototype._refreshMainThreadBars):
3124 2012-07-19 Joshua Bell <jsbell@chromium.org>
3126 IndexedDB: Throw native TypeErrors per spec
3127 https://bugs.webkit.org/show_bug.cgi?id=91679
3129 Reviewed by Kentaro Hara.
3131 Per the IDB spec, the advance(), openCursor(), openKeyCursor() and transaction()
3132 methods supposed to throw true native JavaScript TypeError objects as exceptions
3133 rather than DOMException objects. Implement this by adding a special DOMException
3134 code that is tested for in the binding layer.
3136 Tests: storage/indexeddb/cursor-advance.html
3137 storage/indexeddb/index-basics.html
3138 storage/indexeddb/index-basics-workers.html
3139 storage/indexeddb/objectstore-cursor.html
3140 storage/indexeddb/transaction-basics.html
3142 * Modules/indexeddb/IDBCursor.cpp: Use the new DOMException code.
3143 (WebCore::IDBCursor::advance):
3144 (WebCore::IDBCursor::stringToDirection):
3145 (WebCore::IDBCursor::directionToString):
3146 * Modules/indexeddb/IDBDatabase.cpp: Ditto.
3147 (WebCore::IDBDatabase::setVersion):
3148 * Modules/indexeddb/IDBDatabaseException.cpp: Remove temporary cruft/mark as legacy.
3150 * Modules/indexeddb/IDBDatabaseException.h: Ditto.
3151 * Modules/indexeddb/IDBDatabaseException.idl: Ditto.
3152 * Modules/indexeddb/IDBFactory.cpp: Use the new DOMException code.
3153 (WebCore::IDBFactory::open):
3154 (WebCore::IDBFactory::deleteDatabase):
3155 * Modules/indexeddb/IDBObjectStore.cpp:
3156 (WebCore::IDBObjectStore::createIndex): Use the new DOMException code.
3157 * Modules/indexeddb/IDBTransaction.cpp: Use the new DOMException code.
3158 (WebCore::IDBTransaction::stringToMode):
3159 (WebCore::IDBTransaction::modeToString):
3160 * bindings/js/JSDOMBinding.cpp:
3161 (WebCore::setDOMException): Intercept new DOMException code, throw native TypeError.
3162 * bindings/v8/V8Proxy.cpp:
3163 (WebCore::V8Proxy::setDOMException): Ditto.
3164 * dom/ExceptionCode.h: Add new DOMException code.
3166 2012-07-19 Joshua Bell <jsbell@chromium.org>
3168 Roll out r121610 and r122487 which may have been causing flaky crashes
3169 https://bugs.webkit.org/show_bug.cgi?id=91637
3171 Reviewed by Kentaro Hara.
3173 Flaky crashes started in random tests following r121610. It's not clear
3174 that r121610 is to blame, but we'd like to prove or disprove it.
3175 If this doesn't resolve the crashes, this patch should be rolled out.
3178 * bindings/v8/NPObjectWrapper.cpp: Added.
3181 (WebCore::NPObjectWrapper::NPObjectWrapper):
3182 (WebCore::NPObjectWrapper::create):
3183 (WebCore::NPObjectWrapper::clear):
3184 (WebCore::NPObjectWrapper::getWrapper):
3185 (WebCore::NPObjectWrapper::getUnderlyingNPObject):
3186 (WebCore::NPObjectWrapper::getObjectForCall):
3187 (WebCore::NPObjectWrapper::NPAllocate):
3188 (WebCore::NPObjectWrapper::NPDeallocate):
3189 (WebCore::NPObjectWrapper::NPPInvalidate):
3190 (WebCore::NPObjectWrapper::NPHasMethod):
3191 (WebCore::NPObjectWrapper::NPInvoke):
3192 (WebCore::NPObjectWrapper::NPInvokeDefault):
3193 (WebCore::NPObjectWrapper::NPHasProperty):
3194 (WebCore::NPObjectWrapper::NPGetProperty):
3195 (WebCore::NPObjectWrapper::NPSetProperty):
3196 (WebCore::NPObjectWrapper::NPRemoveProperty):
3197 (WebCore::NPObjectWrapper::NPNEnumerate):
3198 (WebCore::NPObjectWrapper::NPNConstruct):
3199 (WebCore::NPObjectWrapper::NPInvokePrivate):
3200 * bindings/v8/NPObjectWrapper.h: Added.
3203 * bindings/v8/NPV8Object.cpp:
3204 (WebCore::freeV8NPObject):
3206 (_NPN_InvokeDefault):
3207 (_NPN_EvaluateHelper):
3210 (_NPN_RemoveProperty):
3215 * bindings/v8/NPV8Object.h:
3217 * bindings/v8/ScriptController.cpp:
3218 (WebCore::ScriptController::ScriptController):
3219 (WebCore::ScriptController::clearScriptObjects):
3220 (WebCore::ScriptController::windowScriptNPObject):
3221 * bindings/v8/ScriptController.h:
3224 2012-07-19 Andrey Kosyakov <caseq@chromium.org>
3226 Web Inspector: minimize number of properties on WebInspector.TimelinePresentationModel.Record
3227 https://bugs.webkit.org/show_bug.cgi?id=91744
3229 Reviewed by Pavel Feldman.
3231 - replace most properties on TimelinePresentationModel.Record with getters;
3233 This reduces the amount of memory we use for timeline presentation model records almost by 2x.
3235 * inspector/front-end/TimelinePresentationModel.js:
3236 (WebInspector.TimelinePresentationModel.Record):
3237 (WebInspector.TimelinePresentationModel.Record.prototype.get children):
3238 (WebInspector.TimelinePresentationModel.Record.prototype.get category):
3239 (WebInspector.TimelinePresentationModel.Record.prototype.get title):
3240 (WebInspector.TimelinePresentationModel.Record.prototype.get startTime):
3241 (WebInspector.TimelinePresentationModel.Record.prototype.get data):
3242 (WebInspector.TimelinePresentationModel.Record.prototype.get type):
3243 (WebInspector.TimelinePresentationModel.Record.prototype.get frameId):
3244 (WebInspector.TimelinePresentationModel.Record.prototype.get endTime):
3245 (WebInspector.TimelinePresentationModel.Record.prototype.get totalHeapSize):
3246 (WebInspector.TimelinePresentationModel.Record.prototype.get usedHeapSize):
3247 (WebInspector.TimelinePresentationModel.Record.prototype.get _selfTime):
3248 (WebInspector.TimelinePresentationModel.Record.prototype.get stackTrace):
3249 (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
3250 (WebInspector.TimelinePresentationModel.Record.prototype.calculateAggregatedStats):
3252 2012-07-19 Dongwoo Im <dw.im@samsung.com>
3254 [EFL] Fix build break when WEB_AUDIO is enabled.
3255 https://bugs.webkit.org/show_bug.cgi?id=91735
3257 Unreviewed build fix.
3259 New files are added for the Web Audio fearure.
3260 These files should be included into the CMakeLists.txt file.
3262 * CMakeLists.txt: Add the newly created files into the CMakeLists.txt
3264 2012-07-19 Simon Hausmann <simon.hausmann@nokia.com>
3266 [Qt] Remove support for Qt versions before 4.8.0
3267 https://bugs.webkit.org/show_bug.cgi?id=91730
3269 Reviewed by Kenneth Rohde Christiansen.
3271 Remove Qt version check #ifdefs for Qt versions before 4.8.0.
3273 * platform/graphics/qt/GraphicsContextQt.cpp:
3274 (WebCore::GraphicsContextPlatformPrivate::clipBoundingRect):
3275 * platform/qt/ThirdPartyCookiesQt.cpp:
3276 (WebCore::urlsShareSameDomain):
3277 (WebCore::thirdPartyCookiePolicyPermits):
3279 2012-07-19 Peter Rybin <peter.rybin@gmail.com>
3281 Web Inspector: CodeGeneratorInspector.py: fix output write logic to support incremental build
3282 https://bugs.webkit.org/show_bug.cgi?id=90642
3284 Reviewed by Yury Semikhatsky.
3286 A small intermediate writer is added. It handles comparing old and new source before actual writing.
3288 * inspector/CodeGeneratorInspector.py:
3291 (SmartOutput.__init__):
3292 (SmartOutput.write):
3293 (SmartOutput.close):
3295 2012-07-19 Mario Sanchez Prada <msanchez@igalia.com>
3297 [GTK] MHTML files not being loaded due to reported mime type not supported
3298 https://bugs.webkit.org/show_bug.cgi?id=89978
3300 Reviewed by Carlos Garcia Campos.
3302 Make 'message/rfc822' a supported MIME type for MHTML files in GTK.
3304 * loader/MainResourceLoader.cpp:
3305 (WebCore::MainResourceLoader::continueAfterContentPolicy): Add
3306 'message/rfc822' to the list of MIME types to be considered to
3307 avoid them bypasing cross-domain security checks, only for GTK.
3308 * loader/archive/ArchiveFactory.cpp:
3309 (WebCore::archiveMIMETypes): Add 'message/rfc822' to the list of
3310 supported MIME types when MHTML support is enabled in GTK.
3312 2012-07-19 Jan Keromnes <janx@linux.com>
3314 Web Inspector: Factor ExtensionView into separate file
3315 https://bugs.webkit.org/show_bug.cgi?id=91699
3317 Reviewed by Vsevolod Vlasov.
3319 The class ExtensionView was defined in ExtensionPanel.js but needed to
3320 be in a separate file since it is going to be reused somewhere else.
3322 Current test coverage is enough since no behavior was changed.
3325 * WebCore.vcproj/WebCore.vcproj:
3326 * inspector/compile-front-end.py:
3327 * inspector/front-end/ExtensionPanel.js:
3328 * inspector/front-end/WebKit.qrc:
3329 * inspector/front-end/inspector.html:
3331 2012-07-19 Shinya Kawanaka <shinyak@chromium.org>
3333 [Refactoring] Use userAgentShadowRoot() to take user agent shadow root.
3334 https://bugs.webkit.org/show_bug.cgi?id=91716
3336 Reviewed by Hajime Morita.
3338 We have introduced Element::userAgentShadowRoot in r123071 to take user agent shadow root.
3339 We have used shadow()->oldestShadowRoot() to take the user agent shadow root, however its code intention was
3340 not so clear. Using userAgentShadowRoot() will make it clearer.
3342 No new tests, simple refactoring.
3344 * html/ColorInputType.cpp:
3345 (WebCore::ColorInputType::createShadowSubtree):
3346 (WebCore::ColorInputType::shadowColorSwatch):
3347 * html/FileInputType.cpp:
3348 (WebCore::FileInputType::createShadowSubtree):
3349 (WebCore::FileInputType::multipleAttributeChanged):
3350 * html/HTMLDetailsElement.cpp:
3351 (WebCore::HTMLDetailsElement::findMainSummary):
3352 * html/HTMLImageElement.cpp:
3353 (WebCore::HTMLImageElement::willAddAuthorShadowRoot):
3354 (WebCore::HTMLImageElement::imageElement):
3355 (WebCore::HTMLImageElement::innerElement):
3356 * html/HTMLKeygenElement.cpp:
3357 (WebCore::HTMLKeygenElement::shadowSelect):
3358 * html/HTMLTextAreaElement.cpp:
3359 (WebCore::HTMLTextAreaElement::innerTextElement):
3360 (WebCore::HTMLTextAreaElement::updatePlaceholderText):
3361 * html/InputType.cpp:
3362 (WebCore::InputType::destroyShadowSubtree):
3363 * html/RangeInputType.cpp:
3364 (WebCore::RangeInputType::handleMouseDownEvent):
3365 (WebCore::RangeInputType::createShadowSubtree):
3366 * html/TextFieldInputType.cpp:
3367 (WebCore::TextFieldInputType::createShadowSubtree):
3368 (WebCore::TextFieldInputType::updatePlaceholderText):
3369 * html/ValidationMessage.cpp:
3370 (WebCore::ValidationMessage::deleteBubbleTree):
3371 * html/shadow/SliderThumbElement.cpp:
3372 (WebCore::sliderThumbElementOf):
3373 (WebCore::trackLimiterElementOf):
3375 2012-07-19 Keishi Hattori <keishi@webkit.org>
3377 Redraw slider tick marks when datalist changes.
3378 https://bugs.webkit.org/show_bug.cgi?id=89544
3380 Reviewed by Kent Tamura.
3382 Updating the datalist should redraw the slider tick marks. This patch monitors
3383 the id target element of the list attribute using ListAttributeTargetObserver
3384 and notifies changes to the option element inside of a datalist element.
3386 Test: fast/forms/datalist/update-range-with-datalist.html
3388 * html/HTMLDataListElement.cpp:
3389 (WebCore::HTMLDataListElement::optionElementChildrenChanged): Called when a child option element's value might have changed.
3391 * html/HTMLDataListElement.h:
3392 (HTMLDataListElement):
3393 * html/HTMLInputElement.cpp:
3394 (ListAttributeTargetObserver): Inherits IdTargetObserver.
3396 (WebCore::HTMLInputElement::parseAttribute): Observe the form attribute target.
3397 (WebCore::HTMLInputElement::insertedInto): Observe the form attribute id target.
3398 (WebCore::HTMLInputElement::removedFrom): Remove the observer.
3399 (WebCore::HTMLInputElement::resetListAttributeTargetObserver):
3400 (WebCore::HTMLInputElement::listAttributeTargetChanged):
3401 (WebCore::ListAttributeTargetObserver::create):
3402 (WebCore::ListAttributeTargetObserver::ListAttributeTargetObserver):
3403 (WebCore::ListAttributeTargetObserver::idTargetChanged):
3404 * html/HTMLInputElement.h:
3407 * html/HTMLOptionElement.cpp:
3408 (WebCore::HTMLOptionElement::parseAttribute): If the value attribute changed, notify the owner datalist element.
3409 (WebCore::HTMLOptionElement::childrenChanged): If the children changed, notify the owner datalist element.
3411 (WebCore::HTMLOptionElement::ownerDataListElement): The datalist that the option element is inside of.
3412 * html/HTMLOptionElement.h:
3414 (HTMLOptionElement):
3415 * html/InputType.cpp:
3417 (WebCore::InputType::listAttributeTargetChanged):
3420 * html/RangeInputType.cpp:
3422 (WebCore::RangeInputType::listAttributeTargetChanged):
3423 * html/RangeInputType.h:
3426 2012-07-19 Dongwoo Im <dw.im@samsung.com>
3428 CodeGeneratorV8.pm : @enabledAtRuntime is not used in GenerateHeader.
3429 https://bugs.webkit.org/show_bug.cgi?id=91715
3431 Reviewed by Kentaro Hara.
3433 @enabledAtRuntime is not used in GenerateHeader.
3434 We can remove it from GenerateHeader.
3436 No new tests as this has no functional changes.
3438 * bindings/scripts/CodeGeneratorV8.pm: Remove @enabledAtRuntime from GenerateHeader.
3441 2012-07-19 Abhishek Arya <inferno@chromium.org>
3443 Crash in FontCache::releaseFontData.
3444 https://bugs.webkit.org/show_bug.cgi?id=91710
3446 Reviewed by Tim Horton.
3448 Revert back change made to StyleResolver in r122896. The
3449 maximum font size clamp is required there since transformed
3450 sizes use that code path.
3452 * css/StyleResolver.cpp:
3453 (WebCore::StyleResolver::collectMatchingRulesForList):
3455 2012-07-18 Ryosuke Niwa <rniwa@webkit.org>