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