1 2014-01-07 László Langó <llango.u-szeged@partner.samsung.com>
3 Remove some extra includes from SVG.
4 https://bugs.webkit.org/show_bug.cgi?id=126565
6 Reviewed by Dirk Schulze.
8 No new tests, no functionality changed.
10 * rendering/svg/RenderSVGBlock.cpp:
11 * rendering/svg/RenderSVGContainer.cpp:
12 * rendering/svg/RenderSVGEllipse.cpp:
13 * rendering/svg/RenderSVGEllipse.h:
14 * rendering/svg/RenderSVGHiddenContainer.cpp:
15 * rendering/svg/RenderSVGImage.cpp:
16 * rendering/svg/RenderSVGImage.h:
17 * rendering/svg/RenderSVGInlineText.cpp:
18 * rendering/svg/RenderSVGModelObject.cpp:
19 * rendering/svg/RenderSVGPath.cpp:
20 * rendering/svg/RenderSVGRect.cpp:
21 * rendering/svg/RenderSVGResource.cpp:
22 * rendering/svg/RenderSVGResourceClipper.cpp:
23 * rendering/svg/RenderSVGResourceClipper.h:
24 * rendering/svg/RenderSVGResourceContainer.cpp:
25 * rendering/svg/RenderSVGResourceFilter.cpp:
26 * rendering/svg/RenderSVGResourceFilter.h:
27 * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
28 * rendering/svg/RenderSVGResourceFilterPrimitive.h:
29 * rendering/svg/RenderSVGResourceGradient.cpp:
30 * rendering/svg/RenderSVGResourceGradient.h:
31 * rendering/svg/RenderSVGResourceLinearGradient.cpp:
32 * rendering/svg/RenderSVGResourceMarker.cpp:
33 * rendering/svg/RenderSVGResourceMarker.h:
34 * rendering/svg/RenderSVGResourceMasker.cpp:
35 * rendering/svg/RenderSVGResourceMasker.h:
36 * rendering/svg/RenderSVGResourcePattern.cpp:
37 * rendering/svg/RenderSVGResourcePattern.h:
38 * rendering/svg/RenderSVGResourceRadialGradient.cpp:
39 * rendering/svg/RenderSVGResourceSolidColor.cpp:
40 * rendering/svg/RenderSVGResourceSolidColor.h:
41 * rendering/svg/RenderSVGRoot.cpp:
42 * rendering/svg/RenderSVGShape.cpp:
43 * rendering/svg/RenderSVGText.cpp:
44 * rendering/svg/RenderSVGTransformableContainer.cpp:
45 * rendering/svg/SVGInlineFlowBox.cpp:
46 * rendering/svg/SVGInlineTextBox.cpp:
47 * rendering/svg/SVGRenderSupport.cpp:
48 * rendering/svg/SVGRenderTreeAsText.cpp:
49 * rendering/svg/SVGRenderingContext.cpp:
50 * rendering/svg/SVGResources.cpp:
51 * rendering/svg/SVGResourcesCache.cpp:
52 * rendering/svg/SVGResourcesCycleSolver.cpp:
53 * rendering/svg/SVGRootInlineBox.cpp:
54 * rendering/svg/SVGTextChunk.cpp:
55 * rendering/svg/SVGTextChunkBuilder.cpp:
56 * rendering/svg/SVGTextLayoutAttributes.h:
57 * rendering/svg/SVGTextLayoutAttributesBuilder.h:
58 * rendering/svg/SVGTextLayoutEngine.cpp:
59 * rendering/svg/SVGTextLayoutEngine.h:
60 * rendering/svg/SVGTextMetricsBuilder.h:
61 * rendering/svg/SVGTextQuery.cpp:
62 * rendering/svg/SVGTextRunRenderingContext.cpp:
64 2014-01-07 Krzysztof Czech <k.czech@samsung.com>
66 [ATK] Expose aria-checked mixed state as ATK_STATE_INDETERMINATE
67 https://bugs.webkit.org/show_bug.cgi?id=125855
69 Reviewed by Mario Sanchez Prada.
71 Test: accessibility/aria-checked-mixed-value.html
73 Expose ATK_STATE_INDETERMINATE to support aria-checked mixed state
74 for radio and checkbox types.
76 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
77 (setAtkStateSetFromCoreObject):
79 2014-01-07 Mark Rowe <mrowe@apple.com>
81 <https://webkit.org/b/126562> DOMProgressEvent has unspecified availability
83 Reviewed by Ryosuke Niwa.
85 * bindings/objc/PublicDOMInterfaces.h: Add DOMProgressEvent. It first appeared in 10.6.
87 2014-01-07 Mark Rowe <mrowe@apple.com>
89 Another Mountain Lion build fix.
91 The Mountain Lion version of NS_DEPRECATED_MAC generates a reference to a nonexistent
92 availability macro when the introduced and deprecated versions are the same. Follow
93 AppKit's lead in working around this by defining the macros that will be referenced
94 for the various possible OS version numbers. This isn't an issue on newer versions of
95 OS X as the Foundation availability macros expand directly in to __attributes__ rather
96 than in to the legacy availability maros.
98 * bindings/objc/WebKitAvailability.h:
100 2014-01-06 Mark Rowe <mrowe@apple.com>
102 Mountain Lion build fix.
104 * bindings/objc/WebKitAvailability.h: #define __AVAILABILITY_INTERNAL__MAC_TBD so that
105 the TBD version works on Mountain Lion. Newer OS versions use a slightly different set
106 of macros that already support this version. Add a missing #include so that defintions
107 of the Foundation availability macros can be found even if no other Foundation headers
110 2014-01-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
112 Unreviewed, rolling out r161401.
113 http://trac.webkit.org/changeset/161401
114 https://bugs.webkit.org/show_bug.cgi?id=126418
116 REGRESSION(r161401): Break layout test on mac-wk1(Debug)
118 * html/HTMLTableElement.cpp:
119 (WebCore::HTMLTableElement::tHead):
120 (WebCore::HTMLTableElement::tFoot):
121 (WebCore::HTMLTableElement::lastBody):
122 * html/HTMLTableRowElement.cpp:
123 (WebCore::HTMLTableRowElement::rowIndex):
124 * html/HTMLTableSectionElement.h:
126 2014-01-05 Mark Rowe <mrowe@apple.com>
128 <https://webkit.org/b/126500> Move Objective-C DOM bindings off the legacy WebKit availability macros
130 The legacy WebKit availability macros are verbose, confusing, and provide no benefit
131 over using the system availability macros directly. The original vision was that
132 they'd serve a cross-platform purpose but that never came to be.
134 The OS X version used in the new availability macros is based on the mapping in
135 JavaScriptCore/WebKitAvailability.h.
137 Part of <rdar://problem/15512304>.
139 Reviewed by Sam Weinig.
141 * bindings/objc/DOMCSS.h:
142 * bindings/objc/DOMEventException.h:
143 * bindings/objc/DOMException.h:
144 * bindings/objc/DOMExtensions.h:
145 * bindings/objc/DOMObject.h:
146 * bindings/objc/DOMRangeException.h:
147 * bindings/objc/DOMXPathException.h:
148 * bindings/objc/PublicDOMInterfaces.h:
149 * bindings/objc/WebScriptObject.h:
150 * bindings/scripts/CodeGeneratorObjC.pm:
151 (ReadPublicInterfaces):
152 (GenerateHeader): Tag enums with WK_ENUM_AVAILABLE_MAC and classes with WEBKIT_CLASS_AVAILABLE_MAC.
153 Remove the #ifs that we were previously generating now that enums are appropriately tagged.
154 * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
155 * bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:
156 * bindings/scripts/test/ObjC/DOMTestCallback.h:
157 * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:
158 * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h:
159 * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:
160 * bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
161 * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:
162 * bindings/scripts/test/ObjC/DOMTestEventTarget.h:
163 * bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:
164 * bindings/scripts/test/ObjC/DOMTestException.h:
165 * bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:
166 * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h:
167 * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h:
168 * bindings/scripts/test/ObjC/DOMTestInterface.h:
169 * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:
170 * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h:
171 * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:
172 * bindings/scripts/test/ObjC/DOMTestNamedConstructor.h:
173 * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:
174 * bindings/scripts/test/ObjC/DOMTestNode.h:
175 * bindings/scripts/test/ObjC/DOMTestNodeInternal.h:
176 * bindings/scripts/test/ObjC/DOMTestObj.h:
177 * bindings/scripts/test/ObjC/DOMTestObjInternal.h:
178 * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h:
179 * bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:
180 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
181 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:
182 * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
183 * bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:
184 * bindings/scripts/test/ObjC/DOMattribute.h:
185 * bindings/scripts/test/ObjC/DOMattributeInternal.h:
186 * bindings/scripts/test/ObjC/DOMreadonly.h:
187 * bindings/scripts/test/ObjC/DOMreadonlyInternal.h:
189 2014-01-06 Ryosuke Niwa <rniwa@webkit.org>
191 REGRESSION(r157851): trailing space inside an editable region could be erroneously collapsed
192 https://bugs.webkit.org/show_bug.cgi?id=126549
194 Reviewed by Sam Weinig.
196 The regression was caused by erroneous use of m_currentCharacterIsSpace in place of m_currentCharacterIsWS.
198 See the following two lines before the refactoring:
199 http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp?rev=157850#L3074
200 http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp?rev=157850#L3198
202 I've also cross-checked other places where m_currentCharacterIsSpace and m_currentCharacterIsWS are used.
204 Test: editing/inserting/inserting-trailing-space-and-letter.html
206 * rendering/line/BreakingContextInlineHeaders.h:
207 (WebCore::BreakingContext::handleText):
209 2014-01-06 Seokju Kwon <seokju@webkit.org>
211 Web Inspector: Remove canOverrideDeviceMetrics and setDeviceMetricsOverride from protocol
212 https://bugs.webkit.org/show_bug.cgi?id=126149
214 Reviewed by Joseph Pecoraro.
216 No new tests, No changes in behavior.
218 These are not used anywhere in WebInspectorUI.
219 So, it removes unused Protocols and APIs.
221 * inspector/InspectorClient.h:
222 * inspector/InspectorPageAgent.cpp:
223 (WebCore::InspectorPageAgent::InspectorPageAgent):
224 (WebCore::InspectorPageAgent::disable):
225 * inspector/InspectorPageAgent.h:
226 * inspector/protocol/Page.json:
228 2014-01-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
230 Add toHTMLTableSectionElement() functions, and use it
231 https://bugs.webkit.org/show_bug.cgi?id=126418
233 Reviewed by Anders Carlsson.
235 HTMLTableSectionElement covers tbody, tfoot, and thead tags. So, we can't
236 generate isHTMLTableSectionElement() by using template. This patch add
237 toHTMLTableSectionElement() manually in order to cleanup static_cast<>.
239 No new tests, no behavior change.
241 * html/HTMLTableElement.cpp:
242 (WebCore::HTMLTableElement::tHead):
243 (WebCore::HTMLTableElement::tFoot):
244 (WebCore::HTMLTableElement::lastBody):
245 * html/HTMLTableRowElement.cpp:
246 (WebCore::HTMLTableRowElement::rowIndex):
247 * html/HTMLTableSectionElement.h:
248 * html/HTMLTagNames.in:
250 2014-01-06 Mark Rowe <mrowe@apple.com>
252 <https://webkit.org/b/126559> Be more correct in dealing with NSControlSize
254 Reviewed by Ryosuke Niwa.
256 * platform/mac/ScrollbarThemeMac.mm:
257 (WebCore::scrollbarControlSizeToNSControlSize): Helper function to map from ScrollbarControlSize
259 (WebCore::ScrollbarThemeMac::registerScrollbar): Use the helper rather than casting.
260 (WebCore::ScrollbarThemeMac::scrollbarThickness): Use the helper.
261 * rendering/RenderThemeMac.mm:
262 (WebCore::RenderThemeMac::progressBarRectForBounds): Update the type of the local to NSControlSize.
263 (WebCore::RenderThemeMac::paintProgressBar): Ditto.
265 2014-01-06 Brent Fulgham <bfulgham@apple.com>
267 [WebGL] Be safer about toggling OpenGL state by using a scoped object to control setting lifetime.
268 https://bugs.webkit.org/show_bug.cgi?id=126548
270 Reviewed by Anders Carlsson.
272 No new tests since there is no change in behavior.
274 * GNUmakefile.list.am: Updated to build new TemporaryOpenGLSetting files.
275 * PlatformBlackBerry.cmake: Ditto
276 * PlatformEfl.cmake: Ditto
277 * PlatformGTK.cmake: Ditto
278 * PlatformNix.cmake: Ditto
279 * WebCore.vcxproj/WebCore.vcxproj: Ditto
280 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
281 * WebCore.xcodeproj/project.pbxproj: Ditto
282 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
283 (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Use new object.
284 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
285 (WebCore::GraphicsContext3D::prepareTexture): Ditto
286 (WebCore::GraphicsContext3D::reshape): Ditto
287 * platform/graphics/opengl/TemporaryOpenGLSetting.cpp: Added.
288 (WebCore::TemporaryOpenGLSetting::TemporaryOpenGLSetting):
289 (WebCore::TemporaryOpenGLSetting::~TemporaryOpenGLSetting):
290 * platform/graphics/opengl/TemporaryOpenGLSetting.h: Added.
292 2014-01-06 Simon Fraser <simon.fraser@apple.com>
294 Hook up the RemoteScrollingCoordinator
295 https://bugs.webkit.org/show_bug.cgi?id=126547
297 Reviewed by Tim Horton.
299 Export lots of scrolling-related symbols for use by WebKit2.
303 2014-01-06 Seokju Kwon <seokju@webkit.org>
305 Web Inspector: Remove support for FileSystem in Frontend.
306 https://bugs.webkit.org/show_bug.cgi?id=126369
308 Reviewed by Joseph Pecoraro.
310 No new tests, No change in behavior.
312 Remove leftover codes from protocol after r156692.
315 * DerivedSources.make:
317 * inspector/InspectorFrontendClient.h:
318 * inspector/InspectorFrontendClientLocal.h:
319 * inspector/InspectorFrontendHost.cpp:
320 * inspector/InspectorFrontendHost.h:
321 * inspector/InspectorFrontendHost.idl:
322 * inspector/protocol/FileSystem.json: Removed.
324 2014-01-06 Zoltan Horvath <zoltan@webkit.org>
326 [CSS Regions][CSS Shapes] ASSERTION FAILED: m_segmentRanges.size() < m_segments.size()
327 https://bugs.webkit.org/show_bug.cgi?id=125770
329 Reviewed by Bem Jones-Bey.
331 When we have an e.g. up-side-down triangle, when the content doesn't fit in the bottom part of the shape,
332 and the adjusted content flows into the next region with a shape, we need to update the actual shape
333 and region. Since it wasn't updated, it led to a shape mismatch, which led to assert/layout error.
335 Test: fast/regions/shape-inside/shape-inside-on-multiple-regions-bottom-adjustment.html
337 * rendering/RenderBlockLineLayout.cpp:
338 (WebiCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread): Update current shape
339 and region, when adjustment occured.
341 2014-01-06 Seokju Kwon <seokju@webkit.org>
343 Web Inspector: Get rid of Inspector/BindingVisitors.h
344 https://bugs.webkit.org/show_bug.cgi?id=126374
346 Reviewed by Joseph Pecoraro.
348 No new tests, No change in behavior.
350 In r161204, methods related to BindingVisitors was removed.
352 * GNUmakefile.list.am:
353 * WebCore.vcxproj/WebCore.vcxproj:
354 * WebCore.vcxproj/WebCore.vcxproj.filters:
355 * WebCore.xcodeproj/project.pbxproj:
356 * bindings/js/ScriptProfiler.h:
357 * inspector/BindingVisitors.h: Removed.
358 * inspector/InspectorCanvasAgent.cpp:
359 * inspector/InspectorMemoryAgent.cpp:
361 2014-01-06 Tim Horton <timothy_horton@apple.com>
363 Add {IntRect, FloatRect}::infiniteRect() and ::isInfinite()
364 https://bugs.webkit.org/show_bug.cgi?id=126537
366 Reviewed by Simon Fraser.
368 * platform/graphics/FloatRect.h:
369 (WebCore::FloatRect::infiniteRect):
370 (WebCore::FloatRect::isInfinite):
371 * platform/graphics/IntRect.h:
372 (WebCore::IntRect::infiniteRect):
373 (WebCore::IntRect::isInfinite):
374 Add infiniteRect() and isInfinite() to FloatRect and IntRect.
376 * platform/graphics/ca/GraphicsLayerCA.cpp:
377 (WebCore::GraphicsLayerCA::setNeedsDisplay):
378 * rendering/PaintInfo.h:
379 (WebCore::PaintInfo::applyTransform):
380 * rendering/RenderFlowThread.cpp:
381 (WebCore::RenderFlowThread::fragmentsBoundingBox):
382 * rendering/RenderLayer.cpp:
383 (WebCore::RenderLayer::collectFragments):
384 (WebCore::RenderLayer::calculateClipRects):
385 * rendering/RenderLayerBacking.cpp:
387 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
388 * rendering/RenderLayerCompositor.cpp:
389 (WebCore::RenderLayerCompositor::clippedByAncestor):
390 * rendering/svg/SVGRenderingContext.cpp:
391 (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
392 Adopt the new functions.
394 2014-01-06 Seokju Kwon <seokju@webkit.org>
396 Web Inspector: Get rid of DOM.setFileInputFiles from Protocol
397 https://bugs.webkit.org/show_bug.cgi?id=126312
399 Reviewed by Joseph Pecoraro.
401 No new tests, No changes in behavior.
403 It is a dead code as all ports in WebKit don't support it.
404 And this patch removes all things related to DOM.setFileInputFiles in Frontend.
406 * inspector/InspectorClient.h:
407 * inspector/InspectorController.cpp:
408 (WebCore::InspectorController::InspectorController):
409 * inspector/InspectorDOMAgent.cpp:
410 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
411 * inspector/InspectorDOMAgent.h:
412 (WebCore::InspectorDOMAgent::create):
413 * inspector/protocol/DOM.json:
415 2014-01-06 Brent Fulgham <bfulgham@apple.com>
417 [WebGL] Revise String Concatenation (Follow-up to r161247)
418 https://bugs.webkit.org/show_bug.cgi?id=126411
420 Reviewed by Dean Jackson.
422 * html/canvas/WebGLRenderingContext.cpp:
423 (WebCore::WebGLRenderingContext::getUniformLocation): Use more efficient string
424 concatenation per Darin Adler's suggestion.
426 2014-01-06 Brent Fulgham <bfulgham@apple.com>
428 [WebGL] FBO Depth Buffer Attachment Function Improperly Clearing with 0
429 https://bugs.webkit.org/show_bug.cgi?id=126538
430 <rdar://problem/15201336>
432 Reviewed by Dean Jackson.
434 Tested by webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html
436 * html/canvas/WebGLFramebuffer.cpp:
437 (WebCore::WebGLFramebuffer::initializeAttachments): Clear depth buffer with 1.0f (rather than 0), to match expected
438 default (clear) buffer state for OpenGL. Using 0 would require us to flip the clear mask for the depth attachment
441 2014-01-06 Simon Fraser <simon.fraser@apple.com>
443 Add new files for UI-side scrolling
444 https://bugs.webkit.org/show_bug.cgi?id=126532
446 Reviewed by Anders Carlson.
448 * WebCore.xcodeproj/project.pbxproj: Make lots of scrolling-related headers Private
449 so WebKit2 can include them.
450 * page/scrolling/ScrollingCoordinator.cpp:
451 (WebCore::ScrollingCoordinator::scheduleUpdateScrollPositionForNode): Callback that
452 indicates that the given node has been scrolled asynchronously. Currently only
453 handles the main frame.
454 * page/scrolling/ScrollingCoordinator.h: Add support for type-casts of a remote subclass
455 in another namespace.
456 (WebCore::ScrollingCoordinator::isRemoteScrollingCoordinator):
457 * page/scrolling/ScrollingTree.h:
458 (WebCore::ScrollingTree::isRemoteScrollingTree):
460 2014-01-06 Gavin Barraclough <barraclough@apple.com>
462 Move ViewState to WebCore
463 https://bugs.webkit.org/show_bug.cgi?id=126488
465 Reviewed by Anders Carlson.
467 This change also partial reverts handling of LayerHostingMode, making this
468 a separate message again. With hindsight the new way of doing this wasn't
469 in all ways simpler, and it won't make sense to move this to WebCore.
471 * WebCore.xcodeproj/project.pbxproj:
472 * page/ViewState.h: Added.
473 - Moved from WebKit2, will be used by Page & FocusController.
475 2014-01-06 Martin Robinson <mrobinson@igalia.com>
477 [CMake] [GTK] Fix the build for the WebKitGTK+ developer configuration
478 https://bugs.webkit.org/show_bug.cgi?id=126505
480 Reviewed by Gustavo Noronha Silva.
482 * CMakeLists.txt: Add missing IDLS and source files to the lists.
483 * PlatformGTK.cmake: Add missing include directories and source files to the lists.
484 Use the GeoClue, GUdev, and gio-unix include paths and libraries and sort the list
485 of WebCore include directories.
486 * UseJSC.cmake: Align the sourced list with the contents of the bindings/js directory.
488 2014-01-06 Gavin Barraclough <barraclough@apple.com>
490 Refactor NSActivity handling code from ChildProcess to UserActivity
491 https://bugs.webkit.org/show_bug.cgi?id=126330
493 Unreviewed speculative Windows build fix.
495 * WebCore.vcxproj/WebCore.vcxproj:
496 - Added UserActivity.cpp/.h.
498 2014-01-06 peavo@outlook.com <peavo@outlook.com>
501 https://bugs.webkit.org/show_bug.cgi?id=126526
503 Reviewed by Brent Fulgham.
505 * WebCore.vcxproj/WebCore.vcxproj: Include UserActivity files in build.
506 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
508 2014-01-06 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
510 [Nix] Adding screenRect implementation to PlatformScreenNix
511 https://bugs.webkit.org/show_bug.cgi?id=126231
513 Reviewed by Csaba Osztrogonác.
517 * platform/nix/PlatformScreenNix.cpp:
518 (WebCore::screenRect):
520 2014-01-06 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
522 [Nix] Adding missing platform #ifs to WebCore files
523 https://bugs.webkit.org/show_bug.cgi?id=126227
525 Reviewed by Csaba Osztrogonác.
529 * loader/EmptyClients.h:
530 * page/ChromeClient.h:
531 * page/DragController.cpp:
532 (WebCore::DragController::startDrag):
533 * platform/LocalizedStrings.h:
535 2014-01-06 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
537 [Nix] Adding new strings to LocalizedStringsNix
538 https://bugs.webkit.org/show_bug.cgi?id=126228
540 Reviewed by Csaba Osztrogonác.
544 * platform/nix/LocalizedStringsNix.cpp:
545 (WebCore::submitButtonDefaultLabel):
546 (WebCore::inputElementAltText):
547 (WebCore::resetButtonDefaultLabel):
548 (WebCore::defaultDetailsSummaryText):
549 (WebCore::searchableIndexIntroduction):
550 (WebCore::fileButtonChooseFileLabel):
551 (WebCore::fileButtonChooseMultipleFilesLabel):
552 (WebCore::fileButtonNoFileSelectedLabel):
553 (WebCore::fileButtonNoFilesSelectedLabel):
554 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
555 (WebCore::contextMenuItemTagDownloadLinkToDisk):
556 (WebCore::contextMenuItemTagCopyLinkToClipboard):
557 (WebCore::contextMenuItemTagOpenImageInNewWindow):
558 (WebCore::contextMenuItemTagDownloadImageToDisk):
559 (WebCore::contextMenuItemTagCopyImageToClipboard):
560 (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
561 (WebCore::contextMenuItemTagOpenVideoInNewWindow):
562 (WebCore::contextMenuItemTagOpenAudioInNewWindow):
563 (WebCore::contextMenuItemTagDownloadVideoToDisk):
564 (WebCore::contextMenuItemTagDownloadAudioToDisk):
565 (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
566 (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
567 (WebCore::contextMenuItemTagToggleMediaControls):
568 (WebCore::contextMenuItemTagShowMediaControls):
569 (WebCore::contextMenuitemTagHideMediaControls):
570 (WebCore::contextMenuItemTagToggleMediaLoop):
571 (WebCore::contextMenuItemTagEnterVideoFullscreen):
572 (WebCore::contextMenuItemTagMediaPlay):
573 (WebCore::contextMenuItemTagMediaPause):
574 (WebCore::contextMenuItemTagMediaMute):
575 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
576 (WebCore::contextMenuItemTagCopy):
577 (WebCore::contextMenuItemTagDelete):
578 (WebCore::contextMenuItemTagSelectAll):
579 (WebCore::contextMenuItemTagUnicode):
580 (WebCore::contextMenuItemTagInputMethods):
581 (WebCore::contextMenuItemTagGoBack):
582 (WebCore::contextMenuItemTagGoForward):
583 (WebCore::contextMenuItemTagStop):
584 (WebCore::contextMenuItemTagReload):
585 (WebCore::contextMenuItemTagCut):
586 (WebCore::contextMenuItemTagPaste):
587 (WebCore::contextMenuItemTagNoGuessesFound):
588 (WebCore::contextMenuItemTagIgnoreSpelling):
589 (WebCore::contextMenuItemTagLearnSpelling):
590 (WebCore::contextMenuItemTagSearchWeb):
591 (WebCore::contextMenuItemTagLookUpInDictionary):
592 (WebCore::contextMenuItemTagOpenLink):
593 (WebCore::contextMenuItemTagIgnoreGrammar):
594 (WebCore::contextMenuItemTagSpellingMenu):
595 (WebCore::contextMenuItemTagShowSpellingPanel):
596 (WebCore::contextMenuItemTagCheckSpelling):
597 (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
598 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
599 (WebCore::contextMenuItemTagFontMenu):
600 (WebCore::contextMenuItemTagBold):
601 (WebCore::contextMenuItemTagItalic):
602 (WebCore::contextMenuItemTagUnderline):
603 (WebCore::contextMenuItemTagOutline):
604 (WebCore::contextMenuItemTagInspectElement):
605 (WebCore::contextMenuItemTagRightToLeft):
606 (WebCore::contextMenuItemTagLeftToRight):
607 (WebCore::contextMenuItemTagWritingDirectionMenu):
608 (WebCore::contextMenuItemTagTextDirectionMenu):
609 (WebCore::contextMenuItemTagDefaultDirection):
610 (WebCore::searchMenuNoRecentSearchesText):
611 (WebCore::searchMenuRecentSearchesText):
612 (WebCore::searchMenuClearRecentSearchesText):
613 (WebCore::AXDefinitionText):
614 (WebCore::AXDescriptionListText):
615 (WebCore::AXDescriptionListTermText):
616 (WebCore::AXDescriptionListDetailText):
617 (WebCore::AXFooterRoleDescriptionText):
618 (WebCore::AXSearchFieldCancelButtonText):
619 (WebCore::AXButtonActionVerb):
620 (WebCore::AXRadioButtonActionVerb):
621 (WebCore::AXTextFieldActionVerb):
622 (WebCore::AXCheckedCheckBoxActionVerb):
623 (WebCore::AXUncheckedCheckBoxActionVerb):
624 (WebCore::AXLinkActionVerb):
625 (WebCore::unknownFileSizeText):
626 (WebCore::imageTitle):
627 (WebCore::AXListItemActionVerb):
628 (WebCore::localizedMediaControlElementString):
629 (WebCore::localizedMediaControlElementHelpText):
630 (WebCore::localizedMediaTimeDescription):
631 (WebCore::mediaElementLoadingStateText):
632 (WebCore::mediaElementLiveBroadcastStateText):
633 (WebCore::validationMessagePatternMismatchText):
634 (WebCore::validationMessageRangeOverflowText):
635 (WebCore::validationMessageRangeUnderflowText):
636 (WebCore::validationMessageStepMismatchText):
637 (WebCore::validationMessageTooLongText):
638 (WebCore::validationMessageTypeMismatchText):
639 (WebCore::validationMessageTypeMismatchForEmailText):
640 (WebCore::validationMessageTypeMismatchForMultipleEmailText):
641 (WebCore::validationMessageTypeMismatchForURLText):
642 (WebCore::validationMessageValueMissingText):
643 (WebCore::validationMessageValueMissingForCheckboxText):
644 (WebCore::validationMessageValueMissingForFileText):
645 (WebCore::validationMessageValueMissingForMultipleFileText):
646 (WebCore::validationMessageValueMissingForRadioText):
647 (WebCore::validationMessageValueMissingForSelectText):
648 (WebCore::validationMessageBadInputForNumberText):
649 (WebCore::missingPluginText):
650 (WebCore::AXMenuListPopupActionVerb):
651 (WebCore::AXMenuListActionVerb):
652 (WebCore::multipleFileUploadText):
653 (WebCore::crashedPluginText):
654 (WebCore::blockedPluginByContentSecurityPolicyText):
655 (WebCore::insecurePluginVersionText):
656 (WebCore::inactivePluginText):
657 (WebCore::unacceptableTLSCertificate):
658 (WebCore::textTrackClosedCaptionsText):
659 (WebCore::textTrackSubtitlesText):
660 (WebCore::textTrackOffMenuItemText):
661 (WebCore::textTrackAutomaticMenuItemText):
662 (WebCore::textTrackNoLabelText):
663 (WebCore::snapshottedPlugInLabelTitle):
664 (WebCore::snapshottedPlugInLabelSubtitle):
666 2014-01-06 László Langó <lango@inf.u-szeged.hu>
668 Use unsigned consistently, and check for invalid casts when calling into SharedBuffer from other code.
669 https://bugs.webkit.org/show_bug.cgi?id=124579
671 Reviewed by Anders Carlsson.
674 * loader/NetscapePlugInStreamLoader.cpp:
675 (WebCore::NetscapePlugInStreamLoader::didReceiveData):
676 * loader/NetscapePlugInStreamLoader.h:
677 * loader/PingLoader.h:
678 * loader/ResourceBuffer.cpp:
679 (WebCore::ResourceBuffer::ResourceBuffer):
680 * loader/ResourceBuffer.h:
681 (WebCore::ResourceBuffer::create):
682 * loader/ResourceLoader.cpp:
683 (WebCore::ResourceLoader::addDataOrBuffer):
684 (WebCore::ResourceLoader::didReceiveData):
685 (WebCore::ResourceLoader::didReceiveDataOrBuffer):
686 (WebCore::ResourceLoader::willStopBufferingData):
687 * loader/ResourceLoader.h:
688 * loader/SubresourceLoader.cpp:
689 (WebCore::SubresourceLoader::didReceiveData):
690 * loader/SubresourceLoader.h:
691 * loader/appcache/ApplicationCacheGroup.cpp:
692 (WebCore::ApplicationCacheGroup::didReceiveData):
693 * loader/appcache/ApplicationCacheGroup.h:
694 * loader/mac/ResourceLoaderMac.mm:
695 (WebCore::ResourceLoader::didReceiveDataArray):
696 * platform/SharedBuffer.cpp:
697 (WebCore::SharedBuffer::SharedBuffer):
698 * platform/SharedBuffer.h:
699 (WebCore::SharedBuffer::create):
700 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
701 (ResourceHandleStreamingClient::didReceiveData):
702 * platform/network/BlobResourceHandle.cpp:
703 * platform/network/ResourceHandleClient.h:
704 (WebCore::ResourceHandleClient::didReceiveData):
705 (WebCore::ResourceHandleClient::willStopBufferingData):
706 * platform/network/SynchronousLoaderClient.cpp:
707 (WebCore::SynchronousLoaderClient::didReceiveData):
708 * platform/network/SynchronousLoaderClient.h:
709 * platform/network/blackberry/BlobStream.cpp:
710 (WebCore::BlobStream::didReceiveData):
711 * platform/network/blackberry/BlobStream.h:
712 * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
713 (WebCore::WebCoreSynchronousLoader::didReceiveData):
714 * platform/network/curl/ResourceHandleCurl.cpp:
715 (WebCore::WebCoreSynchronousLoader::didReceiveData):
716 * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
717 (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
718 * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
719 (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willStopBufferingData:]):
720 * platform/network/soup/ResourceHandleSoup.cpp:
721 (WebCore::WebCoreSynchronousLoader::didReceiveData):
722 * platform/network/win/ResourceHandleWin.cpp:
723 (WebCore::WebCoreSynchronousLoader::didReceiveData):
725 2014-01-06 Andreas Kling <akling@apple.com>
727 RenderBlock::clone() should return RenderPtr.
728 <https://webkit.org/b/126513>
730 Reviewed by Antti Koivisto.
732 * rendering/RenderBlock.h:
733 * rendering/RenderBlock.cpp:
734 (WebCore::RenderBlock::clone):
736 Tweaked to return RenderPtr<RenderBlock>.
738 (WebCore::RenderBlock::splitBlocks):
740 Store cloned RenderBlocks in RenderPtrs. Use leakPtr() to sink
741 them into ownership-taking APIs that still use raw pointers.
743 * rendering/RenderPtr.h:
745 Add a simple static_pointer_cast for RenderPtr&&.
747 2014-01-06 Andreas Kling <akling@apple.com>
749 RenderInline::clone() should return RenderPtr.
750 <https://webkit.org/b/126514>
752 Reviewed by Antti Koivisto.
754 * rendering/RenderInline.h:
755 * rendering/RenderInline.cpp:
756 (WebCore::RenderInline::clone):
758 Tweaked to return RenderPtr<RenderInline>.
760 (WebCore::RenderInline::splitInlines):
762 Store cloned RenderInlines in RenderPtrs. Use leakPtr() to sink
763 them into ownership-taking APIs that still use raw pointers.
765 2014-01-06 Gurpreet Kaur <k.gurpreet@samsung.com>
767 <hr> appears gray instead of green because of color attribute is defined followed by noshade attribute
768 https://bugs.webkit.org/show_bug.cgi?id=17674
770 Reviewed by Simon Fraser.
772 The noshade attribute is a boolean attribute and when set on hr element
773 it shows a gray color. When there is color attribute the default gray
774 color should be replaced by the color mentioned by the color attribute.
775 Firefox and IE show the same behaviour but Webkit is different. Making
776 the behaviour of Webkit similiar to Firefox and IE's behaviour.
778 Test: fast/dom/HTMLHrElement/hr-color-noshade-attribute.html
780 * html/HTMLHRElement.cpp:
781 (WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
782 When the color attribute is present that value is applied and the
783 default gray color is ignored. Incase of no color attribute the default
784 gray color is applied.
786 2014-01-06 Mark Rowe <mrowe@apple.com>
788 <https://webkit.org/b/126499> Move WebKit off the legacy WebKit availability macros
790 The legacy WebKit availability macros are verbose, confusing, and provide no benefit
791 over using the system availability macros directly. The original vision was that
792 they'd serve a cross-platform purpose but that never came to be.
794 Since WebKit1 is API on OS X but SPI on iOS, some indirection is still needed in the
795 availability macros to allow the headers to advertise the API as unavailable on OS X
796 without interfering with the ability to build on iOS. This is achieved by defining
797 WEBKIT-prefixed versions of the Foundation availability macros that are defined to
798 their NS-prefixed equivalents. The installed headers are post-processed to map these
799 macros back to their Foundation equivalents.
801 Part of <rdar://problem/15512304>.
803 Reviewed by Sam Weinig.
805 * WebCore.xcodeproj/project.pbxproj:
806 * bindings/objc/WebKitAvailability.h: Added. This lives at the WebCore level since it
807 will be needed by the Objective-C DOM bindings.
809 2014-01-05 Simon Fraser <simon.fraser@apple.com>
811 Move responsibility for remote layer tree committing to RemoteLayerTreeDrawingArea
812 https://bugs.webkit.org/show_bug.cgi?id=126501
814 Reviewed by Sam Weinig.
816 Add type-safe casting to GraphicsLayer.
818 * platform/graphics/GraphicsLayer.h:
819 (WebCore::GraphicsLayer::isGraphicsLayerCA):
820 (WebCore::GraphicsLayer::isGraphicsLayerCARemote):
821 * platform/graphics/ca/GraphicsLayerCA.h:
822 (WebCore::GraphicsLayerCA::isGraphicsLayerCA):
824 2014-01-05 Martin Robinson <mrobinson@igalia.com>
826 [GTK] [CMake] Ensure that the autotools build and the CMake install the same files
827 https://bugs.webkit.org/show_bug.cgi?id=116379
829 Reviewed by Gustavo Noronha Silva.
831 * PlatformGTK.cmake: Reformat some install directives to be consistent with the rest of them.
832 Install the GObject DOM bindings headers.
834 2014-01-05 Andreas Kling <akling@apple.com>
836 Use lineageOfType to simplify two rendering helpers.
837 <https://webkit.org/b/126498>
839 Reviewed by Antti Koivisto.
841 * rendering/RenderRuby.cpp:
842 (WebCore::findRubyRunParent):
843 * rendering/svg/SVGRenderSupport.cpp:
844 (WebCore::SVGRenderSupport::findTreeRootObject):
846 Simplify two functions that walk their parent chain to find the
847 closest ancestor of a certain type.
849 * rendering/RenderRubyRun.h:
851 Add requisite isRendererOfType<RenderRubyRun>().
853 2014-01-05 Csaba Osztrogonác <ossy@webkit.org>
855 Fix the Mac build too.
857 * page/PageThrottler.h:
859 2014-01-05 Csaba Osztrogonác <ossy@webkit.org>
861 Weekend URTBF after r161319 to make non Mac builds work again.
863 * page/PageThrottler.h:
865 2014-01-05 Gavin Barraclough <barraclough@apple.com>
867 Move process suppression of WebProcess to Page (from UIProcess)
868 https://bugs.webkit.org/show_bug.cgi?id=126480
870 Reviewed by Sam Weinig.
872 Let each page take a UserActivity rather than having to coalesce this state, and take different activity
873 tokens for normal visibility and suppression disabled, so we can see why the process is not suppressed.
877 (WebCore::Page::setIsVisuallyIdle):
879 - setThrottled -> setIsVisuallyIdle.
880 * page/PageThrottler.cpp:
881 (WebCore::PageThrottler::PageThrottler):
882 - Initialize m_visuallyNonIdle.
883 (WebCore::PageThrottler::~PageThrottler):
884 - setThrottled -> setIsVisuallyIdle.
885 (WebCore::PageThrottler::setIsVisuallyIdle):
886 - Use m_visuallyNonIdle to disable supression when the page is not visually idle.
887 * page/PageThrottler.h:
888 - setThrottled -> setIsVisuallyIdle, added m_visuallyNonIdle.
890 2014-01-04 Sam Weinig <sam@webkit.org>
892 Move a few more functions from RenderBlock to RenderBlockFlow
893 https://bugs.webkit.org/show_bug.cgi?id=126494
895 Reviewed by Andreas Kling.
897 * rendering/RenderBlock.h:
898 * rendering/RenderBlockFlow.h:
899 (WebCore::RenderBlockFlow::adjustInlineDirectionLineBounds):
900 * rendering/RenderBlockLineLayout.cpp:
901 (WebCore::RenderBlockFlow::textAlignmentForLine):
902 (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
903 (WebCore::RenderBlockFlow::startAlignedOffsetForLine):
904 These are only used by RenderBlockFlow, so move them there.
906 2014-01-04 Simon Fraser <simon.fraser@apple.com>
908 Prepare the ScrollingTree for remote use
909 https://bugs.webkit.org/show_bug.cgi?id=126493
911 Reviewed by Sam Weinig.
913 When committing the scrolling tree, we clone the ScrollingStateTree
914 to hand off to another thread, or (in future) to encode to send to the
915 UI process. During this cloning process, two types of layer transformations
916 take place: for threaded scrolling, we replace GraphicsLayer with PlatformLayers.
917 For remote scrolling, we'll replace GraphicsLayers with PlatformLayerIDs.
918 Allow the ScrollingCoordinator to specify which type of transformation occurs
919 by giving ScrollingStateTree a LayerRepresentation::Type member,
920 which is consulted during ScrollingStateNode cloning.
922 Also only copy layers that have changed to avoid setting dirty bits.
924 Expose some other stuff on ScrollingStateTree which will be needed for
927 * page/scrolling/ScrollingStateFixedNode.cpp:
928 (WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
929 * page/scrolling/ScrollingStateNode.cpp:
930 (WebCore::ScrollingStateNode::ScrollingStateNode):
931 * page/scrolling/ScrollingStateNode.h:
932 (WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
933 (WebCore::LayerRepresentation::toRepresentation):
934 (WebCore::ScrollingStateNode::changedProperties):
935 (WebCore::ScrollingStateNode::setChangedProperties):
936 (WebCore::ScrollingStateNode::parentNodeID):
937 * page/scrolling/ScrollingStateScrollingNode.cpp:
938 (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
939 * page/scrolling/ScrollingStateStickyNode.cpp:
940 (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
941 * page/scrolling/ScrollingStateTree.cpp:
942 (WebCore::ScrollingStateTree::ScrollingStateTree):
943 (WebCore::ScrollingStateTree::commit):
944 (WebCore::ScrollingStateTree::setRemovedNodes):
945 (WebCore::ScrollingStateTree::stateNodeForID):
946 * page/scrolling/ScrollingStateTree.h:
947 (WebCore::ScrollingStateTree::nodeCount):
948 (WebCore::ScrollingStateTree::nodeMap):
949 (WebCore::ScrollingStateTree::preferredLayerRepresentation):
950 (WebCore::ScrollingStateTree::setPreferredLayerRepresentation):
951 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
952 (WebCore::ScrollingCoordinatorMac::commitTreeState):
954 2014-01-04 Sam Weinig <sam@webkit.org>
956 Move LineBreaker functions to LineBreaker.cpp
957 https://bugs.webkit.org/show_bug.cgi?id=126491
959 Reviewed by Simon Fraser.
961 - Moves LineBreaker::nextLineBreak() and LineBreaker::nextSegmentBreak() to
962 LineBreaker.cpp from RenderBlockLineLayout.cpp
963 - Moves requiresIndent() to LineWidth.h/cpp from RenderBlockLineLayout.cpp
965 - Adds missing inline specifier to BreakingContext::handleEndOfLine() to avoid
968 * rendering/RenderBlockLineLayout.cpp:
969 (WebCore::updateLogicalInlinePositions):
970 (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
971 * rendering/line/BreakingContextInlineHeaders.h:
972 (WebCore::BreakingContext::handleEndOfLine):
973 * rendering/line/LineBreaker.cpp:
974 (WebCore::LineBreaker::nextLineBreak):
975 (WebCore::LineBreaker::nextSegmentBreak):
976 * rendering/line/LineWidth.cpp:
977 (WebCore::requiresIndent):
978 * rendering/line/LineWidth.h:
980 2014-01-04 Martin Robinson <mrobinson@igalia.com>
982 [GTK] [CMake] Fix the video and audio build
983 https://bugs.webkit.org/show_bug.cgi?id=126464
985 Reviewed by Philippe Normand.
987 * PlatformGTK.cmake: Complete the audio and video source lists.
989 2014-01-04 Zan Dobersek <zdobersek@igalia.com>
991 Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
992 https://bugs.webkit.org/show_bug.cgi?id=126439
994 Reviewed by Andreas Kling.
996 Instead of relying on std::pair and std::make_pair symbols being present in the current scope
997 through the pair and make_pair symbols, the std:: specifier should be used explicitly.
999 * Modules/webdatabase/DatabaseTracker.cpp:
1000 (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
1001 * accessibility/AXObjectCache.h:
1002 * accessibility/AccessibilityARIAGridCell.cpp:
1003 (WebCore::AccessibilityARIAGridCell::rowIndexRange):
1004 (WebCore::AccessibilityARIAGridCell::columnIndexRange):
1005 * accessibility/AccessibilityARIAGridCell.h:
1006 * accessibility/AccessibilityObject.h:
1007 * accessibility/AccessibilityRenderObject.cpp:
1008 (WebCore::AccessibilityRenderObject::mathPrescripts):
1009 (WebCore::AccessibilityRenderObject::mathPostscripts):
1010 * accessibility/AccessibilityTable.cpp:
1011 (WebCore::AccessibilityTable::cellForColumnAndRow):
1012 * accessibility/AccessibilityTableCell.cpp:
1013 (WebCore::AccessibilityTableCell::rowIndexRange):
1014 (WebCore::AccessibilityTableCell::columnIndexRange):
1015 * accessibility/AccessibilityTableCell.h:
1016 * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
1017 (webkitAccessibleTableGetColumnAtIndex):
1018 (webkitAccessibleTableGetRowAtIndex):
1019 (webkitAccessibleTableGetColumnExtentAt):
1020 (webkitAccessibleTableGetRowExtentAt):
1021 (webkitAccessibleTableGetColumnHeader):
1022 (webkitAccessibleTableGetRowHeader):
1023 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1024 (-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
1025 (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
1026 (-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
1027 * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
1028 (convertMathPairsToNSArray):
1029 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1030 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1031 * bindings/js/SerializedScriptValue.cpp:
1032 * dom/ContainerNode.cpp:
1033 * dom/StyledElement.cpp:
1034 (WebCore::attributeNameSort):
1035 * html/MediaFragmentURIParser.cpp:
1036 (WebCore::MediaFragmentURIParser::parseTimeFragment):
1037 * html/parser/HTMLMetaCharsetParser.h:
1038 * inspector/ContentSearchUtils.cpp:
1039 (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
1040 (WebCore::ContentSearchUtils::searchInTextByLines):
1041 * inspector/DOMPatchSupport.cpp:
1042 (WebCore::DOMPatchSupport::diff):
1043 (WebCore::DOMPatchSupport::innerPatchChildren):
1044 * inspector/DOMPatchSupport.h:
1045 * inspector/InspectorAgent.cpp:
1046 (WebCore::InspectorAgent::enable):
1047 (WebCore::InspectorAgent::evaluateForTestInFrontend):
1048 * inspector/InspectorAgent.h:
1049 * loader/FormSubmission.cpp:
1050 (WebCore::FormSubmission::create):
1051 * loader/cache/CachedImage.cpp:
1052 (WebCore::CachedImage::brokenImage):
1053 * loader/cache/CachedImage.h:
1055 (WebCore::findHostnamesInMailToURL):
1056 (WebCore::encodeHostnames):
1057 * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
1058 * platform/graphics/FontCache.cpp:
1059 (WebCore::FontCache::getCachedFontData):
1060 * platform/graphics/WidthIterator.cpp:
1061 * platform/network/HTTPHeaderMap.cpp:
1062 (WebCore::HTTPHeaderMap::adopt):
1063 * platform/network/ResourceResponseBase.cpp:
1064 (WebCore::ResourceResponseBase::parseCacheControlDirectives):
1065 (WebCore::parseCacheHeader):
1066 * platform/text/AtomicStringKeyedMRUCache.h:
1067 * platform/text/LineBreakIteratorPoolICU.h:
1068 * rendering/InlineFlowBox.h:
1069 * rendering/RenderImage.cpp:
1070 (WebCore::RenderImage::imageSizeForError):
1071 (WebCore::RenderImage::paintReplaced):
1072 * rendering/RenderTableSection.cpp:
1073 (WebCore::RenderTableSection::cachedCollapsedBorder):
1074 * rendering/RenderTableSection.h:
1075 * rendering/svg/SVGTextRunRenderingContext.cpp:
1076 (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
1077 * svg/SVGAnimatedAngle.cpp:
1078 (WebCore::SVGAnimatedAngleAnimator::constructFromString):
1079 (WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
1080 (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
1081 * svg/SVGAnimatedIntegerOptionalInteger.cpp:
1082 (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
1083 (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
1084 (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
1085 * svg/SVGAnimatedNumberOptionalNumber.cpp:
1086 (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
1087 (WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
1088 (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
1089 * svg/SVGAnimatedType.cpp:
1090 (WebCore::SVGAnimatedType::createIntegerOptionalInteger):
1091 (WebCore::SVGAnimatedType::createNumberOptionalNumber):
1092 * svg/SVGAnimatedType.h:
1093 (WebCore::SVGAnimatedType::integerOptionalInteger):
1094 (WebCore::SVGAnimatedType::numberOptionalNumber):
1095 * svg/SVGAnimatedTypeAnimator.h:
1096 (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
1097 (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
1098 * svg/SVGParserUtilities.h:
1099 * svg/animation/SMILTimeContainer.h:
1101 2014-01-03 Simon Fraser <simon.fraser@apple.com>
1103 Attempt to fix EFL build.
1105 * page/scrolling/ScrollingStateTree.cpp:
1106 (WebCore::ScrollingStateTree::setHasChangedProperties):
1108 2014-01-03 Simon Fraser <simon.fraser@apple.com>
1110 Clean up the means of committing the scrolling state tree
1111 https://bugs.webkit.org/show_bug.cgi?id=126482
1113 Reviewed by Tim Horton.
1115 ScrollingStateNodes would manually call scrollingStateTree().setHasChangedProperties()
1116 after setPropertyChanged() in lots of places, which was repetitive, and
1117 AsyncScrollingCoordinator manually called scheduleTreeStateCommit() in many places.
1119 Clean up both of these with a clearer trigger for state tree commits.
1120 ScrollingStateNodes::setPropertyChanged() calls ScrollingStateTree::setHasChangedProperties(),
1121 which turns around and tells the ScrollingCoordinator that the state tree became dirty.
1123 * page/scrolling/AsyncScrollingCoordinator.cpp:
1124 (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
1125 (WebCore::AsyncScrollingCoordinator::scrollingStateTreePropertiesChanged):
1126 (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
1127 (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
1128 (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
1129 (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
1130 (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
1131 (WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
1132 (WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
1133 (WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
1134 (WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
1135 (WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
1136 (WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
1137 (WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
1138 (WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
1139 * page/scrolling/AsyncScrollingCoordinator.h:
1140 * page/scrolling/ScrollingStateFixedNode.cpp:
1141 (WebCore::ScrollingStateFixedNode::updateConstraints):
1142 * page/scrolling/ScrollingStateNode.cpp:
1143 (WebCore::ScrollingStateNode::setPropertyChanged):
1144 (WebCore::ScrollingStateNode::setLayer):
1145 * page/scrolling/ScrollingStateNode.h:
1146 * page/scrolling/ScrollingStateScrollingNode.cpp:
1147 (WebCore::ScrollingStateScrollingNode::setViewportRect):
1148 (WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
1149 (WebCore::ScrollingStateScrollingNode::setScrollOrigin):
1150 (WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters):
1151 (WebCore::ScrollingStateScrollingNode::setFrameScaleFactor):
1152 (WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
1153 (WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
1154 (WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
1155 (WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
1156 (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
1157 (WebCore::ScrollingStateScrollingNode::setHeaderHeight):
1158 (WebCore::ScrollingStateScrollingNode::setFooterHeight):
1159 (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
1160 (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
1161 (WebCore::ScrollingStateScrollingNode::setFooterLayer):
1162 * page/scrolling/ScrollingStateStickyNode.cpp:
1163 (WebCore::ScrollingStateStickyNode::updateConstraints):
1164 * page/scrolling/ScrollingStateTree.cpp:
1165 (WebCore::ScrollingStateTree::create):
1166 (WebCore::ScrollingStateTree::ScrollingStateTree):
1167 (WebCore::ScrollingStateTree::setHasChangedProperties):
1168 (WebCore::ScrollingStateTree::didRemoveNode):
1169 * page/scrolling/ScrollingStateTree.h:
1170 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1171 (WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
1172 * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
1173 (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
1175 2014-01-03 Simon Fraser <simon.fraser@apple.com>
1177 Try to fix CoordinatedGraphics build after r161303. Remove implementations
1178 which are now in the cross-platform file.
1180 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
1181 (WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
1182 (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
1183 * page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp:
1184 * page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp:
1186 2014-01-03 Simon Fraser <simon.fraser@apple.com>
1188 Simplify ScrollingStateNode references to various layer types
1189 https://bugs.webkit.org/show_bug.cgi?id=126477
1191 Reviewed by Tim Horton.
1193 ScrollingStateNodes referenced both GraphicsLayer and PlatformLayers, in
1194 confusing ways. In the main thread they have a GraphicsLayer*, but need
1195 to check to see if the underlying PlatformLayer changed. Then, when
1196 cloned to commit to the scrolling thread, they drop the GraphicsLayer
1197 and store a PlatformLayer.
1199 Hide the complexity (and prepare for the future) by adding LayerRepresentation,
1200 which wraps various different flavors of layers, and knows how to check whether
1201 the PlatformLayer underlying a GraphicsLayer changed.
1203 ScrollingStateNode layer setters then just take and compare LayerRepresentations.
1204 Copy constructors convert to a PlatformLayer representation (though not really
1205 in the right place currently), and ScrollingTreeNodes get PlatformLayers.
1207 * page/scrolling/AsyncScrollingCoordinator.cpp:
1208 (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
1209 (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
1210 * page/scrolling/ScrollingStateFixedNode.cpp:
1211 (WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
1212 * page/scrolling/ScrollingStateNode.cpp:
1213 (WebCore::ScrollingStateNode::ScrollingStateNode):
1214 (WebCore::ScrollingStateNode::setLayer):
1215 * page/scrolling/ScrollingStateNode.h:
1216 (WebCore::LayerRepresentation::LayerRepresentation):
1217 (WebCore::LayerRepresentation::operator GraphicsLayer*):
1218 (WebCore::LayerRepresentation::operator PlatformLayer*):
1219 (WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
1220 (WebCore::LayerRepresentation::operator ==):
1221 (WebCore::LayerRepresentation::toPlatformLayer):
1222 (WebCore::LayerRepresentation::representsGraphicsLayer):
1223 (WebCore::LayerRepresentation::representsPlatformLayer):
1224 (WebCore::LayerRepresentation::representsPlatformLayerID):
1225 (WebCore::ScrollingStateNode::layer):
1226 * page/scrolling/ScrollingStateScrollingNode.cpp:
1227 (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
1228 (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
1229 (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
1230 (WebCore::ScrollingStateScrollingNode::setFooterLayer):
1231 * page/scrolling/ScrollingStateScrollingNode.h:
1232 * page/scrolling/ScrollingStateStickyNode.cpp:
1233 (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
1234 * page/scrolling/mac/ScrollingStateNodeMac.mm:
1235 * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
1236 * page/scrolling/mac/ScrollingTreeFixedNode.mm:
1237 (WebCore::ScrollingTreeFixedNode::updateBeforeChildren):
1238 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1239 (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
1240 * page/scrolling/mac/ScrollingTreeStickyNode.mm:
1241 (WebCore::ScrollingTreeStickyNode::updateBeforeChildren):
1243 2014-01-03 Brent Fulgham <bfulgham@apple.com>
1245 [WebGL] Blit operation from Multisample FBO to rendering FBO must ignore GL_SCISSOR test
1246 https://bugs.webkit.org/show_bug.cgi?id=126470
1247 <rdar://problem/15201370>
1249 Reviewed by Dean Jackson.
1251 Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html
1253 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1254 (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Temporarily deactivate the GL_SCISSOR
1255 test while we do our blit, then reactivate if necessary.
1257 2014-01-03 Brent Fulgham <bfulgham@apple.com>
1259 [WebGL] CGLPixelFormat should specify SampleBuffer and Sample count when using MSAA
1260 https://bugs.webkit.org/show_bug.cgi?id=126468
1262 Reviewed by Dean Jackson.
1264 Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html
1266 * platform/graphics/mac/GraphicsContext3DMac.mm:
1267 (WebCore::setPixelFormat): Add kCGLPFAMultisample, kCGLPFASampleBuffers (and count), and
1268 kCGLPFASamples (and count) to our pixel format when 'antialias=true'.
1269 (WebCore::GraphicsContext3D::GraphicsContext3D): Pass a new 'antialias' flag to the setPixelFormat
1270 method so we can turn on MSAA features when needed.
1272 2014-01-03 Simon Fraser <simon.fraser@apple.com>
1274 Give all PlatformCALayers a PlatformLayerID, not just remote ones
1275 https://bugs.webkit.org/show_bug.cgi?id=126466
1277 Reviewed by Tim Horton.
1279 The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
1280 which is confusing, and is necessary because the underlying PlatformLayer
1281 inside a GraphicsLayer can change. In order to hide some of this complexity,
1282 expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
1283 can hold onto to test for underlying layer swapping.
1285 Also constify LayerType m_layerType on PlatformCALayer, which required
1286 cleaning up the construction of PlatformCALayerMac in the case where a
1287 PlatformCALayerMac is wrapping an existing CALayer (which happens for video).
1290 * platform/graphics/GraphicsLayer.h:
1291 (WebCore::GraphicsLayer::primaryLayerID):
1292 * platform/graphics/ca/GraphicsLayerCA.cpp:
1293 (WebCore::GraphicsLayerCA::primaryLayerID):
1294 * platform/graphics/ca/GraphicsLayerCA.h:
1295 * platform/graphics/ca/PlatformCALayer.cpp:
1296 (WebCore::generateLayerID):
1297 (WebCore::PlatformCALayer::PlatformCALayer):
1298 * platform/graphics/ca/PlatformCALayer.h:
1299 (WebCore::PlatformCALayer::layerID):
1300 * platform/graphics/ca/mac/PlatformCALayerMac.h:
1301 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1302 (PlatformCALayerMac::create):
1303 (PlatformCALayerMac::PlatformCALayerMac):
1304 (PlatformCALayerMac::commonInit):
1306 2014-01-03 Andreas Kling <akling@apple.com>
1308 Add lineageOfType renderer iterator and start using it.
1309 <https://webkit.org/b/126456>
1311 Add a convenient way to iterate over a renderers ancestry *including*
1312 the starting point renderer (if it meets the type criteria.)
1314 This works just like lineageOfType for Elements.
1316 Reviewed by Geoffrey Garen.
1318 * rendering/RenderAncestorIterator.h:
1319 (WebCore::lineageOfType):
1321 Added. Returns an adapter for walking a renderer's entire lineage
1322 matching any renderer of the given type.
1324 * rendering/RenderBoxModelObject.h:
1325 * rendering/RenderLayerModelObject.h:
1327 Add the requisite isRendererOfType<T> helpers.
1329 * rendering/RenderBox.cpp:
1330 (WebCore::RenderBox::enclosingFloatPaintingLayer):
1331 * rendering/RenderObject.cpp:
1332 (WebCore::RenderObject::enclosingLayer):
1333 (WebCore::RenderObject::enclosingBox):
1334 (WebCore::RenderObject::enclosingBoxModelObject):
1336 Simplify with lineageOfType. Added some FIXMEs about functions
1337 that should return references instead of pointers.
1339 2014-01-03 Martin Robinson <mrobinson@igalia.com>
1341 Small build fix for the GTK+ CMake port
1343 * PlatformGTK.cmake: Add an IDL file that is missing from the list of IDLs
1344 used to generate GObject DOM bindings.
1346 2014-01-03 Daniel Bates <dabates@apple.com>
1348 [iOS] Upstream WebCore/css changes
1349 https://bugs.webkit.org/show_bug.cgi?id=126237
1351 Reviewed by Simon Fraser.
1353 * css/CSSComputedStyleDeclaration.cpp:
1354 (WebCore::ComputedStyleExtractor::propertyValue): Added iOS-specific code and FIXME comment.
1355 * css/CSSParser.cpp:
1356 (WebCore::CSSParserContext::CSSParserContext): Ditto.
1357 (WebCore::CSSParser::parseValue): Ditto.
1358 * css/CSSPropertyNames.in: Added property -webkit-composition-fill-color. Also added FIXME comment.
1359 * css/CSSValueKeywords.in: Added iOS-specific -apple-system-* values.
1360 * css/DeprecatedStyleBuilder.cpp:
1361 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Added iOS-specific code and FIXME comments.
1362 * css/MediaFeatureNames.h: Added media feature -webkit-video-playable-inline.
1363 * css/MediaQueryEvaluator.cpp:
1364 (WebCore::isRunningOnIPhoneOrIPod): Added. Also added FIXME comment.
1365 (WebCore::video_playable_inlineMediaFeatureEval): Added.
1366 * css/StyleResolver.cpp:
1367 (WebCore::StyleResolver::canShareStyleWithElement): Substitute toHTMLMediaElement() for toMediaElement().
1368 (WebCore::StyleResolver::applyProperty): Added iOS-specific code and FIXME comment.
1369 * css/html.css: Added iOS-specific CSS styles.
1370 (input, textarea, keygen, select, button, isindex):
1372 (input[type="date"]):
1373 (input[type="datetime"]):
1374 (input[type="datetime-local"]):
1375 (input[type="month"]):
1376 (input[type="time"]):
1378 (input:-webkit-autofill):
1379 (input[type="radio"], input[type="checkbox"]):
1380 (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
1381 (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
1382 (input[type="range"]::-webkit-slider-thumb:active):
1383 (input:disabled, textarea:disabled):
1384 (input[readonly], textarea[readonly]):
1385 (textarea::-webkit-input-placeholder):
1386 (input[type="checkbox"]):
1387 (input[type="radio"]):
1388 (input[type="checkbox"]:checked, input[type="radio"]:checked):
1389 (input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled):
1392 * css/mathml.css: Added iOS-specific CSS styles.
1393 (math, mfenced > *):
1395 * css/mediaControlsiOS.css: Added.
1396 * css/svg.css: Added iOS-specific CSS styles.
1397 (text, tspan, tref):
1399 2014-01-03 Brent Fulgham <bfulgham@apple.com>
1401 [WebGL] glScissor test is not accounted for when generating internal rendering textures.
1402 https://bugs.webkit.org/show_bug.cgi?id=126455
1403 <rdar://problem/15744206>
1405 Reviewed by Dean Jackson.
1407 Covered by webgl/1.0.2/conformance/rendering/gl-scissor-test.html
1409 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1410 (WebCore::GraphicsContext3D::prepareTexture): Check state of GL_SCISSOR_TEST and GL_DITHER, deactivate them during
1411 our internal drawing, then turn them back on for further processing.
1413 2014-01-03 Simon Fraser <simon.fraser@apple.com>
1415 Maybe fix Windows build.
1417 * WebCore.vcxproj/copyForwardingHeaders.cmd:
1419 2014-01-03 Jer Noble <jer.noble@apple.com>
1421 [MediaControls][iOS] Enable JavaScript Media Controls on iOS.
1422 https://bugs.webkit.org/show_bug.cgi?id=126440
1424 Reviewed by Eric Carlson.
1426 Drive-by misspelling fix, and add a convenience function to check if the
1427 controls are currently hidden:
1428 * Modules/mediacontrols/mediaControlsApple.js:
1429 (Controller.prototype.handleWrapperMouseMove):
1430 (Controller.prototype.handleWrapperMouseOut):
1431 (Controller.prototype.updatePlaying):
1432 (Controller.prototype.controlsAreHidden): Added.
1434 Add a new subclass of Controller for iOS and a matching CSS:
1435 * Modules/mediacontrols/mediaControlsiOS.css: Added.
1436 * Modules/mediacontrols/mediaControlsiOS.js: Added.
1437 (createControls): Override the createControls() in mediaControlsApple.js.
1438 (ControllerIOS): Define a new class.
1439 (ControllerIOS.prototype.inheritFrom): Convenience method to mixin parent
1441 (ControllerIOS.prototype.createBase): Override, listen for touches instead of mouse events.
1442 (ControllerIOS.prototype.createControls): Ditto.
1443 (ControllerIOS.prototype.configureInlineControls): Override, only add play, timeline, and full
1445 (ControllerIOS.prototype.configureFullScreenControls): Override, and add no buttons.
1446 (ControllerIOS.prototype.handlePlayButtonTouchStart): Activate.
1447 (ControllerIOS.prototype.handlePlayButtonTouchEnd): De-activate and do action.
1448 (ControllerIOS.prototype.handlePlayButtonTouchCancel): De-activate and cancel.
1449 (ControllerIOS.prototype.handleWrapperTouchStart): Show controls.
1450 (ControllerIOS.prototype.handlePanelTouchStart): Disable video selection.
1451 (ControllerIOS.prototype.handlePanelTouchEnd): Re-enable video selection.
1452 (ControllerIOS.prototype.handlePanelTouchCancel): Ditto.
1454 Drive-by fix to enable the JavaScript controls when the plugin is disabled:
1455 * html/HTMLMediaElement.cpp:
1456 (WebCore::HTMLMediaElement::parseAttribute):
1458 Add the iOS JavaScript by appending it to the generic (Apple) JavaScript:
1459 * rendering/RenderThemeIOS.mm:
1460 (WebCore::RenderThemeIOS::mediaControlsScript):
1462 Add new files to project:
1463 * DerivedSources.make:
1464 * WebCore.xcodeproj/project.pbxproj:
1466 2014-01-03 Simon Fraser <simon.fraser@apple.com>
1468 Allow the ChromeClient to provide a custom ScrollingCoordinator
1469 https://bugs.webkit.org/show_bug.cgi?id=126450
1471 Reviewed by Tim Horton.
1473 Some platforms will want to provide a custom ScrollingCoordinator, so let
1474 them do so by asking ChromeClient first for one.
1476 * page/ChromeClient.h:
1477 (WebCore::ChromeClient::createScrollingCoordinator):
1479 (WebCore::Page::scrollingCoordinator):
1481 2014-01-03 Andreas Kling <akling@apple.com>
1483 Deploy more child renderer iterators in RenderBlockFlow.
1484 <https://webkit.org/b/126434>
1486 Reviewed by Sam Weinig.
1488 * rendering/RenderBlockFlow.cpp:
1489 (WebCore::shouldCheckLines):
1491 Make this helper take a RenderBlockFlow instead of a RenderObject
1492 and simplified it a bit. RenderDeprecatedFlexibleBox does not
1493 derive from RenderBlockFlow so those checks can be omitted.
1495 (WebCore::RenderBlockFlow::layoutBlock):
1496 (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
1497 (WebCore::RenderBlockFlow::lineAtIndex):
1498 (WebCore::RenderBlockFlow::lineCount):
1499 (WebCore::RenderBlockFlow::clearTruncation):
1501 Use childrenOfType to iterate over block and block-flow children.
1502 Tweaked some early return/continue to reduce nesting.
1504 2014-01-03 Simon Fraser <simon.fraser@apple.com>
1506 Allow different types of ScrollingTrees to have different types of ScrollingTreeNode subclasses
1507 https://bugs.webkit.org/show_bug.cgi?id=126445
1509 Reviewed by Tim Horton.
1511 Make it possible to have ScrollingTree subclasses with different subclasses of ScrollingTreeNodes,
1512 by giving ScrollingTree a pure virtual createNode() function. ThreadedScrollingTree implements
1513 this, and then delegates node creation to its AsyncScrollingCoordinator (since we have
1514 a ScrollingCoordinatorMac but no real need for a ThreadedScrollingTreeMac).
1516 Also made ThreadedScrollingTree's m_scrollingCoordinator an AsyncScrollingCoordinator,
1517 since by definition a threaded scrolling tree uses an async coordinator.
1519 * page/scrolling/AsyncScrollingCoordinator.h:
1520 * page/scrolling/ScrollingTree.cpp:
1521 (WebCore::ScrollingTree::updateTreeFromStateNode):
1522 * page/scrolling/ScrollingTree.h:
1523 * page/scrolling/ScrollingTreeScrollingNode.h:
1524 * page/scrolling/ThreadedScrollingTree.cpp:
1525 (WebCore::ThreadedScrollingTree::create):
1526 (WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
1527 (WebCore::ThreadedScrollingTree::createNode):
1528 * page/scrolling/ThreadedScrollingTree.h:
1529 * page/scrolling/mac/ScrollingCoordinatorMac.h:
1530 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1531 (WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):
1532 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
1533 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1534 (WebCore::ScrollingTreeScrollingNodeMac::create):
1536 2014-01-03 Gavin Barraclough <barraclough@apple.com>
1538 Refactor NSActivity handling code from ChildProcess to UserActivity
1539 https://bugs.webkit.org/show_bug.cgi?id=126330
1541 Unreviewed build fix.
1543 * platform/UserActivity.h:
1546 2014-01-02 Gavin Barraclough <barraclough@apple.com>
1548 Refactor NSActivity handling code from ChildProcess to UserActivity
1549 https://bugs.webkit.org/show_bug.cgi?id=126330
1551 Reviewed by Sam Weinig.
1553 UserActivity is a mechanism to express to the operating system (where appropriate)
1554 that a user initiated activity is taking place, and as such that resources should be
1555 made available to the process accordingly.
1557 Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
1558 to hold different activity tokens for different user actions (which simplifies the
1559 handling, and aides debugging since the token can more accurately express the activity
1560 taking place), and also will allow us to avoid the layering difficulty of calling back
1561 up the stack to WebKit to register that an activity is taking place.
1563 * WebCore.xcodeproj/project.pbxproj:
1565 * platform/UserActivity.cpp: Added.
1566 (WebCore::UserActivity::UserActivity):
1567 - nop implementation - ignore description.
1568 (WebCore::UserActivity::beginActivity):
1569 (WebCore::UserActivity::endActivity):
1570 - nop implementation - just inc/dec m_count.
1571 * platform/UserActivity.h: Added.
1572 (WebCore::UserActivity::isActive):
1573 - returns true if one or more instance of this activity is in progress.
1574 * platform/mac/UserActivityMac.mm: Added.
1575 (WebCore::UserActivity::UserActivity):
1576 - constructor accepts one argument, a description string.
1577 (WebCore::UserActivity::isValid):
1578 - used by assertions.
1579 (WebCore::UserActivity::beginActivity):
1580 (WebCore::UserActivity::endActivity):
1581 - track start/end of an activity - calls to these methods should be balanced.
1582 (WebCore::UserActivity::hysteresisTimerFired):
1583 - used to implement hysteresis in releasing NSActivity.
1585 2014-01-03 Alexey Proskuryakov <ap@apple.com>
1587 Line ending conversion should be able to handle strings with null chars
1588 https://bugs.webkit.org/show_bug.cgi?id=126202
1590 This is a merge from Blink.
1592 Reviewed by Alexey Proskuryakov.
1594 Test: http/tests/local/formdata/send-form-data-with-string-containing-null.html
1596 * platform/text/LineEnding.cpp: (WebCore::normalizeToCROrLF): Do it right.
1598 2014-01-03 Alberto Garcia <berto@igalia.com>
1600 WebKit-GTK 1.8.1 does not build on OS X 10.7
1601 https://bugs.webkit.org/show_bug.cgi?id=88407
1603 Reviewed by Carlos Garcia Campos.
1605 Replace non-portable 'echo -n' with 'true'.
1609 2014-01-03 peavo@outlook.com <peavo@outlook.com>
1611 [WinCairo] Compile error.
1612 https://bugs.webkit.org/show_bug.cgi?id=126428
1614 Reviewed by Brent Fulgham.
1616 The NativeImagePtr type is not an CGImageRef on WinCairo, cannot use CFRetain.
1618 * loader/cache/MemoryCache.cpp: Replace USE(CF) with USE(CG).
1619 * loader/cache/MemoryCache.h: Ditto.
1621 2014-01-03 Hans Muller <hmuller@adobe.com>
1623 [CSS Shapes] Simplify FloatRoundedRect, BoxShape construction
1624 https://bugs.webkit.org/show_bug.cgi?id=125995
1626 Reviewed by Andreas Kling.
1628 Cleanup of various internal Shape issues:
1629 - Removed unnecessary Shape() initialization list entries in Shape subclasses
1630 per https://bugs.webkit.org/show_bug.cgi?id=125548#c2.
1631 - Used const references instead of pointers for non-deprecated Shape:createShape() logic.
1632 - Replaced createShape() overloads for Rasters and Boxes with functions named
1633 createRasterShape() and createBoxShape().
1634 - Added a FloatRoundedRect::Radii() constructor to reduce the parameter list
1635 length of the FloatRoundedRect constructor in createBoxShape().
1637 There are no new tests, this is just internal refactoring.
1639 * platform/graphics/FloatRoundedRect.h:
1640 (WebCore::FloatRoundedRect::Radii::Radii):
1641 * rendering/shapes/BoxShape.h:
1642 (WebCore::BoxShape::BoxShape):
1643 * rendering/shapes/PolygonShape.h:
1644 (WebCore::PolygonShape::PolygonShape):
1645 * rendering/shapes/RasterShape.h:
1646 (WebCore::RasterShape::RasterShape):
1647 * rendering/shapes/RectangleShape.h:
1648 (WebCore::RectangleShape::RectangleShape):
1649 * rendering/shapes/Shape.cpp:
1650 (WebCore::createInsetShape):
1651 (WebCore::Shape::createShape):
1652 (WebCore::Shape::createRasterShape):
1653 (WebCore::Shape::createBoxShape):
1654 * rendering/shapes/Shape.h:
1655 * rendering/shapes/ShapeInfo.cpp:
1656 (WebCore::ShapeInfo<RenderType>::computedShape):
1658 2014-01-03 Andreas Kling <akling@apple.com>
1660 Remove unused Document::openSearchDescriptionURL().
1661 <https://webkit.org/b/126419>
1663 Reviewed by Antti Koivisto.
1668 Scrub leftovers from the defunct Chromium port.
1670 2014-01-03 Jinwoo Song <jinwoo7.song@samsung.com>
1672 VibrationPattern should allocate an single vector instance for single integer input
1673 https://bugs.webkit.org/show_bug.cgi?id=126417
1675 Reviewed by Gyuyoung Kim.
1677 When the Vibration pattern is set with a single integer, the VibrationPattern should
1678 be set with this integer as a vibration time. But the VibrationPattern(unsigned vector) was
1679 initialized with a single parameter, the vibration time, so the time was used to set
1682 * Modules/vibration/NavigatorVibration.cpp:
1683 (WebCore::NavigatorVibration::vibrate):
1685 2014-01-02 Jaehun Lim <ljaehun.lim@samsung.com>
1687 IconController.cpp needs to include <wtf/text/CString.h>
1688 https://bugs.webkit.org/show_bug.cgi?id=126415
1690 Reviewed by Gyuyoung Kim.
1692 Build fails in IconController.cpp when ICONDATABASE is disabled.
1693 WebKit/Source/WebCore/loader/icon/IconController.cpp:124:110: error: invalid use of incomplete type ‘class WTF::CString’
1694 IconController.cpp needs #include <wtf/text/CString.h>.
1696 No new tests. Just build fix.
1698 * loader/icon/IconController.cpp: Add #include statement.
1700 2014-01-02 Ryuan Choi <ryuan.choi@samsung.com>
1702 [EFL] Previous scrollbar is remained sometimes
1703 https://bugs.webkit.org/show_bug.cgi?id=126414
1705 Reviewed by Gyuyoung Kim.
1707 * platform/efl/ScrollbarEfl.cpp:
1708 (ScrollbarEfl::invalidate):
1709 Updated scrollbar visibility in Scrollbar::invalidate().
1710 * platform/efl/ScrollbarEfl.h:
1711 Removed show()/hide() which never been called() for scrollbar.
1713 2014-01-02 Brent Fulgham <bfulgham@apple.com>
1715 [WebGL] Correct symbol lookup logic to handle 1-element arrays
1716 https://bugs.webkit.org/show_bug.cgi?id=126411
1717 <rdar://problem/15394564>
1719 Reviewed by Dean Jackson.
1721 Tested by revisions to webgl/1.0.2/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html
1723 * html/canvas/WebGLRenderingContext.cpp:
1724 (WebCore::WebGLRenderingContext::getUniformLocation): Revise to
1725 handle access to zeroeth element of the array.
1727 2014-01-02 Myles C. Maxfield <mmaxfield@apple.com>
1729 Crash in WebCore::translateIntersectionPointsToSkipInkBoundaries
1730 https://bugs.webkit.org/show_bug.cgi?id=126252
1732 Reviewed by Alexey Proskuryakov.
1734 lastIntermediate was a iterator pointing into a Vector, which was being re-used
1735 even while appending to the Vector. If any of the append operators triggered
1736 a realloc, the iterator would point to the old free'ed memory.
1738 Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-crash-many-gaps.html
1740 * rendering/InlineTextBox.cpp:
1741 (WebCore::translateIntersectionPointsToSkipInkBoundaries):
1743 2014-01-02 Brent Fulgham <bfulgham@apple.com>
1745 [WebGL] Correct symbol lookup logic to handle 1-element arrays
1746 https://bugs.webkit.org/show_bug.cgi?id=126411
1747 <rdar://problem/15394564>
1749 Reviewed by Dean Jackson.
1751 * html/canvas/WebGLRenderingContext.cpp:
1752 (WebCore::WebGLRenderingContext::getUniformLocation): Revise code to handle the case of single-element
1755 2014-01-02 Sam Weinig <sam@webkit.org>
1757 Update Promises to the https://github.com/domenic/promises-unwrapping spec
1758 https://bugs.webkit.org/show_bug.cgi?id=120954
1760 Reviewed by Filip Pizlo.
1762 * ForwardingHeaders/runtime/JSPromiseDeferred.h: Added.
1763 * ForwardingHeaders/runtime/JSPromiseResolver.h: Removed.
1764 * bindings/js/JSDOMGlobalObjectTask.cpp:
1765 (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
1766 * bindings/js/JSDOMGlobalObjectTask.h:
1767 * bindings/js/JSDOMPromise.cpp:
1768 (WebCore::DeferredWrapper::DeferredWrapper):
1769 (WebCore::DeferredWrapper::promise):
1770 (WebCore::DeferredWrapper::resolve):
1771 (WebCore::DeferredWrapper::reject):
1772 * bindings/js/JSDOMPromise.h:
1773 (WebCore::DeferredWrapper::resolve):
1774 (WebCore::DeferredWrapper::reject):
1775 (WebCore::DeferredWrapper::resolve<String>):
1776 (WebCore::DeferredWrapper::resolve<bool>):
1778 (WebCore::DeferredWrapper::reject<String>):
1779 * bindings/js/JSDOMWindowBase.cpp:
1780 (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
1781 * bindings/js/JSDOMWindowBase.h:
1782 * bindings/js/JSSubtleCryptoCustom.cpp:
1783 (WebCore::JSSubtleCrypto::encrypt):
1784 (WebCore::JSSubtleCrypto::decrypt):
1785 (WebCore::JSSubtleCrypto::sign):
1786 (WebCore::JSSubtleCrypto::verify):
1787 (WebCore::JSSubtleCrypto::digest):
1788 (WebCore::JSSubtleCrypto::generateKey):
1789 (WebCore::JSSubtleCrypto::importKey):
1790 (WebCore::JSSubtleCrypto::exportKey):
1791 (WebCore::JSSubtleCrypto::wrapKey):
1792 (WebCore::JSSubtleCrypto::unwrapKey):
1793 * bindings/js/JSWorkerGlobalScopeBase.cpp:
1794 (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
1795 * bindings/js/JSWorkerGlobalScopeBase.h:
1797 2014-01-02 Tim Horton <timothy_horton@apple.com>
1799 ImageBufferBackingStoreCache should use DeferrableOneShotTimer
1800 https://bugs.webkit.org/show_bug.cgi?id=126155
1802 Reviewed by Anders Carlsson.
1804 Since ImageBufferBackingStoreCache's purge timer is pushed out every time
1805 a backing store is deallocated, we can easily waste a lot of time rescheduling
1806 the timer. Since it's a cache purge timer and doesn't need that kind of precision,
1807 adopt DeferrableOneShotTimer, which is much more performant when deferred frequently.
1809 * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
1810 (WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
1811 (WebCore::ImageBufferBackingStoreCache::timerFired):
1812 (WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):
1813 * platform/graphics/cg/ImageBufferBackingStoreCache.h:
1815 2014-01-02 Myles C. Maxfield <mmaxfield@apple.com>
1817 Allow ImageBuffer to re-use IOSurfaces
1818 https://bugs.webkit.org/show_bug.cgi?id=125477
1820 Reviewed by Geoff Garen. Modifications reviewed by Tim Horton.
1822 This patch is taken from r160945, but the modifications to ImageBufferCG.cpp
1825 This test adds a static class, ImageBufferBackingStoreCache, that vends
1826 IOSurfaces. It remembers IOSurfaces that have been returned to it until
1827 a configurable timeout.
1829 The storage used by this class is in the form of a HashMap from a
1830 bucketed size to the IOSurface. There are many other data structures
1831 that could be used, but this implementation gives a 80% hit rate on
1832 normal browsing of some example sites with Canvas and
1833 text-decoration-skip: ink. Because the buckets are fairly
1834 small (rounding the width and height up to multiples of 8), traversing the
1835 bucket contents takes on average 2 steps.
1837 Test: fast/canvas/canvas-backing-store-reuse.html
1839 * WebCore.xcodeproj/project.pbxproj: Added new caching class
1840 * platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Added.
1841 (WebCore::createIOSurface): Copied from ImageBufferCG.cpp
1842 (WebCore::ImageBufferBackingStoreCache::timerFired): Forget the cache
1844 (WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):
1845 (WebCore::ImageBufferBackingStoreCache::get): Static getter
1846 (WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
1847 (WebCore::ImageBufferBackingStoreCache::insertIntoCache): Memory-management
1849 (WebCore::ImageBufferBackingStoreCache::takeFromCache): Memory-management
1851 (WebCore::ImageBufferBackingStoreCache::isAcceptableSurface): Does this cached
1852 IOSurface fit the bill?
1853 (WebCore::ImageBufferBackingStoreCache::tryTakeFromCache): Lookup
1854 a bucket and walk through its contents
1855 (WebCore::ImageBufferBackingStoreCache::getOrAllocate): Public function
1856 for clients who want a IOSurface from the cache
1857 (WebCore::ImageBufferBackingStoreCache::deallocate): Public
1858 function for clients to return an IOSurface to the pool
1859 * platform/graphics/cg/ImageBufferBackingStoreCache.h: Added.
1860 (WebCore::ImageBuffer::ImageBuffer):
1861 (WebCore::ImageBuffer::~ImageBuffer):
1863 2014-01-02 Piotr Grad <p.grad@samsung.com>
1865 Video-seek-with-negative-playback was flaky.
1866 https://bugs.webkit.org/show_bug.cgi?id=126379
1868 Reviewed by Eric Carlson.
1870 No new tests. Covered by existing tests.
1872 m_player->setRate() should be called before updating m_playbackRate, because potentiallyPlaying() depends
1873 on endedPlayback(), which checks m_playbackRate.
1875 * html/HTMLMediaElement.cpp:
1876 (WebCore::HTMLMediaElement::setPlaybackRate):
1878 2014-01-02 Daniel Bates <dabates@apple.com>
1880 [iOS] Tapping any link crashes in WebCore::EventHandler::mouseMoved()
1881 (also crashes when scrolling certain sites)
1882 https://bugs.webkit.org/show_bug.cgi?id=126401
1883 <rdar://problem/15739334>
1885 Reviewed by Tim Horton.
1887 * page/ios/EventHandlerIOS.mm:
1888 (WebCore::currentEventSlot): Make the shared variable have static-storage duration.
1890 2014-01-02 Gavin Barraclough <barraclough@apple.com>
1892 Remove WindowIsVisible
1893 https://bugs.webkit.org/show_bug.cgi?id=126270
1895 Reviewed by Tim Horton.
1897 We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible.
1898 The latter detects that the content is hidden in fewer cases than the former, and as such, the
1899 former is always preferable.
1901 This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to
1902 Plugin::windowVisibilityChanged.
1905 * page/FocusController.cpp:
1906 (WebCore::FocusController::FocusController):
1907 (WebCore::FocusController::setContentIsVisible):
1908 * page/FocusController.h:
1909 - rename ContainingWindowIsVisible -> ContentIsVisible.
1911 2014-01-02 Gavin Barraclough <barraclough@apple.com>
1913 Merge didMoveOnscreen / page visibility to isVisible
1914 https://bugs.webkit.org/show_bug.cgi?id=126268
1916 Reviewed by Tim Horton.
1918 The onscreen state most closely tracks view visibility (though currently
1919 also tracks a mix of in-window state). Make more consistent, simplify,
1920 and move all animation suspension logic to Page, so it can be controlled
1921 by the PageThrottler.
1924 * page/EventHandler.cpp:
1925 (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
1926 * page/FrameView.cpp:
1927 (WebCore::FrameView::shouldSetCursor):
1929 (WebCore::Page::Page):
1930 - initialize new variables.
1931 (WebCore::Page::setIsVisible):
1932 - merge setVisibilityState, didMoveOnscreen, willMoveOffscreen.
1933 (WebCore::Page::setIsPrerender):
1934 - switches visibility state from hidden to prerender.
1935 (WebCore::Page::visibilityState):
1936 - computed from m_isVisible, m_isPrerender.
1937 (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
1938 - m_visibilityState -> m_isVisible.
1940 - remove didMoveOnscreen/willMoveOffscreen
1941 m_isOnscreen & m_visibilityState -> m_isVisible & m_isPrerender
1942 setVisibilityState -> setIsVisible & setIsPrerender.
1943 (WebCore::Page::isVisible):
1944 - isOnscreen -> isVisible.
1946 2014-01-02 Oliver Hunt <oliver@apple.com>
1948 Update bindings test results
1950 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1951 (WebCore::jsTestActiveDOMObjectConstructor):
1952 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1953 (WebCore::jsTestCustomNamedGetterConstructor):
1954 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1955 (WebCore::jsTestEventConstructorConstructor):
1956 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1957 (WebCore::jsTestEventTargetConstructor):
1958 * bindings/scripts/test/JS/JSTestException.cpp:
1959 (WebCore::jsTestExceptionConstructor):
1960 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1961 (WebCore::jsTestGenerateIsReachableConstructor):
1962 * bindings/scripts/test/JS/JSTestInterface.cpp:
1963 (WebCore::jsTestInterfaceConstructor):
1964 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1965 (WebCore::jsTestMediaQueryListListenerConstructor):
1966 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1967 (WebCore::jsTestNamedConstructorConstructor):
1968 * bindings/scripts/test/JS/JSTestNode.cpp:
1969 (WebCore::jsTestNodeConstructor):
1970 * bindings/scripts/test/JS/JSTestObj.cpp:
1971 (WebCore::jsTestObjConstructor):
1972 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1973 (WebCore::jsTestOverloadedConstructorsConstructor):
1974 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1975 (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
1976 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1977 (WebCore::jsTestTypedefsConstructor):
1978 * bindings/scripts/test/JS/JSattribute.cpp:
1979 (WebCore::jsattributeConstructor):
1980 * bindings/scripts/test/JS/JSreadonly.cpp:
1981 (WebCore::jsreadonlyConstructor):
1983 2013-12-23 Oliver Hunt <oliver@apple.com>
1985 Refactor PutPropertySlot to be aware of custom properties
1986 https://bugs.webkit.org/show_bug.cgi?id=126187
1988 Reviewed by Antti Koivisto.
1990 Update the bindings code generation and custom objects
1991 to the new function signatures
1993 * bindings/js/JSDOMWindowCustom.cpp:
1994 (WebCore::JSDOMWindow::put):
1995 * bindings/objc/WebScriptObject.mm:
1996 (-[WebScriptObject setValue:forKey:]):
1997 * bindings/scripts/CodeGeneratorJS.pm:
1998 (GenerateImplementation):
1999 * bindings/scripts/test/JS/JSTestInterface.cpp:
2000 (WebCore::JSTestInterface::putByIndex):
2001 * bridge/NP_jsobject.cpp:
2004 2014-01-02 Simon Fraser <simon.fraser@apple.com>
2006 Add AsyncScrollingCoordinator, which is a base class for threaded and future remote ScrollingCoordinators
2007 https://bugs.webkit.org/show_bug.cgi?id=126389
2009 Reviewed by Tim Horton.
2011 Add AsyncScrollingCoordinator, a ScrollingCoordinator that knows about ScrollingStateTrees
2012 and ScrollingTrees, but leaves it up to subclasses to decide when and how to commit.
2014 * WebCore.xcodeproj/project.pbxproj: Added AsyncScrollingCoordinator.*
2015 * page/scrolling/AsyncScrollingCoordinator.cpp: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm.
2016 (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
2017 (WebCore::AsyncScrollingCoordinator::~AsyncScrollingCoordinator):
2018 (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
2019 (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
2020 (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
2021 (WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
2022 (WebCore::AsyncScrollingCoordinator::attachToStateTree):
2023 (WebCore::AsyncScrollingCoordinator::detachFromStateTree):
2024 (WebCore::AsyncScrollingCoordinator::clearStateTree):
2025 (WebCore::AsyncScrollingCoordinator::syncChildPositions):
2026 (WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView):
2027 (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
2028 (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
2029 (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
2030 (WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
2031 (WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
2032 (WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
2033 (WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
2034 (WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
2035 (WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
2036 (WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
2037 (WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
2038 (WebCore::AsyncScrollingCoordinator::updateMainFrameScrollLayerPosition):
2039 (WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
2040 (WebCore::AsyncScrollingCoordinator::isRubberBandInProgress):
2041 (WebCore::AsyncScrollingCoordinator::setScrollPinningBehavior):
2042 (WebCore::AsyncScrollingCoordinator::scrollingStateTreeAsText):
2043 * page/scrolling/AsyncScrollingCoordinator.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.
2044 (WebCore::AsyncScrollingCoordinator::scrollingTree):
2045 (WebCore::AsyncScrollingCoordinator::setScrollingTree):
2046 (WebCore::AsyncScrollingCoordinator::scrollingStateTree):
2047 (WebCore::AsyncScrollingCoordinator::releaseScrollingTree):
2048 * page/scrolling/ScrollingCoordinator.h: Add casting support.
2049 (WebCore::ScrollingCoordinator::isAsyncScrollingCoordinator):
2050 * page/scrolling/ThreadedScrollingTree.h: commitNewTreeState() needs to be public.
2051 * page/scrolling/mac/ScrollingCoordinatorMac.h:
2052 * page/scrolling/mac/ScrollingCoordinatorMac.mm: Lots of code moved to AsyncScrollingCoordinator.
2053 (WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
2054 (WebCore::ScrollingCoordinatorMac::~ScrollingCoordinatorMac):
2055 (WebCore::ScrollingCoordinatorMac::pageDestroyed):
2056 (WebCore::ScrollingCoordinatorMac::commitTreeStateIfNeeded):
2057 (WebCore::ScrollingCoordinatorMac::handleWheelEvent):
2058 (WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
2059 (WebCore::ScrollingCoordinatorMac::commitTreeState):
2060 (WebCore::ScrollingCoordinatorMac::updateTiledScrollingIndicator):
2062 2014-01-02 Andreas Kling <akling@apple.com>
2064 Simplify the insides of DocumentSharedObjectPool and reduce memory usage.
2066 Merging Blink r164152 by Elliott Sprehn.
2068 Instead of storing an OwnPtr to an object that has a pointer to the
2069 ShareableElementData as well as a pointer into the ShareableElementData
2070 and the length we can just store a RefPtr to the SharableElementData.
2072 This also reduces the memory usage of the pool by 2 pointers per entry.
2074 * dom/DocumentSharedObjectPool.h:
2075 * dom/DocumentSharedObjectPool.cpp:
2076 (WebCore::attributeHash):
2077 (WebCore::hasSameAttributes):
2078 (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
2080 2014-01-02 Dirk Schulze <krit@webkit.org>
2082 Support <box> values computed style for 'clip-path' property
2083 https://bugs.webkit.org/show_bug.cgi?id=126148
2085 Reviewed by Simon Fraser.
2087 Calculate computed style for 'clip-path' property.
2089 Updated tests to check for computed style.
2091 * css/BasicShapeFunctions.cpp: Add box value bounding-box.
2092 (WebCore::valueForBox):
2093 (WebCore::boxForValue):
2094 * css/CSSComputedStyleDeclaration.cpp: Return the computed style
2096 (WebCore::ComputedStyleExtractor::propertyValue):
2097 * css/DeprecatedStyleBuilder.cpp: Create CSSValueLists for 'clip-th'.
2098 (WebCore::ApplyPropertyClipPath::applyValue):
2099 * rendering/ClipPathOperation.h: Add bounding-box value.
2100 (WebCore::ShapeClipPathOperation::pathForReferenceRect):
2101 (WebCore::ShapeClipPathOperation::setReferenceBox):
2102 (WebCore::ShapeClipPathOperation::referenceBox):
2103 (WebCore::BoxClipPathOperation::create):
2104 (WebCore::BoxClipPathOperation::pathForReferenceRect):
2105 (WebCore::BoxClipPathOperation::referenceBox):
2106 (WebCore::BoxClipPathOperation::BoxClipPathOperation):
2107 * rendering/shapes/ShapeInfo.h: Add bounding-box value.
2108 (WebCore::ShapeInfo::setShapeSize):
2109 (WebCore::ShapeInfo::logicalTopOffset):
2110 (WebCore::ShapeInfo::logicalLeftOffset):
2111 * rendering/style/BasicShapes.cpp: Add bounding-box value.
2112 (WebCore::BasicShape::referenceBoxSize):
2113 * rendering/style/BasicShapes.h:
2115 2014-01-02 Antti Koivisto <antti@apple.com>
2117 Always resolve style from root
2118 https://bugs.webkit.org/show_bug.cgi?id=126380
2120 Reviewed by Andreas Kling.
2122 Forced style resolve that does not start from the root is never really correct.
2123 Remove the few remaining instances.
2125 * dom/ShadowRoot.cpp:
2126 (WebCore::ShadowRoot::setResetStyleInheritance):
2128 Update style asynchronously.
2132 * html/HTMLPlugInImageElement.cpp:
2133 (WebCore::HTMLPlugInImageElement::createElementRenderer):
2134 (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
2135 (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
2137 Delete the render tree synchronously on suspend and rebuild it asynchronously on resume.
2138 No need for m_customStyleForPageCache hack.
2140 * html/HTMLPlugInImageElement.h:
2142 Remove m_customStyleForPageCache.
2144 * style/StyleResolveTree.cpp:
2145 * style/StyleResolveTree.h:
2147 Remove Element version of resolveTree from the interface.
2149 * svg/SVGUseElement.h:
2151 2014-01-02 Antti Koivisto <antti@apple.com>
2153 Remove PlaceholderDocument
2154 https://bugs.webkit.org/show_bug.cgi?id=126382
2156 Reviewed by Andreas Kling.
2158 Remove PlaceholderDocument class and replace it with a bit in Document.
2160 * WebCore.xcodeproj/project.pbxproj:
2162 (WebCore::Document::Document):
2163 (WebCore::Document::createRenderTree):
2166 Also make Synthesized a construction flag instead of a boolean parameter.
2168 (WebCore::Document::createNonRenderedPlaceholder):
2169 * html/HTMLDocument.cpp:
2170 (WebCore::HTMLDocument::HTMLDocument):
2171 * html/HTMLDocument.h:
2172 (WebCore::HTMLDocument::create):
2173 (WebCore::HTMLDocument::createSynthesizedDocument):
2174 * loader/DocumentWriter.cpp:
2175 (WebCore::DocumentWriter::createDocument):
2176 * loader/PlaceholderDocument.cpp: Removed.
2177 * loader/PlaceholderDocument.h: Removed.
2178 * pdf/ios/PDFDocument.h:
2179 (WebCore::PDFDocument::PDFDocument):
2181 2014-01-01 Antti Koivisto <antti@apple.com>
2183 Remove public attachRenderTree
2184 https://bugs.webkit.org/show_bug.cgi?id=126368
2186 Reviewed by Andreas Kling.
2188 Remove the remaining explicit render tree construction.
2191 (WebCore::Document::createRenderTree):
2193 Use recalcStyle() instead of calling attachRenderTree directly.
2195 * html/HTMLViewSourceDocument.cpp:
2196 (WebCore::HTMLViewSourceDocument::addText):
2198 Remove forgotten attachTextRenderer.
2200 * html/shadow/InsertionPoint.cpp:
2201 (WebCore::InsertionPoint::InsertionPoint):
2203 Remove willAttachRenderers/didAttachRenderers hack.
2205 * html/shadow/InsertionPoint.h:
2206 (WebCore::toInsertionPoint):
2207 * loader/PlaceholderDocument.cpp:
2208 (WebCore::PlaceholderDocument::createRenderTree):
2210 Seriously, nothing to do here.
2212 * style/StyleResolveTree.cpp:
2213 (WebCore::Style::attachDistributedChildren):
2214 (WebCore::Style::attachChildren):
2215 (WebCore::Style::detachDistributedChildren):
2216 (WebCore::Style::detachChildren):
2218 Making attaching and detaching distributed insertion point children part of ResolveTree internals.
2220 * style/StyleResolveTree.h:
2222 Remove interfaces with no clients.
2224 2014-01-01 Seokju Kwon <seokju@webkit.org>
2226 Remove stale ScriptProfiler methods
2227 https://bugs.webkit.org/show_bug.cgi?id=126373
2229 Reviewed by Darin Adler.
2231 No new tests, No change behavior.
2233 * bindings/js/ScriptProfiler.h: Remove dead code.
2235 2014-01-01 Andreas Kling <akling@apple.com>
2237 Remove ChromeClient::fullScreenRendererChanged().
2238 <https://webkit.org/b/126370>
2240 This hook was added in r75277 to notify WebFullScreenController when
2241 the full screen renderer changed. In r110216 the code was refactored,
2242 making this notification unnecessary.
2244 Reviewed by Antti Koivisto.
2246 2014-01-01 Simon Fraser <simon.fraser@apple.com>
2248 Fix the build by exposing some more scrolling state node headers
2249 as Private in WebCore.framework.
2251 * WebCore.xcodeproj/project.pbxproj:
2253 2014-01-01 Ryuan Choi <ryuan.choi@samsung.com>
2255 [EFL] Unreviewed build fix after r160903 when ACCESSIBILITY is disabled
2257 * accessibility/AccessibilityObject.h:
2258 (WebCore::AccessibilityObject::children):
2260 2014-01-01 Andreas Kling <akling@apple.com>
2262 RenderScrollbar: Map of scrollbar parts should use RenderPtr.
2263 <https://webkit.org/b/126367>
2265 Turn RenderScrollbar::m_parts into HashMap of RenderPtrs. This makes
2266 renderer destruction automatic and lets us remove some code.
2268 Reviewed by Antti Koivisto.
2270 * rendering/RenderPtr.h:
2272 Add HashTraits for RenderPtr so we can use them as values in
2275 * rendering/RenderScrollbar.h:
2276 * rendering/RenderScrollbar.cpp:
2277 (WebCore::RenderScrollbar::~RenderScrollbar):
2278 (WebCore::RenderScrollbar::setParent):
2279 (WebCore::RenderScrollbar::updateScrollbarParts):
2280 (WebCore::RenderScrollbar::updateScrollbarPart):
2282 Remove now-unneeded kludges of logic to manually delete scrollbar
2283 part renderers in various scenarios.
2285 2014-01-01 Antti Koivisto <antti@apple.com>
2287 Remove reattachRenderTree
2288 https://bugs.webkit.org/show_bug.cgi?id=126366
2290 Reviewed by Andreas Kling.
2292 Remove the last remaining client.
2294 * html/HTMLSelectElement.cpp:
2295 (WebCore::HTMLSelectElement::parseAttribute):
2297 Reconstruct render tree asynchronously.
2299 (WebCore::HTMLSelectElement::scrollToSelection):
2300 (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
2301 (WebCore::HTMLSelectElement::selectOption):
2303 It is not safe to cast the renderer based on usesMenuList test. Switch to RenderObject::isMenuList test.
2305 (WebCore::HTMLSelectElement::parseMultipleAttribute):
2307 Reconstruct render tree asynchronously.
2309 (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
2310 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2311 (WebCore::HTMLSelectElement::defaultEventHandler):
2312 * style/StyleResolveTree.cpp:
2313 * style/StyleResolveTree.h:
2315 Remove the function.
2317 2014-01-01 Simon Fraser <simon.fraser@apple.com>
2319 Create a ThreadedScrollingTree subclass of ScrollingTree, and push all knowledge of the scrolling thread into it
2320 https://bugs.webkit.org/show_bug.cgi?id=126362
2322 Reviewed by Sam Weinig.
2324 Eventually we'll have a ScrollingTree in situations where there is no scrolling
2325 thread, so make the ScrollingTree base class thread-agnostic (but threadsafe),
2326 and subclass it in ThreadedScrollingTree for scrolling-thread-specific functionality.
2328 The ScrollingTree base class also no longer needs to know about the
2329 ScrollingCoordinator.
2331 ScrollingCoordinatorMac creates a ThreadedScrollingTree.
2334 * WebCore.xcodeproj/project.pbxproj: Add ThreadedScrollingTree.*
2335 Make some headers Private that we'll need in WebKit2 soon.
2336 * page/scrolling/ScrollingStateTree.h: Drive-by cleanup: clone() was unimplemented.
2337 * page/scrolling/ScrollingTree.cpp:
2338 (WebCore::ScrollingTree::ScrollingTree):
2339 (WebCore::ScrollingTree::~ScrollingTree):
2340 (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Wrap up some logic that
2341 involves taking the mutex, so ThreadedScrollingTree can conveniently call it.
2342 (WebCore::ScrollingTree::handleWheelEvent):
2343 (WebCore::ScrollingTree::commitNewTreeState):
2344 (WebCore::ScrollingTree::setMainFrameScrollPosition):
2345 (WebCore::ScrollingTree::isHandlingProgrammaticScroll):
2346 * page/scrolling/ScrollingTree.h:
2347 (WebCore::ScrollingTree::isThreadedScrollingTree):
2348 (WebCore::ScrollingTree::invalidate):
2349 * page/scrolling/ThreadedScrollingTree.cpp: Added.
2350 (WebCore::ThreadedScrollingTree::create):
2351 (WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
2352 (WebCore::ThreadedScrollingTree::~ThreadedScrollingTree):
2353 (WebCore::ThreadedScrollingTree::tryToHandleWheelEvent):
2354 (WebCore::ThreadedScrollingTree::handleWheelEvent):
2355 (WebCore::derefScrollingCoordinator):
2356 (WebCore::ThreadedScrollingTree::invalidate):
2357 (WebCore::ThreadedScrollingTree::commitNewTreeState):
2358 (WebCore::ThreadedScrollingTree::updateMainFrameScrollPosition):
2359 (WebCore::ThreadedScrollingTree::handleWheelEventPhase):
2360 * page/scrolling/ThreadedScrollingTree.h: Added.
2361 (WebCore::ThreadedScrollingTree::isThreadedScrollingTree):
2362 * page/scrolling/mac/ScrollingCoordinatorMac.h:
2363 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2364 (WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
2365 (WebCore::ScrollingCoordinatorMac::handleWheelEvent):
2367 2014-01-01 Andreas Kling <akling@apple.com>
2369 FrameView: Store scroll corner renderer in a RenderPtr.
2370 <https://webkit.org/b/126364>
2372 Make FrameView::m_scrollCorner a RenderPtr<RenderScrollbarPart> and
2373 remove two manual destroy() calls.
2375 Reviewed by Antti Koivisto.
2377 2014-01-01 Antti Koivisto <antti@apple.com>
2379 Remove elementChildren/elementDescendants shorthands
2380 https://bugs.webkit.org/show_bug.cgi?id=126363
2382 Reviewed by Anders Carlsson.
2384 Just use childrenOfType<Element>/descendantsOfType<Element> instead. They are not that much longer
2385 and consistency is valuable.
2387 * accessibility/AccessibilityNodeObject.cpp:
2388 (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
2389 (WebCore::siblingWithAriaRole):
2390 * accessibility/AccessibilityTable.cpp:
2391 (WebCore::AccessibilityTable::isDataTable):
2392 * css/StyleInvalidationAnalysis.cpp:
2393 (WebCore::StyleInvalidationAnalysis::invalidateStyle):
2394 * dom/ChildNodeList.cpp:
2395 (WebCore::ChildNodeList::namedItem):
2397 (WebCore::Document::buildAccessKeyMap):
2398 (WebCore::Document::childrenChanged):
2400 (WebCore::Element::resetComputedStyle):
2401 * dom/ElementChildIterator.h:
2402 * dom/ElementDescendantIterator.h:
2403 * dom/SelectorQuery.cpp:
2404 (WebCore::elementsForLocalName):
2405 (WebCore::anyElement):
2406 (WebCore::SelectorDataList::executeSingleTagNameSelectorData):
2407 (WebCore::SelectorDataList::executeSingleClassNameSelectorData):
2408 (WebCore::SelectorDataList::executeSingleSelectorData):
2409 (WebCore::SelectorDataList::executeSingleMultiSelectorData):
2410 * editing/ApplyStyleCommand.cpp:
2411 (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
2412 * editing/ReplaceSelectionCommand.cpp:
2413 (WebCore::removeHeadContents):
2414 * editing/markup.cpp:
2415 (WebCore::completeURLs):
2416 * html/HTMLFieldSetElement.cpp:
2417 (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
2418 * html/HTMLObjectElement.cpp:
2419 (WebCore::HTMLObjectElement::containsJavaApplet):
2420 * loader/PlaceholderDocument.cpp:
2421 (WebCore::PlaceholderDocument::createRenderTree):
2422 * rendering/RenderChildIterator.h:
2423 * svg/SVGSVGElement.cpp:
2424 (WebCore::SVGSVGElement::getElementById):
2425 * svg/SVGUseElement.cpp:
2426 (WebCore::subtreeContainsDisallowedElement):
2427 (WebCore::removeDisallowedElementsFromSubtree):
2429 2014-01-01 Antti Koivisto <antti@apple.com>
2431 Do less synchronous render tree construction
2432 https://bugs.webkit.org/show_bug.cgi?id=126359
2434 Reviewed by Anders Carlsson.
2436 Remove some now-unnecessary attachRenderTree calls.
2438 * html/HTMLDetailsElement.cpp:
2439 (WebCore::HTMLDetailsElement::parseAttribute):
2440 * html/HTMLInputElement.cpp:
2441 (WebCore::HTMLInputElement::parseAttribute):
2442 * html/HTMLObjectElement.cpp:
2443 (WebCore::HTMLObjectElement::renderFallbackContent):
2444 * html/HTMLPlugInElement.cpp:
2445 (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot):
2446 * html/HTMLPlugInImageElement.cpp:
2447 (WebCore::HTMLPlugInImageElement::willRecalcStyle):
2448 (WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree):
2449 (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
2450 * html/HTMLViewSourceDocument.cpp:
2451 (WebCore::HTMLViewSourceDocument::createContainingTable):
2452 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
2453 (WebCore::HTMLViewSourceDocument::addLine):
2454 (WebCore::HTMLViewSourceDocument::finishLine):
2455 (WebCore::HTMLViewSourceDocument::addBase):
2456 (WebCore::HTMLViewSourceDocument::addLink):
2457 * xml/XMLErrors.cpp:
2458 (WebCore::XMLErrors::insertErrorMessageBlock):
2460 2014-01-01 Simon Fraser <simon.fraser@apple.com>
2462 Updating the scrolling tree should use references to state nodes
2463 https://bugs.webkit.org/show_bug.cgi?id=126360
2465 Reviewed by Anders Carlsson.
2467 Change functions related to ScrollingTreeNode updating to take
2468 const references to state nodes rather than pointers.
2470 * page/scrolling/ScrollingStateNode.h:
2471 (WebCore::ScrollingStateNode::hasChangedProperty):
2472 * page/scrolling/ScrollingTree.cpp:
2473 (WebCore::ScrollingTree::commitNewTreeState):
2474 (WebCore::ScrollingTree::updateTreeFromStateNode): The node can be nil so
2475 this continues to take a pointer.
2476 (WebCore::ScrollingTree::removeDestroyedNodes):
2477 * page/scrolling/ScrollingTree.h:
2478 * page/scrolling/ScrollingTreeNode.h:
2479 (WebCore::ScrollingTreeNode::updateAfterChildren):
2480 * page/scrolling/ScrollingTreeScrollingNode.cpp:
2481 (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
2482 * page/scrolling/ScrollingTreeScrollingNode.h:
2483 * page/scrolling/mac/ScrollingTreeFixedNode.h:
2484 * page/scrolling/mac/ScrollingTreeFixedNode.mm:
2485 (WebCore::ScrollingTreeFixedNode::updateBeforeChildren):
2486 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
2487 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2488 (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
2489 (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
2490 * page/scrolling/mac/ScrollingTreeStickyNode.h:
2491 * page/scrolling/mac/ScrollingTreeStickyNode.mm:
2492 (WebCore::ScrollingTreeStickyNode::updateBeforeChildren):
2494 2014-01-01 Simon Fraser <simon.fraser@apple.com>
2496 Add a typedef for PlatformLayerID on GraphicsLayer, and migrate RemoteLayerTreeTransaction to use it
2497 https://bugs.webkit.org/show_bug.cgi?id=126346
2499 Reviewed by Tim Horton.
2501 Remote scrolling tree code is soon going to use RemoteLayerTreeTransaction::LayerID,
2502 so it makes more sense to put this layerID type on GraphicsLayer as
2503 GraphicsLayer::PlatformLayerID.
2505 Also add some type cast macros for PlatformCALayer and subclasses, and use them
2508 * platform/graphics/GraphicsLayer.h:
2509 * platform/graphics/ca/GraphicsLayerCA.cpp:
2510 (WebCore::GraphicsLayerCA::setName):
2511 * platform/graphics/ca/PlatformCALayer.h:
2512 (WebCore::PlatformCALayer::isPlatformCALayerMac):
2513 (WebCore::PlatformCALayer::isPlatformCALayerRemote):
2514 (WebCore::PlatformCALayer::PlatformCALayer):
2515 * platform/graphics/ca/mac/PlatformCALayerMac.h:
2517 2013-12-31 Simon Fraser <simon.fraser@apple.com>
2519 ScrollingStateNodes should have a reference to the ScrollingStateTree
2520 https://bugs.webkit.org/show_bug.cgi?id=126348
2522 Reviewed by Sam Weinig.
2524 Make ScrollingStateNodes always belong to a ScrollingStateTree, and thus
2525 have a reference to the tree rather than a pointer. When cloning nodes,
2526 they are adopted by a new ScrollingStateTree, which adds them to its
2527 node map (which didn't happen before).
2529 In subclasses access the ScrollingStateTree through a member function.
2531 * page/scrolling/ScrollingStateFixedNode.cpp:
2532 (WebCore::ScrollingStateFixedNode::create):
2533 (WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode):
2534 (WebCore::ScrollingStateFixedNode::clone):
2535 (WebCore::ScrollingStateFixedNode::updateConstraints):
2536 * page/scrolling/ScrollingStateFixedNode.h:
2537 * page/scrolling/ScrollingStateNode.cpp:
2538 (WebCore::ScrollingStateNode::ScrollingStateNode):
2539 (WebCore::ScrollingStateNode::cloneAndReset):
2540 (WebCore::ScrollingStateNode::cloneAndResetChildren):
2541 (WebCore::ScrollingStateNode::willBeRemovedFromStateTree):
2542 * page/scrolling/ScrollingStateNode.h:
2543 (WebCore::ScrollingStateNode::scrollingStateTree):
2544 * page/scrolling/ScrollingStateScrollingNode.cpp:
2545 (WebCore::ScrollingStateScrollingNode::create):
2546 (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
2547 (WebCore::ScrollingStateScrollingNode::clone):
2548 (WebCore::ScrollingStateScrollingNode::setViewportRect):
2549 (WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
2550 (WebCore::ScrollingStateScrollingNode::setScrollOrigin):
2551 (WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters):
2552 (WebCore::ScrollingStateScrollingNode::setFrameScaleFactor):
2553 (WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
2554 (WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
2555 (WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
2556 (WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
2557 (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
2558 (WebCore::ScrollingStateScrollingNode::setHeaderHeight):
2559 (WebCore::ScrollingStateScrollingNode::setFooterHeight):
2560 * page/scrolling/ScrollingStateScrollingNode.h:
2561 * page/scrolling/ScrollingStateStickyNode.cpp:
2562 (WebCore::ScrollingStateStickyNode::create):
2563 (WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
2564 (WebCore::ScrollingStateStickyNode::clone):
2565 (WebCore::ScrollingStateStickyNode::updateConstraints):
2566 * page/scrolling/ScrollingStateStickyNode.h:
2567 * page/scrolling/ScrollingStateTree.cpp:
2568 (WebCore::ScrollingStateTree::attachNode):
2569 (WebCore::ScrollingStateTree::commit):
2570 (WebCore::ScrollingStateTree::addNode):
2571 * page/scrolling/ScrollingStateTree.h:
2572 * page/scrolling/mac/ScrollingStateNodeMac.mm:
2573 (WebCore::ScrollingStateNode::setScrollLayer):
2574 * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
2575 (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
2576 (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
2577 (WebCore::ScrollingStateScrollingNode::setFooterLayer):
2578 (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
2580 2013-12-31 Simon Fraser <simon.fraser@apple.com>
2582 Give ScrollingStateNodes a nodeType()
2583 https://bugs.webkit.org/show_bug.cgi?id=126347
2585 Reviewed by Tim Horton.
2587 When we start serializing ScrollingStateNodes to send to the UI process,
2588 it's more convenient if they have a nodeType member rather than virtual functions,
2589 so give them one, and fix the casting macros to use it. This allows us to use
2590 a switch() on node creation, so the compiler will tell us if we forgot to create
2593 * page/scrolling/ScrollingStateFixedNode.cpp:
2594 (WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode):
2595 * page/scrolling/ScrollingStateFixedNode.h:
2596 * page/scrolling/ScrollingStateNode.cpp:
2597 (WebCore::ScrollingStateNode::ScrollingStateNode):
2598 * page/scrolling/ScrollingStateNode.h: const ScrollingNodeType field
2599 (can't be modified after construction), and move the m_scrollingStateTree
2600 member after it (the awkward protected:/private: will be cleaned up in a later patch).
2601 (WebCore::ScrollingStateNode::nodeType):
2602 * page/scrolling/ScrollingStateScrollingNode.cpp:
2603 (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
2604 * page/scrolling/ScrollingStateScrollingNode.h:
2605 * page/scrolling/ScrollingStateStickyNode.cpp:
2606 (WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
2607 * page/scrolling/ScrollingStateStickyNode.h:
2608 * page/scrolling/ScrollingTree.cpp:
2609 (WebCore::ScrollingTree::updateTreeFromStateNode):
2611 2013-12-31 Andreas Kling <akling@apple.com>
2613 Out-of-line RenderStyle substructure copying helpers.
2614 <https://webkit.org/b/126340>
2616 This shrinks the .access() calls by moving memory allocation logic
2617 out-of-line, though I'm really doing this to make Instruments.app
2618 allocations output more readable.
2620 Writes to e.g 'font' or 'color' will now be grouped under a single
2621 StyleInheritedData::copy() call instead of being spread out over
2622 setFontDescription(), setLineHeight(), setColor(), etc.
2624 Reviewed by Anders Carlsson.
2626 2013-12-31 Andreas Kling <akling@apple.com>
2628 RenderListItem should store its marker in a RenderPtr.
2629 <https://webkit.org/b/126298>
2631 Make RenderListItem::m_marker a RenderPtr<RenderListMarker> and
2632 remove two manual destroy() calls. Tweaked code to reduce nesting.
2634 Reviewed by Anders Carlsson.
2636 2013-12-31 Andreas Kling <akling@apple.com>
2638 Element's renderer factory should return RenderPtrs.
2639 <https://webkit.org/b/126318>
2641 Rename Element::createRenderer() to createElementRenderer() and have
2642 it return RenderPtr<RenderElement>. Propagate signature until it
2645 We leakPtr() the renderer at two call sites when handing things over
2646 to raw pointer API. This'll get tidied up in subsequent patches.
2648 Reviewed by Sam Weinig.
2650 2013-12-31 Carlos Garcia Campos <cgarcia@igalia.com>
2652 [SOUP] Return early in ResourceHandle::receivedCancellation if the load has already cancelled
2653 https://bugs.webkit.org/show_bug.cgi?id=126287
2655 Reviewed by Martin Robinson.
2657 This situation can happen when using the network process, because
2658 the ReceivedCancellation message can be received when the resource
2659 loader has already been removed, but the authentication challenge
2660 still has a reference to the ResourceHandleClient.
2662 * platform/network/soup/ResourceHandleSoup.cpp:
2663 (WebCore::ResourceHandle::receivedCancellation):
2665 2013-12-31 Carlos Garcia Campos <cgarcia@igalia.com>
2667 [SOUP] The initiating page is lost after a redirection
2668 https://bugs.webkit.org/show_bug.cgi?id=126293
2670 Reviewed by Martin Robinson.
2672 The initiating page id is attached to the initial soup request
2673 object, but not to the one created after a redirection.
2675 * platform/network/soup/ResourceHandleSoup.cpp:
2676 (WebCore::createSoupRequestAndMessageForHandle): Call
2677 setSoupRequestInitiatingPageIDFromNetworkingContext() here if the
2678 soup request is created successfully.
2679 (WebCore::ResourceHandle::start): Remove the call to
2680 setSoupRequestInitiatingPageIDFromNetworkingContext().
2682 2013-12-31 Carlos Garcia Campos <cgarcia@igalia.com>
2684 [SOUP] Implement ResourceHandle::continueWillSendRequest()
2685 https://bugs.webkit.org/show_bug.cgi?id=126291
2687 Reviewed by Martin Robinson.
2689 * platform/network/soup/ResourceHandleSoup.cpp:
2690 (WebCore::continueAfterWillSendRequest): Helper function that
2691 continues with the load after willSendRequest has been called.
2692 (WebCore::doRedirect): Call continueAfterWillSendRequest() when
2693 client doesn't use async callbacks.
2694 (WebCore::ResourceHandle::continueWillSendRequest): Call
2695 continueAfterWillSendRequest().
2697 2013-12-30 Carlos Garcia Campos <cgarcia@igalia.com>
2699 [SOUP] willSendRequest doesn't work after a redirect
2700 https://bugs.webkit.org/show_bug.cgi?id=126290
2702 Reviewed by Martin Robinson.
2704 The problem is that we are creating the new soup request for the
2705 redirect before calling ResourceHandleClient::willSendRequest() so
2706 that any change made to the request by the client is ignored.
2708 * platform/network/soup/ResourceHandleSoup.cpp:
2709 (WebCore::doRedirect): Create the new soup request and soup
2710 message for the redirect after calling willSendRequest() on the
2713 2013-12-30 Andreas Kling <akling@apple.com>
2715 InputType should return input renderers wrapped in RenderPtr.
2716 <https://webkit.org/b/126307>
2718 Rename InputType::createRenderer() to createInputRenderer() and
2719 make it return RenderPtr<RenderElement>. Also made it non-const.
2721 Reviewed by Anders Carlsson.
2723 2013-12-30 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2725 Cleanup static_cast<HTMLFormElement*> by using toHTMLFormElement()
2726 https://bugs.webkit.org/show_bug.cgi?id=126309
2728 Reviewed by Andreas Kling.
2730 To detect bad type casts, it would be good to use toHTMLFormElement() instead of
2731 using manual type cast. Additionally FORM_ASSOCIATED_ELEMENT_TYPE_CASTS is introduced newly
2734 No new tests, no behavior changes.
2736 * html/FormAssociatedElement.h:
2737 * html/HTMLFormControlElement.h:
2738 * html/HTMLFormElement.cpp:
2739 (WebCore::HTMLFormElement::submitImplicitly):
2740 (WebCore::HTMLFormElement::validateInteractively):
2741 (WebCore::HTMLFormElement::submit):
2742 (WebCore::HTMLFormElement::reset):
2743 (WebCore::HTMLFormElement::defaultButton):
2744 (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
2745 (WebCore::HTMLFormElement::documentDidResumeFromPageCache):
2746 * loader/FormSubmission.cpp:
2747 (WebCore::FormSubmission::create):
2749 2013-12-30 Anders Carlsson <andersca@apple.com>
2751 Replace yield() and pauseBriefly() with std::this_thread::yield()
2752 https://bugs.webkit.org/show_bug.cgi?id=126105
2754 Reviewed by Sam Weinig.
2756 * platform/sql/SQLiteDatabase.cpp:
2757 (WebCore::SQLiteDatabase::interrupt):
2759 2013-12-30 Andreas Kling <akling@apple.com>
2761 Rename createRenderObject() to createRenderer().
2763 Somewhat rubber-stamped by Antti Koivisto.
2765 2013-12-30 Andreas Kling <akling@apple.com>
2767 Document should store its RenderView in a RenderPtr.
2768 <https://webkit.org/b/126299>
2770 Make Document::m_renderView a RenderPtr<RenderView> and remove one
2771 manual destroy() call. Also removed the setRenderView() helper and
2772 inlined it at the two call sites.
2774 Reviewed by Antti Koivisto.
2776 2013-12-30 Martin Robinson <mrobinson@igalia.com>
2778 [CMake] [GTK] Add support for GObject introspection
2779 https://bugs.webkit.org/show_bug.cgi?id=126162
2781 Reviewed by Daniel Bates.
2783 * PlatformGTK.cmake: Build a list of WebKitDOM headers and expose it to the
2784 parent scope of the build.
2786 2013-12-30 Andreas Kling <akling@apple.com>
2788 Text::createTextRenderer() should return a RenderPtr.
2789 <https://webkit.org/b/126292>
2791 Make createTextRenderer() return a RenderPtr and remove one manual
2792 destroy() call. Also, since it should always return a valid object,
2793 I turned a null check into an assertion instead.
2795 Reviewed by Antti Koivisto.
2797 2013-12-30 Antti Koivisto <antti@apple.com>
2800 https://bugs.webkit.org/show_bug.cgi?id=126288
2802 Reviewed by Andreas Kling.
2804 * dom/ContainerNode.cpp:
2805 (WebCore::destroyRenderTreeIfNeeded):
2807 Rename detachChild and move the tests here.
2809 (WebCore::ContainerNode::takeAllChildrenFrom):
2811 No need to call attachRenderTree explicitly anymore.
2813 (WebCore::ContainerNode::removeBetween):
2815 2013-12-29 Andreas Kling <akling@apple.com>
2817 RenderLayer: Store corner and resizer renderers in RenderPtrs.
2818 <https://webkit.org/b/126274>
2820 Turn RenderLayer::m_scrollCorner and m_resizer into RenderPtrs.
2821 Removed manual destroy() calls as appropriate. Also tweaked some
2822 code to reduce nesting.
2824 Reviewed by Anders Carlsson.
2826 2013-12-30 Antti Koivisto <antti@apple.com>
2828 XML document builder should create render tree asynchronously
2829 https://bugs.webkit.org/show_bug.cgi?id=126285
2831 Reviewed by Andreas Kling.
2833 Stop creating renderers explicitly.
2834 Fix SVG <use> element to not rely on parse time render tree construction.
2836 * svg/SVGUseElement.cpp:
2837 (WebCore::SVGUseElement::svgAttributeChanged):
2839 Remove renderer check, we may not have created the render tree yet.
2841 (WebCore::SVGUseElement::willAttachRenderers):
2843 Switch to willAttachRenderers from willRecalcStyle. The latter is only called as long as style
2844 recalc doesn't start creating new renderers.
2846 (WebCore::SVGUseElement::invalidateShadowTree):
2848 Remove renderer check, we may not have created the render tree yet.
2849 Invalidate with ReconstructRenderTree so willAttachRenderers will always get called.
2851 * svg/SVGUseElement.h:
2852 * xml/parser/XMLDocumentParser.cpp:
2853 (WebCore::XMLDocumentParser::exitText):
2854 * xml/parser/XMLDocumentParserLibxml2.cpp:
2855 (WebCore::XMLDocumentParser::startElementNs):
2856 (WebCore::XMLDocumentParser::cdataBlock):
2858 Remove explicit call to attachRenderTree. The render tree will be created lazily.
2860 2013-12-29 Joone Hur <joone.hur@intel.com>
2862 Reverted r156742. The same fix was reverted from Blink due to heap-use-after-free on ClusterFuzz.
2863 https://bugs.webkit.org/show_bug.cgi?id=126275
2865 https://codereview.chromium.org/102993011
2867 Reviewed by Darin Adler.
2869 * rendering/RenderBlock.cpp:
2870 (WebCore::RenderBlock::updateFirstLetter):
2872 2013-12-29 ChangSeok Oh <changseok.oh@collabora.com>
2874 Remove unused functions in GraphicsContext3D.cpp
2875 https://bugs.webkit.org/show_bug.cgi?id=126265
2877 Reviewed by Andreas Kling.
2879 platformGraphicsContext3D, platformTexture and platformLayer in GC3D.cpp
2880 seem not used by any ports.
2882 No new tests, no functionality changed.
2884 * platform/graphics/GraphicsContext3D.cpp:
2886 2013-12-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2888 Fix build error on 64bit debug build.
2889 https://bugs.webkit.org/show_bug.cgi?id=126248
2891 r161076 used ‘%lli’(for long long int) for int64_t(aka long int).
2892 However, in a 64bit compile, int64_t is 'long int', not a 'long long int'.
2893 To support 32bit and 64bit, we use static_cast<long long>.
2895 * Modules/indexeddb/IDBTransactionBackend.cpp:
2896 (WebCore::IDBTransactionBackend::commit):
2898 2013-12-29 Antti Koivisto <antti@apple.com>
2900 Remove some accidental commented out code.
2902 * testing/Internals.cpp:
2903 (WebCore::Internals::mallocStatistics):
2905 2013-12-29 Antti Koivisto <antti@apple.com>
2909 * xml/parser/XMLDocumentParser.cpp:
2911 2013-12-29 Antti Koivisto <antti@apple.com>
2913 Remove Node::attached()
2914 https://bugs.webkit.org/show_bug.cgi?id=126276
2916 Reviewed by Sam Weinig.
2918 Node::attached() is poorly defined. Replace it with renderer() and inRenderedDocument() tests as appropriate.
2920 Also remove some unnecessary explicit attachRenderTree/detachRenderTree calls from the tree builders.
2922 2013-12-29 Andreas Kling <akling@apple.com>
2924 RenderLayer: Store reflection renderer in a RenderPtr.
2925 <https://webkit.org/b/126273>
2927 Reviewed by Anders Carlsson.
2929 * rendering/RenderLayer.h:
2930 * rendering/RenderLayer.cpp:
2931 (WebCore::RenderLayer::RenderLayer):
2932 (WebCore::RenderLayer::calculateClipRects):
2934 Turn RenderLayer::m_reflection into a RenderPtr<RenderReplica>
2935 instead of a raw pointer.
2937 * WebCore.xcodeproj/project.pbxproj:
2939 Add RenderPtr.h to private headers.
2941 2013-12-28 Andreas Kling <akling@apple.com>
2943 Add an owning smart pointer for RenderObjects and start using it.
2944 <https://webkit.org/b/126251>
2946 This patch adds a RenderPtr pointer, essentially an OwnPtr for
2947 RenderObjects. The difference is that RenderPtr destroys the object
2948 by calling destroy() on it.
2950 This is necessary to implement the willBeDestroyed() mechanism in
2951 RenderObject that notifies renderers just before they are about to
2952 be deleted, while they can still do tree traversal, etc.
2954 I also added a make_unique-alike helper so you can write:
2956 auto renderer = createRenderObject<RenderImage>(...);
2958 Put it all to use by making ContentData::createRenderer() return
2959 RenderPtr<RenderObject> instead of raw RenderObject*.
2961 Reviewed by Antti Koivisto.
2963 2013-12-28 Benjamin Poulain <benjamin@webkit.org>
2965 Add a missing include path for GTK
2966 https://bugs.webkit.org/show_bug.cgi?id=126257
2968 Reviewed by Philippe Normand.
2972 2013-12-28 Carlos Garcia Campos <cgarcia@igalia.com>
2974 Unreviewed. Update GObject DOM symbols file after r160733.
2976 * bindings/gobject/webkitdom.symbols:
2978 2013-12-28 Carlos Garcia Campos <cgarcia@igalia.com>
2980 [GTK] Downloads are broken with the network process enabled
2981 https://bugs.webkit.org/show_bug.cgi?id=126131
2983 Reviewed by Martin Robinson.
2985 The problem is that the network process crashes when trying to
2986 convert the handle to a download, because at that point the
2987 download has finished and the handle is NULL. This happens because
2988 we are not implementing ResourceHandle::continueDidReceiveResponse().
2990 * platform/network/soup/ResourceHandleSoup.cpp:
2991 (WebCore::nextMultipartResponsePartCallback): Call
2992 continueAfterDidReceiveResponse() when not using async callbacks.
2993 (WebCore::sendRequestCallback): Ditto.
2994 (WebCore::continueAfterDidReceiveResponse): Helper function that
2995 continues the load after didReceiveResponse.
2996 (WebCore::ResourceHandle::continueDidReceiveResponse): Call
2997 continueAfterDidReceiveResponse().
2999 2013-12-27 Daniel Bates <dabates@apple.com>
3001 Another attempt to fix the Windows build after <http://trac.webkit.org/changeset/161106>
3002 (https://bugs.webkit.org/show_bug.cgi?id=126180)
3004 * WebCore.vcxproj/WebCore.vcxproj.filters: Add files platform/audio/{AudioSession, AudioSessionListener}.h
3005 * WebCore.vcxproj/WebCoreCommon.props: Add directory WebCore/platform/audio to the list of
3006 include directories.
3008 2013-12-27 Daniel Bates <dabates@apple.com>
3010 Attempt to fix the Windows build after <http://trac.webkit.org/changeset/161106>
3011 (https://bugs.webkit.org/show_bug.cgi?id=126180)
3013 Add files platform/audio/AudioSession.{cpp, h} and platform/audio/AudioSessionListener.h
3014 to the Visual Studio project. Note, the contents of these files are guarded by USE(AUDIO_SESSION),
3015 which is only enabled on Mac and iOS at the time of writing.
3017 I thought to try this approach to fix the build so as to avoid adding an extraneous
3018 USE(AUDIO_SESSION)-guard around the #include "AudioSession.h" in Settings.cpp since
3019 the contents of the file AudioSession.h is guarded by USE(AUDIO_SESSION).
3021 * WebCore.vcxproj/WebCore.vcxproj:
3023 2013-12-27 Daniel Bates <dabates@apple.com>
3025 [iOS] Upstream WebCore/page changes
3026 https://bugs.webkit.org/show_bug.cgi?id=126180
3028 Reviewed by Darin Adler.
3030 * WebCore.xcodeproj/project.pbxproj:
3032 (WebCore::EventNames::isGestureEventType): Added.
3033 * page/AlternativeTextClient.h: Do not define WTF_USE_DICTATION_ALTERNATIVES when building for iOS.
3035 (WebCore::Chrome::Chrome):
3036 (WebCore::Chrome::dispatchViewportPropertiesDidChange): Added; guarded by PLATFORM(IOS).
3037 (WebCore::Chrome::setCursor): Make this an empty function when building for iOS.
3038 (WebCore::Chrome::setCursorHiddenUntilMouseMoves): Ditto.
3039 (WebCore::Chrome::didReceiveDocType): Added; iOS-specific.
3041 (WebCore::Chrome::setDispatchViewportDataDidChangeSuppressed): Added; guarded by PLATFORM(IOS).
3042 * page/ChromeClient.h:
3043 (WebCore::ChromeClient::didFlushCompositingLayers): Added; guarded by PLATFORM(IOS).
3044 (WebCore::ChromeClient::fetchCustomFixedPositionLayoutRect): Added; guarded by PLATFORM(IOS).
3045 (WebCore::ChromeClient::updateViewportConstrainedLayers): Added; guarded by PLATFORM(IOS).
3046 * page/DOMTimer.cpp:
3047 (WebCore::DOMTimer::install): Added iOS-specific code.
3048 (WebCore::DOMTimer::fired): Ditto.
3049 * page/DOMWindow.cpp:
3050 (WebCore::DOMWindow::DOMWindow): Ditto.
3051 (WebCore::DOMWindow::innerHeight): Ditto.
3052 (WebCore::DOMWindow::innerWidth): Ditto.
3053 (WebCore::DOMWindow::scrollX): Ditto.
3054 (WebCore::DOMWindow::scrollY): Ditto.
3055 (WebCore::DOMWindow::scrollBy): Ditto.
3056 (WebCore::DOMWindow::scrollTo): Ditto.
3057 (WebCore::DOMWindow::clearTimeout): Ditto.
3058 (WebCore::DOMWindow::addEventListener): Ditto.
3059 (WebCore::DOMWindow::incrementScrollEventListenersCount): Added; guarded by PLATFORM(IOS).
3060 (WebCore::DOMWindow::decrementScrollEventListenersCount): Added; guarded by PLATFORM(IOS).
3061 (WebCore::DOMWindow::resetAllGeolocationPermission): Added; Also added FIXME comment.
3062 (WebCore::DOMWindow::removeEventListener): Added iOS-specific code.
3063 (WebCore::DOMWindow::dispatchEvent): Modified to prevent dispatching duplicate pageshow and pagehide
3064 events per <http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#event-pageshow>.
3065 (WebCore::DOMWindow::removeAllEventListeners): Added iOS-specific code.
3067 * page/DOMWindow.idl: Added IOS_GESTURE_EVENTS-guarded attributes: ongesture{change, end, start}. Also
3068 added IOS_TOUCH_EVENTS-guarded attributes: {Touch, TouchList}Constructor.
3069 * page/EditorClient.h:
3070 * page/EventHandler.cpp:
3071 (WebCore::EventHandler::EventHandler): Added iOS-specific code.
3072 (WebCore::EventHandler::clear): Ditto.
3073 (WebCore::EventHandler::startPanScrolling): Make this an empty function when building for iOS.
3074 (WebCore::EventHandler::handleMousePressEvent): Modified to invalidate a click when the clicked node is
3075 null. Also, opt out of code for updating the scrollbars as UIKit manages scrollbars on iOS.
3076 (WebCore::EventHandler::handleMouseMoveEvent): Opt of code for updating the scrollbars and cursor when building on iOS.
3077 (WebCore::hitTestResultInFrame): Made this a file-local static function since it's only used in EventHandler.cpp.
3078 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled): Added iOS-specific code.
3079 * page/EventHandler.h:
3080 * page/FocusController.h:
3082 (WebCore::Frame::Frame): Added iOS-specific code.
3083 (WebCore::Frame::scrollOverflowLayer): Added; iOS-specific.
3084 (WebCore::Frame::overflowAutoScrollTimerFired): Added; iOS-specific.
3085 (WebCore::Frame::startOverflowAutoScroll): Added; iOS-specific.
3086 (WebCore::Frame::checkOverflowScroll): Added; iOS-specific.
3087 (WebCore::Frame::willDetachPage): Added iOS-specific code.
3088 (WebCore::Frame::createView): Ditto.
3089 (WebCore::Frame::setSelectionChangeCallbacksDisabled): Added; iOS-specific.
3090 (WebCore::Frame::selectionChangeCallbacksDisabled): Added; iOS-specific.
3092 (WebCore::Frame::timersPaused): Added; guarded by PLATFORM(IOS).
3093 * page/FrameView.cpp:
3094 (WebCore::FrameView::FrameView): Added iOS-specific code.
3095 (WebCore::FrameView::clear): Ditto.
3096 (WebCore::FrameView::flushCompositingStateForThisFrame): Ditto.
3097 (WebCore::FrameView::graphicsLayerForPlatformWidget): Added.
3098 (WebCore::FrameView::scheduleLayerFlushAllowingThrottling): Added.
3099 (WebCore::FrameView::layout): Added iOS-specific code.
3100 (WebCore::countRenderedCharactersInRenderObjectWithThreshold): Added; helper function used by FrameView::renderedCharactersExceed().
3101 Also added FIXME comment.
3102 (WebCore::FrameView::renderedCharactersExceed): Added.
3103 (WebCore::FrameView::visibleContentsResized): Added iOS-specific code.
3104 (WebCore::FrameView::adjustTiledBackingCoverage): Ditto.
3105 (WebCore::FrameView::performPostLayoutTasks): Ditto.
3106 (WebCore::FrameView::sendResizeEventIfNeeded): Ditto.
3107 (WebCore::FrameView::paintContents): Added iOS-specific code. Also added FIXME comments.
3108 (WebCore::FrameView::setUseCustomFixedPositionLayoutRect): Added; iOS-specific.
3109 (WebCore::FrameView::setCustomFixedPositionLayoutRect): Added; iOS-specific.
3110 (WebCore::FrameView::updateFixedPositionLayoutRect): Added; iOS-specific.
3112 * page/Navigator.cpp:
3113 (WebCore::Navigator::standalone): Added; iOS-specific.
3115 * page/Navigator.idl: Added WTF_PLATFORM_IOS-guarded attribute: standalone. Also added FIXME comment.
3116 * page/NavigatorBase.cpp:
3117 (WebCore::NavigatorBase::platform): Added iOS-specific code.
3119 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay): Added; guarded by PLATFORM(IOS). Also added FIXME comment
3120 to remove this method.
3121 (WebCore::Page::customHTMLTokenizerTimeDelay): Added; guarded by PLATFORM(IOS). Also added FIXME comment
3122 to remove this method.
3123 * page/PageGroup.cpp:
3124 (WebCore::PageGroup::removeVisitedLink): Added.
3126 * page/Settings.cpp:
3127 (WebCore::Settings::Settings):
3128 (WebCore::Settings::setScriptEnabled): Added; guarded by PLATFORM(IOS).
3129 (WebCore::Settings::setStandalone): Added; guarded by PLATFORM(IOS).
3130 (WebCore::Settings::setAudioSessionCategoryOverride): Added; guarded by PLATFORM(IOS).
3131 (WebCore::Settings::audioSessionCategoryOverride): Added; guarded by PLATFORM(IOS).
3132 (WebCore::Settings::setNetworkDataUsageTrackingEnabled): Added; guarded by PLATFORM(IOS).
3133 (WebCore::Settings::networkDataUsageTrackingEnabled): Added; guarded by PLATFORM(IOS).
3134 (WebCore::sharedNetworkInterfaceNameGlobal): Added; guarded by PLATFORM(IOS).
3135 (WebCore::Settings::setNetworkInterfaceName): Added; guarded by PLATFORM(IOS).
3136 (WebCore::Settings::networkInterfaceName): Added; guarded by PLATFORM(IOS).
3138 (WebCore::Settings::setMaxParseDuration): Added; guarded by PLATFORM(IOS). Also added FIXME comment.
3139 (WebCore::Settings::maxParseDuration): Added; guarded by PLATFORM(IOS). Also added FIXME comment.
3140 (WebCore::Settings::standalone): Added; guarded by PLATFORM(IOS).
3141 (WebCore::Settings::setTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
3142 (WebCore::Settings::telephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
3143 (WebCore::Settings::setMediaDataLoadsAutomatically): Added; guarded by PLATFORM(IOS).
3144 (WebCore::Settings::mediaDataLoadsAutomatically): Added; guarded by PLATFORM(IOS).
3145 (WebCore::Settings::setShouldTransformsAffectOverflow): Added; guarded by PLATFORM(IOS).
3146 (WebCore::Settings::shouldTransformsAffectOverflow): Added; guarded by PLATFORM(IOS).
3147 (WebCore::Settings::setShouldDispatchJavaScriptWindowOnErrorEvents): Added; guarded by PLATFORM(IOS).
3148 (WebCore::Settings::shouldDispatchJavaScriptWindowOnErrorEvents): Added; guarded by PLATFORM(IOS).
3149 (WebCore::Settings::setAlwaysUseBaselineOfPrimaryFont): Added; guarded by PLATFORM(IOS).
3150 (WebCore::Settings::alwaysUseBaselineOfPrimaryFont): Added; guarded by PLATFORM(IOS).
3151 (WebCore::Settings::setAlwaysUseAcceleratedOverflowScroll): Added; guarded by PLATFORM(IOS).
3152 (WebCore::Settings::alwaysUseAcceleratedOverflowScroll): Added; guarded by PLATFORM(IOS).
3153 * page/Settings.in: Added IOS_AIRPLAY-guarded setting: mediaPlaybackAllowsAirPlay.
3154 * page/animation/CSSPropertyAnimation.cpp:
3155 (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Added iOS-specific code and FIXME comment.
3156 * page/ios/EventHandlerIOS.mm: Added.
3157 * page/ios/FrameIOS.mm: Added.
3158 * page/mac/ChromeMac.mm:
3159 * page/mac/PageMac.cpp:
3160 (WebCore::Page::addSchedulePair): Opt out of code when building for iOS.
3161 (WebCore::Page::removeSchedulePair): Ditto.
3162 * page/mac/SettingsMac.mm:
3163 (WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault): Added iOS-specific code.
3164 * page/mac/WebCoreFrameView.h:
3166 2013-12-27 Gavin Barraclough <barraclough@apple.com>
3168 Merge PageVisibilityState & ViewState::IsVisible in WebKit2
3169 https://bugs.webkit.org/show_bug.cgi?id=126214
3171 Reviewed by Alexey Proskuryakov.
3173 WebKit2 redundantly tracks the visibility of the view through two mechanisms - the visibility
3174 state, and the view state. Remove visibility state from the WebKit2 layer. The visibility
3175 state also tracks the prerender state - so split this out and handle it separately (a change
3176 we should make in WebCore, too).
3178 WebCore - changes the API tests exposed a bug, a view should only ever come out of the
3179 prerender state when it becomes visible - redundant notifications that the view is still
3180 hidden should be ignored.
3183 (WebCore::Page::setVisibilityState):
3184 - ignore visibility state change to hidden, if the current state is prerender.
3186 2013-12-27 Joseph Pecoraro <pecoraro@apple.com>
3188 Unreviewed Windows build fix for r160946.
3190 Add another file to the Windows InspectorAllInOne.cpp.
3192 * inspector/InspectorAllInOne.cpp:
3194 2013-12-27 Commit Queue <commit-queue@webkit.org>
3196 Unreviewed, rolling out r161096.
3197 http://trac.webkit.org/changeset/161096
3198 https://bugs.webkit.org/show_bug.cgi?id=126256
3200 Made lots of tests crash (Requested by ap on #webkit).
3202 * dom/ContainerNode.cpp:
3203 (WebCore::ContainerNode::insertBefore):
3204 (WebCore::ContainerNode::replaceChild):
3205 (WebCore::willRemoveChildren):
3206 (WebCore::ContainerNode::appendChild):
3208 (WebCore::Document::visibilityStateChanged):
3209 (WebCore::Document::moveNodeIteratorsToNewDocument):
3210 (WebCore::Document::updateRangesAfterChildrenChanged):
3211 (WebCore::Document::nodeChildrenWillBeRemoved):
3212 (WebCore::Document::nodeWillBeRemoved):
3213 (WebCore::Document::textInserted):
3214 (WebCore::Document::textRemoved):
3215 (WebCore::Document::textNodesMerged):
3216 (WebCore::Document::textNodeSplit):
3217 (WebCore::Document::documentWillSuspendForPageCache):
3218 (WebCore::Document::documentDidResumeFromPageCache):
3219 (WebCore::Document::mediaVolumeDidChange):
3220 (WebCore::Document::privateBrowsingStateDidChange):
3221 (WebCore::Document::captionPreferencesChanged):
3222 (WebCore::Document::validateAutoSizingNodes):
3223 (WebCore::Document::resetAutoSizingNodes):
3224 (WebCore::Document::webkitExitFullscreen):
3225 * dom/MutationObserver.cpp:
3226 (WebCore::MutationObserver::disconnect):
3227 (WebCore::MutationObserver::getObservedNodes):
3228 (WebCore::MutationObserver::deliver):
3229 * dom/MutationObserverInterestGroup.cpp:
3230 (WebCore::MutationObserverInterestGroup::isOldValueRequested):
3231 (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
3232 * dom/MutationObserverRegistration.cpp:
3233 (WebCore::MutationObserverRegistration::clearTransientRegistrations):
3234 (WebCore::MutationObserverRegistration::addRegistrationNodesToSet):
3236 (WebCore::Node::dumpStatistics):
3237 (WebCore::Document::invalidateNodeListAndCollectionCaches):
3238 (WebCore::NodeListsNodeData::invalidateCaches):
3239 (WebCore::Node::didMoveToNewDocument):
3240 (WebCore::collectMatchingObserversForMutation):
3241 (WebCore::Node::notifyMutationObserversNodeWillDetach):
3242 * dom/NodeRareData.h:
3243 (WebCore::NodeListsNodeData::adoptDocument):
3244 * dom/ScriptExecutionContext.cpp:
3245 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3246 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
3247 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
3248 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
3249 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
3250 (WebCore::ScriptExecutionContext::closeMessagePorts):
3251 (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
3252 (WebCore::ScriptExecutionContext::didChangeTimerAlignmentInterval):
3253 * dom/WebKitNamedFlow.cpp:
3254 (WebCore::WebKitNamedFlow::getRegionsByContent):
3255 (WebCore::WebKitNamedFlow::getRegions):
3256 (WebCore::WebKitNamedFlow::getContent):
3258 2013-12-26 Sam Weinig <sam@webkit.org>
3260 Convert some of WebCore/dom over to range-for loops
3261 https://bugs.webkit.org/show_bug.cgi?id=126250
3263 Reviewed by Andreas Kling.
3265 * dom/ContainerNode.cpp:
3267 * dom/MutationObserver.cpp:
3268 * dom/MutationObserverInterestGroup.cpp:
3269 * dom/MutationObserverRegistration.cpp:
3271 * dom/NodeRareData.h:
3272 * dom/ScriptExecutionContext.cpp:
3273 * dom/WebKitNamedFlow.cpp:
3275 2013-12-26 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
3277 [Nix] Cleanup Source/WebCore/PlatformNix.cmake
3278 https://bugs.webkit.org/show_bug.cgi?id=126226
3280 Reviewed by Csaba Osztrogonác.
3282 No new tests needed.
3284 * PlatformNix.cmake:
3286 2013-12-26 Joseph Pecoraro <pecoraro@apple.com>
3288 Unreviewed attempt at Windows build fix.
3290 I think Window's "AllInOne.cpp" is causing a using namespace JSC
3291 to cause naming conflicts between Inspector::TypeBuilder::Debugger::types
3292 and JSC::types. So removing the ambiguity.
3294 * inspector/InjectedScript.cpp:
3295 (WebCore::InjectedScript::getProperties):
3296 (WebCore::InjectedScript::wrapCallFrames):
3298 2013-12-22 Andreas Kling <akling@apple.com>
3300 Make Text::createTextRenderer() take a const RenderStyle&.
3301 <https://webkit.org/b/126136>
3303 Nuke a FIXME about constifying a RenderStyle& local.
3305 Reviewed by Anders Carlsson.
3307 2013-12-22 Andreas Kling <akling@apple.com>
3309 Move more inlines from RenderObject to RenderElement.
3310 <https://webkit.org/b/126134>
3312 Lift some inline functions that use style() from RenderObject over
3313 to RenderElement, making them branchless.
3315 Reviewed by Anders Carlsson.
3317 2013-12-26 ChangSeok Oh <changseok.oh@collabora.com>
3319 Unreviewed build fix after r159526.
3320 isBoxValue is used at out of ENABLE_CSS_SHAPES gaurd. It causes a compile failure.
3321 So I moved isBoxValue to out side of ENABLE_CSS_SHAPES.
3323 * css/CSSParser.cpp:
3325 2013-12-25 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3327 Set m_pos as private in InlineIterator, and use getter and setter functions.
3328 https://bugs.webkit.org/show_bug.cgi?id=125614
3330 Reviewed by Alexey Proskuryakov.
3332 InlineIterator has been exported m_pos as public directly though it is member variable.
3333 This patch set it as private, and add getter/setter functions for it.
3335 No new tests, no behavior changes.
3337 * rendering/InlineIterator.h:
3338 (WebCore::InlineIterator::setOffset):
3339 (WebCore::operator==):
3340 (WebCore::operator!=):
3341 (WebCore::InlineBidiResolver::appendRun):
3342 * rendering/RenderBlockLineLayout.cpp:
3343 (WebCore::RenderBlockFlow::appendRunsForObject):
3344 (WebCore::constructBidiRunsForLine):
3345 (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
3346 (WebCore::RenderBlockFlow::matchedEndLine):
3347 (WebCore::LineBreaker::nextSegmentBreak):
3348 * rendering/line/BreakingContextInlineHeaders.h:
3349 (WebCore::BreakingContext::handleBR):
3350 (WebCore::BreakingContext::handleFloat):
3351 (WebCore::iteratorIsBeyondEndOfRenderCombineText):
3352 (WebCore::ensureCharacterGetsLineBox):
3353 (WebCore::BreakingContext::handleText):
3354 (WebCore::checkMidpoints):
3355 (WebCore::BreakingContext::handleEndOfLine):
3356 * rendering/line/TrailingObjects.cpp:
3357 (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
3359 2013-12-25 Kim Byung Jun <bj1987.kim@samsung.com>
3361 [EFL] Delete file.edc and file_*.png.
3362 https://bugs.webkit.org/show_bug.cgi?id=125134
3364 Reviewed by Gyuyoung Kim.
3366 File_theme uses button form.
3368 * platform/efl/DefaultTheme/CMakeLists.txt:
3369 * platform/efl/DefaultTheme/default.edc:
3370 * platform/efl/DefaultTheme/widget/file/file.edc: Removed.
3371 * platform/efl/DefaultTheme/widget/file/file_focus.png: Removed.
3372 * platform/efl/DefaultTheme/widget/file/file_hover.png: Removed.
3373 * platform/efl/DefaultTheme/widget/file/file_normal.png: Removed.
3374 * platform/efl/DefaultTheme/widget/file/file_press.png: Removed.
3376 2013-12-25 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
3378 [Nix] Adding createDragImageIconForCachedImageFilename method to DragImageNix
3379 https://bugs.webkit.org/show_bug.cgi?id=126230
3381 Reviewed by Daniel Bates.
3383 Also returning nullptr in other functions that were returning 0 as a pointer.
3385 * platform/nix/DragImageNix.cpp:
3386 (WebCore::createDragImageFromImage):
3387 (WebCore::createDragImageIconForCachedImage):
3388 (WebCore::createDragImageIconForCachedImageFilename):
3390 2013-12-25 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
3392 [Nix] Fixing DragData::asFragment signature in DragDataNix.cpp
3393 https://bugs.webkit.org/show_bug.cgi?id=126229
3395 Reviewed by Daniel Bates.
3397 * platform/nix/DragDataNix.cpp:
3398 (WebCore::DragData::asFragment):
3400 2013-12-25 Commit Queue <commit-queue@webkit.org>
3402 Unreviewed, rolling out r161033 and r161074.
3403 http://trac.webkit.org/changeset/161033
3404 http://trac.webkit.org/changeset/161074
3405 https://bugs.webkit.org/show_bug.cgi?id=126240
3407 Oliver says that a rollout would be better (Requested by ap on
3410 * bindings/js/JSDOMWindowCustom.cpp:
3411 (WebCore::JSDOMWindow::put):
3412 * bindings/objc/WebScriptObject.mm:
3413 (-[WebScriptObject setValue:forKey:]):
3414 * bindings/scripts/CodeGeneratorJS.pm:
3415 (GenerateImplementation):
3416 * bindings/scripts/test/JS/JSTestInterface.cpp:
3417 (WebCore::JSTestInterface::putByIndex):
3418 * bridge/NP_jsobject.cpp:
3421 2013-12-25 Brady Eidson <beidson@apple.com>
3423 DatabaseProcess: Implement version changing
3424 https://bugs.webkit.org/show_bug.cgi?id=126099
3426 Reviewed by Sam Weinig.
3428 No new tests (No change in WebCore behavior).
3430 * Modules/indexeddb/IDBTransactionBackend.cpp:
3431 (WebCore::IDBTransactionBackend::commit): Update some logging.
3433 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
3434 (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform): Move some things that used to be in
3435 IDBServerConnectionLevelDB::changeDatabaseVersion to this cross-platform location.
3436 * Modules/indexeddb/IDBTransactionBackendOperations.h:
3437 (WebCore::IDBDatabaseBackend::VersionChangeOperation::transaction):
3439 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
3440 (WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion): Move the actual updating of the database backend
3441 metadata to the VersionChangeOperation.
3443 2013-12-25 Martin Robinson <mrobinson@igalia.com>
3445 [GTK] [CMake] Clean up generated sources directories
3446 https://bugs.webkit.org/show_bug.cgi?id=126216
3448 Reviewed by Gustavo Noronha Silva.
3450 * PlatformGTK.cmake: Use the new directory variables.
3452 2013-12-25 Dirk Schulze <krit@webkit.org>
3454 Support <box> values parsing on 'clip-path' property
3455 https://bugs.webkit.org/show_bug.cgi?id=126147
3457 Reviewed by Ryosuke Niwa.
3459 Support parsing of the background reference boxes, margin-box and bounding-box.
3460 A box will be a reference box and define the origin for a basic shape.
3461 If no basic shape is specified, the box defines the clipping path itself.
3462 The specification text follows the changes to CSS Shapes now.
3464 https://dvcs.w3.org/hg/FXTF/raw-file/3f213145303e/css-masking-1/index.html#the-clip-path
3466 Existing parsing test have been extended to test box values as well.
3468 * css/CSSParser.cpp:
3469 (WebCore::CSSParser::parseValue):
3470 (WebCore::CSSParser::parseClipPath):
3472 * css/CSSValueKeywords.in:
3473 * css/DeprecatedStyleBuilder.cpp:
3474 (WebCore::ApplyPropertyClipPath::applyValue):
3476 2013-12-25 David Kilzer <ddkilzer@apple.com>
3478 [iOS] Upstream WebCore/pdf changes
3479 http://webkit.org/b/126097
3481 Reviewed by Sam Weinig.
3483 * WebCore.xcodeproj/project.pbxproj: Added files to project.
3484 * pdf/ios/PDFDocument.cpp: Added.
3485 (WebCore::PDFDocumentParser::create):
3486 (WebCore::PDFDocumentParser::document):
3487 (WebCore::PDFDocumentParser::PDFDocumentParser):
3488 (WebCore::PDFDocument::createParser):
3489 * pdf/ios/PDFDocument.h: Added.
3490 (WebCore::PDFDocument::create):
3491 (WebCore::PDFDocument::PDFDocument):
3493 2013-12-24 Commit Queue <commit-queue@webkit.org>
3495 Unreviewed, rolling out r160959.
3496 http://trac.webkit.org/changeset/160959
3497 https://bugs.webkit.org/show_bug.cgi?id=126222
3499 Caused Windows build to fail (Requested by rfong on #webkit).
3501 * platform/sql/SQLiteDatabase.cpp:
3502 (WebCore::SQLiteDatabase::interrupt):
3504 2013-12-24 Ryosuke Niwa <rniwa@webkit.org>
3506 Unreviewed, rolling out r161051.
3507 http://trac.webkit.org/changeset/161051
3508 https://bugs.webkit.org/show_bug.cgi?id=45994
3510 Caused two DFG tests to hit assertions due to a separate bug
3512 * xml/XMLHttpRequest.cpp:
3513 (WebCore::XMLHttpRequest::status):
3514 (WebCore::XMLHttpRequest::statusText):
3515 * xml/XMLHttpRequest.h:
3516 * xml/XMLHttpRequest.idl:
3518 2013-12-24 Mihnea Ovidenie <mihnea@adobe.com>
3520 [CSSRegions] Crash while repainting an invalid region
3521 https://bugs.webkit.org/show_bug.cgi?id=126152
3523 Reviewed by Daniel Bates.
3525 An invalid region, part of a dependency cycle, should not attempt to repaint content from
3526 its associated named flow, otherwise there may be the case of an infinite repaint cycle,
3527 resulting in a crash due to a stack overflow.
3529 Test: fast/regions/repaint/invalid-region-repaint-crash.html
3531 * rendering/RenderLayer.cpp:
3532 (WebCore::RenderLayer::repaintIncludingDescendants):
3534 2013-12-23 Ryosuke Niwa <rniwa@webkit.org>
3536 XMLHttpRequest: status and statusText throw DOM Exception 11 when the state is UNSENT or OPENED.
3537 https://bugs.webkit.org/show_bug.cgi?id=45994
3539 Reviewed by Alexey Proskuryakov.
3541 Merged https://chromium.googlesource.com/chromium/blink/+/23c90460de16e04c5aba7ed942fba76cb79fdb9b.
3543 Latest XHR spec says that XHR should return 0 and an empty string when it's in UNSENT or OPENED state
3544 or error flag is set: http://www.w3.org/TR/2012/WD-XMLHttpRequest-20121206/#the-status-attribute
3546 * xml/XMLHttpRequest.cpp:
3547 (WebCore::XMLHttpRequest::status):
3548 (WebCore::XMLHttpRequest::statusText):
3549 * xml/XMLHttpRequest.h:
3550 * xml/XMLHttpRequest.idl:
3552 2013-12-23 Ryosuke Niwa <rniwa@webkit.org>
3554 Crash in ReplaceSelectionCommand
3555 https://bugs.webkit.org/show_bug.cgi?id=126107
3557 Reviewed by Benjamin Poulain.
3559 Merge https://chromium.googlesource.com/chromium/blink/+/c1ebe5c1e808daf9db5e348a8d0ab32570b9f7a5
3560 except the test since it doesn't reproduce the crash in WebKit.
3562 * editing/ReplaceSelectionCommand.cpp:
3563 (WebCore::ReplaceSelectionCommand::doApply):
3565 2013-12-23 Benjamin Poulain <benjamin@webkit.org>
3567 Add the pseudo classes link and any-link to the Selector Code Generator
3568 https://bugs.webkit.org/show_bug.cgi?id=126196
3570 Reviewed by Ryosuke Niwa.
3572 * cssjit/SelectorCompiler.cpp:
3573 (WebCore::SelectorCompiler::addPseudoType):
3574 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
3575 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLink):
3577 (WebCore::Node::flagIsElement):
3578 (WebCore::Node::flagIsLink):
3579 Fix the type to match TrustedImm32.
3581 2013-12-23 Benjamin Poulain <benjamin@webkit.org>
3583 Add the experimental CSS code generator files to the remaining build systems
3584 https://bugs.webkit.org/show_bug.cgi?id=126192
3586 Reviewed by Sam Weinig.
3589 * GNUmakefile.list.am:
3590 * WebCore.vcxproj/WebCore.vcxproj:
3591 * WebCore.vcxproj/WebCore.vcxproj.filters:
3593 2013-12-23 Benjamin Poulain <benjamin@webkit.org>
3595 Add the pseudo class :focus to the Selector Code Generator
3596 https://bugs.webkit.org/show_bug.cgi?id=126189
3598 Reviewed by Ryosuke Niwa.
3600 * cssjit/SelectorCompiler.cpp:
3601 (WebCore::SelectorCompiler::addPseudoType):
3602 (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
3603 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
3604 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFocused):
3606 2013-12-23 Ryosuke Niwa <rniwa@webkit.org>
3608 Remove boolean argument from Element::setChildrenAffectBy* methods
3609 https://bugs.webkit.org/show_bug.cgi?id=126183
3611 Reviewed by Daniel Bates.
3613 Merge https://chromium.googlesource.com/chromium/blink/+/066ef2fa78336b2b65052cb17cb81b367fe7dbbf
3615 These functions are never called with false.
3617 * css/SelectorChecker.cpp:
3618 (WebCore::SelectorChecker::checkOne):
3620 (WebCore::Element::setChildrenAffectedByActive):
3621 (WebCore::Element::setChildrenAffectedByDrag):
3623 (WebCore::Element::setChildrenAffectedByHover):
3625 2013-12-23 Tim Horton <timothy_horton@apple.com>
3627 Fix the iOS build after r161013 and r160672.
3630 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3631 (PlatformCALayerMac::updateCustomAppearance):
3633 2013-12-23 Oliver Hunt <oliver@apple.com>
3635 Refactor PutPropertySlot to be aware of custom properties
3636 https://bugs.webkit.org/show_bug.cgi?id=126187
3638 Reviewed by msaboff.
3640 Update the bindings code generation and custom objects
3641 to the new function signatures
3643 * bindings/js/JSDOMWindowCustom.cpp:
3644 (WebCore::JSDOMWindow::put):
3645 * bindings/objc/WebScriptObject.mm:
3646 (-[WebScriptObject setValue:forKey:]):
3647 * bindings/scripts/CodeGeneratorJS.pm:
3648 (GenerateImplementation):
3649 * bindings/scripts/test/JS/JSTestInterface.cpp:
3650 (WebCore::JSTestInterface::putByIndex):
3651 * bridge/NP_jsobject.cpp:
3654 2013-12-23 Benjamin Poulain <benjamin@webkit.org>
3656 Add class matching to the Selector Code Generator
3657 https://bugs.webkit.org/show_bug.cgi?id=126176
3659 Reviewed by Antti Koivisto.
3661 Add selector matching based on classname to the Selector Compiler.
3663 * cssjit/SelectorCompiler.cpp:
3664 (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
3665 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
3666 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasClasses):
3667 * dom/ElementData.h:
3668 (WebCore::ElementData::classNamesMemoryOffset):
3669 * dom/SpaceSplitString.h:
3670 (WebCore::SpaceSplitStringData::sizeMemoryOffset):
3671 (WebCore::SpaceSplitStringData::tokensMemoryOffset):
3673 2013-12-23 Daniel Bates <dabates@apple.com>
3675 [iOS] Upstream WebCore/storage changes
3676 https://bugs.webkit.org/show_bug.cgi?id=125913
3678 Reviewed by David Kilzer.
3680 * storage/StorageAreaSync.cpp:
3681 (WebCore::StorageAreaSync::openDatabase): Added iOS-specific code.
3682 (WebCore::StorageAreaSync::sync): Ditto.
3683 * storage/StorageTracker.cpp:
3684 (WebCore::StorageTracker::openTrackerDatabase): Ditto.
3685 (WebCore::StorageTracker::syncImportOriginIdentifiers): Ditto.
3686 (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): Ditto.
3687 (WebCore::StorageTracker::syncSetOriginDetails): Ditto.
3688 (WebCore::StorageTracker::syncDeleteAllOrigins): Ditto.
3689 (WebCore::StorageTracker::syncDeleteOrigin): Ditto.
3690 (WebCore::StorageTracker::databasePathForOrigin): Ditto.
3692 2013-12-23 Daniel Bates <dabates@apple.com>
3694 Fix the iOS build following <http://trac.webkit.org/changeset/160236>
3695 (https://bugs.webkit.org/show_bug.cgi?id=125239)
3697 * rendering/RenderBlock.h:
3698 * rendering/RenderBox.cpp:
3699 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Substitute view() for &view().
3700 * rendering/RenderLayer.cpp:
3701 (WebCore::RenderLayer::scrollTo): Fix indentation of closing brace.
3702 * rendering/RenderLayerCompositor.cpp: Include MainFrame.h.
3703 (WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles): Check that page->mainFrame().view()
3704 is non-null; also add explicit #else clause.
3705 (WebCore::RenderLayerCompositor::ensureRootLayer): Fix up main frame check.
3706 * rendering/RenderTheme.h:
3707 (WebCore::RenderTheme::paintFileUploadIconDecorations): Substitute rect for r.
3708 * rendering/RenderThemeIOS.mm:
3709 (WebCore::RenderThemeIOS::paintTextFieldDecorations): Use .get() to access underlying NeverDestroyed item.
3710 (WebCore::RenderThemeIOS::systemFont):
3711 * rendering/RenderView.cpp:
3712 (WebCore::fixedPositionOffset): Substitute frameView.scrollOffset() for frameView->scrollOffset().
3714 2013-12-23 Ryosuke Niwa <rniwa@webkit.org>
3716 Minor optimization in FrameSelection::setNonDirectionalSelectionIfNeeded()
3717 https://bugs.webkit.org/show_bug.cgi?id=126108
3719 Reviewed by Benjamin Poulain.
3721 Merge https://chromium.googlesource.com/chromium/blink/+/237b987c324e2e389a9e0350293bfaf16a5e201d
3723 * editing/FrameSelection.cpp:
3724 (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
3726 2013-12-23 Ryosuke Niwa <rniwa@webkit.org>
3728 Use isDocumentFragment() instead of comparing nodeType() with Node::DOCUMENT_FRAGMENT_NODE
3729 https://bugs.webkit.org/show_bug.cgi?id=126178
3731 Reviewed by Antti Koivisto.
3733 Inspired by https://chromium.googlesource.com/chromium/blink/+/a622cb80af2bfb0c5d91123cbcfa4fa72a06554c
3735 Use inline Node::isDocumentFragment() instead of virtual nodeType().
3737 * dom/ContainerNode.cpp:
3738 (WebCore::collectChildrenAndRemoveFromOldParent):
3740 (WebCore::Document::canReplaceChild):
3742 2013-12-23 Gwang Yoon Hwang <ryumiel@company100.net>
3744 Clear ScratchBuffer::m_lastLayerSize when clearing the scratch buffer.
3745 https://bugs.webkit.org/show_bug.cgi?id=126150
3747 Reviewed by Simon Fraser.
3749 Since ScratchBuffer::clearScratchBuffer only clears m_lastRadius,
3750 ShadowBlur doesn't draw shadow into the re-created scratch buffer if it
3751 tries to draw shadow without blurRadius.
3753 Clear m_lastLayerSize to empty is enought to ensure that there is no
3754 drawn contents in the scratch buffer.
3756 No new tests due to the flaky nature of reproducing the issue.
3758 * platform/graphics/ShadowBlur.cpp:
3759 (WebCore::ScratchBuffer::clearScratchBuffer):
3761 2013-12-23 Benjamin Poulain <benjamin@webkit.org>
3763 Add id matching to the Selector Code Generator
3764 https://bugs.webkit.org/show_bug.cgi?id=126154
3766 Reviewed by Antti Koivisto.
3768 Compile matching for #id selectors. IDs are Atomic String so it is just a matter
3769 of comparing the pointers.
3771 No attempt is made at optimizing for the double #id case because such problem
3772 do not really happen outside tests.
3774 * cssjit/SelectorCompiler.cpp:
3775 (WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
3776 (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
3777 (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
3778 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
3779 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
3780 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasId):
3782 (WebCore::Element::elementDataMemoryOffset):
3783 * dom/ElementData.h:
3784 (WebCore::ElementData::idForStyleResolutionMemoryOffset):
3786 2013-12-23 Oliver Hunt <oliver@apple.com>
3788 Update custom setter implementations to perform type checks
3789 https://bugs.webkit.org/show_bug.cgi?id=126171
3791 Reviewed by Daniel Bates.
3793 Update the bindings code generator for setters so that they perform a real
3796 * bindings/scripts/CodeGeneratorJS.pm:
3797 (GenerateAttributeEventListenerCall):
3799 (GenerateImplementation):
3800 * bindings/scripts/test/JS/JSTestInterface.cpp:
3801 (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
3802 (WebCore::setJSTestInterfaceImplementsStr2):
3803 (WebCore::setJSTestInterfaceImplementsStr3):
3804 (WebCore::setJSTestInterfaceImplementsNode):
3805 (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
3806 (WebCore::setJSTestInterfaceSupplementalStr2):
3807 (WebCore::setJSTestInterfaceSupplementalStr3):
3808 (WebCore::setJSTestInterfaceSupplementalNode):
3809 * bindings/scripts/test/JS/JSTestInterface.h:
3810 * bindings/scripts/test/JS/JSTestObj.cpp:
3811 (WebCore::setJSTestObjConstructorStaticStringAttr):
3812 (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
3813 (WebCore::setJSTestObjEnumAttr):
3814 (WebCore::setJSTestObjByteAttr):
3815 (WebCore::setJSTestObjOctetAttr):
3816 (WebCore::setJSTestObjShortAttr):
3817 (WebCore::setJSTestObjUnsignedShortAttr):
3818 (WebCore::setJSTestObjLongAttr):
3819 (WebCore::setJSTestObjLongLongAttr):
3820 (WebCore::setJSTestObjUnsignedLongLongAttr):
3821 (WebCore::setJSTestObjStringAttr):
3822 (WebCore::setJSTestObjTestObjAttr):
3823 (WebCore::setJSTestObjXMLObjAttr):
3824 (WebCore::setJSTestObjCreate):
3825 (WebCore::setJSTestObjReflectedStringAttr):
3826 (WebCore::setJSTestObjReflectedIntegralAttr):
3827 (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
3828 (WebCore::setJSTestObjReflectedBooleanAttr):
3829 (WebCore::setJSTestObjReflectedURLAttr):
3830 (WebCore::setJSTestObjReflectedCustomIntegralAttr):
3831 (WebCore::setJSTestObjReflectedCustomBooleanAttr):
3832 (WebCore::setJSTestObjReflectedCustomURLAttr):
3833 (WebCore::setJSTestObjTypedArrayAttr):
3834 (WebCore::setJSTestObjAttrWithGetterException):
3835 (WebCore::setJSTestObjAttrWithSetterException):
3836 (WebCore::setJSTestObjStringAttrWithGetterException):
3837 (WebCore::setJSTestObjStringAttrWithSetterException):
3838 (WebCore::setJSTestObjCustomAttr):
3839 (WebCore::setJSTestObjWithScriptStateAttribute):
3840 (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
3841 (WebCore::setJSTestObjWithScriptStateAttributeRaises):
3842 (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
3843 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
3844 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
3845 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
3846 (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
3847 (WebCore::setJSTestObjConditionalAttr1):
3848 (WebCore::setJSTestObjConditionalAttr2):
3849 (WebCore::setJSTestObjConditionalAttr3):
3850 (WebCore::setJSTestObjConditionalAttr4Constructor):
3851 (WebCore::setJSTestObjConditionalAttr5Constructor):
3852 (WebCore::setJSTestObjConditionalAttr6Constructor):
3853 (WebCore::setJSTestObjAnyAttribute):
3854 (WebCore::setJSTestObjMutablePoint):
3855 (WebCore::setJSTestObjImmutablePoint):
3856 (WebCore::setJSTestObjStrawberry):
3857 (WebCore::setJSTestObjStrictFloat):
3858 (WebCore::setJSTestObjId):
3859 (WebCore::setJSTestObjReplaceableAttribute):
3860 (WebCore::setJSTestObjNullableLongSettableAttribute):
3861 (WebCore::setJSTestObjNullableStringValue):
3862 (WebCore::setJSTestObjAttributeWithReservedEnumType):
3863 * bindings/scripts/test/JS/JSTestObj.h:
3864 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3865 (WebCore::setJSTestSerializedScriptValueInterfaceValue):
3866 (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
3867 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3868 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3869 (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
3870 (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
3871 (WebCore::setJSTestTypedefsAttrWithGetterException):
3872 (WebCore::setJSTestTypedefsAttrWithSetterException):
3873 (WebCore::setJSTestTypedefsStringAttrWithGetterException):
3874 (WebCore::setJSTestTypedefsStringAttrWithSetterException):
3875 * bindings/scripts/test/JS/JSTestTypedefs.h:
3877 2013-12-23 Lucas Forschler <lforschler@apple.com>
3879 <rdar://problem/15682948> Update copyright strings
3881 Reviewed by Dan Bernstein
3885 2013-12-23 Commit Queue <commit-queue@webkit.org>
3887 Unreviewed, rolling out r160945.
3888 http://trac.webkit.org/changeset/160945
3889 https://bugs.webkit.org/show_bug.cgi?id=126164
3891 Seems to have broken multiple canvas tests (Requested by ap on
3894 * WebCore.xcodeproj/project.pbxproj:
3895 * platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Removed.
3896 * platform/graphics/cg/ImageBufferBackingStoreCache.h: Removed.
3897 * platform/graphics/cg/ImageBufferCG.cpp:
3898 (WebCore::createIOSurface):
3899 (WebCore::ImageBuffer::ImageBuffer):
3900 (WebCore::ImageBuffer::~ImageBuffer):
3902 2013-12-23 Eric Carlson <eric.carlson@apple.com>
3904 AudioSessionManager should be MediaSessionManager
3905 https://bugs.webkit.org/show_bug.cgi?id=126087
3907 Reviewed by Jer Noble.
3909 No new tests, no change in functionality.
3911 * WebCore.xcodeproj/project.pbxproj: Change file names.
3913 * html/HTMLMediaElement.cpp:
3914 (WebCore::HTMLMediaElement::HTMLMediaElement): MediaSessionManagerToken::create() takes a client
3915 interface instead of the media type.
3916 * html/HTMLMediaElement.h:
3918 * platform/audio/AudioSessionListener.h: Include <wtf/Noncopyable.h>.
3920 AudioSessionManager.* -> MediaSessionManager.*
3921 * platform/audio/AudioSessionManager.cpp: Removed.
3922 * platform/audio/AudioSessionManager.h: Removed.
3923 * platform/audio/MediaSessionManager.cpp: Copied from Source/WebCore/platform/audio/AudioSessionManager.cpp.
3924 (MediaSessionManagerToken::create):
3925 (MediaSessionManagerToken::MediaSessionManagerToken):
3926 (MediaSessionManagerToken::~MediaSessionManagerToken):
3927 (MediaSessionManager::sharedManager):
3928 (MediaSessionManager::MediaSessionManager):
3929 (MediaSessionManager::has):
3930 (MediaSessionManager::count):
3931 (MediaSessionManager::addToken):
3932 (MediaSessionManager::removeToken):
3933 (MediaSessionManager::updateSessionState):
3934 * platform/audio/MediaSessionManager.h: Copied from Source/WebCore/platform/audio/AudioSessionManager.h.
3936 * platform/audio/mac/AudioDestinationMac.cpp:
3937 (WebCore::AudioDestinationMac::AudioDestinationMac): MediaSessionManagerToken::create() takes a
3938 client interface instead of the media type.
3939 * platform/audio/mac/AudioDestinationMac.h:
3941 * platform/audio/mac/AudioSessionMac.cpp:
3942 * platform/audio/mac/AudioSessionManagerMac.cpp: Removed.
3943 * platform/audio/mac/MediaSessionManagerMac.cpp: Copied from Source/WebCore/platform/audio/mac/AudioSessionManagerMac.cpp.
3944 (MediaSessionManager::updateSessionState):
3946 2013-12-23 Zan Dobersek <zdobersek@igalia.com>
3948 webkit gtk 2.2.3 stable tarball compilation error
3949 https://bugs.webkit.org/show_bug.cgi?id=125987
3951 Reviewed by Gustavo Noronha Silva.
3953 Only try including <gdk/gdkwayland.h> and using GDK_IS_WAYLAND_DISPLAY if the Wayland support has been
3954 enabled and when not compiling with GTK+ 2 (which occurs when building for libPlatformGtk2).
3956 * platform/graphics/GLContext.cpp:
3957 (WebCore::GLContext::createContextForWindow):
3959 2013-12-23 Piotr Grad <p.grad@samsung.com>
3961 [GStreamer] video/audio seeking is not unified.
3962 https://bugs.webkit.org/show_bug.cgi?id=125852
3964 Reviewed by Philippe Normand.
3966 This bug is fixing regression with seeking audio/video elements and unifies seeking
3967 in MediaPlayerPrivateGStreamer.
3969 Test: media/video-seek-with-negative-playback.html
3971 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3972 (WebCore::MediaPlayerPrivateGStreamer::seek):
3973 (WebCore::MediaPlayerPrivateGStreamer::seekIncludingRate):
3974 (WebCore::MediaPlayerPrivateGStreamer::setRate):
3975 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
3976 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3978 2013-12-23 ChangSeok Oh <changseok.oh@collabora.com>
3980 [GTK][WK2] WebGL is not working with GLES
3981 https://bugs.webkit.org/show_bug.cgi?id=126138
3983 Reviewed by Martin Robinson.
3985 m_texture has been unnecessarily regenerated. It's generated in GraphicsContext3D
3986 constructor for offscreen rendering. And m_compositorTexture is used by only Mac port.
3987 They create it in their GraphicsContext3D constructor so that we don't need to recreate it
3988 in GC3DOpenGLES::reshapeFBOs.
3990 No new tests since no functionality changed.
3992 * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
3993 (WebCore::GraphicsContext3D::~GraphicsContext3D):
3994 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3995 (WebCore::GraphicsContext3D::reshapeFBOs):
3996 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
3997 (WebCore::GraphicsContext3D::reshapeFBOs):
3999 2013-12-22 Benjamin Poulain <bpoulain@apple.com>
4001 Create a skeleton for CSS Selector code generation
4002 https://bugs.webkit.org/show_bug.cgi?id=126044
4004 Reviewed by Antti Koivisto and Gavin Barraclough.
4006 Add CSSCompiler, which provides the basic infrastructure to compile
4007 CSS Selectors on x86_64.
4009 Compilation happens in two phases.
4010 1) The various matching and relation of each CSSSelector is aggregated into units
4011 matching a single element: SelectorFragment.
4012 SelectorFragment also knows about the relations between different fragments,
4013 and contains all the information to generate the code for a particular element.
4014 2) The compiler then goes over the fragments, and generate code based on the information
4017 It the current state, SelectorCompiler only compiles the tag matching selectors and
4018 any of the relation between selectors.
4020 Depending on the relation and position of a fragment, failure on traversal or matching
4021 does not necessarily causes the complete selector. A failure can cause matching to
4022 resume from the parent or the sibling of a previously visisted node.
4023 The implementation of this is done through the BacktrackingAction. In case of failure,
4024 the next starting state is setup and the program counter jumps back to the appropriate
4027 When backtracking, the method used to save the starting point depends on the type
4029 The child/parent relation (">") is very common so it uses an additional register to keep
4030 the next starting point (m_descendantBacktrackingStart).
4031 The indirect sibling relation ("~") is much less common and uses the stack to save
4032 the next starting point.
4034 * WebCore.xcodeproj/project.pbxproj:
4035 * cssjit/SelectorCompiler.cpp: Added.
4036 (WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
4037 (WebCore::SelectorCompiler::compileSelector):
4038 (WebCore::SelectorCompiler::fragmentRelationForSelectorRelation):
4039 (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
4040 (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
4041 (WebCore::SelectorCompiler::updateChainStates):
4042 (WebCore::SelectorCompiler::isFirstAncestor):
4043 (WebCore::SelectorCompiler::isFirstAdjacent):
4044 (WebCore::SelectorCompiler::isAfterChildRelation):
4045 (WebCore::SelectorCompiler::solveBacktrackingAction):
4046 (WebCore::SelectorCompiler::requiresAdjacentTail):
4047 (WebCore::SelectorCompiler::requiresDescendantTail):
4048 (WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
4049 (WebCore::SelectorCompiler::testIsElementFlagOnNode):
4050 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentElement):
4051 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker):
4052 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAncestorTreeWalker):
4053 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent):
4054 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
4055 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
4056 (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
4057 (WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
4058 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
4059 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDescendantBacktrackingTail):
4060 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateBacktrackingTailsIfNeeded):
4061 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
4062 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasTagName):
4063 * cssjit/SelectorCompiler.h: Added.
4064 (WebCore::SelectorCompilationStatus::SelectorCompilationStatus):
4065 (WebCore::SelectorCompilationStatus::operator Status):
4066 (WebCore::SelectorCompiler::simpleSelectorCheckerFunction):
4067 (WebCore::SelectorCompiler::selectorCheckerFunctionWithCheckingContext):
4069 (WebCore::Element::setChildrenAffectedByDirectAdjacentRules):