Comcast website displays bottom of page when loaded
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-05-11  Anders Carlsson  <andersca@apple.com>
2
3         Comcast website displays bottom of page when loaded
4         https://bugs.webkit.org/show_bug.cgi?id=86277
5         <rdar://problem/11426887>
6
7         Reviewed by Beth Dakin.
8
9         There were two bugs here. The first bug was that FrameView::setScrollPosition didn't end up calling into the scrolling coordinator
10         to update the scroll position. The second bug was that ScrollingTreeNodeMac::setScrollPosition didn't constrain the scroll position
11         to the edge of the page.
12
13         * page/FrameView.cpp:
14         (WebCore::FrameView::setScrollPosition):
15         Call requestScrollPositionUpdate.
16
17         * page/scrolling/ScrollingTree.cpp:
18         * page/scrolling/ScrollingTree.h:
19         Remove setMainFrameScrollPosition, it is not called by anyone.
20
21         * page/scrolling/mac/ScrollingTreeNodeMac.h:
22         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
23         (WebCore::ScrollingTreeNodeMac::setScrollPosition):
24         Clamp to the page size and call setScrollPositionWithoutContentEdgeConstraints.
25
26         (WebCore::ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints):
27         Update the scroll layer position and call back to the main thread.
28
29         (WebCore::ScrollingTreeNodeMac::scrollBy):
30         Call setScrollPosition.
31
32         (WebCore::ScrollingTreeNodeMac::scrollByWithoutContentEdgeConstraints):
33         Call setScrollPositionWithoutContentEdgeConstraints.
34
35 2012-05-11  Gavin Barraclough  <barraclough@apple.com>
36
37         Introduce PropertyName class
38         https://bugs.webkit.org/show_bug.cgi?id=86241
39
40         Reviewed by Geoff Garen.
41
42         Replace 'const Identifier&' arguments to functions accessing object properties with a new 'PropertyName' type.
43         This change paves the way to allow for properties keyed by values that are not Identifiers.
44
45         This change is largely a mechanical find & replace.
46         It also changes JSFunction's constructor to take a UString& instead of an Identifier&
47         (since in some cases we can no longer guarantee that we'lll have an Identifier), and
48         unifies Identifier's methods to obtain array indices onto PropertyName.
49
50         The new PropertyName class retains the ability to support .impl() and .ustring(), but
51         in a future patch we may need to rework this, since not all PropertyNames should be
52         equal based on their string representation.
53
54         * WebCore.exp.in:
55         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
56         (WebCore::cssPropertyIDForJSCSSPropertyName):
57         (WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
58         (WebCore::JSCSSStyleDeclaration::getOwnPropertyDescriptorDelegate):
59         (WebCore::JSCSSStyleDeclaration::putDelegate):
60         * bindings/js/JSDOMBinding.cpp:
61         (WebCore::findAtomicString):
62         (WebCore::objectToStringFunctionGetter):
63         * bindings/js/JSDOMBinding.h:
64         (WebCore):
65         (WebCore::propertyNameToString):
66         (WebCore::propertyNameToAtomicString):
67         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
68         (WebCore::JSDOMMimeTypeArray::canGetItemsForName):
69         (WebCore::JSDOMMimeTypeArray::nameGetter):
70         * bindings/js/JSDOMPluginArrayCustom.cpp:
71         (WebCore::JSDOMPluginArray::canGetItemsForName):
72         (WebCore::JSDOMPluginArray::nameGetter):
73         * bindings/js/JSDOMPluginCustom.cpp:
74         (WebCore::JSDOMPlugin::canGetItemsForName):
75         (WebCore::JSDOMPlugin::nameGetter):
76         * bindings/js/JSDOMStringMapCustom.cpp:
77         (WebCore::JSDOMStringMap::canGetItemsForName):
78         (WebCore::JSDOMStringMap::nameGetter):
79         (WebCore::JSDOMStringMap::deleteProperty):
80         (WebCore::JSDOMStringMap::putDelegate):
81         * bindings/js/JSDOMWindowCustom.cpp:
82         (WebCore::nonCachingStaticFunctionGetter):
83         (WebCore::childFrameGetter):
84         (WebCore::namedItemGetter):
85         (WebCore::JSDOMWindow::getOwnPropertySlot):
86         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
87         (WebCore::JSDOMWindow::put):
88         (WebCore::JSDOMWindow::deleteProperty):
89         (WebCore::JSDOMWindow::defineOwnProperty):
90         * bindings/js/JSDOMWindowShell.cpp:
91         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
92         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
93         (WebCore::JSDOMWindowShell::put):
94         (WebCore::JSDOMWindowShell::putDirectVirtual):
95         (WebCore::JSDOMWindowShell::defineOwnProperty):
96         (WebCore::JSDOMWindowShell::deleteProperty):
97         * bindings/js/JSDOMWindowShell.h:
98         (JSDOMWindowShell):
99         * bindings/js/JSHTMLAllCollectionCustom.cpp:
100         (WebCore::getNamedItems):
101         (WebCore::callHTMLAllCollection):
102         (WebCore::JSHTMLAllCollection::canGetItemsForName):
103         (WebCore::JSHTMLAllCollection::nameGetter):
104         (WebCore::JSHTMLAllCollection::item):
105         * bindings/js/JSHTMLAppletElementCustom.cpp:
106         (WebCore::JSHTMLAppletElement::getOwnPropertySlotDelegate):
107         (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
108         (WebCore::JSHTMLAppletElement::putDelegate):
109         * bindings/js/JSHTMLCollectionCustom.cpp:
110         (WebCore::getNamedItems):
111         (WebCore::JSHTMLCollection::canGetItemsForName):
112         (WebCore::JSHTMLCollection::nameGetter):
113         * bindings/js/JSHTMLDocumentCustom.cpp:
114         (WebCore::JSHTMLDocument::canGetItemsForName):
115         (WebCore::JSHTMLDocument::nameGetter):
116         * bindings/js/JSHTMLEmbedElementCustom.cpp:
117         (WebCore::JSHTMLEmbedElement::getOwnPropertySlotDelegate):
118         (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
119         (WebCore::JSHTMLEmbedElement::putDelegate):
120         * bindings/js/JSHTMLFormElementCustom.cpp:
121         (WebCore::JSHTMLFormElement::canGetItemsForName):
122         (WebCore::JSHTMLFormElement::nameGetter):
123         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
124         (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
125         (WebCore::JSHTMLFrameSetElement::nameGetter):
126         * bindings/js/JSHTMLObjectElementCustom.cpp:
127         (WebCore::JSHTMLObjectElement::getOwnPropertySlotDelegate):
128         (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
129         (WebCore::JSHTMLObjectElement::putDelegate):
130         * bindings/js/JSHistoryCustom.cpp:
131         (WebCore::nonCachingStaticBackFunctionGetter):
132         (WebCore::nonCachingStaticForwardFunctionGetter):
133         (WebCore::nonCachingStaticGoFunctionGetter):
134         (WebCore::JSHistory::getOwnPropertySlotDelegate):
135         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
136         (WebCore::JSHistory::putDelegate):
137         (WebCore::JSHistory::deleteProperty):
138         * bindings/js/JSLocationCustom.cpp:
139         (WebCore::nonCachingStaticReplaceFunctionGetter):
140         (WebCore::nonCachingStaticReloadFunctionGetter):
141         (WebCore::nonCachingStaticAssignFunctionGetter):
142         (WebCore::JSLocation::getOwnPropertySlotDelegate):
143         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
144         (WebCore::JSLocation::putDelegate):
145         (WebCore::JSLocation::deleteProperty):
146         (WebCore::JSLocation::defineOwnProperty):
147         (WebCore::JSLocationPrototype::putDelegate):
148         (WebCore::JSLocationPrototype::defineOwnProperty):
149         * bindings/js/JSNamedNodeMapCustom.cpp:
150         (WebCore::JSNamedNodeMap::canGetItemsForName):
151         (WebCore::JSNamedNodeMap::nameGetter):
152         * bindings/js/JSNodeListCustom.cpp:
153         (WebCore::JSNodeList::canGetItemsForName):
154         (WebCore::JSNodeList::nameGetter):
155         * bindings/js/JSPluginElementFunctions.cpp:
156         (WebCore::runtimeObjectPropertyGetter):
157         (WebCore::runtimeObjectCustomGetOwnPropertySlot):
158         (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
159         (WebCore::runtimeObjectCustomPut):
160         * bindings/js/JSPluginElementFunctions.h:
161         (WebCore):
162         * bindings/js/JSStorageCustom.cpp:
163         (WebCore::JSStorage::canGetItemsForName):
164         (WebCore::JSStorage::nameGetter):
165         (WebCore::JSStorage::deleteProperty):
166         (WebCore::JSStorage::putDelegate):
167         * bindings/js/JSStyleSheetListCustom.cpp:
168         (WebCore::JSStyleSheetList::canGetItemsForName):
169         (WebCore::JSStyleSheetList::nameGetter):
170         * bindings/js/JSWorkerContextCustom.cpp:
171         (WebCore::JSWorkerContext::getOwnPropertySlotDelegate):
172         (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
173         * bindings/scripts/CodeGeneratorJS.pm:
174         (GenerateGetOwnPropertySlotBody):
175         (GenerateGetOwnPropertyDescriptorBody):
176         (GenerateHeader):
177         (GenerateImplementation):
178         (GenerateConstructorDeclaration):
179         (GenerateConstructorDefinition):
180         * bridge/c/c_class.cpp:
181         (JSC::Bindings::CClass::methodsNamed):
182         (JSC::Bindings::CClass::fieldNamed):
183         * bridge/c/c_class.h:
184         (CClass):
185         * bridge/c/c_instance.cpp:
186         (JSC::Bindings::CRuntimeMethod::create):
187         (JSC::Bindings::CRuntimeMethod::finishCreation):
188         (JSC::Bindings::CInstance::getMethod):
189         * bridge/c/c_instance.h:
190         (CInstance):
191         * bridge/jni/jsc/JavaClassJSC.cpp:
192         (JavaClass::methodsNamed):
193         (JavaClass::fieldNamed):
194         * bridge/jni/jsc/JavaClassJSC.h:
195         (JavaClass):
196         * bridge/jni/jsc/JavaInstanceJSC.cpp:
197         (JavaRuntimeMethod::create):
198         (JavaRuntimeMethod::finishCreation):
199         * bridge/jni/jsc/JavaInstanceJSC.h:
200         (JavaInstance):
201         * bridge/jsc/BridgeJSC.h:
202         (Class):
203         (JSC::Bindings::Class::fallbackObject):
204         (JSC::Bindings::Instance::setValueOfUndefinedField):
205         (Instance):
206         (JSC::Bindings::Instance::getOwnPropertySlot):
207         (JSC::Bindings::Instance::getOwnPropertyDescriptor):
208         (JSC::Bindings::Instance::put):
209         * bridge/objc/objc_class.h:
210         (ObjcClass):
211         * bridge/objc/objc_class.mm:
212         (JSC::Bindings::ObjcClass::methodsNamed):
213         (JSC::Bindings::ObjcClass::fieldNamed):
214         (JSC::Bindings::ObjcClass::fallbackObject):
215         * bridge/objc/objc_instance.h:
216         (ObjcInstance):
217         * bridge/objc/objc_instance.mm:
218         (ObjCRuntimeMethod::create):
219         (ObjCRuntimeMethod::finishCreation):
220         (ObjcInstance::setValueOfUndefinedField):
221         (ObjcInstance::getValueOfUndefinedField):
222         * bridge/objc/objc_runtime.h:
223         (JSC::Bindings::ObjcFallbackObjectImp::create):
224         (JSC::Bindings::ObjcFallbackObjectImp::propertyName):
225         (ObjcFallbackObjectImp):
226         * bridge/objc/objc_runtime.mm:
227         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
228         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot):
229         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
230         (JSC::Bindings::ObjcFallbackObjectImp::put):
231         (JSC::Bindings::callObjCFallbackObject):
232         (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty):
233         (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
234         * bridge/runtime_array.cpp:
235         (JSC::RuntimeArray::lengthGetter):
236         (JSC::RuntimeArray::getOwnPropertySlot):
237         (JSC::RuntimeArray::getOwnPropertyDescriptor):
238         (JSC::RuntimeArray::put):
239         (JSC::RuntimeArray::deleteProperty):
240         * bridge/runtime_array.h:
241         (RuntimeArray):
242         * bridge/runtime_method.cpp:
243         (JSC::RuntimeMethod::finishCreation):
244         (JSC::RuntimeMethod::lengthGetter):
245         (JSC::RuntimeMethod::getOwnPropertySlot):
246         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
247         * bridge/runtime_method.h:
248         (JSC::RuntimeMethod::create):
249         (RuntimeMethod):
250         * bridge/runtime_object.cpp:
251         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
252         (JSC::Bindings::RuntimeObject::fieldGetter):
253         (JSC::Bindings::RuntimeObject::methodGetter):
254         (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
255         (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
256         (JSC::Bindings::RuntimeObject::put):
257         (JSC::Bindings::RuntimeObject::deleteProperty):
258         * bridge/runtime_object.h:
259         (RuntimeObject):
260
261 2012-05-11  David Barton  <dbarton@mathscribe.com>
262
263         use after free in WebCore::RenderObject::document
264         https://bugs.webkit.org/show_bug.cgi?id=84891
265
266         Reviewed by Julien Chaffraix.
267
268         Change RenderMathMLFenced::addChild() to use the beforeChild parameter. When beforeChild
269         is 0, insert child renderers before the closing fence, which might not be the same as
270         this->lastChild(), e.g. possibly due to anonymous blocks or generated content.
271
272         Tests: mathml/presentation/mfenced-add-child1-expected.html
273                mathml/presentation/mfenced-add-child1.html
274                mathml/presentation/mfenced-add-child2-expected.html
275                mathml/presentation/mfenced-add-child2.html
276
277         * rendering/mathml/RenderMathMLFenced.cpp:
278         (WebCore::RenderMathMLFenced::RenderMathMLFenced):
279         (WebCore::RenderMathMLFenced::makeFences):
280         (WebCore::RenderMathMLFenced::addChild):
281         * rendering/mathml/RenderMathMLFenced.h:
282         (RenderMathMLFenced):
283
284 2012-05-11  Anders Carlsson  <andersca@apple.com>
285
286         Can't scroll on webpage after following links from Blogger
287         https://bugs.webkit.org/show_bug.cgi?id=86274
288         <rdar://problem/11431352>
289
290         Reviewed by Beth Dakin.
291
292         When committing a new scroll layer, make sure to reset the scroll position.
293
294         * page/scrolling/ScrollingTree.cpp:
295         (WebCore::ScrollingTree::commitNewTreeState):
296
297 2012-05-11  Martin Robinson  <mrobinson@igalia.com>
298
299         [TextureMapper] Support drawing debug borders
300         https://bugs.webkit.org/show_bug.cgi?id=86237
301
302         Reviewed by Noam Rosenthal.
303
304         No new tests. This is the implementation of an interactive debugging
305         feature.
306
307         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
308         (WebCore::GraphicsLayer::create): Moved this to the top of the file to
309         reduce contention for the coveted last spot in the file. This also
310         follows the pattern used in many WebCore files of having the factories
311         at the top.
312         (WebCore::GraphicsLayerTextureMapper::setDebugBorder): Added this
313         plumbing.
314         * platform/graphics/texmap/GraphicsLayerTextureMapper.h: Added
315         plumbing.
316         * platform/graphics/texmap/TextureMapper.h: Ditto.
317         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
318         (WebCore::TextureMapperTiledBackingStore::TextureMapperTiledBackingStore):
319         Initialize the new member.
320         (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper): When
321         debug borders are enabled call the new drawBorder method on the TM.
322         (WebCore::TextureMapperTiledBackingStore::setDebugBorder): Added this
323         plumbing.
324         * platform/graphics/texmap/TextureMapperBackingStore.h: Added plumbing
325         and members to store debug border states. This is necessary because of
326         the when painting there is no handle on the GraphicsLayers.
327         * platform/graphics/texmap/TextureMapperGL.cpp:
328         (WebCore::TextureMapperGL::drawRect): Factored out the common bits of
329         drawTexture and drawBorder into this helper.
330         (WebCore::TextureMapperGL::drawBorder): Added this method, which works
331         very similarly to drawTexture, but uses a different shader program and
332         must also set the line width and color.
333         (WebCore::TextureMapperGL::drawTexture): Factored out the bits that
334         are shared with drawRect.
335         * platform/graphics/texmap/TextureMapperGL.h:
336         (TextureMapperGL): Added the new method declarations.
337         * platform/graphics/texmap/TextureMapperImageBuffer.h:
338         (WebCore::TextureMapperImageBuffer::drawBorder): Added an empty
339         implementation. Later we can add an implementation for the ImageBuffer
340         TM.
341         * platform/graphics/texmap/TextureMapperLayer.cpp:
342         (WebCore::TextureMapperLayer::updateBackingStore): When updating the
343         backing store send the debug border information through.
344         (WebCore::TextureMapperLayer::syncCompositingStateSelf): When updating
345         the layer state, also update the debug indicators. This is required to
346         initialize the debug border values for the layer.
347         (WebCore::TextureMapperLayer::setDebugBorder): Added this plumbing.
348         * platform/graphics/texmap/TextureMapperLayer.h: Ditto.
349         * platform/graphics/texmap/TextureMapperShaderManager.cpp: Added a
350         solid color shader that doesn't care about texture coordinates or
351         opacity values.
352         (WebCore::TextureMapperShaderManager::solidColorProgram): Added. This
353         is a shorter getter for the solid color program that doesn't require
354         casting from the caller.
355         (WebCore::TextureMapperShaderManager::getShaderProgram): Added support
356         for the solid color program.
357         (WebCore::TextureMapperShaderProgramSolidColor::create): Added.
358         (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor):
359         Ditto.
360         (WebCore::TextureMapperShaderProgramSolidColor::vertexShaderSource):
361         Ditto.
362         (WebCore::TextureMapperShaderProgramSolidColor::fragmentShaderSource):
363         Ditto.
364         * platform/graphics/texmap/TextureMapperShaderManager.h:
365         (TextureMapperShaderProgramSolidColor): Added.
366         (WebCore::TextureMapperShaderProgramSolidColor::colorVariable): Added.
367
368 2012-05-10  Timothy Hatcher  <timothy@apple.com>
369
370         Instrument timer function calls so they show up in the Web Inspector Timeline.
371
372         https://webkit.org/b/86173
373
374         Reviewed by Pavel Feldman.
375
376         Test: inspector/timeline/timeline-timer.html
377
378         * bindings/js/ScheduledAction.cpp:
379         (WebCore::ScheduledAction::executeFunctionInContext): Wrap the call with JSMainThreadExecState::instrumentFunctionCall
380         and InspectorInstrumentation::didCallFunction.
381
382 2012-05-11  Nico Weber  <thakis@chromium.org>
383
384         [chromium/mac] Let libwebkit.dylib link in Debug/components build
385         https://bugs.webkit.org/show_bug.cgi?id=86244
386
387         Reviewed by James Robinson.
388
389         In static builds, this was not needed because the targets depending on
390         'webkit' already link in QuartzCore. In Release components builds, it wasn't
391         needed because they are built with -dead_strip, which stripped the referencing
392         code.
393
394         * WebCore.gyp/WebCore.gyp:
395
396 2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
397
398         Unreviewed, rolling out r116802.
399         http://trac.webkit.org/changeset/116802
400         https://bugs.webkit.org/show_bug.cgi?id=86260
401
402         This patch causes compiling error to chromium builds
403         (Requested by jianli_ on #webkit).
404
405         * WebCore.gypi:
406
407 2012-05-11  Ryosuke Niwa  <rniwa@webkit.org>
408
409         Regression fix after r116798.
410
411         We need to return true for the html element in the design mode
412         in which case parentNode() is editable and is not a body element.
413
414         * dom/Node.cpp:
415         (WebCore::Node::isRootEditableElement):
416
417 2012-05-11  James Robinson  <jamesr@chromium.org>
418
419         [chromium] Move implementation of WebCore::GraphicsContext3D and related from WebKit/chromium/src to WebCore/platform/chromium/support
420         https://bugs.webkit.org/show_bug.cgi?id=86257
421
422         Reviewed by Adam Barth.
423
424         The WebCore platform interfaces GraphicsContext3D and Extensions3DChromium are implemented in chromium on top of
425         the Platform interface WebGraphicsContext3D. This moves the implementation support code from WebKit/chromium/src
426         to WebCore/platform/chromium/support, which avoids having code in WebKit/ implementing WebCore interfaces and
427         allows code in WebCore/platform to use this support code directly where appropriate.
428
429         Refactor only, no new functionality or tests.
430
431         * WebCore.gypi:
432         * platform/chromium/support/Extensions3DChromium.cpp: Renamed from Source/WebKit/chromium/src/Extensions3DChromium.cpp.
433         (WebCore):
434         (WebCore::Extensions3DChromium::Extensions3DChromium):
435         (WebCore::Extensions3DChromium::~Extensions3DChromium):
436         (WebCore::Extensions3DChromium::supports):
437         (WebCore::Extensions3DChromium::ensureEnabled):
438         (WebCore::Extensions3DChromium::isEnabled):
439         (WebCore::Extensions3DChromium::getGraphicsResetStatusARB):
440         (WebCore::Extensions3DChromium::blitFramebuffer):
441         (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
442         (WebCore::Extensions3DChromium::postSubBufferCHROMIUM):
443         (WebCore::Extensions3DChromium::mapBufferSubDataCHROMIUM):
444         (WebCore::Extensions3DChromium::unmapBufferSubDataCHROMIUM):
445         (WebCore::Extensions3DChromium::mapTexSubImage2DCHROMIUM):
446         (WebCore::Extensions3DChromium::unmapTexSubImage2DCHROMIUM):
447         (WebCore::Extensions3DChromium::setVisibilityCHROMIUM):
448         (WebCore::Extensions3DChromium::discardFramebufferEXT):
449         (WebCore::Extensions3DChromium::ensureFramebufferCHROMIUM):
450         (WebCore::Extensions3DChromium::setGpuMemoryAllocationChangedCallbackCHROMIUM):
451         (WebCore::Extensions3DChromium::createVertexArrayOES):
452         (WebCore::Extensions3DChromium::deleteVertexArrayOES):
453         (WebCore::Extensions3DChromium::isVertexArrayOES):
454         (WebCore::Extensions3DChromium::bindVertexArrayOES):
455         (WebCore::Extensions3DChromium::getTranslatedShaderSourceANGLE):
456         (WebCore::Extensions3DChromium::setSwapBuffersCompleteCallbackCHROMIUM):
457         (WebCore::Extensions3DChromium::rateLimitOffscreenContextCHROMIUM):
458         (WebCore::Extensions3DChromium::paintFramebufferToCanvas):
459         (WebCore::Extensions3DChromium::texImageIOSurface2DCHROMIUM):
460         (WebCore::Extensions3DChromium::texStorage2DEXT):
461         (WebCore::Extensions3DChromium::createQueryEXT):
462         (WebCore::Extensions3DChromium::deleteQueryEXT):
463         (WebCore::Extensions3DChromium::isQueryEXT):
464         (WebCore::Extensions3DChromium::beginQueryEXT):
465         (WebCore::Extensions3DChromium::endQueryEXT):
466         (WebCore::Extensions3DChromium::getQueryivEXT):
467         (WebCore::Extensions3DChromium::getQueryObjectuivEXT):
468         * platform/chromium/support/GraphicsContext3DChromium.cpp: Renamed from Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp.
469         (WebCore):
470         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
471         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
472         (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
473         (WebCore::GraphicsContext3DPrivate::extractWebGraphicsContext3D):
474         (WebCore::GraphicsContext3DPrivate::platformGraphicsContext3D):
475         (WebCore::GraphicsContext3DPrivate::platformTexture):
476         (GrMemoryAllocationChangedCallback):
477         (WebCore::GrMemoryAllocationChangedCallback::GrMemoryAllocationChangedCallback):
478         (WebCore::GrMemoryAllocationChangedCallback::onGpuMemoryAllocationChanged):
479         (WebCore::GraphicsContext3DPrivate::grContext):
480         (WebCore::GraphicsContext3DPrivate::prepareTexture):
481         (WebCore::GraphicsContext3DPrivate::markContextChanged):
482         (WebCore::GraphicsContext3DPrivate::markLayerComposited):
483         (WebCore::GraphicsContext3DPrivate::layerComposited):
484         (WebCore::GraphicsContext3DPrivate::paintFramebufferToCanvas):
485         (WebCore::GraphicsContext3DPrivate::paintRenderingResultsToCanvas):
486         (WebCore::GraphicsContext3DPrivate::paintCompositedResultsToCanvas):
487         (WebCore::GraphicsContext3DPrivate::paintRenderingResultsToImageData):
488         (WebCore::GraphicsContext3DPrivate::reshape):
489         (WebCore::GraphicsContext3DPrivate::getInternalFramebufferSize):
490         (WebCore::GraphicsContext3DPrivate::isContextLost):
491         (WebCore::GraphicsContext3DPrivate::isGLES2Compliant):
492         (WebCore::GraphicsContext3DPrivate::bindAttribLocation):
493         (WebCore::GraphicsContext3DPrivate::bufferData):
494         (WebCore::GraphicsContext3DPrivate::bufferSubData):
495         (WebCore::GraphicsContext3DPrivate::getActiveAttrib):
496         (WebCore::GraphicsContext3DPrivate::getActiveUniform):
497         (WebCore::GraphicsContext3DPrivate::getAttribLocation):
498         (WebCore::GraphicsContext3DPrivate::getContextAttributes):
499         (WebCore::GraphicsContext3DPrivate::getProgramInfoLog):
500         (WebCore::GraphicsContext3DPrivate::getShaderInfoLog):
501         (WebCore::GraphicsContext3DPrivate::getShaderSource):
502         (WebCore::GraphicsContext3DPrivate::getString):
503         (WebCore::GraphicsContext3DPrivate::getUniformLocation):
504         (WebCore::GraphicsContext3DPrivate::shaderSource):
505         (WebCore::GraphicsContext3DPrivate::texImage2D):
506         (WebCore::GraphicsContext3DPrivate::texSubImage2D):
507         (WebCore::GraphicsContext3DPrivate::uniform1fv):
508         (WebCore::GraphicsContext3DPrivate::uniform1iv):
509         (WebCore::GraphicsContext3DPrivate::uniform2fv):
510         (WebCore::GraphicsContext3DPrivate::uniform2iv):
511         (WebCore::GraphicsContext3DPrivate::uniform3fv):
512         (WebCore::GraphicsContext3DPrivate::uniform3iv):
513         (WebCore::GraphicsContext3DPrivate::uniform4fv):
514         (WebCore::GraphicsContext3DPrivate::uniform4iv):
515         (WebCore::GraphicsContext3DPrivate::uniformMatrix2fv):
516         (WebCore::GraphicsContext3DPrivate::uniformMatrix3fv):
517         (WebCore::GraphicsContext3DPrivate::uniformMatrix4fv):
518         (WebCore::GraphicsContext3DPrivate::getExtensions):
519         (WebCore::GraphicsContext3DPrivate::isResourceSafe):
520         (WebCore::GraphicsContext3DPrivate::initializeExtensions):
521         (WebCore::GraphicsContext3DPrivate::supportsExtension):
522         (WebCore::GraphicsContext3DPrivate::ensureExtensionEnabled):
523         (WebCore::GraphicsContext3DPrivate::isExtensionEnabled):
524         (WebCore::GraphicsContext3D::GraphicsContext3D):
525         (WebCore::GraphicsContext3D::~GraphicsContext3D):
526         (WebCore::GraphicsContext3D::create):
527         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
528         (WebCore::GraphicsContext3D::platformTexture):
529         (WebCore::GraphicsContext3D::grContext):
530         (WebCore::GraphicsContext3D::prepareTexture):
531         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
532         (WebCore::GraphicsContext3D::isResourceSafe):
533         (WebCore::GraphicsContext3D::platformLayer):
534         (WebCore::GraphicsContext3D::layerComposited):
535         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
536         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
537         (GraphicsContextLostCallbackAdapter):
538         (WebCore::GraphicsContextLostCallbackAdapter::~GraphicsContextLostCallbackAdapter):
539         (WebCore::GraphicsContextLostCallbackAdapter::GraphicsContextLostCallbackAdapter):
540         (WebCore::GraphicsContextLostCallbackAdapter::onContextLost):
541         (WebCore::GraphicsContextLostCallbackAdapter::create):
542         (WebCore::GraphicsContext3DPrivate::setContextLostCallback):
543         (GraphicsErrorMessageCallbackAdapter):
544         (WebCore::GraphicsErrorMessageCallbackAdapter::~GraphicsErrorMessageCallbackAdapter):
545         (WebCore::GraphicsErrorMessageCallbackAdapter::GraphicsErrorMessageCallbackAdapter):
546         (WebCore::GraphicsErrorMessageCallbackAdapter::onErrorMessage):
547         (WebCore::GraphicsErrorMessageCallbackAdapter::create):
548         (WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):
549         (WebCore::GraphicsContext3D::isGLES2Compliant):
550         (GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
551         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::~GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
552         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
553         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete):
554         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::create):
555         (WebCore::GraphicsContext3DPrivate::setSwapBuffersCompleteCallbackCHROMIUM):
556         (GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
557         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
558         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::~GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
559         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::onMemoryAllocationChanged):
560         (WebCore::GraphicsContext3DPrivate::setGpuMemoryAllocationChangedCallbackCHROMIUM):
561         * platform/chromium/support/GraphicsContext3DPrivate.h: Renamed from Source/WebKit/chromium/src/GraphicsContext3DPrivate.h.
562         (WebKit):
563         (WebCore):
564         (GraphicsContext3DPrivate):
565
566 2012-05-11  Keyar Hood  <keyar@chromium.org>
567
568         ImageSkia.cpp does not conform to style guidelines
569         https://bugs.webkit.org/show_bug.cgi?id=86219
570
571         Reviewed by Stephen White.
572
573         No tests as this is purely style changees.
574
575         * platform/graphics/skia/ImageSkia.cpp:
576         (WebCore::TransformDimensions):
577         (WebCore::BitmapImage::draw):
578         (WebCore::BitmapImageSingleFrameSkia::draw):
579
580 2012-05-11  Tim Horton  <timothy_horton@apple.com>
581
582         Unreviewed Chromium build fix after http://trac.webkit.org/changeset/116799.
583
584         * rendering/RenderLayerBacking.cpp:
585
586 2012-05-11  Terry Anderson  <tdanderson@chromium.org>
587
588         [chromium] Compute the best target node on a GestureTap event
589         https://bugs.webkit.org/show_bug.cgi?id=85101
590
591         Reviewed by Adam Barth.
592
593         Will be using the tests in the touchadjustment/ directory.
594
595         * WebCore.gypi:
596         Include TouchAdjustment.* files.
597
598 2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
599
600         Unreviewed, rolling out r116498.
601         http://trac.webkit.org/changeset/116498
602         https://bugs.webkit.org/show_bug.cgi?id=86251
603
604         Causes crashes in major sites and security issues (Requested
605         by schenney on #webkit).
606
607         * rendering/svg/RenderSVGInline.cpp:
608         (WebCore::RenderSVGInline::addChild):
609         * rendering/svg/RenderSVGInlineText.cpp:
610         (WebCore::RenderSVGInlineText::willBeDestroyed):
611         (WebCore::RenderSVGInlineText::setTextInternal):
612         (WebCore::RenderSVGInlineText::styleDidChange):
613         * rendering/svg/RenderSVGText.cpp:
614         (WebCore::recursiveUpdateLayoutAttributes):
615         (WebCore::RenderSVGText::layoutAttributesChanged):
616         (WebCore::RenderSVGText::layoutAttributesWillBeDestroyed):
617         (WebCore::RenderSVGText::invalidateTextPositioningElements):
618         (WebCore::recursiveUpdateScaledFont):
619         (WebCore::RenderSVGText::layout):
620         (WebCore::RenderSVGText::addChild):
621         (WebCore::recursiveCollectLayoutAttributes):
622         (WebCore::RenderSVGText::rebuildLayoutAttributes):
623         (WebCore):
624         * rendering/svg/RenderSVGText.h:
625         (RenderSVGText):
626         (WebCore::RenderSVGText::layoutAttributes):
627         * rendering/svg/SVGRootInlineBox.cpp:
628         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
629         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
630         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributes):
631
632 2012-05-11  Tim Horton  <timothy_horton@apple.com>
633
634         FrameView->m_lastPaintTime is not updated in the tiled drawing case
635         https://bugs.webkit.org/show_bug.cgi?id=86246
636         <rdar://problem/11248475>
637
638         Reviewed by Simon Fraser.
639
640         Update FrameView's m_lastPaintTime from RenderLayerBacking::paintContents
641         if the RenderLayerBacking is backing a tiled drawing layer.
642
643         In the future we might want to consider updating m_lastPaintTime when any
644         compositing layer is painted into, but this change gets us on par with the
645         non-tiled-drawing case as it stands now.
646
647         No new tests.
648
649         * page/FrameView.h:
650         (WebCore::FrameView::setLastPaintTime):
651         * rendering/RenderLayerBacking.cpp:
652         (WebCore::RenderLayerBacking::paintContents):
653
654 2012-05-11  Shezan Baig  <shezbaig.wk@gmail.com>
655
656         Add helper function for node()->rootEditableElement() == node()
657         https://bugs.webkit.org/show_bug.cgi?id=86217
658
659         Reviewed by Ryosuke Niwa.
660
661         Added Node::isRootEditableElement and updated existing code that did
662         (node->rootEditableElement() == node) to use isRootEditableElement
663         instead.
664
665         No new tests. No change in behavior.
666
667         * dom/Node.cpp:
668         (WebCore::Node::isRootEditableElement):
669         (WebCore):
670         * dom/Node.h:
671         (Node):
672         Added new helper function.
673
674         * dom/Document.cpp:
675         (WebCore::Document::setFocusedNode):
676         * dom/Element.cpp:
677         (WebCore::Element::updateFocusAppearance):
678         * editing/CompositeEditCommand.cpp:
679         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
680         * editing/DeleteSelectionCommand.cpp:
681         (WebCore::DeleteSelectionCommand::removeNode):
682         * editing/InsertParagraphSeparatorCommand.cpp:
683         (WebCore::InsertParagraphSeparatorCommand::doApply):
684         * page/FocusController.cpp:
685         (WebCore::FocusController::setFocusedNode):
686         * rendering/RenderBlock.cpp:
687         (WebCore::RenderBlock::hasLineIfEmpty):
688         * rendering/RenderBlockLineLayout.cpp:
689         (WebCore::RenderBlock::addOverflowFromInlineChildren):
690         Updates to existing code to use the new helper function.
691
692 2012-05-11  Shawn Singh  <shawnsingh@chromium.org>
693
694         [chromium] Create WebTransformationMatrix interface for chromium platform
695         https://bugs.webkit.org/show_bug.cgi?id=86049
696
697         Reviewed by James Robinson.
698
699         This patch creates a WebTransformationMatrix interface. It will
700         remain unused at the moment, until (a) unit tests are created
701         and (b) when we are ready to make a brief transition of all other
702         chromium code to use it.
703
704         * WebCore.gypi:
705         * platform/chromium/support/WebTransformationMatrix.cpp: Added.
706         (WebKit):
707         (WebKit::WebTransformationMatrix::WebTransformationMatrix):
708         (WebKit::WebTransformationMatrix::operator=):
709         (WebKit::WebTransformationMatrix::operator==):
710         (WebKit::WebTransformationMatrix::operator*):
711         (WebKit::WebTransformationMatrix::inverse):
712         (WebKit::WebTransformationMatrix::to2dTransform):
713         (WebKit::WebTransformationMatrix::multiply):
714         (WebKit::WebTransformationMatrix::makeIdentity):
715         (WebKit::WebTransformationMatrix::translate):
716         (WebKit::WebTransformationMatrix::translate3d):
717         (WebKit::WebTransformationMatrix::translateRight3d):
718         (WebKit::WebTransformationMatrix::scale):
719         (WebKit::WebTransformationMatrix::scaleNonUniform):
720         (WebKit::WebTransformationMatrix::scale3d):
721         (WebKit::WebTransformationMatrix::rotate):
722         (WebKit::WebTransformationMatrix::rotate3d):
723         (WebKit::WebTransformationMatrix::skewX):
724         (WebKit::WebTransformationMatrix::skewY):
725         (WebKit::WebTransformationMatrix::applyPerspective):
726         (WebKit::WebTransformationMatrix::blend):
727         (WebKit::WebTransformationMatrix::hasPerspective):
728         (WebKit::WebTransformationMatrix::isInvertible):
729         (WebKit::WebTransformationMatrix::isBackFaceVisible):
730         (WebKit::WebTransformationMatrix::isIdentity):
731         (WebKit::WebTransformationMatrix::isIdentityOrTranslation):
732         (WebKit::WebTransformationMatrix::isIntegerTranslation):
733         (WebKit::WebTransformationMatrix::m11):
734         (WebKit::WebTransformationMatrix::setM11):
735         (WebKit::WebTransformationMatrix::m12):
736         (WebKit::WebTransformationMatrix::setM12):
737         (WebKit::WebTransformationMatrix::m13):
738         (WebKit::WebTransformationMatrix::setM13):
739         (WebKit::WebTransformationMatrix::m14):
740         (WebKit::WebTransformationMatrix::setM14):
741         (WebKit::WebTransformationMatrix::m21):
742         (WebKit::WebTransformationMatrix::setM21):
743         (WebKit::WebTransformationMatrix::m22):
744         (WebKit::WebTransformationMatrix::setM22):
745         (WebKit::WebTransformationMatrix::m23):
746         (WebKit::WebTransformationMatrix::setM23):
747         (WebKit::WebTransformationMatrix::m24):
748         (WebKit::WebTransformationMatrix::setM24):
749         (WebKit::WebTransformationMatrix::m31):
750         (WebKit::WebTransformationMatrix::setM31):
751         (WebKit::WebTransformationMatrix::m32):
752         (WebKit::WebTransformationMatrix::setM32):
753         (WebKit::WebTransformationMatrix::m33):
754         (WebKit::WebTransformationMatrix::setM33):
755         (WebKit::WebTransformationMatrix::m34):
756         (WebKit::WebTransformationMatrix::setM34):
757         (WebKit::WebTransformationMatrix::m41):
758         (WebKit::WebTransformationMatrix::setM41):
759         (WebKit::WebTransformationMatrix::m42):
760         (WebKit::WebTransformationMatrix::setM42):
761         (WebKit::WebTransformationMatrix::m43):
762         (WebKit::WebTransformationMatrix::setM43):
763         (WebKit::WebTransformationMatrix::m44):
764         (WebKit::WebTransformationMatrix::setM44):
765         (WebKit::WebTransformationMatrix::a):
766         (WebKit::WebTransformationMatrix::setA):
767         (WebKit::WebTransformationMatrix::b):
768         (WebKit::WebTransformationMatrix::setB):
769         (WebKit::WebTransformationMatrix::c):
770         (WebKit::WebTransformationMatrix::setC):
771         (WebKit::WebTransformationMatrix::d):
772         (WebKit::WebTransformationMatrix::setD):
773         (WebKit::WebTransformationMatrix::e):
774         (WebKit::WebTransformationMatrix::setE):
775         (WebKit::WebTransformationMatrix::f):
776         (WebKit::WebTransformationMatrix::setF):
777         (WebKit::WebTransformationMatrix::toWebCoreTransform):
778         (WebKit::WebTransformationMatrix::mapRect):
779         (WebKit::WebTransformationMatrix::mapPoint):
780         (WebKit::WebTransformationMatrix::mapQuad):
781         (WebKit::WebTransformationMatrix::projectPoint):
782
783 2012-05-11  Alexandru Chiculita  <achicu@adobe.com>
784
785         [CSS Shaders] Make CSS Shaders render to texture framebuffers
786         https://bugs.webkit.org/show_bug.cgi?id=85113
787
788         Reviewed by Dean Jackson.
789
790         Added the required members to store the framebuffer, the texture and the depth buffer. Also removed the m_drawingBuffer
791         because context->readPixels doesn't require one anymore.
792
793         ReadPixels is not flipping the result, so I've also removed the flipping projection matrix that was specific only to Chromium.
794
795         Added a test to check that colors are not switched and the resulting image is not mirrored.
796
797         Test: css3/filters/custom/effect-color-check.html
798
799         * platform/graphics/filters/FECustomFilter.cpp:
800         (WebCore::FECustomFilter::FECustomFilter):
801         (WebCore::FECustomFilter::~FECustomFilter):
802         (WebCore):
803         (WebCore::FECustomFilter::deleteRenderBuffers):
804         (WebCore::FECustomFilter::platformApplySoftware):
805         (WebCore::FECustomFilter::initializeContext):
806         (WebCore::FECustomFilter::resizeContext):
807         (WebCore::FECustomFilter::bindProgramAndBuffers):
808         * platform/graphics/filters/FECustomFilter.h:
809         (FECustomFilter):
810
811 2012-05-11  Anders Carlsson  <andersca@apple.com>
812
813         REGRESSION(r116687): [Chromium] plugins/embed-attributes-style.html shows a garbled string
814         https://bugs.webkit.org/show_bug.cgi?id=86170
815
816         Reviewed by Andreas Kling.
817
818         The string we are passing to the TextRun constructor needs to stay alive for longer so revert back to the old
819         behavior where we store it as a member variable.
820
821         * rendering/RenderEmbeddedObject.cpp:
822         (WebCore::unavailablePluginReplacementText):
823         (WebCore):
824         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
825         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
826         * rendering/RenderEmbeddedObject.h:
827         (RenderEmbeddedObject):
828
829 2012-05-11  Simon Fraser  <simon.fraser@apple.com>
830
831         CVDisplayLink keeps running after a single requestAnimationFrame
832         https://bugs.webkit.org/show_bug.cgi?id=86174
833         
834         Reviewed by Sam Weinig.
835         
836         A DisplayRefreshMonitor would keep its CVDisplayLink alive for as long
837         as it had clients, and the client is the ScriptedAnimationController, which
838         lives on the document. So a single requestAnimationFrame call would kick
839         off a CVDisplayLink which lived until the document was destroyed.
840         
841         Fix by having the DisplayRefreshMonitor kill itself if the CVDisplayLink
842         fires for 10 times with no scheduled callbacks (to avoid creation/deletion
843         thrash on pages that call requestAnimationFrames with short setTimeouts,
844         as some do).
845         
846         Use a HashMap in DisplayRefreshMonitorManager for the set of DisplayRefreshMonitor,
847         with the displayID as the key (using UnsignedWithZeroKeyHashTraits<uint64_t> since
848         we want to allow for 0 to be a valid displayID).
849         
850         Use a HashSet in DisplayRefreshMonitor for the client set, so that we don't have to
851         worry about adding clients twice.
852         
853         Also fix a possible crash when the only client of a DisplayRefreshMonitor
854         was removed from inside the callback by making DisplayRefreshMonitor ref-counted,
855         with a protector.
856
857         Test: fast/animation/request-animation-frame-detach-element2.html
858
859         * platform/graphics/DisplayRefreshMonitor.cpp:
860         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor): Initialize m_unscheduledFireCount
861         (WebCore::DisplayRefreshMonitor::handleDisplayRefreshedNotificationOnMainThread): Renamed
862         from refreshDisplayOnMainThread, since it doesn't just refresh the display.
863         (WebCore::DisplayRefreshMonitor::addClient): No longer inline.
864         (WebCore::DisplayRefreshMonitor::removeClient): No longer inline.
865         (WebCore::DisplayRefreshMonitor::displayDidRefresh): Keep track of m_unscheduledFireCount,
866         which we used to kill this monitor if it has been idle for a while.
867         Use a RefPtr<DisplayRefreshMonitor> to prevent deletion while running the callback.
868         Copy the clients to a vector to protect against mutating the set while enumerating it.
869         Notify the DisplayRefreshMonitorManager when we're done, so that it can decide
870         to delete inactive monitors.
871         
872         (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient): find or allocate
873         a DisplayRefreshMonitor for a given client.
874         (WebCore::DisplayRefreshMonitorManager::registerClient): Simplified by use of HashMap.
875         (WebCore::DisplayRefreshMonitorManager::unregisterClient): Ditto.
876         (WebCore::DisplayRefreshMonitorManager::scheduleAnimation): Ditto. Uses
877         ensureMonitorForClient() since an earlier inactive monitor may have been removed.
878         (WebCore::DisplayRefreshMonitorManager::displayDidRefresh): Remove inactive
879         monitors.
880         * platform/graphics/DisplayRefreshMonitor.h: Make DisplayRefreshMonitor
881         ref-counted, to make it easier to avoid deletion while it's on the stack.
882         (WebCore::DisplayRefreshMonitor::create):
883         (DisplayRefreshMonitor):
884         (WebCore::DisplayRefreshMonitor::shouldBeTerminated):
885         (DisplayRefreshMonitorManager):
886         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: Attempt to
887         keep things building.
888         (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
889         (WebCore::DisplayRefreshMonitor::displayLinkFired):
890         to give the manager a chance to kill this monitor.
891         * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
892         (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
893         (WebCore::DisplayRefreshMonitor::displayLinkFired): Don't bail early
894         if not scheduled; we want to call handleDisplayRefreshedNotificationOnMainThread(),
895
896 2012-05-11  Pavel Feldman  <pfeldman@chromium.org>
897
898         Web Inspector: move canEditScriptSource and setScriptSource from DebuggerPresentationModel into ResourceBinding
899         https://bugs.webkit.org/show_bug.cgi?id=86234
900
901         Reviewed by Vsevolod Vlasov.
902
903         Simple move refactoring.
904
905         * inspector/front-end/DebuggerPresentationModel.js:
906         (WebInspector.DebuggerPresentationModel):
907         (WebInspector.DebuggerResourceBinding):
908         (WebInspector.DebuggerResourceBinding.canEditScriptSource):
909         (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
910         (WebInspector.DebuggerResourceBinding.setScriptSource):
911         (WebInspector.DebuggerResourceBinding.prototype.canSetContent):
912         (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
913         (WebInspector.DebuggerResourceBinding.prototype._setContentWithInitialContent):
914         * inspector/front-end/JavaScriptSourceFrame.js:
915         (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
916         (WebInspector.JavaScriptSourceFrame.prototype.editContent):
917
918 2012-05-11  Julien Chaffraix  <jchaffraix@webkit.org>
919
920         Remove RenderLayer::m_scrollOverflow
921         https://bugs.webkit.org/show_bug.cgi?id=86226
922
923         Reviewed by Simon Fraser.
924
925         No expected change in behavior.
926
927         * rendering/RenderLayer.cpp:
928         (WebCore::RenderLayer::computeScrollDimensions):
929         Added 2 local variables to compute the left / top scrollable overflows.
930
931         * rendering/RenderLayer.h:
932         (WebCore::RenderLayer::scrolledContentOffset):
933         Returned m_scrollOffset directly as this is what the old code was doing by adding
934         m_scrollOrigin then adding m_scrollOverflow (which was set to -m_scrollOrigin in
935         computeScrollDimensions).
936
937         (RenderLayer::m_scrollOffset): Improved the comment about what m_scrollOffset is.
938
939 2012-05-11  Pavel Feldman  <pfeldman@chromium.org>
940
941         Web Inspector: extract PresentationConsoleMessageHelper from DebuggerPresentationModel.
942         https://bugs.webkit.org/show_bug.cgi?id=86229
943
944         Reviewed by Vsevolod Vlasov.
945
946         This change also starts tracking messages along with the live location changes.
947
948         Tested with script-formatter-console.html.
949
950         * inspector/front-end/BreakpointManager.js:
951         * inspector/front-end/DebuggerPresentationModel.js:
952         (WebInspector.DebuggerPresentationModel):
953         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
954         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
955         (WebInspector.PresentationConsoleMessageHelper):
956         (WebInspector.PresentationConsoleMessageHelper.prototype._addPendingConsoleMessage):
957         (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
958         (WebInspector.PresentationConsoleMessageHelper.prototype._debuggerReset):
959         (WebInspector.PresentationConsoleMessage):
960         * inspector/front-end/JavaScriptSourceFrame.js:
961         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
962         (WebInspector.JavaScriptSourceFrame.prototype._consoleMessageAdded):
963         (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
964
965 2012-05-11  Emil A Eklund  <eae@chromium.org>
966
967         Simplify FloatingObject by removing unnecessary convenience methods.
968         https://bugs.webkit.org/show_bug.cgi?id=86163
969
970         Reviewed by Eric Seidel.
971
972         Simplify the pixel snapping in FloatingObject by getting rid of a bunch
973         of convenience methods.
974
975         No new tests, no change in functionality.
976
977         * rendering/RenderBlock.cpp:
978         (WebCore::RenderBlock::addOverhangingFloats):
979         (WebCore::RenderBlock::addIntrudingFloats):
980         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
981         (WebCore::::string):
982         * rendering/RenderBlock.h:
983         (FloatingObject):
984         (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
985         (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
986         (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
987         (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):
988
989 2012-05-11  Ian Vollick  <vollick@chromium.org>
990
991         [chromium] Ensure that animations continue to run when transform-style is changed
992         https://bugs.webkit.org/show_bug.cgi?id=83283
993
994         Make sure that we transfer animations when changing layers due to a transform-style change.
995         Unit tested in GraphicsLayerChromiumTest.updateLayerPreserves3DWithAnimations
996
997         Reviewed by James Robinson.
998
999         Test: animations/change-transform-style-during-animation.html
1000
1001         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1002         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1003         * platform/graphics/chromium/LayerChromium.cpp:
1004         (WebCore::LayerChromium::setLayerAnimationController):
1005         (WebCore::LayerChromium::releaseLayerAnimationController):
1006         (WebCore):
1007         (WebCore::LayerChromium::notifyAnimationStarted):
1008         * platform/graphics/chromium/LayerChromium.h:
1009         (LayerChromium):
1010         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1011         (WebCore::CCLayerAnimationController::CCLayerAnimationController):
1012         (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
1013         (WebCore::CCLayerAnimationController::notifyAnimationStarted):
1014         (WebCore::CCLayerAnimationController::setClient):
1015         (WebCore):
1016         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
1017         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
1018         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
1019         (CCLayerAnimationController):
1020         (WebCore::CCLayerAnimationController::setForceSync):
1021
1022 2012-05-11  Tommy Widenflycht  <tommyw@google.com>
1023
1024         MediaStream API: Fix a reference counting issue in UserMediaRequest
1025         https://bugs.webkit.org/show_bug.cgi?id=86210
1026
1027         Reviewed by Abhishek Arya.
1028
1029         When contextDestroyed() is called on UserMediaRequest it does a callback to the
1030         page client. If the receiving code clears their stored copy the UserMediaRequest
1031         object is destroyed in the middle of the call.
1032
1033         Currently only testable manually against chrome, preferably with asan turned on.
1034         I have added a manual test that verifies the fix, but I have started work
1035         to make DumpRenderTree able to test this and many other things. The first patch is here:
1036         https://bugs.webkit.org/show_bug.cgi?id=86215
1037
1038         * Modules/mediastream/UserMediaRequest.cpp:
1039         (WebCore::UserMediaRequest::contextDestroyed):
1040
1041 2012-05-11  Min Qin  <qinmin@google.com>
1042
1043         split MediaPlayer::enterFullscreen into 2 seperate functions
1044         https://bugs.webkit.org/show_bug.cgi?id=86052
1045
1046         Reviewed by Adam Barth.
1047
1048         It is confusing that enterFullscreen returns a boolean while exitFullscreen does
1049         not do the same. And ios does not need the return value.
1050         So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
1051         function for android.
1052         No tests as there are no behavior change, just refactoring.
1053
1054         * platform/graphics/MediaPlayer.cpp:
1055         (WebCore::MediaPlayer::enterFullscreen):
1056         (WebCore):
1057         (WebCore::MediaPlayer::canEnterFullscreen):
1058         * platform/graphics/MediaPlayer.h:
1059         (MediaPlayer):
1060         * platform/graphics/MediaPlayerPrivate.h:
1061         (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
1062         (MediaPlayerPrivateInterface):
1063         (WebCore::MediaPlayerPrivateInterface::canEnterFullscreen):
1064
1065 2012-05-11  Pavel Feldman  <pfeldman@chromium.org>
1066
1067         Web Inspector: move breakpoint manager from debuggerPresentationModel to WebInspector.
1068         https://bugs.webkit.org/show_bug.cgi?id=86220
1069
1070         Reviewed by Yury Semikhatsky.
1071
1072         Now that breakpoint manager does not depend on the source mapping instance from the
1073         debugger presentation model, it can be moved out.
1074
1075         * inspector/front-end/DebuggerPresentationModel.js:
1076         (WebInspector.DebuggerPresentationModel):
1077         * inspector/front-end/JavaScriptSource.js:
1078         (WebInspector.JavaScriptSource):
1079         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
1080         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
1081         (WebInspector.JavaScriptSource.prototype.setFormatted):
1082         * inspector/front-end/JavaScriptSourceFrame.js:
1083         (WebInspector.JavaScriptSourceFrame):
1084         * inspector/front-end/ScriptsPanel.js:
1085         * inspector/front-end/inspector.js:
1086
1087 2012-05-11  David Reveman  <reveman@chromium.org>
1088
1089         [Chromium] Move instantiation of texture uploader to LayerRendererChromium.
1090         https://bugs.webkit.org/show_bug.cgi?id=85893
1091
1092         Reviewed by Adrienne Walker.
1093
1094         Move instantiation of texture uploader to LayerRendererChromium and
1095         allow CCProxy to decide between a throttled or unthrottled uploader
1096         using a flag passed to the LayerRendererChromium constructor.
1097
1098         * platform/graphics/chromium/LayerRendererChromium.cpp:
1099         (WebCore::LayerRendererChromium::create):
1100         (WebCore::LayerRendererChromium::LayerRendererChromium):
1101         (WebCore::LayerRendererChromium::initializeSharedObjects):
1102         * platform/graphics/chromium/LayerRendererChromium.h:
1103         (LayerRendererChromium):
1104         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1105         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
1106         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1107         (CCLayerTreeHostImpl):
1108         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1109         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
1110         (WebCore::CCSingleThreadProxy::recreateContext):
1111         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1112         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
1113         (WebCore::CCThreadProxy::recreateContextOnImplThread):
1114
1115 2012-05-10  Pavel Feldman  <pfeldman@chromium.org>
1116
1117         Web Inspector: pass source mapping into UISourceCode's constructor; move formatting outside mapping.
1118         https://bugs.webkit.org/show_bug.cgi?id=86099
1119
1120         Reviewed by Vsevolod Vlasov.
1121
1122         This changes moves formatting out of the source mapping machinery.
1123         As a result, it removes most of the DebuggerPresentation's mapping-related code as well
1124         as most of the raw source code's code.
1125
1126         * inspector/front-end/BreakpointManager.js:
1127         (WebInspector.BreakpointManager):
1128         (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
1129         (WebInspector.BreakpointManager.Breakpoint):
1130         * inspector/front-end/CallStackSidebarPane.js:
1131         (WebInspector.CallStackSidebarPane.prototype.setStatus):
1132         * inspector/front-end/CompilerScriptMapping.js:
1133         * inspector/front-end/DebuggerPresentationModel.js:
1134         (WebInspector.DebuggerPresentationModel):
1135         (WebInspector.DebuggerPresentationModel.prototype._callFrameSelected):
1136         (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
1137         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
1138         * inspector/front-end/JavaScriptSource.js:
1139         (WebInspector.JavaScriptSource):
1140         (WebInspector.JavaScriptSource.prototype.fireContentAvailable):
1141         (WebInspector.JavaScriptSource.prototype.setFormatted.if):
1142         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
1143         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
1144         (WebInspector.JavaScriptSource.prototype.setFormatted):
1145         (WebInspector.JavaScriptSource.prototype.togglingFormatter):
1146         (WebInspector.JavaScriptSource.prototype.uiLocationToRawLocation):
1147         (WebInspector.JavaScriptSource.prototype.overrideLocation):
1148         (WebInspector.JavaScriptSource.prototype.breakpointStorageId):
1149         (WebInspector):
1150         * inspector/front-end/JavaScriptSourceFrame.js:
1151         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
1152         (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
1153         * inspector/front-end/RawSourceCode.js:
1154         (WebInspector.RawSourceCode):
1155         (WebInspector.RawSourceCode.prototype.addScript):
1156         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
1157         (WebInspector.RawSourceCode.prototype._createUISourceCode):
1158         (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
1159         (WebInspector.RawSourceCode.prototype.uiSourceCode):
1160         (WebInspector.RawSourceCode.prototype._finishedLoading):
1161         * inspector/front-end/ResourceScriptMapping.js:
1162         (WebInspector.ResourceScriptMapping):
1163         (WebInspector.ResourceScriptMapping.prototype.addScript):
1164         (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
1165         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
1166         * inspector/front-end/Script.js:
1167         (WebInspector.Script.prototype.rawLocationToUILocation):
1168         * inspector/front-end/ScriptFormatter.js:
1169         (WebInspector.ScriptFormatter.prototype._didFormatContent):
1170         (WebInspector.FormatterSourceMapping):
1171         (WebInspector.FormatterSourceMapping.prototype.originalToFormatted):
1172         (WebInspector.FormatterSourceMapping.prototype.formattedToOriginal):
1173         (WebInspector.IdentityFormatterSourceMapping):
1174         (WebInspector.IdentityFormatterSourceMapping.prototype.originalToFormatted):
1175         (WebInspector.IdentityFormatterSourceMapping.prototype.formattedToOriginal):
1176         (WebInspector.FormatterSourceMappingImpl):
1177         (WebInspector.FormatterSourceMappingImpl.prototype.originalToFormatted):
1178         (WebInspector.FormatterSourceMappingImpl.prototype.formattedToOriginal):
1179         * inspector/front-end/ScriptMapping.js:
1180         (WebInspector.MainScriptMapping):
1181         (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
1182         (WebInspector.MainScriptMapping.prototype.reset):
1183         * inspector/front-end/ScriptsPanel.js:
1184         (WebInspector.ScriptsPanel.prototype._handleUISourceCodeAdded):
1185         (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
1186         (WebInspector.ScriptsPanel.prototype._showFile):
1187         (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
1188         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
1189         * inspector/front-end/ScriptsSearchScope.js:
1190         (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
1191         * inspector/front-end/SnippetsModel.js:
1192         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
1193         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
1194         * inspector/front-end/UISourceCode.js:
1195         (WebInspector.UISourceCode):
1196         (WebInspector.UISourceCode.prototype.requestContent):
1197         (WebInspector.UISourceCode.prototype.mimeType):
1198         (WebInspector.UISourceCode.prototype.content):
1199         (WebInspector.UISourceCode.prototype.fireContentAvailable):
1200         (WebInspector.UISourceCode.prototype.contentLoaded):
1201         (WebInspector.UISourceCode.prototype.uiLocationToRawLocation):
1202
1203 2012-05-11  Dominik Röttsches  <dominik.rottsches@intel.com>
1204
1205         [EFL][DRT] Input Attribute Placeholder RefTests failing
1206         https://bugs.webkit.org/show_bug.cgi?id=85603
1207
1208         Unreviewed, build fix for EFL.
1209
1210         * platform/efl/RenderThemeEfl.cpp:
1211
1212 2012-05-11  Alexei Filippov  <alexeif@chromium.org>
1213
1214         Web Inspector: Remove support of combined nodes and edges serialization schema.
1215         https://bugs.webkit.org/show_bug.cgi?id=86209
1216
1217         Reviewed by Yury Semikhatsky.
1218
1219         * inspector/front-end/HeapSnapshot.js:
1220         (WebInspector.HeapSnapshotNode.prototype.get _nodes):
1221         (WebInspector.HeapSnapshotNode.prototype._edgeIndexesStart):
1222         (WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd):
1223         (WebInspector.HeapSnapshot):
1224         (WebInspector.HeapSnapshot.prototype._init):
1225         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1226         (WebInspector.HeapSnapshot.prototype._bfs):
1227         (WebInspector.HeapSnapshot.prototype._buildAggregates):
1228         (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
1229         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
1230         * inspector/front-end/HeapSnapshotLoader.js:
1231         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
1232
1233 2012-05-11  Yury Semikhatsky  <yurys@chromium.org>
1234
1235         Web Inspector: add Profiler.getHeapObjectId command
1236         https://bugs.webkit.org/show_bug.cgi?id=86211
1237
1238         Reviewed by Pavel Feldman.
1239
1240         Added Profiler.getHeapObjectId command to the protocol which allows to convert remote
1241         object id to heap snapshot object id.
1242
1243         * bindings/js/ScriptProfiler.cpp:
1244         (WebCore::ScriptProfiler::getHeapObjectId):
1245         (WebCore):
1246         * bindings/js/ScriptProfiler.h:
1247         (WebCore):
1248         (ScriptProfiler):
1249         * bindings/v8/ScriptProfiler.cpp:
1250         (WebCore::ScriptProfiler::getHeapObjectId):
1251         (WebCore):
1252         * bindings/v8/ScriptProfiler.h:
1253         (WebCore):
1254         (ScriptProfiler):
1255         * inspector/InjectedScript.cpp:
1256         (WebCore::InjectedScript::findObjectById):
1257         (WebCore):
1258         * inspector/InjectedScript.h:
1259         (InjectedScript):
1260         * inspector/InjectedScriptSource.js:
1261         (.):
1262         * inspector/Inspector.json:
1263         * inspector/InspectorProfilerAgent.cpp:
1264         (WebCore::InspectorProfilerAgent::getHeapObjectId):
1265         (WebCore):
1266         * inspector/InspectorProfilerAgent.h:
1267         (InspectorProfilerAgent):
1268
1269 2012-05-11  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1270
1271         Qt support for new layout types.
1272         https://bugs.webkit.org/show_bug.cgi?id=85607
1273
1274         Reviewed by Simon Hausmann.
1275
1276         Adds similar Qt support to FractionalLayout classes as Qt has for
1277         FloatSomething and IntSomething classes. This means Qt code can stay
1278         unchanged from after the redefinition of Layout classes.
1279
1280         No new functionality. No new tests.
1281
1282         * Target.pri:
1283         * platform/FractionalLayoutUnit.h:
1284         (WebCore::operator<<):
1285         (WebCore::operator>>):
1286         * platform/graphics/FractionalLayoutPoint.h:
1287         (FractionalLayoutPoint):
1288         * platform/graphics/FractionalLayoutRect.h:
1289         (FractionalLayoutRect):
1290         * platform/graphics/FractionalLayoutSize.h:
1291         (FractionalLayoutSize):
1292         * platform/graphics/qt/FractionalLayoutPointQt.cpp: Added.
1293         (WebCore::FractionalLayoutPoint::FractionalLayoutPoint):
1294         (WebCore::FractionalLayoutPoint::operator QPointF):
1295         * platform/graphics/qt/FractionalLayoutRectQt.cpp: Added.
1296         (WebCore::FractionalLayoutRect::FractionalLayoutRect):
1297         (WebCore::FractionalLayoutRect::operator QRectF):
1298         * platform/graphics/qt/FractionalLayoutSizeQt.cpp: Added.
1299         (WebCore::FractionalLayoutSize::FractionalLayoutSize):
1300         (WebCore::FractionalLayoutSize::operator QSizeF):
1301
1302 2012-05-11  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1303
1304         Internals::touchPositionAdjustedToBestClickableNode adjust twice for scroll-offset
1305         https://bugs.webkit.org/show_bug.cgi?id=86205
1306
1307         Reviewed by Simon Hausmann.
1308
1309         Remove the redundant conversion from document to window coords.
1310
1311         Test: touchadjustment/scroll-offset.html
1312
1313         * testing/Internals.cpp:
1314         (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
1315         (WebCore::Internals::bestZoomableAreaForTouchPoint):
1316
1317 2012-05-11  Ilya Tikhonovsky  <loislo@chromium.org>
1318
1319         Web Inspector: load heap snapshot implementation.
1320         https://bugs.webkit.org/show_bug.cgi?id=86097
1321
1322         The idea is to have a hidden file selector control.
1323         When the user select a context menu item or click a button
1324         we redirect this user-action to file selector.
1325         As result we see the standard file selector dialog.
1326         When the user selects a file we load it's chunks and push the chunks to the worker.
1327         The loaded snapshot can be completely unrelated to the current page.
1328         Thats why we have to skip range selection options in Summary tab.
1329
1330         Reviewed by Yury Semikhatsky.
1331
1332         * English.lproj/localizedStrings.js:
1333         * inspector/front-end/CSSSelectorProfileView.js:
1334         (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
1335         * inspector/front-end/HeapSnapshotView.js:
1336         (WebInspector.HeapSnapshotView.prototype._updateFilterOptions): we have to skip the profiles loaded from file because there is no guaranty t
1337         (WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
1338         (WebInspector.HeapSnapshotProfileType.prototype.createProfile): cosmetic changes.
1339         (WebInspector.HeapProfileHeader):
1340         (WebInspector.HeapProfileHeader.prototype._setupWorker): a common part was extracted from load method and reused in loadFromFile.
1341         (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate): cosmetic changes.
1342         (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
1343         (WebInspector.HeapProfileHeader.prototype.canSaveToFile): cosmetic rename for better consistency with 'load' part.
1344         (WebInspector.HeapProfileHeader.prototype.saveToFile): cosmetic rename for better consistency with 'load' part.
1345         (WebInspector.HeapProfileHeader.prototype.canLoadFromFile): cosmetic rename for better consistency with 'load' part.
1346         (WebInspector.HeapProfileHeader.prototype.loadFromFile): chunk based file loader.
1347         (WebInspector.HeapProfileHeader.prototype.loadFromFile.loadNextChunk):
1348         (WebInspector.HeapProfileHeader.prototype.loadFromFile.onLoad):
1349         * inspector/front-end/ProfileView.js:
1350         (WebInspector.CPUProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
1351         * inspector/front-end/ProfilesPanel.js:
1352         (WebInspector.ProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
1353         (WebInspector.ProfileHeader.prototype.canSaveToFile): cosmetic rename for better consistency with 'load' part.
1354         (WebInspector.ProfileHeader.prototype.saveToFile): cosmetic rename for better consistency with 'load' part.
1355         (WebInspector.ProfileHeader.prototype.canLoadFromFile): default implementation for 'load' part.
1356         (WebInspector.ProfileHeader.prototype.loadFromFile): default implementation for 'load' part.
1357         (WebInspector.ProfilesPanel.prototype._createFileSelectorElement):
1358         (WebInspector.ProfilesPanel.prototype._loadFromFile):
1359         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
1360
1361 2012-05-11  Dominik Röttsches  <dominik.rottsches@intel.com>
1362
1363         [EFL][DRT] Input Attribute Placeholder RefTests failing
1364         https://bugs.webkit.org/show_bug.cgi?id=85603
1365
1366         Reviewed by Hajime Morita.
1367
1368         Refrain from overriding style coloring by theme coloring.
1369         RenderThemeEfl was always overriding colors and whitespace
1370         handling leading to failures in reftests that verify placeholder styling
1371         which expect the user agent stylesheet to be applied correctly
1372         without any color overrides. Also, leave whitespace handling untouched.
1373
1374         No new tests, covered by existing tests. See also
1375         the LayoutTests/ChangeLog in this commit for the required
1376         rebaselining.
1377
1378         * platform/efl/RenderThemeEfl.cpp:
1379         (WebCore::RenderThemeEfl::createEdje):
1380         (WebCore::RenderThemeEfl::applyEdjeColors):
1381         (WebCore::RenderThemeEfl::RenderThemeEfl):
1382         (WebCore::RenderThemeEfl::adjustButtonStyle):
1383         (WebCore::RenderThemeEfl::adjustMenuListStyle):
1384         (WebCore::RenderThemeEfl::adjustTextFieldStyle):
1385         (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
1386         * platform/efl/RenderThemeEfl.h:
1387         (RenderThemeEfl):
1388
1389 2012-05-11  Christophe Dumez  <christophe.dumez@intel.com>
1390
1391         Web Intents code only supports V8
1392         https://bugs.webkit.org/show_bug.cgi?id=85954
1393
1394         Reviewed by Adam Barth.
1395
1396         Add necessary abstraction for js Dictionary and ScriptValue so that
1397         the Web Intents code in WebCore compiles with JSC, not just V8.
1398
1399         This required changes in the JSC bindings generator to pass
1400         callback arguments of type SerializedScriptValue as raw pointers
1401         instead of RefPtr. This matches the change made to the V8 bindings
1402         generator in r104531.
1403
1404         * CMakeLists.txt:
1405         * Modules/intents/Intent.cpp:
1406         * Modules/intents/Intent.h:
1407         * bindings/js/Dictionary.cpp:
1408         (WebCore::Dictionary::Dictionary):
1409         (WebCore):
1410         (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
1411         * bindings/js/Dictionary.h:
1412         (Dictionary):
1413         * bindings/js/JSBindingsAllInOne.cpp:
1414         * bindings/js/JSDictionary.cpp:
1415         (WebCore::JSDictionary::convertValue):
1416         (WebCore):
1417         * bindings/js/JSDictionary.h:
1418         (WebCore):
1419         (WebCore::JSDictionary::initializerObject):
1420         * bindings/js/ScriptValue.cpp:
1421         (WebCore::ScriptValue::serialize):
1422         (WebCore):
1423         * bindings/js/ScriptValue.h:
1424         (ScriptValue):
1425         * bindings/scripts/CodeGeneratorJS.pm:
1426         (AddIncludesForType):
1427         (GenerateCallbackHeader):
1428         (GenerateCallbackImplementation):
1429         (GetNativeTypeForCallbacks):
1430
1431 2012-05-11  Alexander Pavlov  <apavlov@chromium.org>
1432
1433         Web Inspector: Can't type spaces in "Override User Agent" field
1434         https://bugs.webkit.org/show_bug.cgi?id=86202
1435
1436         Reviewed by Yury Semikhatsky.
1437
1438         * inspector/front-end/HelpScreen.js:
1439         (WebInspector.HelpScreen.prototype.isClosingKey):
1440         (WebInspector.HelpScreen.prototype._onKeyDown):
1441         * inspector/front-end/SettingsScreen.js:
1442         (WebInspector.SettingsScreen.prototype.isClosingKey):
1443
1444 2012-05-11  Dominik Röttsches  <dominik.rottsches@intel.com>
1445
1446         [EFL][DRT] Input Attribute Placeholder RefTests failing
1447         https://bugs.webkit.org/show_bug.cgi?id=85603
1448
1449         Reviewed by Hajime Morita.
1450
1451         Refrain from overriding style coloring by theme coloring.
1452         RenderThemeEfl was always overriding colors and whitespace
1453         handling leading to failures in reftests that verify placeholder styling
1454         which expect the user agent stylesheet to be applied correctly
1455         without any color overrides. Also, leave whitespace handling untouched.
1456
1457         No new tests, covered by existing tests. See also
1458         the LayoutTests/ChangeLog in this commit for the required
1459         rebaselining.
1460
1461         * platform/efl/RenderThemeEfl.cpp:
1462         (WebCore::RenderThemeEfl::createEdje):
1463         (WebCore::RenderThemeEfl::applyEdjeColors):
1464         (WebCore::RenderThemeEfl::RenderThemeEfl):
1465         (WebCore::RenderThemeEfl::adjustButtonStyle):
1466         (WebCore::RenderThemeEfl::adjustMenuListStyle):
1467         (WebCore::RenderThemeEfl::adjustTextFieldStyle):
1468         (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
1469         * platform/efl/RenderThemeEfl.h:
1470         (RenderThemeEfl):
1471
1472 2012-05-11  Gustavo Noronha Silva  <gns@gnome.org>
1473
1474         REGRESSION(r116205): [GTK]: build no longer supports thin archives
1475         https://bugs.webkit.org/show_bug.cgi?id=86207
1476
1477         * GNUmakefile.am: go back to not linking libWebCoreModules into
1478         libWebCore; when linking 2 convenience libraries libtools tries to
1479         extract the object files from one of them to add to the other, breaking
1480         thin archive builds
1481
1482 2012-05-11  Keishi Hattori  <keishi@webkit.org>
1483
1484         Sanitization algorithm for input type=email should strip whitespaces
1485         https://bugs.webkit.org/show_bug.cgi?id=86177
1486
1487         Reviewed by Kent Tamura.
1488
1489         No new tests. Covered by: fast/forms/ValidityState-typeMismatch-email.html
1490
1491         The spec says that the value sanitization algorithm should
1492         > Strip line breaks from the value, then strip leading and trailing whitespace from the value.
1493
1494         * html/EmailInputType.cpp:
1495         (WebCore::EmailInputType::sanitizeValue):
1496
1497 2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1498
1499         Unreviewed, rolling out r116752.
1500         http://trac.webkit.org/changeset/116752
1501         https://bugs.webkit.org/show_bug.cgi?id=86201
1502
1503         Build failure on Chromium-mac (Requested by tkent on #webkit).
1504
1505         * html/FormAssociatedElement.cpp:
1506         * html/FormAssociatedElement.h:
1507         (FormAssociatedElement):
1508         * html/HTMLFormControlElement.cpp:
1509         (WebCore::HTMLFormControlElement::setCustomValidity):
1510         * html/HTMLFormControlElement.h:
1511         (HTMLFormControlElement):
1512         * html/HTMLInputElement.cpp:
1513         (WebCore::HTMLInputElement::isValidValue):
1514         (WebCore::HTMLInputElement::typeMismatch):
1515         (WebCore::HTMLInputElement::valueMissing):
1516         (WebCore::HTMLInputElement::patternMismatch):
1517         (WebCore::HTMLInputElement::rangeUnderflow):
1518         (WebCore::HTMLInputElement::rangeOverflow):
1519         (WebCore::HTMLInputElement::minimum):
1520         (WebCore::HTMLInputElement::maximum):
1521         (WebCore::HTMLInputElement::stepMismatch):
1522         (WebCore::HTMLInputElement::minimumString):
1523         (WebCore::HTMLInputElement::maximumString):
1524         (WebCore):
1525         (WebCore::HTMLInputElement::stepBaseString):
1526         (WebCore::HTMLInputElement::stepString):
1527         (WebCore::HTMLInputElement::typeMismatchText):
1528         (WebCore::HTMLInputElement::valueMissingText):
1529         (WebCore::HTMLInputElement::isInRange):
1530         (WebCore::HTMLInputElement::isOutOfRange):
1531         * html/HTMLInputElement.h:
1532         (HTMLInputElement):
1533         * html/HTMLObjectElement.h:
1534         (WebCore::HTMLObjectElement::setCustomValidity):
1535         * html/HTMLSelectElement.cpp:
1536         (WebCore::HTMLSelectElement::valueMissing):
1537         * html/HTMLSelectElement.h:
1538         (HTMLSelectElement):
1539         * html/HTMLTextAreaElement.cpp:
1540         * html/HTMLTextAreaElement.h:
1541         (WebCore::HTMLTextAreaElement::valueMissing):
1542         (HTMLTextAreaElement):
1543         * html/InputType.cpp:
1544         (WebCore::InputType::alignValueForStep):
1545         (WebCore::InputType::stepUpFromRenderer):
1546         * html/InputType.h:
1547         (InputType):
1548         * html/ValidityState.cpp:
1549         (WebCore::ValidityState::validationMessage):
1550         (WebCore):
1551         (WebCore::ValidityState::setCustomErrorMessage):
1552         (WebCore::ValidityState::valueMissing):
1553         (WebCore::ValidityState::typeMismatch):
1554         (WebCore::ValidityState::patternMismatch):
1555         (WebCore::ValidityState::tooLong):
1556         (WebCore::ValidityState::rangeUnderflow):
1557         (WebCore::ValidityState::rangeOverflow):
1558         (WebCore::ValidityState::stepMismatch):
1559         (WebCore::ValidityState::customError):
1560         (WebCore::ValidityState::valid):
1561         * html/ValidityState.h:
1562         (ValidityState):
1563
1564 2012-05-11  Alexander Pavlov  <apavlov@chromium.org>
1565
1566         Web Inspector: Search box doesn't allow CSS selectors anymore
1567         https://bugs.webkit.org/show_bug.cgi?id=86196
1568
1569         Reviewed by Pavel Feldman.
1570
1571         Refactoring in http://trac.webkit.org/changeset/99983 inadvertently removed the selector matching during
1572         node search in the InspectorDOMAgent. This change re-introduces the Document::querySelectorAll() evaluation
1573         for the user query.
1574
1575         * inspector/InspectorDOMAgent.cpp:
1576         (WebCore::InspectorDOMAgent::performSearch):
1577
1578 2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1579
1580         Unreviewed, rolling out r116527.
1581         http://trac.webkit.org/changeset/116527
1582         https://bugs.webkit.org/show_bug.cgi?id=86199
1583
1584         Causing crashes on ClusterFuzz (Requested by inferno-sec on
1585         #webkit).
1586
1587         * rendering/RenderScrollbar.cpp:
1588         (WebCore::RenderScrollbar::updateScrollbarPart):
1589         * rendering/RenderScrollbarPart.h:
1590
1591 2012-05-11  Yoshifumi Inoue  <yosin@chromium.org>
1592
1593         [Forms] Move ValidityState methods implementation to another place
1594         https://bugs.webkit.org/show_bug.cgi?id=86058
1595
1596         Reviewed by Kent Tamura.
1597
1598         This patch changes ValidityState class for limiting scope of
1599         number/range input type related methods for introducing decimal
1600         arithmetic.
1601
1602         Methods related to validation are moved from ValidateState to
1603         input, select and textarea elements with virtual method based
1604         dispatching via FormAssociateElement instead of tag name
1605         dispatching so far for code simplification.
1606
1607         No new tests. This patch doesn't change behavior.
1608
1609         * html/FormAssociatedElement.cpp:
1610         (WebCore::FormAssociatedElement::customError): Added. Called from ValidateState. Returns custom error mssage in member variable.
1611         (WebCore::FormAssociatedElement::patternMismatch): Added.  Called from ValidateState. This is default implementation.
1612         (WebCore::FormAssociatedElement::rangeOverflow): Added.  Called from ValidateState. This is default implementation.
1613         (WebCore::FormAssociatedElement::rangeUnderflow): Added.  Called from ValidateState. This is default implementation.
1614         (WebCore::FormAssociatedElement::stepMismatch): Added.  Called from ValidateState. This is default implementation.
1615         (WebCore::FormAssociatedElement::tooLong): Added.  Called from ValidateState. This is default implementation.
1616         (WebCore::FormAssociatedElement::typeMismatch): Added.  Called from ValidateState. This is default implementation.
1617         (WebCore::FormAssociatedElement::valid): Added.  Called from ValidateState. This is default implementation.
1618         (WebCore::FormAssociatedElement::valueMissing): Added.  Called from ValidateState. This is default implementation.
1619         (WebCore::FormAssociatedElement::customValidationMessage): Added.  Called from ValidateState. This is default implementation.
1620         (WebCore::FormAssociatedElement::validationMessage): Added.  Called from ValidateState. This is default implementation.
1621         (WebCore::FormAssociatedElement::setCustomValidity): Added.  set custom error message.
1622         * html/FormAssociatedElement.h:
1623         (FormAssociatedElement): Added new instance value m_customValidationMessage.
1624         * html/HTMLFormControlElement.cpp:
1625         (WebCore::HTMLFormControlElement::setCustomValidity): Changed. Calls base class setCustomValidity.
1626         * html/HTMLFormControlElement.h:
1627         (HTMLFormControlElement):
1628         * html/HTMLInputElement.cpp:
1629         (WebCore::HTMLInputElement::isValidValue): Call m_inputType methods instead of HTMLInputElement's.
1630         (WebCore::HTMLInputElement::tooLong): Call m_inputType methods instead of HTMLInputElement's.
1631         (WebCore):
1632         (WebCore::HTMLInputElement::typeMismatch): Move implementation to InputType.
1633         (WebCore::HTMLInputElement::valueMissing):  Move implementation to InputType.
1634         (WebCore::HTMLInputElement::patternMismatch): Move implementation to InputType.
1635         (WebCore::HTMLInputElement::rangeUnderflow): Move implementation to InputType.
1636         (WebCore::HTMLInputElement::rangeOverflow): Move implementation to InputType.
1637         (WebCore::HTMLInputElement::validationMessage): Move implementation to InputType.
1638         (WebCore::HTMLInputElement::stepMismatch): Move implementation to InputType.
1639         (WebCore::HTMLInputElement::isInRange): Call m_inputType methods instead of HTMLInputElement's.
1640         (WebCore::HTMLInputElement::isOutOfRange): Call m_inputType methods instead of HTMLInputElement's.
1641         * html/HTMLInputElement.h:
1642         (HTMLInputElement): Make tooLong method private.
1643         * html/HTMLObjectElement.h: Add "virtual" and "OVERRIDE".
1644         * html/HTMLSelectElement.cpp:
1645         (WebCore::HTMLSelectElement::validationMessage): Added. Implementation for HTMLSelectElement.
1646         (WebCore::HTMLSelectElement::valueMissing): Added. Implementation for HTMLSelectElement.
1647         * html/HTMLSelectElement.h:
1648         (HTMLSelectElement):  Added entries for newly added methods.
1649         * html/HTMLTextAreaElement.cpp:
1650         (WebCore::HTMLTextAreaElement::validationMessage): Added. Implementation for HTMLTextAreaElement.
1651         (WebCore::HTMLTextAreaElement::valueMissing): Added. Implementation for HTMLTextAreaElement.
1652         (WebCore::HTMLTextAreaElement::tooLong): Added. Implementation for HTMLTextAreaElement.
1653         * html/HTMLTextAreaElement.h:
1654         (HTMLTextAreaElement): Added entries for newly added methods. Change tooLong and valueMissing private.
1655         * html/InputType.cpp:
1656         (WebCore::InputType::stepMismatch): Change method signature.
1657         (WebCore::InputType::alignValueForStep):  Changed for calling InputClass instead of HTMLINputElement.
1658         (WebCore::InputType::stepUpFromRenderer):  Added. Moved from HTMLInputElement.
1659         (WebCore::InputType::validationMessage): Added.  Moved from HTMLInputElement.
1660         * html/InputType.h:
1661         (InputType): Added entries for newly added methods and update methods signature.
1662         * html/ValidityState.cpp: Move actual implementation to FormAssociatedElement and derived classes for localizing implementation change of elements and input types.
1663         (WebCore::ValidityState::validationMessage): Changed to call FormAssociatedElement's method.
1664         (WebCore::ValidityState::valueMissing): Changed to call FormAssociatedElement's method.
1665         (WebCore::ValidityState::typeMismatch): Changed to call FormAssociatedElement's method.
1666         (WebCore::ValidityState::patternMismatch): Changed to call FormAssociatedElement's method.
1667         (WebCore::ValidityState::tooLong): Changed to call FormAssociatedElement's method.
1668         (WebCore::ValidityState::rangeUnderflow): Changed to call FormAssociatedElement's method.
1669         (WebCore::ValidityState::rangeOverflow): Changed to call FormAssociatedElement's method.
1670         (WebCore::ValidityState::stepMismatch): Changed to call FormAssociatedElement's method.
1671         (WebCore::ValidityState::customError): Changed to call FormAssociatedElement's method.
1672         (WebCore::ValidityState::valid):
1673         * html/ValidityState.h:
1674         (ValidityState): Remove custom validation message related things.
1675
1676 2012-05-11  Kent Tamura  <tkent@chromium.org>
1677
1678         Fix a build error without SVG, introduced by tab-size support.
1679
1680         * css/StyleResolver.cpp:
1681         (WebCore::StyleResolver::collectMatchingRulesForList):
1682
1683 2012-05-11  Shinya Kawanaka  <shinyak@chromium.org>
1684
1685         [Refactoring] Move Selection from DOMWindow to TreeScope.
1686         https://bugs.webkit.org/show_bug.cgi?id=82699
1687
1688         Reviewed by Ryosuke Niwa.
1689
1690         Since ShadowRoot will also manage its own version of DOMSelection, we would like to
1691         share the code among Document and DOMSelection. This patch moves DOMSelection from DOMWindow to TreeScope
1692         so that ShadowRoot can also use it.
1693
1694         No new tests, should covered by existing tests.
1695
1696         * dom/Document.cpp:
1697         (WebCore::Document::updateFocusAppearanceTimerFired):
1698         * dom/Document.h:
1699         (Document):
1700         * dom/ShadowRoot.cpp:
1701         (WebCore::ShadowRoot::selection):
1702         * dom/TreeScope.cpp:
1703         (WebCore::TreeScope::~TreeScope):
1704         (WebCore::TreeScope::getSelection):
1705         (WebCore):
1706         * dom/TreeScope.h:
1707         (WebCore):
1708         (TreeScope):
1709         * page/DOMSelection.cpp:
1710         (WebCore::DOMSelection::DOMSelection):
1711         (WebCore::DOMSelection::clearTreeScope):
1712         (WebCore):
1713         * page/DOMSelection.h:
1714         (WebCore):
1715         (WebCore::DOMSelection::create):
1716         (DOMSelection):
1717         * page/DOMWindow.cpp:
1718         (WebCore::DOMWindow::~DOMWindow):
1719         (WebCore::DOMWindow::clearDOMWindowProperties):
1720         (WebCore::DOMWindow::getSelection):
1721         * page/DOMWindow.h:
1722         (DOMWindow):
1723
1724 2012-05-04  Yury Semikhatsky  <yurys@chromium.org>
1725
1726         Web Inspector: console should allow JS execution in the context of an isolated world
1727         https://bugs.webkit.org/show_bug.cgi?id=85612
1728
1729         Reviewed by Pavel Feldman.
1730
1731         Added an option to select not only a frame but also isolated world in which
1732         to perform evaluation of the code typed into the console.
1733
1734         Each execution context can be identified using it injected script id. We call it
1735         execution context id in the protocol. Runtime agent is extended with an event that
1736         is sent when new ExecutionContext is created. The event tracking can be enabled/disabled
1737         using setReportExecutionContextCreation command.
1738
1739         * bindings/js/ScriptController.cpp:
1740         (WebCore):
1741         (WebCore::isolatedWorldToSecurityOriginMap):
1742         * bindings/js/ScriptController.h:
1743         (ScriptController):
1744         * bindings/js/ScriptState.cpp:
1745         (WebCore::isolatedWorldScriptState):
1746         (WebCore):
1747         * bindings/js/ScriptState.h:
1748         (WebCore):
1749         * bindings/v8/ScriptController.cpp:
1750         (WebCore):
1751         (WebCore::ScriptController::isolatedWorldToSecurityOriginMap):
1752         * bindings/v8/ScriptController.h:
1753         (ScriptController):
1754         * bindings/v8/ScriptState.cpp:
1755         (WebCore::isolatedWorldScriptState):
1756         (WebCore):
1757         * bindings/v8/ScriptState.h:
1758         (WebCore):
1759         * bindings/v8/V8IsolatedContext.cpp:
1760         (WebCore::V8IsolatedContext::setSecurityOrigin):
1761         * bindings/v8/V8Proxy.cpp:
1762         (WebCore::V8Proxy::setIsolatedWorldSecurityOrigin):
1763         (WebCore::V8Proxy::isolatedWorldContext):
1764         (WebCore):
1765         (WebCore::V8Proxy::isolatedWorldToSecurityOriginMap):
1766         * bindings/v8/V8Proxy.h:
1767         (V8Proxy):
1768         * inspector/CodeGeneratorInspector.py:
1769         (DomainNameFixes):
1770         * inspector/Inspector.json:
1771         * inspector/InspectorInstrumentation.cpp:
1772         (WebCore::InspectorInstrumentation::didCreateIsolatedContextImpl):
1773         (WebCore):
1774         * inspector/InspectorInstrumentation.h:
1775         (WebCore):
1776         (InspectorInstrumentation):
1777         (WebCore::InspectorInstrumentation::didCreateIsolatedContext):
1778         * inspector/InspectorRuntimeAgent.cpp:
1779         (WebCore::InspectorRuntimeAgent::evaluate):
1780         * inspector/InspectorRuntimeAgent.h:
1781         (InspectorRuntimeAgent):
1782         * inspector/InstrumentingAgents.h:
1783         (WebCore):
1784         (WebCore::InstrumentingAgents::InstrumentingAgents):
1785         (WebCore::InstrumentingAgents::pageRuntimeAgent):
1786         (WebCore::InstrumentingAgents::setPageRuntimeAgent):
1787         (InstrumentingAgents):
1788         * inspector/PageRuntimeAgent.cpp:
1789         (PageRuntimeAgentState):
1790         (WebCore):
1791         (WebCore::PageRuntimeAgent::PageRuntimeAgent):
1792         (WebCore::PageRuntimeAgent::setFrontend):
1793         (WebCore::PageRuntimeAgent::clearFrontend):
1794         (WebCore::PageRuntimeAgent::restore):
1795         (WebCore::PageRuntimeAgent::setReportExecutionContextCreation):
1796         (WebCore::PageRuntimeAgent::didCreateExecutionContext):
1797         (WebCore::PageRuntimeAgent::getScriptStateForEval):
1798         * inspector/PageRuntimeAgent.h:
1799         (WebCore):
1800         (PageRuntimeAgent):
1801         * inspector/WorkerRuntimeAgent.cpp:
1802         (WebCore::WorkerRuntimeAgent::setReportExecutionContextCreation):
1803         (WebCore::WorkerRuntimeAgent::getScriptStateForEval):
1804         * inspector/WorkerRuntimeAgent.h:
1805         (WorkerRuntimeAgent):
1806         * inspector/front-end/ConsoleView.js:
1807         (WebInspector.ConsoleView.prototype.get statusBarItems):
1808         (WebInspector.ConsoleView.prototype.addContext):
1809         (WebInspector.ConsoleView.prototype.removeContext):
1810         (WebInspector.ConsoleView.prototype._updateIsolatedWorldSelector):
1811         (WebInspector.ConsoleView.prototype._contextUpdated):
1812         (WebInspector.ConsoleView.prototype._addedExecutionContext):
1813         (WebInspector.ConsoleView.prototype._currentEvaluationContextId):
1814         (WebInspector.ConsoleView.prototype._currentEvaluationContext):
1815         (WebInspector.ConsoleView.prototype._currentIsolatedWorldId):
1816         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
1817         * inspector/front-end/ExtensionPanel.js:
1818         (WebInspector.ExtensionSidebarPane.prototype.setExpression):
1819         * inspector/front-end/ExtensionServer.js:
1820         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
1821         * inspector/front-end/JavaScriptContextManager.js:
1822         (WebInspector.JavaScriptContextManager):
1823         (WebInspector.JavaScriptContextManager.prototype._didLoadCachedResources):
1824         (WebInspector.JavaScriptContextManager.prototype.isolatedContextCreated):
1825         (WebInspector.RuntimeDispatcher):
1826         (WebInspector.RuntimeDispatcher.prototype.isolatedContextCreated):
1827         (WebInspector.ExecutionContext):
1828         (WebInspector.ExecutionContext.comparator):
1829         (WebInspector.FrameEvaluationContext):
1830         (WebInspector.FrameEvaluationContext.prototype._frameNavigated):
1831         (WebInspector.FrameEvaluationContext.prototype._addExecutionContext):
1832         (WebInspector.FrameEvaluationContext.prototype._ensureMainWorldContextAdded):
1833         (WebInspector.FrameEvaluationContext.prototype.isolatedContexts):
1834
1835 2012-05-11  Andrey Kosyakov  <caseq@chromium.org>
1836
1837         Web Inspector: use div, not span as a parent element for ElementsTreeOutline in Audits panel
1838         https://bugs.webkit.org/show_bug.cgi?id=86188
1839
1840         Reviewed by Yury Semikhatsky.
1841
1842         We need to use <div>, not <span> as a container for ElementsTreeOutline, as latter accesses its parent offsetWidth
1843         within _treeElementFromEvent(), which returns 0 for inline elements.
1844
1845         * inspector/front-end/AuditFormatters.js:
1846         (WebInspector.AuditFormatters.node.onNodeAvailable):
1847         (WebInspector.AuditFormatters.node):
1848
1849 2012-05-11  Antti Koivisto  <antti@apple.com>
1850
1851         Inline Node::traverseNextNode
1852         https://bugs.webkit.org/show_bug.cgi?id=85844
1853
1854         Reviewed by Ryosuke Niwa.
1855         
1856         Inline traverseNextNode and traverseNextSibling to reduce entry/exit overhead and allow better code generation
1857         for many hot loops.
1858
1859         In this version only the firstChild()/nextSibling() tests are inlined and the ancestor traversal is not.
1860         
1861         Performance bots will tell if this was worthwhile.
1862
1863         * dom/ContainerNode.h:
1864         (WebCore::Node::traverseNextNode):
1865         (WebCore):
1866         (WebCore::Node::traverseNextSibling):
1867         * dom/Node.cpp:
1868         (WebCore::Node::traverseNextAncestorSibling):
1869         * dom/Node.h:
1870         (Node):
1871         * bindings/v8/RetainedDOMInfo.cpp:
1872
1873 2012-05-07  Yury Semikhatsky  <yurys@chromium.org>
1874
1875         Web Inspector: get rid of InspectorAgent::emitCommitLoadIfNeeded method
1876         https://bugs.webkit.org/show_bug.cgi?id=85708
1877
1878         Reviewed by Pavel Feldman.
1879
1880         Instead of calling emitCommitLoadIfNeeded after all agents are restored
1881         required actions are performed directly in the restore() methods.
1882
1883         * inspector/InspectorAgent.cpp:
1884         * inspector/InspectorAgent.h:
1885         (WebCore::InspectorAgent::didCommitLoadFired):
1886         * inspector/InspectorController.cpp:
1887         (WebCore::InspectorController::InspectorController):
1888         (WebCore::InspectorController::restoreInspectorStateFromCookie):
1889         * inspector/InspectorDatabaseAgent.cpp:
1890         (WebCore::InspectorDatabaseAgent::restore):
1891         * inspector/InspectorPageAgent.cpp:
1892         (WebCore::InspectorPageAgent::create):
1893         (WebCore::InspectorPageAgent::InspectorPageAgent):
1894         (WebCore::InspectorPageAgent::restore):
1895         * inspector/InspectorPageAgent.h:
1896         (WebCore):
1897         * inspector/InspectorResourceAgent.cpp:
1898         (WebCore::InspectorResourceAgent::restore):
1899
1900 2012-05-10  Andrey Kosyakov  <caseq@chromium.org>
1901
1902         Web Inspector: [Extensions API] add audit formatters for remote objects and DOM elements
1903         https://bugs.webkit.org/show_bug.cgi?id=86108
1904
1905         Reviewed by Pavel Feldman.
1906
1907        - added two new formatters to AuditResults object of webInspector.audits API;
1908
1909         * inspector/front-end/AuditFormatters.js:
1910         (WebInspector.AuditFormatters.resourceLink):
1911         (WebInspector.AuditFormatters.object.onEvaluate):
1912         (WebInspector.AuditFormatters.object): format as a remote object property list;
1913         (WebInspector.AuditFormatters.node.onNodeAvailable):
1914         (WebInspector.AuditFormatters.node.onEvaluate):
1915         (WebInspector.AuditFormatters.node): format as a DOM elements sub-tree;
1916         (WebInspector.AuditFormatters.Utilities.evaluate): common expression evaluation logic for both new formatters;
1917         * inspector/front-end/ExtensionAPI.js:
1918         (injectedExtensionAPI.AuditResultImpl):
1919         * inspector/front-end/auditsPanel.css:
1920         (.audit-result-tree ol.outline-disclosure):
1921         (.audit-result-tree .section .header):
1922         (.audit-result-tree .section .header::before):
1923
1924 2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1925
1926         Unreviewed, rolling out r116727.
1927         http://trac.webkit.org/changeset/116727
1928         https://bugs.webkit.org/show_bug.cgi?id=86181
1929
1930         Build error on Chromium-Android (Requested by tkent on
1931         #webkit).
1932
1933         * platform/graphics/MediaPlayer.cpp:
1934         (WebCore::MediaPlayer::enterFullscreen):
1935         (WebCore):
1936         * platform/graphics/MediaPlayer.h:
1937         (MediaPlayer):
1938         * platform/graphics/MediaPlayerPrivate.h:
1939         (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
1940         (MediaPlayerPrivateInterface):
1941
1942 2012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1943
1944         Unreviewed, rolling out r116731.
1945         http://trac.webkit.org/changeset/116731
1946         https://bugs.webkit.org/show_bug.cgi?id=86178
1947
1948         Build failure on Chromium-mac (Requested by tkent on #webkit).
1949
1950         * platform/graphics/chromium/LayerRendererChromium.cpp:
1951         (WebCore::LayerRendererChromium::create):
1952         (WebCore::LayerRendererChromium::LayerRendererChromium):
1953         (WebCore::LayerRendererChromium::initializeSharedObjects):
1954         * platform/graphics/chromium/LayerRendererChromium.h:
1955         (LayerRendererChromium):
1956         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1957         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
1958         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1959         (CCLayerTreeHostImpl):
1960         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1961         (UnthrottledTextureUploader):
1962         (WebCore::UnthrottledTextureUploader::create):
1963         (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
1964         (WebCore::UnthrottledTextureUploader::isBusy):
1965         (WebCore::UnthrottledTextureUploader::beginUploads):
1966         (WebCore::UnthrottledTextureUploader::endUploads):
1967         (WebCore::UnthrottledTextureUploader::uploadTexture):
1968         (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
1969         (WebCore):
1970         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
1971         (WebCore::CCSingleThreadProxy::recreateContext):
1972         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1973         (WebCore):
1974         (UnthrottledTextureUploader):
1975         (WebCore::UnthrottledTextureUploader::create):
1976         (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
1977         (WebCore::UnthrottledTextureUploader::isBusy):
1978         (WebCore::UnthrottledTextureUploader::beginUploads):
1979         (WebCore::UnthrottledTextureUploader::endUploads):
1980         (WebCore::UnthrottledTextureUploader::uploadTexture):
1981         (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
1982         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
1983         (WebCore::CCThreadProxy::recreateContextOnImplThread):
1984
1985 2012-05-10  David Reveman  <reveman@chromium.org>
1986
1987         [Chromium] Move instantiation of texture uploader to LayerRendererChromium.
1988         https://bugs.webkit.org/show_bug.cgi?id=85893
1989
1990         Reviewed by Adrienne Walker.
1991
1992         Move instantiation of texture uploader to LayerRendererChromium and
1993         allow CCProxy to decide between a throttled or unthrottled uploader
1994         using a flag passed to the LayerRendererChromium constructor.
1995
1996         * platform/graphics/chromium/LayerRendererChromium.cpp:
1997         (WebCore::LayerRendererChromium::create):
1998         (WebCore::LayerRendererChromium::LayerRendererChromium):
1999         (WebCore::LayerRendererChromium::initializeSharedObjects):
2000         * platform/graphics/chromium/LayerRendererChromium.h:
2001         (LayerRendererChromium):
2002         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2003         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
2004         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2005         (CCLayerTreeHostImpl):
2006         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2007         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
2008         (WebCore::CCSingleThreadProxy::recreateContext):
2009         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2010         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
2011         (WebCore::CCThreadProxy::recreateContextOnImplThread):
2012
2013 2012-05-10  MORITA Hajime  <morrita@google.com>
2014
2015         ElementShadow should minimize the usage of "ShadowRoot" name
2016         https://bugs.webkit.org/show_bug.cgi?id=85970
2017
2018         Reviewed by Dimitri Glazkov.
2019
2020         This change cleans two out dated assumptions which brought in at
2021         early stage of Shadow DOM implementation.
2022
2023         - Removed Element::hasShadowRoot(): shadow existence can be checked by Element::shadow().
2024         - Made ElementShadow::removeAllShadowRoots() private: we no longer allow ShadowRoot removal.
2025           It can only happens at the ElementShadow destruction.
2026
2027         Most of changes in element implementations are basically simple
2028         replacement from hasShadowRoot() to shadow().
2029
2030         No new tests. Covered by existing tests.
2031
2032         * WebCore.exp.in:
2033         * dom/ContainerNodeAlgorithms.h:
2034         (WebCore::ChildFrameDisconnector::collectDescendant):
2035         * dom/ComposedShadowTreeWalker.cpp:
2036         (WebCore::ComposedShadowTreeWalker::traverseChild):
2037         * dom/Document.cpp:
2038         (WebCore::Document::buildAccessKeyMap):
2039         * dom/Element.cpp:
2040         (WebCore::Element::recalcStyle):
2041         (WebCore::Element::ensureShadowRoot):
2042         (WebCore::Element::childrenChanged):
2043         * dom/Element.h:
2044         (Element):
2045         (WebCore::isShadowHost):
2046         (WebCore):
2047         * dom/ElementShadow.cpp:
2048         (WebCore::ElementShadow::~ElementShadow):
2049         (WebCore::ElementShadow::removeAllShadowRoots):
2050         * dom/ElementShadow.h:
2051         (ElementShadow):
2052         (WebCore::ElementShadow::host):
2053         * dom/EventDispatcher.cpp:
2054         * dom/Node.cpp:
2055         (WebCore::oldestShadowRootFor):
2056         * dom/NodeRenderingContext.cpp:
2057         (WebCore::NodeRenderingContext::NodeRenderingContext):
2058         * dom/ShadowRoot.cpp:
2059         (WebCore::ShadowRoot::create):
2060         * html/ColorInputType.cpp:
2061         (WebCore::ColorInputType::createShadowSubtree):
2062         * html/FileInputType.cpp:
2063         (WebCore::FileInputType::createShadowSubtree):
2064         (WebCore::FileInputType::multipleAttributeChanged):
2065         * html/HTMLDetailsElement.cpp:
2066         (WebCore::HTMLDetailsElement::createShadowSubtree):
2067         * html/HTMLInputElement.cpp:
2068         (WebCore::HTMLInputElement::createShadowSubtree):
2069         * html/HTMLKeygenElement.cpp:
2070         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2071         (WebCore::HTMLKeygenElement::shadowSelect):
2072         * html/HTMLMediaElement.cpp:
2073         (WebCore::HTMLMediaElement::hasMediaControls):
2074         * html/HTMLMeterElement.cpp:
2075         (WebCore::HTMLMeterElement::createShadowSubtree):
2076         * html/HTMLProgressElement.cpp:
2077         (WebCore::HTMLProgressElement::createShadowSubtree):
2078         * html/HTMLSummaryElement.cpp:
2079         (WebCore::HTMLSummaryElement::createShadowSubtree):
2080         * html/HTMLTextAreaElement.cpp:
2081         (WebCore::HTMLTextAreaElement::createShadowSubtree):
2082         * html/InputType.cpp:
2083         (WebCore::InputType::destroyShadowSubtree):
2084         * html/RangeInputType.cpp:
2085         (WebCore::RangeInputType::handleMouseDownEvent):
2086         (WebCore::RangeInputType::createShadowSubtree):
2087         * html/TextFieldInputType.cpp:
2088         (WebCore::TextFieldInputType::createShadowSubtree):
2089         * html/shadow/SliderThumbElement.cpp:
2090         (WebCore::trackLimiterElementOf):
2091         * inspector/InspectorDOMAgent.cpp:
2092         (WebCore::InspectorDOMAgent::unbind):
2093         (WebCore::InspectorDOMAgent::buildObjectForNode):
2094         * page/FocusController.cpp:
2095         (WebCore):
2096         * rendering/RenderFileUploadControl.cpp:
2097         (WebCore::RenderFileUploadControl::uploadButton):
2098         * svg/SVGTRefElement.cpp:
2099         (WebCore::SVGTRefElement::updateReferencedText):
2100         (WebCore::SVGTRefElement::detachTarget):
2101         * testing/Internals.cpp:
2102         (WebCore::Internals::ensureShadowRoot):
2103         (WebCore::Internals::youngestShadowRoot):
2104         (WebCore::Internals::oldestShadowRoot):
2105         * testing/Internals.h:
2106         (Internals):
2107         * testing/Internals.idl:
2108
2109 2012-05-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2110
2111         Move resumeAnimations to use Internals interface
2112         https://bugs.webkit.org/show_bug.cgi?id=86063
2113
2114         Reviewed by Alexey Proskuryakov.
2115
2116         Add resumeAnimations functions, because it is able to work in the
2117         cross-port way through the Internals interface.
2118
2119         No new tests, since we are improving here the infra-structure for testing
2120         a specific method.
2121
2122         * testing/Internals.cpp:
2123         (WebCore::Internals::resumeAnimations):
2124         (WebCore):
2125         * testing/Internals.h:
2126         (Internals):
2127         * testing/Internals.idl:
2128
2129 2012-05-10  Min Qin  <qinmin@google.com>
2130
2131         split MediaPlayer::enterFullscreen into 2 seperate functions
2132         https://bugs.webkit.org/show_bug.cgi?id=86052
2133
2134         Reviewed by Benjamin Poulain.
2135
2136         It is confusing that enterFullscreen returns a boolean while exitFullscreen does
2137         not do the same. And ios does not need the return value.
2138         So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
2139         function for android.
2140         No tests as there are no behavior change, just refactoring.
2141
2142         * platform/graphics/MediaPlayer.cpp:
2143         (WebCore::MediaPlayer::enterFullscreen):
2144         (WebCore):
2145         (WebCore::MediaPlayer::canEnterFullscreen):
2146         * platform/graphics/MediaPlayer.h:
2147         (MediaPlayer):
2148         * platform/graphics/MediaPlayerPrivate.h:
2149         (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
2150         (MediaPlayerPrivateInterface):
2151         (WebCore::MediaPlayerPrivateInterface::canEnterFullscreen):
2152
2153 2012-05-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2154
2155         Unreviewed, rolling out r116715.
2156         http://trac.webkit.org/changeset/116715
2157         https://bugs.webkit.org/show_bug.cgi?id=86172
2158
2159         Broke http/tests/security/cross-frame-access-selection.html
2160         (Requested by tkent on #webkit).
2161
2162         * dom/Document.cpp:
2163         (WebCore):
2164         (WebCore::Document::getSelection):
2165         * dom/Document.h:
2166         (Document):
2167         * dom/ShadowRoot.cpp:
2168         (WebCore::ShadowRoot::selection):
2169         * dom/TreeScope.cpp:
2170         (WebCore::TreeScope::~TreeScope):
2171         * dom/TreeScope.h:
2172         (WebCore):
2173         (TreeScope):
2174         * page/DOMSelection.cpp:
2175         (WebCore::DOMSelection::DOMSelection):
2176         * page/DOMSelection.h:
2177         (WebCore):
2178         (WebCore::DOMSelection::create):
2179         (DOMSelection):
2180         * page/DOMWindow.cpp:
2181         (WebCore::DOMWindow::~DOMWindow):
2182         (WebCore::DOMWindow::clearDOMWindowProperties):
2183         (WebCore::DOMWindow::getSelection):
2184         * page/DOMWindow.h:
2185         (DOMWindow):
2186
2187 2012-05-10  Hajime Morrita  <morrita@google.com>
2188
2189         WebKit should support tab-size.
2190         https://bugs.webkit.org/show_bug.cgi?id=52994
2191
2192         - Added boilerplate for "tab-size" CSS property.
2193         - Added RenderStye::tabSize() as a RareInheritedData.
2194         - Replaced TextRun::m_allowTabs into TextRun::m_tabSize.
2195
2196         Reviewed by Simon Fraser.
2197
2198         Tests: fast/css/tab-size-expected.html
2199                fast/css/tab-size.html
2200
2201         * css/CSSComputedStyleDeclaration.cpp:
2202         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2203         * css/CSSParser.cpp:
2204         (WebCore::CSSParser::parseValue):
2205         * css/CSSProperty.cpp:
2206         (WebCore::CSSProperty::isInheritedProperty):
2207         * css/CSSPropertyNames.in:
2208         * css/CSSStyleSelector.cpp:
2209         (WebCore::CSSStyleSelector::applyProperty):
2210         * html/canvas/CanvasRenderingContext2D.cpp:
2211         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2212         * platform/chromium/PopupListBox.cpp:
2213         (WebCore::PopupListBox::paintRow):
2214         * platform/graphics/Font.h:
2215         (WebCore::Font::tabWidth):
2216         * platform/graphics/TextRun.h:
2217         (WebCore::TextRun::TextRun):
2218         (WebCore::TextRun::allowTabs):
2219         (WebCore::TextRun::tabSize):
2220         (WebCore::TextRun::setTabSize):
2221         * platform/graphics/WidthIterator.cpp:
2222         (WebCore::WidthIterator::advance):
2223         * platform/graphics/mac/ComplexTextController.cpp:
2224         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2225         * platform/win/PopupMenuWin.cpp:
2226         (WebCore::PopupMenuWin::paint):
2227         * rendering/InlineTextBox.cpp:
2228         (WebCore::InlineTextBox::constructTextRun):
2229         * rendering/RenderBlock.cpp:
2230         (WebCore::RenderBlock::constructTextRun):
2231         * rendering/RenderBlockLineLayout.cpp:
2232         (WebCore::textWidth):
2233         (WebCore::tryHyphenating):
2234         * rendering/RenderText.cpp:
2235         (WebCore::RenderText::widthFromCache):
2236         (WebCore::RenderText::computePreferredLogicalWidths):
2237         (WebCore::RenderText::width):
2238         * rendering/RenderText.h:
2239         * rendering/style/RenderStyle.cpp:
2240         (WebCore::RenderStyle::diff):
2241         * rendering/style/RenderStyle.h:
2242         (WebCore::RenderStyleBitfields::tabSize):
2243         (WebCore::RenderStyleBitfields::collapsedTabSize):
2244         (WebCore::RenderStyleBitfields::setTabSize):
2245         (WebCore::RenderStyleBitfields::initialTabSize):
2246         * rendering/style/StyleRareInheritedData.cpp:
2247         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2248         (WebCore::StyleRareInheritedData::operator==):
2249         * rendering/style/StyleRareInheritedData.h:
2250         * rendering/svg/SVGInlineTextBox.cpp:
2251         (WebCore::SVGInlineTextBox::constructTextRun):
2252         * rendering/svg/SVGTextMetrics.cpp:
2253         (WebCore::constructTextRun):
2254
2255 2012-05-10  Antoine Labour  <piman@chromium.org>
2256
2257         Sync with impl thread when removing references to external textures
2258         https://bugs.webkit.org/show_bug.cgi?id=86054
2259
2260         We want to ensure the client side is safe to release textures, so we
2261         sync with the impl thread when:
2262         - we change the texture (and we had one)
2263         - the layer is removed from the tree (and we had a texture)
2264         - the layer is destroyed (and we had a texture)
2265
2266         Reviewed by James Robinson.
2267
2268         Test: TextureLayerChromiumTest.
2269
2270         * platform/graphics/chromium/TextureLayerChromium.cpp:
2271         (WebCore::TextureLayerChromium::~TextureLayerChromium):
2272         (WebCore::TextureLayerChromium::setTextureId):
2273         (WebCore::TextureLayerChromium::setLayerTreeHost):
2274         (WebCore):
2275         * platform/graphics/chromium/TextureLayerChromium.h:
2276         (TextureLayerChromium):
2277
2278 2012-05-10  Kent Tamura  <tkent@chromium.org>
2279
2280         [Chromium] attempt to build fix for Chromium-mac.
2281         r116697 introduced an override of a system function. It's intentional
2282         and WebCoreTextFieldCell should be in the whitelist.
2283
2284         * WebCore.gyp/WebCore.gyp:
2285
2286 2012-05-10  Anders Carlsson  <andersca@apple.com>
2287
2288         PDF files won't scroll in Safari when using Adobe plug-in
2289         https://bugs.webkit.org/show_bug.cgi?id=86167
2290         <rdar://problem/11389719>
2291
2292         Reviewed by Sam Weinig.
2293
2294         * page/scrolling/ScrollingCoordinator.cpp:
2295         (WebCore::computeNonFastScrollableRegion):
2296         Loop over the frame view children looking for plug-in views that want wheel events
2297         and add them to the non-fast scrollable region. Ideally, the plug-ins should be added
2298         to the set of scrollable areas, but PluginView in WebKit2 is not a ScrollableArea yet.
2299
2300         * plugins/PluginViewBase.h:
2301         (PluginViewBase):
2302         (WebCore::PluginViewBase::wantsWheelEvents):
2303
2304 2012-05-10  Alexey Proskuryakov  <ap@apple.com>
2305
2306         Crash in 3rd party WebKit apps that disable cache at a wrong time
2307         https://bugs.webkit.org/show_bug.cgi?id=86027
2308         <rdar://problem/10615880>
2309
2310         Reviewed by Antti Koivisto.
2311
2312         Added an API test.
2313
2314         The fix is to use CachedResourceHandle throughout MemoryCache, which will certainly
2315         keep the resource alive. Also removed earlier fixes.
2316
2317         * css/CSSImageSetValue.cpp: (WebCore::CSSImageSetValue::cachedImageSet):
2318         * css/CSSImageValue.cpp: (WebCore::CSSImageValue::cachedImage):
2319         * css/WebKitCSSShaderValue.cpp: (WebCore::WebKitCSSShaderValue::cachedShader):
2320         * history/PageCache.cpp: (WebCore::PageCache::releaseAutoreleasedPagesNow):
2321         * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement):
2322         * loader/TextTrackLoader.cpp: (WebCore::TextTrackLoader::load):
2323         * loader/cache/CachedResourceLoader.cpp:
2324         (WebCore::CachedResourceLoader::requestImage):
2325         (WebCore::CachedResourceLoader::requestFont):
2326         (WebCore::CachedResourceLoader::requestTextTrack):
2327         (WebCore::CachedResourceLoader::requestShader):
2328         (WebCore::CachedResourceLoader::requestCSSStyleSheet):
2329         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
2330         (WebCore::CachedResourceLoader::requestScript):
2331         (WebCore::CachedResourceLoader::requestXSLStyleSheet):
2332         (WebCore::CachedResourceLoader::requestSVGDocument):
2333         (WebCore::CachedResourceLoader::requestLinkResource):
2334         (WebCore::CachedResourceLoader::requestRawResource):
2335         (WebCore::CachedResourceLoader::requestResource):
2336         (WebCore::CachedResourceLoader::revalidateResource):
2337         (WebCore::CachedResourceLoader::loadResource):
2338         (WebCore::CachedResourceLoader::requestPreload):
2339         * loader/cache/CachedResourceLoader.h: (CachedResourceLoader):
2340         * loader/cache/MemoryCache.h: (WebCore::MemoryCache::setPruneEnabled):
2341
2342         * loader/cache/CachedResourceHandle.h:
2343         (WebCore::CachedResourceHandle::CachedResourceHandle):
2344         (WebCore::CachedResourceHandle::operator=):
2345         Teach CachedResourceHandle how to make CachedResourceHandle<CachedResource> from
2346         a handle to subclass.
2347
2348 2012-05-10  Tien-Ren Chen  <trchen@chromium.org>
2349
2350         Eliminate duplicated code for culled line box in RenderInline
2351         https://bugs.webkit.org/show_bug.cgi?id=85725
2352
2353         This patch extracts the common part of culledInlineBoundingBox() /
2354         culledInlineAbsoluteRects() / culledInlineAbsoluteQuads() to become a
2355         template function generateCulledLineBoxRects(). The template function
2356         accepts a new parameter, GeneratorContext functor, which will be
2357         invoked everytime a new line box rect has been generated. The generated
2358         rect will be in local coordinate. The functor will be responsible for
2359         appropriate transformation, then appending to vector or union with
2360         existing bounding box.
2361
2362         Reviewed by Eric Seidel.
2363
2364         No new tests. No change in behavior.
2365
2366         * rendering/RenderInline.cpp:
2367         (WebCore):
2368         (WebCore::RenderInline::generateLineBoxRects):
2369         (WebCore::RenderInline::generateCulledLineBoxRects):
2370         (WebCore::RenderInline::absoluteRects):
2371         (WebCore::RenderInline::absoluteQuads):
2372         (WebCore::RenderInline::linesBoundingBox):
2373         (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
2374         (WebCore::RenderInline::addFocusRingRects):
2375         * rendering/RenderInline.h:
2376         (RenderInline):
2377
2378 2012-05-10  Abhishek Arya  <inferno@chromium.org>
2379
2380         Crash in swapInNodePreservingAttributesAndChildren.
2381         https://bugs.webkit.org/show_bug.cgi?id=85197
2382  
2383         Reviewed by Ryosuke Niwa.
2384  
2385         Keep the children in a ref vector before adding them to newNode.
2386         They can get destroyed due to mutation events.
2387
2388         No new tests because we don't have a reduction.
2389
2390         * editing/ReplaceNodeWithSpanCommand.cpp:
2391         (WebCore::swapInNodePreservingAttributesAndChildren):
2392
2393 2012-05-10  Shinya Kawanaka  <shinyak@chromium.org>
2394
2395         [Refactoring] Move Selection from DOMWindow to TreeScope.
2396         https://bugs.webkit.org/show_bug.cgi?id=82699
2397
2398         Reviewed by Ryosuke Niwa.
2399
2400         Since ShadowRoot will also manage its own version of DOMSelection, we would like to
2401         share the code among Document and DOMSelection. This patch moves DOMSelection from DOMWindow to TreeScope
2402         so that ShadowRoot can also use it.
2403
2404         No new tests, should covered by existing tests.
2405
2406         * dom/Document.cpp:
2407         (WebCore::Document::updateFocusAppearanceTimerFired):
2408         * dom/Document.h:
2409         (Document):
2410         * dom/ShadowRoot.cpp:
2411         (WebCore::ShadowRoot::selection):
2412         * do/mTreeScope.cpp:
2413         (WebCore::TreeScope::~TreeScope):
2414         (WebCore::TreeScope::getSelection):
2415         (WebCore):
2416         * dom/TreeScope.h:
2417         (WebCore):
2418         (TreeScope):
2419         * page/DOMSelection.cpp:
2420         (WebCore::DOMSelection::DOMSelection):
2421         (WebCore::DOMSelection::clearTreeScope):
2422         (WebCore):
2423         * page/DOMSelection.h:
2424         (WebCore):
2425         (WebCore::DOMSelection::create):
2426         (DOMSelection):
2427         (WebCore::DOMSelection::frame):
2428         * page/DOMWindow.cpp:
2429         (WebCore::DOMWindow::~DOMWindow):
2430         (WebCore::DOMWindow::clearDOMWindowProperties):
2431         (WebCore::DOMWindow::getSelection):
2432         * page/DOMWindow.h:
2433         (DOMWindow):
2434
2435 2012-05-10  Kent Tamura  <tkent@chromium.org>
2436
2437         Unreviewed, rolling out r116594.
2438         http://trac.webkit.org/changeset/116594
2439         https://bugs.webkit.org/show_bug.cgi?id=86013
2440
2441         r116594 might have made some composition tests flaky.
2442
2443         * platform/graphics/chromium/LayerChromium.cpp:
2444         (WebCore::LayerChromium::addAnimation):
2445         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2446         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
2447         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2448         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2449         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
2450         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2451         (CCLayerTreeHost):
2452         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2453         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2454         * platform/graphics/chromium/cc/CCProxy.h:
2455         (CCProxy):
2456         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2457         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
2458         (WebCore::CCSingleThreadProxy::doComposite):
2459         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2460         (WebCore):
2461         * platform/graphics/chromium/cc/CCThreadProxy.h:
2462         (CCThreadProxy):
2463
2464 2012-05-10  Michael Nordman  <michaeln@google.com>
2465
2466         [chromium] DomStorage events handling needs TLC (2)
2467         https://bugs.webkit.org/show_bug.cgi?id=85221
2468         Alter the StorageArea virtual interface such that the mutators no longer
2469         return old values. This is to allow implementations of the interface to operate
2470         more asynchronously.
2471
2472         Reviewed by Adam Barth.
2473
2474         No new tests. Existing tests cover this.
2475
2476         * storage/StorageArea.h: Alter the interface so the mutators no longer return previous values
2477         * storage/StorageAreaImpl.cpp:
2478         (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):  removed an unneeded PLATFORM(CHROMIUM) guard
2479         (WebCore::StorageAreaImpl::setItem): no longer return the old value
2480         (WebCore::StorageAreaImpl::removeItem): no longer return the old value
2481         (WebCore::StorageAreaImpl::clear): no longer return whether something was cleared
2482         * storage/StorageAreaImpl.h: match StorageArea's virtual interface
2483
2484 2012-05-10  Beth Dakin  <bdakin@apple.com>
2485
2486         https://bugs.webkit.org/show_bug.cgi?id=86158
2487         Overlay scrollbars without layers never paint in overflow regions in 
2488         tiled drawing mode
2489         -and corresponding-
2490         <rdar://problem/11289546>
2491
2492         Reviewed by Darin Adler.
2493
2494         RenderLayers paint scrollbars that do not have their own layers by 
2495         running a second pass through the layer tree after the layer tree has 
2496         painted. This ensures that the scrollbars always paint on top of 
2497         content. However, this mechanism was relying on 
2498         FrameView::paintContents() as a choke-point for all painting to 
2499         trigger the second painting pass. That is not a reasonable choke-point 
2500         in tiled drawing, so this patch adds similar code to 
2501         RenderLayerBacking.
2502
2503         Only opt into the second painting pass for scrollbars that do not have 
2504         their own layers.
2505         * rendering/RenderLayer.cpp:
2506         (WebCore::RenderLayer::paintOverflowControls):
2507         
2508         A layer that paints into its backing cannot return early here if it 
2509         has overlay scrollbars to paint.
2510         (WebCore::RenderLayer::paintLayer):
2511         
2512         This replicates code in FrameView::paintContents(). After painting the 
2513         owning layer, do a second pass if there are overlay scrollbars to 
2514         paint.
2515         * rendering/RenderLayerBacking.cpp:
2516         (WebCore::RenderLayerBacking::paintIntoLayer):
2517
2518 2012-05-10  Anders Carlsson  <andersca@apple.com>
2519
2520         Well, at least fixing the GTK+ build is something!
2521
2522         * platform/gtk/LocalizedStringsGtk.cpp:
2523         (WebCore::insecurePluginVersionText):
2524         (WebCore):
2525
2526 2012-05-10  Anders Carlsson  <andersca@apple.com>
2527
2528         Add insecurePluginVersionText stubs.
2529
2530         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
2531         (WebCore::insecurePluginVersionText):
2532         (WebCore):
2533         * platform/efl/LocalizedStringsEfl.cpp:
2534         (WebCore::insecurePluginVersionText):
2535         (WebCore):
2536         * platform/qt/LocalizedStringsQt.cpp:
2537         (WebCore::insecurePluginVersionText):
2538         (WebCore):
2539
2540 2012-05-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2541
2542         Unreviewed, rolling out r116677.
2543         http://trac.webkit.org/changeset/116677
2544         https://bugs.webkit.org/show_bug.cgi?id=86159
2545
2546         This patch causes linker error to some mac bots (Requested by
2547         jianli_ on #webkit).
2548
2549         * WebCore.exp.in:
2550         * dom/ContainerNode.h:
2551         * dom/Node.cpp:
2552         (WebCore::Node::traverseNextNode):
2553         (WebCore::Node::traverseNextSibling):
2554         * dom/Node.h:
2555         (Node):
2556
2557 2012-05-10  Abhishek Arya  <inferno@chromium.org>
2558
2559         Crash in FontCache::releaseFontData due to infinite float size.
2560         https://bugs.webkit.org/show_bug.cgi?id=86110
2561
2562         Reviewed by Andreas Kling.
2563
2564         New callers always forget to clamp the font size, which overflows
2565         to infinity on multiplication. It is best to clamp it at the end
2566         to avoid getting greater than std::numeric_limits<float>::max().
2567
2568         Test: fast/css/large-font-size-crash.html
2569
2570         * platform/graphics/FontDescription.h:
2571         (WebCore::FontDescription::setComputedSize):
2572         (WebCore::FontDescription::setSpecifiedSize):
2573
2574 2012-05-10  Beth Dakin  <bdakin@apple.com>
2575
2576         https://bugs.webkit.org/show_bug.cgi?id=82131
2577         [Mac] REGRESSION (r110480): Text field that specifies background-color 
2578         (or is auto-filled) gets un-themed border
2579         -and corresponding-
2580         <rdar://problem/11115221>
2581
2582         Reviewed by Maciej Stachowiak.
2583
2584         This change rolls out r110480 which is what caused styled text fields 
2585         to get the un-themed border, and it does a bunch of work to make sure 
2586         we get the pretty, new version of the NSTextField art whenever 
2587         possible. We do this differently for post-Lion OS's since there is now 
2588         a way to opt into it all the time. Lion and SnowLeopard can only use 
2589         the new art in HiDPI mode when the background color of the text field 
2590         is just white.
2591
2592         RenderThemeMac::textField() takes a boolean paramter used to determine 
2593         if the new gradient will be used.
2594         * rendering/RenderThemeMac.h:
2595         (RenderThemeMac):
2596         
2597         This is the post-Lion workaround. This code has no effect on Lion and 
2598         SnowLeopard. This allows up to opt into a version of [NSTextField drawWithFrame:] that will only draw the frame of the text field; without this, it will draw the frame and the background, which creates a number of problems with styled text fields and text fields in HiDPI. There is a less comprehesive workaround for Lion and SnowLeopard in place in RenderThemeMac::textField().
2599         * rendering/RenderThemeMac.mm:
2600         (-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
2601         
2602         This is the roll-out of r110480.
2603         (WebCore::RenderThemeMac::isControlStyled):
2604         
2605         See the comments for a full explanation, but this is mostly code for 
2606         Lion and SnowLeopard to determine if we can opt into the new artwork.
2607         (WebCore::RenderThemeMac::paintTextField):
2608         (WebCore::RenderThemeMac::textField):
2609
2610 2012-05-10  Anders Carlsson  <andersca@apple.com>
2611
2612         WebKit1: Add a way to blacklist specific plug-ins/plug-in versions
2613         https://bugs.webkit.org/show_bug.cgi?id=86150
2614         <rdar://problem/9551196>
2615
2616         Reviewed by Sam Weinig.
2617
2618         * English.lproj/Localizable.strings:
2619         Update.
2620
2621         * loader/SubframeLoader.cpp:
2622         (WebCore::SubframeLoader::loadPlugin):
2623         It is possible that the client has already set the unavailability reason so don't try to set it twice.
2624
2625         * platform/LocalizedStrings.cpp:
2626         (WebCore::insecurePluginVersionText):
2627         * platform/LocalizedStrings.h:
2628         Add insecure plug-in version text.
2629
2630         * rendering/RenderEmbeddedObject.cpp:
2631         (WebCore::RenderEmbeddedObject::unavailablePluginReplacementText):
2632         * rendering/RenderEmbeddedObject.h:
2633         Add InsecurePluginVersion unavailability reason.
2634
2635 2012-05-10  Eric Seidel  <eric@webkit.org>
2636
2637         Make IFRAME_SEAMLESS child documents inherit styles from their parent iframe element
2638         https://bugs.webkit.org/show_bug.cgi?id=85940
2639
2640         Reviewed by Ojan Vafai.
2641
2642         The HTML5 <iframe seamless> spec says:
2643         In a CSS-supporting user agent: the user agent must, for the purpose of CSS property
2644         inheritance only, treat the root element of the active document of the iframe
2645         element's nested browsing context as being a child of the iframe element.
2646         (Thus inherited properties on the root element of the document in the
2647         iframe will inherit the computed values of those properties on the iframe
2648         element instead of taking their initial values.)
2649
2650         Initially I implemented this support to the letter of the spec. However, doing so I learned
2651         that WebKit has a RenderStyle for the Document Node, not just the root element of the document.
2652         In this RenderStyle on the Document, we add a bunch of per-document styles from settings
2653         including designMode.
2654
2655         This change makes StyleResolver::styleForDocument inherit style from the parent iframe's
2656         style, before applying any of these per-document styles.  This may or may not be correct
2657         depending on what behavior we want for rtl-ordering, page-zoom, locale, design mode, etc.
2658         For now, we continue to treat the iframe's document as independent in these regards, and
2659         the settings on that document override those inherited from the iframe.
2660
2661         Also, intially when making this work, I added redirects in recalcStyle and scheduleStyleRecalc
2662         from the child document to the parent document in the case of seamless (since the parent
2663         document effectively manages the style resolve and layout of the child in seamless mode).
2664         However, I was not able to find a test which depended on this code change, so in this final patch
2665         I have removed both of these modifications and replaced them with FIXMEs.  Based on discussions
2666         with Ojan and James Robinson, I believe both of those changes may eventually be wanted.
2667
2668         This change basically does 3 things:
2669         1.  Makes StyleResolver::styleForDocument inherit from the parent iframe.
2670         2.  Makes any recalcStyle calls on the iframe propogate down into the child document (HTMLIFrameElement::didRecalcStyle).
2671         3.  Makes Document::recalcStyle aware of the fact that the Document's style *can* change
2672             for reasons other than recalcStyle(Force).
2673
2674         I'm open to more testing suggestions, if reviewers have settings on the Document's style
2675         that you want to make sure we inherit from the parent iframe, or don't inherit, etc.
2676         I view this as a complete solution to this aspect of the current <iframe seamless> spec,
2677         but likely not the last code we will write for this aspect of the seamless feature. :)
2678
2679         Tested by fast/frames/seamlesss/seamless-css-cascade.html and seamless-designMode.html
2680
2681         * css/StyleResolver.cpp:
2682         (WebCore::StyleResolver::collectMatchingRulesForList):
2683         * dom/Document.cpp:
2684         (WebCore::Document::scheduleStyleRecalc):
2685         (WebCore::Document::recalcStyle):
2686         * html/HTMLIFrameElement.cpp:
2687         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
2688         (WebCore::HTMLIFrameElement::didRecalcStyle):
2689         (WebCore):
2690         * html/HTMLIFrameElement.h:
2691         (HTMLIFrameElement):
2692
2693 2012-05-10  Julien Chaffraix  <jchaffraix@webkit.org>
2694
2695         Crash in computedCSSPadding* functions due to RenderImage::imageDimensionsChanged called during attachment
2696         https://bugs.webkit.org/show_bug.cgi?id=85912
2697
2698         Reviewed by Eric Seidel.
2699
2700         Tests: fast/images/link-body-content-imageDimensionChanged-crash.html
2701                fast/images/script-counter-imageDimensionChanged-crash.html
2702
2703         The bug comes from CSS generated images that could end up calling imageDimensionsChanged during attachment. As the
2704         rest of the code (e.g. computedCSSPadding*) would assumes that we are already inserted in the tree, we would crash.
2705
2706         The solution is to bail out in this case as newly inserted RenderObject will trigger layout later on and properly
2707         handle what we would be doing as part of imageDimensionChanged (the only exception being updating our intrinsic
2708         size which should be done as part of imageDimensionsChanged).
2709
2710         * rendering/RenderImage.cpp:
2711         (WebCore::RenderImage::imageDimensionsChanged):
2712
2713 2012-05-10  Adam Barth  <abarth@webkit.org>
2714
2715         ASSERT in BidiResolver<Iterator, Run>::commitExplicitEmbedding makes running debug builds annoying
2716         https://bugs.webkit.org/show_bug.cgi?id=86140
2717
2718         Reviewed by Eric Seidel.
2719
2720         The correct fix here is to resolve
2721         https://bugs.webkit.org/show_bug.cgi?id=76574, but in the mean time,
2722         this ASSERT is annoying.
2723
2724         * platform/text/BidiResolver.h:
2725         (WebCore::::commitExplicitEmbedding):
2726
2727 2012-05-10  Mark Pilgrim  <pilgrim@chromium.org>
2728
2729         [Chromium] Call addTraceEvent and getTraceCategoryEnabledFlag directly
2730         https://bugs.webkit.org/show_bug.cgi?id=85399
2731
2732         Reviewed by Adam Barth.
2733
2734         Part of a refactoring series. See tracking bug 82948.
2735
2736         * CMakeLists.txt:
2737         * GNUmakefile.list.am:
2738         * Target.pri:
2739         * WebCore.gypi:
2740         * WebCore.vcproj/WebCore.vcproj:
2741         * WebCore.xcodeproj/project.pbxproj:
2742         * platform/EventTracer.cpp: Added.
2743         (WebCore):
2744         (WebCore::EventTracer::getTraceCategoryEnabledFlag):
2745         (WebCore::EventTracer::addTraceEvent):
2746         * platform/EventTracer.h: Added.
2747         (WebCore):
2748         (EventTracer):
2749         * platform/chromium/EventTracerChromium.cpp: Added.
2750         (WebCore):
2751         (WebCore::EventTracer::getTraceCategoryEnabledFlag):
2752         (WebCore::EventTracer::addTraceEvent):
2753         * platform/chromium/PlatformSupport.h:
2754         * platform/chromium/TraceEvent.h:
2755
2756 2012-05-10  Adam Barth  <abarth@webkit.org>
2757
2758         ScrollView::fixedVisibleContentRect should be public
2759         https://bugs.webkit.org/show_bug.cgi?id=86147
2760
2761         Reviewed by Eric Seidel.
2762
2763         Some code in the WebKit layer of OS(ANDROID) uses this function. That
2764         could will be upstreamed in a later patch. For now, this patch just
2765         makes this function public so that we remove the diff to this file.
2766
2767         * platform/ScrollView.h:
2768         (WebCore::ScrollView::fixedVisibleContentRect):
2769         (WebCore::ScrollView::delegatesScrollingDidChange):
2770
2771 2012-05-10  Anders Carlsson  <andersca@apple.com>
2772
2773         Rename the missing plug-in indicator to the unavailable plug-in indicator
2774         https://bugs.webkit.org/show_bug.cgi?id=86136
2775
2776         Reviewed by Sam Weinig.
2777
2778         Since the indicator is shown for more than just missing plug-ins, generalize it and use a plug-in unavailability
2779         reason enum to make it easier to extend. Also, pass the unavailability reason to the ChromeClient member functions.
2780
2781         * WebCore.exp.in:
2782         * html/HTMLEmbedElement.cpp:
2783         (WebCore::HTMLEmbedElement::updateWidget):
2784         * html/HTMLObjectElement.cpp:
2785         (WebCore::HTMLObjectElement::updateWidget):
2786         * html/HTMLPlugInElement.cpp:
2787         (WebCore::HTMLPlugInElement::defaultEventHandler):
2788         * html/HTMLPlugInImageElement.cpp:
2789         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
2790         * loader/SubframeLoader.cpp:
2791         (WebCore::SubframeLoader::loadPlugin):
2792         * page/ChromeClient.h:
2793         (WebCore::ChromeClient::shouldUnavailablePluginMessageBeButton):
2794         (WebCore::ChromeClient::unavailablePluginButtonClicked):
2795         * page/FrameView.cpp:
2796         (WebCore::FrameView::updateWidget):
2797         * rendering/RenderEmbeddedObject.cpp:
2798         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
2799         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
2800         (WebCore::RenderEmbeddedObject::showsUnavailablePluginIndicator):
2801         (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsPressed):
2802         (WebCore::RenderEmbeddedObject::paint):
2803         (WebCore::RenderEmbeddedObject::paintReplaced):
2804         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
2805         (WebCore::RenderEmbeddedObject::unavailablePluginReplacementText):
2806         (WebCore):
2807         (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
2808         (WebCore::shouldUnavailablePluginMessageBeButton):
2809         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
2810         (WebCore::RenderEmbeddedObject::getCursor):
2811         * rendering/RenderEmbeddedObject.h:
2812         (RenderEmbeddedObject):
2813
2814 2012-05-10  Brady Eidson  <beidson@apple.com>
2815
2816         <rdar://problem/10972577> and https://bugs.webkit.org/show_bug.cgi?id=80170
2817         Contents of noscript elements turned into strings in WebArchives
2818
2819         Reviewed by Andy Estes.
2820
2821         There's a much deeper question about how innerHTML of <noscript> is expected to work in 
2822         both a scripting and non-scripting environment that we should pursue separately.
2823
2824         But for webarchives, we can solve this by filtering out the <noscript> elements completely 
2825         if scripting is enabled.
2826
2827         Test: webarchive/ignore-noscript-if-scripting-enabled.html
2828
2829         * WebCore.exp.in:
2830
2831         Add arguments to createMarkup and MarkupAccumulator methods to pass a Vector of QualifiedNames
2832         that should be filtered from the resulting markup:
2833         * editing/MarkupAccumulator.cpp:
2834         (WebCore::MarkupAccumulator::serializeNodes):
2835         (WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
2836         * editing/MarkupAccumulator.h:
2837         * editing/markup.cpp:
2838         (WebCore::createMarkup):
2839         * editing/markup.h:
2840
2841         If scripting is enabled, add the noscriptTag to the tag names to filter:
2842         * loader/archive/cf/LegacyWebArchive.cpp:
2843         (WebCore::LegacyWebArchive::create):
2844
2845 2012-05-10  Abhishek Arya  <inferno@chromium.org>
2846
2847         Crash due to floats not removed from first-letter element.
2848         https://bugs.webkit.org/show_bug.cgi?id=86019
2849
2850         Reviewed by Julien Chaffraix.
2851
2852         Move clearing logic of a floating/positioned object from removeChild
2853         to removeChildNode. There are lot of places which use removeChildNode
2854         directly and hence the object is not removed from the floating or
2855         positioned objects list.
2856
2857         Test: fast/block/float/float-not-removed-from-first-letter.html
2858
2859         * rendering/RenderObject.cpp:
2860         (WebCore::RenderObject::removeChild):
2861         * rendering/RenderObjectChildList.cpp:
2862         (WebCore::RenderObjectChildList::removeChildNode):
2863
2864 2012-05-10  Andreas Kling  <kling@webkit.org>
2865
2866         Remove empty ElementAttributeData destructor.
2867         <http://webkit.org/b/86126>
2868
2869         Reviewed by Antti Koivisto.
2870
2871         * dom/ElementAttributeData.cpp:
2872         * dom/ElementAttributeData.h:
2873
2874 2012-05-10  Yury Semikhatsky  <yurys@chromium.org>
2875
2876         Web Inspector: heap snapshot comparison view is broken
2877         https://bugs.webkit.org/show_bug.cgi?id=86102
2878
2879         Reviewed by Pavel Feldman.
2880
2881         Pass HeapSnapshotProxy instead of undefined to the profile load callback. Added
2882         compiler annotations to avoid such errors in the future.
2883
2884         * inspector/front-end/HeapSnapshotView.js:
2885
2886 2012-05-10  Zan Dobersek  <zandobersek@gmail.com>
2887
2888         [GTK] ENABLE_IFRAME_SEAMLESS support
2889         https://bugs.webkit.org/show_bug.cgi?id=85843
2890
2891         Reviewed by Eric Seidel.
2892
2893         Export the ENABLE_IFRAME_SEAMLESS feature define when the feature is
2894         enabled.
2895
2896         No new tests - all the related tests should now be passing.
2897
2898         * GNUmakefile.am:
2899
2900 2012-05-10  Antti Koivisto  <antti@apple.com>
2901
2902         Inline Node::traverseNextNode
2903         https://bugs.webkit.org/show_bug.cgi?id=85844
2904
2905         Reviewed by Ryosuke Niwa.
2906         
2907         Inline traverseNextNode and traverseNextSibling to reduce entry/exit overhead and allow better code generation
2908         for many hot loops.
2909
2910         In this version only the firstChild()/nextSibling() tests are inlined and the ancestor traversal is not.
2911         
2912         Performance bots will tell if this was worthwhile.
2913
2914         * dom/ContainerNode.h:
2915         (WebCore::Node::traverseNextNode):
2916         (WebCore):
2917         (WebCore::Node::traverseNextSibling):
2918         * dom/Node.cpp:
2919         (WebCore::Node::traverseNextAncestorSibling):
2920         * dom/Node.h:
2921         (Node):
2922
2923 2012-05-10  Tommy Widenflycht  <tommyw@google.com>
2924
2925         MediaStream API: Fix MediaHints parsing
2926         https://bugs.webkit.org/show_bug.cgi?id=86098
2927
2928         Reviewed by Adam Barth.
2929
2930         Not currently testable. Working on a series of patches that will fix that.
2931
2932         * Modules/mediastream/PeerConnection00.cpp:
2933         (WebCore::PeerConnection00::createMediaHints):
2934
2935 2012-05-10  Tommy Widenflycht  <tommyw@google.com>
2936
2937         [chromium] MediaStream API: Fix the ExtraData functionality in WebMediaStreamDescriptor
2938         https://bugs.webkit.org/show_bug.cgi?id=86087
2939
2940         Reviewed by Adam Barth.
2941
2942         Not easy to test but I have added code that excercises this to WebUserMediaClientMock (in DumpRenderTree).
2943
2944         * platform/chromium/support/WebMediaStreamDescriptor.cpp:
2945         (WebKit::WebMediaStreamDescriptor::setExtraData):
2946
2947 2012-05-10  Pavel Feldman  <pfeldman@chromium.org>
2948
2949         Web Inspector: search title is shown beside the search field (not under) in the vertical mode.
2950         https://bugs.webkit.org/show_bug.cgi?id=86120
2951
2952         Reviewed by Yury Semikhatsky.
2953
2954         This change makes search title render as placeholder at all times.
2955         It also adjusts the size of the search field when navigation arrows appear.
2956
2957         * inspector/front-end/SearchController.js:
2958         (WebInspector.SearchController):
2959         (WebInspector.SearchController.prototype.updateSearchLabel):
2960         (WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
2961         (WebInspector.SearchController.prototype._createSearchNavigationButton):
2962         * inspector/front-end/inspector.css:
2963         (#toolbar-search-item):
2964         (.with-navigation-buttons #search):
2965         (.toolbar-search-navigation-label):
2966         (.with-navigation-buttons .toolbar-search-navigation-label):
2967         * inspector/front-end/inspector.html:
2968
2969 2012-05-10  Varun Jain  <varunjain@google.com>
2970
2971         [chromium] Trigger context menu for long press gesture
2972         https://bugs.webkit.org/show_bug.cgi?id=85919
2973
2974         Reviewed by Adam Barth.
2975
2976         Test: fast/events/touch/gesture/context-menu-on-long-press.html
2977
2978         * page/EventHandler.cpp:
2979         (WebCore):
2980         (WebCore::EventHandler::sendContextMenuEventForGesture):
2981         * page/EventHandler.h:
2982         (EventHandler):
2983
2984 2012-05-10  Abhishek Arya  <inferno@chromium.org>
2985
2986         Crash in ApplyStyleCommand::joinChildTextNodes.
2987         https://bugs.webkit.org/show_bug.cgi?id=85939
2988
2989         Reviewed by Ryosuke Niwa.
2990
2991         Test: editing/style/apply-style-join-child-text-nodes-crash.html
2992
2993         * editing/ApplyStyleCommand.cpp:
2994         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): add conditions
2995         to bail out if our start and end position nodes are removed due to 
2996         mutation events in joinChildTextNodes.
2997         (WebCore::ApplyStyleCommand::applyInlineStyle): this executes after
2998         applyRelativeFontStyleChange in ApplyStyleCommand::doApply. So, need
2999         to bail out if our start and end position nodes are removed due to
3000         mutation events.
3001         (WebCore::ApplyStyleCommand::joinChildTextNodes): hold all the children
3002         in a ref vector to prevent them from getting destroyed due to mutation events.
3003
3004 2012-05-10  Erik Arvidsson  <arv@chromium.org>
3005
3006         Unreviewed, rebaselined run-bindings-tests results.
3007
3008         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3009         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
3010         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
3011         * bindings/scripts/test/JS/JSTestObj.cpp:
3012         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
3013         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
3014         * bindings/scripts/test/V8/V8TestException.cpp:
3015         (WebCore::V8TestException::wrapSlow):
3016         * bindings/scripts/test/V8/V8TestException.h:
3017         (WebCore::V8TestException::wrap):
3018
3019 2012-05-10  Abhishek Arya  <inferno@chromium.org>
3020
3021         Crash in InsertParagraphSeparatorCommand::doApply.
3022         https://bugs.webkit.org/show_bug.cgi?id=84995
3023
3024         Reviewed by Ryosuke Niwa.
3025
3026         Test: editing/inserting/insert-paragraph-seperator-crash.html
3027
3028         * editing/DeleteSelectionCommand.cpp:
3029         (WebCore::DeleteSelectionCommand::mergeParagraphs): no need of static cast, since
3030         type of enclosingBlock returned is already Element*.
3031         * editing/IndentOutdentCommand.cpp:
3032         (WebCore::IndentOutdentCommand::tryIndentingAsListItem): no need of static cast, since
3033         type of enclosingBlock returned is already Element*.
3034         * editing/InsertParagraphSeparatorCommand.cpp:
3035         (WebCore::InsertParagraphSeparatorCommand::doApply): RefPtr startBlock to guard against
3036         mutation events.
3037         * editing/htmlediting.cpp:
3038         (WebCore::enclosingBlock): make sure type of enclosingNode is an element before doing
3039         the static cast. This was already failing in a couple of layout tests. Also, isBlock
3040         check already exists in the function call to enclosingNodeOfType, so don't need it
3041         again on enclosingNode's renderer.
3042         * editing/htmlediting.h: 
3043         (WebCore):
3044
3045 2012-05-10  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3046
3047         TouchAdjustment doesn't correct for scroll-offsets.
3048         https://bugs.webkit.org/show_bug.cgi?id=86083
3049
3050         Reviewed by Kenneth Rohde Christiansen.
3051
3052         Already tested by: touchadjustment/scroll-delegation
3053
3054         * page/EventHandler.cpp:
3055         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
3056         (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
3057         * page/TouchAdjustment.cpp:
3058         (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
3059         * testing/Internals.cpp:
3060         (WebCore::Internals::bestZoomableAreaForTouchPoint):
3061
3062 2012-05-10  Konrad Piascik  <kpiascik@rim.com>
3063
3064         Fix typo in filename
3065         https://bugs.webkit.org/show_bug.cgi?id=86095
3066
3067         Reviewed by Andreas Kling.
3068
3069         * UseJSC.cmake:
3070
3071 2012-05-10  Stephen Chenney  <schenney@chromium.org>
3072
3073         SVG Filters allow invalid elements as children
3074         https://bugs.webkit.org/show_bug.cgi?id=83979
3075
3076         Reviewed by Nikolas Zimmermann.
3077
3078         According to the SVG spec, there are numerous restrictions on the
3079         content of nodes (that is, their children). Specific to this problem,
3080         SVGFilter elements may only contain SVGFilterPrimitive elements, and
3081         those may only contain animation related elements. This patch enforces
3082         the restriction on filters in the render tree, thus preventing us from
3083         having (for instance) content that is inside a filter yet filtered by
3084         the filter.
3085
3086         Manual test: ManualTests/bugzilla-83979.svg
3087
3088         * svg/SVGFilterElement.cpp:
3089         (WebCore::SVGFilterElement::childShouldCreateRenderer): Added to only allow renderers for fe* children
3090         (WebCore):
3091         * svg/SVGFilterElement.h:
3092         (SVGFilterElement):
3093         * svg/SVGFilterPrimitiveStandardAttributes.h: Do not allow any children at all for fe* elements.
3094         (SVGFilterPrimitiveStandardAttributes):
3095
3096 2012-05-10  Joe Thomas  <joethomas@motorola.com>
3097
3098         [CSS3 Backgrounds and Borders] Add background-size to the background shorthand
3099         https://bugs.webkit.org/show_bug.cgi?id=27577
3100
3101         Reviewed by Alexis Menard.
3102
3103         Added CSSPropertyBackgroundSize to the background shorthand propery. Added the logic for parsing background-size.
3104         bakground-size appears after background-position followed by a '/'.
3105         The specification related to this change is http://www.w3.org/TR/css3-background/#the-background
3106
3107         Tests: fast/backgrounds/background-shorthand-with-backgroundSize-style.html
3108                fast/backgrounds/size/backgroundSize-in-background-shorthand.html
3109
3110         * css/CSSComputedStyleDeclaration.cpp:
3111         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3112         (WebCore::CSSComputedStyleDeclaration::getBackgroundShorthandValue):
3113         (WebCore):
3114         * css/CSSComputedStyleDeclaration.h:
3115         (CSSComputedStyleDeclaration):
3116         * css/CSSParser.cpp:
3117         (WebCore::CSSParser::parseValue):
3118         (WebCore::CSSParser::parseFillShorthand):
3119         * css/StylePropertySet.cpp:
3120         (WebCore::StylePropertySet::getLayeredShorthandValue):
3121         * css/StylePropertyShorthand.cpp:
3122         (WebCore):
3123         (WebCore::backgroundShorthand):
3124
3125 2012-05-10  MORITA Hajime <morrita@google.com>
3126
3127         Node::InDetachFlag could be removed.
3128         https://bugs.webkit.org/show_bug.cgi?id=85963
3129
3130         Reviewed by Antti Koivisto.
3131
3132         Removed Node::inDetach() since it can never true
3133         on the only call site setFocusedNode().
3134
3135         No new test. Covered by existing tests.
3136
3137         * dom/Document.cpp:
3138         (WebCore::Document::setFocusedNode):
3139         * dom/Node.cpp:
3140         (WebCore::Node::detach):
3141         * dom/Node.h:
3142         (WebCore):
3143         (Node):
3144
3145 2012-05-10  Keishi Hattori  <keishi@webkit.org>
3146
3147         Crash in HTMLFormControlElement::m_fieldSetAncestor
3148         https://bugs.webkit.org/show_bug.cgi?id=86070
3149
3150         Reviewed by Kent Tamura.
3151
3152         No new tests.
3153
3154         The previous patch r115990 didn't completely resolve the crash (Bug 85453)
3155         We don't have a reproducible test case, so we are reverting to the old code for setting m_fieldSetAncestor.
3156
3157         * html/HTMLFormControlElement.cpp:
3158         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
3159         (WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
3160         (WebCore::HTMLFormControlElement::insertedInto): Set m_dataListAncestorState to Unknown because ancestor has changed. Call setNeedsWillValidateCheck because style might need to be updated.
3161         (WebCore::HTMLFormControlElement::removedFrom):
3162         (WebCore::HTMLFormControlElement::disabled):
3163         (WebCore::HTMLFormControlElement::recalcWillValidate):
3164         (WebCore::HTMLFormControlElement::willValidate):
3165         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
3166         * html/HTMLFormControlElement.h:
3167         (HTMLFormControlElement): Added m_dataListAncestorState.
3168
3169 2012-05-10  Sam D  <dsam2912@gmail.com>
3170
3171         Web Inspector: rename InspectorBackendStub.js to InspectorBackendCommands.js
3172         https://bugs.webkit.org/show_bug.cgi?id=72306
3173
3174         Changed name for InspectorBackendStub.js to
3175         InspectorBackendCommands.js
3176
3177         Reviewed by Yury Semikhatsky.
3178
3179         No new tests required. File name is changed.
3180
3181         * DerivedSources.pri:
3182         * GNUmakefile.am:
3183         * Target.pri:
3184         * WebCore.gyp/WebCore.gyp:
3185         * WebCore.gypi:
3186         * WebCore.vcproj/copyWebCoreResourceFiles.cmd:
3187         * WebCore.xcodeproj/project.pbxproj:
3188         * gyp/copy-inspector-resources.sh:
3189         * inspector/CodeGeneratorInspector.py:
3190         * inspector/front-end/InspectorBackendCommands.qrc: Added.
3191         * inspector/front-end/InspectorBackendStub.qrc: Removed.
3192         * inspector/front-end/inspector.html:
3193
3194 2012-05-10  Alexis Menard  <alexis.menard@openbossa.org>
3195
3196         [Qt] Avoid string conversions to construct a QUrl when using Qt5.
3197         https://bugs.webkit.org/show_bug.cgi?id=86006
3198
3199         Reviewed by Kenneth Rohde Christiansen.
3200
3201         In Qt5, the QUrl constructor can handle the string directly, even in UTF-16 because the
3202         constructor QUrl(QString) has been fixed. Unfortunately we still need to use the old
3203         code path when building with Qt4.
3204
3205         No new tests : it's a performance improvement which should be covered by tests.
3206
3207         * platform/qt/KURLQt.cpp:
3208         (WebCore::KURL::operator QUrl):
3209
3210 2012-05-10  Noel Gordon  <noel.gordon@gmail.com>
3211
3212         [chromium] REGRESSION(r107389) Visible line artifacts on some JPEG images
3213         https://bugs.webkit.org/show_bug.cgi?id=85772
3214
3215         Reviewed by Kent Tamura.
3216
3217         On some JPEG images, vertical and horizontal lines artifacts might appear in image
3218         regions with very high frequency color variation when using DCT_IFAST decodes. Use
3219         DCT_IFAST on small screen devices only (Chromium Android).
3220
3221         No new tests. Covered by existing tests.
3222
3223         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3224         (dctMethod): Permit DCT_IFAST decoding for Chromium Android only.
3225
3226 2012-05-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3227
3228         [Qt] Implement fit-to-width behaviour
3229         https://bugs.webkit.org/show_bug.cgi?id=86085
3230
3231         Reviewed by Simon Hausmann.
3232
3233         Add a method to get the minimum scale factor that contains the content
3234         without showing any chrome background.
3235
3236         * dom/ViewportArguments.cpp:
3237         (WebCore::computeMinimumScaleFactorForContentContained):
3238         (WebCore):
3239         * dom/ViewportArguments.h:
3240         (WebCore):
3241
3242 2012-05-10  MORITA Hajime  <morrita@google.com>
3243
3244         Remove support for Node::willRemove()
3245         https://bugs.webkit.org/show_bug.cgi?id=55209
3246
3247         Reviewed by Ryosuke Niwa.
3248
3249         This change de-virtualizes Node::willRemove(), gains
3250         5% speedup on Dromaeo dom-modify.
3251
3252         Originally there were 5 willRemove() overrides:
3253         - Element
3254         - HTMLStyleElement
3255         - HTMLSourceElement
3256         - HTMLTrackElement
3257         - HTMLFrameOwnerElement
3258
3259         For first 4 items, this change moves their implementations to
3260         Node::removedFrom() overrides.
3261
3262         Then HTMLFrameOwnerElement is the only class which needs the
3263         notification.  Because it emits the "unload" event, it needs some
3264         notification _before_ its removal. To handle that, this change
3265         introduces ChildFrameDisconnector which collects
3266         corresponding decendant elements and disconnect their content frame.
3267
3268         Even though this approach doesn't kill pre-removal tree traversal
3269         completely, it's a bit more efficient due to the de-virtualization.
3270
3271         No new tests. Covered by existing test.
3272
3273         * dom/ContainerNode.cpp:
3274         (WebCore::willRemoveChild): Replaced willRemove() call with ChildFrameDisconnector.
3275         (WebCore::willRemoveChildren): Ditto.
3276         (WebCore::ContainerNode::disconnectDescendantFrames): Added. Used from FrameLoader to replace Document::willRemove() call.
3277         (WebCore):
3278         * dom/ContainerNode.h:
3279         (ContainerNode):
3280         * dom/ContainerNodeAlgorithms.cpp:
3281         (WebCore::ChildFrameDisconnector::collectDescendant):
3282         (WebCore):
3283         (WebCore::ChildFrameDisconnector::Target::disconnect):
3284         * dom/ContainerNodeAlgorithms.h:
3285         (ChildFrameDisconnector):
3286         (Target):
3287         (WebCore::ChildFrameDisconnector::Target::Target):
3288         (WebCore::ChildFrameDisconnector::Target::isValid):
3289         (WebCore):
3290         (WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
3291         (WebCore::ChildFrameDisconnector::collectDescendant):
3292         (WebCore::ChildFrameDisconnector::disconnect):
3293         * dom/Element.cpp:
3294         (WebCore::Element::removedFrom):
3295         * dom/Element.h:
3296         * dom/ElementShadow.cpp:
3297         * dom/ElementShadow.h:
3298         (ElementShadow):
3299         * dom/Node.cpp:
3300         * dom/Node.h: Added IsFrameOwnerElement flag to de-virtualize IsFrameOwnerElement().
3301         (WebCore::Node::isFrameOwnerElement): De-virtualized.
3302         (Node):
3303         * html/HTMLElement.h:
3304         (HTMLElement):
3305         (WebCore::HTMLElement::HTMLElement):
3306         * html/HTMLFrameOwnerElement.cpp:
3307         (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
3308         (WebCore::HTMLFrameOwnerElement::disconnectContentFrame): Extracted from original willRemove().
3309         * html/HTMLFrameOwnerElement.h:
3310         (HTMLFrameOwnerElement):
3311         (WebCore::toFrameOwnerElement):
3312         (WebCore):
3313         * html/HTMLMediaElement.cpp:
3314         (WebCore::HTMLMediaElement::sourceWasRemoved): Renamed from sourceWillBeRemoved(), dealing with the timing change.
3315         * html/HTMLMediaElement.h:
3316         (HTMLMediaElement):
3317         (WebCore::isMediaElement):
3318         (WebCore):
3319         (WebCore::toMediaElement):
3320         * html/HTMLSourceElement.cpp:
3321         (WebCore::HTMLSourceElement::removedFrom): Moved some code from willRemove().
3322         * html/HTMLSourceElement.h:
3323         (HTMLSourceElement):
3324         * html/HTMLStyleElement.cpp:
3325         (WebCore::HTMLStyleElement::removedFrom):
3326         (WebCore):
3327         * html/HTMLStyleElement.h:
3328         (HTMLStyleElement):
3329         * html/HTMLTrackElement.cpp:
3330         (WebCore::HTMLTrackElement::removedFrom): Moved some code from willRemove().
3331         * html/HTMLTrackElement.h:
3332         (HTMLTrackElement):
3333         * loader/FrameLoader.cpp:
3334         (WebCore::FrameLoader::clear):
3335
3336 2012-05-10  Kinuko Yasuda  <kinuko@chromium.org>
3337
3338         Change the return type of Entry.toURL() back to String from KURL
3339         https://bugs.webkit.org/show_bug.cgi?id=85858
3340
3341         Reviewed by Ryosuke Niwa.
3342
3343         I once changed it from String to KURL in r116273 but it turned out that
3344         it involves implicit conversion and may incur extra overhead.
3345         This partly reverts r116273 while keeping some internal functions
3346         returning KURL as it's what we initially create as and is more
3347         convenient to operate on.
3348
3349         No new tests; no functional or visible changes.
3350
3351         * Modules/filesystem/EntryBase.cpp:
3352         (WebCore::EntryBase::toURL):
3353         * Modules/filesystem/EntryBase.h:
3354         (EntryBase):
3355
3356 2012-05-10  Alexander Pavlov  <apavlov@chromium.org>
3357
3358         Web Inspector: Autocomplete for CSS property values in the Styles pane behaving incorrectly
3359         https://bugs.webkit.org/show_bug.cgi?id=85784
3360
3361         Reviewed by Vsevolod Vlasov.
3362
3363         Before executing the number increment/decrement within CSS property value, the current word is checked
3364         for being a valid suggestion for the current property, and if it is, the numeric change is skipped
3365         in favor of the suggested property value switch by a suggest box.
3366
3367         * inspector/front-end/StylesSidebarPane.js:
3368
3369 2012-05-10  Abhishek Arya  <inferno@chromium.org>
3370
3371         Make DOMCharacterDataModified a scoped event (similar to r73690).
3372         https://bugs.webkit.org/show_bug.cgi?id=85920
3373
3374         Reviewed by Ryosuke Niwa.
3375
3376         DOMCharacterDataModified was missing in the list of already scoped
3377         DOM mutation events like DOMSubtreeModified, DOMNodeInserted, etc.
3378         It helps to delay event dispatches until the completion of each call
3379         of EditCommand::doApply. This has been useful in the past and helped to 
3380         prevent unexpected DOM tree mutations while the editing command is executing.
3381
3382         * dom/CharacterData.cpp:
3383         (WebCore::CharacterData::dispatchModifiedEvent):
3384
3385 2012-05-10  Alexandre Elias  <aelias@google.com>
3386
3387         Default to null value for HistoryItem::m_pageScaleFactor
3388         https://bugs.webkit.org/show_bug.cgi?id=84385
3389
3390         Reviewed by Adam Barth.
3391
3392         Previously, HistoryItem::m_pageScaleFactor defaulted to a value
3393         of 1, making it impossible to determine whether this value was never
3394         set, or intentionally set to 1.  This patch introduces a default value
3395         of 0 and makes restoreScrollPositionAndViewState not touch the page
3396         scale factor if this value is still present at time of reload.
3397
3398         This is a no-op change for common navigation scenarios.  The
3399         motivation for this change is the corner case of syncing history items
3400         from a desktop browser to a mobile device.  In that case, we need a
3401         way to specify that the history item does not contain a
3402         pageScaleFactor so that the mobile device does not display the page
3403         overly zoomed in.
3404
3405         No new tests.
3406
3407         * history/HistoryItem.cpp:
3408         (WebCore::HistoryItem::HistoryItem):
3409         * loader/HistoryController.cpp:
3410         (WebCore::HistoryController::restoreScrollPositionAndViewState):
3411
3412 2012-05-10  Csaba Osztrogonác  <ossy@webkit.org>
3413
3414         Use suitable viewport values when a Mobile DTD is used.
3415         https://bugs.webkit.org/show_bug.cgi?id=85425
3416
3417         Unreviewed debug buildfix after r116571.
3418
3419         * dom/Document.cpp:
3420         (WebCore::Document::setDocType):
3421
3422 2012-05-10  Yoshifumi Inoue  <yosin@chromium.org>
3423
3424         [Forms] Move step related methods to InputType class from HTMLInputElement class
3425         https://bugs.webkit.org/show_bug.cgi?id=85978
3426
3427         Reviewed by Kent Tamura.
3428
3429         This patch is part of re-factoring of HTMLInputElement.cpp for numeric input type.
3430         In this patch, we move implementation of getAllowedValueStep and stepUp/stepUpFromRenderer
3431         to InputType class because of these are for DateTime/Number/Range.
3432
3433         Following patches will change implementation of getAllowedValueStep to use StepRange and
3434         remove step related methods, defaultStep, stepScaleFactor, and so on.
3435
3436         No new tests. This patch should not change behavior.
3437
3438         * html/HTMLInputElement.cpp:
3439         (WebCore):
3440         (WebCore::HTMLInputElement::getAllowedValueStep):
3441         (WebCore::HTMLInputElement::stepUp):
3442         (WebCore::HTMLInputElement::stepDown):
3443         (WebCore::HTMLInputElement::stepUpFromRenderer):