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