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