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