fc0b50e4763eadbd11aa6736c46eab78cfd079d4
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-12-16  Anders Carlsson  <andersca@apple.com>
2
3         Remove EnumClass.h from WTF
4         https://bugs.webkit.org/show_bug.cgi?id=125820
5
6         Reviewed by Darin Adler.
7
8         Replace uses of ENUM_CLASS with real enum class declarations.
9
10         * Modules/webdatabase/DatabaseBasicTypes.h:
11         * Modules/webdatabase/DatabaseError.h:
12         * Modules/webdatabase/SQLTransactionState.h:
13         * bindings/js/JSSubtleCryptoCustom.cpp:
14         * bindings/js/SerializedScriptValue.cpp:
15         * crypto/CryptoAlgorithmIdentifier.h:
16         * crypto/CryptoAlgorithmParameters.h:
17         * crypto/CryptoKey.h:
18         * crypto/CryptoKeyData.h:
19         * crypto/CryptoKeyType.h:
20         * crypto/keys/CryptoKeyDataRSAComponents.h:
21         * inspector/InspectorTimelineAgent.h:
22
23 2013-12-16  Tim Horton  <timothy_horton@apple.com>
24
25         WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
26         https://bugs.webkit.org/show_bug.cgi?id=125750
27
28         Reviewed by Simon Fraser.
29
30         * WebCore.exp.in:
31         Export a few things so WebKit2 can use them.
32
33 2013-12-16  Joseph Pecoraro  <pecoraro@apple.com>
34
35         Fix some whitespace issues in inspector code
36         https://bugs.webkit.org/show_bug.cgi?id=125814
37
38         Reviewed by Darin Adler.
39
40         * inspector/protocol/DOM.json:
41         * inspector/protocol/DOMStorage.json:
42         * inspector/protocol/Timeline.json:
43
44 2013-12-16  Joseph Pecoraro  <pecoraro@apple.com>
45
46         Web Inspector: Use JSC::SourceID and JSC::BreakpointID instead of WebCore dups
47         https://bugs.webkit.org/show_bug.cgi?id=125818
48
49         Reviewed by Mark Lam.
50
51         Remove the WebCore typedefs of JSC types. Prefer JSC namespace
52         prefixed types throughout WebCore's Inspector code.
53
54         * GNUmakefile.list.am:
55         * WebCore.vcxproj/WebCore.vcxproj:
56         * WebCore.vcxproj/WebCore.vcxproj.filters:
57         * WebCore.xcodeproj/project.pbxproj:
58         * bindings/js/BreakpointID.h: Removed.
59         * bindings/js/ScriptDebugServer.cpp:
60         (WebCore::ScriptDebugServer::setBreakpoint):
61         (WebCore::ScriptDebugServer::removeBreakpoint):
62         (WebCore::ScriptDebugServer::dispatchDidParseSource):
63         * bindings/js/ScriptDebugServer.h:
64         * bindings/js/SourceID.h: Removed.
65         * inspector/InspectorDebuggerAgent.cpp:
66         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
67         (WebCore::parseLocation):
68         (WebCore::InspectorDebuggerAgent::setBreakpoint):
69         (WebCore::InspectorDebuggerAgent::continueToLocation):
70         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
71         (WebCore::InspectorDebuggerAgent::searchInContent):
72         (WebCore::InspectorDebuggerAgent::getScriptSource):
73         (WebCore::InspectorDebuggerAgent::didParseSource):
74         (WebCore::InspectorDebuggerAgent::didPause):
75         (WebCore::InspectorDebuggerAgent::clear):
76         * inspector/InspectorDebuggerAgent.h:
77         * inspector/ScriptDebugListener.h:
78
79 2013-12-16  Daniel Bates  <dabates@apple.com>
80
81         [iOS] Upstream WebCore/dom changes
82         https://bugs.webkit.org/show_bug.cgi?id=125646
83
84         Reviewed by David Kilzer.
85
86         * WebCore.exp.in: Added symbol __ZN7WebCore8Settings17setLayoutIntervalEi and removed symbol
87         __ZN7WebCore24cLayoutScheduleThresholdE.
88         * dom/ActiveDOMObject.h: Add suspension reason DocumentWillBePaused.
89         * dom/DOMImplementation.cpp:
90         (WebCore::DOMImplementation::createDocument): Opt-out of ENABLE(VIDEO) logic when
91         building for iOS.
92         * dom/DeviceMotionClient.h: Made class non-copyable.
93         (WebCore::DeviceMotionClient::DeviceMotionClient): Added;
94         * dom/DeviceMotionController.cpp: Added FIXME comment to reconcile iOS and OpenSource differences.
95         (WebCore::DeviceMotionController::suspendUpdates): Added; guarded by PLATFORM(IOS).
96         (WebCore::DeviceMotionController::resumeUpdates): Added; guarded by PLATFORM(IOS).
97         * dom/DeviceMotionController.h: Added FIXME comment to reconcile iOS and OpenSource differences.
98         * dom/DeviceOrientationClient.h: Made class non-copyable.
99         (WebCore::DeviceOrientationClient::DeviceOrientationClient): Added.
100         * dom/DeviceOrientationController.cpp: Added FIXME comment to reconcile iOS and OpenSource differences.
101         (WebCore::DeviceOrientationController::DeviceOrientationController):
102         (WebCore::DeviceOrientationController::suspendUpdates): Added; guarded by PLATFORM(IOS).
103         (WebCore::DeviceOrientationController::resumeUpdates): Added; guarded by PLATFORM(IOS).
104         * dom/DeviceOrientationController.h: Added FIXME comment to reconcile iOS and OpenSource differences.
105         * dom/DeviceOrientationData.cpp:
106         (WebCore::DeviceOrientationData::create): Added; iOS-specific. Added FIXME comment.
107         (WebCore::DeviceOrientationData::DeviceOrientationData): Added iOS-specific code.
108         (WebCore::DeviceOrientationData::compassHeading): Added; guarded by PLATFORM(IOS).
109         (WebCore::DeviceOrientationData::compassAccuracy): Added; guarded by PLATFORM(IOS).
110         (WebCore::DeviceOrientationData::canProvideCompassHeading): Added; guarded by PLATFORM(IOS).
111         (WebCore::DeviceOrientationData::canProvideCompassAccuracy): Added; guarded by PLATFORM(IOS).
112         * dom/DeviceOrientationData.h:
113         * dom/DeviceOrientationEvent.idl: Added iOS-specific code.
114         * dom/Document.cpp: Moved constant cLayoutScheduleThreshold to Settings.cpp and renamed it
115         layoutScheduleThreshold towards allowing a port to configure the layout interval.
116         (WebCore::Document::Document): Added optional argument isSynthesized, defaults false.
117         (WebCore::Document::~Document): Added iOS-specific code to destroy the device motion
118         and device orientation controllers.
119         (WebCore::Document::didBecomeCurrentDocumentInFrame): Added iOS-specific code with FIXME comment.
120         (WebCore::Document::prepareForDestruction): Added iOS-specific touch event code.
121         (WebCore::Document::removeAllEventListeners): Ditto.
122         (WebCore::Document::platformSuspendOrStopActiveDOMObjects): Added; compiles to an empty function on
123         non-iOS port.
124         (WebCore::Document::suspendActiveDOMObjects): Modified to call platformSuspendOrStopActiveDOMObjects().
125         (WebCore::Document::resumeActiveDOMObjects): Ditto.
126         (WebCore::Document::stopActiveDOMObjects): Added.
127         (WebCore::Document::implicitClose): Modified to query Settings::layoutInterval().
128         (WebCore::Document::minimumLayoutDelay): Ditto.
129         (WebCore::Document::processViewport): Added iOS-specific code.
130         (WebCore::Document::updateViewportArguments): Ditto.
131         (WebCore::setParserFeature): Added; guarded by PLATFORM(IOS).
132         (WebCore::Document::processFormatDetection): Added; guarded by PLATFORM(IOS).
133         (WebCore::Document::processWebAppOrientations): Added; guarded by PLATFORM(IOS).
134         (WebCore::Document::isTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
135         (WebCore::Document::setIsTelephoneNumberParsingAllowed): Added; guarded by PLATFORM(IOS).
136         (WebCore::Document::isTelephoneNumberParsingAllowed): Added; guarded by PLATFORM(IOS).
137         (WebCore::Document::initSecurityContext): Added iOS-specific code.
138         (WebCore::Document::suspendScheduledTasks): Added; guarded by PLATFORM(IOS).
139         (WebCore::Document::deviceMotionController): Added; iOS-specific.
140         (WebCore::Document::deviceOrientationController): Added; iOS-specific.
141         (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale): Added iOS-specific code.
142         (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale): Added iOS-specific code.
143         * dom/Document.h: Register gesture events gesture{change, end, start}; guarded by ENABLE(IOS_GESTURE_EVENTS).
144         (WebCore::Document::isSynthesized): Added.
145         (WebCore::Document::platformSuspendOrStopActiveDOMObjects): Added.
146         * dom/Document.idl:
147         * dom/DocumentMarker.h: Added iOS-specific changes. We should look to reconcile the differences between
148         iOS and OpenSource. See <rdar://problem/11306422>.
149         (WebCore::DocumentMarker::AllMarkers::AllMarkers):
150         (WebCore::DocumentMarker::DocumentMarker): Added; iOS-specific.
151         (WebCore::DocumentMarker::alternatives): Added; iOS-specific.
152         (WebCore::DocumentMarker::setAlternative): Added; iOS-specific.
153         (WebCore::DocumentMarker::metadata): Added; iOS-specific.
154         (WebCore::DocumentMarker::setMetadata): Added; iOS-specific.
155         * dom/DocumentMarkerController.cpp:
156         (WebCore::DocumentMarkerController::addMarker):
157         (WebCore::DocumentMarkerController::addDictationPhraseWithAlternativesMarker):
158         (WebCore::DocumentMarkerController::addDictationResultMarker):
159         (WebCore::DocumentMarkerController::shiftMarkers):
160         * dom/DocumentMarkerController.h:
161         * dom/Element.cpp:
162         (WebCore::Element::focus): Add iOS-specific workaround for <rdar://problem/6699741>.
163         * dom/Element.h: Register gesture events gesture{change, end, start}; guarded by ENABLE(IOS_GESTURE_EVENTS).
164         * dom/EventContext.cpp: Opt-out of ENABLE(TOUCH_EVENTS)-guarded code when building the iOS port.
165         * dom/EventContext.h: Ditto.
166         * dom/EventDispatcher.cpp:
167         (WebCore::EventRelatedNodeResolver::EventRelatedNodeResolver): Ditto.
168         (WebCore::EventDispatcher::dispatchEvent): Ditto.
169         (WebCore::EventPath::EventPath): Ditto.
170         * dom/EventNames.h: Added events webkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}
171         and gesture{change, end, start}.
172         * dom/EventNames.in: Added event names GestureEvent and WebKitPlaybackTargetAvailabilityEvent conditioned on
173         the macro defines ENABLE_IOS_GESTURE_EVENTS and ENABLE_IOS_AIRPLAY.
174         * dom/MouseRelatedEvent.cpp:
175         (WebCore::contentsScrollOffset): Added iOS-specific code.
176         (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
177         * dom/Node.cpp:
178         (WebCore::Node::willBeDeletedFrom): Ditto.
179         (WebCore::Node::isDescendantOf): Fixed style issue in function prototype; moved '*' to the left side.
180         (WebCore::Node::isDescendantOrShadowDescendantOf): Added.
181         (WebCore::tryAddEventListener): Added iOS-specific code; also added FIXME comment.
182         (WebCore::tryRemoveEventListener): Ditto.
183         (WebCore::Node::dispatchEvent): Opt-out of ENABLE(TOUCH_EVENTS)-guarded code when building the iOS port.
184         (WebCore::Node::defaultEventHandler): Added iOS-specific code.
185         (WebCore::Node::willRespondToMouseMoveEvents): Added iOS-specific code; also added FIXME comment.
186         (WebCore::Node::willRespondToMouseClickEvents): Added iOS-specific code; also added FIXME comment.
187         (WebCore::Node::willRespondToMouseWheelEvents): Added.
188         * dom/Node.h:
189         * dom/Position.h:
190         (WebCore::operator<): Added.
191         (WebCore::operator>): Added.
192         (WebCore::operator>=): Added.
193         (WebCore::operator<=): Added.
194         * dom/Range.cpp:
195         (WebCore::Range::create): Added iOS-specific code; also added FIXME comment.
196         (WebCore::intervalsSufficientlyOverlap): Added; guarded by PLATFORM(IOS).
197         (WebCore::printRects): Added; guarded by PLATFORM(IOS).
198         (WebCore::adjustLineHeightOfSelectionRects): Added; guarded by PLATFORM(IOS).
199         (WebCore::coalesceSelectionRects): Added; guarded by PLATFORM(IOS).
200         (WebCore::Range::collectSelectionRects): Added; guarded by PLATFORM(IOS).
201         * dom/Range.h:
202         * dom/ScriptExecutionContext.cpp:
203         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): Added iOS-specific code.
204         (WebCore::ScriptExecutionContext::dispatchErrorEvent): Ditto.
205         * dom/TreeScope.cpp:
206         (WebCore::nodeFromPoint): Ditto.
207         * dom/ViewportArguments.cpp:
208         (WebCore::computeViewportAttributes): Ditto.
209         (WebCore::setViewportFeature): Added iOS-specific code.
210         (WebCore::finalizeViewportArguments): Added; iOS-specific.
211         * dom/ViewportArguments.h:
212         * dom/make_names.pl: Added support to find the path to gcc with respect to the environment
213         variable SDKROOT.
214         * html/HTMLMediaElement.cpp:
215         (HTMLMediaElement::suspend):
216         * page/Settings.cpp:
217         (WebCore::Settings::Settings): Initialize setting m_layoutInterval to layoutScheduleThreshold.
218         (WebCore::Settings::setLayoutInterval): Added.
219         * page/Settings.h:
220         (WebCore::Settings::layoutInterval): Added.
221
222 2013-12-16  Simon Fraser  <simon.fraser@apple.com>
223
224         Attempt to fix the Windows build after r160672.
225         
226         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
227         (PlatformCALayerWin::PlatformCALayerWin):
228         * platform/graphics/ca/win/PlatformCALayerWin.h:
229
230 2013-12-16  Simon Fraser  <simon.fraser@apple.com>
231
232         Apply overhang shadow and linen to UI-side layers
233         https://bugs.webkit.org/show_bug.cgi?id=125807
234
235         Reviewed by Tim Horton.
236         
237         With UI-side compositing, we need to apply the overhang shadow and linen
238         background to layers in the UI process. Achieve this by setting a "custom
239         appearance" flag on layers that need a shadow or linen background, and
240         migrating this flag to the UI process. Static functions on ScrollbarThemeMac
241         are exposed to do the actual setting.
242
243         * WebCore.exp.in: Export ScrollbarThemeMac and GraphicsLayerCA functions.
244         * WebCore.xcodeproj/project.pbxproj: ScrollbarThemeMac.h and ScrollbarThemeComposite.h
245         need to be Private.
246         * platform/graphics/GraphicsLayer.cpp: Initialize m_customAppearance.
247         (WebCore::GraphicsLayer::GraphicsLayer):
248         * platform/graphics/GraphicsLayer.h: Getter/setter for CustomAppearance.
249         (WebCore::GraphicsLayer::setCustomAppearance):
250         (WebCore::GraphicsLayer::customAppearance):
251         * platform/graphics/ca/GraphicsLayerCA.cpp: Update CustomAppearanceChanged as
252         we do other properties.
253         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
254         (WebCore::GraphicsLayerCA::updateCustomAppearance):
255         (WebCore::GraphicsLayerCA::setCustomAppearance):
256         * platform/graphics/ca/GraphicsLayerCA.h:
257         * platform/graphics/ca/PlatformCALayer.h:
258         * platform/graphics/ca/mac/PlatformCALayerMac.h:
259         * platform/graphics/ca/mac/PlatformCALayerMac.mm: When we have a custom
260         appearance, use ScrollbarThemeMac functions to update the layer. Ensure
261         that if the bounds change, we update the shadow (whose path depends on the bounds).
262         (PlatformCALayerMac::PlatformCALayerMac):
263         (PlatformCALayerMac::clone):
264         (PlatformCALayerMac::setBounds):
265         (PlatformCALayerMac::requiresCustomAppearanceUpdateOnBoundsChange):
266         (PlatformCALayerMac::updateCustomAppearance):
267         * platform/mac/ScrollbarThemeMac.h: Export some static functions.
268         * platform/mac/ScrollbarThemeMac.mm: Change code to use static functions.
269         (WebCore::ScrollbarThemeMac::setUpOverhangAreaBackground):
270         (WebCore::ScrollbarThemeMac::removeOverhangAreaBackground):
271         (WebCore::ScrollbarThemeMac::setUpOverhangAreaShadow):
272         (WebCore::ScrollbarThemeMac::removeOverhangAreaShadow):
273         (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
274         (WebCore::ScrollbarThemeMac::setUpContentShadowLayer):
275         * rendering/RenderLayerCompositor.cpp:
276         (WebCore::RenderLayerCompositor::updateRootLayerPosition): No need to call
277         setUpContentShadowLayer() now when size changes; PlatformCALayer takes
278         care of that.
279         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Now set
280         custom appearance via GraphicsLayer.
281
282 2013-12-16  Brent Fulgham  <bfulgham@apple.com>
283
284         [Win] Remove dead code after converstion to VS2013
285         https://bugs.webkit.org/show_bug.cgi?id=125795
286
287         Reviewed by Darin Adler.
288
289         * WebCorePrefix.h: Remove VS2012 include kludge.
290         * loader/FTPDirectoryParser.cpp: Remove gmtime workaround code.
291         * page/DOMWindow.cpp: Remove older pointer-based open implementation.
292         * page/DOMWindow.h: Ditto
293         * platform/text/TextEncodingRegistry.cpp:
294         (WebCore::TextEncodingNameHash::equal): Remove optimization bug workaround
295         * testing/Internals.cpp:
296         (WebCore::Internals::openDummyInspectorFrontend): Remove compiler workaround
297
298 2013-12-16  Daniel Bates  <dabates@apple.com>
299
300         [iOS] Upstream WebCore/history changes
301         https://bugs.webkit.org/show_bug.cgi?id=125769
302
303         Reviewed by Darin Adler.
304
305         * history/BackForwardClient.h:
306         * history/BackForwardList.cpp:
307         (WebCore::BackForwardList::current): Added; guard by PLATFORM(IOS). Also added FIXME comment.
308         (WebCore::BackForwardList::setCurrent): Added; guard by PLATFORM(IOS). Also added FIXME comment.
309         (WebCore::BackForwardList::clearAllPageCaches): Added; guarded by PLATFORM(IOS).
310         * history/BackForwardList.h:
311         * history/CachedFrame.cpp:
312         (WebCore::CachedFrameBase::restore): Added iOS-specific code.
313         (WebCore::CachedFrame::CachedFrame): Ditto.
314         * history/CachedPage.cpp:
315         (WebCore::CachedPage::restore): Ditto.
316         * history/HistoryItem.cpp:
317         (WebCore::HistoryItem::HistoryItem): Ditto.
318         * history/HistoryItem.h:
319         (WebCore::HistoryItem::scale): Added; guarded by PLATFORM(IOS).
320         (WebCore::HistoryItem::scaleIsInitial): Added; guarded by PLATFORM(IOS).
321         (WebCore::HistoryItem::setScale): Added; guarded by PLATFORM(IOS).
322         (WebCore::HistoryItem::viewportArguments): Added; guarded by PLATFORM(IOS).
323         (WebCore::HistoryItem::setViewportArguments): Added; guarded by PLATFORM(IOS).
324         (WebCore::HistoryItem::bookmarkID): Added; guarded by PLATFORM(IOS).
325         (WebCore::HistoryItem::setBookmarkID): Added; guarded by PLATFORM(IOS).
326         (WebCore::HistoryItem::sharedLinkUniqueIdentifier): Added; guarded by PLATFORM(IOS).
327         (WebCore::HistoryItem::setSharedLinkUniqueIdentifier): Added; guarded by PLATFORM(IOS).
328         * history/PageCache.cpp:
329         (WebCore::logCanCacheFrameDecision): Added iOS-specific code.
330         (WebCore::logCanCachePageDecision): Ditto.
331         (WebCore::PageCache::canCachePageContainingThisFrame): Ditto.
332         (WebCore::PageCache::canCache): Ditto.
333         (WebCore::PageCache::pruneToCapacityNow): Added.
334         * history/PageCache.h:
335
336 2013-12-16  Daniel Bates  <dabates@apple.com>
337
338         [iOS] Upstream WebCore/svg changes
339         https://bugs.webkit.org/show_bug.cgi?id=125784
340
341         Reviewed by Darin Adler.
342
343         * svg/SVGAElement.cpp:
344         (WebCore::SVGAElement::willRespondToMouseClickEvents): Added.
345         * svg/SVGAElement.h:
346         * svg/SVGElement.cpp:
347         (WebCore::SVGElement::parseAttribute): Added attribute listeners for touch{cancel, end, move, start},
348         and gesture{change, end, start}.
349
350 2013-12-13  Jeffrey Pfau  <jpfau@apple.com>
351
352         [Mac] Cache partitioning asserts when associated NSURLRequest is nil
353         https://bugs.webkit.org/show_bug.cgi?id=125716
354
355         Reviewed by Darin Adler.
356
357         * platform/network/mac/ResourceRequestMac.mm:
358         (WebCore::ResourceRequest::doUpdateResourceRequest):
359
360 2013-12-16  Brady Eidson  <beidson@apple.com>
361
362         DatabaseProcess: Fix a few bugs with opening an IDB connection
363         https://bugs.webkit.org/show_bug.cgi?id=125798
364
365         Reviewed by Alexey Proskuryakov.
366
367         * Modules/indexeddb/IDBDatabaseBackend.cpp:
368         (WebCore::IDBDatabaseBackend::processPendingCalls): As the comment says, we should only
369           early return when there *are* pending delete calls. The logic here was backwards,
370           preventing the backend from ever getting to processPendingOpenCalls().
371
372 2013-12-16  Alex Christensen  <achristensen@webkit.org>
373
374         Fixed Win64 build on VS2013.
375         https://bugs.webkit.org/show_bug.cgi?id=125753
376
377         Reviewed by Brent Fulgham.
378
379         * WebCore.vcxproj/WebCore.vcxproj:
380         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
381         Added correct PlatformToolset for 64-bit builds.
382
383 2013-12-16  Simon Fraser  <simon.fraser@apple.com>
384
385         Package up some data about scrollability into a struct for use in the scrolling tree
386         https://bugs.webkit.org/show_bug.cgi?id=125792
387
388         Reviewed by Beth Dakin.
389
390         Both scrolling state nodes and scrolling nodes share a set of parameters
391         relating to scrollability and rubberbanding, so package them into a struct
392         for re-use. Send the struct wholesale to the scrolling thread.
393
394         * page/scrolling/ScrollingCoordinator.h:
395         (WebCore::ScrollableAreaParameters::ScrollableAreaParameters): New struct.
396         (WebCore::ScrollableAreaParameters::operator==):
397         * page/scrolling/ScrollingStateScrollingNode.cpp:
398         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): Reordering.
399         (WebCore::ScrollingStateScrollingNode::setScrollOrigin): Moved.
400         (WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters): Set the parameters all at once.
401         (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
402         * page/scrolling/ScrollingStateScrollingNode.h: Getters access the struct. Reorder member variables.
403         * page/scrolling/ScrollingTreeScrollingNode.cpp:
404         (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
405         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
406         * page/scrolling/ScrollingTreeScrollingNode.h:
407         (WebCore::ScrollingTreeScrollingNode::scrollOrigin):
408         (WebCore::ScrollingTreeScrollingNode::horizontalScrollElasticity):
409         (WebCore::ScrollingTreeScrollingNode::verticalScrollElasticity):
410         (WebCore::ScrollingTreeScrollingNode::hasEnabledHorizontalScrollbar):
411         (WebCore::ScrollingTreeScrollingNode::hasEnabledVerticalScrollbar):
412         (WebCore::ScrollingTreeScrollingNode::canHaveScrollbars):
413         * page/scrolling/mac/ScrollingCoordinatorMac.h:
414         * page/scrolling/mac/ScrollingCoordinatorMac.mm: Removed setScrollParametersForNode().
415         (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated): Set the params in this
416         function. Reordering.
417
418 2013-12-16  Sam Weinig  <sam@webkit.org>
419
420         CTTE: Convert more of SVG to use references
421         https://bugs.webkit.org/show_bug.cgi?id=125762
422
423         Reviewed by Darin Adler.
424
425         * rendering/svg/RenderSVGImage.cpp:
426         (WebCore::RenderSVGImage::imageChanged):
427         * rendering/svg/RenderSVGResource.cpp:
428         (WebCore::removeFromCacheAndInvalidateDependencies):
429         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
430         * rendering/svg/RenderSVGResource.h:
431         * rendering/svg/RenderSVGResourceClipper.cpp:
432         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
433         * rendering/svg/RenderSVGResourceClipper.h:
434         * rendering/svg/RenderSVGResourceContainer.cpp:
435         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
436         (WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):
437         (WebCore::RenderSVGResourceContainer::markClientForInvalidation):
438         (WebCore::RenderSVGResourceContainer::removeClient):
439         * rendering/svg/RenderSVGResourceContainer.h:
440         * rendering/svg/RenderSVGResourceFilter.cpp:
441         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
442         (WebCore::RenderSVGResourceFilter::postApplyResource):
443         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
444         * rendering/svg/RenderSVGResourceFilter.h:
445         * rendering/svg/RenderSVGResourceGradient.cpp:
446         (WebCore::RenderSVGResourceGradient::removeClientFromCache):
447         * rendering/svg/RenderSVGResourceGradient.h:
448         * rendering/svg/RenderSVGResourceMarker.cpp:
449         (WebCore::RenderSVGResourceMarker::removeClientFromCache):
450         * rendering/svg/RenderSVGResourceMarker.h:
451         * rendering/svg/RenderSVGResourceMasker.cpp:
452         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
453         * rendering/svg/RenderSVGResourceMasker.h:
454         * rendering/svg/RenderSVGResourcePattern.cpp:
455         (WebCore::RenderSVGResourcePattern::removeClientFromCache):
456         * rendering/svg/RenderSVGResourcePattern.h:
457         * rendering/svg/RenderSVGResourceSolidColor.h:
458         (WebCore::RenderSVGResourceSolidColor::removeClientFromCache):
459         * rendering/svg/SVGRenderSupport.cpp:
460         (WebCore::invalidateResourcesOfChildren):
461         * rendering/svg/SVGResources.cpp:
462         (WebCore::SVGResources::removeClientFromCache):
463         * rendering/svg/SVGResources.h:
464         * rendering/svg/SVGResourcesCache.cpp:
465         (WebCore::SVGResourcesCache::clientLayoutChanged):
466         (WebCore::SVGResourcesCache::clientStyleChanged):
467         (WebCore::SVGResourcesCache::clientWasAddedToTree):
468         (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
469         (WebCore::SVGResourcesCache::clientDestroyed):
470         * svg/SVGAnimateMotionElement.cpp:
471         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
472         * svg/SVGCircleElement.cpp:
473         (WebCore::SVGCircleElement::svgAttributeChanged):
474         * svg/SVGEllipseElement.cpp:
475         (WebCore::SVGEllipseElement::svgAttributeChanged):
476         * svg/SVGFEImageElement.cpp:
477         (WebCore::SVGFEImageElement::notifyFinished):
478         * svg/SVGFELightElement.cpp:
479         (WebCore::SVGFELightElement::childrenChanged):
480         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
481         (WebCore::invalidateFilterPrimitiveParent):
482         * svg/SVGFilterPrimitiveStandardAttributes.h:
483         (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
484         (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
485         * svg/SVGForeignObjectElement.cpp:
486         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
487         * svg/SVGGElement.cpp:
488         (WebCore::SVGGElement::svgAttributeChanged):
489         * svg/SVGGraphicsElement.cpp:
490         (WebCore::SVGGraphicsElement::svgAttributeChanged):
491         * svg/SVGImageElement.cpp:
492         (WebCore::SVGImageElement::svgAttributeChanged):
493         * svg/SVGLineElement.cpp:
494         (WebCore::SVGLineElement::svgAttributeChanged):
495         * svg/SVGPathElement.cpp:
496         (WebCore::SVGPathElement::svgAttributeChanged):
497         (WebCore::SVGPathElement::invalidateMPathDependencies):
498         (WebCore::SVGPathElement::pathSegListChanged):
499         * svg/SVGPolyElement.cpp:
500         (WebCore::SVGPolyElement::svgAttributeChanged):
501         * svg/SVGRectElement.cpp:
502         (WebCore::SVGRectElement::svgAttributeChanged):
503         * svg/SVGSVGElement.cpp:
504         (WebCore::SVGSVGElement::svgAttributeChanged):
505         (WebCore::SVGSVGElement::setupInitialView):
506         * svg/SVGStopElement.cpp:
507         (WebCore::SVGStopElement::svgAttributeChanged):
508         * svg/SVGTRefElement.cpp:
509         (WebCore::SVGTRefElement::svgAttributeChanged):
510         * svg/SVGTextContentElement.cpp:
511         (WebCore::SVGTextContentElement::svgAttributeChanged):
512         * svg/SVGTextPathElement.cpp:
513         (WebCore::SVGTextPathElement::svgAttributeChanged):
514         * svg/SVGTextPositioningElement.cpp:
515         (WebCore::SVGTextPositioningElement::svgAttributeChanged):
516         * svg/SVGUseElement.cpp:
517         (WebCore::SVGUseElement::svgAttributeChanged):
518
519 2013-12-16  Hans Muller  <hmuller@adobe.com>
520
521         [CSS Shapes] Add support for the computing the included intervals for a BoxShape
522         https://bugs.webkit.org/show_bug.cgi?id=124605
523
524         Reviewed by Andreas Kling.
525
526         Setting shape-inside to content-box now works.
527
528         Changed FloatRoundedRect::xInterceptsAtY() to include the bottom edge of
529         the rectangle and to check for the special cases where any or all of the
530         corner radii are empty.
531
532         Test: fast/shapes/shape-inside/shape-inside-content-box.html
533
534         * platform/graphics/FloatRoundedRect.cpp:
535         (WebCore::FloatRoundedRect::xInterceptsAtY):
536         * rendering/shapes/BoxShape.cpp:
537         (WebCore::BoxShape::getIncludedIntervals): Replaced the stub implementation with logic that's similar to getExcludedIntervals().
538         * rendering/shapes/ShapeInfo.cpp:
539         (WebCore::::computedShape): Removed a meaningless assert.
540         * rendering/shapes/ShapeInsideInfo.cpp:
541         (WebCore::ShapeInsideInfo::isEnabledFor):
542
543 2013-12-16  Mario Sanchez Prada  <mario.prada@samsung.com>
544
545         [ATK] Expose accessibility objects for more WAI-ARIA roles
546         https://bugs.webkit.org/show_bug.cgi?id=125596
547
548         Reviewed by Chris Fleizach.
549
550         Exposed accessibility objects with the proper AtkRoles, some of
551         them to be provided by the next stable release of ATK.
552
553         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
554         (atkRole):
555
556 2013-12-16  Eric Carlson  <eric.carlson@apple.com>
557
558         Fix QuickTime plug-in replacement scripting bugs
559         https://bugs.webkit.org/show_bug.cgi?id=125717
560
561         Reviewed by Sam Weinig.
562
563         No new tests, existing test updated.
564
565         * Modules/plugins/QuickTimePluginReplacement.js:
566         (Replacement): Change '' to "" to avoid "Empty character constant" warning when creating
567             Derived Sources.
568         (Replacement.prototype.createVideoElement): Handle qtsrc attribute. Remember base url.
569         (Replacement.prototype.setURL): Resolve urls relative to base.
570
571 2013-12-15  Darin Adler  <darin@apple.com>
572
573         Catch callers who forget to use initializeStyle
574         https://bugs.webkit.org/show_bug.cgi?id=125763
575
576         Reviewed by Andreas Kling.
577
578         A recent fix was because a caller used setStyle first rather than using
579         initializeStyle. This patch adds an assertion to catch cases where we do
580         that so we see the mistake right away instead of indirectly later.
581
582         * rendering/RenderElement.cpp:
583         (WebCore::RenderElement::initializeStyle): Simplified an assertion.
584         (WebCore::RenderElement::setStyle): Added an assertion that m_hasInitializedStyle
585         is true, with an exception for RenderView, which needs to be created before we
586         have the correct style computed for it (at least for now). Also broke out an
587         assertion that was using &&, since we would prefer to know which clause failed,
588         making separate assertions more useful than a combined assertion.
589
590 2013-12-16  Mario Sanchez Prada  <mario.prada@samsung.com>
591
592         [ATK] Expose accessibility objects with ATK_ROLE_CHECK_MENU_ITEM
593         https://bugs.webkit.org/show_bug.cgi?id=125594
594
595         Reviewed by Chris Fleizach.
596
597         Exposed accessibility objects with checkmenuitem role with the
598         proper AtkRole, to be provided by the next stable release of ATK.
599
600         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
601         (atkRole):
602
603 2013-12-16  Mario Sanchez Prada  <mario.prada@samsung.com>
604
605         [ATK] Expose accessibility objects with ATK_ROLE_ARTICLE
606         https://bugs.webkit.org/show_bug.cgi?id=125587
607
608         Reviewed by Chris Fleizach.
609
610         Exposed accessibility objects with article role with the proper
611         AtkRole, to be provided by the next stable release of ATK.
612
613         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
614         (atkRole):
615
616 2013-11-27  Sergio Villar Senin  <svillar@igalia.com>
617
618         [CSS Grid Layout] Fix the preferred logical widths code to work with spanning grid items
619         https://bugs.webkit.org/show_bug.cgi?id=123994
620
621         Reviewed by Andreas Kling.
622
623         From Blink r159189 by <jchaffraix@chromium.org>
624
625         There was no definition in the specs for the intrinsic / preferred
626         logical widths on the grid element. The following was proposed to
627         the WG and later accepted:
628         - The sum of the grid tracks' UsedBreadth is the minimum logical width
629         - The sum of the grid tracks' MaxBreadth is the maximum logical width
630
631         http://lists.w3.org/Archives/Public/www-style/2013Oct/0054.html
632         for more information.
633
634         * rendering/RenderGrid.cpp:
635         (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
636         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
637         (WebCore::RenderGrid::minContentForChild):
638         (WebCore::RenderGrid::maxContentForChild):
639         * rendering/RenderGrid.h:
640
641 2013-12-15  Frédéric Wang  <fred.wang@free.fr>
642
643         Add support for maction@toggle
644         https://bugs.webkit.org/show_bug.cgi?id=120059
645
646         Reviewed by Chris Fleizach.
647
648         Test: mathml/presentation/maction-toggle.html
649
650         * mathml/MathMLSelectElement.cpp:
651         (WebCore::MathMLSelectElement::getSelectedChildAndIndex):
652         (WebCore::MathMLSelectElement::updateSelectedChild):
653         (WebCore::MathMLSelectElement::defaultEventHandler):
654         (WebCore::MathMLSelectElement::willRespondToMouseClickEvents):
655         (WebCore::MathMLSelectElement::toggle):
656         * mathml/MathMLSelectElement.h:
657
658 2013-12-15  Darin Adler  <darin@apple.com>
659
660         More nullptr in RenderElement
661         https://bugs.webkit.org/show_bug.cgi?id=125764
662
663         Reviewed by Andreas Kling.
664
665         * rendering/RenderElement.cpp:
666         (WebCore::RenderElement::uncachedFirstLineStyle):
667         (WebCore::RenderElement::updateShapeImage):
668         (WebCore::RenderElement::destroyLeftoverChildren):
669         (WebCore::RenderElement::findNextLayer):
670         Use nullptr in a few more places.
671
672 2013-12-15  Ryosuke Niwa  <rniwa@webkit.org>
673
674         REGRESSION: 2x regression on Dromaeo DOM query tests
675         https://bugs.webkit.org/show_bug.cgi?id=125377
676
677         Reviewed by Filip Pizlo.
678
679         The bug was caused by JSC not JIT'ing property accesses on document because of its having
680         custom named getter (named properties).  This resulted in resolution of methods on document
681         such as getElementById to happen inside the interpreter.
682
683         Fixed the bug by using the new JSC type info flag which tells JSC to JIT property access on
684         document, and then notifying JSC whenever a new named property appeared on document.
685
686         Tests: js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html
687                js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
688                js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html
689                js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html
690                js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
691                js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html
692
693         * bindings/js/JSDOMBinding.cpp:
694         (WebCore::addImpureProperty): Wraps VM::addImpureProperty.
695         * bindings/js/JSDOMBinding.h:
696         * bindings/scripts/CodeGeneratorJS.pm:
697         (GenerateHeader): Added the support for NewImpurePropertyFiresWatchpoints.
698         * bindings/scripts/IDLAttributes.txt: Ditto.
699         * html/HTMLDocument.cpp:
700         (WebCore::HTMLDocument::addDocumentNamedItem): Calls addImpureProperty.
701         * html/HTMLDocument.idl: Added NewImpurePropertyFiresWatchpoints.
702
703 2013-12-15  Brent Fulgham  <bfulgham@webkit.org>
704
705         [WIn] Unreviewed build fix after r160599
706
707         * rendering/RenderMediaControls.cpp:
708         (WebCore::determineState): RenderObject::theme now returns
709         a reference.
710
711 2013-12-15  Brent Fulgham  <bfulgham@webkit.org>
712
713         [Win] Unreviewed build fix
714
715         The build system continues to attempt to build QTMovieWin, even
716         though it is excluded from the build solution. I'm actually
717         removing the project files to prevent this.
718
719         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Removed.
720         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj.filters: Removed.
721
722 2013-12-15  Rob Buis  <rob.buis@samsung.com>
723
724         [CSS Shapes] shape-outside animation does not handle 'auto' well
725         https://bugs.webkit.org/show_bug.cgi?id=125700
726
727         Reviewed by Dirk Schulze.
728
729         Handle the case where we are blending/animating with a null ShapeValue due to 'auto'.
730
731         Adapted LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html for testing this.
732
733         * page/animation/CSSPropertyAnimation.cpp:
734         (WebCore::blendFunc):
735
736 2013-12-15  Andy Estes  <aestes@apple.com>
737
738         [iOS] Upstream changes to FeatureDefines.xcconfig
739         https://bugs.webkit.org/show_bug.cgi?id=125742
740
741         Reviewed by Dan Bernstein.
742
743         * Configurations/FeatureDefines.xcconfig:
744
745 2013-12-14  Darin Adler  <darin@apple.com>
746
747         Crash in CSSImageGeneratorValue and RenderScrollbar
748         https://bugs.webkit.org/show_bug.cgi?id=125702
749
750         Reviewed by Alexey Proskuryakov.
751
752         This crash had two causes at two different levels. The crash fixes both.
753
754         At the RenderScrollbar level, we were setting up a new renderer, a
755         RenderScrollbarPart, and never calling initializeStyle. This meant that
756         we did not do proper style setup, which meant we did not end up calling
757         CSSImageGeneratorValue::addClient and so had a removeClient that was not
758         properly balanced by an addClient. This is the primary bug.
759
760         At the CSSImageGeneratorValue level, the addClient and removeClient
761         functions were not properly handling possibly-mismatched calls. It was
762         easy to fix the functions to work even if the calls are not perfectly
763         matched up, which makes the consequences of a missed addClient call
764         much less dire, no longer messing up reference counting. Fixing this
765         mitigates the risk if we made this same mistake elsewhere, although I
766         could not find any other places with some quick searches.
767
768         Test: fast/css/scrollbar-image-crash.html
769
770         * css/CSSImageGeneratorValue.cpp:
771         (WebCore::CSSImageGeneratorValue::addClient): Only call ref if this will
772         add the first client.
773         (WebCore::CSSImageGeneratorValue::removeClient): Only call deref if this
774         removes the last client. Also added an assertion that can fire if we call
775         removeClient without first calling addClient, which is illegal. However,
776         the function handles that case without over-deref'ing itself.
777
778         * rendering/RenderScrollbar.cpp:
779         (WebCore::RenderScrollbar::updateScrollbarPart): Simplify the logic for
780         needRenderer a bit. Use initializeStyle rather than setStyle when first
781         creating the RenderScrollbarPart. Also use add and take properly so we
782         don't do extra hash lookups the old code did with get/set and get/remove.
783
784 2013-12-14  Sam Weinig  <sam@webkit.org>
785
786         CTTE: SVGResourcesCache::cachedResourcesForRenderObject() should take a reference
787         https://bugs.webkit.org/show_bug.cgi?id=125743
788
789         Reviewed by Dan Bernstein.
790
791         * rendering/svg/RenderSVGContainer.cpp:
792         (WebCore::RenderSVGContainer::selfWillPaint):
793         * rendering/svg/RenderSVGImage.cpp:
794         (WebCore::RenderSVGImage::imageChanged):
795         * rendering/svg/RenderSVGResource.cpp:
796         (WebCore::requestPaintingResource):
797         (WebCore::removeFromCacheAndInvalidateDependencies):
798         (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
799         * rendering/svg/RenderSVGResourceClipper.cpp:
800         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
801         * rendering/svg/RenderSVGRoot.cpp:
802         (WebCore::RenderSVGRoot::paintReplaced):
803         * rendering/svg/RenderSVGShape.cpp:
804         (WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
805         (WebCore::RenderSVGShape::markerRect):
806         (WebCore::RenderSVGShape::drawMarkers):
807         * rendering/svg/SVGRenderSupport.cpp:
808         (WebCore::invalidateResourcesOfChildren):
809         (WebCore::SVGRenderSupport::layoutChildren):
810         (WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
811         (WebCore::SVGRenderSupport::filtersForceContainerLayout):
812         (WebCore::SVGRenderSupport::pointInClippingArea):
813         * rendering/svg/SVGRenderingContext.cpp:
814         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
815         * rendering/svg/SVGResourcesCache.cpp:
816         (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
817         (WebCore::SVGResourcesCache::clientLayoutChanged):
818         (WebCore::SVGResourcesCache::clientDestroyed):
819         * rendering/svg/SVGResourcesCache.h:
820         * rendering/svg/SVGResourcesCycleSolver.cpp:
821         (WebCore::SVGResourcesCycleSolver::resourceContainsCycles):
822
823 2013-12-14  Dan Bernstein  <mitz@apple.com>
824
825         Clean up the project after r160487
826
827         * WebCore.xcodeproj/project.pbxproj: Moved reference to Security.framework from the top
828         level of the project to the Frameworks group, and made it SDK-relative.
829
830 2013-12-14  Andreas Kling  <akling@apple.com>
831
832         Page::theme() should return a reference.
833         <https://webkit.org/b/125737>
834
835         There's always a RenderTheme, and not a single call site was checking
836         for null pointers anyway. Updated RenderObject::theme() as well.
837
838         Reviewed by Antti Koivisto.
839
840 2013-12-13  Sam Weinig  <sam@webkit.org>
841
842         CTTE: Convert Element and RenderObject iterator usage to use range-based for loops
843         https://bugs.webkit.org/show_bug.cgi?id=125731
844
845         Reviewed by Andreas Kling.
846
847         Perform straight forward conversions. A few stragglers that do odd things remain.
848
849 2013-12-14  Joseph Pecoraro  <pecoraro@apple.com>
850
851         Small string improvements to JSInjectedScriptHost::type and other bindings
852         https://bugs.webkit.org/show_bug.cgi?id=125722
853
854         Reviewed by Timothy Hatcher.
855
856         * bindings/js/JSInjectedScriptHostCustom.cpp:
857         (WebCore::JSInjectedScriptHost::type):
858         Use SmallStrings, jsNontrivialString and ASCIILiteral.
859
860         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
861         (WebCore::JSJavaScriptCallFrame::type):
862         Use jsNontrivialString.
863
864         * bridge/c/c_instance.cpp:
865         (JSC::Bindings::CInstance::stringValue):
866         Use jsNontrivialString and ASCIILiteral.
867
868 2013-12-14  Andreas Kling  <akling@apple.com>
869
870         Move a couple of inlines from RenderObject to RenderElement.
871         <https://webkit.org/b/125734>
872
873         Take most of the inline functions on RenderObject that call style()
874         and move them over to RenderElement where style() is branchless.
875
876         Reviewed by Antti Koivisto.
877
878 2013-12-14  Andreas Kling  <akling@apple.com>
879
880         RenderElement::rendererForRootBackground() should return a reference.
881         <https://webkit.org/b/125735>
882
883         This function always finds a renderer to return.
884
885         Reviewed by Antti Koivisto.
886
887 2013-12-14  Mark Rowe  <mrowe@apple.com>
888
889         Build fix after r160557.
890
891         * Configurations/WebCore.xcconfig: Find JavaScriptCore.framework below SDKROOT so that we'll pick
892         up the built version in production builds rather than the system version.
893
894 2013-12-14  Brendan Long  <b.long@cablelabs.com>
895
896         [GStreamer] Use GMutexLocker instead of g_mutex_lock
897         https://bugs.webkit.org/show_bug.cgi?id=125588
898
899         Reviewed by Philippe Normand.
900
901         No new tests because this is just code simplification.
902
903         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
904         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
905         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
906         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
907         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
908         (webkitVideoSinkTimeoutCallback):
909         (webkitVideoSinkRender):
910         (unlockBufferMutex):
911         (webkitVideoSinkUnlockStop):
912         (webkitVideoSinkStart):
913
914 2013-12-13  Andreas Kling  <akling@apple.com>
915
916         Move RenderObject::repaintAfterLayoutIfNeeded() to RenderElement.
917         <https://webkit.org/b/125712>
918
919         This function is only ever called on RenderElements, so move it there.
920         Removes some RenderObject::style() branchiness.
921
922         Reviewed by Darin Adler.
923
924 2013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
925
926         Web Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore
927         https://bugs.webkit.org/show_bug.cgi?id=125707
928
929         Reviewed by Timothy Hatcher.
930
931           - Switch TypeBuilder::Page::SearchMatch to TypeBuilder::GenericTypes::SearchMatch
932             which comes from InspectorJSTypeBuilders.
933           - Remove domains that moved to JavaScriptCore.
934
935         No new tests, this only moves code around. There are no functional changes.
936
937         * CMakeLists.txt:
938         * DerivedSources.make:
939         * GNUmakefile.am:
940         Add new files.
941
942         * inspector/ContentSearchUtils.cpp:
943         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
944         (WebCore::ContentSearchUtils::searchInTextByLines):
945         * inspector/ContentSearchUtils.h:
946         * inspector/InspectorAgent.cpp:
947         * inspector/InspectorAgent.h:
948         * inspector/InspectorDebuggerAgent.h:
949         * inspector/InspectorPageAgent.cpp:
950         (WebCore::InspectorPageAgent::searchInResource):
951         * inspector/InspectorPageAgent.h:
952         * inspector/protocol/Page.json:
953         Update includes and type builder type names.
954
955         * inspector/InspectorDebuggerAgent.cpp:
956         (WebCore::breakpointActionTypeForString):
957         (WebCore::InspectorDebuggerAgent::searchInContent):
958         * inspector/InspectorTimelineAgent.cpp:
959         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
960         Use the new getEnum function names.
961
962 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
963
964         [Win] Remove pre-VS2013 support code.
965         https://bugs.webkit.org/show_bug.cgi?id=125693
966
967         Reviewed by Darin Adler.
968
969         * Modules/webdatabase/DatabaseTracker.cpp:
970         (WebCore::DatabaseTracker::setQuota): Use C99 format arguments
971         * loader/FTPDirectoryParser.cpp:
972         (WebCore::parseOneFTPLine): Ditto
973         * loader/icon/IconDatabase.cpp:
974         (WebCore::IconDatabase::pruneUnretainedIcons): Ditto 
975         * platform/sql/SQLiteDatabase.cpp:
976         (WebCore::SQLiteDatabase::setMaximumSize): Ditto
977
978 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
979
980         SVG bindings are improperly being generated with "fastGetAttribute"
981         https://bugs.webkit.org/show_bug.cgi?id=125670
982
983         Reviewed by Darin Adler.
984
985         A bug was introduced in r152845 that improperly called the
986         IsSVGAnimatedType using the $attribute hash, rather than the
987         expected $attribute->signature->type.
988
989         * bindings/scripts/CodeGenerator.pm:
990         (GetterExpression): Clean up attribute type confusion.
991
992 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
993
994         [Win] Unreviewed build fix after r160548
995
996         * WebCore.vcxproj/WebCore.vcxproj: Exclude MediaPlayerPrivateQuickTimeVisualContext from
997         Windows build.
998         * platform/graphics/MediaPlayer.cpp: Don't use QuickTime as the PlatformMediaEngine.
999
1000 2013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
1001
1002         [GTK] Remove Warnings in building about duplicate INSPECTOR variables
1003         https://bugs.webkit.org/show_bug.cgi?id=125710
1004
1005         Reviewed by Tim Horton.
1006
1007         * GNUmakefile.am:
1008
1009 2013-12-13  Roger Fong  <roger_fong@apple.com>
1010
1011         [WebGL] Check for global variable precision mismatch between vertex and fragment shaders.
1012         https://bugs.webkit.org/show_bug.cgi?id=125546.
1013         <rdar://problem/15203364>
1014
1015         Reviewed by Brent Fulgham.
1016
1017         Covered Khronos conformances tests:
1018         webgl/1.0.2/glsl/misc/shader-with-global-variable-precision-mismatch.html
1019
1020         * html/canvas/WebGLRenderingContext.cpp:
1021         (WebCore::WebGLRenderingContext::linkProgram):
1022         * platform/graphics/GraphicsContext3D.h: Rename areProgramSymbolsValid since it currently only serves one purpose.
1023         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1024         (WebCore::GraphicsContext3D::precisionsMatch):
1025
1026 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
1027
1028         [Win] Unreviewed build fix after r160548
1029
1030         * WebCore.vcxproj/WebCoreGenerated.vcxproj: Specify that we are
1031         using the vs120_xp build target for Makefile-based projects.
1032
1033 2013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
1034
1035         Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
1036         https://bugs.webkit.org/show_bug.cgi?id=125595
1037
1038         Reviewed by Timothy Hatcher.
1039
1040           - CodeGeneration changed to output Frontend and Backend dispatchers
1041             in namespace Inspector. So update all the agent's appropriately.
1042           - Update Derived Sources code generation to use the Scripts that had
1043             moved to JavaScriptCore. Some ports just use JSC/inspector/scripts
1044             directly, but others have to use the Scripts exported by JSC
1045             in JavaScriptCore's PrivateHeaders.
1046           - Add ForwardingHeaders for the files generated in JavaScriptCore.
1047           - Update the names of Inspector DerivedSources files, since they
1048             were renamed to InspectorWeb*.
1049
1050         No new tests, this only moves code around. There are no functional changes.
1051
1052         * CMakeLists.txt:
1053         * DerivedSources.make:
1054         * ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h: Added.
1055         * ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h: Added.
1056         * ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Added.
1057         * GNUmakefile.am:
1058         * GNUmakefile.list.am:
1059         * WebCore.vcxproj/WebCore.vcxproj:
1060         * WebCore.vcxproj/WebCore.vcxproj.filters:
1061         * WebCore.vcxproj/build-generated-files.sh:
1062         * WebCore.xcodeproj/project.pbxproj:
1063         Remove files, rename files, update code generation.
1064
1065         * make-generated-sources.sh:
1066         Update this standalone developer script to fill in the new InspectorScripts variable.
1067
1068         * inspector/ConsoleMessage.h:
1069         * inspector/InjectedScriptHost.cpp:
1070         * inspector/InspectorAgent.cpp:
1071         * inspector/InspectorAgent.h:
1072         * inspector/InspectorApplicationCacheAgent.cpp:
1073         * inspector/InspectorApplicationCacheAgent.h:
1074         * inspector/InspectorCSSAgent.h:
1075         * inspector/InspectorCanvasAgent.cpp:
1076         * inspector/InspectorCanvasAgent.h:
1077         * inspector/InspectorConsoleAgent.cpp:
1078         * inspector/InspectorConsoleAgent.h:
1079         * inspector/InspectorController.cpp:
1080         * inspector/InspectorDOMAgent.cpp:
1081         * inspector/InspectorDOMAgent.h:
1082         * inspector/InspectorDOMDebuggerAgent.cpp:
1083         * inspector/InspectorDOMDebuggerAgent.h:
1084         * inspector/InspectorDOMStorageAgent.cpp:
1085         * inspector/InspectorDOMStorageAgent.h:
1086         * inspector/InspectorDatabaseAgent.cpp:
1087         * inspector/InspectorDatabaseAgent.h:
1088         * inspector/InspectorDatabaseResource.cpp:
1089         * inspector/InspectorDatabaseResource.h:
1090         * inspector/InspectorDebuggerAgent.cpp:
1091         * inspector/InspectorDebuggerAgent.h:
1092         * inspector/InspectorFrontendClientLocal.cpp:
1093         * inspector/InspectorHeapProfilerAgent.h:
1094         * inspector/InspectorIndexedDBAgent.cpp:
1095         * inspector/InspectorIndexedDBAgent.h:
1096         * inspector/InspectorInputAgent.h:
1097         * inspector/InspectorLayerTreeAgent.cpp:
1098         * inspector/InspectorLayerTreeAgent.h:
1099         * inspector/InspectorMemoryAgent.cpp:
1100         * inspector/InspectorMemoryAgent.h:
1101         * inspector/InspectorPageAgent.cpp:
1102         * inspector/InspectorPageAgent.h:
1103         * inspector/InspectorProfilerAgent.cpp:
1104         * inspector/InspectorProfilerAgent.h:
1105         * inspector/InspectorResourceAgent.cpp:
1106         * inspector/InspectorResourceAgent.h:
1107         * inspector/InspectorRuntimeAgent.h:
1108         * inspector/InspectorTimelineAgent.cpp:
1109         * inspector/InspectorTimelineAgent.h:
1110         * inspector/InspectorWorkerAgent.cpp:
1111         * inspector/InspectorWorkerAgent.h:
1112         * inspector/PageRuntimeAgent.h:
1113         * inspector/ScriptCallFrame.cpp:
1114         * inspector/WorkerInspectorController.cpp:
1115         * inspector/WorkerRuntimeAgent.h:
1116         Updates header names and class namespace changes.
1117
1118 2013-12-13  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1119
1120         Adding RTCPeerConnectionErrorCallback
1121         https://bugs.webkit.org/show_bug.cgi?id=125574
1122
1123         Reviewed by Eric Carlson.
1124
1125         According to the spec there should be a RTCPeerConnectionErrorCallback function type for createOffer/Answer,
1126         setLocal/RemoteDescription and updateIce function calls. This callback must handle a DOMError object.
1127
1128         Existing tests were updated.
1129
1130         * CMakeLists.txt:
1131         * GNUmakefile.list.am:
1132         * Modules/mediastream/RTCPeerConnection.cpp:
1133         (WebCore::RTCPeerConnection::createOffer):
1134         (WebCore::RTCPeerConnection::createAnswer):
1135         (WebCore::RTCPeerConnection::setLocalDescription):
1136         (WebCore::RTCPeerConnection::setRemoteDescription):
1137         (WebCore::RTCPeerConnection::addIceCandidate):
1138         * Modules/mediastream/RTCErrorCallback.h: Removed.
1139         * Modules/mediastream/RTCErrorCallback.idl: Removed.
1140         * Modules/mediastream/RTCPeerConnection.h:
1141         * Modules/mediastream/RTCPeerConnection.idl:
1142         * Modules/mediastream/RTCPeerConnectionErrorCallback.h: Added.
1143         * Modules/mediastream/RTCPeerConnectionErrorCallback.idl: Added.
1144         * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
1145         (WebCore::RTCSessionDescriptionRequestImpl::create):
1146         (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
1147         (WebCore::RTCSessionDescriptionRequestImpl::requestFailed):
1148         * Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
1149         * Modules/mediastream/RTCVoidRequestImpl.cpp:
1150         (WebCore::RTCVoidRequestImpl::create):
1151         (WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
1152         (WebCore::RTCVoidRequestImpl::requestFailed):
1153         * Modules/mediastream/RTCVoidRequestImpl.h:
1154         * WebCore.xcodeproj/project.pbxproj:
1155         * platform/mediastream/RTCPeerConnectionHandler.cpp:
1156         (WebCore::RTCPeerConnectionHandler::incompatibleConstraintsErrorName):
1157         (WebCore::RTCPeerConnectionHandler::invalidSessionDescriptionErrorName):
1158         (WebCore::RTCPeerConnectionHandler::incompatibleSessionDescriptionErrorName):
1159         (WebCore::RTCPeerConnectionHandler::internalErrorName):
1160         * platform/mediastream/RTCPeerConnectionHandler.h:
1161         * platform/mock/RTCNotifiersMock.cpp:
1162         (WebCore::SessionRequestNotifier::SessionRequestNotifier):
1163         (WebCore::SessionRequestNotifier::fire):
1164         (WebCore::VoidRequestNotifier::VoidRequestNotifier):
1165         (WebCore::VoidRequestNotifier::fire):
1166         * platform/mock/RTCNotifiersMock.h:
1167         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1168         (WebCore::RTCPeerConnectionHandlerMock::createOffer):
1169         (WebCore::RTCPeerConnectionHandlerMock::createAnswer):
1170
1171 2013-12-13  Brent Fulgham  <bfulgham@apple.com>
1172
1173         [Win] Switch WebKit solution to Visual Studio 2013
1174         https://bugs.webkit.org/show_bug.cgi?id=125192
1175
1176         Reviewed by Anders Carlsson.
1177
1178         * WebCore.vcxproj/WebCore.vcxproj: Update for VS2013
1179         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
1180         * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Ditto
1181
1182 2013-12-13  Alexey Proskuryakov  <ap@apple.com>
1183
1184         WebCrypto Key.usages should be ordered alphabetically
1185         https://bugs.webkit.org/show_bug.cgi?id=125696
1186
1187         Reviewed by Darin Adler.
1188
1189         * crypto/CryptoKey.cpp: (WebCore::CryptoKey::usages): Do it.
1190
1191 2013-12-13  Darin Adler  <darin@apple.com>
1192
1193         Make some optimizations for DOM bindings involving vectors
1194         https://bugs.webkit.org/show_bug.cgi?id=125680
1195
1196         Reviewed by Andreas Kling.
1197
1198         * bindings/js/JSDOMBinding.h:
1199         (WebCore::toJS): Removed unnecessary copying of vectors when converting them
1200         to JavaScript values.
1201         (WebCore::toRefPtrNativeArray): Use reserveInitialCapacity and uncheckedAppend.
1202         (WebCore::toNativeArray): Ditto.
1203         (WebCore::toNativeArguments): Ditto.
1204
1205 2013-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1206
1207         REGRESSION(r155784): [GTK] Some methods incorrectly removed in r155784 and deprecated in r158662
1208         https://bugs.webkit.org/show_bug.cgi?id=125692
1209
1210         Reviewed by Martin Robinson.
1211
1212         In r155784 the build was fixed by skipping Console::profile() and
1213         Console::profileEnd(), but the patch also skipped other methods
1214         containing the profile method name. Those were incorrectly
1215         deprecated in r158662 thinking that the property had been removed
1216         in the idl.
1217
1218         * bindings/gobject/WebKitDOMDeprecated.cpp: Undeprecate
1219         webkit_dom_html_head_element_get_profile and
1220         webkit_dom_html_head_element_set_profile.
1221         * bindings/gobject/WebKitDOMDeprecated.h: Ditto.
1222         * bindings/gobject/WebKitDOMDeprecated.symbols: Ditto.
1223         * bindings/scripts/CodeGeneratorGObject.pm:
1224         (SkipFunction): Skip webkit_dom_console_profile and
1225         webkit_dom_console_profile_end.
1226
1227 2013-12-13  Rob Buis  <rob.buis@samsung.com>
1228
1229         Clean up SVGScriptElement
1230         https://bugs.webkit.org/show_bug.cgi?id=125527
1231
1232         Reviewed by Darin Adler.
1233
1234         From the Blink port of this bug it becomes clear that svg/dom/SVGScriptElement/script-set-href.svg and
1235         svg/dom/svg-element-attribute-js-null.xhtml still hit an assert in Debug because SVGNames::typeAttr can't
1236         be used with fastGetAttribute in all cases, because it can be animatable. However for SVGScriptElement
1237         it is not animatable, so make isAnimatableAttribute virtual (note Debug only method) and allow typeAttr
1238         in the SVGScriptElement case to be useable for fastGetAttribute.
1239
1240         Test: svg/dom/SVGScriptElement/script-type-attribute.svg
1241
1242         * svg/SVGElement.h:
1243         * svg/SVGScriptElement.cpp:
1244         (WebCore::SVGScriptElement::isAnimatableAttribute):
1245         * svg/SVGScriptElement.h:
1246
1247 2013-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1248
1249         [GTK] Expose also webkit_dom_document_get_url
1250         https://bugs.webkit.org/show_bug.cgi?id=125691
1251
1252         Reviewed by Martin Robinson.
1253
1254         For some reason we expose the URL property, so it can be accessed
1255         with g_object_get(), but we have a special case to not provide a
1256         public getter.
1257
1258         * bindings/gobject/webkitdom.symbols: Add new symbol.
1259         * bindings/scripts/CodeGeneratorGObject.pm:
1260         (GenerateFunctions): Remove the special case of URL property.
1261
1262 2013-12-13  Andreas Kling  <akling@apple.com>
1263
1264         CSSFilterImageValue constructor should require both image and filter.
1265         <https://webkit.org/b/125056>
1266
1267         Make the CSSFilterImageValue::create() helper take both the image and
1268         filter CSSValues by PassRef since they should never be null.
1269
1270         Tweaked ComputedStyleExtractor::valueForFilter() to return a PassRef
1271         for this to work.
1272
1273         Reviewed by Anders Carlsson.
1274
1275 2013-12-12  Andreas Kling  <akling@apple.com>
1276
1277         StyleResolver::adjustRenderStyle() should take RenderStyle references.
1278         <https://webkit.org/b/125623>
1279
1280         This function doesn't handle null styles being passed, so prevent
1281         it at compile time.
1282
1283         Reviewed by Anders Carlsson.
1284
1285 2013-12-13  Darin Adler  <darin@apple.com>
1286
1287         Eliminate awkward virtualComputedStyle construction
1288         https://bugs.webkit.org/show_bug.cgi?id=125681
1289
1290         Reviewed by Andreas Kling.
1291
1292         * dom/Element.cpp:
1293         (WebCore::Element::computedStyle): Tweak coding style a bit.
1294
1295         * dom/Element.h: Marked computedStyle virtual and got rid of virtualComputedStyle.
1296         This fixes a bug that we would not call SVGElement::computedStyle if we called
1297         it through an Element pointer or reference. Not sure how to get test coverage for this.
1298
1299         * dom/Node.cpp:
1300         (WebCore::Node::computedStyle): Use a loop instead of recursive virtual calls.
1301
1302         * dom/Node.h: Made computedStyle virtual and got rid of virtualComputedStyle.
1303
1304         * svg/SVGElement.cpp:
1305         (WebCore::SVGElement::computedStyle): Tweak coding style a bit.
1306
1307         * svg/SVGElement.h: Made computedStyle virtual (and FINAL) and got rid fo
1308         virtualComputedStyle.
1309
1310 2013-12-13  Darin Adler  <darin@apple.com>
1311
1312         Fix a couple stray uses of RefPtr that should release
1313         https://bugs.webkit.org/show_bug.cgi?id=125679
1314
1315         Reviewed by Andreas Kling.
1316
1317         * css/CSSParser.cpp:
1318         (WebCore::CSSParser::parseFilter): Add calls to release, in
1319         one case rearranging the order of operations slightly so we
1320         don't release the pointer before using it.
1321
1322 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
1323
1324         WebCrypto wrapKey operation doesn't check key usage
1325         https://bugs.webkit.org/show_bug.cgi?id=125675
1326
1327         Reviewed by Darin Adler.
1328
1329         Tests: crypto/subtle/unwrapKey-check-usage.html
1330                crypto/subtle/wrapKey-check-usage.html
1331
1332         * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):
1333         Added accidentally omitted code. Other operations are fine.
1334
1335 2013-12-12  Darin Adler  <darin@apple.com>
1336
1337         Make some improvements in CSSImageGeneratorValue code
1338         https://bugs.webkit.org/show_bug.cgi?id=125676
1339
1340         Reviewed by Simon Fraser.
1341
1342         * css/CSSCrossfadeValue.cpp:
1343         (WebCore::subimageKnownToBeOpaque): Take a reference to the CSSValue, since
1344         it's known not to be null. Used checked cast.
1345         (WebCore::CSSCrossfadeValue::knownToBeOpaque): Updated to pass a reference.
1346
1347         * css/CSSImageGeneratorValue.cpp:
1348         (WebCore::CSSImageGeneratorValue::saveCachedImageForSize): Use
1349         make_unique instead of adoptPtr.
1350         (WebCore::CSSImageGeneratorValue::subimageIsPending): Use checked cast.
1351         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue): Ditto, also
1352         use nullptr.
1353
1354         * css/CSSImageGeneratorValue.h: Removed unneeded includes, added some forward
1355         declarations, used unique_ptr instead of OwnPtr, and used CSS_VALUE_TYPE_CASTS
1356         macro to create cast functions.
1357
1358         * css/CSSValue.cpp: Removed unneeded include of CSSImageGeneratorValue.h.
1359
1360         * css/StyleResolver.cpp:
1361         (WebCore::StyleResolver::State::clear): Use nullptr instead of 0.
1362         (WebCore::StyleResolver::applyProperty): Use checked cast and pass references
1363         instead of pointers to StyleGeneratedImage::create.
1364         (WebCore::StyleResolver::styleImage): Use checked cast and pass references
1365         instead of pointers to generatedOrPendingFromValue.
1366         (WebCore::StyleResolver::generatedOrPendingFromValue): Take the value as a
1367         reference instead of a pointer.
1368         (WebCore::StyleResolver::loadPendingImage): Pass a refernece instead of a
1369         pointer to StyleGeneratedImage::create.
1370         (WebCore::StyleResolver::loadPendingImages): Use auto for iteration instead of
1371         a lot type name.
1372
1373         * css/StyleResolver.h: Changed generatedOrPendingFromValue to take the value
1374         as a reference instead of a pointer.
1375
1376         * page/animation/CSSPropertyAnimation.cpp:
1377         (WebCore::blendFilter): Pass a reference insted of a pointer to
1378         StyleGeneratedImage::create.
1379         (WebCore::crossfadeBlend): Ditto.
1380         (WebCore::blendFunc): Ditto. Also use references for local variables.
1381
1382         * rendering/style/StyleGeneratedImage.cpp:
1383         (WebCore::StyleGeneratedImage::StyleGeneratedImage): Use PassRef instead of
1384         PassRefPtr for the argument type.
1385         (WebCore::StyleGeneratedImage::cssValue): Updated since m_imageGeneratorValue
1386         is now a Ref instead of a RefPtr. Sadly this requires a const_cast that we can
1387         come back and get rid of later.
1388         (WebCore::StyleGeneratedImage::imageSize): Ditto.
1389         (WebCore::StyleGeneratedImage::image): Ditto.
1390
1391         * rendering/style/StyleGeneratedImage.h: Changed create function and constructor
1392         to take a PassRef. Made imageValue non-const since it returns a non-const value,
1393         to be consistent with "conceptual const". Changed m_imageGeneratorValue to be a
1394         Ref instead of a RefPtr.
1395
1396         * rendering/style/StyleImage.h: Made WrappedImagePtr be const void*, since it's
1397         a pointer used only for equality checks. Not a great idiom, but fine to use a
1398         const pointer instead of non-const, and avoids the const_cast we'd otherwise
1399         need in StyleGeneratedImage::data.
1400
1401 2013-12-12  KyungTae Kim  <ktf.kim@samsung.com>
1402
1403         Improve the find word boundary performance
1404         https://bugs.webkit.org/show_bug.cgi?id=125619
1405
1406         In endWordBoundary case, the textBreakPrevious call in findWordBoundary is unnecessary.
1407         So use separate function for endWordBoundary can improve the performance.
1408
1409         Reviewed by Darin Adler.
1410
1411         No tests because no operation changes.
1412
1413         * editing/VisibleUnits.cpp: Use findEndWordBoundary in endWordBoundary
1414         (WebCore::endWordBoundary):
1415         * platform/text/TextBoundaries.cpp: Add findEndWordBoundary function
1416         (WebCore::findEndWordBoundary):
1417         * platform/text/TextBoundaries.h:
1418         * platform/text/mac/TextBoundaries.mm: Add findEndWordBoundary function
1419         (WebCore::findEndWordBoundary):
1420
1421 2013-12-12  Benjamin Poulain  <bpoulain@apple.com>
1422
1423         Fix a silly mistake of r160467
1424         https://bugs.webkit.org/show_bug.cgi?id=125657
1425
1426         Reviewed by Alexey Proskuryakov.
1427
1428         Fix a typo. The validity check was missing the logical not.
1429
1430         * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
1431         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
1432         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
1433         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
1434         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
1435         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
1436         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
1437         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
1438         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
1439         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
1440         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
1441         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
1442
1443 2013-12-12  Tim Horton  <timothy_horton@apple.com>
1444
1445         [wk2] Handle pinch-to-zoom gesture
1446         https://bugs.webkit.org/show_bug.cgi?id=125604
1447
1448         Reviewed by Simon Fraser.
1449
1450         * WebCore.exp.in:
1451         Export some TransformationMatrix functions.
1452
1453         * WebCore.xcodeproj/project.pbxproj:
1454         Make some headers private so that RenderLayerCompositor/Backing can be used from WebKit2.
1455
1456         * rendering/RenderLayerCompositor.h:
1457         (WebCore::RenderLayerCompositor::layerForContentShadow):
1458         Add a getter for the content shadow layer.
1459
1460 2013-12-12  Brady Eidson  <beidson@apple.com>
1461
1462         DatabaseProcess IndexedDB: Establish a metadata backing store on disk
1463         https://bugs.webkit.org/show_bug.cgi?id=125258
1464
1465         Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.
1466
1467         Teach CrossThreadCopier how to handle IDBDatabaseMetadata.
1468
1469         * CMakeLists.txt:
1470         * GNUmakefile.list.am:
1471         * WebCore.exp.in:
1472         * WebCore.xcodeproj/project.pbxproj:
1473
1474         * Modules/indexeddb/IDBDatabaseMetadata.cpp: Added.
1475         (WebCore::IDBDatabaseMetadata::isolatedCopy):
1476         (WebCore::IDBObjectStoreMetadata::isolatedCopy):
1477         (WebCore::IDBIndexMetadata::isolatedCopy):
1478         * Modules/indexeddb/IDBDatabaseMetadata.h:
1479
1480         * Modules/indexeddb/IDBKeyPath.cpp:
1481         (WebCore::IDBKeyPath::isolatedCopy):
1482         * Modules/indexeddb/IDBKeyPath.h:
1483
1484         * platform/CrossThreadCopier.cpp:
1485         (WebCore::::copy): Add an IDBDatabaseMetadata specialization.
1486         * platform/CrossThreadCopier.h:
1487
1488 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
1489
1490         Add support for RSAES-PKCS1-v1_5
1491         https://bugs.webkit.org/show_bug.cgi?id=125647
1492
1493         Build fix.
1494
1495         * crypto/CommonCryptoUtilities.h: Declare a newly used private constant.
1496
1497 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
1498
1499         Add support for RSAES-PKCS1-v1_5
1500         https://bugs.webkit.org/show_bug.cgi?id=125647
1501
1502         Reviewed by Anders Carlsson.
1503
1504         Tests: crypto/subtle/rsaes-pkcs1-v1_5-decrypt.html
1505                crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html
1506
1507         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
1508         * crypto/algorithms/CryptoAlgorithmAES_KW.h:
1509         Removed meaningless parameters arguments from private functions. The base arguments
1510         class is always empty.
1511
1512         * WebCore.xcodeproj/project.pbxproj:
1513         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
1514         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
1515         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
1516         * bindings/js/JSCryptoKeySerializationJWK.cpp:
1517         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
1518         (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
1519         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
1520         * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp: Added.
1521         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::CryptoAlgorithmRSAES_PKCS1_v1_5):
1522         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::~CryptoAlgorithmRSAES_PKCS1_v1_5):
1523         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::create):
1524         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::identifier):
1525         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::keyAlgorithmMatches):
1526         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
1527         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):
1528         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
1529         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
1530         * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h: Added.
1531         * crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp: Added.
1532         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
1533         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
1534         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
1535         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
1536         Added support for this algorithm.
1537
1538 2013-12-12  Andreas Kling  <akling@apple.com>
1539
1540         [Mac] Stop not caching HTTP resources with "Vary" header in response.
1541         <https://webkit.org/b/125483>
1542         <rdar://problem/11781097>
1543
1544         Remove the workaround preventing resources with the "Vary" header
1545         from going into cache, as the CFNetwork cache has supported this
1546         for quite a while now.
1547
1548         31.5 MB progression on Membuster3, because we can now mmap those
1549         resources from disk once they are in the cache.
1550
1551         We keep the workaround on PLATFORM(WIN) for now.
1552
1553         Reviewed by Antti Koivisto.
1554
1555 2013-12-12  Sam Weinig  <sam@webkit.org>
1556
1557         Replace uses of WTF::BitArray with std::bitset
1558         https://bugs.webkit.org/show_bug.cgi?id=125642
1559
1560         Reviewed by Anders Carlsson.
1561
1562         * css/CSSParser.cpp:
1563         (WebCore::filterProperties):
1564         (WebCore::CSSParser::createStyleProperties):
1565         * css/StyleProperties.cpp:
1566         (WebCore::StyleProperties::asText):
1567
1568 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
1569
1570         Public key in a generated KeyPair should always be extractable
1571         https://bugs.webkit.org/show_bug.cgi?id=125643
1572
1573         Reviewed by Sam Weinig.
1574
1575         The spec doesn't explain how generateKey works with key pairs (there are open bugs
1576         about that). Making public keys non-extractable makes no sense one way or another.
1577
1578         Test: crypto/subtle/rsa-oaep-generate-non-extractable-key.html
1579
1580         * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::generatePair):
1581
1582 2013-12-12  Alexey Proskuryakov  <ap@apple.com>
1583
1584         Make algorithm.name return registered name, not normalized one
1585         https://bugs.webkit.org/show_bug.cgi?id=125641
1586
1587         Reviewed by Anders Carlsson.
1588
1589         Currently, WebCrypto editor's draft stipulates that algorithm name is lowercased
1590         as part of normalization.
1591
1592         But it makes little sense to register algorithms as mixed (mostly upper) case, yet
1593         return the name lowercased. Other implementations don't bother respecting this,
1594         and signs are that the spec will change.
1595
1596         I'd like to match other implementations here, because sticking to the spec only
1597         makes us fail 3rd party test suites for no good reason.
1598
1599         Updated many existing tests.
1600
1601         * crypto/CryptoAlgorithmRegistry.cpp:
1602         (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
1603         (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
1604         * crypto/CryptoAlgorithmRegistry.h:
1605         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
1606         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
1607         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
1608         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
1609         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
1610         * crypto/algorithms/CryptoAlgorithmSHA1.cpp:
1611         * crypto/algorithms/CryptoAlgorithmSHA224.cpp:
1612         * crypto/algorithms/CryptoAlgorithmSHA256.cpp:
1613         * crypto/algorithms/CryptoAlgorithmSHA384.cpp:
1614         * crypto/algorithms/CryptoAlgorithmSHA512.cpp:
1615
1616 2013-12-12  Csaba Osztrogonác  <ossy@webkit.org>
1617
1618         Move CertificateInfo to WebCore
1619         https://bugs.webkit.org/show_bug.cgi?id=124720
1620
1621         Reviewed by Darin Adler.
1622
1623         Based on the patch by Kwang Yul Seo <skyul@company100.net>
1624
1625         * GNUmakefile.list.am:
1626         * PlatformEfl.cmake:
1627         * PlatformGTK.cmake:
1628         * WebCore.exp.in:
1629         * WebCore.xcodeproj/project.pbxproj:
1630         * platform/network/mac/CertificateInfo.h: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.h.
1631         (WebCore::CertificateInfo::setCertificateChain): Added, because WebCoreArgumentCoders needs it.
1632         * platform/network/mac/CertificateInfoMac.mm: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.mm.
1633         (WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersMac.mm.
1634         * platform/network/soup/CertificateInfo.cpp: Copied from Source/WebKit2/Shared/WebCertificateInfo.h.
1635         (WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersSoup.cpp.
1636         * platform/network/soup/CertificateInfo.h: Renamed from Source/WebKit2/Shared/soup/CertificateInfo.h.
1637         (WebCore::CertificateInfo::setCertificate): Added, because WebCoreArgumentCoders needs it.
1638         (WebCore::CertificateInfo::setTLSErrors): Added, because WebCoreArgumentCoders needs it.
1639
1640 2013-12-12  Commit Queue  <commit-queue@webkit.org>
1641
1642         Unreviewed, rolling out r160417.
1643         http://trac.webkit.org/changeset/160417
1644         https://bugs.webkit.org/show_bug.cgi?id=125629
1645
1646         The patch is causing crashes (Requested by zdobersek1 on
1647         #webkit).
1648
1649         * accessibility/AXObjectCache.cpp:
1650         (WebCore::AXObjectCache::~AXObjectCache):
1651         (WebCore::AXObjectCache::remove):
1652         * accessibility/AXObjectCache.h:
1653         (WebCore::AXObjectCache::detachWrapper):
1654         * accessibility/atk/AXObjectCacheAtk.cpp:
1655         (WebCore::AXObjectCache::detachWrapper):
1656         (WebCore::AXObjectCache::attachWrapper):
1657         (WebCore::AXObjectCache::postPlatformNotification):
1658         * accessibility/ios/AXObjectCacheIOS.mm:
1659         (WebCore::AXObjectCache::detachWrapper):
1660         * accessibility/mac/AXObjectCacheMac.mm:
1661         (WebCore::AXObjectCache::detachWrapper):
1662         * accessibility/win/AXObjectCacheWin.cpp:
1663         (WebCore::AXObjectCache::detachWrapper):
1664
1665 2013-12-12  Martin Robinson  <mrobinson@igalia.com>
1666
1667         Remove a few more guards mistakenly added in r160367
1668
1669         Reviewed by Carlos Garcia Campos
1670
1671         r160367 was too liberal in hiding APIs from the GObject DOM bindings.
1672         We should expose the BatteryManager and the text and audio tracks.
1673
1674         * Modules/battery/BatteryManager.idl:
1675         * html/HTMLMediaElement.idl:
1676
1677 2013-12-11  Darin Adler  <darin@apple.com>
1678
1679         StylePendingImage needs to correctly manage the CSSValue pointer lifetime
1680         https://bugs.webkit.org/show_bug.cgi?id=125468
1681
1682         Reviewed by Andreas Kling.
1683
1684         Test: fast/css/pending-image-crash.xhtml
1685
1686         Disconnect the reference counted StylePendingImage from the CSSValue that owns
1687         it when it's not needed any more, otherwise we could end up using a pointer
1688         that might no longer be valid.
1689
1690         * css/CSSCursorImageValue.cpp:
1691         (WebCore::CSSCursorImageValue::detachPendingImage): Added. Calls detachFromCSSValue
1692         on the current image if it is a StylePendingImage.
1693         (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Call detachPendingImage.
1694         (WebCore::CSSCursorImageValue::cachedImage): Call detachPendingImage before changing
1695         m_image to a new value.
1696         (WebCore::CSSCursorImageValue::clearCachedImage): Ditto.
1697         * css/CSSCursorImageValue.h: Added detachPendingImage.
1698
1699         * css/CSSImageSetValue.cpp:
1700         (WebCore::CSSImageSetValue::detachPendingImage): Added. Calls detachFromCSSValue
1701         on the current image set if it is a StylePendingImage.
1702         (WebCore::CSSImageSetValue::~CSSImageSetValue): Call detachPendingImage.
1703         (WebCore::CSSImageSetValue::cachedImageSet): Call detachPendingImage before changing
1704         m_imageSet to a new value.
1705         * css/CSSImageSetValue.h: Added detachPendingImage.
1706
1707         * css/CSSImageValue.cpp:
1708         (WebCore::CSSImageValue::detachPendingImage): Added. Calls detachFromCSSValue on the
1709         current image if it is a StylePendingImage.
1710         (WebCore::CSSImageValue::~CSSImageValue): Call detachPendingImage.
1711         (WebCore::CSSImageValue::cachedImage): Call detachPendingImage before changing m_image
1712         to a new value.
1713         * css/CSSImageValue.h: Added detachPendingImage.
1714
1715         * rendering/style/StylePendingImage.h:
1716         (WebCore::StylePendingImage::cssImageValue): Added a null check.
1717         (WebCore::StylePendingImage::cssImageGeneratorValue): Added a null check.
1718         (WebCore::StylePendingImage::cssCursorImageValue): Added a null check.
1719         (WebCore::StylePendingImage::cssImageSetValue): Added a null check.
1720         (WebCore::StylePendingImage::detachFromCSSValue): Added. Sets m_value to null since
1721         the style is no longer using this StylePendingImage.
1722         (WebCore::StylePendingImage::data): Changed to use the "this" pointer since all we
1723         need is some arbitrary pointer uniquely identifying the image. Before loading the image,
1724         we have no suitable weak identifier, so it suffices to use the unique pointer to each
1725         StylePendingImage object. This function is used only in a limited way; it would be nice
1726         to find a way to make the code less strange long term.
1727
1728 2013-12-11  Darin Adler  <darin@apple.com>
1729
1730         Remove some unneeded code noticed while looking at StylePendingImage
1731         https://bugs.webkit.org/show_bug.cgi?id=125618
1732
1733         Reviewed by Andreas Kling.
1734
1735         * css/StyleResolver.cpp:
1736         (WebCore::StyleResolver::loadPendingImage): Removed redundant function calls.
1737
1738         * rendering/RenderImageResource.cpp: Removed unneeded nullImage and
1739         usesImageContainerSize member functions.
1740         (WebCore::RenderImageResource::image): Use Image::nullImage directly instead of
1741         through RenderImageResourceImage::nullImage.
1742
1743         * rendering/RenderImageResource.h: Removed unneeded usesImageContainerSize
1744         and nullImage functions. Also removed unneeded includes.
1745
1746         * rendering/RenderImageResourceStyleImage.h: Removed unneeded
1747         usesImageContainerSize override. Nobody was calling it.
1748
1749 2013-12-11  Benjamin Poulain  <bpoulain@apple.com>
1750
1751         Add the CFNetwork implementation of the asynchronous ResourceHandle
1752         https://bugs.webkit.org/show_bug.cgi?id=124440
1753
1754         Reviewed by Alexey Proskuryakov.
1755
1756         Add a second subclass of ResourceHandleCFURLConnectionDelegate: ResourceHandleCFURLConnectionDelegateWithOperationQueue.
1757         The difference is those objects handle the network callback on a different queue.
1758
1759         Some common code has been refactored in ResourceHandleCFURLConnectionDelegate to reduce duplicated code.
1760
1761         The initialization of the request and connection is moved to the subclass to clean up initialization.
1762
1763         * WebCore.xcodeproj/project.pbxproj:
1764         * platform/network/ResourceHandle.h:
1765         * platform/network/ResourceHandleClient.cpp:
1766         (WebCore::ResourceHandleClient::willCacheResponseAsync):
1767         * platform/network/ResourceHandleClient.h:
1768         * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp: Added.
1769         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::ResourceHandleCFURLConnectionDelegateWithOperationQueue):
1770         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::~ResourceHandleCFURLConnectionDelegateWithOperationQueue):
1771         (WebCore::connectionWasCancelled):
1772         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest):
1773         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupConnectionScheduling):
1774         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
1775         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
1776         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
1777         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
1778         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
1779         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
1780         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
1781         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
1782         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
1783         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
1784         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
1785         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillSendRequest):
1786         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueDidReceiveResponse):
1787         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueShouldUseCredentialStorage):
1788         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillCacheResponse):
1789         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueCanAuthenticateAgainstProtectionSpace):
1790         * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h: Copied from Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h.
1791         * platform/network/cf/ResourceHandleCFNet.cpp:
1792         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1793         (WebCore::ResourceHandle::createCFURLConnection):
1794         (WebCore::ResourceHandle::start):
1795         (WebCore::ResourceHandle::shouldUseCredentialStorage):
1796         (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
1797         (WebCore::ResourceHandle::continueWillSendRequest):
1798         (WebCore::ResourceHandle::continueDidReceiveResponse):
1799         (WebCore::ResourceHandle::continueShouldUseCredentialStorage):
1800         (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
1801         (WebCore::ResourceHandle::continueWillCacheResponse):
1802         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
1803         (WebCore::ResourceHandleCFURLConnectionDelegate::releaseHandle):
1804         (WebCore::ResourceHandleCFURLConnectionDelegate::synthesizeRedirectResponseIfNecessary):
1805         (WebCore::ResourceHandleCFURLConnectionDelegate::createResourceRequest):
1806         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
1807         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
1808         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupRequest):
1809         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupConnectionScheduling):
1810         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
1811         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillSendRequest):
1812         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueDidReceiveResponse):
1813         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueShouldUseCredentialStorage):
1814         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillCacheResponse):
1815         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueCanAuthenticateAgainstProtectionSpace):
1816         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
1817
1818 2013-12-11  David Kilzer  <ddkilzer@apple.com>
1819
1820         Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
1821         <http://webkit.org/b/125329>
1822
1823         Reviewed by Darin Adler.
1824
1825         No tests since this is a build fix for:
1826
1827             $ ./Tools/Scripts/build-webkit --release OTHER_CFLAGS="$inherited -DADDRESS_SANITIZER=1"
1828
1829         * rendering/InlineBox.cpp:
1830         * rendering/InlineBox.h:
1831         - Replace ASSERT_DISABLED use with
1832           ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for m_hasBadParent.
1833
1834         * rendering/InlineFlowBox.cpp:
1835         (WebCore::InlineFlowBox::~InlineFlowBox):
1836         - Use !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED instead of
1837           #ifndef NDEBUG since this calls setHasBadParent().
1838         (WebCore::InlineFlowBox::checkConsistency):
1839         - Move ASSERT(!m_hasBadChildList) outside of
1840           #if CHECK_CONSISTENCY and change to
1841           ASSERT_WITH_SECURITY_IMPLICATION(!m_hasBadChildList).
1842
1843         * rendering/InlineFlowBox.h:
1844         (WebCore::InlineFlowBox::InlineFlowBox):
1845         (WebCore::InlineFlowBox::setHasBadChildList):
1846         - Change #ifndef NDEBUG to
1847           #if !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for code using
1848           m_hasBadChildList.
1849
1850 2013-12-11  Ralph Thomas  <ralpht@gmail.com>
1851
1852         [WebGL] Fix build on GL ES 2.0 targets after r160119
1853         https://bugs.webkit.org/show_bug.cgi?id=125541
1854
1855         Reviewed by Brent Fulgham.
1856
1857         GL ES 2.0 doesn't define GL_HALF_FLOAT_ARB, so pass through HALF_FLOAT_OES (which is defined for GL ES 2.0).
1858         This change also reverts r160324 which incorrectly defined GL_HALF_FLOAT_ARB for the Windows ANGLE target.
1859
1860         No new tests, no change in functionality.
1861
1862         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1863         (WebCore::GraphicsContext3D::texSubImage2D):
1864
1865 2013-12-11  Joseph Pecoraro  <pecoraro@apple.com>
1866
1867         Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
1868         https://bugs.webkit.org/show_bug.cgi?id=125324
1869
1870         Reviewed by Timothy Hatcher.
1871
1872         Part 1: Push down core inspector classes.
1873
1874           - Move InspectAgentBase, InspectorAgentRegistry, InspectorBackendDispatcher, InspectorValues
1875             down to JavaScriptCore and into the Inspector namespace.
1876           - Add forwarding headers for JavaScriptCore/inspector files.
1877           - Use the Inspector namespace where appropriate.
1878           - Rename InspectorBaseAgent to InspectorAgentBase for clarity.
1879
1880         Part 2: Push Script wrapper classes down into JavaScriptCore/bindings.
1881
1882           - Move ScriptObject and ScriptValue into JavaScriptCore but namespace Deprecated
1883           - Add forwarding headers
1884           - Use Deprecated::ScriptObject and Deprecated::ScriptValue everywhere.
1885
1886         Part 3: Push Down ScriptFunctionCall
1887
1888           - Move ScriptFunctionCall to JavaScriptCore/bindings into namespace Deprecated.
1889           - Give constructor a function to all for a different JSC::call, because
1890             WebCore ScriptFunctionCall's use JSMainThreadExecState when isMainThread.
1891           - Prefer Deprecated::ScriptFunctionCall everywhere it is used in WebCore.
1892
1893         Part 4: Extract InspectorTypeBuilder helper functions
1894
1895           - There is a chunk of InspectorTypeBuilder that never changes. Extract it into
1896             its own file, InspectorTypeBuilder.h in JSC/inspector, Inspector namespace.
1897           - This moves TypeBuilder from namespace WebCore to namespace Inspector
1898           - Rename the WebCore generated InspectorTypeBuilder to InspectorWebTypeBuilders,
1899             eventually the CodeGenerator script will do this for more then TypeBuilders
1900             and there will be "JS" TypeBuilders and "Web" TypeBuilders files.
1901
1902         No new tests. No change in functionality, just moving things around.
1903
1904         * CMakeLists.txt:
1905         * ForwardingHeaders/bindings/ScriptFunctionCall.h: Added.
1906         * ForwardingHeaders/bindings/ScriptObject.h: Added.
1907         * ForwardingHeaders/bindings/ScriptValue.h: Added.
1908         * ForwardingHeaders/inspector/InspectorAgentBase.h: Added.
1909         * ForwardingHeaders/inspector/InspectorAgentRegistry.h: Added.
1910         * ForwardingHeaders/inspector/InspectorBackendDispatcher.h: Added.
1911         * ForwardingHeaders/inspector/InspectorTypeBuilder.h: Added.
1912         * ForwardingHeaders/inspector/InspectorValues.h: Added.
1913         * GNUmakefile.am:
1914         * GNUmakefile.list.am:
1915         * Modules/indexeddb/IDBAny.cpp:
1916         (WebCore::IDBAny::scriptValue):
1917         (WebCore::IDBAny::IDBAny):
1918         * Modules/indexeddb/IDBAny.h:
1919         * Modules/indexeddb/IDBCursor.cpp:
1920         (WebCore::IDBCursor::key):
1921         (WebCore::IDBCursor::primaryKey):
1922         (WebCore::IDBCursor::value):
1923         (WebCore::IDBCursor::update):
1924         (WebCore::IDBCursor::continueFunction):
1925         (WebCore::IDBCursor::setValueReady):
1926         * Modules/indexeddb/IDBCursor.h:
1927         * Modules/indexeddb/IDBFactory.cpp:
1928         (WebCore::IDBFactory::cmp):
1929         * Modules/indexeddb/IDBFactory.h:
1930         * Modules/indexeddb/IDBIndex.cpp:
1931         (WebCore::IDBIndex::openCursor):
1932         (WebCore::IDBIndex::count):
1933         (WebCore::IDBIndex::openKeyCursor):
1934         (WebCore::IDBIndex::get):
1935         (WebCore::IDBIndex::getKey):
1936         * Modules/indexeddb/IDBIndex.h:
1937         (WebCore::IDBIndex::openCursor):
1938         (WebCore::IDBIndex::openKeyCursor):
1939         * Modules/indexeddb/IDBKeyRange.cpp:
1940         (WebCore::IDBKeyRange::lowerValue):
1941         (WebCore::IDBKeyRange::upperValue):
1942         (WebCore::IDBKeyRange::only):
1943         (WebCore::IDBKeyRange::lowerBound):
1944         (WebCore::IDBKeyRange::upperBound):
1945         (WebCore::IDBKeyRange::bound):
1946         * Modules/indexeddb/IDBKeyRange.h:
1947         (WebCore::IDBKeyRange::lowerBound):
1948         (WebCore::IDBKeyRange::upperBound):
1949         (WebCore::IDBKeyRange::bound):
1950         * Modules/indexeddb/IDBObjectStore.cpp:
1951         (WebCore::IDBObjectStore::get):
1952         (WebCore::generateIndexKeysForValue):
1953         (WebCore::IDBObjectStore::add):
1954         (WebCore::IDBObjectStore::put):
1955         (WebCore::IDBObjectStore::deleteFunction):
1956         (WebCore::IDBObjectStore::openCursor):
1957         (WebCore::IDBObjectStore::count):
1958         * Modules/indexeddb/IDBObjectStore.h:
1959         * Modules/indexeddb/IDBRequest.cpp:
1960         (WebCore::IDBRequest::setResultCursor):
1961         (WebCore::IDBRequest::onSuccess):
1962         (WebCore::IDBRequest::onSuccessInternal):
1963         * Modules/indexeddb/IDBRequest.h:
1964         * Modules/mediastream/CapabilityRange.cpp:
1965         (WebCore::scriptValue):
1966         (WebCore::CapabilityRange::min):
1967         (WebCore::CapabilityRange::max):
1968         * Modules/mediastream/CapabilityRange.h:
1969         * Modules/mediastream/MediaTrackConstraint.h:
1970         * Modules/mediastream/RTCIceCandidate.cpp:
1971         * Modules/plugins/QuickTimePluginReplacement.cpp:
1972         * Modules/plugins/QuickTimePluginReplacement.h:
1973         * UseJSC.cmake:
1974         * WebCore.exp.in:
1975         * WebCore.vcxproj/WebCore.vcxproj:
1976         * WebCore.vcxproj/WebCore.vcxproj.filters:
1977         * WebCore.xcodeproj/project.pbxproj:
1978         * bindings/js/Dictionary.h:
1979         (WebCore::Dictionary::getEventListener):
1980         * bindings/js/IDBBindingUtilities.cpp:
1981         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
1982         (WebCore::injectIDBKeyIntoScriptValue):
1983         (WebCore::canInjectIDBKeyIntoScriptValue):
1984         (WebCore::deserializeIDBValue):
1985         (WebCore::deserializeIDBValueBuffer):
1986         (WebCore::idbKeyToScriptValue):
1987         (WebCore::scriptValueToIDBKey):
1988         * bindings/js/IDBBindingUtilities.h:
1989         * bindings/js/JSBindingsAllInOne.cpp:
1990         * bindings/js/JSDictionary.cpp:
1991         (WebCore::JSDictionary::convertValue):
1992         * bindings/js/JSDictionary.h:
1993         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1994         (WebCore::JSHTMLCanvasElement::getContext):
1995         * bindings/js/JSInjectedScriptHostCustom.cpp:
1996         (WebCore::InjectedScriptHost::scriptValueAsNode):
1997         (WebCore::InjectedScriptHost::nodeAsScriptValue):
1998         (WebCore::JSInjectedScriptHost::inspectedObject):
1999         (WebCore::JSInjectedScriptHost::inspect):
2000         * bindings/js/JSInjectedScriptManager.cpp:
2001         (WebCore::InjectedScriptManager::createInjectedScript):
2002         * bindings/js/JSMainThreadExecState.cpp:
2003         (WebCore::functionCallHandlerFromAnyThread):
2004         * bindings/js/JSMainThreadExecState.h:
2005         (WebCore::JSMainThreadExecState::currentState):
2006         * bindings/js/JSMessageEventCustom.cpp:
2007         (WebCore::JSMessageEvent::data):
2008         (WebCore::handleInitMessageEvent):
2009         * bindings/js/ScheduledAction.cpp:
2010         * bindings/js/ScriptCallStackFactory.cpp:
2011         (WebCore::createScriptArguments):
2012         * bindings/js/ScriptController.cpp:
2013         (WebCore::ScriptController::evaluateInWorld):
2014         (WebCore::ScriptController::evaluate):
2015         (WebCore::ScriptController::executeScriptInWorld):
2016         (WebCore::ScriptController::executeScript):
2017         (WebCore::ScriptController::executeIfJavaScriptURL):
2018         * bindings/js/ScriptController.h:
2019         * bindings/js/ScriptDebugServer.cpp:
2020         (WebCore::ScriptDebugServer::setScriptSource):
2021         (WebCore::ScriptDebugServer::updateCallStack):
2022         (WebCore::ScriptDebugServer::dispatchDidPause):
2023         (WebCore::ScriptDebugServer::runScript):
2024         * bindings/js/ScriptDebugServer.h:
2025         * bindings/js/ScriptGlobalObject.cpp: Renamed from Source/WebCore/bindings/js/ScriptObject.cpp.
2026         (WebCore::handleException):
2027         (WebCore::ScriptGlobalObject::set):
2028         (WebCore::ScriptGlobalObject::get):
2029         (WebCore::ScriptGlobalObject::remove):
2030         * bindings/js/ScriptGlobalObject.h: Copied from Source/WebCore/inspector/ScriptCallStack.h.
2031         (WebCore::ScriptGlobalObject::ScriptGlobalObject):
2032         * bindings/js/ScriptObject.h: Removed.
2033         * bindings/js/ScriptProfile.cpp:
2034         (WebCore::buildInspectorObjectFor):
2035         (WebCore::ScriptProfile::buildInspectorObjectForHead):
2036         (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
2037         * bindings/js/ScriptProfile.h:
2038         * bindings/js/ScriptProfiler.cpp:
2039         (WebCore::ScriptProfiler::objectByHeapObjectId):
2040         (WebCore::ScriptProfiler::getHeapObjectId):
2041         * bindings/js/ScriptProfiler.h:
2042         * bindings/js/ScriptState.h:
2043         * bindings/js/SerializedScriptValue.cpp:
2044         (WebCore::SerializedScriptValue::deserializeForInspector):
2045         (WebCore::SerializedScriptValue::serialize):
2046         (WebCore::SerializedScriptValue::deserialize):
2047         * bindings/js/SerializedScriptValue.h:
2048         * bindings/js/WorkerScriptController.cpp:
2049         (WebCore::WorkerScriptController::evaluate):
2050         (WebCore::WorkerScriptController::setException):
2051         * bindings/js/WorkerScriptController.h:
2052         * bindings/scripts/CodeGeneratorJS.pm:
2053         * bindings/scripts/test/JS/JSTestObj.cpp:
2054         (WebCore::setJSTestObjAnyAttribute):
2055         * dom/CustomEvent.cpp:
2056         (WebCore::CustomEvent::initCustomEvent):
2057         * dom/CustomEvent.h:
2058         (WebCore::CustomEvent::detail):
2059         * dom/MessageEvent.cpp:
2060         (WebCore::MessageEvent::MessageEvent):
2061         (WebCore::MessageEvent::initMessageEvent):
2062         * dom/MessageEvent.h:
2063         (WebCore::MessageEvent::create):
2064         (WebCore::MessageEvent::dataAsScriptValue):
2065         * dom/PopStateEvent.h:
2066         (WebCore::PopStateEvent::state):
2067         * dom/ScriptElement.cpp:
2068         * html/HTMLMediaElement.cpp:
2069         * html/parser/XSSAuditor.cpp:
2070         * html/parser/XSSAuditorDelegate.cpp:
2071         * inspector/CodeGeneratorInspector.py:
2072         (RawTypes.BaseType.get_raw_validator_call_text):
2073         (RawTypes.Object.get_array_item_raw_c_type_text):
2074         (RawTypes.Any.get_array_item_raw_c_type_text):
2075         (RawTypes.Array.get_array_item_raw_c_type_text):
2076         (CommandReturnPassModel.OptOutput.get_return_var_type):
2077         (CommandReturnPassModel.OptOutput.get_output_parameter_type):
2078         (TypeModel.ExactlyInt.get_input_param_type_text):
2079         (TypeModel.ExactlyInt.get_opt_output_type_):
2080         (TypeModel.init_class):
2081         (TypeBindings.create_named_type_declaration.Helper):
2082         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
2083         (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
2084         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
2085         (Inspector):
2086         (ArrayBinding.get_array_item_c_type_text):
2087         (Generator.go):
2088         (Generator.process_command):
2089         * inspector/CodeGeneratorInspectorStrings.py:
2090         (void):
2091         (InspectorFrontend_h):
2092         (InspectorBackendDispatchers_h):
2093         * inspector/ConsoleMessage.cpp:
2094         (WebCore::messageSourceValue):
2095         (WebCore::messageTypeValue):
2096         (WebCore::messageLevelValue):
2097         (WebCore::ConsoleMessage::addToFrontend):
2098         * inspector/ConsoleMessage.h:
2099         * inspector/ContentSearchUtils.cpp:
2100         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
2101         (WebCore::ContentSearchUtils::searchInTextByLines):
2102         * inspector/ContentSearchUtils.h:
2103         * inspector/InjectedScript.cpp:
2104         (WebCore::InjectedScript::InjectedScript):
2105         (WebCore::InjectedScript::evaluate):
2106         (WebCore::InjectedScript::callFunctionOn):
2107         (WebCore::InjectedScript::evaluateOnCallFrame):
2108         (WebCore::InjectedScript::getFunctionDetails):
2109         (WebCore::InjectedScript::getProperties):
2110         (WebCore::InjectedScript::getInternalProperties):
2111         (WebCore::InjectedScript::nodeForObjectId):
2112         (WebCore::InjectedScript::releaseObject):
2113         (WebCore::InjectedScript::wrapCallFrames):
2114         (WebCore::InjectedScript::wrapObject):
2115         (WebCore::InjectedScript::wrapTable):
2116         (WebCore::InjectedScript::wrapNode):
2117         (WebCore::InjectedScript::findObjectById):
2118         (WebCore::InjectedScript::inspectNode):
2119         (WebCore::InjectedScript::releaseObjectGroup):
2120         (WebCore::InjectedScript::nodeAsScriptValue):
2121         * inspector/InjectedScript.h:
2122         * inspector/InjectedScriptBase.cpp:
2123         (WebCore::InjectedScriptBase::InjectedScriptBase):
2124         (WebCore::InjectedScriptBase::initialize):
2125         (WebCore::InjectedScriptBase::injectedScriptObject):
2126         (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
2127         (WebCore::InjectedScriptBase::makeCall):
2128         (WebCore::InjectedScriptBase::makeEvalCall):
2129         * inspector/InjectedScriptBase.h:
2130         * inspector/InjectedScriptCanvasModule.cpp:
2131         (WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
2132         (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
2133         (WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
2134         (WebCore::InjectedScriptCanvasModule::markFrameEnd):
2135         (WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
2136         (WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
2137         (WebCore::InjectedScriptCanvasModule::traceLog):
2138         (WebCore::InjectedScriptCanvasModule::replayTraceLog):
2139         (WebCore::InjectedScriptCanvasModule::resourceInfo):
2140         (WebCore::InjectedScriptCanvasModule::resourceState):
2141         * inspector/InjectedScriptCanvasModule.h:
2142         * inspector/InjectedScriptHost.cpp:
2143         (WebCore::InjectedScriptHost::inspectImpl):
2144         (WebCore::InjectedScriptHost::InspectableObject::get):
2145         * inspector/InjectedScriptHost.h:
2146         * inspector/InjectedScriptManager.cpp:
2147         (WebCore::InjectedScriptManager::injectedScriptFor):
2148         * inspector/InjectedScriptManager.h:
2149         * inspector/InjectedScriptModule.cpp:
2150         (WebCore::InjectedScriptModule::ensureInjected):
2151         * inspector/InspectorAgent.cpp:
2152         (WebCore::InspectorAgent::InspectorAgent):
2153         (WebCore::InspectorAgent::didCreateFrontendAndBackend):
2154         (WebCore::InspectorAgent::inspect):
2155         * inspector/InspectorAgent.h:
2156         * inspector/InspectorAllInOne.cpp:
2157         * inspector/InspectorApplicationCacheAgent.cpp:
2158         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
2159         (WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
2160         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
2161         (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
2162         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
2163         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
2164         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
2165         * inspector/InspectorApplicationCacheAgent.h:
2166         * inspector/InspectorCSSAgent.cpp:
2167         (WebCore::SelectorProfile::toInspectorObject):
2168         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
2169         (WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
2170         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
2171         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
2172         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
2173         (WebCore::InspectorCSSAgent::getAllStyleSheets):
2174         (WebCore::InspectorCSSAgent::getStyleSheet):
2175         (WebCore::InspectorCSSAgent::setStyleText):
2176         (WebCore::InspectorCSSAgent::setPropertyText):
2177         (WebCore::InspectorCSSAgent::toggleProperty):
2178         (WebCore::InspectorCSSAgent::setRuleSelector):
2179         (WebCore::InspectorCSSAgent::addRule):
2180         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
2181         (WebCore::InspectorCSSAgent::getNamedFlowCollection):
2182         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
2183         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
2184         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
2185         (WebCore::InspectorCSSAgent::collectStyleSheets):
2186         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
2187         (WebCore::InspectorCSSAgent::detectOrigin):
2188         (WebCore::InspectorCSSAgent::buildObjectForRule):
2189         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
2190         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
2191         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
2192         (WebCore::InspectorCSSAgent::buildArrayForRegions):
2193         (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
2194         * inspector/InspectorCSSAgent.h:
2195         * inspector/InspectorCanvasAgent.cpp:
2196         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
2197         (WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
2198         (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
2199         (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
2200         (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
2201         (WebCore::InspectorCanvasAgent::injectedScriptCanvasModule):
2202         * inspector/InspectorCanvasAgent.h:
2203         * inspector/InspectorCanvasInstrumentation.h:
2204         (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
2205         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
2206         * inspector/InspectorClient.cpp:
2207         * inspector/InspectorClient.h:
2208         * inspector/InspectorConsoleAgent.cpp:
2209         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2210         (WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
2211         (WebCore::InspectableHeapObject::get):
2212         * inspector/InspectorConsoleAgent.h:
2213         * inspector/InspectorController.cpp:
2214         * inspector/InspectorController.h:
2215         * inspector/InspectorDOMAgent.cpp:
2216         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2217         (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
2218         (WebCore::InspectorDOMAgent::getDocument):
2219         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2220         (WebCore::InspectorDOMAgent::querySelectorAll):
2221         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
2222         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2223         (WebCore::InspectorDOMAgent::getSearchResults):
2224         (WebCore::InspectorDOMAgent::resolveNode):
2225         (WebCore::InspectorDOMAgent::getAttributes):
2226         (WebCore::InspectorDOMAgent::buildObjectForNode):
2227         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
2228         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
2229         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
2230         (WebCore::InspectorDOMAgent::didCommitLoad):
2231         (WebCore::InspectorDOMAgent::didInsertDOMNode):
2232         (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
2233         * inspector/InspectorDOMAgent.h:
2234         * inspector/InspectorDOMDebuggerAgent.cpp:
2235         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
2236         (WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
2237         (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
2238         * inspector/InspectorDOMDebuggerAgent.h:
2239         * inspector/InspectorDOMStorageAgent.cpp:
2240         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
2241         (WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
2242         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
2243         (WebCore::InspectorDOMStorageAgent::storageId):
2244         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
2245         * inspector/InspectorDOMStorageAgent.h:
2246         * inspector/InspectorDatabaseAgent.cpp:
2247         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
2248         (WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
2249         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
2250         * inspector/InspectorDatabaseAgent.h:
2251         * inspector/InspectorDatabaseResource.cpp:
2252         (WebCore::InspectorDatabaseResource::bind):
2253         * inspector/InspectorDebuggerAgent.cpp:
2254         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2255         (WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
2256         (WebCore::breakpointActionTypeForString):
2257         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2258         (WebCore::InspectorDebuggerAgent::setBreakpoint):
2259         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2260         (WebCore::scriptToInspectorObject):
2261         (WebCore::InspectorDebuggerAgent::searchInContent):
2262         (WebCore::InspectorDebuggerAgent::setScriptSource):
2263         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
2264         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2265         (WebCore::InspectorDebuggerAgent::compileScript):
2266         (WebCore::InspectorDebuggerAgent::runScript):
2267         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2268         (WebCore::InspectorDebuggerAgent::didParseSource):
2269         (WebCore::InspectorDebuggerAgent::didPause):
2270         (WebCore::InspectorDebuggerAgent::didContinue):
2271         (WebCore::InspectorDebuggerAgent::clear):
2272         * inspector/InspectorDebuggerAgent.h:
2273         * inspector/InspectorForwarding.h:
2274         * inspector/InspectorFrontendClientLocal.cpp:
2275         (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
2276         * inspector/InspectorFrontendHost.cpp:
2277         (WebCore::FrontendMenuProvider::create):
2278         (WebCore::FrontendMenuProvider::disconnect):
2279         (WebCore::FrontendMenuProvider::FrontendMenuProvider):
2280         (WebCore::FrontendMenuProvider::contextMenuItemSelected):
2281         (WebCore::FrontendMenuProvider::contextMenuCleared):
2282         (WebCore::InspectorFrontendHost::showContextMenu):
2283         * inspector/InspectorHeapProfilerAgent.cpp:
2284         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
2285         (WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
2286         (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
2287         (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
2288         (WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
2289         (WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
2290         * inspector/InspectorHeapProfilerAgent.h:
2291         * inspector/InspectorIndexedDBAgent.cpp:
2292         (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
2293         (WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
2294         * inspector/InspectorIndexedDBAgent.h:
2295         * inspector/InspectorInputAgent.cpp:
2296         (WebCore::InspectorInputAgent::InspectorInputAgent):
2297         (WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
2298         * inspector/InspectorInputAgent.h:
2299         * inspector/InspectorInstrumentation.cpp:
2300         * inspector/InspectorInstrumentation.h:
2301         * inspector/InspectorLayerTreeAgent.cpp:
2302         (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
2303         (WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
2304         (WebCore::InspectorLayerTreeAgent::layersForNode):
2305         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
2306         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
2307         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
2308         (WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
2309         (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
2310         * inspector/InspectorLayerTreeAgent.h:
2311         * inspector/InspectorMemoryAgent.cpp:
2312         (WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
2313         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
2314         * inspector/InspectorMemoryAgent.h:
2315         * inspector/InspectorOverlay.cpp:
2316         * inspector/InspectorOverlay.h:
2317         * inspector/InspectorPageAgent.cpp:
2318         (WebCore::InspectorPageAgent::resourceTypeJson):
2319         (WebCore::InspectorPageAgent::cachedResourceTypeJson):
2320         (WebCore::InspectorPageAgent::InspectorPageAgent):
2321         (WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
2322         (WebCore::buildObjectForCookie):
2323         (WebCore::buildArrayForCookies):
2324         (WebCore::InspectorPageAgent::getCookies):
2325         (WebCore::InspectorPageAgent::getResourceTree):
2326         (WebCore::InspectorPageAgent::searchInResource):
2327         (WebCore::buildObjectForSearchResult):
2328         (WebCore::InspectorPageAgent::searchInResources):
2329         (WebCore::InspectorPageAgent::buildObjectForFrame):
2330         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
2331         * inspector/InspectorPageAgent.h:
2332         * inspector/InspectorProfilerAgent.cpp:
2333         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
2334         (WebCore::InspectorProfilerAgent::createProfileHeader):
2335         (WebCore::InspectorProfilerAgent::createSnapshotHeader):
2336         (WebCore::InspectorProfilerAgent::getProfileHeaders):
2337         (WebCore::InspectorProfilerAgent::getCPUProfile):
2338         (WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
2339         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
2340         (WebCore::InspectorProfilerAgent::getHeapObjectId):
2341         * inspector/InspectorProfilerAgent.h:
2342         * inspector/InspectorResourceAgent.cpp:
2343         (WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
2344         (WebCore::buildObjectForTiming):
2345         (WebCore::buildObjectForResourceRequest):
2346         (WebCore::buildObjectForResourceResponse):
2347         (WebCore::buildObjectForCachedResource):
2348         (WebCore::InspectorResourceAgent::willSendRequest):
2349         (WebCore::InspectorResourceAgent::didReceiveResponse):
2350         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
2351         (WebCore::InspectorResourceAgent::buildInitiatorObject):
2352         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
2353         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
2354         (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
2355         (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
2356         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
2357         * inspector/InspectorResourceAgent.h:
2358         * inspector/InspectorRuntimeAgent.cpp:
2359         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
2360         (WebCore::buildErrorRangeObject):
2361         (WebCore::InspectorRuntimeAgent::parse):
2362         (WebCore::InspectorRuntimeAgent::evaluate):
2363         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2364         (WebCore::InspectorRuntimeAgent::getProperties):
2365         * inspector/InspectorRuntimeAgent.h:
2366         * inspector/InspectorStyleSheet.cpp:
2367         (WebCore::buildSourceRangeObject):
2368         (WebCore::buildMediaObject):
2369         (WebCore::fillMediaListChain):
2370         (WebCore::InspectorStyle::buildObjectForStyle):
2371         (WebCore::InspectorStyle::buildArrayForComputedStyle):
2372         (WebCore::InspectorStyle::styleWithProperties):
2373         (WebCore::InspectorStyleSheet::create):
2374         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
2375         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2376         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
2377         (WebCore::selectorsFromSource):
2378         (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
2379         (WebCore::InspectorStyleSheet::buildObjectForRule):
2380         (WebCore::InspectorStyleSheet::buildObjectForStyle):
2381         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
2382         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
2383         (WebCore::InspectorStyleSheetForInlineStyle::create):
2384         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
2385         * inspector/InspectorStyleSheet.h:
2386         (WebCore::InspectorCSSId::InspectorCSSId):
2387         (WebCore::InspectorStyleSheet::canBind):
2388         * inspector/InspectorStyleTextEditor.cpp:
2389         * inspector/InspectorTimelineAgent.cpp:
2390         (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
2391         (WebCore::toProtocol):
2392         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2393         (WebCore::InspectorTimelineAgent::setDOMCounters):
2394         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2395         (WebCore::InspectorTimelineAgent::sendEvent):
2396         * inspector/InspectorTimelineAgent.h:
2397         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
2398         * inspector/InspectorWebAgentBase.h: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.h.
2399         (WebCore::InspectorAgentBase::InspectorAgentBase):
2400         * inspector/InspectorWorkerAgent.cpp:
2401         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
2402         (WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
2403         * inspector/InspectorWorkerAgent.h:
2404         * inspector/InstrumentingAgents.cpp:
2405         * inspector/NetworkResourcesData.cpp:
2406         * inspector/PageConsoleAgent.cpp:
2407         (WebCore::InspectableNode::get):
2408         * inspector/PageDebuggerAgent.cpp:
2409         * inspector/PageDebuggerAgent.h:
2410         * inspector/PageRuntimeAgent.cpp:
2411         (WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
2412         * inspector/PageRuntimeAgent.h:
2413         * inspector/ScriptArguments.cpp:
2414         (WebCore::ScriptArguments::create):
2415         (WebCore::ScriptArguments::ScriptArguments):
2416         (WebCore::ScriptArguments::argumentAt):
2417         (WebCore::ScriptArguments::getFirstArgumentAsString):
2418         * inspector/ScriptArguments.h:
2419         * inspector/ScriptCallFrame.cpp:
2420         (WebCore::ScriptCallFrame::buildInspectorObject):
2421         * inspector/ScriptCallFrame.h:
2422         * inspector/ScriptCallStack.cpp:
2423         (WebCore::ScriptCallStack::buildInspectorArray):
2424         * inspector/ScriptCallStack.h:
2425         * inspector/ScriptDebugListener.h:
2426         * inspector/TimelineRecordFactory.cpp:
2427         * inspector/TimelineRecordFactory.h:
2428         (WebCore::TimelineRecordFactory::createWebSocketCreateData):
2429         (WebCore::TimelineRecordFactory::createGenericWebSocketData):
2430         * inspector/WorkerConsoleAgent.cpp:
2431         * inspector/WorkerDebuggerAgent.cpp:
2432         * inspector/WorkerInspectorController.cpp:
2433         * inspector/WorkerInspectorController.h:
2434         * inspector/WorkerRuntimeAgent.cpp:
2435         (WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
2436         * inspector/WorkerRuntimeAgent.h:
2437         * page/Console.cpp:
2438         * page/ContentSecurityPolicy.cpp:
2439         * page/Frame.cpp:
2440         * page/PageConsole.cpp:
2441         * plugins/PluginView.cpp:
2442         (WebCore::PluginView::performRequest):
2443         * testing/Internals.cpp:
2444         (WebCore::Internals::parserMetaData):
2445         * testing/Internals.h:
2446         * workers/SharedWorkerGlobalScope.cpp:
2447         (WebCore::createConnectEvent):
2448         * workers/WorkerGlobalScope.cpp:
2449         (WebCore::WorkerGlobalScope::importScripts):
2450         * workers/WorkerThread.cpp:
2451         * xml/XMLTreeViewer.cpp:
2452         * xml/parser/XMLDocumentParser.cpp:
2453         * xml/parser/XMLDocumentParserLibxml2.cpp:
2454
2455 2013-12-11  Laszlo Vidacs  <lac@inf.u-szeged.hu>
2456
2457         Store SHA1 hash in std::array
2458         https://bugs.webkit.org/show_bug.cgi?id=125446
2459
2460         Reviewed by Darin Adler.
2461
2462         Change Vector to std::array and use typedef.
2463
2464         * Modules/websockets/WebSocketHandshake.cpp:
2465         (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
2466         * inspector/DOMPatchSupport.cpp:
2467         (WebCore::DOMPatchSupport::createDigest):
2468         * platform/network/soup/ResourceHandleSoup.cpp:
2469         (WebCore::HostTLSCertificateSet::computeCertificateHash):
2470
2471 2013-12-11  Alexey Proskuryakov  <ap@apple.com>
2472
2473         WebCrypto keys should support structured clone
2474         https://bugs.webkit.org/show_bug.cgi?id=125590
2475
2476         Reviewed by Oliver Hunt.
2477
2478         Tests: crypto/subtle/aes-postMessage.html
2479                crypto/subtle/hmac-postMessage.html
2480                crypto/subtle/postMessage-worker.html
2481                crypto/subtle/rsa-postMessage.html
2482
2483         * crypto/CryptoAlgorithmIdentifier.h:
2484         (WebCore::CryptoAlgorithmIdentifier):
2485         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
2486         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
2487         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
2488         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
2489         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
2490         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
2491         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
2492         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
2493         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
2494         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
2495         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
2496         AES_KW was added to WebCrypto spec editor's draft yesterday night. Now that we're
2497         adding a matching enum for structired clone serialization, it's as good a time as
2498         any to update the order of values to match.
2499
2500         * bindings/js/SerializedScriptValue.cpp:
2501         (WebCore::countUsages):
2502         (WebCore::CloneSerializer::dumpIfTerminal):
2503         (WebCore::CloneSerializer::write):
2504         (WebCore::CloneDeserializer::read):
2505         (WebCore::CloneDeserializer::readHMACKey):
2506         (WebCore::CloneDeserializer::readAESKey):
2507         (WebCore::CloneDeserializer::readRSAKey):
2508         (WebCore::CloneDeserializer::readCryptoKey):
2509         (WebCore::CloneDeserializer::readTerminal):
2510         Added serialization/deserialization for CryptoKey. This doesn't update version
2511         number, because we don't currently store structured clones in persistent storage -
2512         and even if we did, we wouldn't want to invalidate everything users already stored.
2513
2514         * crypto/CryptoAlgorithmRegistry.cpp:
2515         (WebCore::CryptoAlgorithmRegistry::shared):
2516         (WebCore::registryMutex):
2517         (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
2518         (WebCore::CryptoAlgorithmRegistry::nameForIdentifier):
2519         (WebCore::CryptoAlgorithmRegistry::create):
2520         (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
2521         * crypto/CryptoKey.idl:
2522         With structured clone, it is now possible to send a Key to a web worker. That's
2523         of no practical use because the crypto API is not exposed in workers, but we
2524         shouldn't crash anyway.
2525
2526         * crypto/keys/CryptoKeyAES.cpp:
2527         (WebCore::CryptoKeyAES::CryptoKeyAES):
2528         (WebCore::CryptoKeyAES::isValidAESAlgorithm):
2529         * crypto/keys/CryptoKeyAES.h:
2530         Exposed isValidAESAlgorithm, so that a caller could know whether the constructor
2531         will assert.
2532
2533         * CMakeLists.txt:
2534         * GNUmakefile.am:
2535         * WebCore.vcxproj/WebCore.vcxproj.filters:
2536         * WebCore.vcxproj/WebCoreCommon.props:
2537         Added crypto/keys to search paths to avoid build breakage.
2538
2539 2013-12-11  Bear Travis  <betravis@adobe.com>
2540
2541         Web Inspector: [CSS Shapes] Highlight margin-shape for shape-outside
2542         https://bugs.webkit.org/show_bug.cgi?id=125175
2543
2544         Reviewed by Darin Adler.
2545
2546         In addition to highlighting the shape, also highlight the shape created
2547         by shape-margin with a slightly more transparent color. This patch modifies
2548         the shape info passed to the Inspector Overlay to include a path for both
2549         the raw shape and the shape with margin.
2550
2551         Test: inspector-protocol/model/highlight-shape-outside-margin.html
2552
2553         * inspector/InspectorOverlay.cpp:
2554         (WebCore::buildObjectForShapeOutside): Call Shape::buildDisplayPaths rather than
2555         Shape::buildPath, and pass along any relevant paths to the Inspector overlay.
2556         * inspector/InspectorOverlayPage.js:
2557         (_drawShapeHighlight): Draw the margin shape in addition to the raw shape.
2558         * rendering/shapes/BoxShape.cpp:
2559         (WebCore::addRoundedRect): Add a rounded rect to the path.
2560         (WebCore::BoxShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
2561         * rendering/shapes/BoxShape.h:
2562         * rendering/shapes/PolygonShape.cpp:
2563         (WebCore::addPolygon): Add a set of vertices as a polygon to the path.
2564         (WebCore::PolygonShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
2565         * rendering/shapes/PolygonShape.h:
2566         * rendering/shapes/RasterShape.h:
2567         (WebCore::RasterShape::buildDisplayPaths): Ditto.
2568         * rendering/shapes/RectangleShape.cpp:
2569         (WebCore::RectangleShape::buildDisplayPaths): Ditto.
2570         * rendering/shapes/RectangleShape.h:
2571         * rendering/shapes/Shape.h:
2572
2573 2013-12-11  Mario Sanchez Prada  <mario.prada@samsung.com>
2574
2575         [ATK] Expose accessibility objects WAI-ARIA landmark roles
2576         https://bugs.webkit.org/show_bug.cgi?id=125584
2577
2578         Reviewed by Chris Fleizach.
2579
2580         Exposed accessibility objects with landmark roles with the proper
2581         AtkRole, to be provided by the next stable release of ATK.
2582
2583         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2584         (webkitAccessibleGetAttributes):
2585         (atkRole):
2586
2587 2013-12-11  José Dapena Paz  <jdapena@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>
2588
2589         [GTK] Add a UPower-based BatteryProvider
2590         https://bugs.webkit.org/show_bug.cgi?id=115719
2591
2592         Reviewed by Martin Robinson.
2593
2594         Introduce the BatteryProviderUPower, a provider of the system's battery status that produces the information
2595         using the upower-glib library.
2596
2597         The BatteryProviderUPower creates a new UPower client when the provider should start emitting updates and hooks
2598         up to device alteration signals. These only fire recalculation of the battery status when a battery device is altered.
2599
2600         When recalculating, every battery device is taken into account, accumulating the energy capacities when both empty
2601         and full, the current rate of energy charging/discharging, and the battery status (whether the device is charging or
2602         discharging). This gives a set of data that covers the overall battery status of the system.
2603
2604         This data is then used to calculate the battery status as perceived by the WebCore implementation. Charging is determined
2605         by examining the integral sign of the current combined energy rate. Charging and discharging times are calculated, when
2606         appropriate, by dividing the chargable/dischargable capacity with the current combined energy rate. The battery level is
2607         calculated by dividing the current energy capacity with the full energy capacity (i.e. the combined capacity of all
2608         the batteries that the system possesses). The status is (indirectly) passed onto BatteryManager by invoking the
2609         updateBatteryStatus method on the client, with the first parameter representing the battery charging/discharging state,
2610         the second parameter representing the time left until the battery is fully charged (when charging) or fully
2611         depleted (when discharging), and the third parameter representing the current battery level.
2612
2613         Whenever the implementation cannot provide any information about the battery status of the system, the client's
2614         updateBatteryStatus method is invoked with the first parameter reporting the unavailability of any information
2615         about the battery status. The other two parameters can be omitted as they default to 0 when not given and are neither
2616         available nor useful in such circumstances. The client should handle such an update by reporting the 'default' battery
2617         status - charging, the battery level being at 1.0 and both the charging and discharging time having the value of
2618         the positive infinity (as per the Battery Status API specification).
2619
2620         The implementation is heavily inspired by a similar approach to calculating battery status in GNOME Settings Daemon.
2621
2622         No new tests - no new functionality. The feature is not yet enabled. When enabled, the relevant tests pass.
2623
2624         * GNUmakefile.list.am: Add the BatteryProviderUPower(Client) build targets.
2625         * platform/glib/BatteryProviderUPower.cpp: Added.
2626         (powerDeviceAlterationCallback):
2627         (BatteryProviderUPower::BatteryProviderUPower):
2628         (BatteryProviderUPower::startUpdating):
2629         (BatteryProviderUPower::stopUpdating):
2630         (BatteryProviderUPower::updateBatteryStatus):
2631         * platform/glib/BatteryProviderUPower.h: Added.
2632         (WebCore):
2633         (BatteryProviderUPower):
2634         * platform/glib/BatteryProviderUPowerClient.h: Added.
2635         (WebCore):
2636         (BatteryProviderUPowerClient):
2637
2638 2013-12-11  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2639
2640         Improving createOffer and createAnswer LayoutTests
2641         https://bugs.webkit.org/show_bug.cgi?id=125568
2642
2643         Reviewed by Philippe Normand.
2644
2645         The constraints parameter should be optional in both. Also adding tests to check if we already have a local SDP
2646         when creating an answer.
2647
2648         Existing tests were updated.
2649
2650         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
2651         (WebCore::RTCPeerConnectionHandlerMock::createOffer):
2652
2653 2013-12-11  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
2654
2655         [EFL] Fix build with CONTEXT_MENUS flag set OFF
2656         https://bugs.webkit.org/show_bug.cgi?id=125572
2657
2658         Reviewed by Gyuyoung Kim.
2659
2660         dispatchEventAsContextMenuEvent is called regardless of CONTEXT_MENUS flag setting,
2661         thus its definition in InspectorFrontendHost should not be guarded by this flag.
2662
2663         No new tests, no behaviour change.
2664
2665         * inspector/InspectorFrontendHost.cpp:
2666         (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
2667
2668 2013-12-11  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
2669
2670         [CURL] Build fails after r160386.
2671         https://bugs.webkit.org/show_bug.cgi?id=125571
2672
2673         Reviewed by Zoltan Herczeg.
2674
2675         Need no new tests.
2676
2677         Fix a typo in commit r160386 that prevents building with curl.
2678
2679         * platform/network/curl/CurlCacheEntry.cpp:
2680         (WebCore::CurlCacheEntry::generateBaseFilename):
2681
2682 2013-12-11  Rob Buis  <rob.buis@samsung.com>
2683
2684         [CSS Shapes] Take into account fill-rule for polygon interpolation
2685         https://bugs.webkit.org/show_bug.cgi?id=125508
2686
2687         Reviewed by Dirk Schulze.
2688
2689         Implement the polygon fill-rule part of http://dev.w3.org/csswg/css-shapes/#basic-shape-interpolation.
2690
2691         Adapt fast/shapes/shape-outside-floats/shape-outside-animation.html.
2692
2693         * rendering/style/BasicShapes.cpp:
2694         (WebCore::BasicShape::canBlend):
2695
2696 2013-12-11  Mario Sanchez Prada  <mario.prada@samsung.com>
2697
2698         Programmatically-inserted children lack accessibility events
2699         https://bugs.webkit.org/show_bug.cgi?id=100275
2700
2701         Reviewed by Chris Fleizach.
2702
2703         Test: accessibility/children-changed-sends-notification.html
2704
2705         Emit children-changed::add and children-changed::remove whenever
2706         an object has been added/removed to the accessibility hierarchy,
2707         that is, when a new AtkObject is being attached/detached.
2708
2709         * accessibility/AXObjectCache.h: Added new enumeration to know
2710         when we are detaching a wrapper because of the cache or the
2711         element is being destroyed, so we can use that information.
2712         (WebCore::AXObjectCache::detachWrapper): Added a new parameter and
2713         updated all the prototypes in different ports.
2714         * accessibility/AXObjectCache.cpp:
2715         (WebCore::AXObjectCache::~AXObjectCache): Call detachWrapper()
2716         specifying that we do it because the cache is being destroyed.
2717         (WebCore::AXObjectCache::remove): Call detachWrapper() specifying
2718         that we do it because an accessible element is being destroyed.
2719
2720         * accessibility/atk/AXObjectCacheAtk.cpp:
2721         (WebCore::AXObjectCache::detachWrapper): Emit the children-changed
2722         signal when needed. We rely on the cached reference to the parent
2723         AtkObject (using the implementation of atk_object_get_parent from
2724         the AtkObject class) to find the right object to emit the signal
2725         from here, since the accessibility hierarchy from WebCore will no
2726         longer be accessible at this point.
2727         (WebCore::AXObjectCache::attachWrapper): Emit the children-change
2728         signal from here unless we are in the middle of a layout update,
2729         trying to provide as much information (e.g. the offset) as possible.
2730         (WebCore::AXObjectCache::postPlatformNotification): Make sure we
2731         update (touch) the subtree under an accessibility object whenever
2732         we receive AXChildrenChanded from WebCore, to ensure that those
2733         objects will also be visible rightaway to ATs, and that those get
2734         properly notified of the event at that very same moment.
2735
2736         * accessibility/ios/AXObjectCacheIOS.mm:
2737         (WebCore::AXObjectCache::detachWrapper): Updated function signature.
2738         * accessibility/mac/AXObjectCacheMac.mm:
2739         (WebCore::AXObjectCache::detachWrapper): Ditto.
2740         * accessibility/win/AXObjectCacheWin.cpp:
2741         (WebCore::AXObjectCache::detachWrapper): Ditto.
2742
2743 2013-12-11  Andreas Kling  <akling@apple.com>
2744
2745         REGRESSION(r160389): SVG test assertion extravaganza.
2746
2747         Unreviewed. Use getAttribute() instead of fastGetAttribute() for
2748         the "type" attribute since it's animatable on SVG elements.
2749
2750 2013-12-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2751
2752         Set m_nextBreakablePosition as private in InlineIterator, and use it.
2753         https://bugs.webkit.org/show_bug.cgi?id=125482
2754
2755         Reviewed by Andreas Kling.
2756
2757         InlineIterator has been exported m_nextBreakablePosition as public though it is member variable.
2758         This patch set it as private, and add getter/setter functions for it.
2759
2760         No new tests, no behavior changes.
2761
2762         * rendering/InlineIterator.h:
2763         (WebCore::InlineIterator::InlineIterator):
2764         (WebCore::InlineIterator::nextBreakablePosition):
2765         (WebCore::InlineIterator::setNextBreakablePosition):
2766         * rendering/line/BreakingContextInlineHeaders.h:
2767         (WebCore::BreakingContext::handleText):
2768
2769 2013-12-10  Gurpreet Kaur  <k.gurpreet@samsung.com>
2770
2771         top and bottom black background line not getting displayed
2772         https://bugs.webkit.org/show_bug.cgi?id=21664
2773
2774         Reviewed by Simon Fraser.
2775
2776         The table cell's background was not being displayed. Since the table
2777         cell had no child correct offsetWidth was not being set even if table
2778         width is being defined.
2779
2780         Test: fast/dom/HTMLTableElement/empy-table-cell-with-background-color.html
2781
2782         * rendering/AutoTableLayout.cpp:
2783         (WebCore::AutoTableLayout::recalcColumn):
2784         cellHasContent should also be set to true incase background color is
2785         present.
2786
2787 2013-12-10  Beth Dakin  <bdakin@apple.com>
2788
2789         Horizontal rubber-banding without a horizontal scrollbar is distracting
2790         https://bugs.webkit.org/show_bug.cgi?id=125550
2791
2792         Reviewed by Simon Fraser.
2793
2794         Setting the ScrollElasticity to ScrollElasticityAutomatic will make sure we only 
2795         rubber-band horizontally when there is a horizontal scrollbar.
2796
2797         * page/FrameView.cpp:
2798         (WebCore::FrameView::FrameView):
2799
2800 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
2801
2802         Correct a preprocessor guard from a mis-merged patch
2803
2804         In r160367, I mismerged a patch from Gustavo Noronha. This commit
2805         fixes the merge and thus fixes the CMake build.
2806
2807         * html/HTMLMediaElement.idl: Move the preprocessor guard to the correct property.
2808
2809 2013-12-10  Rob Buis  <rob.buis@samsung.com>
2810
2811         Clean up SVGScriptElement
2812         https://bugs.webkit.org/show_bug.cgi?id=125527
2813
2814         Reviewed by Sam Weinig.
2815
2816         Rewrite to not store type in m_type and also remove type getter/setter.
2817
2818         * svg/SVGScriptElement.cpp:
2819         (WebCore::SVGScriptElement::parseAttribute):
2820         (WebCore::SVGScriptElement::typeAttributeValue):
2821         * svg/SVGScriptElement.h:
2822         * svg/SVGScriptElement.idl:
2823
2824 2013-12-10  Laszlo Vidacs  <lac@inf.u-szeged.hu>
2825
2826         Use std::array when computing MD5 checksum
2827         https://bugs.webkit.org/show_bug.cgi?id=125509
2828
2829         Reviewed by Anders Carlsson.
2830
2831         Use MD5::Digest type and MD5::hashSize when computing MD5 checksum.
2832
2833         * platform/network/curl/CurlCacheEntry.cpp:
2834         (WebCore::CurlCacheEntry::generateBaseFilename):
2835
2836 2013-12-10  Mario Sanchez Prada  <mario.prada@samsung.com>
2837
2838         [ATK] Expose splitter elements with ATK_ROLE_SEPARATOR
2839         https://bugs.webkit.org/show_bug.cgi?id=125522
2840
2841         Reviewed by Chris Fleizach.
2842
2843         Expose objects with SplitterRole role as ATK_ROLE_SEPARATOR.
2844
2845         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2846         (atkRole):
2847
2848 2013-12-10  Mario Sanchez Prada  <mario.prada@samsung.com>
2849
2850         [ATK] Elements with role 'alertdialog' should be ATK_ROLE_ALERT
2851         https://bugs.webkit.org/show_bug.cgi?id=125521
2852
2853         Reviewed by Chris Fleizach.
2854
2855         Stop exposing alert dialogs as ATK_ROLE_DIALOG and do it as
2856         ATK_ROLE_ALERT instead.
2857
2858         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2859         (atkRole):
2860
2861 2013-12-10  Brendan Long  <b.long@cablelabs.com>
2862
2863         [GTK][GStreamer] media/video-preload.html is flakily crashing on WK2
2864         https://bugs.webkit.org/show_bug.cgi?id=125411
2865
2866         Reviewed by Philippe Normand.
2867
2868         No new tests because this fixes flakeyness in existing tests (media/video-preload.html, and various tests in media/track/{audio,in-band,video}).
2869
2870         * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
2871         (webkitTextCombinerPadGetProperty): Copy tag list to prevent concurrent modification problems.
2872         (webkitTextCombinerPadEvent): Add locking.
2873         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2874         (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): Call tagsChanged() because we need it to setup m_tags.
2875         (WebCore::TrackPrivateBaseGStreamer::disconnect): Clear m_tags.
2876         (WebCore::TrackPrivateBaseGStreamer::tagsChanged): Lookup the tags while we're in this callback, because it's the only time we can guarantee that the input-selector won't unref them.
2877         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Use m_tags.
2878         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Add m_tags and a mutex.
2879
2880 2013-12-10  László Langó  <lango@inf.u-szeged.hu>
2881
2882         PageConsole::addMessage should automatically determine column number alongside line number
2883         https://bugs.webkit.org/show_bug.cgi?id=114319
2884
2885         Reviewed by Joseph Pecoraro.
2886
2887         * dom/InlineStyleSheetOwner.cpp:
2888         (WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):
2889         * dom/ScriptElement.cpp:
2890         (WebCore::ScriptElement::ScriptElement):
2891         * dom/ScriptableDocumentParser.h:
2892         * dom/StyledElement.cpp:
2893         (WebCore::StyledElement::styleAttributeChanged):
2894         * html/parser/HTMLDocumentParser.cpp:
2895         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
2896         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
2897         * html/parser/HTMLDocumentParser.h:
2898         * inspector/InspectorResourceAgent.cpp:
2899         (WebCore::InspectorResourceAgent::buildInitiatorObject):
2900         * page/Console.cpp:
2901         (WebCore::internalAddMessage):
2902         * page/PageConsole.cpp:
2903         (WebCore::PageConsole::printSourceURLAndPosition):
2904         (WebCore::PageConsole::addMessage):
2905         * page/PageConsole.h:
2906         * xml/parser/XMLDocumentParser.h:
2907         * xml/parser/XMLDocumentParserLibxml2.cpp:
2908         (WebCore::XMLDocumentParser::error):
2909
2910 2013-12-10  Andreas Kling  <akling@apple.com>
2911
2912         Jettison all StyleResolver data on memory pressure.
2913         <https://webkit.org/b/125498>
2914
2915         The StyleResolver can be rebuilt relatively quickly; we already
2916         have an optimization that discards it some time after last use.
2917
2918         If we find ourseles under serious memory pressure, don't wait for
2919         the timer to kick in, throw everything overboard right away.
2920
2921         ~5MB progression post-pressure on Membuster3.
2922
2923         Reviewed by Anders Carlsson.
2924
2925 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
2926
2927         [GTK] [CMake] Add support for building the DOM bindings
2928         https://bugs.webkit.org/show_bug.cgi?id=116375
2929
2930         Reviewed by Gustavo Noronha Silva.
2931
2932         The CMake build is more complete than the autotools counterpart, so autotools doesn't consider
2933         some supplemental IDL attributes when building the DOM bindings. To prevent API breaks we should
2934         protect these attributes from DOM binding generation.
2935
2936         * Modules/battery/BatteryManager.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
2937         * Modules/battery/NavigatorBattery.idl: Ditto.
2938         * Modules/mediastream/HTMLMediaElementMediaStream.idl: Ditto.
2939         * Modules/networkinfo/NavigatorNetworkInfoConnection.idl: Ditto.
2940         * Modules/networkinfo/NetworkInfoConnection.idl: Ditto.
2941         * PlatformGTK.cmake: Add build steps for building the bindings.
2942         * dom/Document.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
2943         * html/HTMLMediaElement.idl: Ditto.
2944
2945 2013-12-10  Martin Robinson  <mrobinson@igalia.com>
2946
2947         Various fixes for the CMake GTK+ build
2948
2949         Reviewed by Gustavo Noronha.
2950
2951         * PlatformGTK.cmake: Update source list.
2952
2953 2013-12-10  Robert Sipka  <sipka@inf.u-szeged.hu>
2954
2955         [nix][curl] Buildfix after r160310
2956         https://bugs.webkit.org/show_bug.cgi?id=125489
2957
2958         Reviewed by Gustavo Noronha Silva.
2959
2960         Curl doesn't include soup files.
2961
2962         * PlatformNix.cmake:
2963
2964 2013-12-10  Gustavo Noronha Silva  <gns@gnome.org>
2965
2966         [GTK] REGRESSION: www.yahoo.com redirects to the mobile version after UA change
2967         https://bugs.webkit.org/show_bug.cgi?id=125444
2968
2969         Reviewed by Martin Robinson.
2970
2971         * platform/gtk/UserAgentGtk.cpp:
2972         (WebCore::platformVersionForUAString): more correctly pretend we're Mac OS X.
2973         (WebCore::standardUserAgent): ditto.
2974
2975 2013-12-09  Gustavo Noronha Silva  <gns@gnome.org>
2976
2977         [Soup] Send original encoded data size to didReceiveBuffer
2978         https://bugs.webkit.org/show_bug.cgi?id=125410
2979
2980         Reviewed by Martin Robinson.
2981
2982         No tests, the only way to test this seems to be through the inspector UI.
2983
2984         * platform/network/ResourceHandle.h:
2985         * platform/network/ResourceHandleInternal.h:
2986         (WebCore::ResourceHandleInternal::ResourceHandleInternal): data member to track stream
2987         position.
2988         * platform/network/soup/ResourceHandleSoup.cpp:
2989         (WebCore::ResourceHandle::currentStreamPosition): obtains the current stream position by querying
2990         the first seekable input stream we find.
2991         (WebCore::nextMultipartResponsePartCallback): store the position before we start reading a new part.
2992         (WebCore::sendRequestCallback): store the position before we start reading the response body.
2993         (WebCore::readCallback): pass the position delta to didReceiveData.
2994
2995 2013-12-09  Andreas Kling  <akling@apple.com>
2996
2997         Clear out font width measurement caches on memory pressure.
2998         <https://webkit.org/b/125481>
2999
3000         The data kept in WidthCaches can be regenerated on demand. Throwing
3001         it away when we're under memory pressure buys us ~4MB on Membuster3.
3002
3003         Reviewed by Antti Koivisto.
3004
3005 2013-12-09  Seokju Kwon  <seokju@webkit.org>
3006
3007         Web Inspector: Remove enabled() in InspectorRuntimeAgent.
3008         https://bugs.webkit.org/show_bug.cgi?id=125476
3009
3010         Reviewed by Joseph Pecoraro.
3011
3012         Dead code. It's never called anywhere.
3013
3014         No new tests, no behavior change.
3015
3016         * inspector/InspectorRuntimeAgent.h:
3017
3018 2013-12-09  Sam Weinig  <sam@webkit.org>
3019
3020         Replace use of WTF::FixedArray with std::array
3021         https://bugs.webkit.org/show_bug.cgi?id=125475
3022
3023         Reviewed by Anders Carlsson.
3024
3025         * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
3026         * platform/graphics/GlyphMetricsMap.h:
3027
3028 2013-12-09  Benjamin Poulain  <bpoulain@apple.com>
3029
3030         Refactor the CFURLConnectionClient to be the synchronous implementation of an abstract network delegate
3031         https://bugs.webkit.org/show_bug.cgi?id=125379
3032
3033         Reviewed by Alexey Proskuryakov.
3034
3035         * WebCore.vcxproj/WebCore.vcxproj:
3036         * WebCore.vcxproj/WebCore.vcxproj.filters:
3037         * WebCore.xcodeproj/project.pbxproj:
3038         * platform/network/ResourceHandle.h:
3039         * platform/network/ResourceHandleInternal.h:
3040         * platform/network/cf/ResourceHandleCFNet.cpp:
3041         (WebCore::ResourceHandle::createCFURLConnection):
3042         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp: Added.
3043         (WebCore::ResourceHandleCFURLConnectionDelegate::ResourceHandleCFURLConnectionDelegate):
3044         (WebCore::ResourceHandleCFURLConnectionDelegate::~ResourceHandleCFURLConnectionDelegate):
3045         (WebCore::ResourceHandleCFURLConnectionDelegate::willSendRequestCallback):
3046         (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveResponseCallback):
3047         (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataCallback):
3048         (WebCore::ResourceHandleCFURLConnectionDelegate::didFinishLoadingCallback):
3049         (WebCore::ResourceHandleCFURLConnectionDelegate::didFailCallback):
3050         (WebCore::ResourceHandleCFURLConnectionDelegate::willCacheResponseCallback):
3051         (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveChallengeCallback):
3052         (WebCore::ResourceHandleCFURLConnectionDelegate::didSendBodyDataCallback):
3053         (WebCore::ResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
3054         (WebCore::ResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpaceCallback):
3055         (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataArrayCallback):
3056         (WebCore::ResourceHandleCFURLConnectionDelegate::makeConnectionClient):
3057         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h: Added.
3058         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Added.
3059         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::SynchronousResourceHandleCFURLConnectionDelegate):
3060         (WebCore::synthesizeRedirectResponseIfNecessary):
3061         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
3062         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
3063         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveData):
3064         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading):
3065         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFail):
3066         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willCacheResponse):
3067         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveChallenge):
3068         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didSendBodyData):
3069         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
3070         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpace):
3071         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveDataArray):
3072         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: Added.
3073
3074 2013-12-09  Ryosuke Niwa  <rniwa@webkit.org>
3075
3076         REGRESSION(r136280): input[type=image] should assume coords of 0,0 when activated without physically clicking
3077         https://bugs.webkit.org/show_bug.cgi?id=125392
3078
3079         Reviewed by Darin Adler.
3080
3081         Merge https://chromium.googlesource.com/chromium/blink/+/3c33d42207cd209bb171083ba66c225f694f2101
3082
3083         Activating an image button with the keyboard or element.click() should result in selected coords of (0,0) per
3084         http://www.w3.org/TR/2013/CR-html5-20130806/forms.html#image-button-state-(type=image)
3085         "If the user activates the control without explicitly selecting a coordinate, then the coordinate (0,0) must be assumed."
3086
3087         New behavior also matches that of Internet Explorer and Firefox.
3088
3089         Tests: fast/forms/input-image-submit.html
3090
3091         * html/ImageInputType.cpp:
3092         (WebCore::ImageInputType::handleDOMActivateEvent): Set m_clickLocation to (0, 0) for simulated events.
3093
3094 2013-12-09  Jer Noble  <jer.noble@apple.com>
3095
3096         [MSE] Add support for VideoPlaybackMetrics.
3097         https://bugs.webkit.org/show_bug.cgi?id=125380
3098
3099         Reviewed by Eric Carlson.
3100
3101         Test: media/media-source/media-source-video-playback-quality.html
3102
3103         Add a new object type VideoPlaybackQuality to be returned by
3104         HTMLMediaElement.getVideoPlaybackQuality().
3105
3106         HTMLMediaElements must separately track a droppedVideoFrame count, as
3107         certain operations on SourceBuffer will drop incoming frames, which must
3108         be accounted for. Reset this count when the media engine changes, which is
3109         indicitive of a new media load requset starting.
3110
3111         Add the new VideoPlaybackQuality class:
3112         * Modules/mediasource/VideoPlaybackQuality.cpp: Added.
3113         (WebCore::VideoPlaybackQuality::create):
3114         (WebCore::VideoPlaybackQuality::VideoPlaybackQuality):
3115         * Modules/mediasource/VideoPlaybackQuality.h: Added.
3116         (WebCore::VideoPlaybackQuality::creationTime):
3117         (WebCore::VideoPlaybackQuality::totalVideoFrames):
3118         (WebCore::VideoPlaybackQuality::droppedVideoFrames):
3119         (WebCore::VideoPlaybackQuality::corruptedVideoFrames):
3120         (WebCore::VideoPlaybackQuality::totalFrameDelay):
3121         * Modules/mediasource/VideoPlaybackQuality.idl: Added.
3122
3123         Add support for the new class to HTMLMediaElement:
3124         * html/HTMLMediaElement.cpp:
3125         (HTMLMediaElement::shouldUseVideoPluginProxy):
3126         (HTMLMediaElement::getVideoPlaybackQuality):
3127         * html/HTMLMediaElement.h:
3128         * html/HTMLMediaElement.idl:
3129
3130         Report the video quality metrics from the MediaPlayer:
3131         * platform/graphics/MediaPlayer.cpp:
3132         (WebCore::MediaPlayer::totalVideoFrames):
3133         (WebCore::MediaPlayer::droppedVideoFrames):
3134         (WebCore::MediaPlayer::corruptedVideoFrames):
3135         (WebCore::MediaPlayer::totalFrameDelay):
3136         * platform/graphics/MediaPlayer.h:
3137         * platform/graphics/MediaPlayerPrivate.h:
3138         (WebCore::MediaPlayerPrivateInterface::totalVideoFrames):
3139         (WebCore::MediaPlayerPrivateInterface::droppedVideoFrames):
3140         (WebCore::MediaPlayerPrivateInterface::corruptedVideoFrames):
3141         (WebCore::MediaPlayerPrivateInterface::totalFrameDelay):
3142
3143         Correctly report the dropped frame count:
3144         * Modules/mediasource/SourceBuffer.cpp:
3145         (WebCore::SourceBuffer::TrackBuffer::TrackBuffer): needsRandomAccessFlag defaults to true.
3146         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Check the sync status of the incoming sample.
3147         (WebCore::SourceBuffer::didDropSample): Notify the media element of a dropped frame.
3148         * Modules/mediasource/SourceBuffer.h:
3149         * html/HTMLMediaElement.cpp:
3150         (WebCore::HTMLMediaElement::HTMLMediaElement):
3151         (HTMLMediaElement::mediaPlayerEngineUpdated): Reset m_droppedFrameCount.
3152         (HTMLMediaElement::getVideoPlaybackQuality): Return a new VideoPlaybackQuality object.
3153         * html/HTMLMediaElement.h:
3154         (WebCore::HTMLMediaElement::incrementDroppedFrameCount): Simple incrementer.
3155         * platform/MediaSample.h:
3156         (WebCore::MediaSample::isSync): Convenience function.
3157         (WebCore::MediaSample::isNonDisplaying): Ditto.
3158
3159         Add support in the AVFoundation MediaSource Engine:
3160         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
3161         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3162         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalVideoFrames):
3163         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::droppedVideoFrames):
3164         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::corruptedVideoFrames):
3165         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):
3166
3167         Add support in the Mock MediaSource Engine:
3168         * platform/mock/mediasource/MockBox.h:
3169         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
3170         (WebCore::MockMediaPlayerMediaSource::totalVideoFrames): Simple accessor.
3171         (WebCore::MockMediaPlayerMediaSource::droppedVideoFrames): Ditto.
3172         (WebCore::MockMediaPlayerMediaSource::corruptedVideoFrames): Ditto.
3173         (WebCore::MockMediaPlayerMediaSource::totalFrameDelay): Ditto.
3174         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
3175         * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
3176         (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):
3177         * platform/mock/mediasource/MockMediaSourcePrivate.h:
3178         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
3179         (WebCore::MockSourceBufferPrivate::enqueueSample): Increment the frame counts based on
3180             the incoming sample.
3181         * platform/mock/mediasource/MockSourceBufferPrivate.h:
3182
3183         Add the new files to the project:
3184         * bindings/gobject/GNUmakefile.am:
3185         * DerivedSources.make:
3186         * WebCore.xcodeproj/project.pbxproj:
3187         * GNUMakefile.list.am:
3188         * CMakeLists.txt:
3189
3190 2013-12-09  Simon Fraser  <simon.fraser@apple.com>
3191
3192         Avoid divide by zero in scrollbar code, and protect against Obj-C exceptions
3193         https://bugs.webkit.org/show_bug.cgi?id=125469
3194         <rdar://problem/15535772>
3195
3196         Reviewed by Beth Dakin.
3197         
3198         In ScrollbarThemeMac::setPaintCharacteristicsForScrollbar(), proportion could
3199         end up as NaN if scrollbar->totalSize() were zero. Protect against that.
3200         
3201         Also wrap functions that call into Objective-C with BEGIN_BLOCK_OBJC_EXCEPTIONS/
3202         END_BLOCK_OBJC_EXCEPTIONS.
3203
3204         * platform/mac/ScrollbarThemeMac.mm:
3205         (WebCore::ScrollbarThemeMac::scrollbarThickness):
3206         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
3207         (WebCore::ScrollbarThemeMac::minimumThumbLength):
3208         (WebCore::ScrollbarThemeMac::updateEnabledState):
3209         (WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
3210         (WebCore::scrollbarPainterPaint):
3211
3212 2013-12-09  Ryosuke Niwa  <rniwa@webkit.org>
3213
3214         Implement Document.cloneNode()
3215         https://bugs.webkit.org/show_bug.cgi?id=11646
3216
3217         Reviewed by Darin Adler.
3218
3219         Merge https://chromium.googlesource.com/chromium/blink/+/dc7879025e01d63be9fcf6a84ca6c9b8b5768a80
3220
3221         Implement the behavior specified in the current DOM4 working draft:
3222         http://www.w3.org/TR/2013/WD-dom-20131107/#dom-node-clonenode
3223
3224         Tests: fast/dom/Document/clone-node.html
3225                fast/dom/HTMLDocument/clone-node-quirks-mode.html
3226                svg/custom/clone-node.html
3227
3228         * dom/Document.cpp:
3229         (WebCore::Document::cloneNode):
3230         (WebCore::Document::cloneDocumentWithoutChildren):
3231         (WebCore::Document::cloneDataFromDocument):
3232         * dom/Document.h:
3233         * html/HTMLDocument.cpp:
3234         (WebCore::HTMLDocument::cloneDocumentWithoutChildren):
3235         * html/HTMLDocument.h:
3236         * svg/SVGDocument.cpp:
3237         (WebCore::SVGDocument::cloneDocumentWithoutChildren):
3238         * svg/SVGDocument.h:
3239
3240 2013-12-09  Andreas Kling  <akling@apple.com>
3241
3242         REGRESSION(r160260): Memory pressure signal causes web process to hang.
3243         <https://webkit.org/b/125465>
3244
3245         Reviewed by Tim Horton.
3246
3247         This command caused all of my web processes to hang:
3248
3249             notifyutil -p org.WebKit.lowMemory
3250
3251         This only happens when the cache pruning code encounters a resource
3252         using purgeable memory.
3253
3254         * loader/cache/MemoryCache.cpp:
3255         (WebCore::MemoryCache::pruneLiveResourcesToSize):
3256
3257             Grab the next CachedResource pointer before continuing the loop.
3258
3259 2013-12-09  peavo@outlook.com  <peavo@outlook.com>
3260
3261         [WinCairo] OpenGL compile error.
3262         https://bugs.webkit.org/show_bug.cgi?id=125383
3263
3264         Reviewed by Darin Adler.
3265
3266         * platform/graphics/opengl/Extensions3DOpenGLES.h: Define GL_HALF_FLOAT_ARB on Windows when OPENGL_ES_2 is used.
3267
3268 2013-12-09  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
3269
3270         Fix handling of 'inherit' and 'initial' for grid lines.
3271         https://bugs.webkit.org/show_bug.cgi?id=125223
3272
3273         Reviewed by Darin Adler.
3274
3275         'initial' and 'inherit' are always allowed values for CSS properties.
3276         As the CSSParser handles them automatically, those 2 values were never
3277         taken care of in StyleResolver, leading to crashes.
3278
3279         Added tests cases for 'inherit' and 'initial' to the following tests:
3280
3281         fast/css-grid-layout/grid-item-column-row-get-set.html
3282         fast/css-grid-layout/grid-item-end-after-get-set.html
3283         fast/css-grid-layout/grid-item-start-before-get-set.html
3284
3285         Patch backported from Blink: https://src.chromium.org/viewvc/blink?revision=149257&view=revision
3286
3287         * css/StyleResolver.cpp:
3288         (WebCore::StyleResolver::applyProperty):
3289         * rendering/style/RenderStyle.h:
3290         * rendering/style/StyleGridItemData.cpp:
3291         (WebCore::StyleGridItemData::StyleGridItemData):
3292
3293 2013-12-09  Joseph Pecoraro  <pecoraro@apple.com>
3294
3295         Web Inspector: Inspector.json and CodeGenerator tweaks
3296         https://bugs.webkit.org/show_bug.cgi?id=125321
3297
3298         Reviewed by Timothy Hatcher.
3299
3300         * inspector/protocol/Runtime.json:
3301         Runtime.js was depending on Network.FrameId. This is a layering
3302         violation, so ideally we can fix this later. For now, just copy
3303         the FrameId type into Runtime. They are strings so all is good.
3304
3305         * inspector/CodeGeneratorInspector.py:
3306         (Generator.EventMethodStructTemplate.append_epilog):
3307         * inspector/CodeGeneratorInspectorStrings.py:
3308         Improve --help usage information.
3309         Make the script work with a single domain json file.
3310         Add ASCIILiteral's where appropriate.
3311
3312 2013-12-09  Nick Diego Yamane  <nick.yamane@openbossa.org>
3313
3314         [Nix] Fix file name typo in PlatformNix.cmake
3315         https://bugs.webkit.org/show_bug.cgi?id=125457
3316
3317         Reviewed by Gustavo Noronha Silva.
3318
3319         Wrong file name introduced in http://trac.webkit.org/changeset/160310.
3320         * PlatformNix.cmake:
3321
3322 2013-12-09  Brendan Long  <b.long@cablelabs.com>
3323
3324         [GStreamer] Memory leak due to incorrect use of gst_tag_list_merge in TextCombinerGStreamer
3325         https://bugs.webkit.org/show_bug.cgi?id=125452
3326
3327         Reviewed by Philippe Normand.
3328
3329         No new tests because this fixes a memory leak.
3330
3331         * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
3332         (webkitTextCombinerPadEvent): Use gst_tag_list_insert instead of gst_tag_list_merge, since we don't want to create a new list.
3333
3334 2013-12-09  Chris Fleizach  <cfleizach@apple.com>
3335
3336         AX: WebKit ignores @alt on IMG elements with role="text"
3337         https://bugs.webkit.org/show_bug.cgi?id=125363
3338
3339         Reviewed by Mario Sanchez Prada.
3340
3341         If an <img> element has a different role, the alt attribute should still be used in the 
3342         name calculation if present.
3343
3344         Test: accessibility/alt-tag-on-image-with-nonimage-role.html
3345
3346         * accessibility/AccessibilityNodeObject.cpp:
3347         (WebCore::AccessibilityNodeObject::usesAltTagForTextComputation):
3348         (WebCore::AccessibilityNodeObject::alternativeText):
3349         (WebCore::AccessibilityNodeObject::accessibilityDescription):
3350         (WebCore::AccessibilityNodeObject::text):
3351         * accessibility/AccessibilityNodeObject.h:
3352
3353 2013-12-08  Martin Robinson  <mrobinson@igalia.com>
3354
3355         [WK2][Soup] Use didReceiveBuffer instead of didReceiveData
3356         https://bugs.webkit.org/show_bug.cgi?id=118598
3357
3358         Reviewed by Gustavo Noronha Silva.
3359
3360         Original patch by Kwang Yul Seo  <skyul@company100.net> and Csaba Osztrogonác  <ossy@webkit.org>.
3361
3362         Switch from using didReceiveData to didReceiveBuffer for the Soup backend and
3363         let SharedBuffer wrap a SoupBuffer. This is necessary because the NetworkProcess
3364         only supports getting data via SharedBuffer.
3365
3366         * GNUmakefile.list.am: Add the new SharedBufferSoup.cpp file to the list.
3367         * PlatformEfl.cmake:
3368         * PlatformGTK.cmake:
3369         * PlatformNix.cmake:
3370         * platform/SharedBuffer.cpp: We no longer used the no-op version of the platformFoo methods.
3371         * platform/SharedBuffer.h: Ditto.
3372         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:  Use didReceiveBuffer instead of didReceiveData.
3373         * platform/network/ResourceHandleInternal.h: Have only a m_soupBuffer member instead of three to manage the buffer.
3374         * platform/network/soup/GOwnPtrSoup.cpp: Add support for SoupBuffer.
3375         * platform/network/soup/GOwnPtrSoup.h: Ditto.
3376         * platform/network/soup/ResourceHandleSoup.cpp:
3377         (WebCore::WebCoreSynchronousLoader::didReceiveData): ASSERT_NOT_REACHED here, since it should never be
3378         called now.
3379         (WebCore::WebCoreSynchronousLoader::didReceiveBuffer): Handle this call properly.
3380         (WebCore::ResourceHandle::ensureReadBuffer): Now we package up our buffer into a SoupBuffer.
3381         (WebCore::redirectSkipCallback): Use the new m_soupBuffer member.
3382         (WebCore::cleanupSoupRequestOperation): Ditto.
3383         (WebCore::nextMultipartResponsePartCallback): Ditto.
3384         (WebCore::sendRequestCallback): Ditto.
3385         (WebCore::readCallback):
3386         * platform/soup/SharedBufferSoup.cpp: Added.
3387
3388 2013-12-09  Michal Poteralski  <m.poteralski@samsung.com>
3389
3390         DataCloneError exception is not thrown when postMessage's second parameter is the source
3391         port or the target port.
3392
3393         https://bugs.webkit.org/show_bug.cgi?id=124708
3394
3395         Reviewed by Alexey Proskuryakov.
3396
3397         According to specification:
3398         http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#dom-window-postmessage
3399
3400         If the method was invoked with a second argument transfer then if any of the objects in the
3401         transfer are either the source port or the target port (if any), then a DataCloneError
3402         exception should be thrown. Currently an InvalidStateError exception is thrown what is an
3403         incorrect behaviour.
3404
3405         The proposed solution is change to the correct the exception value.
3406
3407         Tests: fast/dom/Window/postMessage-clone-port-error.html
3408
3409         * dom/MessagePort.cpp:
3410         (WebCore::MessagePort::postMessage): Improve exception value
3411
3412 2013-12-09  Carlos Garcia Campos  <cgarcia@igalia.com>
3413
3414         Unreviewed. Fix the GTK+ build with NetworkProcess enabled.
3415
3416         * GNUmakefile.list.am: Add missing file to compilation.
3417
3418 2013-12-08  Ryosuke Niwa  <rniwa@webkit.org>
3419
3420         getComputedStyle border-radius shorthand omits vertical radius information
3421         https://bugs.webkit.org/show_bug.cgi?id=125394
3422
3423         Reviewed by Andreas Kling.
3424
3425         Merge https://chromium.googlesource.com/chromium/blink/+/4c2866855dddbb28bb7d978ad627acc368af23d0
3426
3427         getComputedStyle of border-radius shows the vertical radius components if they differ from their horizontal counterpants.
3428         We were incorrectly detecting this case and over simplifying the results of getComputedStyle.
3429         This patch ensures we only hide the vertical values if they are identical to the horizontal values.
3430
3431         * css/CSSComputedStyleDeclaration.cpp:
3432         (WebCore::getBorderRadiusShorthandValue):
3433
3434 2013-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
3435
3436         [GTK] Do not skip attributes with only custom setter
3437         https://bugs.webkit.org/show_bug.cgi?id=125417
3438
3439         Reviewed by Gustavo Noronha Silva.
3440
3441         For attributes with a custom setter, we now generate the code as a
3442         read-only attribute with a getter method, unless it also has a
3443         custom getter in which case the attribute is skipped.
3444
3445         * bindings/gobject/GNUmakefile.am: Generate WebKitDOMMediaController
3446         that is now required by an attribute having a custom setter.
3447         * bindings/gobject/WebKitDOMCustom.cpp: Remove methods that are now generated.
3448         * bindings/gobject/WebKitDOMCustom.h: Ditto.
3449         * bindings/gobject/WebKitDOMCustom.symbols: Ditto.
3450         * bindings/gobject/webkitdom.symbols: Add new symbols.
3451         * bindings/scripts/CodeGeneratorGObject.pm:
3452         (SkipAttribute): Do not skip attributes having a custom setter.
3453         (GetWriteableProperties): Do not include attributes having a
3454         custom setter.
3455         (GenerateProperty): Do not return early for attributes having
3456         custom setter.
3457         (GenerateFunctions): Do not generate setter for attributes having
3458         a custom setter.
3459
3460 2013-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
3461
3462         [GTK] Do not generate new dispatch_event methods marked as deprecated
3463         https://bugs.webkit.org/show_bug.cgi?id=125416
3464
3465         Reviewed by Gustavo Noronha Silva.
3466
3467         * bindings/scripts/CodeGeneratorGObject.pm:
3468         (SkipFunction): Skip dispatch_event methods for objects
3469         implementing EventTarget interface unless they are already
3470         deprecated.
3471         (GenerateFunction): Pass also the parentNode to SkipFunction().
3472
3473 2013-12-05  Jer Noble  <jer.noble@apple.com>
3474
3475         [MSE] Bring end-of-stream algorithm section up to current spec.
3476         https://bugs.webkit.org/show_bug.cgi?id=125270
3477
3478         Reviewed by Darin Adler.
3479
3480         Test: media/media-source/media-source-end-of-stream.html
3481
3482         Separate the "endOfStream()" method from the "end of stream algorithm".
3483
3484         * Modules/mediasource/MediaSource.cpp:
3485         (WebCore::SourceBufferIsUpdating): Added predicate function.
3486         (WebCore::MediaSource::endOfStream): Call streamEndedWithError().
3487         (WebCore::MediaSource::streamEndedWithError): Added.
3488         * Modules/mediasource/MediaSource.h:
3489         * Modules/mediasource/SourceBuffer.cpp:
3490         (WebCore::SourceBuffer::appendBufferTimerFired): Call streamEndedWithError().
3491         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
3492         * Modules/mediasource/SourceBuffer.h:
3493         * html/HTMLMediaElement.cpp:
3494         (HTMLMediaElement::mediaLoadingFailedFatally): Renamed from mediaEngineError.
3495         (HTMLMediaElement::mediaLoadingFailed): Call renamed method.
3496         * html/HTMLMediaElement.h:
3497         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
3498         (WebCore::MediaSourcePrivateAVFObjC::markEndOfStream): Set load state to Loaded.
3499         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
3500         (WebCore::MockMediaPlayerMediaSource::setNetworkState): Simple setter.
3501         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
3502         * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
3503         (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate): Set the intitial duration to NaN.
3504         (WebCore::MockMediaSourcePrivate::markEndOfStream): Set load state to Loaded.
3505
3506 2013-12-04  Jer Noble  <jer.noble@apple.com>
3507
3508         [MSE][Mac] Crash when removing MediaSource from HTMLMediaElement.
3509         https://bugs.webkit.org/show_bug.cgi?id=125269
3510
3511         Reviewed by Sam Weinig.
3512
3513         Fixes the media/media-source/media-source-fastseek.html test when run with MallocScribble enabled.
3514
3515         It's possible for a SourceBufferPrivateAVFObjC to outlive its MediaSourcePrivateAVFObjC, so
3516         make sure to clear the pointer from the former to the latter when the latter is destroyed.
3517         That means we now have to check to see if the pointer to the latter is still valid at every
3518         call site.
3519
3520         As a drive-by fix, rename m_parent to m_mediaSource to more accurately reflect what the pointer
3521         points to.
3522
3523         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
3524         (WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC): Clear the SourceBuffer's backpointer.
3525         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
3526         (WebCore::SourceBufferPrivateAVFObjC::clearMediaSource): 
3527         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3528         (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): Rename m_parent -> m_mediaSource.
3529         (WebCore::SourceBufferPrivateAVFObjC::append): Check m_mediaSource before calling.
3530         (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Ditto.
3531         (WebCore::SourceBufferPrivateAVFObjC::readyState): Ditto.
3532         (WebCore::SourceBufferPrivateAVFObjC::setReadyState): Ditto.
3533         (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled): Ditto.
3534         (WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples): Ditto.
3535         (WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.
3536         (WebCore::SourceBufferPrivateAVFObjC::setActive): Ditto.
3537         * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
3538         (WebCore::MockMediaSourcePrivate::~MockMediaSourcePrivate): Clear the SourceBuffer's backpointer.
3539         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
3540         (WebCore::MockSourceBufferPrivate::MockSourceBufferPrivate): Rename m_parent -> m_mediaSource.
3541         (WebCore::MockSourceBufferPrivate::removedFromMediaSource): Check m_mediaSource before calling.
3542         (WebCore::MockSourceBufferPrivate::readyState): Ditto.
3543         (WebCore::MockSourceBufferPrivate::setReadyState): Ditto.
3544         (WebCore::MockSourceBufferPrivate::setActive): Ditto.
3545         * platform/mock/mediasource/MockSourceBufferPrivate.h:
3546         (WebCore::MockSourceBufferPrivate::clearMediaSource):
3547
3548 2013-12-07  Zoltan Horvath  <zoltan@webkit.org>
3549
3550         Remove statusWithDirection static function from RenderBlockLineLayout
3551         https://bugs.webkit.org/show_bug.cgi?id=125372
3552
3553         Reviewed by Andreas Kling.
3554
3555         I run into a FIXME about using BidiStatus constructor rather than statusWithDirection,
3556         once it's implemented. BidiStatus has got the appropriate constructor now, so I removed
3557         statusWithDirection and updated the code to use the constructor of BidiStatus.
3558
3559         No new tests, no behavior change.
3560
3561         * rendering/RenderBlockLineLayout.cpp:
3562         (WebCore::constructBidiRunsForSegment):
3563
3564 2013-12-07  ChangSeok Oh  <changseok.oh@collabora.com>
3565
3566         Unreviewed. Build fix for gtk port after r160260.
3567
3568         * loader/cache/CachedImage.h: Add missing a header.
3569
3570 2013-12-07  Gustavo Noronha Silva  <gns@gnome.org>
3571
3572         ubuntu software center hits _XReadEvents() error
3573         https://bugs.webkit.org/show_bug.cgi?id=123480
3574
3575         Reviewed by Martin Robinson.
3576
3577         * platform/gtk/WidgetBackingStoreGtkX11.cpp:
3578         (WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11): clear the surface
3579         before freeing the associated pixmap.
3580
3581 2013-12-06  Tim Horton  <timothy_horton@apple.com>
3582
3583         [mac] Keep around more decoded image data, since it's purgeable
3584         https://bugs.webkit.org/show_bug.cgi?id=125273
3585         <rdar://problem/13205438>
3586
3587         Unreviewed patch to fix review comments...
3588
3589         * platform/graphics/BitmapImage.h:
3590         Dan noticed that these return statements were improperly indented.
3591
3592 2013-12-05  Jer Noble  <jer.noble@apple.com>
3593
3594         [MSE][Mac] Disable AVFoundation when enabling the MockMediaPlayerMediaSource.
3595         https://bugs.webkit.org/show_bug.cgi?id=125338
3596
3597         Reviewed by Darin Adler.
3598
3599         The MediaSource API has some assumptions which break if more than one installed
3600         media engine supports MediaSources at the same time. So when enabling the mock
3601         media source engine in DRT or WKTR, disable AVFoundation so that only the mock
3602         engine will support media source loading.
3603
3604         * testing/Internals.cpp:
3605         (WebCore::Internals::initializeMockMediaSource):
3606
3607 2013-12-06  Antti Koivisto  <antti@apple.com>
3608
3609         Use NeverDestroyed instead of DEFINE_STATIC_LOCAL
3610
3611         Reviewed by Anders Carlsson.
3612
3613         * rendering/RenderText.cpp:
3614         (WebCore::originalTextMap):
3615
3616 2013-12-05  Jer Noble  <jer.noble@apple.com>
3617
3618         [MSE] Add a runtime-setting for the MediaSource constructor.
3619         https://bugs.webkit.org/show_bug.cgi?id=125336
3620
3621         Reviewed by Eric Carlson.
3622
3623         Add a Setting to enable the MediaSource constructor.
3624
3625         * Modules/mediasource/MediaSource.idl:
3626         * page/Settings.in:
3627
3628 2013-12-06  Tim Horton  <timothy_horton@apple.com>
3629
3630         [mac] Keep around more decoded image data, since it's purgeable
3631         https://bugs.webkit.org/show_bug.cgi?id=125273
3632         <rdar://problem/13205438>
3633
3634         Reviewed by Simon Fraser.
3635
3636         No new tests, just an optimization.
3637
3638         Instead of throwing away decoded image data eagerly, allow the operating
3639         system to manage the memory via the standard purgeability mechanism,
3640         where it can.
3641
3642         This improves the performance on some pathological cases (extremely large
3643         animated GIFs) by up to 8x.
3644
3645         * loader/cache/MemoryCache.cpp:
3646         (WebCore::MemoryCache::pruneLiveResourcesToSize):
3647         Don't prune live resources' decoded data if it is purgeable.
3648
3649         * platform/graphics/BitmapImage.cpp:
3650         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
3651         Don't eagerly throw away decoded image data if it's purgeable.
3652
3653         * loader/cache/CachedImage.h:
3654         * loader/cache/CachedResource.h:
3655         (WebCore::CachedResource::decodedDataIsPurgeable):
3656         * platform/graphics/BitmapImage.h:
3657         * platform/graphics/Image.h:
3658         (WebCore::Image::decodedDataIsPurgeable):
3659
3660 2013-12-06  Antti Koivisto  <antti@apple.com>
3661
3662         Save original text for RenderText to a map
3663         https://bugs.webkit.org/show_bug.cgi?id=125278
3664
3665         Reviewed by Darin Adler.
3666         
3667         Currently the original text is fetched from the Text node. This is one of the few things 
3668         where we use the RenderText node pointer and is stopping Text nodes from being anonymous.
3669         
3670         It is very rare of original text to differ from the actual text so we can just squirrel the
3671         original to a map when it differs. This is also simplifies the code.
3672
3673         * rendering/RenderQuote.cpp:
3674         (WebCore::RenderQuote::styleDidChange):
3675         (WebCore::RenderQuote::updateDepth):
3676         * rendering/RenderText.cpp:
3677         (WebCore::originalTextMap):
3678         (WebCore::RenderText::RenderText):
3679         (WebCore::RenderText::~RenderText):
3680         (WebCore::RenderText::styleDidChange):
3681         (WebCore::RenderText::originalText):
3682         (WebCore::RenderText::setTextInternal):
3683         (WebCore::RenderText::setText):
3684         * rendering/RenderText.h:
3685         * rendering/RenderTextFragment.cpp:
3686         * rendering/RenderTextFragment.h:
3687
3688 2013-12-04  Jer Noble  <jer.noble@apple.com>
3689
3690         [MSE] Refactor MediaSourceBase back into MediaSource
3691         https://bugs.webkit.org/show_bug.cgi?id=125245
3692
3693         Reviewed by Eric Carlson.
3694
3695         Now that the legacy WebKitMediaSource has been removed, there is no reason to have
3696         a separate MediaSource and MediaSourceBase. Re-integrate the two.
3697
3698         Copy all the methods from MediaSource into MediaSourceBase, and rename the class MediaSource:
3699         * Modules/mediasource/MediaSource.cpp: Copied from MediaSourceBase.cpp.
3700         (WebCore::MediaSource::create): Copied from MediaSource.cpp.
3701         (WebCore::MediaSource::addSourceBuffer): Ditto.
3702         (WebCore::MediaSource::removeSourceBuffer): Ditto.
3703         (WebCore::MediaSource::isTypeSupported): Ditto.
3704         (WebCore::MediaSource::eventTargetInterface): Ditto.
3705         (WebCore::MediaSource::sourceBufferDidChangeAcitveState): Ditto.
3706         * Modules/mediasource/MediaSource.h: Copied from MediaSourceBase.h.
3707         (WebCore::MediaSource::sourceBuffers): Copied from MediaSource.h.
3708         (WebCore::MediaSource::activeSourceBuffers): Copied from MediaSource.h.
3709         * Modules/mediasource/MediaSourceBase.cpp: Removed.
3710         * Modules/mediasource/MediaSourceBase.h: Removed.
3711
3712         Change all references to MediaSourceBase into MediaSource:
3713         * Modules/mediasource/DOMURLMediaSource.cpp:
3714         (WebCore::DOMURLMediaSource::createObjectURL):
3715         * Modules/mediasource/DOMURLMediaSource.h:
3716         * Modules/mediasource/MediaSourceRegistry.cpp:
3717         (WebCore::MediaSourceRegistry::registerURL):
3718         (WebCore::MediaSourceRegistry::unregisterURL):
3719         * Modules/mediasource/MediaSourceRegistry.h:
3720
3721         Remove MediaSourceBase.cpp/h from the project file:
3722         * WebCore.xcodeproj/project.pbxproj:
3723         * GNUmakefile.list.am:
3724
3725 2013-12-06  Eric Carlson  <eric.carlson@apple.com>
3726
3727         r159827 broke plug-in snapshotting
3728         https://bugs.webkit.org/show_bug.cgi?id=125365
3729
3730         Reviewed by Dean Jackson.
3731
3732         No new tests, covered by existing tests.
3733
3734         * html/HTMLPlugInImageElement.cpp:
3735         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Return early if there is NOT
3736             a page, not if there IS a page.
3737
3738 2013-12-06  Roger Fong <roger_fong@apple.com> and Brent Fulgham  <bfulgham@apple.com>
3739
3740         [Win] Support compiling with VS2013
3741         https://bugs.webkit.org/show_bug.cgi?id=125353
3742
3743         Reviewed by Anders Carlsson.
3744
3745         * loader/archive/cf/LegacyWebArchive.cpp:
3746         (WebCore::LegacyWebArchive::create): Use nullptr
3747         (WebCore::LegacyWebArchive::createFromSelection): Ditto
3748
3749 2013-11-15  Jer Noble  <jer.noble@apple.com>
3750
3751         [MSE][Mac] Add a new MSE-compatible MediaPlayerPrivate implementation, MediaPlayerPrivateMediaSourceAVFObjC
3752         https://bugs.webkit.org/show_bug.cgi?id=123378
3753
3754         Reviewed by Eric Carlson.
3755
3756         Add an AVFoundation implementation of MediaPlayerPrivate which creates and uses
3757         MediaSourcePrivate and SourceBufferPrivate subclasses.
3758
3759         Add the new media engine to the list of installed engines:
3760         * platform/MediaSample.h:
3761         * platform/graphics/MediaPlayer.cpp:
3762         (WebCore::installedMediaEngines):
3763         * platform/graphics/MediaPlayer.h:
3764
3765         Add the new files to the project:
3766         * WebCore.xcodeproj/project.pbxproj:
3767
3768         Drive by fix for ports who implement seekDouble():
3769         * platform/graphics/MediaPlayerPrivate.h:
3770         (WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
3771
3772         Add new Video and AudioTrackPrivate types which handle their own enable state:
3773         * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp: Added
3774         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::AudioTrackPrivateMediaSourceAVFObjC):
3775         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
3776         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::setAssetTrack):
3777         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::assetTrack):
3778         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::setEnabled):
3779         * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h: Added
3780         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.cpp: Added.
3781         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::VideoTrackPrivateMediaSourceAVFObjC):
3782         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
3783         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::setAssetTrack):
3784         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::assetTrack):
3785         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::setSelected):
3786         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h: Added.
3787
3788         Add a new MediaPlayerPrivate which can handle MediaSource objects:
3789         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: Added.
3790         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: Added.
3791         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
3792         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):
3793         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):
3794         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::create):
3795         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable):
3796         (WebCore::mimeTypeCache):
3797         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::getSupportedTypes):
3798         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType):
3799         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
3800         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cancelLoad):
3801         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareToPlay):
3802         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformMedia):
3803         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
3804         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play):
3805         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
3806         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause):
3807         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal):
3808         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused):
3809         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsScanning):
3810         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize):
3811         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasVideo):
3812         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAudio):
3813         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVisible):
3814         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble):
3815         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble):
3816         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble):
3817         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
3818         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
3819         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
3820         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seeking):
3821         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble):
3822         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::networkState):
3823         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::readyState):
3824         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
3825         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble):
3826         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable):
3827         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):
3828         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::didLoadingProgress):
3829         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setSize):
3830         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paint):
3831         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):
3832         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAvailableVideoFrame):
3833         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsAcceleratedRendering):
3834         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
3835         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::movieLoadType):
3836         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareForRendering):
3837         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::engineDescription):
3838         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::languageOfPrimaryAudioTrack):
3839         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::extraMemoryCost):
3840         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
3841         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::destroyLayer):
3842         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateDuration):
3843         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateStates):
3844         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState):
3845         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setNetworkState):
3846         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
3847         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):
3848
3849         Add a new MediaSourcePrivate implementation:
3850         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h: Added.
3851         (WebCore::MediaSourcePrivateAVFObjC::player):
3852         (WebCore::MediaSourcePrivateAVFObjC::activeSourceBuffers):
3853         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: Added.
3854         (WebCore::MediaSourcePrivateAVFObjC::create):
3855         (WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC):
3856         (WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC):
3857         (WebCore::MediaSourcePrivateAVFObjC::addSourceBuffer):
3858         (WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer):
3859         (WebCore::MediaSourcePrivateAVFObjC::duration):
3860         (WebCore::MediaSourcePrivateAVFObjC::setDuration):
3861         (WebCore::MediaSourcePrivateAVFObjC::markEndOfStream):
3862         (WebCore::MediaSourcePrivateAVFObjC::unmarkEndOfStream):
3863         (WebCore::MediaSourcePrivateAVFObjC::readyState):
3864         (WebCore::MediaSourcePrivateAVFObjC::setReadyState):
3865         (WebCore::MediaSourcePrivateAVFObjC::sourceBufferPrivateDidChangeActiveState):
3866         (WebCore::MediaSourcePrivateAVFObjCHasAudio):
3867         (WebCore::MediaSourcePrivateAVFObjC::hasAudio):
3868         (WebCore::MediaSourcePrivateAVFObjCHasVideo):
3869         (WebCore::MediaSourcePrivateAVFObjC::hasVideo):
3870         (WebCore::MediaSourcePrivateAVFObjC::seekToTime):
3871
3872         Add a new SourceBufferPrivate implementation:
3873         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: Added.
3874         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Added.
3875         (-[WebAVStreamDataParserListener initWithParser:parent:WebCore::]):
3876         (-[WebAVStreamDataParserListener dealloc]):
3877         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]):
3878         (-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]):
3879         (-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]):
3880         (-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]):
3881         (WebCore::MediaSampleAVFObjC::create):
3882         (WebCore::MediaSampleAVFObjC::~MediaSampleAVFObjC):
3883         (WebCore::MediaSampleAVFObjC::MediaSampleAVFObjC):
3884         (WebCore::MediaSampleAVFObjC::platformSample):
3885         (WebCore::CMSampleBufferIsRandomAccess):
3886         (WebCore::MediaSampleAVFObjC::flags):
3887         (WebCore::MediaDescriptionAVFObjC::create):
3888         (WebCore::MediaDescriptionAVFObjC::~MediaDescriptionAVFObjC):
3889         (WebCore::MediaDescriptionAVFObjC::MediaDescriptionAVFObjC):
3890         (WebCore::SourceBufferPrivateAVFObjC::create):
3891         (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
3892         (WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
3893         (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
3894         (WebCore::SourceBufferPrivateAVFObjC::didFailToParseStreamDataWithError):
3895         (WebCore::callProcessCodedFrameForEachSample):
3896         (WebCore::SourceBufferPrivateAVFObjC::didProvideMediaDataForTrackID):
3897         (WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
3898         (WebCore::SourceBufferPrivateAVFObjC::didReachEndOfTrackWithTrackID):
3899         (WebCore::SourceBufferPrivateAVFObjC::setClient):
3900         (WebCore::SourceBufferPrivateAVFObjC::append):
3901         (WebCore::SourceBufferPrivateAVFObjC::abort):
3902         (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource):
3903         (WebCore::SourceBufferPrivateAVFObjC::readyState):
3904         (WebCore::SourceBufferPrivateAVFObjC::setReadyState):
3905         (WebCore::SourceBufferPrivateAVFObjC::evictCodedFrames):
3906         (WebCore::SourceBufferPrivateAVFObjC::isFull):
3907         (WebCore::SourceBufferPrivateAVFObjC::hasVideo):
3908         (WebCore::SourceBufferPrivateAVFObjC::hasAudio):
3909         (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
3910         (WebCore::createNonDisplayingCopy):
3911         (WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples):
3912         (WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
3913         (WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples):
3914         (WebCore::SourceBufferPrivateAVFObjC::setActive):
3915         (WebCore::SourceBufferPrivateAVFObjC::fastSeekTimeForMediaTime):
3916         (WebCore::SourceBufferPrivateAVFObjC::seekToTime):
3917         * platform/mac/PlatformClockCM.h:
3918
3919         Add a SOFT_LINK_CLASS_OPTIONAL macro:
3920         * platform/mac/SoftLinking.h:
3921
3922 2013-12-06  Alexey Proskuryakov  <ap@apple.com>
3923
3924         Remove some duplicate checks from SerializedScriptValue
3925         https://bugs.webkit.org/show_bug.cgi?id=125358
3926
3927         Reviewed by Geoffrey Garen.
3928
3929         There is no need to call inherits() before WebCore's toXXX(JSValue) functions.
3930
3931         Also, the result of toArrayBuffer() is a raw pointer, not a RefPtr (it's confusing
3932         because toArrayBufferView returns a RefPtr).
3933
3934         * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::dumpIfTerminal):
3935
3936 2013-12-06  Tim Horton  <timothy_horton@apple.com>
3937
3938         Remove Image::decodedSize()
3939         https://bugs.webkit.org/show_bug.cgi?id=125327
3940
3941         Reviewed by Simon Fraser.
3942
3943         Missed a comment when removing this code.
3944
3945         * svg/graphics/SVGImage.h:
3946
3947 2013-12-06  Rob Buis  <rob.buis@samsung.com>
3948
3949         [CSS Shapes] ShapeOutsideInfo needs to use the parent's writing mode when calculating offsets
3950         https://bugs.webkit.org/show_bug.cgi?id=124680
3951
3952         Reviewed by Dirk Schulze.
3953
3954         Do not take the writing-mode property on the float into account for shape-outside.
3955         Add a virtual method writingMode() in order to do this for shape-outside but
3956         keep old behavior (element writingMode) for shape-inside.
3957
3958         Change existing test floats/shape-outside-floats-different-writing-modes.html to test the
3959         new behavior.
3960
3961         * rendering/shapes/ShapeInfo.cpp:
3962         (WebCore::::computedShape):
3963         * rendering/shapes/ShapeInfo.h:
3964         (WebCore::ShapeInfo::writingMode):
3965         * rendering/shapes/ShapeOutsideInfo.cpp:
3966         (WebCore::ShapeOutsideInfo::writingMode):
3967         * rendering/shapes/ShapeOutsideInfo.h:
3968
3969 2013-12-06  Joseph Pecoraro  <pecoraro@apple.com>
3970
3971         Web Inspector: Remove Staging Workaround
3972         https://bugs.webkit.org/show_bug.cgi?id=125354
3973
3974         Reviewed by Timothy Hatcher.
3975
3976         * inspector/CodeGeneratorInspector.py:
3977
3978 2013-12-06  Joseph Pecoraro  <pecoraro@apple.com>
3979
3980         Simplify ScriptFunctionCall by removing dead code.
3981         https://bugs.webkit.org/show_bug.cgi?id=125274
3982
3983         Reviewed by Timothy Hatcher.
3984
3985         * bindings/js/ScriptFunctionCall.cpp:
3986         (WebCore::ScriptFunctionCall::call):
3987         * bindings/js/ScriptFunctionCall.h:
3988
3989 2013-12-06  Daniel Bates  <dabates@apple.com>
3990
3991         [iOS] Upstream WebCore/rendering changes
3992         https://bugs.webkit.org/show_bug.cgi?id=125239
3993
3994         Reviewed by Simon Fraser.
3995
3996         * WebCore.xcodeproj/project.pbxproj:
3997         * rendering/InlineBox.cpp:
3998         (WebCore::InlineBox::previousOnLineExists): Added.
3999         * rendering/InlineBox.h:
4000         * rendering/InlineTextBox.cpp: