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