1 2013-04-22 Benjamin Poulain <benjamin@webkit.org>
3 Remove the memory instrumentation code
4 https://bugs.webkit.org/show_bug.cgi?id=114931
6 Reviewed by Andreas Kling.
8 The Memory Instrumentation code is unfinished and has already
9 become out of sync the objects it is supposed to represent.
11 The current approach does not seem maintainable, it is better to
12 remove it before someone gets hurt.
14 By removing the code, the binary become 1240976 bytes smaller.
15 Yep, almost 1 Mb, bringing WebCore to the size it has 5 months ago :)
17 * MostWebCoreFiles: remove the support for memory instrumentation.
19 2013-04-22 Bear Travis <betravis@adobe.com>
21 Do not reuse ExclusionShapeInsideInfo in a recursive region layout
22 https://bugs.webkit.org/show_bug.cgi?id=114467
24 Reviewed by David Hyatt.
26 Elements that respect shape-inside that have inline children should not reuse an
27 ExclusionShapeInsideInfo for their children's layout. This patch adds the test
28 for regions. See the details for non-region layout in bug 104582.
29 https://bugs.webkit.org/show_bug.cgi?id=104582
31 Test: fast/regions/shape-inside/shape-inside-recursive-layout.html
33 * rendering/RenderBlockLineLayout.cpp:
34 (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Do not look up a region's
35 ExclusionShapeInsideInfo if a block is already respecting shape-inside.
37 2013-04-22 Martin Robinson <mrobinson@igalia.com>
39 [GTK] Fix remaining introspection warnings
40 https://bugs.webkit.org/show_bug.cgi?id=114980
42 Reviewed by Gustavo Noronha Silva.
44 * bindings/gobject/WebKitDOMCustom.h: Add scope and transfer annotations and flesh
45 out gtkdoc for completeness.
46 * bindings/gobject/WebKitDOMEventTarget.h:
47 (_WebKitDOMEventTargetIface): Ditto and also align virtual method names with those used
48 for the concrete ones.
50 2013-04-22 Tim Horton <timothy_horton@apple.com>
52 PDFPlugin: Support unlocking encrypted PDFs
53 https://bugs.webkit.org/show_bug.cgi?id=114938
54 <rdar://problem/12872888>
56 Reviewed by Alexey Proskuryakov.
58 Export HTMLNames::typeAttr.
62 2013-04-22 Ryosuke Niwa <rniwa@webkit.org>
64 Use-after-free in CompositeEditCommand::cloneParagraphUnderNewElement
65 https://bugs.webkit.org/show_bug.cgi?id=114911
67 Reviewed by Oliver Hunt.
69 Back ported https://src.chromium.org/viewvc/blink?revision=148680&view=revision.
71 * editing/CompositeEditCommand.cpp:
72 (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
74 2013-04-22 Eric Carlson <eric.carlson@apple.com>
76 [Mac] "automatic" track selection should only select a track that matches user language
77 https://bugs.webkit.org/show_bug.cgi?id=114976
79 Reviewed by Jer Noble.
81 Test: media/track/track-automatic-subtitles.html
83 * page/CaptionUserPreferencesMac.mm:
84 (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): When in "automatic" mode, only
85 consider text tracks that match the user's preferred language when the primary audio track
88 2013-04-22 Jer Noble <jer.noble@apple.com>
90 Cancelling load may cause deadlock in -[AVPlayerItem release]
91 https://bugs.webkit.org/show_bug.cgi?id=114962
93 Reviewed by Eric Carlson.
95 Work around a bug in AVAssetResourceLoader by using a generic, non-main dispatch queue
96 to recieve AVAssetResourceLoaderDelegate callbacks, and then marshalling those
97 callbacks to the main thread asynchronously.
99 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
100 (WebCore::globalLoaderDelegateQueue): Added.
101 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Use the new global queue.
102 (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
103 Marshall the request to the main queue, and return YES (wait) immediately.
105 2013-04-22 Zan Dobersek <zdobersek@igalia.com>
107 [GTK] Set up libPlatform.la
108 https://bugs.webkit.org/show_bug.cgi?id=114168
110 Reviewed by Martin Robinson.
112 No new tests - no new functionality.
114 * GNUmakefile.am: Also add the LevelDB-specific cppflags to the platform_cppflags if required as the LevelDB
115 code is now built into the new libPlatform.la library.
116 * GNUmakefile.list.am: Build a small set of non-GTK-specific platform source files that are already free of
117 platform violations into the new libPlatform.la library.
119 2013-04-22 Andy Estes <aestes@apple.com>
121 Range.getClientRects() should not include rects for partially selected elements
122 https://bugs.webkit.org/show_bug.cgi?id=76839
124 Reviewed by Sam Weinig.
126 CSSOM says that Range.getClientRects() should include the border boxes
127 of each element selected by the range. However, we were also
128 incorrectly including border boxes for partially selected elements.
129 For instance, consider the following selection:
131 <div>line one<br>line two</div>
134 The <div> is two lines tall, but only the first line is selected.
135 Despite this, we'd include the <div>'s border box since its start tag
136 was included in the selection.
138 Fix this by excluding partially selected elements. This is accomplished
139 by skipping over elements that come after the start boundary point of
140 the range but are ancestors of the end boundary point.
142 Added test cases to LayoutTests/fast/dom/Range/getClientRects.html.
145 (WebCore::Range::getBorderAndTextQuads):
147 2013-04-22 Yi Shen <max.hong.shen@gmail.com>
149 Crash on OS X when shift clicking outside of input
150 https://bugs.webkit.org/show_bug.cgi?id=104058
152 Reviewed by Chang Shu.
154 Shift clicking outside of a focused div while removing the focused div from
155 the dom tree at the same time may hit a null visible position, which should
156 not be used to calculate the text distance with the new selection's start and
157 end position. Otherwise, the browser may crash.
159 Test: editing/selection/crash-on-shift-click.html
161 * page/EventHandler.cpp:
162 (WebCore::EventHandler::handleMousePressEventSingleClick):
164 2013-04-22 Carlos Garcia Campos <cgarcia@igalia.com>
166 Scrollbar should not depend on EventHandler, Frame and FrameView
167 https://bugs.webkit.org/show_bug.cgi?id=114941
169 Reviewed by Darin Adler.
171 It's a layering violation that Scrollbar uses EventHandler, Frame
172 and FrameView. Frame is used to get the EventHandler that is used
173 to set mousePressed to false after a Scrollbar::mouseUp(). This is
174 not really needed, since EventHandler already sets m_mousePressed
175 to false when calling Scrollbar::mouseUp(). The PopupMenu windows
176 implementation also calls Scrollbar::mouseUp(), but that scrollbar
177 is not inside a FrameView.
179 * platform/Scrollbar.cpp:
180 (WebCore::Scrollbar::isScrollViewScrollbar):
181 isScrollViewScrollbar() is a method of ScrollView so we don't need
182 to cast to FrameView.
183 (WebCore::Scrollbar::mouseUp): Remove EventHandler ussage.
185 2013-04-22 Andreas Kling <akling@apple.com>
187 Shrink baseline size of WTF::Vector on 64-bit by switching to unsigned capacity and size.
188 <http://webkit.org/b/97268>
189 <rdar://problem/12376519>
191 Reviewed by Sam Weinig.
193 * CMakeLists.txt: Add a workaround for GCC 4.6.x in Release mode so it
196 2013-04-22 John Griggs <jgriggs@blackberry.com>
198 [BlackBerry] URL decode data: URLs before passing to the platform media player.
199 https://bugs.webkit.org/show_bug.cgi?id=114887
201 Reviewed by Rob Buis.
203 Pass data URL through URL decoding before passing to platform media player. PR 313635.
205 Reviewed internally by Liam Quinn
207 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
208 (WebCore::MediaPlayerPrivate::load):
210 2013-04-22 Xuefei Ren <xren@blackberry.com>
213 fix build warning(unused parameter)
214 https://bugs.webkit.org/show_bug.cgi?id=114855
216 Reviewed by Rob Buis.
218 remove warning(unused parameter) in
219 Source/WebCore/platform/graphics/blackberry
221 * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
222 (WebCore::CanvasLayerCompositingThreadClient::drawTextures):
223 (WebCore::CanvasLayerCompositingThreadClient::deleteTextures):
224 (WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):
225 * platform/graphics/blackberry/FontBlackBerry.cpp:
226 (WebCore::Font::offsetForPositionForComplexText):
227 * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
228 (WebCore::FontCache::getSimilarFontPlatformData):
229 (WebCore::FontCache::getTraitsInFamily):
230 * platform/graphics/blackberry/GlyphPageTreeNodeBlackBerry.cpp:
231 (WebCore::GlyphPage::fill):
232 * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
233 (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
234 * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
235 (WebCore::GraphicsContext::drawConvexPolygon):
236 (WebCore::GraphicsContext::fillRect):
237 (WebCore::GraphicsContext::fillRoundedRect):
238 (WebCore::GraphicsContext::roundToDevicePixels):
239 (WebCore::GraphicsContext::setPlatformShadow):
240 (WebCore::GraphicsContext::clipConvexPolygon):
241 (WebCore::GraphicsContext::setURLForRect):
242 (WebCore::GraphicsContext::setPlatformStrokeColor):
243 (WebCore::GraphicsContext::setPlatformFillColor):
244 (WebCore::GraphicsContext::setPlatformCompositeOperation):
245 * platform/graphics/blackberry/ImageBlackBerry.cpp:
246 (WebCore::BitmapImage::draw):
247 (WebCore::Image::drawPattern):
248 * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
249 (WebCore::flushAndDraw):
250 (WebCore::ImageBuffer::ImageBuffer):
251 (WebCore::ImageBuffer::copyImage):
252 (WebCore::ImageBuffer::draw):
253 (WebCore::ImageBuffer::platformTransformColorSpace):
254 * platform/graphics/blackberry/LayerTiler.cpp:
255 (WebCore::LayerTiler::drawTile):
256 * platform/graphics/blackberry/PathBlackBerry.cpp:
257 (WebCore::GraphicsContext::drawFocusRing):
258 (WebCore::GraphicsContext::clipPath):
259 * platform/graphics/blackberry/PatternBlackBerry.cpp:
260 (WebCore::Pattern::platformPattern):
262 2013-04-22 Mike Fenton <mifenton@rim.com>
264 [BlackBerry] Add additional datalist support.
265 https://bugs.webkit.org/show_bug.cgi?id=114883
267 Reviewed by Rob Buis.
271 Extend support for datalist to include all non-popup input types.
273 Re-enabling fast/forms/datalist/input-list
275 Internally Reviewed by Otto Cheung.
277 * platform/blackberry/RenderThemeBlackBerry.cpp:
278 (WebCore::RenderThemeBlackBerry::supportsDataListUI):
280 2013-04-22 Alberto Garcia <agarcia@igalia.com>
282 [BlackBerry] Add dummy implementations of DragData::droppedFileSystemId()
283 https://bugs.webkit.org/show_bug.cgi?id=114861
285 Reviewed by Carlos Garcia Campos.
287 * platform/blackberry/DragDataBlackBerry.cpp:
289 (WebCore::DragData::droppedFileSystemId):
291 2013-04-22 Mihai Maerean <mmaerean@adobe.com>
293 [CSS Regions] Elements in a region should be assignable to a named flow
294 https://bugs.webkit.org/show_bug.cgi?id=74144
296 Reviewed by David Hyatt.
298 DOM children of a region must not be rendered as children of the region, but can be collected in flow threads.
300 NodeRenderingContext::parentRenderer now creates the parent render flow thread if it doesn't exist.
302 Element::moveToFlowThreadIsNeeded is a virtual method that is overriden in PseudoElement to return false and
303 in SVGElement so only svg root elements can directly be collected by a render flow thread.
305 RenderObject::canDOMChildrenHaveRenderParent exists to optimize the code so nodes inside regions (and maybe
306 other types of renderers in the future) can still have renderers if they need to be in a flow thread while the
307 rest of renderers that can't have children skip the new instructions.
309 Tests: fast/regions/flow-body-in-html.html . To test the duplicate bug #103685.
310 fast/regions/region-content-flown-into-region.html
311 fast/regions/universal-selector-children-to-the-same-region.html . To test the duplicate bug #103685.
314 (WebCore::Element::moveToFlowThreadIsNeeded):
316 * dom/NodeRenderingContext.cpp:
317 (WebCore::NodeRenderingContext::parentRenderer): the renderer that will be the parent for this node's renderer.
318 In the case of RenderFlowThreads, it may need to create it.
319 (WebCore::NodeRenderingContext::shouldCreateRenderer): In a region, only the children that need to be in a flow
320 thread should have a renderer.
321 (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
322 (WebCore::NodeRenderingContext::moveToFlowThread):
323 * dom/NodeRenderingContext.h:
324 (NodeRenderingContext):
325 * dom/PseudoElement.h: pseudo-elements cannot be directly collected into a named flow.
327 (WebCore::Text::textRendererIsNeeded):
328 (WebCore::Text::updateTextRenderer): Because calling textRendererIsNeeded(NodeRenderingContext(...)) on a
329 non-const l-value NodeRenderingContext cannot be done on a temporary object on the stack.
331 * rendering/FlowThreadController.cpp:
332 (WebCore::FlowThreadController::isContentNodeRegisteredWithAnyNamedFlow):
333 * rendering/FlowThreadController.h:
334 * rendering/RenderObject.h:
335 (WebCore::RenderObject::canDOMChildrenHaveRenderParent): Even if this render object can't have render children,
336 the children in the DOM tree may have a render parent (that is different from this render object).
337 * rendering/RenderRegion.h:
338 * svg/SVGElement.cpp:
339 (WebCore::SVGElement::moveToFlowThreadIsNeeded): Allow only svg root elements to be directly collected by a
343 2013-04-22 Alberto Garcia <agarcia@igalia.com>
345 Gradient: add PlatformGradient definition for BlackBerry
346 https://bugs.webkit.org/show_bug.cgi?id=114727
348 Reviewed by Carlos Garcia Campos.
350 * platform/graphics/Gradient.h:
353 2013-04-22 Andrei Bucur <abucur@adobe.com>
355 Use DOM ordering for list counts
356 https://bugs.webkit.org/show_bug.cgi?id=110352
358 Reviewed by Elliott Sprehn.
360 Currently the list items ordering is made by traversing the render tree. This gives bad results for:
361 - list items flown inside regions because they are not rendered as descendants of their DOM list ancestors.
362 - list items matched to insertion points inside a shadow tree. The insertion point may be a child of a
363 list so the numbering gets broken.
365 To implement correct DOM ordering I've taken into account the fact that pseudo-elements can have display: list-item
366 so they should be included when traversing the DOM tree. I've added helper methods on the NodeTraversal
367 namespace that should allow easily traversing the tree including the pseudo-elements (e.g. firstChildWithPseudo
368 for an element with pseudo-before will return the before PseudoElement). Using these helper methods I've implemented
369 pre-order traversal methods aware of the pseudo-elements.
370 An effect of this change is how the list items inside shadow tree update their counting. With the patch, if there's
371 no <ol> or <ul> element on the ancestor chain of a <li> element to the shadow root, the list node will be considered the
372 first parent of the <li> or the shadow root if there is no ancestor.
373 The RenderListItem class now makes use of this new method of traversal, replacing the one based on the render tree.
374 To simplify the CSS counters implementation, I've changed the traversal functions inside RenderCounter to also make use
375 of this method. The CSS counters and the list items now have the same traversal algorithm.
377 In later patches I'll add tests that should cover the regions and shadow DOM use cases.
378 Tests bug for shadow DOM: https://bugs.webkit.org/show_bug.cgi?id=113193
379 Tests bug for regions: https://bugs.webkit.org/show_bug.cgi?id=103975
381 Tests: no new tests is this patch; added the correct expectations for fast/lists/positioned-count-crash.html
382 and fast/dom/shadow/shadow-and-list-elements.html
385 (WebCore::Node::pseudoAwarePreviousSibling):
387 (WebCore::Node::pseudoAwareNextSibling):
388 (WebCore::Node::pseudoAwareFirstChild):
389 (WebCore::Node::pseudoAwareLastChild):
392 * dom/NodeTraversal.cpp:
394 (WebCore::NodeTraversal::previousIncludingPseudo):
396 (WebCore::NodeTraversal::nextIncludingPseudo):
397 (WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
398 * dom/NodeTraversal.h:
401 (WebCore::ElementTraversal::previousIncludingPseudo):
402 (WebCore::ElementTraversal::nextIncludingPseudo):
403 (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
404 (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
405 * html/HTMLLIElement.cpp:
406 (WebCore::HTMLLIElement::attach):
407 * html/HTMLOListElement.cpp:
408 (WebCore::HTMLOListElement::updateItemValues):
409 (WebCore::HTMLOListElement::recalculateItemCount):
410 * rendering/RenderCounter.cpp:
411 (WebCore::previousInPreOrder):
412 (WebCore::previousSiblingOrParent):
413 (WebCore::parentElement):
414 (WebCore::nextInPreOrder):
415 * rendering/RenderListItem.cpp:
417 (WebCore::enclosingList):
418 (WebCore::RenderListItem::nextListItem):
419 (WebCore::previousListItem):
420 (WebCore::RenderListItem::calcValue):
421 (WebCore::RenderListItem::explicitValueChanged):
422 (WebCore::previousOrNextItem):
423 (WebCore::RenderListItem::updateListMarkerNumbers):
424 * rendering/RenderListItem.h:
427 2013-04-22 Alberto Garcia <agarcia@igalia.com>
429 Fix multiple definition of ImageBuffer::platformLayer() in the BlackBerry port
430 https://bugs.webkit.org/show_bug.cgi?id=114936
432 Reviewed by Carlos Garcia Campos.
434 We already have a definition in ImageBufferBlackBerry.cpp.
436 * platform/graphics/ImageBuffer.cpp:
439 2013-04-21 Carlos Garcia Campos <cgarcia@igalia.com>
441 Division by zero in CSSGradientValue::addStops()
442 https://bugs.webkit.org/show_bug.cgi?id=114807
444 Reviewed by Dean Jackson.
446 The normalization of the color stop positions of a linear gradient
447 doesn't take into account that the first and last position can be
448 the same. In such case the positions are computed dividing by 0.
449 Clamp the positions to 1 without moving the end points in such
450 case to match what other browsers do. This ensures that positions
451 passed to the platform gradient are in the 0-1 range which fixes a
452 crash due to an assert in BlackBerry port running test
453 fast/forms/type-after-focus-rule-shrink-width.html.
455 Test: fast/gradients/css3-color-stop-invalid.html
457 * css/CSSGradientValue.cpp:
458 (WebCore::CSSGradientValue::addStops):
460 2013-04-21 Benjamin Poulain <benjamin@webkit.org>
462 Fix some minor bad use of strings in WebCore
463 https://bugs.webkit.org/show_bug.cgi?id=114907
465 Reviewed by Darin Adler.
467 * editing/Editor.cpp:
468 (WebCore::Editor::selectedText): This was implicitly getting the emptyString()
470 * editing/markup.cpp:
471 (WebCore::StyledMarkupAccumulator::takeResults): ditto.
473 2013-04-21 Dirk Schulze <krit@webkit.org>
475 [Part 4] Parse the custom() function in -webkit-filter: parse the matN() functions
476 https://bugs.webkit.org/show_bug.cgi?id=71444
478 Reviewed by Dean Jackson.
480 Custom filter parameters should support mat2 to mat4 value functions. Added parsing
481 and style resolving bits to support the matrix function values. A later patch will
482 add the matrices to the shader program.
484 https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters
486 Modified existing tests to cover changes.
488 * GNUmakefile.list.am: Added WebKitCSSMatFunctionValue to individual build systems.
490 * WebCore.vcproj/WebCore.vcproj:
491 * WebCore.vcxproj/WebCore.vcxproj:
492 * WebCore.vcxproj/WebCore.vcxproj.filters:
493 * WebCore.xcodeproj/project.pbxproj:
494 * css/CSSComputedStyleDeclaration.cpp:
495 (WebCore::valueForCustomFilterMatParameter):
497 (WebCore::valueForCustomFilterParameter):
499 (WebCore::CSSParser::parseTransform):
500 (WebCore::CSSParser::parseMatValue):
502 (WebCore::CSSParser::parseCustomFilterParameters):
506 (WebCore::CSSValue::reportMemoryUsage):
507 (WebCore::CSSValue::equals):
508 (WebCore::CSSValue::cssText):
509 (WebCore::CSSValue::destroy):
510 (WebCore::CSSValue::cloneForCSSOM):
512 (WebCore::CSSValue::isWebKitCSSMatFunctionValue):
513 * css/StyleResolver.cpp:
514 (WebCore::StyleResolver::parseCustomFilterArrayParameter):
515 (WebCore::StyleResolver::parseCustomFilterParameter):
516 * css/StyleResolver.h:
518 * css/WebKitCSSMatFunctionValue.cpp:
519 (WebCore::WebKitCSSMatFunctionValue::WebKitCSSMatFunctionValue):
520 (WebCore::WebKitCSSMatFunctionValue::customCssText):
521 (WebCore::WebKitCSSMatFunctionValue::cloneForCSSOM):
522 (WebCore::WebKitCSSMatFunctionValue::equals):
523 (WebCore::WebKitCSSMatFunctionValue::reportDescendantMemoryUsage):
524 * css/WebKitCSSMatFunctionValue.h:
525 (WebKitCSSMatFunctionValue):
526 (WebCore::WebKitCSSMatFunctionValue::create):
527 * platform/graphics/filters/CustomFilterArrayParameter.h:
528 (WebCore::CustomFilterArrayParameter::create):
529 (WebCore::CustomFilterArrayParameter::CustomFilterArrayParameter):
530 * platform/graphics/filters/CustomFilterParameter.h:
531 (CustomFilterParameter):
532 * platform/graphics/filters/CustomFilterRenderer.cpp:
533 (WebCore::CustomFilterRenderer::bindProgramParameters):
535 2013-04-12 Balazs Kelemen <kbalazs@webkit.org>
537 [GStreamer] Media attribute preload="none" is not honored
538 https://bugs.webkit.org/show_bug.cgi?id=114357
540 Reviewed by Philippe Normand.
542 Fix the logic that prevents live streams from being buffered to not make preload="none" ignored.
544 Test: http/tests/media/video-preload.html
545 We need a http test because the bug does not triggered with local files.
547 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
548 (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
549 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
550 (MediaPlayerPrivateGStreamer):
551 Remove m_originalPreloadWasAutoAndWasOverridden because it is not necessary and it is causing this bug.
552 Currently if the tag has preload="none" attribute we set m_preload to Auto in the constructor. After that
553 MedaPlayer calls setPreload(None), so we set m_originalPreloadWasAutoAndWasOverridden to true and later
554 reset m_preload to Auto. The error prone factor here is that the m_preload member is repeated in the
555 private class and setPreload is also used there. This seems to be necessary because we need to be able
556 to ignore preloading if this is a live stream. Fortunately the original parsed value is available in the
557 constructor, so we can use that. This will give the correct value that we should override only in the case
558 of a live stream and that's it, we don't need to reset it later to Auto.
559 Furthermore, we should ignore setting preload to auto from js if it is a live stream. This patch also handles
560 this with an early return in setPreload.
562 2013-04-21 Carlos Garcia Campos <cgarcia@igalia.com>
564 Widget should not depend on AXObjectCache
565 https://bugs.webkit.org/show_bug.cgi?id=114514
567 Reviewed by Chris Fleizach.
569 Move AXObjectCache usage from platform files to FrameView.
571 * WebCore.exp.in: Update symbols.
572 * page/FrameView.cpp:
573 (WebCore::FrameView::didAddScrollbar): Handle scrollbar updates in
575 (WebCore::FrameView::willRemoveScrollbar): Handle scrollbar
576 updates in AXObjectCache and remove the scrollbar from the cache.
578 * platform/ScrollView.cpp:
579 (WebCore::ScrollView::setHasHorizontalScrollbar): Use
580 didAddScrollbar/willRemoveScrollbar
581 (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
582 * platform/ScrollableArea.cpp:
583 (WebCore::ScrollableArea::didAddScrollbar): This is the old
584 didAddVerticalScrollbar and didAddHorizontalScrollbar joined in a
585 single method that receives a ScrollbarOrientation parameter.
586 (WebCore::ScrollableArea::willRemoveScrollbar): This is the old
587 willRemoveVerticalScrollbar and
588 willRemoveHorizontalScrollbarScrollbar joined in a single method
589 that receives a ScrollbarOrientation parameter.
590 * platform/ScrollableArea.h:
592 * platform/Scrollbar.cpp:
593 (WebCore::Scrollbar::~Scrollbar): Remove AXObjectCache usage.
594 * platform/Scrollbar.h:
596 (Widget): Remove axObjectCache() method.
597 * platform/mac/ScrollAnimatorMac.h:
599 * rendering/RenderLayer.cpp:
600 (WebCore::RenderLayer::createScrollbar): Use didAddScrollbar.
601 (WebCore::RenderLayer::destroyScrollbar): Use willRemoveScrollbar.
602 * rendering/RenderListBox.cpp:
603 (WebCore::RenderListBox::createScrollbar): Use didAddScrollbar.
604 (WebCore::RenderListBox::destroyScrollbar): Use willRemoveScrollbar.
606 2013-04-20 Dirk Schulze <krit@webkit.org>
608 [Part 5] Parse color value for custom() function parameters
609 https://bugs.webkit.org/show_bug.cgi?id=114902
611 Reviewed by Dean Jackson.
613 Custom filter parameters should support color values. Added parsing
614 and style resolving bits to support color values. A later patch will
615 add the color values to the shader program.
617 https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters
619 Modified existing tests to cover changes.
621 * GNUmakefile.list.am: Added CustomFilterColorParameter to support color values
622 as custom filter parameters.
624 * WebCore.vcproj/WebCore.vcproj:
625 * WebCore.vcxproj/WebCore.vcxproj:
626 * WebCore.vcxproj/WebCore.vcxproj.filters:
627 * WebCore.xcodeproj/project.pbxproj:
628 * css/CSSComputedStyleDeclaration.cpp:
629 (WebCore::valueForCustomFilterColorParameter):
631 (WebCore::valueForCustomFilterParameter):
633 (WebCore::CSSParser::parseCustomFilterParameters):
634 * css/StyleResolver.cpp:
635 (WebCore::StyleResolver::parseCustomFilterColorParameter):
637 (WebCore::StyleResolver::parseCustomFilterParameter):
638 * css/StyleResolver.h:
640 * platform/graphics/filters/CustomFilterColorParameter.h: Added.
642 (WebCore::blendFunc):
643 (CustomFilterColorParameter):
644 (WebCore::CustomFilterColorParameter::create):
645 (WebCore::CustomFilterColorParameter::blend):
646 (WebCore::CustomFilterColorParameter::color):
647 (WebCore::CustomFilterColorParameter::setColor):
648 (WebCore::CustomFilterColorParameter::operator==):
649 (WebCore::CustomFilterColorParameter::CustomFilterColorParameter):
650 (WebCore::CustomFilterColorParameter::~CustomFilterColorParameter):
651 * platform/graphics/filters/CustomFilterParameter.h:
652 (CustomFilterParameter):
653 * platform/graphics/filters/CustomFilterRenderer.cpp:
654 (WebCore::CustomFilterRenderer::bindProgramParameters):
656 2013-04-20 Glenn Adams <glenn@skynav.com>
658 REGRESSION (r147588): Line breaks occur in the middle of Hebrew words at haaertz.co.il and other websites
659 https://bugs.webkit.org/show_bug.cgi?id=114721
661 Reviewed by Dean Jackson.
663 Tests: fast/text/line-break-after-empty-inline-hebrew.html
664 fast/text/line-break-after-inline-latin1.html
666 If prior context changes content or length after creating line break iterator, then need to
667 create new iterator with new prior context instead of using cached iterator with old prior context.
669 * platform/text/TextBreakIterator.h:
670 (WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Initialize members to cache reference to initialized prior context.
671 (WebCore::LazyLineBreakIterator::get): Create new iterator if prior context content reference changes.
672 (WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator): Reset cached prior context references.
673 (LazyLineBreakIterator): Add members to cache reference to initialized prior context.
675 2013-04-19 Ryuan Choi <ryuan.choi@samsung.com>
677 [EFL] Arrow of combo box are drawn twice
678 https://bugs.webkit.org/show_bug.cgi?id=113917
680 Reviewed by Gyuyoung Kim.
682 combo_button_icon part is for arrow so that images of combo_button part should
685 No new tests required due to no behavioral change.
687 * platform/efl/DefaultTheme/widget/combo/combo_focus_button.png:
688 * platform/efl/DefaultTheme/widget/combo/combo_hover_button.png:
689 * platform/efl/DefaultTheme/widget/combo/combo_press_button.png:
691 2013-04-19 Brendan Long <b.long@cablelabs.com>
693 Add interfaces and stubs for audio and video tracks
694 https://bugs.webkit.org/show_bug.cgi?id=113965
696 Reviewed by Jer Noble.
698 No new tests because there's no implementations, so there's nothing
701 * CMakeLists.txt: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
702 * DerivedSources.cpp: Same.
703 * DerivedSources.make: Same.
704 * DerivedSources.pri: Same.
705 * GNUmakefile.list.am: Same.
707 * UseJSC.cmake: Same.
708 * WebCore.vcproj/WebCore.vcproj: Same.
709 * WebCore.xcodeproj/project.pbxproj: Same.
710 * bindings/gobject/GNUmakefile.am: Same.
711 * bindings/js/JSAudioTrackCustom.cpp: Added, based on JSTestTrackCustom
712 * bindings/js/JSAudioTrackListCustom.cpp: Same.
713 * bindings/js/JSBindingsAllInOne.cpp: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
714 * bindings/js/JSVideoTrackCustom.cpp: Added, based on JSTestTrackCustom
715 * bindings/js/JSVideoTrackListCustom.cpp: Same.
716 * dom/EventTarget.h: Make AudioTrackList and VideoTrackList event targets.
717 * dom/EventTargetFactory.in: Same.
718 * html/HTMLMediaElement.cpp:
719 (WebCore::HTMLMediaElement::HTMLMediaElement): Add m_audioTracks and m_videoTracks
720 (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear clients for audio and video tracks
721 (WebCore::HTMLMediaElement::audioTrackEnabledChanged): Added.
722 (WebCore::HTMLMediaElement::videoTrackSelectedChanged): Added.
723 (WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
724 (WebCore::HTMLMediaElement::mediaPlayerDidAddVideoTrack): Same.
725 (WebCore::HTMLMediaElement::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
726 (WebCore::HTMLMediaElement::mediaPlayerDidRemoveVideoTrack): Same.
727 (WebCore::HTMLMediaElement::addAudioTrack): Added, based on addTextTrack
728 (WebCore::HTMLMediaElement::addVideoTrack): Same.
729 (WebCore::HTMLMediaElement::removeAudioTrack): Added, based on removeTextTrack
730 (WebCore::HTMLMediaElement::removeVideoTrack): Added, based on removeTextTrack
731 (WebCore::HTMLMediaElement::removeAllInbandTracks): Remove audio and video tracks too
732 (WebCore::HTMLMediaElement::audioTracks): Added, based on textTracks
733 (WebCore::HTMLMediaElement::videoTracks): Added, based on textTracks
734 (WebCore::HTMLMediaElement::reportMemoryUsage): Add audio and video tracks
735 * html/HTMLMediaElement.h: Add audioTracks and videoTracks and related functions
736 * html/HTMLMediaElement.idl: Add audioTracks and videoTracks
737 * html/track/AudioTrack.cpp: Added, based on TextTrack and InbandTextTrack.
738 * html/track/AudioTrack.h: Same.
739 * html/track/AudioTrack.idl: Added.
740 * html/track/AudioTrackList.cpp: Added, based on TextTrackList
741 * html/track/AudioTrackList.h: Same.
742 * html/track/AudioTrackList.idl: Added.
743 * html/track/TextTrackList.h: Add missing OVERRIDE on interfaceName()
744 * html/track/VideoTrack.cpp: Added, based on TextTrack and InbandTextTrack.
745 * html/track/VideoTrack.h: Same.
746 * html/track/VideoTrack.idl: Added.
747 * html/track/VideoTrackList.cpp: Added, based on TextTrackList
748 * html/track/VideoTrackList.h: Same.
749 * html/track/VideoTrackList.idl: Added.
750 * platform/graphics/AudioTrackPrivate.h: Added, based on InbandTextTrackPrivate.h
751 * platform/graphics/MediaPlayer.cpp:
752 (WebCore::MediaPlayer::addAudioTrack): Added, based on addTextTrack
753 (WebCore::MediaPlayer::removeAudioTrack): Added, based on removeTextTrack
754 (WebCore::MediaPlayer::addVideoTrack): Added, based on addTextTrack
755 (WebCore::MediaPlayer::removeVideoTrack): Added, based on removeTextTrack
756 * platform/graphics/MediaPlayer.h:
757 (WebCore::MediaPlayerClient::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
758 (WebCore::MediaPlayerClient::mediaPlayerDidAddVideoTrack): Same
759 (WebCore::MediaPlayerClient::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
760 (WebCore::MediaPlayerClient::mediaPlayerDidRemoveVideoTrack): Same
761 * platform/graphics/VideoTrackPrivate.h: Added, based on InbandTextTrackPrivate.h
763 2013-04-19 Bear Travis <betravis@adobe.com>
765 [CSS Exclusions] Implement empty segments for multiple-segment shape-insides
766 https://bugs.webkit.org/show_bug.cgi?id=100049
768 Reviewed by David Hyatt.
770 Content should not overflow a shape-inside segment, even if that means no content
771 will be placed in that segment. Overflow may be pushed to outside the shape. This
772 patch removes the restriction that every line must consume at least some text
773 input while inside a shape-inside. Content that does not fit is pushed down until
774 it does, either inside the shape or just below it.
776 Test: fast/exclusions/shape-inside/shape-inside-empty-segments.html
778 * rendering/RenderBlockLineLayout.cpp:
779 (WebCore::constructBidiRunsForSegment): Do not include empty segments for
780 consideration, as the actual BidiRuns construction expects to consume at
782 (WebCore::constructBidiRunsForLine): Ditto.
783 (WebCore::firstPositiveWidth): Find the first positive word measurement width,
784 as there may be some empty word break measurements inserted.
785 (WebCore::adjustLogicalLineTop): Move the current line down, if necessary, to
786 fit it within the shape inside.
787 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): If nothing fit in the
788 current segment, find the first available position for the smallest item
789 at the beginning of the text.
790 (WebCore::RenderBlock::LineBreaker::nextLineBreak): Return an empty segment
791 for a line that is inside the shape, but has no segments.
792 (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Do not consume
793 input to meet minimum size requirements if you are inside a shape.
795 2013-04-19 Ryosuke Niwa <rniwa@webkit.org>
797 Add a missing null pointer check after r148759.
799 * rendering/RenderObject.cpp:
800 (WebCore::RenderObject::containingBlock):
802 2013-04-19 Benjamin Poulain <benjamin@webkit.org>
804 Use Vector instead of StringBuilder for CSSPreloadScanner's buffers
805 https://bugs.webkit.org/show_bug.cgi?id=114794
807 Reviewed by Ryosuke Niwa.
809 Cleanup for other String changes.
811 CSSPreloadScanner only handles UChar, StringBuilder was a little
814 * html/parser/CSSPreloadScanner.cpp:
816 (WebCore::ruleEqualIgnoringCase):
817 (WebCore::CSSPreloadScanner::emitRule):
818 * html/parser/CSSPreloadScanner.h:
820 2013-04-19 Benjamin Poulain <benjamin@webkit.org>
822 StyledMarkupAccumulator::appendText() should not allocate an intermediary StringBuilder
823 https://bugs.webkit.org/show_bug.cgi?id=114847
825 Reviewed by Geoffrey Garen.
827 For some reason StyledMarkupAccumulator::appendText() was allocating a separate buffer
828 for invoking appendStyleNodeOpenTag. This is a bad idea.
830 * editing/markup.cpp:
831 (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
832 (WebCore::StyledMarkupAccumulator::appendText):
834 2013-04-19 Joseph Pecoraro <pecoraro@apple.com>
836 Web Inspector: Support the SourceMap header, X-SourceMap was deprecated
837 https://bugs.webkit.org/show_bug.cgi?id=114888
839 Check first for SourceMap, then fallback to X-SourceMap. Leaving in
840 support for the deprecated header because most tools and articles
841 online mention that version and have not yet updated.
843 Reviewed by Timothy Hatcher.
845 * inspector/InspectorDebuggerAgent.cpp:
846 (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
847 * inspector/InspectorPageAgent.cpp:
848 (WebCore::InspectorPageAgent::sourceMapURLForResource):
850 2013-04-19 Joseph Pecoraro <pecoraro@apple.com>
852 Web Inspector: Backend should detect sourceMappingURLs in CSS Resources
853 https://bugs.webkit.org/show_bug.cgi?id=114854
855 Reviewed by Timothy Hatcher.
857 Test: http/tests/inspector/network/css-source-mapping-url.html
859 * inspector/Inspector.json:
860 - Page.getResourceTree - add sourceMapURL to resource payloads
861 - Network.loadingFinished and Network.requestServedFromMemoryCache,
862 include the sourceMapURL in the results.
864 * inspector/ContentSearchUtils.h:
865 * inspector/ContentSearchUtils.cpp:
866 (WebCore::ContentSearchUtils::scriptCommentPattern):
867 (WebCore::ContentSearchUtils::stylesheetCommentPattern):
868 (WebCore::ContentSearchUtils::findMagicComment):
869 (WebCore::ContentSearchUtils::findScriptSourceURL):
870 (WebCore::ContentSearchUtils::findScriptSourceMapURL):
871 (WebCore::ContentSearchUtils::findStylesheetSourceMapURL):
872 Separate Script and Stylesheet regex pattern creation, but
873 share the search function using the pattern.
875 * inspector/InspectorDebuggerAgent.cpp:
876 (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
877 (WebCore::InspectorDebuggerAgent::didParseSource):
878 Update function names. Check for the SourceMap header before
879 checking for a sourceMappingURL comment.
881 * inspector/InspectorPageAgent.h:
882 * inspector/InspectorPageAgent.cpp:
883 (WebCore::InspectorPageAgent::sourceMapURLForResource):
884 (WebCore::InspectorPageAgent::buildObjectForFrameTree):
885 Provide the sourceMapURL for Page.getResourceTree.
887 * inspector/InspectorResourceAgent.cpp:
888 (WebCore::buildObjectForCachedResource):
889 (WebCore::InspectorResourceAgent::didFinishLoading):
890 (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
891 Include sourceMapURLs in finish loading and request served from cache.
893 2013-04-19 Shawn Singh <shawnsingh@chromium.org>
895 Remove non-overlap testing code in RenderLayerCompositor
896 https://bugs.webkit.org/show_bug.cgi?id=85521
898 Reviewed by Simon Fraser.
900 m_compositingConsultsOverlap is always true in the current
901 code. This patch removes this flag, and removes dead code that is
902 never executed because it was never false.
904 No new tests, no change in behavior. The cleanup is covered by
907 * rendering/RenderLayer.cpp:
908 (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
909 removed if-statement that is always true.
911 * rendering/RenderLayerBacking.cpp:
912 (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
913 removed if-statement that would never get triggered.
915 * rendering/RenderLayerCompositor.cpp:
916 (WebCore::RenderLayerCompositor::RenderLayerCompositor):
917 (WebCore::RenderLayerCompositor::updateCompositingLayers):
918 removed m_compositingConsultsOverlap, and retained the code as if the flag were "true".
920 * rendering/RenderLayerCompositor.h:
921 (RenderLayerCompositor):
923 2013-04-19 Roger Fong <roger_fong@apple.com>
925 Unreviewed. WebKit_Source is incorrectly set.
927 * WebCore.vcxproj/WebCore.make:
929 2013-04-18 Ryosuke Niwa <rniwa@webkit.org>
931 Make loops in RenderObject::containingBlock homogeneous in their forms to simplify
932 https://bugs.webkit.org/show_bug.cgi?id=114853
934 Reviewed by David Hyatt.
936 This patch prepares us to avoid computing containing blocks during a depth-first traversal of the render tree.
938 Extracted inline functions out of RenderBlock::containingBlock to make the code simpler. Also moved the code
939 to obtain the nearest containing block out of the loop for a relatively positioned inline.
941 * rendering/RenderObject.cpp:
942 (WebCore::isNonReplacedInlineInFlowPosition): Extracted.
943 (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): Extracted.
944 (WebCore::isNonRenderBlockInline): Extracted.
945 (WebCore::RenderObject::containingBlock): Refactored as stated above.
947 2013-04-19 Tim Horton <timothy_horton@apple.com>
949 WebKit should not decode or support PDF favicons
950 https://bugs.webkit.org/show_bug.cgi?id=114650
951 <rdar://problem/10133914>
953 Reviewed by Dan Bernstein.
955 Drop the image data on the floor if it begins with the PDF magic number.
956 No other browser I can find on OS X supports PDF favicons (by experimentation),
957 and we do not properly display them.
959 * loader/icon/IconLoader.cpp:
960 (WebCore::IconLoader::notifyFinished):
962 2013-04-19 Martin Robinson <mrobinson@igalia.com>
964 Remove the OpenVG backend
965 https://bugs.webkit.org/show_bug.cgi?id=114881
967 Reviewed by Tim Horton.
969 * platform/graphics/FloatRect.h:
970 (FloatRect): Remove #ifdefs for OpenVG backend.
971 * platform/graphics/GraphicsContext.cpp:
973 * platform/graphics/GraphicsContext.h:
974 * platform/graphics/NativeImagePtr.h:
976 * platform/graphics/Path.cpp:
978 * platform/graphics/Path.h:
979 * platform/graphics/openvg/EGLDisplayOpenVG.cpp: Removed.
980 * platform/graphics/openvg/EGLDisplayOpenVG.h: Removed.
981 * platform/graphics/openvg/EGLUtils.h: Removed.
982 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: Removed.
983 * platform/graphics/openvg/ImageOpenVG.cpp: Removed.
984 * platform/graphics/openvg/PainterOpenVG.cpp: Removed.
985 * platform/graphics/openvg/PainterOpenVG.h: Removed.
986 * platform/graphics/openvg/PathOpenVG.cpp: Removed.
987 * platform/graphics/openvg/PlatformPathOpenVG.h: Removed.
988 * platform/graphics/openvg/SharedResourceOpenVG.cpp: Removed.
989 * platform/graphics/openvg/SharedResourceOpenVG.h: Removed.
990 * platform/graphics/openvg/SurfaceOpenVG.cpp: Removed.
991 * platform/graphics/openvg/SurfaceOpenVG.h: Removed.
992 * platform/graphics/openvg/TiledImageOpenVG.cpp: Removed.
993 * platform/graphics/openvg/TiledImageOpenVG.h: Removed.
994 * platform/graphics/openvg/VGUtils.cpp: Removed.
995 * platform/graphics/openvg/VGUtils.h: Removed.
996 * platform/graphics/transforms/AffineTransform.h:
997 (AffineTransform): Ditto.
998 * platform/graphics/transforms/TransformationMatrix.h:
999 (TransformationMatrix): Ditto.
1000 * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Removed.
1002 2013-04-19 Andrei Bucur <abucur@adobe.com>
1004 ContainerNode::removeChildren should first detach the children then remove them
1005 https://bugs.webkit.org/show_bug.cgi?id=113433
1007 Reviewed by Ryosuke Niwa.
1009 Currently, ContainerNode::removeChildren initially removes the nodes from the DOM tree and then
1010 calls detach() on each of them. This is anti-intuitive and can lead to subtle bugs because the
1011 detached renderers are not backed by a valid DOM tree any more. With the patch, the nodes are first
1012 detached and then removed from the DOM.
1013 The patch also lets the tree in a consistent state after each node removal by clearing the previous
1014 sibling pointer of the node following the one removed.
1015 I haven't found any proof the performance will get worse if the detachment happens when the children
1016 are still in the DOM tree.
1018 Tests: No changed visible functionality.
1020 * dom/ContainerNode.cpp:
1021 (WebCore::ContainerNode::removeChildren):
1023 2013-04-19 Dirk Schulze <krit@webkit.org>
1025 Refactor transform code in StyleResolver
1026 https://bugs.webkit.org/show_bug.cgi?id=114874
1028 Reviewed by Andreas Kling.
1030 Move transform code frome StyleResolver into own files.
1032 Refactoring, no changes in functionality.
1035 * GNUmakefile.list.am:
1037 * WebCore.vcproj/WebCore.vcproj:
1038 * WebCore.vcxproj/WebCore.vcxproj:
1039 * WebCore.vcxproj/WebCore.vcxproj.filters:
1040 * WebCore.xcodeproj/project.pbxproj:
1041 * css/StyleResolver.cpp:
1042 (WebCore::StyleResolver::applyProperty):
1043 (WebCore::StyleResolver::parseCustomFilterTransformParameter):
1044 * css/StyleResolver.h:
1045 * css/TransformFunctions.cpp: Added.
1047 (WebCore::transformOperationType):
1048 (WebCore::convertToFloatLength):
1049 (WebCore::transformsForValue):
1050 * css/TransformFunctions.h: Added.
1052 * css/WebKitCSSMatrix.cpp:
1053 (WebCore::WebKitCSSMatrix::setMatrixValue):
1055 2013-04-19 Erik Arvidsson <arv@chromium.org>
1057 Rename TextTrackList owner to element for consistency
1058 https://bugs.webkit.org/show_bug.cgi?id=79822
1060 Reviewed by Eric Carlson.
1062 No new tests. Covered by existing tests.
1064 * bindings/js/JSTextTrackListCustom.cpp:
1065 (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
1066 (WebCore::JSTextTrackList::visitChildren):
1067 * html/HTMLMediaElement.cpp:
1068 (WebCore::HTMLMediaElement::~HTMLMediaElement):
1069 * html/track/TextTrackList.cpp:
1070 (TextTrackList::append):
1071 (TextTrackList::remove):
1072 * html/track/TextTrackList.h:
1073 (WebCore::TextTrackList::create):
1074 * html/track/TrackListBase.cpp:
1075 (TrackListBase::TrackListBase):
1076 (TrackListBase::remove):
1077 * html/track/TrackListBase.h:
1078 (WebCore::TrackListBase::clearElement):
1079 (WebCore::TrackListBase::element):
1082 2013-04-19 Andreas Kling <akling@apple.com>
1084 [Mac] ComplexTextController is slow with large numbers of text runs.
1085 <http://webkit.org/b/114875>
1086 <rdar://problem/13337036>
1088 Reviewed by Dan Bernstein.
1090 Instead of iterating over the text runs in indexOfCurrentRun() to figure out the leftmost glyph,
1091 create a lookup table of [run# -> distance in glyphs] at ComplexTextController construction time.
1093 This avoids O(n^2) behavior in indexOfCurrentRun().
1095 * platform/graphics/mac/ComplexTextController.cpp:
1096 (WebCore::ComplexTextController::ComplexTextController):
1097 (WebCore::ComplexTextController::indexOfCurrentRun):
1098 * platform/graphics/mac/ComplexTextController.h:
1099 (ComplexTextController):
1101 2013-04-19 Mario Sanchez Prada <mario.prada@samsung.com>
1103 [GTK] Minimize calls to GailTextUtil in AtkText implementation
1104 https://bugs.webkit.org/show_bug.cgi?id=114868
1106 Reviewed by Martin Robinson.
1108 Create a new helper function to concentrate inside of it the calls to
1109 gail_text_util_get_text(), so we can get rid of it later more easily.
1111 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1112 (webkitAccessibleTextGetTextForOffset): New helper function.
1113 (webkitAccessibleTextGetTextAfterOffset): Rely on the new function.
1114 (webkitAccessibleTextGetTextAtOffset): Ditto.
1115 (webkitAccessibleTextGetTextBeforeOffset): Ditto.
1117 2013-04-19 Noam Rosenthal <noam@webkit.org>
1119 [Texmap] Implementation for pattern compositing
1120 https://bugs.webkit.org/show_bug.cgi?id=109588
1122 Reviewed by Allan Sandfeld Jensen.
1124 Enable pattern compositing (background images) for CoordinatedGraphics/TextureMapperGL.
1125 Use the existing patternTransform shader uniform, multiplying it by a matrix calculated
1126 using the contentsRect, tileSize and tilePhase.
1128 Covered by existing tests in compositing/patterns.
1130 * platform/graphics/GraphicsLayer.h:
1132 Conditionally enable pattern compositing for coordinated graphics.
1134 * platform/graphics/texmap/TextureMapper.cpp:
1135 (WebCore::TextureMapper::TextureMapper):
1136 * platform/graphics/texmap/TextureMapper.h:
1137 (WebCore::TextureMapper::setPatternTransform):
1138 (WebCore::TextureMapper::setWrapMode):
1139 (WebCore::TextureMapper::wrapMode):
1140 (WebCore::TextureMapper::patternTransform):
1141 Add wrapMode and patternTransform properties to the TextureMapper state.
1143 * platform/graphics/texmap/TextureMapperGL.cpp:
1144 (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
1145 Paint with GL_REPEAT and a pattern transform when needed.
1147 * platform/graphics/texmap/TextureMapperLayer.cpp:
1148 (WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
1150 (WebCore::TextureMapperLayer::paintSelf):
1151 (WebCore::TextureMapperLayer::setContentsRect):
1152 (WebCore::TextureMapperLayer::setContentsTileSize):
1153 (WebCore::TextureMapperLayer::setContentsTilePhase):
1154 Apply the patternTransform from the tile size/phase.
1156 * platform/graphics/texmap/TextureMapperLayer.h:
1157 (WebCore::TextureMapperLayer::TextureMapperLayer):
1158 (TextureMapperLayer):
1159 (WebCore::TextureMapperLayer::setShouldMapBackingStoreToContentsRect):
1161 (WebCore::TextureMapperLayer::State::State):
1162 Allow the client to configure whether a layer uses its bounds or its
1163 contents rect to paint the backing store.
1164 This is needed now since layers with background images, unlike layers
1165 with regular images, may have bounds that are greater than the contents
1168 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1169 (WebCore::CoordinatedGraphicsLayer::setContentsTileSize):
1171 (WebCore::CoordinatedGraphicsLayer::setContentsTilePhase):
1172 (WebCore::CoordinatedGraphicsLayer::setShouldSupportContentsTiling):
1173 (WebCore::GraphicsLayer::supportsContentsTiling):
1174 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1175 (CoordinatedGraphicsLayer):
1176 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1177 (WebCore::CoordinatedGraphicsScene::setLayerState):
1178 (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
1179 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
1180 (CoordinatedGraphicsLayerState):
1181 Logic to pass the tileSize/tilePhase from CoordinatedGraphicsLayer
1182 to TextureMapperLayer.
1184 * rendering/RenderLayerBacking.cpp:
1185 (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
1186 Don't reset the layer's image contents when this is a directly composited image.
1188 2013-04-19 ChangSeok Oh <changseok.oh@collabora.com>
1190 [GTK][AC] Manage actor's children by using clutter's own way.
1191 https://bugs.webkit.org/show_bug.cgi?id=114257
1193 Reviewed by Gustavo Noronha Silva.
1195 I believe we don't need to maintain a children list of GList. We can do it
1196 by using clutter APIs like clutter_actor_get_children, clutter_actor_get_first_child, etc.
1198 No new tests since no functionality changed.
1200 * platform/graphics/clutter/GraphicsLayerActor.cpp:
1201 (graphics_layer_actor_init):
1202 (graphicsLayerActorAllocate):
1203 (graphicsLayerActorPaint):
1204 (graphicsLayerActorRemoveAll):
1205 (graphicsLayerActorGetnChildren):
1206 (graphicsLayerActorReplaceSublayer):
1207 (graphicsLayerActorInsertSublayer):
1208 * platform/graphics/clutter/GraphicsLayerActor.h:
1209 (_GraphicsLayerActor):
1211 2013-04-19 ChangSeok Oh <changseok.oh@collabora.com>
1213 [GTK][AC] Support masksToBounds for clutter AC backend.
1214 https://bugs.webkit.org/show_bug.cgi?id=114113
1216 Reviewed by Gustavo Noronha Silva.
1218 We can support the masksToBounds property by using clutter_actor_set_clip simply.
1220 Covered by existing AC tests.
1222 * platform/graphics/clutter/GraphicsLayerActor.cpp:
1223 (graphicsLayerActorSetMasksToBounds):
1224 * platform/graphics/clutter/GraphicsLayerActor.h:
1225 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1226 (WebCore::GraphicsLayerClutter::setMasksToBounds):
1228 (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
1229 (WebCore::GraphicsLayerClutter::setupContentsLayer):
1230 (WebCore::GraphicsLayerClutter::updateMasksToBounds):
1231 * platform/graphics/clutter/GraphicsLayerClutter.h:
1232 (GraphicsLayerClutter):
1234 2013-04-19 Dan Beam <dbeam@chromium.org>
1236 Remove unmaintained feature REQUEST_AUTOCOMPLETE
1237 https://bugs.webkit.org/show_bug.cgi?id=114846
1239 Reviewed by Kent Tamura.
1241 * GNUmakefile.list.am: Remove AutocompleteErrorEvent.h include.
1242 * bindings/generic/RuntimeEnabledFeatures.cpp:
1243 (WebCore): Remove requestAutocomplete() runtime feature.
1244 * bindings/generic/RuntimeEnabledFeatures.h:
1245 (RuntimeEnabledFeatures): Remove requestAutocomplete() runtime feature.
1246 * dom/AutocompleteErrorEvent.h: Removed.
1247 * dom/AutocompleteErrorEvent.idl: Removed.
1248 * dom/EventNames.h: Remove `autocomplete` and `autocompleteerror` event names.
1250 * dom/EventNames.in: Remove `autocomplete` and `autocompleteerror` event names.
1251 * html/HTMLAttributeNames.in: Remove `onautocomplete` and `onautocompleteerror` form attributes.
1252 * html/HTMLFormElement.cpp: Remove requestAutocomplete() related code.
1253 (WebCore::HTMLFormElement::HTMLFormElement): Remove timer and event queue for requestAutocomplete() related events.
1254 (WebCore::HTMLFormElement::parseAttribute): Remove parsing of `onautocomplete` and `onautocompleterror`.
1255 * html/HTMLFormElement.h: Remove requestAutocomplete() related members.
1257 * html/HTMLFormElement.idl: Remove public requestAutocomplete() API method.
1258 * loader/EmptyClients.cpp: Remove stub implementation.
1260 * loader/EmptyClients.h: Remove stub interface.
1261 (EmptyFrameLoaderClient):
1262 * loader/FrameLoaderClient.h: Remove didRequestAutocomplete() from interface.
1263 (FrameLoaderClient):
1264 * page/DOMWindow.idl: Remove `AutocompleteErrorEvent` from window DOM interface.
1266 2013-04-18 Timothy Hatcher <timothy@apple.com>
1268 Add CSS.setStyleText to the Web Inspector protocol.
1270 This provides a direct path for the Safari Web Inspector to live edit whole style rules.
1272 https://webkit.org/b/109340
1273 rdar://problem/13337211
1275 Reviewed by Joseph Pecoraro.
1277 * inspector/Inspector.json:
1278 (CSS.setStyleText): Added.
1279 * inspector/InspectorCSSAgent.cpp:
1280 (InspectorCSSAgent::SetStyleTextAction):
1281 (WebCore::InspectorCSSAgent::SetStyleTextAction::SetStyleTextAction): Added.
1282 (WebCore::InspectorCSSAgent::SetStyleTextAction::perform): Added.
1283 (WebCore::InspectorCSSAgent::SetStyleTextAction::undo): Added.
1284 (WebCore::InspectorCSSAgent::SetStyleTextAction::redo): Added.
1285 (WebCore::InspectorCSSAgent::SetStyleTextAction::mergeId): Added.
1286 (WebCore::InspectorCSSAgent::SetStyleTextAction::merge): Added.
1287 (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
1288 (WebCore::InspectorCSSAgent::setStyleText): Added.
1289 * inspector/InspectorCSSAgent.h:
1290 * inspector/InspectorStyleSheet.cpp:
1291 (WebCore::InspectorStyle::getText): Added.
1292 (WebCore::InspectorStyle::setText): Added.
1293 (WebCore::InspectorStyleSheet::setStyleText):
1294 (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
1295 * inspector/InspectorStyleSheet.h:
1296 (WebCore::InspectorStyle::styleText): Added as an alias to getText.
1297 (WebCore::InspectorStyle::applyStyleText): Added as an alias to setText.
1299 2013-04-18 Jer Noble <jer.noble@apple.com>
1301 Unreviewed gardening; fix bindings tests after r148700.
1303 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1304 (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
1306 2013-04-18 Andy Estes <aestes@apple.com>
1308 REGRESSION (r116645): Versions app's UI is munged in HiDPI due to background-size being reset to 'auto' when background short-hand is also specified
1309 https://bugs.webkit.org/show_bug.cgi?id=114833
1311 Reviewed by David Kilzer.
1313 Added applicationIsVersions() to RuntimeApplicationChecks.
1316 * platform/RuntimeApplicationChecks.cpp:
1317 (WebCore::applicationIsVersions):
1319 * platform/RuntimeApplicationChecks.h:
1322 2013-04-18 Sam Weinig <sam@webkit.org>
1324 Network Process crashing trying to read in IDNScriptWhiteList.txt
1325 https://bugs.webkit.org/show_bug.cgi?id=114827
1327 Reviewed by Anders Carlsson.
1329 Move IDNScriptWhiteList.txt from WebKit to WebCore, so that the NetworkProcess does not have to link against
1330 WebKit. It was a layering violation for WebCore to be trying to access WebKit resources anyway.
1332 * Resources/IDNScriptWhiteList.txt: Copied from Source/WebKit/mac/Resources/IDNScriptWhiteList.txt.
1333 * WebCore.xcodeproj/project.pbxproj:
1334 * platform/mac/WebCoreNSURLExtras.mm:
1335 (WebCore::readIDNScriptWhiteList):
1337 2013-04-18 Simon Fraser <simon.fraser@apple.com>
1339 Remove GraphicsLayerCA::constrainedSize() now that we can manage large layer memory use ourselves in TileController
1340 https://bugs.webkit.org/show_bug.cgi?id=114834
1342 Reviewed by Tim Horton.
1344 GraphicsLayerCA::constrainedSize() was added to handle poor CATiledLayer behavior when layer sizes
1345 got extremely large. Now that we no longer use CATiledLayer, remove this code. We can later add
1346 tile memory bounding to TileController if that becomes necessary.
1348 * platform/graphics/ca/GraphicsLayerCA.cpp:
1349 (WebCore::GraphicsLayerCA::updateGeometry):
1350 * platform/graphics/ca/GraphicsLayerCA.h:
1353 2013-04-18 Alberto Garcia <agarcia@igalia.com>
1355 Remove obsolete macros from libpng
1356 https://bugs.webkit.org/show_bug.cgi?id=114817
1358 Reviewed by Benjamin Poulain.
1360 libpng 1.4 removes the png_voidp_NULL and png_error_ptr_NULL
1361 macros. Null pointers must be used directly instead.
1363 * platform/image-encoders/PNGImageEncoder.cpp:
1364 (WebCore::compressRGBABigEndianToPNG):
1366 2013-04-18 Jer Noble <jer.noble@apple.com>
1368 CodeGeneratorJS.pm should generate "isFiringEventListeners()" check in isReachableFromOpaqueRoots()
1369 https://bugs.webkit.org/show_bug.cgi?id=114784
1371 Reviewed by Geoffrey Garen.
1373 EventTarget subclasses shouldn't have to use CustomIsReachable directives
1374 in order to keep their wrappers alive while firing event listeners.
1376 * bindings/scripts/CodeGeneratorJS.pm:
1377 (GenerateImplementation):
1379 2013-04-17 Geoffrey Garen <ggaren@apple.com>
1381 Renamed JSGlobalData to VM
1382 https://bugs.webkit.org/show_bug.cgi?id=114777
1384 Reviewed by Phil Pizlo.
1386 * ForwardingHeaders/runtime/JSGlobalData.h: Removed.
1387 * ForwardingHeaders/runtime/VM.h: Copied from Source/WebCore/ForwardingHeaders/runtime/JSGlobalData.h.
1390 * WebCore.vcxproj/WebCore.vcxproj:
1391 * WebCore.vcxproj/WebCore.vcxproj.filters:
1392 * bindings/js/DOMObjectHashTableMap.cpp:
1393 (WebCore::DOMObjectHashTableMap::mapFor):
1394 * bindings/js/DOMObjectHashTableMap.h:
1396 (DOMObjectHashTableMap):
1397 * bindings/js/DOMWrapperWorld.cpp:
1398 (WebCore::DOMWrapperWorld::DOMWrapperWorld):
1399 (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
1400 (WebCore::normalWorld):
1401 (WebCore::mainThreadNormalWorld):
1402 * bindings/js/DOMWrapperWorld.h:
1403 (WebCore::DOMWrapperWorld::create):
1404 (WebCore::DOMWrapperWorld::vm):
1407 * bindings/js/GCController.cpp:
1409 (WebCore::GCController::garbageCollectSoon):
1410 (WebCore::GCController::garbageCollectNow):
1411 (WebCore::GCController::setJavaScriptGarbageCollectorTimerEnabled):
1412 (WebCore::GCController::discardAllCompiledCode):
1413 * bindings/js/IDBBindingUtilities.cpp:
1416 (WebCore::deserializeIDBValue):
1417 (WebCore::deserializeIDBValueBuffer):
1418 (WebCore::idbKeyToScriptValue):
1419 * bindings/js/JSCallbackData.h:
1420 (WebCore::JSCallbackData::JSCallbackData):
1421 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1422 (WebCore::JSSQLStatementErrorCallback::handleEvent):
1423 * bindings/js/JSCustomXPathNSResolver.cpp:
1424 (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
1425 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1426 * bindings/js/JSDOMBinding.cpp:
1427 (WebCore::getHashTableForGlobalData):
1428 (WebCore::reportException):
1429 (WebCore::cacheDOMStructure):
1430 * bindings/js/JSDOMBinding.h:
1431 (WebCore::DOMConstructorObject::createStructure):
1432 (WebCore::DOMConstructorWithDocument::finishCreation):
1433 (WebCore::getDOMStructure):
1434 (WebCore::setInlineCachedWrapper):
1436 (WebCore::jsStringWithCache):
1437 * bindings/js/JSDOMGlobalObject.cpp:
1438 (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
1439 (WebCore::JSDOMGlobalObject::finishCreation):
1440 * bindings/js/JSDOMGlobalObject.h:
1441 (JSDOMGlobalObject):
1442 (WebCore::JSDOMGlobalObject::createStructure):
1443 (WebCore::getDOMConstructor):
1444 * bindings/js/JSDOMWindowBase.cpp:
1445 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1446 (WebCore::JSDOMWindowBase::finishCreation):
1447 (WebCore::JSDOMWindowBase::updateDocument):
1448 (WebCore::JSDOMWindowBase::commonVM):
1449 * bindings/js/JSDOMWindowBase.h:
1451 (WebCore::JSDOMWindowBase::createStructure):
1452 * bindings/js/JSDOMWindowCustom.cpp:
1453 (WebCore::JSDOMWindow::setLocation):
1454 (WebCore::DialogHandler::dialogCreated):
1455 (WebCore::DialogHandler::returnValue):
1456 * bindings/js/JSDOMWindowShell.cpp:
1457 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1458 (WebCore::JSDOMWindowShell::finishCreation):
1459 (WebCore::JSDOMWindowShell::setWindow):
1460 * bindings/js/JSDOMWindowShell.h:
1462 (WebCore::JSDOMWindowShell::create):
1463 (WebCore::JSDOMWindowShell::createStructure):
1464 * bindings/js/JSDOMWrapper.h:
1465 (WebCore::JSDOMWrapper::JSDOMWrapper):
1466 * bindings/js/JSDeviceMotionEventCustom.cpp:
1467 (WebCore::createAccelerationObject):
1468 (WebCore::createRotationRateObject):
1469 * bindings/js/JSDictionary.cpp:
1470 (WebCore::JSDictionary::convertValue):
1471 * bindings/js/JSDictionary.h:
1472 (WebCore::JSDictionary::JSDictionary):
1473 * bindings/js/JSErrorHandler.cpp:
1474 (WebCore::JSErrorHandler::handleEvent):
1475 * bindings/js/JSEventListener.cpp:
1476 (WebCore::JSEventListener::handleEvent):
1477 * bindings/js/JSEventListener.h:
1478 (WebCore::JSEventListener::setWrapper):
1479 (WebCore::JSEventListener::jsFunction):
1480 * bindings/js/JSHTMLDocumentCustom.cpp:
1481 (WebCore::JSHTMLDocument::all):
1482 (WebCore::JSHTMLDocument::setAll):
1483 * bindings/js/JSHTMLTemplateElementCustom.cpp:
1484 (WebCore::JSHTMLTemplateElement::content):
1485 * bindings/js/JSHistoryCustom.cpp:
1486 (WebCore::JSHistory::state):
1487 * bindings/js/JSImageConstructor.cpp:
1488 (WebCore::JSImageConstructor::finishCreation):
1489 * bindings/js/JSImageConstructor.h:
1490 (WebCore::JSImageConstructor::createStructure):
1491 * bindings/js/JSImageDataCustom.cpp:
1493 * bindings/js/JSInjectedScriptHostCustom.cpp:
1494 (WebCore::InjectedScriptHost::nodeAsScriptValue):
1495 (WebCore::JSInjectedScriptHost::functionDetails):
1496 (WebCore::getJSListenerFunctions):
1497 (WebCore::JSInjectedScriptHost::getEventListeners):
1498 (WebCore::JSInjectedScriptHost::inspect):
1499 * bindings/js/JSLazyEventListener.cpp:
1500 (WebCore::JSLazyEventListener::initializeJSFunction):
1501 * bindings/js/JSMessageEventCustom.cpp:
1502 (WebCore::JSMessageEvent::data):
1503 (WebCore::handleInitMessageEvent):
1504 * bindings/js/JSMutationCallback.cpp:
1505 (WebCore::JSMutationCallback::call):
1506 * bindings/js/JSMutationObserverCustom.cpp:
1507 (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
1508 * bindings/js/JSNodeFilterCondition.cpp:
1509 (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
1510 * bindings/js/JSNodeFilterCondition.h:
1511 (WebCore::JSNodeFilterCondition::create):
1512 (JSNodeFilterCondition):
1513 * bindings/js/JSNodeFilterCustom.cpp:
1514 (WebCore::toNodeFilter):
1515 * bindings/js/JSPopStateEventCustom.cpp:
1516 (WebCore::cacheState):
1517 * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:
1518 (WebCore::JSRequestAnimationFrameCallback::handleEvent):
1519 * bindings/js/JSSQLResultSetRowListCustom.cpp:
1520 (WebCore::JSSQLResultSetRowList::item):
1521 * bindings/js/JSWorkerContextBase.cpp:
1522 (WebCore::JSWorkerContextBase::JSWorkerContextBase):
1523 (WebCore::JSWorkerContextBase::finishCreation):
1524 * bindings/js/JSWorkerContextBase.h:
1525 (WebCore::JSWorkerContextBase::createStructure):
1526 (JSWorkerContextBase):
1527 * bindings/js/PageScriptDebugServer.cpp:
1528 (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1529 * bindings/js/ScheduledAction.cpp:
1530 (WebCore::ScheduledAction::ScheduledAction):
1531 (WebCore::ScheduledAction::executeFunctionInContext):
1532 * bindings/js/ScheduledAction.h:
1533 (WebCore::ScheduledAction::ScheduledAction):
1534 * bindings/js/ScriptCachedFrameData.cpp:
1535 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1536 (WebCore::ScriptCachedFrameData::restore):
1537 (WebCore::ScriptCachedFrameData::clear):
1538 * bindings/js/ScriptCallStackFactory.cpp:
1539 (WebCore::createScriptCallStack):
1540 (WebCore::createScriptArguments):
1541 * bindings/js/ScriptController.cpp:
1542 (WebCore::ScriptController::createWindowShell):
1543 (WebCore::ScriptController::evaluateInWorld):
1544 (WebCore::ScriptController::createWorld):
1545 (WebCore::ScriptController::getAllWorlds):
1546 (WebCore::ScriptController::clearWindowShell):
1547 (WebCore::ScriptController::initScript):
1548 (WebCore::ScriptController::updateDocument):
1549 (WebCore::ScriptController::cacheableBindingRootObject):
1550 (WebCore::ScriptController::bindingRootObject):
1551 (WebCore::ScriptController::clearScriptObjects):
1552 (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
1553 * bindings/js/ScriptControllerMac.mm:
1554 (WebCore::ScriptController::windowScriptObject):
1555 * bindings/js/ScriptDebugServer.cpp:
1556 (WebCore::ScriptDebugServer::dispatchDidPause):
1557 * bindings/js/ScriptEventListener.cpp:
1558 (WebCore::eventListenerHandlerBody):
1559 (WebCore::eventListenerHandler):
1560 (WebCore::eventListenerHandlerLocation):
1561 * bindings/js/ScriptFunctionCall.cpp:
1562 (WebCore::ScriptFunctionCall::call):
1563 (WebCore::ScriptCallback::call):
1564 * bindings/js/ScriptGCEvent.cpp:
1565 (WebCore::ScriptGCEvent::getHeapSize):
1566 * bindings/js/ScriptObject.cpp:
1567 (WebCore::ScriptObject::ScriptObject):
1568 (WebCore::ScriptGlobalObject::set):
1569 * bindings/js/ScriptState.h:
1571 * bindings/js/ScriptValue.cpp:
1572 (WebCore::ScriptValue::deserialize):
1573 * bindings/js/ScriptValue.h:
1574 (WebCore::ScriptValue::ScriptValue):
1575 * bindings/js/ScriptWrappable.h:
1578 * bindings/js/ScriptWrappableInlines.h:
1579 (WebCore::ScriptWrappable::setWrapper):
1580 * bindings/js/SerializedScriptValue.cpp:
1581 (WebCore::CloneDeserializer::readTerminal):
1582 (WebCore::SerializedScriptValue::deserializeForInspector):
1583 (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
1584 * bindings/js/WebCoreJSClientData.h:
1585 (WebCoreJSClientData):
1586 (WebCore::initNormalWorldClientData):
1587 * bindings/js/WorkerScriptController.cpp:
1588 (WebCore::WorkerScriptController::WorkerScriptController):
1589 (WebCore::WorkerScriptController::~WorkerScriptController):
1590 (WebCore::WorkerScriptController::initScript):
1591 (WebCore::WorkerScriptController::evaluate):
1592 (WebCore::WorkerScriptController::scheduleExecutionTermination):
1593 (WebCore::WorkerScriptController::isExecutionTerminating):
1594 (WebCore::WorkerScriptController::disableEval):
1595 * bindings/js/WorkerScriptController.h:
1597 (WebCore::WorkerScriptController::vm):
1598 (WorkerScriptController):
1599 * bindings/js/WorkerScriptDebugServer.cpp:
1600 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1601 * bindings/objc/WebScriptObject.mm:
1602 (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
1603 * bindings/scripts/CodeGeneratorJS.pm:
1605 (GenerateImplementation):
1606 (GenerateCallbackImplementation):
1608 (GenerateConstructorDeclaration):
1609 (GenerateConstructorHelperMethods):
1610 * bindings/scripts/test/JS/JSFloat64Array.cpp:
1611 (WebCore::getJSFloat64ArrayConstructorTable):
1612 (WebCore::JSFloat64ArrayConstructor::finishCreation):
1613 (WebCore::getJSFloat64ArrayPrototypeTable):
1614 (WebCore::getJSFloat64ArrayTable):
1615 (WebCore::JSFloat64Array::finishCreation):
1616 (WebCore::JSFloat64Array::createPrototype):
1617 * bindings/scripts/test/JS/JSFloat64Array.h:
1618 (WebCore::JSFloat64Array::create):
1619 (WebCore::JSFloat64Array::createStructure):
1621 (WebCore::JSFloat64ArrayPrototype::create):
1622 (WebCore::JSFloat64ArrayPrototype::createStructure):
1623 (WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
1624 (WebCore::JSFloat64ArrayConstructor::createStructure):
1625 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1626 (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
1627 (WebCore::JSTestActiveDOMObject::finishCreation):
1628 (WebCore::JSTestActiveDOMObject::createPrototype):
1629 * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
1630 (WebCore::JSTestActiveDOMObject::create):
1631 (WebCore::JSTestActiveDOMObject::createStructure):
1632 (JSTestActiveDOMObject):
1633 (WebCore::JSTestActiveDOMObjectPrototype::create):
1634 (WebCore::JSTestActiveDOMObjectPrototype::createStructure):
1635 (WebCore::JSTestActiveDOMObjectPrototype::JSTestActiveDOMObjectPrototype):
1636 (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
1637 * bindings/scripts/test/JS/JSTestCallback.cpp:
1638 (WebCore::JSTestCallback::callbackWithNoParam):
1639 (WebCore::JSTestCallback::callbackWithClass1Param):
1640 (WebCore::JSTestCallback::callbackWithClass2Param):
1641 (WebCore::JSTestCallback::callbackWithStringList):
1642 (WebCore::JSTestCallback::callbackWithBoolean):
1643 (WebCore::JSTestCallback::callbackRequiresThisToPass):
1644 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1645 (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
1646 (WebCore::JSTestCustomNamedGetter::finishCreation):
1647 (WebCore::JSTestCustomNamedGetter::createPrototype):
1648 * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
1649 (WebCore::JSTestCustomNamedGetter::create):
1650 (WebCore::JSTestCustomNamedGetter::createStructure):
1651 (JSTestCustomNamedGetter):
1652 (WebCore::JSTestCustomNamedGetterPrototype::create):
1653 (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
1654 (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
1655 (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
1656 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1657 (WebCore::JSTestEventConstructorConstructor::finishCreation):
1658 (WebCore::JSTestEventConstructor::finishCreation):
1659 (WebCore::JSTestEventConstructor::createPrototype):
1660 * bindings/scripts/test/JS/JSTestEventConstructor.h:
1661 (WebCore::JSTestEventConstructor::create):
1662 (WebCore::JSTestEventConstructor::createStructure):
1663 (JSTestEventConstructor):
1664 (WebCore::JSTestEventConstructorPrototype::create):
1665 (WebCore::JSTestEventConstructorPrototype::createStructure):
1666 (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
1667 (WebCore::JSTestEventConstructorConstructor::createStructure):
1668 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1669 (WebCore::JSTestEventTargetConstructor::finishCreation):
1670 (WebCore::JSTestEventTarget::finishCreation):
1671 (WebCore::JSTestEventTarget::createPrototype):
1672 * bindings/scripts/test/JS/JSTestEventTarget.h:
1673 (WebCore::JSTestEventTarget::create):
1674 (WebCore::JSTestEventTarget::createStructure):
1675 (JSTestEventTarget):
1676 (WebCore::JSTestEventTargetPrototype::create):
1677 (WebCore::JSTestEventTargetPrototype::createStructure):
1678 (WebCore::JSTestEventTargetPrototype::JSTestEventTargetPrototype):
1679 (WebCore::JSTestEventTargetConstructor::createStructure):
1680 * bindings/scripts/test/JS/JSTestException.cpp:
1681 (WebCore::JSTestExceptionConstructor::finishCreation):
1682 (WebCore::JSTestException::finishCreation):
1683 (WebCore::JSTestException::createPrototype):
1684 * bindings/scripts/test/JS/JSTestException.h:
1685 (WebCore::JSTestException::create):
1686 (WebCore::JSTestException::createStructure):
1688 (WebCore::JSTestExceptionPrototype::create):
1689 (WebCore::JSTestExceptionPrototype::createStructure):
1690 (WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
1691 (WebCore::JSTestExceptionConstructor::createStructure):
1692 * bindings/scripts/test/JS/JSTestInterface.cpp:
1693 (WebCore::JSTestInterfaceConstructor::finishCreation):
1694 (WebCore::JSTestInterface::finishCreation):
1695 (WebCore::JSTestInterface::createPrototype):
1696 * bindings/scripts/test/JS/JSTestInterface.h:
1697 (WebCore::JSTestInterface::create):
1698 (WebCore::JSTestInterface::createStructure):
1700 (WebCore::JSTestInterfacePrototype::create):
1701 (WebCore::JSTestInterfacePrototype::createStructure):
1702 (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
1703 (WebCore::JSTestInterfaceConstructor::createStructure):
1704 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1705 (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
1706 (WebCore::JSTestMediaQueryListListener::finishCreation):
1707 (WebCore::JSTestMediaQueryListListener::createPrototype):
1708 (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
1709 * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1710 (WebCore::JSTestMediaQueryListListener::create):
1711 (WebCore::JSTestMediaQueryListListener::createStructure):
1712 (JSTestMediaQueryListListener):
1713 (WebCore::JSTestMediaQueryListListenerPrototype::create):
1714 (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
1715 (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
1716 (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
1717 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1718 (WebCore::JSTestNamedConstructorConstructor::finishCreation):
1719 (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
1720 (WebCore::JSTestNamedConstructor::finishCreation):
1721 (WebCore::JSTestNamedConstructor::createPrototype):
1722 * bindings/scripts/test/JS/JSTestNamedConstructor.h:
1723 (WebCore::JSTestNamedConstructor::create):
1724 (WebCore::JSTestNamedConstructor::createStructure):
1725 (JSTestNamedConstructor):
1726 (WebCore::JSTestNamedConstructorPrototype::create):
1727 (WebCore::JSTestNamedConstructorPrototype::createStructure):
1728 (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
1729 (WebCore::JSTestNamedConstructorConstructor::createStructure):
1730 (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
1731 * bindings/scripts/test/JS/JSTestNode.cpp:
1732 (WebCore::JSTestNodeConstructor::finishCreation):
1733 (WebCore::JSTestNode::finishCreation):
1734 (WebCore::JSTestNode::createPrototype):
1735 * bindings/scripts/test/JS/JSTestNode.h:
1736 (WebCore::JSTestNode::create):
1737 (WebCore::JSTestNode::createStructure):
1739 (WebCore::JSTestNodePrototype::create):
1740 (WebCore::JSTestNodePrototype::createStructure):
1741 (WebCore::JSTestNodePrototype::JSTestNodePrototype):
1742 (WebCore::JSTestNodeConstructor::createStructure):
1743 * bindings/scripts/test/JS/JSTestObj.cpp:
1744 (WebCore::JSTestObjConstructor::finishCreation):
1745 (WebCore::JSTestObj::finishCreation):
1746 (WebCore::JSTestObj::createPrototype):
1747 (WebCore::jsTestObjCachedAttribute1):
1748 (WebCore::jsTestObjCachedAttribute2):
1749 (WebCore::setJSTestObjConditionalAttr4Constructor):
1750 (WebCore::setJSTestObjConditionalAttr5Constructor):
1751 (WebCore::setJSTestObjConditionalAttr6Constructor):
1752 (WebCore::setJSTestObjAnyAttribute):
1753 (WebCore::setJSTestObjReplaceableAttribute):
1754 * bindings/scripts/test/JS/JSTestObj.h:
1755 (WebCore::JSTestObj::create):
1756 (WebCore::JSTestObj::createStructure):
1758 (WebCore::JSTestObjPrototype::create):
1759 (WebCore::JSTestObjPrototype::createStructure):
1760 (WebCore::JSTestObjPrototype::JSTestObjPrototype):
1761 (WebCore::JSTestObjConstructor::createStructure):
1762 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1763 (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
1764 (WebCore::JSTestOverloadedConstructors::finishCreation):
1765 (WebCore::JSTestOverloadedConstructors::createPrototype):
1766 * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
1767 (WebCore::JSTestOverloadedConstructors::create):
1768 (WebCore::JSTestOverloadedConstructors::createStructure):
1769 (JSTestOverloadedConstructors):
1770 (WebCore::JSTestOverloadedConstructorsPrototype::create):
1771 (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
1772 (WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype):
1773 (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
1774 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1775 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
1776 (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
1777 (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
1778 (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
1779 (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
1780 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1781 (WebCore::JSTestSerializedScriptValueInterface::create):
1782 (WebCore::JSTestSerializedScriptValueInterface::createStructure):
1783 (JSTestSerializedScriptValueInterface):
1784 (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
1785 (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
1786 (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
1787 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
1788 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1789 (WebCore::JSTestTypedefsConstructor::finishCreation):
1790 (WebCore::JSTestTypedefs::finishCreation):
1791 (WebCore::JSTestTypedefs::createPrototype):
1792 * bindings/scripts/test/JS/JSTestTypedefs.h:
1793 (WebCore::JSTestTypedefs::create):
1794 (WebCore::JSTestTypedefs::createStructure):
1796 (WebCore::JSTestTypedefsPrototype::create):
1797 (WebCore::JSTestTypedefsPrototype::createStructure):
1798 (WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
1799 (WebCore::JSTestTypedefsConstructor::createStructure):
1800 * bridge/c/CRuntimeObject.h:
1801 (JSC::Bindings::CRuntimeObject::createStructure):
1802 * bridge/c/c_instance.cpp:
1803 (JSC::Bindings::CRuntimeMethod::create):
1804 (JSC::Bindings::CRuntimeMethod::createStructure):
1805 (JSC::Bindings::CRuntimeMethod::finishCreation):
1806 * bridge/jsc/BridgeJSC.cpp:
1807 (JSC::Bindings::Instance::createRuntimeObject):
1808 * bridge/objc/ObjCRuntimeObject.h:
1809 (JSC::Bindings::ObjCRuntimeObject::createStructure):
1810 * bridge/objc/objc_instance.mm:
1811 (ObjCRuntimeMethod::create):
1812 (ObjCRuntimeMethod::createStructure):
1813 (ObjCRuntimeMethod::finishCreation):
1814 * bridge/objc/objc_runtime.h:
1815 (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
1816 * bridge/objc/objc_runtime.mm:
1817 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1818 (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
1819 * bridge/qt/qt_instance.cpp:
1820 (JSC::Bindings::QtRuntimeObject::createStructure):
1821 (JSC::Bindings::QtInstance::~QtInstance):
1822 (JSC::Bindings::QtInstance::getQtInstance):
1823 * bridge/runtime_array.cpp:
1824 (JSC::RuntimeArray::RuntimeArray):
1825 (JSC::RuntimeArray::finishCreation):
1826 * bridge/runtime_array.h:
1827 (JSC::RuntimeArray::create):
1828 (JSC::RuntimeArray::createStructure):
1830 * bridge/runtime_method.cpp:
1831 (JSC::RuntimeMethod::finishCreation):
1832 * bridge/runtime_method.h:
1833 (JSC::RuntimeMethod::create):
1834 (JSC::RuntimeMethod::createStructure):
1836 * bridge/runtime_object.cpp:
1837 (JSC::Bindings::RuntimeObject::RuntimeObject):
1838 (JSC::Bindings::RuntimeObject::finishCreation):
1839 * bridge/runtime_object.h:
1840 (JSC::Bindings::RuntimeObject::createStructure):
1841 * bridge/runtime_root.cpp:
1842 (JSC::Bindings::RootObject::RootObject):
1843 (JSC::Bindings::RootObject::gcProtect):
1844 (JSC::Bindings::RootObject::gcUnprotect):
1845 (JSC::Bindings::RootObject::updateGlobalObject):
1846 (JSC::Bindings::RootObject::addRuntimeObject):
1847 * bridge/runtime_root.h:
1852 * dom/ScriptExecutionContext.cpp:
1853 (WebCore::ScriptExecutionContext::vm):
1854 * dom/ScriptExecutionContext.h:
1856 (ScriptExecutionContext):
1857 * html/HTMLCanvasElement.cpp:
1858 (WebCore::HTMLCanvasElement::createImageBuffer):
1859 * html/HTMLImageLoader.cpp:
1860 (WebCore::HTMLImageLoader::notifyFinished):
1861 * inspector/ScriptArguments.cpp:
1862 (WebCore::ScriptArguments::ScriptArguments):
1863 * loader/icon/IconDatabaseBase.cpp:
1865 (WebCore::iconDatabase):
1866 (WebCore::setGlobalIconDatabase):
1867 * platform/qt/MemoryUsageSupportQt.cpp:
1868 (WebCore::memoryUsageKB):
1869 (WebCore::actualMemoryUsageKB):
1870 * platform/win/ClipboardUtilitiesWin.cpp:
1871 (WebCore::createGlobalData):
1872 * plugins/PluginView.cpp:
1873 (WebCore::PluginView::start):
1874 (WebCore::PluginView::stop):
1875 (WebCore::PluginView::performRequest):
1876 (WebCore::PluginView::npObject):
1877 (WebCore::PluginView::privateBrowsingStateChanged):
1878 * plugins/blackberry/PluginViewBlackBerry.cpp:
1879 (WebCore::PluginView::dispatchNPEvent):
1880 (WebCore::PluginView::setNPWindowIfNeeded):
1881 (WebCore::PluginView::platformStart):
1882 (WebCore::PluginView::getWindowInfo):
1883 * plugins/efl/PluginViewEfl.cpp:
1884 (WebCore::PluginView::dispatchNPEvent):
1885 * plugins/gtk/PluginViewGtk.cpp:
1886 (WebCore::PluginView::dispatchNPEvent):
1887 (WebCore::PluginView::handleKeyboardEvent):
1888 (WebCore::PluginView::handleMouseEvent):
1889 (WebCore::PluginView::setNPWindowIfNeeded):
1890 (WebCore::PluginView::platformStart):
1891 * plugins/mac/PluginViewMac.mm:
1892 (WebCore::PluginView::platformStart):
1893 * plugins/qt/PluginViewQt.cpp:
1894 (WebCore::PluginView::dispatchNPEvent):
1895 (WebCore::PluginView::setNPWindowIfNeeded):
1896 * plugins/win/PluginViewWin.cpp:
1897 (WebCore::PluginView::dispatchNPEvent):
1898 (WebCore::PluginView::handleKeyboardEvent):
1899 (WebCore::PluginView::handleMouseEvent):
1900 (WebCore::PluginView::setNPWindowRect):
1901 * testing/js/WebCoreTestSupport.cpp:
1902 (WebCoreTestSupport::injectInternalsObject):
1903 * xml/XMLHttpRequest.cpp:
1904 (WebCore::XMLHttpRequest::dropProtection):
1906 2013-04-18 Oliver Hunt <oliver@apple.com>
1908 Fix windows build by moving template definition to JSDOMBinding.h
1910 * bindings/js/JSDOMBinding.h:
1912 * bindings/scripts/CodeGeneratorJS.pm:
1913 (GenerateImplementation):
1914 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1915 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1916 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1917 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1918 * bindings/scripts/test/JS/JSTestException.cpp:
1919 * bindings/scripts/test/JS/JSTestInterface.cpp:
1920 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1921 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1922 * bindings/scripts/test/JS/JSTestObj.cpp:
1923 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1924 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1925 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1927 2013-04-18 Eric Carlson <eric.carlson@apple.com>
1929 Forced subtitles never rendered
1930 https://bugs.webkit.org/show_bug.cgi?id=114818
1932 Reviewed by Jer Noble.
1934 No new tests, media/track/track-forced-subtitles-in-band.html was updated to test this change.
1936 * html/track/TextTrack.cpp:
1937 (WebCore::TextTrack::isRendered): "forced" tracks are rendered.
1939 2013-04-17 Anders Carlsson <andersca@apple.com>
1941 Change storage factory functions to take a PageGroup and Page respectively
1942 https://bugs.webkit.org/show_bug.cgi?id=114776
1944 Reviewed by Beth Dakin.
1946 Change StorageNamespace::localStorageNamespace to take a PageGroup since WebKit2 needs
1947 to know which local storage namespace belongs to which page group. Also remove the quota parameter from
1948 the sessionStorageNamespace function since that's trivial to get from the Page.
1952 (WebCore::Page::sessionStorage):
1953 * page/PageGroup.cpp:
1954 (WebCore::PageGroup::localStorage):
1955 * storage/StorageNamespace.cpp:
1956 (WebCore::StorageNamespace::localStorageNamespace):
1957 (WebCore::StorageNamespace::sessionStorageNamespace):
1958 * storage/StorageNamespace.h:
1959 * storage/StorageNamespaceImpl.cpp:
1960 (WebCore::StorageNamespaceImpl::localStorageNamespace):
1961 (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
1962 * storage/StorageNamespaceImpl.h:
1963 * storage/StorageStrategy.cpp:
1964 (WebCore::StorageStrategy::localStorageNamespace):
1965 (WebCore::StorageStrategy::sessionStorageNamespace):
1966 * storage/StorageStrategy.h:
1968 2013-04-18 Martin Robinson <mrobinson@igalia.com>
1970 [GTK] fast/canvas/DrawImageSinglePixelStretch.html fails
1971 https://bugs.webkit.org/show_bug.cgi?id=58309
1973 Reviewed by Alejandro G. Castro.
1975 No new tests. This patch unskips a test.
1977 Prevent sampling outside source boundaries, by creating subsurfaces from source surfaces.
1978 This also requires careful handling of negative and floating source rectangles.
1980 * platform/graphics/cairo/PlatformContextCairo.cpp:
1981 (WebCore::PlatformContextCairo::drawSurfaceToContext): Use a subsurface to prevent sampling
1982 outside rectangle boundaries.
1984 2013-04-18 Jonathan Feldstein <jfeldstein@blackberry.com>
1986 [BlackBerry] Improper initialization of ANGLEResources (resubmission)
1987 https://bugs.webkit.org/show_bug.cgi?id=114814
1989 Reviewed by Yong Li, Rob Buis
1990 Internally reviewed by Maxim Mogilnitsky
1992 MaxDrawBuffers, OES_standard_derivatives, OES_EGL_image_external and ARB_texture_rectangle
1993 are initialized through the ShBuiltInResources function so these fields do not need to be
1994 set again in GraphicsContext3DBlackBerry.cpp. In addition, the extension flags should not
1995 be set to true without getExtension being called (Khronos WebGL specs, section 5.14.14.).
1996 In fact, as a direct result of these extensions being enabled prior to calling
1997 getExtension, a WebGL conformance suite test for GL_OES_standard_derivatives was failing.
1999 * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2000 (WebCore::GraphicsContext3D::GraphicsContext3D):
2002 2013-04-18 Xuefei Ren <xren@blackberry.com>
2004 remove build warning(unused parameter)
2005 https://bugs.webkit.org/show_bug.cgi?id=114670
2007 Reviewed by Rob Buis.
2009 remove warning(unused parameter) in
2010 Source/WebCore/html/shadow/MediaControlsBlackBerry.cpp
2011 Source/WebCore/loader/blackberry/CookieJarBlackBerry.cpp
2012 Source/WebCore/platform/blackberry/AuthenticationChallengeManager.cpp
2013 Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp
2014 Source/WebCore/platform/network/blackberry/ResourceResponseBlackBerry.cpp
2015 Source/WebCore/platform/network/blackberry/SocketStreamHandleBlackBerry.cpp
2016 Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp
2019 * html/shadow/MediaControlsBlackBerry.cpp:
2020 (WebCore::MediaControlFullscreenFullscreenButtonElement::setIsFullscreen):
2021 * loader/blackberry/CookieJarBlackBerry.cpp:
2022 (WebCore::getRawCookies):
2023 (WebCore::deleteCookie):
2024 * platform/blackberry/AuthenticationChallengeManager.cpp:
2025 (WebCore::AuthenticationChallengeManager::notifyChallengeResult):
2026 * platform/blackberry/RenderThemeBlackBerry.cpp:
2027 (WebCore::RenderTheme::themeForPage):
2028 * platform/network/blackberry/ResourceResponseBlackBerry.cpp:
2029 (WebCore::ResourceResponse::doPlatformAdopt):
2030 * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
2031 (WebCore::SocketStreamHandle::notifyStatusReceived):
2032 * plugins/blackberry/PluginViewBlackBerry.cpp:
2033 (WebCore::PluginView::invalidateRegion):
2035 2013-04-18 Xuefei Ren <xren@blackberry.com>
2038 remove build warning(unused parameter)
2039 https://bugs.webkit.org/show_bug.cgi?id=114670
2041 Reviewed by Rob Buis.
2043 remove builde warning (unused parameter) in
2044 Source/WebCore/platform/blackberry/CursorBlackBerry.cpp
2046 * platform/blackberry/CursorBlackBerry.cpp:
2047 (WebCore::Cursor::Cursor):
2049 2013-04-18 Andreas Kling <akling@apple.com>
2051 EditingStyle: Avoid some unnecessary CSSStyleDeclaration wrappers.
2052 <http://webkit.org/b/114763>
2054 Reviewed by Antti Koivisto.
2056 removeEquivalentProperties(CSSStyleDeclaration) and removeEquivalentProperties(StylePropertySet)
2057 only have different behavior if the CSSStyleDeclaration is computed style (they differ in handling
2058 of the 'font-size' property.)
2060 Avoid creating a CSSStyleDeclaration for StylePropertySets where we can just pass them in directly.
2062 * editing/EditingStyle.cpp:
2063 (WebCore::EditingStyle::removeStyleAddedByNode):
2064 (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
2066 2013-04-18 Allan Sandfeld Jensen <allan.jensen@digia.com>
2068 Unset :hover in inner documents
2069 https://bugs.webkit.org/show_bug.cgi?id=114446
2071 Reviewed by Antonio Gomes.
2073 Fixes a regression from r145126 where hover nodes in inner documents was sometimes
2074 not unset. Additionally it uses the new api from r145126 to avoid an unnecessary
2075 hit test in touch-event handling.
2077 Test: fast/events/touch/frame-hover-update.html
2080 (WebCore::Document::updateHoverActiveState):
2081 * page/EventHandler.cpp:
2082 (WebCore::shouldGesturesTriggerActive):
2083 (WebCore::EventHandler::handleTouchEvent):
2085 2013-04-18 Seokju Kwon <seokju.kwon@gmail.com>
2087 Web Inspector: Toolbar icons are displayed incorrectly
2088 https://bugs.webkit.org/show_bug.cgi?id=114792
2090 Reviewed by Timothy Hatcher.
2092 Inspector uses small toolbar icons when docking the inspector.
2093 So icons should have different x position.
2095 No tests because no behavior change is expected.
2097 * inspector/front-end/inspector.css: Add missing 'background-position-x' values.
2098 (body.dock-to-bottom .toolbar-item.profiles .toolbar-icon):
2099 (body.dock-to-bottom .toolbar-item.cpu-profiler .toolbar-icon):
2100 (body.dock-to-bottom .toolbar-item.css-profiler .toolbar-icon):
2101 (body.dock-to-bottom .toolbar-item.heap-profiler .toolbar-icon):
2102 (body.dock-to-bottom .toolbar-item.canvas-profiler .toolbar-icon):
2103 (body.dock-to-bottom .toolbar-item.memory-chart-profiler .toolbar-icon):
2104 (body.dock-to-bottom .toolbar-item.memory-snapshot-profiler .toolbar-icon):
2106 2013-04-17 Jaehun Lim <ljaehun.lim@samsung.com>
2108 [css3-text] Rendering -webkit-hanging value for text-indent from css3-text
2109 https://bugs.webkit.org/show_bug.cgi?id=114663
2111 Reviewed by Beth Dakin.
2113 This patch is the rendering part to support hanging value for text-indent.
2114 "hanging" means "Inverts which lines are affected."
2115 It's prefixed and guarded by CSS3_TEXT flag.
2117 Spec: http://dev.w3.org/csswg/css-text/#text-indent
2119 Test: fast/css3-text/css3-text-indent/text-indent-each-line-hanging.html
2121 * rendering/RenderBlockLineLayout.cpp:
2122 (WebCore::requiresIndent): Inverted the return value when "-webkit-hanging" is applied.
2124 2013-04-17 James Craig <james@cookiecrook.com>
2126 AX: aria-level does not override implicit level on h1, h2, etc
2127 https://bugs.webkit.org/show_bug.cgi?id=114692
2129 Reviewed by Chris Fleizach.
2131 aria-level now works on headings without an explicit role="heading" defined. Updated existing test coverage.
2133 * accessibility/AccessibilityNodeObject.cpp:
2134 (WebCore::AccessibilityNodeObject::headingLevel):
2136 2013-04-17 Chris Fleizach <cfleizach@apple.com>
2138 AX: VoiceOver says everything that isn't a link is a "clickable" in Safari reader?
2139 https://bugs.webkit.org/show_bug.cgi?id=114687
2141 Reviewed by Tim Horton.
2143 VoiceOver is saying all text is clickable, because AXPress is exposed as an action on static text.
2144 That is happening, because there's a click handler on the body element in this case.
2146 I think the best plan to keep existing functionality, but fix this case is not to expose
2147 the press action for static text when the handler is on the body element.
2149 Test: platform/mac/accessibility/press-action-not-exposed-when-body-is-click-handler.html
2151 * accessibility/AccessibilityNodeObject.cpp:
2152 (WebCore::AccessibilityNodeObject::mouseButtonListener):
2153 Change from checking getAttributeEventListener to hasEventListeners. The former only
2154 checks if "onclick" is installed on the element and does not work with addEventListener!
2156 * accessibility/AccessibilityObject.cpp:
2157 (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
2158 * accessibility/AccessibilityObject.h:
2159 (WebCore::AccessibilityObject::isStaticText):
2161 2013-04-17 Simon Fraser <simon.fraser@apple.com>
2163 Fix GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush() to do predictive visible rect expansion
2164 https://bugs.webkit.org/show_bug.cgi?id=114775
2166 Reviewed by Tim Horton.
2168 GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush() is intended to answer the question
2169 "if your visible rect is changed to X, would any tiles be created or destroyed?".
2171 However, for compositing layer tiled layers, we do some predictive visible rect expansion based on how
2172 the visible rect is changing when we actually commit visible rect changes. recursiveVisibleRectChangeRequiresFlush()
2173 was not doing that, causing it to give confusing answers, so fix it to do so.
2175 Both now call adjustTiledLayerVisibleRect(), and it's cleaner to make this a static function.
2177 A somewhat unrelated change is to take the layer bounds origin into account
2178 in GraphicsLayerCA::computeVisibleRect(). Desktop WebKit never sets this, but it's used
2179 on other platforms for composited scrolling, so needs to be taken into account
2180 when computing visible rects.
2182 * platform/graphics/ca/GraphicsLayerCA.cpp:
2183 (WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush):
2184 (WebCore::GraphicsLayerCA::computeVisibleRect):
2185 (WebCore::GraphicsLayerCA::adjustTiledLayerVisibleRect):
2186 (WebCore::GraphicsLayerCA::updateVisibleRect):
2187 * platform/graphics/ca/GraphicsLayerCA.h:
2190 2013-04-17 Oliver Hunt <oliver@apple.com>
2192 Automate generation of toJS function for classes that need to report extra memory usage
2193 https://bugs.webkit.org/show_bug.cgi?id=114768
2195 Reviewed by Geoff Garen.
2197 Only really used by AudioBuffer for now. The other classes that need it can be
2198 trivially refactored at a later date.
2200 * Modules/webaudio/AudioBuffer.idl:
2201 * bindings/js/JSAudioBufferCustom.cpp:
2202 * bindings/js/JSDOMBinding.h:
2207 * bindings/scripts/CodeGeneratorJS.pm:
2208 (GenerateImplementation):
2210 2013-04-17 Dirk Schulze <krit@webkit.org>
2212 BasicShapeFunctions should use RenderStyle instead of StyleResolver
2213 https://bugs.webkit.org/show_bug.cgi?id=114743
2215 Reviewed by Antti Koivisto.
2217 BasicShapeFunctions does include RenderStyle instead of StyleResolver now.
2218 This is a simple refactoring patch, no new tests.
2220 * css/BasicShapeFunctions.cpp:
2221 (WebCore::convertToLength): Use style and rootElementStyle directly.
2222 (WebCore::basicShapeForValue): Ditto.
2223 * css/BasicShapeFunctions.h:
2225 * css/DeprecatedStyleBuilder.cpp:
2226 (WebCore::ApplyPropertyClipPath::applyValue):
2227 (WebCore::ApplyPropertyExclusionShape::applyValue):
2229 2013-04-17 Beth Dakin <bdakin@apple.com>
2231 Content inside frames and scrollbars in overflow areas hit-tests incorrectly when
2232 the WKView has a header
2233 https://bugs.webkit.org/show_bug.cgi?id=114769
2235 Reviewed by Simon Fraser.
2237 convertToRenderer() and convertFromRenderer() need to factor in the headerHeight,
2238 much like all of the conversion functions on ScrollView.
2239 * page/FrameView.cpp:
2240 (WebCore::FrameView::convertFromRenderer):
2241 (WebCore::FrameView::convertToRenderer):
2243 The scrollPosition equivalent of the existing scrollOffsetRelativeToDocument()
2245 * platform/ScrollView.cpp:
2246 (WebCore::ScrollView::scrollPositionRelativeToDocument):
2247 * platform/ScrollView.h:
2250 2013-04-17 Andreas Kling <akling@apple.com>
2252 Remove FragmentScriptingPermission.h include from Element.h.
2253 <http://webkit.org/b/114757>
2255 Rubber-stamped by Anders Carlsson.
2259 2013-04-17 Mark Lam <mark.lam@apple.com>
2261 Add LLINT and baseline JIT support for timing out scripts.
2262 https://bugs.webkit.org/show_bug.cgi?id=114577.
2264 Reviewed by Geoffrey Garen.
2266 Replaced use of the obsolete JSGlobalData.terminator methods with the
2267 JSGlobalData.watchdog equivalents.
2269 * bindings/js/JSEventListener.cpp:
2270 (WebCore::JSEventListener::handleEvent):
2271 * bindings/js/SerializedScriptValue.cpp:
2272 (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
2273 * bindings/js/WorkerScriptController.cpp:
2274 (WebCore::WorkerScriptController::evaluate):
2275 (WebCore::WorkerScriptController::scheduleExecutionTermination):
2276 (WebCore::WorkerScriptController::isExecutionTerminating):
2278 2013-04-16 Jer Noble <jer.noble@apple.com>
2280 Crash in WebCore::HTMLMediaElement::~HTMLMediaElement.
2281 https://bugs.webkit.org/show_bug.cgi?id=113531
2283 Reviewed by Eric Carlson.
2285 No new tests, though this is intermittently reproducible with
2286 http/tests/misc/delete-frame-during-readystatechange.html under ASAN.
2288 * html/HTMLMediaElement.cpp:
2289 (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear the media player manually
2290 before the destructor exits. Clearing the media player may cancel a resource load,
2291 which can trigger a readystatechange event. It's possible for the HTMLMediaElement
2292 to attempt to fire an abort event within the readystatechange event, even though it is
2293 now in an inconsistent state. Clearling the media player before finishing the destructor
2294 ensures that the HTMLMediaElement will at least still be alive if this case is triggered.
2295 Set m_completelyLoaded to true to ensure that if userCancelledLoad() is called, it doesn't
2296 attempt to fire events while destructing.
2298 2013-04-17 Sergio Correia <sergio.correia@openbossa.org>
2300 Web Inspector: make generate-inspector-protocol-version work with python3
2301 https://bugs.webkit.org/show_bug.cgi?id=114717
2303 Revision r146765 added print() calls that made the script complain about
2304 invalid syntax when using python3.
2306 This commit replaces such calls with calls to sys.stdout.write(), analogous
2307 to the sys.stderr.write() ones already used throughout the file.
2309 Reviewed by Timothy Hatcher.
2311 No new tests. No user visible behavior changed.
2313 * inspector/generate-inspector-protocol-version:
2316 2013-04-17 Seokju Kwon <seokju.kwon@gmail.com>
2318 Web Inspector: Fix Localized string warngs
2319 https://bugs.webkit.org/show_bug.cgi?id=114718
2321 Reviewed by Timothy Hatcher.
2323 No tests because no behavior change is expected.
2325 * English.lproj/localizedStrings.js:
2327 2013-04-17 Csaba Osztrogonác <ossy@webkit.org>
2329 [Qt] Unreviewed Windows buildfix.
2331 * platform/qt/DragDataQt.cpp: Add a missing include.
2333 2013-04-17 ChangSeok Oh <shivamidow@gmail.com>
2335 Breaking Float: floated block level element following inline element in floated container breaks to next line
2336 https://bugs.webkit.org/show_bug.cgi?id=45274
2338 Reviewed by David Hyatt.
2340 Fix position issue of floating element in floating element.
2341 Inner floating element has placed at next line when outer floating element has text,
2342 even though previous line has spaces enough to fit it.
2343 To solve this, the width of a space added temporarily for prohibiting duplication more than 2 empty spaces
2344 is subtracted when floating element is checked whether it fits on a line.
2346 Tests: css2.1/20110323/floats-001.html
2347 css2.1/20110323/floats-102.html
2348 fast/inline-block/float-both-whitespace.html
2349 fast/inline-block/float-leading-whitespace.html
2350 fast/inline-block/float-no-whitespace.html
2351 fast/inline-block/float-trailing-whitespace.html
2352 fast/inline-block/multiple-floats-with-whitespace.html
2354 * rendering/RenderBlockLineLayout.cpp:
2355 (WebCore::LineWidth::LineWidth):
2356 (WebCore::LineWidth::fitsOnLine):
2357 (WebCore::LineWidth::trailingWhitespaceWidth):
2358 (WebCore::LineWidth::setTrailingWhitespaceWidth):
2360 (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2362 2013-04-17 Leo Yang <leoyang@rim.com>
2364 Lots of unused parameter warnings in filesystem code
2365 https://bugs.webkit.org/show_bug.cgi?id=114747
2367 Reviewed by Carlos Garcia Campos.
2369 Comment out or remove unused parameter identifiers.
2371 No functionalities changed, no new tests.
2373 * Modules/filesystem/DOMFileSystem.cpp: Comment out |snapshot| because
2374 it is referred in the comments inside the function.
2376 * Modules/filesystem/DOMFileSystemSync.cpp: Ditto.
2378 * Modules/filesystem/FileWriter.cpp: Remove unused |ec|.
2379 (WebCore::FileWriter::abort):
2380 * Modules/filesystem/FileWriterSync.cpp:
2381 (WebCore::FileWriterSync::didWrite): Remove unused |bytes|.
2382 * platform/AsyncFileSystemCallbacks.h:
2383 (WebCore::AsyncFileSystemCallbacks::didOpenFileSystem): Comment out unused parameters
2384 because the function is inlined.
2385 (WebCore::AsyncFileSystemCallbacks::didCreateSnapshotFile): Ditto.
2386 (WebCore::AsyncFileSystemCallbacks::didReadDirectoryEntry): Ditto.
2387 (WebCore::AsyncFileSystemCallbacks::didReadDirectoryEntries): Ditto.
2388 (WebCore::AsyncFileSystemCallbacks::didCreateFileWriter): Ditto.
2389 * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp:
2390 (WebCore::WorkerAsyncFileSystemBlackBerry::createWriterOnMainThread): Remove unused |client|.
2392 2013-04-17 Brent Fulgham <bfulgham@webkit.org>
2394 [Windows, WinCairo] Stop individually building WTF files in WebCore
2395 https://bugs.webkit.org/show_bug.cgi?id=114705
2397 Reviewed by Anders Carlsson.
2399 * WebCore.vcproj/WebCore.vcproj: Remove references to WTF objects.
2400 * WebCore.vcxproj/WebCore.vcxproj: Ditto.
2401 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
2403 2013-04-17 Dirk Schulze <krit@webkit.org>
2405 Make lengthConversion methods and arguments const
2406 https://bugs.webkit.org/show_bug.cgi?id=114749
2408 Reviewed by Andreas Kling.
2410 Refactoring, no new tests.
2412 * css/CSSCalculationValue.cpp:
2413 (WebCore::CSSCalcValue::computeLengthPx):
2414 (WebCore::CSSCalcPrimitiveValue::toCalcValue):
2415 (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
2416 (WebCore::CSSCalcBinaryOperation::toCalcValue):
2417 (WebCore::CSSCalcBinaryOperation::computeLengthPx):
2418 * css/CSSCalculationValue.h:
2419 (WebCore::CSSCalcValue::toCalcValue):
2421 * css/CSSPrimitiveValue.cpp:
2422 (WebCore::CSSPrimitiveValue::computeLength):
2423 (WebCore::CSSPrimitiveValue::computeLengthDouble):
2424 (WebCore::CSSPrimitiveValue::viewportPercentageLength):
2425 * css/CSSPrimitiveValue.h:
2426 (CSSPrimitiveValue):
2427 * css/CSSPrimitiveValueMappings.h:
2428 (WebCore::CSSPrimitiveValue::convertToLength):
2429 * css/StyleResolver.cpp:
2430 (WebCore::StyleResolver::convertToIntLength):
2431 (WebCore::StyleResolver::convertToFloatLength):
2432 * css/StyleResolver.h:
2435 2013-04-17 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
2437 [refactor] Moved ScriptedAnimationController common code to inline function
2438 https://bugs.webkit.org/show_bug.cgi?id=114681
2440 Reviewed by Daniel Bates.
2442 Avoided duplicated code by moving ScriptedAnimationController clearance
2443 code to a common function used by both Document::dispose() and
2446 No new tests, no behavior changes.
2449 (WebCore::Document::dispose):
2450 (WebCore::Document::detach):
2451 (WebCore::Document::clearScriptedAnimationController): Added.
2455 2013-04-17 Chris Fleizach <cfleizach@apple.com>
2457 AX: When img@alt is undefined, WebKit should use @title as accessibility label if available
2458 https://bugs.webkit.org/show_bug.cgi?id=114535
2460 Reviewed by Tim Horton.
2462 Don't hide images from Accessibility that have the title attribute on them.
2464 Test: accessibility/empty-image-with-title.html
2466 * accessibility/AccessibilityRenderObject.cpp:
2467 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2469 2013-04-17 Arpita Bahuguna <a.bah@samsung.com>
2471 getAttribute does not behave correctly for mixed-case attributes on HTML elements
2472 https://bugs.webkit.org/show_bug.cgi?id=105713
2474 Reviewed by Andreas Kling.
2476 getAttribute() and getAttributeNode() APIs do not convert the
2477 passed attribute name to lowercase before comparing against the
2478 existing attributes.
2479 The specification however states that the passed name should
2480 be converted to ASCII lowercase before checking for the existence
2481 of the given attribute. [www.w3.org/TR/domcore/#dom-element-getattribute]
2483 Test: fast/dom/Element/getAttribute-case-insensitivity.html
2486 (WebCore::ElementData::getAttributeItemIndex):
2487 getAttributeItemIndex() accepts a bool param 'shouldIgnoreAttributeCase'
2488 which specifies whether or not the attribute's case should be ignored
2489 before comparison but we don't really convert the passed name to lowercase
2490 before carrying out the comparison.
2492 Thus, when called from APIs such as getAttribute() and getAttributeNode()
2493 which do not explicitally convert the attribute name to lowercase
2494 before calling on this method, it fails to carry out a case-insensitive
2497 Have thus made changes to convert the passed attribute's name to
2498 lowercase if 'shouldIgnoreAttributeCase' is true.
2500 2013-04-17 John Griggs <jgriggs@blackberry.com>
2502 [BlackBerry] Add support for filesystem: URLs to BlackBerry Media Player.
2503 https://bugs.webkit.org/show_bug.cgi?id=114686
2504 https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=314865
2506 Reviewed by Rob Buis.
2508 Translate filesystem: URLs to file:// URLs for use by the media player, but only after the filesystem: URL has been checked for security, etc.
2510 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2511 (WebCore::MediaPlayerPrivate::load):
2512 (WebCore::MediaPlayerPrivate::onError):
2513 (WebCore::MediaPlayerPrivate::onDurationChanged):
2514 (WebCore::MediaPlayerPrivate::notifyChallengeResult):
2516 2013-04-17 Brendan Long <b.long@cablelabs.com>
2518 [GStreamer] Eclipse warnings in MediaPlayerPrivateGStreamer
2519 https://bugs.webkit.org/show_bug.cgi?id=114654
2521 Reviewed by Philippe Normand.
2523 No new tests (nothing added).
2525 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2526 (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
2527 Initialize m_volumeAndMuteInitialized
2528 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2529 (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
2530 Initialize signal handlers to 0.
2532 2013-04-17 Andrei Bucur <abucur@adobe.com>
2534 [CSS Regions] Remove m_flowThread from NodeRenderingContext
2535 https://bugs.webkit.org/show_bug.cgi?id=114732
2537 Reviewed by Antti Koivisto.
2539 Cleanup NodeRenderingContext. Remove unused member m_flowThread.
2543 * dom/NodeRenderingContext.cpp:
2544 (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
2545 * dom/NodeRenderingContext.h: Removed m_flowThread.
2547 2013-04-17 Allan Sandfeld Jensen <allan.jensen@digia.com>
2549 [Qt] MediaPlayerPrivateQt.cpp doesn't build in debug
2551 Unreviewed build fix.
2553 We need to include Logging.h to get the LOG definitions.
2555 * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2557 2013-04-17 Claudio Saavedra <csaavedra@igalia.com>
2559 execCommand("RemoveFormat") might remove format after the selection
2560 https://bugs.webkit.org/show_bug.cgi?id=112240
2562 Reviewed by Ryosuke Niwa.
2564 Tests: editing/execCommand/remove-format-multiple-elements-mac.html
2566 This bug is hit when ApplyStyleCommand is used to change the
2567 style and the current selection ends in the beginning of a new node.
2568 The bug is actually a two-fold thing:
2570 1. There was no check as to whether the end node is really
2571 selected or not, and format was always removed from it with
2572 pushDownInlineStyleAroundNode(). An equivalent check for the start
2573 node was already in place, so fix it analogously.
2575 2. Previous stage might change the dom tree, resulting in a render
2576 tree that is not up-to-date. Position::upstream() is later used
2577 and, in order to be able to find a visually equivalent position in
2578 a text node, this method needs the render tree to be up-to-date,
2579 therefore, a call to updateLayoutIgnorePendingStylesheets() is
2582 * editing/ApplyStyleCommand.cpp:
2583 (WebCore::ApplyStyleCommand::removeInlineStyle): Make sure that no
2584 format is removed from the end node if it's not fully selected.
2585 (WebCore::ApplyStyleCommand::nodeFullySelected): Call updateLayoutIgnorePendingStylesheets()
2587 2013-04-17 Alberto Garcia <agarcia@igalia.com>
2589 [BlackBerry] GraphicsContext3D: don't initialize m_extensions in the constructor
2590 https://bugs.webkit.org/show_bug.cgi?id=114726
2592 Reviewed by Carlos Garcia Campos.
2594 m_extensions is now initialized on demand by
2595 GraphicsContext3D::getExtensions().
2597 Doing it in the constructor produces a crash, because
2598 Extensions3DOpenGLES() calls glGetString before the WebGL context
2601 * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
2602 (WebCore::GraphicsContext3D::GraphicsContext3D):
2604 2013-04-16 Maciej Stachowiak <mjs@apple.com>
2606 Replace JSC-specific IDL extended attributes with generic (JSC+V8) ones, now that the distinction no longer matters
2607 https://bugs.webkit.org/show_bug.cgi?id=114712
2609 Reviewed by Dan Bernstein.
2611 No behavior change expected.
2613 * bindings/scripts/IDLAttributes.txt: Remove the JSFoo attributes
2614 that have bare Foo equivalents.
2615 * bindings/scripts/CodeGeneratorJS.pm: Remove support for JSFoo
2617 (GetGenerateIsReachable):
2618 (GetCustomIsReachable):
2619 (ShouldGenerateToJSDeclaration):
2620 (ShouldGenerateToJSImplementation):
2621 (HasCustomConstructor):
2626 Replace JSFoo attributes with equivalen Foo attributs in all files
2629 * Modules/geolocation/Geolocation.idl:
2630 * Modules/indexeddb/IDBDatabase.idl:
2631 * Modules/indexeddb/IDBObjectStore.idl:
2632 * Modules/webaudio/DOMWindowWebAudio.idl:
2633 * Modules/websockets/DOMWindowWebSocket.idl:
2634 * Modules/websockets/WorkerContextWebSocket.idl:
2636 * css/CSSRuleList.idl:
2637 * css/CSSStyleDeclaration.idl:
2639 * css/MediaList.idl:
2640 * css/StyleMedia.idl:
2641 * css/StyleSheet.idl:
2642 * dom/MessagePort.idl:
2643 * dom/MutationObserver.idl:
2646 * html/HTMLDocument.idl:
2647 * html/HTMLTemplateElement.idl:
2648 * html/canvas/ArrayBuffer.idl:
2649 * html/canvas/CanvasRenderingContext.idl:
2650 * html/canvas/DataView.idl:
2651 * html/canvas/EXTDrawBuffers.idl:
2652 * html/canvas/EXTTextureFilterAnisotropic.idl:
2653 * html/canvas/OESElementIndexUint.idl:
2654 * html/canvas/OESStandardDerivatives.idl:
2655 * html/canvas/OESTextureFloat.idl:
2656 * html/canvas/OESTextureHalfFloat.idl:
2657 * html/canvas/OESVertexArrayObject.idl:
2658 * html/canvas/WebGLCompressedTextureATC.idl:
2659 * html/canvas/WebGLCompressedTexturePVRTC.idl:
2660 * html/canvas/WebGLCompressedTextureS3TC.idl:
2661 * html/canvas/WebGLDebugRendererInfo.idl:
2662 * html/canvas/WebGLDebugShaders.idl:
2663 * html/canvas/WebGLDepthTexture.idl:
2664 * html/canvas/WebGLLoseContext.idl:
2665 * html/track/TextTrack.idl:
2666 * html/track/TextTrackCue.idl:
2667 * html/track/TextTrackList.idl:
2668 * loader/appcache/DOMApplicationCache.idl:
2671 * page/DOMSelection.idl:
2672 * page/DOMWindow.idl:
2674 * page/Location.idl:
2675 * page/MemoryInfo.idl:
2676 * page/Navigator.idl:
2678 * page/WorkerNavigator.idl:
2679 * plugins/DOMMimeTypeArray.idl:
2680 * plugins/DOMPluginArray.idl:
2681 * storage/Storage.idl:
2682 * workers/AbstractWorker.idl:
2683 * workers/SharedWorker.idl:
2684 * workers/Worker.idl:
2685 * workers/WorkerContext.idl:
2686 * workers/WorkerLocation.idl:
2687 * xml/XMLHttpRequestUpload.idl:
2689 2013-04-16 Beth Dakin <bdakin@apple.com>
2691 Re-name Page::layoutMilestones() to Page::requestedLayoutMilestones()
2692 https://bugs.webkit.org/show_bug.cgi?id=114713
2694 Reviewed by Simon Fraser.
2696 * page/FrameView.cpp:
2697 (WebCore::FrameView::performPostLayoutTasks):
2699 (WebCore::Page::Page):
2700 (WebCore::Page::addLayoutMilestones):
2701 (WebCore::Page::removeLayoutMilestones):
2702 (WebCore::Page::isCountingRelevantRepaintedObjects):
2704 (WebCore::Page::requestedLayoutMilestones):
2706 * rendering/RenderLayerCompositor.cpp:
2707 (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2709 2013-04-16 Patrick Gansterer <paroga@webkit.org>
2711 [CMake] Fix dependecy calculation for generated inspector files
2712 https://bugs.webkit.org/show_bug.cgi?id=114092
2714 Reviewed by Brent Fulgham.
2716 At least in a generated Visual Studio solution the files generated via
2717 CodeGeneratorInspector.py are considered outdated all the time because
2718 the code generator only touches the file when the content changed.
2719 Add an --write_always parameter to the script to touch the file always.
2722 * inspector/CodeGeneratorInspector.py:
2724 2013-04-16 Anders Carlsson <andersca@apple.com>
2726 Clone storage namespaces for window.open
2727 https://bugs.webkit.org/show_bug.cgi?id=114703
2729 Reviewed by Sam Weinig.
2731 Pass the new page to StorageNamespace::copy.
2734 (WebCore::Chrome::createWindow):
2735 * storage/StorageNamespace.h:
2737 * storage/StorageNamespaceImpl.cpp:
2738 (WebCore::StorageNamespaceImpl::copy):
2739 * storage/StorageNamespaceImpl.h:
2741 (StorageNamespaceImpl):
2743 2013-04-16 Sam Weinig <sam@webkit.org>
2745 Fix fallout after r148545.
2747 * platform/text/TextChecking.h:
2748 Move Platform defines that were incorrectly in WebCore, into Platform.h
2750 2013-04-16 Hans Muller <hmuller@adobe.com>
2752 [CSS Exclusions] polygon shape-inside layout fails
2753 https://bugs.webkit.org/show_bug.cgi?id=114402
2755 Reviewed by Dirk Schulze.
2757 The firstIncludedIntervalLogicalTop() method's implementation relied on optimistic
2758 assumptions about floating point accuracy which, in rare cases, caused it to discard
2759 first-fit locations based on the intersection of the minLogicalIntervalTop offset edge
2760 and a polygon offset edge. Now: we do not verify that first-fit locations based on the
2761 intersection of an offset edge and the minLogicalIntervalTop offset edge are below
2762 the horizontal minLogicalIntervalTop line. They're essentially below the line "by definition".
2764 Test: fast/exclusions/shape-inside/shape-inside-polygon-layout.html
2766 * rendering/ExclusionPolygon.cpp:
2767 (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Avoid floating point problems
2768 when checking intersections with the offset edge based on minLogicalIntervalTop.
2769 * rendering/ExclusionPolygon.h:
2770 (WebCore::OffsetPolygonEdge::OffsetPolygonEdge): Initialize the basis field.
2771 (WebCore::OffsetPolygonEdge::basis): Report what the offset edge is "based on": a polygon
2772 edge, the top of the line, or a (reflex) vertex.
2773 (OffsetPolygonEdge): Added the Basis enum to enable tracking what the geometry of
2774 an offset edge is based on.
2776 2013-04-16 Jer Noble <jer.noble@apple.com>
2778 Further unreviewed build fix: protect JSAudioBufferCustom with a ENABLE(WEB_AUDIO) check.
2780 * bindings/js/JSAudioBufferCustom.cpp:
2782 2013-04-16 Jer Noble <jer.noble@apple.com>
2784 Unreviewed build fix; add new JSAudioBuffer.cpp file to more build systems.
2786 * GNUmakefile.list.am:
2790 2013-04-16 Jer Noble <jer.noble@apple.com>
2792 Repeated use of decodeAudioData() causes leak
2793 https://bugs.webkit.org/show_bug.cgi?id=114709
2795 Reviewed by Geoffrey Garen.
2797 Report the correct size of the AudioBuffer to the garbage collector so that creating
2798 these large buffers will trigger garbage collection.
2800 * Modules/webaudio/AudioBuffer.cpp:
2801 (WebCore::AudioBuffer::memoryCost): Added; simple sum of the buffer sizes in m_channels;
2802 * Modules/webaudio/AudioBuffer.h:
2803 * Modules/webaudio/AudioBuffer.idl: Add the CustomToJSObject flag.
2804 * WebCore.xcodeproj/project.pbxproj:
2805 * bindings/js/JSAudioBufferCustom.cpp: Added.
2806 (WebCore::toJS): Added; report the extra size of an AudioBuffer when the wrapper
2809 2013-04-16 Beth Dakin <bdakin@apple.com>
2811 Need a new layout milestone to notify bundle clients when the header has been
2813 https://bugs.webkit.org/show_bug.cgi?id=114706
2815 <rdar://problem/13657284>
2817 Reviewed by Simon Fraser.
2819 New LayoutMilestone is DidFirstFlushForHeaderLayer.
2820 * page/LayoutMilestones.h:
2822 New API to allow removing a LayoutMilestone.
2825 (WebCore::Page::removeLayoutMilestones):
2829 New boolean member variable m_headerLayerAwaitingFirstFlush keeps track of whether
2830 we need to send the DidFirstFlushForHeaderLayer milestone.
2831 * rendering/RenderLayerCompositor.h:
2832 (RenderLayerCompositor):
2833 * rendering/RenderLayerCompositor.cpp:
2834 (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2836 Send the milestone if appropriate.
2837 (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2839 Set m_headerLayerAwaitingFirstFlush to true for a newly created layer.
2840 (WebCore::RenderLayerCompositor::updateLayerForHeader):
2842 2013-04-16 Tim Horton <timothy_horton@apple.com>
2844 PlugIn Snapshotting: Crashes refreshing non-main-frame PDFPlugins
2845 https://bugs.webkit.org/show_bug.cgi?id=114702
2846 <rdar://problem/13542020>
2848 Reviewed by Dean Jackson.
2852 a) a plugin fails all the tests in willCreatePlugIn, so it is WaitingForSnapshot there
2853 b) primary plugin detection attempts to restart a plugin between the
2854 time that willCreatePlugIn and didCreatePlugIn fire
2855 c) when didCreatePlugIn fires, shouldAlwaysAutoStart() returns true,
2856 because the plug-in is whitelisted,
2858 we end up reattach()ing and going to Restarted state, and then going straight
2859 to Playing state in didCreatePlugIn.
2861 Instead, primary plugin promotion should be deferred until after the plugin is created,
2862 so that we can take that one last bit of information (shouldAlwaysAutoStart) into account
2863 before restarting and reattaching the plug-in.
2865 * html/HTMLPlugInImageElement.cpp:
2866 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
2867 (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn):
2868 (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
2869 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
2870 (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn):
2871 * html/HTMLPlugInImageElement.h:
2873 2013-04-16 Wei James <james.wei@intel.com>
2875 ASSERTION FAILED: i < size(), UNKNOWN in WebCore::ChannelMergerNode::process
2876 https://bugs.webkit.org/show_bug.cgi?id=112657
2878 Avoid to access input bus in checkNumberOfChannelsForInput() before the
2879 bus is updated with AudioNode::checkNumberOfChannelsForInput().
2881 Reviewed by Chris Rogers.
2883 * Modules/webaudio/ChannelMergerNode.cpp:
2884 (WebCore::ChannelMergerNode::checkNumberOfChannelsForInput):
2886 2013-04-16 Ryosuke Niwa <rniwa@webkit.org>
2888 Even more Windows build fix and a Qt minimal build fix attempt.
2890 * html/parser/XSSAuditorDelegate.cpp:
2891 * page/win/FrameCGWin.cpp:
2893 2013-04-16 Ryosuke Niwa <rniwa@webkit.org>
2895 More Windows build fixes.
2897 * platform/win/DragDataWin.cpp:
2898 * platform/win/PasteboardWin.cpp:
2900 2013-04-16 Sam Weinig <sam@webkit.org>
2904 * page/win/FrameWin.cpp:
2906 2013-04-16 Dean Jackson <dino@apple.com>
2908 PlugIns that resize in user gestures should be immune to snapshotting
2909 https://bugs.webkit.org/show_bug.cgi?id=114697
2910 <rdar://problem/13666258>
2912 Reviewed by Tim Horton.
2914 Now that we snapshot plugins if they resize above the snapshotting threshold,
2915 we need to make sure that we don't do it in response to a user gesture
2918 Due to the complexities of real-world content and the way they often do
2919 things using timeout, I copied the code from the generic user gesture
2920 timeout, which gives a 5 second grace period after clicks.
2922 * html/HTMLPlugInImageElement.cpp:
2923 (WebCore::documentHadRecentUserGesture): New static function to share the code for
2924 checking the time since the last click (or whatever).
2925 (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): Make sure
2926 to test for a user gesture.
2927 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Move the
2928 code into the new function.
2930 2013-04-15 Sam Weinig <sam@webkit.org>
2932 Remove more #includes from Frame.h
2933 https://bugs.webkit.org/show_bug.cgi?id=114642
2935 Reviewed by Anders Carlsson.
2937 Convert Editor, FrameSelection, EventHandler and AnimationController into
2938 OwnPtrs, to avoid inclusion.
2940 * accessibility/AXObjectCache.cpp:
2941 * accessibility/AccessibilityObject.cpp:
2942 * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
2943 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2944 * bindings/objc/DOM.mm:
2945 * dom/CharacterData.cpp:
2946 * dom/ContainerNode.cpp:
2948 * editing/AlternativeTextController.cpp:
2949 * editing/CompositeEditCommand.cpp:
2950 * editing/DeleteButtonController.h:
2951 * editing/EditingStyle.cpp:
2952 * editing/InsertLineBreakCommand.cpp:
2953 * editing/SpellChecker.cpp:
2954 * editing/SpellingCorrectionCommand.cpp:
2955 * editing/TextInsertionBaseCommand.cpp:
2956 * history/CachedFrame.cpp:
2957 * html/HTMLAnchorElement.cpp:
2958 * html/HTMLInputElement.cpp:
2959 * html/HTMLPlugInElement.cpp:
2960 * html/HTMLSelectElement.cpp:
2961 * html/HTMLTextAreaElement.cpp:
2962 * html/HTMLTextFormControlElement.cpp:
2963 * html/TextFieldInputType.cpp:
2964 * html/shadow/ClearButtonElement.cpp:
2965 * html/shadow/MediaControlElements.cpp:
2966 * html/shadow/SliderThumbElement.cpp:
2967 * inspector/InspectorPageAgent.h:
2968 * loader/FrameLoader.cpp:
2969 * page/DOMWindow.cpp:
2972 * page/FrameView.cpp:
2975 * page/TouchAdjustment.cpp:
2976 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2977 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2978 * platform/gtk/PasteboardGtk.cpp:
2979 * platform/qt/ClipboardQt.cpp:
2980 * rendering/HitTestResult.cpp:
2981 * rendering/RenderBlock.cpp:
2982 * rendering/RenderEmbeddedObject.cpp:
2983 * rendering/RenderLayer.cpp:
2984 * rendering/RenderNamedFlowThread.cpp:
2985 * rendering/RenderObject.cpp:
2986 * rendering/RenderSnapshottedPlugIn.cpp:
2987 * svg/graphics/SVGImage.cpp:
2988 * testing/Internals.cpp:
2990 2013-04-16 Jessie Berlin <jberlin@apple.com>
2992 Speculative Windows build fix.
2994 * platform/win/ContextMenuWin.cpp:
2996 2013-04-16 Eric Carlson <eric.carlson@apple.com>
2998 [Mac] in-band cues sometimes displayed late
2999 https://bugs.webkit.org/show_bug.cgi?id=114629
3001 Reviewed by Jer Noble.
3003 No new tests, this deals with a platform-specific issue that is extremely timing dependent.
3005 * html/track/InbandTextTrack.cpp:
3006 (WebCore::TextTrackCueMap::add): New, two way cue data <-> cue map.
3007 (WebCore::TextTrackCueMap::find):
3008 (WebCore::TextTrackCueMap::remove):
3009 (WebCore::InbandTextTrack::updateCueFromCueData): New, update an existing cue. Set cue end time
3010 to video duration if it is unknown.
3011 (WebCore::InbandTextTrack::addGenericCue): Look for existing cues without considering duration
3012 so we can match incomplete cues.
3013 (WebCore::InbandTextTrack::updateGenericCue): New, update an existing cue. This allows us to
3014 add in-band cues as soon as we get them from the media engine and update them as more
3015 information becomes available.
3016 (WebCore::InbandTextTrack::removeGenericCue): New, remove an existing cue. This is necessary
3017 because we never want to keep an incomplete cue when a seek happens.
3018 (WebCore::InbandTextTrack::removeCue): New, base class override so we can keep the two way
3020 * html/track/InbandTextTrack.h:
3022 * html/track/TextTrack.cpp:
3023 (WebCore::TextTrack::addCue): TextTrack::removeCue takes a RefPtr.
3024 (WebCore::TextTrack::removeCue): Take a RefPtr.
3025 (WebCore::TextTrack::hasCue): Allow caller to request match without considering end time.
3026 * html/track/TextTrack.h:
3028 * html/track/TextTrackCue.cpp:
3029 (WebCore::TextTrackCue::TextTrackCue): Initialize m_processingCueChanges.
3030 (WebCore::TextTrackCue::willChange): Renamed from cueWillChange. Use m_processingCueChanges
3031 to avoid thrashing the track when many cue properties will change.
3032 (WebCore::TextTrackCue::didChange): Renamed from cueDidChange. Use m_processingCueChanges
3033 to avoid thrashing the track when many cue properties will change.
3034 (WebCore::TextTrackCue::setId): cueWillChange -> willChange. cueDidChange -> didChange.
3035 (WebCore::TextTrackCue::setStartTime): Ditto.
3036 (WebCore::TextTrackCue::setEndTime): Ditto.
3037 (WebCore::TextTrackCue::setPauseOnExit): Ditto.
3038 (WebCore::TextTrackCue::setVertical): Ditto.
3039 (WebCore::TextTrackCue::setSnapToLines): Ditto.
3040 (WebCore::TextTrackCue::setLine): Ditto.
3041 (WebCore::TextTrackCue::setPosition): Ditto.
3042 (WebCore::TextTrackCue::setSize): Ditto.
3043 (WebCore::TextTrackCue::setAlign): Ditto.
3044 (WebCore::TextTrackCue::setText): Ditto.
3045 (WebCore::TextTrackCue::setRegionId): Ditto.
3046 (WebCore::TextTrackCue::isEqual): Renamed from operator==, take match rules param.
3047 * html/track/TextTrackCue.h:
3049 * html/track/TextTrackCueGeneric.cpp:
3050 (WebCore::TextTrackCueGeneric::isEqual): Renamed from operator==, take match rules param.
3051 * html/track/TextTrackCueGeneric.h:
3053 * platform/graphics/InbandTextTrackPrivateClient.h: Make GenericCueData refcounted.
3054 (WebCore::GenericCueData::create): New.
3055 (WebCore::GenericCueData::status): Ditto.
3056 (WebCore::GenericCueData::setStatus): Ditto.
3057 (WebCore::GenericCueData::GenericCueData):
3059 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
3060 (WebCore::InbandTextTrackPrivateAVF::processCue): Add cues as soon as we get them from the media
3061 engine, update duration once we know it.
3062 (WebCore::InbandTextTrackPrivateAVF::resetCueValues): Tell the client to remove all incomplete
3063 cues we have delivered.
3064 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
3066 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3067 (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Do not flush cues when seek completes,
3068 we did that when the seek started and cues can be delivered before we get the the
3069 seek completed notification.
3071 2013-04-16 James Craig <james@cookiecrook.com>
3073 dfn element should be exposed as AXGroup:AXDefinition
3074 https://bugs.webkit.org/show_bug.cgi?id=108980
3076 Reviewed by Chris Fleizach.
3078 dfn element now exposed as AXGroup:AXDefinition. Updated existing tests.
3080 * accessibility/AccessibilityRenderObject.cpp:
3081 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
3082 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3084 2013-04-16 Anders Carlsson <andersca@apple.com>
3086 Begin chipping away at ScriptState
3087 https://bugs.webkit.org/show_bug.cgi?id=114695
3089 Reviewed by Geoffrey Garen.
3091 Remove ScriptStateProtectedPtr as well as evalEnabled and setEvalEnabled.
3093 * bindings/js/ScriptState.cpp:
3094 * bindings/js/ScriptState.h:
3095 * inspector/InjectedScriptBase.cpp:
3096 (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
3097 * inspector/ScriptArguments.cpp:
3098 (WebCore::ScriptArguments::ScriptArguments):
3099 (WebCore::ScriptArguments::globalState):
3100 * inspector/ScriptArguments.h:
3102 2013-04-15 Anders Carlsson <andersca@apple.com>
3104 Remove unneeded headers from ScriptExecutionContext.h
3105 https://bugs.webkit.org/show_bug.cgi?id=114631
3107 Reviewed by Alexey Proskuryakov.
3109 This shaves another minute off WebCore build time on my MacBook Pro.
3111 * dom/ScriptExecutionContext.cpp:
3112 * dom/ScriptExecutionContext.h:
3114 * rendering/RenderBlock.cpp:
3115 * rendering/RenderBox.cpp:
3116 * rendering/RenderFlowThread.cpp:
3117 * rendering/RenderFrameSet.cpp:
3118 * rendering/RenderIFrame.cpp:
3119 * rendering/RenderImage.cpp:
3120 * rendering/RenderListBox.cpp:
3121 * rendering/RenderListItem.cpp:
3122 * rendering/RenderListMarker.cpp:
3123 * rendering/RenderMedia.cpp:
3124 * rendering/RenderObject.cpp:
3125 * rendering/RenderRegion.cpp:
3126 * rendering/RenderReplaced.cpp:
3127 * rendering/RenderReplica.cpp:
3128 * rendering/RenderRubyRun.cpp:
3129 * rendering/RenderScrollbarPart.cpp:
3130 * rendering/RenderSlider.cpp:
3131 * rendering/RenderTable.cpp:
3132 * rendering/RenderTableCell.cpp:
3133 * rendering/RenderTableRow.cpp:
3134 * rendering/RenderTableSection.cpp:
3135 * rendering/RenderTextControlSingleLine.cpp:
3136 * rendering/RenderTextTrackCue.cpp:
3137 * rendering/RenderVideo.cpp:
3138 * rendering/RenderView.cpp:
3139 * rendering/RenderWidget.cpp:
3140 * rendering/svg/RenderSVGContainer.cpp:
3141 * rendering/svg/RenderSVGForeignObject.cpp:
3142 * rendering/svg/RenderSVGGradientStop.cpp:
3143 * rendering/svg/RenderSVGHiddenContainer.cpp:
3144 * rendering/svg/RenderSVGImage.cpp:
3145 * rendering/svg/RenderSVGResourceContainer.cpp:
3146 * rendering/svg/RenderSVGResourceMarker.cpp:
3147 * rendering/svg/RenderSVGRoot.cpp:
3148 * rendering/svg/RenderSVGShape.cpp:
3149 * rendering/svg/RenderSVGText.cpp:
3151 2013-04-16 Maciej Stachowiak <mjs@apple.com>
3153 Remove even yet still more traces of v8
3154 https://bugs.webkit.org/show_bug.cgi?id=114693
3156 Reviewed by Anders Carlsson.
3160 * bindings/generic/ActiveDOMCallback.h:
3161 (WebCore::ActiveDOMCallback::isScriptControllerTerminating): Remove a V8-specific
3162 method and the comment referencing it.
3163 * bindings/generic/ActiveDOMCallback.cpp:
3164 (WebCore::ActiveDOMCallback::isScriptControllerTerminating): ditto
3166 (WebCore::File::File): Remove a comment referencing v8
3167 * inspector/InjectedScriptExterns.js: ditto
3169 2013-04-16 Alexey Proskuryakov <ap@apple.com>
3171 Remove unused AlternativeTextClient::dismissDictationAlternativeUI
3172 https://bugs.webkit.org/show_bug.cgi?id=114598
3174 Reviewed by Ryosuke Niwa.
3179 * editing/mac/AlternativeTextUIController.h: Made dismissAlternatives() private.
3180 * page/AlternativeTextClient.h:
3182 2013-04-16 Robert Hogan <robert@webkit.org>
3184 Float at exact multiple of line-height affects too many lines
3185 https://bugs.webkit.org/show_bug.cgi?id=112744
3187 Reviewed by David Hyatt.
3189 Tests: fast/block/float/float-with-fractional-height-vertical-lr.html
3190 fast/block/float/float-with-fractional-height.html
3192 When adding floats to the interval tree used for testing floats' overlap with lineboxes
3193 truncate the dimensions of the float rather than rounding them. This matches the
3194 treatment of linebox dimensions so ensures the test for overlap is comparing like
3197 * rendering/RenderBlock.cpp:
3198 (WebCore::::collectIfNeeded):
3199 (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
3200 (WebCore::::string):
3202 2013-04-16 Chris Fleizach <cfleizach@apple.com>
3204 AX: aria-valuetext is not exposed on OS X.
3205 https://bugs.webkit.org/show_bug.cgi?id=114628
3207 Reviewed by Tim Horton.
3209 aria-valuetext is only being exposed on ARIA controls. That's because there were
3210 checks in place so that ONLY ARIA defined controls would return anything related to valuetext.
3211 We should allow this to work on native controls as well.
3213 Test: platform/mac/accessibility/aria-valuetext-on-native-slider.html
3215 * accessibility/AccessibilityNodeObject.cpp:
3216 (WebCore::AccessibilityNodeObject::valueDescription):
3218 (WebCore::AccessibilityNodeObject::valueForRange):
3219 (WebCore::AccessibilityNodeObject::maxValueForRange):
3220 (WebCore::AccessibilityNodeObject::minValueForRange):
3221 * accessibility/AccessibilityNodeObject.h:
3222 (AccessibilityNodeObject):
3223 * accessibility/AccessibilityObject.cpp:
3224 (WebCore::AccessibilityObject::isRangeControl):
3225 Rename isARIAControl to isRangeControl and make it apply to all elements.
3226 * accessibility/AccessibilityObject.h:
3228 2013-04-15 Jon Lee <jonlee@apple.com>
3230 RenderView should bail out of paintBoxDecorations() when painting with a different renderer
3231 https://bugs.webkit.org/show_bug.cgi?id=114665
3232 <rdar://problem/13434884>
3234 Reviewed by Simon Fraser.
3236 * rendering/RenderView.cpp:
3237 (WebCore::RenderView::paintBoxDecorations): Add a check to see if we should paint within the renderer.
3238 This check exists in all other implementations of paintBoxDecorations(), and correctly avoids painting the
3239 decorations if the root provided is not the RenderView.
3241 2013-04-16 Max Vujovic <mvujovic@adobe.com>
3243 [CSS Shaders] Remove the cache of validated programs
3244 https://bugs.webkit.org/show_bug.cgi?id=112844
3246 Reviewed by Dean Jackson.
3248 Since we're caching CustomFilterProgram(s) now, we don't need another cache for
3249 CustomFilterValidatedProgram(s). With this patch, CustomFilterProgram stores a reference
3250 to a lazily created CustomFilterValidatedProgram, and CustomFilterGlobalContext no longer
3251 has a validated program cache.
3253 Also, this patch removes the CustomFilterValidatedProgram's stored reference to
3254 CustomFilterGlobalContext. The removal of the validated program cache would cause
3255 this reference to become weak. Validated programs only needed to keep the global context
3256 reference in order to create a CustomFilterCompiledProgram. In this patch, we create
3257 CustomFilterCompiledProgram(s) in FECustomFilter instead of in CustomFilterValidatedProgram,
3258 so validated programs don't need to store the global context reference anymore.
3260 No new tests. Just Refactoring.
3262 * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
3263 (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
3264 * platform/graphics/filters/CustomFilterGlobalContext.cpp:
3265 (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
3266 * platform/graphics/filters/CustomFilterGlobalContext.h:
3267 (CustomFilterGlobalContext):
3268 * platform/graphics/filters/CustomFilterProgram.cpp:
3269 (WebCore::CustomFilterProgram::validatedProgram):
3270 (WebCore::CustomFilterProgram::setValidatedProgram):
3271 * platform/graphics/filters/CustomFilterProgram.h:
3272 * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
3273 (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
3274 (WebCore::CustomFilterValidatedProgram::compiledProgram):
3275 (WebCore::CustomFilterValidatedProgram::setCompiledProgram):
3276 (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
3277 * platform/graphics/filters/CustomFilterValidatedProgram.h:
3278 (CustomFilterValidatedProgram):
3279 * platform/graphics/filters/FECustomFilter.cpp:
3280 (WebCore::FECustomFilter::prepareForDrawing):
3281 * rendering/FilterEffectRenderer.cpp:
3282 * rendering/RenderLayer.cpp:
3283 (WebCore::RenderLayer::computeFilterOperations):
3285 2013-04-16 Anthony Scian <ascian@blackberry.com>
3287 [BlackBerry] LayerTexture: check if the graphics context is NULL
3288 https://bugs.webkit.org/show_bug.cgi?id=114674
3290 Reviewed by Rob Buis.
3294 * platform/graphics/blackberry/LayerTexture.cpp:
3295 (WebCore::LayerTexture::setContentsToColor):
3297 2013-04-13 Andreas Kling <akling@apple.com>
3299 REGRESSION(r148128): window.resizeTo doesn't work from Safari address bar.
3300 <rdar://problem/13635894>
3301 <http://webkit.org/b/114561>
3303 Reviewed by Sam Weinig.
3305 Suppressing window geometry changes while any user gesture is active was a bit too restrictive,
3306 and broke legitimate use-cases. Narrow it down to checking EventHandler::mousePressed().
3308 No test yet, adding one is tracked by <http://webkit.org/b/114561>.
3310 * page/DOMWindow.cpp:
3311 (WebCore::DOMWindow::allowedToChangeWindowGeometry):
3313 Added to share code between all DOMWindow functions that alter window geometry.
3315 (WebCore::DOMWindow::moveBy):
3316 (WebCore::DOMWindow::moveTo):
3317 (WebCore::DOMWindow::resizeBy):
3318 (WebCore::DOMWindow::resizeTo):
3320 2013-04-16 Manuel Rego Casasnovas <rego@igalia.com>
3322 [GTK][EFL] Remove deprecated libsoup API usage
3323 https://bugs.webkit.org/show_bug.cgi?id=104894
3325 Reviewed by Philippe Normand.
3327 Based on a patch by Claudio Saavedra <csaavedra@igalia.com>.
3328 Remove LIBSOUP_USE_UNSTABLE_REQUEST_API and only include
3331 * platform/network/ResourceHandleInternal.h:
3332 * platform/network/soup/GOwnPtrSoup.cpp:
3333 * platform/network/soup/ProxyResolverSoup.h:
3334 * platform/network/soup/ResourceErrorSoup.cpp:
3335 * platform/network/soup/ResourceHandleSoup.cpp:
3336 (WebCore::ensureSessionIsInitialized): No need to add the requester
3338 (WebCore::createSoupRequestAndMessageForHandle): SoupSession has a
3339 requester API, use it.
3341 2013-04-15 Maciej Stachowiak <mjs@apple.com>
3343 Remove more traces of the now-obsolete support for V8
3344 https://bugs.webkit.org/show_bug.cgi?id=114657
3346 Reviewed by Ryosuke Niwa.
3348 In addition to passing existing tests, I verified that the ElementFactory
3349 and ElementWrapperFactory files were all textually identical before and after.
3351 * dom/CustomEvent.cpp:
3352 (WebCore): Remove Use(V8) bock.
3353 * dom/CustomEvent.h:
3354 (CustomEvent): ditto
3355 * dom/MessageEvent.cpp:
3356 (WebCore::MessageEvent::MessageEvent): ditto
3357 (WebCore::MessageEvent::initMessageEvent): ditto
3360 * dom/make_event_factory.pl:
3361 (generateImplementation): Remove V8 support.
3362 * dom/make_names.pl: Remove gobs of V8 support and simplify.
3363 (printJSElementIncludes):
3364 (printConditionalElementIncludes):
3365 (printFactoryCppFile):
3366 (printWrapperFunctions):
3367 (printWrapperFactoryCppFile):
3368 (printWrapperFactoryHeaderFile):
3369 * inspector/InjectedScriptCanvasModuleSource.js: Remove V8 stack
3371 * platform/qt/PlatformSupport.h: Remove a macro only used for V8
3373 * svg/SVGZoomAndPan.h:
3374 (SVGZoomAndPan): Remove mention of V8 from comment.
3376 2013-04-15 Ryosuke Niwa <rniwa@webkit.org>
3378 Potential use after free in ApplyStyleCommand::splitAncestorsWithUnicodeBidi
3379 https://bugs.webkit.org/show_bug.cgi?id=114664
3381 Reviewed by Oliver Hunt.
3383 Use RefPtr as needed.
3385 No new tests since this bug was discovered by code inspection.
3387 * editing/ApplyStyleCommand.cpp:
3388 (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
3390 2013-04-15 Timothy Hatcher <timothy@apple.com>
3392 Web Inspector: Make var and function declarations work again in the Console.
3394 https://webkit.org/b/114534
3395 rdar://problem/13614477
3397 Reviewed by Oliver Hunt.
3399 * inspector/InjectedScriptSource.js:
3400 (InjectedScript.prototype._evaluateOn): Use 'with' when not evaluating
3403 2013-04-15 Seokju Kwon <seokju.kwon@gmail.com>
3405 Web Inspector: Add missing Localized strings
3406 https://bugs.webkit.org/show_bug.cgi?id=114656
3408 Reviewed by Timothy Hatcher.
3410 No tests because no behavior change is expected.
3412 * English.lproj/localizedStrings.js:
3414 2013-04-15 Dean Jackson <dino@apple.com>
3416 Rename restartedPlugin to isRestartedPlugin. This was
3417 review feedback from r148038 that I thought I fixed
3418 everywhere but failed.
3419 https://bugs.webkit.org/show_bug.cgi?id=114233
3421 * html/HTMLPlugInElement.h:
3422 (WebCore::HTMLPlugInElement::isRestartedPlugin): Prefix with "is".
3423 * html/HTMLPlugInImageElement.cpp:
3424 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
3425 (WebCore::HTMLPlugInImageElement::setDisplayState):
3426 (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):
3427 * html/HTMLPlugInImageElement.h:
3428 * rendering/RenderEmbeddedObject.cpp:
3429 (WebCore::RenderEmbeddedObject::paintContents):
3430 * rendering/RenderLayerBacking.cpp:
3431 (WebCore::isRestartedPlugin):
3433 2013-04-15 Maciej Stachowiak <mjs@apple.com>
3435 Remove V8 attribtues from IDLAttributes.txt
3436 https://bugs.webkit.org/show_bug.cgi?id=114651
3438 Reviewed by Sam Weinig.
3440 No tests because no behavior change is expected.
3442 * bindings/scripts/IDLAttributes.txt: Remove V8 attribtues.
3443 * html/track/TextTrackList.idl: Remove a stray V8-specific attribute
3444 (so I guess this change is not useless)
3446 2013-04-15 James Craig <james@cookiecrook.com>
3448 WebKit should not expose AXSubrole:AXDescriptionList on Mountain Lion as it causes a regression in VoiceOver behavior
3449 https://bugs.webkit.org/show_bug.cgi?id=113975
3451 Reviewed by Chris Fleizach.
3453 Serve NSAccessibilityDescriptionListSubrole or NSAccessibilityDefinitionListSubrole
3454 depending on platform. Updated existing test coverage.
3456 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3457 (-[WebAccessibilityObjectWrapper subrole]):
3459 2013-04-15 Dean Jackson <dino@apple.com>
3461 Plugins that resize might need to be snapshotted.
3462 https://bugs.webkit.org/show_bug.cgi?id=102157
3463 <rdar://problem/12696259>