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