1 2014-02-14 Benjamin Poulain <benjamin@webkit.org>
3 Make code generation of the unoptimized pseudo classes separate
4 https://bugs.webkit.org/show_bug.cgi?id=128704
6 Reviewed by Andreas Kling.
8 Mapping the unoptimized selectors when generating the code was useful for debugging
9 but those cases are so common that looping over unoptimizedPseudoCheckers was more
10 costly than anticipated.
12 This patch moves the unoptimized pseudo selector in their own array to simplify code generation.
14 * cssjit/SelectorCompiler.cpp:
15 (WebCore::SelectorCompiler::addPseudoType):
16 (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
17 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
19 2014-02-14 Myles C. Maxfield <mmaxfield@apple.com>
21 Implement text-decoration-skip: auto
22 https://bugs.webkit.org/show_bug.cgi?id=128786
24 Reviewed by Dean Jackson.
26 http://lists.w3.org/Archives/Public/www-style/2014Feb/0485.html
27 We are updating the initial value of text-decoration-skip to a new value, "auto".
28 On Mac + iOS, this will have the same behavior as "skip".
30 Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-default.html
32 * css/CSSComputedStyleDeclaration.cpp:
33 (WebCore::renderTextDecorationSkipFlagsToCSSValue):
35 (WebCore::CSSParser::parseTextDecorationSkip):
36 * css/DeprecatedStyleBuilder.cpp:
37 (WebCore::valueToDecorationSkip):
38 * rendering/InlineTextBox.cpp:
39 (WebCore::InlineTextBox::paintDecoration):
40 * rendering/style/RenderStyle.h:
41 * rendering/style/RenderStyleConstants.h:
43 2014-02-13 Simon Fraser <simon.fraser@apple.com>
45 Give ScrollingTree(State)Nodes a reference to another layer, which is used for moving overflow:scroll contents around
46 https://bugs.webkit.org/show_bug.cgi?id=128790
48 Reviewed by Beth Dakin.
50 Have scrolling tree nodes and state nodes track another layer, the
51 "scrolled contents layer", for accelerated overflow:scroll.
53 When making ScrollingTreeScrollingNodes for overflow:scroll, the node's
54 layer will point to the composited element's primary layer, and its
55 scrolledContentsLayer to the layer that gets moved around by scrolling.
57 Do some other cleanup on AsyncScrollingCoordinator, removing
58 functions that just called through to nodes.
61 * page/scrolling/AsyncScrollingCoordinator.cpp:
62 (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
63 (WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
64 (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
65 (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
66 (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
67 (WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
68 * page/scrolling/AsyncScrollingCoordinator.h:
69 * page/scrolling/ScrollingCoordinator.h:
70 (WebCore::ScrollingCoordinator::updateScrollingNode):
71 * page/scrolling/ScrollingStateScrollingNode.cpp:
72 (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
73 (WebCore::ScrollingStateScrollingNode::setScrolledContentsLayer):
74 (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
75 (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
76 (WebCore::ScrollingStateScrollingNode::setFooterLayer):
77 * page/scrolling/ScrollingStateScrollingNode.h:
78 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
79 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
80 (WebCore::ScrollingTreeScrollingNodeIOS::updateBeforeChildren):
81 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
82 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
83 (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
84 * rendering/RenderLayerCompositor.cpp:
85 (WebCore::RenderLayerCompositor::fixedRootBackgroundLayerChanged):
87 2014-02-14 Chris Fleizach <cfleizach@apple.com>
89 AX: WebKit needs heuristics to differentiate lists used for layout from semantic data lists, similar to the heuristics for layout tables versus data tables.
90 https://bugs.webkit.org/show_bug.cgi?id=122320
92 Reviewed by Mario Sanchez Prada.
94 Many authors use lists for layout, rather than presenting data. Exposing these kinds of lists to accessibility users
95 makes the web harder to process and listen, while degrading the importance of real lists.
97 This introduces heuristics to filter out layout lists with the following:
98 1. If it's a named list, like ol or aria=list, then it's a list.
99 1a. Unless the list has no children, then it's not a list.
100 2. If it displays visible list markers, it's a list.
101 3. If it does not display list markers and has only one child, it's not a list.
102 4. If it does not have any listitem children, it's not a list.
103 5. Otherwise it's a list (for now).
105 Test: accessibility/list-detection.html
107 * accessibility/AccessibilityList.cpp:
108 (WebCore::AccessibilityList::determineAccessibilityRole):
109 (WebCore::AccessibilityList::roleValue):
110 * accessibility/AccessibilityList.h:
112 2014-02-14 Brendan Long <b.long@cablelabs.com>
114 Use AtomicString arguments in TrackPrivateBaseClient callbacks
115 https://bugs.webkit.org/show_bug.cgi?id=128765
117 Reviewed by Eric Carlson.
119 No new tests because this doesn't change functionality.
121 * html/track/AudioTrack.cpp:
122 (WebCore::AudioTrack::idChanged):
123 (WebCore::AudioTrack::labelChanged):
124 (WebCore::AudioTrack::languageChanged):
125 * html/track/AudioTrack.h:
126 * html/track/InbandTextTrack.cpp:
127 (WebCore::InbandTextTrack::InbandTextTrack):
128 (WebCore::InbandTextTrack::idChanged):
129 (WebCore::InbandTextTrack::labelChanged):
130 (WebCore::InbandTextTrack::languageChanged):
131 * html/track/InbandTextTrack.h:
132 * html/track/VideoTrack.cpp:
133 (WebCore::VideoTrack::idChanged):
134 (WebCore::VideoTrack::labelChanged):
135 (WebCore::VideoTrack::languageChanged):
136 * html/track/VideoTrack.h:
137 * platform/graphics/TrackPrivateBase.h:
139 2014-02-14 Renata Hodovan <rhodovan.u-szeged@partner.samsung.com>
141 ASSERTION FAILED: comparePositions(newEnd, newStart) >= 0 in WebCore::ApplyStyleCommand::updateStartEnd
142 https://bugs.webkit.org/show_bug.cgi?id=121791
144 Reviewed by Darin Adler.
146 If WebCore::ApplyStyleCommand::applyBlockStyle() creates a TextIterator for a range
147 that has an element with ReplacedElement rendering object, then a ',' is emitted in the
148 constructor of TextIterator. Due to this comma the end of the run range can be at the
149 wrong position, what makes the assertion fire. This situation can be handled the same
150 way in TextIterator::rangeFromLocationAndLength() as we do in case of the emitted '\n's.
152 Test: editing/execCommand/remove-formatting-from-iframe-in-button.html
154 * editing/TextIterator.cpp:
155 (WebCore::TextIterator::rangeFromLocationAndLength):
157 2014-02-14 Andrei Bucur <abucur@adobe.com>
159 [CSS Regions] visibility: hidden on a region should hide its content
160 https://bugs.webkit.org/show_bug.cgi?id=128814
162 Reviewed by Mihnea Ovidenie.
164 The patch properly checks that the content of a region layer should be painted before actually
165 calling the paint function (for example, when visibility: hidden is specified on a region, its
166 content should be hidden).
168 Test: fast/regions/visibility-hidden.html
170 * rendering/RenderLayer.cpp:
171 (WebCore::RenderLayer::paintLayerContents):
173 2014-02-14 László Langó <llango.u-szeged@partner.samsung.com>
175 Follow-up fix after r164036.
177 Reviewed by Csaba Osztrogonác.
180 (WebCore::Document::create):
182 2014-02-13 Byungseon Shin <sun.shin@lge.com>
184 [MSE] Move PublicURLManager shutdown logic so ActiveDOMObjects associated with public URLs won't leak.
185 https://bugs.webkit.org/show_bug.cgi?id=128532
187 Reviewed by Jer Noble.
189 This fixes a leak of DOM objects by breaking the circular reference
190 between Document, PublicURLManager, and MediaSource.
191 Instead of clearing PublicURLManager at destruction-time,
192 which is delayed indefinitely because of the circular reference,
193 clear the PublicURLManager during ActiveDOMObject::stop().
195 Frome Blink r151890 by <acolwell@chromium.org>
196 <https://src.chromium.org/viewvc/blink?view=rev&revision=151890>
198 * dom/ScriptExecutionContext.cpp:
199 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
200 (WebCore::ScriptExecutionContext::publicURLManager):
202 * html/PublicURLManager.cpp:
203 (WebCore::PublicURLManager::create):
204 (WebCore::PublicURLManager::PublicURLManager):
205 (WebCore::PublicURLManager::registerURL):
206 (WebCore::PublicURLManager::stop):
207 * html/PublicURLManager.h:
209 2014-02-13 Myles C. Maxfield <mmaxfield@apple.com>
211 Remove position:sticky runtime flag
212 https://bugs.webkit.org/show_bug.cgi?id=128774
214 Reviewed by Simon Fraser.
218 No new tests are necessary because there is no behavior change.
221 (WebCore::CSSParserContext::CSSParserContext):
222 (WebCore::operator==):
223 (WebCore::isValidKeywordPropertyAndValue):
224 * css/CSSParserMode.h:
228 (WebCore::Settings::Settings):
231 2014-02-04 Gustavo Noronha Silva <gns@gnome.org>
233 [GTK][CMake] Generate GObject DOM bindings .symbols files
234 https://bugs.webkit.org/show_bug.cgi?id=126210
236 Reviewed by Martin Robinson.
238 No new tests. Build change only.
240 * CMakeLists.txt: list Quota module files and IDLs even if the feature
241 is disabled, for GTK, since we rely on that for our DOM bindings.
242 * PlatformGTK.cmake: add a new target to check for DOM symbols API by
243 running the new python script.
244 * bindings/gobject/GNUmakefile.am: call the new python script instead
245 of using a custom rule.
247 2014-02-13 Myles C. Maxfield <mmaxfield@apple.com>
249 text-decoration-skip: ink skips randomly when using SVG fonts
250 https://bugs.webkit.org/show_bug.cgi?id=128709
252 Reviewed by Simon Fraser.
254 This patch simply disables skipping underlines being used with SVG fonts.
255 It's a stopgap until we can support skipping properly with SVG fonts.
257 Test: svg/custom/svg-fonts-skip-ink.html
259 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
260 (WebCore::FontPlatformData::ctFont):
261 * platform/graphics/mac/FontMac.mm:
262 (WebCore::Font::dashesForIntersectionsWithRect):
264 2014-02-13 Daniel Bates <dabates@apple.com>
266 Fix the ARM build when HAVE_ARM_NEON_INTRINSICS is enabled
268 Add !HAVE(ARM_NEON_INTRINSICS)-guard around file-level inline function arithmeticSoftware to
269 avoid an unused function compiler warning when building with ARM Neon intrinsics.
271 * platform/graphics/filters/FEComposite.cpp:
273 2014-02-13 Brady Eidson <beidson@apple.com>
275 IDB: Three tests crash the DatabaseProcess under ~KeyedDecoder
276 https://bugs.webkit.org/show_bug.cgi?id=128763
278 Reviewed by Anders Carlsson.
280 No new tests (Covered by three existing tests)
282 * platform/KeyedCoding.h:
283 (WebCore::KeyedEncoder::encodeObjects): If the array is empty we still have to begin() and end() it.
285 2014-02-13 Yuki Sekiguchi <yuki.sekiguchi@access-company.com>
287 [css3-text] Support -webkit-text-decoration-skip: objects
288 https://bugs.webkit.org/show_bug.cgi?id=128723
290 Reviewed by Dean Jackson.
292 Implemented 'objects' value of text-decoration-skip.
293 http://www.w3.org/TR/2013/CR-css-text-decor-3-20130801/#text-decoration-skip
295 This is initial value and same behavior without
296 ENABLE_CSS3_TEXT_DECORATION_SKIP_INK flag. Threfore, this patch only
297 added parser code and constant for 'objects'.
299 Changed the initial value of text-decoration-skip.
301 The current implementation parses 'none', but the rendering code is
302 not match the spec, so this patch added FIXME to the rendering code.
304 * css/CSSComputedStyleDeclaration.cpp:
305 (WebCore::renderTextDecorationSkipFlagsToCSSValue):
307 (WebCore::CSSParser::parseTextDecorationSkip):
308 * css/CSSValueKeywords.in:
309 * css/DeprecatedStyleBuilder.cpp:
310 (WebCore::valueToDecorationSkip):
311 * rendering/InlineTextBox.cpp:
312 (WebCore::InlineTextBox::paintDecoration):
313 * rendering/style/RenderStyle.h:
314 * rendering/style/RenderStyleConstants.h:
316 2014-02-13 Daniel Bates <dabates@apple.com>
318 Fix ARM NEON build following <http://trac.webkit.org/changeset/164058>
319 (https://bugs.webkit.org/show_bug.cgi?id=128767)
321 I inadvertently didn't include header NEONHelpers.h, which defines WebCore::loadRGBA8AsFloat().
323 * platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
325 2014-02-13 Daniel Bates <dabates@apple.com>
327 Write FEComposite::computeArithmeticPixelsNeon() in terms of loadRGBA8AsFloat()
328 https://bugs.webkit.org/show_bug.cgi?id=128767
330 Reviewed by Dean Jackson.
332 This patch was inspired by Gabor Rapcsanyi's work in <https://bugs.webkit.org/show_bug.cgi?id=90669>.
334 Currently we duplicate code in FEComposite::computeArithmeticPixelsNeon() to read pixel data.
335 Instead we should use the convenience function WebCore::loadRGBA8AsFloat. This also resolves
336 an uninitialized variable compiler warning in the existing code.
338 * platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
339 (WebCore::FEComposite::computeArithmeticPixelsNeon):
341 2014-02-13 Myles C. Maxfield <mmaxfield@apple.com>
343 During a copy, position:fixed gets converted to position:absolute even if only part of the document is selected
344 https://bugs.webkit.org/show_bug.cgi?id=128688
346 Reviewed by Ryosuke Niwa.
348 Adds a field, m_needsPositionStyleConversion, to StyledMarkupAccumulator.
350 Also, renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy
352 Test: editing/pasteboard/copy-paste-doesnt-convert-sticky-and-fixed-during-partial-copy.html
354 * editing/markup.cpp:
355 (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
356 (WebCore::StyledMarkupAccumulator::appendElement):
357 (WebCore::createMarkupInternal):
359 * testing/InternalSettings.cpp:
360 (WebCore::InternalSettings::Backup::Backup):
361 (WebCore::InternalSettings::Backup::restoreTo):
362 (WebCore::InternalSettings::setShouldConvertPositionStyleOnCopy):
363 * testing/InternalSettings.h:
364 * testing/InternalSettings.idl:
366 2014-02-12 Timothy Hatcher <timothy@apple.com>
368 Enable inspection of recently used IndexedDB databases.
370 https://bugs.webkit.org/show_bug.cgi?id=128687
372 Reviewed by Brady Eidson & Joseph Pecoraro.
374 * Modules/indexeddb/IDBFactory.cpp:
375 (WebCore::IDBFactory::getDatabaseNames):
376 * Modules/indexeddb/IDBFactoryBackendInterface.h:
377 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
378 (WebCore::IDBFactoryBackendLevelDB::getDatabaseNames):
379 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
380 Fix up the arguments passed to getDatabaseNames.
382 * WebCore.xcodeproj/project.pbxproj:
383 Make DOMStringList.h private so WebKit2 can use it.
385 * inspector/InspectorIndexedDBAgent.cpp:
386 Modernize the loops and remove some PLATFORM(COCOA) ifdefs to
389 * inspector/protocol/IndexedDB.json: Use number for version to
390 allow larger values instead of clamping to int.
392 2014-02-13 Chang Shu <cshu@webkit.org>
394 Copying (createMarkup) wrapping text results in space between wrapped lines stripped.
395 https://bugs.webkit.org/show_bug.cgi?id=63233
397 The problem is StyledMarkupAccumulator uses renderedText and the space at
398 the end of the text has been stripped when the tag after the text was wrapped.
400 Reviewed by Ryosuke Niwa.
402 Test: editing/pasteboard/copy-text-with-wrapped-tag.html
404 * editing/TextIterator.cpp:
405 (WebCore::TextIterator::TextIterator):
406 (WebCore::TextIterator::handleTextBox):
407 * editing/TextIterator.h:
408 Check the special case when the iterator runs over a range that is followed by a non-text box.
409 In this case, the possible last space has been collapsed and needs to be restored.
410 * editing/markup.cpp:
411 (WebCore::StyledMarkupAccumulator::renderedText):
412 Check if the range is followed by more nodes and pass this information to the constructed TextIterator.
414 2014-02-13 Myles C. Maxfield <mmaxfield@apple.com>
416 Gaps for text-decoration-skip: ink are calculated assuming the glyph orientation is the same as the run orientation
417 https://bugs.webkit.org/show_bug.cgi?id=128718
419 Reviewed by Darin Adler.
421 This is a stop-gap patch to make underlines in CJK text not look terrible. A long-term fix is to refactor
422 showGlyphsWithAdvances to move rotation logic into a common place that the text-decoration-skip: ink code
425 Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-orientation-upright.html
427 * rendering/InlineTextBox.cpp:
428 (WebCore::InlineTextBox::paintDecoration):
430 2014-02-13 Andreas Kling <akling@apple.com>
432 InsertIntoTextNodeCommand should get Settings from the Frame.
433 <https://webkit.org/b/128678>
435 EditCommands have a frame() accessor that returns a reference,
436 so there's no need to go through Document.
438 Reviewed by Anders Carlsson.
440 * editing/InsertIntoTextNodeCommand.cpp:
441 (WebCore::InsertIntoTextNodeCommand::doApply):
443 2014-02-13 László Langó <llango.u-szeged@partner.samsung.com>
445 Document should be constructable
446 https://bugs.webkit.org/show_bug.cgi?id=115643
448 Reviewed by Darin Adler.
450 http://www.w3.org/TR/2014/WD-dom-20140204/#interface-document
451 Make Document constructable so that one can do "new Document"
452 instead of "document.implementation.createHTMLDocument('')".
454 Test: fast/dom/Document/document-constructor.html
457 (WebCore::Document::create):
458 (WebCore::Document::origin):
462 2014-02-13 Javier Fernandez <jfernandez@igalia.com>
464 [CSS Grid Layout] Rename named areas property
465 https://bugs.webkit.org/show_bug.cgi?id=127990
467 Reviewed by Sergio Villar Senin.
469 From Blink r165891 by <rego@igalia.com>
471 The property 'grid-template' has been renamed to 'grid-template-areas'
472 in the last two versions of the spec.
475 * GNUmakefile.list.am:
476 * WebCore.vcxproj/WebCore.vcxproj:
477 * WebCore.vcxproj/WebCore.vcxproj.filters:
478 * WebCore.xcodeproj/project.pbxproj:
479 * css/CSSComputedStyleDeclaration.cpp:
480 (WebCore::ComputedStyleExtractor::propertyValue):
481 * css/CSSGridTemplateAreasValue.cpp: Renamed from Source/WebCore/css/CSSGridTemplateValue.cpp.
482 (WebCore::CSSGridTemplateAreasValue::CSSGridTemplateAreasValue):
483 (WebCore::stringForPosition):
484 (WebCore::CSSGridTemplateAreasValue::customCSSText):
485 * css/CSSGridTemplateAreasValue.h: Renamed from Source/WebCore/css/CSSGridTemplateValue.h.
486 (WebCore::CSSGridTemplateAreasValue::create):
487 (WebCore::CSSGridTemplateAreasValue::~CSSGridTemplateAreasValue):
488 (WebCore::CSSGridTemplateAreasValue::gridAreaMap):
489 (WebCore::CSSGridTemplateAreasValue::rowCount):
490 (WebCore::CSSGridTemplateAreasValue::columnCount):
492 (WebCore::CSSParser::parseValue):
493 (WebCore::CSSParser::parseGridTemplateAreas):
495 * css/CSSPropertyNames.in:
497 (WebCore::CSSValue::equals):
498 (WebCore::CSSValue::cssText):
499 (WebCore::CSSValue::destroy):
501 (WebCore::CSSValue::isGridTemplateAreasValue):
502 * css/StyleResolver.cpp:
503 (WebCore::StyleResolver::applyProperty):
505 2014-02-13 Adrian Bunk <bunk@stusta.de>
507 Remove the last remnants of Maemo support
508 https://bugs.webkit.org/show_bug.cgi?id=85238
510 Reviewed by Ryosuke Niwa.
514 2014-02-13 ChangSeok Oh <changseok.oh@collabora.com>
516 Support ANGLE_instanced_arrays for GLES backend.
517 https://bugs.webkit.org/show_bug.cgi?id=128579
519 Reviewed by Dean Jackson.
521 Add some APIs to Extensions3D to support ANGLE_instanced_arrays for GLES backend.
522 At the same time, drawArraysInstanced, drawElementsInstanced and vertexAttribDivisor
523 are moved from GC3DOpenGL.cpp to GC3DOpenGLCommon.cpp since they could be shareable
524 through Extensions3D.
526 Covered by fast/canvas/webgl/angle-instanced-arrays.html
528 * platform/graphics/Extensions3D.h:
529 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
530 (WebCore::Extensions3DOpenGL::drawArraysInstanced):
531 (WebCore::Extensions3DOpenGL::drawElementsInstanced):
532 (WebCore::Extensions3DOpenGL::vertexAttribDivisor):
533 * platform/graphics/opengl/Extensions3DOpenGL.h:
534 * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
535 (WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
536 (WebCore::Extensions3DOpenGLES::drawArraysInstanced):
537 (WebCore::Extensions3DOpenGLES::drawElementsInstanced):
538 (WebCore::Extensions3DOpenGLES::vertexAttribDivisor):
539 (WebCore::Extensions3DOpenGLES::supportsExtension):
540 * platform/graphics/opengl/Extensions3DOpenGLES.h:
541 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
542 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
543 (WebCore::GraphicsContext3D::drawArraysInstanced):
544 (WebCore::GraphicsContext3D::drawElementsInstanced):
545 (WebCore::GraphicsContext3D::vertexAttribDivisor):
546 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
548 2014-02-13 Xabier Rodriguez Calvar <calvaris@igalia.com>
550 [GTK] MEDIA_CONTROLS_SCRIPT support
551 https://bugs.webkit.org/show_bug.cgi?id=123097
553 Reviewed by Jer Noble.
555 WebKitGTK+ multimedia controls are now managed from Javascript
556 code. Apple controls are kept as common code and GTK+ ones are
557 subclassed for the specific behavior.
559 Both CMake and Autotools build support is provided.
561 * CMakeLists.txt: Added support to build the media controls
562 script and their associated files.
563 * GNUmakefile.am: Added support to generate the C++ code from the
565 * GNUmakefile.list.am: Added the media controls script associated
567 * Modules/mediacontrols/MediaControlsHost.cpp:
568 * Modules/mediacontrols/MediaControlsHost.h:
569 * Modules/mediacontrols/MediaControlsHost.idl:
570 (WebCore::MediaControlsHost::supportsFullscreen): Added attribute
571 to know if the element supports fullscreen.
572 * Modules/mediacontrols/mediaControlsApple.js:
573 (Controller.prototype.handleWrapperMouseMove):
574 (Controller.prototype.handleWrapperMouseOut):
575 (Controller.prototype.updatePlaying): Use clear and
576 resetHideControlsTimer.
577 (Controller.prototype.clearHideControlsTimer): Added.
578 (Controller.prototype.resetHideControlsTimer): Added.
579 * Modules/mediacontrols/mediaControlsGtk.js: Added.
580 (createControls): Calls ControllerGtk.
581 (ControllerGtk): Calls the superclass.
582 (contains): Defines a function to know if an object is contained
584 (ControllerGtk.prototype.inheritFrom): Copies the method of the
585 superclass that are not reimplemented in the subclass.
586 (ControllerGtk.prototype.createControls): Calls the superclass and
587 create the remaining needed elements.
588 (ControllerGtk.prototype.configureInlineControls): Configures the
590 (ControllerGtk.prototype.setStatusHidden): Redefined empty.
591 (ControllerGtk.prototype.updateTime): Writes the duration and
592 current position. As it was so far, current time also includes
593 duration. If current time is bigger than 0 we show that.
594 (ControllerGtk.prototype.showCurrentTime): Shows current time and
595 hides duration label (that is included in current time).
596 (ControllerGtk.prototype.handlePlay): Calls the superclass and
597 force showing the current time.
598 (ControllerGtk.prototype.handleTimeUpdate): Always update the
600 (ControllerGtk.prototype.handleMuteButtonMouseOver): Shows the
602 (ControllerGtk.prototype.handleVolumeBoxMouseOut): Hides the
604 (ControllerGtk.prototype.addControls): Adds the enclosure instead
605 of the panel directly. Panel is, of course, part of the enclosure.
606 (ControllerGtk.prototype.updateReadyState): Shows the fullscreen
607 button only if fullscreen is supported. Sets the volume in up or
608 down mode depending on its position in the document. Updates the
610 (ControllerGtk.prototype.setControlsType): Creates the controls it
611 they were not created before. Unlike Apple ones, WebKitGTK+
612 fullscreen and inline controls are the same.
613 (ControllerGtk.prototype.updatePlaying): Calls the superclass and
614 shows the controls if not playing.
615 (ControllerGtk.prototype.handleCaptionButtonClicked): Redefined
616 empty. To be coherent with volume, that also shows a popup, this
617 is handled with mouseover instead of click.
618 (ControllerGtk.prototype.buildCaptionMenu): Calls the superclass
619 to build the menu, sets some listeners, centers the popup with the
620 captions button, keeps the current height and sets the style to 0,
621 which is needed to animate it.
622 (ControllerGtk.prototype.destroyCaptionMenu): Hides the caption menu.
623 (ControllerGtk.prototype.showCaptionMenu): Resets the height to
624 its original. We don't animate it with CSS because we would need
625 to specify a height in the style and we don't know it in advance.
626 (ControllerGtk.prototype.hideCaptionMenu): Sets height to 0.
627 (ControllerGtk.prototype.captionMenuTransitionEnd): When the
628 captions menu transtition ends, it is destroyed.
629 (ControllerGtk.prototype.handleCaptionButtonMouseOver): Creates
630 the caption menu and shows it.
631 (ControllerGtk.prototype.handleCaptionButtonMouseOut): Hides the
633 (ControllerGtk.prototype.handleCaptionMouseOut): Hides the
635 * PlatformGTK.cmake: Added WebCore to the target link libraries
636 and initialized the variables needed at CMakelists.txt
637 * css/mediaControlsGtk.css:
638 (audio::-webkit-media-controls-panel)
639 (video::-webkit-media-controls-panel): Added transtion based on opacity.
640 (video::-webkit-media-controls-panel): Set video opacity to 0.
641 (video::-webkit-media-controls-panel.paused): Set video opacity to 1.
642 (audio::-webkit-media-controls-panel div.mute-box): Set the same
643 style as the mute button to preserve the layout.
644 (audio::-webkit-media-controls-panel div.mute-box.hidden): Sets
646 (audio::-webkit-media-controls-mute-button)
647 (video::-webkit-media-controls-mute-button): Removed the outline
648 and the margin that is managed by the mute box now.
649 (audio::-webkit-media-controls-play-button)
650 (video::-webkit-media-controls-play-button): Removed the outline.
651 (audio::-webkit-media-controls-time-remaining-display)
652 (video::-webkit-media-controls-time-remaining-display): Removed
654 (audio::-webkit-media-controls-current-time-display)
655 (video::-webkit-media-controls-current-time-display): Added the
657 (video::-webkit-media-controls-time-remaining-display): Set
659 (video::-webkit-media-controls-time-remaining-display.show): Set
661 (video::-webkit-media-controls-time-remaining-display.hidden): Set
663 (audio::-webkit-media-controls-timeline)
664 (video::-webkit-media-controls-timeline): Removed outline.
665 (audio::-webkit-media-controls-volume-slider-container)
666 (video::-webkit-media-controls-volume-slider-container): Set
667 overflow hidden and set a transition by height.
668 (video::-webkit-media-controls-volume-slider-container.hidden):
670 (video::-webkit-media-controls-volume-slider-container.down): Set
671 bottom to be below the panel. Changed the border radius and
672 transition accordingly.
673 (video::-webkit-media-controls-panel .hidden.down): Sets default
675 (audio::-webkit-media-controls-volume-slider)
676 (video::-webkit-media-controls-volume-slider): Removed the outline.
677 (audio::-webkit-media-controls-toggle-closed-captions-button)
678 (video::-webkit-media-controls-toggle-closed-captions-button):
679 Removed the background that is painted from C++ and removed the
681 (video::-webkit-media-controls-closed-captions-container):
682 (video::-webkit-media-controls-closed-captions-container h3):
683 (video::-webkit-media-controls-closed-captions-container ul):
684 (video::-webkit-media-controls-closed-captions-container li):
685 (video::-webkit-media-controls-closed-captions-container li.selected): Changed
686 the style to make it more coherent with the rest of the controls.
687 (audio::-webkit-media-controls-fullscreen-button)
688 (video::-webkit-media-controls-fullscreen-button): Removed the outline.
689 (audio::-webkit-media-controls-panel button.hidden): Sets the
691 * html/HTMLMediaElement.cpp: UserAgentScripts.h is not needed here
692 and build cmake build would need for changes to get this compiled.
693 * platform/gtk/RenderThemeGtk.cpp:
694 (WebCore::nodeHasPseudo): Added. Checks if a node has a certain
696 (WebCore::nodeHasClass): Added. Checks if a node has a certain
698 (WebCore::supportsFocus): Removed some element types as outline is
700 (WebCore::RenderThemeGtk::paintMediaPlayButton): Checks if the
701 play button has the class paused to show the play icon instead of
703 (WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton):
704 Added. Paints the captions icon.
705 (WebCore::RenderThemeGtk::mediaControlsScript): Added. Loads the
707 * platform/gtk/RenderThemeGtk.h: Added the mediaControlsScript
708 method and declared the redefinition of the method to play the
711 2014-02-11 Alexey Proskuryakov <ap@apple.com>
713 Don't crash when SerializedScriptValue deserialization fails
714 https://bugs.webkit.org/show_bug.cgi?id=128657
716 Reviewed by Oliver Hunt.
718 Test: crypto/subtle/postMessage-worker.html
720 * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::data): Added a FIXME.
722 * bindings/js/SerializedScriptValue.cpp:
723 (WebCore::CloneBase::fail): Don't assert on failure.
724 (WebCore::SerializedScriptValue::deserialize): Never return a null JSValue, these
727 2014-02-12 Bem Jones-Bey <bjonesbe@adobe.com>
729 [CSS Shapes] Rename shapeSize and others to make ShapeInfo and friends easier to understand
730 https://bugs.webkit.org/show_bug.cgi?id=128685
732 Reviewed by Alexandru Chiculita.
734 The ShapeInfo hierarchy has grown organically as the spec has changed,
735 and the naming has become very stale and confusing. The spec is now in
736 Last Call, so it seems like a good time to take a stab towards better
737 naming that matches the spec terminology and is also more consistent
740 No new tests, no behavior change.
742 * rendering/RenderBlock.cpp:
743 (WebCore::RenderBlock::imageChanged): Use new names.
744 (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): Ditto.
745 (WebCore::shapeInfoRequiresRelayout): Ditto.
746 (WebCore::RenderBlock::computeShapeSize): Ditto.
747 (WebCore::RenderBlock::updateShapesAfterBlockLayout): Ditto.
748 * rendering/RenderBlock.h:
749 (WebCore::RenderBlock::logicalSizeForChild): This method makes it much
750 cleaner to set the reference box size.
751 * rendering/RenderBlockFlow.cpp:
752 (WebCore::RenderBlockFlow::positionNewFloats): Use new names.
753 * rendering/RenderBox.cpp:
754 (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Ditto.
755 (WebCore::RenderBox::imageChanged): Ditto.
756 * rendering/shapes/ShapeInfo.cpp:
757 (WebCore::getShapeImageMarginRect): Rename variables.
758 (WebCore::ShapeInfo<RenderType>::computedShape): More renames.
759 * rendering/shapes/ShapeInfo.h:
760 (WebCore::ShapeInfo::setReferenceBoxLogicalSize): Renamed from
762 (WebCore::ShapeInfo::logicalLineTop): Use new names.
763 (WebCore::ShapeInfo::logicalLineBottom): Ditto.
764 (WebCore::ShapeInfo::shapeContainingBlockLogicalHeight): Ditto.
765 (WebCore::ShapeInfo::markShapeAsDirty): Renamed from dirtyShapeSize.
766 (WebCore::ShapeInfo::isShapeDirty): Renamed from shapeSizeDirty.
767 (WebCore::ShapeInfo::referenceBoxLogicalSize): Renamed from shapeSize.
768 (WebCore::ShapeInfo::logicalTopOffset): Use new names.
769 (WebCore::ShapeInfo::logicalLeftOffset): Ditto.
770 * rendering/shapes/ShapeInsideInfo.cpp:
771 (WebCore::ShapeInsideInfo::updateSegmentsForLine): Ditto.
772 (WebCore::ShapeInsideInfo::adjustLogicalLineTop): Ditto.
773 (WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat): Ditto.
774 * rendering/shapes/ShapeInsideInfo.h:
775 * rendering/shapes/ShapeOutsideInfo.cpp:
776 (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine): Ditto.
777 * rendering/shapes/ShapeOutsideInfo.h:
779 2014-02-12 Brent Fulgham <bfulgham@apple.com>
781 REGRESSION: Crashing/Broken Tests Due To Unexpected 8-bit Character Data
782 https://bugs.webkit.org/show_bug.cgi?id=128698
784 Reviewed by Tim Horton.
786 * platform/graphics/win/UniscribeController.cpp:
787 (WebCore::UniscribeController::advance): Make 16-bit copy when needed.
788 (WebCore::UniscribeController::shapeAndPlaceItem): Handle 8-bit case when checking
791 2014-02-12 Benjamin Poulain <bpoulain@apple.com>
793 Document::childrenChanged does not necessarily have a page
795 Rubber stamped by Enrica Casucci.
798 (WebCore::Document::childrenChanged):
800 2014-02-12 Timothy Hatcher <timothy@apple.com>
802 Add a missing ": " between the URL and exception in STDOUT logs.
804 https://bugs.webkit.org/show_bug.cgi?id=128689
806 Reviewed by Joseph Pecoraro.
808 * page/PageConsole.cpp:
809 (WebCore::PageConsole::addMessage): Print ": " after calling
810 printSourceURLAndPosition now that it does not print it for us.
812 2014-02-12 Enrica Casucci <enrica@apple.com>
814 WK2: coordinate mapping for frames does not work when the page is scrolled.
815 https://bugs.webkit.org/show_bug.cgi?id=128690
816 <rdar://problem/16042925>
818 Reviewed by Simon Fraser.
820 We should not apply the scroll offset when using delegate scrolling.
822 * platform/ScrollView.cpp:
823 (WebCore::ScrollView::rootViewToContents):
824 (WebCore::ScrollView::contentsToRootView):
825 (WebCore::ScrollView::rootViewToTotalContents):
827 2014-02-12 Joseph Pecoraro <pecoraro@apple.com>
829 Web Inspector: Rename PageInjectedScript* to WebInjectedScript*
830 https://bugs.webkit.org/show_bug.cgi?id=128660
832 Reviewed by Timothy Hatcher.
834 Rename the files update build systems and users.
837 * GNUmakefile.list.am:
838 * WebCore.vcxproj/WebCore.vcxproj:
839 * WebCore.vcxproj/WebCore.vcxproj.filters:
840 * WebCore.xcodeproj/project.pbxproj:
841 * inspector/CommandLineAPIModule.cpp:
842 (WebCore::CommandLineAPIModule::host):
843 * inspector/InspectorAllInOne.cpp:
844 * inspector/InspectorController.cpp:
845 (WebCore::InspectorController::InspectorController):
846 * inspector/InspectorController.h:
847 * inspector/InspectorHeapProfilerAgent.cpp:
848 (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
849 * inspector/InspectorHeapProfilerAgent.h:
850 * inspector/InspectorProfilerAgent.cpp:
851 (WebCore::PageProfilerAgent::PageProfilerAgent):
852 (WebCore::InspectorProfilerAgent::create):
853 (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
854 (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
855 * inspector/InspectorProfilerAgent.h:
856 * inspector/PageConsoleAgent.cpp:
857 (WebCore::PageConsoleAgent::PageConsoleAgent):
858 (WebCore::PageConsoleAgent::addInspectedNode):
859 * inspector/PageConsoleAgent.h:
860 * inspector/WebConsoleAgent.cpp:
861 (WebCore::WebConsoleAgent::WebConsoleAgent):
862 (WebCore::WebConsoleAgent::frameWindowDiscarded):
863 (WebCore::WebConsoleAgent::addInspectedHeapObject):
864 * inspector/WebConsoleAgent.h:
865 * inspector/WebInjectedScriptHost.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.cpp.
866 (WebCore::WebInjectedScriptHost::type):
867 (WebCore::WebInjectedScriptHost::isHTMLAllCollection):
868 * inspector/WebInjectedScriptHost.h: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.h.
869 * inspector/WebInjectedScriptManager.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.cpp.
870 (WebCore::WebInjectedScriptManager::WebInjectedScriptManager):
871 (WebCore::WebInjectedScriptManager::disconnect):
872 (WebCore::WebInjectedScriptManager::didCreateInjectedScript):
873 (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor):
874 * inspector/WebInjectedScriptManager.h: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.h.
875 * inspector/WorkerConsoleAgent.cpp:
876 (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
877 * inspector/WorkerConsoleAgent.h:
878 * inspector/WorkerInspectorController.cpp:
879 (WebCore::WorkerInspectorController::WorkerInspectorController):
880 * inspector/WorkerInspectorController.h:
882 2014-02-12 Brent Fulgham <bfulgham@apple.com>
884 Unreviewed iOS Build fix after r163975.
886 * page/EventHandler.cpp: Use wheel event stubs if !PLATFORM(MAC) || PLATFORM(IOS).
888 2014-02-12 Gavin Barraclough <barraclough@apple.com>
890 Clean up PageThrottler interface
891 https://bugs.webkit.org/show_bug.cgi?id=128677
893 Reviewed by Benjamin Poulain.
895 Currently, responsibility for throttling DOM timers & suspending animations is split
896 between the Page & the PageThrottler. Clarify by making Page responsible for suspending
897 animations (PageThrottler is now purely related to aspects of timer throttling), and
898 move all timer throttling policy to the PageThrottler, with a single function on Page to
899 enable (Page::setTimerThrottlingEnabled).
901 Also, transmit the full ViewState to the PageThrottler (not just the IsVisuallyIdle flag),
902 and distinguish between media & page-load activity.
905 - removed setDOMTimerAlignmentInterval.
906 * html/HTMLMediaElement.cpp:
907 (WebCore::HTMLMediaElement::parseAttribute):
908 - createActivityToken -> mediaActivityToken
909 * loader/FrameLoader.cpp:
910 (WebCore::FrameLoader::started):
911 - createActivityToken -> pageLoadActivityToken
913 (WebCore::Page::Page):
914 - added m_timerThrottlingEnabled, made PageThrottler a member
915 (WebCore::Page::setIsVisuallyIdleInternal):
916 - update animiation suspension.
917 (WebCore::Page::setTimerThrottlingEnabled):
918 - setTimerAlignmentInterval -> setTimerThrottlingEnabled
919 (WebCore::Page::setViewState):
920 - pass viewState to PageThrottler.
921 (WebCore::Page::setIsVisibleInternal):
922 - don't update timer throttling.
924 (WebCore::Page::pageThrottler):
925 - made PageThrottler a member.
926 (WebCore::Page::timerAlignmentInterval):
928 * page/PageThrottler.cpp:
929 (WebCore::PageThrottler::PageThrottler):
930 - initialize ViewState.
931 (WebCore::PageThrottler::~PageThrottler):
932 - clean up by calling setTimerThrottlingEnabled directly.
933 (WebCore::PageThrottler::hiddenPageDOMTimerThrottlingStateChanged):
935 (WebCore::PageThrottler::mediaActivityToken):
936 (WebCore::PageThrottler::pageLoadActivityToken):
937 - from Page::createActivityToken
938 (WebCore::PageThrottler::throttlePage):
939 (WebCore::PageThrottler::unthrottlePage):
940 - don't throttle animations here.
941 (WebCore::PageThrottler::setViewState):
942 (WebCore::PageThrottler::setIsVisible):
943 - added, throttle Dom timers.
944 * page/PageThrottler.h:
946 (WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
947 - removed setDOMTimerAlignmentInterval, hiddenPageDOMTimerThrottlingStateChanged moved to PageThrottler.
949 - removed setDOMTimerAlignmentInterval.
951 2014-02-12 Benjamin Poulain <bpoulain@apple.com>
953 [WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
954 https://bugs.webkit.org/show_bug.cgi?id=128639
956 Reviewed by Andreas Kling.
960 (WebCore::Document::childrenChanged):
961 Document::setDocType() has been removed and the doctype update code with it.
962 Add a call to didReceiveDocType() to ensure the viewport is updated when the doctype is parsed.
964 * loader/EmptyClients.h:
966 (WebCore::Chrome::didReceiveDocType):
967 * page/ChromeClient.h:
968 * page/ViewportConfiguration.cpp:
969 (WebCore::ViewportConfiguration::xhtmlMobileParameters):
970 * page/ViewportConfiguration.h:
972 2014-02-12 Alexey Proskuryakov <ap@apple.com>
974 Mountain Lion build fix.
976 * WebCore.exp.in: Only export WebCrypto symbols on 10.9+, because SUBTLE_CRYPTO
977 is not enabled on 10.8.
979 2014-02-12 Alexey Proskuryakov <ap@apple.com>
981 Wrap WebCrypto keys in SerializedScriptValue
982 https://bugs.webkit.org/show_bug.cgi?id=128680
984 Reviewed by Anders Carlsson.
986 Test: crypto/subtle/rsa-indexeddb.html
988 Added Mac code to wrap a key with AES-GCM. We then serialize it into a plist,
989 because more custom formats would be crazy (even the custom format in SerializedScriptValue
990 makes me nervous, we'll certainly need to change CryptoKey in the future).
993 * WebCore.xcodeproj/project.pbxproj:
994 * crypto/CommonCryptoUtilities.h:
995 * crypto/SerializedCryptoKeyWrap.h: Added.
996 * crypto/mac/SerializedCryptoKeyWrapMac.mm: Added.
997 (WebCore::vectorFromNSData):
998 (WebCore::wrapSerializedCryptoKey):
999 (WebCore::unwrapSerializedCryptoKey):
1001 2014-02-12 Brent Fulgham <bfulgham@apple.com>
1003 Wheel events don't latch to inner scrollable elements
1004 https://bugs.webkit.org/show_bug.cgi?id=128225
1005 <rdar://problem/12183688>
1007 Reviewed by Simon Fraser
1009 * WebCore.exp.in: Add declarations for new scrolledToTop, scrolledToBottom, scrolledToLeft, and scrolledToRight.
1010 * page/EventHandler.cpp:
1011 (WebCore::EventHandler::EventHandler):
1012 (WebCore::EventHandler::clear):
1013 (WebCore::findScrollableContainer): New helper function to locate first node
1014 in enclosing region of document that is capable of handling mouse wheel events.
1015 (WebCore::isAtMaxDominantScrollPosition): Predicate to check if the scrollable
1016 area is at the limit we will hit based on scroll direction.
1017 (WebCore::EventHandler::handleWheelEvent): Identify the case where we have hit
1018 the end of a scroll, and treat that as a valid 'handled' case. If the scroll event
1019 is just starting, treat end-of-scroll as unhandled so the parent element can
1021 * page/EventHandler.h:
1022 * page/scrolling/ScrollingTree.cpp:
1023 (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Use new methods
1024 on the PlatformWheelEvent class.
1025 (WebCore::ScrollingTree::setOrClearLatchedNode): Ditto
1026 * platform/PlatformWheelEvent.h:
1027 (WebCore::PlatformWheelEvent::shouldConsiderLatching): Moved implementation from ScrollingTree.
1028 (WebCore::PlatformWheelEvent::shouldClearLatchedNode): Ditto
1029 * platform/ScrollableArea.cpp:
1030 (WebCore::ScrollableArea::scrolledToTop): Added
1031 (WebCore::ScrollableArea::scrolledToBottom):Added
1032 (WebCore::ScrollableArea::scrolledToLeft): Added
1033 (WebCore::ScrollableArea::scrolledToRight): Added
1034 * platform/ScrollableArea.h:
1035 * rendering/RenderListBox.cpp:
1036 (WebCore::RenderListBox::scrolledToTop): Added
1037 (WebCore::RenderListBox::scrolledToBottom): Added
1038 (WebCore::RenderListBox::scrolledToLeft): Added
1039 (WebCore::RenderListBox::scrolledToRight): Added
1040 * rendering/RenderListBox.h: Changed to public inheritance of ScrollableArea to
1041 allow generic use of this type in scroll wheel logic.
1043 2014-02-12 Brendan Long <b.long@cablelabs.com>
1045 Implement DataCue for metadata cues
1046 https://bugs.webkit.org/show_bug.cgi?id=128402
1048 Reviewed by Eric Carlson.
1050 Test: media/track/track-datacue.html
1052 * CMakeLists.txt: Add DataCue.
1053 * DerivedSources.cpp: Add JSDataCue.
1054 * DerivedSources.make: Same.
1055 * GNUmakefile.list.am: Add DataCue and JSDataCue.
1056 * WebCore.vcxproj/WebCore.vcxproj: Add DataCue.
1057 * WebCore.vcxproj/WebCore.vcxproj.filters: Same.
1058 * WebCore.xcodeproj/project.pbxproj: Add DataCue and JSDataCue.
1059 * bindings/js/JSTextTrackCueCustom.cpp:
1060 (WebCore::toJS): Add DataCue wrapper.
1061 * html/track/DataCue.cpp: Copied from Source/WebCore/html/track/TextTrack.idl.
1062 * html/track/DataCue.h: Copied from Source/WebCore/html/track/TextTrack.idl.
1063 * html/track/DataCue.idl: Copied from Source/WebCore/html/track/TextTrack.idl.
1064 * html/track/InbandGenericTextTrack.cpp:
1065 (WebCore::InbandGenericTextTrack::addGenericCue): Pass ASSERT_NO_EXCEPTION to addCue().
1066 * html/track/InbandWebVTTTextTrack.cpp:
1067 (WebCore::InbandWebVTTTextTrack::newCuesParsed): Same.
1068 * html/track/TextTrack.cpp:
1069 (WebCore::TextTrack::addCue): Throw an exception if DataCue is added to a track that isn't kind="metadata".
1070 * html/track/TextTrack.h: Add exception code parameter to addCue().
1071 * html/track/TextTrack.idl: Add [RaisesException] to addCue().
1072 * html/track/TextTrackCue.h: Add Data CueType.
1074 2014-02-12 Zalan Bujtas <zalan@apple.com>
1076 Subpixel layout: Clean up LayoutPoint class.
1077 https://bugs.webkit.org/show_bug.cgi?id=128515
1079 Reviewed by Simon Fraser.
1081 Remove redundant functions (keep the more explicit ones).
1083 No change in functionality.
1085 * page/FrameView.cpp:
1086 (WebCore::FrameView::viewportConstrainedVisibleContentRect):
1087 * platform/graphics/LayoutPoint.h:
1088 (WebCore::toLayoutPoint):
1089 (WebCore::toLayoutSize):
1090 (WebCore::roundedIntPoint):
1091 * platform/graphics/ca/GraphicsLayerCA.cpp:
1092 (WebCore::GraphicsLayerCA::updateContentsRects):
1093 * rendering/LayoutState.cpp:
1094 (WebCore::LayoutState::LayoutState):
1095 * rendering/RenderBlock.cpp:
1096 (WebCore::RenderBlock::addFocusRingRects):
1097 * rendering/RenderBox.cpp:
1098 (WebCore::RenderBox::offsetFromContainer):
1099 * rendering/RenderInline.cpp:
1100 (WebCore::RenderInline::addFocusRingRects):
1101 * rendering/RenderLayer.cpp:
1102 (WebCore::RenderLayer::updateLayerPosition):
1103 (WebCore::accumulateOffsetTowardsAncestor):
1104 (WebCore::RenderLayer::paintBackgroundForFragments):
1105 (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
1106 (WebCore::RenderLayer::paintOutlineForFragments):
1107 (WebCore::RenderLayer::paintMaskForFragments):
1108 (WebCore::RenderLayer::paintOverflowControlsForFragments):
1109 * rendering/RenderScrollbarPart.cpp:
1110 (WebCore::RenderScrollbarPart::paintIntoRect):
1112 2014-02-12 Zan Dobersek <zdobersek@igalia.com>
1114 [CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function
1115 https://bugs.webkit.org/show_bug.cgi?id=128473
1117 Reviewed by Anders Carlsson.
1120 Move the CoordinatedGraphicsScene class to using std::function instead of WTF::Functional and std::bind
1121 instead of WTF::bind. The function wrapper is now moved through function calls and not passed by reference,
1122 and lambda functions are inlined into the dispatchOnMainThread() calls, with the CoordinatedGraphicsScene
1125 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1126 (WebCore::CoordinatedGraphicsScene::dispatchOnMainThread):
1127 (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
1128 (WebCore::CoordinatedGraphicsScene::commitSceneState):
1129 (WebCore::CoordinatedGraphicsScene::syncRemoteContent):
1130 (WebCore::CoordinatedGraphicsScene::purgeGLResources):
1131 (WebCore::CoordinatedGraphicsScene::commitScrollOffset):
1132 (WebCore::CoordinatedGraphicsScene::appendUpdate):
1133 (WebCore::CoordinatedGraphicsScene::setActive):
1134 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1136 2014-02-12 Eric Carlson <eric.carlson@apple.com>
1138 Cleanup the code added for https://bugs.webkit.org/show_bug.cgi?id=128125.
1142 * html/HTMLMediaSession.cpp:
1143 (WebCore::restrictionName): Don't need a "break" after a "return" in a case statement.
1144 * platform/audio/MediaSession.cpp:
1145 (WebCore::stateName): Ditto.
1146 * platform/audio/ios/MediaSessionManagerIOS.mm:
1148 2014-02-12 Andreas Kling <akling@apple.com>
1150 RenderNamedFlowThread should only support RenderElement children.
1151 <https://webkit.org/b/128675>
1153 Tighten up flow-thread rendering so that it only supports element
1154 children directly. This means we don't have to worry about text
1155 renderers on this code path.
1157 Reviewed by Antti Koivisto.
1159 * rendering/RenderElement.cpp:
1160 (WebCore::RenderElement::insertedIntoTree):
1161 (WebCore::RenderElement::willBeRemovedFromTree):
1162 (WebCore::RenderElement::willBeDestroyed):
1163 * rendering/RenderNamedFlowThread.cpp:
1164 (WebCore::RenderNamedFlowThread::nextRendererForElement):
1165 (WebCore::RenderNamedFlowThread::addFlowChild):
1166 (WebCore::RenderNamedFlowThread::removeFlowChild):
1167 * rendering/RenderNamedFlowThread.h:
1168 * rendering/RenderObject.cpp:
1169 (WebCore::RenderObject::willBeDestroyed):
1170 (WebCore::RenderObject::insertedIntoTree):
1171 (WebCore::RenderObject::willBeRemovedFromTree):
1172 * style/StyleResolveTree.cpp:
1173 (WebCore::Style::createRendererIfNeeded):
1175 2014-02-12 Joseph Pecoraro <pecoraro@apple.com>
1177 Web Inspector: Modernize missed inspector files
1178 https://bugs.webkit.org/show_bug.cgi?id=128661
1180 Reviewed by Anders Carlsson.
1182 Add final, override, and use nullptr where appropriate.
1184 * inspector/InspectorCSSAgent.cpp:
1185 (WebCore::InspectorCSSAgent::asCSSStyleRule):
1186 (WebCore::InspectorCSSAgent::discardAgent):
1187 (WebCore::InspectorCSSAgent::disable):
1188 (WebCore::InspectorCSSAgent::getInlineStylesForNode):
1189 (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1190 (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
1191 (WebCore::InspectorCSSAgent::elementForId):
1192 (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
1193 (WebCore::InspectorCSSAgent::assertStyleSheetForId):
1194 (WebCore::InspectorCSSAgent::buildObjectForRule):
1195 (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
1196 * inspector/InspectorFrontendClientLocal.h:
1198 2014-02-11 Brent Fulgham <bfulgham@apple.com>
1200 Remove some unintended copies in ranged for loops
1201 https://bugs.webkit.org/show_bug.cgi?id=128644
1203 Reviewed by Anders Carlsson.
1205 * css/StyleResolver.cpp:
1206 (WebCore::StyleResolver::loadPendingSVGDocuments): Avoid creating/destroying
1209 2014-02-12 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
1211 Update the HTML Media Capture implementation.
1212 https://bugs.webkit.org/show_bug.cgi?id=118465
1214 Reviewed by Darin Adler.
1216 Make the implementation in WebKit compatible with the 2013-05-09
1217 version of the spec, which makes the "capture" attribute a boolean
1220 Covered by fast/forms/file/file-input-capture.html.
1222 * html/FileInputType.cpp:
1223 (WebCore::FileInputType::handleDOMActivateEvent):
1224 * html/HTMLInputElement.cpp:
1225 (WebCore::HTMLInputElement::capture): Renamed to shouldUseMediaCapture().
1226 (WebCore::HTMLInputElement::shouldUseMediaCapture): Return a bool.
1227 * html/HTMLInputElement.h:
1228 * html/HTMLInputElement.idl: Turn the `capture' attribute into a
1229 reflective boolean instead of a DOMString.
1230 * platform/FileChooser.h:
1232 2014-02-12 Radu Stavila <stavila@adobe.com>
1234 [CSS Regions] Remove unused method in RenderFlowThread
1235 https://bugs.webkit.org/show_bug.cgi?id=128373
1237 Reviewed by Mihnea Ovidenie.
1239 After the landing of https://bugs.webkit.org/show_bug.cgi?id=118665, the
1240 RenderFlowThread::computeRegionClippingRect method is obsolete.
1242 No new tests needed, this patch only removes an unused method.
1244 * rendering/RenderFlowThread.cpp:
1245 * rendering/RenderFlowThread.h:
1247 2014-02-12 Mihai Tica <mitica@adobe.com>
1249 [CSS Element Blending] Implement the software path of -webkit-blend-mode with Core Graphics.
1250 https://bugs.webkit.org/show_bug.cgi?id=99119
1252 Reviewed by Simon Fraser.
1254 This patch adds support for -webkit-blend-mode with Core Graphics.
1255 The layer promotion code that forced compositing when blending was detected has been removed.
1256 Remaining work for the software path is to detect and implement isolation of the blending operation:
1257 as stated in the spec, blending should be limited to the parent stacking context.
1259 Tests: css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html
1260 css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html
1261 css3/compositing/blend-mode-simple-composited.html
1262 css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html
1264 * inspector/InspectorLayerTreeAgent.cpp:
1265 (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer): Remove CompositingReasonBlending.
1266 * rendering/RenderLayer.cpp:
1267 (WebCore::RenderLayer::beginTransparencyLayers): Set the blendMode on the GraphicsContext.
1268 * rendering/RenderLayer.h: paintsWithTransparency should return true when a blendMode is set.
1269 * rendering/RenderLayerCompositor.cpp: Remove promotion code when a blendMode is detected.
1270 (WebCore::RenderLayerCompositor::requiresCompositingLayer): Remove CompositingReasonBlending reason.
1271 (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Remove CompositingReasonBlending reason.
1272 (WebCore::RenderLayerCompositor::reasonsForCompositing): Remove CompositingReasonBlending reason.
1273 (WebCore::RenderLayerCompositor::logReasonsForCompositing): Remove CompositingReasonBlending reason.
1274 * rendering/RenderLayerCompositor.h:
1275 - Remove the requiresCompositingForBlending method
1276 - Remove the CompositingReasonBlending from the CompositingReasons enum.
1278 2014-02-11 Zalan Bujtas <zalan@apple.com>
1280 Subpixel rendering: Switch repaint rect from IntRect to LayoutRect to be able to
1281 repaint on device pixel boundaries.
1282 https://bugs.webkit.org/show_bug.cgi?id=128477
1284 Reviewed by Simon Fraser.
1286 RenderLayer needs to be able to repaint on device pixel boundaries. RenderView still
1287 repaints on integral position.
1289 No change in functionality.
1291 * rendering/RenderBlockLineLayout.cpp:
1292 (WebCore::RenderBlockFlow::layoutRunsAndFloats):
1293 * rendering/RenderElement.cpp:
1294 (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
1295 * rendering/RenderLayer.cpp:
1296 (WebCore::RenderLayer::updateLayerPositions):
1297 (WebCore::RenderLayer::clearRepaintRects):
1298 (WebCore::RenderLayer::scrollTo):
1299 (WebCore::RenderLayer::calculateClipRects):
1300 * rendering/RenderLayerBacking.cpp:
1301 (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
1302 * rendering/RenderLayerBacking.h:
1303 * rendering/RenderObject.cpp:
1304 (WebCore::RenderObject::repaintUsingContainer):
1305 (WebCore::RenderObject::repaint):
1306 (WebCore::RenderObject::repaintRectangle):
1307 * rendering/RenderObject.h:
1309 2014-02-11 Dan Bernstein <mitz@apple.com>
1313 * rendering/RenderElement.cpp:
1314 (WebCore::shouldRepaintForImageAnimation):
1316 2014-02-11 Dan Bernstein <mitz@apple.com>
1320 * rendering/RenderElement.cpp:
1321 (WebCore::shouldRepaintForImageAnimation):
1323 2014-02-11 David Kilzer <ddkilzer@apple.com>
1325 ContentData equals() methods are not inline-able
1326 <http://webkit.org/b/128538>
1328 Reviewed by Darin Adler.
1330 Get rid of pure virtual equals() method in favor of
1331 ContentData::Type enum for runtime type information.
1332 This also lets us devirtualize the isFoo() methods.
1334 * rendering/style/ContentData.h:
1335 (WebCore::ContentData::type): Add.
1336 (WebCore::ContentData::isCounter): Devirtualize.
1337 (WebCore::ContentData::isImage): Devirtualize.
1338 (WebCore::ContentData::isQuote): Devirtualize.
1339 (WebCore::ContentData::isText): Devirtualize.
1340 (WebCore::ContentData::ContentData): Add. Include
1341 ContentData::Type parameter.
1342 (WebCore::operator==): Add overloaded methods for each subclass.
1343 Stop using pure virtual equals() method, check type(), and use
1344 overloaded subclass operator==() methods.
1345 (WebCore::operator!=): Add overloaded methods for each subclass.
1347 2014-02-11 Andreas Kling <akling@apple.com>
1349 Protect some RenderFlowThread functions.
1350 <https://webkit.org/b/128642>
1352 Make the RenderFlowThread constructor protected and a handful of
1353 member functions private.
1355 Reviewed by Anders Carlsson.
1357 * rendering/RenderFlowThread.h:
1359 2014-02-11 Andreas Kling <akling@apple.com>
1361 Don't allocate RenderNamedFlowThread's child list separately.
1362 <https://webkit.org/b/128640>
1364 Since we always create the flow-thread child list, there's no reason
1365 to put it in a separate heap allocation. Also remove the typedef and
1368 Reviewed by Anders Carlsson.
1370 * rendering/RenderNamedFlowThread.cpp:
1371 (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
1372 (WebCore::RenderNamedFlowThread::nextRendererForNode):
1373 (WebCore::RenderNamedFlowThread::addFlowChild):
1374 (WebCore::RenderNamedFlowThread::removeFlowChild):
1375 * rendering/RenderNamedFlowThread.h:
1377 2014-02-11 Zalan Bujtas <zalan@apple.com>
1379 Subpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel based.
1380 https://bugs.webkit.org/show_bug.cgi?id=128460
1382 Reviewed by Simon Fraser.
1384 GraphicsClient::paintContents takes clipRect as FloatRect now so that we can paint on
1387 No change in functionality.
1389 * platform/graphics/GraphicsLayerClient.h:
1390 * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
1391 (WebCore::CompositingCoordinator::paintContents):
1392 * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
1393 * rendering/RenderLayer.cpp:
1394 (WebCore::cornerRect):
1395 (WebCore::RenderLayer::scrollCornerRect):
1396 (WebCore::resizerCornerRect):
1397 (WebCore::RenderLayer::scrollCornerAndResizerRect):
1398 (WebCore::RenderLayer::verticalScrollbarStart):
1399 (WebCore::RenderLayer::horizontalScrollbarStart):
1400 (WebCore::RenderLayer::paintResizer):
1401 (WebCore::RenderLayer::hitTestOverflowControls):
1402 * rendering/RenderLayer.h:
1403 * rendering/RenderLayerBacking.cpp:
1404 (WebCore::RenderLayerBacking::paintIntoLayer):
1405 (WebCore::RenderLayerBacking::paintContents):
1406 * rendering/RenderLayerBacking.h:
1407 * rendering/RenderLayerCompositor.cpp:
1408 (WebCore::RenderLayerCompositor::paintContents):
1409 * rendering/RenderLayerCompositor.h:
1410 * rendering/RenderWidget.cpp:
1411 (WebCore::RenderWidget::paint):
1413 2014-02-11 Antti Koivisto <antti@apple.com>
1415 GIF animations should be suspended when outside of viewport
1416 https://bugs.webkit.org/show_bug.cgi?id=128632
1418 Reviewed by Andreas Kling.
1420 Animations are driven by the paint cycle. Speculative tiles keep animations outside the actual viewport going.
1422 Pause animations when they are outside the viewport by not painting them.
1424 Test: fast/repaint/no-animation-outside-viewport.html
1426 * loader/cache/CachedImage.cpp:
1427 (WebCore::CachedImage::animationAdvanced):
1429 Call animation specific newImageAnimationFrameAvailable instead of the generic notifyObservers.
1431 * loader/cache/CachedImage.h:
1433 Removed now unnecessary resumeAnimatingImagesForLoader mechanism.
1434 Remove unnecessary shouldPauseAnimation. Pausing is now always done when by avoiding repaint.
1436 * loader/cache/CachedImageClient.h:
1437 (WebCore::CachedImageClient::newImageAnimationFrameAvailable):
1438 * page/FrameView.cpp:
1439 (WebCore::FrameView::scrollPositionChanged):
1441 Check if we have image animations to resume when scroll position changes.
1444 (WebCore::Page::resumeAnimatingImages):
1446 Use the same mechanism when resuming background tabs etc.
1448 * platform/graphics/BitmapImage.cpp:
1449 (WebCore::BitmapImage::internalAdvanceAnimation):
1451 Remove the shouldPauseAnimation test, always rely on pausing on invalidation.
1453 * platform/graphics/ImageObserver.h:
1454 * rendering/RenderBoxModelObject.cpp:
1455 * rendering/RenderElement.cpp:
1456 (WebCore::RenderElement::RenderElement):
1457 (WebCore::RenderElement::~RenderElement):
1458 (WebCore::shouldRepaintForImageAnimation):
1460 Factor the pausing conditions to a function. Test that the animation is withing the
1463 (WebCore::RenderElement::newImageAnimationFrameAvailable):
1465 Add renderer to the paused animation set if we don't continue the animation.
1467 (WebCore::RenderElement::repaintForPausedImageAnimationsIfNeeded):
1469 Resume the paused animations by triggering repaint.
1471 * rendering/RenderElement.h:
1472 (WebCore::RenderElement::setHasPausedImageAnimations):
1473 (WebCore::RenderElement::hasPausedImageAnimations):
1474 * rendering/RenderObject.cpp:
1475 * rendering/RenderObject.h:
1476 * rendering/RenderView.cpp:
1477 (WebCore::RenderView::addRendererWithPausedImageAnimations):
1478 (WebCore::RenderView::removeRendererWithPausedImageAnimations):
1479 (WebCore::RenderView::resumePausedImageAnimationsIfNeeded):
1480 * rendering/RenderView.h:
1482 2014-02-11 Andreas Kling <akling@apple.com>
1484 Remove unused RenderNamedFlowThread::previousRendererForNode().
1485 <https://webkit.org/b/128637>
1487 Reviewed by Antti Koivisto.
1489 * rendering/RenderNamedFlowThread.cpp:
1490 * rendering/RenderNamedFlowThread.h:
1492 2014-02-11 Andreas Kling <akling@apple.com>
1494 Move renderNamedFlowThreadWrapper() to RenderElement.
1495 <https://webkit.org/b/128634>
1497 This function is only ever called on RenderElements so move it there
1500 Reviewed by Antti Koivisto.
1502 * rendering/RenderElement.cpp:
1503 (WebCore::RenderElement::renderNamedFlowThreadWrapper):
1504 * rendering/RenderElement.h:
1505 * rendering/RenderObject.cpp:
1506 * rendering/RenderObject.h:
1508 2014-02-11 Myles C. Maxfield <mmaxfield@apple.com>
1510 Position and thickness of underline as text size changes
1511 https://bugs.webkit.org/show_bug.cgi?id=16768
1513 Reviewed by Dean Jackson.
1515 This patch adopts the iOS codepath for underlines. It also reorganizes
1516 drawLineForText to avoid a costly global state save & restore.
1518 Test: fast/css3-text/css3-text-decoration/text-decoration-thickness.html
1520 * platform/graphics/cg/GraphicsContextCG.cpp:
1521 (WebCore::computeLineBoundsAndAntialiasingModeForText):
1522 (WebCore::GraphicsContext::computeLineBoundsForText):
1523 (WebCore::GraphicsContext::drawLineForText):
1524 (WebCore::GraphicsContext::drawLinesForText):
1525 * rendering/InlineTextBox.cpp:
1526 (WebCore::InlineTextBox::paintDecoration):
1528 2014-02-11 Ryosuke Niwa <rniwa@webkit.org>
1530 Frame::rectForSelection shouldn't instantiate FrameSelection
1531 https://bugs.webkit.org/show_bug.cgi?id=128587
1533 Reviewed by Enrica Casucci.
1535 Made VisiblePosition::absoluteCaretBounds more interoperable with the one in FrameSelection and made
1536 iOS's Frame::rectForScrollToVisible use that function instead.
1538 The above change allows us to remove:
1539 - suppressCloseTyping(), restoreCloseTyping(), and m_closeTypingSuppressions in FrameSelection
1540 - suppressSelectionNotifications() and restoreSelectionNotifications() in EditorClient
1542 See inline comments below for more details.
1544 * Source/WebCore/WebCore.exp.in:
1546 * editing/FrameSelection.cpp:
1547 (WebCore::FrameSelection::FrameSelection):
1548 (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
1549 (WebCore::CaretBase::updateCaretRect):
1550 (WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
1551 (WebCore::DragCaretController::caretRenderer):
1552 (WebCore::repaintCaretForLocalRect):
1553 (WebCore::FrameSelection::recomputeCaretRect): Merged FrameSelection::localCaretRect(). Modified
1554 the code to update caretNode when and only when caret rect is updated. Also added an assertion to
1555 ensure absoluteCaretBounds() on FrameSelection and VisiblePosition yield the same result.
1557 (WebCore::CaretBase::paintCaret):
1558 * editing/FrameSelection.h:
1560 * editing/VisiblePosition.cpp:
1561 (WebCore::VisiblePosition::absoluteCaretBounds): Fixed the bug where the old code wasn't respecting
1562 the convention to use containing block as the renderer to paint caret.
1564 * editing/htmlediting.cpp:
1565 (WebCore::caretRendersInsideNode): Moved from FrameSelection.cpp.
1566 (WebCore::rendererForCaretPainting): Ditto and renamed from caretRenderer.
1567 (WebCore::localCaretRectInRendererForCaretPainting): Extracted from FrameSelection::updateCaretRect.
1568 (WebCore::absoluteBoundsForLocalCaretRect): Ditto from CaretBase::absoluteBoundsForLocalRect.
1569 * editing/htmlediting.h:
1571 * loader/EmptyClients.h:
1572 * page/EditorClient.h:
1575 * page/ios/FrameIOS.mm:
1576 (WebCore::Frame::rectForScrollToVisible): Reimplemented in its simplest form using VisiblePosition's
1577 absoluteCaretBounds().
1579 2014-02-11 Enrica Casucci <enrica@apple.com>
1581 Support WebSelections in WK2 on iOS.
1582 https://bugs.webkit.org/show_bug.cgi?id=127015
1583 <rdar://problem/15211964>
1585 Reviewed by Benjamin Poulain.
1591 2014-02-11 Andreas Kling <akling@apple.com>
1593 CTTE: RenderNamedFlowThread always has a WebKitNamedFlow.
1594 <https://webkit.org/b/128623>
1596 Codify the fact that RenderNamedFlowThread always has a corresponding
1597 WebKitNamedFlow by storing it in a Ref, and adding an accessor that
1598 returns a reference to get rid of all the ->'s.
1600 Also removed some unnecessary assertions exposed by this.
1602 Reviewed by Antti Koivisto.
1604 * dom/NamedFlowCollection.cpp:
1605 (WebCore::NamedFlowCollection::ensureFlowWithName):
1606 * dom/NamedFlowCollection.h:
1607 * rendering/RenderNamedFlowThread.cpp:
1608 (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
1609 (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
1610 (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
1611 (WebCore::RenderNamedFlowThread::flowThreadName):
1612 (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
1613 (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent):
1614 (WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
1615 (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
1616 (WebCore::RenderNamedFlowThread::setMarkForDestruction):
1617 (WebCore::RenderNamedFlowThread::resetMarkForDestruction):
1618 (WebCore::RenderNamedFlowThread::isMarkedForDestruction):
1619 * rendering/RenderNamedFlowThread.h:
1621 2014-02-10 Myles C. Maxfield <mmaxfield@apple.com>
1623 Convert position:fixed property to position:absolute upon copy
1624 https://bugs.webkit.org/show_bug.cgi?id=128194
1626 Reviewed by Simon Fraser.
1628 This adds a Setting and Preference that allows clients to opt-in to this behavior.
1630 This new behavior is only activated if the entire body is copied. If there is a position:fixed
1631 element in the copied selection, it is replaced with position:absolute, and a containing
1632 block (position:relative) is wrapped around the copied text.
1634 This patch originally converted position:-webkit-sticky to position:relative. However, we
1635 currently don't support copying and pasting of position:-webkit-sticky content (See below).
1636 Therefore, this patch only deals with position:fixed.
1638 Right now we don't copy position:-webkit-sticky. This is because:
1639 1. When copying styled elements, we parse the style properties again
1640 2. CSSParserContext has a flag which can disable parsing -webkit-sticky
1641 3. There are two constructors to CSSParserContext: one that takes a document and sets up the
1642 aforementioned flag, and a simple one that doesn't take a document and sets all the enableFoo
1644 4. At the relevant place within copy code, we are far removed from the Document object, so we
1645 instead call the second constructor, thereby disabling parsing of -webkit-sticky
1647 Test: editing/pasteboard/copy-paste-converts-sticky-and-fixed.html
1649 * WebCore.exp.in: Export the Setting setter
1650 * editing/EditingStyle.cpp:
1651 (WebCore::EditingStyle::convertFixedAndStickyPosition): Converts a single style
1652 * editing/EditingStyle.h:
1653 * editing/markup.cpp:
1654 (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Remember if we found
1655 an element which needs the position:relative containing block
1656 (WebCore::StyledMarkupAccumulator::appendElement): Surround with the position:relative
1657 containing block if necessary
1658 (WebCore::createMarkupInternal):
1659 * page/Settings.cpp:
1660 (WebCore::Settings::Settings): New setting to opt-in to this new behavior
1661 (WebCore::Settings::setConvertPositionStyleOnCopy):
1663 (WebCore::Settings::convertPositionStyleOnCopy):
1664 * testing/InternalSettings.cpp: Allow setting the setting from a Layout Test
1665 (WebCore::InternalSettings::Backup::Backup):
1666 (WebCore::InternalSettings::Backup::restoreTo):
1667 (WebCore::InternalSettings::setConvertPositionStyleOnCopy):
1668 * testing/InternalSettings.h:
1669 * testing/InternalSettings.idl:
1671 2014-02-11 Youenn Fablet <youennf@gmail.com>
1673 XMLHttpRequest should not send DNT header
1674 https://bugs.webkit.org/show_bug.cgi?id=128533
1676 Reviewed by Alexey Proskuryakov.
1678 Added DNT (Do Not Track) header to the list of forbidden headers.
1679 Updated http/tests/xmlhttprequest/set-dangerous-headers.html to test that header.
1681 * xml/XMLHttpRequest.cpp:
1682 (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
1684 2014-02-10 Jeffrey Pfau <jpfau@apple.com>
1686 Bring third-party app cache blocking behavior in line with private browsing app cache blocking behavior
1687 https://bugs.webkit.org/show_bug.cgi?id=128557
1689 Reviewed by Alexey Proskuryakov.
1691 * loader/appcache/ApplicationCacheGroup.cpp:
1692 (WebCore::ApplicationCacheGroup::cacheForMainRequest):
1693 (WebCore::ApplicationCacheGroup::selectCache):
1694 (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
1695 (WebCore::ApplicationCacheGroup::update):
1696 * loader/appcache/ApplicationCacheHost.cpp:
1697 (WebCore::ApplicationCacheHost::maybeLoadMainResource):
1698 (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
1699 (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
1700 (WebCore::ApplicationCacheHost::maybeLoadResource):
1701 (WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
1702 (WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
1703 * loader/appcache/ApplicationCacheHost.h:
1705 2014-02-11 Brady Eidson <beidson@apple.com>
1707 IDB: The test after storage/indexeddb/mozilla/object-identity.html fails in cleanup code
1708 <rdar://problem/16040663> and https://bugs.webkit.org/show_bug.cgi?id=128621
1710 Reviewed by Alexey Proskuryakov.
1712 Covered by storage/indexeddb/mozilla/object-identity.html.
1714 * Modules/indexeddb/IDBTransactionBackend.cpp:
1715 (WebCore::IDBTransactionBackend::abort): Clear the m_database pointer before calling the onAbort callback.
1716 (WebCore::IDBTransactionBackend::commit): Don't run the abort code if there's no m_database pointer.
1718 2014-02-10 Jer Noble <jer.noble@apple.com>
1720 [EME][Mac] Move the implementation of CDMPrivateAVFoundation back into MediaPlayerPrivateAVFoundationObjC.
1721 https://bugs.webkit.org/show_bug.cgi?id=128559
1723 Reviewed by Dean Jackson.
1725 To prepare for multiple simultaneous CDMs with muliple MediaPlayer types, move the implementation for
1726 CDMPrivateAVFoundation back into its media engine.
1728 * Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
1729 (WebCore::MediaKeyExceptionToErrorCode): Added.
1730 (WebCore::CDMSessionAVFoundation::generateKeyRequest): Moved to MediaPlayerPrivateAVFoundationObjC.
1731 (WebCore::CDMSessionAVFoundation::releaseKeys): Ditto.
1732 (WebCore::CDMSessionAVFoundation::update): Ditto.
1733 * platform/graphics/MediaPlayer.cpp:
1734 (WebCore::MediaPlayer::generateKeyRequest): Added, pass through to MediaPlayerPrivate.
1735 (WebCore::MediaPlayer::releaseKeys): Ditto.
1736 (WebCore::MediaPlayer::update): Ditto.
1737 * platform/graphics/MediaPlayer.h:
1738 * platform/graphics/MediaPlayerPrivate.h:
1739 (WebCore::MediaPlayerPrivateInterface::generateKeyRequest): Added.
1740 (WebCore::MediaPlayerPrivateInterface::releaseKeys): Ditto.
1741 (WebCore::MediaPlayerPrivateInterface::update): Ditto.
1742 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1743 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1744 (WebCore::MediaPlayerPrivateAVFoundationObjC::generateKeyRequest): Moved from CDMSessionAVFoundation.
1745 (WebCore::MediaPlayerPrivateAVFoundationObjC::releaseKeys): Ditto.
1746 (WebCore::MediaPlayerPrivateAVFoundationObjC::update): Ditto.
1748 2014-01-24 Jer Noble <jer.noble@apple.com>
1750 Run UserAgentScripts through jsmin rather than the css preprocessor
1751 https://bugs.webkit.org/show_bug.cgi?id=127559
1753 Reviewed by Tim Horton.
1755 User Agent JavaScript files were being run through the c++ preprocessor to strip out
1756 comments (and presumably to allow #if ENABLE macros, though that feature is entirely
1757 unused). This had the side effect of removing important whitespace, namely newlines where
1758 there would normally be an implicit semicolon.
1760 Instead, .js files will now be run through the jsmin minifier, used by the inspector.
1761 Jsmin will also strip comments and whitespace, but in a syntactically aware way which will
1762 keep newlines when their presence adds an implied semicolon.
1764 * DerivedSources.make:
1765 * Scripts/make-js-file-arrays.py: Added.
1766 (stringifyCodepoint):
1770 2014-02-11 Andy Estes <aestes@apple.com>
1772 [Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
1773 https://bugs.webkit.org/show_bug.cgi?id=128583
1775 Reviewed by Anders Carlsson.
1777 The delegate method was removed in Snow Leopard.
1779 * loader/ResourceLoader.cpp:
1780 * loader/ResourceLoader.h:
1781 * platform/network/ResourceHandleClient.h:
1782 * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
1783 * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
1785 2014-02-10 Andy Estes <aestes@apple.com>
1787 [Content Filter] Check for NULL before calling dispatch_release()
1788 https://bugs.webkit.org/show_bug.cgi?id=128576
1790 Reviewed by Darin Adler.
1792 m_neFilterSourceQueue will be NULL if NEFilterSource isn't enabled, and
1793 passing NULL to dispatch_release() is undefined.
1795 * platform/mac/ContentFilterMac.mm:
1796 (WebCore::ContentFilter::~ContentFilter):
1798 2014-01-24 Jer Noble <jer.noble@apple.com>
1800 [MediaControls] Allow the media controls script to be debuggable by giving it a generated sourceURL
1801 https://bugs.webkit.org/show_bug.cgi?id=127560
1803 Reviewed by Eric Carlson.
1805 When evaluating a script through ScriptController, if that script does not have an
1806 explicit sourceURL, it will not appear in the resources section of the Web Inspector.
1807 For debug builds only, give the media controls script a generated (i.e. fake) sourceURL.
1809 * html/HTMLMediaElement.cpp:
1810 (WebCore::HTMLMediaElement::parseAttribute):
1812 2014-02-11 Samuel White <samuel_white@apple.com>
1814 AX: Add text replacement activity support to NSAccessibilitySelectTextWithCriteriaParameterizedAttribute.
1815 https://bugs.webkit.org/show_bug.cgi?id=128397
1817 Reviewed by Chris Fleizach.
1819 Added text replacement support for the AXSelectTextWithCriteria parameterized attribute.
1821 No new test. Updated platform/mac/accessibility/select-text.html to test the added functionality.
1823 * accessibility/AccessibilityObject.cpp:
1824 (WebCore::AccessibilityObject::selectText):
1825 * accessibility/AccessibilityObject.h:
1826 (WebCore::AccessibilitySelectTextCriteria::AccessibilitySelectTextCriteria):
1827 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1828 (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):
1830 2014-02-11 Roger Fong <roger_fong@apple.com>
1832 [Windows] Unreviewed. Speculative test fix.
1834 * platform/graphics/GraphicsContext.h:
1835 (WebCore::GraphicsContext::pixelSnappingFactor):
1836 * platform/graphics/cg/GraphicsContextCG.cpp:
1837 (WebCore::GraphicsContext::platformInit):
1839 2014-02-11 Dan Bernstein <mitz@apple.com>
1843 * platform/ios/TileGrid.mm:
1844 (WebCore::TileGrid::dropTilesBetweenRects):
1845 (WebCore::TileGrid::dropDistantTiles):
1846 (WebCore::TileGrid::dropInvalidTiles):
1848 2014-02-11 James Craig <jcraig@apple.com>
1850 Web Inspector: AX: Accessibility Node Inspection
1851 https://bugs.webkit.org/show_bug.cgi?id=127447
1853 Reviewed by Timothy Hatcher.
1855 New methods supporting WebCore::AccessibilityObject::computedRoleString()
1856 used for Accessibility section in WebInspector Node Inspector. Other updates
1857 support the JSON interface for the WebInspectorUI feature.
1859 Test: accessibility/roles-computedRoleString.html
1861 * accessibility/AccessibilityObject.cpp:
1862 (WebCore::initializeRoleMap):
1863 (WebCore::ariaRoleMap):
1864 (WebCore::reverseAriaRoleMap):
1865 (WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
1866 (WebCore::AccessibilityObject::computedRoleString):
1867 * accessibility/AccessibilityObject.h:
1868 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1869 (-[WebAccessibilityObjectWrapper computedRoleString]):
1870 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1871 * inspector/InspectorDOMAgent.cpp:
1872 (WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
1873 (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
1874 * inspector/InspectorDOMAgent.h:
1875 * inspector/protocol/DOM.json:
1877 2014-02-10 Oliver Hunt <oliver@apple.com>
1879 Stop throwing when attempting to read instance properties directly from the prototype
1880 https://bugs.webkit.org/show_bug.cgi?id=128568
1882 Reviewed by Mark Lam.
1884 A number of websites expect to be able to access instance properties
1885 directly through the prototype. This is broken behavior but if we
1886 throw an exception the entire site breaks. This patch simply makes us
1887 return undefined when reading, and logs the error to the console.
1889 * bindings/scripts/CodeGeneratorJS.pm:
1890 (GenerateImplementation):
1891 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1892 (WebCore::jsTestActiveDOMObjectExcitingAttr):
1893 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1894 (WebCore::jsTestEventConstructorAttr1):
1895 (WebCore::jsTestEventConstructorAttr2):
1896 * bindings/scripts/test/JS/JSTestException.cpp:
1897 (WebCore::jsTestExceptionName):
1898 * bindings/scripts/test/JS/JSTestInterface.cpp:
1899 (WebCore::jsTestInterfaceImplementsStr1):
1900 (WebCore::jsTestInterfaceImplementsStr2):
1901 (WebCore::jsTestInterfaceImplementsStr3):
1902 (WebCore::jsTestInterfaceImplementsNode):
1903 (WebCore::jsTestInterfaceSupplementalStr1):
1904 (WebCore::jsTestInterfaceSupplementalStr2):
1905 (WebCore::jsTestInterfaceSupplementalStr3):
1906 (WebCore::jsTestInterfaceSupplementalNode):
1907 * bindings/scripts/test/JS/JSTestObj.cpp:
1908 (WebCore::jsTestObjReadOnlyLongAttr):
1909 (WebCore::jsTestObjReadOnlyStringAttr):
1910 (WebCore::jsTestObjReadOnlyTestObjAttr):
1911 (WebCore::jsTestObjConstructorTestSubObj):
1912 (WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
1913 (WebCore::jsTestObjEnumAttr):
1914 (WebCore::jsTestObjByteAttr):
1915 (WebCore::jsTestObjOctetAttr):
1916 (WebCore::jsTestObjShortAttr):
1917 (WebCore::jsTestObjUnsignedShortAttr):
1918 (WebCore::jsTestObjLongAttr):
1919 (WebCore::jsTestObjLongLongAttr):
1920 (WebCore::jsTestObjUnsignedLongLongAttr):
1921 (WebCore::jsTestObjStringAttr):
1922 (WebCore::jsTestObjTestObjAttr):
1923 (WebCore::jsTestObjXMLObjAttr):
1924 (WebCore::jsTestObjCreate):
1925 (WebCore::jsTestObjReflectedStringAttr):
1926 (WebCore::jsTestObjReflectedIntegralAttr):
1927 (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
1928 (WebCore::jsTestObjReflectedBooleanAttr):
1929 (WebCore::jsTestObjReflectedURLAttr):
1930 (WebCore::jsTestObjReflectedCustomIntegralAttr):
1931 (WebCore::jsTestObjReflectedCustomBooleanAttr):
1932 (WebCore::jsTestObjReflectedCustomURLAttr):
1933 (WebCore::jsTestObjTypedArrayAttr):
1934 (WebCore::jsTestObjAttrWithGetterException):
1935 (WebCore::jsTestObjAttrWithSetterException):
1936 (WebCore::jsTestObjStringAttrWithGetterException):
1937 (WebCore::jsTestObjStringAttrWithSetterException):
1938 (WebCore::jsTestObjCustomAttr):
1939 (WebCore::jsTestObjWithScriptStateAttribute):
1940 (WebCore::jsTestObjWithScriptExecutionContextAttribute):
1941 (WebCore::jsTestObjWithScriptStateAttributeRaises):
1942 (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
1943 (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
1944 (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
1945 (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
1946 (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
1947 (WebCore::jsTestObjConditionalAttr1):
1948 (WebCore::jsTestObjConditionalAttr2):
1949 (WebCore::jsTestObjConditionalAttr3):
1950 (WebCore::jsTestObjConditionalAttr4Constructor):
1951 (WebCore::jsTestObjConditionalAttr5Constructor):
1952 (WebCore::jsTestObjConditionalAttr6Constructor):
1953 (WebCore::jsTestObjCachedAttribute1):
1954 (WebCore::jsTestObjCachedAttribute2):
1955 (WebCore::jsTestObjAnyAttribute):
1956 (WebCore::jsTestObjContentDocument):
1957 (WebCore::jsTestObjMutablePoint):
1958 (WebCore::jsTestObjImmutablePoint):
1959 (WebCore::jsTestObjStrawberry):
1960 (WebCore::jsTestObjStrictFloat):
1961 (WebCore::jsTestObjDescription):
1962 (WebCore::jsTestObjId):
1963 (WebCore::jsTestObjHash):
1964 (WebCore::jsTestObjReplaceableAttribute):
1965 (WebCore::jsTestObjNullableDoubleAttribute):
1966 (WebCore::jsTestObjNullableLongAttribute):
1967 (WebCore::jsTestObjNullableBooleanAttribute):
1968 (WebCore::jsTestObjNullableStringAttribute):
1969 (WebCore::jsTestObjNullableLongSettableAttribute):
1970 (WebCore::jsTestObjNullableStringValue):
1971 (WebCore::jsTestObjAttribute):
1972 (WebCore::jsTestObjAttributeWithReservedEnumType):
1973 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1974 (WebCore::jsTestSerializedScriptValueInterfaceValue):
1975 (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
1976 (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
1977 (WebCore::jsTestSerializedScriptValueInterfacePorts):
1978 (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
1979 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1980 (WebCore::jsTestTypedefsUnsignedLongLongAttr):
1981 (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
1982 (WebCore::jsTestTypedefsConstructorTestSubObj):
1983 (WebCore::jsTestTypedefsAttrWithGetterException):
1984 (WebCore::jsTestTypedefsAttrWithSetterException):
1985 (WebCore::jsTestTypedefsStringAttrWithGetterException):
1986 (WebCore::jsTestTypedefsStringAttrWithSetterException):
1987 * bindings/scripts/test/JS/JSattribute.cpp:
1988 (WebCore::jsattributeReadonly):
1990 2014-02-11 Sergio Villar Senin <svillar@igalia.com>
1992 [CSS Grid Layout] Support calc() breadth size type
1993 https://bugs.webkit.org/show_bug.cgi?id=103761
1995 Reviewed by Dean Jackson.
1997 We now support using calc() in
1998 -webkit-grid-template-{columns|rows}. This means that we now
1999 match the specification and support all the possible ways to
2000 specify the track breadths.
2002 This includes a fix to CSSCalculationValue that was converting
2003 Length values to CalcExpressionNumber and thus removing all the
2004 info regarding length units (px, em, pt...). That's why things
2005 like calc(10px + 20%) were shown as calc(10 + 20%) in
2006 getComputedStyle() output.
2008 * css/CSSCalculationValue.cpp:
2009 (WebCore::CSSCalcPrimitiveValue::toCalcValue):
2010 * css/CSSComputedStyleDeclaration.cpp:
2011 (WebCore::zoomAdjustedPixelValueForLength):
2012 (WebCore::specifiedValueForGridTrackBreadth):
2013 (WebCore::specifiedValueForGridTrackSize):
2014 * css/StyleResolver.cpp:
2015 (WebCore::createGridTrackBreadth):
2016 * rendering/RenderGrid.cpp:
2017 (WebCore::RenderGrid::computeUsedBreadthOfMinLength):
2018 (WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
2019 (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
2021 2014-02-11 Brent Fulgham <bfulgham@apple.com>
2023 Correct some uses of 'auto'
2024 https://bugs.webkit.org/show_bug.cgi?id=128578
2026 Reviewed by Anders Carlsson.
2028 Correct the following instances of "for (auto ...)" to use reference or
2029 const references to avoid copies.
2031 * accessibility/AccessibilityObject.cpp:
2032 (WebCore::AccessibilityObject::elementsFromAttribute):
2033 * css/CSSGridTemplateValue.cpp:
2034 (WebCore::stringForPosition):
2036 (WebCore::NodeListsNodeData::invalidateCaches):
2037 * inspector/PageInjectedScriptManager.cpp:
2038 (WebCore::PageInjectedScriptManager::discardInjectedScriptsFor):
2039 * page/WheelEventDeltaTracker.cpp:
2040 (WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):
2041 * page/scrolling/ScrollingCoordinator.cpp:
2042 (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
2043 * platform/graphics/mac/WebLayer.mm:
2044 (WebCore::drawLayerContents):
2045 * platform/ios/TileGrid.mm:
2046 (WebCore::TileGrid::dropTilesBetweenRects):
2047 (WebCore::TileGrid::dropDistantTiles):
2048 (WebCore::TileGrid::dropInvalidTiles):
2049 * rendering/InlineTextBox.cpp:
2050 (WebCore::translateIntersectionPointsToSkipInkBoundaries):
2051 * testing/InternalSettings.cpp:
2052 (WebCore::InternalSettings::Backup::restoreTo):
2054 2014-02-10 David Hyatt <hyatt@apple.com>
2056 [New Multicolumn] Make columns work with line grids
2057 https://bugs.webkit.org/show_bug.cgi?id=128555
2059 Reviewed by Antti Koivisto.
2061 Added line-snap-into-columns.html and line-snap-inside-columns.html
2063 * rendering/LayoutState.cpp:
2064 (WebCore::LayoutState::LayoutState):
2065 * rendering/LayoutState.h:
2066 (WebCore::LayoutState::pageOffset):
2067 (WebCore::LayoutState::setLineGridPaginationOrigin):
2068 Change the LayoutState to call into the renderer to compute the line
2069 grid pagination origin instead of doing it directly. Added the
2070 appropriate getters and setters to enable the renderer to do this.
2072 * rendering/RenderBlock.cpp:
2073 (WebCore::RenderBlock::computeLineGridPaginationOrigin):
2074 * rendering/RenderBlock.h:
2075 An implementation for the old multi-column code. The logic is the
2076 same with tweaks made now that the method is on the renderer instead.
2078 * rendering/RenderBlockFlow.cpp:
2079 (WebCore::RenderBlockFlow::pageLogicalTopForOffset):
2080 Fix a bug with flow threads and pageLogicalTopForOffset. Normal CSS region-based
2081 flow threads are never embedded in an enclosing pagination context, so they
2082 didn't add in the firstPageLogicalTop (or subtract it when computing the region
2083 hit). Multi-column flow threads do need to subtract out the firstPageLogicalTop,
2084 since it can occur somewhere on the page.
2086 Ultimately regions will need to get smarter here too if they want to work with
2087 line grids, but for now I just fixed multi-column.
2089 * rendering/RenderBox.cpp:
2090 (WebCore::RenderBox::isUnsplittableForPagination):
2091 Undo this change, since it prevents the inheritance of line grids into the
2092 multi-column layout.
2094 * rendering/RenderMultiColumnFlowThread.cpp:
2095 (WebCore::RenderMultiColumnFlowThread::computeLineGridPaginationOrigin):
2096 * rendering/RenderMultiColumnFlowThread.h:
2097 An implementation for the new multi-column code. The logic is the
2098 same as the old code. Code duplication is ok, since the old multi-column method
2099 in RenderBlock will just be deleted once the new code is turned on, and it's easier
2100 not to intertwine them.
2102 2014-02-11 Radu Stavila <stavila@adobe.com>
2104 [CSS Regions] Overflow above the first region is not properly painted for regions with padding
2105 https://bugs.webkit.org/show_bug.cgi?id=128590
2107 Reviewed by Andrei Bucur.
2109 Painting is done using the layer of the region's container, so offsetting using the content box
2110 of the region itself is incorrect.
2112 Test: fast/regions/region-padding-overflow-hidden.html
2114 * rendering/RenderLayer.cpp:
2115 (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
2116 * rendering/RenderRegion.cpp:
2117 (WebCore::RenderRegion::regionContainer):
2118 (WebCore::RenderRegion::regionContainerLayer):
2119 * rendering/RenderRegion.h:
2121 2014-02-11 Benjamin Poulain <benjamin@webkit.org>
2123 querySelector() does not use the compiler correctly
2124 https://bugs.webkit.org/show_bug.cgi?id=128588
2126 Reviewed by Andreas Kling.
2128 * dom/SelectorQuery.cpp:
2129 (WebCore::SelectorDataList::execute):
2130 I messed up the refactoring when I landed SelectorQuery. The compiled
2131 code was not used the first time through SelectorDataList::execute.
2133 2014-02-11 Piotr Grad <p.grad@samsung.com>
2135 [GStreamer] High playback rate causes crash
2136 https://bugs.webkit.org/show_bug.cgi?id=128453
2138 Reviewed by Philippe Normand.
2140 To high playback rate passed to GStreamer was causing crash.
2141 Added guard in setRate method.
2143 Test: media/video-extreme-playbackrate-crash.html
2145 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2146 (WebCore::MediaPlayerPrivateGStreamer::setRate):
2148 2014-02-10 Brady Eidson <beidson@apple.com>
2150 IndexedDB assertion at IDBTransactionBackend::~IDBTransactionBackend()
2151 https://bugs.webkit.org/show_bug.cgi?id=128341
2153 Reviewed by Maciej Stachowiak.
2155 * Modules/indexeddb/IDBTransactionBackend.cpp:
2156 (WebCore::IDBTransactionBackend::~IDBTransactionBackend): "Finished" is not the only
2157 valid value here - In WK2, "Unused" is also valid. Update the ASSERT.
2159 2014-02-10 Alexey Proskuryakov <ap@apple.com>
2161 Add hooks for wrapping CryptoKeys in SerializedScriptValue
2162 https://bugs.webkit.org/show_bug.cgi?id=128567
2164 Reviewed by Anders Carlsson.
2166 * bindings/js/SerializedScriptValue.cpp: Changed SerializedScriptValue to serialize
2167 wrapped keys. Added a version number to crypto key serialization.
2170 (WebCore::Document::wrapCryptoKey):
2171 (WebCore::Document::unwrapCryptoKey):
2173 * dom/ScriptExecutionContext.h:
2174 * page/ChromeClient.h:
2175 (WebCore::ChromeClient::wrapCryptoKey):
2176 (WebCore::ChromeClient::unwrapCryptoKey):
2177 Hand wrapping/unwrapping over to client code.
2179 * workers/WorkerGlobalScope.cpp:
2180 (WebCore::WorkerGlobalScope::wrapCryptoKey):
2181 (WebCore::WorkerGlobalScope::unwrapCryptoKey):
2182 * workers/WorkerGlobalScope.h:
2183 Not implemented in workers. SubtleCrypto is currently not exposed in workers. It used
2184 to be possible in WebKit implementation to post a CryptoKey to a worker anyway,
2185 but this doesn't work any more.
2187 2014-02-10 ChangSeok Oh <changseok.oh@collabora.com>
2189 Support ANGLE_instanced_arrays for linux
2190 https://bugs.webkit.org/show_bug.cgi?id=127465
2192 Reviewed by Martin Robinson.
2194 Support the instanced drawing WebGL extension, ANGLE_instanced_arrays for linux platform.
2195 This is a following patch for r162565. Relevant opengl APIs are exposed
2196 for WebGLRenderingContext to access them.
2198 Covered by fast/canvas/webgl/angle-instanced-arrays.html
2200 * html/canvas/ANGLEInstancedArrays.cpp:
2201 (WebCore::ANGLEInstancedArrays::supported):
2202 * platform/graphics/OpenGLShims.cpp:
2203 (WebCore::initializeOpenGLShims):
2204 * platform/graphics/OpenGLShims.h:
2205 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2206 (WebCore::Extensions3DOpenGL::supportsExtension):
2207 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2208 (WebCore::GraphicsContext3D::drawArraysInstanced):
2209 (WebCore::GraphicsContext3D::drawElementsInstanced):
2210 (WebCore::GraphicsContext3D::vertexAttribDivisor):
2212 2014-02-10 Mark Lam <mark.lam@apple.com>
2214 Removing limitation on JSLock’s lockDropDepth.
2215 <https://webkit.org/b/128570>
2217 Reviewed by Geoffrey Garen.
2221 * bindings/js/PageScriptDebugServer.cpp:
2222 (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
2223 * platform/ios/wak/WebCoreThread.mm:
2224 (SendDelegateMessage):
2225 (WebThreadRunOnMainThread):
2226 - No longer need to specify AlwaysDropLocks, because DropAllLocks is
2227 now always unconditional.
2229 2014-02-10 Benjamin Poulain <benjamin@webkit.org>
2231 Clean up MarkupAccumulator::appendCharactersReplacingEntities
2232 https://bugs.webkit.org/show_bug.cgi?id=128440
2234 Reviewed by Ryosuke Niwa.
2237 -Remove the copied code for the loops. Instead, use a template with the loop
2238 parametrized by the characters type.
2239 -Move EntityDescription from the header to the implementation.
2240 -Make the 5 substitution strings compile-time literals. Replacement is not hot enough
2241 to justify the static here.
2243 * editing/MarkupAccumulator.cpp:
2244 (WebCore::appendCharactersReplacingEntitiesInternal):
2245 (WebCore::MarkupAccumulator::appendCharactersReplacingEntities):
2246 * editing/MarkupAccumulator.h:
2248 2014-02-10 Benjamin Poulain <benjamin@webkit.org>
2250 Add a few pseudo type to the selector compiler through function calls
2251 https://bugs.webkit.org/show_bug.cgi?id=128514
2253 Reviewed by Dean Jackson.
2255 Certain pseudo type checkers rely on virtual function calls. Since those types
2256 are uncommon, and this code generator cannot currently make virtual function calls,
2257 the checker are added by generating a function call to a wrapper function.
2259 To avoid code duplication between SelectorChecker and the compiler, all the relevant checking
2260 code has been moved to a common header, SelectorCheckerTestFunctions.h.
2261 SelectorChecker still inline the functions, while the SelectorCompiler generate local static functions
2262 and generate calls to them as needed.
2264 * GNUmakefile.list.am:
2265 * WebCore.vcxproj/WebCore.vcxproj:
2266 * WebCore.vcxproj/WebCore.vcxproj.filters:
2267 * WebCore.xcodeproj/project.pbxproj:
2268 * css/SelectorChecker.cpp:
2269 (WebCore::SelectorChecker::checkOne):
2270 * css/SelectorCheckerTestFunctions.h: Added.
2271 (WebCore::isAutofilled):
2272 (WebCore::isDefaultButtonForForm):
2273 (WebCore::isDisabled):
2274 (WebCore::isEnabled):
2275 (WebCore::isChecked):
2276 (WebCore::isInvalid):
2277 (WebCore::isOptionalFormControl):
2278 (WebCore::isRequiredFormControl):
2280 (WebCore::matchesReadOnlyPseudoClass):
2281 (WebCore::matchesReadWritePseudoClass):
2282 (WebCore::shouldAppearIndeterminate):
2283 (WebCore::matchesFullScreenPseudoClass):
2284 (WebCore::matchesFutureCuePseudoClass):
2285 (WebCore::matchesPastCuePseudoClass):
2286 * cssjit/SelectorCompiler.cpp:
2287 (WebCore::SelectorCompiler::addPseudoType):
2288 (WebCore::SelectorCompiler::nonConstTestFunctionWrapper):
2289 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
2290 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementFunctionCallTest):
2292 (WebCore::Element::isValidFormControlElement):
2294 (WebCore::Node::toInputElement):
2295 * html/HTMLFormControlElement.cpp:
2296 (WebCore::HTMLFormControlElement::isValidFormControlElement):
2297 * html/HTMLFormControlElement.h:
2299 2014-02-10 Benjamin Poulain <benjamin@webkit.org>
2301 Add the basic infrastructure to compile attributes matching in selectors
2302 https://bugs.webkit.org/show_bug.cgi?id=128484
2304 Reviewed by Gavin Barraclough.
2306 Tests: fast/selectors/querySelector-attribute-match-with-child-backtracking.html
2307 fast/selectors/querySelector-long-attribute-match-with-child-backtracking.html
2308 fast/selectors/querySelector-long-multiple-attribute-match-with-child-backtracking.html
2309 fast/selectors/querySelector-multiple-attribute-match-with-child-backtracking.html
2311 Add the infrastructure to match attributes. This only add basic support for the 'Set' match
2312 type, the other match types will have to be built on top.
2314 * cssjit/RegisterAllocator.h:
2315 (WebCore::RegisterAllocator::availableRegisterCount):
2316 (WebCore::RegisterAllocator::allocateRegister):
2317 (WebCore::RegisterAllocator::deallocateRegister):
2318 (WebCore::RegisterAllocator::reserveCalleeSavedRegisters):
2319 (WebCore::RegisterAllocator::restoreCalleeSavedRegisters):
2320 (WebCore::RegisterAllocator::allocatedRegisters):
2321 (WebCore::RegisterAllocator::RegisterAllocator):
2322 (WebCore::RegisterAllocator::~RegisterAllocator):
2323 In the worst case, matching attributes can take up to 10 registers. On x86_64, we have
2324 8 caller-saved registers. The extra 2 registers are simply added by taking callee-saved registers.
2326 RegisterAllocator is modified to know support saving and restoring callee saved registers.
2327 The list of available registers is changed from a vector to a HashSet because the registers
2328 are removed from arbitrary locations in restoreCalleeSavedRegisters(). The m_allocatedRegisters
2329 remain a vector since the allocation/release pattern remain ordered.
2331 * cssjit/SelectorCompiler.cpp:
2332 (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
2334 (WebCore::SelectorCompiler::minimumRegisterRequirements):
2335 This new utility finds the minimum number of registers needed to compile the input. In most
2336 cases we have plenty enough. In rare cases we need to saved a few registers to the stack.
2338 (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
2339 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
2340 (WebCore::SelectorCompiler::testIsHTMLFlagOnNode):
2341 (WebCore::SelectorCompiler::canMatchStyleAttribute):
2343 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeStyleAttribute):
2344 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeAllAnimatedSVGAttribute):
2345 The style attribute and certain SVG attributes can be modified lazily. In those cases,
2346 the element needs to be updated before querying the attributes.
2348 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributesMatching):
2349 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeMatching):
2350 Generate the attribute matching. For each CSSSelector matching an attribute, we generate
2351 a loop over all the attributes of the element, maching the particular CSSSelector.
2352 This makes no attempt at grouping related queries since those do not seem to happen a lot
2356 (WebCore::Attribute::nameMemoryOffset):
2357 (WebCore::Attribute::nameMatchesFilter):
2358 (WebCore::Attribute::matches):
2359 * dom/ElementData.h:
2360 (WebCore::ElementData::isUniqueFlag):
2361 (WebCore::ElementData::arraySizeAndFlagsMemoryOffset):
2362 (WebCore::ElementData::styleAttributeIsDirtyFlag):
2363 (WebCore::ElementData::animatedSVGAttributesAreDirtyFlag):
2364 (WebCore::ElementData::arraySizeOffset):
2365 (WebCore::ShareableElementData::attributeArrayMemoryOffset):
2366 (WebCore::UniqueElementData::attributeVectorMemoryOffset):
2368 (WebCore::Node::flagIsHTML):
2369 * dom/StyledElement.cpp:
2370 (WebCore::StyledElement::synchronizeStyleAttributeInternal):
2371 * dom/StyledElement.h:
2372 (WebCore::StyledElement::synchronizeStyleAttributeInternal):
2373 * svg/SVGElement.cpp:
2374 (WebCore::SVGElement::synchronizeAllAnimatedSVGAttribute):
2375 (WebCore::SVGElement::synchronizeAnimatedSVGAttribute):
2378 2014-02-10 Brady Eidson <beidson@apple.com>
2380 IDB: storage/indexeddb/mozilla/indexes.html fails
2381 <rdar://problem/16031590> and https://bugs.webkit.org/show_bug.cgi?id=128563
2383 Reviewed by Tim Horton.
2385 Tested by storage/indexeddb/mozilla/indexes.html (and probably others)
2387 * Modules/indexeddb/IDBGetResult.h:
2388 (WebCore::IDBGetResult::IDBGetResult): Add a constructor that takes an IDBKeyData argument.
2390 * Modules/indexeddb/IDBRequest.cpp:
2391 (WebCore::IDBRequest::onSuccess): If there’s no keyPath then skip the injection step.
2393 2014-02-10 Benjamin Poulain <benjamin@webkit.org>
2395 Speed up DatasetDOMStringMap::item() when the element has multiple attributes
2396 https://bugs.webkit.org/show_bug.cgi?id=128058
2398 Reviewed by Darin Adler.
2400 Accessing data attributes by name through DatasetDOMStringMap involes the conversion
2401 from JavaScript property name to attribute name (done with propertyNameMatchesAttributeName()).
2403 When there is a single data attribute, that method is efficient. When there are several attributes,
2404 comparing names character by character becomes a bottleneck.
2406 This patch add an efficent path for this case: instead of converting the attribute name on the fly,
2407 the JavaScript property name is converted to an attribute name so that it can compared by its
2408 AtomicStringImpl pointer.
2410 This method puts a lot more pressure on convertPropertyNameToAttributeName()'s speed. The method was
2411 improved accordingly to compensate for its new caller.
2413 When enumerating multiple attributes by name, this patch provides about 80% speedup.
2414 I could not measure any slow down on the simple cases.
2416 * dom/DatasetDOMStringMap.cpp:
2417 (WebCore::convertPropertyNameToAttributeName):
2418 (WebCore::DatasetDOMStringMap::item):
2419 * dom/ElementData.h:
2420 (WebCore::AttributeIteratorAccessor::attributeCount):
2422 2014-02-10 Ryosuke Niwa <rniwa@webkit.org>
2424 Address the review comments for r163825.
2426 * html/HTMLTextFormControlElement.cpp:
2427 (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
2428 (WebCore::positionForIndex):
2430 2014-02-10 Simon Fraser <simon.fraser@apple.com>
2432 Try to fix the 32-bit build.
2436 2014-02-10 Filip Pizlo <fpizlo@apple.com>
2438 Rename Operations.h to JSCInlines.h
2439 https://bugs.webkit.org/show_bug.cgi?id=128543
2441 Rubber stamped by Geoffrey Garen.
2443 No new tests because no change in behavior.
2445 * ForwardingHeaders/runtime/JSCInlines.h: Added.
2446 * bindings/js/JSCryptoAlgorithmBuilder.cpp:
2447 * bindings/js/JSCryptoKeySerializationJWK.cpp:
2448 * bindings/js/JSCustomXPathNSResolver.h:
2449 * bindings/js/JSDOMBinding.h:
2450 * bindings/js/JSDOMGlobalObject.h:
2451 * bindings/js/JSDictionary.h:
2452 * bindings/js/JSMessagePortCustom.cpp:
2453 * bindings/js/JSMessagePortCustom.h:
2454 * bindings/js/JSNodeFilterCondition.h:
2455 * bindings/js/SerializedScriptValue.cpp:
2456 * bindings/js/WebCoreTypedArrayController.cpp:
2457 * bridge/c/c_utility.h:
2458 * bridge/jsc/BridgeJSC.h:
2459 * dom/CustomEvent.cpp:
2461 * html/HTMLCanvasElement.cpp:
2462 * html/HTMLImageLoader.cpp:
2463 * html/canvas/WebGLRenderingContext.cpp:
2464 * inspector/InspectorDOMAgent.cpp:
2465 * inspector/WebConsoleAgent.cpp:
2466 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2467 * platform/graphics/filters/FEGaussianBlur.cpp:
2468 * platform/graphics/filters/FilterEffect.cpp:
2469 * testing/MockCDM.cpp:
2470 * xml/XMLHttpRequest.cpp:
2472 2014-02-09 Dean Jackson <dino@apple.com>
2474 Update aspect-ratio property to have constraining keywords
2475 https://bugs.webkit.org/show_bug.cgi?id=128262
2477 Reviewed by Simon Fraser.
2479 Add support for "from-dimensions" and "from-intrinsic"
2480 property values to "-webkit-aspect-ratio". I also changed
2481 the default value from "none" to "auto", because "none" doesn't
2482 make sense any more.
2484 Covered by enhancing existing tests.
2486 * css/CSSComputedStyleDeclaration.cpp:
2487 (WebCore::ComputedStyleExtractor::propertyValue): New keywords.
2488 * css/CSSParser.cpp:
2489 (WebCore::CSSParser::parseAspectRatio): Support new keywords.
2490 * css/CSSValueKeywords.in: Add from-dimensions and from-intrinsic.
2491 * css/DeprecatedStyleBuilder.cpp: This now has to handle the new
2492 values. I also changed "none" to "auto".
2493 (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
2494 (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
2495 (WebCore::ApplyPropertyAspectRatio::applyValue):
2496 * rendering/style/RenderStyle.h: hasAspectRatio is now aspectRatioType
2497 and indicates one of the three keywords, or a specified number.
2498 * rendering/style/RenderStyleConstants.h: New enum.
2499 * rendering/style/StyleRareNonInheritedData.cpp:
2500 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2501 (WebCore::StyleRareNonInheritedData::operator==):
2502 * rendering/style/StyleRareNonInheritedData.h:
2504 2014-02-10 Benjamin Poulain <bpoulain@apple.com>
2506 [WK2] Add support for image document viewport configuration
2507 https://bugs.webkit.org/show_bug.cgi?id=128565
2509 Reviewed by Simon Fraser.
2511 Add proper default settings for displaying images.
2514 * page/ViewportConfiguration.cpp:
2515 (WebCore::ViewportConfiguration::imageDocumentParameters):
2516 (WebCore::ViewportConfiguration::textDocumentParameters):
2517 * page/ViewportConfiguration.h:
2519 2014-02-10 Brendan Long <b.long@cablelabs.com>
2521 Unreviewed GTK build fix after r163816.
2523 * GNUmakefile.list.am: Remove HTMLMediaSource.h and HTMLMediaSource.cpp
2525 2014-02-10 Jinwoo Song <jinwoo7.song@samsung.com>
2527 Unreviewed EFL WebKit2 build fix after r163816.
2529 * CMakeLists.txt: Remove HTMLMediaSource.cpp
2531 2014-02-10 Ryosuke Niwa <rniwa@webkit.org>
2533 HTMLTextFormControlElement::setSelectionRange shouldn't use VisiblePosition
2534 https://bugs.webkit.org/show_bug.cgi?id=128478
2536 Reviewed by Darin Adler.
2538 Added positionForIndex to compute Position given a selection index. This function doesn't
2539 synchronously trigger like visiblePositionForIndex.
2541 Also added assertions in visiblePositionForIndex and visiblePositionForIndex to make sure
2542 they are inverse of one another.
2544 * html/HTMLTextFormControlElement.cpp:
2545 (WebCore::HTMLTextFormControlElement::setSelectionRange): Use positionForIndex. Also removed
2546 the now tautological assertions since we would never create a position outside the inner text
2549 (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Fixed the bug where this
2550 function could return a selection index beyond innerTextElement in some types of input
2551 elements such as search fields. fast/forms/search-disabled-readonly.html hits the newly
2552 added assertion without this change. Note we can't use visiblePositionForIndex here as that
2553 would result in a mutual recursion with the assertion in visiblePositionForIndex.
2555 (WebCore::HTMLTextFormControlElement::visiblePositionForIndex): Added an assertion.
2557 (WebCore::positionForIndex): Added. It's here with prototype at the beginning of the file
2558 so that it's right next to HTMLTextFormControlElement::innerText() where we do a similar
2559 DOM traversal to obtain the inner text value.
2561 2014-02-07 Jeffrey Pfau <jpfau@apple.com>
2563 Disable access to application cache when in private browsing
2564 https://bugs.webkit.org/show_bug.cgi?id=128426
2566 Reviewed by Alexey Proskuryakov.
2568 Tests: http/tests/security/appcache-in-private-browsing.html
2569 http/tests/security/appcache-switching-private-browsing.html
2571 * loader/appcache/ApplicationCacheGroup.cpp:
2572 (WebCore::ApplicationCacheGroup::cacheForMainRequest):
2573 (WebCore::ApplicationCacheGroup::selectCache):
2574 (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
2575 (WebCore::ApplicationCacheGroup::update):
2576 * loader/appcache/ApplicationCacheHost.cpp:
2577 (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
2579 2014-02-10 Jer Noble <jer.noble@apple.com>
2581 [MSE] Fix layering violations in MediaSource
2582 https://bugs.webkit.org/show_bug.cgi?id=128546
2584 Reviewed by Eric Carlson.
2586 Code in Modules should be considered part of html/ and should have the
2587 same layering properties. Get rid of HTMLMediaSource (which was intended
2588 to allow Modules/mediasource to be considered part of platform/) and add
2589 a new client interface allowing communication from platform/ ->
2590 Modules/mediasource.
2592 Replace HTMLMediaSource -> MediaSourcePrivateClient:
2593 * html/HTMLMediaSource.cpp: Removed.
2594 * html/HTMLMediaSource.h: Removed.
2595 * platform/graphics/MediaSourcePrivateClient.h: Added.
2596 (WebCore::MediaSourcePrivateClient::~MediaSourcePrivateClient):
2598 Move registry support from HTMLMediaSource -> MediaSource.
2599 * Modules/mediasource/MediaSource.cpp:
2600 (WebCore::MediaSource::setRegistry): Moved from HTMLMediaSource.cpp.
2601 * Modules/mediasource/MediaSource.h:
2602 (WebCore::MediaSource::lookup): Ditto.
2604 Update references to HTMLMediaSource -> MediaSource:
2605 * Modules/mediasource/MediaSourceRegistry.cpp:
2606 (WebCore::MediaSourceRegistry::MediaSourceRegistry):
2607 * WebCore.xcodeproj/project.pbxproj:
2608 * html/HTMLMediaElement.cpp:
2609 (WebCore::HTMLMediaElement::loadResource):
2610 * html/HTMLMediaElement.h:
2612 Update references to HTMLMediaSource -> MediaSourcePrivateClient:
2613 * platform/graphics/MediaPlayer.cpp:
2614 (WebCore::NullMediaPlayerPrivate::load):
2615 (WebCore::MediaPlayer::load): Ditto.
2616 (WebCore::MediaPlayer::loadWithNextMediaEngine):
2617 * platform/graphics/MediaPlayer.h:
2618 * platform/graphics/MediaPlayerPrivate.h:
2619 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2620 (WebCore::MediaPlayerPrivateAVFoundation::load):
2621 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2622 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
2623 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2624 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
2625 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2626 (WebCore::MediaPlayerPrivateGStreamer::load):
2627 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2628 * platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
2629 (WebCore::MediaSourceGStreamer::open):
2630 * platform/graphics/gstreamer/MediaSourceGStreamer.h:
2631 * platform/graphics/ios/MediaPlayerPrivateIOS.h:
2632 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2633 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2634 (WebCore::MediaPlayerPrivateQTKit::load):
2635 * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
2636 (WebCore::MockMediaPlayerMediaSource::load):
2637 * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
2639 2014-02-10 Alexey Proskuryakov <ap@apple.com>
2641 Remove some unused functions from SerializedScriptValue
2642 https://bugs.webkit.org/show_bug.cgi?id=128407
2644 Reviewed by Oliver Hunt.
2646 Removed functions that used Deprecated::ScriptValue
2648 * Modules/indexeddb/IDBObjectStore.cpp:
2649 (WebCore::IDBObjectStore::put):
2650 * bindings/js/IDBBindingUtilities.cpp:
2651 (WebCore::deserializeIDBValue):
2652 (WebCore::deserializeIDBValueBuffer):
2653 * bindings/js/SerializedScriptValue.cpp:
2654 * bindings/js/SerializedScriptValue.h:
2656 2014-02-10 Roger Fong <roger_fong@apple.com>
2658 [Windows] Unreviewed test fix.
2660 * platform/graphics/cg/GraphicsContextCG.cpp: m_pixelSnappingFactor was not set to 1.
2661 (WebCore::GraphicsContext::platformInit):
2663 2014-02-10 Carlos Garcia Campos <cgarcia@igalia.com>
2665 [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
2666 https://bugs.webkit.org/show_bug.cgi?id=127554
2668 Reviewed by Gustavo Noronha Silva.
2670 Use GUniqueOutPtr instead of GOwnPtr.
2672 * GNUmakefile.list.am:
2673 * PlatformEfl.cmake:
2674 * PlatformGTK.cmake:
2675 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2676 (WebCore::AudioDestinationGStreamer::handleMessage):
2677 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2678 (WebCore::AudioFileReader::handleMessage):
2679 * platform/glib/BatteryProviderUPower.cpp:
2680 (BatteryProviderUPower::startUpdating):
2681 * platform/graphics/gstreamer/GStreamerUtilities.cpp:
2682 (WebCore::initializeGStreamer):
2683 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2684 (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
2685 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2686 (WebCore::TrackPrivateBaseGStreamer::getTag):
2687 * platform/graphics/gtk/ImageBufferGtk.cpp:
2688 (WebCore::encodeImage):
2689 (WebCore::ImageBuffer::toDataURL):
2690 * platform/graphics/gtk/ImageGtk.cpp:
2691 (WebCore::loadResourceSharedBuffer):
2692 * platform/gtk/DataObjectGtk.cpp:
2693 (WebCore::DataObjectGtk::setURIList):
2694 * platform/gtk/FileSystemGtk.cpp:
2695 (WebCore::readFromFile):
2696 * platform/gtk/GamepadsGtk.cpp:
2697 (WebCore::GamepadDeviceGtk::readCallback):
2698 * platform/gtk/GtkInputMethodFilter.cpp:
2699 (WebCore::GtkInputMethodFilter::handlePreeditChanged):
2700 * platform/gtk/PasteboardHelper.cpp:
2701 (WebCore::PasteboardHelper::fillDataObjectFromDropData):
2702 * platform/gtk/RenderThemeGtk.cpp:
2703 (WebCore::RenderThemeGtk::systemFont):
2704 * platform/gtk/SharedBufferGtk.cpp:
2705 (WebCore::SharedBuffer::createWithContentsOfFile):
2706 * platform/network/gtk/CredentialBackingStore.cpp:
2707 (WebCore::credentialForChallengeAsyncReadyCallback):
2708 * platform/network/soup/GOwnPtrSoup.cpp: Removed.
2709 * platform/network/soup/GOwnPtrSoup.h: Removed.
2710 * platform/network/soup/ResourceHandleSoup.cpp:
2711 (WebCore::redirectSkipCallback):
2712 (WebCore::nextMultipartResponsePartCallback):
2713 (WebCore::sendRequestCallback):
2714 (WebCore::addFileToSoupMessageBody):
2715 (WebCore::createSoupRequestAndMessageForHandle):
2716 (WebCore::readCallback):
2717 * platform/network/soup/SocketStreamHandleSoup.cpp:
2718 (WebCore::SocketStreamHandle::platformSend):
2719 (WebCore::SocketStreamHandle::platformClose):
2720 (WebCore::connectedCallback):
2721 (WebCore::readReadyCallback):
2722 * platform/network/soup/SoupNetworkSession.cpp:
2723 (WebCore::SoupNetworkSession::httpProxy):
2725 2014-02-10 Darin Adler <darin@apple.com>
2727 Automatically generate isRendererOfType in RENDER_OBJECT_TYPE_CASTS
2728 https://bugs.webkit.org/show_bug.cgi?id=128520
2730 Reviewed by Andreas Kling.
2732 * rendering/RenderObject.h: Updated the RENDER_OBJECT_TYPE_CASTS macro so
2733 that it generates isRendererOfType specializations as well as type casts
2734 and also have the type casts use the isRendererOfType function. The macro
2735 also now uses an argument name of "renderer" and allows for a predicate
2736 that is more than just a single function call (see RenderTextFragment.h).
2738 * rendering/RenderBlock.h:
2739 * rendering/RenderBlockFlow.h:
2740 * rendering/RenderBox.h:
2741 * rendering/RenderBoxModelObject.h:
2742 * rendering/RenderCounter.h:
2743 * rendering/RenderElement.h:
2744 * rendering/RenderFrameSet.h:
2745 * rendering/RenderLayerModelObject.h:
2746 * rendering/RenderMenuList.h:
2747 * rendering/RenderNamedFlowThread.h:
2748 * rendering/RenderRubyRun.h:
2749 * rendering/RenderTableSection.h:
2750 * rendering/RenderText.h:
2751 * rendering/mathml/RenderMathMLBlock.h:
2752 * rendering/mathml/RenderMathMLOperator.h:
2753 * rendering/mathml/RenderMathMLToken.h:
2754 * rendering/svg/RenderSVGRoot.h:
2755 * rendering/svg/RenderSVGText.h:
2756 Removed specialization of isRendererOfType, since the RENDER_OBJECT_TYPE_CASTS
2757 macro handles that now. Also removed some unneeded semicolons.
2759 * rendering/RenderTextFragment.h: Use RENDER_OBJECT_TYPE_CASTS instead of
2760 hand written casts, now that it can handle a non-trivial predicate.
2762 * rendering/RenderCombineText.h:
2763 * rendering/RenderDetailsMarker.h:
2764 * rendering/RenderListMarker.h:
2765 * rendering/RenderVideo.h:
2766 * rendering/RenderView.h:
2767 * rendering/mathml/RenderMathMLFraction.h:
2768 * rendering/mathml/RenderMathMLScripts.h:
2769 * rendering/mathml/RenderMathMLSpace.h:
2770 Removed unneeded semicolons.
2772 2014-02-10 Darin Adler <darin@apple.com>
2774 Stop using String::deprecatedCharacters to call WTF::Collator
2775 https://bugs.webkit.org/show_bug.cgi?id=128517
2777 Reviewed by Alexey Proskuryakov.
2779 * xml/XSLTUnicodeSort.cpp:
2780 (WebCore::xsltUnicodeSortFunction): Create the collator in a single line using the
2781 new constructor that takes a shouldSortLowercaseFirst boolean. Use the new
2782 collateUTF8 function instead of upconverting UTF-8 strings to UTF-16 as the old code did.
2784 2014-02-10 Changhun Kang <temoochin@company100.net>
2786 Remove unnecessary comment lines.
2787 https://bugs.webkit.org/show_bug.cgi?id=127894
2789 Reviewed by Darin Adler.
2791 No new tests. No change in behavior.
2793 * Modules/websockets/WebSocketHandshake.cpp:
2794 (WebCore::WebSocketHandshake::clientHandshakeRequest):
2796 2014-02-10 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
2798 Fix EFL build with INSPECTOR disabled
2799 https://bugs.webkit.org/show_bug.cgi?id=125064
2801 Reviewed by Csaba Osztrogonác.
2803 * bindings/js/PageScriptDebugServer.cpp:
2804 * bindings/js/PageScriptDebugServer.h:
2805 * bindings/js/WorkerScriptDebugServer.cpp:
2806 * bindings/js/WorkerScriptDebugServer.h:
2807 * inspector/PageInjectedScriptManager.h:
2809 2014-02-10 Zan Dobersek <zdobersek@igalia.com>
2811 Fix a few mistakes that landed with r163749.
2813 Rubber-stamped by Carlos Garcia Campos.
2815 * platform/gtk/GtkTouchContextHelper.cpp:
2816 (WebCore::GtkTouchContextHelper::handleEvent): When handling GDK_TOUCH_BEGIN, the assertion
2817 should ensure that the sequence-to-event map doesn't yet contain pairs with the specific
2818 sequence as the key.
2820 2014-02-10 David Kilzer <ddkilzer@apple.com>
2822 Add type-safe casts for ContentData subclasses
2823 <http://webkit.org/b/128510>
2825 Reviewed by Darin Adler.
2827 * css/CSSComputedStyleDeclaration.cpp:
2828 (WebCore::contentToCSSValue):
2829 * css/StyleResolver.cpp:
2830 (WebCore::StyleResolver::loadPendingImages):
2831 * rendering/RenderElement.cpp:
2832 (WebCore::RenderElement::createFor):
2833 * rendering/style/RenderStyle.cpp:
2834 (WebCore::RenderStyle::setContent):
2835 - Switch to toFooContentData() methods.
2837 * rendering/style/ContentData.h:
2838 - Define toFooContentData() methods.
2839 - Extract FooContentData::equals() methods so that the
2840 toFooContentData() methods can be used.
2842 2014-02-09 Dirk Schulze <dschulze@chromium.org>
2844 -webkit-clip-path should support fill, stroke, view-box keywords
2845 https://bugs.webkit.org/show_bug.cgi?id=128393
2847 Reviewed by Dean Jackson.
2849 CSS Masking uses the keywords fill, stroke and view-box for SVG shapes.
2850 This patch updates the parser, style resolver and SVG implementation of
2851 the prefixed clip-path property.
2853 Remove the unexposed and obsolete keyword bounding-box.
2855 Tests: svg/clip-path/clip-path-shape-fill-expected.svg
2856 svg/clip-path/clip-path-shape-fill.svg
2857 svg/clip-path/clip-path-shape-stroke-expected.svg
2858 svg/clip-path/clip-path-shape-stroke.svg
2859 svg/clip-path/clip-path-shape-view-box-expected.svg
2860 svg/clip-path/clip-path-shape-view-box.svg
2862 * css/CSSParser.cpp: Parse fill, stroke, view-box. Remove bounding-box.
2863 (WebCore::isBoxValue):
2864 * css/CSSPrimitiveValueMappings.h:
2865 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2866 (WebCore::CSSPrimitiveValue::operator LayoutBox):
2867 * css/CSSValueKeywords.in:
2868 * css/DeprecatedStyleBuilder.cpp:
2869 (WebCore::ApplyPropertyClipPath::applyValue):
2870 * rendering/RenderLayer.cpp:
2871 (WebCore::computeReferenceBox):
2872 * rendering/shapes/ShapeInfo.h:
2873 (WebCore::ShapeInfo::setShapeSize):
2874 (WebCore::ShapeInfo::logicalTopOffset):
2875 (WebCore::ShapeInfo::logicalLeftOffset):
2876 * rendering/style/RenderStyleConstants.h:
2877 * rendering/svg/SVGRenderingContext.cpp: Use different reference boxes per keyword.
2878 (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
2880 2014-02-09 Dean Jackson <dino@apple.com>
2882 [WebGL] Remove state restorer code
2883 https://bugs.webkit.org/show_bug.cgi?id=128516
2885 Reviewed by Dirk Schulze.
2887 I'm not sure what the point of the WebGLStateRestorer class was. It was
2888 always constructed with a false parameter, and then wasn't even retained
2889 in local scope (so wouldn't have worked anyway). Meanwhile there were
2890 also LOTS of calls to cleanupAfterGraphicsCall, the majority of which
2891 were a no-op. I replaced the handful of cleanupAfterGraphicsCall(true)
2892 with the call to markContextChanged().
2894 * html/canvas/OESVertexArrayObject.cpp:
2895 (WebCore::OESVertexArrayObject::bindVertexArrayOES):
2896 * html/canvas/WebGLRenderingContext.cpp:
2897 (WebCore::WebGLRenderingContext::activeTexture):
2898 (WebCore::WebGLRenderingContext::attachShader):
2899 (WebCore::WebGLRenderingContext::bindAttribLocation):
2900 (WebCore::WebGLRenderingContext::bindBuffer):
2901 (WebCore::WebGLRenderingContext::bindFramebuffer):
2902 (WebCore::WebGLRenderingContext::bindRenderbuffer):
2903 (WebCore::WebGLRenderingContext::bindTexture):
2904 (WebCore::WebGLRenderingContext::blendColor):
2905 (WebCore::WebGLRenderingContext::blendEquation):
2906 (WebCore::WebGLRenderingContext::blendEquationSeparate):
2907 (WebCore::WebGLRenderingContext::blendFunc):
2908 (WebCore::WebGLRenderingContext::blendFuncSeparate):
2909 (WebCore::WebGLRenderingContext::bufferData):
2910 (WebCore::WebGLRenderingContext::bufferSubData):
2911 (WebCore::WebGLRenderingContext::checkFramebufferStatus):
2912 (WebCore::WebGLRenderingContext::clear):
2913 (WebCore::WebGLRenderingContext::clearColor):
2914 (WebCore::WebGLRenderingContext::clearDepth):
2915 (WebCore::WebGLRenderingContext::clearStencil):
2916 (WebCore::WebGLRenderingContext::colorMask):
2917 (WebCore::WebGLRenderingContext::compileShader):
2918 (WebCore::WebGLRenderingContext::compressedTexImage2D):
2919 (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
2920 (WebCore::WebGLRenderingContext::copyTexImage2D):
2921 (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2922 (WebCore::WebGLRenderingContext::cullFace):
2923 (WebCore::WebGLRenderingContext::depthFunc):
2924 (WebCore::WebGLRenderingContext::depthMask):
2925 (WebCore::WebGLRenderingContext::depthRange):
2926 (WebCore::WebGLRenderingContext::detachShader):
2927 (WebCore::WebGLRenderingContext::disable):
2928 (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2929 (WebCore::WebGLRenderingContext::validateDrawArrays):
2930 (WebCore::WebGLRenderingContext::drawArrays):
2931 (WebCore::WebGLRenderingContext::validateDrawElements):
2932 (WebCore::WebGLRenderingContext::drawElements):
2933 (WebCore::WebGLRenderingContext::enable):
2934 (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2935 (WebCore::WebGLRenderingContext::finish):
2936 (WebCore::WebGLRenderingContext::flush):
2937 (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
2938 (WebCore::WebGLRenderingContext::framebufferTexture2D):
2939 (WebCore::WebGLRenderingContext::frontFace):
2940 (WebCore::WebGLRenderingContext::generateMipmap):
2941 (WebCore::WebGLRenderingContext::getBufferParameter):
2942 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2943 (WebCore::WebGLRenderingContext::getParameter):
2944 (WebCore::WebGLRenderingContext::getProgramParameter):
2945 (WebCore::WebGLRenderingContext::getProgramInfoLog):
2946 (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2947 (WebCore::WebGLRenderingContext::getShaderParameter):
2948 (WebCore::WebGLRenderingContext::getShaderInfoLog):
2949 (WebCore::WebGLRenderingContext::getTexParameter):
2950 (WebCore::WebGLRenderingContext::getUniform):
2951 (WebCore::WebGLRenderingContext::getUniformLocation):
2952 (WebCore::WebGLRenderingContext::getVertexAttrib):
2953 (WebCore::WebGLRenderingContext::getVertexAttribOffset):
2954 (WebCore::WebGLRenderingContext::hint):
2955 (WebCore::WebGLRenderingContext::lineWidth):
2956 (WebCore::WebGLRenderingContext::linkProgram):
2957 (WebCore::WebGLRenderingContext::pixelStorei):
2958 (WebCore::WebGLRenderingContext::polygonOffset):
2959 (WebCore::WebGLRenderingContext::readPixels):
2960 (WebCore::WebGLRenderingContext::releaseShaderCompiler):
2961 (WebCore::WebGLRenderingContext::renderbufferStorage):
2962 (WebCore::WebGLRenderingContext::sampleCoverage):
2963 (WebCore::WebGLRenderingContext::scissor):
2964 (WebCore::WebGLRenderingContext::shaderSource):
2965 (WebCore::WebGLRenderingContext::stencilFunc):
2966 (WebCore::WebGLRenderingContext::stencilFuncSeparate):
2967 (WebCore::WebGLRenderingContext::stencilMask):
2968 (WebCore::WebGLRenderingContext::stencilMaskSeparate):
2969 (WebCore::WebGLRenderingContext::stencilOp):
2970 (WebCore::WebGLRenderingContext::stencilOpSeparate):
2971 (WebCore::WebGLRenderingContext::texImage2DBase):
2972 (WebCore::WebGLRenderingContext::texImage2D):
2973 (WebCore::WebGLRenderingContext::texParameter):
2974 (WebCore::WebGLRenderingContext::texSubImage2DBase):
2975 (WebCore::WebGLRenderingContext::uniform1f):
2976 (WebCore::WebGLRenderingContext::uniform1fv):
2977 (WebCore::WebGLRenderingContext::uniform1i):
2978 (WebCore::WebGLRenderingContext::uniform1iv):
2979 (WebCore::WebGLRenderingContext::uniform2f):
2980 (WebCore::WebGLRenderingContext::uniform2fv):
2981 (WebCore::WebGLRenderingContext::uniform2i):
2982 (WebCore::WebGLRenderingContext::uniform2iv):
2983 (WebCore::WebGLRenderingContext::uniform3f):
2984 (WebCore::WebGLRenderingContext::uniform3fv):
2985 (WebCore::WebGLRenderingContext::uniform3i):
2986 (WebCore::WebGLRenderingContext::uniform3iv):
2987 (WebCore::WebGLRenderingContext::uniform4f):
2988 (WebCore::WebGLRenderingContext::uniform4fv):
2989 (WebCore::WebGLRenderingContext::uniform4i):
2990 (WebCore::WebGLRenderingContext::uniform4iv):
2991 (WebCore::WebGLRenderingContext::uniformMatrix2fv):
2992 (WebCore::WebGLRenderingContext::uniformMatrix3fv):
2993 (WebCore::WebGLRenderingContext::uniformMatrix4fv):
2994 (WebCore::WebGLRenderingContext::useProgram):
2995 (WebCore::WebGLRenderingContext::validateProgram):
2996 (WebCore::WebGLRenderingContext::vertexAttribPointer):
2997 (WebCore::WebGLRenderingContext::viewport):
2998 (WebCore::WebGLRenderingContext::vertexAttribfImpl):
2999 (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
3000 (WebCore::WebGLRenderingContext::drawArraysInstanced):
3001 (WebCore::WebGLRenderingContext::drawElementsInstanced):
3002 * html/canvas/WebGLRenderingContext.h:
3004 2014-02-09 Dean Jackson <dino@apple.com>
3006 Remove unused layer owner from WebGLLayer
3007 https://bugs.webkit.org/show_bug.cgi?id=128512
3009 Reviewed by Dirk Schulze.
3011 The m_layerOwner and ObjC category were not
3014 * platform/graphics/mac/WebGLLayer.h:
3015 * platform/graphics/mac/WebGLLayer.mm:
3016 (-[WebGLLayer display]):
3018 2014-02-09 Ryuan Choi <ryuan.choi@samsung.com>
3020 [EFL] Remove PageClientEfl
3021 https://bugs.webkit.org/show_bug.cgi?id=128508
3023 Reviewed by Andreas Kling.
3025 PageClientEfl was introduced for accelerated compositing of WebKit1, but
3026 it's bad idea because it's layer violation.
3027 Indeed, it has never been used since introduced.
3029 * platform/Widget.h: Back to PlatformPageClient to Evas_Object.
3030 * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
3031 Removed empty method which use PageClientEfl.
3032 * platform/graphics/efl/GraphicsContext3DPrivate.h: Ditto.
3034 2014-02-09 Tim Horton <timothy_horton@apple.com>
3036 [iOS][wk2] ASSERT(WebThreadIsCurrent()) in [WebDisplayLinkHandler handleDisplayLink:]
3037 https://bugs.webkit.org/show_bug.cgi?id=128490
3039 Reviewed by Simon Fraser.
3041 * platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
3042 (-[WebDisplayLinkHandler handleDisplayLink:]):
3043 [WebDisplayLinkHandler handleDisplayLink:] has an ASSERT(WebThreadIsCurrent()).
3045 We don't use the Web Thread in WebKit2, but it looks like isMainThread()
3046 does the right thing (main thread if web thread is disabled, web thread
3047 otherwise), so use that instead.
3049 2014-02-09 Anders Carlsson <andersca@apple.com>
3051 Add WTF_MAKE_FAST_ALLOCATED to more classes
3052 https://bugs.webkit.org/show_bug.cgi?id=128506
3054 Reviewed by Andreas Kling.
3057 * dom/ScriptElement.h:
3058 * loader/ImageLoader.h:
3059 * loader/cache/CachedResourceClient.h:
3060 * platform/TreeShared.h:
3061 * platform/graphics/GlyphMetricsMap.h:
3062 * rendering/InlineBox.h:
3063 * rendering/RenderLayer.h:
3064 * rendering/RenderObject.h:
3066 2014-02-09 Andreas Kling <akling@apple.com>
3068 Reduce ref churn in ChildNodesLazySnapshot iteration.
3069 <https://webkit.org/b/128492>
3071 Add a missing release() in ChildNodesLazySnapshot::nextNode()
3072 so we don't have to churn the ref count.
3074 Reviewed by Sam Weinig.
3076 * dom/ContainerNode.h:
3077 (WebCore::ChildNodesLazySnapshot::nextNode):
3079 2014-02-09 Andreas Kling <akling@apple.com>
3081 Reduce ref churn in ChildInsertionNotifier.
3082 <https://webkit.org/b/128494>
3084 All callers of notifyNodeInsertedIntoDocument() already hold a strong
3085 reference on the Node, so there's no need to ref it again inside.
3087 Reviewed by Anders Carlsson.
3089 * dom/ContainerNodeAlgorithms.h:
3090 (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
3092 2014-02-09 Zan Dobersek <zdobersek@igalia.com>
3094 Manage ShadowData through std::unique_ptr
3095 https://bugs.webkit.org/show_bug.cgi?id=128466
3097 Reviewed by Andreas Kling.
3099 Use std::unique_ptr instead of OwnPtr to manage ShadowData objects.
3101 * css/SVGCSSStyleSelector.cpp:
3102 (WebCore::StyleResolver::applySVGProperty):
3103 * css/StyleResolver.cpp:
3104 (WebCore::StyleResolver::applyProperty):
3105 * page/animation/CSSPropertyAnimation.cpp:
3106 (WebCore::blendFunc):
3107 (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
3108 (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
3109 (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
3110 * rendering/style/RenderStyle.cpp:
3111 (WebCore::RenderStyle::setTextShadow):
3112 (WebCore::RenderStyle::setBoxShadow):
3113 * rendering/style/RenderStyle.h:
3114 * rendering/style/SVGRenderStyle.h:
3115 (WebCore::SVGRenderStyle::setShadow):
3116 * rendering/style/SVGRenderStyleDefs.cpp:
3117 (WebCore::StyleShadowSVGData::StyleShadowSVGData):
3118 * rendering/style/SVGRenderStyleDefs.h:
3119 * rendering/style/ShadowData.cpp:
3120 (WebCore::ShadowData::ShadowData):
3121 * rendering/style/ShadowData.h:
3122 (WebCore::ShadowData::setNext):
3123 * rendering/style/StyleRareInheritedData.cpp:
3124 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3125 * rendering/style/StyleRareInheritedData.h:
3126 * rendering/style/StyleRareNonInheritedData.cpp:
3127 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3128 * rendering/style/StyleRareNonInheritedData.h:
3130 2014-02-09 Carlos Garnacho <carlosg@gnome.org>
3132 [GTK] Add touch-events related code to build
3133 https://bugs.webkit.org/show_bug.cgi?id=98931
3135 Reviewed by Carlos Garcia Campos.
3137 Tests in fast/events/touch have been enabled on GTK+ now that touch
3138 support is implemented, and thus all expected bits are there.
3140 * platform/gtk/GtkTouchContextHelper.cpp:
3141 * platform/gtk/GtkTouchContextHelper.h: Add helper object to track all touchpoints, handy
3142 when creating WebTouchEvents.
3143 * GNUmakefile.list.am:
3144 * PlatformGTK.cmake:
3145 * bindings/gobject/GNUmakefile.am: Add touch related code and idls to build, those are
3146 necessary now that GTK+ implements touch events.
3148 2014-02-09 Zan Dobersek <zdobersek@igalia.com>
3150 Switch the rest of CSS code from OwnPtr over to std::unique_ptr
3151 https://bugs.webkit.org/show_bug.cgi?id=128471
3153 Reviewed by Andreas Kling.
3155 Replace the remaining uses of OwnPtr in the CSS code with std::unique_ptr, covering
3156 the CSSParser, CSSParserSelector and CSSSelector classes and a few additional, closely related classes.
3158 * css/CSSGrammar.y.in:
3159 * css/CSSParser.cpp:
3160 (WebCore::CSSParser::parseSheet):
3161 (WebCore::CSSParser::parseDeclaration):
3162 (WebCore::CSSParser::parseValue):
3163 (WebCore::CSSParser::markSupportsRuleHeaderStart):
3164 (WebCore::CSSParser::createKeyframesRule):
3165 (WebCore::CSSParser::createStyleRule):
3166 (WebCore::CSSParser::rewriteSpecifiersWithElementName):
3167 (WebCore::CSSParser::rewriteSpecifiers):
3169 * css/CSSParserValues.cpp:
3170 (WebCore::CSSParserSelector::CSSParserSelector):
3171 (WebCore::CSSParserSelector::~CSSParserSelector):
3172 (WebCore::CSSParserSelector::adoptSelectorVector):
3173 (WebCore::CSSParserSelector::insertTagHistory):
3174 (WebCore::CSSParserSelector::appendTagHistory):
3175 (WebCore::CSSParserSelector::prependTagSelector):
3176 * css/CSSParserValues.h:
3177 (WebCore::CSSParserSelector::releaseSelector):
3178 (WebCore::CSSParserSelector::setTagHistory):
3179 (WebCore::CSSParserSelector::clearTagHistory):
3180 * css/CSSSelector.cpp:
3181 (WebCore::CSSSelector::setSelectorList):
3182 * css/CSSSelector.h:
3183 * css/CSSSelectorList.cpp:
3184 (WebCore::CSSSelectorList::adoptSelectorVector):
3185 * css/CSSSelectorList.h:
3186 * css/CSSValueList.cpp:
3187 * css/StyleRule.cpp:
3188 (WebCore::StyleRuleRegion::StyleRuleRegion):
3190 (WebCore::StyleRule::parserAdoptSelectorVector):
3191 (WebCore::StyleRulePage::parserAdoptSelectorVector):
3192 (WebCore::StyleRuleRegion::create):
3194 2014-02-09 Zan Dobersek <zdobersek@igalia.com>
3196 Manage MutationObserverInterestGroup through std::unique_ptr
3197 https://bugs.webkit.org/show_bug.cgi?id=128468
3199 Reviewed by Andreas Kling.
3201 Use std::unique_ptr instead of OwnPtr for managing MutationObserverInterestGroup objects.
3203 * css/PropertySetCSSStyleDeclaration.cpp:
3204 * dom/CharacterData.cpp:
3205 (WebCore::CharacterData::dispatchModifiedEvent):
3206 * dom/ChildListMutationScope.cpp:
3207 (WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator):
3208 * dom/ChildListMutationScope.h:
3209 (WebCore::ChildListMutationAccumulator::hasObservers):
3211 (WebCore::Element::willModifyAttribute):
3212 * dom/MutationObserverInterestGroup.cpp:
3213 (WebCore::MutationObserverInterestGroup::createIfNeeded):
3214 * dom/MutationObserverInterestGroup.h:
3215 (WebCore::MutationObserverInterestGroup::createForChildListMutation):
3216 (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
3217 (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
3219 2014-02-09 Zan Dobersek <zdobersek@igalia.com>
3221 Manage MessagePort, MessagePortChannel and friends through std::unique_ptr
3222 https://bugs.webkit.org/show_bug.cgi?id=128467
3224 Reviewed by Andreas Kling.
3226 Use std::unique_ptr instead of OwnPtr to manage MessagePort, MessagePortArray, MessagePortChannel
3227 and MessagePortChannelArray objects.
3229 * bindings/js/JSMessageEventCustom.cpp:
3230 (WebCore::handleInitMessageEvent):
3231 * dom/MessageEvent.cpp:
3232 (WebCore::MessageEvent::MessageEvent):
3233 (WebCore::MessageEvent::initMessageEvent):
3234 * dom/MessageEvent.h:
3235 (WebCore::MessageEvent::create):
3236 * dom/MessagePort.cpp:
3237 (WebCore::MessagePort::postMessage):
3238 (WebCore::MessagePort::disentangle):
3239 (WebCore::MessagePort::entangle):
3240 (WebCore::MessagePort::dispatchMessages):
3241 (WebCore::MessagePort::disentanglePorts):
3242 (WebCore::MessagePort::entanglePorts):
3243 * dom/MessagePort.h:
3244 * dom/MessagePortChannel.h:
3245 * dom/default/PlatformMessagePortChannel.cpp:
3246 (WebCore::PlatformMessagePortChannel::EventData::EventData):
3247 (WebCore::MessagePortChannel::createChannel):
3248 (WebCore::MessagePortChannel::postMessageToRemote):
3249 (WebCore::MessagePortChannel::tryGetMessageFromRemote):
3250 * dom/default/PlatformMessagePortChannel.h:
3251 (WebCore::PlatformMessagePortChannel::EventData::channels):
3252 * page/DOMWindow.cpp:
3253 (WebCore::PostMessageTimer::PostMessageTimer):
3254 (WebCore::PostMessageTimer::event):
3255 (WebCore::DOMWindow::postMessage):
3256 * workers/DedicatedWorkerGlobalScope.cpp:
3257 (WebCore::DedicatedWorkerGlobalScope::postMessage):
3258 * workers/DefaultSharedWorkerRepository.cpp:
3259 (WebCore::SharedWorkerConnectTask::create):
3260 (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
3261 (WebCore::SharedWorkerConnectTask::performTask):
3262 (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
3263 (WebCore::SharedWorkerScriptLoader::notifyFinished):
3264 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
3265 (WebCore::DefaultSharedWorkerRepository::connectToWorker):
3266 * workers/DefaultSharedWorkerRepository.h:
3267 * workers/SharedWorker.cpp:
3268 (WebCore::SharedWorker::create):
3269 * workers/SharedWorkerGlobalScope.cpp:
3270 (WebCore::createConnectEvent):
3271 * workers/SharedWorkerRepository.cpp:
3272 (WebCore::SharedWorkerRepository::connect):
3273 * workers/SharedWorkerRepository.h:
3274 * workers/Worker.cpp:
3275 (WebCore::Worker::postMessage):
3276 * workers/WorkerGlobalScopeProxy.h:
3277 * workers/WorkerMessagingProxy.cpp:
3278 (WebCore::MessageWorkerGlobalScopeTask::create):
3279 (WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask):
3280 (WebCore::MessageWorkerGlobalScopeTask::performTask):
3281 (WebCore::MessageWorkerTask::create):
3282 (WebCore::MessageWorkerTask::MessageWorkerTask):
3283 (WebCore::MessageWorkerTask::performTask):
3284 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
3285 (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
3286 * workers/WorkerMessagingProxy.h:
3287 * workers/WorkerObjectProxy.h:
3289 2014-02-08 Ryosuke Niwa <rniwa@webkit.org>
3291 Cleanup the interface of FrameSelection
3292 https://bugs.webkit.org/show_bug.cgi?id=128481
3294 Reviewed by Andreas Kling.
3296 Removed FrameSelection::end() as intended in r163232, and the stale declaration of
3297 paintDragCaret() which was supposed to be removed when we extracted DragCaretController.
3299 Renamed caretRenderer() to caretRendererWithoutUpdatingLayout() to clarify the contract
3300 as the only caller of this function is RenderBlock::paintCaret. Also renamed bounds()
3301 to selectionBounds() to make it more easily identifiable / grep'able.
3303 In addition, made recomputeCaretRect() and invalidateCaretRect() private.
3306 * editing/FrameSelection.cpp:
3307 (WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
3308 (WebCore::FrameSelection::selectionBounds):
3309 (WebCore::FrameSelection::revealSelection):
3310 * editing/FrameSelection.h:
3311 (WebCore::FrameSelection::setCaretVisible):
3312 * page/DragController.cpp:
3313 (WebCore::dragLocForSelectionDrag):
3314 * page/FrameSnapshotting.cpp:
3315 (WebCore::snapshotSelection):
3316 * page/win/FrameWin.cpp:
3317 (WebCore::imageFromSelection):
3318 * rendering/RenderBlock.cpp:
3319 (WebCore::RenderBlock::paintCaret):
3320 * testing/Internals.cpp:
3321 (WebCore::Internals::selectionBounds):
3323 2014-02-08 Dan Bernstein <mitz@apple.com>
3325 Reverted part of r163734, because the assertion it enabled still fails when running
3326 loader/load-defer-resume-crash.html
3328 * loader/DocumentLoader.cpp:
3329 (WebCore::DocumentLoader::dataReceived):
3331 2014-02-08 Ryosuke Niwa <rniwa@webkit.org>
3333 EFL build fix after r163729.
3335 * Modules/indexeddb/IDBDatabase.cpp:
3336 (WebCore::IDBDatabase::version):
3338 2014-02-08 Dan Bernstein <mitz@apple.com>
3340 Remove outdated workarounds in DocumentLoader::dataReceived
3341 https://bugs.webkit.org/show_bug.cgi?id=128465
3343 Reviewed by Andreas Kling.
3345 * loader/DocumentLoader.cpp:
3346 (WebCore::DocumentLoader::dataReceived):
3348 2014-02-08 Alexey Proskuryakov <ap@apple.com>
3350 Remove some unused functions from SerializedScriptValue
3351 https://bugs.webkit.org/show_bug.cgi?id=128407
3353 Reviewed by Oliver Hunt.
3355 Removed more unused code, particularly in API helpers. Renamed one serialize()
3356 function to create(), because it does the same thing as other create() functions.
3358 * Modules/indexeddb/IDBObjectStore.cpp:
3359 (WebCore::IDBObjectStore::put):
3360 * bindings/js/SerializedScriptValue.cpp:
3361 (WebCore::SerializedScriptValue::create):
3362 (WebCore::SerializedScriptValue::deserialize):
3363 * bindings/js/SerializedScriptValue.h:
3365 2014-02-08 Brady Eidson <beidson@apple.com>
3367 IDB: storage/indexeddb/mozilla/versionchange-abort.html fails
3368 <rdar://problem/16018887> and https://bugs.webkit.org/show_bug.cgi?id=128442
3370 Reviewed by Dan Bernstein.
3372 Tested by storage/indexeddb/mozilla/versionchange-abort.html (and probably others)
3374 * Modules/indexeddb/IDBDatabase.cpp:
3375 (WebCore::IDBDatabase::version): If the version is NoIntVersion, return DefaultIntVersion to script.
3377 2014-02-08 Brady Eidson <beidson@apple.com>
3379 IDB: storage/indexeddb/mozilla/cursors.html fails
3380 <rdar://problem/16017998> and https://bugs.webkit.org/show_bug.cgi?id=128423
3382 Reviewed by Dan Bernstein.
3384 Tested by storage/indexeddb/mozilla/cursors.html (And probably others)
3386 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
3387 (WebCore::OpenCursorOperation::perform): Distinguish between an error while opening the cursor
3388 and opening a cursor that points to no records.
3390 2014-02-08 Andreas Kling <akling@apple.com>
3392 Remove unused ChromeClient::layoutUpdated().
3393 <https://webkit.org/b/128470>
3395 Nobody listens for this callback anymore so remove it.
3397 Reviewed by Anders Carlsson.
3401 * page/ChromeClient.h:
3402 * page/FrameView.cpp:
3403 (WebCore::FrameView::layout):
3405 2014-02-08 Dan Bernstein <mitz@apple.com>
3407 Stop using PLATFORM(MAC) in WebCore except where it means “OS X but not iOS”
3408 https://bugs.webkit.org/show_bug.cgi?id=128464
3410 Reviewed by Anders Carlsson.
3412 * Modules/webaudio/AudioContext.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
3413 (WebCore::AudioContext::constructCommon):
3414 * accessibility/AccessibilityNodeObject.cpp: Ditto.
3415 (WebCore::AccessibilityNodeObject::visibleText):
3416 * accessibility/AccessibilityObject.h: Ditto.
3417 * accessibility/AccessibilityRenderObject.cpp: Ditto.
3418 (WebCore::AccessibilityRenderObject::clickPoint):
3419 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
3420 (WebCore::AccessibilityRenderObject::addChildren):
3421 * accessibility/AccessibilityRenderObject.h: Ditto.
3422 * bindings/js/JSInspectorFrontendHostCustom.cpp:
3423 (WebCore::JSInspectorFrontendHost::platform): Made it explicit that this function returns
3424 "mac" when built for iOS.
3425 * bindings/js/ScriptController.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
3426 (WebCore::ScriptController::ScriptController):
3427 * bindings/js/ScriptController.h: Ditto.
3428 * crypto/CryptoKey.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&
3429 !PLATFORM(GTK) when checking for whether to use CoreCrypto.
3430 * crypto/keys/CryptoKeyRSA.h: Ditto.
3431 * dom/Clipboard.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
3432 * dom/Document.cpp: Ditto.
3433 (WebCore::Document::implicitClose):
3434 * dom/KeyboardEvent.h: Ditto.
3435 * editing/Editor.cpp: Ditto.
3436 (WebCore::Editor::cut):
3437 (WebCore::Editor::copy):
3438 (WebCore::Editor::copyImage):
3439 * editing/Editor.h: Ditto.
3440 * editing/FrameSelection.h: Ditto.
3441 * editing/TypingCommand.cpp: Ditto.
3442 (WebCore::TypingCommand::typingAddedToOpenCommand):
3443 * history/HistoryItem.h: Ditto.
3444 * html/HTMLMediaElement.cpp: Ditto.
3445 (WebCore::HTMLMediaElement::parseAttribute):
3446 * html/HTMLMediaElement.h: Ditto.
3447 * html/HTMLPlugInElement.cpp: Ditto.
3448 (WebCore::registeredPluginReplacements):
3449 * html/HTMLPlugInImageElement.cpp: Ditto.
3450 (WebCore::HTMLPlugInImageElement::setDisplayState):
3451 * html/HTMLSelectElement.cpp: Ditto.
3452 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
3453 * html/shadow/MediaControlElements.cpp: Ditto.
3454 (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
3455 (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
3456 * html/shadow/MediaControlElements.h: Ditto.
3457 * inspector/InspectorIndexedDBAgent.cpp: Ditto.
3458 * loader/CookieJar.cpp: Ditto.
3459 * loader/DocumentLoader.cpp: Ditto.
3460 (WebCore::DocumentLoader::dataReceived):
3461 * loader/DocumentLoader.h: Ditto.
3462 (WebCore::DocumentLoader::didTellClientAboutLoad):
3463 * loader/EmptyClients.h: Ditto.
3464 * loader/FrameLoader.cpp:
3465 (WebCore::FrameLoader::loadArchive): Added !PLATFORM(IOS) around Mac-only workaround.
3466 (WebCore::FrameLoader::defaultObjectContentType): Changed PLATFORM(MAC) to PLATFORM(COCOA).
3467 (WebCore::FrameLoader::subresourceCachePolicy): Ditto.
3468 * loader/ResourceBuffer.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around functions that
3469 are implemented using Foundation.
3470 * loader/ResourceLoadScheduler.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
3471 (WebCore::ResourceLoadScheduler::scheduleLoad):
3472 * loader/ResourceLoader.cpp: Ditto.
3473 (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
3474 * loader/ResourceLoader.h: Ditto.
3475 * loader/archive/cf/LegacyWebArchive.cpp: Ditto.
3476 * loader/cache/CachedResource.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION) around function
3477 that is implemented using other USE(FOUNDATION)-guarded code.
3478 * loader/cache/CachedResource.h: Ditto.
3479 * page/Chrome.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
3480 * page/ChromeClient.h: Ditto.
3481 * page/ContextMenuClient.h: Ditto.
3482 * page/ContextMenuController.cpp: Ditto.
3483 (WebCore::ContextMenuController::contextMenuItemSelected):
3484 (WebCore::ContextMenuController::createAndAppendFontSubMenu):
3485 (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
3486 (WebCore::ContextMenuController::populate):
3487 (WebCore::ContextMenuController::checkOrEnableIfNeeded):
3488 * page/DragClient.h: Ditto.
3489 * page/DragController.cpp: Ditto.
3490 (WebCore::dragLocForDHTMLDrag):
3491 (WebCore::dragLocForSelectionDrag):
3492 (WebCore::DragController::startDrag):
3493 (WebCore::DragController::doImageDrag):
3494 * page/EditorClient.h: Ditto.
3495 * page/EventHandler.cpp: Ditto.
3496 (WebCore::EventHandler::EventHandler):
3497 (WebCore::EventHandler::handleMouseDraggedEvent):
3498 (WebCore::EventHandler::logicalScrollRecursively):
3499 (WebCore::EventHandler::clearDragState):
3500 (WebCore::EventHandler::handleWheelEvent):
3501 (WebCore::EventHandler::defaultWheelEventHandler):
3502 (WebCore::EventHandler::keyEvent):
3503 (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
3504 * page/EventHandler.h: Ditto.
3505 * page/FrameView.cpp: Ditto.
3506 (WebCore::FrameView::layout):
3507 * page/Page.h: Ditto.
3508 * page/Settings.cpp: Ditto.
3509 * page/Settings.h: Ditto.
3510 * page/scrolling/ScrollingCoordinator.cpp: Ditto.
3511 * page/scrolling/ScrollingCoordinator.h: Ditto.
3512 * page/scrolling/ScrollingStateNode.h: Removed unused #include.
3513 * page/scrolling/ScrollingThread.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
3514 (WebCore::ScrollingThread::createThreadIfNeeded):
3515 * page/scrolling/ScrollingThread.h: Ditto.
3516 * platform/network/cf/ResourceRequest.h: Added !PLATFORM(IOS) around
3517 applyWebArchiveHackForMail.
3518 * platform/network/cf/ResourceRequestCFNet.cpp:
3519 (WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.
3520 * platform/network/mac/ResourceRequestMac.mm:
3521 (WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.
3522 * plugins/PluginViewNone.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
3523 * rendering/RenderBox.cpp: Ditto.
3524 (WebCore::RenderBox::logicalScroll):
3525 * rendering/RenderLayerBacking.cpp: Ditto.
3526 (WebCore::RenderLayerBacking::createGraphicsLayer):
3527 (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
3528 * rendering/RenderMenuList.h: Ditto.
3529 * rendering/RenderText.cpp: Ditto.
3530 (WebCore::RenderText::previousOffsetForBackwardDeletion):
3531 * rendering/break_lines.cpp: Removed unused #include.
3532 * testing/js/WebCoreTestSupport.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
3533 * xml/XSLStyleSheetLibxslt.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&
3534 !PLATFORM(GTK) around soft-linking libxslt.
3535 * xml/XSLTExtensions.cpp: Ditto.
3536 * xml/XSLTProcessorLibxslt.cpp: Ditto.
3537 * xml/XSLTUnicodeSort.cpp: Ditto.
3539 2014-02-08 Andreas Kling <akling@apple.com>
3541 Remove unused ChromeClient::formStateDidChange().
3542 <https://webkit.org/b/128469>
3544 Nobody listens for this callback anymore so remove it and stop
3545 spamming no-op virtual dispatches in forms code.
3547 Reviewed by Anders Carlsson.
3549 * html/FileInputType.cpp:
3550 (WebCore::FileInputType::setFiles):
3551 * html/HTMLFormControlElementWithState.cpp:
3552 * html/HTMLFormControlElementWithState.h:
3553 * html/HTMLInputElement.cpp:
3554 (WebCore::HTMLInputElement::updateType):
3555 (WebCore::HTMLInputElement::setValue):
3556 (WebCore::HTMLInputElement::setValueFromRenderer):
3557 * html/HTMLSelectElement.cpp:
3558 (WebCore::HTMLSelectElement::updateListBoxSelection):
3559 (WebCore::HTMLSelectElement::selectOption):
3560 * html/HTMLTextAreaElement.cpp:
3561 (WebCore::HTMLTextAreaElement::updateValue):
3562 (WebCore::HTMLTextAreaElement::setValueCommon):
3563 * loader/EmptyClients.h:
3564 * page/ChromeClient.h:
3566 2014-02-08 Chris J. Shull <chrisjshull@gmail.com>
3568 Web Inspector: Find evaluates attributes in a case sensitive manner
3569 https://bugs.webkit.org/show_bug.cgi?id=128405
3571 Reviewed by Timothy Hatcher.
3573 Changed matchesAttribute to ignore case.
3575 Updated existing test with additional cases:
3576 inspector-protocol/dom/dom-search.html
3578 * inspector/InspectorNodeFinder.cpp:
3579 (WebCore::InspectorNodeFinder::matchesAttribute):
3581 2014-02-08 Andreas Kling <akling@apple.com>
3583 Remove unused FrameLoaderClient::dispatchWillOpenSocketStream().
3584 <https://webkit.org/b/128472>
3586 Nobody listens for this callback anymore so remove it.
3588 Reviewed by Anders Carlsson.
3590 * Modules/websockets/WebSocketChannel.cpp:
3591 (WebCore::WebSocketChannel::willOpenSocketStream):
3592 * loader/FrameLoaderClient.h:
3594 2014-02-08 Ryosuke Niwa <rniwa@webkit.org>
3596 Split UserTriggered into FireSelectEvent and RevealSelection for selection options
3597 https://bugs.webkit.org/show_bug.cgi?id=128441
3599 Reviewed by Darin Adler.
3601 Split UserTriggered by FireSelectEvent and RevealSelection for selection options.
3603 Also added defaultSetSelectionOptions() to abstract away the default options.
3605 * editing/AlternativeTextController.cpp:
3606 (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
3607 * editing/Editor.cpp:
3608 (WebCore::Editor::unappliedEditing):
3609 (WebCore::Editor::reappliedEditing):
3610 * editing/FrameSelection.cpp:
3611 (WebCore::FrameSelection::moveTo):
3612 (WebCore::FrameSelection::setSelectionByMouseIfDifferent): UserTriggered | DoNotRevealSelection
3613 is replaced by FireSelectEvent.
3614 (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance): Check options & FireSelectEvent
3615 instead of options & UserTriggered.
3616 (WebCore::FrameSelection::setSelection): Check options & RevealSelection instead of
3617 options & UserTriggered && !(options & DoNotRevealSelection).
3618 (WebCore::FrameSelection::prepareForDestruction):
3619 (WebCore::FrameSelection::setBase):
3620 (WebCore::FrameSelection::setExtent):
3621 (WebCore::FrameSelection::selectAll):
3622 (WebCore::FrameSelection::wordSelectionContainingCaretSelection):
3623 * editing/FrameSelection.h:
3624 (WebCore::FrameSelection::defaultSetSelectionOptions): Added.
3625 * editing/SpellingCorrectionCommand.cpp:
3626 (WebCore::SpellingCorrectionCommand::doApply):
3627 * html/HTMLTextFormControlElement.cpp:
3628 (WebCore::HTMLTextFormControlElement::selectionChanged): Renamed the argument.
3629 * html/HTMLTextFormControlElement.h:
3631 2014-02-08 Zan Dobersek <zdobersek@igalia.com>
3633 Move TreeScope, IdTargetObserverRegistry to std::unique_ptr
3634 https://bugs.webkit.org/show_bug.cgi?id=127276
3636 Reviewed by Andreas Kling.
3638 Replace uses of OwnPtr in the TreeScope and IdTargetObserverRegistry classes with std::unique_ptr.
3640 * dom/IdTargetObserverRegistry.cpp:
3641 (WebCore::IdTargetObserverRegistry::addObserver):
3642 * dom/IdTargetObserverRegistry.h:
3643 (WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):
3644 * dom/TreeScope.cpp:
3645 (WebCore::TreeScope::TreeScope):
3646 (WebCore::TreeScope::destroyTreeScopeData):
3647 (WebCore::TreeScope::addElementById):
3648 (WebCore::TreeScope::addElementByName):
3649 (WebCore::TreeScope::addImageMap):
3650 (WebCore::TreeScope::labelElementForId):
3652 (WebCore::TreeScope::shouldCacheLabelsByForAttribute):
3654 2014-02-08 Anders Carlsson <andersca@apple.com>
3656 Slight CTTE in PingLoader
3657 https://bugs.webkit.org/show_bug.cgi?id=128462
3659 Reviewed by Dan Bernstein.
3661 PingLoader always wants a non-null frame.
3663 * html/HTMLAnchorElement.cpp:
3664 (WebCore::HTMLAnchorElement::sendPings):
3665 * html/parser/XSSAuditorDelegate.cpp:
3666 (WebCore::XSSAuditorDelegate::didBlockScript):
3667 * inspector/InspectorInstrumentation.h:
3668 (WebCore::InspectorInstrumentation::continueAfterPingLoader):
3669 * loader/PingLoader.cpp:
3670 (WebCore::PingLoader::loadImage):
3671 (WebCore::PingLoader::sendPing):
3672 (WebCore::PingLoader::sendViolationReport):
3673 (WebCore::PingLoader::createPingLoader):
3674 (WebCore::PingLoader::PingLoader):
3675 * loader/PingLoader.h:
3676 * loader/cache/CachedResourceLoader.cpp:
3677 (WebCore::CachedResourceLoader::requestImage):
3678 * page/ContentSecurityPolicy.cpp:
3679 (WebCore::ContentSecurityPolicy::reportViolation):
3681 2014-02-08 Dan Bernstein <mitz@apple.com>
3683 Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
3684 https://bugs.webkit.org/show_bug.cgi?id=128456
3686 Reviewed by Anders Carlsson.
3688 Updated fast/css/getComputedStyle and svg/css results.
3690 * css/CSSComputedStyleDeclaration.cpp:
3691 (WebCore::ComputedStyleExtractor::propertyValue): Removed CSSPropertyWebKitHighlight case.
3692 * css/CSSParser.cpp:
3693 (WebCore::CSSParser::parseValue): Ditto.
3694 * css/CSSPropertyNames.in: Removed -webkit-highlight.
3695 * css/DeprecatedStyleBuilder.cpp:
3696 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Removed
3697 CSSPropertyWebKitHighlight handler.
3698 * css/StyleResolver.cpp:
3699 (WebCore::StyleResolver::applyProperty): Removed CSSPropertyWebKitHighlight case.
3700 * page/Chrome.cpp: Removed customHighlightRect and paintCustomHighlight.
3701 * page/ChromeClient.h: Ditto.
3702 * rendering/InlineTextBox.cpp:
3703 (WebCore::InlineTextBox::paint): Removed painting custom highlight.
3704 * rendering/InlineTextBox.h:
3705 * rendering/RenderBlockLineLayout.cpp:
3706 (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns): Removed adding overflow for custom
3708 * rendering/RenderBox.cpp: Removed paintCustomHighlight.
3709 * rendering/RenderBox.h:
3710 * rendering/RenderImage.cpp:
3711 (WebCore::RenderImage::paintReplaced): Removed painting custom highlight.
3712 * rendering/RenderListMarker.cpp:
3713 (WebCore::RenderListMarker::paint): Ditto.
3714 * rendering/RenderSnapshottedPlugIn.cpp:
3715 (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Ditto.
3716 * rendering/RenderWidget.cpp:
3717 (WebCore::RenderWidget::paint): Ditto.
3718 * rendering/RootInlineBox.cpp:
3719 (WebCore::RootInlineBox::paint): Ditto.
3720 * rendering/RootInlineBox.h:
3721 * rendering/style/RenderStyle.cpp:
3722 (WebCore::RenderStyle::changeRequiresLayout): Removed highlight comparison.
3723 * rendering/style/RenderStyle.h:
3724 * rendering/style/StyleRareInheritedData.cpp:
3725 (WebCore::StyleRareInheritedData::StyleRareInheritedData): Removed initializer.
3726 (WebCore::StyleRareInheritedData::operator==): Removed highlight comparison.
3727 * rendering/style/StyleRareInheritedData.h: Removed highlight member variable.
3729 2014-02-08 Dan Bernstein <mitz@apple.com>
3731 One more build fix fix.
3733 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3734 (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
3736 2014-02-08 Dan Bernstein <mitz@apple.com>
3738 More (and more correct) iOS build fix after r163712.
3740 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3741 (AXAttributedStringAppendText):
3742 (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
3743 * page/ios/FrameIOS.mm:
3744 (WebCore::Frame::wordsInCurrentParagraph):
3746 2014-02-08 Dan Bernstein <mitz@apple.com>
3748 iOS build fix after r163712.
3750 * page/ios/FrameIOS.mm:
3751 (WebCore::Frame::indexCountOfWordPrecedingSelection):
3752 (WebCore::Frame::wordsInCurrentParagraph):
3754 2014-02-08 Darin Adler <darin@apple.com>
3756 Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
3757 https://bugs.webkit.org/show_bug.cgi?id=128233
3759 Reviewed by Anders Carlsson.
3761 * accessibility/AccessibilityNodeObject.cpp: Removed unneeded TextIterator.h include.
3763 * accessibility/AccessibilityObject.cpp:
3764 (WebCore::AccessibilityObject::hasMisspelling): Updated to use StringView for checkSpelling.
3766 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3767 (AXAttributeStringSetSpelling): Changed to take a StringView.
3768 (AXAttributedStringAppendText): Ditto.
3769 (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): Pass StringView.
3771 * editing/Editor.cpp:
3772 (WebCore::Editor::misspelledWordAtCaretOrRange): Pass StringView.
3773 (WebCore::Editor::misspelledSelectionString): Ditto.
3774 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
3776 * editing/TextCheckingHelper.cpp:
3777 (WebCore::findGrammaticalErrors): Renamed this function. Changed to use StringView.
3778 (WebCore::findMisspellings): Use StringView.
3779 (WebCore::TextCheckingHelper::findFirstMisspelling): Ditto. Also separated out assertions
3780 that were asserting multiple things with &&.
3781 (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): Ditto.
3782 (WebCore::TextCheckingHelper::findFirstGrammarDetail): Ditto.
3783 (WebCore::TextCheckingHelper::findFirstBadGrammar): Ditto.
3784 (WebCore::TextCheckingHelper::isUngrammatical): Ditto.
3785 (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Ditto.
3786 (WebCore::checkTextOfParagraph): Ditto.
3788 * editing/TextCheckingHelper.h: Made TextCheckingParagraph::text public. Deleted
3789 TextCheckingParagraph::textDeprecatedCharacters. Added comments about additional
3790 TextCheckingParagraph refinements. Changed checkTextOfParagraph to take a client
3791 reference instead of pointer and StringView instead of characters pointer with length.
3793 * editing/TextIterator.cpp:
3794 (WebCore::TextIterator::appendTextToStringBuilder): Use data members directly,
3795 rather than using functions, since we already checked m_textCharacters for null.
3796 (WebCore::CharacterIterator::string): Use text() instead of characters().
3797 (WebCore::WordAwareIterator::WordAwareIterator): Removed initialization of
3798 m_previousText now that it's a StringView rather than a pointer.
3799 (WebCore::WordAwareIterator::advance): Use TextIterator::text instead of
3800 TextIterator::characters. Also added a FIXME about a fundamental problem
3801 with the implementation of this class!
3802 (WebCore::WordAwareIterator::length): Updated for m_previousText change.
3803 (WebCore::WordAwareIterator::text): Replaced WordAwareIterator::characters with this.
3804 (WebCore::SearchBuffer::append): Changed to take a StringView.
3805 (WebCore::SearchBuffer::prependContext): Ditto.
3806 (WebCore::SearchBuffer::isWordStartMatch): Use StringView.
3807 (WebCore::SearchBuffer::search): Ditto.
3808 (WebCore::findPlainText): Ditto.
3810 * editing/TextIterator.h: Added TextIterator::text that returns a StringView, and
3811 renamed TextIterator::characters to TextIterator::deprecatedTextIteratorCharacters
3812 (easy to search for in source code). Added SimplifiedBackwardsTextIterator::text
3813 and removed SimplifiedBackwardsTextIterator::characters. Added CharacterIterator::text,
3814 and removed CharacterIterator::characters. Added WordAwareIterator::text and removed
3815 WorkdAwareIterator::characters. Changed WordAwareIterator data members to use StringView.
3817 * editing/VisibleSelection.cpp:
3818 (WebCore::VisibleSelection::appendTrailingWhitespace): Use TextIterator::text instead
3819 of TextIterator::characters.
3821 * editing/VisibleUnits.cpp:
3822 (WebCore::previousBoundary): Updated to use StringView.
3823 (WebCore::nextBoundary): Ditto.
3824 (WebCore::startWordBoundary): Ditto.
3825 (WebCore::startOfWord): Ditto.
3826 (WebCore::endWordBoundary): Ditto.
3827 (WebCore::endOfWord): Fixed formatting.
3828 (WebCore::previousWordPositionBoundary): Updated to use StringView.
3829 (WebCore::previousWordPosition): Fixed formatting and got rid of local variable.
3830 (WebCore::nextWordPositionBoundary): Updated to use StringView.
3831 (WebCore::nextWordPosition): Fixed formatting and got rid of local variable.
3832 (WebCore::inSameLine): Fixed formatting.
3833 (WebCore::isStartOfLine): Ditto.
3834 (WebCore::isEndOfLine): Ditto.
3835 (WebCore::absoluteLineDirectionPointToLocalPointInBlock): Changed to take a reference.
3836 (WebCore::previousLinePosition): Fixed formatting chand changed to pass a reference.
3837 (WebCore::nextLinePosition): Ditto.
3838 (WebCore::startSentenceBoundary): Updated to use StringView and got rid of a local.
3839 (WebCore::startOfSentence): Fixed formatting.
3840 (WebCore::endSentenceBoundary): Updated to use StringView and got rid of a local.
3841 (WebCore::endOfSentence): Fixed formatting.
3842 (WebCore::previousSentencePositionBoundary): Updated to use StringView and got rid of
3844 (WebCore::previousSentencePosition): Ditto.
3845 (WebCore::nextSentencePositionBoundary): Ditto.
3846 (WebCore::nextSentencePosition): Fixed formatting.
3847 (WebCore::endOfParagraph): Ditto.
3848 (WebCore::inSameParagraph): Ditto.
3849 (WebCore::isStartOfParagraph): Ditto.
3850 (WebCore::isEndOfParagraph): Ditto.
3851 (WebCore::inSameBlock): Ditto.
3852 (WebCore::isStartOfBlock): Ditto.
3853 (WebCore::isEndOfBlock): Ditto.
3854 (WebCore::startOfDocument): Ditto.
3855 (WebCore::endOfDocument): Ditto.
3856 (WebCore::inSameDocument): Ditto.
3857 (WebCore::isStartOfDocument): Ditto.
3858 (WebCore::isEndOfDocument): Ditto.
3859 (WebCore::isEndOfEditableOrNonEditableContent): Ditto.
3861 * loader/EmptyClients.h: Use StringView.
3863 * platform/mac/HTMLConverter.mm:
3864 (+[WebHTMLConverter editingAttributedStringFromRange:]): Use StringView.
3866 * platform/text/TextBoundaries.cpp:
3867 (WebCore::endOfFirstWordBoundaryContext): Use StringView and unsigned.
3868 (WebCore::startOfLastWordBoundaryContext): Ditto.
3870 * platform/text/TextBoundaries.h: Change interfaces to use StringView,
3871 and in some cases, unsigned instead of int. All call sites were better off
3874 * platform/text/TextCheckerClient.h: Use StringView.
3876 * platform/text/mac/TextBoundaries.mm: Changed conditionals to say
3877 USE(APPKIT) instead of PLATFORM(IOS), since that's the real issue.
3878 (WebCore::isSkipCharacter): Tweaked formatting.
3879 (WebCore::isWhitespaceCharacter): Ditto.
3880 (WebCore::isWordDelimitingCharacter): Ditto, also removed local variable.
3881 (WebCore::isSymbolCharacter): Ditto.
3882 (WebCore::tokenizerForString): Ditto.
3883 (WebCore::findSimpleWordBoundary): Use StringView. Also changed to mostly
3884 use unsigned instead of int.
3885 (WebCore::findComplexWordBoundary): Use StringView. Also restructured to
3886 be much more readable, with early returns and such.
3887 (WebCore::findWordBoundary): Use StringView and unsigned.
3888 (WebCore::findEndWordBoundary): Removed redudant copy of the findWordBoundary
3889 function and changed this to just call findWordBoundary. The reason this
3890 function exists is to optimize this case for some non-Mac, non-iOS platforms.
3891 We can always do that for Mac and/or iOS later if we like.
3892 (WebCore::findNextWordFromIndex): Use StringView. Also use wordBreakIterator
3893 instead of using UBreakIterator directly so we get a cached iterator instead
3894 of creating and destroying a new one each time this function is called.
3896 * bindings/objc/DOMUIKitExtensions.mm: Removed unneeded includes.
3897 * dom/Element.cpp: Ditto.
3898 * dom/PositionIterator.cpp: Ditto.
3899 * editing/ApplyBlockElementCommand.cpp: Ditto.
3900 * editing/IndentOutdentCommand.cpp: Ditto.
3901 * editing/InsertListCommand.cpp: Ditto.
3902 * editing/markup.cpp: Ditto.
3903 * html/HTMLElement.cpp: Ditto.
3904 * html/HTMLTextAreaElement.cpp: Ditto.
3905 * page/Frame.cpp: Ditto.
3906 * rendering/RenderTextControl.cpp: Ditto.
3908 2014-02-08 Andreas Kling <akling@apple.com>
3910 Remove two unused function declarations.
3912 Scrub "highQualityRepaintTimerFired" declarations from RenderImage
3913 and RenderBoxModelObject since they're not actually defined.
3915 * rendering/RenderBoxModelObject.h:
3916 * rendering/RenderImage.h:
3918 2014-02-08 Andreas Kling <akling@apple.com>
3920 CTTE: SVGTRefTargetEventListener is always owned by SVGTRefElement.
3921 <https://webkit.org/b/128432>
3923 Tighten up the relationship between SVGTRefElement and its internal
3924 event listener helper by storing the listener in a Ref, and making
3925 the listeners backpointer to the element be a reference.
3927 Reviewed by Anders Carlsson.
3929 * svg/SVGTRefElement.cpp:
3930 (WebCore::SVGTRefTargetEventListener::create):
3931 (WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
3932 (WebCore::SVGTRefTargetEventListener::operator==):
3933 (WebCore::SVGTRefTargetEventListener::handleEvent):
3934 (WebCore::SVGTRefElement::SVGTRefElement):
3935 * svg/SVGTRefElement.h:
3937 2014-02-07 Andreas Kling <akling@apple.com>
3939 Devirtualize RenderBlockFlowRareData.
3940 <https://webkit.org/b/128427>
3942 This class had a virtual destructor for no reason. Removing it
3943 shrinks RenderBlockFlowRareData by 8 bytes.
3945 Reviewed by Anders Carlsson.
3947 * rendering/RenderBlockFlow.h:
3948 (WebCore::RenderBlockFlow::RenderBlockFlowRareData::~RenderBlockFlowRareData):
3950 2014-02-08 Andreas Kling <akling@apple.com>
3952 Use renderer iterators in two more places.
3953 <https://webkit.org/b/128371>
3955 Reviewed by Antti Koivisto.
3958 (WebCore::Position::primaryDirection):
3960 Use lineageOfType instead of walking the parent chain.
3962 * rendering/RenderLayer.cpp:
3963 (WebCore::RenderLayer::insertOnlyThisLayer):
3965 Use childrenOfType instead of walking the children.
3967 2014-02-07 David Kilzer <ddkilzer@apple.com>
3969 [ASan] Use new/delete in PODFreeListArena
3970 <http://webkit.org/b/128437>
3972 Reviewed by Oliver Hunt.
3974 * platform/PODFreeListArena.h:
3975 (WebCore::PODFreeListArena::allocateObject): Use new when
3976 ADDRESS_SANITIZER is defined.
3977 (WebCore::PODFreeListArena::freeObject): Use delete when
3978 ADDRESS_SANITIZER is defined.
3980 2014-02-07 Ryosuke Niwa <rniwa@webkit.org>
3982 Merge updateSelectionCachesIfSelectionIsInsideTextFormControl into setSelectionWithoutUpdatingAppearance
3983 https://bugs.webkit.org/show_bug.cgi?id=128439
3985 Reviewed by Anders Carlsson.
3987 FrameSelection::selectAll had a superfluous call to updateSelectionCachesIfSelectionIsInsideTextFormControl
3988 because it wasn't setting UserTriggered option to avoid revealing selection.
3990 Call setSelection with UserTriggered and recently added DoNotRevealSelection option and merge
3991 updateSelectionCachesIfSelectionIsInsideTextFormControl into setSelectionWithoutUpdatingAppearance.
3993 Also rename local variables in setSelectionWithoutUpdatingAppearance, newSelection to
3994 newSelectionPossiblyWithoutDirection and s to newSelection so that they're self explanatory.
3996 In addition, we now update the input element's selection caches before calling
3997 selectFrameElementInParentIfFullySelected but this should be fine because selection cannot simultaneously
3998 select the entire document and be inside a text form control.
4000 * editing/FrameSelection.cpp:
4001 (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
4002 (WebCore::FrameSelection::selectAll):
4004 2014-02-07 Ryosuke Niwa <rniwa@webkit.org>
4006 EFL build fix attempt after r163662.
4008 * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
4009 (WebCore::IDBLevelDBCoding::encodeIDBKey):
4011 2014-02-07 Ryosuke Niwa <rniwa@webkit.org>
4013 FrameSelection's destructor shouldn't notify accessibility
4014 https://bugs.webkit.org/show_bug.cgi?id=128421
4016 Reviewed by Benjamin Poulain.
4018 Extracted setSelectionWithoutUpdatingAppearance out of setSelection and called it in prepareForDestruction
4019 instead of setting DoNotUpdateAppearance option. This new function doesn't reveal selection or notify
4020 accessibility code in addition to not updating appearance.
4022 Note that all implementations of notifyAccessibilityForSelectionChange in FrameSelectionAtk.cpp and
4023 FrameSelectionMac.mm exit early when the selection type is not caret or either start or end is null,
4024 which is already the case inside FrameSelection's destructor. In addition, revealSelection is never called
4025 when selection change was not triggered by user so there should be no behavioral change from this patch.
4027 * editing/FrameSelection.cpp:
4028 (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
4029 (WebCore::FrameSelection::setSelection):
4030 (WebCore::FrameSelection::prepareForDestruction):
4031 * editing/FrameSelection.h:
4032 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Added the trivial implementation in the case
4033 accessibility is disabled to tidy up call sites.
4035 2014-02-07 Martin Robinson <mrobinson@igalia.com>
4037 Build fix for the GTK+ CMake build
4039 * PlatformGTK.cmake: VTTCue.idl was unintentionally added to the list of GObject DOM bindings
4040 output files. Remove it.
4042 2014-02-07 Dirk Schulze <krit@webkit.org>
4044 Per CSSOM, computed rect() function values must be comma separated
4045 https://bugs.webkit.org/show_bug.cgi?id=128401
4047 Reviewed by Simon Fraser.