1 2014-08-31 Tim Horton <timothy_horton@apple.com>
3 Remove duplicate implementation of drawEllipse and some related PLATFORM(IOS) ifdefs
4 https://bugs.webkit.org/show_bug.cgi?id=136413
6 Reviewed by Dan Bernstein.
8 No new tests, just cleanup.
10 * platform/graphics/GraphicsContext.cpp:
11 (WebCore::GraphicsContext::drawRaisedEllipse):
12 There's nothing iOS specific about this function.
14 * platform/graphics/GraphicsContext.h:
15 * platform/graphics/cairo/GraphicsContextCairo.cpp:
16 (WebCore::GraphicsContext::drawEllipse):
17 * platform/graphics/cg/GraphicsContextCG.cpp:
18 (WebCore::GraphicsContext::drawEllipse):
19 Un-ifdef drawRaisedEllipse; delete the reimplementation of drawEllipse that takes
20 a FloatRect and make the normal one take a FloatRect instead.
22 (WebCore::GraphicsContext::platformInit):
23 Make sure that the CGContext's line width starts out in sync with GraphicsContext's.
24 By default, CGContext has a line width of 1 and GraphicsContext 0, so they could previously
25 have been out of sync until someone set the width explicitly.
27 2014-08-31 Tim Horton <timothy_horton@apple.com>
29 Fix a harmless mismerge in BitmapImage::destroyDecodedDataIfNecessary
30 https://bugs.webkit.org/show_bug.cgi?id=136412
32 Reviewed by Alexey Proskuryakov.
34 No new tests, just cleanup.
36 * platform/graphics/BitmapImage.cpp:
37 (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
38 Drop the leading 'c' and the 'static' on the cutoff parameter.
39 Remove the duplicated early return (seems like it happened in the merge).
40 Remove reference to the exact size in the comment, since it's different on iOS.
42 2014-08-31 Tim Horton <timothy_horton@apple.com>
44 Use SinkDocument instead of PDFDocument; get rid of PDFDocument
45 https://bugs.webkit.org/show_bug.cgi?id=136414
47 Reviewed by Alexey Proskuryakov.
49 * WebCore.xcodeproj/project.pbxproj:
50 * loader/DocumentWriter.cpp:
51 (WebCore::DocumentWriter::createDocument):
52 * pdf/ios/PDFDocument.cpp: Removed.
53 * pdf/ios/PDFDocument.h: Removed.
54 Use the generic SinkDocument, which ignores all incoming data just like PDFDocument.
55 Delete the unnecessary and iOS-specific PDFDocument.cpp/h
57 2014-08-31 Tim Horton <timothy_horton@apple.com>
59 Adjust an antique comment in Image::drawPattern
60 https://bugs.webkit.org/show_bug.cgi?id=136411
62 Reviewed by Dan Bernstein.
64 * platform/graphics/cg/ImageCG.cpp:
65 (WebCore::Image::drawPattern):
68 2014-08-31 Tim Horton <timothy_horton@apple.com>
70 SVGImage::drawPatternForContainer creates a buffer without respecting the destination's acceleration setting
71 https://bugs.webkit.org/show_bug.cgi?id=136408
72 <rdar://problem/12013317>
74 Reviewed by Dan Bernstein.
76 No new tests required, just a performance improvement.
78 * svg/graphics/SVGImage.cpp:
79 (WebCore::SVGImage::drawPatternForContainer):
80 Use ImageBuffer::createCompatibleBuffer, which passes the destination's
81 acceleration setting through to the ImageBuffer constructor.
83 I didn't use GraphicsContext::createCompatibleBuffer because adjusting
84 how this function applies the destination's CTM is outside the scope of this patch.
86 2014-08-30 Joseph Pecoraro <pecoraro@apple.com>
88 Convert string literals to character literals in makeString usage
89 https://bugs.webkit.org/show_bug.cgi?id=136394
91 Reviewed by Sam Weinig.
93 * inspector/InspectorOverlay.cpp:
94 (WebCore::InspectorOverlay::evaluateInOverlay):
95 * loader/FrameLoader.cpp:
96 (WebCore::FrameLoader::setOriginalURLForDownloadRequest):
97 * loader/MixedContentChecker.cpp:
98 (WebCore::MixedContentChecker::logWarning):
99 * page/ContentSecurityPolicy.cpp:
100 (WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
101 (WebCore::ContentSecurityPolicy::reportUnsupportedDirective):
102 (WebCore::ContentSecurityPolicy::reportInvalidPathCharacter):
103 Also reorder some code to ensure single string creation.
105 2014-08-26 Maciej Stachowiak <mjs@apple.com>
107 Use RetainPtr::autorelease in some places where it seems appropriate
108 https://bugs.webkit.org/show_bug.cgi?id=136280
110 Reviewed by Darin Adler.
112 * platform/mac/URLMac.mm:
113 (WebCore::URL::operator NSURL *): Use autorelease() instead of
114 CFBridgingRelease(leakRef())
116 2014-08-30 Yusuke Suzuki <utatane.tea@gmail.com>
118 CSS: Refactor :visited handling in SelectorChecker
119 https://bugs.webkit.org/show_bug.cgi?id=135639
121 Reviewed by Benjamin Poulain.
123 :visited is specially handled in the SelectorChecker and style resolution
124 because of security issues. That is nested links and adjacent combinators.
125 Since we propagate linkState from the ancestors,
127 1. linkStates of ancestors from the target node are only used to calculate
128 the linkState of the current node.
129 This is why adjacent combinators disable :visited.
131 2. linkState is overrides by the closest link element in the ancestors.
132 This is why :visited is effective on the closest link element.
134 In this patch, we fix 3 things.
136 1. Simplify SelectorChecker. Move m_mode to CheckingContext and it makes
137 CheckingContext more similar to SelectorCompiler::CheckingContext in CSS JIT.
138 And hide visitedMatchType parameter from the caller of SelectorChecker.
140 2. Disable :visited inside :-webkit-any. Currently, :-webkit-any provides MatchAll
141 link match type. So considering visited match type in the matching phase of :visited
142 provides inconsistency. In this patch, :-webkit-any(:visited) never matches.
143 And :-webkit-any(:link) acts like a :-webkit-any(:any-link). This behavior represents
144 that visited match type is always considered as disabled inside :-webkit-any.
145 This behavior may be changed when Selector Level4 is implemented.
147 3. Fix the issue when traversing the descendant element,
148 first encountered link check is missing.
150 Tests: fast/history/link-inside-any.html
151 fast/history/link-inside-not.html
152 fast/history/nested-visited-test-override.html
153 fast/history/visited-inside-any.html
154 fast/history/visited-inside-not.html
156 * css/ElementRuleCollector.cpp:
157 (WebCore::ElementRuleCollector::ruleMatches):
158 * css/SelectorChecker.cpp:
159 (WebCore::SelectorChecker::SelectorChecker):
160 (WebCore::SelectorChecker::match):
161 (WebCore::hasScrollbarPseudoElement):
162 (WebCore::checkingContextForParent):
163 (WebCore::SelectorChecker::matchRecursively):
164 (WebCore::SelectorChecker::checkOne):
165 * css/SelectorChecker.h:
166 (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
167 * css/StyleResolver.h:
168 (WebCore::checkRegionSelector):
169 * dom/SelectorQuery.cpp:
170 (WebCore::SelectorDataList::selectorMatches):
172 2014-08-29 Zalan Bujtas <zalan@apple.com>
174 Subpixel layout: Remove LayoutUnit's kEffectiveFixedPointDenominator.
175 https://bugs.webkit.org/show_bug.cgi?id=136383.
177 Reviewed by Simon Fraser.
179 There's only one subpixel denominator now.
181 No change in functionality.
183 * platform/LayoutUnit.h:
184 (WebCore::LayoutUnit::LayoutUnit):
185 (WebCore::LayoutUnit::fromFloatCeil):
186 (WebCore::LayoutUnit::fromFloatFloor):
187 (WebCore::LayoutUnit::toInt):
188 (WebCore::LayoutUnit::toFloat):
189 (WebCore::LayoutUnit::toDouble):
190 (WebCore::LayoutUnit::operator++):
191 (WebCore::LayoutUnit::ceil):
192 (WebCore::LayoutUnit::round):
193 (WebCore::LayoutUnit::floor):
194 (WebCore::LayoutUnit::ceilToFloat):
195 (WebCore::LayoutUnit::fraction):
196 (WebCore::LayoutUnit::epsilon):
197 (WebCore::LayoutUnit::nearlyMax):
198 (WebCore::LayoutUnit::nearlyMin):
199 (WebCore::LayoutUnit::isInBounds):
200 (WebCore::LayoutUnit::setValue):
201 (WebCore::boundedMultiply):
202 (WebCore::operator*):
203 (WebCore::operator/):
204 (WebCore::operator%):
205 (WebCore::roundToDevicePixel):
206 (WebCore::floorToDevicePixel):
207 (WebCore::ceilToDevicePixel):
209 2014-08-29 Zalan Bujtas <zalan@apple.com>
211 Rename updatePreferredWidth to make it more explicit.
212 https://bugs.webkit.org/show_bug.cgi?id=136389
214 Reviewed by Simon Fraser.
216 No change in functionality.
218 * rendering/RenderBlock.cpp:
219 (WebCore::preferredWidth):
220 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
221 (WebCore::updatePreferredWidth): Deleted.
223 2014-08-29 Gavin Barraclough <barraclough@apple.com>
225 Make timerNestingLevel threadsafe
226 https://bugs.webkit.org/show_bug.cgi?id=136401
228 Reviewed by Tim Horton.
230 timerNestingLevel, used by DOMTimer to determine whether a timer is 'nested'
231 (repeating, possible due to a timer rescheduling itself) is a global. Since
232 worker threads can set timers too this is not thread safe.
234 * dom/ScriptExecutionContext.cpp:
235 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
236 - added initialize m_timerNestingLevel
237 * dom/ScriptExecutionContext.h:
238 (WebCore::ScriptExecutionContext::timerNestingLevel):
239 (WebCore::ScriptExecutionContext::setTimerNestingLevel):
242 (WebCore::DOMTimer::DOMTimer):
243 (WebCore::DOMTimer::fired):
244 - move timerNestingLevel to the context
246 2014-08-29 Gavin Barraclough <barraclough@apple.com>
248 DOMTimer::m_nestingLevel is prone to overflow
249 https://bugs.webkit.org/show_bug.cgi?id=136399
251 Reviewed by Alexey Proskuryakov.
253 Since this would happen after the 2 billionth timer fire this is unlikely,
254 and consequences aren't severe (breaks throttling).
256 This change has the following consequences.
258 - m_nestingLevel saturates to its max value.
259 - unnested timers are indicated by a nesting level of 0.
260 - repeat timers update m_nestingLevel on every fire,
261 not just those that should have been throttled.
263 The last point is subtle, but ultimately should be inconsequential. Timers
264 whose requested timeout is less that the minimum interval will saturate quickly
265 anyway; timers with an original interval greater than the minimum previously
266 wouldn't have incremented m_nestingLevel, but doing so now doesn't hurt since
267 they won't be throttled when they hit the threshold. This simplifies things
268 conceptually a little & reduces the test performed on each timer fire.
271 (WebCore::shouldForwardUserGesture):
272 - unnested timers are indicated by a nesting level of 0
273 (WebCore::DOMTimer::DOMTimer):
274 - don't increment nesting level on construction
275 (WebCore::DOMTimer::fired):
276 - saturating increments
277 (WebCore::DOMTimer::adjustMinimumTimerInterval):
278 (WebCore::DOMTimer::intervalClampedToMinimum):
281 2014-08-29 Zalan Bujtas <zalan@apple.com>
283 Improve showRenderTree() output.
284 https://bugs.webkit.org/show_bug.cgi?id=136244
286 Reviewed by Darin Adler.
288 Add more debugging information to showRenderTree().
292 * rendering/InlineBox.cpp:
293 (WebCore::InlineBox::showLineTreeForThis):
294 (WebCore::InlineBox::showLineTreeAndMark):
295 (WebCore::InlineBox::showLineBox):
298 (WebCore::InlineBox::showBox): Deleted.
299 * rendering/InlineBox.h:
300 * rendering/InlineFlowBox.cpp:
301 (WebCore::InlineFlowBox::showLineTreeAndMark):
302 * rendering/InlineFlowBox.h:
303 * rendering/InlineTextBox.cpp:
304 (WebCore::InlineTextBox::showLineBox):
305 (WebCore::InlineTextBox::showBox): Deleted.
306 * rendering/InlineTextBox.h:
307 * rendering/RenderBlock.cpp:
308 (WebCore::RenderBlock::showLineTreeAndMark): Deleted.
309 * rendering/RenderBlock.h:
310 * rendering/RenderBlockFlow.cpp:
311 (WebCore::RenderBlockFlow::showLineTreeAndMark):
312 * rendering/RenderBlockFlow.h:
313 * rendering/RenderObject.cpp:
314 (WebCore::showRenderTreeLegend):
315 (WebCore::RenderObject::showNodeTreeForThis):
316 (WebCore::RenderObject::showRenderTreeForThis):
317 (WebCore::RenderObject::showLineTreeForThis):
318 (WebCore::RenderObject::showRegionsInformation):
319 (WebCore::RenderObject::showRenderObject):
320 (WebCore::RenderObject::showRenderSubTreeAndMark):
324 (WebCore::RenderObject::showRenderTreeAndMark): Deleted.
325 * rendering/RenderObject.h:
326 * rendering/RootInlineBox.h:
328 2014-08-29 Csaba Osztrogonác <ossy@webkit.org>
330 Unreviwed, remove empty directories.
332 * Modules/networkinfo: Removed.
333 * inspector/front-end: Removed.
334 * inspector/front-end/Images: Removed.
335 * inspector/front-end/UglifyJS: Removed.
336 * inspector/front-end/ace: Removed.
337 * inspector/front-end/cm: Removed.
338 * platform/audio/ffmpeg: Removed.
339 * platform/audio/ipp: Removed.
340 * platform/graphics/gpu/opencl: Removed.
342 2014-08-29 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
344 [EFL] Remove non Coordinated Graphics code path from cmake build system after r142169
345 https://bugs.webkit.org/show_bug.cgi?id=135560
347 Reviewed by Gyuyoung Kim.
349 No new tests required, no new functionality.
351 * PlatformEfl.cmake: Removed TEXTURE_MAPPER and 3D_GRAPHICS guards.
352 * platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
353 (WebCore::GraphicsContext3D::platformLayer):
354 (WebCore::GraphicsContext3D::createGraphicsSurfaces):
355 * platform/graphics/efl/GraphicsContext3DPrivate.cpp: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
356 (WebCore::GraphicsContext3DPrivate::initialize):
357 (WebCore::GraphicsContext3DPrivate::releaseResources):
358 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
359 (WebCore::GraphicsContext3DPrivate::graphicsSurfaceFlags):
360 * platform/graphics/efl/GraphicsContext3DPrivate.h: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
361 * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp: Removed GRAPHICS_SURFACE guard.
363 2014-08-29 Carlos Garcia Campos <cgarcia@igalia.com>
365 RenderThemeGtk depends on classes outside of platform
366 https://bugs.webkit.org/show_bug.cgi?id=22176
368 Reviewed by Martin Robinson.
370 Move RenderThemeGtk.cpp from platform to rendering.
373 * rendering/RenderThemeGtk.cpp: Renamed from Source/WebCore/platform/gtk/RenderThemeGtk.cpp.
375 2014-08-29 Carlos Garcia Campos <cgarcia@igalia.com>
377 [GTK] ScrollbarThemeGtk should not depend on RenderThemeGtk
378 https://bugs.webkit.org/show_bug.cgi?id=136338
380 Reviewed by Philippe Normand.
382 Remove the dependency by creating the GtkStyleContext for the
383 scrollbars in ScrollbarThemeGtk.
385 * platform/gtk/RenderThemeGtk.cpp:
386 (WebCore::gtkStyleChangedCallback): Call ScrollbarThemeGtk::themeChanged().
387 (WebCore::getStyleContext): Remove the scrollbar style context support.
388 * platform/gtk/RenderThemeGtk.h: Remove gtkScrollbarStyle().
389 * platform/gtk/ScrollbarThemeGtk.cpp:
390 (WebCore::ScrollbarStyleContext::ScrollbarStyleContext): Helper
391 class to create the global GtkStyleContext for scrollbars.
392 (WebCore::ScrollbarStyleContext::~ScrollbarStyleContext):
393 (WebCore::ScrollbarStyleContext::context):
394 (WebCore::gtkScrollbarStyleContext):
395 (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Remove m_context initialization.
396 (WebCore::ScrollbarThemeGtk::themeChanged): Invalidate the
397 GtkStylecontext and call updateThemeProperties().
398 (WebCore::ScrollbarThemeGtk::updateThemeProperties): Use the
399 global style context.
400 (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
401 (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
402 (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
403 (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
404 * platform/gtk/ScrollbarThemeGtk.h:
406 2014-08-28 Carlos Garcia Campos <cgarcia@igalia.com>
408 [GTK] Merge RenderThemeGtk3.cpp into RenderThemeGtk.cpp and ScrollbarThemeGtk3.cpp intoScrollbarThemeGtk.cpp
409 https://bugs.webkit.org/show_bug.cgi?id=136336
411 Reviewed by Philippe Normand.
413 There's no reason to have two files now that there's no GTK+2
414 support. Also fix coding style issues and compile warnings.
417 * platform/gtk/RenderThemeGtk.cpp:
418 * platform/gtk/RenderThemeGtk.h:
419 * platform/gtk/RenderThemeGtk3.cpp: Removed.
420 * platform/gtk/ScrollbarThemeGtk.cpp:
421 * platform/gtk/ScrollbarThemeGtk3.cpp: Removed.
423 2014-08-28 Mark Lam <mark.lam@apple.com>
425 DebuggerCallFrame::scope() should return a DebuggerScope.
426 <https://webkit.org/b/134420>
428 Reviewed by Geoffrey Garen.
432 Rolling back in r170680 with the fix for <https://webkit.org/b/135656>.
434 * bindings/js/ScriptController.cpp:
435 (WebCore::ScriptController::attachDebugger):
436 - We should acquire the JSLock before modifying a JS global object.
438 2014-08-28 Enrica Casucci <enrica@apple.com>
440 Can't hit tab key more than 3 times continuously.
441 https://bugs.webkit.org/show_bug.cgi?id=136357
442 rdar://problem/17927266
444 Reviewed by Dean Jackson.
446 Test: fast/css/multiple-tabs.html
448 When computing the tabWidth disregard increments of less than half the size of the space character
451 * platform/graphics/Font.h:
452 (WebCore::Font::tabWidth):
454 2014-08-28 Daniel Bates <dabates@apple.com>
456 [iOS] Clients that include WebCoreThread.h fail to build after <http://trac.webkit.org/changeset/172814/>
457 (https://bugs.webkit.org/show_bug.cgi?id=136108)
459 Define WEBCORE_EXPORT (if its not already defined) in WebCoreThread.h so as to fix the
460 build for clients that include this header.
462 * platform/ios/wak/WebCoreThread.h:
464 2014-08-28 Pratik Solanki <psolanki@apple.com>
466 WebContent hangs under SharedBuffer::duplicateDataBufferIfNecessary() while browsing some websites
467 https://bugs.webkit.org/show_bug.cgi?id=136347
468 <rdar://problem/18073745>
470 Reviewed by Andreas Kling.
472 When passing data to ImageIO, we create a copy if we have to reallocate the buffer. We would
473 set the size of the new buffer to be the size of the SharedBuffer data. This causes memory
474 churn since we would create a new buffer for every data chunk we get. Fix this by at least
475 doubling the capacity of the buffer when we duplicate it.
477 * platform/SharedBuffer.cpp:
478 (WebCore::SharedBuffer::duplicateDataBufferIfNecessary):
480 2014-08-28 Dan Bernstein <mitz@apple.com>
484 * WebCore.exp.in: Updated symbol.
486 2014-08-28 Benjamin Poulain <bpoulain@apple.com>
488 Scrolling with spacebar on a page with fixed header breaks reading flow
489 https://bugs.webkit.org/show_bug.cgi?id=135506
491 Reviewed by Simon Fraser.
493 When scrolling by page, find the height of any bar that is obscuring the top or bottom of the page,
494 and substract that height from the step to scroll.
496 Tests: scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html
497 scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html
498 scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html
499 scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html
500 scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html
501 scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html
502 scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html
503 scrollbars/scrolling-by-page-on-keyboard-spacebar.html
506 * page/FrameView.cpp:
507 (WebCore::FrameView::adjustScrollStepForFixedContent):
509 * platform/ScrollableArea.cpp:
510 (WebCore::ScrollableArea::adjustScrollStepForFixedContent):
511 (WebCore::ScrollableArea::scroll):
512 * platform/ScrollableArea.h:
514 2014-08-28 Zalan Bujtas <zalan@apple.com>
516 Subpixel layout: Remove unused pixel snapping functions.
517 https://bugs.webkit.org/show_bug.cgi?id=136341
519 Reviewed by Simon Fraser.
521 Let's not encourage integral snapping by having these functions around.
523 No change in functionality.
525 * accessibility/AccessibilityObject.h:
526 (WebCore::AccessibilityObject::pixelSnappedElementRect): Deleted.
527 (WebCore::AccessibilityObject::pixelSnappedSize): Deleted.
528 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
529 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
530 * html/HTMLImageElement.cpp:
531 (WebCore::HTMLImageElement::width):
532 (WebCore::HTMLImageElement::height):
533 * page/FrameView.cpp:
534 (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
535 * platform/graphics/LayoutPoint.h:
536 (WebCore::snappedIntSize):
537 (WebCore::snapSizeToDevicePixel):
538 * platform/graphics/LayoutRect.h:
539 (WebCore::LayoutRect::pixelSnappedLocation): Deleted.
540 (WebCore::LayoutRect::pixelSnappedX): Deleted.
541 (WebCore::LayoutRect::pixelSnappedY): Deleted.
542 (WebCore::LayoutRect::pixelSnappedWidth): Deleted.
543 (WebCore::LayoutRect::pixelSnappedHeight): Deleted.
544 (WebCore::LayoutRect::pixelSnappedMaxX): Deleted.
545 (WebCore::LayoutRect::pixelSnappedMaxY): Deleted.
546 (WebCore::snappedIntRectFromEdges): Deleted.
547 * rendering/RenderBlockFlow.h:
548 (WebCore::RenderBlockFlow::pixelSnappedLogicalTopForFloat): Deleted.
549 (WebCore::RenderBlockFlow::pixelSnappedLogicalBottomForFloat): Deleted.
550 (WebCore::RenderBlockFlow::pixelSnappedLogicalLeftForFloat): Deleted.
551 (WebCore::RenderBlockFlow::pixelSnappedLogicalRightForFloat): Deleted.
552 * rendering/RenderBox.h:
553 (WebCore::RenderBox::pixelSnappedLogicalHeight):
554 (WebCore::RenderBox::pixelSnappedLogicalWidth):
555 (WebCore::RenderBox::pixelSnappedBorderBoxRect):
556 (WebCore::RenderBox::pixelSnappedWidth): Deleted.
557 (WebCore::RenderBox::pixelSnappedHeight): Deleted.
558 (WebCore::RenderBox::pixelSnappedFrameRect): Deleted.
559 * rendering/RenderFileUploadControl.cpp:
560 (WebCore::nodeWidth):
561 (WebCore::nodeHeight):
562 (WebCore::RenderFileUploadControl::maxFilenameWidth):
563 * rendering/RenderLayer.cpp:
564 (WebCore::RenderLayer::updateLayerPosition):
565 (WebCore::RenderLayer::isPointInResizeControl):
566 * rendering/RenderLayerCompositor.cpp:
567 (WebCore::RenderLayerCompositor::ensureRootLayer):
568 * rendering/RenderMediaControls.cpp:
569 (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):
570 * rendering/RenderMultiColumnSet.cpp:
571 (WebCore::RenderMultiColumnSet::paintColumnRules):
572 * rendering/RenderScrollbar.cpp:
573 (WebCore::RenderScrollbar::buttonRect):
574 * rendering/RenderView.h:
576 2014-08-27 Enrica Casucci <enrica@apple.com>
578 textStylingAtPosition returns incorrect values after executing toggleBold, toggleItalic and toggleUnderline.
579 https://bugs.webkit.org/show_bug.cgi?id=136323
580 rdar://problem/18141964
582 Reviewed by Antti Koivisto.
584 For underline style we need to check typingStyle first and use that information to populate
585 the dictionary. If there is no typing style we can use the render style.
588 * editing/ios/EditorIOS.mm:
589 (WebCore::Editor::fontAttributesForSelectionStart):
591 2014-08-28 Iago Toral <itoral@igalia.com> and Zan Dobersek <zdobersek@igalia.com>
593 [GTK] Add WaylandEventSource
594 https://bugs.webkit.org/show_bug.cgi?id=136213
596 Reviewed by Martin Robinson.
598 Add the WaylandEventSource class. Its static method, createEventSource(),
599 creates a new GSource object that is attached to the main context and
600 enables handling Wayland display events through the GLib's main loop.
602 The method will be called by the nested Wayland compositor during its
603 initialization, which will also take the control over the ownership and
604 will be tasked with properly removing the GSource from the main context.
606 GLibSource is a GSource-based struct that additionally holds a GPollFD object
607 and the pointer to the wl_display object whose event loop we'll be
608 dispatching during the GSource dispatch. This is the type that g_source_new
609 uses when allocating the new GSource object.
611 The GSource is assigned the default priorty, can recurse, and is attached
615 * platform/graphics/wayland/WaylandEventSource.cpp: Added.
616 (WebCore::GLibSource::initialize):
617 (WebCore::GLibSource::check):
618 (WebCore::GLibSource::dispatch):
619 (WebCore::prepareCallback):
620 (WebCore::checkCallback):
621 (WebCore::dispatchCallback):
622 (WebCore::WaylandEventSource::createDisplayEventSource):
623 * platform/graphics/wayland/WaylandEventSource.h: Added.
625 2014-08-28 Chris Fleizach <cfleizach@apple.com>
627 AX: Safari at com.apple.WebCore: WebCore::AXObjectCache::clearTextMarkerNodesInUse
628 https://bugs.webkit.org/show_bug.cgi?id=136333
630 Reviewed by David Kilzer.
632 If a Node is asked for it's Document when it's not actually in a document, it can lead to an assert/crash.
633 We can avoid this by checking that the node is in a document before asking for its document.
635 I was not able to make a test case.
637 * accessibility/AXObjectCache.cpp:
638 (WebCore::AXObjectCache::clearTextMarkerNodesInUse):
640 2014-08-28 Andreas Kling <akling@apple.com>
642 ASSERTION FAILED: !m_renderView.document().inPageCache() in compositing/iframes/resources/page-cache-helper.html
643 <https://webkit.org/b/136329>
645 Cancel any pending compositing layer updates when moving a document
648 Reviewed by Zalan Bujtas.
651 (WebCore::Document::documentWillSuspendForPageCache):
652 * rendering/RenderLayerCompositor.cpp:
653 (WebCore::RenderLayerCompositor::cancelCompositingLayerUpdate):
654 * rendering/RenderLayerCompositor.h:
656 2014-08-28 Mihnea Ovidenie <mihnea@adobe.com>
658 [CSSRegions] Incorrect selection clearing on a document without regions
659 https://bugs.webkit.org/show_bug.cgi?id=134901
661 Reviewed by David Hyatt.
663 When we select all the content of document with named flows but without regions,
664 the start and end points of selection is cached in RenderView. However, since
665 the document has named flows, the selection is split between the subtrees. During the split,
666 it is possible that the cached end-points of the original selection are not included
667 in any of the resulting subtree selection and they are not marked accordingly.
668 In order to process the selection clearing correctly, we have to take the original
669 selection end-points into account.
671 Test: fast/regions/selection/select-all-without-regions.html
673 * rendering/RenderObject.cpp:
674 (WebCore::RenderObject::isSelectionBorder):
676 2014-08-28 Carlos Garcia Campos <cgarcia@igalia.com>
678 [GTK] Add webkit_uri_response_get_http_headers to WebKit2 GTK+ API
679 https://bugs.webkit.org/show_bug.cgi?id=136248
681 Reviewed by Gustavo Noronha Silva.
683 Move the code to update the SoupMessageHeaders to a new public
686 * platform/network/soup/ResourceResponse.h:
687 * platform/network/soup/ResourceResponseSoup.cpp:
688 (WebCore::ResourceResponse::updateSoupMessageHeaders):
689 (WebCore::ResourceResponse::toSoupMessage):
691 2014-08-28 Carlos Garcia Campos <cgarcia@igalia.com>
693 [GTK] Remove support for GTK+2 theme rendering
694 https://bugs.webkit.org/show_bug.cgi?id=136285
696 Reviewed by Philippe Normand.
698 GTK+2 is only used by the plugin process that doesn't need to
699 render html controls themed. Since the theme files are still
700 built for WebCorePlatformGTK2, we need to provide dummy
701 implementations for the pure virtual methods when
702 GTK_API_VERSION_2 is defined.
704 * PlatformGTK.cmake: Remove deleted files from compilation.
705 * platform/gtk/RenderThemeGtk.cpp:
706 (WebCore::RenderThemeGtk::create):
707 (WebCore::RenderTheme::themeForPage):
708 (WebCore::getScreenDPI):
709 (WebCore::RenderThemeGtk::systemFont):
710 (WebCore::RenderThemeGtk::sliderTickSize):
711 (WebCore::RenderThemeGtk::sliderTickOffsetFromTrackCenter):
712 (WebCore::RenderThemeGtk::getScreenDPI): Deleted.
713 * platform/gtk/RenderThemeGtk.h:
714 * platform/gtk/RenderThemeGtk2.cpp: Removed.
715 * platform/gtk/RenderThemeGtk3.cpp:
716 * platform/gtk/ScrollbarThemeGtk.cpp:
717 (WebCore::ScrollbarThemeGtk::hasThumb):
718 (WebCore::ScrollbarThemeGtk::backButtonRect):
719 (WebCore::ScrollbarThemeGtk::forwardButtonRect):
720 (WebCore::ScrollbarThemeGtk::trackRect):
721 (WebCore::ScrollbarThemeGtk::registerScrollbar):
722 (WebCore::ScrollbarThemeGtk::unregisterScrollbar):
723 (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
724 * platform/gtk/ScrollbarThemeGtk.h:
725 * platform/gtk/ScrollbarThemeGtk2.cpp: Removed.
726 * platform/gtk/WidgetRenderingContext.cpp: Removed.
727 * platform/gtk/WidgetRenderingContext.h: Removed.
729 2014-08-28 Zan Dobersek <zdobersek@igalia.com>
731 Unreviewed GTK build fix for the Wayland windowing target after r173052.
733 * platform/graphics/wayland/WaylandSurface.cpp: Include the IntSize header.
734 * platform/graphics/wayland/WaylandSurface.h: Forward-declare IntSize.
736 2014-08-27 Csaba Osztrogonác <ossy@webkit.org>
738 One more URTBF after r173047.
740 * accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
741 (webkitAccessibleComponentGetExtents):
743 2014-08-27 Iago Toral <itoral@igalia.com> and Zan Dobersek <zdobersek@igalia.com>
745 [GTK] Add WaylandSurface
746 https://bugs.webkit.org/show_bug.cgi?id=136220
748 Reviewed by Martin Robinson.
750 Add the WaylandSurface class. An objects of this type is meant to be used
751 by the LayerTreeHostGtk in the WebProcess and is constructed via the
752 WaylandDisplay::createSurface() method.
754 LayerTreeHostGtk uses such object to perform frame requests to the nested
755 Wayland compositor in the UIProcess, and to create the GLContextEGL object
756 that's used during the layer flushing and compositing.
758 The resize() method is called whenever LayerTreeHostGtk is being resized,
759 and basically only wraps the wl_egL_window_resize() call.
762 * platform/graphics/wayland/WaylandSurface.cpp: Added.
763 (WebCore::frameCallback):
764 (WebCore::WaylandSurface::WaylandSurface):
765 (WebCore::WaylandSurface::~WaylandSurface):
766 (WebCore::WaylandSurface::resize):
767 (WebCore::WaylandSurface::createGLContext):
768 (WebCore::WaylandSurface::requestFrame):
769 * platform/graphics/wayland/WaylandSurface.h: Added.
770 (WebCore::WaylandSurface::surface):
771 (WebCore::WaylandSurface::nativeWindowHandle):
773 2014-08-27 Csaba Osztrogonác <ossy@webkit.org>
777 * accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
778 (webkitAccessibleImageGetImagePosition):
780 2014-08-27 Zalan Bujtas <zalan@apple.com>
782 Subpixel layout: Cleanup snapSizeToPixel/snapSizeToDevicePixel.
783 https://bugs.webkit.org/show_bug.cgi?id=136264
785 Reviewed by Simon Fraser.
787 1. Align snapSizeToPixel()/snapSizeToDevicePixel() function names with the rest of snapping
788 functions. ->snappedIntSize()/snapSizeToDevicePixel().
789 2. Operate on LayoutSize/LayoutPoint instead of LayoutUnit/LayoutUnit to reflect functionality.
791 Covered by existing tests.
793 * platform/LayoutUnit.h:
794 (WebCore::snapSizeToPixel): Deleted.
795 (WebCore::snapSizeToDevicePixel): Deleted.
796 * platform/graphics/LayoutPoint.h:
797 (WebCore::snappedIntSize):
798 (WebCore::snapSizeToDevicePixel):
799 (WebCore::pixelSnappedIntSize): Deleted.
800 * platform/graphics/LayoutRect.h:
801 (WebCore::LayoutRect::pixelSnappedSize):
802 (WebCore::LayoutRect::pixelSnappedWidth):
803 (WebCore::LayoutRect::pixelSnappedHeight):
804 (WebCore::pixelSnappedIntRect):
805 (WebCore::pixelSnappedIntRectFromEdges):
806 (WebCore::pixelSnappedForPainting):
807 (WebCore::directionalPixelSnappedForPainting):
808 * rendering/RenderBox.cpp:
809 (WebCore::RenderBox::pixelSnappedClientWidth):
810 (WebCore::RenderBox::pixelSnappedClientHeight):
811 (WebCore::RenderBox::pixelSnappedOffsetWidth):
812 (WebCore::RenderBox::pixelSnappedOffsetHeight):
813 (WebCore::RenderBox::scrollWidth):
814 (WebCore::RenderBox::scrollHeight):
815 * rendering/RenderBoxModelObject.cpp:
816 (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
817 (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
818 * rendering/RenderLayer.cpp:
819 (WebCore::RenderLayer::updateLayerPosition):
820 (WebCore::RenderLayer::scrollWidth):
821 (WebCore::RenderLayer::scrollHeight):
822 * rendering/RenderTreeAsText.cpp:
823 (WebCore::writeLayers):
825 2014-08-27 Zalan Bujtas <zalan@apple.com>
827 Subpixel layout: Rename LayoutRect's device pixel snapping functions.
828 https://bugs.webkit.org/show_bug.cgi?id=136319
830 Reviewed by Simon Fraser.
832 From pixelSnappedForPainting() to snapRectToDevicePixels() and
833 pixelSnappedIntRect*() to snappedIntRect*().
835 No change in functionality.
837 * accessibility/AccessibilityObject.cpp:
838 (WebCore::AccessibilityObject::boundingBoxForQuads):
839 (WebCore::AccessibilityObject::isOnscreen):
840 (WebCore::AccessibilityObject::scrollToMakeVisible):
841 * accessibility/AccessibilityObject.h:
842 (WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect):
843 (WebCore::AccessibilityObject::pixelSnappedElementRect):
844 * accessibility/AccessibilityRenderObject.cpp:
845 (WebCore::AccessibilityRenderObject::isOffScreen):
846 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
847 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
848 (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
849 (-[WebAccessibilityObjectWrapper accessibilityFrame]):
850 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
851 (-[WebAccessibilityObjectWrapper position]):
852 (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
853 * bindings/objc/DOMUIKitExtensions.mm:
854 (-[DOMHTMLAreaElement boundingBoxWithOwner:]):
855 (-[DOMHTMLAreaElement absoluteQuadWithOwner:]):
856 * css/CSSComputedStyleDeclaration.cpp:
857 (WebCore::computedTransform):
859 (WebCore::Node::pixelSnappedBoundingBox):
860 (WebCore::Node::pixelSnappedRenderRect):
861 * editing/RenderedPosition.cpp:
862 (WebCore::RenderedPosition::absoluteRect):
863 * editing/mac/FrameSelectionMac.mm:
864 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
865 * html/HTMLCanvasElement.cpp:
866 (WebCore::HTMLCanvasElement::paint):
867 * inspector/InspectorOverlay.cpp:
868 (WebCore::buildObjectForElementInfo):
869 * inspector/InspectorPageAgent.cpp:
870 (WebCore::InspectorPageAgent::didPaint):
871 * page/FrameSnapshotting.cpp:
872 (WebCore::snapshotNode):
873 * page/FrameView.cpp:
874 (WebCore::FrameView::scrollContentsFastPath):
875 (WebCore::FrameView::extendedBackgroundRectForPainting):
876 (WebCore::FrameView::windowClipRectForFrameOwner):
877 (WebCore::FrameView::convertFromRendererToContainingView):
879 (WebCore::Page::addRelevantRepaintedObject):
880 (WebCore::Page::addRelevantUnpaintedObject):
881 * page/ios/FrameIOS.mm:
882 (WebCore::ancestorRespondingToClickEvents):
883 * platform/DragImage.cpp:
884 (WebCore::createDragImageForImage):
885 * platform/graphics/LayoutRect.cpp:
886 (WebCore::enclosingRectToDevicePixels):
887 (WebCore::enclosingRectForPainting): Deleted.
888 * platform/graphics/LayoutRect.h:
889 (WebCore::snappedIntRect):
890 (WebCore::snappedIntRectFromEdges):
891 (WebCore::snapRectToDevicePixels):
892 (WebCore::snapRectToDevicePixelsWithWritingDirection):
893 (WebCore::pixelSnappedIntRect): Deleted.
894 (WebCore::pixelSnappedIntRectFromEdges): Deleted.
895 (WebCore::pixelSnappedForPainting): Deleted.
896 (WebCore::directionalPixelSnappedForPainting): Deleted.
897 * platform/graphics/RoundedRect.cpp:
898 (WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):
899 * platform/graphics/ca/GraphicsLayerCA.cpp:
900 (WebCore::GraphicsLayerCA::computePixelAlignment):
901 * platform/text/TextStream.cpp:
902 (WebCore::TextStream::operator<<):
903 * rendering/EllipsisBox.cpp:
904 (WebCore::EllipsisBox::paintSelection):
905 * rendering/FilterEffectRenderer.cpp:
906 (WebCore::FilterEffectRendererHelper::applyFilterEffect):
907 * rendering/InlineFlowBox.cpp:
908 (WebCore::InlineFlowBox::paint):
909 * rendering/InlineTextBox.cpp:
910 (WebCore::InlineTextBox::paintSelection):
911 (WebCore::InlineTextBox::paintCompositionBackground):
912 (WebCore::InlineTextBox::paintTextMatchMarker):
913 (WebCore::InlineTextBox::positionForOffset):
914 * rendering/RenderBlock.cpp:
915 (WebCore::RenderBlock::addVisualOverflowFromTheme):
916 (WebCore::RenderBlock::paint):
917 (WebCore::RenderBlock::blockSelectionGap):
918 (WebCore::RenderBlock::logicalLeftSelectionGap):
919 (WebCore::RenderBlock::logicalRightSelectionGap):
920 (WebCore::RenderBlock::absoluteRects):
921 (WebCore::RenderBlock::addFocusRingRects):
922 * rendering/RenderBlockFlow.cpp:
923 (WebCore::RenderBlockFlow::clipOutFloatingObjects):
924 (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
925 * rendering/RenderBox.cpp:
926 (WebCore::RenderBox::absoluteRects):
927 (WebCore::RenderBox::absoluteContentBox):
928 (WebCore::RenderBox::outlineBoundsForRepaint):
929 (WebCore::RenderBox::addFocusRingRects):
930 (WebCore::RenderBox::getBackgroundPaintedExtent):
931 (WebCore::RenderBox::pushContentsClip):
932 (WebCore::RenderBox::computeRectForRepaint):
933 * rendering/RenderBox.h:
934 (WebCore::RenderBox::pixelSnappedFrameRect):
935 * rendering/RenderBoxModelObject.cpp:
936 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
937 (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
938 (WebCore::RenderBoxModelObject::paintNinePieceImage):
939 (WebCore::RenderBoxModelObject::paintBorder):
940 (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
941 (WebCore::RenderBoxModelObject::paintBoxShadow):
942 * rendering/RenderDetailsMarker.cpp:
943 (WebCore::RenderDetailsMarker::paint):
944 * rendering/RenderEmbeddedObject.cpp:
945 (WebCore::RenderEmbeddedObject::paintSnapshotImage):
946 (WebCore::RenderEmbeddedObject::isReplacementObscured):
947 * rendering/RenderFieldset.cpp:
948 (WebCore::RenderFieldset::paintBoxDecorations):
949 * rendering/RenderFlowThread.cpp:
950 (WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
951 * rendering/RenderFrameSet.cpp:
952 (WebCore::RenderFrameSet::paint):
953 (WebCore::RenderFrameSet::layout):
954 (WebCore::RenderFrameSet::positionFramesWithFlattening):
955 * rendering/RenderHTMLCanvas.cpp:
956 (WebCore::RenderHTMLCanvas::paintReplaced):
957 * rendering/RenderImage.cpp:
958 (WebCore::RenderImage::paintReplaced):
959 * rendering/RenderInline.cpp:
960 (WebCore::RenderInline::paintOutlineForLine):
961 * rendering/RenderLayer.cpp:
962 (WebCore::RenderLayer::updateTransform):
963 (WebCore::RenderLayer::currentTransform):
964 (WebCore::RenderLayer::beginTransparencyLayers):
965 (WebCore::RenderLayer::scrollRectToVisible):
966 (WebCore::RenderLayer::scrollCornerRect):
967 (WebCore::RenderLayer::drawPlatformResizerImage):
968 (WebCore::RenderLayer::paintResizer):
969 (WebCore::RenderLayer::hitTestOverflowControls):
970 (WebCore::RenderLayer::clipToRect):
971 (WebCore::RenderLayer::paintLayerByApplyingTransform):
972 (WebCore::RenderLayer::paintOverflowControlsForFragments):
973 (WebCore::RenderLayer::hitTestResizerInFragments):
974 (WebCore::RenderLayer::calculateClipRects):
975 * rendering/RenderLayerBacking.cpp:
976 (WebCore::RenderLayerBacking::updateTransform):
977 (WebCore::RenderLayerBacking::updateGeometry):
978 (WebCore::RenderLayerBacking::resetContentsRect):
979 (WebCore::RenderLayerBacking::updateImageContents):
980 (WebCore::RenderLayerBacking::backgroundBoxForPainting):
981 (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
982 (WebCore::RenderLayerBacking::paintContents):
983 * rendering/RenderLayerCompositor.cpp:
984 (WebCore::RenderLayerCompositor::addToOverlapMap):
985 (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
986 (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
987 (WebCore::RenderLayerCompositor::paintContents):
988 * rendering/RenderListBox.cpp:
989 (WebCore::RenderListBox::addFocusRingRects):
990 (WebCore::RenderListBox::paintScrollbar):
991 (WebCore::RenderListBox::paintItemBackground):
992 * rendering/RenderListMarker.cpp:
993 (WebCore::RenderListMarker::paint):
994 * rendering/RenderMeter.cpp:
995 (WebCore::RenderMeter::updateLogicalWidth):
996 (WebCore::RenderMeter::computeLogicalHeight):
997 * rendering/RenderMultiColumnSet.cpp:
998 (WebCore::RenderMultiColumnSet::paintColumnRules):
999 * rendering/RenderObject.cpp:
1000 (WebCore::RenderObject::drawLineForBoxSide):
1001 (WebCore::RenderObject::addPDFURLRect):
1002 (WebCore::RenderObject::paintOutline):
1003 (WebCore::RenderObject::absoluteBoundingBoxRect):
1004 (WebCore::RenderObject::repaintUsingContainer):
1005 (WebCore::RenderObject::repaintSlowRepaintObject):
1006 (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
1007 * rendering/RenderProgress.cpp:
1008 (WebCore::RenderProgress::computeLogicalHeight):
1009 * rendering/RenderReplaced.cpp:
1010 (WebCore::RenderReplaced::paint):
1011 * rendering/RenderScrollbarPart.cpp:
1012 (WebCore::RenderScrollbarPart::paintIntoRect):
1013 * rendering/RenderSearchField.cpp:
1014 (WebCore::RenderSearchField::showPopup):
1015 * rendering/RenderSnapshottedPlugIn.cpp:
1016 (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
1017 * rendering/RenderTableCell.cpp:
1018 (WebCore::RenderTableCell::paintCollapsedBorders):
1019 * rendering/RenderTextControl.cpp:
1020 (WebCore::RenderTextControl::addFocusRingRects):
1021 * rendering/RenderTextControlSingleLine.cpp:
1022 (WebCore::RenderTextControlSingleLine::paint):
1023 * rendering/RenderTheme.cpp:
1024 (WebCore::RenderTheme::paint):
1025 (WebCore::RenderTheme::paintBorderOnly):
1026 (WebCore::RenderTheme::paintDecorations):
1027 * rendering/RenderThemeMac.mm:
1028 (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
1029 * rendering/RenderTreeAsText.cpp:
1031 * rendering/RenderVideo.cpp:
1032 (WebCore::RenderVideo::videoBox):
1033 (WebCore::RenderVideo::paintReplaced):
1034 * rendering/RenderView.cpp:
1035 (WebCore::RenderView::repaintViewRectangle):
1036 (WebCore::RenderView::computeRectForRepaint):
1037 (WebCore::RenderView::absoluteRects):
1038 (WebCore::RenderView::selectionBounds):
1039 (WebCore::RenderView::unscaledDocumentRect):
1040 * rendering/RenderView.h:
1041 * rendering/RenderWidget.cpp:
1042 (WebCore::RenderWidget::paintContents):
1043 (WebCore::RenderWidget::paint):
1044 * rendering/SimpleLineLayoutFunctions.cpp:
1045 (WebCore::SimpleLineLayout::paintDebugBorders):
1046 * rendering/shapes/Shape.cpp:
1047 (WebCore::Shape::createRasterShape):
1048 * rendering/svg/RenderSVGModelObject.cpp:
1049 (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
1050 * rendering/svg/RenderSVGRoot.cpp:
1051 (WebCore::RenderSVGRoot::paintReplaced):
1052 * rendering/svg/SVGInlineTextBox.cpp:
1053 (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
1055 2014-08-27 Daniel Bates <dabates@apple.com>
1057 Scrollbar corner can be drawn outside containing frame
1058 https://bugs.webkit.org/show_bug.cgi?id=133131
1059 <rdar://problem/16382769>
1061 Reviewed by Simon Fraser.
1063 Merged from Blink (patch by Levi Weintraub):
1064 <https://src.chromium.org/viewvc/blink?revision=170625&view=revision>
1066 Fixes an issue where the scroll corner may be painted outside the rectangle of
1067 its associated frame by setting a clip rectangle before painting the scroll bar(s)
1070 Test: scrollbars/custom-scrollbars-paint-outside-iframe.html
1072 * platform/ScrollView.cpp:
1073 (WebCore::ScrollView::paint):
1075 2014-08-27 Zalan Bujtas <zalan@apple.com>
1077 Subpixel layout: Rename FloatPoint/FloatRect device pixel snapping functions.
1078 https://bugs.webkit.org/show_bug.cgi?id=136314
1080 Reviewed by Simon Fraser.
1082 From *edToDevicePixels() to *PointToDevicePixels() (* = floor/round/ceil)
1084 EnclosedIntRect -> enclosingIntRect() changes functionality for InspectorOverlay painting,
1085 but currently untestable.
1088 * inspector/InspectorOverlay.cpp:
1089 (WebCore::InspectorOverlay::showPaintRect):
1090 * platform/graphics/FloatPoint.h:
1091 (WebCore::flooredIntSize):
1092 (WebCore::floorPointToDevicePixels):
1093 (WebCore::ceilPointToDevicePixels):
1094 (WebCore::flooredToDevicePixels): Deleted.
1095 (WebCore::ceiledToDevicePixels): Deleted.
1096 * platform/graphics/FloatRect.cpp:
1097 (WebCore::enclosingRectToDevicePixels):
1098 (WebCore::enclosingRectExtendedToDevicePixels): Deleted. Renamed.
1099 (WebCore::enclosedIntRect): Deleted. Not needed.
1100 * platform/graphics/FloatRect.h:
1102 2014-08-27 Zalan Bujtas <zalan@apple.com>
1104 Subpixel layout: Rename LayoutPoint's device pixel snapping functions.
1105 https://bugs.webkit.org/show_bug.cgi?id=136306
1107 Reviewed by Simon Fraser.
1109 From *edForPainting() to *PointToDevicePixels() (* = floor/round/ceil)
1111 No change in functionality.
1113 * platform/graphics/LayoutPoint.h:
1114 (WebCore::roundPointToDevicePixels):
1115 (WebCore::floorPointToDevicePixels):
1116 (WebCore::ceilPointToDevicePixels):
1117 (WebCore::roundedForPainting): Deleted.
1118 (WebCore::flooredForPainting): Deleted.
1119 (WebCore::ceiledForPainting): Deleted.
1120 * platform/graphics/LayoutRect.cpp:
1121 (WebCore::enclosingRectForPainting):
1122 * platform/graphics/LayoutRect.h:
1123 (WebCore::directionalPixelSnappedForPainting):
1124 * rendering/RenderBoxModelObject.cpp:
1125 (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
1126 * rendering/RenderLayer.cpp:
1127 (WebCore::RenderLayer::paintLayerByApplyingTransform):
1128 (WebCore::RenderLayer::calculateClipRects):
1129 * rendering/RenderLayerBacking.cpp:
1130 (WebCore::RenderLayerBacking::updateGeometry):
1132 2014-08-27 Zalan Bujtas <zalan@apple.com>
1134 Subpixel layout: Rename LayoutSize's device pixel snapping functions.
1135 https://bugs.webkit.org/show_bug.cgi?id=136310
1137 Reviewed by Simon Fraser.
1139 From *edForPainting() to *SizeToDevicePixels() (* = floor/round/ceil)
1141 No change in functionality.
1143 * platform/graphics/LayoutSize.h:
1144 (WebCore::floorSizeToDevicePixels):
1145 (WebCore::flooredForPainting): Deleted.
1146 * rendering/style/StyleGeneratedImage.cpp:
1147 (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
1149 2014-08-27 Brian J. Burg <burg@cs.washington.edu>
1151 Enums in ScrollTypes and PlatformWheelEvent should not use uint64_t storage
1152 https://bugs.webkit.org/show_bug.cgi?id=136318
1154 Reviewed by Simon Fraser.
1156 This regressed in a replay-related patch. Revert back to uint8_t storage size.
1158 * platform/PlatformWheelEvent.h:
1159 * platform/ScrollTypes.h:
1160 * replay/WebInputs.json:
1162 2014-08-27 Simon Fraser <simon.fraser@apple.com>
1166 Reviewed by Tim Horton.
1168 * page/EventHandler.cpp:
1169 (WebCore::EventHandler::handleMousePressEvent):
1170 (WebCore::EventHandler::handleMouseDoubleClickEvent):
1171 (WebCore::EventHandler::handleMouseMoveEvent):
1172 (WebCore::EventHandler::handleMouseReleaseEvent):
1173 (WebCore::EventHandler::handlePasteGlobalSelection):
1174 (WebCore::EventHandler::updateMouseEventTargetNode):
1175 (WebCore::EventHandler::dispatchMouseEvent):
1176 (WebCore::EventHandler::sendContextMenuEventForKey):
1177 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
1179 2014-08-27 Simon Fraser <simon.fraser@apple.com>
1183 * page/EventHandler.cpp:
1184 (WebCore::EventHandler::handleMousePressEvent):
1186 2014-08-27 Andreas Kling <akling@apple.com>
1188 Drawing text in an SVG font causes load events to be fired.
1189 <https://webkit.org/b/136269>
1190 <rdar://problem/15724915>
1192 Don't flush pending load events in Document::implicitClose() for frameless documents.
1193 This is a targeted fix for an issue where parsing SVG fonts during layout would cause
1194 event dispatch to happen in the main document, leading to arbitrary JS execution.
1196 Note that the testcase only works in DRT/WTR, since once the SVG font is in cached
1197 by WebCore, we won't reparse it again. Caches are cleared between tests, so it will
1198 correctly fail if this should regress.
1200 Longer-term, we should clean this up and get rid of the global dispatch entirely.
1202 Reviewed by Simon Fraser.
1204 Test: fast/text/svg-font-trigger-load-event.html
1207 (WebCore::Document::implicitClose):
1209 2014-08-27 Simon Fraser <simon.fraser@apple.com>
1211 Some EventHandler naming cleanup
1212 https://bugs.webkit.org/show_bug.cgi?id=136303
1214 Reviewed by Beth Dakin.
1216 Rename "mev" variables to "mouseEvent".
1220 * page/EventHandler.cpp:
1221 (WebCore::EventHandler::handleMousePressEvent):
1222 (WebCore::EventHandler::handleMouseDoubleClickEvent):
1223 (WebCore::EventHandler::handleMouseMoveEvent):
1224 (WebCore::EventHandler::handleMouseReleaseEvent):
1225 (WebCore::EventHandler::updateDragAndDrop):
1226 (WebCore::EventHandler::prepareMouseEvent):
1227 (WebCore::EventHandler::sendContextMenuEvent):
1228 (WebCore::EventHandler::passMousePressEventToScrollbar):
1229 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
1231 2014-08-27 Simon Fraser <simon.fraser@apple.com>
1233 Some EventHandler naming cleanup
1234 https://bugs.webkit.org/show_bug.cgi?id=136303
1236 Reviewed by Beth Dakin.
1238 Rename PlatformMouseEvent variables from "mouseEvent" to "platformMouseEvent"
1239 so that a later patch can rename "mev" to "mouseEvent".
1245 * page/EventHandler.cpp:
1246 (WebCore::EventHandler::clear):
1247 (WebCore::EventHandler::handleMousePressEvent):
1248 (WebCore::EventHandler::handleMouseDoubleClickEvent):
1249 (WebCore::EventHandler::handleMouseMoveEvent):
1250 (WebCore::EventHandler::invalidateClick):
1251 (WebCore::EventHandler::handleMouseReleaseEvent):
1252 (WebCore::EventHandler::handlePasteGlobalSelection):
1253 (WebCore::EventHandler::updateMouseEventTargetNode):
1254 (WebCore::EventHandler::dispatchMouseEvent):
1255 (WebCore::EventHandler::sendContextMenuEventForKey):
1256 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
1258 2014-08-27 Beth Dakin <bdakin@apple.com>
1260 Make isScrollableOrRubberbandable() a virtual function on RenderLayerModelObject
1261 https://bugs.webkit.org/show_bug.cgi?id=136307
1263 Reviewed by Simon Fraser.
1265 Remove extra parentheses.
1266 * page/FrameView.cpp:
1267 (WebCore::FrameView::isScrollable):
1269 Mark isScrollableOrRubberbandable() as override now that the root implementation
1270 is moving to RenderLayerModelObject. It can also be private now.
1271 * rendering/RenderBox.h:
1273 isBox() check and cast are no longer necessary.
1274 * rendering/RenderLayer.cpp:
1275 (WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):
1277 Base implementation should return false.
1278 * rendering/RenderLayerModelObject.h:
1279 (WebCore::RenderLayerModelObject::isScrollableOrRubberbandable):
1282 * rendering/RenderView.h:
1284 2014-08-27 Antti Koivisto <antti@apple.com>
1286 REGRESSION(r172946): Plugin tests asserting on Yosemite debug bot
1287 https://bugs.webkit.org/show_bug.cgi?id=136301
1289 Reviewed by Alexey Proskuryakov.
1291 Don't pull the priority from the platform request if it is not defined.
1293 * platform/network/cf/ResourceRequestCFNet.cpp:
1294 (WebCore::ResourceRequest::doUpdateResourceRequest):
1295 * platform/network/cocoa/ResourceRequestCocoa.mm:
1296 (WebCore::ResourceRequest::doUpdateResourceRequest):
1298 2014-08-27 Timothy Hatcher <timothy@apple.com>
1300 Web Inspector: Crash when you open Web Inspector in a private window (due to IndexedDB)
1301 https://bugs.webkit.org/show_bug.cgi?id=136293
1303 Reviewed by Joseph Pecoraro.
1305 * inspector/InspectorIndexedDBAgent.cpp:
1306 (WebCore::InspectorIndexedDBAgent::requestDatabaseNames): Null check idbRequest from
1307 IDBFactory::getDatabaseNames, which can return null now after r172603 in private browsing.
1309 2014-08-27 Beth Dakin <bdakin@apple.com>
1311 overflow:scroll elements should not latch to the body if the body is
1313 https://bugs.webkit.org/show_bug.cgi?id=136273
1315 Reviewed by Darin Adler.
1317 This patch adds an optional parameter to isScrollable(). The Scrollability
1318 parameter that allows the caller to define what they mean by 'scrollable.' Most
1319 callers are interested in the default value, Scrollability::Scrollable, which
1320 means that there is actually content to scroll to, and a scrollbar that will allow
1321 you to access it. In some cases, such as this latching case, callers want to know
1322 if the FrameView is allowed to rubber-band, which the main frame might be allowed
1323 to do even if there is no content to scroll to. In that case, callers use
1324 Scrollability::ScrollableOrRubberbandable.
1325 * page/FrameView.cpp:
1326 (WebCore::FrameView::isScrollable):
1327 (WebCore::FrameView::hasScrollableOrRubberbandableAncestor):
1329 New virtual function on ScrollableArea answers whether a ScrollableArea has any
1330 scrollable or rubber-bandable ancestor.
1332 * platform/ScrollableArea.h:
1334 Events should only be allowed to prevent stretching if there is some ancestor
1335 ScrollableArea that will be able to make use of the event.
1336 * platform/mac/ScrollAnimatorMac.mm:
1337 (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
1338 (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
1340 New ScrollableArea virtual function.
1341 * platform/win/PopupMenuWin.h:
1343 New RenderBox isScrollableOrRubberbandable() returns just
1344 canBeScrolledAndHasScrollableArea() for most RenderBox, but will be overridden by
1346 * rendering/RenderBox.cpp:
1347 (WebCore::RenderBox::isScrollableOrRubberbandable):
1348 * rendering/RenderBox.h:
1350 Recurse up the parent chain to find out if anything is scrollable or just rubber-
1352 * rendering/RenderLayer.cpp:
1353 (WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):
1354 * rendering/RenderLayer.h:
1356 Call into RenderLayer.
1357 * rendering/RenderListBox.cpp:
1358 (WebCore::RenderListBox::hasScrollableOrRubberbandableAncestor):
1359 * rendering/RenderListBox.h:
1361 Override isScrollableOrRubberbandable() to handle the main frame case where the
1362 main frame is typically allowed to rubber-band even if there is no content to
1364 * rendering/RenderView.cpp:
1365 (WebCore::RenderView::isScrollableOrRubberbandable):
1366 * rendering/RenderView.h:
1368 2014-08-27 Benjamin Poulain <bpoulain@apple.com>
1370 Updating attributes on HTML elements do not invalidate the style correctly unless the attribute name is lowercase in the stylesheet
1371 https://bugs.webkit.org/show_bug.cgi?id=136270
1373 Reviewed by Andreas Kling.
1375 In HTML, WebKit treats every attribute name lowercase to implement case-insensitive matching.
1376 When invalidating style, the StyleResolver was ignoring HTML and always using the XML names.
1378 This patch split the names on RuleFeatureSet in two sets: one for XML, one for HTML.
1379 In StyleResolver, the name used depends on the type of the element being updated.
1381 This patch also adds nodeNeedsStyleRecalc() to Internals to test the optimization and various cases
1384 Tests: fast/css/attribute-for-content-property-style-update-html.html
1385 fast/css/attribute-for-content-property-style-update-xhtml.xhtml
1386 fast/css/attribute-style-invalidation-optimization-html.html
1387 fast/css/attribute-style-invalidation-optimization-xhtml.xhtml
1388 fast/css/attribute-style-update-html.html
1389 fast/selectors/attribute-style-update-html.html
1390 fast/selectors/attribute-style-update-svg-in-html.html
1391 fast/selectors/attribute-style-update-xhtml.xhtml
1393 * css/RuleFeature.cpp:
1394 (WebCore::RuleFeatureSet::collectFeaturesFromSelector):
1395 (WebCore::RuleFeatureSet::add):
1396 (WebCore::RuleFeatureSet::clear):
1397 * css/RuleFeature.h:
1398 * css/StyleResolver.cpp:
1399 (WebCore::StyleResolver::applyProperty):
1400 * css/StyleResolver.h:
1401 (WebCore::StyleResolver::hasSelectorForAttribute):
1403 (WebCore::Element::willModifyAttribute):
1404 * testing/Internals.cpp:
1405 (WebCore::Internals::address):
1406 (WebCore::Internals::nodeNeedsStyleRecalc):
1407 * testing/Internals.h:
1408 * testing/Internals.idl:
1410 2014-08-27 Benjamin Poulain <bpoulain@apple.com>
1412 Update the CSS Grammar selector names to get closer to the latest terminology
1413 https://bugs.webkit.org/show_bug.cgi?id=136277
1415 Reviewed by Andreas Kling.
1417 CSS Selector Level 4 gives useful definitions for various parts of a selector
1418 (see http://dev.w3.org/csswg/selectors4/#structure). This patch updates our names to be closer
1421 Stricto sensu, our definition of "simple selector list" is wrong. I did not attempt to fix this
1422 because updates of CSS Selector Level 4 and WebVTT will eventually make that whole concept useless.
1424 * css/CSSGrammar.y.in:
1426 2014-08-27 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1428 [EFL] Unskip compositing test
1429 https://bugs.webkit.org/show_bug.cgi?id=136151
1431 Reviewed by Csaba Osztrogonác.
1433 * rendering/RenderLayerBacking.cpp: Set true to setContentsOpaque() to support compositing test.
1434 (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1436 2014-08-26 Vivek Galatage <vivek.vg@samsung.com>
1438 Canvas direction should reflect change in dir attribute and also across save/restore operations
1439 https://bugs.webkit.org/show_bug.cgi?id=136098
1441 Reviewed by Darin Adler.
1443 Changed State.m_direction type from TextDirection to Direction enum to accomodate 'inherit'
1444 as a separate value. Modified the getter to compute the 'live' value for the direction attribute.
1445 Removed explicit passing of direction to CanvasRenderingContext2D::State constructor.
1447 Updated existing canvas-direction.html with additional cases to reflect this change.
1449 * html/canvas/CanvasRenderingContext2D.cpp:
1450 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1451 (WebCore::CanvasRenderingContext2D::reset):
1452 (WebCore::CanvasRenderingContext2D::State::State):
1453 (WebCore::CanvasRenderingContext2D::toTextDirection):
1454 (WebCore::CanvasRenderingContext2D::direction):
1455 (WebCore::CanvasRenderingContext2D::setDirection):
1456 (WebCore::CanvasRenderingContext2D::drawTextInternal):
1457 (WebCore::inheritedDirection): Deleted.
1458 * html/canvas/CanvasRenderingContext2D.h:
1460 2014-08-26 Benjamin Poulain <bpoulain@apple.com>
1462 Minor style tweak on StyleResolveTree
1463 https://bugs.webkit.org/show_bug.cgi?id=136233
1465 Reviewed by Sam Weinig.
1467 * style/StyleResolveTree.cpp:
1468 (WebCore::Style::resolveTree):
1469 Clang likely optimized it away, but I find that explicit style cleaner.
1471 2014-08-26 Brian J. Burg <burg@cs.washington.edu>
1473 Web Inspector: put feature flags for Inspector domains in the protocol specification
1474 https://bugs.webkit.org/show_bug.cgi?id=136027
1476 Reviewed by Timothy Hatcher.
1478 Add 'featureGuard' settings to wrap domains with ENABLE macros.
1480 No new tests. No behavior was changed.
1482 * inspector/protocol/Database.json:
1483 * inspector/protocol/IndexedDB.json:
1484 * inspector/protocol/Replay.json:
1486 2014-08-26 Andy Estes <aestes@apple.com>
1488 [Cocoa] Some projects are incorrectly installed to $BUILT_PRODUCTS_DIR
1489 https://bugs.webkit.org/show_bug.cgi?id=136267
1491 Reviewed by Dan Bernstein.
1493 INSTALL_PATH was set to $BUILT_PRODUCTS_DIR for engineering configurations in r20225 as part of a build fix.
1494 Not only is this no longer necessary to build, but it causes built products to be incorrectly installed in
1495 engineering configurations.
1497 Remove the setting of INSTALL_PATH from the pbxproj file so that the value specified in the xcconfig files is
1500 * WebCore.xcodeproj/project.pbxproj:
1502 2014-08-26 Brent Fulgham <bfulgham@apple.com>
1504 [Win] WebKit IDL incorrectly passes HWND as OLE_HANDLE
1505 https://bugs.webkit.org/show_bug.cgi?id=136258
1506 <rdar://problem/18134138>
1508 Reviewed by Tim Horton.
1510 Avoid 32/64-bit truncation by preventing 64-bit HWND (and other)
1511 values from passing through the 32-bit OLE_HANDLE data type.
1513 * platform/win/WindowMessageBroadcaster.cpp:
1514 (WebCore::WindowMessageBroadcaster::addListener):
1515 (WebCore::WindowMessageBroadcaster::removeListener):
1516 (WebCore::WindowMessageBroadcaster::destroy):
1517 (WebCore::WindowMessageBroadcaster::unsubclassWindow):
1518 (WebCore::WindowMessageBroadcaster::SubclassedWndProc):
1520 2014-08-25 Maciej Stachowiak <mjs@apple.com>
1522 Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
1523 https://bugs.webkit.org/show_bug.cgi?id=136082
1525 Reviewed by Alexey Proskuryakov.
1527 * platform/mac/Language.mm:
1528 (WebCore::httpStyleLanguageCode): Replace use of WKCopyCFLocalizationPreferredName
1529 with new WebCoreNSStringExtras helper.
1530 * platform/mac/WebCoreNSStringExtras.mm: Replacements for the aspects of
1531 WKCopyCFLocalizationPreferredName.
1532 (preferredBundleLocalizationName): New helper - most preferred localization available
1533 in the main bundle, canonicalized the way we like it.
1534 (canonicalLocalizationName): Convert a lcalization name to a string with language and
1535 country code, using default if necessary (e.g. "en" maps to "en_US").
1536 * WebCore.order: Remove mention of WKCopyCFLocalizationPreferredName.
1537 * WebCore.exp.in: ditto; also export preferredBundleLocalizationName for WebKit(2).
1538 * platform/ios/WebCoreSystemInterfaceIOS.mm: ditto
1539 * platform/mac/WebCoreSystemInterface.h: ditto
1540 * platform/mac/WebCoreSystemInterface.mm: ditto
1541 * platform/spi/cf: Added.
1542 * platform/spi/cf/CFLocaleSPI.h: Added. Declare
1543 CFLocaleGetLanguageRegionEncodingForLocaleIdentifier.
1545 2014-08-26 Zoltan Horvath <zoltan@webkit.org>
1547 [CSS Shapes] Positioned polygon reftests failing
1548 https://bugs.webkit.org/show_bug.cgi?id=135925
1550 Reviewed by David Hyatt.
1552 We didn't respect the shape-margin before a positioned polygon, since we checked
1553 the shape-margin for only 1 vertex for a polygon edge. This patch fixes the behavior,
1554 removes the tests from the skipped list and updates 1 test, which was incorrect.
1556 Updated existing test and removed tests from skipped list.
1558 * rendering/shapes/PolygonShape.cpp:
1559 (WebCore::clippedCircleXRange):
1560 (WebCore::PolygonShape::getExcludedInterval):
1562 2014-08-26 Zalan Bujtas <zalan@apple.com>
1564 Subpixel layout: Remove float to LayoutUnit ceil/round function wrappers.
1565 https://bugs.webkit.org/show_bug.cgi?id=136253
1567 Reviewed by Simon Fraser.
1569 These functions wrap LayoutUnit::fromFloatCeil/fromFloatRound() functions to ceil/round float to LayoutUnit.
1570 Their usage is limited and can easily be confused with the snapping functions (snap to css/device pixels).
1572 No change in functionality.
1574 * platform/LayoutUnit.h:
1575 (WebCore::roundedLayoutUnit): Deleted. : Callers use the more explicit LayoutUnit::fromFloatRound() function.
1576 (WebCore::ceiledLayoutUnit): Deleted. : Callers use the more explicit LayoutUnit::fromFloatCeil() function.
1577 * rendering/RenderBlock.cpp:
1578 (WebCore::updatePreferredWidth):
1579 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
1580 (WebCore::adjustFloatForSubPixelLayout): Deleted.
1581 * rendering/RenderBox.cpp:
1582 (WebCore::RenderBox::positionLineBox):
1583 * rendering/RenderFlexibleBox.cpp:
1584 (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
1585 * rendering/RenderInline.cpp:
1586 (WebCore::RenderInline::offsetForInFlowPositionedInline):
1587 * rendering/RenderTextControlSingleLine.cpp:
1588 (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
1590 2014-08-26 Simon Fraser <simon.fraser@apple.com>
1592 Ensure that layout is up-to-date before hit testing
1593 https://bugs.webkit.org/show_bug.cgi?id=136242
1594 rdar://problem/17435564
1596 Reviewed by Tim Horton.
1598 Various code paths can call into RenderView::hitTest() but fail to
1599 ensure that layout is up-to-date. This is a conservative change that
1600 fixes the issue for callers of EventHandler::hitTestResultAtPoint(),
1601 including WebPage::acceptsFirstMouse() and WebFrame::hitTest().
1603 This change is not general enough that we can ASSERT(!needsLayout())
1604 in RenderView::hitTest() yet.
1606 * page/EventHandler.cpp:
1607 (WebCore::EventHandler::hitTestResultAtPoint):
1609 2014-08-26 Beth Dakin <bdakin@apple.com>
1611 Rubber-banding in overflow:scroll regions does not work correctly with
1613 https://bugs.webkit.org/show_bug.cgi?id=136176
1615 Reviewed by Tim Horton.
1618 * rendering/RenderLayer.cpp:
1619 (WebCore::RenderLayer::visibleContentRectInternal):
1621 2014-08-26 Tim Horton <timothy_horton@apple.com>
1623 Fix the build after r172963
1627 2014-08-25 Gavin Barraclough <barraclough@apple.com>
1629 DOMTimer may be deleted during timer fire
1630 https://bugs.webkit.org/show_bug.cgi?id=136198
1632 Reviewed by Geoff Garen.
1634 Consequentially ScheduledActions may also be deleted mid execution.
1635 This is fairly surprising & fragile, let's make this simpler.
1637 Currently DOMTimer instances are effectively owned by the ScriptExecutionContext.
1638 There is a 1-1 mapping between timers and contexts, all timers are help in a map
1639 on the context and if the context goes away all timers are deleted. Rather than
1640 being implemented in a straightforward fashion (a smart pointer type for the map
1641 value) this is currently implemented by having the timer objects listen for the
1642 context going away using contextDestroyed, and deleting themselves if so.
1644 Switch to using a smart pointer for values of m_timeouts in ScriptExecutionContext.
1645 By using a RefCounted object we can also extend the lifetime of the DOMTimer instance
1646 from within the DOMTimer::fired method, so the object is not destroyed while the
1647 member function is still on the stack.
1649 * WebCore.xcodeproj/project.pbxproj:
1650 - project -> private since DOMTimer could no longer be a forward declare in ScriptExecutionContext.h.
1651 * dom/ScriptExecutionContext.cpp:
1652 (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
1653 (WebCore::ScriptExecutionContext::didChangeTimerAlignmentInterval):
1654 - auto* -> auto& since value type in map is no longer a raw pointer.
1655 * dom/ScriptExecutionContext.h:
1656 (WebCore::ScriptExecutionContext::addTimeout):
1657 - DOMTimer* -> PassRefPtr<DOMTimer>
1658 * page/DOMTimer.cpp:
1659 (WebCore::DOMTimer::DOMTimer):
1660 - adopt the initial ref, and pass to addTimeout.
1661 (WebCore::DOMTimer::install):
1663 (WebCore::DOMTimer::removeById):
1664 - instead of explicitly deleting the timer and assuming this will implicitly remove it from the context map,
1665 we explicitly remove it from the context map and assume this will implicitly deleting the timer!
1666 (WebCore::DOMTimer::fired):
1667 - Add a RefPtr to keep the DOMTimer object alive until the fired method completes; to cancel a one-shot timer
1668 just remove it from the context's map, rather than explicitly deleting it.
1669 (WebCore::DOMTimer::~DOMTimer): Deleted.
1670 (WebCore::DOMTimer::contextDestroyed): Deleted.
1671 - no need! object lifetime management now handled by smart pointers.
1673 - added parent class RefCounted<DOMTimer>.
1675 2014-08-26 Carlos Garcia Campos <cgarcia@igalia.com>
1677 [GTK] Selection background is rendered white when unfocused with recent GTK+
1678 https://bugs.webkit.org/show_bug.cgi?id=136251
1680 Reviewed by Martin Robinson.
1682 This is due to a change in the GTK+ theme, but because we are not
1683 using the right flags to get the selections colors. We should use
1684 GTK_STATE_FLAG_SELECTED | GTK_STATE_FLAG_FOCUSED when focused and
1685 GTK_STATE_FLAG_SELECTED when unfocused, instead of
1686 GTK_STATE_FLAG_ACTIVE when unfocused.
1688 * platform/gtk/RenderThemeGtk3.cpp:
1689 (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
1690 (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
1691 (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
1692 (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
1693 (WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor):
1694 (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor):
1695 (WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor):
1696 (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor):
1698 2014-08-26 Krzysztof Czech <k.czech@samsung.com>
1700 [EFL] Utilize espeak as a synthesizer back-end for WebSpeech
1701 https://bugs.webkit.org/show_bug.cgi?id=136127
1703 Reviewed by Gyuyoung Kim.
1705 Utilize espeak API to have support for speak, cancel and initializeVoiceList.
1707 * PlatformEfl.cmake:
1708 * platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:
1709 (WebCore::PlatformSpeechSynthesisProviderEfl::PlatformSpeechSynthesisProviderEfl):
1710 (WebCore::PlatformSpeechSynthesisProviderEfl::convertRateToEspeakValue):
1711 (WebCore::PlatformSpeechSynthesisProviderEfl::convertVolumeToEspeakValue):
1712 (WebCore::PlatformSpeechSynthesisProviderEfl::convertPitchToEspeakValue):
1713 (WebCore::PlatformSpeechSynthesisProviderEfl::voiceName):
1714 (WebCore::PlatformSpeechSynthesisProviderEfl::engineInit):
1715 (WebCore::PlatformSpeechSynthesisProviderEfl::currentVoice):
1716 (WebCore::PlatformSpeechSynthesisProviderEfl::initializeVoiceList):
1717 (WebCore::PlatformSpeechSynthesisProviderEfl::speak):
1718 (WebCore::PlatformSpeechSynthesisProviderEfl::cancel):
1719 (WebCore::PlatformSpeechSynthesisProviderEfl::fireSpeechEvent):
1720 * platform/efl/PlatformSpeechSynthesisProviderEfl.h:
1721 * platform/efl/PlatformSpeechSynthesizerEfl.cpp:
1722 (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
1723 (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
1724 (WebCore::PlatformSpeechSynthesizer::pause):
1725 (WebCore::PlatformSpeechSynthesizer::resume):
1726 (WebCore::PlatformSpeechSynthesizer::speak):
1727 (WebCore::PlatformSpeechSynthesizer::cancel):
1729 2014-08-26 Ryuan Choi <ryuan.choi@samsung.com>
1731 [EFL] Build break using clang
1732 https://bugs.webkit.org/show_bug.cgi?id=136245
1734 Reviewed by Gyuyoung Kim.
1736 * css/ViewportStyleResolver.cpp: Includes NodeRenderStyle.h
1738 2014-08-26 Mark Rowe <mrowe@apple.com>
1740 Build fix after r172951.
1742 * fileapi/Blob.h: Give the argument the name that the predicates expect.
1744 2014-08-25 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1746 Generate toFile() instead of manual functions.
1747 https://bugs.webkit.org/show_bug.cgi?id=136207
1749 Reviewed by Darin Adler.
1751 No new tests, no behavior changes.
1753 * fileapi/Blob.h: Define BLOB_TYPE_CASTS.
1754 * fileapi/File.h: Use BLOB_TYPE_CASTS to generate toFile().
1755 (WebCore::toFile): Deleted.
1757 2014-08-25 Zalan Bujtas <zalan@apple.com>
1759 Subpixel layout: remove roundedLayoutPoint/roundedLayoutSize functions.
1760 https://bugs.webkit.org/show_bug.cgi?id=136236
1762 Reviewed by Simon Fraser.
1764 These functions simply call LayoutPoint/LayoutSize c'tors. They don't round the input value at all.
1766 Non change in functionality.
1768 * dom/MouseRelatedEvent.cpp:
1769 (WebCore::MouseRelatedEvent::computePageLocation):
1770 (WebCore::MouseRelatedEvent::computeRelativePosition):
1772 (WebCore::Touch::Touch):
1773 * html/shadow/SliderThumbElement.cpp:
1774 (WebCore::SliderThumbElement::setPositionFromPoint):
1775 * page/DragController.cpp:
1776 (WebCore::elementUnderMouse):
1777 * page/EventHandler.cpp:
1778 (WebCore::selectionExtentRespectingEditingBoundary):
1779 * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
1780 (WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):
1781 * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
1782 (WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):
1783 * platform/graphics/LayoutPoint.h:
1784 (WebCore::roundedLayoutPoint): Deleted.
1785 * platform/graphics/LayoutSize.h:
1786 (WebCore::roundedLayoutSize): Deleted.
1787 * rendering/EllipsisBox.cpp:
1788 (WebCore::EllipsisBox::nodeAtPoint):
1789 * rendering/RenderBlock.cpp:
1790 (WebCore::RenderBlock::selectionGapRectsForRepaint):
1791 * rendering/RenderBox.cpp:
1792 (WebCore::RenderBox::mapLocalToContainer):
1793 (WebCore::RenderBox::positionLineBox):
1794 * rendering/RenderEmbeddedObject.cpp:
1795 (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
1796 * rendering/RenderEmbeddedObject.h:
1797 * rendering/RenderInline.cpp:
1798 (WebCore::RenderInline::localCaretRect):
1799 (WebCore::RenderInline::mapLocalToContainer):
1800 * rendering/RenderLayer.cpp:
1801 (WebCore::RenderLayer::absoluteToContents):
1802 (WebCore::RenderLayer::calculateClipRects):
1803 * rendering/RenderMultiColumnFlowThread.cpp:
1804 (WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):
1805 * rendering/RenderObject.cpp:
1806 (WebCore::RenderObject::mapLocalToContainer):
1807 * rendering/shapes/ShapeOutsideInfo.cpp:
1808 (WebCore::ShapeOutsideInfo::createShapeForImage):
1809 * rendering/svg/RenderSVGContainer.cpp:
1810 (WebCore::RenderSVGContainer::nodeAtFloatPoint):
1811 * rendering/svg/RenderSVGForeignObject.cpp:
1812 (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
1813 * rendering/svg/RenderSVGImage.cpp:
1814 (WebCore::RenderSVGImage::nodeAtFloatPoint):
1815 * rendering/svg/RenderSVGShape.cpp:
1816 (WebCore::RenderSVGShape::nodeAtFloatPoint):
1817 * testing/Internals.cpp:
1818 (WebCore::Internals::nodesFromRect):
1820 2014-08-25 Zalan Bujtas <zalan@apple.com>
1822 Rename RenderObject::showTree() and showTreeForThis() to showNodeTree*().
1823 https://bugs.webkit.org/show_bug.cgi?id=136238
1825 Reviewed by Simon Fraser.
1827 showNodeTree()/showNodeTreeForThis() reflects the functionality better.
1829 No change in functionality.
1831 * rendering/InlineBox.cpp:
1832 (WebCore::InlineBox::showNodeTreeForThis):
1834 (WebCore::InlineBox::showTreeForThis): Deleted.
1835 (showTree): Deleted.
1836 * rendering/InlineBox.h:
1837 * rendering/RenderObject.cpp:
1838 (WebCore::RenderObject::showNodeTreeForThis):
1840 (WebCore::RenderObject::showTreeForThis): Deleted.
1841 (showTree): Deleted.
1842 * rendering/RenderObject.h:
1844 2014-08-25 Antti Koivisto <antti@apple.com>
1846 Don't pass priority as parameter to ResourceLoadScheduler
1847 https://bugs.webkit.org/show_bug.cgi?id=136232
1849 Reviewed by Sam Weinig.
1851 It is part of the ResourceRequest which is also passed in.
1854 * loader/ResourceLoadScheduler.cpp:
1855 (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
1856 (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
1857 (WebCore::ResourceLoadScheduler::scheduleLoad):
1858 * loader/ResourceLoadScheduler.h:
1859 * loader/cache/CachedResource.cpp:
1860 (WebCore::CachedResource::load):
1861 * platform/network/cf/ResourceRequestCFNet.cpp:
1862 (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
1863 * platform/network/cocoa/ResourceRequestCocoa.mm:
1864 (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
1866 Restore the original request priority when a delegate modifies the request.
1868 2014-08-25 Beth Dakin <bdakin@apple.com>
1870 Rubber-banding in overflow:scroll regions does not work correctly with direction:rtl
1871 https://bugs.webkit.org/show_bug.cgi?id=136176
1873 Reviewed by Sam Weinig.
1875 Use scrollPosition() instead of scrollXOffset() and scrollYOffset() which both add
1876 in the scrollOrigin(). Other implementations of visibleContentRectInternal() do
1877 not add in the scrollOrigin(), so RenderLayer's shouldn't either in order to be
1878 consistent. This makes rubber-banding work for RTL because
1879 ScrollAnimatorMac::pinnedInDirection() and
1880 ScrollAnimatorMac::absoluteScrollPosition() both return the expect values now.
1882 * rendering/RenderLayer.cpp:
1883 (WebCore::RenderLayer::visibleContentRectInternal):
1885 2014-08-25 Benjamin Poulain <benjamin@webkit.org>
1887 Reduce style marking when using the pseudo class :placeholder-shown
1888 https://bugs.webkit.org/show_bug.cgi?id=136203
1890 Reviewed by Darin Adler.
1892 When the :placeholder-shown filter is hit, we were always marking the RenderStyle as unique.
1893 As a result, if :placeholder-shown was used without a more restrictive filter (e.g. "*:placeholder-shown"
1894 or simply ":placeholder-shown"), style sharing was disabled for the whole tree.
1896 This patch rescope the tree marking to any element that can be affected by a placeholder:
1897 any the subclass of HTMLTextFormControlElement. For other elements, any change in internal state
1898 would be irrelevant for "isPlaceholderVisible".
1900 Styling of :placeholder-shown is covered by the existing tests. Style sharing of :placeholder-shown
1901 is covered by LayoutTests/fast/css/placeholder-shown-basics.html.
1903 * css/SelectorChecker.cpp:
1904 (WebCore::SelectorChecker::checkOne):
1905 * css/SelectorCheckerTestFunctions.h:
1906 (WebCore::isPlaceholderShown): Deleted.
1907 * cssjit/SelectorCompiler.cpp:
1908 (WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
1909 (WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
1910 (WebCore::SelectorCompiler::isPlaceholderShown):
1911 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
1912 (WebCore::SelectorCompiler::makeUniqueIfNecessaryAndTestIsPlaceholderShown): Deleted.
1914 2014-08-25 Antti Koivisto <antti@apple.com>
1916 Remove ResourceLoader::didChangePriority
1917 https://bugs.webkit.org/show_bug.cgi?id=136230
1919 Reviewed by Andreas Kling.
1921 It doesn't do anything on any platform.
1923 * loader/ResourceLoader.cpp:
1924 (WebCore::ResourceLoader::didChangePriority): Deleted.
1925 * loader/ResourceLoader.h:
1926 * loader/cache/CachedResource.cpp:
1927 (WebCore::CachedResource::setLoadPriority):
1928 * platform/network/ResourceHandle.cpp:
1929 (WebCore::ResourceHandle::didChangePriority): Deleted.
1930 * platform/network/ResourceHandle.h:
1932 2014-08-24 Brian J. Burg <burg@cs.washington.edu>
1934 Web Inspector: rename Inspector::TypeBuilder to Inspector::Protocol
1935 https://bugs.webkit.org/show_bug.cgi?id=136031
1937 Reviewed by Timothy Hatcher.
1939 Rename TypeBuilder namespace to Protocol. Disambiguate where
1940 necessary. Also rename InspectorTypeBuilder to ProtocolTypes.
1943 * DerivedSources.make:
1944 * ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Removed.
1945 * ForwardingHeaders/inspector/InspectorTypeBuilder.h: Removed.
1947 * WebCore.vcxproj/WebCore.vcxproj:
1948 * WebCore.vcxproj/WebCore.vcxproj.filters:
1949 * WebCore.xcodeproj/project.pbxproj:
1950 * inspector/CommandLineAPIHost.cpp:
1951 (WebCore::CommandLineAPIHost::inspectImpl):
1952 * inspector/InspectorApplicationCacheAgent.cpp:
1953 (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
1954 (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
1955 (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
1956 (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
1957 (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
1958 * inspector/InspectorApplicationCacheAgent.h:
1959 * inspector/InspectorCSSAgent.cpp:
1960 (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
1961 (WebCore::InspectorCSSAgent::getInlineStylesForNode):
1962 (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1963 (WebCore::InspectorCSSAgent::getAllStyleSheets):
1964 (WebCore::InspectorCSSAgent::getStyleSheet):
1965 (WebCore::InspectorCSSAgent::setStyleText):
1966 (WebCore::InspectorCSSAgent::setPropertyText):
1967 (WebCore::InspectorCSSAgent::toggleProperty):
1968 (WebCore::InspectorCSSAgent::setRuleSelector):
1969 (WebCore::InspectorCSSAgent::addRule):
1970 (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
1971 (WebCore::InspectorCSSAgent::getNamedFlowCollection):
1972 (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
1973 (WebCore::InspectorCSSAgent::collectStyleSheets):
1974 (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
1975 (WebCore::InspectorCSSAgent::detectOrigin):
1976 (WebCore::InspectorCSSAgent::buildObjectForRule):
1977 (WebCore::InspectorCSSAgent::buildArrayForRuleList):
1978 (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
1979 (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
1980 (WebCore::InspectorCSSAgent::buildArrayForRegions):
1981 (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
1982 * inspector/InspectorCSSAgent.h:
1983 * inspector/InspectorDOMAgent.cpp:
1984 (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
1985 (WebCore::InspectorDOMAgent::getDocument):
1986 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
1987 (WebCore::InspectorDOMAgent::querySelectorAll):
1988 (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
1989 (WebCore::InspectorDOMAgent::getEventListenersForNode):
1990 (WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
1991 (WebCore::InspectorDOMAgent::getSearchResults):
1992 (WebCore::InspectorDOMAgent::resolveNode):
1993 (WebCore::InspectorDOMAgent::getAttributes):
1994 (WebCore::InspectorDOMAgent::buildObjectForNode):
1995 (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
1996 (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
1997 (WebCore::InspectorDOMAgent::buildObjectForEventListener):
1998 (WebCore::InspectorDOMAgent::processAccessibilityChildren):
1999 (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
2000 (WebCore::InspectorDOMAgent::didCommitLoad):
2001 (WebCore::InspectorDOMAgent::didInsertDOMNode):
2002 (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
2003 * inspector/InspectorDOMAgent.h:
2004 * inspector/InspectorDOMDebuggerAgent.cpp:
2005 (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
2006 * inspector/InspectorDOMStorageAgent.cpp:
2007 (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
2008 (WebCore::InspectorDOMStorageAgent::storageId):
2009 (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
2010 * inspector/InspectorDOMStorageAgent.h:
2011 * inspector/InspectorDatabaseAgent.cpp:
2012 (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
2013 * inspector/InspectorDatabaseAgent.h:
2014 * inspector/InspectorDatabaseResource.cpp:
2015 (WebCore::InspectorDatabaseResource::bind):
2016 * inspector/InspectorIndexedDBAgent.cpp:
2017 * inspector/InspectorLayerTreeAgent.cpp:
2018 (WebCore::InspectorLayerTreeAgent::layersForNode):
2019 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
2020 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
2021 (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
2022 (WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
2023 (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
2024 * inspector/InspectorLayerTreeAgent.h:
2025 * inspector/InspectorPageAgent.cpp:
2026 (WebCore::InspectorPageAgent::resourceTypeJson):
2027 (WebCore::InspectorPageAgent::cachedResourceTypeJson):
2028 (WebCore::buildObjectForCookie):
2029 (WebCore::buildArrayForCookies):
2030 (WebCore::InspectorPageAgent::getCookies):
2031 (WebCore::InspectorPageAgent::getResourceTree):
2032 (WebCore::InspectorPageAgent::searchInResource):
2033 (WebCore::buildObjectForSearchResult):
2034 (WebCore::InspectorPageAgent::searchInResources):
2035 (WebCore::InspectorPageAgent::buildObjectForFrame):
2036 (WebCore::InspectorPageAgent::buildObjectForFrameTree):
2037 * inspector/InspectorPageAgent.h:
2038 * inspector/InspectorReplayAgent.cpp:
2039 (WebCore::buildInspectorObjectForPosition):
2040 (WebCore::buildInspectorObjectForInput):
2041 (WebCore::buildInspectorObjectForSession):
2042 (WebCore::buildInspectorObjectForSessionState):
2043 (WebCore::buildInspectorObjectForSegmentState):
2044 (WebCore::SerializeInputToJSONFunctor::SerializeInputToJSONFunctor):
2045 (WebCore::SerializeInputToJSONFunctor::operator()):
2046 (WebCore::buildInspectorObjectForSegment):
2047 (WebCore::InspectorReplayAgent::switchSession):
2048 (WebCore::InspectorReplayAgent::insertSessionSegment):
2049 (WebCore::InspectorReplayAgent::removeSessionSegment):
2050 (WebCore::InspectorReplayAgent::currentReplayState):
2051 (WebCore::InspectorReplayAgent::getAvailableSessions):
2052 (WebCore::InspectorReplayAgent::getSessionData):
2053 (WebCore::InspectorReplayAgent::getSegmentData):
2054 * inspector/InspectorReplayAgent.h:
2055 * inspector/InspectorResourceAgent.cpp:
2056 (WebCore::buildObjectForTiming):
2057 (WebCore::buildObjectForResourceRequest):
2058 (WebCore::buildObjectForResourceResponse):
2059 (WebCore::buildObjectForCachedResource):
2060 (WebCore::InspectorResourceAgent::willSendRequest):
2061 (WebCore::InspectorResourceAgent::didReceiveResponse):
2062 (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
2063 (WebCore::InspectorResourceAgent::buildInitiatorObject):
2064 (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
2065 (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
2066 (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
2067 (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
2068 * inspector/InspectorResourceAgent.h:
2069 * inspector/InspectorStyleSheet.cpp:
2070 (WebCore::buildSourceRangeObject):
2071 (WebCore::buildMediaObject):
2072 (WebCore::fillMediaListChain):
2073 (WebCore::InspectorStyle::buildObjectForStyle):
2074 (WebCore::InspectorStyle::buildArrayForComputedStyle):
2075 (WebCore::InspectorStyle::styleWithProperties):
2076 (WebCore::InspectorStyleSheet::create):
2077 (WebCore::InspectorStyleSheet::InspectorStyleSheet):
2078 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2079 (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
2080 (WebCore::selectorsFromSource):
2081 (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
2082 (WebCore::InspectorStyleSheet::buildObjectForRule):
2083 (WebCore::InspectorStyleSheet::buildObjectForStyle):
2084 (WebCore::InspectorStyleSheet::resourceStyleSheetText):
2085 (WebCore::InspectorStyleSheet::buildArrayForRuleList):
2086 (WebCore::InspectorStyleSheetForInlineStyle::create):
2087 (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
2088 * inspector/InspectorStyleSheet.h:
2089 (WebCore::InspectorStyleSheet::canBind):
2090 * inspector/InspectorTimelineAgent.cpp:
2091 (WebCore::toProtocol):
2092 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2093 (WebCore::InspectorTimelineAgent::sendEvent):
2094 * inspector/PageRuntimeAgent.cpp:
2096 2014-08-25 Brendan Long <b.long@cablelabs.com>
2098 [GStreamer] ASSERT failure in WebKitWebSource in StreamingClient
2099 https://bugs.webkit.org/show_bug.cgi?id=136132
2101 adoptGRef() has an ASSERT failure if it's used on a floating pointer. For some reason,
2102 WebKitWebSrc* src in StreamingClient's constructor is floating. Since we
2103 don't construct this ourselves, I assume this is happening in Playbin.
2105 If we remove the ref and adopt, GRefPtr's constructor calls gst_object_ref_sink,
2106 which removes the floating reference and doesn't increment the reference count.
2107 This should work, but actually causes the page to either lock up or crash (different
2108 results for different testers).
2110 In this case, it seems like the adoptGRef / gst_object_ref was the correct thing to do,
2111 but adoptGRef won't actually let us do. Removing the ASSERT is a bad idea, because
2112 usually we don't want to adopt floating pointers.
2114 This is all a long way of saying that making m_src a raw pointer and manually
2115 calling gst_object_ref(), and calling gst_object_unref in the destructor is the
2116 best solution in this case, since it fixes the problem while leaving the ASSERT
2117 to protect us in the much more common case where adopting a floating reference is bad.
2119 Reviewed by Philippe Normand.
2121 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2122 (StreamingClient::StreamingClient): Make m_src a raw pointer instead of a GRefPtr.
2123 (StreamingClient::~StreamingClient): Unref m_src.
2124 (StreamingClient::createReadBuffer): Replace m_src.get() with m_src, since it's a raw pointer now.
2125 (StreamingClient::handleResponseReceived): Same.
2126 (StreamingClient::handleDataReceived): Same.
2127 (StreamingClient::handleNotifyFinished): Same.
2128 (CachedResourceStreamingClient::notifyFinished): Same.
2129 (ResourceHandleStreamingClient::didFail): Same.
2130 (ResourceHandleStreamingClient::wasBlocked): Same.
2131 (ResourceHandleStreamingClient::cannotShowURL): Same.
2133 2014-08-25 Zan Dobersek <zdobersek@igalia.com>
2135 [GTK] Remove PopupMenuGtk, SearchPopupMenuGtk
2136 https://bugs.webkit.org/show_bug.cgi?id=136211
2138 Reviewed by Carlos Garcia Campos.
2140 Remove the two classes from the codebase. They're not used anymore
2141 after the WebKit1 layer of the GTK port was removed some time ago.
2143 * PlatformGTK.cmake:
2144 * platform/gtk/PopupMenuGtk.cpp: Removed.
2145 * platform/gtk/PopupMenuGtk.h: Removed.
2146 * platform/gtk/SearchPopupMenuGtk.cpp: Removed.
2147 * platform/gtk/SearchPopupMenuGtk.h: Removed.
2149 2014-08-25 Shivakumar JM <shiva.jm@samsung.com>
2151 Web Core: Fix unused parameter build warning.
2152 https://bugs.webkit.org/show_bug.cgi?id=136208
2154 Reviewed by Darin Adler.
2156 Fix unused build warning by removing parameter, which is not used.
2158 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2159 (WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
2161 2014-08-22 Sergio Villar Senin <svillar@igalia.com>
2163 ASSERTION FAILED: !trackSizes.isEmpty() in WebCore::createGridTrackList
2164 https://bugs.webkit.org/show_bug.cgi?id=136149
2166 Reviewed by Darin Adler.
2168 The second argument of the repeat() function is a <track-list>
2169 that must have at least one <track-size>. Should it not be found,
2170 the declaration must be invalidated.
2172 * css/CSSParser.cpp:
2173 (WebCore::CSSParser::parseGridTrackRepeatFunction):
2175 2014-08-24 Zan Dobersek <zdobersek@igalia.com>
2177 Move WebCore storage code to C++11 lambdas, std::function
2178 https://bugs.webkit.org/show_bug.cgi?id=126435
2180 Reviewed by Darin Adler.
2182 Use C++11 lambdas instead of WTF::bind and std::function<void ()>
2183 instead of WTF::Function<void ()> in StorageAreaSync, StorageSyncManager,
2184 StorageThread and StorageTracker classes.
2186 * storage/StorageAreaSync.cpp:
2187 (WebCore::StorageAreaSync::StorageAreaSync):
2188 (WebCore::StorageAreaSync::scheduleFinalSync):
2189 (WebCore::StorageAreaSync::syncTimerFired):
2190 * storage/StorageSyncManager.cpp:
2191 (WebCore::StorageSyncManager::dispatch):
2192 * storage/StorageSyncManager.h:
2193 * storage/StorageThread.cpp:
2194 (WebCore::StorageThread::dispatch):
2195 (WebCore::StorageThread::terminate):
2196 (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
2197 * storage/StorageThread.h:
2198 * storage/StorageTracker.cpp:
2199 (WebCore::StorageTracker::importOriginIdentifiers):
2200 (WebCore::StorageTracker::syncImportOriginIdentifiers):
2201 (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
2202 (WebCore::StorageTracker::setOriginDetails):
2203 (WebCore::StorageTracker::deleteAllOrigins):
2204 (WebCore::StorageTracker::deleteOrigin):
2206 2014-08-24 Alexey Proskuryakov <ap@apple.com>
2208 ASSERT(extractable()) when storing a non-extractable key in IndexedDB
2209 https://bugs.webkit.org/show_bug.cgi?id=136202
2210 rdar://problem/17993967
2212 Reviewed by Darin Adler.
2214 Test: crypto/subtle/rsa-indexeddb-non-exportable.html
2216 Removed the obsolete assertion.
2218 * crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::exportData):
2219 * crypto/keys/CryptoKeyHMAC.cpp: (WebCore::CryptoKeyHMAC::exportData):
2220 * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::exportData):
2222 2014-08-24 Brian J. Burg <burg@cs.washington.edu>
2224 Web Inspector: Rename DOM.RGBA and remove workarounds in the bindings generator
2225 https://bugs.webkit.org/show_bug.cgi?id=136025
2227 Reviewed by Joseph Pecoraro.
2229 Rename DOM.RGBA to DOM.RGBAColor to avoid name clashes with headers on Windows CE.
2230 This workaround used to be special-cased in the bindings generator.
2232 Type names are not used in protocol messages, so this does not introduce legacy issues.
2234 * inspector/protocol/DOM.json:
2236 2014-08-24 Michael Catanzaro <mcatanzaro@igalia.com>
2238 [GTK] Toggle buttons visually broken with GTK+ 3.13.7
2239 https://bugs.webkit.org/show_bug.cgi?id=136130
2241 Reviewed by Martin Robinson.
2243 No new tests. Hopefully covered by existing tests, and our tests only
2244 run with GTK+ 3.6 anyway.
2246 * platform/gtk/RenderThemeGtk3.cpp:
2247 (WebCore::paintToggle): use GTK_STATE_FLAG_CHECKED when compiling for
2248 GTK+ 3.13.7 and above to ensure toggle buttons display as toggled.
2250 2014-08-23 Brady Eidson <beidson@apple.com>
2252 Random Gamepad cleanup
2253 https://bugs.webkit.org/show_bug.cgi?id=136193
2255 Reviewed by Sam Weinig.
2257 No new tests (Not tested yet, and no change in behavior anyways)
2259 - Use DOMWindow WeakPtrs when iterating
2260 - More references instead of pointers
2262 * Modules/gamepad/GamepadEvent.cpp:
2263 (WebCore::GamepadEvent::GamepadEvent):
2264 * Modules/gamepad/GamepadEvent.h:
2265 (WebCore::GamepadEvent::create):
2267 * Modules/gamepad/GamepadManager.cpp:
2268 (WebCore::GamepadManager::platformGamepadDisconnected):
2269 (WebCore::GamepadManager::makeGamepadVisible):
2270 * Modules/gamepad/NavigatorGamepad.cpp:
2271 (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad):
2272 (WebCore::NavigatorGamepad::gamepadAtIndex): Deleted.
2273 * Modules/gamepad/NavigatorGamepad.h:
2275 * page/DOMWindow.cpp:
2276 (WebCore::DOMWindow::DOMWindow):
2279 2014-08-23 Byungseon Shin <sun.shin@lge.com>
2281 Unify GraphicsLayer::setContentsToMedia and setContentsToCanvas
2282 https://bugs.webkit.org/show_bug.cgi?id=109658
2284 Reviewed by Martin Robinson.
2286 Based on patch originally written by Tim Horton.
2287 Merge setContentsToMedia and setContentsToCanvas into setContentsToPlatformLayer.
2292 * platform/graphics/GraphicsLayer.h:
2293 Move ContentsLayerPurpose enum up out of GraphicsLayer platform implmentations
2294 and into GraphicsLayer, so we can use it as a parameter.
2295 Add ContentsLayerForPlugin.
2297 (WebCore::GraphicsLayer::setContentsToPlatformLayer):
2298 Remove setContentsToMedia and setContentsToCanvas, and replace them
2299 with setContentsToPlatformLayer, which previously existed but was unused
2300 and simply called setContentsToMedia.
2301 setContentsToPlatformLayer takes a ContentsLayerPurpose, primarily
2302 so that GraphicsLayerCA can know whether it needs to setNeedsDisplay
2303 the layer when parenting it (canvas) or not (everything else).
2305 * platform/graphics/ca/GraphicsLayerCA.cpp:
2306 (WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
2307 Rename function setContentsToMedia -> setContentsToPlatformLayer.
2308 Rename argument mediaLayer -> platformLayer.
2309 Store the passed-in ContentsLayerPurpose.
2310 Remove setContentsToCanvas.
2312 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
2313 (WebCore::GraphicsLayerCA::updateContentsPlatformLayer):
2314 Remove updateContentsMediaLayer and updateContentsCanvas layer,
2315 add updateContentsPlatformLayer.
2317 * platform/graphics/ca/GraphicsLayerCA.h:
2318 Do the same to the LayerChange enum.
2320 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2321 (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
2322 (WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer):
2323 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2324 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2325 (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
2326 (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
2327 (WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
2328 (WebCore::CoordinatedGraphicsLayer::syncPlatformLayer):
2329 (WebCore::CoordinatedGraphicsLayer::destroyPlatformLayerIfNeeded):
2330 (WebCore::CoordinatedGraphicsLayer::createPlatformLayerIfNeeded):
2331 (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
2332 Fold these together in the same way as elsewhere.
2334 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2335 Do the same to the LayerChange enum.
2337 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2338 (WebCore::CoordinatedGraphicsScene::createPlatformLayerIfNeeded):
2339 (WebCore::CoordinatedGraphicsScene::syncPlatformLayerIfNeeded):
2340 (WebCore::CoordinatedGraphicsScene::destroyPlatformLayerIfNeeded):
2341 (WebCore::CoordinatedGraphicsScene::setLayerState):
2342 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2343 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
2344 (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
2345 Rename canvasLayer -> platformLayer.
2347 * rendering/RenderLayerBacking.cpp:
2348 (WebCore::RenderLayerBacking::updateConfiguration):
2349 Use the new setContentsToPlatformLayer, passing in the relevant ContentsLayerPurpose.
2351 2014-08-23 Joseph Pecoraro <pecoraro@apple.com>
2353 Web Inspector: Do not copy large module source strings
2354 https://bugs.webkit.org/show_bug.cgi?id=136191
2356 Reviewed by Benjamin Poulain.
2358 * inspector/CommandLineAPIModule.cpp:
2359 (WebCore::CommandLineAPIModule::source):
2361 2014-08-23 Zan Dobersek <zdobersek@igalia.com>
2363 Remove uses of CrossThreadTask in ThreadableWebSocketChannelClientWrapper, WorkerThreadableWebSocketChannel
2364 https://bugs.webkit.org/show_bug.cgi?id=133954
2366 Reviewed by Darin Adler.
2368 Replace uses of CrossThreadTask with C++11 lambdas in the ThreadableWebSocketChannelClientWrapper
2369 and WorkerThreadableWebSocketChannel classes.
2371 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2372 (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
2373 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
2374 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
2375 (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
2376 (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
2377 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
2378 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
2379 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
2380 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasksCallback): Deleted.
2381 (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback): Deleted.
2382 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback): Deleted.
2383 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback): Deleted.
2384 (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback): Deleted.
2385 (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback): Deleted.
2386 (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback): Deleted.
2387 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback): Deleted.
2388 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
2389 * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2390 (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
2391 (WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
2392 (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
2393 (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
2394 (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
2395 (WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
2396 (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
2397 (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
2398 (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
2399 (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
2400 (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
2401 (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
2402 (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
2403 (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
2404 (WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
2405 (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
2406 (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
2407 (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
2408 (WebCore::workerGlobalScopeDidSend): Deleted.
2409 (WebCore::workerGlobalScopeDidGetBufferedAmount): Deleted.
2410 (WebCore::workerGlobalScopeDidConnect): Deleted.
2411 (WebCore::workerGlobalScopeDidReceiveMessage): Deleted.
2412 (WebCore::workerGlobalScopeDidReceiveBinaryData): Deleted.
2413 (WebCore::workerGlobalScopeDidUpdateBufferedAmount): Deleted.
2414 (WebCore::workerGlobalScopeDidStartClosingHandshake): Deleted.
2415 (WebCore::workerGlobalScopeDidClose): Deleted.
2416 (WebCore::workerGlobalScopeDidReceiveMessageError): Deleted.
2417 (WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect): Deleted.
2418 (WebCore::WorkerThreadableWebSocketChannel::mainThreadSend): Deleted.
2419 (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer): Deleted.
2420 (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob): Deleted.
2421 (WebCore::WorkerThreadableWebSocketChannel::mainThreadBufferedAmount): Deleted.
2422 (WebCore::WorkerThreadableWebSocketChannel::mainThreadClose): Deleted.
2423 (WebCore::WorkerThreadableWebSocketChannel::mainThreadFail): Deleted.
2424 (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy): Deleted.
2425 (WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend): Deleted.
2426 (WebCore::WorkerThreadableWebSocketChannel::mainThreadResume): Deleted.
2427 * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2429 2014-08-23 Yusuke Suzuki <utatane.tea@gmail.com>
2431 Clean up build warnings: control reaches end of non-void function
2432 https://bugs.webkit.org/show_bug.cgi?id=135889
2434 Reviewed by Alexey Proskuryakov.
2436 * bindings/js/JSCryptoAlgorithmDictionary.cpp:
2437 (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
2438 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
2439 (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
2440 (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
2441 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
2442 (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
2443 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
2444 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
2445 (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
2446 (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
2447 * crypto/CryptoKey.cpp:
2448 (WebCore::CryptoKey::type):
2450 2014-08-23 Zan Dobersek <zdobersek@igalia.com>
2452 [TexMap] Only notify of a required flush on the first layer property change
2453 https://bugs.webkit.org/show_bug.cgi?id=136104
2455 Reviewed by Martin Robinson.
2457 The GraphicsLayer's client should only be notified that a flush is required
2458 when the first change of one of the layer's properties is initiated, instead
2459 of requesting the flush on every such change.
2461 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2462 (WebCore::GraphicsLayerTextureMapper::notifyChange):
2464 2014-08-22 Dan Bernstein <mitz@apple.com>
2466 Try to fix the Mac build using the internal SDK.
2468 * bindings/objc/PublicDOMInterfaces.h:
2470 2014-08-22 Renato Nagy <nagy.renato@stud.u-szeged.hu>
2473 https://bugs.webkit.org/show_bug.cgi?id=136170
2475 Reviewed by Gyuyoung Kim.
2478 * Modules/indexeddb/IDBObjectStore.cpp:
2479 (WebCore::IDBObjectStore::createIndex):
2480 * Modules/indexeddb/IDBTransactionCoordinator.cpp:
2481 (WebCore::IDBTransactionCoordinator::canRunTransaction):
2482 (WebCore::doScopesOverlap): Deleted.
2483 * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.cpp: Removed.
2484 * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h: Removed.
2485 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp: Removed.
2486 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h: Removed.
2487 * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp: Removed.
2488 * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h: Removed.
2489 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Removed.
2490 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Removed.
2491 * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp: Removed.
2492 * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h: Removed.
2493 * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp: Removed.
2494 * Modules/indexeddb/leveldb/IDBLevelDBCoding.h: Removed.
2495 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp: Removed.
2496 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h: Removed.
2497 * WebCore.vcxproj/WebCore.vcxproj:
2498 * WebCore.vcxproj/WebCore.vcxproj.filters:
2499 * WebCore.xcodeproj/project.pbxproj:
2500 * platform/DatabaseStrategy.cpp:
2501 (WebCore::DatabaseStrategy::createIDBFactoryBackend):
2502 * platform/leveldb/LevelDBComparator.h: Removed.
2503 * platform/leveldb/LevelDBDatabase.cpp: Removed.
2504 * platform/leveldb/LevelDBDatabase.h: Removed.
2505 * platform/leveldb/LevelDBIterator.h: Removed.
2506 * platform/leveldb/LevelDBSlice.h: Removed.
2507 * platform/leveldb/LevelDBTransaction.cpp: Removed.
2508 * platform/leveldb/LevelDBTransaction.h: Removed.
2509 * platform/leveldb/LevelDBWriteBatch.cpp: Removed.
2510 * platform/leveldb/LevelDBWriteBatch.h: Removed.
2512 2014-08-22 KwangHyuk Kim <hyuki.kim@samsung.com>
2514 [EFL] Fix build break caused by ENABLE_GAMEPAD_DEPRECATED.
2515 https://bugs.webkit.org/show_bug.cgi?id=136110
2517 Reviewed by Gyuyoung Kim.
2519 WebCore_INCLUDE_DIRECTORY for gamepad was removed from WK2 Efl in order to fix build break when ENABLE_GAMEPAD_DEPRECATED is on.
2521 No new tests because no functional changes.
2523 * PlatformEfl.cmake:
2525 2014-08-22 Benjamin Poulain <benjamin@webkit.org>
2527 Style invalidation does not work for adjacent node updates
2528 https://bugs.webkit.org/show_bug.cgi?id=136145
2530 Reviewed by Antti Koivisto.
2532 There were a bunch of cases in which the style would be in an inconsistent
2533 state until the style resolver kicks in for the entire document.
2535 For example, let's take the selector "foo.bar + target". When the class "bar"
2536 changes, the element foo is invalidated. The element target is untouched.
2538 Now, if the style of "target" is accessed, nodeOrItsAncestorNeedsStyleRecalc()
2539 returns false and the old style is accessed.
2541 At some point, when the style of the entire document is resolved, the node
2542 "foo" is styled, and "target" is invalidated.
2545 To fix the issue, this patch adds an extra flag keeping track of subtrees that
2546 have any node needing style recalc: DirectChildNeedsStyleRecalcFlag.
2548 When invalidating the node "foo", its parent is marked with
2549 DirectChildNeedsStyleRecalcFlag to note that one of the child nodes has an invalid style.
2551 When verifying the style state in nodeOrItsAncestorNeedsStyleRecalc(), we check that flag
2552 in addition to the siblings dependencies to find if the node is part of a subtree that may
2553 be invalid due to sibling selectors.
2555 Similarly, in the style resolver, we use the flag to clear the style on all elements
2556 that could potentially be invalid.
2559 This patch removes the changes introduced by r172721
2560 (The style is not updated correctly when the pseudo class :empty is applied on anything but the rightmost element).
2561 That bug was just a special case of what is solved here.
2564 Tests: fast/selectors/attribute-direct-adjacent-style-update.html
2565 fast/selectors/attribute-sibling-style-update.html
2566 fast/selectors/class-direct-adjacent-style-update.html
2567 fast/selectors/class-sibling-style-update.html
2568 fast/selectors/first-child-direct-adjacent-style-update.html
2569 fast/selectors/first-child-sibling-style-update.html
2571 * css/SelectorChecker.cpp:
2572 (WebCore::SelectorChecker::checkOne):
2573 * cssjit/SelectorCompiler.cpp:
2574 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsEmpty):
2575 (WebCore::SelectorCompiler::setStyleOfSiblingsAffectedByEmpty): Deleted.
2576 * dom/ContainerNode.h:
2577 (WebCore::ContainerNode::directChildNeedsStyleRecalc):
2578 (WebCore::ContainerNode::setDirectChildNeedsStyleRecalc):
2579 Remove the special case for :empty.
2582 (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
2584 (WebCore::checkForEmptyStyleChange):
2585 (WebCore::checkForSiblingStyleChanges):
2586 (WebCore::Element::setStyleOfSiblingsAffectedByEmpty): Deleted.
2587 (WebCore::Element::rareDataStyleOfSiblingsAffectedByEmpty): Deleted.
2589 (WebCore::Element::styleOfSiblingsAffectedByEmpty): Deleted.
2590 * dom/ElementRareData.h:
2591 (WebCore::ElementRareData::ElementRareData):
2592 (WebCore::ElementRareData::styleOfSiblingsAffectedByEmpty): Deleted.
2593 (WebCore::ElementRareData::setStyleOfSiblingsAffectedByEmpty): Deleted.
2595 (WebCore::markAncestorsWithChildNeedsStyleRecalc):
2596 (WebCore::Node::setNeedsStyleRecalc):
2597 (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Deleted.
2599 (WebCore::Node::clearChildNeedsStyleRecalc):
2600 * style/StyleResolveTree.cpp:
2601 (WebCore::Style::resetStyleForNonRenderedDescendants):
2603 2014-08-22 Joseph Pecoraro <pecoraro@apple.com>
2605 Remove unused legacy InspectorFrontendHost methods
2606 https://bugs.webkit.org/show_bug.cgi?id=136186
2608 Reviewed by Andreas Kling.
2610 * bindings/js/JSInspectorFrontendHostCustom.cpp:
2611 (WebCore::JSInspectorFrontendHost::recordActionTaken): Deleted.
2612 (WebCore::JSInspectorFrontendHost::recordPanelShown): Deleted.
2613 (WebCore::JSInspectorFrontendHost::recordSettingChanged): Deleted.
2614 * inspector/InspectorFrontendHost.idl:
2616 2014-08-22 Joseph Pecoraro <pecoraro@apple.com>
2618 Remove unnecessary WTFString creation in Dictionary getter
2619 https://bugs.webkit.org/show_bug.cgi?id=136184
2621 Reviewed by Benjamin Poulain.
2623 * bindings/js/Dictionary.cpp:
2624 (WebCore::Dictionary::getWithUndefinedOrNullCheck):
2625 * bindings/js/Dictionary.h:
2626 * bindings/js/JSDictionary.cpp:
2627 (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
2628 * bindings/js/JSDictionary.h:
2630 2014-08-22 Commit Queue <commit-queue@webkit.org>
2632 Unreviewed, rolling out r172866.
2633 https://bugs.webkit.org/show_bug.cgi?id=136177
2635 Broke iOS build (Requested by othermaciej on #webkit).
2639 "Replace use of WKCopyCFLocalizationPreferredName with
2640 NSLocale public API"
2641 https://bugs.webkit.org/show_bug.cgi?id=136082
2642 http://trac.webkit.org/changeset/172866
2644 2014-08-22 David Hyatt <hyatt@apple.com>
2646 Add proper support for letter-spacing to bopomofo Ruby
2647 https://bugs.webkit.org/show_bug.cgi?id=136171
2649 Reviewed by Sam Weinig.
2651 Added fast/ruby/bopomofo-letter-spacing.html
2653 * rendering/RenderRubyRun.cpp:
2654 (WebCore::RenderRubyRun::layout):
2655 Alter the layout of bopomofo ruby so that the distance between the base characters is the max of
2656 the letter-spacing between the characters and the minimum required width to hold two rows of
2659 Push the bopomofo ruby into the letter-spacing to ensure that it comes right after the base character
2660 and not after all the letter-spacing.
2662 2014-08-22 Simon Fraser <simon.fraser@apple.com>
2664 Fix showing paint rects when selecting lines in the timeline
2665 https://bugs.webkit.org/show_bug.cgi?id=136173
2667 Reviewed by Joseph Pecoraro.
2669 Fix the condition used to decide when to show the overlay.
2671 * inspector/InspectorOverlay.cpp:
2672 (WebCore::InspectorOverlay::shouldShowOverlay):
2674 2014-08-22 Simon Fraser <simon.fraser@apple.com>
2676 Use the correct rect for paint flashing
2677 https://bugs.webkit.org/show_bug.cgi?id=136169
2679 Reviewed by Sam Weinig.
2681 Use the rect we've converted to root document coordinates for paint flashing.
2683 * inspector/InspectorPageAgent.cpp:
2684 (WebCore::InspectorPageAgent::didPaint):
2686 2014-08-22 Dean Jackson <dino@apple.com>
2688 Google Canvas2D maps are too slow and uncontrollable with Safari with full screen mode
2689 https://bugs.webkit.org/show_bug.cgi?id=136168
2691 Reviewed by Tim Horton.
2693 When Google maps are using their 2D "lite" fallback and you're drawing in a huge
2694 window such as fullscreen 4K, we would drop back to unaccelerated mode, thinking
2695 that we'd exceeded the maximum IOSurface size.
2697 Remove the hardcoded limit on IOSurface sizes, and instead ask the system
2698 what it believe the maximum to be. This was significantly higher than our
2699 limit on the systems I tested.
2701 * platform/graphics/cg/ImageBufferCG.cpp:
2702 (WebCore::ImageBuffer::ImageBuffer): Include our IOSurface wrapper, which
2703 has a query for maximum size, and use that instead.
2705 2014-08-22 Simon Fraser <simon.fraser@apple.com>
2709 * inspector/InspectorOverlay.cpp:
2710 (WebCore::InspectorOverlay::showPaintRect):
2712 2014-08-22 Simon Fraser <simon.fraser@apple.com>
2714 Implement paint flashing in the WK1 InspectorOverlay page
2715 https://bugs.webkit.org/show_bug.cgi?id=136138
2717 Reviewed by Sam Weinig, Joseph Pecoraro.
2719 Implement paint flashing for the WebKit1 InspectorOverlay via a second canvas in the overlay page.
2720 We avoid allocating backing store for this canvas until we have paint rects.
2722 Because this overlay page is weird and doesn't know how to paint itself, InspectorOverlay manages
2723 an array of rects, and pushes them to the page when they change, before forcing a paint.
2725 Because iOS doesn't use the InspectorOverlay page, stub out setShowPaintRects on its
2726 WebKit WebInspectorClient, but don't yet implement paint flashing there.
2728 * inspector/InspectorOverlay.cpp:
2729 (WebCore::InspectorOverlay::InspectorOverlay):
2730 (WebCore::InspectorOverlay::shouldShowOverlay):
2731 (WebCore::InspectorOverlay::update):
2732 (WebCore::buildObjectForRect):
2733 (WebCore::InspectorOverlay::setShowingPaintRects):
2734 (WebCore::InspectorOverlay::showPaintRect):
2735 (WebCore::InspectorOverlay::updatePaintRectsTimerFired):
2736 (WebCore::InspectorOverlay::drawPaintRects):
2737 (WebCore::InspectorOverlay::forcePaint):
2738 (WebCore::quadToPath): Deleted.
2739 (WebCore::drawOutlinedQuad): Deleted.
2740 (WebCore::InspectorOverlay::drawOutline): Deleted.
2741 * inspector/InspectorOverlay.h:
2742 * inspector/InspectorOverlayPage.html:
2743 * inspector/InspectorOverlayPage.js:
2746 (_drawShapeHighlight):
2747 * inspector/InspectorPageAgent.cpp:
2748 (WebCore::InspectorPageAgent::setShowPaintRects):
2749 (WebCore::InspectorPageAgent::didPaint):
2751 2014-08-22 Eric Carlson <eric.carlson@apple.com>
2753 [iOS] Cleanup media code
2754 https://bugs.webkit.org/show_bug.cgi?id=136163
2756 Reviewed by Jer Noble.
2758 No new tests, no functionality was changed.
2760 * html/HTMLMediaElement.cpp:
2761 (WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_requestingPlay.
2762 (WebCore::HTMLMediaElement::parseMediaPlayerAttribute): Deleted.
2763 (WebCore::HTMLMediaElement::parseAttribute): Don't call parseMediaPlayerAttribute.
2764 (WebCore::HTMLMediaElement::playInternal): m_requestingPlay is dead, Jim.
2765 (WebCore::HTMLMediaElement::updatePlayState): Ditto.
2766 (WebCore::HTMLMediaElement::updatePlayState): Remove obsolete FIXME.
2767 * html/HTMLMediaElement.h:
2768 * platform/graphics/MediaPlayer.cpp:
2769 (WebCore::MediaPlayer::attributeChanged): Deleted.
2770 (WebCore::MediaPlayer::readyForPlayback): Deleted.
2771 * platform/graphics/MediaPlayer.h:
2772 * platform/graphics/MediaPlayerPrivate.h:
2773 (WebCore::MediaPlayerPrivateInterface::attributeChanged): Deleted.
2774 (WebCore::MediaPlayerPrivateInterface::readyForPlayback): Deleted.
2776 2014-08-20 Maciej Stachowiak <mjs@apple.com>
2778 Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
2779 https://bugs.webkit.org/show_bug.cgi?id=136082
2781 Reviewed by Alexey Proskuryakov.
2783 * platform/mac/Language.mm:
2784 (WebCore::httpStyleLanguageCode): Replace use of WKCopyCFLocalizationPreferredName
2785 with new WebCoreNSStringExtras helper.
2786 * platform/mac/WebCoreNSStringExtras.mm: Replacements for the aspects of
2787 WKCopyCFLocalizationPreferredName.
2788 (preferredBundleLocalizationName): New helper - most preferred localization available
2789 in the main bundle, canonicalized the way we like it.
2790 (canonicalLocalizationName): Convert a lcalization name to a string with language and
2791 country code, using default if necessary (e.g. "en" maps to "en_US").
2792 * WebCore.order: Remove mention of WKCopyCFLocalizationPreferredName.
2793 * WebCore.exp.in: ditto; also export preferredBundleLocalizationName for WebKit(2).
2794 * platform/ios/WebCoreSystemInterfaceIOS.mm: ditto
2795 * platform/mac/WebCoreSystemInterface.h: ditto
2796 * platform/mac/WebCoreSystemInterface.mm: ditto
2798 2014-08-22 Daniel Bates <dabates@apple.com>
2800 [iOS] Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, and temporarily disable ENABLE_TOUCH_EVENTS
2801 and ENABLE_XSLT when building with the iOS public SDK
2802 https://bugs.webkit.org/show_bug.cgi?id=135945
2804 Reviewed by Andy Estes.
2806 Towards bringing up the iOS WebKit port using the iOS public SDK, disable the proprietary
2807 iOS gesture and touch event code. For now we also temporarily disable ENABLE_TOUCH_EVENTS
2808 and ENABLE_XSLT while we focus to get the rest of the port built using the public SDK. We'll
2809 look to enable these features once we stabilize the build.
2811 * Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS
2812 and ENABLE_XSLT when building with the public SDK.
2813 * Configurations/WebCore.xcconfig:
2814 * DerivedSources.make: Conditionally generate derived sources for touch and gesture events as applicable and pass
2815 define WTF_USE_APPLE_INTERNAL_SDK when generating bindings (if applicable). Make the logic for determining
2816 whether WTF_PLATFORM_IOS is defined consistent with logic for determining whether WTF_USE_APPLE_INTERNAL_SDK and
2817 ENABLE_ORIENTATION_EVENTS are defined. We should look to further cleanup this code.
2818 * bindings/js/ios/TouchConstructors.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
2819 * bindings/objc/DOMEvents.h: Write preprocessor logic in terms of ENABLE_TOUCH_EVENTS and ENABLE_IOS_GESTURE_EVENTS.
2820 * bindings/objc/PublicDOMInterfaces.h: Include private header <WebKitAdditions/PublicDOMInterfacesIOS.h> when
2821 it exists as opposed to assuming it exists when building for iOS.
2823 (WebCore::Document::Document): Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "ENABLE(TOUCH_EVENTS) && PLATFORM(IOS)".
2824 (WebCore::Document::prepareForDestruction): Ditto.
2825 (WebCore::Document::removeAllEventListeners): Ditto.
2826 * dom/Document.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.
2827 * dom/Document.idl: Ditto.
2828 * dom/Touch.h: Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS)..
2829 * dom/TouchEvent.h: Ditto.
2830 * dom/TouchList.h: Ditto.
2831 * dom/ios/TouchEvents.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
2832 * history/CachedFrame.cpp: Add PLATFORM(IOS) guard.
2833 * html/shadow/SliderThumbElement.cpp:
2834 (WebCore::SliderThumbElement::SliderThumbElement): Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS).
2835 (WebCore::SliderThumbElement::willDetachRenderers): Ditto.
2836 * html/shadow/SliderThumbElement.h: Ditto.
2837 * loader/EmptyClients.h: Ditto.
2838 * platform/ios/PlatformEventFactoryIOS.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.
2839 Only include header <WebKitAdditions/PlatformTouchEventIOS.h> when building with ENABLE_TOUCH_EVENTS enabled.
2841 2014-08-22 Simon Fraser <simon.fraser@apple.com>
2843 Implement paint flashing via GraphicsLayers in the WK2 inspector overlay
2844 https://bugs.webkit.org/show_bug.cgi?id=136136
2846 Reviewed by Sam Weinig, Joseph Pecoraro.
2848 Allow InspectorClient to have a custom implementation of showPaintRect(). For
2849 WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
2850 which are parented in a document overlay, with 0.25s fade-out animations.
2852 Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
2853 it makes no sense to paint the paint rects directly into the context of the web page.
2854 Now that the paint rects are painted into an overlay, the rectangles need to be converted
2855 to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().
2857 Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
2858 be reimplemented in a later patch.
2861 * inspector/InspectorClient.h:
2862 (WebCore::InspectorClient::showPaintRect):
2863 * inspector/InspectorInstrumentation.cpp:
2864 (WebCore::InspectorInstrumentation::didPaintImpl):
2865 * inspector/InspectorInstrumentation.h:
2866 (WebCore::InspectorInstrumentation::didPaint):
2867 * inspector/InspectorPageAgent.cpp:
2868 (WebCore::InspectorPageAgent::didPaint):
2869 * inspector/InspectorPageAgent.h:
2870 * page/FrameView.cpp:
2871 (WebCore::FrameView::didPaintContents):
2872 * rendering/RenderLayerBacking.cpp:
2873 (WebCore::RenderLayerBacking::paintContents):
2875 2014-08-22 Commit Queue <commit-queue@webkit.org>
2877 Unreviewed, rolling out r172844.
2878 https://bugs.webkit.org/show_bug.cgi?id=136164
2880 re-applying WEBCORE_EXPORTS patch (Requested by
2881 alexchristensen on #webkit).
2885 "Revert r172831, it broke the Windows build."
2886 http://trac.webkit.org/changeset/172844
2888 2014-08-21 David Hyatt <hyatt@apple.com>
2890 Implement rudimentary Bopomofo Ruby support (ruby-position:inter-character)
2891 https://bugs.webkit.org/show_bug.cgi?id=136137
2892 <rdar://problem/12567545>
2894 Reviewed by Sam Weinig.
2896 Added fast/ruby/bopomofo.html and fast/ruby/bopomofo-rl.html.
2898 * css/CSSParser.cpp:
2899 (WebCore::isValidKeywordPropertyAndValue):
2900 * css/CSSPrimitiveValueMappings.h:
2901 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2902 (WebCore::CSSPrimitiveValue::operator RubyPosition):
2903 * css/CSSPropertyNames.in:
2904 * css/CSSValueKeywords.in:
2905 Add support for the new inter-character value for ruby-position and also
2906 add support for a new font-size keyword, -webkit-ruby-text, that is used
2907 to set a smart initial font size based off the type of ruby being presented.
2909 * css/DeprecatedStyleBuilder.cpp:
2910 (WebCore::ApplyPropertyFontSize::determineRubyTextSizeMultiplier):
2911 (WebCore::ApplyPropertyFontSize::applyValue):
2912 Determine the Ruby text size multiplier when -webkit-ruby-text is specified
2913 as the font size. For ruby-position of before/after, we use 50% of the parent
2914 font size. For inter-character ruby, we default to 25% instead. If inter-character
2915 Ruby is nested, we assume it's to display tone marks, and we use 100% to ensure
2916 the tone mark is the same size and does not get smaller.
2918 * css/StyleResolver.cpp:
2919 (WebCore::StyleResolver::adjustStyleForInterCharacterRuby):
2920 (WebCore::StyleResolver::applyMatchedProperties):
2921 * css/StyleResolver.h:
2922 ruby-position is now the highest priority CSS property, and it is resolved
2923 before all other properties to ensure that its value can be checked when
2924 determining a smart default font size. adjustStyleForInterCharacterRuby is a new
2925 function called to auto-adjust inter-character ruby text to be vertical writing mode when
2926 encountered inside horizontal documents.
2930 Change the font-size from 50% to -webkit-ruby-text to allow us to customize it as
2931 needed depending on what kind of Ruby we want to show.
2933 * rendering/RenderRubyRun.cpp:
2934 (WebCore::RenderRubyRun::layout):
2935 * rendering/RenderRubyRun.h:
2936 Add layout code to properly position vertical ruby text relative to a horizontal base.
2938 * rendering/style/RenderStyleConstants.h:
2939 Add the new inter-character constant for ruby-position.
2941 * rendering/style/StyleRareInheritedData.h:
2942 Increase the number of storage bits for RubyPosition from 1 to 2 now that we support 3 values.
2944 2014-08-22 Jon Lee <jonlee@apple.com>
2946 Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
2947 https://bugs.webkit.org/show_bug.cgi?id=136157
2949 Reviewed by Simon Fraser.
2951 * Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
2953 2014-08-22 Iago Toral <itoral@igalia.com> and Zan Dobersek <zdobersek@igalia.com>
2955 [GTK] Add the Wayland protocol extension
2956 https://bugs.webkit.org/show_bug.cgi?id=136102
2958 Reviewed by Martin Robinson.
2960 Add the Wayland protocol extension that allows mapping GtkWidget
2961 objects (via an ID that's unique to that GtkWidget) to the
2962 corresponding Wayland surface objects. This way the nested
2963 compositor has the proper information about what GtkWidget has
2964 to be updated when surfaces are committed by the LayerTreeHost.
2966 * PlatformGTK.cmake:
2967 * platform/graphics/wayland: Added.
2968 * platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml: Added.
2970 2014-08-21 Antti Koivisto <antti@apple.com>
2972 Animated GIFs scrolled out of view still cause titlebar blur to update, on tumblr.com page
2973 https://bugs.webkit.org/show_bug.cgi?id=136139
2975 Reviewed by Simon Fraser.
2977 The mechanism for pausing GIF images outside the viewport did not work for subframes.
2979 Test: fast/repaint/no-animation-outside-viewport-subframe.html
2982 * page/FrameView.cpp:
2983 (WebCore::FrameView::scrollPositionChanged):
2984 (WebCore::FrameView::resumeVisibleImageAnimationsIncludingSubframes):
2986 Add a function for resuming animations as needed in all subframes.
2987 This is used after scrolling instead of calling the RenderView function directly.
2991 (WebCore::Page::resumeAnimatingImages):
2992 * rendering/RenderElement.cpp:
2993 (WebCore::RenderElement::newImageAnimationFrameAvailable):
2995 Determine the overall visible rect so that it is correct in subframes too.
2997 * rendering/RenderLayer.cpp:
2998 (WebCore::RenderLayer::scrollTo):
2999 * rendering/RenderView.cpp:
3000 (WebCore::RenderView::resumePausedImageAnimationsIfNeeded):
3002 2014-08-21 Alex Christensen <achristensen@webkit.org>
3004 More WEBCORE_EXPORT macros!
3005 https://bugs.webkit.org/show_bug.cgi?id=136146
3007 Reviewed by Benjamin Poulain.
3009 * Modules/geolocation/GeolocationClient.h:
3010 * Modules/mediastream/UserMediaClient.h:
3011 * Modules/mediastream/UserMediaRequest.h:
3012 * Modules/notifications/NotificationClient.h:
3013 * Modules/speech/SpeechSynthesis.h:
3014 * bindings/generic/RuntimeEnabledFeatures.h:
3015 * bindings/js/DOMWrapperWorld.h:
3016 * bindings/js/GCController.h:
3017 * bindings/js/IDBBindingUtilities.h:
3018 * bindings/js/JSDOMBinding.h:
3019 * bindings/js/JSNodeCustom.h:
3020 * bindings/js/JSNodeListCustom.h:
3021 * bindings/js/JSPluginElementFunctions.h:
3022 * bindings/js/ScriptController.h:
3023 * bindings/js/SerializedScriptValue.h:
3024 * crypto/SerializedCryptoKeyWrap.h:
3025 * css/LengthFunctions.h:
3026 * css/StyleProperties.h:
3027 * css/StyleSheetContents.h:
3028 * dom/DeviceOrientationClient.h:
3030 * dom/ScriptExecutionContext.h:
3031 * dom/StyledElement.h:
3033 * dom/UIEventWithKeyState.h:
3034 * dom/UserGestureIndicator.h:
3035 * dom/UserTypingGestureIndicator.h:
3036 * dom/ViewportArguments.h:
3037 * editing/SmartReplace.h:
3038 * editing/TextIterator.h:
3039 * editing/VisiblePosition.h:
3040 * editing/VisibleSelection.h:
3041 * editing/VisibleUnits.h:
3042 * editing/cocoa/HTMLConverter.h:
3043 * editing/htmlediting.h:
3044 * editing/mac/TextAlternativeWithRange.h:
3045 * editing/mac/TextUndoInsertionMarkupMac.h:
3047 * history/HistoryItem.cpp:
3048 * history/PageCache.h:
3049 * html/TimeRanges.h:
3050 * html/parser/HTMLParserIdioms.h:
3051 * inspector/InstrumentingAgents.h:
3052 * loader/FrameLoader.h:
3053 * loader/ResourceBuffer.h:
3054 * loader/ResourceLoadScheduler.h:
3055 * loader/ResourceLoader.h:
3056 (WebCore::ResourceLoader::originalRequest):
3057 * loader/SubframeLoader.h:
3058 * loader/SubresourceLoader.h:
3059 * loader/TextResourceDecoder.h:
3060 * loader/appcache/ApplicationCacheStorage.h:
3061 * loader/cache/MemoryCache.h:
3062 * loader/icon/IconDatabaseBase.h:
3063 * loader/ios/DiskImageCacheIOS.h:
3065 * page/SecurityOrigin.h:
3066 * page/SecurityPolicy.h:
3068 * page/UserContentController.h:
3069 * page/UserContentURLPattern.h:
3070 * page/UserMessageHandlerDescriptor.h:
3071 * page/ViewportConfiguration.h:
3072 * page/VisitedLinkStore.h:
3073 * page/WheelEventDeltaTracker.h:
3074 * page/cocoa/UserAgent.h:
3075 * page/scrolling/ScrollingConstraints.h:
3076 * page/scrolling/ScrollingCoordinator.h:
3077 * page/scrolling/ScrollingStateFixedNode.h:
3078 * page/scrolling/ScrollingStateFrameScrollingNode.h:
3079 * page/scrolling/ScrollingStateNode.h:
3080 * page/scrolling/ScrollingStateOverflowScrollingNode.h:
3081 * page/scrolling/ScrollingStateScrollingNode.h:
3082 * page/scrolling/ScrollingStateStickyNode.h:
3083 * page/scrolling/ScrollingStateTree.h:
3084 * page/scrolling/ScrollingThread.h:
3085 * page/scrolling/ScrollingTree.h:
3086 * page/scrolling/ScrollingTreeOverflowScrollingNode.h:
3087 * page/scrolling/ScrollingTreeScrollingNode.h:
3088 * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
3089 * page/scrolling/mac/ScrollingTreeFixedNode.h:
3090 * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
3091 * page/scrolling/mac/ScrollingTreeStickyNode.h:
3092 * platform/Cursor.h:
3093 * platform/DragImage.h:
3094 * platform/FileSystem.h:
3095 * platform/Language.h:
3096 * platform/LinkHash.h:
3097 * platform/LocalizedStrings.h:
3098 * platform/Logging.h:
3099 * platform/MemoryPressureHandler.h:
3100 * platform/NotImplemented.h:
3101 * platform/PlatformStrategies.h:
3102 * platform/PublicSuffix.h:
3103 * platform/RuntimeApplicationChecks.h:
3104 * platform/RuntimeApplicationChecksIOS.h:
3105 * platform/SchemeRegistry.h:
3106 * platform/ScrollView.h:
3107 * platform/ScrollableArea.h:
3108 * platform/Scrollbar.h:
3109 * platform/ScrollbarTheme.h:
3110 * platform/SharedBuffer.h:
3111 * platform/ThreadCheck.h:
3112 * platform/ThreadGlobalData.h:
3116 * platform/UserActivity.h:
3117 * platform/Widget.h:
3118 * platform/cf/CFURLExtras.h:
3119 * platform/cf/RunLoopObserver.h:
3120 * platform/cocoa/SystemVersion.h:
3121 * platform/graphics/Color.h:
3122 * platform/graphics/FloatRect.h:
3123 * platform/graphics/FontCache.h:
3124 * platform/graphics/GeometryUtilities.h:
3125 * platform/graphics/GraphicsContext.h:
3126 * platform/graphics/IntRect.h:
3127 * platform/graphics/LayoutRect.h:
3128 * platform/graphics/StringTruncator.h:
3129 * platform/graphics/TextRun.h:
3130 * platform/graphics/ca/TileController.h:
3131 * platform/graphics/ca/mac/PlatformCAAnimationMac.h:
3132 * platform/graphics/cg/GraphicsContextCG.h:
3133 * platform/graphics/mac/ColorMac.h:
3134 * platform/graphics/transforms/TransformationMatrix.h:
3135 * platform/ios/FileSystemIOS.h:
3136 * platform/ios/PlatformEventFactoryIOS.h:
3137 * platform/ios/SelectionRect.h:
3138 * platform/ios/SystemMemory.h:
3139 * platform/ios/TileControllerMemoryHandlerIOS.h:
3140 * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
3141 * platform/mac/PlatformEventFactoryMac.h:
3142 * platform/mac/ScrollbarThemeMac.h:
3143 * platform/mac/WebCoreNSURLExtras.h:
3144 * platform/mac/WebNSAttributedStringExtras.h:
3145 * platform/network/BlobRegistry.h:
3146 * platform/network/CookieStorage.h:
3147 * platform/network/DNS.h:
3148 * platform/network/NetworkStateNotifier.h:
3149 * platform/network/PlatformCookieJar.h:
3150 * platform/network/ProxyServer.h:
3151 * platform/network/ResourceErrorBase.h:
3152 * platform/network/ResourceHandle.h:
3153 * platform/network/ResourceHandleClient.h:
3154 * platform/network/ResourceRequestBase.h:
3155 * platform/network/ResourceResponseBase.h:
3156 * platform/network/SynchronousLoaderClient.h:
3157 * platform/network/cf/ResourceError.h:
3158 * platform/network/cf/ResourceRequest.h:
3159 * platform/network/cf/ResourceResponse.h:
3160 * platform/network/ios/QuickLook.h:
3161 * platform/network/mac/AuthenticationMac.h:
3162 * platform/sql/SQLiteDatabase.cpp:
3163 * platform/text/LocaleToScriptMapping.h:
3164 * platform/text/TextBreakIterator.h:
3165 * platform/text/TextEncoding.h:
3166 (WebCore::TextEncoding::decode):
3167 * platform/text/TextEncodingRegistry.h:
3168 * platform/text/TextStream.h:
3169 * rendering/RenderBlock.h:
3170 * rendering/RenderBox.h:
3171 * rendering/RenderEmbeddedObject.h:
3172 * rendering/RenderLayer.h:
3173 * rendering/RenderLayerBacking.h:
3174 * rendering/RenderLayerCompositor.h:
3175 * rendering/RenderListItem.h:
3176 * rendering/RenderObject.h:
3177 * rendering/RenderText.h:
3178 * rendering/RenderTextControl.h:
3179 * rendering/RenderThemeIOS.h:
3180 * rendering/RenderTreeAsText.h:
3181 * rendering/RenderView.h:
3182 * rendering/RenderWidget.h:
3183 * rendering/ScrollBehavior.cpp:
3184 * rendering/break_lines.cpp:
3185 * rendering/style/RenderStyle.h:
3186 * replay/UserInputBridge.h:
3187 * storage/StorageEventDispatcher.h:
3188 * storage/StorageMap.h:
3189 * storage/StorageStrategy.h:
3190 * storage/StorageTracker.h:
3191 * testing/Internals.h:
3192 * workers/WorkerThread.h:
3193 Added more WEBCORE_EXPORT macros where needed.
3195 2014-08-21 Tim Horton <timothy_horton@apple.com>
3197 Revert r172831, it broke the Windows build.
3199 2014-08-21 Ryuan Choi <ryuan.choi@samsung.com>
3201 Unreviewed build fix when RUBBER_BANDING is not enabled.
3203 * rendering/RenderLayer.cpp:
3204 (WebCore::RenderLayer::overhangAmount):
3205 (WebCore::RenderLayer::setHasHorizontalScrollbar):
3206 (WebCore::RenderLayer::setHasVerticalScrollbar):
3208 2014-08-21 Brent Fulgham <bfulgham@apple.com>
3210 [Win] WebCore.proj is not copying WebKit resource files.
3211 https://bugs.webkit.org/show_bug.cgi?id=136142
3212 <rdar://problem/17733682>
3214 Reviewed by Tim Horton.
3216 * WebCore.vcxproj/WebCore.proj: Copy missing resource files during
3219 2014-08-21 Simon Fraser <simon.fraser@apple.com>
3221 Try to fix the 32-bit build by using wildcards in the exported non-virtual thunks
3222 for GraphicsLayerCA::platformCALayerAnimationStarted and GraphicsLayerCA::platformCALayerAnimationEnded.
3226 2014-08-21 Simon Fraser <simon.fraser@apple.com>
3228 Add animationDidEnd callbacks on GraphicsLayer
3229 https://bugs.webkit.org/show_bug.cgi?id=136084
3231 Reviewed by Tim Horton.
3233 Hook up GraphicsLayerClient::notifyAnimationEnded() so that code using GraphicsLayers directly
3234 can add animations, and know when they finish.
3237 * platform/graphics/GraphicsLayerClient.h:
3238 (WebCore::GraphicsLayerClient::notifyAnimationStarted):
3239 (WebCore::GraphicsLayerClient::notifyAnimationEnded):
3240 * platform/graphics/ca/GraphicsLayerCA.cpp:
3241 (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
3242 (WebCore::GraphicsLayerCA::platformCALayerAnimationEnded):
3243 * platform/graphics/ca/GraphicsLayerCA.h:
3244 * platform/graphics/ca/PlatformCALayer.h:
3245 * platform/graphics/ca/PlatformCALayerClient.h:
3246 (WebCore::PlatformCALayerClient::platformCALayerAnimationStarted):
3247 (WebCore::PlatformCALayerClient::platformCALayerAnimationEnded):
3248 * platform/graphics/ca/mac/PlatformCALayerMac.h:
3249 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3250 (-[WebAnimationDelegate animationDidStart:]):
3251 (-[WebAnimationDelegate animationDidStop:finished:]):
3252 (PlatformCALayerMac::animationStarted):
3253 (PlatformCALayerMac::animationEnded):
3254 * rendering/RenderLayerBacking.cpp:
3255 (WebCore::RenderLayerBacking::notifyAnimationStarted):
3256 * rendering/RenderLayerBacking.h:
3258 2014-08-21 Zalan Bujtas <zalan@apple.com>
3260 Enable SATURATED_LAYOUT_ARITHMETIC.
3261 https://bugs.webkit.org/show_bug.cgi?id=136106
3263 Reviewed by Simon Fraser.
3265 SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
3266 (No measurable performance regression on Mac.)
3268 Test: fast/dynamic/saturated-layout-arithmetic.html
3270 * Configurations/FeatureDefines.xcconfig:
3272 2014-08-21 Yuki Sekiguchi <yuki.sekiguchi@access-company.com>
3274 New ruby parsing rule breaks some real web sites.
3275 https://bugs.webkit.org/show_bug.cgi?id=136062
3277 Reviewed by Ryosuke Niwa.
3279 An RP element should not auto close an RTC element.
3281 The HTML5.1 spec was changed:
3282 http://www.w3.org/html/wg/drafts/html/master/syntax.html#parsing-main-inbody
3283 This was done at the following commit:
3284 https://github.com/w3c/html/commit/c61397b989b28235ee2228f280aa8d475f3b9ebf
3286 This patch changed the RP element's behavior to follow the spec change.
3288 Test: fast/ruby/rp-inside-rtc.html
3290 * html/parser/HTMLTreeBuilder.cpp:
3291 (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3293 2014-08-21 Yuki Sekiguchi <yuki.sekiguchi@access-company.com>
3295 REGRESSION: CSS not() selector does not work when it appears after or within @supports
3296 https://bugs.webkit.org/show_bug.cgi?id=136063
3298 Reviewed by Darin Adler.
3300 CSSParser changes its m_parsingMode to SupportsMode when it finds
3301 "@supports" token. However, the mode will be never changed to
3302 NormalMode. This changes parsing algorithm for "not" token forever,
3303 and it cannot parse not pseudo class selector.
3305 When we finish parsing @supports rule, we should change to normal
3308 @media does the same thing. This patch changed CharacterEndMediaQuery
3309 to CharacterEndConditionQuery, and we change parsing mode from
3310 SupportsMode to NormalMode when the parser finished to parse
3313 Like "@-webkit-mediaquery", we cannot use '{' to
3314 "@-webkit-supports-condition". Changed "@-webkit-supports-condition"
3315 parsing rule and parseSupportsCondition() not to use '{'.
3317 Tests: css3/supports-not-selector-cssom.html
3318 css3/supports-not-selector.html
3320 * css/CSSGrammar.y.in:
3321 * css/CSSParser.cpp:
3322 (WebCore::CSSParser::parseSupportsCondition):
3323 (WebCore::isCSSLetter):
3324 (WebCore::CSSParser::realLex):
3326 2014-08-21 Beth Dakin <bdakin@apple.com>
3328 overflow:scroll elements should support rubber-banding
3329 https://bugs.webkit.org/show_bug.cgi?id=91655
3331 Reviewed by Sam Weinig and Darin Adler.
3333 This patch enables rubber-banding in overflow regions and it keeps latching
3334 working as currently implemented.
3336 We cannot return early here if there is no scroll delta. There won't be a scroll
3337 delta in most cases during event.phase() == PlatformWheelEventPhaseEnded, but that
3338 phase is required to be processed in order for rubber-banding to work properly.
3340 (WebCore::Element::dispatchWheelEvent):
3341 * page/EventHandler.cpp:
3342 (WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis):
3344 Add a setting for this, which will default to true. This allows us to disable the
3345 feature in WebKit1 for now. There is a bug about making it work.
3348 allowsHorizontalStretching() and allowsVerticalStretching() now take the
3349 PlatformWheelEvent as a parameter, so that ScrollElasticityAutomatic can use the
3350 event to decide whether or not stretching should be allowed in this case.
3351 ScrollElasticityAutomatic will not allow stretching if it is a brand new gesture
3352 that would result in a rubber-band. We don't want to rubber-band in that case
3353 because we want the event to propagate up to a parent view. Also added some helper
3354 functions just to make that code easier to read.
3355 * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
3356 * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
3357 (WebCore::newGestureIsStarting):
3358 (WebCore::ScrollingTreeFrameScrollingNodeMac::isAlreadyPinnedInDirectionOfGesture):
3359 (WebCore::ScrollingTreeFrameScrollingNodeMac::allowsHorizontalStretching):
3360 (WebCore::ScrollingTreeFrameScrollingNodeMac::allowsVerticalStretching):
3361 * platform/mac/ScrollAnimatorMac.h:
3362 * platform/mac/ScrollAnimatorMac.mm:
3363 (WebCore::ScrollAnimatorMac::handleWheelEvent):
3364 (WebCore::newGestureIsStarting):
3365 (WebCore::ScrollAnimatorMac::isAlreadyPinnedInDirectionOfGesture):
3366 (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
3367 (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
3368 * platform/mac/ScrollElasticityController.h:
3369 * platform/mac/ScrollElasticityController.mm:
3370 (WebCore::ScrollElasticityController::handleWheelEvent):
3372 To opt into rubber-banding, all we have to do is implement overhangAmount and set
3373 scroll elasticity. We'll choose ScrollElasticityAutomatic which means that we'll
3374 only rubber-band in directions that can scroll and that we won't rubber-band for
3375 new gestures when we're already pinned to the edge.
3376 * rendering/RenderLayer.cpp:
3377 (WebCore::RenderLayer::overhangAmount):
3378 (WebCore::RenderLayer::setHasHorizontalScrollbar):
3379 (WebCore::RenderLayer::setHasVerticalScrollbar):
3381 2014-08-21 Alex Christensen <achristensen@webkit.org>
3383 More WEBCORE_EXPORT macros.
3384 https://bugs.webkit.org/show_bug.cgi?id=136129
3386 Reviewed by Tim Horton.
3388 * Modules/geolocation/Geolocation.h:
3389 * Modules/geolocation/GeolocationController.h:
3390 * Modules/indexeddb/IDBDatabaseBackend.h:
3391 * Modules/indexeddb/IDBDatabaseMetadata.h:
3392 * Modules/indexeddb/IDBKey.h:
3393 * Modules/indexeddb/IDBKeyData.h:
3394 * Modules/indexeddb/IDBKeyPath.h:
3395 * Modules/indexeddb/IDBKeyRange.h:
3396 * Modules/indexeddb/IDBKeyRangeData.h:
3397 * Modules/notifications/Notification.h:
3398 * Modules/notifications/NotificationController.h:
3399 * bindings/js/GCController.h:
3400 * bridge/IdentifierRep.h:
3401 * css/StyleProperties.h:
3402 * dom/ExceptionCodePlaceholder.h:
3403 * dom/KeyboardEvent.h:
3405 * dom/MouseRelatedEvent.h:
3407 (WebCore::Node::hasEditableStyle):
3408 * dom/NodeTraversal.h:
3410 (WebCore::Position::Position):
3412 (WebCore::Range::startContainer):
3413 (WebCore::Range::startOffset):
3414 (WebCore::Range::endContainer):
3415 (WebCore::Range::endOffset):
3416 * editing/FrameSelection.h:
3417 (WebCore::DragCaretController::clear):
3418 * history/HistoryItem.h:
3419 * history/PageCache.h:
3420 * html/FormController.h:
3421 * html/HTMLElement.h:
3422 * html/HTMLFormElement.h:
3423 * html/HTMLFrameOwnerElement.h:
3424 * html/HTMLInputElement.h:
3425 * html/HTMLMediaElement.h:
3426 * html/HTMLOptGroupElement.h:
3427 * html/HTMLOptionElement.h:
3428 * html/HTMLPlugInElement.h:
3429 * html/HTMLPlugInImageElement.h:
3430 * html/HTMLSelectElement.h:
3431 * html/HTMLTableCellElement.h:
3432 * html/HTMLTextAreaElement.h:
3433 * html/HTMLTextFormControlElement.h:
3434 * html/HTMLVideoElement.h:
3435 * html/ImageDocument.h:
3436 * html/PluginDocument.h:
3437 * html/forms/FileIconLoader.h:
3438 * html/shadow/InsertionPoint.h:
3439 * inspector/InspectorClient.h:
3440 * inspector/InspectorController.h:
3441 * inspector/InspectorFrontendClientLocal.h:
3442 * inspector/InspectorInstrumentation.h:
3443 * loader/FrameLoadRequest.h:
3444 * loader/FrameLoader.h:
3445 * loader/FrameLoaderStateMachine.h:
3446 * loader/HistoryController.h:
3447 * loader/LoaderStrategy.h:
3448 * loader/NavigationAction.h:
3449 * loader/NetscapePlugInStreamLoader.h:
3450 * loader/ProgressTracker.h:
3451 * loader/archive/cf/LegacyWebArchive.h: