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