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