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