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