[Shadow DOM] Implement HTMLShadowElement::olderShadowRoot
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-12-12  Shinya Kawanaka  <shinyak@chromium.org>
2
3         [Shadow DOM] Implement HTMLShadowElement::olderShadowRoot
4         https://bugs.webkit.org/show_bug.cgi?id=104218
5
6         Reviewed by Hajime Morita.
7
8         Implements HTMLShadowElement::olderShadowRoot, which returns the ShadowRoot the HTMLShadowElement is assigned to.
9         When such ShadowRoot does not exist, 0 is returned.
10
11         Test: fast/dom/shadow/olderShadowRoot-in-shadowelement.html
12
13         * dom/ElementShadow.cpp:
14         (WebCore::ElementShadow::ensureDistributionFromDocument): Ensures distribution of this ElementShadow and
15         all of the parent TreeScope distribution. This function will be shared for Bug 104345.
16         (WebCore):
17         * dom/ElementShadow.h:
18         (ElementShadow):
19         * html/shadow/HTMLShadowElement.cpp:
20         (WebCore::HTMLShadowElement::olderShadowRoot):
21         (WebCore):
22         * html/shadow/HTMLShadowElement.h:
23         * html/shadow/HTMLShadowElement.idl:
24
25 2012-12-12  No'am Rosenthal  <noam@webkit.org>
26
27         [Texmap] Consolidate redundant code for ARB_RECT texture
28         https://bugs.webkit.org/show_bug.cgi?id=104705
29
30         Reviewed by Kenneth Rohde Christiansen.
31
32         Instead of having a whole different function for RECT textures,
33         keep the existing functions and pass a flag that tells
34         TextureMapperGL to use the non-normalized coordinates and the
35         RECT shaders.
36
37         No new tests, refactor only. Tested to not break WebGL on
38         Qt-Mac.
39
40         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
41         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
42         * platform/graphics/texmap/TextureMapperGL.cpp:
43         (WebCore::TextureMapperGL::drawQuad):
44             Compensate for rect textures in drawQuad.
45
46         (WebCore::TextureMapperGL::drawBorder):
47         (WebCore::TextureMapperGL::drawTexture):
48         (WebCore::TextureMapperGL::drawSolidColor):
49         (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
50         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
51             Pass flags to TextureMapperGL::drawQuad instead of a bool.
52
53         * platform/graphics/texmap/TextureMapperGL.h:
54         (TextureMapperGL):
55         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
56         (WebCore::getShaderSpec):
57         * platform/graphics/texmap/TextureMapperShaderManager.h:
58         (TextureMapperShaderProgram):
59             Compensate for the texture-size in the vertex
60             shader instead of in the fragment shader.
61
62 2012-12-11  Hayato Ito  <hayato@chromium.org>
63
64         REGRESSION(r137408): breaks chromium's browser tests which use WebKitShadowRoot (Requested by hayato on #webkit).
65         https://bugs.webkit.org/show_bug.cgi?id=104770
66
67         Unreviewed, build fix.
68
69         * dom/ShadowRoot.idl:
70         * page/DOMWindow.idl:
71
72 2012-12-11  Sheriff Bot  <webkit.review.bot@gmail.com>
73
74         Unreviewed, rolling out r137333, r137344, r137364, and
75         r137377.
76         http://trac.webkit.org/changeset/137333
77         http://trac.webkit.org/changeset/137344
78         http://trac.webkit.org/changeset/137364
79         http://trac.webkit.org/changeset/137377
80         https://bugs.webkit.org/show_bug.cgi?id=104771
81
82         Caused a raft of browser_test failures in Chromium (Requested
83         by aklein on #webkit).
84
85         * loader/DocumentLoader.cpp:
86         (WebCore::DocumentLoader::setRequest):
87         (WebCore::DocumentLoader::subresource):
88         (WebCore::DocumentLoader::addSubresourceLoader):
89         (WebCore::DocumentLoader::removeSubresourceLoader):
90         (WebCore::DocumentLoader::startLoadingMainResource):
91         * loader/MainResourceLoader.cpp:
92         (WebCore::MainResourceLoader::MainResourceLoader):
93         (WebCore::MainResourceLoader::~MainResourceLoader):
94         (WebCore::MainResourceLoader::receivedError):
95         (WebCore::MainResourceLoader::willCancel):
96         (WebCore::MainResourceLoader::didCancel):
97         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
98         (WebCore::MainResourceLoader::addData):
99         (WebCore::MainResourceLoader::willSendRequest):
100         (WebCore::MainResourceLoader::continueAfterContentPolicy):
101         (WebCore::MainResourceLoader::didReceiveResponse):
102         (WebCore::MainResourceLoader::didReceiveData):
103         (WebCore::MainResourceLoader::didFinishLoading):
104         (WebCore::MainResourceLoader::didFail):
105         (WebCore::MainResourceLoader::reportMemoryUsage):
106         (WebCore::MainResourceLoader::handleSubstituteDataLoadNow):
107         (WebCore::MainResourceLoader::loadNow):
108         (WebCore):
109         (WebCore::MainResourceLoader::load):
110         (WebCore::MainResourceLoader::setDefersLoading):
111         * loader/MainResourceLoader.h:
112         (MainResourceLoader):
113         * loader/ResourceLoader.cpp:
114         (WebCore::ResourceLoader::willSendRequest):
115         * loader/ResourceLoader.h:
116         (ResourceLoader):
117         (WebCore::ResourceLoader::defersLoading):
118         * loader/SubresourceLoader.cpp:
119         (WebCore::SubresourceLoader::willSendRequest):
120         * loader/appcache/ApplicationCacheHost.cpp:
121         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
122         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
123         * loader/cache/CachedRawResource.cpp:
124         (WebCore::CachedRawResource::willSendRequest):
125         * loader/cache/CachedResourceLoader.cpp:
126         (WebCore::CachedResourceLoader::loadDone):
127         * loader/mac/DocumentLoaderMac.cpp:
128         (WebCore::DocumentLoader::schedule):
129         (WebCore::DocumentLoader::unschedule):
130
131 2012-12-11  Kentaro Hara  <haraken@chromium.org>
132
133         Unreviewed, rolling out r137398.
134         http://trac.webkit.org/changeset/137398
135         https://bugs.webkit.org/show_bug.cgi?id=104188
136
137         A bunch of webaudio tests hit ASSERTs
138
139         * CMakeLists.txt:
140         * DerivedSources.make:
141         * DerivedSources.pri:
142         * GNUmakefile.list.am:
143         * Modules/webaudio/AudioContext.cpp:
144         (WebCore::AudioContext::createOfflineContext):
145         (WebCore):
146         * Modules/webaudio/AudioContext.h:
147         (AudioContext):
148         * Modules/webaudio/DOMWindowWebAudio.idl:
149         * Modules/webaudio/OfflineAudioContext.cpp: Removed.
150         * Modules/webaudio/OfflineAudioContext.h: Removed.
151         * Modules/webaudio/OfflineAudioContext.idl: Removed.
152         * WebCore.gypi:
153         * WebCore.xcodeproj/project.pbxproj:
154         * bindings/generic/RuntimeEnabledFeatures.h:
155         * bindings/js/JSAudioContextCustom.cpp:
156         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
157         * bindings/v8/custom/V8AudioContextCustom.cpp:
158         (WebCore::V8AudioContext::constructorCallbackCustom):
159
160 2012-12-11  Shinya Kawanaka  <shinyak@chromium.org>
161
162         [Shadow DOM] registering InsertionPoints to ShadowRoot should work out of a document.
163         https://bugs.webkit.org/show_bug.cgi?id=104346
164
165         Reviewed by Hajime Morita.
166
167         We need to register InsertionPoints even if ShadowRoot is out of Document, since distribution should work
168         out of Document, too.
169
170         Instead of checking isInDocument(), we have to make sure InsertionPoint and an element which InsertionPoint
171         inserted into have the same treescope.
172
173         Tests: fast/dom/shadow/has-content-elements.html
174                fast/dom/shadow/has-shadow-insertion-point.html
175
176         * html/shadow/InsertionPoint.cpp:
177         (WebCore::InsertionPoint::insertedInto):
178         (WebCore::InsertionPoint::removedFrom):
179
180 2012-12-11  Takashi Sakamoto  <tasak@google.com>
181
182         Text nodes in shadow roots don't inherit style properly
183         https://bugs.webkit.org/show_bug.cgi?id=101116
184
185         Reviewed by Hajime Morita.
186
187         Use NodeRenderingContext to resolve styles of text nodes.
188         If text nodes are direct children of shadow roots, the text nodes
189         should be inherited styles from their shadow hosts.
190         But if reset-style-inheritance flag is true, the text nodes should
191         not be inherited. And if text nodes are distributed nodes,
192         we have to check whether their insertion point's
193         reset-style-inheritance.
194         c.f. shadow dom spec is:
195         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles
196
197         Test: fast/dom/shadow/text-node-in-shadow.html
198
199         * css/StyleResolver.cpp:
200         (WebCore::StyleResolver::styleForElement):
201         Modified to use defaultStyleForElement if the given element has
202         no parent style.
203         (WebCore::StyleResolver::initForStyleResolve):
204         Removed shouldResetStyleInheritance, because now NodeRenderingContext
205         resetStyleInheritance() takes care of reset-style-inheritance of
206         both shadow roots and insertion points.
207         (WebCore::StyleResolver::defaultStyleForElement):
208         Added to create a default style for elements.
209         (WebCore):
210         (WebCore::StyleResolver::styleForText):
211         Use NodeRenderingContext to find the parent node for style from the
212         given text node. If no parent node is found or reset-style-inheritance
213         is true, returns a default style (i.e. empty render style).
214         Otherwise, just returns the found node's style.
215         * css/StyleResolver.h:
216         (StyleResolver):
217         * dom/ComposedShadowTreeWalker.cpp:
218         (WebCore::ComposedShadowTreeWalker::ParentTraversalDetails::didTraverseInsertionPoint):
219         Modify to consider insertion point's resetStyleInheritance.
220         * dom/NodeRenderingContext.cpp:
221         (WebCore::NodeRenderingContext::createRendererForTextIfNeeded):
222         Since NodeRenderingContext has already found a parent node for
223         rendering and style and a parentRenderer is just the found node's
224         renderer, we have to only check reset-style-inheritance.
225         If reset, use default style. Otherwise, the parentRenderer's style.
226         * dom/Text.cpp:
227         (WebCore::Text::recalcTextStyle):
228         Use styleForText instead of parentRenderer's styles if the given text
229         node is a direct child of a shadow root or a direct child of a shadow
230         host.
231
232 2012-12-11  Takashi Sakamoto  <tasak@google.com>
233
234         Hide HOST_RULE behind SHADOW_DOM flag.
235         https://bugs.webkit.org/show_bug.cgi?id=102321
236
237         Reviewed by Dimitri Glazkov.
238
239         @host @-rules are only available when the rules are declared in styles
240         in shadow dom trees. So if SHADOW_DOM is disabled, we don't need
241         @host @-rules.
242
243         No new tests. Just hide HOST_RULE behind SHADOW_DOM flag.
244
245         * css/StyleResolver.h:
246         Hide "class ShadowRuleHost".
247         * css/StyleRule.cpp:
248         (WebCore::StyleRuleBase::reportMemoryUsage):
249         (WebCore::StyleRuleBase::destroy):
250         (WebCore::StyleRuleBase::copy):
251         (WebCore::StyleRuleBase::createCSSOMWrapper):
252         * css/StyleRule.h:
253         (StyleRuleBase):
254         Hide "Host" type and isHostRule.
255         (StyleRuleHost):
256         Hide "class StyleRuleHost".
257         * css/StyleSheetContents.cpp:
258         (WebCore::childRulesHaveFailedOrCanceledSubresources):
259
260 2012-12-11  Dominic Mazzoni  <dmazzoni@google.com>
261
262         AX: accessibilityIsIgnored should avoid computing textUnderElement
263         https://bugs.webkit.org/show_bug.cgi?id=104688
264
265         Reviewed by Chris Fleizach.
266
267         Simplify the logic in accessibilityIsIgnored without affecting
268         the results of any tests. In particular, avoid expensive calls to
269         textUnderElement.
270
271         Covered by existing tests.
272
273         * accessibility/AccessibilityNodeObject.cpp:
274         (WebCore::AccessibilityNodeObject::isGenericFocusableElement):
275         * accessibility/AccessibilityRenderObject.cpp:
276         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
277
278 2012-12-11  Kentaro Hara  <haraken@chromium.org>
279
280         [V8] Reachable event listeners on image elements can be collected in a minor DOM GC
281         https://bugs.webkit.org/show_bug.cgi?id=104734
282
283         Reviewed by Kenneth Russell.
284
285         A major DOM GC treats image elements specially. In
286         V8GCController::opaqueRootForGC(), a major DOM GC puts image elements
287         that have pending activities into the same object group of their document.
288         This guarantees that image elements that have pending activities
289         are not garbage collected in the major DOM GC.
290
291         This patch adds the same special handling to a minor DOM GC to guarantee
292         the same thing in the minor DOM GC too.
293
294         In long-term, we might want to remove the special handling by making
295         image elements active DOM nodes.
296
297         Test: Manually confirmed that all characters in
298         http://alteredqualia.com/three/examples/webgl_animation_skinning_tf2.html
299         are rendered correctly.
300
301         * bindings/v8/V8GCController.cpp:
302         (WebCore::V8GCController::opaqueRootForGC):
303         (WebCore::gcTree):
304
305 2012-12-11  Dominic Mazzoni  <dmazzoni@google.com>
306
307         AX: Make isActionSupported cross-platform.
308         https://bugs.webkit.org/show_bug.cgi?id=104681
309
310         Reviewed by Chris Fleizach.
311
312         Add UserGestureIndicator to increment() and decrement()
313         so that all accessibility actions are treated as
314         user actions, not scripted actions.
315
316         * accessibility/AccessibilityNodeObject.cpp:
317         (WebCore::AccessibilityNodeObject::increment):
318         (WebCore::AccessibilityNodeObject::decrement):
319
320 2012-12-11  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
321
322         Remove conversion to/from float and float division from ImageFrame::setRGBA
323         https://bugs.webkit.org/show_bug.cgi?id=103693
324
325         Reviewed by Brent Fulgham.
326
327         Replace floating point operations used for alpha premultiply with fixed point arithmetic
328         which is basically integer operations. Allows to shave extra couple percent from decoding
329         images with transparency.
330
331         Covered by existing tests.
332
333         * platform/image-decoders/ImageDecoder.h:
334         (ImageFrame):
335         (WebCore::ImageFrame::fixPointUnsignedMultiply):
336         (WebCore::ImageFrame::setRGBA):
337
338 2012-12-11  Kihong Kwon  <kihong.kwon@samsung.com>
339
340         Vibration API: IDL type doesn't match implementation type
341         https://bugs.webkit.org/show_bug.cgi?id=103899
342
343         Reviewed by Kentaro Hara.
344
345         According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform.
346         Therefore unsigned long need to be changed to unsigned for the Vibration API.
347         - Change a parameter type of vibrate function from unsigned long to unsigned.
348
349         No new tests, it is covered by exist test.
350
351         * Modules/vibration/NavigatorVibration.cpp:
352         (WebCore::NavigatorVibration::vibrate):
353         * Modules/vibration/NavigatorVibration.h:
354         (NavigatorVibration):
355         * Modules/vibration/Vibration.cpp:
356         (WebCore::Vibration::vibrate):
357         * Modules/vibration/Vibration.h:
358         (Vibration):
359         * Modules/vibration/VibrationClient.h:
360         (VibrationClient):
361         * bindings/js/JSDOMBinding.h:
362         * bindings/scripts/CodeGeneratorJS.pm:
363         Remove workaround codes for the Vibration API which is mapped from unsigned long to unsigned long.
364         It should be mapped from unsigned long to unsigned by WebIDL spec.
365         (GetNativeVectorInnerType):
366         * bindings/scripts/test/JS/JSTestObj.cpp:
367         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
368         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
369
370 2012-12-11  Xinazhu Wang  <wangxianzhu@chromium.org>
371
372         ScrollingCoordinator::hasVisibleSlowRepaintFixedObject() should exclude out-of-view fixed position elements
373         https://bugs.webkit.org/show_bug.cgi?id=102543
374
375         Let RenderLayerCompositor manage the reasons that fixed position elements are not composited.
376         Check the reason in ScrollingCoordinator::hasVisibleSlowRepaintFixedObjects(), don't let fixed position layer not composited with explicit reasons cause slow scrolling.
377
378         Reviewed by James Robinson.
379
380         Test: compositing/layer-creation/fixed-position-out-of-view-scroll-reason.html
381
382         * page/scrolling/ScrollingCoordinator.cpp:
383         (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintFixedObjects): Exclude fixed position elements that are not composited for explicit reasons.
384         * rendering/RenderLayerCompositor.cpp:
385         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Manages m_fixedPositionLayerNotCompositedReasonMap.
386         (WebCore::RenderLayerCompositor::needsToBeComposited):
387         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
388         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
389         * rendering/RenderLayerCompositor.h:
390         (WebCore::RenderLayerCompositor::fixedPositionLayerNotCompositedReason): Now outputs fixedPositionLayerNotCompositedreason.
391         (RenderLayerCompositor):
392
393 2012-12-11  Hayato Ito  <hayato@chromium.org>
394
395         [Shadow DOM] Kill ShadowRoot constructor
396         https://bugs.webkit.org/show_bug.cgi?id=102913
397
398         Reviewed by Dimitri Glazkov.
399
400         Remove ShadowRoot constructor in favor of Element.webkitCreateShadowRoot().
401
402         No new tests. Update existing tests.
403
404         * dom/ShadowRoot.idl:
405         * page/DOMWindow.idl:
406         * testing/Internals.cpp:
407         (WebCore::Internals::createShadowRoot):
408         (WebCore):
409         * testing/Internals.h:
410         (Internals):
411         * testing/Internals.idl:
412
413 2012-12-11  Antti Koivisto  <antti@apple.com>
414
415         Add Element-specific traversal functions
416         https://bugs.webkit.org/show_bug.cgi?id=104685
417
418         Reviewed by Ryosuke Niwa.
419
420         In many cases where we use NodeTraversal we really only want Elements. By having
421         Element specific iteration functions we can tighten the code and make it faster too.
422
423         This patch adds ElementTraversal namespace, similar to NodeTraversal. It also switches
424         bunch of NodeTraversal call sites that obviously only care about elements to using
425         the new interface.
426         
427         This should be a speedup too as we avoid number of branches by not having to look
428         for children of non-ContainerNodes and by allowing use of ContainerNode specific
429         accessors.
430
431         * accessibility/AccessibilityRenderObject.cpp:
432         (WebCore::AccessibilityRenderObject::addImageMapChildren):
433         * css/SelectorChecker.cpp:
434         (WebCore::linkAttribute):
435         (WebCore::SelectorChecker::allVisitedStateChanged):
436         (WebCore::SelectorChecker::visitedStateChanged):
437         * css/StyleInvalidationAnalysis.cpp:
438         (WebCore::elementMatchesSelectorScopes):
439         (WebCore::StyleInvalidationAnalysis::invalidateStyle):
440         * dom/ContainerNodeAlgorithms.h:
441         (WebCore::ChildFrameDisconnector::collectDescendant):
442         * dom/Document.cpp:
443         (WebCore::Document::buildAccessKeyMap):
444         (WebCore::Document::updateBaseURL):
445         (WebCore::Document::processBaseElement):
446         * dom/DocumentOrderedMap.cpp:
447         (WebCore::DocumentOrderedMap::get):
448         * dom/Element.cpp:
449         (WebCore::Element::firstElementChild):
450         * dom/Element.h:
451         (WebCore):
452         * dom/ElementShadow.cpp:
453         (WebCore::ElementShadow::collectSelectFeatureSetFrom):
454         * dom/NodeTraversal.h:
455         (ElementTraversal):
456         (WebCore):
457         (WebCore::ElementTraversal::traverseNextElementTemplate):
458         (WebCore::ElementTraversal::next):
459         (WebCore::ElementTraversal::firstWithin):
460         (WebCore::ElementTraversal::traverseNextElementSkippingChildrenTemplate):
461         (WebCore::ElementTraversal::nextSkippingChildren):
462         (NodeTraversal):
463         * dom/TreeScope.cpp:
464         (WebCore::TreeScope::labelElementForId):
465         (WebCore::TreeScope::findAnchor):
466         * editing/CompositeEditCommand.cpp:
467         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
468         * editing/DeleteSelectionCommand.cpp:
469         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
470         * editing/FrameSelection.cpp:
471         (WebCore::scanForForm):
472         * editing/markup.cpp:
473         (WebCore::completeURLs):
474         * html/HTMLFieldSetElement.cpp:
475         (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder):
476         (WebCore::HTMLFieldSetElement::childrenChanged):
477         (WebCore::HTMLFieldSetElement::legend):
478         (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
479         * html/HTMLFormElement.cpp:
480         (WebCore::HTMLFormElement::formElementIndex):
481         * html/HTMLLabelElement.cpp:
482         (WebCore::HTMLLabelElement::control):
483         * html/HTMLLegendElement.cpp:
484         (WebCore::HTMLLegendElement::associatedControl):
485         * html/HTMLMapElement.cpp:
486         (WebCore::HTMLMapElement::mapMouseEvent):
487         * html/HTMLNameCollection.cpp:
488         (WebCore::HTMLNameCollection::virtualItemAfter):
489         * html/HTMLObjectElement.cpp:
490         (WebCore::HTMLObjectElement::containsJavaApplet):
491         * html/HTMLSelectElement.cpp:
492         (WebCore::HTMLSelectElement::recalcListItems):
493         * html/shadow/ContentDistributor.cpp:
494         (WebCore::ShadowRootContentDistributionData::ensureInsertionPointList):
495         * page/FocusController.cpp:
496         (WebCore::FocusController::findFocusCandidateInContainer):
497         * rendering/RenderCounter.cpp:
498         (WebCore::nextInPreOrder):
499         * svg/SVGSVGElement.cpp:
500         (WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
501         * svg/SVGStyledElement.cpp:
502         (WebCore::SVGStyledElement::title):
503         * svg/SVGUseElement.cpp:
504         (WebCore::removeDisallowedElementsFromSubtree):
505         * svg/animation/SMILTimeContainer.cpp:
506         (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
507
508 2012-12-11  KyungTae Kim  <ktf.kim@samsung.com>
509
510         [soup] Unused parameter in ResourceHandleSoup.cpp
511         https://bugs.webkit.org/show_bug.cgi?id=104728
512
513         Reviewed by Kentaro Hara.
514
515         The soupLogPrinter has unused parameter 'logger', 
516         remove the parameter name to fix 'unused parameter' build warning.
517
518         * platform/network/soup/ResourceHandleSoup.cpp:
519         (WebCore::soupLogPrinter):
520
521 2012-12-11  Xianzhu Wang  <wangxianzhu@chromium.org>
522
523         Fixed position out-of-view check is incorrect when page is scaled
524         https://bugs.webkit.org/show_bug.cgi?id=104303
525
526         Reviewed by Kenneth Rohde Christiansen.
527
528         Test: compositing/layer-creation/fixed-position-out-of-view-scaled.html
529               compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html
530
531         * rendering/RenderLayerCompositor.cpp:
532         (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Scale the content rect of the fixed position layer before checking out-of-view.
533
534 2012-12-11  Chris Rogers  <crogers@google.com>
535
536         Implement OfflineAudioContext constructor
537         https://bugs.webkit.org/show_bug.cgi?id=104188
538
539         Reviewed by Kentaro Hara.
540
541         The Web Audio layout tests have relied on an undocumented way (in the specification) to render
542         audio faster than realtime using an OfflineAudioContext.  We want to expose a proper OfflineAudioContext
543         object and constructor instead of piggybacking off of the normal AudioContext.
544             
545         * CMakeLists.txt:
546         * DerivedSources.make:
547         * DerivedSources.pri:
548         * GNUmakefile.list.am:
549         * Modules/webaudio/AudioContext.cpp:
550         (WebCore::AudioContext::isSampleRateRangeGood):
551         * Modules/webaudio/AudioContext.h:
552         (AudioContext):
553         * Modules/webaudio/DOMWindowWebAudio.idl:
554         * Modules/webaudio/OfflineAudioContext.cpp: Added.
555         (WebCore):
556         (WebCore::OfflineAudioContext::create):
557         (WebCore::OfflineAudioContext::OfflineAudioContext):
558         (WebCore::OfflineAudioContext::~OfflineAudioContext):
559         * Modules/webaudio/OfflineAudioContext.h: Added.
560         (WebCore):
561         (OfflineAudioContext):
562         * Modules/webaudio/OfflineAudioContext.idl: Added.
563         * WebCore.gypi:
564         * WebCore.xcodeproj/project.pbxproj:
565         * bindings/generic/RuntimeEnabledFeatures.h:
566         (WebCore::RuntimeEnabledFeatures::webkitOfflineAudioContextEnabled):
567         * bindings/js/JSAudioContextCustom.cpp:
568         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
569         * bindings/v8/custom/V8AudioContextCustom.cpp:
570         (WebCore::V8AudioContext::constructorCallbackCustom):
571
572 2012-12-11  Jun Jiang  <jun.a.jiang@intel.com>
573
574         WebGL: Avoid unnecessary memory copy or conversion in texImage2D and texSubImage2D for HTMLVideoElement
575         https://bugs.webkit.org/show_bug.cgi?id=102161
576
577         Reviewed by Kenneth Russell.
578
579         There are several memory copy or conversions in the texImage2D and texSubImage2D for HTMLVideoElement which may be avoided. This patch removes the redundant BackingStore copy if the corresponding Graphics port supports the DontCopyBackingStore behavior. Moreover, it optimizes the AlphaOp if the Image source is from HTMLVideoElement to avoid unnecessary Unmultiply or Premultiply operation in unpack/pack. 
580
581         Already covered by current tests. 
582
583         * html/canvas/WebGLRenderingContext.cpp:
584         (WebCore):
585         (WebCore::WebGLRenderingContext::texImage2DImpl):
586         (WebCore::WebGLRenderingContext::texImage2D):
587         (WebCore::WebGLRenderingContext::videoFrameToImage): add a parameter to choose BackingStore copy behavior.
588         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
589         (WebCore::WebGLRenderingContext::texSubImage2D):
590         * html/canvas/WebGLRenderingContext.h:
591         (WebGLRenderingContext):
592         * platform/graphics/GraphicsContext3D.cpp:
593         (WebCore::GraphicsContext3D::ImageExtractor::ImageExtractor):
594         * platform/graphics/GraphicsContext3D.h:
595         (ImageExtractor):
596         (WebCore::GraphicsContext3D::ImageExtractor::imageSourceUnpackAlignment):
597         (WebCore::GraphicsContext3D::ImageExtractor::imageHtmlDomSource):
598         * platform/graphics/ImageBuffer.h:
599         (ImageBuffer):
600         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
601         (WebCore::GraphicsContext3D::ImageExtractor::extractImage): optimize the AlphaOp for HTMLVideoElement input.
602         * platform/graphics/cairo/ImageBufferCairo.cpp:
603         (WebCore::ImageBuffer::fastCopyImageMode):
604         (WebCore):
605         * platform/graphics/cg/ImageBufferCG.cpp:
606         (WebCore::ImageBuffer::fastCopyImageMode):
607         (WebCore):
608         * platform/graphics/qt/ImageBufferQt.cpp:
609         (WebCore::ImageBuffer::fastCopyImageMode):
610         (WebCore):
611         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
612         (WebCore::GraphicsContext3D::ImageExtractor::extractImage): optimize the AlphaOp for HTMLVideoElement input.
613         * platform/graphics/skia/ImageBufferSkia.cpp:
614         (WebCore::ImageBuffer::fastCopyImageMode):
615         (WebCore):
616         * platform/graphics/wince/ImageBufferWinCE.cpp:
617         (WebCore::ImageBuffer::fastCopyImageMode):
618         (WebCore):
619         * platform/graphics/wx/ImageBufferWx.cpp:
620         (WebCore::ImageBuffer::fastCopyImageMode):
621         (WebCore):
622
623 2012-12-11  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
624
625         [EFL] Missing implementation of GraphicsContext3DPrivate::platformLayerSize()
626         https://bugs.webkit.org/show_bug.cgi?id=104726
627
628         Reviewed by Kenneth Rohde Christiansen.
629
630         Add common implementation of GraphicsContext3DPrivate::platformLayerSize() similar
631         to Qt version. There is nothing platform specific in Qt version. 
632
633         Covered by existing tests.
634
635         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
636         (GraphicsContext3DPrivate::platformLayerSize):
637         * platform/graphics/efl/GraphicsContext3DPrivate.h:
638         (GraphicsContext3DPrivate):
639
640 2012-12-11  No'am Rosenthal  <noam@webkit.org>
641
642         [Texmap] Slightly improve readability of the antialias shader
643         https://bugs.webkit.org/show_bug.cgi?id=104708
644
645         Reviewed by Martin Robinson.
646
647         Modify the antialiasing shader to include separate function that perform
648         discrete operations, rather than one big function that repeats the same
649         operations.
650
651         No new tests, readability fix.
652
653         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
654         (WebCore::getShaderSpec):
655
656 2012-12-11  Tim Horton  <timothy_horton@apple.com>
657
658         -webkit-svg-shadow radius changes don't cause children's boundaries to be recomputed
659         https://bugs.webkit.org/show_bug.cgi?id=104722
660         <rdar://problem/12821080>
661
662         Reviewed by Simon Fraser.
663
664         Changes to -webkit-svg-shadow currently cause a relayout of the directly affected renderer
665         and its parents, but not its children. However, children have the shadow radius
666         baked into their cached boundaries, so these need to be invalidated.
667
668         Test: svg/repaint/repaint-webkit-svg-shadow-container.html
669
670         * rendering/RenderObject.h: Expose needsBoundariesUpdate().
671         * rendering/svg/RenderSVGContainer.h: Expose needsBoundariesUpdate().
672         * rendering/svg/RenderSVGImage.h: Expose needsBoundariesUpdate().
673         * rendering/svg/RenderSVGRoot.h: Expose needsBoundariesUpdate().
674         * rendering/svg/RenderSVGShape.h: Expose needsBoundariesUpdate().
675         * rendering/svg/SVGRenderSupport.cpp:
676         (WebCore::SVGRenderSupport::layoutChildren): If the renderer has a shadow and
677         is in needs of a boundaries update, mark children as needing boundaries updates too.
678
679 2012-12-11  Xianzhu Wang  <wangxianzhu@chromium.org>
680
681         Add window.internals.mainThreadScrollReasonsAsText for testing slow scrolling
682         https://bugs.webkit.org/show_bug.cgi?id=104714
683
684         Reviewed by Eric Seidel.
685
686         No new tests. Adds test api for bug 102543 and other bugs.
687
688         * WebCore.exp.in:
689         * page/Page.cpp:
690         (WebCore::ScrollingCoordinator::mainThreadScrollingReasonsAsText): Extracted from ScrollingStateScrollingNode::dumpProperties for layout tests.
691         (WebCore):
692         * page/Page.h:
693         (Page):
694         * page/scrolling/ScrollingCoordinator.cpp:
695         (WebCore::ScrollingCoordinator::mainThreadScrollingReasonsAsText):
696         (WebCore):
697         * page/scrolling/ScrollingCoordinator.h:
698         (ScrollingCoordinator):
699         * page/scrolling/ScrollingStateScrollingNode.cpp:
700         (WebCore::ScrollingStateScrollingNode::dumpProperties): Moved code for mainThreadScrollingReasons to ScrollingCoordinator.cpp.
701         * testing/Internals.cpp:
702         (WebCore::Internals::mainThreadScrollingReasons):
703         (WebCore):
704         * testing/Internals.h:
705         * testing/Internals.idl:
706
707 2012-12-11  Simon Fraser  <simon.fraser@apple.com>
708
709         Enhance the TileCache to cache more tiles
710         https://bugs.webkit.org/show_bug.cgi?id=104612
711
712         Reviewed by Tim Horton.
713
714         Add smarts to the TileCache so that it keeps some tiles around
715         for longer and can prepopulate tiles in to-be-scrolled-to regions.
716
717         The new tile management is as follows:
718         * As before, we expand the visible rect to create a "tile coverage rect"
719         which is twice the width, and three times the height of the visible rect.
720         * At the edges, this coverage rect is constrained by them, rather than being
721         truncated as before (leading to larger initial tile coverage).
722         * When tiles leave the coverage rect, we keep them around but track
723         them in cohorts (where a cohort is a set of tiles that left the coverage rect
724         at the same time).
725         * If a repaint comes in for a "secondary" tile, we don't paint it, but mark
726         the tile as being stale. It will get repainted (in full) if it moves back inside
727         the coverage rect.
728         * Cohorts are kept around for 2 seconds after they were created. A repeating
729         1-second timer clears tiles in old cohorts.
730         * Secondary tiles are pruned if the visible rect changes, or if zooming happens.
731         * TiledBacking exposes a way to prepopulate a rect with tiles; this is called
732         when scrolling (e.g. via Home/End keys). Tiles created this way (if outside
733         the coverage rect) go into a cohort.
734
735         * page/FrameView.cpp:
736         (WebCore::FrameView::requestScrollPositionUpdate): Tell the TiledBacking
737         to prepopulate some tiles.
738         * platform/graphics/TiledBacking.h:
739         (TiledBacking): Add prepopulateRect().
740         * platform/graphics/ca/mac/TileCache.h:
741         (TileInfo): The TileMap contains TileInfos, which contain a pointer
742         to the layer, their cohort, and a 'stale content' flag.
743         (WebCore::TileCache::TileInfo::TileInfo):
744         (TileCache):
745         (TileCohortInfo):
746         (WebCore::TileCache::TileCohortInfo::TileCohortInfo):
747         * platform/graphics/ca/mac/TileCache.mm:
748         (WebCore::TileCache::TileCache):
749         (WebCore::TileCache::~TileCache):
750         (WebCore::TileCache::setNeedsDisplay):
751         (WebCore::TileCache::setNeedsDisplayInRect):
752         (WebCore::TileCache::setTileNeedsDisplayInRect):
753         (WebCore::TileCache::setScale):
754         (WebCore::TileCache::setAcceleratesDrawing):
755         (WebCore::TileCache::setTilesOpaque):
756         (WebCore::TileCache::prepopulateRect):
757         (WebCore::TileCache::setTileDebugBorderWidth):
758         (WebCore::TileCache::setTileDebugBorderColor):
759         (WebCore::TileCache::computeTileCoverageRect):
760         (WebCore::TileCache::tileSizeForCoverageRect):
761         (WebCore::TileCache::tileRevalidationTimerFired):
762         (WebCore::TileCache::blankPixelCount):
763         (WebCore::queueTileForRemoval):
764         (WebCore::TileCache::removeAllTiles):
765         (WebCore::TileCache::removeAllSecondaryTiles):
766         (WebCore::TileCache::removeTilesInCohort):
767         (WebCore::TileCache::revalidateTiles):
768         (WebCore::TileCache::nextTileCohort):
769         (WebCore::TileCache::startedNewCohort):
770         (WebCore::TileCache::newestTileCohort):
771         (WebCore::TileCache::oldestTileCohort):
772         (WebCore::TileCache::scheduleCohortRemoval):
773         (WebCore::TileCache::cohortRemovalTimerFired):
774         (WebCore::TileCache::ensureTilesForRect):
775         (WebCore::TileCache::tileGridExtent):
776         (WebCore::TileCache::tileCoverageRect):
777         (WebCore::TileCache::tileLayerAtIndex):
778         (WebCore::TileCache::drawTileMapContents):
779
780 2012-12-11  Simon Fraser  <simon.fraser@apple.com>
781
782         Remove redundant AffineTransform in RenderSVGShape::fillAndStrokeShape()
783         https://bugs.webkit.org/show_bug.cgi?id=104736
784
785         Reviewed by Dean Jackson.
786
787         RenderSVGShape::fillAndStrokeShape() allocated a AffineTransform on
788         the stack which was shadowed by another one in narrower scope. It
789         can be removed.
790
791         * rendering/svg/RenderSVGShape.cpp:
792         (WebCore::RenderSVGShape::fillAndStrokeShape):
793
794 2012-12-11  Seokju Kwon  <seokju.kwon@gmail.com>
795
796         [EFL] Remove unused headers
797         https://bugs.webkit.org/show_bug.cgi?id=104661
798
799         Reviewed by Ryosuke Niwa.
800
801         Header inclusion cleanup.
802         Remove "NotImplemented.h".
803
804         No new tests, no behavior change.
805
806         * platform/efl/CursorEfl.cpp:
807         * platform/efl/FileSystemEfl.cpp:
808         * platform/efl/ScrollViewEfl.cpp:
809         * platform/efl/ScrollbarThemeEfl.cpp:
810         * platform/efl/SoundEfl.cpp:
811
812 2012-12-11  Alec Flett  <alecflett@chromium.org>
813
814         IndexedDB: Stub out data operations on IDBDatabaseBackendInterface
815         https://bugs.webkit.org/show_bug.cgi?id=104592
816
817         Reviewed by Dimitri Glazkov.
818
819         In preparation for removing objectStore/index backend
820         interfaces, stub out the basic data operations around
821         get, put, cursors, etc. on IDBDatabaseBackendInterface.
822
823         No new tests, this is just preparation for refactoring.
824
825         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
826         (WebCore::IDBDatabaseBackendImpl::get):
827         (WebCore):
828         (WebCore::IDBDatabaseBackendImpl::put):
829         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
830         (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
831         (WebCore::IDBDatabaseBackendImpl::openCursor):
832         (WebCore::IDBDatabaseBackendImpl::count):
833         (WebCore::IDBDatabaseBackendImpl::deleteRange):
834         (WebCore::IDBDatabaseBackendImpl::clear):
835         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
836         (IDBDatabaseBackendImpl):
837         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
838         (WebCore):
839         (IDBDatabaseBackendInterface):
840
841 2012-12-11  Roger Fong  <roger_fong@apple.com>
842
843         Make Video Track compile on Windows in debug mode.
844         https://bugs.webkit.org/show_bug.cgi?id=104720.
845
846         Reviewed by Alexey Proskuryakov.
847
848         urlForLogging method was defined in both HTMLMediaElement.cpp and HTMLTrackElement.cpp. 
849         On Windows all the HTMLElements sources are included in an AllInOne source file, 
850         so the definitions conflicted. Fixed by renaming the definition in each source file.
851
852         * html/HTMLMediaElement.cpp:
853         (WebCore::urlForLoggingMedia):
854         (WebCore::HTMLMediaElement::loadResource):
855         (WebCore::HTMLMediaElement::isSafeToLoadURL):
856         (WebCore::HTMLMediaElement::didRemoveTrack):
857         (WebCore::HTMLMediaElement::selectNextSourceChild):
858         (WebCore::HTMLMediaElement::sourceWasAdded):
859         (WebCore::HTMLMediaElement::sourceWasRemoved):
860         * html/HTMLTrackElement.cpp:
861         (WebCore::urlForLoggingTrack):
862         (WebCore::HTMLTrackElement::canLoadUrl):
863
864 2012-12-11  Ryosuke Niwa  <rniwa@webkit.org>
865
866         Mail hangs when resizing the font size of a large RTL text
867         https://bugs.webkit.org/show_bug.cgi?id=104643
868
869         Reviewed by Enrica Casucci.
870
871         The bug was caused by ApplyStyleCommand::applyInlineStyleToNodeRange obtaining computed styles while
872         removing and adding nodes. Fixed the slowness by breaking it into three phases:
873         1. Split the range into contiguous inline runs, and determine whether styles need to be removed or applied.
874         2. Remove any conflicting styles, and insert dummy elements at positions where inline styles ought to be
875         computed as needed.
876         3. Remove the dummy elements and apply ilnine styles as needed.
877
878         No new tests are added since there is no behavior change. This is just a performance improvement. 
879
880         * editing/ApplyStyleCommand.cpp:
881         (WebCore::InlineRunToApplyStyle::InlineRunToApplyStyle):
882         (WebCore::InlineRunToApplyStyle::startAndEndAreStillInDocument):
883         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
884         (WebCore::ApplyStyleCommand::shouldApplyInlineStyleToRun):
885         (WebCore::ApplyStyleCommand::removeConflictingInlineStyleFromRun):
886         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
887         (WebCore::ApplyStyleCommand::positionToComputeInlineStyleChange):
888         (WebCore::ApplyStyleCommand::applyInlineStyleChange):
889         * editing/ApplyStyleCommand.h:
890         * editing/EditingStyle.h:
891         (WebCore::StyleChange::StyleChange):
892
893 2012-12-11  Xianzhu Wang  <wangxianzhu@chromium.org>
894
895         Incorrect position of layers for fixed position elements when page is scaled smaller than viewport
896         https://bugs.webkit.org/show_bug.cgi?id=104294
897
898         Reviewed by James Robinson.
899
900         Fixed issue in scrollOffsetForFixedPosition when contentRect is smaller than visibleContentRect.
901         This happens when a page originally bigger than viewport is scaled down to smaller than the viewport.
902
903         Test: compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html
904
905         * page/scrolling/ScrollingCoordinator.cpp:
906         (WebCore::fixedPositionScrollOffset): Moved common code in scrollOffsetForFixedPosition here. Fixed issue when contentsSize < visibleContentSize.
907         (WebCore::scrollOffsetForFixedPosition):
908
909 2012-12-11  Beth Dakin  <bdakin@apple.com>
910
911         https://bugs.webkit.org/show_bug.cgi?id=104725
912         Crash in EventHandler::selectCursor() on Mac bots running 
913         fast/events/mouse-cursor-image-set.html
914
915         Reviewed by Tim Horton.
916
917         https://bugs.webkit.org/show_bug.cgi?id=99493 enabled image-set for 
918         the CSS cursor property. Most of the change is guarded behind #if 
919         ENABLE(MOUSE_CURSOR_SCALE). However, image-set was still allowed to 
920         parse for the cursor property as long as image-set is enabled 
921         (which is the current state on the Mac). This would lead to an 
922         inconsistent state where style information would reflect a world 
923         where mouse cursor scaling is enabled even though nothing else on 
924         the Mac would. 
925
926         The parsing should also be guarded by the cursor scaling flag.
927         * css/CSSParser.cpp:
928         (WebCore::CSSParser::parseValue):
929
930 2012-12-11  Emil A Eklund  <eae@chromium.org>
931
932         Clamp out-of-range numbers in CSS
933         https://bugs.webkit.org/show_bug.cgi?id=102735
934
935         Reviewed by Simon Fraser.
936
937         Currently when a large number (outside of the supported range)
938         is applied from a style rule or set from javascript using
939         Element.style we check if it is within the supported range and
940         set it to zero if it is not. This is incorrect and confusing.
941         
942         Change it to clamp values to the supported range. This matches
943         the behavior in Gecko.
944
945         Test: fast/css/large-numbers.html
946
947         * css/CSSPrimitiveValue.cpp:
948         (WebCore::CSSPrimitiveValue::computeLength):
949         Change to clamp out-of-range values instead of interpreting them
950         as zero.
951
952 2012-12-11  Nate Chapin  <japhet@chromium.org>
953
954         Ensure ResourceRequests for main resources include fragment indentifiers when necessary,
955         regressed by r137333.
956         https://bugs.webkit.org/show_bug.cgi?id=104721
957
958         Rubber-stamped by Dimitri Glazkov.
959
960         No new tests.
961
962         * loader/SubresourceLoader.cpp:
963         (WebCore::SubresourceLoader::willSendRequest):
964
965 2012-12-11  Huang Dongsung  <luxtella@company100.net>
966
967         [GTK] REGRESSION(r135620): Accelerated Compositing does not draw some pages.
968         https://bugs.webkit.org/show_bug.cgi?id=104640
969
970         Reviewed by Noam Rosenthal.
971
972         After r135620, Accelerated Compositing does not draw some pages, because
973         r135620 changes the tree-traversal behavior.  Before r135620, we
974         returned early if TextureMapperLayer can not get TextureMapper from the
975         root layer. However, after r135620, we run the tree-traversal even if
976         TextureMapperLayer can not get TextureMapper.  This patch makes
977         TextureMapperLayer return early like code before r135620.
978
979         Covered by existing tests.
980
981         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
982         (WebCore::GraphicsLayerTextureMapper::flushCompositingState):
983
984 2012-12-11  Dan Bernstein  <mitz@apple.com>
985
986         <rdar://problem/12771885> Support ruby-position: {before, after}
987         https://bugs.webkit.org/show_bug.cgi?id=103569
988
989         Reviewed by Anders Carlsson.
990
991         Specified in <http://www.w3.org/TR/2011/WD-css3-ruby-20110630/#rubypos>, the ruby-position
992         property takes four values: before, after, inter-character, and inline. This change adds
993         support for the values before and after.
994
995         Test: fast/ruby/position-after.html
996
997         * css/CSSComputedStyleDeclaration.cpp:
998         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle ruby-position.
999         * css/CSSParser.cpp:
1000         (WebCore::isValidKeywordPropertyAndValue): Accept before and after as valid values for
1001         ruby-position.
1002         (WebCore::isKeywordPropertyID): Added ruby-position to the list of properties with keyword
1003         values.
1004         (WebCore::CSSParser::parseValue): Added ruby-position to the switch statement.
1005         * css/CSSPrimitiveValueMappings.h:
1006         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added mapping from RubyPosition.
1007         (WebCore::CSSPrimitiveValue::operator RubyPosition): Added mapping from CSSPrimitiveValue.
1008         * css/CSSProperty.cpp:
1009         (WebCore::CSSProperty::isInheritedProperty): Added ruby-position as an inherited property.
1010         * css/CSSPropertyNames.in: Added -webkit-ruby-position.
1011         * css/CSSValueKeywords.in: Added after and before.
1012         * css/StyleBuilder.cpp:
1013         (WebCore::StyleBuilder::StyleBuilder): Added a handler for ruby-position.
1014         * css/StyleResolver.cpp:
1015         (WebCore::StyleResolver::applyProperty): Added ruby-position.
1016         * rendering/InlineFlowBox.cpp:
1017         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Changed to choose which of
1018         hasAnnotationsBefore and hasAnnotationsAfter to set based on ruby position.
1019         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Changed to adjust only for
1020         ruby positioned before the base.
1021         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added adjustment for ruby
1022         positioned after the base.
1023         * rendering/RenderRubyRun.cpp:
1024         (WebCore::RenderRubyRun::layout): Account for ruby-position when positioning the ruby text
1025         relative to the base.
1026         * rendering/style/RenderStyle.cpp:
1027         (WebCore::RenderStyle::diff): Made a ruby-position difference a layout difference.
1028         * rendering/style/RenderStyle.h: Added rubyPosition(), setRubyPosition(), and 
1029         initialRubyPosition().
1030         * rendering/style/RenderStyleConstants.h: Added the RubyPosition enum.
1031         * rendering/style/StyleRareInheritedData.cpp:
1032         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Added initialized for
1033         m_rubyPosition. Added copying the value of this member to the copy constructor.
1034         (WebCore::StyleRareInheritedData::operator==): Added comparison of m_rubyPosition.
1035         * rendering/style/StyleRareInheritedData.h:
1036         (StyleRareInheritedData): Added m_rubyPosition member variable.
1037
1038 2012-12-11  Michael Pruett  <michael@68k.org>
1039
1040         [JSC] Add tests for explicit serialization values
1041         https://bugs.webkit.org/show_bug.cgi?id=104423
1042
1043         Reviewed by Oliver Hunt.
1044
1045         Add tests for serialization and deserialization mechanisms of
1046         the JSC implementation of SerializedScriptValue. Similar tests
1047         already exist for the V8 implementation.
1048
1049         Test: platform/jsc/fast/storage/serialized-script-value.html
1050
1051         * WebCore.exp.in:
1052         * testing/Internals.cpp:
1053         (WebCore::Internals::serializeObject):
1054         (WebCore::Internals::deserializeBuffer):
1055
1056 2012-12-11  Alexis Menard  <alexis@webkit.org>
1057
1058         Cleanup: Use consistent naming in CSSParser when dealing with the forward slash operator.
1059         https://bugs.webkit.org/show_bug.cgi?id=104699
1060
1061         Reviewed by Daniel Bates.
1062
1063         http://trac.webkit.org/changeset/136525 added an helper function to
1064         check if a CSSParserValue is a forward slash operator.
1065         BorderImageParseContext is also dealing with the forward slash operator
1066         but its naming is inconsistent with isForwardSlashOperator(). This is
1067         fixed with this patch where BorderImageParseContext::{allowSlash,
1068         commitSlash}() is now replaced by BorderImageParseContext::{allowForwardSlashOperator,
1069         commitForwardSlashOperator}().
1070
1071         No new tests : just a renaming, covered by existing tests..
1072
1073         * css/CSSParser.cpp:
1074         (WebCore::CSSParser::parseFillPosition): A little fixup on the way, use
1075         isForwardSlashOperator() instead of the current code here.
1076         (WebCore::BorderImageParseContext::BorderImageParseContext):
1077         (WebCore::BorderImageParseContext::allowForwardSlashOperator):
1078         (WebCore::BorderImageParseContext::commitImage):
1079         (WebCore::BorderImageParseContext::commitImageSlice):
1080         (WebCore::BorderImageParseContext::commitForwardSlashOperator):
1081         (WebCore::BorderImageParseContext::commitBorderWidth):
1082         (WebCore::BorderImageParseContext::commitBorderOutset):
1083         (WebCore::BorderImageParseContext::commitRepeat):
1084         (BorderImageParseContext):
1085         (WebCore::CSSParser::parseBorderImage):
1086
1087 2012-12-11  Nate Chapin  <japhet@chromium.org>
1088
1089         cr-linux valgrind is showing leaks due to r137333.
1090
1091         Rubber-stamped by Antti Koivisto.
1092
1093         MainResourceLoader's destructor should call m_resource->removeClient(this) is m_resource is still non-null.
1094         The missing removeClient() call will leak the CachedResource.
1095
1096         No new tests, should shut valgrind up.
1097
1098         * loader/MainResourceLoader.cpp:
1099         (WebCore::MainResourceLoader::~MainResourceLoader):
1100
1101 2012-12-11  Andreas Kling  <akling@apple.com>
1102
1103         REGRESSION(r133492): Heap-use-after-free in WebCore::Element::normalizeAttributes
1104         <http://webkit.org/b/104488>
1105
1106         Reviewed by Antti Koivisto.
1107
1108         Don't cache the AttrNodeList* in a local when iterating over an Element's Attr nodes since
1109         that pointer may go stale if JS runs in response to a DOMSubtreeModified event below Node::normalize().
1110
1111         Test: fast/dom/normalize-attributes-mutation-event-crash.html
1112
1113         * dom/Element.cpp:
1114         (WebCore::Element::normalizeAttributes):
1115
1116 2012-12-11  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
1117
1118         [GTK] Soup network logs are frequently interrupted by other logging messages
1119         https://bugs.webkit.org/show_bug.cgi?id=104668
1120
1121         Reviewed by Martin Robinson.
1122
1123         Set an external soup log printer that uses the WebKit logging
1124         infrastructure so that log messages are properly synchronized.
1125
1126         * platform/network/soup/ResourceHandleSoup.cpp:
1127         (WebCore::soupLogPrinter):
1128         (WebCore):
1129         (WebCore::ensureSessionIsInitialized):
1130
1131 2012-12-11  Elliott Sprehn  <esprehn@chromium.org>
1132
1133         Switch to new PseudoElement based :before and :after
1134         https://bugs.webkit.org/show_bug.cgi?id=104462
1135
1136         Reviewed by Antti Koivisto.
1137
1138         Switch to the new PseudoElement based generated content implementation
1139         that moves :before and :after into the DOM. This also switches to using
1140         the ComposedShadowTreeWalker for determining the siblings of PseudoElement's
1141         making the new generated content implementation support adding :before
1142         and :after into <input> elements.
1143
1144         Tests: fast/css-generated-content/block-inside-inline.html
1145                fast/css-generated-content/box-orient.html
1146
1147         * dom/ComposedShadowTreeWalker.cpp:
1148         (WebCore::ComposedShadowTreeWalker::pseudoAwareNextSibling):
1149         (WebCore):
1150         (WebCore::ComposedShadowTreeWalker::pseudoAwarePreviousSibling):
1151         (WebCore::ComposedShadowTreeWalker::traverseParent):
1152         * dom/ComposedShadowTreeWalker.h:
1153         (ComposedShadowTreeWalker):
1154         * dom/Element.cpp:
1155         (WebCore::Element::attach):
1156         (WebCore::Element::recalcStyle):
1157         * dom/Node.cpp:
1158         * dom/Node.h:
1159         (Node):
1160         * dom/NodeRenderingContext.cpp:
1161         (WebCore::NodeRenderingContext::nextRenderer):
1162         (WebCore::NodeRenderingContext::previousRenderer):
1163         (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
1164         * dom/Position.cpp:
1165         (WebCore::Position::Position):
1166         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1167         * editing/visible_units.cpp:
1168         (WebCore::logicallyPreviousBox):
1169         (WebCore::logicallyNextBox):
1170         (WebCore::startPositionForLine):
1171         (WebCore::endPositionForLine):
1172         * html/HTMLTextFormControlElement.cpp:
1173         (WebCore::HTMLTextFormControlElement::childShouldCreateRenderer):
1174         * page/DragController.cpp:
1175         (WebCore::DragController::draggableNode):
1176         * rendering/RenderBlock.cpp:
1177         (WebCore::RenderBlock::styleDidChange):
1178         (WebCore::RenderBlock::splitBlocks):
1179         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1180         (WebCore::RenderBlock::createReplacementRunIn):
1181         (WebCore::RenderBlock::isSelectionRoot):
1182         * rendering/RenderBlock.h:
1183         (RenderBlock):
1184         * rendering/RenderButton.cpp:
1185         * rendering/RenderButton.h:
1186         (RenderButton):
1187         * rendering/RenderInline.cpp:
1188         (WebCore::RenderInline::styleDidChange):
1189         (WebCore::RenderInline::addChildIgnoringContinuation):
1190         (WebCore::RenderInline::splitInlines):
1191         * rendering/RenderListItem.cpp:
1192         (WebCore::RenderListItem::updateMarkerLocation):
1193         * rendering/RenderObject.cpp:
1194         (WebCore::RenderObject::createVisiblePosition):
1195         * rendering/RenderObject.h:
1196         (WebCore::RenderObject::nonPseudoNode):
1197         (RenderObject):
1198         (WebCore::RenderObject::clearNode):
1199         (WebCore::RenderObject::generatingNode):
1200         * rendering/RenderObjectChildList.cpp:
1201         * rendering/RenderObjectChildList.h:
1202         (RenderObjectChildList):
1203         * rendering/RenderRubyText.cpp:
1204         * rendering/RenderRubyText.h:
1205         (RenderRubyText):
1206         * rendering/RenderTableRow.cpp:
1207         (WebCore::RenderTableRow::styleDidChange):
1208         * rendering/RenderTableRow.h:
1209         * rendering/RenderTableSection.cpp:
1210         (WebCore::RenderTableSection::addChild):
1211         * rendering/RenderWidget.cpp:
1212         (WebCore::RenderWidget::destroy):
1213
1214 2012-12-11  Jacky Jiang  <zhajiang@rim.com>
1215
1216         [BlackBerry] Clean up unused defaultViewportArguments in RenderThemeBlackBerry.cpp
1217         https://bugs.webkit.org/show_bug.cgi?id=104683
1218
1219         Reviewed by Rob Buis.
1220
1221         * platform/blackberry/RenderThemeBlackBerry.cpp:
1222         (WebCore::determineFullScreenMultiplier):
1223
1224 2012-12-11  Nate Chapin  <japhet@chromium.org>
1225
1226         Route main resource loads through the memory cache.
1227         https://bugs.webkit.org/show_bug.cgi?id=49246
1228
1229         Reviewed by Antti Koivisto.
1230
1231         Note that this patch doesn't actually enable caching of main resources. That will be done in a later patch.
1232         The MainResourceLoader actually has an underlying SubresourceLoader (with the cache layer between them).
1233         In several places, the MainResourceLoader's SubresourceLoader is treated as special.
1234
1235         No new tests, as this is primarily a refactor. A couple of expected results changed slightly.
1236
1237         * loader/DocumentLoader.cpp:
1238         (WebCore::DocumentLoader::setRequest):
1239         (WebCore::DocumentLoader::subresource):
1240         (WebCore::DocumentLoader::addSubresourceLoader): Because the SubresourceLoader underlying the main resource
1241             needs special handling in certain cases, track it separately from the real SubresourceLoaders.
1242         (WebCore::DocumentLoader::removeSubresourceLoader):
1243         (WebCore::DocumentLoader::startLoadingMainResource):
1244         * loader/MainResourceLoader.cpp:
1245         (WebCore::MainResourceLoader::MainResourceLoader):
1246         (WebCore::MainResourceLoader::receivedError):
1247         (WebCore::MainResourceLoader::cancel):
1248         (WebCore::MainResourceLoader::clearResource):
1249         (WebCore):
1250         (WebCore::MainResourceLoader::frameLoader):
1251         (WebCore::MainResourceLoader::request):
1252         (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
1253         (WebCore::MainResourceLoader::resourceData):
1254         (WebCore::MainResourceLoader::redirectReceived):
1255         (WebCore::MainResourceLoader::willSendRequest):
1256         (WebCore::MainResourceLoader::continueAfterContentPolicy):
1257         (WebCore::MainResourceLoader::responseReceived):
1258         (WebCore::MainResourceLoader::dataReceived):
1259         (WebCore::MainResourceLoader::didFinishLoading):
1260         (WebCore::MainResourceLoader::notifyFinished):
1261         (WebCore::MainResourceLoader::reportMemoryUsage):
1262         (WebCore::MainResourceLoader::handleSubstituteDataLoadNow):
1263         (WebCore::MainResourceLoader::load):
1264         (WebCore::MainResourceLoader::setDefersLoading):
1265         (WebCore::MainResourceLoader::defersLoading):
1266         (WebCore::MainResourceLoader::setShouldBufferData):
1267         (WebCore::MainResourceLoader::loader):
1268         (WebCore::MainResourceLoader::identifier):
1269         * loader/MainResourceLoader.h:
1270         (MainResourceLoader):
1271         (WebCore::MainResourceLoader::documentLoader):
1272         * loader/ResourceLoader.cpp:
1273         (WebCore::ResourceLoader::willSendRequest):
1274         * loader/ResourceLoader.h:
1275         (WebCore::ResourceLoader::defersLoading):
1276         (WebCore::ResourceLoader::cancelled):
1277         * loader/appcache/ApplicationCacheHost.cpp:
1278         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
1279         (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
1280         * loader/mac/DocumentLoaderMac.cpp:
1281         (WebCore::DocumentLoader::schedule):
1282         (WebCore::DocumentLoader::unschedule):
1283
1284 2012-12-11  Aaron Colwell  <acolwell@chromium.org>
1285
1286         Update MediaSource to allow append() calls in "ended" state.
1287         https://bugs.webkit.org/show_bug.cgi?id=104581
1288
1289         Reviewed by Eric Carlson.
1290
1291         Updated append and setTimestampOffset to allow appending in the "ended" readyState. An append() call
1292         in the "ended" state now triggers a transition to the "open" state and allows the append to succeed.
1293
1294         Tests: http/tests/media/media-source/video-media-source-append-in-ended-state.html
1295                http/tests/media/media-source/video-media-source-append-with-offset-in-ended-state.html
1296                http/tests/media/media-source/video-media-source-zero-byte-append-in-ended-state.html
1297
1298         * Modules/mediasource/MediaSource.cpp:
1299         (WebCore::MediaSource::append):
1300         (WebCore::MediaSource::setTimestampOffset):
1301
1302 2012-12-11  Robert Hogan  <robert@webkit.org>
1303
1304         REGRESSION(r121789): Text not wrapping in presence of floating objects
1305         https://bugs.webkit.org/show_bug.cgi?id=101803
1306
1307         Reviewed by David Hyatt.
1308
1309         When determining if a line needs to offset to avoid any floats use RenderBlock::lineHeight() 
1310         to estimate the height of the line. If the container has floats stacked up with different widths
1311         that straddle the line, using a height of zero will make the first line think it has
1312         more width available than it actually does and it will end up extruding from its container.
1313         
1314         The logic for finding the offset of inline blocks and images needs to use a similar heuristic.
1315         So nextLineBreak() now updates the available width if it encounters a replaced element (e.g. inline block,
1316         image) at the start of a line, using the height of the element to decide which floats to avoid. 
1317         RenderBlock::computeInlineDirectionPositionsForLine() does the same thing when laying out the line.
1318
1319         Tests: fast/block/float/floats-offset-image-quirk-lineheight.html
1320                fast/block/float/floats-offset-image-quirk.html
1321                fast/block/float/floats-offset-image-strict-lineheight.html
1322                fast/block/float/floats-offset-image-strict.html
1323                fast/block/float/floats-offset-inline-block-quirk-lineheight.html
1324                fast/block/float/floats-offset-inline-block-strict-lineheight.html
1325                fast/block/float/floats-offset-linebox-contain-block.html
1326                fast/block/float/floats-offset-linebox-contain-inline.html
1327                fast/block/float/floats-wrap-inside-inline-006.html
1328                fast/block/float/floats-wrap-inside-inline-007.html
1329
1330         * rendering/RenderBlockLineLayout.cpp:
1331         (LineWidth):
1332         (WebCore::logicalHeightForLine):
1333             This method needs to cope with the quirk where an image alone on a line will get its descent stripped away so
1334             ignore the height of the line and use the height of the image in that case.
1335         (WebCore::LineWidth::updateAvailableWidth):
1336         (WebCore::updateLogicalInlinePositions):
1337         (WebCore):
1338         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1339         (WebCore::RenderBlock::computeInlineDirectionPositionsForSegment):
1340         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1341
1342 2012-12-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1343
1344         [GTK] Install GObject DOM bindings headers in its own directory
1345         https://bugs.webkit.org/show_bug.cgi?id=104663
1346
1347         Reviewed by Gustavo Noronha Silva.
1348
1349         Move the headers from webkit to webkitdom directory.
1350
1351         * bindings/gobject/GNUmakefile.am:
1352         * bindings/gobject/WebKitDOMBinding.h:
1353         * bindings/gobject/WebKitDOMCustom.h:
1354         * bindings/gobject/WebKitDOMEventTarget.h:
1355         * bindings/gobject/WebKitDOMEventTargetPrivate.h:
1356         * bindings/gobject/WebKitDOMObject.h:
1357         * bindings/scripts/CodeGeneratorGObject.pm:
1358         (Generate):
1359         (WriteData):
1360         * bindings/scripts/gobject-generate-headers.pl:
1361         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
1362         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
1363         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
1364         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
1365         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1366         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
1367         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
1368         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
1369         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
1370         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
1371         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
1372         * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
1373         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
1374         * bindings/scripts/test/GObject/WebKitDOMTestExceptionPrivate.h:
1375         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1376         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
1377         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
1378         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
1379         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
1380         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
1381         * bindings/scripts/test/GObject/WebKitDOMTestNode.h:
1382         * bindings/scripts/test/GObject/WebKitDOMTestNodePrivate.h:
1383         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1384         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
1385         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h:
1386         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructorsPrivate.h:
1387         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1388         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
1389
1390 2012-12-11  Mark Pilgrim  <pilgrim@chromium.org>
1391
1392         [Chromium] Clean up unused interfaces in PlatformSupport
1393         https://bugs.webkit.org/show_bug.cgi?id=104674
1394
1395         Reviewed by Darin Fisher.
1396
1397         Part of a refactoring series. See tracking bug 82948. Also, there
1398         were some function declarations that were supposed to be removed
1399         as part of bug 102699 but got left out of the final patch.
1400
1401         * platform/chromium/PlatformSupport.h:
1402         (WebCore):
1403         (PlatformSupport):
1404
1405 2012-12-11  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
1406
1407         [GTK] Update GraphicsLayerClutter
1408         https://bugs.webkit.org/show_bug.cgi?id=92045
1409
1410         Reviewed by Gustavo Noronha Silva.
1411
1412         Add more methods to GraphicsLayerClutter in order to run CSS 3D transforms 
1413         by using GraphicsLayerActor.
1414
1415         No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
1416         compositing and 3D transforms.
1417
1418         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1419         (WebCore):
1420         (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
1421         (WebCore::idleDestroy):
1422         (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
1423         (WebCore::GraphicsLayerClutter::setName):
1424         (WebCore::GraphicsLayerClutter::platformLayer): Returns the platform layer(ClutterAcotr).
1425         (WebCore::GraphicsLayerClutter::setNeedsDisplay): Update the display.
1426         (WebCore::GraphicsLayerClutter::setNeedsDisplayInRect): Update part of the Display.
1427         (WebCore::GraphicsLayerClutter::setAnchorPoint):
1428         (WebCore::GraphicsLayerClutter::setPosition):
1429         (WebCore::GraphicsLayerClutter::setSize):
1430         (WebCore::GraphicsLayerClutter::setTransform):
1431         (WebCore::GraphicsLayerClutter::setDrawsContent):
1432         (WebCore::GraphicsLayerClutter::setParent):
1433         (WebCore::GraphicsLayerClutter::setChildren):
1434         (WebCore::GraphicsLayerClutter::addChild):
1435         (WebCore::GraphicsLayerClutter::addChildAtIndex):
1436         (WebCore::GraphicsLayerClutter::addChildBelow):
1437         (WebCore::GraphicsLayerClutter::addChildAbove):
1438         (WebCore::GraphicsLayerClutter::replaceChild):
1439         (WebCore::GraphicsLayerClutter::removeFromParent):
1440         (WebCore::GraphicsLayerClutter::platformClutterLayerPaintContents):
1441         (WebCore::GraphicsLayerClutter::platformClutterLayerAnimationStarted):
1442         (WebCore::GraphicsLayerClutter::repaintLayerDirtyRects):
1443         (WebCore::GraphicsLayerClutter::computePositionRelativeToBase):
1444         (WebCore::GraphicsLayerClutter::flushCompositingState): Synchronize the corresponding Actors with the current 
1445         compositing states of this GraphicsLayer and its child layers. 
1446         (WebCore::GraphicsLayerClutter::recursiveCommitChanges):
1447         (WebCore::GraphicsLayerClutter::flushCompositingStateForThisLayerOnly): Commit batched changes non-recursively. 
1448         (WebCore::GraphicsLayerClutter::commitLayerChangesAfterSublayers): Reset layer changes after we recurse on children.
1449         (WebCore::GraphicsLayerClutter::noteSublayersChanged):
1450         (WebCore::GraphicsLayerClutter::noteLayerPropertyChanged):
1451         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers): Commit layer changes before we recurse on children.
1452         (WebCore::GraphicsLayerClutter::updateGeometry): Updated the position and size of the Actor.
1453         (WebCore::GraphicsLayerClutter::updateSublayerList): Updated the list of child Actors. 
1454         (WebCore::GraphicsLayerClutter::updateLayerNames):
1455         (WebCore::GraphicsLayerClutter::updateTransform):
1456         (WebCore::GraphicsLayerClutter::updateLayerDrawsContent):
1457         (WebCore::GraphicsLayerClutter::layerForSuperlayer):
1458         * platform/graphics/clutter/GraphicsLayerClutter.h:
1459         (WebCore):
1460         (WebCore::GraphicsLayerClutter::primaryLayer):
1461         (GraphicsLayerClutter):
1462
1463 2012-12-11  Jessie Berlin  <jberlin@apple.com>
1464
1465         Revert incorrect build fix.
1466
1467         * WebCore.exp.in:
1468
1469 2012-12-11  Jessie Berlin  <jberlin@apple.com>
1470
1471         Fix the Mac build after r137261
1472
1473         * WebCore.exp.in:
1474
1475 2012-12-11  Joone Hur  <joone.hur@intel.com>, Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
1476
1477         [GTK] Add GraphicsLayerActor
1478         https://bugs.webkit.org/show_bug.cgi?id=91940
1479
1480         Reviewed by Gustavo Noronha Silva.
1481
1482         GraphicsLayerActor, which is a new ClutterActor, represents a node in the GPU-renderable layer tree
1483         when accelerated compositing is enabled with Clutter as acceleration backend.
1484         This patch allows to support basic features of CSS 3D Transforms.
1485
1486         No new tests. This will be covered by pixel tests for Qt and GTK+ accelerated
1487         compositing and 3D transforms.
1488
1489         * GNUmakefile.list.am:
1490         * platform/graphics/clutter/GraphicsLayerActor.cpp: Added.
1491         (_GraphicsLayerActorPrivate):
1492         (graphics_layer_actor_class_init): GObject configuration of a new Clutter Actor.
1493         (graphics_layer_actor_init): Initialization of the private data of this actor.
1494         (graphicsLayerActorSetProperty): GObject property setter.
1495         (graphicsLayerActorGetProperty): GObject property getter.
1496         (graphicsLayerActorDispose): Called to drop all references to other objects.
1497         (graphicsLayerActorAllocate):  Called to set the coordinates of an actor.
1498         (graphicsLayerActorApplyTransform): Applying the transformation to an actor before painting it.
1499         (graphicsLayerActorPaint): Called to paint the actor.
1500         (graphicsLayerActorDraw): Called each time a ClutterCairoTexture has been invalidated.
1501         (graphicsLayerActorAdded): Called each time an actor has been added to container.
1502         (graphicsLayerActorRemoved): Called each time an actor is removed from container.
1503         (graphicsLayerActorNew): Create a specific layer type of GraphicsLayerActor object.
1504         (graphicsLayerActorNewWithClient): Create a specific layer type of GraphicsLayerActor object with 
1505         its PlatformClutterClientLayer.
1506         (graphicsLayerActorSetClient): Added setter to set the PlatformClutterClientLayer.
1507         (graphicsLayerActorGetClient): Added getter to get the PlatformClutterClientLayer.
1508         (graphicsLayerActorRemoveAll): Remove all child actors.
1509         (graphicsLayerUpdateTexture): Create a ClutterCairoTexture.
1510         (graphicsLayerActorGetSurface): Added setter to set a cairo_surface_t.
1511         (graphicsLayerActorSetSurface): Added getter to get the cairo_surface_t.
1512         (graphicsLayerActorInvalidateRectangle):
1513         (graphicsLayerActorSetTransform): Set a CoglMatrix to apply matrix transform.
1514         (graphicsLayerActorSetAnchorPoint):
1515         (graphicsLayerActorGetAnchorPoint):
1516         (graphicsLayerActorSetScrollPosition):
1517         (graphicsLayerActorGetnChildren):
1518         (graphicsLayerActorReplaceSublayer):
1519         (graphicsLayerActorInsertSublayer):
1520         (graphicsLayerActorSetSublayers):
1521         (graphicsLayerActorGetLayerType):
1522         (graphicsLayerActorSetLayerType):
1523         (graphicsLayerActorSetTranslateX):
1524         (graphicsLayerActorGetTranslateX):
1525         (graphicsLayerActorSetTranslateY):
1526         (graphicsLayerActorGetTranslateY):
1527         (graphicsLayerActorSetDrawsContent): Added setter to paint content inside a layer.
1528         (graphicsLayerActorGetDrawsContent): Added getter to get the value of the drawsContent. 
1529         * platform/graphics/clutter/GraphicsLayerActor.h: Added.
1530         (_GraphicsLayerActor):
1531         (_GraphicsLayerActorClass):
1532         * platform/graphics/clutter/GraphicsLayerClutter.h:
1533         (WebCore):
1534
1535 2012-12-11  Mike West  <mkwst@chromium.org>
1536
1537         Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
1538         https://bugs.webkit.org/show_bug.cgi?id=66371
1539
1540         Reviewed by Pavel Feldman.
1541
1542         We can simplify console message generation a bit, as nothing outside the
1543         Console object itself will generate messages of any type other than
1544         LogMessageType. This patch refactors the externally-facing API endpoints
1545         on ScriptExecutionContext and Console to drop the MessageType parameter,
1546         moves the MessageType enum into a new InspectorConsoleTypes.h header,
1547         and updates all the call sites (and ChromeClients) to drop the parameter
1548         from their interfaces.
1549
1550         As a temporary bandage for ports using this interface, this patch
1551         includes aliases for the new methods that retain the old interface.
1552         I'll remove them in a future patch.
1553
1554         Here, we only refactor an internal interface. No tests should break.
1555
1556         * GNUmakefile.list.am:
1557         * Target.pri:
1558         * WebCore.gypi:
1559         * WebCore.vcproj/WebCore.vcproj:
1560         * WebCore.xcodeproj/project.pbxproj:
1561             We added a new file! OMG!
1562         * Modules/webaudio/AudioBufferSourceNode.cpp:
1563         (WebCore::AudioBufferSourceNode::looping):
1564         (WebCore::AudioBufferSourceNode::setLooping):
1565         * Modules/webdatabase/AbstractDatabase.cpp:
1566         (WebCore::AbstractDatabase::logErrorMessage):
1567         * Modules/websockets/WebSocket.cpp:
1568         (WebCore::WebSocket::connect):
1569         (WebCore::WebSocket::send):
1570         (WebCore::WebSocket::close):
1571         (WebCore::WebSocket::setBinaryType):
1572         * Modules/websockets/WebSocketChannel.cpp:
1573         (WebCore::WebSocketChannel::fail):
1574         (WebCore::WebSocketChannel::didFailSocketStream):
1575         * bindings/js/JSCustomXPathNSResolver.cpp:
1576         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1577         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1578         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
1579         * css/MediaList.cpp:
1580         (WebCore::addResolutionWarningMessageToConsole):
1581         * dom/Document.cpp:
1582         (WebCore::Document::logExceptionToConsole):
1583         (WebCore::Document::processHttpEquiv):
1584         (WebCore::Document::addMessage):
1585         * dom/Document.h:
1586         (Document):
1587         * dom/ScriptElement.cpp:
1588         (WebCore::ScriptElement::notifyFinished):
1589         * dom/ScriptExecutionContext.cpp:
1590         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
1591         (WebCore::ScriptExecutionContext::addConsoleMessage):
1592         * dom/ScriptExecutionContext.h:
1593         (ScriptExecutionContext):
1594         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
1595         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
1596         * dom/ViewportArguments.cpp:
1597         (WebCore::reportViewportWarning):
1598         * fileapi/WebKitBlobBuilder.cpp:
1599         (WebCore::BlobBuilder::append):
1600         * html/HTMLFormControlElement.cpp:
1601         (WebCore::shouldAutofocus):
1602         * html/HTMLFormElement.cpp:
1603         (WebCore::HTMLFormElement::validateInteractively):
1604         * html/HTMLIFrameElement.cpp:
1605         (WebCore::HTMLIFrameElement::parseAttribute):
1606         * html/HTMLTrackElement.cpp:
1607         (WebCore::HTMLTrackElement::canLoadUrl):
1608         * html/canvas/CanvasRenderingContext2D.cpp:
1609         (WebCore::CanvasRenderingContext2D::getImageData):
1610         * html/canvas/WebGLRenderingContext.cpp:
1611         (WebCore):
1612         (WebCore::WebGLRenderingContext::printWarningToConsole):
1613         * html/parser/XSSAuditor.cpp:
1614         (WebCore::XSSAuditor::init):
1615         (WebCore::XSSAuditor::filterToken):
1616         * inspector/ConsoleAPITypes.h: Added.
1617         (WebCore):
1618         * inspector/ConsoleMessage.h:
1619         * inspector/InspectorConsoleAgent.h:
1620         * inspector/InspectorDebuggerAgent.h:
1621         * inspector/InspectorInstrumentation.cpp:
1622         (WebCore):
1623         * inspector/InspectorInstrumentation.h:
1624         * inspector/InspectorProfilerAgent.cpp:
1625         * loader/EmptyClients.h:
1626         (WebCore::EmptyChromeClient::addMessageToConsole):
1627         * loader/FrameLoader.cpp:
1628         (WebCore::FrameLoader::reportLocalLoadFailed):
1629         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
1630         * loader/ImageLoader.cpp:
1631         (WebCore::ImageLoader::notifyFinished):
1632         * loader/MainResourceLoader.cpp:
1633         (WebCore::MainResourceLoader::didReceiveResponse):
1634         * loader/MixedContentChecker.cpp:
1635         (WebCore::MixedContentChecker::logWarning):
1636         * loader/TextTrackLoader.cpp:
1637         (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
1638         * loader/appcache/ApplicationCacheGroup.cpp:
1639         (WebCore::ApplicationCacheGroup::abort):
1640         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1641         (WebCore::ApplicationCacheGroup::didFinishLoading):
1642         (WebCore::ApplicationCacheGroup::didFail):
1643         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
1644         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1645         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
1646         * loader/cache/CachedResourceLoader.cpp:
1647         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
1648         * page/ChromeClient.h:
1649         (ChromeClient):
1650             Drop LogMessageType from everywhere.
1651         * page/Console.cpp:
1652         (WebCore::Console::addMessage):
1653         (WebCore::internalAddMessage):
1654         (WebCore::Console::error):
1655         (WebCore::Console::log):
1656         (WebCore::Console::warn):
1657         (WebCore::Console::dir):
1658         (WebCore::Console::dirxml):
1659         (WebCore::Console::clear):
1660         (WebCore::Console::trace):
1661         (WebCore::Console::assertCondition):
1662         * page/Console.h:
1663         (Console):
1664             Create a new internalAddMessage that's used for the various
1665             Console message types. Everything else routes through
1666             ::addMessage.
1667         * page/ConsoleTypes.h:
1668             Drop MessageTypes from this file, add it to ConsoleAPIType.h
1669         * page/ContentSecurityPolicy.cpp:
1670         (WebCore::ContentSecurityPolicy::logToConsole):
1671         * page/DOMWindow.cpp:
1672         (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
1673         (WebCore::DOMWindow::printErrorMessage):
1674         * page/EventSource.cpp:
1675         (WebCore::EventSource::didReceiveResponse):
1676         * svg/SVGDocumentExtensions.cpp:
1677         (WebCore::reportMessage):
1678         * workers/DefaultSharedWorkerRepository.cpp:
1679         (SharedWorkerProxy):
1680         (WebCore::postConsoleMessageTask):
1681         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
1682         * workers/SharedWorkerContext.cpp:
1683         (WebCore::SharedWorkerContext::logExceptionToConsole):
1684         * workers/WorkerContext.cpp:
1685         (WebCore::WorkerContext::addMessage):
1686         (WebCore::WorkerContext::addMessageToWorkerConsole):
1687         * workers/WorkerContext.h:
1688         (WorkerContext):
1689         * workers/WorkerMessagingProxy.cpp:
1690         (WebCore::postConsoleMessageTask):
1691         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
1692         * workers/WorkerMessagingProxy.h:
1693         (WorkerMessagingProxy):
1694         * workers/WorkerReportingProxy.h:
1695         (WorkerReportingProxy):
1696         * xml/XMLHttpRequest.cpp:
1697         (WebCore::logConsoleError):
1698         (WebCore::XMLHttpRequest::send):
1699         * xml/XSLTProcessorLibxslt.cpp:
1700         (WebCore::XSLTProcessor::parseErrorFunc):
1701         * xml/XSLTProcessorQt.cpp:
1702         (WebCore::XSLTMessageHandler::handleMessage):
1703             Drop LogMessageType from everywhere.
1704
1705 2012-12-11  Simon Hausmann  <simon.hausmann@digia.com>
1706
1707         [Qt] Unreviewed, rolling out r137313 and r137316 because they broke the system-sqlite build.
1708
1709         * WebCore.pri:
1710
1711 2012-12-11  Simon Hausmann  <simon.hausmann@digia.com>
1712
1713         Unreviewed Qt build fix: Don't error out if SQLITE3SRCDIR isn't set but
1714         we have a system sqlite to use.
1715
1716         * WebCore.pri:
1717
1718 2012-12-11  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
1719
1720         [Qt] make qtbase source requirement explicit
1721
1722         Reviewed by Simon Hausmann.
1723
1724         getting rid of QT.<module>.sources references, as they don't go well
1725         with real modularization.
1726
1727         * WebCore.pri:
1728
1729 2012-12-11  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
1730
1731         [Qt] move SQLITE3SRCDIR assignment to only use site
1732
1733         Reviewed by Simon Hausmann.
1734
1735         Target.pri includes WebCore.pri the almost first thing, so that is
1736         covered as well.
1737
1738         * WebCore.pri:
1739
1740 2012-12-11  Eugene Klyuchnikov  <eustas@chromium.org>
1741
1742         Web Inspector: Timeline: rename "Parse" to "Parse HTML".
1743         https://bugs.webkit.org/show_bug.cgi?id=104639
1744
1745         Reviewed by Yury Semikhatsky.
1746
1747         "Parse" sounds ambiguous, it could mean JSON.parse() or Date.parse().
1748         "Parse HTML" is a much more clear record description.
1749
1750         * inspector/front-end/TimelinePresentationModel.js: Fix text.
1751
1752 2012-12-11  Oswald Buddenhagen  <oswald.buddenhagen@digia.com>
1753
1754         [Qt] change setup of QMAKE_MOC
1755
1756         Reviewed by Simon Hausmann.
1757
1758         don't load(moc) explicitly - turns out that this breaks
1759         debug_and_release builds (the feature does not like being loaded before
1760         default_post has been loaded).
1761         so instead just do a minimal call to find the moc executable.
1762
1763         as it's in fact only two files which need it, so de-centralize this call
1764         for the sake of saving some cpu cycles spent in qmake.
1765
1766         * DerivedSources.pri:
1767
1768 2012-12-11  Alexander Pavlov  <apavlov@chromium.org>
1769
1770         REGRESSION(r136948): inspector/styles/import-pseudoclass-crash.html hits an assertion
1771         https://bugs.webkit.org/show_bug.cgi?id=104473
1772
1773         Reviewed by Vsevolod Vlasov.
1774
1775         Avoid building full CSSOM wrappers up front during rule matching.
1776         Instead, move this code down to the point where these wrappers are actually needed.
1777
1778         * inspector/InspectorCSSAgent.cpp:
1779         (WebCore::InspectorCSSAgent::willMatchRule):
1780         (WebCore::InspectorCSSAgent::willProcessRule):
1781         * inspector/InspectorCSSAgent.h:
1782         (WebCore):
1783         (InspectorCSSAgent):
1784         * inspector/InspectorInstrumentation.cpp:
1785         (WebCore):
1786         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
1787         (WebCore::InspectorInstrumentation::willProcessRuleImpl):
1788
1789 2012-12-11  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1790
1791         [GStreamer] Avoid linking to GStreamer video libraries if only using ENABLE_AUDIO
1792         https://bugs.webkit.org/show_bug.cgi?id=104590
1793
1794         Reviewed by Philippe Normand.
1795
1796         Make getVideoSizeAndFormatFromCaps() only available when ENABLE_VIDEO is set.
1797
1798         No new tests, no change in behavior.
1799
1800         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
1801         * platform/graphics/gstreamer/GStreamerVersioning.h:
1802
1803 2012-12-11  Zeno Albisser  <zeno@webkit.org>
1804
1805         [Qt][Mac] Fix transparency for WebGL content.
1806         https://bugs.webkit.org/show_bug.cgi?id=104659
1807
1808         When drawing a texture to the TextureMapper the flag SupportsBlending
1809         must be passed in order to allow for transparent webgl content.
1810         We are doing this for GLX already, but the flag was still missing
1811         in GraphicsSurfaceMac.
1812
1813         Reviewed by Kenneth Rohde Christiansen.
1814
1815         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
1816         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
1817
1818 2012-12-11  Alexander Pavlov  <apavlov@chromium.org>
1819
1820         Web Inspector: Duplicate emulated touch events in iframe
1821         https://bugs.webkit.org/show_bug.cgi?id=104653
1822
1823         Reviewed by Vsevolod Vlasov.
1824
1825         Synthetic touch events should be dispatched only on the frame containing its target, not on its ancestor frames,
1826         up to the top frame.
1827
1828         * page/EventHandler.cpp:
1829         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
1830           Do not dispatch a synthetic touch event on the current frame if its target is in a subframe.
1831
1832 2012-12-11  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1833
1834         [EFL][WebGL] Regression(r137211) WebGL is broken with NVIDIA Drivers.
1835         https://bugs.webkit.org/show_bug.cgi?id=104652.
1836
1837         Reviewed by Kenneth Rohde Christiansen.
1838
1839         Reverting some of the changes from r137211, as it causes regressions
1840         on NVIDIA drivers.
1841
1842         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1843         (WebCore::GraphicsContext3D::GraphicsContext3D):
1844         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
1845         (GraphicsContext3DPrivate::copyToGraphicsSurface):
1846         * platform/graphics/opengl/GLPlatformSurface.cpp:
1847         (WebCore::GLPlatformSurface::updateContents):
1848         * platform/graphics/opengl/GLPlatformSurface.h:
1849         (GLPlatformSurface):
1850
1851 2012-12-11  Pavel Feldman  <pfeldman@chromium.org>
1852
1853         Web Inspector: follow up to r136974: do not process shortcuts while editing
1854         https://bugs.webkit.org/show_bug.cgi?id=104440
1855
1856         Reviewed by Alexander Pavlov.
1857
1858         Currently, typing H while editing node results in corresponding shortcut processing.
1859
1860         * inspector/front-end/ElementsTreeOutline.js:
1861         (WebInspector.ElementsTreeOutline):
1862         (WebInspector.ElementsTreeOutline.prototype.handleShortcut):
1863         (WebInspector.ElementsTreeElement.prototype.onenter):
1864         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
1865         (WebInspector.ElementsTreeElement.prototype.dispose):
1866         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
1867         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
1868
1869 2012-12-11  Ken Kania  <kkania@chromium.org>
1870
1871         [Inspector] Add command for dispatching mouse events.
1872         https://bugs.webkit.org/show_bug.cgi?id=104074
1873
1874         Reviewed by Yury Semikhatsky.
1875
1876         Platform mouse event coordinates are relative to the containing window,
1877         but the inspector command assumes they follow standard web coordinates,
1878         where the origin is at the top left of the page and y increases as you
1879         go down. We convert the coordinates to the window before constructing
1880         the event. This also fixes the fact that some platforms have flipped
1881         coordinate systems.
1882         Also, update dispatchKeyEvent test to follow simpler dispatchMouseEvent
1883         test.
1884
1885         Test: inspector-protocol/input/dispatchMouseEvent.html
1886
1887         * inspector/Inspector.json:
1888         * inspector/InspectorInputAgent.cpp:
1889         (WebCore::InspectorInputAgent::dispatchMouseEvent):
1890         (WebCore):
1891         * inspector/InspectorInputAgent.h:
1892         (InspectorInputAgent):
1893
1894 2012-12-11  Pavel Feldman  <pfeldman@chromium.org>
1895
1896         Not reviewed: follow up to r137283: reduce inspector toolbar spacing 1px.
1897
1898         * inspector/front-end/inspector.css:
1899         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable):
1900         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable.toggled-on):
1901
1902 2012-12-11  Kent Tamura  <tkent@chromium.org>
1903
1904         Refactoring: Rename Element::shouldMatchReadOnlySelector and shouldMatchReadWriteSelector
1905         https://bugs.webkit.org/show_bug.cgi?id=104651
1906
1907         Reviewed by Kentaro Hara.
1908
1909         ':read-only' and ':read-write' are pseudo classes. They are not
1910         selectors in the context of these functions.  This patch rename them so
1911         that they contain 'pseudo class,' and make them match to an existing
1912         function, matchesFocusPseudoClass.
1913
1914         No new tests. This shouldn't make behavior changes.
1915
1916         * css/SelectorChecker.cpp:
1917         (WebCore::SelectorChecker::checkOneSelector):
1918         * dom/Element.cpp:
1919         (WebCore::Element::recalcStyle):
1920         (WebCore::Element::matchesReadOnlyPseudoClass):
1921         (WebCore::Element::matchesReadWritePseudoClass):
1922         * dom/Element.h:
1923         (Element):
1924         * html/HTMLInputElement.cpp:
1925         (WebCore::HTMLInputElement::matchesReadOnlyPseudoClass):
1926         (WebCore::HTMLInputElement::matchesReadWritePseudoClass):
1927         * html/HTMLInputElement.h:
1928         (HTMLInputElement):
1929         * html/HTMLTextAreaElement.cpp:
1930         (WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass):
1931         (WebCore::HTMLTextAreaElement::matchesReadWritePseudoClass):
1932         * html/HTMLTextAreaElement.h:
1933         (HTMLTextAreaElement):
1934         * html/shadow/SliderThumbElement.cpp:
1935         (WebCore::SliderThumbElement::matchesReadOnlyPseudoClass):
1936         (WebCore::SliderThumbElement::matchesReadWritePseudoClass):
1937         * html/shadow/SliderThumbElement.h:
1938         (SliderThumbElement):
1939         * html/shadow/SpinButtonElement.cpp:
1940         (WebCore::SpinButtonElement::matchesReadOnlyPseudoClass):
1941         (WebCore::SpinButtonElement::matchesReadWritePseudoClass):
1942         * html/shadow/SpinButtonElement.h:
1943         (SpinButtonElement):
1944         * rendering/RenderTheme.cpp:
1945         (WebCore::RenderTheme::isReadOnlyControl):
1946
1947 2012-12-11  Pavel Feldman  <pfeldman@chromium.org>
1948
1949         Web Inspector: add more horizontal spacing for toolbar items in docked to bottom mode
1950         https://bugs.webkit.org/show_bug.cgi?id=104655
1951
1952         Reviewed by Alexander Pavlov.
1953
1954         Drive-by increase height to 26px.
1955
1956         * inspector/front-end/inspector.css:
1957         (#toolbar):
1958         (body:not(.show-toolbar-icons) .toolbar-item):
1959         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable):
1960         (body.dock-to-bottom:not(.show-toolbar-icons) .toolbar-item.toggleable.toggled-on):
1961         (body.show-toolbar-icons.dock-to-bottom .toolbar-item.toggleable):
1962         (#toolbar-dropdown-arrow):
1963         (#main):
1964
1965 2012-12-11  Keishi Hattori  <keishi@webkit.org>
1966
1967         Use histogram enumeration in Calendar Picker so we can get stats on UI usage
1968         https://bugs.webkit.org/show_bug.cgi?id=104646
1969
1970         Reviewed by Kent Tamura.
1971
1972         Use histogram support to get stats on the calendar picker so we can improve the UI.
1973
1974         No new tests.
1975
1976         * Resources/pagepopups/calendarPicker.js:
1977         (CalendarPicker):
1978         (CalendarPicker.prototype.recordAction): Records action to histogram.
1979         (CalendarPicker.prototype.handleToday): Record action.
1980         (CalendarPicker.prototype.handleClear): Ditto.
1981         (YearMonthController.prototype._showPopup): Ditto.
1982         (YearMonthController.prototype._handleYearMonthChange): Ditto.
1983         (YearMonthController.prototype._handleButtonClick): Ditto.
1984         (DaysTable.prototype._handleDayClick): Ditto.
1985         * page/PagePopupController.cpp:
1986         (WebCore::PagePopupController::histogramEnumeration):
1987         (WebCore):
1988         * page/PagePopupController.h:
1989         (PagePopupController):
1990         * page/PagePopupController.idl: Added histogramEnumeration.
1991
1992 2012-12-11  Hajime Morrita  <morrita@google.com>
1993
1994         IsActiveFlag, IsHoverFlag, InActiveChainFlag can be unified.
1995         https://bugs.webkit.org/show_bug.cgi?id=103697
1996
1997         Reviewed by Ryosuke Niwa.
1998
1999         To save two more NodeFlags bits, this patch inroduces
2000         UserActionElementSet to get IsLinkFlag, IsHoverFlag,
2001         InActiveChainFlag together. These three old flags are replaced by
2002         UserActionElementSet::ElementFlags and UserActionElementSet
2003         collection which tracks elements which are flagged with one of
2004         a ElementFlags.
2005
2006         When marking an element as active for example, WebKit sets
2007         UserActionElementSet::IsActiveFlag to the element and store it
2008         into corresponding element set of the document. This set maintains
2009         marked elements and corresponding flags for each elements.
2010
2011         UserActionElementSet can be seen as a yet another rare data for
2012         these flags. However, the following characteristics of these flags
2013         make adding a new data structure on Document an attractive
2014         alternative:
2015
2016         - UserActionElementSet is maintained for each Document instead of a
2017           global collecton. This fits element lifetime better.
2018
2019         - The number of elements which have these flags is generally
2020           small, and a group of elements for each flag is largely overlapped
2021           due to its nature. This property keeps the set small, and lets
2022           flag retrieval efficient. On majority of the elements, all these
2023           flags are false thus the check is done by just checking
2024           IsInUserActionFlag.
2025
2026         As a bonus, isFocused flag, which was on NodeRareData, is also moved to this model.
2027
2028         No new tests, covered by existing test.
2029
2030         * CMakeLists.txt:
2031         * GNUmakefile.list.am:
2032         * Target.pri:
2033         * WebCore.gypi:
2034         * WebCore.xcodeproj/project.pbxproj:
2035         * dom/DOMAllInOne.cpp:
2036         * dom/Document.cpp:
2037         (WebCore::Document::removedLastRef):
2038         (WebCore::Document::updateHoverActiveState):
2039         * dom/Document.h:
2040         (WebCore::Document::userActionElements): Added.
2041         (Document):
2042         * dom/Node.cpp:
2043         (WebCore::Node::detach):
2044         * dom/Node.h:
2045         (WebCore):
2046         (WebCore::Node::isUserActionElement): Added.
2047         (WebCore::Node::setUserActionElement): Added.
2048         (Node):
2049         (WebCore::Node::active): Switched to UserActionElementSet.
2050         (WebCore::Node::inActiveChain): Switched to UserActionElementSet.
2051         (WebCore::Node::hovered): Switched to UserActionElementSet.
2052         (WebCore::Node::focused): Switched to UserActionElementSet.
2053         (WebCore::Node::setFocus): Switched to UserActionElementSet.
2054         (WebCore::Node::setActive): Switched to UserActionElementSet.
2055         (WebCore::Node::setHovered): Switched to UserActionElementSet.
2056         * dom/NodeRareData.h:
2057         (WebCore::NodeRareData::NodeRareData):
2058         (NodeRareData):
2059         * dom/UserActionElementSet.cpp: Added.
2060         (WebCore):
2061         (WebCore::UserActionElementSet::instanceFor):
2062         (WebCore::UserActionElementSet::UserActionElementSet):
2063         (WebCore::UserActionElementSet::~UserActionElementSet):
2064         (WebCore::UserActionElementSet::didDetach):
2065         (WebCore::UserActionElementSet::documentDidRemoveLastRef):
2066         (WebCore::UserActionElementSet::hasFlags):
2067         (WebCore::UserActionElementSet::setFlags):
2068         (WebCore::UserActionElementSet::clearFlags):
2069         * dom/UserActionElementSet.h: Added.
2070         (WebCore):
2071         (UserActionElementSet):
2072         (WebCore::UserActionElementSet::create):
2073         (WebCore::UserActionElementSet::isFocused):
2074         (WebCore::UserActionElementSet::setFocused):
2075         (WebCore::UserActionElementSet::isActive):
2076         (WebCore::UserActionElementSet::setActive):
2077         (WebCore::UserActionElementSet::isInActiveChain):
2078         (WebCore::UserActionElementSet::setInActiveChain):
2079         (WebCore::UserActionElementSet::isHovered):
2080         (WebCore::UserActionElementSet::setHovered):
2081         (WebCore::UserActionElementSet::setFlags):
2082
2083 2012-12-11  Kent Tamura  <tkent@chromium.org>
2084
2085         INPUT_MULTIPLE_FIELDS_UI: Disable focus navigation by right/left keys in RTL locales
2086         https://bugs.webkit.org/show_bug.cgi?id=104644
2087
2088         Reviewed by Hajime Morita.
2089
2090         Pressing the left key should focus on the field at the left of the
2091         current focused field, and pressing the right key should focus on the
2092         field at the right of the current focused field. This works well in LTR
2093         locales.
2094         In RTL locale, the current code doesn't work. We disable this behavior
2095         for RTL locales for now. This issue will be handled in Bug 104650.
2096
2097         No new tests. Update some *-multiple-fields tests for new behavior.
2098
2099         * html/shadow/DateTimeFieldElement.cpp:
2100         (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
2101         If this sub-field is in an RTL locale, we don't change focus.
2102         (WebCore::DateTimeFieldElement::localeForOwner):
2103         Moved from DateTimeNumericFieldElement.
2104         * html/shadow/DateTimeFieldElement.h:
2105         (DateTimeFieldElement): Remove isRTL, add localeForOwner.
2106         * html/shadow/DateTimeNumericFieldElement.cpp: Remove localeForOwner.
2107         * html/shadow/DateTimeNumericFieldElement.h:
2108         (DateTimeNumericFieldElement): Ditto.
2109
2110 2012-12-11  Pavel Podivilov  <podivilov@google.com>
2111
2112         Remove pango files deleted at r137263 form WebCore.gypi.
2113
2114         Unreviewed, gardening.
2115
2116         * WebCore.gypi:
2117
2118 2012-12-11  Zan Dobersek  <zandobersek@gmail.com>
2119
2120         [GTK] Feature enabling/disabling should be possible through build-webkit
2121         https://bugs.webkit.org/show_bug.cgi?id=99271
2122
2123         Reviewed by Gustavo Noronha Silva.
2124
2125         Move the contents of GNUmakefile.features.am into GNUmakefile.features.am.in.
2126         The former is then copied from the latter but then appropriately modified if
2127         the build-webkit script overrides any of the default feature defines.
2128
2129         No new tests - no new testable functionality.
2130
2131         * GNUmakefile.features.am.in: Renamed from Source/WebCore/GNUmakefile.features.am.
2132
2133 2012-12-11  Jinwoo Song  <jinwoo7.song@samsung.com>
2134
2135         [QT][EFL][WK2] Move the GraphicsSurfaceGLX.cpp to common place
2136         https://bugs.webkit.org/show_bug.cgi?id=104433
2137
2138         Reviewed by Kenneth Rohde Christiansen.
2139
2140         QT and EFL are commonly using the GraphicsSurfaceGLX.cpp and
2141         it looks better to move this file to /glx directory.
2142
2143         * PlatformEfl.cmake:
2144         * Target.pri:
2145         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp.
2146         (WebCore):
2147         (OffScreenRootWindow):
2148         (WebCore::OffScreenRootWindow::OffScreenRootWindow):
2149         (WebCore::OffScreenRootWindow::getXWindow):
2150         (WebCore::OffScreenRootWindow::display):
2151         (WebCore::OffScreenRootWindow::~OffScreenRootWindow):
2152         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2153         (GraphicsSurfacePrivate):
2154         (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
2155         (WebCore::GraphicsSurfacePrivate::createSurface):
2156         (WebCore::GraphicsSurfacePrivate::createPixmap):
2157         (WebCore::GraphicsSurfacePrivate::textureIsYInverted):
2158         (WebCore::GraphicsSurfacePrivate::makeCurrent):
2159         (WebCore::GraphicsSurfacePrivate::doneCurrent):
2160         (WebCore::GraphicsSurfacePrivate::swapBuffers):
2161         (WebCore::GraphicsSurfacePrivate::copyFromTexture):
2162         (WebCore::GraphicsSurfacePrivate::display):
2163         (WebCore::GraphicsSurfacePrivate::glxPixmap):
2164         (WebCore::GraphicsSurfacePrivate::size):
2165         (WebCore::resolveGLMethods):
2166         (WebCore::GraphicsSurface::platformExport):
2167         (WebCore::GraphicsSurface::platformGetTextureID):
2168         (WebCore::GraphicsSurface::platformCopyToGLTexture):
2169         (WebCore::GraphicsSurface::platformCopyFromTexture):
2170         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
2171         (WebCore::GraphicsSurface::platformFrontBuffer):
2172         (WebCore::GraphicsSurface::platformSwapBuffers):
2173         (WebCore::GraphicsSurface::platformSize):
2174         (WebCore::GraphicsSurface::platformCreate):
2175         (WebCore::GraphicsSurface::platformImport):
2176         (WebCore::GraphicsSurface::platformLock):
2177         (WebCore::GraphicsSurface::platformUnlock):
2178         (WebCore::GraphicsSurface::platformDestroy):
2179         (WebCore::GraphicsSurface::platformBeginPaint):
2180         (WebCore::GraphicsSurface::createReadOnlyImage):
2181
2182 2012-12-11  Mike West  <mkwst@chromium.org>
2183
2184         Web Inspector: Evaluate private browsing mode's effect on console messages.
2185         https://bugs.webkit.org/show_bug.cgi?id=104383
2186
2187         Reviewed by Pavel Feldman.
2188
2189         Two sets of console messages are currently gated on private browsing
2190         mode being inactive. This patch centralizes the private browsing checks
2191         in order to apply them equally to all console messages, and changes the
2192         granularity at which they act.
2193
2194         The current checks block the console messages entirely. This patch
2195         blocks only notifications to ChromeClient and ensures that messages
2196         won't be passed to printf where they might end up in system logs.
2197         Notifications to InspectorInstrumentation seem safe; so far as I can
2198         tell, there's no compelling reason to prevent console-based debugging
2199         in private browsing mode. This patch excludes those calls from the
2200         private browsing check.
2201
2202         Test: inspector/console/clients-ignored-in-privatebrowsing.html
2203
2204         * loader/cache/CachedResourceLoader.cpp:
2205         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
2206             Drop the private browsing check.
2207         * page/Console.cpp:
2208         (WebCore::Console::addMessage):
2209             Add private browsing checks to the two ::addMessage variants that
2210             do real work. Ensure that calls to printf and notifications to
2211             ChromeClients are gated on these checks, but always allow
2212             notifications to InspectorInstrumentation.
2213         * page/DOMWindow.cpp:
2214         (WebCore::DOMWindow::printErrorMessage):
2215             Drop the private browsing check.
2216
2217 2012-12-10  Dan Winship  <danw@gnome.org>
2218
2219         [Soup] Fix spelling of "initiating" in API.
2220
2221         Reviewed by Martin Robinson.
2222
2223         No new tests (just internal renaming).
2224
2225         * platform/network/ResourceHandle.h:
2226         (ResourceHandle):
2227         * platform/network/soup/ResourceHandleSoup.cpp:
2228         (WebCore):
2229         (WebCore::setSoupRequestInitiatingPageIDFromNetworkingContext):
2230         (WebCore::ResourceHandle::start):
2231         (WebCore::ResourceHandle::getSoupRequestInitiatingPageID):
2232
2233 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
2234
2235         [GTK] Remove the Pango backend
2236         https://bugs.webkit.org/show_bug.cgi?id=104569
2237
2238         Reviewed by Daniel Bates.
2239
2240         Remove the Pango backend entirely. The EFL build has no support for it and it's
2241         not really maintained enough for the GTK+ port, now that HarfbuzzNG shapes complex
2242         text when Freetype is the active text rendering backend.
2243
2244         No new tests. This does not change behavior.
2245
2246         * GNUmakefile.am: Remove Pango backend options and move Freetype options to the common list.
2247         * GNUmakefile.list.am: Ditto.
2248         * platform/graphics/FontPlatformData.h:
2249         * platform/graphics/pango/FontCachePango.cpp: Removed.
2250         * platform/graphics/pango/FontCustomPlatformDataPango.cpp: Removed.
2251         * platform/graphics/pango/FontPango.cpp: Removed.
2252         * platform/graphics/pango/FontPlatformData.h: Removed.
2253         * platform/graphics/pango/FontPlatformDataPango.cpp: Removed.
2254         * platform/graphics/pango/GlyphPageTreeNodePango.cpp: Removed.
2255         * platform/graphics/pango/PangoUtilities.cpp: Removed.
2256         * platform/graphics/pango/PangoUtilities.h: Removed.
2257         * platform/graphics/pango/SimpleFontDataPango.cpp: Removed.
2258
2259 2012-12-11  Andrey Adaikin  <aandrey@chromium.org>
2260
2261         Web Inspector: [WebGL] prevent GC from collecting WebGLObject instances currently bound to the context state
2262         https://bugs.webkit.org/show_bug.cgi?id=104119
2263
2264         Reviewed by Pavel Feldman.
2265
2266         This is to prevent GC from collecting resources bound to a context (WebGL or 2D).
2267         Otherwise, for example in WebGL, subsequent calls to gl.getParameter() may return a recently created
2268         instance that is no longer bound to a Resource object (thus, no history to replay it later).
2269
2270         * inspector/InjectedScriptCanvasModuleSource.js:
2271         (.):
2272
2273 2012-12-11  Zan Dobersek  <zandobersek@gmail.com>
2274
2275         Unreviewed build fix after r137243.
2276
2277         * bindings/gobject/GNUmakefile.am:
2278
2279 2012-12-10  No'am Rosenthal  <noam@webkit.org>
2280
2281         REGRESSION (r137006): CSS clip on solid color composited div broken
2282         https://bugs.webkit.org/show_bug.cgi?id=104604
2283
2284         Reviewed by Simon Fraser.
2285
2286         Disable direct compositing of background color for clipping layers.
2287
2288         Test: compositing/geometry/clip-inside.html
2289
2290         * rendering/RenderLayerBacking.cpp:
2291         (WebCore::supportsDirectBoxDecorationsComposition):
2292             Never allow direct background composition if there is a clip.
2293
2294 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
2295
2296         REGRESSION (r137215): WebKit stretches and shrinks a part of screen on scroll
2297         https://bugs.webkit.org/show_bug.cgi?id=104626
2298
2299         Reviewed by Beth Dakin.
2300
2301         r137215 removed a compositing layer repaint on size changes. However, there
2302         are cases where the compositing code constrains layer size by clipping
2303         with the viewport and a clipping ancestor. When that happens, we must
2304         invalidate the layer on a size change to avoid showing stretched or
2305         shrunken content.
2306
2307         Test: compositing/repaint/clipped-layer-size-change.html
2308
2309         * rendering/RenderLayerBacking.cpp:
2310         (WebCore::RenderLayerBacking::RenderLayerBacking):
2311         (WebCore::RenderLayerBacking::updateCompositedBounds):
2312         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2313         * rendering/RenderLayerBacking.h:
2314         (RenderLayerBacking):
2315
2316 2012-12-10  Dean Jackson  <dino@apple.com>
2317
2318         Remove old WebKit Animation API code
2319         https://bugs.webkit.org/show_bug.cgi?id=104611
2320
2321         Reviewed by Simon Fraser.
2322
2323         Remove the existing, unused animation API code. We'll look into
2324         implementing the W3C Animation API if/when it is stable.
2325
2326         * CMakeLists.txt: Remove WebKitAnimation and WebKitAnimationList classes.
2327         * DerivedSources.cpp:
2328         * DerivedSources.make:
2329         * DerivedSources.pri:
2330         * GNUmakefile.list.am:
2331         * Target.pri:
2332         * UseJSC.cmake:
2333         * UseV8.cmake:
2334         * WebCore.gypi:
2335         * WebCore.vcproj/WebCore.vcproj:
2336         * WebCore.xcodeproj/project.pbxproj:
2337         * bindings/js/JSBindingsAllInOne.cpp: Remove includes.
2338         * bindings/js/JSWebKitAnimationCustom.cpp: Removed.
2339         * bindings/js/JSWebKitAnimationListCustom.cpp: Removed.
2340         * dom/Element.cpp: Remove API.
2341         * dom/Element.h: Ditto.
2342         * dom/Element.idl: Ditto.
2343         * page/DOMWindow.idl: Ditto.
2344         * page/WebKitAnimation.cpp: Removed.
2345         * page/WebKitAnimation.h: Removed.
2346         * page/WebKitAnimation.idl: Removed.
2347         * page/WebKitAnimationList.cpp: Removed.
2348         * page/WebKitAnimationList.h: Removed.
2349         * page/WebKitAnimationList.idl: Removed.
2350         * page/animation/AnimationController.cpp: Remove API.
2351         * page/animation/AnimationController.h: Ditto.
2352         * page/animation/AnimationControllerPrivate.h: Ditto.
2353         * page/animation/CompositeAnimation.cpp: Ditto.
2354         * page/animation/CompositeAnimation.h: Ditto.
2355
2356 2012-12-10  Jessie Berlin  <jberlin@apple.com>
2357
2358         Fix the Mac build after r137233
2359
2360         * html/shadow/HTMLShadowElement.h:
2361         Remove a declaration of a member variable that was moved to the InsertionPoint superclass.
2362
2363 2012-12-10  KyungTae Kim  <ktf.kim@samsung.com>
2364
2365         Build fix after r137221
2366         https://bugs.webkit.org/show_bug.cgi?id=104617
2367
2368         Unreviewed build fix
2369
2370         * html/HTMLPropertiesCollection.cpp:
2371         (WebCore::nextNodeWithProperty):
2372
2373 2012-12-10  Hajime Morrita  <morrita@google.com>
2374
2375         [Shadow DOM][Refactoring] HTMLContentElement,HTMLShadowElement::m_registeredWithShadowRoot should be moved to InsertionPoint
2376         https://bugs.webkit.org/show_bug.cgi?id=104516
2377
2378         Reviewed by Dimitri Glazkov.
2379
2380         This change pulls duplicated code in removedFrom() and
2381         insertedInto() of both both HTMLShadowElement and
2382         HTMLContentElement to their super class InsertionPoint.
2383
2384         This is a part of effor that encapsulate node distribution algorithm to
2385         ContentDistributor and its family.
2386
2387         No new tests, no behavior change.
2388
2389         * dom/ShadowRoot.cpp:
2390         (WebCore::ShadowRoot::registerInsertionPoint): Added.
2391         (WebCore::ShadowRoot::unregisterInsertionPoint): Added.
2392         * dom/ShadowRoot.h:
2393         (ShadowRoot):
2394         * html/shadow/ContentDistributor.cpp:
2395         (WebCore::ShadowRootContentDistributionData::regiterInsertionPoint): Generalized two methods for <content> and <shadow>.
2396         (WebCore):
2397         (WebCore::ShadowRootContentDistributionData::unregisterInsertionPoint): Ditto.
2398         * html/shadow/ContentDistributor.h:
2399         (ShadowRootContentDistributionData):
2400         * html/shadow/HTMLContentElement.cpp:
2401         (WebCore::HTMLContentElement::HTMLContentElement):
2402         * html/shadow/HTMLContentElement.h:
2403         * html/shadow/HTMLShadowElement.cpp:
2404         (WebCore::HTMLShadowElement::HTMLShadowElement):
2405         * html/shadow/HTMLShadowElement.h:
2406         * html/shadow/InsertionPoint.cpp:
2407         (WebCore::InsertionPoint::InsertionPoint):
2408         (WebCore::InsertionPoint::insertedInto): Pulled up from subclasses
2409         (WebCore::InsertionPoint::removedFrom): Pulled up from subclasses
2410         * html/shadow/InsertionPoint.h:
2411         (InsertionPoint):
2412
2413 2012-12-10  Jon Lee  <jonlee@apple.com>
2414
2415         Keep track of plug-in snapshots clicked by user
2416         https://bugs.webkit.org/show_bug.cgi?id=103206
2417         <rdar://problem/12746483>
2418
2419         Reviewed by Anders Carlsson.
2420
2421         * html/HTMLPlugInImageElement.cpp:
2422         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initially the hash is
2423         unknown. Set to 0. Move the check for whether to snapshot the plugin into the
2424         new function subframeLoaderWillLoadPlugIn.
2425         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Rename
2426         setPendingClickEvent to userDidClickSnapshot. In addition to holding onto the
2427         click event used to activate the plug-in, the function now also tells the plug-in
2428         client to add the origin hash as an auto-start origin.
2429         (WebCore::HTMLPlugInImageElement::subframeLoaderWillLoadPlugIn): Calculate the
2430         hash based on the provided URL, which is the URL the plug-in will load. Extend
2431         the check that used to be in the constructor to see if the plug-in should not
2432         automatically load, including checking the plug-in size and whether the hash
2433         is an auto-start origin.
2434         * html/HTMLPlugInImageElement.h: Rename setPendingClickEvent to userDidClickSnapshot
2435         and add a variable for the origin hash.
2436
2437         * loader/SubframeLoader.cpp:
2438         (WebCore::SubframeLoader::requestPlugin): When the loader is about to load the
2439         plug-in, pass the URL to the element, so that it can calculate the hash.
2440
2441         * page/Page.cpp:
2442         (WebCore::Page::Page): Take the plugInClient from the page clients.
2443         (WebCore::Page::~Page): If the client exists, tell it that the page is being
2444         destroyed.
2445         (WebCore::Page::PageClients::PageClients): Initialize this optional client to
2446         null.
2447         * page/Page.h: Add PlugInClient to page clients.
2448         (PageClients): Add PlugInClient variable.
2449         (WebCore::Page::plugInClient):
2450         * page/PlugInClient.h: Added.
2451
2452         * rendering/RenderSnapshottedPlugIn.cpp:
2453         (WebCore::RenderSnapshottedPlugIn::handleEvent): Call the renamed function
2454         userDidClickSnapshot().
2455         (WebCore::RenderSnapshottedPlugIn::layout): Move the check of the plug-in size
2456         to subframeLoaderWillLoadPlugIn.
2457
2458         Add PlugInClient.h.
2459         * GNUmakefile.list.am:
2460         * Target.pri:
2461         * WebCore.vcproj/WebCore.vcproj:
2462         * WebCore.xcodeproj/project.pbxproj:
2463
2464 2012-12-10  Antti Koivisto  <antti@apple.com>
2465
2466         Not reviewed.
2467         
2468         Build fix.
2469
2470         * html/HTMLPropertiesCollection.cpp:
2471         (WebCore::nextNodeWithProperty):
2472         * page/TouchDisambiguation.cpp:
2473         (WebCore::boundingBoxForEventNodes):
2474
2475 2012-12-10  Beth Dakin  <bdakin@apple.com>
2476
2477         https://bugs.webkit.org/show_bug.cgi?id=104602
2478         DidHitRelevantRepaintedObjectsAreaThreshold LayoutMilestone fires too 
2479         early on some pages with iframes
2480
2481         Reviewed by Simon Fraser.
2482
2483         This change makes it so that any RenderObjects inside iframes are not 
2484         considered relevant.
2485         * page/Page.cpp:
2486         (WebCore::Page::addRelevantRepaintedObject):
2487
2488 2012-12-10  David Grogan  <dgrogan@chromium.org>
2489
2490         IndexedDB: Propagate more leveldb errors to script
2491         https://bugs.webkit.org/show_bug.cgi?id=104422
2492
2493         Reviewed by Tony Chang.
2494
2495         These are the last places that ignore leveldb errors that can get the
2496         usual ok/found treatment.
2497
2498         Nothing called getBool, so it is deleted.
2499
2500         * Modules/indexeddb/IDBBackingStore.cpp:
2501         (WebCore):
2502         (WebCore::getInt):
2503         (WebCore::isSchemaKnown):
2504         (WebCore::setUpMetadata):
2505         (WebCore::getMaxObjectStoreId):
2506         (WebCore::IDBBackingStore::open):
2507         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
2508         (WebCore::getNewDatabaseId):
2509         (WebCore::IDBBackingStore::createIDBDatabaseMetaData):
2510         (WebCore::setMaxObjectStoreId):
2511         (WebCore::getNewVersionNumber):
2512         (WebCore::IDBBackingStore::putRecord):
2513         (WebCore::setMaxIndexId):
2514         * Modules/indexeddb/IDBBackingStore.h:
2515         (IDBBackingStore):
2516         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2517         (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
2518         (WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::perform):
2519
2520 2012-12-09  Antti Koivisto  <antti@apple.com>
2521
2522         Factor node traversal into standalone functions
2523         https://bugs.webkit.org/show_bug.cgi?id=104507
2524
2525         Reviewed by Eric Seidel.
2526
2527         Node traversal functions are currently Node and ContainerNode members. Their implementations
2528         are confusingly scattered over multiple header and source files. These functions have no particular
2529         reason to be members as they don't require non-public access. They should be made freestanding
2530         function instead and gathered together.
2531         
2532         This patch adds NodeTraversal namespace, defined in NodeTraversal.h. It contains freestanding
2533         functions for traversing Nodes. Most popular functions are inlined (as before) and
2534         there are ContainerNode specific specializations (as before).
2535         
2536         In client code
2537         
2538             node = node->traverseNextNode();
2539             node = node->traverseNextSibling();
2540         
2541         becomes
2542         
2543             node = NodeTraversal::next(node);
2544             node = NodeTraversal::nextSkippingChildren(node);
2545             
2546         etc.
2547
2548         * WebCore.exp.in:
2549         * WebCore.xcodeproj/project.pbxproj:
2550         * accessibility/AccessibilityNodeObject.cpp:
2551         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
2552         * accessibility/AccessibilityObject.cpp:
2553         (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
2554         * accessibility/AccessibilityRenderObject.cpp:
2555         (WebCore::AccessibilityRenderObject::addImageMapChildren):
2556         * bindings/js/JSDocumentCustom.cpp:
2557         (WebCore::toJS):
2558         * css/SelectorChecker.cpp:
2559         (WebCore::SelectorChecker::allVisitedStateChanged):
2560         (WebCore::SelectorChecker::visitedStateChanged):
2561         * css/StyleInvalidationAnalysis.cpp:
2562         (WebCore::StyleInvalidationAnalysis::invalidateStyle):
2563         * dom/ContainerNode.cpp:
2564         (WebCore::dispatchChildInsertionEvents):
2565         (WebCore::dispatchChildRemovalEvents):
2566         * dom/ContainerNode.h:
2567         (ContainerNode):
2568         (WebCore):
2569         * dom/ContainerNodeAlgorithms.h:
2570         (WebCore::ChildFrameDisconnector::collectDescendant):
2571         * dom/Document.cpp:
2572         (WebCore::Document::buildAccessKeyMap):
2573         (WebCore::Document::removeAllEventListeners):
2574         (WebCore::Document::updateBaseURL):
2575         (WebCore::Document::processBaseElement):
2576         (WebCore::Document::nodeAbsIndex):
2577         (WebCore::Document::nodeWithAbsIndex):
2578         (WebCore::Document::getFocusableNodes):
2579         * dom/DocumentMarkerController.cpp:
2580         (WebCore::DocumentMarkerController::markersInRange):
2581         (WebCore::DocumentMarkerController::setMarkersActive):
2582         (WebCore::DocumentMarkerController::hasMarkers):
2583         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
2584         * dom/DocumentOrderedMap.cpp:
2585         (WebCore::DocumentOrderedMap::get):
2586         * dom/ElementShadow.cpp:
2587         (WebCore::ElementShadow::collectSelectFeatureSetFrom):
2588         * dom/Node.cpp:
2589         (WebCore::Node::normalize):
2590         (WebCore::Node::lazyAttach):
2591         (WebCore):
2592         (WebCore::Node::detach):
2593         (WebCore::traverseTreeAndMark):
2594         * dom/Node.h:
2595         (Node):
2596         * dom/NodeIterator.cpp:
2597         (WebCore::NodeIterator::NodePointer::moveToNext):
2598         (WebCore::NodeIterator::NodePointer::moveToPrevious):
2599         (WebCore::NodeIterator::updateForNodeRemoval):
2600         * dom/NodeTraversal.h: Added.
2601         (WebCore):
2602         (NodeTraversal):
2603         (WebCore::NodeTraversal::traverseNextNodeTemplate):
2604         (WebCore::NodeTraversal::next):
2605         (WebCore::NodeTraversal::traverseNextSiblingTemplate):
2606         (WebCore::NodeTraversal::nextSibling):
2607         * dom/Range.cpp:
2608         (WebCore::Range::toString):
2609         (WebCore::Range::checkDeleteExtract):
2610         (WebCore::Range::firstNode):
2611         (WebCore::Range::pastLastNode):
2612         (WebCore::Range::textRects):
2613         (WebCore::Range::textQuads):
2614         (WebCore::Range::getBorderAndTextQuads):
2615         * dom/TreeScope.cpp:
2616         (WebCore::TreeScope::labelElementForId):
2617         (WebCore::TreeScope::findAnchor):
2618         * dom/TreeScopeAdopter.cpp:
2619         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2620         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
2621         * dom/TreeWalker.cpp:
2622         (WebCore::TreeWalker::nextNode):
2623         * editing/ApplyStyleCommand.cpp:
2624         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2625         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
2626         (WebCore::containsNonEditableRegion):
2627         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
2628         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
2629         (WebCore::ApplyStyleCommand::removeInlineStyle):
2630         * editing/BreakBlockquoteCommand.cpp:
2631         (WebCore::BreakBlockquoteCommand::doApply):
2632         * editing/CompositeEditCommand.cpp:
2633         (WebCore::CompositeEditCommand::deleteInsignificantText):
2634         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
2635         * editing/DeleteSelectionCommand.cpp:
2636         (WebCore::firstEditablePositionInNode):
2637         (WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):
2638         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2639         * editing/EditCommand.cpp:
2640         (WebCore::SimpleEditCommand::addNodeAndDescendants):
2641         * editing/EditingStyle.cpp:
2642         (WebCore::EditingStyle::triStateOfStyle):
2643         (WebCore::EditingStyle::textDirectionForSelection):
2644         * editing/Editor.cpp:
2645         (WebCore::Editor::simplifyMarkup):
2646         * editing/FrameSelection.cpp:
2647         (WebCore::scanForForm):
2648         (WebCore::FrameSelection::setSelectionFromNone):
2649         * editing/InsertParagraphSeparatorCommand.cpp:
2650         (WebCore::InsertParagraphSeparatorCommand::doApply):
2651         * editing/ReplaceSelectionCommand.cpp:
2652         (WebCore::ReplacementFragment::removeUnrenderedNodes):
2653         (WebCore::ReplacementFragment::removeInterchangeNodes):
2654         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren):
2655         (WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode):
2656         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2657         (WebCore::removeHeadContents):
2658         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
2659         * editing/ReplaceSelectionCommand.h:
2660         (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
2661         * editing/SimplifyMarkupCommand.cpp:
2662         (WebCore::SimplifyMarkupCommand::doApply):
2663         * editing/TextIterator.cpp:
2664         (WebCore::TextIterator::advance):
2665         (WebCore::shouldEmitNewlineAfterNode):
2666         * editing/htmlediting.cpp:
2667         (WebCore::hasARenderedDescendant):
2668         * editing/mac/EditorMac.mm:
2669         (WebCore::Editor::fontForSelection):
2670         * editing/markup.cpp:
2671         (WebCore::completeURLs):
2672         (WebCore::StyledMarkupAccumulator::traverseNodesForSerialization):
2673         (WebCore::findNodesSurroundingContext):
2674         (WebCore::trimFragment):
2675         * editing/visible_units.cpp:
2676         (WebCore::startOfParagraph):
2677         (WebCore::endOfParagraph):
2678         * html/HTMLCollection.cpp:
2679         (WebCore::nextNode):
2680         * html/HTMLElement.cpp:
2681         (WebCore::setHasDirAutoFlagRecursively):
2682         (WebCore::HTMLElement::directionality):
2683         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
2684         (WebCore::HTMLElement::getItemRefElements):
2685         * html/HTMLFieldSetElement.cpp:
2686         (WebCore::HTMLFieldSetElement::invalidateDisabledStateUnder):
2687         (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
2688         * html/HTMLFormElement.cpp:
2689         (WebCore::HTMLFormElement::formElementIndex):
2690         * html/HTMLLabelElement.cpp:
2691         (WebCore::HTMLLabelElement::control):
2692         * html/HTMLLegendElement.cpp:
2693         (WebCore::HTMLLegendElement::associatedControl):
2694         * html/HTMLMapElement.cpp:
2695         (WebCore::HTMLMapElement::mapMouseEvent):
2696         * html/HTMLNameCollection.cpp:
2697         (WebCore::HTMLNameCollection::virtualItemAfter):
2698         * html/HTMLOptionElement.cpp:
2699         (WebCore::HTMLOptionElement::collectOptionInnerText):
2700         * html/HTMLPropertiesCollection.cpp:
2701         (WebCore::nextNodeWithProperty):
2702         * html/HTMLSelectElement.cpp:
2703         (WebCore::HTMLSelectElement::recalcListItems):
2704         * html/HTMLTextFormControlElement.cpp:
2705         (WebCore::HTMLTextFormControlElement::selection):
2706         (WebCore::HTMLTextFormControlElement::innerTextValue):
2707         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
2708         * html/RadioInputType.cpp:
2709         (WebCore::RadioInputType::handleKeydownEvent):
2710         * html/shadow/ContentDistributor.cpp:
2711         (WebCore::ShadowRootContentDistributionData::ensureInsertionPointList):
2712         * inspector/InspectorDOMAgent.cpp:
2713         (WebCore::InspectorDOMAgent::performSearch):
2714         * inspector/InspectorMemoryAgent.cpp:
2715         * page/FocusController.cpp:
2716         (WebCore::FocusController::findFocusCandidateInContainer):
2717         * page/Frame.cpp:
2718         (WebCore::Frame::searchForLabelsAboveCell):
2719         (WebCore::Frame::searchForLabelsBeforeElement):
2720         * rendering/RenderNamedFlowThread.cpp:
2721         (WebCore::RenderNamedFlowThread::getRanges):
2722         * svg/SVGSVGElement.cpp:
2723         (WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
2724         (WebCore::SVGSVGElement::getElementById):
2725         * svg/SVGUseElement.cpp:
2726         (WebCore::removeDisallowedElementsFromSubtree):
2727         * svg/animation/SMILTimeContainer.cpp:
2728         (WebCore::SMILTimeContainer::updateDocumentOrderIndexes):
2729         * xml/XPathNodeSet.cpp:
2730         (WebCore::XPath::NodeSet::traversalSort):
2731         * xml/XPathStep.cpp:
2732         (WebCore::XPath::Step::nodesInAxis):
2733         * xml/XPathUtil.cpp:
2734         (WebCore::XPath::stringValue):
2735
2736 2012-12-10  Min Qin  <qinmin@chromium.org>
2737
2738         Sending multi-touch events to the same Iframe
2739         https://bugs.webkit.org/show_bug.cgi?id=97973
2740
2741         Reviewed by Dimitri Glazkov.
2742
2743         Multi-Touch in different iframe can give both documents access to each other.
2744         This could cause cross-origin access. To solve this, all the touch events should
2745         be sent to the iframe where the first touchstart happens.
2746
2747         Test: fast/events/touch/multi-touch-inside-iframes.html
2748               fast/events/touch/multi-touch-inside-nested-iframes.html
2749
2750         * page/EventHandler.cpp:
2751         (WebCore::EventHandler::handleTouchEvent):
2752         * page/EventHandler.h:
2753
2754 2012-12-10  KyungTae Kim  <ktf.kim@samsung.com>
2755
2756         [soup] Fix build warning in ResourceHandleSoup.cpp
2757         https://bugs.webkit.org/show_bug.cgi?id=104605
2758
2759         Reviewed by Martin Robinson.
2760
2761         The nextMultipartResponsePartCallback has unused parameter 'source',
2762         comment out it to fix 'unused parameter' build warning.
2763
2764         * platform/network/soup/ResourceHandleSoup.cpp:
2765         (WebCore::nextMultipartResponsePartCallback):
2766
2767 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
2768
2769         Fix frame border painting in tiled drawing mode
2770         https://bugs.webkit.org/show_bug.cgi?id=104453
2771         <rdar://problem/11678611>
2772
2773         Reviewed by Dan Bernstein.
2774
2775         Frame borders were not correctly invalidated when in tiled drawing mode, because
2776         RenderFrameSet::layout() invalidated directly on the view, which skips the tile
2777         cache.
2778         
2779         Fix by invalidating like all other renderers, via the repaint container.
2780         
2781         Also, the layer transform should be updated before the invalidation, and
2782         we make use of RenderObject::updateLayerTransform() which has the same behavior
2783         as the old code.
2784
2785         Attempts to make a layout test failed. Resizing composited framesets repainted
2786         via layer resizing, and an attempt to make a ref test in tiled drawing mode
2787         failed (the test passed without the patch).
2788
2789         * rendering/RenderFrameSet.cpp:
2790         (WebCore::RenderFrameSet::layout):
2791
2792 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
2793
2794         When converting a layer into a tiled layer, ensure that we update the visible rect
2795         https://bugs.webkit.org/show_bug.cgi?id=104467
2796
2797         Reviewed by Darin Adler.
2798
2799         When a GraphicsLayerCA toggles to use a TileCache, we have to ensure that the
2800         layer's visible rect (which is used to ensure tile coverage) is updated in
2801         the same commit. Otherwise we can get blank layers until something else causes
2802         the visible rect to be updated.
2803
2804         Test: compositing/tiling/tiled-layer-resize.html
2805
2806         * platform/graphics/ca/GraphicsLayerCA.cpp:
2807         (WebCore::GraphicsLayerCA::dumpAdditionalProperties): With the debug flag, dump the TiledBacking
2808         address for ease of debugging.
2809         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Set the VisibleRectChanged bit in
2810         m_uncommittedChanges if we've just switched to a tiled layer.
2811
2812 2012-12-10  Simon Fraser  <simon.fraser@apple.com>
2813
2814         Don't unconditionally repaint compositing layers when their size changes
2815         https://bugs.webkit.org/show_bug.cgi?id=104461
2816
2817         Reviewed by Sam Weinig.
2818
2819         RenderLayerBacking always repainted the entire compositing layer when its size
2820         changed. This was done to fix repaint issues when outline widths changes, but
2821         that issue is now solved by repainting in GraphicsLayer::setOffsetFromRenderer(),
2822         add in r134628. I believe this is no longer necessary.
2823         
2824         Always repainting when the size changes is terrible for the tile cache when
2825         loading large documents, as all tiles repaint every time the document gets
2826         longer.
2827
2828         Test: compositing/repaint/resize-repaint.html
2829
2830         * rendering/RenderLayerBacking.cpp:
2831         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2832
2833 2012-12-10  Ojan Vafai  <ojan@chromium.org>
2834
2835         Unreviewed, rolling out r134150.
2836         http://trac.webkit.org/changeset/134150
2837         https://bugs.webkit.org/show_bug.cgi?id=99940
2838
2839         Caused JS-based tooltips to remain during scroll on Facebook
2840         and Gmail. Rollout until I have time to experiment with less
2841         aggresive approaches.
2842
2843         * page/EventHandler.cpp:
2844         (WebCore):
2845         (WebCore::MaximumDurationTracker::MaximumDurationTracker):
2846         (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
2847         (MaximumDurationTracker):
2848         (WebCore::EventHandler::EventHandler):
2849         (WebCore::EventHandler::clear):
2850         (WebCore::EventHandler::mouseMoved):
2851         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
2852         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
2853         * page/EventHandler.h:
2854         (EventHandler):
2855         * platform/Timer.h:
2856
2857 2012-12-10  Yi Shen  <max.hong.shen@gmail.com>
2858
2859         Keyboard caret movement in textarea with RTL Override Character can make tab unresponsive
2860         https://bugs.webkit.org/show_bug.cgi?id=103067
2861
2862         Reviewed by Ryosuke Niwa.
2863
2864         For textarea with RTL override character, the line break could be the previous leaf InlineTextBox of
2865         the InlineTextBox for the RTL override text. When overshots the left/right, make sure the 
2866         leftVisuallyDistinctCandidate and rightVisuallyDistinctCandidate return the visually distinct 
2867         left/right position by ignoring the line break.
2868
2869         Test: editing/selection/move-by-character-crash-test-textarea.html
2870
2871         * editing/VisiblePosition.cpp:
2872         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
2873         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
2874
2875 2012-12-10  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2876
2877         [EFL][WebGL] Minor Refactoring in GraphicsContext3DEfl.
2878         https://bugs.webkit.org/show_bug.cgi?id=104553.
2879
2880         Reviewed by Kenneth Rohde Christiansen.
2881
2882         We use different FBO for canvas and offscreen surface of our platform layer.
2883         Thus we need to manage any bound buffers while copying contents to the surface. Currently, Surface
2884         always uses double buffering but in future we should be able to configure it to use either
2885         double or single buffer. For these use cases, it would be handy to bind buffers directly to
2886         FBO used by the surface. This patch does the needed changes in GraphicsContext3DEfl and
2887         PlatformSurface. Also, removes some unused code.
2888
2889         Covered by existing tests.
2890
2891         Relevant changes in GraphicsContext3DEfl to obtain FBO id from PlatformSurface.
2892         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2893         (WebCore::GraphicsContext3D::GraphicsContext3D):
2894         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2895
2896         Renamed createGraphicsSurface to didResizeCanvas.
2897         (WebCore::GraphicsContext3D::createGraphicsSurfaces):
2898         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2899         (GraphicsContext3DPrivate::didResizeCanvas):
2900         (GraphicsContext3DPrivate::copyToGraphicsSurface):
2901         * platform/graphics/efl/GraphicsContext3DPrivate.h:
2902         (GraphicsContext3DPrivate):
2903
2904         Header cleanup.
2905         * platform/graphics/opengl/GLDefs.h:
2906         * platform/graphics/opengl/GLPlatformContext.cpp:
2907         (WebCore::GLPlatformContext::createContext):
2908         * platform/graphics/opengl/GLPlatformContext.h:
2909
2910         Added initialize method to expose FBO id of the surface.
2911         Removed unused code.
2912         * platform/graphics/opengl/GLPlatformSurface.cpp:
2913         (WebCore::GLPlatformSurface::initialize):
2914         (WebCore):
2915         (WebCore::GLPlatformSurface::updateContents):
2916         * platform/graphics/opengl/GLPlatformSurface.h:
2917         (GLPlatformSurface):
2918         * platform/graphics/surfaces/glx/GLXSurface.h:
2919
2920 2012-12-07  Simon Fraser  <simon.fraser@apple.com>
2921
2922         Tidy up the tiled scrolling indicator, fix with zooming
2923         https://bugs.webkit.org/show_bug.cgi?id=104386
2924
2925         Reviewed by Tim Horton.
2926
2927         Fix the tiled scrolling indicator to not get tiny when zooming,
2928         to not poke out of the bottom of the window, and to not look
2929         so crappy.
2930
2931         * platform/graphics/ca/mac/TileCache.mm:
2932         (WebCore::TileCache::updateTileCoverageMap):
2933         (WebCore::TileCache::drawTileMapContents):
2934
2935 2012-12-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2936
2937         Unreviewed, rolling out r136817.
2938         http://trac.webkit.org/changeset/136817
2939         https://bugs.webkit.org/show_bug.cgi?id=104596
2940
2941         This patch was an unnecessarily complex solution to handling
2942         conversion of union types. (Requested by mpruett on #webkit).
2943
2944         * bindings/js/JSDictionary.cpp:
2945         (WebCore::JSDictionary::convertValue):
2946         * bindings/js/JSDictionary.h:
2947         (WebCore::JSDictionary::tryGetPropertyAndResult):
2948
2949 2012-12-10  Tab Atkins  <tabatkins@google.com>
2950
2951         Deprecate prefixed linear-gradient and radial-gradient functions
2952         https://bugs.webkit.org/show_bug.cgi?id=104591
2953
2954         Reviewed by Dean Jackson.
2955
2956         Rename the old gradient parsing functions in anticipation of functions that parse the new syntax.
2957
2958         No new tests added - this is a rename and has no functionality change.
2959
2960         * css/CSSParser.cpp:
2961         (WebCore::CSSParser::parseDeprecatedLinearGradient):
2962         (WebCore::CSSParser::parseDeprecatedRadialGradient):
2963         (WebCore::CSSParser::parseGeneratedImage):
2964         * css/CSSParser.h:
2965
2966 2012-12-10  Mark Pilgrim  <pilgrim@chromium.org>
2967
2968         [Chromium][Win] Remove theme-related functions from PlatformSupport
2969         https://bugs.webkit.org/show_bug.cgi?id=102699
2970
2971         Reviewed by Adam Barth.
2972
2973         Call theme engine directly instead of going through
2974         PlatformSupport. Part of a refactoring series. See tracking bug 82948.
2975
2976         * platform/chromium/PlatformSupport.h:
2977         (PlatformSupport):
2978         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
2979         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
2980         (WebCore::ScrollbarThemeChromiumWin::paintButton):
2981         * rendering/RenderThemeChromiumWin.cpp:
2982         (WebCore):
2983         (WebCore::RenderThemeChromiumWin::paintButton):
2984         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
2985         (WebCore::RenderThemeChromiumWin::paintSliderThumb):
2986         (WebCore::RenderThemeChromiumWin::paintMenuList):
2987         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2988         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
2989         (WebCore::RenderThemeChromiumWin::paintProgressBar):
2990
2991 2012-12-10  Dean Jackson  <dino@apple.com>
2992
2993         Support for CSS widows and orphans
2994         https://bugs.webkit.org/show_bug.cgi?id=9410
2995
2996         Reviewed by Darin Adler.
2997
2998         The CSS 'widow' and 'orphan' properties were supported by the parser and
2999         style system, but were not actually doing anything in layout. Now they do!
3000
3001         In order to not break existing content, I unfortunately had to go against
3002         the specification and change our default value from 2 to auto. A value of
3003         auto means that widows and orphans will not cause any page/column breaks.
3004
3005         Supporting orphans was a small change. During line layout, if we realise
3006         we need to move to a new page in a situation that would create an orphan,
3007         move the entire block to the new page. There was already code to do this.
3008
3009         Support for widows was trickier. When we finish laying out a block, count
3010         the number of hanging lines. If we've created a widow, and there are enough
3011         available lines on the previous page, then steal some and remember the line
3012         to break at. Trigger a relayout. Then notice the line that was marked for
3013         breaking and avoid the widow. This means some blocks go through layout
3014         twice, but as long as the widow value is small it shouldn't be a huge penalty.
3015
3016         Tests: fast/multicol/widows-and-orphans.html (new test)
3017                printing/page-break-orphans.html
3018                printing/page-break-orphans-and-widows.html
3019                printing/page-break-widows.html
3020
3021         * css/CSSComputedStyleDeclaration.cpp:
3022         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return CSSValueAuto for widows and orphans if necessary.
3023         * css/CSSParser.cpp:
3024         (WebCore::CSSParser::parseValue): Support "auto" in widow and orphan property parsing.
3025         * css/StyleBuilder.cpp:
3026         (WebCore::StyleBuilder::StyleBuilder): Change property handler to something that supports auto.
3027         * page/animation/CSSPropertyAnimation.cpp:
3028         (WebCore::CSSPropertyAnimation::ensurePropertyMap): Add widows and orphans to the animation map.
3029         * rendering/RenderBlock.cpp:
3030         (WebCore::RenderBlock::layoutBlockChild): Detect if we've caused a widow-fixing break, and request relayout evaluation.
3031         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): Test for a widow-fixing line.
3032         (WebCore::RenderBlock::setBreakAtLineToAvoidWidow): New function to remember where we should break on next layout.
3033         (WebCore::RenderBlock::adjustLinePositionForPagination): Move the entire block to a new page if this would create an orphan.
3034         * rendering/RenderBlock.h:
3035         (WebCore::RenderBlock::shouldBreakAtLineToAvoidWidow): New function to indicate if we are remembering a widow.
3036         (WebCore::RenderBlock::clearShouldBreakAtLineToAvoidWidow): Reset the line breaks.
3037         (WebCore::RenderBlock::lineBreakToAvoidWidow):
3038         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData): Add a flag for indicating if we are remembering a line, and the actual line itself.
3039         * rendering/RenderBlockLineLayout.cpp:
3040         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): The code to detect and fix widows. Explained above.
3041         * rendering/style/RenderStyle.h: New methods for indicating if widows and orphans are non-default values.
3042         * rendering/style/StyleRareInheritedData.cpp: Ditto.
3043         * rendering/style/StyleRareInheritedData.h: Ditto.
3044
3045 2012-12-10  Zan Dobersek  <zandobersek@gmail.com>
3046
3047         REGRESSION (r118735): svg/dom/complex-svgView-specification.html, svg/dom/SVGViewSpec.html, svg/dom/viewspec-parser.html failing on GTK Linux 64-bit Release
3048         https://bugs.webkit.org/show_bug.cgi?id=87734
3049
3050         Reviewed by Martin Robinson.
3051
3052         Don't modify ResourceRequest's URL to have the value of the (encoded)
3053         URI of the SoupMessage. The only exception is in the case of cancelled
3054         SoupMessage - the URL of the ResourceRequest should then be null.
3055
3056         No new tests - existing tests should show no regressions.
3057
3058         * platform/network/soup/ResourceRequestSoup.cpp:
3059         (WebCore::ResourceRequest::updateFromSoupMessage):
3060
3061 2012-12-10  Gustavo Noronha Silva  <gns@gnome.org>
3062
3063         Unreviewed distcheck fix.
3064
3065         * GNUmakefile.list.am:
3066
3067 2012-12-10  Eric Seidel  <eric@webkit.org>
3068
3069         Caused crashes in v8.  Rolling out until abarth can fix.  See cr-issue 165136 for more info
3070         https://bugs.webkit.org/show_bug.cgi?id=104575
3071
3072         Unreviewed, just rolling out r136559.
3073
3074         * bindings/v8/V8GCController.cpp:
3075         * bindings/v8/V8NodeFilterCondition.cpp:
3076         (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
3077         (WebCore::V8NodeFilterCondition::acceptNode):
3078         * bindings/v8/V8NodeFilterCondition.h:
3079         (WebCore::V8NodeFilterCondition::create):
3080         (V8NodeFilterCondition):
3081         * dom/NodeFilter.h:
3082
3083 2012-12-10  Eric Carlson  <eric.carlson@apple.com>
3084
3085         Unreviewed build fix after r137167.
3086
3087         * WebCore.xcodeproj/project.pbxproj: Add InbandTextTrackPrivate.h to framework private 
3088             headers.
3089
3090 2012-12-10  Martin Robinson  <mrobinson@igalia.com>
3091
3092         Fix the GTK+ build after a collision of two patches.
3093
3094         Unreviewed build fix.
3095
3096         * bindings/gobject/GNUmakefile.am: The GObject DOM bindings library needs to
3097         include the harfbuzz cflags when compiling.
3098
3099 2012-12-10  Parth Patel  <parpatel@rim.com>
3100
3101         Make hiddenPageDomTimerInterval a setting
3102         https://bugs.webkit.org/show_bug.cgi?id=104555
3103
3104         Reviewed by Yong Li.
3105
3106         Make hiddenPageDomTimerInterval a setting so client can customize it.
3107
3108         No new tests are needed.
3109
3110         * page/Page.cpp:
3111         (WebCore):
3112         (WebCore::Page::setVisibilityState):
3113         * page/Settings.cpp:
3114         (WebCore):
3115         (WebCore::Settings::setHiddenPageDOMTimerAlignmentInterval):
3116         (WebCore::Settings::hiddenPageDOMTimerAlignmentInterval):
3117         * page/Settings.h:
3118         (Settings):
3119
3120 2012-12-10  peavo@outlook.com  <peavo@outlook.com>
3121
3122         [WinCairo] Compile fix in ImageCairoWin.cpp
3123         https://bugs.webkit.org/show_bug.cgi?id=104554
3124
3125         Reviewed by Brent Fulgham.
3126
3127         * platform/graphics/win/ImageCairoWin.cpp:
3128         (WebCore::BitmapImage::getHBITMAPOfSize): Added parameter.
3129         (WebCore::BitmapImage::drawFrameMatchingSourceSize): Added parameter.
3130
3131 2012-12-10  Mike West  <mkwst@chromium.org>
3132
3133         Log to console when script is blocked by sandbox attributes.
3134         https://bugs.webkit.org/show_bug.cgi?id=104365
3135
3136         Reviewed by Ojan Vafai.
3137
3138         Adds a console message to cover script execution blocked within the
3139         context of a sandboxed frame which lacks the 'allow-scripts' permission.
3140
3141         * bindings/ScriptControllerBase.cpp:
3142         (WebCore::ScriptController::canExecuteScripts):
3143             Log a warning when sandboxing flags block script execution.
3144
3145 2012-12-10  Chris Fleizach  <cfleizach@apple.com>
3146
3147         AX: Crash in NSAccessibilityUnignoredDescendant
3148         https://bugs.webkit.org/show_bug.cgi?id=104468
3149
3150         Reviewed by Anders Carlsson.
3151
3152         This crash occurred because AccessibilityScrollView stopped retaining it's ScrollView pointer.
3153
3154         Unfortunately, there was still a case that didn't correctly clear that variable. 
3155
3156         That case was when a Frame had a new FrameView associated with it. The old FrameView didn't inform the 
3157         accessibility object cache that it should be removed. As a result, when the FrameView deallocated and 
3158         did try to remove, it used the wrong AXObjectCache because it was no longer correctly hooked into the 
3159         document tree.
3160
3161         No new tests. Existing tests will stop crashing.
3162  
3163         * page/Frame.cpp:
3164         (WebCore::Frame::setView): change the name of the method that tells the FrameView to detach
3165         * page/FrameView.cpp:
3166         (WebCore::FrameView::~FrameView):
3167         (WebCore::FrameView::removeFromAXObjectCache): add a method that can be called in multiple places
3168         (WebCore::FrameView::isFrameView):
3169         (WebCore::FrameView::prepareForDetach): detaches scrollbars and accessibility
3170         * page/FrameView.h:
3171         (FrameView):
3172
3173 2012-12-10  Mark Pilgrim  <pilgrim@chromium.org>
3174
3175         [Chromium] Move getPluginsList out of PlatformSupport
3176         https://bugs.webkit.org/show_bug.cgi?id=96507
3177
3178         Reviewed by Darin Fisher.
3179
3180         Part of a refactoring series. See tracking bug 82948.
3181
3182         * WebCore.gypi:
3183         * platform/chromium/PlatformSupport.h:
3184         (PlatformSupport):
3185         * plugins/chromium/PluginDataChromium.cpp:
3186         (WebCore::PluginCache::plugins):
3187         * plugins/chromium/PluginListBuilder.cpp: Added.
3188         (WebKit):
3189         (WebKit::PluginListBuilder::addPlugin):
3190         (WebKit::PluginListBuilder::addMediaTypeToLastPlugin):
3191         (WebKit::PluginListBuilder::addFileExtensionToLastMediaType):
3192         * plugins/chromium/PluginListBuilder.h: Added.
3193         (WebKit):
3194         (PluginListBuilder):
3195         (WebKit::PluginListBuilder::PluginListBuilder):
3196
3197 2012-12-10  Carlos Garcia Campos  <cgarcia@igalia.com>
3198
3199         [GTK] Build GObject DOM bindings as a separate library
3200         https://bugs.webkit.org/show_bug.cgi?id=104527
3201
3202         Reviewed by Xan Lopez.
3203
3204         * bindings/gobject/GNUmakefile.am: Add libWebCoreDOM library.
3205         * bindings/gobject/WebKitDOMBinding.h: Define private macros.
3206         * bindings/gobject/WebKitDOMCustom.h: Don't include webkit/webkitdefines.h.
3207         * bindings/gobject/WebKitDOMEventTarget.h: Ditto.
3208         * bindings/gobject/WebKitDOMObject.h: Ditto.
3209         * bindings/scripts/CodeGeneratorGObject.pm:
3210         (Generate): Don't include webkitglobalsprivate.h.
3211         (WriteData): Don't include webkit/webkitdefines.h.
3212         * bindings/scripts/gobject-generate-headers.pl: Define WEBKIT_API
3213         macro in webkitdomdefines.h.
3214         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
3215         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
3216         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
3217         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
3218         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
3219         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
3220         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
3221         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
3222         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
3223         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
3224         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
3225         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
3226         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
3227         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
3228         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
3229         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
3230         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
3231         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
3232         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
3233         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
3234         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
3235         * bindings/scripts/test/GObject/WebKitDOMTestNode.h:
3236         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3237         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3238         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
3239         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h:
3240         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
3241         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
3242
3243 2012-12-10  Adam Klein  <adamk@chromium.org>
3244
3245         In InbandTextTrackPrivate, return emptyAtoms instead of emptyString() by default.
3246
3247         Unreviewed build fix.
3248
3249         * platform/graphics/InbandTextTrackPrivate.h:
3250         (WebCore::InbandTextTrackPrivate::label):
3251         (WebCore::InbandTextTrackPrivate::language):
3252
3253 2012-12-10  Ilya Tikhonovsky  <loislo@chromium.org>
3254
3255         Web Inspector: Native Memory Instrumentation: instrument RenderBox descendants.
3256         https://bugs.webkit.org/show_bug.cgi?id=104026
3257
3258         Reviewed by Eric Seidel.
3259
3260         Plain vanilla instrumentation for RenderBox descendants.
3261
3262         * rendering/RenderFrameSet.cpp:
3263         (WebCore::RenderFrameSet::reportMemoryUsage):
3264         (WebCore):
3265         (WebCore::RenderFrameSet::GridAxis::reportMemoryUsage):
3266         * rendering/RenderFrameSet.h:
3267         (RenderFrameSet):
3268         (GridAxis):
3269         * rendering/RenderListMarker.cpp:
3270         (WebCore::RenderListMarker::reportMemoryUsage):
3271         (WebCore):
3272         * rendering/RenderListMarker.h:
3273         (RenderListMarker):
3274         * rendering/RenderReplaced.cpp:
3275         (WebCore::RenderReplaced::reportMemoryUsage):
3276         (WebCore):
3277         * rendering/RenderReplaced.h:
3278         (RenderReplaced):
3279         * rendering/RenderTableCol.cpp:
3280         (WebCore::RenderTableCol::reportMemoryUsage):
3281         (WebCore):
3282         * rendering/RenderTableCol.h:
3283         (RenderTableCol):
3284         * rendering/RenderTableRow.cpp:
3285         (WebCore::RenderTableRow::reportMemoryUsage):
3286         (WebCore):
3287         * rendering/RenderTableRow.h:
3288         (RenderTableRow):
3289         * rendering/RenderTableSection.cpp:
3290         (WebCore::RenderTableSection::reportMemoryUsage):
3291         (WebCore):
3292         (WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
3293         (WebCore::RenderTableSection::CellStruct::reportMemoryUsage):
3294         * rendering/RenderTableSection.h:
3295         (CellStruct):
3296         (RowStruct):
3297
3298 2012-12-10  Alejandro PiƱeiro  <apinheiro@igalia.com>
3299
3300         AX: wrong Enabled states on a ListBox
3301         https://bugs.webkit.org/show_bug.cgi?id=104483
3302
3303         Reviewed by Chris Fleizach.
3304
3305         Test: accessibility/listbox-enabled-states.html
3306
3307         * accessibility/AccessibilityListBoxOption.cpp:
3308         (WebCore::AccessibilityListBoxOption::isEnabled): taking into
3309         account the DISABLED attribute and the aria-disabled attribute to
3310         decide if the item is enabled or not.
3311
3312 2012-12-10  Adam Klein  <adamk@chromium.org>
3313
3314         cr-win build fix after r137161.
3315
3316         Unreviewed.
3317
3318         * platform/graphics/MediaPlayer.h: Replace forward-decl of
3319         InbandTextTrackPrivate with #include as the definition is required.
3320
3321 2012-12-10  Alexis Menard  <alexis@webkit.org>
3322
3323         [CSS3 Backgrounds and Borders] Remove CSS3_BACKGROUND feature flag.
3324         https://bugs.webkit.org/show_bug.cgi?id=104539
3325
3326         Reviewed by Antonio Gomes.
3327
3328         As discussed on webkit-dev it is not needed to keep this feature flag 
3329         as support for <position> type is a small feature that is already 
3330         implemented by three other UAs. It was useful while landing this 
3331         feature as partial bits were landed one after one.
3332
3333         No new tests : the feature is covered by various tests and it is already enabled in many ports.
3334
3335         * Configurations/FeatureDefines.xcconfig:
3336         * GNUmakefile.am:
3337         * GNUmakefile.features.am:
3338         * css/CSSParser.cpp:
3339         (WebCore::CSSParser::parseFillPosition):
3340         (WebCore::CSSParser::parseFillProperty):
3341         * css/CSSParser.h:
3342         * css/CSSToStyleMap.cpp:
3343         (WebCore::CSSToStyleMap::mapFillXPosition):
3344         (WebCore::CSSToStyleMap::mapFillYPosition):
3345         * rendering/style/FillLayer.cpp:
3346         (SameSizeAsFillLayer):
3347         (WebCore::FillLayer::FillLayer):
3348         (WebCore::FillLayer::operator=):
3349         (WebCore::FillLayer::operator==):
3350         (WebCore::FillLayer::fillUnsetProperties):
3351         * rendering/style/FillLayer.h:
3352         (WebCore::FillLayer::backgroundXOrigin):
3353         (WebCore::FillLayer::backgroundYOrigin):
3354         (WebCore::FillLayer::isBackgroundOriginSet):
3355         (WebCore::FillLayer::clearXPosition):
3356         (WebCore::FillLayer::clearYPosition):
3357         (FillLayer):
3358
3359 2012-12-10  Eric Carlson  <eric.carlson@apple.com>
3360
3361         Add support for in-band text tracks to Mac port
3362         https://bugs.webkit.org/show_bug.cgi?id=103663
3363
3364         Reviewed by Sam Weinig.
3365
3366         Test: media/track/track-in-band.html
3367
3368         * GNUmakefile.list.am: Move InbandTextTrackPrivate.h to platform/graphics. Add InbandTextTrackPrivateClient.h.
3369         * Target.pri: Ditto.
3370         * WebCore.gypi: Ditto.
3371
3372         * WebCore.xcodeproj/project.pbxproj: Add new files.
3373
3374         * html/HTMLMediaElement.cpp:
3375         (WebCore::HTMLMediaElement::setReadyState): No need to call processInbandTextTracks, in-band tracks
3376             are now registered by the media engine as they are discovered.
3377         (WebCore::HTMLMediaElement::mediaPlayerDidAddTrack): New, called by the media player when a new
3378             in-band track is found.
3379         (WebCore::HTMLMediaElement::mediaPlayerDidRemoveTrack): New, called by the media player when an
3380             in-band track goes away.
3381         * html/HTMLMediaElement.h:
3382
3383         * html/track/InbandTextTrack.cpp:
3384         (WebCore::InbandTextTrack::InbandTextTrack): Use m_private instead of tracksPrivate because
3385             it is zeroed during assignment.
3386
3387         * platform/graphics/MediaPlayer.cpp:
3388         (WebCore::MediaPlayer::addTextTrack): New MediaPlayerClient method to allow MediaPlayerPrivate subclasses
3389             to add a new in-band track.
3390         (WebCore::MediaPlayer::removeTextTrack): New MediaPlayerClient method to allow MediaPlayerPrivate subclasses
3391             to remove a new in-band track.
3392         * platform/graphics/MediaPlayer.h:
3393         * platform/graphics/MediaPlayerPrivate.h:
3394
3395         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Added.
3396         (WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF):
3397         (WebCore::InbandTextTrackPrivateAVF::~InbandTextTrackPrivateAVF):
3398         (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Convert an attribute string into WebVTT 
3399             cue setting and content strings.
3400         (WebCore::InbandTextTrackPrivateAVF::processCue): Process a new cue.
3401         (WebCore::InbandTextTrackPrivateAVF::disconnect): Clear member variables.
3402         (WebCore::InbandTextTrackPrivateAVF::resetCueValues): Reset cue values to defaults.
3403         (WebCore::InbandTextTrackPrivateAVF::setMode): Set track mode and call player's trackModeChanged.
3404         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Added.
3405
3406         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Initialize 
3407             m_inbandTrackConfigurationPending.
3408         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
3409         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Flush the currently accumulating
3410             cue so it doesn't get the wrong duration.
3411         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Handle InbandTracksNeedConfiguration.
3412         (WebCore::MediaPlayerPrivateAVFoundation::flushCurrentCue): New, pass the current cue up to the client.
3413         (WebCore::MediaPlayerPrivateAVFoundation::configureInbandTracks): Configure in-band tracks.
3414         (WebCore::MediaPlayerPrivateAVFoundation::trackModeChanged): Schedule a call to configureInbandTracks.
3415         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3416
3417         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h: Added.
3418         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm: Added.
3419         (WebCore::InbandTextTrackPrivateAVFObjC::InbandTextTrackPrivateAVFObjC):
3420         (WebCore::InbandTextTrackPrivateAVFObjC::disconnect):
3421         (WebCore::InbandTextTrackPrivateAVFObjC::kind): Return track kind.
3422         (WebCore::InbandTextTrackPrivateAVFObjC::label): Return track label.
3423         (WebCore::InbandTextTrackPrivateAVFObjC::language): Return track language.
3424         (WebCore::InbandTextTrackPrivateAVFObjC::isDefault): 
3425         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3426         (MediaPlayerPrivateAVFoundationObjC):
3427         (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItem):
3428         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3429         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize m_currentTrack.
3430         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Clear m_legibleOutput.
3431         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Create and initialize m_legibleOutput.
3432         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Called when the player item's
3433             "tracks" changes, add and remove in-band text tracks as necessary.
3434         (WebCore::MediaPlayerPrivateAVFoundationObjC::processCue): Pass an attributed string to the current 
3435             track to be processed.
3436         (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Tell AVFoundation to select an in-band track.
3437         (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTrack): Return the current track.
3438         (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]): Legible
3439             output delegate.
3440