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