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