Rename [InitializedByConstructor] IDL to [InitializedByEventConstructor] IDL
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2
3         Rename [InitializedByConstructor] IDL to [InitializedByEventConstructor] IDL
4         https://bugs.webkit.org/show_bug.cgi?id=77711
5
6         Reviewed by Adam Barth.
7
8         [InitializedByConstructor] can be used only when [ConstructorTemplate=Event]
9         is specified on the interface. This patch renames [InitializedByConstructor] to
10         [InitializedByEventConstructor] for clarification.
11
12         No tests. No change in behavior.
13
14         * bindings/scripts/CodeGeneratorJS.pm:
15         (GenerateConstructorDefinition):
16         * bindings/scripts/CodeGeneratorV8.pm:
17         (GenerateEventConstructorCallback):
18
19         * bindings/scripts/test/TestEventConstructor.idl:
20         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated the run-bindings-tests results.
21         (WebCore):
22
23         * dom/BeforeLoadEvent.idl:
24         * dom/CustomEvent.idl:
25         * dom/ErrorEvent.idl:
26         * dom/Event.idl:
27         * dom/HashChangeEvent.idl:
28         * dom/MessageEvent.idl:
29         * dom/OverflowEvent.idl:
30         * dom/PageTransitionEvent.idl:
31         * dom/PopStateEvent.idl:
32         * dom/ProgressEvent.idl:
33         * dom/WebKitAnimationEvent.idl:
34         * dom/WebKitTransitionEvent.idl:
35         * html/canvas/WebGLContextEvent.idl:
36         * html/track/TrackEvent.idl:
37         * storage/StorageEvent.idl:
38         * websockets/CloseEvent.idl:
39
40 2012-02-03  Kentaro Hara  <haraken@chromium.org>
41
42         Add the "CPP" prefix to CPP specific IDL attributes
43         https://bugs.webkit.org/show_bug.cgi?id=77707
44
45         Reviewed by Adam Barth.
46
47         This patch adds the "CPP" prefix to a CPP specific IDL attribute.
48         Specifically, this patch renames [PureInterface] to [CPPPureInterface]
49
50         No tests. No change in behavior.
51
52         * bindings/scripts/CodeGeneratorCPP.pm:
53         (GenerateHeader):
54         (GenerateImplementation):
55         * css/MediaQueryListListener.idl:
56         * dom/EventListener.idl:
57         * dom/EventTarget.idl:
58         * dom/NodeFilter.idl:
59
60 2012-01-27  Alexander Pavlov  <apavlov@chromium.org>
61
62         Implement touch event emulation in the WebCore layer
63         https://bugs.webkit.org/show_bug.cgi?id=77105
64
65         Reviewed by Ryosuke Niwa.
66
67         This change essentially maps mouse events into single-touch events in the following way:
68         - mousedown -> touchstart
69         - mouseup -> touchend
70         - mousemove -> touchmove (between mousedown and mouseup).
71
72         Test: fast/events/touch/emulate-touch-events.html
73
74         * page/EventHandler.cpp:
75         (SyntheticTouchPoint): A synthetic touch point built from PlatformMouseEvent.
76         (WebCore::SyntheticTouchPoint::SyntheticTouchPoint):
77         (SyntheticSingleTouchEvent): A synthetic touch point event built from PlatformMouseEvent.
78         (WebCore::SyntheticSingleTouchEvent::SyntheticSingleTouchEvent):
79         (WebCore::EventHandler::handleMouseReleaseEvent): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
80         (WebCore::EventHandler::handleMousePressEvent): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
81         (WebCore::EventHandler::mouseMoved): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
82         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled): Dispatch a synthetic touch event if necessary.
83         * page/EventHandler.h: Added new method.
84         * page/Settings.cpp:
85         (WebCore::Settings::Settings): Added m_touchEventEmulationEnabled initializer.
86         * page/Settings.h: Added m_touchEventEmulationEnabled, getter, and setter.
87         (WebCore::Settings::setTouchEventEmulationEnabled): Added.
88         (WebCore::Settings::isTouchEventEmulationEnabled): Added.
89         * platform/PlatformTouchPoint.h:
90         (WebCore::PlatformTouchPoint::PlatformTouchPoint): Unconditionally compile the parameterless ctor.
91         * testing/InternalSettings.cpp:
92         (WebCore::InternalSettings::setTouchEventEmulationEnabled): Added for testing.
93         * testing/InternalSettings.h: Added setTouchEventEmulationEnabled() for testing.
94         * testing/InternalSettings.idl: Added setTouchEventEmulationEnabled() for testing.
95
96 2012-02-03  Kentaro Hara  <haraken@chromium.org>
97
98         Remove [NoCPPCustom] IDL
99         https://bugs.webkit.org/show_bug.cgi?id=77704
100
101         Reviewed by Adam Barth.
102
103         This patch removes [NoCPPCustom], by replacing [Custom, NoCPPCustom]
104         in HTMLDocument.idl with [JSCCustom, V8Custom].
105
106         No tests. No change in behavior.
107
108         * bindings/scripts/CodeGeneratorCPP.pm:
109         (ShouldSkipType):
110         * html/HTMLDocument.idl:
111
112 2012-02-03  Kentaro Hara  <haraken@chromium.org>
113
114         Remove [LegacyParent] from CodeGeneratorGObject.pm, and rename it to [JSLegacyParent]
115         https://bugs.webkit.org/show_bug.cgi?id=77706
116
117         Reviewed by Adam Barth.
118
119         This patch removes dead code about [LegacyParent] from CodeGeneratorGObject.pm,
120         and renames [LegacyParent] to [JSLegacyParent].
121
122         No tests. No changes in behavior.
123
124         * bindings/scripts/CodeGeneratorGObject.pm:
125         (Generate):
126         * bindings/scripts/CodeGeneratorJS.pm:
127         (GetParentClassName):
128         (GenerateHeader):
129         (GenerateImplementation):
130         * page/DOMWindow.idl:
131         * workers/WorkerContext.idl:
132
133 2012-02-03  Pavel Feldman  <pfeldman@google.com>
134
135         Web Inspector: preserve elements panel selection upon node drag'n'drop
136         https://bugs.webkit.org/show_bug.cgi?id=77722
137
138         Reviewed by Vsevolod Vlasov.
139
140         Test: inspector/elements/move-node.html
141
142         * inspector/front-end/DOMAgent.js:
143         (WebInspector.DOMAgent.prototype._markRevision):
144         * inspector/front-end/ElementsTreeOutline.js:
145         (WebInspector.ElementsTreeOutline.prototype._ondrop):
146         (WebInspector.ElementsTreeOutline.prototype._doMove.callback):
147         (WebInspector.ElementsTreeOutline.prototype._doMove):
148
149 2012-02-03  Shinya Kawanaka  <shinyak@google.com>
150
151        Reimplement DETAILS and SUMMARY using selector query.
152         https://bugs.webkit.org/show_bug.cgi?id=75930
153
154         Reviewed by Hajime Morita.
155
156         DETAILS is reimplemented using content element and its fallback feature.
157         We don't need to recreate DOM even if SUMMARY is removed from or added into DETAILS.
158
159         No new tests, should be covered by existing tests.
160
161         * html/HTMLDetailsElement.cpp:
162         (WebCore::DetailsSummaryElement::fallbackSummary):
163           Takes fallback element of content summary.
164         (DetailsSummaryElement):
165         (WebCore::DetailsSummaryElement::create):
166           Creates a fallback element also.
167         (WebCore):
168         (WebCore::HTMLDetailsElement::create):
169         (WebCore::HTMLDetailsElement::HTMLDetailsElement):
170         (WebCore::HTMLDetailsElement::createShadowSubtree):
171         (WebCore::HTMLDetailsElement::findMainSummary):
172         (WebCore::HTMLDetailsElement::parseMappedAttribute):
173         (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
174         (WebCore::HTMLDetailsElement::toggleOpen):
175         * html/HTMLDetailsElement.h:
176         (HTMLDetailsElement):
177         * html/HTMLSummaryElement.cpp:
178         (WebCore::HTMLSummaryElement::isMainSummary):
179
180 2012-02-03  Jochen Eisinger  <jochen@chromium.org>
181
182         Crash when trying to add a timer to a detached document.
183         https://bugs.webkit.org/show_bug.cgi?id=77692
184
185         Reviewed by Alexey Proskuryakov.
186
187         In http://webkit.org/b/77370, a timer is fired on a detached document.
188         Since a document clears all timers when it is detached, and it
189         shouldn't be possible to add a timer to a detached document, we crash
190         if this should happen anyway. This will hopefully result in an easier
191         to debug crash dump.
192
193         * page/DOMTimer.cpp:
194         (WebCore::DOMTimer::DOMTimer):
195
196 2012-02-03  Shinya Kawanaka  <shinyak@google.com>
197
198         Stop calling Element::ensureShadowRoot in Internals.
199         https://bugs.webkit.org/show_bug.cgi?id=77612
200
201         Reviewed by Hajime Morita.
202
203         We want to check a shadow root is built-in or created by users to support multiple shadow subtrees.
204         But Element::ensureShadowRoot() makes it difficult, because it doesn't care about the returning shadow element
205         is built-in or user generated, so let's remove Element::ensureShadowRoot().
206
207         As a first step, this patch removes ensureShadowRoot() in Internals.
208
209         No new tests, because no changes in behavior.
210
211         * WebCore.exp.in:
212         * testing/Internals.cpp:
213         (WebCore::Internals::ensureShadowRoot):
214
215 2012-02-02  Alexei Filippov  <alexeif@chromium.org>
216
217         Web Inspector: Always show percents together with counters in heap inspector.
218         https://bugs.webkit.org/show_bug.cgi?id=77434
219
220         Reviewed by Pavel Feldman.
221
222         * inspector/front-end/DetailedHeapshotGridNodes.js:
223         (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
224         (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
225         (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
226         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
227         (WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
228         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
229         (WebInspector.HeapSnapshotDiffNode.prototype.get data):
230         * inspector/front-end/DetailedHeapshotView.js:
231         (WebInspector.HeapSnapshotContainmentDataGrid):
232         (WebInspector.HeapSnapshotConstructorsDataGrid):
233         (WebInspector.HeapSnapshotDiffDataGrid):
234         (WebInspector.HeapSnapshotDominatorsDataGrid):
235         (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
236         (WebInspector.DetailedHeapshotView.prototype.get _isShowingAsPercent):
237         (WebInspector.DetailedHeapshotView.prototype._percentClicked):
238         * inspector/front-end/heapProfiler.css:
239         (.detailed-heapshot-view .data-grid span.percent-column):
240
241 2012-02-02  Matt Falkenhagen  <falken@chromium.org>
242
243         Use content-language from http-equiv to set document locale and font
244         https://bugs.webkit.org/show_bug.cgi?id=76701
245
246         Reviewed by Darin Adler.
247
248         So far, only content-language set through http-equiv is used; the HTTP Content-Language
249         header is not yet supported.
250
251         Tests: fast/text/content-language-case-insensitivity.html
252                fast/text/content-language-mapped-to-webkit-locale.html
253                fast/text/international/content-language-font-selection-expected.html
254                fast/text/international/content-language-font-selection.html
255                fast/text/international/content-language-with-subtags-expected.html
256                fast/text/international/content-language-with-subtags.html
257
258         * css/CSSStyleSelector.cpp:
259         (WebCore::CSSStyleSelector::styleForDocument): Use content language when selecting initial font.
260         * dom/Document.cpp:
261         (WebCore::Document::setContentLanguage): Recalculate style so language is taken into account.
262         (WebCore):
263         * dom/Document.h:
264         (Document):
265
266 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
267
268         Unreviewed, rolling out r106620.
269         http://trac.webkit.org/changeset/106620
270         https://bugs.webkit.org/show_bug.cgi?id=77716
271
272         It broke non ENABLE(3D_RENDERING) builds (Requested by
273         Ossy_morning on #webkit).
274
275         * GNUmakefile.list.am:
276         * Target.pri:
277         * WebCore.gypi:
278         * platform/graphics/GraphicsContext.h:
279         (WebCore):
280         (GraphicsContext):
281         * platform/graphics/cairo/TextureMapperCairo.cpp:
282         (WebCore::TextureMapper::create):
283         (WebCore):
284         * platform/graphics/opengl/TextureMapperGL.cpp:
285         (Entry):
286         (DirectlyCompositedImageRepository):
287         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
288         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
289         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::DirectlyCompositedImageRepository):
290         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
291         (TextureMapperGLData):
292         (BitmapTextureGL):
293         (WebCore::BitmapTextureGL::isOpaque):
294         (WebCore::BitmapTextureGL::pack):
295         (WebCore::BitmapTextureGL::unpack):
296         (WebCore::BitmapTextureGL::isPacked):
297         (WebCore::BitmapTextureGL::BitmapTextureGL):
298         (WebCore::TextureMapperGL::beginPainting):
299         (WebCore::BitmapTextureGL::reset):
300         (WebCore::BitmapTextureGL::beginPaint):
301         (WebCore::BitmapTextureGL::endPaint):
302         (WebCore):
303         (WebCore::BitmapTextureGL::updateContents):
304         (WebCore::BitmapTextureGL::updateRawContents):
305         (WebCore::BitmapTextureGL::setContentsToImage):
306         (WebCore::BitmapTextureGL::destroy):
307         (WebCore::TextureMapperGL::bindSurface):
308         * platform/graphics/opengl/TextureMapperGL.h:
309         (TextureMapperGL):
310         (WebCore::TextureMapperGL::allowSurfaceForRoot):
311         (BGRA32PremultimpliedBuffer):
312         (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
313         (WebCore):
314         * platform/graphics/qt/GraphicsContext3DQt.cpp:
315         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
316         * platform/graphics/qt/GraphicsContextQt.cpp:
317         * platform/graphics/qt/TextureMapperQt.cpp: Added.
318         (WebCore):
319         (WebCore::BitmapTextureQt::destroy):
320         (WebCore::BitmapTextureQt::reset):
321         (WebCore::BitmapTextureQt::beginPaint):
322         (WebCore::BitmapTextureQt::endPaint):
323         (WebCore::BitmapTextureQt::updateContents):
324         (WebCore::BitmapTextureQt::save):
325         (WebCore::BitmapTextureQt::setContentsToImage):
326         (WebCore::BitmapTextureQt::pack):
327         (WebCore::BitmapTextureQt::unpack):
328         (WebCore::TextureMapperQt::beginClip):
329         (WebCore::TextureMapperQt::endClip):
330         (WebCore::TextureMapperQt::viewportSize):
331         (WebCore::TextureMapperQt::TextureMapperQt):
332         (WebCore::TextureMapperQt::setGraphicsContext):
333         (WebCore::TextureMapperQt::graphicsContext):
334         (WebCore::TextureMapperQt::bindSurface):
335         (WebCore::TextureMapperQt::drawTexture):
336         (WebCore::TextureMapper::create):
337         (WebCore::TextureMapperQt::createTexture):
338         (WebCore::BitmapTextureQt::BitmapTextureQt):
339         (WebCore::TextureMapperQt::beginPainting):
340         (WebCore::TextureMapperQt::endPainting):
341         (BGRA32PremultimpliedBufferQt):
342         (WebCore::BGRA32PremultimpliedBufferQt::beginPaint):
343         (WebCore::BGRA32PremultimpliedBufferQt::endPaint):
344         (WebCore::BGRA32PremultimpliedBufferQt::data):
345         (WebCore::BGRA32PremultimpliedBuffer::create):
346         (WebCore::uidForImage):
347         * platform/graphics/qt/TextureMapperQt.h: Added.
348         (WebCore):
349         (BitmapTextureQt):
350         (WebCore::BitmapTextureQt::~BitmapTextureQt):
351         (WebCore::BitmapTextureQt::size):
352         (WebCore::BitmapTextureQt::isValid):
353         (WebCore::BitmapTextureQt::sourceRect):
354         (WebCore::BitmapTextureQt::isPacked):
355         (WebCore::BitmapTextureQt::painter):
356         (TextureMapperQt):
357         (WebCore::TextureMapperQt::allowSurfaceForRoot):
358         (WebCore::TextureMapperQt::initialize):
359         (WebCore::TextureMapperQt::create):
360         (WebCore::TextureMapperQt::currentPainter):
361         * platform/graphics/texmap/TextureMapper.cpp:
362         * platform/graphics/texmap/TextureMapper.h:
363         (WebCore::BitmapTexture::BitmapTexture):
364         (WebCore::BitmapTexture::allowOfflineTextureUpload):
365         (BitmapTexture):
366         (WebCore::BitmapTexture::pack):
367         (WebCore::BitmapTexture::unpack):
368         (WebCore::BitmapTexture::isPacked):
369         (WebCore::BitmapTexture::updateRawContents):
370         (WebCore::BitmapTexture::beginPaintMedia):
371         (WebCore::BitmapTexture::save):
372         (WebCore::BitmapTexture::lock):
373         (WebCore::BitmapTexture::unlock):
374         (WebCore::BitmapTexture::isLocked):
375         (TextureMapper):
376         (WebCore::TextureMapper::viewportSize):
377         (WebCore::TextureMapper::setViewportSize):
378         (WebCore::TextureMapper::allowPartialUpdates):
379         (WebCore::TextureMapper::isOpenGLBacked):
380         (WebCore::TextureMapper::setTransform):
381         (WebCore::TextureMapper::transform):
382         * platform/graphics/texmap/TextureMapperImageBuffer.cpp: Removed.
383         * platform/graphics/texmap/TextureMapperImageBuffer.h: Removed.
384         * platform/graphics/texmap/TextureMapperNode.cpp:
385         (WebCore::TextureMapperNode::renderContent):
386         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
387         * platform/graphics/texmap/TextureMapperNode.h:
388         (TextureMapperNode):
389
390 2012-02-02  Keishi Hattori  <keishi@webkit.org>
391
392         ColorInputType needs to use ensureInlineStyleDecl
393         https://bugs.webkit.org/show_bug.cgi?id=77699
394
395         Reviewed by Kent Tamura.
396
397         Because WebCore internally should use the more specific CSSMutableStyleDeclaration
398         http://trac.webkit.org/changeset/105739
399
400         * html/ColorInputType.cpp:
401         (WebCore::ColorInputType::updateColorSwatch):
402
403 2012-02-02  Roland Steiner  <rolandsteiner@chromium.org>
404
405         Simplify SelectorChecker::checkSelector and checkOneSelector
406         https://bugs.webkit.org/show_bug.cgi?id=77697
407
408         Make use of Element::previous/nextElementSibling.
409         Made those methods inline.
410         Simplify code in checkSelector and checkOneSelector, esp. for first/nth/nth-last/last/only-child implementations.
411
412         Reviewed by Andreas Kling.
413
414         No new tests. (refactoring)
415
416         * css/SelectorChecker.cpp:
417         (WebCore::SelectorChecker::checkSelector):
418         (WebCore::SelectorChecker::checkOneSelector):
419         * dom/Element.cpp:
420         * dom/Element.h:
421         (WebCore::Element::previousElementSibling):
422         (WebCore):
423         (WebCore::Element::nextElementSibling):
424
425 2012-02-02  Keishi Hattori  <keishi@webkit.org>
426
427         ColorChooserClient is missing a virtual destructor
428         https://bugs.webkit.org/show_bug.cgi?id=77698
429
430         Reviewed by Kent Tamura.
431
432         * platform/ColorChooserClient.h:
433         (WebCore::ColorChooserClient::~ColorChooserClient): Added.
434
435 2012-02-02  Keishi Hattori  <keishi@webkit.org>
436
437         Remove OVERRIDE from ColorInputType::valueAsColor
438         https://bugs.webkit.org/show_bug.cgi?id=77701
439
440         Reviewed by Kent Tamura.
441
442         * html/ColorInputType.h:
443         (WebCore::ColorInputType::valueAsColor):
444
445 2012-02-02  Bear Travis  <betravis@adobe.com>
446
447         Support 'disabled' attribute on SVGStyleElement
448         https://bugs.webkit.org/show_bug.cgi?id=52130
449
450         Adding disabled property to SVGStyleElement, which
451         mirrors the functionality added to HTMLStyleElement
452         for DOM1. The disabled property reflects and sets
453         the disabled state of its style sheet.
454
455         Based off of patch for bug 25287
456
457         Reviewed by Dirk Schulze.
458
459         Test: svg/dom/SVGStyleElement/disable-svg-style-element.html
460
461         * svg/SVGStyleElement.cpp:
462         (WebCore::SVGStyleElement::disabled):
463         (WebCore):
464         (WebCore::SVGStyleElement::setDisabled):
465         * svg/SVGStyleElement.h:
466         (SVGStyleElement):
467         * svg/SVGStyleElement.idl:
468
469 2012-02-02  Hayato Ito  <hayato@chromium.org>
470
471         Make ShadowRoot interface inherit DocumentFragment interface in IDL.
472         https://bugs.webkit.org/show_bug.cgi?id=77511
473
474         Reviewed by Kentaro Hara.
475
476         This patch contains only the change of IDL to isolate issues.
477         Other changes, such as tests for querySelector of ShadowRoot, will be added in follow-up patches.
478
479         No tests. No change in behavior.
480
481         * dom/ShadowRoot.idl:
482
483 2012-02-02  Raymond Toy  <rtoy@google.com>
484
485         Check parameters to biquad filters
486         https://bugs.webkit.org/show_bug.cgi?id=71413
487
488         Reviewed by Kenneth Russell.
489
490         Tests added for each filter type and for the limiting cases for
491         each filter type.
492
493         * platform/audio/Biquad.cpp:
494         (WebCore::Biquad::setLowpassParams):
495         (WebCore::Biquad::setHighpassParams):
496         (WebCore::Biquad::setLowShelfParams):
497         (WebCore::Biquad::setHighShelfParams):
498         (WebCore::Biquad::setPeakingParams):
499         (WebCore::Biquad::setAllpassParams):
500         (WebCore::Biquad::setNotchParams):
501         (WebCore::Biquad::setBandpassParams):
502         Check for invalid parameters and clip them to something sensible.
503         Also check for the limiting cases and try to use the limiting form
504         of the z-transform for the biquad.  Some issues cannot be
505         consistently handled because the z-transform is not continuous as
506         the parameters approach the limit.
507
508 2012-02-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
509
510         [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
511         https://bugs.webkit.org/show_bug.cgi?id=77148
512
513         Reviewed by Martin Robinson.
514
515         Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
516         which responds to an "Software" mode of TextureMapper, instead of creating subclasses
517         of TextureMapper directly. This allows using the software fallback of TextureMapper by any
518         sort.
519
520         To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
521         an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
522         as converting data to/from Image references in Qt generates unnecessary deep copies of the
523         image data.
524
525         Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
526         3D transforms in cross platform code.
527         After this patch everything renders the same. An additional bug report was created to allow
528         ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689
529
530         Covered extensively by existing tests, no behavioral changes.
531
532         * Target.pri:
533         * platform/graphics/GraphicsContext.cpp:
534         * platform/graphics/GraphicsContext.h:
535         (WebCore):
536         (GraphicsContext):
537         * platform/graphics/cairo/TextureMapperCairo.cpp:
538         * platform/graphics/opengl/TextureMapperGL.cpp:
539         (TextureMapperGLData):
540         (BitmapTextureGL):
541         (WebCore::BitmapTextureGL::BitmapTextureGL):
542         (WebCore::TextureMapperGL::beginPainting):
543         (WebCore::BitmapTextureGL::reset):
544         (WebCore):
545         (WebCore::swizzleBGRAToRGBA):
546         (WebCore::BitmapTextureGL::updateContents):
547         (WebCore::BitmapTextureGL::destroy):
548         (WebCore::TextureMapperGL::bindSurface):
549         (WebCore::TextureMapper::platformCreateAccelerated):
550         * platform/graphics/opengl/TextureMapperGL.h:
551         (TextureMapperGL):
552         (WebCore::TextureMapperGL::accelerationMode):
553         (WebCore):
554         * platform/graphics/qt/GraphicsContext3DQt.cpp:
555         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
556         * platform/graphics/qt/GraphicsContextQt.cpp:
557         (WebCore):
558         (WebCore::GraphicsContext::get3DTransform):
559         (WebCore::GraphicsContext::concat3DTransform):
560         (WebCore::GraphicsContext::set3DTransform):
561         * platform/graphics/qt/TextureMapperQt.cpp: Removed.
562         * platform/graphics/qt/TextureMapperQt.h: Removed.
563         * platform/graphics/texmap/TextureMapper.cpp:
564         (WebCore):
565         (BitmapTextureImageBuffer):
566         (TextureMapperImageBuffer):
567         * platform/graphics/texmap/TextureMapper.h:
568         (WebCore::BitmapTexture::BitmapTexture):
569         (BitmapTexture):
570         (WebCore::BitmapTexture::bpp):
571         (WebCore::BitmapTexture::isOpaque):
572         (WebCore::TextureMapper::setGraphicsContext):
573         (WebCore::TextureMapper::graphicsContext):
574         (TextureMapper):
575         (WebCore::TextureMapper::TextureMapper):
576         (WebCore::TextureMapper::platformCreateAccelerated):
577         * platform/graphics/texmap/TextureMapperNode.cpp:
578         (WebCore::TextureMapperNode::renderContent):
579         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
580         * platform/graphics/texmap/TextureMapperNode.h:
581         (TextureMapperNode):
582
583 2012-02-02  Adam Barth  <abarth@webkit.org>
584
585         Rename checkNodeSecurity and allowsAccessFromFrame to have sensible names
586         https://bugs.webkit.org/show_bug.cgi?id=75796
587
588         Reviewed by Eric Seidel.
589
590         As requested by Darin Adler, this patch renames these functions be
591         clear that we're asking whether the access should be allowed rather
592         than explicitly allowing the access.
593
594         * bindings/generic/BindingSecurity.h:
595         (BindingSecurity):
596         (WebCore::::shouldAllowAccessToNode):
597         (WebCore::::allowSettingFrameSrcToJavascriptUrl):
598         * bindings/js/JSDOMBinding.cpp:
599         (WebCore::shouldAllowAccessToNode):
600         (WebCore::shouldAllowAccessToFrame):
601         * bindings/js/JSDOMBinding.h:
602         (WebCore):
603         * bindings/js/JSHTMLFrameElementCustom.cpp:
604         (WebCore::allowSettingJavascriptURL):
605         * bindings/js/JSHistoryCustom.cpp:
606         (WebCore::JSHistory::getOwnPropertySlotDelegate):
607         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
608         (WebCore::JSHistory::putDelegate):
609         (WebCore::JSHistory::deleteProperty):
610         (WebCore::JSHistory::getOwnPropertyNames):
611         * bindings/js/JSLocationCustom.cpp:
612         (WebCore::JSLocation::getOwnPropertySlotDelegate):
613         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
614         (WebCore::JSLocation::putDelegate):
615         (WebCore::JSLocation::deleteProperty):
616         (WebCore::JSLocation::getOwnPropertyNames):
617         (WebCore::JSLocation::toStringFunction):
618         * bindings/js/ScriptController.cpp:
619         (WebCore::ScriptController::canAccessFromCurrentOrigin):
620         * bindings/scripts/CodeGeneratorJS.pm:
621         (GenerateGetOwnPropertyDescriptorBody):
622         (GenerateImplementation):
623         * bindings/scripts/CodeGeneratorV8.pm:
624         (GenerateNormalAttrGetter):
625         (GenerateFunctionCallback):
626         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
627         (WebCore::JSTestActiveDOMObject::getOwnPropertyDescriptor):
628         * bindings/scripts/test/JS/JSTestObj.cpp:
629         (WebCore::jsTestObjContentDocument):
630         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
631         * bindings/scripts/test/V8/V8TestObj.cpp:
632         (WebCore::TestObjInternal::contentDocumentAttrGetter):
633         (WebCore::TestObjInternal::getSVGDocumentCallback):
634
635 2012-02-02  Kalev Lember  <kalevlember@gmail.com>
636
637         [GTK] Make gtk+ symbols available to WidgetBackingStoreCairo.cpp
638         https://bugs.webkit.org/show_bug.cgi?id=77679
639
640         WidgetBackingStoreCairo.cpp uses GTK+ symbols, so we need it in
641         webcoregtk_sources instead of webcore_sources.
642
643         Reviewed by Martin Robinson.
644
645         * GNUmakefile.list.am: Move WidgetBackingStoreCairo.cpp to webcoregtk.
646
647 2012-02-02  Shinya Kawanaka  <shinyak@google.com>
648
649         StyleRecalc should occur when shadow root exists and light children are changed.
650         https://bugs.webkit.org/show_bug.cgi?id=76262
651
652         Reviewed by Hajime Morita.
653
654         When light children is changed, the element included in HTMLContentElement may also be changed.
655         So we have to recalculate inclusion of content element again.
656
657         Test: fast/dom/shadow/shadow-contents-fallback-dynamic.html
658
659         * dom/Element.cpp:
660         (WebCore::Element::childrenChanged):
661
662 2012-02-02  Ami Fischman  <fischman@chromium.org>
663
664         Avoid crashing renderer when GPU process dies by not caching textures between video frames.
665         https://bugs.webkit.org/show_bug.cgi?id=77654
666
667         Reviewed by James Robinson.
668
669         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
670         (WebCore::CCVideoLayerImpl::draw):
671
672 2012-02-02  Anders Carlsson  <andersca@apple.com>
673
674         Add ScrollingTree class
675         https://bugs.webkit.org/show_bug.cgi?id=77695
676
677         Reviewed by Andreas Kling.
678
679         * WebCore.xcodeproj/project.pbxproj:
680         Add new files.
681
682         * page/scrolling/ScrollingCoordinator.cpp:
683         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
684         Create a scrolling tree.
685
686         (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
687         Assert that the scrolling tree is null.
688
689         (WebCore::ScrollingCoordinator::pageDestroyed):
690         Null out the scrolling tree member variable and tell it to invalidate itself.
691
692         * page/scrolling/ScrollingTree.cpp: Added.
693
694         (WebCore::ScrollingTree::invalidate):
695         Null out the scrolling coordinator, breaking the reference cycle between the scrolling
696         coordinator and the scrolling tree.
697     
698         * page/scrolling/ScrollingTree.h: Added.
699
700 2012-02-02  Tim Dresser  <tdresser@chromium.org>
701
702         Refactor plugin drawing to be more data driven
703         https://bugs.webkit.org/show_bug.cgi?id=76715
704
705         Reviewed by James Robinson.
706
707         CCPluginLayerImpl no longer handles drawing itself, but produces a list of CCPluginDrawQuads.
708         These quads are then drawn by LayerRendererChromium.
709
710         CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
711         This allows for CCLayerImpl objects to allocate textures before appendQuads is called.
712
713         This is a refactor, so no new tests were added.
714         Flash was tested manually on Linux and Mac.
715
716         * platform/graphics/chromium/LayerRendererChromium.cpp:
717         (WebCore::PluginProgramBinding::set):
718         (PluginProgramBinding):
719         (WebCore):
720         (WebCore::TexStretchPluginProgramBinding::set):
721         (TexStretchPluginProgramBinding):
722         (WebCore::TexTransformPluginProgramBinding::set):
723         (TexTransformPluginProgramBinding):
724         (WebCore::LayerRendererChromium::drawPluginQuad):
725         * platform/graphics/chromium/cc/CCLayerImpl.h:
726         (WebCore::CCLayerImpl::willDraw):
727         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
728         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
729         * platform/graphics/chromium/cc/CCPluginDrawQuad.cpp:
730         (WebCore::CCPluginDrawQuad::create):
731         (WebCore::CCPluginDrawQuad::CCPluginDrawQuad):
732         * platform/graphics/chromium/cc/CCPluginDrawQuad.h:
733         (CCPluginDrawQuad):
734         (WebCore::CCPluginDrawQuad::uvRect):
735         (WebCore::CCPluginDrawQuad::textureId):
736         (WebCore::CCPluginDrawQuad::flipped):
737         (WebCore::CCPluginDrawQuad::ioSurfaceWidth):
738         (WebCore::CCPluginDrawQuad::ioSurfaceHeight):
739         (WebCore::CCPluginDrawQuad::ioSurfaceTextureId):
740         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
741         (WebCore::CCPluginLayerImpl::willDraw):
742         (WebCore::CCPluginLayerImpl::appendQuads):
743         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
744         (CCPluginLayerImpl):
745
746 2012-01-29  Pablo Flouret  <pablof@motorola.com>
747
748         V8 idl code generator doesn't handle SerializedScriptValue attributes properly.
749         https://bugs.webkit.org/show_bug.cgi?id=77295
750
751         Reviewed by Kentaro Hara.
752
753         Only the case of one (and only one) SerializedScriptValue attribute was
754         handled, and it was deserialized eagerly in the constructor instead of
755         generating getters/setters. This patch gets rid of that behavior and
756         generates the getters and setters instead (similar to what the JSC
757         generator does).
758         Also handle the case of SSV attributes with [CachedAttribute]
759         declaration, caching the deserialized value in a hidden attribute on the
760         object.
761
762         * bindings/scripts/CodeGeneratorV8.pm:
763         (GenerateNormalAttrGetter):
764         (GenerateNormalAttrSetter):
765         (GenerateConstructorCallback):
766         (GenerateNamedConstructorCallback):
767         (GenerateSingleBatchedAttribute):
768         (GenerateImplementation):
769         (GenerateToV8Converters):
770         (JSValueToNative):
771         (NativeToJSValue):
772         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
773         (WebDOMTestSerializedScriptValueInterface::setValue):
774         (WebDOMTestSerializedScriptValueInterface::readonlyValue):
775         (WebDOMTestSerializedScriptValueInterface::cachedValue):
776         (WebDOMTestSerializedScriptValueInterface::setCachedValue):
777         (WebDOMTestSerializedScriptValueInterface::cachedReadonlyValue):
778         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
779         (WebDOMTestSerializedScriptValueInterface):
780         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
781         (webkit_dom_test_serialized_script_value_interface_set_value):
782         (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
783         (webkit_dom_test_serialized_script_value_interface_get_cached_value):
784         (webkit_dom_test_serialized_script_value_interface_set_cached_value):
785         (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
786         (webkit_dom_test_serialized_script_value_interface_get_property):
787         (webkit_dom_test_serialized_script_value_interface_class_init):
788         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
789         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
790         ():
791         (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
792         (WebCore):
793         (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
794         (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
795         (WebCore::JSTestSerializedScriptValueInterface::put):
796         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
797         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
798         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
799         (JSTestSerializedScriptValueInterface):
800         (JSTestSerializedScriptValueInterfacePrototype):
801         (WebCore):
802         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
803         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
804         (-[DOMTestSerializedScriptValueInterface setValue:]):
805         (-[DOMTestSerializedScriptValueInterface readonlyValue]):
806         (-[DOMTestSerializedScriptValueInterface cachedValue]):
807         (-[DOMTestSerializedScriptValueInterface setCachedValue:]):
808         (-[DOMTestSerializedScriptValueInterface cachedReadonlyValue]):
809         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
810         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
811         (WebCore::TestSerializedScriptValueInterfaceInternal::valueAttrGetter):
812         (TestSerializedScriptValueInterfaceInternal):
813         (WebCore::TestSerializedScriptValueInterfaceInternal::valueAttrSetter):
814         (WebCore::TestSerializedScriptValueInterfaceInternal::readonlyValueAttrGetter):
815         (WebCore::TestSerializedScriptValueInterfaceInternal::cachedValueAttrGetter):
816         (WebCore::TestSerializedScriptValueInterfaceInternal::cachedValueAttrSetter):
817         (WebCore::TestSerializedScriptValueInterfaceInternal::cachedReadonlyValueAttrGetter):
818         ():
819         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
820         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
821         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
822
823 2012-02-02  Adam Barth  <abarth@webkit.org>
824
825         BMW Car Configuration Page doesn't work (Only manifests in Chromium)
826         https://bugs.webkit.org/show_bug.cgi?id=77312
827
828         Reviewed by Dimitri Glazkov.
829
830         When we autogenerated the event factory, we missed the check for
831         whether touch events were enabled at runtime:
832         http://trac.webkit.org/changeset/97933/trunk/Source/WebCore/dom/Document.cpp
833
834         This patch adds the check back.
835
836         Unfortunately, there isn't a testing frame work for
837         RuntimeEnabledFeatures.  The main difficulty is that these static bools
838         need to be set when WebKit is initialized and can't be changed (which
839         is why they're not part of WebCore::Settings).  To test them properly,
840         we'd need a testing framework that booted up WebKit for each test.
841
842         We could test this particular change (which doesn't need the bool to be
843         constant through the runtime of WebKit), but that would create a
844         sandtrap for future patches who might thing that this testing framework
845         can really be used to test RuntimeEnabledFeatures.
846
847         The net result is that Chromium is going to end up living with the
848         non-default codepath for these settings being untested, which will lead
849         to regressions like this one.  If we ened up with a bunch of these
850         regressions, we'll likely end up with a testing framework similar to
851         Chromium's browsers_tests, which create a fresh subprocess for each
852         test.
853
854         * dom/EventFactory.in:
855         * dom/make_event_factory.pl:
856         (defaultItemFactory):
857         (generateImplementation):
858
859 2012-02-02  Justin Novosad  <junov@chromium.org>
860
861         [Chromium] Use SkCanvas::flush in skia port
862         https://bugs.webkit.org/show_bug.cgi?id=77463
863
864         Reviewed by Stephen White.
865
866         Code cleanup in skia port. Using SkCanvas::flush to remove
867         unnecessary dependency on GrContext.  Removed unnecessary inclusions
868         and forward declarations of GrContext in several source files.
869
870         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
871         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
872         * platform/graphics/chromium/LayerRendererChromium.cpp:
873         * platform/graphics/chromium/LayerRendererChromium.h:
874         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
875         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
876         * platform/graphics/chromium/cc/CCProxy.h:
877         * platform/graphics/skia/PlatformContextSkia.cpp:
878
879 2012-02-02  Chris Marrin  <cmarrin@apple.com>
880
881         Turn on CSS Filters on Windows
882         https://bugs.webkit.org/show_bug.cgi?id=76667
883
884         Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
885
886         Reviewed by Adele Peterson.
887
888         * WebCore.vcproj/copyForwardingHeaders.cmd:
889         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
890         (PlatformCALayer::setFilters):
891         (PlatformCALayer::filtersCanBeComposited):
892
893 2012-02-02  Jon Lee  <jonlee@apple.com>
894
895         Clear shown notifications when context is no longer active
896         https://bugs.webkit.org/show_bug.cgi?id=77363
897         <rdar://problem/10568907>
898
899         Reviewed by Darin Adler.
900
901         * notifications/NotificationPresenter.h: Add new virtual function to clear notifications
902         associated with a given execution context. By default the notifications are left alone, as
903         before. Individual implementations can override to allow notifications to clear them.
904
905         * notifications/NotificationCenter.cpp:
906         (WebCore::NotificationCenter::disconnectFrame): When disconnecting the page from the frame, we
907         call clearNotifications().
908         * page/Frame.cpp:
909         (WebCore::Frame::pageDestroyed): When the page is destroyed, tell the DOM window to reset notifications.
910
911 2012-02-02  Anders Carlsson  <andersca@apple.com>
912
913         The overhang area layer should have a linen background
914         https://bugs.webkit.org/show_bug.cgi?id=77670
915         <rdar://problem/10797727>
916
917         Reviewed by Andreas Kling.
918
919         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
920         (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
921         Add an #ifdef so that scroll position clamping can be disabled. This will be
922         removed once rubber-banding works properly.
923
924         * platform/ScrollbarTheme.h:
925         (WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
926         Add new empty function.
927
928         * platform/mac/ScrollbarThemeMac.h:
929         (ScrollbarThemeMac):
930         * platform/mac/ScrollbarThemeMac.mm:
931         (WebCore::linenBackgroundColor):
932         Helper function for getting the CGColorRef that represents the linen background color.
933
934         (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
935         Set the linen background color as the overhang areas layer background color.
936
937         * rendering/RenderLayerCompositor.cpp:
938         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
939         Call ScrollbarTheme::setUpOverhangAreasLayerContents.
940
941 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
942
943         Unreviewed, rolling out r106566.
944         http://trac.webkit.org/changeset/106566
945         https://bugs.webkit.org/show_bug.cgi?id=77673
946
947         Broke the Windows build (Requested by jessieberlin on
948         #webkit).
949
950         * WebCore.vcproj/copyForwardingHeaders.cmd:
951         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
952
953 2012-02-02  Tommy Widenflycht  <tommyw@google.com>
954
955         [chromium] MediaStream API: Adding the embedding code for MediaStreamCenter
956         https://bugs.webkit.org/show_bug.cgi?id=73130
957
958         Reviewed by Darin Fisher.
959
960         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
961
962         * mediastream/UserMediaClient.h:
963         (UserMediaClient):
964         * mediastream/UserMediaRequest.cpp:
965         (WebCore::UserMediaRequest::didCompleteQuery):
966         * mediastream/UserMediaRequest.h:
967         (UserMediaRequest):
968         (WebCore::UserMediaRequest::audio):
969         (WebCore::UserMediaRequest::video):
970         (WebCore::UserMediaRequest::cameraPreferenceUser):
971         (WebCore::UserMediaRequest::cameraPreferenceEnvironment):
972         * platform/mediastream/MediaStreamCenter.cpp:
973         (WebCore):
974         (WebCore::MediaStreamCenter::queryMediaStreamSources):
975         * platform/mediastream/MediaStreamCenter.h:
976         (WebCore):
977         (MediaStreamSourcesQueryClient):
978         (MediaStreamCenter):
979
980 2012-02-02  Raymond Toy  <rtoy@google.com>
981
982         Constant values to set "distanceModel" are undefined
983         https://bugs.webkit.org/show_bug.cgi?id=74273
984
985         Reviewed by Kenneth Russell.
986
987         Tests: webaudio/distance-exponential.html
988                webaudio/distance-inverse.html
989                webaudio/distance-linear.html
990
991         * webaudio/AudioPannerNode.h: Define enum for the new constants
992         for the distance models.
993         * webaudio/AudioPannerNode.idl: Define matching constants for the
994         distance models.
995
996 2012-02-02  Raymond Toy  <rtoy@google.com>
997
998         Illegal panner model values should throw an exception
999         https://bugs.webkit.org/show_bug.cgi?id=77235
1000
1001         Reviewed by Kenneth Russell.
1002
1003         Modified existing panner-set-model test to catch exceptions.
1004         Debug build should not crash anymore.
1005
1006         * webaudio/AudioPannerNode.cpp:
1007         (WebCore::AudioPannerNode::setPanningModel):  Throw exception for
1008         invalid model values.
1009         * webaudio/AudioPannerNode.h:
1010         (AudioPannerNode): Update declaration
1011         * webaudio/AudioPannerNode.idl: Setting panner model can throw
1012         exception. 
1013
1014 2012-02-02  Kentaro Hara  <haraken@chromium.org>
1015
1016         Rename [ConvertUndefinedOrNullToNullString] to
1017         [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString]
1018         https://bugs.webkit.org/show_bug.cgi?id=77611
1019
1020         Reviewed by Adam Barth.
1021
1022         This patch renames [ConvertUndefinedOrNullToNullString] to
1023         [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString], according to the spec
1024         (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs,
1025         http://dev.w3.org/2006/webapi/WebIDL/#TreatUndefinedAs).
1026
1027         No tests. No changes in behavior.
1028
1029         * bindings/scripts/CodeGeneratorJS.pm:
1030         (JSValueToNative):
1031         * bindings/scripts/CodeGeneratorV8.pm:
1032         (GetNativeTypeFromSignature):
1033         * dom/DOMImplementation.idl:
1034         * dom/Document.idl:
1035         * fileapi/Blob.idl:
1036         * fileapi/DirectoryEntry.idl:
1037         * fileapi/DirectoryEntrySync.idl:
1038         * fileapi/Entry.idl:
1039         * fileapi/EntrySync.idl:
1040         * fileapi/WebKitBlobBuilder.idl:
1041         * html/HTMLButtonElement.idl:
1042         * html/HTMLCanvasElement.idl:
1043         * html/HTMLFieldSetElement.idl:
1044         * html/HTMLInputElement.idl:
1045         * html/HTMLKeygenElement.idl:
1046         * html/HTMLObjectElement.idl:
1047         * html/HTMLOutputElement.idl:
1048         * html/HTMLSelectElement.idl:
1049         * html/HTMLTextAreaElement.idl:
1050         * page/Console.idl:
1051         * page/DOMWindow.idl:
1052
1053         * bindings/scripts/test/TestObj.idl: No changes in run-bindings-tests results.
1054
1055 2012-02-02  Anders Carlsson  <andersca@apple.com>
1056
1057         NPAPI will not send mouse up events when mouse is outside plugin area
1058         https://bugs.webkit.org/show_bug.cgi?id=77657
1059         <rdar://problem/10160674>
1060
1061         Reviewed by Andreas Kling.
1062
1063         Export EventHandler::setCapturingMouseEventsNode.
1064
1065         * WebCore.exp.in:
1066
1067 2012-02-02  Antti Koivisto  <antti@apple.com>
1068
1069         Move remaining implementation from CSSStyleDeclaration to subclasses 
1070         https://bugs.webkit.org/show_bug.cgi?id=77621
1071
1072         Reviewed by Andreas Kling.
1073
1074         This leaves CSSStyleDeclaration a near-pure CSSOM interface.
1075
1076         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1077         (WebCore::isCSSPropertyName):
1078         (WebCore::JSCSSStyleDeclaration::putDelegate):
1079         * css/CSSComputedStyleDeclaration.cpp:
1080         (WebCore::CSSComputedStyleDeclaration::parentRule):
1081         (WebCore):
1082         * css/CSSComputedStyleDeclaration.h:
1083         (CSSComputedStyleDeclaration):
1084         * css/CSSMutableStyleDeclaration.cpp:
1085         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1086         (WebCore::CSSMutableStyleDeclaration::contextStyleSheet):
1087         (WebCore):
1088         (WebCore::CSSMutableStyleDeclaration::parentRule):
1089         * css/CSSMutableStyleDeclaration.h:
1090         (WebCore::CSSMutableStyleDeclaration::isInlineStyleDeclaration):
1091         (WebCore::CSSMutableStyleDeclaration::parentRuleInternal):
1092         (WebCore::CSSMutableStyleDeclaration::clearParentRule):
1093         (CSSMutableStyleDeclaration):
1094         (WebCore::CSSMutableStyleDeclaration::parentElement):
1095         (WebCore::CSSMutableStyleDeclaration::clearParentElement):
1096         (WebCore::CSSMutableStyleDeclaration::parentStyleSheet):
1097         * css/CSSParser.cpp:
1098         (WebCore::parseColorValue):
1099         (WebCore::parseSimpleLengthValue):
1100         (WebCore::CSSParser::parseValue):
1101         (WebCore::CSSParser::parseDeclaration):
1102         * css/CSSStyleDeclaration.cpp:
1103         (WebCore):
1104         * css/CSSStyleDeclaration.h:
1105         (CSSStyleDeclaration):
1106         (WebCore::CSSStyleDeclaration::parentStyleSheet):
1107         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
1108         * css/CSSStyleRule.cpp:
1109         (WebCore::CSSStyleRule::setSelectorText):
1110                             
1111             Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
1112
1113         * css/CSSStyleRule.h:
1114         (WebCore::CSSStyleRule::setDeclaration):
1115         * css/CSSStyleSelector.cpp:
1116         (WebCore::isInsideRegionRule):
1117         (WebCore::CSSStyleSelector::applyDeclaration):
1118         * css/WebKitCSSKeyframeRule.cpp:
1119         (WebCore::WebKitCSSKeyframeRule::setDeclaration):
1120         * page/PageSerializer.cpp:
1121         (WebCore::PageSerializer::serializeFrame):
1122         (WebCore::PageSerializer::serializeCSSStyleSheet):
1123         (WebCore::PageSerializer::retrieveResourcesForCSSRule):
1124         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
1125         * page/PageSerializer.h:
1126         
1127             Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
1128         
1129         (WebCore):
1130         (PageSerializer):
1131
1132 2012-02-02  Chris Marrin  <cmarrin@apple.com>
1133
1134         Turn on CSS Filters on Windows
1135         https://bugs.webkit.org/show_bug.cgi?id=76667
1136
1137         Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
1138
1139         Reviewed by Adele Peterson.
1140
1141         * WebCore.vcproj/copyForwardingHeaders.cmd:
1142         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1143         (PlatformCALayer::setFilters):
1144         (PlatformCALayer::filtersCanBeComposited):
1145
1146 2012-02-02  Anders Carlsson  <andersca@apple.com>
1147
1148         Move ScrollingThread to its own file
1149         https://bugs.webkit.org/show_bug.cgi?id=77652
1150
1151         Reviewed by Sam Weinig.
1152
1153         This just shuffles some classes around and makes ScrollingCoordinator call into ScrollingThread.
1154         Hopefully we'll be able to make ScrollingThread use the new WebCore::RunLoop class eventually.
1155
1156         * WebCore.xcodeproj/project.pbxproj:
1157         * page/scrolling/ScrollingCoordinator.cpp:
1158         (WebCore::ScrollingCoordinator::handleWheelEvent):
1159         * page/scrolling/ScrollingCoordinator.h:
1160         (ScrollingCoordinator):
1161         * page/scrolling/ScrollingThread.cpp: Added.
1162         (WebCore):
1163         (WebCore::ScrollingThread::ScrollingThread):
1164         (WebCore::ScrollingThread::isCurrentThread):
1165         (WebCore::ScrollingThread::dispatch):
1166         (WebCore::ScrollingThread::shared):
1167         (WebCore::ScrollingThread::createThreadIfNeeded):
1168         (WebCore::ScrollingThread::threadCallback):
1169         (WebCore::ScrollingThread::threadBody):
1170         (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
1171         * page/scrolling/ScrollingThread.h: Added.
1172         (WebCore):
1173         (ScrollingThread):
1174         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1175         (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
1176         (WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPositionOnScrollingThread):
1177         * page/scrolling/mac/ScrollingThreadMac.mm: Added.
1178         (WebCore):
1179         (WebCore::ScrollingThread::initializeRunLoop):
1180         (WebCore::ScrollingThread::wakeUpRunLoop):
1181         (WebCore::ScrollingThread::threadRunLoopSourceCallback):
1182
1183 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1184
1185         Unreviewed, rolling out r106551.
1186         http://trac.webkit.org/changeset/106551
1187         https://bugs.webkit.org/show_bug.cgi?id=77648
1188
1189         Breaking mac and gtk tests due to font differences. (Requested
1190         by _pdr_ on #webkit).
1191
1192         * platform/graphics/SVGGlyph.cpp:
1193         (WebCore::charactersWithArabicForm):
1194         * svg/SVGFontData.cpp:
1195         (WebCore::SVGFontData::applySVGGlyphSelection):
1196         * svg/SVGFontData.h:
1197         (SVGFontData):
1198
1199 2012-02-02  Alexander Pavlov  <apavlov@chromium.org>
1200
1201         Web Inspector: [REGRESSION] Slow continuous DOM traversal with Up/Down keys
1202         https://bugs.webkit.org/show_bug.cgi?id=77643
1203
1204         Reviewed by Pavel Feldman.
1205
1206         Test: inspector/styles/updates-during-dom-traversal.html
1207
1208         * inspector/front-end/StylesSidebarPane.js:
1209         (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
1210
1211 2012-02-02  Claudio Saavedra  <csaavedra@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
1212
1213         [GTK] WebKitWebView won't work in a GtkOffscreenWindow
1214         https://bugs.webkit.org/show_bug.cgi?id=76911
1215
1216         Reviewed by Philippe Normand.
1217
1218         * platform/gtk/GtkUtilities.cpp:
1219         (WebCore::widgetIsOnscreenToplevelWindow): Added this helper.
1220         * platform/gtk/GtkUtilities.h:
1221         (WebCore): Added helper declaration.
1222
1223 2012-02-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1224
1225         Update active and hover state on touch release.
1226         https://bugs.webkit.org/show_bug.cgi?id=77620
1227
1228         Reviewed by Kenneth Rohde Christiansen.
1229
1230         * rendering/HitTestRequest.h:
1231         (WebCore::HitTestRequest::move):
1232         (WebCore::HitTestRequest::release):
1233         (WebCore::HitTestRequest::touchEvent):
1234         (WebCore::HitTestRequest::mouseEvent):
1235         (WebCore::HitTestRequest::touchMove):
1236         (WebCore::HitTestRequest::touchRelease):
1237             Rename the enum values in HitTestRequest to be mouse/touch
1238             agnostic, and add value for recognizing touch events.
1239         * rendering/RenderFrameSet.cpp:
1240         (WebCore::RenderFrameSet::nodeAtPoint): Update for HitTestRequest rename.
1241         * rendering/RenderLayer.cpp:
1242         (WebCore::RenderLayer::hitTest): ditto
1243         (WebCore::RenderLayer::updateHoverActiveState): Reset hoverstate on touch release.
1244         * page/EventHandler.cpp:
1245         (WebCore::EventHandler::updateSelectionForMouseDrag): Update for HitTestRequest rename.
1246         (WebCore::EventHandler::handleMouseMoveEvent): ditto
1247         (WebCore::EventHandler::handleMouseReleaseEvent): ditto
1248         (WebCore::EventHandler::hoverTimerFired): ditto
1249         (WebCore::EventHandler::dragSourceEndedAt): ditto
1250         (WebCore::EventHandler::handleTouchEvent): Hittest touch release to reset
1251             active and hover states and add touch enum to all touch hittests.
1252
1253 2012-02-02  Pavel Feldman  <pfeldman@google.com>
1254
1255         Web Inspector: enable editing of selected rows on single click in elements panel.
1256         https://bugs.webkit.org/show_bug.cgi?id=77627
1257
1258         Reviewed by Vsevolod Vlasov.
1259
1260         * inspector/front-end/ElementsTreeOutline.js:
1261         (WebInspector.ElementsTreeElement.prototype.onattach):
1262         (WebInspector.ElementsTreeElement.prototype.onselect):
1263         (WebInspector.ElementsTreeElement.prototype._mouseDown):
1264         * inspector/front-end/treeoutline.js:
1265         (TreeElement.prototype.selectOnMouseDown):
1266         (TreeElement.prototype.select):
1267
1268 2012-02-02  Philip Rogers  <pdr@google.com>
1269
1270         Fix mirroring with SVG fonts
1271         https://bugs.webkit.org/show_bug.cgi?id=77067
1272
1273         Reviewed by Nikolas Zimmermann.
1274
1275         SVG fonts were incorrectly handling mirrored characters in bidi text.
1276         In this change I added the function createStringWithMirroredCharacters
1277         which handles mirroring the characters when selecting glyphs for SVG
1278         fonts. I also made a small cosmetic change in the function
1279         charactersWithArabicForm, changing the bool parameter "mirror" to "rtl"
1280         which better reflects what it actually does.
1281
1282         Several new tests were added to test mirroring with SVG fonts in the
1283         presence of Arabic forms and non-BMP characters.
1284
1285         Tests: svg/custom/glyph-selection-arabic-forms.svg
1286                svg/custom/glyph-selection-bidi-mirror.svg
1287                svg/custom/glyph-selection-non-bmp.svg
1288
1289         * platform/graphics/SVGGlyph.cpp:
1290         (WebCore::charactersWithArabicForm):
1291         * svg/SVGFontData.cpp:
1292         (WebCore::SVGFontData::applySVGGlyphSelection):
1293         (WebCore::SVGFontData::createStringWithMirroredCharacters):
1294         * svg/SVGFontData.h:
1295         (SVGFontData):
1296
1297 2012-02-02  Pavel Feldman  <pfeldman@google.com>
1298
1299         Web Inspector: add experiment for single click styles editing.
1300         https://bugs.webkit.org/show_bug.cgi?id=77624
1301
1302         Reviewed by Vsevolod Vlasov.
1303
1304         * inspector/front-end/Settings.js:
1305         (WebInspector.ExperimentsSettings):
1306         * inspector/front-end/StylesSidebarPane.js:
1307         (WebInspector.StylePropertiesSection):
1308         (WebInspector.StylePropertyTreeElement.prototype.onattach):
1309         (WebInspector.StylePropertyTreeElement.prototype._mouseDown):
1310         (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
1311         (WebInspector.StylePropertyTreeElement.prototype):
1312         (WebInspector.StylePropertyTreeElement.prototype.selectElement.context):
1313
1314 2012-02-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1315
1316         Make the tap highlighting work for all test cases
1317         https://bugs.webkit.org/show_bug.cgi?id=77626
1318
1319         Reviewed by Simon Hausmann.
1320
1321         Clean up of the current code to make it more generic. Now uses
1322         addFocusRingRects for finding the areas to highlight.
1323
1324         Tested by current manual tests.
1325
1326         * page/GestureTapHighlighter.cpp:
1327         (WebCore::GestureTapHighlighter::pathForNodeHighlight):
1328
1329 2012-02-02  Mario Sanchez Prada  <msanchez@igalia.com>
1330
1331         [Gtk] atk_text_get_text_at_offset() sometimes fails to provide the correct line
1332         https://bugs.webkit.org/show_bug.cgi?id=72382
1333
1334         Reviewed by Martin Robinson.
1335
1336         Do not add unnecesary blanks at the end of a line of text.
1337
1338         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
1339         (textForRenderer): Do not just append a '\n' at the end of a line
1340         if the linebreak for that line was already considered.
1341
1342 2012-02-02  Raul Hudea  <rhudea@adobe.com>
1343
1344         Regions should ignore the saved currentRenderFlowThread during repainting
1345         because if there are imbricated flow threads, it might end using the wrong one.
1346
1347         [CSSRegions] Assert failure in RenderView::computeRectForRepaint
1348         https://bugs.webkit.org/show_bug.cgi?id=77430
1349
1350         Reviewed by David Hyatt.
1351
1352         Test: fast/regions/imbricated-flow-threads-crash.html
1353
1354         * rendering/RenderFlowThread.cpp:
1355         (CurrentRenderFlowThreadDisabler):
1356         (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
1357         (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
1358         (WebCore):
1359         (WebCore::RenderFlowThread::repaintRectangleInRegions):
1360
1361 2012-02-02  Kinuko Yasuda  <kinuko@chromium.org>
1362
1363         Cleanup: Move chrome-specific filesystem type handling code (for FileSystem API) under chromium directory (re-landing r105395)
1364         https://bugs.webkit.org/show_bug.cgi?id=76551
1365
1366         Reviewed by David Levin.
1367
1368         Moved the implementation of crackFileSystemURL() and toURL() from
1369         WebCore/fileapi/DOMFileSystemBase into WebCore/platform/AsyncFileSystem
1370         so that each platform can extend/implement their behavior if necessary.
1371
1372         No new tests as it has no functional changes.
1373
1374         * fileapi/DOMFileSystemBase.cpp: Moved crackFileSystemURL() to AsyncFileSystem.
1375         * fileapi/DOMFileSystemBase.h:
1376         (DOMFileSystemBase):
1377         * fileapi/EntryBase.cpp: Moved toURL() to AsyncFileSystem.
1378         (WebCore::EntryBase::toURL):
1379         * page/DOMWindow.cpp: Made corresponding callsite changes.
1380         (WebCore::DOMWindow::webkitRequestFileSystem):
1381         (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
1382         * page/DOMWindow.h:
1383         * platform/AsyncFileSystem.cpp:
1384         (WebCore::AsyncFileSystem::isValidType): Added.
1385         * platform/AsyncFileSystem.h:
1386         (AsyncFileSystem):
1387         * workers/WorkerContext.cpp: Made corresponding callsite changes.
1388         (WebCore::WorkerContext::webkitRequestFileSystem):
1389         (WebCore::WorkerContext::webkitRequestFileSystemSync):
1390         (WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
1391         (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
1392         * workers/WorkerContext.h:
1393
1394 2012-02-02  Yury Semikhatsky  <yurys@chromium.org>
1395
1396         Web Inspector: pause on uncaugh exceptions state is not properly restored
1397         https://bugs.webkit.org/show_bug.cgi?id=77558
1398
1399         'Pause on exceptions' state is now stored in InspectorState object so that it is
1400         properly restored on inspected process change.
1401
1402         Reviewed by Vsevolod Vlasov.
1403
1404         * inspector/InspectorDebuggerAgent.cpp:
1405         (DebuggerAgentState):
1406         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1407         (WebCore::InspectorDebuggerAgent::disable):
1408         (WebCore::InspectorDebuggerAgent::restore):
1409         (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
1410         (WebCore):
1411         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsImpl):
1412         * inspector/InspectorDebuggerAgent.h:
1413         (InspectorDebuggerAgent):
1414
1415 2012-02-02  Kentaro Hara  <haraken@chromium.org>
1416
1417         The third argument of addEventListener/removeEventListener of PeerConnection should be optional
1418         https://bugs.webkit.org/show_bug.cgi?id=77606
1419
1420         Reviewed by Adam Barth.
1421
1422         This patch corrects a typo in PeerConnection.idl, i.e. [optional] => [Optional].
1423
1424         Test: fast/mediastream/peerconnection-eventlistener-optional-argument.html
1425
1426         * mediastream/PeerConnection.idl:
1427
1428 2012-02-02  Rakesh KN  <rakesh.kn@motorola.com>
1429
1430         hidden attribute on <input type=file /> suppresses the file selection dialog
1431         https://bugs.webkit.org/show_bug.cgi?id=58208
1432
1433         Reviewed by Ryosuke Niwa.
1434
1435         We want to allow opening file dialog on hidden element when click() is called
1436         on the element. The behaviour is similar to Firefox and IE.
1437
1438         Added manual test as the file dialog opens only on user gesture.
1439
1440         * html/FileInputType.cpp:
1441         (WebCore::FileInputType::handleDOMActivateEvent):
1442         Removed renderer check as input can be hidden.
1443
1444 2012-02-01  Philippe Normand  <pnormand@igalia.com>
1445
1446         [GStreamer] FFTFrame implementation
1447         https://bugs.webkit.org/show_bug.cgi?id=73545
1448
1449         Reviewed by Chris Rogers.
1450
1451         FFTFrame implementation based on GStreamer's FFT processing
1452         library.
1453
1454         No new tests, existing WebAudio tests cover this.
1455
1456         * GNUmakefile.am:
1457         * GNUmakefile.list.am:
1458         * platform/audio/FFTFrame.h:
1459         * platform/audio/FFTFrameStub.cpp:
1460         * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
1461         (WebCore::FFTFrame::FFTFrame):
1462         (WebCore::FFTFrame::initialize):
1463         (WebCore::FFTFrame::cleanup):
1464         (WebCore::FFTFrame::~FFTFrame):
1465         (WebCore::FFTFrame::multiply):
1466         (WebCore::FFTFrame::doFFT):
1467         (WebCore::FFTFrame::doInverseFFT):
1468         (WebCore::FFTFrame::realData):
1469         (WebCore::FFTFrame::imagData):
1470
1471 2012-02-02  Kentaro Hara  <haraken@chromium.org>
1472
1473         Rename [CheckFrameSecurity] and [SVGCheckSecurity] to [CheckAccessToNode]
1474         https://bugs.webkit.org/show_bug.cgi?id=77601
1475
1476         Reviewed by Adam Barth.
1477
1478         [CheckFrameSecurity] and [SVGCheckSecurity] have the same meaning; i.e. generate code
1479         to check allowAccessToNode() for a given attribute or method. This patch renames them
1480         to [CheckAccessToNode].
1481
1482         No tests. No changes in behavior.
1483
1484         * bindings/scripts/CodeGeneratorJS.pm:
1485         (GenerateImplementation):
1486         * bindings/scripts/CodeGeneratorV8.pm:
1487         (GenerateNormalAttrGetter):
1488         (GenerateFunctionCallback):
1489         * html/HTMLEmbedElement.idl:
1490         * html/HTMLFrameElement.idl:
1491         * html/HTMLIFrameElement.idl:
1492         * html/HTMLObjectElement.idl:
1493
1494         * bindings/scripts/test/TestObj.idl:
1495         * bindings/scripts/test/V8/V8TestObj.cpp: Updated the test results.
1496         (WebCore):
1497
1498 2012-02-01  Kentaro Hara  <haraken@chromium.org>
1499
1500         Rename [V8DisallowShadowing] to [V8Unforgeable]
1501         https://bugs.webkit.org/show_bug.cgi?id=77599
1502
1503         Reviewed by Adam Barth.
1504
1505         This patch renames [V8DisallowShadowing] to [V8Unforgeable], following the Web IDL
1506         spec (http://dev.w3.org/2006/webapi/WebIDL/#Unforgeable).
1507
1508         No tests. No change in behavior.
1509
1510         * bindings/scripts/CodeGeneratorV8.pm:
1511         (GenerateNormalAttrGetter):
1512         (GenerateSingleBatchedAttribute):
1513         (GenerateImplementation):
1514         * page/DOMWindow.idl:
1515         * page/Location.idl:
1516
1517 2012-02-01  Kentaro Hara  <haraken@chromium.org>
1518
1519         Rename [ConvertNullToNullString] to [TreatNullAs=EmptyString]
1520         https://bugs.webkit.org/show_bug.cgi?id=77602
1521
1522         Reviewed by Adam Barth.
1523
1524         This patch renames [ConvertNullToNullString] to [TreatNullAs=EmptyString],
1525         according to the spec (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs).
1526
1527         No tests. No changes in behavior.
1528
1529         * bindings/scripts/CodeGeneratorJS.pm:
1530         (JSValueToNative):
1531         * bindings/scripts/CodeGeneratorV8.pm:
1532         (GetNativeTypeFromSignature):
1533
1534         * css/CSSCharsetRule.idl:
1535         * css/CSSPageRule.idl:
1536         * css/CSSRule.idl:
1537         * css/CSSStyleDeclaration.idl:
1538         * css/CSSStyleRule.idl:
1539         * css/CSSValue.idl:
1540         * css/MediaList.idl:
1541         * css/WebKitCSSKeyframesRule.idl:
1542         * dom/Attr.idl:
1543         * dom/CharacterData.idl:
1544         * dom/DOMImplementation.idl:
1545         * dom/Document.idl:
1546         * dom/Element.idl:
1547         * dom/NamedNodeMap.idl:
1548         * dom/Node.idl:
1549         * dom/ProcessingInstruction.idl:
1550         * dom/ShadowRoot.idl:
1551         * html/HTMLAnchorElement.idl:
1552         * html/HTMLButtonElement.idl:
1553         * html/HTMLDocument.idl:
1554         * html/HTMLElement.idl:
1555         * html/HTMLFormElement.idl:
1556         * html/HTMLFrameElement.idl:
1557         * html/HTMLInputElement.idl:
1558         * html/HTMLMediaElement.idl:
1559         * html/HTMLOutputElement.idl:
1560         * html/HTMLScriptElement.idl:
1561         * html/HTMLSelectElement.idl:
1562         * html/HTMLTextAreaElement.idl:
1563         * html/HTMLTitleElement.idl:
1564         * html/canvas/CanvasRenderingContext2D.idl:
1565         * page/DOMWindow.idl:
1566         * storage/StorageEvent.idl:
1567         * svg/SVGAngle.idl:
1568         * svg/SVGElement.idl:
1569         * svg/SVGLength.idl:
1570         * svg/SVGScriptElement.idl:
1571
1572         * bindings/scripts/test/TestObj.idl: No change in the run-bindings-tests results.
1573
1574 2012-02-01  Kentaro Hara  <haraken@chromium.org>
1575
1576         Remove [GenerateConstructor] from IDL files
1577         https://bugs.webkit.org/show_bug.cgi?id=77598
1578
1579         Reviewed by Adam Barth.
1580
1581         [GenerateConstructor] is used in some IDL files but it is not implemented
1582         in code generators. I could not find any history about [GenerateConstructor]
1583         in code generators. This patch removes them from IDL files.
1584
1585         Maybe we want to replace [GenerateConstructor] with [Constructor] eventually,
1586         but currently no tests are written for their constructors (e.g. "new DOMTokenList()").
1587         So simply removing them would make sense.
1588
1589         No new tests. No change in behavior.
1590
1591         * dom/DOMStringList.idl:
1592         * html/DOMSettableTokenList.idl:
1593         * html/DOMTokenList.idl:
1594         * svg/SVGFEConvolveMatrixElement.idl:
1595         * webaudio/AudioPannerNode.idl:
1596
1597 2012-02-01  Eric Carlson  <eric.carlson@apple.com>
1598
1599         Consider user's preferred language when choosing text tracks
1600         https://bugs.webkit.org/show_bug.cgi?id=74121
1601
1602         Reviewed by Alexey Proskuryakov.
1603
1604         Tests: media/track/track-language-preference.html
1605                media/track/track-prefer-captions.html
1606
1607         * html/HTMLMediaElement.cpp:
1608         (WebCore::HTMLMediaElement::loadTimerFired): configureTextTracks -> configureNewTextTracks.
1609         (WebCore::HTMLMediaElement::textTracksAreReady): Add more comments.
1610         (WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
1611         (WebCore::HTMLMediaElement::showingTrackWithSameKind): Minor restructuring.
1612         (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Renamed from userIsInterestedInThisTrack,
1613             don't consider user's language preference.
1614         (WebCore::HTMLMediaElement::configureTextTrackGroup): New, configure all tracks in a group, 
1615             considering user's kind and language preferences.
1616         (WebCore::HTMLMediaElement::configureNewTextTracks): New, configure all newly added tracks.
1617         * html/HTMLMediaElement.h:
1618         (WebCore::HTMLMediaElement::TrackGroup::TrackGroup):
1619         (TrackGroup):
1620
1621         * platform/Language.cpp:
1622         (WebCore::canonicalLanguageIdentifier): New, create a canonicalized version of a language string.
1623         (WebCore::bestMatchingLanguage): New, return the language from the list that best matches the 
1624             specified language.
1625         (WebCore::preferredLanguageFromList): New, return the language in the specified list that best
1626             matches the user's language preference.
1627         * platform/Language.h:
1628
1629         * testing/Internals.cpp:
1630         (WebCore::Internals::setShouldDisplayTrackType): New, allow DRT to set the track type preference.
1631         (WebCore::Internals::shouldDisplayTrackType): New, allow DRT to read the track type preference.
1632         * testing/Internals.h:
1633         * testing/Internals.idl:
1634
1635 2012-02-01  Hayato Ito  <hayato@chromium.org>
1636
1637         Change class hierarycy so that ShadowRoot can inherit DocumentFragment.
1638         https://bugs.webkit.org/show_bug.cgi?id=76693
1639
1640         Reviewed by Darin Adler.
1641
1642         Make ShadowRoot inherit DocumentFragment so that it matches the class hierarchy of IDL in the spec.
1643         TreeScope becomes a separated class, which is now inherited by Document and ShadowRoot using multiple-inheritance.
1644         This patch is pre-requirement for coming IDL change.
1645
1646         No tests. No change in behavior.
1647
1648         * dom/Document.cpp:
1649         (WebCore::Document::Document):
1650         (WebCore::Document::~Document):
1651         (WebCore::Document::buildAccessKeyMap):
1652         (WebCore::Document::childrenChanged):
1653         (WebCore::Document::attach):
1654         (WebCore::Document::detach):
1655         * dom/Document.h:
1656         (Document):
1657         * dom/DocumentFragment.cpp:
1658         (WebCore::DocumentFragment::DocumentFragment):
1659         * dom/DocumentFragment.h:
1660         (DocumentFragment):
1661         * dom/DocumentOrderedMap.cpp:
1662         (WebCore::DocumentOrderedMap::get):
1663         * dom/ShadowRoot.cpp:
1664         (WebCore::ShadowRoot::ShadowRoot):
1665         (WebCore::ShadowRoot::~ShadowRoot):
1666         (WebCore::ShadowRoot::attach):
1667         * dom/ShadowRoot.h:
1668         * dom/TreeScope.cpp:
1669         (WebCore::TreeScope::TreeScope):
1670         (WebCore::TreeScope::~TreeScope):
1671         (WebCore::TreeScope::setParentTreeScope):
1672         (WebCore::TreeScope::getImageMap):
1673         (WebCore::TreeScope::findAnchor):
1674         * dom/TreeScope.h:
1675         (WebCore):
1676         (WebCore::TreeScope::rootNode):
1677         (TreeScope):
1678         * dom/TreeScopeAdopter.cpp:
1679         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
1680         * page/DragController.cpp:
1681         (WebCore::asFileInput):
1682         * page/FocusController.cpp:
1683         (WebCore::ownerOfTreeScope):
1684         (WebCore::FocusController::nextFocusableNode):
1685         (WebCore::FocusController::previousFocusableNode):
1686
1687 2012-02-01  Benjamin Poulain  <bpoulain@apple.com>
1688
1689         WorkerScriptController::evaluate() should not return anything
1690         https://bugs.webkit.org/show_bug.cgi?id=77587
1691
1692         Reviewed by Adam Barth.
1693
1694         Remove the return value from WorkerScriptController as it is
1695         (and should be) unused.
1696
1697         * bindings/js/WorkerScriptController.cpp:
1698         (WebCore::WorkerScriptController::evaluate):
1699         * bindings/js/WorkerScriptController.h:
1700         (WorkerScriptController):
1701         * bindings/v8/WorkerScriptController.cpp:
1702         (WebCore::WorkerScriptController::evaluate):
1703         * bindings/v8/WorkerScriptController.h:
1704         (WorkerScriptController):
1705
1706 2012-02-01  Kentaro Hara  <haraken@chromium.org>
1707
1708         Remove [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
1709         [HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators
1710         https://bugs.webkit.org/show_bug.cgi?id=77585
1711
1712         Reviewed by Adam Barth.
1713
1714         This patch removes [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
1715         [HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators,
1716         since they are not used by no IDL files.
1717
1718         No tests. No change in behavior.
1719
1720         * bindings/scripts/CodeGenerator.pm:
1721         (GetterExpression):
1722         * bindings/scripts/CodeGeneratorJS.pm:
1723         (GenerateGetOwnPropertySlotBody):
1724         (GenerateGetOwnPropertyDescriptorBody):
1725         (GenerateHeader):
1726         (GenerateImplementation):
1727         (IsConstructable):
1728         (IsConstructorTemplate):
1729
1730         * bindings/scripts/test/TestObj.idl:
1731         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated the run-bindings-tests results.
1732         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
1733         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
1734         (webkit_dom_test_obj_set_property):
1735         (webkit_dom_test_obj_get_property):
1736         (webkit_dom_test_obj_class_init):
1737         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
1738         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
1739         (WebCore):
1740         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
1741         (WebCore):
1742         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
1743         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
1744         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1745         (WebCore):
1746
1747 2012-02-01  Shinya Kawanaka  <shinyak@google.com>
1748
1749         Select attribute of HTMLContentElement should be able be changed dynamically.
1750         https://bugs.webkit.org/show_bug.cgi?id=76261
1751
1752         Reviewed by Hajime Morita.
1753
1754         When select attribute is changed, the flag to recalc style is set.
1755
1756         Test: fast/dom/shadow/content-element-select-dynamic.html
1757
1758         * html/shadow/HTMLContentElement.cpp:
1759         (WebCore::HTMLContentElement::parseMappedAttribute):
1760           Sets recalc style when select is changed.
1761         * html/shadow/HTMLContentElement.h:
1762         (HTMLContentElement):
1763
1764 2012-02-01  Kentaro Hara  <haraken@chromium.org>
1765
1766         Remove [ImplementationUUID] and [InterfaceUUID] from html/canvas/*.idl
1767         https://bugs.webkit.org/show_bug.cgi?id=77589
1768
1769         Reviewed by Adam Barth.
1770
1771         [ImplementationUUID] and [InterfaceUUID] are used in html/canvas/*.idl,
1772         but they are not implemented in code generators and thus have no meaning.
1773         This patch removes them.
1774
1775         No tests. No change in behavior.
1776
1777         * html/canvas/CanvasGradient.idl:
1778         * html/canvas/CanvasPattern.idl: The file is now empty though.
1779         * html/canvas/CanvasRenderingContext.idl:
1780         * html/canvas/CanvasRenderingContext2D.idl:
1781         * html/canvas/WebGLRenderingContext.idl:
1782
1783 2012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1784
1785         Unreviewed, rolling out r106408.
1786         http://trac.webkit.org/changeset/106408
1787         https://bugs.webkit.org/show_bug.cgi?id=77592
1788
1789         crashes in chromium mac release tests (Requested by japhet on
1790         #webkit).
1791
1792         * platform/graphics/Region.cpp:
1793         * platform/graphics/Region.h:
1794         (Region):
1795         (Shape):
1796
1797 2012-02-01  No'am Rosenthal  <noam.rosenthal@nokia.com>
1798
1799         [Texmap] Use glScissors for clipping in TextureMapperGL when possible
1800         https://bugs.webkit.org/show_bug.cgi?id=77575
1801
1802         Reviewed by Martin Robinson.
1803
1804         Maintain a clipping stack, that helps us use stencils in conjunction with scissors.
1805         We apply scissors when the clip region is rectalinear, and stencil when it's not.
1806
1807         No behavior changes so no new tests.
1808
1809         * platform/graphics/opengl/TextureMapperGL.cpp:
1810         (SharedGLData):
1811         (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
1812         (WebCore::TextureMapperGL::drawTexture):
1813         (WebCore::TextureMapperGL::bindSurface):
1814         (WebCore):
1815         (WebCore::scissorClip):
1816         (WebCore::TextureMapperGL::beginScissorClip):
1817         (WebCore::TextureMapperGL::endScissorClip):
1818         (WebCore::TextureMapperGL::beginClip):
1819         (WebCore::TextureMapperGL::endClip):
1820         * platform/graphics/opengl/TextureMapperGL.h:
1821         (TextureMapperGL):
1822
1823 2012-02-01  Anders Carlsson  <andersca@apple.com>
1824
1825         Move the scrolling coordinator to page/scrolling
1826         https://bugs.webkit.org/show_bug.cgi?id=77590
1827
1828         Reviewed by Dan Bernstein.
1829
1830         Put scrolling related files in page/scrolling to avoid cluttering the page directory.
1831
1832         * WebCore.xcodeproj/project.pbxproj:
1833         * page/scrolling/ScrollingCoordinator.cpp: Renamed from Source/WebCore/page/ScrollingCoordinator.cpp.
1834         * page/scrolling/ScrollingCoordinator.h: Renamed from Source/WebCore/page/ScrollingCoordinator.h.
1835         * page/scrolling/mac/ScrollingCoordinatorMac.mm: Renamed from Source/WebCore/page/mac/ScrollingCoordinatorMac.mm.
1836
1837 2012-02-01  Kentaro Hara  <haraken@chromium.org>
1838
1839         Remove [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
1840         [v8implname] and [v8referenceattr] from code generators
1841         https://bugs.webkit.org/show_bug.cgi?id=77588
1842
1843         Reviewed by Adam Barth.
1844
1845         This patch removes [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
1846         [v8implname] and [v8referenceattr] from code generators, since they are not used
1847         by any IDL files.
1848
1849         No tests. No changes in behavior.
1850
1851         * bindings/scripts/CodeGeneratorJS.pm:
1852         (GenerateImplementation):
1853         * bindings/scripts/CodeGeneratorObjC.pm:
1854         (GenerateHeader):
1855         (GenerateImplementation):
1856         * bindings/scripts/CodeGeneratorV8.pm:
1857         (IsConstructable):
1858         (IsConstructorTemplate):
1859         (GenerateNormalAttrGetter):
1860         (GenerateFunctionCallString):
1861
1862 2012-02-01  Pablo Flouret  <pablof@motorola.com>
1863
1864         Support targetOrigin = "/" in postMessage for sending messages to same origin as source document.
1865         https://bugs.webkit.org/show_bug.cgi?id=77580
1866
1867         Reviewed by Adam Barth.
1868
1869         No new tests. Modified http/tests/security/postMessage/target-origin.html
1870         to test this case as well.
1871
1872         * page/DOMWindow.cpp:
1873         (WebCore::DOMWindow::postMessage):
1874
1875 2012-02-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1876
1877         Avoid creating NamedNodeMap unnecessarily
1878         https://bugs.webkit.org/show_bug.cgi?id=77574
1879
1880         Reviewed by Ryosuke Niwa.
1881
1882         The method Element::attributes() was being used for multiple things in our
1883         codebase: (1) as the getter for NamedNodeMap exposed to DOM, (2) as a way to other WebCore
1884         code get the "attribute storage" (currently inside NamedNodeMap), and (3) as a way to
1885         get the attribute storage creating one if necessary.
1886
1887         This commit separate the jobs in different functions:
1888
1889         1) attributes() keeps being the DOM getter, and loses its boolean parameter.
1890
1891         2) updatedAttributes() updates the invalid attributes and returns the attribute
1892         storage. If we don't have one, return 0.
1893
1894         3) ensureUpdatedAttributes() updates the invalid attributes and forces the
1895         creation of attribute storage to return.
1896
1897         There is also another way to get to the attribute storage currently, via
1898         attributeMap(), which doesn't update the attributes for possible changes in Style
1899         or SVG attributes.
1900
1901         Note that the new functions are not available in Node class, so C++ code manipulating
1902         attributes should cast to Element.
1903
1904         This separation also made easier to spot and fix some places where we do not
1905         need to create the attribute storage if it doesn't exist.
1906
1907         No new tests, this commit shouldn't change the behavior of existing code.
1908
1909         * css/SelectorChecker.cpp:
1910         (WebCore::SelectorChecker::checkOneSelector):
1911         * dom/DatasetDOMStringMap.cpp:
1912         (WebCore::DatasetDOMStringMap::getNames):
1913         (WebCore::DatasetDOMStringMap::item):
1914         (WebCore::DatasetDOMStringMap::contains):
1915         * dom/Document.cpp:
1916         (WebCore::Document::importNode):
1917         * dom/Element.cpp:
1918         (WebCore::Element::setAttribute):
1919         (WebCore::Element::hasAttributes):
1920         (WebCore::Element::setAttributeNode):
1921         (WebCore::Element::setAttributeNodeNS):
1922         (WebCore::Element::removeAttributeNode):
1923         (WebCore::Element::getAttributeNode):
1924         (WebCore::Element::getAttributeNodeNS):
1925         (WebCore::Element::hasAttribute):
1926         (WebCore::Element::hasAttributeNS):
1927         (WebCore::Element::normalizeAttributes):
1928         * dom/Element.h:
1929         (Element):
1930         (WebCore::Element::attributes):
1931         (WebCore::Element::ensureAttributeData):
1932         (WebCore::Element::ensureUpdatedAttributes):
1933         (WebCore::Element::updatedAttributes):
1934         (WebCore::Element::setAttributesFromElement):
1935         (WebCore::Element::ensureAttributeMap): Made const to be reused by ensureUpdatedAttributes().
1936         (WebCore::Element::updateInvalidAttributes):
1937         (WebCore):
1938         * dom/NamedNodeMap.cpp:
1939         (WebCore::NamedNodeMap::mapsEquivalent): Having no attributes is equivalent to
1940         not having an attribute storage because the attribute storage is lazily created.
1941         * dom/Node.cpp:
1942         (WebCore::Node::isEqualNode): Do not force the creation of attribute storage to
1943         compare two nodes.
1944         (WebCore::Node::isDefaultNamespace): Use updatedAttributes(). Since we iterate
1945         using length, it's OK if the attribute storage is empty.
1946         (WebCore::Node::lookupNamespaceURI): Ditto.
1947         (WebCore::Node::lookupNamespacePrefix): Ditto.
1948         (WebCore::Node::compareDocumentPosition): Ditto.
1949         * editing/ApplyStyleCommand.cpp:
1950         (WebCore::hasNoAttributeOrOnlyStyleAttribute):
1951         (WebCore::isEmptyFontTag):
1952         * editing/CompositeEditCommand.cpp:
1953         (WebCore::CompositeEditCommand::isRemovableBlock): Use isElementNode() explicitly
1954         to identify non-Element nodes, then use hasAttributes() if is Element.
1955         * editing/InsertParagraphSeparatorCommand.cpp:
1956         (WebCore::highestVisuallyEquivalentDivBelowRoot):
1957         * editing/MarkupAccumulator.cpp:
1958         (WebCore::MarkupAccumulator::appendElement): Do not create the attribute storage
1959         unnecessarily.
1960         * editing/htmlediting.cpp:
1961         (WebCore::areIdenticalElements): Do not create the attribute storage
1962         unnecessarily. Use mapsEquivalent() for comparing the attributes.
1963         * editing/markup.cpp:
1964         (WebCore::completeURLs): Do not create the attribute storage unnecessarily.
1965         (WebCore::StyledMarkupAccumulator::appendElement): Ditto.
1966         (WebCore::isPlainTextMarkup): hasAttributes() will avoid creating the attribute
1967         storage unnecessarily.
1968         * html/HTMLEmbedElement.cpp:
1969         (WebCore::HTMLEmbedElement::parametersForPlugin):
1970         * html/HTMLObjectElement.cpp:
1971         (WebCore::HTMLObjectElement::parametersForPlugin):
1972         * html/HTMLParamElement.cpp:
1973         (WebCore::HTMLParamElement::isURLAttribute): Do not create the attribute storage
1974         unnecessarily.
1975         * html/parser/HTMLConstructionSite.cpp:
1976         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement): Use
1977         ensureUpdatedAttributes() since we will add new attributes.
1978         (WebCore):
1979         * inspector/InspectorCSSAgent.cpp:
1980         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
1981         * inspector/InspectorDOMAgent.cpp:
1982         (WebCore::InspectorDOMAgent::setAttributesAsText):
1983         (WebCore::InspectorDOMAgent::performSearch):
1984         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
1985         * page/PageSerializer.cpp:
1986         (WebCore::isCharsetSpecifyingNode): Do not assume attributeMap will exist.
1987         * svg/properties/SVGAnimatedPropertySynchronizer.h: Use ensureUpdatedAttributes()
1988         since we will add new attributes.
1989         * xml/XPathFunctions.cpp:
1990         (WebCore::XPath::FunLang::evaluate): Do not create the attribute storage
1991         unnecessarily.
1992         * xml/XPathNodeSet.cpp:
1993         (WebCore::XPath::NodeSet::traversalSort):
1994         * xml/XPathStep.cpp:
1995         (WebCore::XPath::Step::nodesInAxis): Use isElementNode() instead of comparing
1996         nodeType() manually. Do not create the attribute storage unnecessarily.
1997         * xml/parser/XMLDocumentParserLibxml2.cpp:
1998         (WebCore::XMLDocumentParser::XMLDocumentParser): Do not create the attribute
1999         storage unnecessarily.
2000         * xml/parser/XMLDocumentParserQt.cpp:
2001         (WebCore::XMLDocumentParser::XMLDocumentParser): Ditto.
2002         * xml/parser/XMLTreeBuilder.cpp:
2003         (WebCore::XMLTreeBuilder::XMLTreeBuilder): Ditto.
2004
2005 2012-02-01  Adam Barth  <abarth@webkit.org>
2006
2007         contentDispositionType misparses the Content-Disposition header in some obscure corner cases
2008         https://bugs.webkit.org/show_bug.cgi?id=77577
2009
2010         Reviewed by Eric Seidel.
2011
2012         The contentDispositionType extracts the disposition-type from the
2013         Content-Disposition header.  According to RFC 6266 (and previous RFCs),
2014         the disposition-type must be an RFC 2616 token.  Rather than enforce
2015         this general rule, we had special-cased some examples (including
2016         name=foo and filename=bar).  This patch generalizes our check to
2017         properly validate that the disposition-type is an RFC 2616 token.
2018
2019         In conjunction with some other work in the Chromium network stack, this
2020         causes Chromium to pass the following tests:
2021
2022           http://greenbytes.de/tech/tc2231/#inlonlyquoted
2023           http://greenbytes.de/tech/tc2231/#attonlyquoted
2024
2025         Without this patch, these test cases neither trigger a navigation nor a
2026         download in Chromium.  This patch does not appear to cause any visible
2027         change in Safari.  (Safari passes these tests both before and after
2028         this patch.)
2029
2030         * platform/network/HTTPParsers.cpp:
2031         (WebCore::isRFC2616Token):
2032         (WebCore::contentDispositionType):
2033             - This patch also adds a comment to
2034               filenameFromHTTPContentDisposition, which explains some of the
2035               was this function incorrectly implements the requirements in
2036               RFC 6266.  Resolving these issues is a subject for a future
2037               patch.
2038         * platform/network/HTTPParsers.h:
2039
2040 2012-02-01  Dan Bernstein  <mitz@apple.com>
2041
2042         WebCore part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
2043         https://bugs.webkit.org/show_bug.cgi?id=77505
2044
2045         Reviewed by Darin Adler.
2046
2047         * page/Page.h:
2048         (WebCore::Page::Pagination::Pagination): Added initializer for the behavesLikeColumns member
2049         variable.
2050         (WebCore::Page::Pagination::operator==): Added comparison of behavesLikeColumns values.
2051         (Pagination): Added behavesLikeColumns member variable. When set to false (the default),
2052         paginated display respects the page-break-{before,after} properties rather than the
2053         column-break-{before,after} ones.
2054         * rendering/ColumnInfo.h:
2055         (WebCore::ColumnInfo::ColumnInfo): Added initializer for the m_paginationUnit member.
2056         (WebCore::ColumnInfo::paginationUnit): Added this getter.
2057         (WebCore::ColumnInfo::setPaginationUnit): Added this setter.
2058         (ColumnInfo): Added m_paginationUnit member. It defaults to Column.
2059         * rendering/LayoutState.h:
2060         (WebCore::LayoutState::isPaginatingColumns): Changed to check the pagination unit.
2061         * rendering/RenderBlock.cpp:
2062         (WebCore::RenderBlock::layoutBlock): Added code to set the pagination unit in the ColumnInfo.
2063         (WebCore::RenderBlock::paginationUnit): Added. The base class implementation returns Column.
2064         * rendering/RenderBlock.h:
2065         * rendering/RenderView.cpp:
2066         (WebCore::RenderView::paginationUnit): Added this override that returns Page, unless
2067         this is the RenderView for the main frame and pagination is set to behave like columns.
2068         * rendering/RenderView.h:
2069
2070 2012-02-01  Florin Malita  <fmalita@google.com>
2071
2072         Backgrounds in HTML inside foreignObject don't draw
2073         https://bugs.webkit.org/show_bug.cgi?id=23111
2074
2075         Reviewed by Eric Seidel.
2076
2077         Test: svg/foreignObject/body-background.svg
2078
2079         * rendering/RenderBox.cpp:
2080         (WebCore::RenderBox::paintBackground):
2081         Tweak the <body> background inhibiting logic to allow drawing when the element is embedded in FOs.
2082
2083
2084 2012-02-01  Gustavo Lima Chaves  <glima@profusion.mobi>
2085
2086         Make one able to set the local storage (tracker) database dir's path
2087         https://bugs.webkit.org/show_bug.cgi?id=77006
2088
2089         Reviewed by Darin Adler.
2090
2091         There are no behavior changes with the diff, so no need for new tests.
2092
2093         * storage/StorageTracker.cpp:
2094         (WebCore::StorageTracker::setDatabaseDirectoryPath):
2095         (WebCore):
2096         (WebCore::StorageTracker::databaseDirectoryPath):
2097         * storage/StorageTracker.h:
2098         (StorageTracker):
2099
2100 2012-02-01  Anders Carlsson  <andersca@apple.com>
2101
2102         Fix Window build.
2103
2104         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2105         (WebCore::LayerClient::platformCALayerDidCreateTiles):
2106         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2107         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
2108
2109 2012-02-01  John Yani  <vanuan@gmail.com>
2110
2111         GetMIMEDescription should return const char *
2112         https://bugs.webkit.org/show_bug.cgi?id=77297
2113
2114         Reviewed by Alexey Proskuryakov.
2115
2116         No new tests. No change in behaviour.
2117
2118         * plugins/blackberry/PluginPackageBlackBerry.cpp:
2119         (WebCore::PluginPackage::fetchInfo):
2120         * plugins/efl/PluginPackageEfl.cpp:
2121         (WebCore):
2122         (WebCore::PluginPackage::fetchInfo):
2123         * plugins/npapi.h:
2124         * plugins/npfunctions.h:
2125         * plugins/qt/PluginPackageQt.cpp:
2126         (WebCore::PluginPackage::fetchInfo):
2127
2128 2012-02-01  Timothy Hatcher  <timothy@apple.com>
2129
2130         Consolidate duplicate "willHide" functions in DetailedHeapshotView.js to fix
2131         a syntax error in JSC and make the Inspector open again in Release builds.
2132
2133         https://webkit.org/b/77424
2134
2135         Reviewed by Brian Weinstein.
2136
2137         * inspector/front-end/DetailedHeapshotView.js:
2138         (WebInspector.DetailedHeapshotView.prototype.willHide): Consolidated.
2139         (WebInspector.DetailedHeapshotView.prototype.willHide): Removed.
2140
2141 2012-02-01  Justin Novosad  <junov@chromium.org>
2142
2143         [Chromium] Enable deferred canvas rendering in the skia port
2144         https://bugs.webkit.org/show_bug.cgi?id=76732
2145
2146         Reviewed by Stephen White.
2147
2148         No new tests: covered by existing canvas layout tests
2149
2150         Adding a new setting to enable deferred 2d canvas rendering.
2151         Added support for deferred 2d canvas rendering in ImageBufferSkia
2152         and Canvas2DLayerChromium, mostly plumbing. Deffered rendering
2153         implementation is provided by skia (class SkDeferredCanvas).
2154
2155         * html/HTMLCanvasElement.cpp:
2156         (WebCore::HTMLCanvasElement::shouldDefer):
2157         (WebCore):
2158         (WebCore::HTMLCanvasElement::createImageBuffer):
2159         * html/HTMLCanvasElement.h:
2160         (HTMLCanvasElement):
2161         * page/Settings.cpp:
2162         (WebCore::Settings::Settings):
2163         (WebCore::Settings::setAccelerated2dCanvasEnabled):
2164         (WebCore):
2165         (WebCore::Settings::setDeferred2dCanvasEnabled):
2166         * page/Settings.h:
2167         (Settings):
2168         (WebCore::Settings::deferred2dCanvasEnabled):
2169         * platform/graphics/ImageBuffer.h:
2170         (WebCore::ImageBuffer::create):
2171         (ImageBuffer):
2172         * platform/graphics/cairo/ImageBufferCairo.cpp:
2173         (WebCore::ImageBuffer::ImageBuffer):
2174         * platform/graphics/cg/ImageBufferCG.cpp:
2175         (WebCore::ImageBuffer::ImageBuffer):
2176         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2177         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
2178         (WebCore):
2179         (WebCore::Canvas2DLayerChromium::setCanvas):
2180         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2181         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2182         (Canvas2DLayerChromium):
2183         * platform/graphics/qt/ImageBufferQt.cpp:
2184         (WebCore::ImageBuffer::ImageBuffer):
2185         * platform/graphics/skia/ImageBufferSkia.cpp:
2186         (AcceleratedDeviceContext):
2187         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
2188         (WebCore::AcceleratedDeviceContext::prepareForDraw):
2189         (WebCore::AcceleratedDeviceContext::flush):
2190         (WebCore):
2191         (WebCore::createAcceleratedCanvas):
2192         (WebCore::ImageBuffer::ImageBuffer):
2193         * platform/graphics/wince/ImageBufferWinCE.cpp:
2194         (WebCore::ImageBuffer::ImageBuffer):
2195         * platform/graphics/wx/ImageBufferWx.cpp:
2196         (WebCore::ImageBuffer::ImageBuffer):
2197
2198 2012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
2199
2200         Gcc build fix after r106482.
2201
2202         * platform/graphics/ca/GraphicsLayerCA.h:
2203         (GraphicsLayerCA):
2204
2205 2012-02-01  Beth Dakin  <bdakin@apple.com>
2206
2207         https://bugs.webkit.org/show_bug.cgi?id=77383
2208         Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
2209         -and corresponding-
2210         <rdar://problem/10709560>
2211
2212         Reviewed by Sam Weinig.
2213
2214         The goal is to re-vamp didFirstVisuallyNonEmptyLayout to be more accurate. 
2215         This patch adds a new heuristic called didNewFirstVisuallNonEmptyLayout and 
2216         leaves the old one for the time being. That is temporary.
2217
2218         The heuristic for didNewFirstVisuallNonEmptyLayout is to count relevant 
2219         painted RenderObjects on Page.
2220         * page/Page.cpp:
2221         (WebCore::Page::Page):
2222         (WebCore::Page::setPaintedObjectsCounterThreshold):
2223         (WebCore::Page::addRelevantRepaintedObject):
2224         * page/Page.h:
2225         (WebCore):
2226         (Page):
2227         (WebCore::Page::startCountingRepaintedObjects):
2228         * WebCore.exp.in:
2229
2230         Start counting relevant painted RenderObjects on the page once the first 
2231         layout is complete.
2232         * page/FrameView.cpp:
2233         (WebCore::FrameView::performPostLayoutTasks):
2234
2235         Machinery for firing didNewFirstVisuallNonEmptyLayout.
2236         * loader/EmptyClients.h:
2237         (WebCore::EmptyFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
2238         * loader/FrameLoader.cpp:
2239         (WebCore::FrameLoader::didNewFirstVisuallyNonEmptyLayout):
2240         (WebCore):
2241         * loader/FrameLoader.h:
2242         (FrameLoader):
2243         * loader/FrameLoaderClient.h:
2244         (WebCore::FrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
2245
2246         These RenderObjects are the ones that this api currently consider to be 
2247         relevant. If their repaint rects intersect with the viewRect, then they are 
2248         added to the relevant objects set on the Page.
2249         * rendering/InlineBox.cpp:
2250         (WebCore::InlineBox::paint):
2251         * rendering/InlineTextBox.cpp:
2252         (WebCore::InlineTextBox::paint):
2253         * rendering/RenderEmbeddedObject.cpp:
2254         (WebCore::RenderEmbeddedObject::paintReplaced):
2255         * rendering/RenderHTMLCanvas.cpp:
2256         (WebCore::RenderHTMLCanvas::paintReplaced):
2257         * rendering/RenderImage.cpp:
2258         (WebCore::RenderImage::paintReplaced):
2259         * rendering/RenderRegion.cpp:
2260         (WebCore::RenderRegion::paintReplaced):
2261         * rendering/RenderReplaced.cpp:
2262         (WebCore::RenderReplaced::paint):
2263         * rendering/RenderVideo.cpp:
2264         (WebCore::RenderVideo::paintReplaced):
2265         * rendering/svg/RenderSVGRoot.cpp:
2266         (WebCore::RenderSVGRoot::paintReplaced):
2267
2268 2012-02-01  Alexis Menard  <alexis.menard@openbossa.org>
2269
2270         CSSStyleDeclaration.getPropertyPriority() fails for CSS shorthand properties with 'important' priority
2271         https://bugs.webkit.org/show_bug.cgi?id=49058
2272
2273         Reviewed by Andreas Kling.
2274
2275         CSSMutableStyleDeclaration::getPropertyPriority was not handling shorthands properly. Shorthands are
2276         not part of the property list of the style so we need to query the longhands which are the one added
2277         in the list. Only if the longhands have equal priority the shorthand priority is known. I also renamed
2278         getPropertyPriority (not the CSSOM exposed method) to something more consistent with WebKit naming guidelines.
2279
2280         Test: fast/css/shorthand-priority.html
2281
2282         * css/CSSMutableStyleDeclaration.cpp:
2283         (WebCore::CSSMutableStyleDeclaration::propertyIsImportant):
2284         (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
2285         (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
2286         * css/CSSMutableStyleDeclaration.h:
2287         (CSSMutableStyleDeclaration):
2288         * editing/EditingStyle.cpp:
2289         (WebCore::EditingStyle::extractAndRemoveTextDirection):
2290         (WebCore::EditingStyle::collapseTextDecorationProperties):
2291         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
2292         (WebCore::setTextDecorationProperty):
2293         * editing/RemoveCSSPropertyCommand.cpp:
2294         (WebCore::RemoveCSSPropertyCommand::doApply):
2295
2296 2012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
2297
2298         Crash in EventHandler::updateDragAndDrop
2299         https://bugs.webkit.org/show_bug.cgi?id=77569
2300
2301         Reviewed by Alexey Proskuryakov.
2302
2303         Test: fast/events/remove-target-with-shadow-in-drag.html
2304
2305         * page/EventHandler.cpp:
2306         (WebCore::EventHandler::updateDragAndDrop):
2307
2308 2012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2309
2310         Unreviewed, rolling out r106382.
2311         http://trac.webkit.org/changeset/106382
2312         https://bugs.webkit.org/show_bug.cgi?id=77571
2313
2314         Causing chromium crashes in PNGImageDecoder (Requested by
2315         japhet on #webkit).
2316
2317         * bindings/v8/V8Proxy.cpp:
2318         (WebCore::V8Proxy::evaluate):
2319         * page/Console.cpp:
2320         (WebCore::Console::time):
2321         (WebCore::Console::timeEnd):
2322         * platform/chromium/PlatformSupport.h:
2323         * platform/chromium/TraceEvent.h:
2324         (internal):
2325         (ScopeTracer):
2326         (WebCore::internal::ScopeTracer::ScopeTracer):
2327         (WebCore::internal::ScopeTracer::~ScopeTracer):
2328
2329 2012-02-01  Anders Carlsson  <andersca@apple.com>
2330
2331         Reviewed by Darin Adler.
2332
2333         Simplify the code that creates a new tile layer by getting a reference to the RetainPtr<WebTileLayer>&
2334         slot in the hash map and assign directly into it.
2335
2336         * platform/graphics/ca/mac/TileCache.mm:
2337         (WebCore::TileCache::revalidateTiles):
2338
2339 2012-02-01  Anders Carlsson  <andersca@apple.com>
2340
2341         Tile cache doesn't have an upper limit
2342         https://bugs.webkit.org/show_bug.cgi?id=77564
2343         <rdar://problem/10710744>
2344
2345         Reviewed by Darin Adler.
2346
2347         Cache enough tiles to cover 3x the visible height and 2x the visible width of the page,
2348         and drop tiles that are outside that area.
2349
2350         * platform/graphics/ca/GraphicsLayerCA.cpp:
2351         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
2352         Call GraphicsLayerClient::notifySyncRequired here, which will schedule a layer flush and ensure that
2353         the page layout is up to date before the new tiles are painted.
2354
2355         * platform/graphics/ca/PlatformCALayerClient.h:
2356         Add platformCALayerDidCreateTiles member function.
2357
2358         * platform/graphics/ca/mac/TileCache.h:
2359         Update for new/removed member functions and member variables.
2360
2361         * platform/graphics/ca/mac/TileCache.mm:
2362         (WebCore::TileCache::TileCache):
2363         Initialize the tile revalidation timer.
2364
2365         (WebCore::TileCache::tileCacheLayerBoundsChanged):
2366         If we don't have any tiles at all right now, revalidate the tiles immediately. Otherwise,
2367         schedule the revalidation timer.
2368
2369         (WebCore::TileCache::setNeedsDisplayInRect):
2370         Return early if we have no tiles.
2371
2372         (WebCore::TileCache::visibleRectChanged):
2373         Schedule tile revalidation.
2374
2375         (WebCore::TileCache::rectForTileIndex):
2376         New helper function that returns the bounds rect of a tile given its tile index.
2377
2378         (WebCore::TileCache::getTileIndexRangeForRect):
2379         Clamp the rect to the bounds of the tile cache layer.
2380
2381         (WebCore::TileCache::scheduleTileRevalidation):
2382         Schedule the revalidation timer if it hasn't already been scheduled.
2383
2384         (WebCore::TileCache::tileRevalidationTimerFired):
2385         Call revalidateTiles.
2386
2387         (WebCore::TileCache::revalidateTiles):
2388         Compute the tile coverage rect and remove all tiles that are outside. Create new tiles for any
2389         parts of the tile coverage rect that don't have tiles already.
2390
2391         (WebCore::TileCache::tileLayerAtIndex):
2392         Remove invalid assertions.
2393
2394 2012-02-01  Max Vujovic  <mvujovic@adobe.com>
2395
2396         Add support for fixed and percent min-width on the table element for table-layout: auto to
2397         match Firefox and Opera's behavior.
2398
2399         In FixedTableLayout.cpp, the computePreferredLogicalWidths method looks like it has
2400         issues based on the comment: "FIXME: This entire calculation is incorrect for both
2401         minwidth and maxwidth." (minwidth and maxwidth refer to the preferred widths, not the
2402         min-width and max-width styles). I have not implemented min-width for FixedTableLayout
2403         in this patch since it requires some more research around that comment.
2404
2405         min-width and max-width on the table element was discussed on the www-style list:
2406         http://lists.w3.org/Archives/Public/www-style/2012Jan/0684.html
2407
2408         min-width is not implemented on <table> for table-layout: auto
2409         https://bugs.webkit.org/show_bug.cgi?id=76553
2410
2411         Reviewed by Julien Chaffraix.
2412
2413         Test: fast/table/min-width.html
2414
2415         * rendering/AutoTableLayout.cpp:
2416         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
2417
2418             If the min or max preferred logical width is less than a fixed min width style, it is
2419             set to the fixed min width style. Like a percent width style, a percent min-width style
2420             does not affect the min or max preferred logical widths computed by the table layout
2421             algorithm. RenderTable's computeLogicalWidth method handles percent min-width styles.
2422
2423             min-width for the table-layout: fixed case has been split out into this bug:
2424             https://bugs.webkit.org/show_bug.cgi?id=76948
2425
2426         * rendering/RenderTable.cpp:
2427         (WebCore::RenderTable::computeLogicalWidth):
2428
2429             If the RenderStyle's logical min width is defined and greater than the logical width
2430             calculation, this method sets the logical width to the logical min width.
2431
2432         (WebCore::RenderTable::convertStyleWidthToComputedWidth):
2433
2434             This new method generalizes and factors out logic from RenderTable::computeLogicalWidth
2435             that converted the width style to a computed value in the fixed and percent case.
2436             RenderTable::computeLogicalWidth now calls this method to determine the computed values
2437             for both the width style and the min-width style. In the future, it can also be used for
2438             the max-width style.
2439
2440             Note that this method handles the special CSS table case, which requires borders and
2441             paddings to be included in the computed width calculation. This applies to all width
2442             styles, including width, min-width, and max-width. Before, this special case was handled
2443             in RenderTable::computeLogicalWidth.
2444
2445         * rendering/RenderTable.h:
2446
2447 2012-02-01  Brian Salomon  <bsalomon@google.com>
2448
2449         [SKIA/CHROMIUM] Perform getImageData format conversions using Skia
2450         https://bugs.webkit.org/show_bug.cgi?id=77553
2451
2452         Reviewed by Stephen White.
2453
2454         Many existing canvas tests exercise this functionality.
2455
2456         * platform/graphics/skia/ImageBufferSkia.cpp:
2457         (WebCore::getImageData):
2458
2459 2012-02-01  Nate Chapin  <japhet@chromium.org>
2460
2461         preventDefault() in a mousedown in a subframe should not
2462         prevent the scrollbar from handling mouse movements if the
2463         cursor leaves the subframe.
2464         https://bugs.webkit.org/show_bug.cgi?id=73097
2465
2466         Reviewed by Darin Adler.
2467
2468         Test: fast/events/scroll-div-with-prevent-default-in-subframe.html
2469
2470         * page/EventHandler.cpp:
2471         (WebCore::EventHandler::handleMousePressEvent):
2472
2473 2012-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
2474
2475         [GTK] editing/inserting/4960120-2.html flaky crash
2476         https://bugs.webkit.org/show_bug.cgi?id=76815
2477
2478         Reviewed by Martin Robinson.
2479
2480         Check if the node for the first parent object not ignoring
2481         accessibility is null before using it. This might happen with
2482         certain kind of accessibility objects, such as the root one (the
2483         scroller containing the webArea object as its only child).
2484
2485         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
2486         (objectFocusedAndCaretOffsetUnignored): Add missing null check.
2487
2488 2012-02-01  Antti Koivisto  <antti@apple.com>
2489
2490         Make CSSMappedAttributeDeclaration have CSSMutableStyleDeclaration instead of being one
2491         https://bugs.webkit.org/show_bug.cgi?id=77545
2492
2493         Reviewed by Andreas Kling.
2494
2495         This is the easiest path for eliminating the last remaining subclass of CSSMutableStyleDeclaration.
2496         
2497         On negative side this increases memory use of CSSMappedAttributeDeclaration by one ptr and refcount
2498         (it loses the vptr) in total.
2499         
2500         This is not meant to be the end state, just an intermediate refactoring step. CSSMappedAttributeDeclaration
2501         should clearly be renamed too but this patch doesn't do that. It might not exist in its current form
2502         much longer.
2503
2504         * css/CSSMutableStyleDeclaration.cpp:
2505         (WebCore::CSSMutableStyleDeclaration::setProperty):
2506         (WebCore::CSSMutableStyleDeclaration::merge):
2507         * css/CSSMutableStyleDeclaration.h:
2508
2509             Remove protected section. No subclasses remain.        
2510             Rename setPropertyInternal() to setProperty(). All public methods here are internal.
2511         
2512         (CSSMutableStyleDeclaration):
2513         * css/CSSParser.cpp:
2514         (WebCore::CSSParser::parseMappedAttributeValue):
2515         * dom/Attribute.cpp:
2516         (WebCore::Attribute::clone):
2517         * dom/Attribute.h:
2518         (Attribute):
2519         (WebCore::Attribute::decl):
2520         (WebCore::Attribute::mappedAttributeDeclaration):
2521         (WebCore::Attribute::setMappedAttributeDeclaration):
2522         (WebCore::Attribute::Attribute):
2523         * dom/CSSMappedAttributeDeclaration.cpp:
2524         (WebCore::CSSMappedAttributeDeclaration::setMappedImageProperty):
2525         (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
2526         (WebCore::CSSMappedAttributeDeclaration::removeMappedProperty):
2527         * dom/CSSMappedAttributeDeclaration.h:
2528         (CSSMappedAttributeDeclaration):
2529         (WebCore::CSSMappedAttributeDeclaration::declaration):
2530         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
2531         
2532             Make CSSMutableStyleDeclaration a member instead of the base class.
2533         
2534         * dom/StyledElement.cpp:
2535         (WebCore::StyledElement::attributeChanged):
2536         (WebCore::StyledElement::removeCSSProperty):
2537         (WebCore::StyledElement::addCSSProperty):
2538         (WebCore::StyledElement::addCSSImageProperty):
2539         (WebCore::StyledElement::addCSSLength):
2540         (WebCore::StyledElement::addCSSColor):
2541         (WebCore::StyledElement::createMappedDecl):
2542         * svg/SVGStyledElement.cpp:
2543         (WebCore::SVGStyledElement::getPresentationAttribute):
2544
2545 2012-02-01  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2546
2547         [Qt] Set all PlatformTouchPoint values possible from a QTouch event.
2548         https://bugs.webkit.org/show_bug.cgi?id=77442
2549
2550         Reviewed by Kenneth Rohde Christiansen.
2551
2552         * platform/qt/PlatformTouchPointQt.cpp:
2553         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
2554
2555 2012-02-01  Peter Rybin  <peter.rybin@gmail.com>
2556
2557         Web Inspector: CodeGeneratorInspector.py: move type builder code to dedicated InspectorTypeBuilder .h/.cpp
2558         https://bugs.webkit.org/show_bug.cgi?id=77471
2559
2560         Reviewed by Yury Semikhatsky.
2561
2562         Code is moved physically to other file -- generator is changed accrodingly.
2563
2564         * inspector/CodeGeneratorInspector.py:
2565         (String):
2566         (provides):
2567         (typename):
2568         (Array):
2569
2570 2012-02-01  Yury Semikhatsky  <yurys@chromium.org>
2571
2572         Web Inspector: debugger reports wrong sources when paused in inline script on page reload
2573         https://bugs.webkit.org/show_bug.cgi?id=77548
2574
2575         V8 returns treats each script source as ending with \n, now we take
2576         this into account when reporting script line count to the inspector
2577         front-end.
2578
2579         Reviewed by Vsevolod Vlasov.
2580
2581         Test: inspector/debugger/pause-in-inline-script.html
2582
2583         * bindings/js/ScriptDebugServer.cpp:
2584         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2585         * bindings/v8/DebuggerScript.js:
2586
2587 2012-02-01  Shinya Kawanaka  <shinyak@google.com>
2588
2589         Content element should be able to be dynamically added/removed/replaced in a shadow tree.
2590         https://bugs.webkit.org/show_bug.cgi?id=76611
2591
2592         Reviewed by Hajime Morita
2593
2594         When a content element is added/removed/replaced in a shadow tree, we have to recreate
2595         the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
2596         when content element is removed. (When added, it is recalculated.)
2597         This patch enables us to recalcurate the shadow tree when content element is removed.
2598
2599         Test: fast/dom/shadow/content-element-move.html
2600
2601         * dom/Element.cpp:
2602         (WebCore::Element::attach):
2603           If a shadow root exists, attaches shadow tree before attaching child elements.
2604         * dom/ShadowRoot.cpp:
2605           Added a flag to recalculate shadow tree.
2606         (WebCore::ShadowRoot::ShadowRoot):
2607         (WebCore::ShadowRoot::recalcShadowTreeStyle):
2608           Recalculates light children and shadow tree.
2609         (WebCore::ShadowRoot::setNeedsReattachHostChildrenAndShadow):
2610         (WebCore::ShadowRoot::reattachHostChildrenAndShadow):
2611           Detaches shadow tree and host light children, and attaches them again.
2612         * dom/ShadowRoot.h:
2613         (WebCore::ShadowRoot::clearNeedsReattachHostChildrenAndShadow):
2614         (WebCore::ShadowRoot::needsReattachHostChildrenAndShadow):
2615         * html/shadow/HTMLContentElement.cpp:
2616         (WebCore::HTMLContentElement::attach):
2617           Does not need to detach included elements, because they are not attached in ContainerNode anymore.
2618         (WebCore::HTMLContentElement::detach):
2619           When a content element detached, reattaches a shadow tree.
2620
2621 2012-02-01  Peter Beverloo  <peter@chromium.org>
2622
2623         getIntersectionList causes transforms to be recalculated in SVG
2624         https://bugs.webkit.org/show_bug.cgi?id=77179
2625
2626         Reviewed by Nikolas Zimmermann.
2627
2628         Introduce a local variable to store the element's local-to-parent
2629         transformation matrix in, removing the need for the const_cast and
2630         stopping us from modifying any matrices elsewhere.
2631
2632         Test: svg/custom/intersection-list-transforms.svg
2633
2634         * rendering/svg/RenderSVGModelObject.cpp:
2635         (WebCore::getElementCTM):
2636
2637 2012-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
2638
2639         Web Inspector: [InspectorIndexedDB] Add tests for database names and database structure requests.
2640         https://bugs.webkit.org/show_bug.cgi?id=77439
2641
2642         Reviewed by Pavel Feldman.
2643
2644         Tests: http/tests/inspector/indexeddb/database-names.html
2645                http/tests/inspector/indexeddb/database-structure.html
2646
2647         * inspector/front-end/IndexedDBModel.js:
2648         (WebInspector.IndexedDBModel.prototype.refreshDatabase):
2649
2650 2012-01-31  Vsevolod Vlasov  <vsevik@chromium.org>
2651
2652         Web Inspector: Scripts navigator becomes empty after "show folders" settings change.
2653         https://bugs.webkit.org/show_bug.cgi?id=77441
2654
2655         Reviewed by Pavel Feldman.
2656
2657         * inspector/front-end/ScriptsNavigator.js:
2658         (WebInspector.ScriptsNavigator.prototype._reset):
2659         * inspector/front-end/utilities.js:
2660
2661 2012-02-01  Shawn Singh  <shawnsingh@chromium.org>
2662
2663         Fix the semantics of passing contentsVisible flag to GraphicsLayers
2664         https://bugs.webkit.org/show_bug.cgi?id=76975
2665
2666         Reviewed by Simon Fraser.
2667
2668         This patch is covered by existing tests, in particular
2669         compositing/visibility/layer-visible-content.html; its
2670         expectations are rebaselined.
2671
2672         * rendering/RenderLayerBacking.cpp:
2673         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2674
2675 2012-02-01  Philippe Normand  <pnormand@igalia.com>
2676
2677         Unreviewed, another GTK build fix after r106446.
2678
2679         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2680         Restore webKitWebSrcGetProtocols as it was before r106446.
2681
2682 2012-02-01  Philippe Normand  <pnormand@igalia.com>
2683
2684         Unreviewed, GTK build fix after r106446.
2685
2686         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2687
2688 2012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2689
2690         Unreviewed, rolling out r106432.
2691         http://trac.webkit.org/changeset/106432
2692         https://bugs.webkit.org/show_bug.cgi?id=77529
2693
2694         it breaks tests (Requested by shinyak on #webkit).
2695
2696         * dom/Element.cpp:
2697         (WebCore::Element::attach):
2698         * dom/ShadowRoot.cpp:
2699         (WebCore::ShadowRoot::recalcShadowTreeStyle):
2700         * dom/ShadowRoot.h:
2701         (ShadowRoot):
2702         * html/shadow/HTMLContentElement.cpp:
2703         (WebCore::HTMLContentElement::attach):
2704         (WebCore::HTMLContentElement::detach):
2705
2706 2012-02-01  Hayato Ito  <hayato@chromium.org>
2707
2708         Remove unnecessary [OldStyleObjC] from ShadowRoot.idl.
2709         https://bugs.webkit.org/show_bug.cgi?id=77516
2710
2711         Reviewed by Kentaro Hara.
2712
2713         No new tests. No change in behavior.
2714
2715         * dom/ShadowRoot.idl:
2716
2717 2012-01-26  Philippe Normand  <pnormand@igalia.com>
2718
2719         [GStreamer] 0.11 webkitwebsrc
2720         https://bugs.webkit.org/show_bug.cgi?id=77086
2721
2722         Port the webkitwebsrc element to GStreamer 0.11 APIs.
2723
2724         Reviewed by Gustavo Noronha Silva.
2725
2726         No new tests, existing http media layout tests should cover this.
2727
2728         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2729         (webkit_web_src_class_init):
2730
2731 2012-01-31  Hans Wennborg  <hans@chromium.org>
2732
2733         Speech Input: Report speech element rect relative to window rather than frame
2734         https://bugs.webkit.org/show_bug.cgi?id=76443
2735
2736         Reviewed by Darin Fisher.
2737
2738         When requesting speech input, report the speech element rect relative
2739         to the window rather than the frame. The embedder will typically use
2740         this position to show a bubble indicating that speech recognition is
2741         in progress.
2742
2743         Test: fast/speech/bubble-position.html
2744
2745         * html/shadow/TextControlInnerElements.cpp:
2746         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
2747
2748 2012-01-31  Andreas Kling  <awesomekling@apple.com>
2749
2750         Make elements that don't have attributes smaller.
2751         <http://webkit.org/b/76876>
2752
2753         Reviewed by Sam Weinig and Antti Koivisto.
2754
2755         Move the inline style declaration from StyledElement to ElementAttributeData, since having
2756         an inline style declaration also implies having a style attribute on the element.
2757         This saves one CPU word per element that has no attributes.
2758
2759         This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
2760         HTML5 spec at <http://whatwg.org/c>.
2761
2762         This was rolled out once because of a performance regression which has been averted this
2763         time around by adding an Element::ensureAttributeMap() so we can force creation of the
2764         NamedNodeMap without also serializing the inline style for the "style" attribute.
2765
2766         * dom/Element.h:
2767         (Element):
2768         (WebCore::Element::ensureAttributeMap):
2769         (WebCore):
2770         * dom/ElementAttributeData.h:
2771         (ElementAttributeData):
2772         * dom/NamedNodeMap.cpp:
2773         (WebCore::NamedNodeMap::ensureInlineStyleDecl):
2774         (WebCore):
2775         (WebCore::NamedNodeMap::destroyInlineStyleDecl):
2776         * dom/NamedNodeMap.h:
2777         (WebCore::NamedNodeMap::inlineStyleDecl):
2778         (NamedNodeMap):
2779         * dom/StyledElement.cpp:
2780         (WebCore::StyledElement::addSubresourceAttributeURLs):
2781         * dom/StyledElement.h:
2782         (WebCore::StyledElement::inlineStyleDecl):
2783         (WebCore::StyledElement::ensureInlineStyleDecl):
2784         (StyledElement):
2785         (WebCore::StyledElement::destroyInlineStyleDecl):
2786
2787 2012-01-31  Hayato Ito  <hayato@chromium.org>
2788
2789         Add APIs, getElementsByXXX family, to ShadowRoot IDL.
2790         https://bugs.webkit.org/show_bug.cgi?id=77323
2791
2792         Reviewed by Dimitri Glazkov.
2793
2794         Add APIs (getElementById, getElemesntByTagName, getElementsByClassName and getElementsByTagNameNS)
2795         to ShadowRoot IDL.
2796
2797         * dom/ShadowRoot.idl:
2798
2799 2012-01-31  Shinya Kawanaka  <shinyak@google.com>
2800
2801         Content element should be able to be dynamically added/removed/replaced in a shadow tree.
2802         https://bugs.webkit.org/show_bug.cgi?id=76611
2803
2804         Reviewed by Hajime Morita.
2805
2806         When a content element is added/removed/replaced in a shadow tree, we have to recreate
2807         the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
2808         when content element is removed. (When added, it is recalculated.)
2809         This patch enables us to recalcurate the shadow tree when content element is removed.
2810
2811         Test: fast/dom/shadow/content-element-move.html
2812
2813         * dom/Element.cpp:
2814         (WebCore::Element::attach):
2815           If a shadow root exists, attaches shadow tree before attaching child elements.
2816         * dom/ShadowRoot.cpp:
2817         (WebCore::ShadowRoot::recalcShadowTreeStyle):
2818           Recalculates light children and shadow tree.
2819         (WebCore::ShadowRoot::reattachHostChildrenAndShadow):
2820           Detaches shadow tree and host light children, and attaches them again.
2821         * dom/ShadowRoot.h:
2822           Added a flag to recalculate shadow tree.
2823         (WebCore::ShadowRoot::setNeedsShadowTreeStyleRecalc):
2824         (WebCore::ShadowRoot::clearNeedsShadowTreeStyleRecalc):
2825         (WebCore::ShadowRoot::needsShadowTreeStyleRecalc):
2826         * html/shadow/HTMLContentElement.cpp:
2827         (WebCore::HTMLContentElement::attach):
2828           Does not need to detach included elements, because they are not attached in ContainerNode anymore.
2829         (WebCore::HTMLContentElement::detach):
2830           When a content element detached, reattaches a shadow tree.
2831
2832 2012-01-31  Joe Thomas  <joethomas@motorola.com>
2833
2834         https://bugs.webkit.org/show_bug.cgi?id=76801
2835         Listboxes incorrectly display contents when cleared and then re-populated.
2836
2837         Whenever the number of items in the listbox is less than the size of listbox (number of visible items the listbox can accomodate),
2838         we set the listbox scroll-offset to zero. The scroll-offset of the Scrollbar should also be set to 0 so that when the listbox is re-populated,
2839         scrollbar position and the content inside the listbox are in sync.
2840
2841         Reviewed by Andreas Kling.
2842
2843         Tests: fast/forms/listbox-clear-restore.html
2844
2845         * rendering/RenderListBox.cpp:
2846         (WebCore::RenderListBox::computeLogicalHeight): Setting the scroll-offset of the Scrollbar to 0 when scrollbar is not needed.
2847
2848 2012-01-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2849
2850         Unreviewed. Fix build break after r106373.
2851
2852         * CMakeLists.txt:
2853
2854 2012-01-31  Adam Barth  <abarth@webkit.org>
2855
2856         HTMLPreloadScanner should understand the <base> element
2857         https://bugs.webkit.org/show_bug.cgi?id=77231
2858
2859         Reviewed by Eric Seidel.
2860
2861         Previously, the HTMLPreloadScanner would ignore the <base> element when
2862         preloading resources.  If there was a <base> tag, this could cause the
2863         preload scanner to make a bunch of useless requests.
2864
2865         This patch teaches the preload scanner to use <base> tags to better
2866         predict which URLs will be used by the document.
2867
2868         Tests: fast/preloader/first-base-tag-scanned-wins.html
2869                fast/preloader/first-base-tag-wins.html
2870                fast/preloader/understands-base-tag.html
2871
2872         * dom/Document.cpp:
2873         (WebCore::Document::completeURL):
2874         (WebCore):
2875         * dom/Document.h:
2876         (Document):
2877         (WebCore::Document::baseElementURL):
2878         * html/parser/HTMLPreloadScanner.cpp:
2879         (WebCore::HTMLNames::PreloadTask::PreloadTask):
2880         (WebCore::HTMLNames::PreloadTask::processAttributes):
2881         (WebCore::HTMLNames::PreloadTask::preload):
2882         (WebCore::HTMLNames::PreloadTask::baseElementHref):
2883         (PreloadTask):
2884         (WebCore::HTMLPreloadScanner::scan):
2885         (WebCore::HTMLPreloadScanner::processToken):
2886         (WebCore::HTMLPreloadScanner::updatePredictedBaseElementURL):
2887         (WebCore):
2888         * html/parser/HTMLPreloadScanner.h:
2889         (HTMLPreloadScanner):
2890
2891 2012-01-31  Raymond Liu  <raymond.liu@intel.com>
2892
2893         Dynamic allocate AudioBus with required number of channels for AudioNodeInput
2894         https://bugs.webkit.org/show_bug.cgi?id=76516
2895
2896         Reviewed by Kenneth Russell.
2897
2898         No new tests required.
2899
2900         * webaudio/AudioBasicProcessorNode.cpp:
2901         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
2902         * webaudio/AudioChannelMerger.cpp:
2903         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
2904         * webaudio/AudioGainNode.cpp:
2905         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
2906         * webaudio/AudioNode.cpp:
2907         (WebCore::AudioNode::checkNumberOfChannelsForInput):
2908         * webaudio/AudioNode.h:
2909         * webaudio/AudioNodeInput.cpp:
2910         (WebCore::AudioNodeInput::AudioNodeInput):
2911         (WebCore::AudioNodeInput::updateInternalBus):
2912         (WebCore::AudioNodeInput::internalSummingBus):
2913         * webaudio/AudioNodeInput.h:
2914
2915 2012-01-31  Alexey Proskuryakov  <ap@apple.com>
2916
2917         REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian
2918         https://bugs.webkit.org/show_bug.cgi?id=77473
2919         <rdar://problem/10751357>
2920
2921         Reviewed by Darin Adler.
2922
2923         Test: platform/mac/fast/events/non-roman-key-code.html
2924
2925         * WebCore.exp.in:
2926         * platform/mac/PlatformEventFactoryMac.h:
2927         * platform/mac/PlatformEventFactoryMac.mm:
2928         (WebCore::keyIdentifierForKeyEvent):
2929         (WebCore::windowsKeyCodeForKeyEvent):
2930         Export functions for reuse in WebKit2. I did not attempt any larger refactoring at this time.
2931
2932 2012-01-31  Gregg Tavares  <gman@google.com>
2933
2934         Make WebGL put synthesized errors in the JS console
2935         https://bugs.webkit.org/show_bug.cgi?id=77267
2936
2937         Reviewed by Kenneth Russell.
2938
2939         No new functionality so no new tests.
2940
2941         * html/canvas/WebGLCompressedTextures.cpp:
2942         (WebCore::WebGLCompressedTextures::validateCompressedTexFuncData):
2943         (WebCore::WebGLCompressedTextures::compressedTexImage2D):
2944         (WebCore::WebGLCompressedTextures::compressedTexSubImage2D):
2945         * html/canvas/WebGLCompressedTextures.h:
2946         (WebGLCompressedTextures):
2947         * html/canvas/WebGLDebugShaders.cpp:
2948         (WebCore::WebGLDebugShaders::getTranslatedShaderSource):
2949         * html/canvas/WebGLRenderingContext.cpp:
2950         (WebCore::WebGLRenderingContext::activeTexture):
2951         (WebCore::WebGLRenderingContext::attachShader):
2952         (WebCore::WebGLRenderingContext::bindAttribLocation):
2953         (WebCore::WebGLRenderingContext::checkObjectToBeBound):
2954         (WebCore::WebGLRenderingContext::bindBuffer):
2955         (WebCore::WebGLRenderingContext::bindFramebuffer):
2956         (WebCore::WebGLRenderingContext::bindRenderbuffer):
2957         (WebCore::WebGLRenderingContext::bindTexture):
2958         (WebCore::WebGLRenderingContext::blendEquation):
2959         (WebCore::WebGLRenderingContext::blendEquationSeparate):
2960         (WebCore::WebGLRenderingContext::blendFunc):
2961         (WebCore::WebGLRenderingContext::blendFuncSeparate):
2962         (WebCore::WebGLRenderingContext::bufferData):
2963         (WebCore::WebGLRenderingContext::bufferSubData):
2964         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
2965         (WebCore::WebGLRenderingContext::clear):
2966         (WebCore::WebGLRenderingContext::compileShader):
2967         (WebCore::WebGLRenderingContext::compressedTexImage2D):
2968         (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
2969         (WebCore::WebGLRenderingContext::copyTexImage2D):
2970         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2971         (WebCore::WebGLRenderingContext::createShader):
2972         (WebCore::WebGLRenderingContext::deleteObject):
2973         (WebCore::WebGLRenderingContext::depthRange):
2974         (WebCore::WebGLRenderingContext::detachShader):
2975         (WebCore::WebGLRenderingContext::disable):
2976         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2977         (WebCore::WebGLRenderingContext::validateWebGLObject):
2978         (WebCore::WebGLRenderingContext::drawArrays):
2979         (WebCore::WebGLRenderingContext::drawElements):
2980         (WebCore::WebGLRenderingContext::enable):
2981         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2982         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
2983         (WebCore::WebGLRenderingContext::framebufferTexture2D):
2984         (WebCore::WebGLRenderingContext::generateMipmap):
2985         (WebCore::WebGLRenderingContext::getActiveAttrib):
2986         (WebCore::WebGLRenderingContext::getActiveUniform):
2987         (WebCore::WebGLRenderingContext::getAttachedShaders):
2988         (WebCore::WebGLRenderingContext::getAttribLocation):
2989         (WebCore::WebGLRenderingContext::getBufferParameter):
2990         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2991         (WebCore::WebGLRenderingContext::getParameter):
2992         (WebCore::WebGLRenderingContext::getProgramParameter):
2993         (WebCore::WebGLRenderingContext::getProgramInfoLog):
2994         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2995         (WebCore::WebGLRenderingContext::getShaderParameter):
2996         (WebCore::WebGLRenderingContext::getShaderInfoLog):
2997         (WebCore::WebGLRenderingContext::getShaderSource):
2998         (WebCore::WebGLRenderingContext::getTexParameter):
2999         (WebCore::WebGLRenderingContext::getUniform):
3000         (WebCore::WebGLRenderingContext::getUniformLocation):
3001         (WebCore::WebGLRenderingContext::getVertexAttrib):
3002         (WebCore::WebGLRenderingContext::hint):
3003         (WebCore::WebGLRenderingContext::isEnabled):
3004         (WebCore::WebGLRenderingContext::linkProgram):
3005         (WebCore::WebGLRenderingContext::pixelStorei):
3006         (WebCore::WebGLRenderingContext::readPixels):
3007         (WebCore::WebGLRenderingContext::renderbufferStorage):
3008         (WebCore::WebGLRenderingContext::scissor):
3009         (WebCore::WebGLRenderingContext::shaderSource):
3010         (WebCore::WebGLRenderingContext::stencilFunc):
3011         (WebCore::WebGLRenderingContext::stencilFuncSeparate):
3012         (WebCore::WebGLRenderingContext::stencilMaskSeparate):
3013         (WebCore::WebGLRenderingContext::texImage2DBase):
3014         (WebCore::WebGLRenderingContext::texImage2DImpl):
3015         (WebCore::WebGLRenderingContext::texImage2D):
3016         (WebCore::WebGLRenderingContext::videoFrameToImage):
3017         (WebCore::WebGLRenderingContext::texParameter):
3018         (WebCore::WebGLRenderingContext::texSubImage2DBase):
3019         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
3020         (WebCore::WebGLRenderingContext::texSubImage2D):
3021         (WebCore::WebGLRenderingContext::uniform1f):
3022         (WebCore::WebGLRenderingContext::uniform1fv):
3023         (WebCore::WebGLRenderingContext::uniform1i):
3024         (WebCore::WebGLRenderingContext::uniform1iv):
3025         (WebCore::WebGLRenderingContext::uniform2f):
3026         (WebCore::WebGLRenderingContext::uniform2fv):
3027         (WebCore::WebGLRenderingContext::uniform2i):
3028         (WebCore::WebGLRenderingContext::uniform2iv):
3029         (WebCore::WebGLRenderingContext::uniform3f):
3030         (WebCore::WebGLRenderingContext::uniform3fv):
3031         (WebCore::WebGLRenderingContext::uniform3i):
3032         (WebCore::WebGLRenderingContext::uniform3iv):
3033         (WebCore::WebGLRenderingContext::uniform4f):
3034         (WebCore::WebGLRenderingContext::uniform4fv):
3035         (WebCore::WebGLRenderingContext::uniform4i):
3036         (WebCore::WebGLRenderingContext::uniform4iv):
3037         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
3038         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
3039         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
3040         (WebCore::WebGLRenderingContext::useProgram):
3041         (WebCore::WebGLRenderingContext::validateProgram):
3042         (WebCore::WebGLRenderingContext::vertexAttrib1f):
3043         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
3044         (WebCore::WebGLRenderingContext::vertexAttrib2f):
3045         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
3046         (WebCore::WebGLRenderingContext::vertexAttrib3f):
3047         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
3048         (WebCore::WebGLRenderingContext::vertexAttrib4f):
3049         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
3050         (WebCore::WebGLRenderingContext::vertexAttribPointer):
3051         (WebCore::WebGLRenderingContext::viewport):
3052         (WebCore::WebGLRenderingContext::forceLostContext):
3053         (WebCore::WebGLRenderingContext::loseContextImpl):
3054         (WebCore::WebGLRenderingContext::forceRestoreContext):
3055         (WebCore::WebGLRenderingContext::validateTextureBinding):
3056         (WebCore::WebGLRenderingContext::validateLocationLength):
3057         (WebCore::WebGLRenderingContext::validateSize):
3058         (WebCore::WebGLRenderingContext::validateString):
3059         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
3060         (WebCore::WebGLRenderingContext::validateTexFuncLevel):
3061         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
3062         (WebCore::WebGLRenderingContext::validateTexFuncData):
3063         (WebCore::WebGLRenderingContext::validateDrawMode):
3064         (WebCore::WebGLRenderingContext::validateStencilSettings):
3065         (WebCore::WebGLRenderingContext::validateStencilFunc):
3066         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
3067         (WebCore::WebGLRenderingContext::validateBlendEquation):
3068         (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
3069         (WebCore::WebGLRenderingContext::validateCapability):
3070         (WebCore::WebGLRenderingContext::validateUniformParameters):
3071         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
3072         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
3073         (WebCore::WebGLRenderingContext::validateHTMLImageElement):
3074         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
3075         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
3076         (WebCore::WebGLRenderingContext::maybeRestoreContext):
3077         (WebCore):
3078         (WebCore::WebGLRenderingContext::synthesizeGLError):
3079         * html/canvas/WebGLRenderingContext.h:
3080         (WebGLRenderingContext):
3081
3082 2012-01-31  Raymond Liu  <raymond.liu@intel.com>
3083
3084         Clean up m_processLock logic in AudioBasicProcessorNode and AudioGainNode
3085         https://bugs.webkit.org/show_bug.cgi?id=76772
3086
3087         Reviewed by Kenneth Russell.
3088
3089         No new tests required.
3090
3091         * webaudio/AudioBasicProcessorNode.cpp:
3092         (WebCore::AudioBasicProcessorNode::process):
3093         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
3094         * webaudio/AudioBasicProcessorNode.h:
3095         * webaudio/AudioGainNode.cpp:
3096         (WebCore::AudioGainNode::process):
3097         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
3098         * webaudio/AudioGainNode.h:
3099         (AudioGainNode):
3100
3101 2012-01-31  Adam Klein  <adamk@chromium.org>
3102
3103         ProcessingInstruction should not be a ContainerNode
3104         https://bugs.webkit.org/show_bug.cgi?id=75141
3105
3106         Reviewed by Darin Adler.
3107
3108         Per the DOM spec, ProcessingInstruction can't have any children.
3109         And the WebCore behavior already matches the spec by always returning
3110         false for childTypeAllowed(). This change simplifies
3111         ProcessingInstruction's implementation by making it subclass Node
3112         instead of ContainerNode.
3113
3114         Test: fast/dom/processing-instruction-appendChild-exceptions.xhtml
3115
3116         * dom/ContainerNode.cpp: Moved dispatchBeforeLoadEvent up to Node.
3117         * dom/ContainerNode.h:
3118         * dom/Node.cpp:
3119         (WebCore::Node::dispatchBeforeLoadEvent): Moved up from ContainerNode
3120         since it's used both by ProcessingInstruction and various Element
3121         subclasses.
3122         * dom/Node.h:
3123         * dom/ProcessingInstruction.cpp:
3124         (WebCore::ProcessingInstruction::ProcessingInstruction): Call Node constructor.
3125         (WebCore::ProcessingInstruction::insertedIntoDocument): Call Node impl.
3126         (WebCore::ProcessingInstruction::removedFromDocument): ditto.
3127         (WebCore::ProcessingInstruction::finishParsingChildren): ditto.
3128         * dom/ProcessingInstruction.h:
3129
3130 2012-01-31  Matthew Delaney  <mdelaney@apple.com>
3131
3132         Failing 2d.shadow.enable.off.2.html on Lion
3133         https://bugs.webkit.org/show_bug.cgi?id=77489
3134
3135         Reviewed by Dan Bernstein.
3136
3137         The canvas spec requires that shadows not be drawn under certain
3138         circumstances outlined here: http://www.whatwg.org/specs/web-apps/current-work/#shadows
3139         This patch adds in those checks which allows us to pass now (on Lion)
3140         the philip canvas test that was checking that constraint.
3141
3142         No new tests. Unskipping the test on Lion that this patch fixes.
3143
3144         * html/canvas/CanvasRenderingContext2D.cpp:
3145         (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
3146         (WebCore::CanvasRenderingContext2D::setShadow):
3147         (WebCore::CanvasRenderingContext2D::applyShadow):
3148         (WebCore::CanvasRenderingContext2D::shouldDrawShadows):
3149         * html/canvas/CanvasRenderingContext2D.h:
3150         (CanvasRenderingContext2D):
3151
3152 2012-01-31  Anders Carlsson  <andersca@apple.com>
3153
3154         TileCache::setNeedsDisplayInRect cleanup
3155         https://bugs.webkit.org/show_bug.cgi?id=77486
3156
3157         Reviewed by Andreas Kling.
3158
3159         * platform/graphics/ca/mac/TileCache.h:
3160         * platform/graphics/ca/mac/TileCache.mm:
3161         (WebCore::TileCache::setNeedsDisplayInRect):
3162         TileCache::tileLayerAtIndex can in the future return nil, so cope with that. Also, replace
3163         nested if statements with continue statements.
3164
3165         (WebCore::TileCache::getTileIndexRangeForRect):
3166         Rename this to better indicate that it returns a range of indices.
3167
3168 2012-01-31  Dana Jansens  <danakj@chromium.org>
3169
3170         Add contains() test to Region
3171         https://bugs.webkit.org/show_bug.cgi?id=72294
3172
3173         Reviewed by Anders Carlsson.
3174
3175         * platform/graphics/Region.cpp:
3176         (WebCore::Region::contains):
3177         (WebCore):
3178         * platform/graphics/Region.h:
3179         (Region):
3180         (Shape):
3181         (WebCore::operator==):
3182         (WebCore):
3183
3184 2012-01-31  Sami Kyostila  <skyostil@chromium.org>
3185
3186         [chromium] Compositor debug borders are not scaled correctly
3187         https://bugs.webkit.org/show_bug.cgi?id=77468
3188
3189         Use CCLayerImpl::contentBounds() instead of CCLayerImpl::bounds() to calculate debug
3190         border geometry so that the borders are properly scaled.
3191
3192         Reviewed by James Robinson.
3193
3194         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3195         (WebCore::CCLayerImpl::appendDebugBorderQuad):
3196
3197 2012-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
3198
3199         Unreviewed, rolling out r106376.
3200         http://trac.webkit.org/changeset/106376
3201         https://bugs.webkit.org/show_bug.cgi?id=77481
3202
3203         Broke WebGLLayerChromiumTest in webkit_unit_tests (Requested
3204         by kbr_google on #webkit).
3205
3206         * platform/graphics/gpu/DrawingBuffer.cpp:
3207         (WebCore):
3208         (WebCore::DrawingBuffer::reset):
3209
3210 2012-01-31  Mihnea Ovidenie  <mihnea@adobe.com>
3211
3212         [CSSRegions]Reduce the cases when the box style in region is computed
3213         https://bugs.webkit.org/show_bug.cgi?id=77446
3214
3215         Reviewed by David Hyatt.
3216
3217         Covered by existing region style tests.
3218
3219         * rendering/RenderRegion.cpp:
3220         (WebCore::RenderRegion::setRegionBoxesRegionStyle):
3221         (WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):
3222
3223 2012-01-31  Anders Carlsson  <andersca@apple.com>
3224
3225         Put tiles in a HashMap
3226         https://bugs.webkit.org/show_bug.cgi?id=77480
3227
3228         Reviewed by Antti Koivisto.
3229
3230         Put tiles in a hash map keyed off the tile index.
3231
3232         * platform/graphics/ca/mac/TileCache.h:
3233         Shuffle member variables around so the order makes more sense.
3234         Add the tile map.
3235
3236         * platform/graphics/ca/mac/TileCache.mm:
3237         (WebCore::TileCache::TileCache):
3238         Update member initializers.
3239
3240         (WebCore::TileCache::setNeedsDisplayInRect):
3241         Call tileLayerAtIndex instead of tileLayerAtPosition.
3242
3243         (WebCore::TileCache::setAcceleratesDrawing):
3244         (WebCore::TileCache::setTileDebugBorderWidth):
3245         (WebCore::TileCache::setTileDebugBorderColor):
3246         Iterate over the hash map instead of the sublayers.
3247
3248         (WebCore::TileCache::resizeTileGrid):
3249         Add the created layers to the map.
3250
3251         (WebCore::TileCache::tileLayerAtIndex):
3252         Rename from tileLayerAtPoint to better reflect that this member function
3253         returns a tile layer at the given index and not the given point.
3254
3255 2012-01-31  Antti Koivisto  <antti@apple.com>
3256
3257         Make CSSOM style() return CSSStyleDeclaration*
3258         https://bugs.webkit.org/show_bug.cgi?id=77475
3259
3260         Reviewed by Anders Carlsson
3261
3262         CSSStyleRule::style() and some other places return CSSMutableStyleDeclaration. 
3263         They should return the plain CSSOM type instead.
3264         
3265         CSSMutableStyleDeclaration* should be available through non-CSSOM function.
3266
3267         * css/CSSFontFaceRule.h:
3268         (WebCore::CSSFontFaceRule::style):
3269         (WebCore::CSSFontFaceRule::declaration):
3270         * css/CSSFontSelector.cpp:
3271         (WebCore::CSSFontSelector::addFontFaceRule):
3272         * css/CSSStyleRule.h:
3273         (WebCore::CSSStyleRule::style):
3274         (WebCore::CSSStyleRule::declaration):
3275         * css/CSSStyleSelector.cpp:
3276         (WebCore::CSSStyleSelector::styleForKeyframe):
3277         * css/WebKitCSSKeyframeRule.h:
3278         (WebCore):
3279         (WebCore::WebKitCSSKeyframeRule::style):
3280         (WebCore::WebKitCSSKeyframeRule::declaration):
3281         (WebKitCSSKeyframeRule):
3282         * editing/EditingStyle.cpp:
3283         (WebCore::styleFromMatchedRulesForElement):
3284         * inspector/InspectorStyleSheet.cpp:
3285         (WebCore::InspectorStyleSheet::revalidateStyle):
3286         * page/PageSerializer.cpp:
3287         (WebCore::PageSerializer::retrieveResourcesForCSSRule):
3288         * svg/SVGFontFaceElement.cpp:
3289         (WebCore::SVGFontFaceElement::parseMappedAttribute):
3290         (WebCore::SVGFontFaceElement::fontFamily):
3291         (WebCore::SVGFontFaceElement::rebuildFontFace):
3292
3293 2012-01-31  Scott Graham  <scottmg@chromium.org>
3294
3295         [Chromium] Remove references to gyp cygwin build target
3296         https://bugs.webkit.org/show_bug.cgi?id=77253
3297
3298         Reviewed by Julien Chaffraix.
3299
3300         Target dependency is no longer required, it's done earlier in the
3301         build process.
3302
3303         * WebCore.gyp/WebCore.gyp:
3304
3305 2012-01-31  Jon Lee  <jonlee@apple.com>
3306
3307         Hidden form elements do not save their state prior to form submission
3308         https://bugs.webkit.org/show_bug.cgi?id=77391
3309         <rdar://problem/10563108>
3310
3311         Reviewed by Brady Eidson.
3312
3313         Test: fast/forms/state-restore-hidden.html
3314
3315         * html/HiddenInputType.cpp: Teach hidden inputs to save and restore their state.
3316         (WebCore::HiddenInputType::saveFormControlState):
3317         (WebCore::HiddenInputType::restoreFormControlState):
3318         * html/HiddenInputType.h:
3319         (HiddenInputType):
3320
3321 2012-01-31  Joshua Bell  <jsbell@chromium.org>
3322
3323         IndexedDB: IDBCursor.update() should raise exception if key changed
3324         https://bugs.webkit.org/show_bug.cgi?id=76952
3325
3326         Move the test from the async task to the synchronous call, per spec. Also re-ordered the tests
3327         done during the synchronous call and the asynchronous task to follow the spec order.
3328
3329         Reviewed by Tony Chang.
3330
3331         Tests: storage/indexeddb/cursor-update.html
3332
3333         * storage/IDBObjectStoreBackendImpl.cpp:
3334         (WebCore::IDBObjectStoreBackendImpl::put): Added check during update() call, order checks per spec.
3335         (WebCore::IDBObjectStoreBackendImpl::putInternal): Move effective key calculation inline.
3336         * storage/IDBObjectStoreBackendImpl.h: Removed selectKeyForPut method.
3337
3338 2012-01-31  Anders Carlsson  <andersca@apple.com>
3339
3340         Inform the tile cache whenever the visible rect changes
3341         https://bugs.webkit.org/show_bug.cgi?id=77470
3342
3343         Reviewed by Andreas Kling.
3344
3345         * platform/graphics/GraphicsLayer.h:
3346         (WebCore::GraphicsLayer::visibleRectChanged):
3347         Add empty function.
3348
3349         * platform/graphics/ca/GraphicsLayerCA.cpp:
3350         (WebCore::GraphicsLayerCA::visibleRectChanged):
3351         Call through to the PlatformCALayer.
3352
3353         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3354         (PlatformCALayer::visibleRectChanged):
3355         Call through to the underlying WebTileCacheLayer.
3356
3357         * platform/graphics/ca/mac/TileCache.mm:
3358         (WebCore::TileCache::visibleRectChanged):
3359         Add empty stub.
3360
3361         (WebCore::TileCache::visibleRect):
3362         Add new (currently unused) helper function that returns the visible rect of the
3363         tile cache layer.
3364
3365         * platform/graphics/ca/mac/WebTileCacheLayer.h:
3366         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
3367         (-[WebTileCacheLayer visibleRectChanged]):
3368         Call through to the TielCache object.
3369
3370         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3371         (PlatformCALayer::visibleRectChanged):
3372         Add stub.
3373
3374         * rendering/RenderLayerCompositor.cpp:
3375         (WebCore::RenderLayerCompositor::frameViewDidScroll):
3376         Call GraphicsLayer::visibleRectChanged.
3377
3378 2012-01-31  Antti Koivisto  <antti@apple.com>
3379
3380         Remove CSSStyleDeclaration isElementStyleDeclaration bit
3381         https://bugs.webkit.org/show_bug.cgi?id=77460
3382
3383         Reviewed by Andreas Kling.
3384
3385         Inline style declaration is now the only type of style declaration with element parent.
3386         We can remove the bit and the associated logic.
3387
3388         * bindings/js/JSDOMBinding.h:
3389         (WebCore::root):
3390         * css/CSSMutableStyleDeclaration.cpp:
3391         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
3392         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
3393         * css/CSSMutableStyleDeclaration.h:
3394         (WebCore::CSSMutableStyleDeclaration::createInline):
3395         (CSSMutableStyleDeclaration):
3396         * css/CSSStyleDeclaration.cpp:
3397         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
3398         (WebCore):
3399         (WebCore::CSSStyleDeclaration::parentStyleSheet):
3400         * css/CSSStyleDeclaration.h:
3401         (WebCore::CSSStyleDeclaration::parentRule):
3402         (WebCore::CSSStyleDeclaration::clearParentRule):
3403         (WebCore::CSSStyleDeclaration::parentElement):
3404         (WebCore::CSSStyleDeclaration::clearParentElement):
3405         (CSSStyleDeclaration):
3406
3407 2012-01-31  Dana Jansens  <danakj@chromium.org>
3408
3409         [chromium] Compute occlusion during paint loop
3410         https://bugs.webkit.org/show_bug.cgi?id=76858
3411
3412         Reviewed by James Robinson.
3413
3414         New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp
3415
3416         * platform/graphics/FloatRect.cpp:
3417         (WebCore::enclosedIntRect):
3418         (WebCore):
3419         * platform/graphics/FloatRect.h:
3420         (WebCore):
3421         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3422         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
3423         * platform/graphics/chromium/Canvas2DLayerChromium.h:
3424         (Canvas2DLayerChromium):
3425         * platform/graphics/chromium/ContentLayerChromium.cpp:
3426         (WebCore::ContentLayerChromium::paintContentsIfDirty):
3427         * platform/graphics/chromium/ContentLayerChromium.h:
3428         (ContentLayerChromium):
3429         * platform/graphics/chromium/ImageLayerChromium.cpp:
3430         (WebCore::ImageLayerChromium::paintContentsIfDirty):
3431         * platform/graphics/chromium/ImageLayerChromium.h:
3432         (ImageLayerChromium):
3433         * platform/graphics/chromium/LayerChromium.cpp:
3434         (WebCore::LayerChromium::contentToScreenSpaceTransform):
3435         (WebCore):
3436         (WebCore::LayerChromium::addSelfToOccludedScreenSpace):
3437         (WebCore::LayerChromium::isPaintedAxisAlignedInScreen):
3438         * platform/graphics/chromium/LayerChromium.h:
3439         (WebCore):
3440         (WebCore::LayerChromium::paintContentsIfDirty):
3441         (LayerChromium):
3442         * platform/graphics/chromium/RenderSurfaceChromium.h:
3443         (RenderSurfaceChromium):
3444         * platform/graphics/chromium/TiledLayerChromium.cpp:
3445         (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
3446         * platform/graphics/chromium/TiledLayerChromium.h:
3447         (WebCore):
3448         ():
3449         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3450         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
3451         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
3452         (RenderSurfaceRegion):
3453         (WebCore):
3454         (WebCore::pushTargetRenderSurfaceRegion):
3455         (WebCore::popAndPushTargetRenderSurfaceRegion):
3456         (WebCore::CCLayerTreeHost::paintLayerContents):
3457         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3458         (WebCore):
3459         ():
3460         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
3461
3462 2012-01-31  John Bates  <jbates@google.com>
3463
3464         [Chromium] Add chromium-style tracing support
3465         https://bugs.webkit.org/show_bug.cgi?id=76885
3466
3467         Reviewed by Darin Fisher.
3468
3469         This code enables WebKit trace events to pass through more data to the
3470         chromium platform tracing API and generally to use the full tracing
3471         API provided by chromium.
3472
3473         * bindings/v8/V8Proxy.cpp:
3474         (WebCore::V8Proxy::evaluate): Replace old tracing API.
3475         * page/Console.cpp:
3476         (WebCore::Console::time): Replace old tracing API.
3477         (WebCore::Console::timeEnd): Replace old tracing API.
3478         * platform/chromium/PlatformSupport.h:
3479         * platform/chromium/TraceEvent.h:
3480         (WebCore::TraceEvent::TraceID::TraceID):
3481         (WebCore::TraceEvent::TraceID::data):
3482         (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
3483         (WebCore::TraceEvent::TraceStringWithCopy::operator const char* ):
3484         (WebCore::TraceEvent::setTraceValue):
3485         (WebCore::TraceEvent::addTraceEvent):
3486         (WebCore::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
3487         (WebCore::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
3488         (WebCore::TraceEvent::TraceEndOnScopeClose::initialize):
3489         (WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
3490         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::TraceEndOnScopeCloseThreshold):
3491         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::~TraceEndOnScopeCloseThreshold):
3492         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::initialize):
3493         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::addEventIfEnabled):
3494
3495 2012-01-31  Ryosuke Niwa  <rniwa@webkit.org>
3496
3497         Crash in DeleteSelectionCommand::handleGeneralDelete when attempting to delete the start block
3498         https://bugs.webkit.org/show_bug.cgi?id=77077
3499
3500         Reviewed by Enrica Casucci.
3501
3502         The crash was caused by a missing null check after removing the position out of the start block.
3503         Fixed the bug by adding an early return.
3504