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