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