cbe986b0db5107b5c898e2a3cc4b1ffcd86d619d
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-11-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2
3         [Qt] Implement the mimetype icon methods
4         https://bugs.webkit.org/show_bug.cgi?id=103260
5
6         Reviewed by Simon Hausmann.
7
8         * platform/graphics/Icon.h:
9         (Icon):
10         * platform/graphics/qt/IconQt.cpp:
11         (WebCore::Icon::createIconForFiles):
12         (WebCore::Icon::paint):
13
14 2012-09-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
15
16         Incorrect rect-based hit-test result when hit-test region includes culled inlines
17         https://bugs.webkit.org/show_bug.cgi?id=88376
18
19         Reviewed by Dave Hyatt.
20
21         Move the handling of culled inlines from HitTestResult::addNodeToRectBasedTestResult to 
22         InlineFlowBox::nodeAtPoint. This makes it possible to fix a number of bugs with how
23         culled inlines were handled. They are now checked after all their children, and may
24         terminate area-based hit-testing if they contain the whole area.
25
26         Tests: fast/dom/nodesFromRect/nodesFromRect-culled-inlines.html
27                fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak.html
28
29         * rendering/HitTestResult.cpp:
30         (WebCore::HitTestLocation::HitTestLocation):
31         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
32         * rendering/HitTestResult.h:
33         (HitTestLocation):
34         * rendering/InlineFlowBox.cpp:
35         (WebCore::InlineFlowBox::nodeAtPoint):
36         * rendering/RenderInline.cpp:
37         (WebCore::RenderInline::hitTestCulledInline):
38         * rendering/RenderInline.h:
39         (RenderInline):
40
41 2012-11-27  Kenneth Rohde Christiansen  <kenneth@webkit.org>
42
43         REGRESSION(134887) [Qt][EFL][WK2] Repaint counter not working
44         https://bugs.webkit.org/show_bug.cgi?id=103261
45
46         Reviewed by Noam Rosenthal.
47
48         Fixed regression introduced in 134887, which introduced the
49         updateContentsNoSwizzle method and called it directly from
50         the repaint counter.
51
52         This method obviously needs to bind the texture.
53
54         * platform/graphics/texmap/TextureMapperGL.cpp:
55         (WebCore::BitmapTextureGL::updateContentsNoSwizzle):
56
57 2012-11-27  Sheriff Bot  <webkit.review.bot@gmail.com>
58
59         Unreviewed, rolling out r135786.
60         http://trac.webkit.org/changeset/135786
61         https://bugs.webkit.org/show_bug.cgi?id=103379
62
63         It made 3 plugin tests timeout on several platforms (Requested
64         by Ossy on #webkit).
65
66         * CMakeLists.txt:
67         * GNUmakefile.list.am:
68         * Target.pri:
69         * WebCore.exp.in:
70         * WebCore.gypi:
71         * WebCore.vcproj/WebCore.vcproj:
72         * WebCore.xcodeproj/project.pbxproj:
73         * loader/FrameLoadRequest.cpp: Removed.
74         * loader/FrameLoadRequest.h:
75         (WebCore::FrameLoadRequest::FrameLoadRequest):
76         (FrameLoadRequest):
77         * loader/FrameLoader.cpp:
78         (WebCore::FrameLoader::load):
79         * loader/FrameLoader.h:
80         (FrameLoader):
81         * page/DragController.cpp:
82         (WebCore::DragController::performDrag):
83         * plugins/PluginView.cpp:
84         (WebCore::PluginView::performRequest):
85
86 2012-11-27  Kent Tamura  <tkent@chromium.org>
87
88         Implement ValidityState::badInput
89         https://bugs.webkit.org/show_bug.cgi?id=102861
90
91         Reviewed by Hajime Morita.
92
93         Add ValidityState::badInput, add hasBadInput, which always returns
94         false, to FormAssociatedElement, HTMLInputElement, and InputType.
95
96         For NumberInputType, we had hasUnacceptableValue, which was a hack to
97         make an input element match to :invalid if the element had non-number
98         strings. We don't need the hack any more because badInput affects :invalid
99         style. hasUnacceptableValue is re-used for hasBadInput implementation.
100         We cleared invalid numbers when elements lost focus to tell users that
101         the element had invalid numbers. We don't need this behavior because the
102         interactive validation tells it.
103
104         For date/time input types, we should make an input badInput when the
105         input has empty value but its sub-fields have values. It covers both of
106         partial input cases such as 12/--/2012 and invalid dates such as
107         02/31/2012.
108
109         For other types, ValidityState::badInput always returns false.
110
111         This patch doesn't contain tests for badInput validation messages. They
112         will be added later.
113
114         Tests: fast/forms/date-multiple-fields/date-multiple-fields-validity-badinput.html
115                fast/forms/datetime-multiple-fields/datetime-multiple-fields-validity-badinput.html
116                fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-validity-badinput.html
117                fast/forms/month-multiple-fields/month-multiple-fields-validity-badinput.html
118                fast/forms/number/number-validity-badinput.html
119                fast/forms/time-multiple-fields/time-multiple-fields-validity-badinput.html
120                fast/forms/week-multiple-fields/week-multiple-fields-validity-badinput.html
121
122         * html/ValidityState.idl: Add badInput IDL attribute.
123         * html/ValidityState.h:
124         (ValidityState): Add badInput.
125         * html/ValidityState.cpp:
126         (WebCore::ValidityState::badInput):
127         Added. Calls FormAssociatedElement::hasBadInput.
128
129         * html/FormAssociatedElement.h:
130         (FormAssociatedElement): Add hasBadInput.
131         * html/FormAssociatedElement.cpp:
132         (WebCore::FormAssociatedElement::hasBadInput):
133         Added. It always returns false.
134         (WebCore::FormAssociatedElement::valid): Takes account of hasBadInput().
135
136         * html/HTMLInputElement.h:
137         (HTMLInputElement):
138         Remove hasUnacceptableValue, and add hasBadInput override.
139         * html/HTMLInputElement.cpp:
140         (WebCore::HTMLInputElement::hasBadInput):
141         Added. Delegate to InputType::hasBadInput.
142         (WebCore): Remove hasUnacceptableValue.
143
144         * html/InputType.h:
145         (InputType): Add hasBadInput and badInputText, and remove
146         hasUnacceptableValue.
147         * html/InputType.cpp:
148         (WebCore::InputType::hasBadInput): Added. Returns false.
149         (WebCore::InputType::badInputText):
150         Added. This function should not be called because hasBadInput always
151         returns false.
152         (WebCore::InputType::validationMessage):
153         Supports badInput. This returns badInputText if hasBadInput is true.
154
155         * html/NumberInputType.h:
156         (NumberInputType): Add hasBadInput and badInputTest. Remove
157         handleBlurEvent and hasUnacceptableValue.
158         * html/NumberInputType.cpp:
159         Remove handleBlurEvent, which cleared invalid number strings.
160         (WebCore::NumberInputType::hasBadInput):
161         Added. We don't need to check existence of a renderer. The standard form
162         validation feature doesn't care of it.
163         (WebCore::NumberInputType::badInputText): Returns
164         validationMessageBadInputForNumberText defined in LocalizedStrings.h.
165         * css/SelectorChecker.cpp:
166         (WebCore::SelectorChecker::checkOneSelector):
167         Remove a hack for hasUnacceptableValue. isValidFormControlElement takes
168         account of badInput.
169         * dom/Element.h: Remove hasUnacceptableValue.
170
171         * html/BaseMultipleFieldsDateAndTimeInputType.h:
172         (BaseMultipleFieldsDateAndTimeInputType): Add hasBadInput and badInputText.
173         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
174         (WebCore::BaseMultipleFieldsDateAndTimeInputType::badInputText):
175         Returns validationMessageBadInputForDateTimeText defined in LocalizedStrings.h.
176         (WebCore::BaseMultipleFieldsDateAndTimeInputType::hasBadInput):
177         Added.
178         (WebCore::BaseMultipleFieldsDateAndTimeInputType::setValue):
179         Add setNeedsValidityCheck call. It is needed because
180         updateInnerTextValue can modify subfields empty state.
181
182         * html/TextFieldInputType.cpp:
183         (WebCore::TextFieldInputType::subtreeHasChanged): Update a comment.
184         * platform/LocalizedStrings.h:
185         (WebCore): Add validationMessageBadInputForNumberText and
186         validationMessageBadInputForDateTimeText.
187         * platform/LocalizedStrings.cpp:
188         (WebCore::validationMessageBadInputForNumberText):
189         Added a placeholder implementation. This should be fixed later.
190         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
191         (WebCore::validationMessageBadInputForNumberText): Ditto.
192         * platform/efl/LocalizedStringsEfl.cpp:
193         (WebCore::validationMessageBadInputForNumberText): Ditto.
194         * platform/qt/LocalizedStringsQt.cpp:
195         (WebCore::validationMessageBadInputForNumberText): Ditto.
196
197 2012-11-27  Hajime Morrita  <morrita@google.com>
198
199         [Refactoring] NodeFlags::IsShadowRootFlag should be Node::IsDocumentFragmentFlag
200         https://bugs.webkit.org/show_bug.cgi?id=103370
201
202         Reviewed by Kentaro Hara.
203
204         This chagne introduces Node::IsDocumentFragmentFlag so that we can
205         have fast Node::isDocumentFragment().
206
207         Note that Node::isShadowRoot() can become slightly slower when it
208         returns true, but that is minor in terms of the number of calls at runtime.
209
210         No new tests. No behavior change.
211
212         * dom/DocumentFragment.cpp:
213         (WebCore::DocumentFragment::create):
214         * dom/DocumentFragment.h:
215         * dom/Node.cpp:
216         (WebCore::Node::documentFragmentIsShadowRoot):
217         (WebCore):
218         * dom/Node.h:
219         (Node):
220         (WebCore::Node::isDocumentFragment):
221         (WebCore::Node::isShadowRoot):
222         (WebCore::Node::parentNode):
223         (WebCore::Node::parentNodeGuaranteedHostFree):
224         * dom/ShadowRoot.h:
225
226 2012-11-26  Kent Tamura  <tkent@chromium.org>
227
228         :read-only selector should match to date/time input types
229         https://bugs.webkit.org/show_bug.cgi?id=103350
230
231         Reviewed by Kentaro Hara.
232
233         We supported :read-only and :read-write only for text form controls;
234         i.e. <textarea> and text-field <input>. According to [1], we should
235         support them for date/time types. So, this patch removes
236         isTextFormControl check in SelectorChecker, and just relies on
237         shouldMatchRead{Only,Write}Selector virtual functions.
238
239         Tests: Update fast/forms/*/*-appearance-pseudo-classes.html.
240
241         [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary
242
243         * css/SelectorChecker.cpp:
244         (WebCore::SelectorChecker::checkOneSelector):
245         Remove isFormControlElement check and isTextFormControl check.
246
247         * html/HTMLFormControlElement.cpp:
248         Remove shouldMatchRead{Only,Write}Selector functions. We don't need
249         common implementations any more.
250         * html/HTMLFormControlElement.h: Ditto.
251
252         * html/HTMLTextAreaElement.h:
253         (HTMLTextAreaElement): Add shouldMatchRead{Only,Write}Selector overrides.
254         * html/HTMLTextAreaElement.cpp:
255         (WebCore::HTMLTextAreaElement::shouldMatchReadOnlySelector): Added.
256         (WebCore::HTMLTextAreaElement::shouldMatchReadWriteSelector): Added.
257
258         * html/HTMLInputElement.h:
259         (HTMLInputElement): Add shouldMatchRead{Only,Write}Selector overrides.
260         * html/HTMLInputElement.cpp:
261         (WebCore::HTMLInputElement::shouldMatchReadOnlySelector):
262         Added. This checks InputType::supportsReadOnly and readOnly.
263         (WebCore::HTMLInputElement::shouldMatchReadWriteSelector): Ditto.
264
265         * html/InputType.h:
266         (InputType): Add supportsReadOnly.
267         * html/InputType.cpp:
268         (WebCore::InputType::supportsReadOnly): Added. Returns false by default.
269
270         * html/BaseDateAndTimeInputType.h:
271         (BaseDateAndTimeInputType): Add supportsReadOnly.
272         * html/BaseDateAndTimeInputType.cpp:
273         (WebCore::BaseDateAndTimeInputType::supportsReadOnly): Added. Returns true.
274         * html/TextFieldInputType.h:
275         (TextFieldInputType): Add supportsReadOnly.
276         * html/TextFieldInputType.cpp:
277         (WebCore::TextFieldInputType::supportsReadOnly): Added. Returns true.
278
279 2012-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
280
281         Unreviewed, rolling out r135822.
282         http://trac.webkit.org/changeset/135822
283         https://bugs.webkit.org/show_bug.cgi?id=103369
284
285         Undo the revert of r135818, since that change does not affect
286         code used by Chromium (Requested by apavlov on #webkit).
287
288         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
289         (WebCore::GraphicsLayerTextureMapper::setMaskLayer):
290         (WebCore::GraphicsLayerTextureMapper::setContentsVisible):
291
292 2012-11-26  Michael Pruett  <michael@68k.org>
293
294         [GTK] Fix build error on GTK due to r135749
295         https://bugs.webkit.org/show_bug.cgi?id=103365
296
297         Reviewed by Dean Jackson.
298
299         In r135749, many files which were already included
300         in webcore_built_sources were erroneously added to
301         webcore_svg_built_sources in GNUmakefile.list.am.
302
303         * GNUmakefile.list.am:
304
305 2012-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
306
307         Unreviewed, rolling out r135818.
308         http://trac.webkit.org/changeset/135818
309         https://bugs.webkit.org/show_bug.cgi?id=103368
310
311         platform/chromium/virtual/threaded/compositing/visibility
312         /visibility-simple-webgl-layer.html crash on Mountain Lion
313         (Requested by apavlov on #webkit).
314
315         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
316         (WebCore::GraphicsLayerTextureMapper::setMaskLayer):
317         (WebCore::GraphicsLayerTextureMapper::setContentsVisible):
318
319 2012-11-26  Huang Dongsung  <luxtella@company100.net>
320
321         Coordinated Graphics: Set visibility to a mask layer in GraphicsLayer::setContentsVisible().
322         https://bugs.webkit.org/show_bug.cgi?id=103297
323
324         Reviewed by Noam Rosenthal.
325
326         GraphicsLayerTextureMapper and CoordinatedGraphicsLayer set the visibility of a
327         mask layer in setContentsVisible() and setMaskLayer() like setting a size.
328         This patch is needed because RenderLayerBacking does not set the visibility to a
329         mask layer like the size.
330
331         This patch does not change user experience because an invisible layer is not
332         rendered although the mask layer is rendered. In that sense, it is an
333         optimization patch.
334
335         No new tests. It is an optimization patch.
336
337         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
338         (WebCore::GraphicsLayerTextureMapper::setMaskLayer):
339         (WebCore::GraphicsLayerTextureMapper::setContentsVisible):
340
341 2012-11-26  Kentaro Hara  <haraken@chromium.org>
342
343         [V8] Rename EXCEPTION_BLOCK() macros
344         https://bugs.webkit.org/show_bug.cgi?id=103352
345
346         Reviewed by Adam Barth.
347
348         Since V8Parameter was renamed to V8StringResource,
349         we rename macros that use V8Parameter.
350
351         EXCEPTION_BLOCK() => V8TRYCATCH()
352         STRING_TO_V8PARAMETER_EXCEPTION_BLOCK() => V8TRYCATCH_FOR_V8STRINGRESOURCE()
353         STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID() => V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID()
354
355         No tests. No change in behavior.
356
357         * bindings/scripts/CodeGeneratorV8.pm:
358         (GenerateParametersCheck):
359         (GenerateEventConstructorCallback):
360         (ConvertToV8StringResource):
361         * bindings/scripts/test/V8/V8Float64Array.cpp:
362         (WebCore::Float64ArrayV8Internal::fooCallback):
363         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
364         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
365         (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
366         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
367         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
368         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
369         (WebCore::V8TestEventConstructor::constructorCallback):
370         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
371         (WebCore::TestEventTargetV8Internal::itemCallback):
372         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
373         * bindings/scripts/test/V8/V8TestInterface.cpp:
374         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
375         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
376         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
377         (WebCore::V8TestInterface::constructorCallback):
378         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
379         (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
380         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
381         (WebCore::V8TestNamedConstructorConstructorCallback):
382         * bindings/scripts/test/V8/V8TestObj.cpp:
383         (WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
384         (WebCore::TestObjV8Internal::stringAttrAttrSetter):
385         (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
386         (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
387         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
388         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
389         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
390         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
391         (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
392         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
393         (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
394         (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
395         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
396         (WebCore::TestObjV8Internal::idbKeyCallback):
397         (WebCore::TestObjV8Internal::optionsObjectCallback):
398         (WebCore::TestObjV8Internal::methodWithOptionalArgCallback):
399         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
400         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
401         (WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
402         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
403         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
404         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
405         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
406         (WebCore::TestObjV8Internal::overloadedMethod2Callback):
407         (WebCore::TestObjV8Internal::overloadedMethod3Callback):
408         (WebCore::TestObjV8Internal::overloadedMethod4Callback):
409         (WebCore::TestObjV8Internal::overloadedMethod6Callback):
410         (WebCore::TestObjV8Internal::overloadedMethod7Callback):
411         (WebCore::TestObjV8Internal::overloadedMethod8Callback):
412         (WebCore::TestObjV8Internal::overloadedMethod9Callback):
413         (WebCore::TestObjV8Internal::overloadedMethod10Callback):
414         (WebCore::TestObjV8Internal::overloadedMethod11Callback):
415         (WebCore::TestObjV8Internal::classMethodWithOptionalCallback):
416         (WebCore::TestObjV8Internal::overloadedMethod12Callback):
417         (WebCore::TestObjV8Internal::classMethodWithClampCallback):
418         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
419         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
420         (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
421         (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
422         (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
423         (WebCore::TestObjV8Internal::convert1Callback):
424         (WebCore::TestObjV8Internal::convert2Callback):
425         (WebCore::TestObjV8Internal::convert4Callback):
426         (WebCore::TestObjV8Internal::convert5Callback):
427         (WebCore::TestObjV8Internal::strictFunctionCallback):
428         (WebCore::TestObjV8Internal::variadicStringMethodCallback):
429         (WebCore::TestObjV8Internal::variadicDoubleMethodCallback):
430         (WebCore::TestObjV8Internal::variadicNodeMethodCallback):
431         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
432         (WebCore::V8TestOverloadedConstructors::constructor1Callback):
433         (WebCore::V8TestOverloadedConstructors::constructor2Callback):
434         (WebCore::V8TestOverloadedConstructors::constructor3Callback):
435         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
436         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
437         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
438         * bindings/v8/V8Binding.h:
439         (WebCore::toV8Sequence):
440         * bindings/v8/V8BindingMacros.h:
441         * bindings/v8/custom/V8BlobCustom.cpp:
442         (WebCore::V8Blob::constructorCallbackCustom):
443         * bindings/v8/custom/V8ConsoleCustom.cpp:
444         (WebCore::V8Console::profileCallback):
445         (WebCore::V8Console::profileEndCallback):
446         * bindings/v8/custom/V8DOMWindowCustom.cpp:
447         (WebCore::handlePostMessageCallback):
448         * bindings/v8/custom/V8DataViewCustom.cpp:
449         (WebCore::V8DataView::getInt8Callback):
450         (WebCore::V8DataView::getUint8Callback):
451         (WebCore::V8DataView::setInt8Callback):
452         (WebCore::V8DataView::setUint8Callback):
453         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
454         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
455         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
456         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
457         * bindings/v8/custom/V8DocumentCustom.cpp:
458         (WebCore::V8Document::evaluateCallback):
459         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
460         (WebCore::V8HTMLOptionsCollection::addCallback):
461         * bindings/v8/custom/V8HistoryCustom.cpp:
462         (WebCore::V8History::pushStateCallback):
463         (WebCore::V8History::replaceStateCallback):
464         * bindings/v8/custom/V8IntentCustom.cpp:
465         (WebCore::V8Intent::constructorCallbackCustom):
466         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
467         (WebCore::V8SQLTransaction::executeSqlCallback):
468         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
469         (WebCore::V8SQLTransactionSync::executeSqlCallback):
470         * bindings/v8/custom/V8SVGLengthCustom.cpp:
471         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
472         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
473         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
474         * bindings/v8/custom/V8WorkerContextCustom.cpp:
475         (WebCore::V8WorkerContext::importScriptsCallback):
476
477 2012-11-26  Andreas Kling  <akling@apple.com>
478
479         Node: Move AreSVGAttributesValidFlag to ElementAttributeData.
480         <http://webkit.org/b/103349>
481
482         Reviewed by Anders Carlsson.
483
484         Moved AreSVGAttributesValidFlag to ElementAttributeData and change it to use "dirty" semantics.
485         This frees up a bit on Node, and we will always have ElementAttributeData if the animated
486         attributes are dirty anyway.
487
488         * dom/Element.cpp:
489         (WebCore::Element::getAttribute):
490         * dom/Element.h:
491         (WebCore::Element::updateInvalidAttributes):
492         * dom/ElementAttributeData.cpp:
493         (WebCore::ElementAttributeData::ElementAttributeData):
494         * dom/ElementAttributeData.h:
495         (WebCore::ElementAttributeData::ElementAttributeData):
496         (ElementAttributeData):
497         * dom/Node.h:
498         (Node):
499         * svg/SVGElement.cpp:
500         (WebCore::SVGElement::updateAnimatedSVGAttribute):
501         * svg/SVGElement.h:
502         (WebCore::SVGElement::invalidateSVGAttributes):
503
504 2012-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
505
506         Unreviewed, rolling out r135798.
507         http://trac.webkit.org/changeset/135798
508         https://bugs.webkit.org/show_bug.cgi?id=103354
509
510         Broke the chrome mac build (Requested by noel_ on #webkit).
511
512         * platform/graphics/chromium/DeferredImageDecoder.cpp:
513         (WebCore::DeferredImageDecoder::~DeferredImageDecoder):
514         (WebCore::DeferredImageDecoder::createResizedLazyDecodingBitmap):
515         (WebCore::DeferredImageDecoder::frameBufferAtIndex):
516         (WebCore::DeferredImageDecoder::createLazyDecodingBitmap):
517         * platform/graphics/chromium/DeferredImageDecoder.h:
518         (DeferredImageDecoder):
519         * platform/graphics/chromium/ImageDecodingStore.cpp:
520         (WebCore::ImageDecodingStore::instanceOnMainThread):
521         (WebCore::ImageDecodingStore::initializeOnMainThread):
522         (WebCore::ImageDecodingStore::shutdown):
523         (WebCore::ImageDecodingStore::calledOnValidThread):
524         (WebCore::ImageDecodingStore::lookupFrameCache):
525         (WebCore::ImageDecodingStore::deleteFrameCache):
526         * platform/graphics/chromium/ImageDecodingStore.h:
527         (WebCore):
528         (ImageDecodingStore):
529         * platform/graphics/chromium/ImageFrameGenerator.cpp:
530         (WebCore::ImageFrameGenerator::ImageFrameGenerator):
531         (WebCore::ImageFrameGenerator::~ImageFrameGenerator):
532         (WebCore::ImageFrameGenerator::setData):
533         (WebCore::ImageFrameGenerator::decodeAndScale):
534         * platform/graphics/chromium/ImageFrameGenerator.h:
535         (WebCore):
536         (WebCore::ImageFrameGenerator::create):
537         (ImageFrameGenerator):
538         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
539         (WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
540         (WebCore::LazyDecodingPixelRef::onLockPixels):
541         (WebCore::LazyDecodingPixelRef::onUnlockPixels):
542         * platform/graphics/chromium/LazyDecodingPixelRef.h:
543         (WebCore):
544         (LazyDecodingPixelRef):
545         * platform/graphics/chromium/ScaledImageFragment.cpp:
546         (WebCore::ScaledImageFragment::ScaledImageFragment):
547         (WebCore::ScaledImageFragment::isEqual):
548         (WebCore):
549         * platform/graphics/chromium/ScaledImageFragment.h:
550         (WebCore):
551         (WebCore::ScaledImageFragment::create):
552         (ScaledImageFragment):
553         * platform/graphics/chromium/SkSizeHash.h: Removed.
554
555 2012-11-26  Huang Dongsung  <luxtella@company100.net>
556
557         [TexMap] GraphicsLayerTextureMapper::setSize() sets the size of a mask layer.
558         https://bugs.webkit.org/show_bug.cgi?id=103297
559
560         Reviewed by Noam Rosenthal.
561
562         Currently, CoordinatedGraphicsLayer sets the size of a mask layer in setSize()
563         and setMaksLayer(). GraphicsLayerTextureMapper follows the behavior. If so we
564         don't have to check the size of the mask layer in TextureMapperLayer::flushCompositingState().
565
566         No new tests. Covered by existing tests.
567
568         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
569         (WebCore::GraphicsLayerTextureMapper::setMaskLayer):
570         (WebCore::GraphicsLayerTextureMapper::setSize):
571         * platform/graphics/texmap/TextureMapperLayer.cpp:
572         (WebCore::TextureMapperLayer::flushCompositingState):
573
574 2012-11-26  Kentaro Hara  <haraken@chromium.org>
575
576         [V8] Remove V8Parameter::object()
577         https://bugs.webkit.org/show_bug.cgi?id=103340
578
579         Reviewed by Adam Barth.
580
581         V8Parameter can use m_v8Object directly.
582
583         No tests. No change in behavior.
584
585         * bindings/v8/V8StringResource.h:
586         (WebCore::::prepare):
587
588 2012-11-26  Kentaro Hara  <haraken@chromium.org>
589
590         [V8] Rename V8Parameter to V8StringResource
591         https://bugs.webkit.org/show_bug.cgi?id=103341
592
593         Reviewed by Adam Barth.
594
595         We can rename V8Parameter to V8StringResource. In a follow-up patch,
596         I will rename macros around V8Parameter.
597
598         No tests. No change in behavior.
599
600         * bindings/scripts/CodeGeneratorV8.pm:
601         (GenerateNormalAttrGetter):
602         (GenerateNormalAttrSetter):
603         (GenerateParametersCheck):
604         (GenerateEventConstructorCallback):
605         (GetNativeTypeFromSignature):
606         (GetNativeType):
607         (ConvertToV8StringResource):
608         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
609         (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
610         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
611         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
612         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
613         (WebCore::V8TestEventConstructor::constructorCallback):
614         * bindings/scripts/test/V8/V8TestInterface.cpp:
615         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
616         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
617         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
618         (WebCore::V8TestInterface::constructorCallback):
619         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
620         (WebCore::V8TestNamedConstructorConstructorCallback):
621         * bindings/scripts/test/V8/V8TestObj.cpp:
622         (WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
623         (WebCore::TestObjV8Internal::stringAttrAttrSetter):
624         (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
625         (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
626         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
627         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
628         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
629         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
630         (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
631         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
632         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
633         (WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
634         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
635         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
636         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
637         (WebCore::TestObjV8Internal::overloadedMethod3Callback):
638         (WebCore::TestObjV8Internal::overloadedMethod11Callback):
639         (WebCore::TestObjV8Internal::overloadedMethod12Callback):
640         (WebCore::TestObjV8Internal::strictFunctionCallback):
641         (WebCore::TestObjV8Internal::variadicStringMethodCallback):
642         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
643         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
644         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
645         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
646         * bindings/v8/V8StringResource.h:
647         (WebCore::V8StringResource::V8StringResource):
648         (WebCore::::prepare):
649         * bindings/v8/custom/V8ConsoleCustom.cpp:
650         (WebCore::V8Console::profileCallback):
651         (WebCore::V8Console::profileEndCallback):
652         * bindings/v8/custom/V8DOMWindowCustom.cpp:
653         (WebCore::handlePostMessageCallback):
654         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
655         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
656         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
657         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
658         * bindings/v8/custom/V8HistoryCustom.cpp:
659         (WebCore::V8History::pushStateCallback):
660         (WebCore::V8History::replaceStateCallback):
661         * bindings/v8/custom/V8IntentCustom.cpp:
662         (WebCore::V8Intent::constructorCallbackCustom):
663         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
664         (WebCore::V8SQLTransaction::executeSqlCallback):
665         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
666         (WebCore::V8SQLTransactionSync::executeSqlCallback):
667         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
668         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
669
670 2012-11-26  Andreas Kling  <akling@apple.com>
671
672         HTMLOptionElement: Remove two unused members.
673         <http://webkit.org/b/103337>
674
675         Reviewed by Kent Tamura.
676
677         Remove two unused members from HTMLOptionElement, m_value and m_label.
678         40kB progression on Membuster3.
679
680         * html/HTMLOptionElement.h:
681         (HTMLOptionElement):
682
683 2012-11-26  Stephen White  <senorblanco@chromium.org>
684
685         [Chromium] Shared graphics context should only pushGroupMarker() once
686         https://bugs.webkit.org/show_bug.cgi?id=103082
687
688         Reviewed by James Robinson.
689
690         GraphicsContext3D's pushGroupMarkerEXT() is being called every time
691         an ImageBuffer is created, leading to unlimited memory growth, since
692         they share a common GraphicsContext3D.  It should be called only once,
693         on context creation.
694
695         Tested by manually checking the memory usage in Chrome's TaskManager.
696         (Sorry, I can't think of a way to test this automatically.)
697
698         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
699         (WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):
700         * platform/graphics/skia/ImageBufferSkia.cpp:
701         (WebCore::createAcceleratedCanvas):
702
703 2012-11-26  Kentaro Hara  <haraken@chromium.org>
704
705         [V8] Remove WorkerContextExecutionProxy.{h,cpp}
706         https://bugs.webkit.org/show_bug.cgi?id=103325
707
708         Reviewed by Adam Barth.
709
710         Now WorkerContextExecutionProxy.{h,cpp} are empty.
711
712         No tests. No change in behavior.
713
714         * UseV8.cmake:
715         * WebCore.gypi:
716         * bindings/v8/ScheduledAction.cpp:
717         * bindings/v8/V8AbstractEventListener.cpp:
718         * bindings/v8/V8DOMWrapper.cpp:
719         * bindings/v8/V8WorkerContextEventListener.h:
720         (WebCore):
721         * bindings/v8/WorkerContextExecutionProxy.cpp: Removed.
722         * bindings/v8/WorkerContextExecutionProxy.h: Removed.
723         * bindings/v8/WorkerScriptController.cpp:
724         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
725         * bindings/v8/custom/V8MessageChannelCustom.cpp:
726         * bindings/v8/custom/V8MessagePortCustom.cpp:
727         * bindings/v8/custom/V8WorkerCustom.cpp:
728         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
729
730 2012-11-26  Michael Saboff  <msaboff@apple.com>
731
732         Grapheme cluster functions can be simplified for 8 bit Strings
733         https://bugs.webkit.org/show_bug.cgi?id=102996
734
735         Reviewed by Alexey Proskuryakov.
736
737         For 8 bit strings, check for the uncommon CR-LF by looking for any CR.  If there aren't any CR characters,
738         the number of Extended Grapheme Clusters is equal to the string length.  If we need to handle Tailored
739         Graheme Clusters, then this will need to change.
740
741         No new tests. No change in functionality.
742
743         * platform/text/TextBreakIterator.cpp:
744         (WebCore::numGraphemeClusters):
745         (WebCore::numCharactersInGraphemeClusters):
746
747 2012-11-26  Istiaque Ahmed  <lazyboy@chromium.org>
748
749         Check for empty perContextData while creating NP V8 Object.
750         https://bugs.webkit.org/show_bug.cgi?id=98448
751
752         Reviewed by Adam Barth.
753
754         Fixes crash in npCreateV8ScriptObject(), if NP Invoke is called from a document
755         that is no longer displayed in frame (isCurrentlyDisplayedInFrame() ==
756         false), we have empty perContextData and this results in invalid memory access.
757
758         Test: platform/chromium/plugins/empty-per-context-data.html
759
760         * bindings/v8/NPV8Object.cpp:
761         (WebCore::npCreateV8ScriptObject):
762
763 2012-11-26  Michael Saboff  <msaboff@apple.com>
764
765         HTML/XML parser helper unconsumeCharacters() can push back 8 bit text as 16 bit text
766         https://bugs.webkit.org/show_bug.cgi?id=103317
767
768         Reviewed by Oliver Hunt.
769
770         Changed to use the String directly from the StringBuilder instead of creating our own.
771         Used toStringPreserveCapacity() in case the caller may want to add to the StringBuilder
772         even though current callers don't.
773
774         No new tests. No change in functionality.
775
776         * xml/parser/CharacterReferenceParserInlines.h:
777         (WebCore::unconsumeCharacters):
778
779 2012-11-26  Noel Gordon  <noel.gordon@gmail.com>
780
781         PNG decode performance: avoid using frame buffer.setRGBA(x,y)
782         https://bugs.webkit.org/show_bug.cgi?id=103216
783
784         Reviewed by Brent Fulgham.
785
786         Writing decoded row pixels to the frame buffer with buffer.setRGBA(x,y) is slow compared
787         to writing direct to the frame buffer address. Use buffer.getAddr() to obtain the output
788         pixel row address, write the decoded row pixels to that address.
789
790         No new tests. Covered by many existing tests.
791
792         * platform/image-decoders/ImageDecoder.h:
793         (WebCore::ImageFrame::setRGBA): Make routine setRGBA(PixelData* dest, ...) public. Test
794         m_premultiplyAlpha once to minimize code branching in this routine.
795         * platform/image-decoders/png/PNGImageDecoder.cpp:
796         (WebCore::PNGImageDecoder::rowAvailable): Write decoded row pixels to the frame buffer
797         using the pixel address form: buffer.setRGBA(address++, ...).
798
799 2012-11-26  Alpha Lam  <hclam@chromium.org>
800
801         [chromium] Implement full-featured image cache
802         https://bugs.webkit.org/show_bug.cgi?id=99784
803
804         Reviewed by James Robinson.
805
806         Implement a thread-safe image cache to be used with deferred image
807         decoding. Image cache can now be accessed on any thread.
808
809         The patch implements the following logic:
810         1. Mutex to protect all cache operations.
811         2. Cache indexing using key (ImageFrameGenerator*, SkISize scaledSize)
812         3. Cache lookup.
813         4. Cache insertion.
814         5. Generation of cache entry by scaling full size image.
815         6. Generation of cache entries by decoding and scaling.
816
817         Classes involved:
818
819         ImageDecodingStore
820
821         Responsible for owning cache entries and indexing. Pruning and memory
822         management will be added later.
823
824         ImageFrameGenerator
825
826         Responsible for generating new cache enties and insert them into
827         ImageDecodingStore.
828
829         LazyDecodingPixelRef
830
831         Responsible for cache lookup and lazy generation of cache entries
832         using ImageFrameGenerator. There is a mutex to protect concurrent
833         lock operations.
834
835         These items are not implemented in this patch:
836         1. Cache pruning.
837         2. Setting cache memory limit.
838         3. Cache deletion.
839         4. Caching incomplete images and ImageDecoder.
840
841         Unit tests added in ImageFrameGeneratorTest.cpp.
842         Layout tests are under platform/chromium/virtual/fast/images.
843
844         * platform/graphics/chromium/DeferredImageDecoder.cpp:
845         (WebCore::DeferredImageDecoder::~DeferredImageDecoder):
846         (WebCore::DeferredImageDecoder::createResizedLazyDecodingBitmap):
847         (WebCore::DeferredImageDecoder::setEnabled):
848         (WebCore):
849         (WebCore::DeferredImageDecoder::frameBufferAtIndex):
850         (WebCore::DeferredImageDecoder::createLazyDecodingBitmap):
851         * platform/graphics/chromium/DeferredImageDecoder.h:
852         (DeferredImageDecoder):
853         * platform/graphics/chromium/ImageDecodingStore.cpp:
854         (WebCore::ImageDecodingStore::instance):
855         (WebCore::ImageDecodingStore::initializeOnce):
856         (WebCore::ImageDecodingStore::shutdown):
857         (WebCore::ImageDecodingStore::lockCompleteCache):
858         Lookup complete cache entry using hash key, increment use count.
859         (WebCore::ImageDecodingStore::lockIncompleteCache): TODO.
860         (WebCore::ImageDecodingStore::unlockCache):
861         Lookup cache entry using hash key, decrement use count.
862         (WebCore):
863         (WebCore::ImageDecodingStore::insertAndLockCache):
864         Insert new cache entry and increment use count.
865         (WebCore::ImageDecodingStore::prune): TODO.
866         * platform/graphics/chromium/ImageDecodingStore.h:
867         (WebCore):
868         (ImageDecodingStore):
869         (WebCore::ImageDecodingStore::CacheEntry::create):
870         (WebCore::ImageDecodingStore::CacheEntry::createAndUse):
871         (CacheEntry):
872         (WebCore::ImageDecodingStore::CacheEntry::CacheEntry):
873         (WebCore::ImageDecodingStore::CacheEntry::~CacheEntry):
874         * platform/graphics/chromium/ImageFrameGenerator.cpp:
875         (WebCore::ImageFrameGenerator::ImageFrameGenerator):
876         (WebCore::ImageFrameGenerator::setData):
877         (WebCore::ImageFrameGenerator::decodeAndScale):
878         Method for creating new cache entries. This is protected by a mutex
879         to prevent concurrent operations. Which means only one thread can
880         generate new cache entries for a set of encoded data.
881         (WebCore):
882         (WebCore::ImageFrameGenerator::tryToLockCache):
883         Tries to lookup a cache entry.
884         (WebCore::ImageFrameGenerator::tryToScale):
885         Tries to lookup a full size cache entry and generate a scaled version.
886         (WebCore::ImageFrameGenerator::tryToDecodeAndScale):
887         Tries to decode and scale.
888         * platform/graphics/chromium/ImageFrameGenerator.h:
889         (WebCore):
890         (ImageDecoderFactory):
891         (WebCore::ImageFrameGenerator::create):
892         (ImageFrameGenerator):
893         (WebCore::ImageFrameGenerator::setImageDecoderFactoryForTesting):
894         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
895         (WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
896         (WebCore::LazyDecodingPixelRef::onLockPixels):
897         (WebCore::LazyDecodingPixelRef::onUnlockPixels):
898         * platform/graphics/chromium/LazyDecodingPixelRef.h:
899         (WebCore):
900         (LazyDecodingPixelRef):
901         * platform/graphics/chromium/ScaledImageFragment.cpp:
902         (WebCore::ScaledImageFragment::ScaledImageFragment):
903         * platform/graphics/chromium/ScaledImageFragment.h:
904         (WebCore):
905         (WebCore::ScaledImageFragment::create):
906         (ScaledImageFragment):
907         (WebCore::ScaledImageFragment::scaledSize):
908         * platform/graphics/chromium/SkSizeHash.h: Added.
909         (WTF):
910
911 2012-11-26  Andreas Kling  <akling@apple.com>
912
913         Node: Remove IsSynchronizingSVGAttributesFlag.
914         <http://webkit.org/b/103328>
915
916         Reviewed by Antti Koivisto.
917
918         Animated SVG attributes used to be synchronized by using DOM API which could use unwanted re-entrancy
919         via callbacks below Element::attributeChanged(). The "is synchronizing SVG attributes" flag was used
920         to protect against such re-entrancy.
921
922         These days, lazy attributes are synchronized using Element::setSynchronizedLazyAttribute() to avoid
923         issues like this. The flag does nothing, so we can just remove it.
924
925         * dom/Node.h:
926         (WebCore):
927         * svg/SVGElement.cpp:
928         (WebCore::SVGElement::attributeChanged):
929         (WebCore::SVGElement::updateAnimatedSVGAttribute):
930
931 2012-11-26  Kentaro Hara  <haraken@chromium.org>
932
933         [V8] Refactor WorkerScriptController
934         https://bugs.webkit.org/show_bug.cgi?id=103330
935
936         Reviewed by Adam Barth.
937
938         r135703 just moved methods from WorkerContextExecutionProxy
939         to WorkerScriptController. We should refactor the methods as a follow-up.
940
941         No tests. No change in behavior.
942
943         * bindings/v8/WorkerScriptController.cpp:
944         (WebCore::WorkerScriptController::~WorkerScriptController):
945         (WebCore::WorkerScriptController::disposeContext):
946         (WebCore::WorkerScriptController::initializeContextIfNeeded):
947         (WebCore::WorkerScriptController::evaluate):
948         (WebCore::WorkerScriptController::disableEval):
949         * bindings/v8/WorkerScriptController.h:
950         (WorkerScriptController):
951
952 2012-11-26  Varun Jain  <varunjain@chromium.org>
953
954         LongPress and LongTap gestures should start drag/drop and open context menu respectively.
955         https://bugs.webkit.org/show_bug.cgi?id=101545
956
957         Reviewed by Antonio Gomes.
958
959         For LongPress, we simulate drag by sending a mouse down and mouse drag
960         events. If a drag is not started (because maybe there is no draggable
961         element), then we show context menu instead (which is the current
962         behavior for LongPress). For LongTap, we use the existing functions that
963         LongPress uses to summon the context menu. LongPress initiated drag and
964         drop can be enabled/disabled by the platform using the Setting
965         touchDragDropEnabled which is disabled by default.
966
967         Tests: fast/events/touch/gesture/context-menu-on-long-tap.html
968                fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag.html
969
970         * page/EventHandler.cpp:
971         (WebCore::EventHandler::EventHandler):
972         (WebCore::EventHandler::clear):
973         (WebCore::EventHandler::handleMouseDraggedEvent):
974         (WebCore::EventHandler::handleGestureEvent):
975         (WebCore::EventHandler::handleGestureLongPress):
976         (WebCore::EventHandler::handleGestureLongTap):
977         (WebCore):
978         (WebCore::EventHandler::handleGestureForTextSelectionOrContextMenu):
979         (WebCore::EventHandler::adjustGesturePosition):
980         (WebCore::EventHandler::handleDrag):
981         * page/EventHandler.h:
982         (EventHandler):
983         * page/Settings.in:
984
985 2012-11-26  Andreas Kling  <akling@apple.com>
986
987         RenderStyle: Move 'list-style-image' to rare inherited data.
988         <http://webkit.org/b/103300>
989
990         Reviewed by Antti Koivisto.
991
992         list-style-image is not nearly common enough to merit a spot in StyleInheritedData.
993         Move it to StyleRareInheritedData.
994
995         134kB progression on Membuster3.
996
997         * rendering/style/RenderStyle.cpp:
998         (WebCore::RenderStyle::diff):
999         (WebCore::RenderStyle::listStyleImage):
1000         (WebCore::RenderStyle::setListStyleImage):
1001         * rendering/style/StyleInheritedData.cpp:
1002         (WebCore::StyleInheritedData::StyleInheritedData):
1003         (WebCore::StyleInheritedData::operator==):
1004         * rendering/style/StyleInheritedData.h:
1005         (StyleInheritedData):
1006         * rendering/style/StyleRareInheritedData.h:
1007         * rendering/style/StyleRareInheritedData.cpp:
1008         (SameSizeAsStyleRareInheritedData):
1009         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1010         (WebCore::StyleRareInheritedData::operator==):
1011
1012 2012-11-26  James Simonsen  <simonjam@chromium.org>
1013
1014         Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
1015         https://bugs.webkit.org/show_bug.cgi?id=102151
1016
1017         Reviewed by Adam Barth.
1018
1019         There's a FIXME that we have too many FrameLoader::load*() functions. This patch consolidates 3 into 1.
1020         There are still a few more load functions that will be consolidated later. Using FrameLoadRequest as
1021         the interface into FrameLoader will also provide a place to pass in the initiator. Finally, this matches
1022         the refactoring done with CachedResourceRequest and CachedResourceLoader.
1023
1024         No new tests. No change in functionality.
1025
1026         * WebCore.exp.in:
1027         * loader/FrameLoadRequest.h:
1028         (WebCore::FrameLoadRequest::FrameLoadRequest):
1029         (WebCore::FrameLoadRequest::setLockHistory): These are former arguments to load().
1030         (WebCore::FrameLoadRequest::lockHistory): Ditto.
1031         (FrameLoadRequest):
1032         (WebCore::FrameLoadRequest::setShouldCheckNewWindowPolicy): Ditto.
1033         (WebCore::FrameLoadRequest::shouldCheckNewWindowPolicy): Ditto.
1034         (WebCore::FrameLoadRequest::substituteData): Ditto.
1035         (WebCore::FrameLoadRequest::setSubstituteData): Ditto.
1036         (WebCore::FrameLoadRequest::hasSubstituteData): Ditto.
1037         * loader/FrameLoader.cpp:
1038         (WebCore::FrameLoader::load): No change in behavior, just merged it all into one function.
1039         * loader/FrameLoader.h:
1040         (FrameLoader):
1041         * page/DragController.cpp:
1042         (WebCore::DragController::performDrag):
1043
1044 2012-11-24 Genevieve Mak <gmak@rim.com>
1045
1046         [BlackBerry] Stop sending touch events to plugins.
1047         https://bugs.webkit.org/show_bug.cgi?id=103188
1048
1049         Reviewed by Rob Buis.
1050
1051         Reviewed internally by Jeff Rogers and Mike Lattanzio.
1052         No tests required.
1053         PR #248605
1054
1055         * plugins/blackberry/PluginViewBlackBerry.cpp:
1056         (WebCore::PluginView::handleTouchEvent):
1057         (WebCore::PluginView::handleMouseEvent):
1058
1059 2012-11-26  Adenilson Cavalcanti  <cavalcantii@gmail.com>
1060
1061         Removing unnecessary friend classes in RenderObject: LayoutRepainter, RenderSVGContainer
1062         https://bugs.webkit.org/show_bug.cgi?id=103164
1063
1064         Reviewed by Simon Fraser.
1065
1066         Removing some of classes marked as friend of RenderObject. This patch solves this issue
1067         for 2 classes: RenderSVGContainer (that is derived from RenderObject) and LayoutRepainter
1068         (that accesses one const member function in RenderObject that is now made public).
1069
1070         No new tests, no changes in functionality.
1071
1072         * rendering/RenderObject.h:
1073         (RenderObject):
1074         (WebCore::RenderObject::outlineBoundsForRepaint):
1075
1076 2012-11-26  Jon Lee  <jonlee@apple.com>
1077
1078         Pass clicks through to the restarted plugin
1079         https://bugs.webkit.org/show_bug.cgi?id=102150
1080         <rdar://problem/12695575>
1081
1082         Reviewed by Simon Fraser.
1083
1084         Add a new state to the machine for plugin snapshotting, called PlayingWithPendingMouseClick.
1085         This represents the state where the plugin is playing, but before the pending mouse click
1086         has been fired. Once the click is sent, the plugin state transitions to Playing. For
1087         situations where the plugin just runs normally without a simulated click, the plugin state
1088         jumps from DisplayingSnapshot straight to Playing, as before.
1089
1090         * html/HTMLPlugInElement.h: Add new display state to represent when the plugin is running,
1091         but a pending mouse click is about to be sent to the plugin.
1092         (WebCore::HTMLPlugInElement::dispatchPendingMouseClick): Called by the plugin when it is
1093         ok for the element to send the pending mouse click.
1094         * html/HTMLPlugInElement.cpp:
1095         (WebCore::HTMLPlugInElement::defaultEventHandler): Update the handler to pass the event
1096         to the renderer to handle if the state is before PlayingWithPendingMouseClick.
1097
1098         * html/HTMLPlugInImageElement.h:
1099         * html/HTMLPlugInImageElement.cpp: Add a click timer to delay the mouse click so that the
1100         plugin has some time to initialize.
1101         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialize the mouse timer.
1102         (WebCore::HTMLPlugInImageElement::setPendingClickEvent): Keep track of the click event
1103         the user made to restart the plugin.
1104         (WebCore::HTMLPlugInImageElement::dispatchPendingMouseClick): Start the timer.
1105         (WebCore::HTMLPlugInImageElement::simulatedMouseClickTimerFired): When the timer fires,
1106         dispatch the simulated click, with mouse over, mouse down, and mouse up events. Transition
1107         to the Playing state, and we no longer need the click event.
1108
1109         * rendering/RenderSnapshottedPlugIn.cpp: Change the threshold state to PlayingWithPendingMouseClick
1110         instead of Playing, since that is the earliest state where the plugin is playing.
1111         (WebCore::RenderSnapshottedPlugIn::paint):
1112         (WebCore::RenderSnapshottedPlugIn::paintReplaced):
1113         (WebCore::RenderSnapshottedPlugIn::getCursor):
1114         (WebCore::RenderSnapshottedPlugIn::handleEvent): If the user clicked on the button, jump to
1115         Playing, and don't send a simulated click. Otherwise, transition to PlayingWithPendingMouseClick,
1116         and keep track of that mouse event.
1117
1118         * WebCore.exp.in: Export MouseRelatedEvent::offsetX() and offsetY().
1119
1120 2012-11-26  Dan Carney  <dcarney@google.com>
1121
1122         Refactor V8 bindings to allow content scripts to access subframes
1123         https://bugs.webkit.org/show_bug.cgi?id=93646
1124
1125         Reviewed by Adam Barth.
1126
1127         Isolated window shells are now initialized on the fly
1128         as needed.
1129
1130         No new tests. Existing test modified.
1131
1132         * bindings/v8/DOMWrapperWorld.cpp:
1133         (WebCore::DOMWrapperWorld::ensureIsolatedWorld):
1134         * bindings/v8/DOMWrapperWorld.h:
1135         (WebCore::DOMWrapperWorld::createdFromUnitializedWorld):
1136         (DOMWrapperWorld):
1137         * bindings/v8/ScriptController.cpp:
1138         (WebCore::ScriptController::currentWorldContext):
1139
1140 2012-11-26  Alex Christensen  <alex.christensen@flexsim.com>
1141
1142         clipboardwin compile error for win64
1143         https://bugs.webkit.org/show_bug.cgi?id=94124
1144
1145         Reviewed by Brent Fulgham.
1146
1147         The clipboard utilities code uses std::min with one unsigned int parameter and one size_t parameter.
1148         This causes a problem when compiling for 64-bit Windows because the two types are not the same size.
1149         To resolve this issue, we specify the template type as the type the return value is being cast into
1150
1151         Fixed a few compile errors for Windows x64 by specifying template parameters.
1152
1153         * platform/win/ClipboardUtilitiesWin.cpp:
1154         (WebCore::setFileDescriptorData): Specify the types for the std::min macro to avoid compiler errors
1155         under 64-bit builds.
1156
1157 2012-11-26  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1158
1159         [GTK] GtkSocket is leaked until webview is destroyed.
1160         https://bugs.webkit.org/show_bug.cgi?id=102564
1161
1162         Reviewed by Martin Robinson.
1163
1164         Remove GtkSocket from its parent when pluginview is destroyed. Then,
1165         the GtkSocket and it's possible child widgets are realeased when it is
1166         no more needed.
1167
1168         No new tests, already covered by existing tests.
1169
1170         * plugins/gtk/PluginViewGtk.cpp:
1171         (WebCore::PluginView::platformDestroy):
1172
1173 2012-11-26  Luke Macpherson   <macpherson@chromium.org>
1174
1175         Make StyleResolver::applyProperty use isInherit in CSSPropertyWebkitMarquee instead of calculating equivalent in-place.
1176         https://bugs.webkit.org/show_bug.cgi?id=102446
1177
1178         Reviewed by Tony Chang.
1179
1180         !m_parentNode || !value->isInheritedValue() is equivalent to !isInherit (by De Morgan's law).
1181
1182         No new tests / code is provably equivalent.
1183
1184         * css/StyleResolver.cpp:
1185         (WebCore::StyleResolver::applyProperty):
1186
1187 2012-11-26  Pratik Solanki  <psolanki@apple.com>
1188
1189         Add ResourceBuffer::append(CFDataRef) to get code to compile with USE(NETWORK_CFDATA_ARRAY_CALLBACK)
1190         https://bugs.webkit.org/show_bug.cgi?id=102706
1191
1192         Reviewed by Brent Fulgham.
1193
1194         No new tests because the flag isn't enabled. Also the functionality should be covered by
1195         existing tests.
1196
1197         * loader/ResourceBuffer.cpp:
1198         (WebCore):
1199         (WebCore::ResourceBuffer::append):
1200         * loader/ResourceBuffer.h:
1201         (ResourceBuffer):
1202         * loader/mac/ResourceLoaderMac.mm:
1203
1204 2012-11-26  Tony Chang  <tony@chromium.org>
1205
1206         Move more functions from internals.settings to internals
1207         https://bugs.webkit.org/show_bug.cgi?id=102976
1208
1209         Reviewed by Adam Barth.
1210
1211         Move functions that don't have to do with Settings off of internals.settings.
1212         setPagination and configurationForViewport were defined on internals, so we
1213         can inline the functions (no test change).
1214
1215         setEnableMockPagePopup is moved to Internals.
1216
1217         No new tests, this is a refactor.
1218
1219         * testing/InternalSettings.cpp:
1220         (WebCore::InternalSettings::reset): Move reset code into Internals.
1221         * testing/InternalSettings.h:
1222         (InternalSettings): Remove code for setPagination, configurationForViewport and setEnableMockPagePopup.
1223         * testing/InternalSettings.idl: Remove setPagination and setEnableMockPagePopup.
1224         * testing/Internals.cpp:
1225         (WebCore): Use a static to keep track of the MockPagePopupDriver.
1226         (WebCore::Internals::resetToConsistentState): Code from InternalSettings::reset
1227         (WebCore::Internals::setEnableMockPagePopup): Code copied from InternalSettings.
1228         (WebCore::Internals::pagePopupController): Code copied from InternalSettings.
1229         (WebCore::Internals::setPagination): Code copied from InternalSettings.
1230         (WebCore::Internals::configurationForViewport): Code copied from InternalSettings.
1231         * testing/Internals.h:
1232         (Internals): Add setEnableMockPagePopup.
1233         * testing/Internals.idl: Add setEnableMockPagePopup.
1234
1235 2012-11-26  Andrei Bucur  <abucur@adobe.com>
1236
1237         [CSS Regions] Add Region info for RootLineBoxes and pack the pagination data
1238         https://bugs.webkit.org/show_bug.cgi?id=101332
1239
1240         Reviewed by David Hyatt.
1241
1242         Currently the pagination information for lines is spread between the RootInlineBox and InlineFlowBox classes, consuming memory even though
1243         the boxes were not the result of an pagination layout. To overcome this, a new struct (LineFragmentationData) is created that wraps all the data,
1244         including two new members, the containing Region for the line and a boolean that states if the line was laid out in a Region or not.
1245         The flag is necessary because the sanitize function on LineFragmentationData resets the containing Region to 0 if the Region was removed from
1246         chain (so a value of 0 for the containing Region means two things). The sanitize function should prevent access to an invalid address.
1247         The containing Region is used to detect if a line changed the Region where it resides. This will be helpful especially when implementing region
1248         styling for layout properties (e.g. the font-size property https://bugs.webkit.org/show_bug.cgi?id=95559 ).
1249         A line can change the region when it is shifted inside the containing block or if the entire block moves. This means it's better to delegate
1250         the task of updating the containing Region to the block.
1251
1252         Tests: fast/regions/line-containing-region-crash.html
1253
1254         * rendering/InlineFlowBox.cpp:
1255         (SameSizeAsInlineFlowBox):
1256         * rendering/InlineFlowBox.h:
1257         (WebCore::InlineFlowBox::InlineFlowBox):
1258         (InlineFlowBox):
1259         * rendering/RenderBlock.cpp:
1260         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
1261         * rendering/RenderBlockLineLayout.cpp:
1262         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1263         (WebCore::RenderBlock::linkToEndLineIfNeeded):
1264         (WebCore::RenderBlock::determineStartPosition):
1265         * rendering/RootInlineBox.cpp:
1266         (WebCore::RootInlineBox::RootInlineBox):
1267         (WebCore::RootInlineBox::setContainingRegion):
1268         (WebCore):
1269         (WebCore::RootInlineBox::LineFragmentationData::sanitize): This is an O(1) function that checks if the containig Region is still valid pointer.
1270         * rendering/RootInlineBox.h:
1271         (WebCore):
1272         (WebCore::RootInlineBox::paginationStrut):
1273         (WebCore::RootInlineBox::setPaginationStrut):
1274         (WebCore::RootInlineBox::isFirstAfterPageBreak):
1275         (WebCore::RootInlineBox::setIsFirstAfterPageBreak):
1276         (WebCore::RootInlineBox::paginatedLineWidth):
1277         (WebCore::RootInlineBox::setPaginatedLineWidth):
1278         (RootInlineBox):
1279         (WebCore::RootInlineBox::containingRegion):
1280         (WebCore::RootInlineBox::hasContainingRegion): Use this to determine if the line has a region or not.
1281         (WebCore::RootInlineBox::ensureLineFragmentationData):
1282         (LineFragmentationData):
1283         (WebCore::RootInlineBox::LineFragmentationData::LineFragmentationData):
1284
1285
1286 2012-11-26  Michelangelo De Simone  <michelangelo@webkit.org>
1287
1288         [CSS Shaders] Add IDL file and bindings for mix function
1289         https://bugs.webkit.org/show_bug.cgi?id=93011
1290
1291         Reviewed by Dean Jackson.
1292
1293         JavaScript bindings have been added for the Custom Filter mix()
1294         function (WebKitCSSMixFunctionValue). As of now, this is only a
1295         placeholder that extends CSSValueList without adding any new
1296         property.
1297
1298         Test: css3/filters/custom/custom-filter-mix-bindings.html
1299
1300         * CMakeLists.txt: mix() IDL has been added to the Generator;
1301         DerivedSources have been included.
1302         * DerivedSources.cpp: Ditto.
1303         * DerivedSources.make: Ditto.
1304         * DerivedSources.pri: Ditto.
1305         * GNUmakefile.list.am: Ditto.
1306         * WebCore.gypi: Ditto.
1307         * WebCore.vcproj/WebCore.vcproj: Ditto.
1308         * WebCore.xcodeproj/project.pbxproj: Ditto.
1309         * bindings/js/JSCSSValueCustom.cpp:
1310         (WebCore::toJS): return a JSC DOM wrapper for WebKitCSSMixFunctionValue.
1311         * bindings/v8/custom/V8CSSValueCustom.cpp:
1312         (WebCore::V8CSSValue::dispatchWrapCustom): Ditto, for V8.
1313         * css/WebKitCSSMixFunctionValue.idl: Added.
1314
1315 2012-11-26  Simon Fraser  <simon.fraser@apple.com>
1316
1317         Optimize layer updates after scrolling
1318         https://bugs.webkit.org/show_bug.cgi?id=102635
1319
1320         Reviewed by Sam Weinig.
1321
1322         updateLayerPositionsAfterScroll() previously unconditionally cleared clip
1323         rects, and recomputed repaint rects too often. Recomputing both of these
1324         can be very expensive, as they involve tree walks up to the root.
1325         
1326         We can optimize layer updates after document scrolling by only clearing clip
1327         rects, and recomputing repaint rects, if we encounter a fixed- or sticky-position
1328         element. For overflow scroll, we have to clear clip rects and recompute repaint rects.
1329
1330         * page/FrameView.cpp:
1331         (WebCore::FrameView::repaintFixedElementsAfterScrolling): Call updateLayerPositionsAfterDocumentScroll().
1332         * rendering/RenderLayer.cpp:
1333         (WebCore::RenderLayer::updateLayerPositions): Call clearClipRects() because
1334         updateLayerPosition() no longer does.
1335         (WebCore::RenderLayer::updateLayerPositionsAfterDocumentScroll): Version of updateLayerPositionsAfterScroll()
1336         that is for document scrolls. It has no need to push layers to the geometry map.
1337         (WebCore::RenderLayer::updateLayerPositionsAfterOverflowScroll): Pushes layers to the geometry map,
1338         and calls updateLayerPositionsAfterScroll() with the IsOverflowScroll flag.
1339         (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Set the HasChangedAncestor flag
1340         if our location changed, and use that as a hint to clear cached rects. Be more conservative
1341         than before about when to clear cached clip rects.
1342         (WebCore::RenderLayer::updateLayerPosition):  Move responsibility for calling
1343         clearClipRects() ouf of this function and into callers.
1344         (The one caller outside RenderLayer will be removed via bug 102624).
1345         Return a bool indicating whether our position changed.
1346         (WebCore::RenderLayer::scrollTo): Call updateLayerPositionsAfterOverflowScroll().
1347         (WebCore::RenderLayer::updateClipRects): Added some #ifdeffed out code that is useful
1348         to verify that cached clips are correct; it's too slow to leave enabled in debug builds.
1349         * rendering/RenderLayer.h:
1350         (WebCore::RenderLayer::setLocation): Change to take a LayoutPoint, rather than separate
1351         x and y.
1352
1353 2012-11-26  Rafael Brandao  <rafael.lobo@openbossa.org>
1354
1355         [Cairo] Surface should not be destroyed before its usage
1356         https://bugs.webkit.org/show_bug.cgi?id=103273
1357
1358         Reviewed by Brent Fulgham.
1359
1360         * platform/graphics/texmap/TextureMapperGL.cpp:
1361         (WebCore::TextureMapperGL::drawRepaintCounter): There's some calls to get
1362         the bits and stride from surface right after its destructions. It should
1363         be postponed to avoid annoying bugs.
1364
1365 2012-11-26  Julien Chaffraix  <jchaffraix@webkit.org>
1366
1367         RenderBox::computePercentageLogicalHeight should use containingBlockLogicalWidthForContent
1368         https://bugs.webkit.org/show_bug.cgi?id=103075
1369
1370         Reviewed by Ojan Vafai.
1371
1372         Using the containing block's content logical block was working for most renderers but 2 renderers
1373         were special and were broken in orthogonal writing modes:
1374         - captions as they override containingBlockLogicalWidthForContent to return the table's logical width.
1375         - multi-column renderers as they override availableLogicalWidth to constrain the child to the column logical width.
1376
1377         By switching to containingBlockLogicalWidthForContent, we got those 2 cases covered.
1378
1379         Tests: fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode.html
1380                fast/table/caption-orthogonal-writing-mode-sizing.html
1381
1382         * rendering/RenderBox.cpp:
1383         (WebCore::RenderBox::computePercentageLogicalHeight):
1384         Updated the function to track which renderer's containing block we use and call
1385         containingBlockLogicalWidthForContent on it.
1386
1387 2012-11-26  Abhishek Arya  <inferno@chromium.org>
1388
1389         Crash in Frame::dispatchVisibilityStateChangeEvent.
1390         https://bugs.webkit.org/show_bug.cgi?id=102053
1391
1392         Reviewed by Adam Barth.
1393
1394         Child frame can go away inside webkitvisibilitychange
1395         event handler. Store it in a ref counted vector.
1396
1397         Test: fast/frames/page-visibility-crash.html
1398
1399         * page/Frame.cpp:
1400         (WebCore::Frame::dispatchVisibilityStateChangeEvent):
1401
1402 2012-11-26  Hurnjoo Lee  <hurnjoo.lee@samsung.com>
1403
1404         [Cairo] fillRectWithColor with Color::transparent doesn't perform anything
1405         https://bugs.webkit.org/show_bug.cgi?id=101911
1406
1407         Reviewed by Kenneth Rohde Christiansen.
1408
1409         fillRectWithColor with Color::transparent doesn't perform anything
1410         because fillRectWithColor does early-return if the alpha value of
1411         color is zero. But we expect that fill the rect with transparent color
1412         in case the cairo_operator is CAIRO_OPERATOR_SOURCE.
1413
1414         Covered by existing tests.
1415
1416         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1417         (WebCore::fillRectWithColor):Add condition to prevent early-return if
1418         cairo_operator is not CAIRO_OPERATOR_OVER
1419
1420 2012-11-26  Jae Hyun Park  <jae.park@company100.net>
1421
1422         Remove redundant assignment in TextureMapperLayer::flushCompositingStateSelf
1423         https://bugs.webkit.org/show_bug.cgi?id=103233
1424
1425         Reviewed by Noam Rosenthal.
1426
1427         This patch removes redundant assignment in TextureMapperLayer::flushCompositingStateSelf.
1428
1429         No new tests, because no change in bahavior.
1430
1431         * platform/graphics/texmap/TextureMapperLayer.cpp:
1432         (WebCore::TextureMapperLayer::flushCompositingStateSelf):
1433
1434 2012-11-26  Tamas Czene  <tczene@inf.u-szeged.hu>
1435
1436         OpenCL version of SourceAlpha, SourceGraphics and FETurbulence filter effects 
1437         https://bugs.webkit.org/show_bug.cgi?id=99829
1438
1439         Reviewed by Zoltan Herczeg.
1440
1441         This patch contains the OpenCL implementation of SourceAlpha, SourceGraphic, FETurbulence and a simple OpenCL environment. 
1442         At the moment only the Qt build system is supported 
1443         ~3x speed-up (depending on hardware configuration)
1444
1445         * Target.pri:
1446         * WebCore.pri:
1447         * platform/graphics/filters/FETurbulence.h: Added platformApplyOpenCL() virtual function.
1448         (FETurbulence):
1449         * platform/graphics/filters/FilterEffect.cpp: Added platform specific apply.
1450         (WebCore::FilterEffect::apply):
1451         (WebCore):
1452         (WebCore::FilterEffect::platformApplyOpenCL): A function to use software computing if a filter is not implemented on OpenCL. It will be deleted after all of the filters are implemented.
1453         (WebCore::FilterEffect::clearResult):
1454         (WebCore::FilterEffect::asImageBuffer):
1455         (WebCore::FilterEffect::openCLImageToImageBuffer): Gets the result of the filter from the OpenCL device and converts it to ImageBuffer type.
1456         (WebCore::FilterEffect::createOpenCLImageResult): Allocates memory on OpenCL device and if it gets an image as a parameter, it uploads the image to the OpenCL device.
1457         (WebCore::FilterEffect::transformResultColorSpace): 
1458         * platform/graphics/filters/FilterEffect.h:
1459         (FilterEffect):
1460         (WebCore::FilterEffect::openCLImage):
1461         (WebCore::FilterEffect::setOpenCLImage):
1462         (WebCore::FilterEffect::hasResult):
1463         * platform/graphics/filters/SourceAlpha.h:
1464         (SourceAlpha):
1465         * platform/graphics/filters/SourceGraphic.h:
1466         (SourceGraphic):
1467         * platform/graphics/gpu/opencl/FilterContextOpenCL.cpp: Added.
1468         (WebCore):
1469         (WebCore::FilterContextOpenCL::context): Configures the OpenCL environment.
1470         (WebCore::FilterContextOpenCL::createOpenCLImage): Allocates memory on OpenCL device.
1471         (WebCore::FilterContextOpenCL::openCLTransformColorSpace): OpenCL implementation of transformColorSpace.
1472         (WebCore::FilterContextOpenCL::compileProgram):
1473         * platform/graphics/gpu/opencl/FilterContextOpenCL.h: Added.
1474         (WebCore):
1475         (FilterContextOpenCL):
1476         (WebCore::FilterContextOpenCL::deviceId):
1477         (WebCore::FilterContextOpenCL::deviceContext):
1478         (WebCore::FilterContextOpenCL::commandQueue):
1479         (RunKernel):
1480         (WebCore::FilterContextOpenCL::RunKernel::RunKernel):
1481         (WebCore::FilterContextOpenCL::RunKernel::addArgument):
1482         (WebCore::FilterContextOpenCL::RunKernel::run):
1483         (WebCore::FilterContextOpenCL::kernelByName): Returns the reference of a function in the OpenCL program.
1484         * platform/graphics/gpu/opencl/OpenCLFESourceAlpha.cpp: Added.
1485         (WebCore):
1486         (WebCore::SourceAlpha::platformApplyOpenCL):
1487         * platform/graphics/gpu/opencl/OpenCLFESourceGraphic.cpp: Added.
1488         (WebCore):
1489         (WebCore::SourceGraphic::platformApplyOpenCL):
1490         * platform/graphics/gpu/opencl/OpenCLFETurbulence.cpp: Added.
1491         (WebCore):
1492         (WebCore::FilterContextOpenCL::compileFETurbulence):
1493         (WebCore::FilterContextOpenCL::applyFETurbulence):
1494         (WebCore::FETurbulence::platformApplyOpenCL):
1495         * platform/graphics/gpu/opencl/OpenCLHandle.h: Added.
1496         (WebCore):
1497         (OpenCLHandle):
1498         (WebCore::OpenCLHandle::OpenCLHandle):
1499         (WebCore::OpenCLHandle::operator cl_mem):
1500         (WebCore::OpenCLHandle::operator=):
1501         (WebCore::OpenCLHandle::operator UnspecifiedBoolType):
1502         (WebCore::OpenCLHandle::handleAddress):
1503         (WebCore::OpenCLHandle::clear):
1504
1505 2012-11-26  'Pavel Feldman'  <pfeldman@chromium.org>
1506
1507         Not reviewed: follow up for r135720, fixing node highlight.
1508
1509         * inspector/InspectorOverlayPage.html:
1510
1511 2012-11-26  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
1512
1513         [EFL] Crashes in compositing layout tests with AC on.
1514         https://bugs.webkit.org/show_bug.cgi?id=103144
1515
1516         Reviewed by Noam Rosenthal.
1517
1518         Application could leave texture packing parameters in non-zero state before
1519         texture mapper drawing/texture uploading. To avoid crash texture upload should
1520         specify packing parameters before each texture upload if packing is supported.
1521
1522         Covered by existing tests.
1523
1524         * platform/graphics/texmap/TextureMapperGL.cpp:
1525         (WebCore::BitmapTextureGL::updateContentsNoSwizzle):
1526
1527 2012-11-26  George Staikos  <staikos@webkit.org>
1528
1529         [BlackBerry] Remove a lot of unnecessary and incorrect code causing crashes
1530         https://bugs.webkit.org/show_bug.cgi?id=103199
1531
1532         Reviewed by Yong Li.
1533
1534         This is the first big step to unforking this code.  It's very close to
1535         where it needs to be now, but the first step is to get rid of the
1536         crashes by deleting code that isn't needed and makes bad assumptions
1537         about object lifetime.  Crashes were found by automation without
1538         test case or reproduction steps.
1539
1540         * loader/blackberry/CookieJarBlackBerry.cpp:
1541         (WebCore::cookies): delete most code
1542         (WebCore::setCookies): delete most code
1543
1544 2012-11-26  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1545
1546         Viewport CSS rules should not clamp values like Viewport META
1547         https://bugs.webkit.org/show_bug.cgi?id=103068
1548
1549         Reviewed by Kenneth Rohde Christiansen.
1550
1551         CSS Device Adaption does not clamp the length and zoom values the
1552         same way as the Viewport META. In fact, they are not clamped at all,
1553         but instead, we just make sure that length values are at least 1px.
1554
1555         Tests: css3/device-adapt/opera/constrain-018.xhtml
1556                css3/device-adapt/opera/constrain-019.xhtml
1557                css3/device-adapt/opera/constrain-023.xhtml
1558                css3/device-adapt/opera/constrain-024.xhtml
1559
1560         * dom/ViewportArguments.cpp:
1561         (WebCore::ViewportArguments::resolve):
1562
1563 2012-11-26  Mike West  <mkwst@chromium.org>
1564
1565         Web Inspector: URLs containing '^' are improperly linked in console messages.
1566         https://bugs.webkit.org/show_bug.cgi?id=103248
1567
1568         Reviewed by Yury Semikhatsky.
1569
1570         This patch adds '^' to WebInspector's regex of acceptable characters for
1571         URLs that it knows how to display.
1572
1573         Test: http/tests/inspector/network/script-as-text-loading-with-caret.html
1574
1575         * inspector/front-end/ResourceUtils.js:
1576         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
1577
1578 2012-11-26  Yury Semikhatsky  <yurys@chromium.org>
1579
1580         Unreviewed. Fix Qt minimal compilation after r135713.
1581
1582         * inspector/InspectorController.h: hid file content behind ENABLE(INSPECTOR)
1583
1584 2012-11-26  Pavel Feldman  <pfeldman@chromium.org>
1585
1586         Web Inspector: object preview does not render node id, className; logs too many functions for jQuery.
1587         https://bugs.webkit.org/show_bug.cgi?id=103222
1588
1589         Reviewed by Yury Semikhatsky.
1590
1591         - Added node class name and id into the preview
1592         - Now keeps track of properties separately from array indexes.
1593
1594         * inspector/InjectedScriptSource.js:
1595         (.):
1596         * inspector/InspectorOverlayPage.html:
1597         * inspector/front-end/ConsoleMessage.js:
1598         (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
1599         (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreview):
1600
1601 2012-11-26  Florin Malita  <fmalita@chromium.org>
1602
1603         RenderSVGResourceContainer does not clear cached data on removal
1604         https://bugs.webkit.org/show_bug.cgi?id=102620
1605
1606         Reviewed by Dirk Schulze.
1607
1608         RenderSVGResourceContainer::removeClient needs to also remove the client from specialized
1609         caches, otherwise we can end up with stale references.
1610
1611         Test: svg/custom/stale-resource-data-crash.svg
1612
1613         * rendering/svg/RenderSVGResourceContainer.cpp:
1614         (WebCore::RenderSVGResourceContainer::removeClient):
1615
1616 2012-11-26  'Pavel Feldman'  <pfeldman@chromium.org>
1617
1618         Not reviewed: rolling out r135714 and r135712 for breaking debug tests.
1619
1620         * inspector/InjectedScriptSource.js:
1621         (.):
1622         * inspector/InspectorOverlayPage.html:
1623         * inspector/front-end/ConsoleMessage.js:
1624         (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
1625
1626 2012-11-26  Zeno Albisser  <zeno@webkit.org>
1627
1628         [Qt][Win] buildfix after r135706.
1629         https://bugs.webkit.org/show_bug.cgi?id=103249
1630
1631         The Windows implementation of GraphicsSurface cannot use
1632         m_size anymore, as this member has been removed.
1633         Further it needs to implement a platformSize() function.
1634
1635         Reviewed by Kenneth Rohde Christiansen.
1636
1637         * platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:
1638         (WebCore::GraphicsSurfacePrivate::size):
1639         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
1640         (WebCore::GraphicsSurface::platformSize):
1641         (WebCore):
1642
1643 2012-11-26  Yury Semikhatsky  <yurys@chromium.org>
1644
1645         Web Inspector: unify agents handling in Page and Worker inspector controllers
1646         https://bugs.webkit.org/show_bug.cgi?id=103238
1647
1648         Reviewed by Alexander Pavlov.
1649
1650         Introduced a class that represents a collection of inspector agents and allows
1651         to call methods declared on InspectorAgentBaseInterface for all registered agents.
1652         InspectorController and WorkerInspectorController switched to this class.
1653
1654         * inspector/InspectorBaseAgent.cpp:
1655         (WebCore::InspectorAgentRegistry::append):
1656         (WebCore):
1657         (WebCore::InspectorAgentRegistry::setFrontend):
1658         (WebCore::InspectorAgentRegistry::clearFrontend):
1659         (WebCore::InspectorAgentRegistry::restore):
1660         (WebCore::InspectorAgentRegistry::registerInDispatcher):
1661         (WebCore::InspectorAgentRegistry::discardAgents):
1662         * inspector/InspectorBaseAgent.h:
1663         (InspectorAgentRegistry):
1664         (WebCore):
1665         * inspector/InspectorController.cpp:
1666         (WebCore::InspectorController::~InspectorController):
1667         (WebCore::InspectorController::connectFrontend):
1668         (WebCore::InspectorController::disconnectFrontend):
1669         (WebCore::InspectorController::reconnectFrontend):
1670         * inspector/InspectorController.h:
1671         (InspectorController):
1672
1673 2012-11-26  Pavel Feldman  <pfeldman@chromium.org>
1674
1675         Web Inspector: object preview does not render node id, className; logs too many functions for jQuery.
1676         https://bugs.webkit.org/show_bug.cgi?id=103222
1677
1678         Reviewed by Yury Semikhatsky.
1679
1680         - Added node class name and id into the preview
1681         - Now keeps track of properties separately from array indexes.
1682
1683         * inspector/InjectedScriptSource.js:
1684         (.):
1685         * inspector/InspectorOverlayPage.html:
1686         * inspector/front-end/ConsoleMessage.js:
1687         (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
1688         (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreview):
1689
1690 2012-11-26  Andrey Adaikin  <aandrey@chromium.org>
1691
1692         Web Inspector: [WebGL] Save WebGL extensions and restore on replay
1693         https://bugs.webkit.org/show_bug.cgi?id=103141
1694
1695         Reviewed by Yury Semikhatsky.
1696
1697         Save WebGL extensions that were enabled by the application, and restore it before the replay.
1698         Drive-by: remove redundant if- checks in WebGL custom function wrappers (similar to 2D canvas).
1699
1700         * inspector/InjectedScriptCanvasModuleSource.js:
1701         (.):
1702
1703 2012-11-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1704
1705         HitTestResult should not be a HitTestLocation
1706         https://bugs.webkit.org/show_bug.cgi?id=101590
1707
1708         Reviewed by Sam Weinig.
1709
1710         Change HitTestResult from being a HitTestLocation to having a HitTestLocation. 
1711         A result of a test should not be a special case of the location of the test.
1712
1713         No change in functionality. No new tests.
1714
1715         * rendering/HitTestResult.cpp:
1716         (WebCore::HitTestResult::HitTestResult):
1717         (WebCore::HitTestResult::operator=):
1718         (WebCore::HitTestResult::isSelected):
1719         (WebCore::HitTestResult::spellingToolTip):
1720         (WebCore::HitTestResult::replacedString):
1721         * rendering/HitTestResult.h:
1722         (WebCore::HitTestResult::isRectBasedTest):
1723         (WebCore::HitTestResult::pointInInnerNodeFrame):
1724         (WebCore::HitTestResult::hitTestLocation):
1725         (HitTestResult):
1726
1727 2012-11-26  Marja Hölttä  <marja@chromium.org>
1728
1729         Circular reference between Document and MediaQueryMatcher.
1730         https://bugs.webkit.org/show_bug.cgi?id=103242
1731
1732         Reviewed by Kenneth Rohde Christiansen.
1733
1734         It's not enough to clean up listeners in MediaQueryMatcher in ~Document,
1735         since MediaQueryListListener keeps the Document alive. This caused
1736         www.crbug.com/113983.
1737
1738         No new tests: No visible change in behavior (except that it doesn't leak memory).
1739
1740         * dom/Document.cpp:
1741         (WebCore::Document::~Document):
1742         (WebCore::Document::detach):
1743
1744 2012-11-26  Eugene Klyuchnikov  <eustas@chromium.org>
1745
1746         Web Inspector: HeapProfiler: remove snapshotView reference from data-grids.
1747         https://bugs.webkit.org/show_bug.cgi?id=103240
1748
1749         Reviewed by Yury Semikhatsky.
1750
1751         Cleanup: remove redundant dependency.
1752
1753         * inspector/front-end/HeapSnapshotDataGrids.js: Do not store view ref.
1754         * inspector/front-end/HeapSnapshotGridNodes.js:
1755         Removed unused assignments.
1756         * inspector/front-end/HeapSnapshotView.js:
1757         Do not pass self to data-grids.
1758
1759 2012-11-26  Zeno Albisser  <zeno@webkit.org>
1760
1761         GraphicsSurface should only store its size in a single place.
1762         https://bugs.webkit.org/show_bug.cgi?id=103143
1763
1764         Reviewed by Kenneth Rohde Christiansen.
1765
1766         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1767         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
1768             Cosmetics only.
1769         * platform/graphics/surfaces/GraphicsSurface.cpp:
1770         (WebCore::GraphicsSurface::size):
1771             Return the size as received from the platform abstraction.
1772         (WebCore):
1773         (WebCore::GraphicsSurface::GraphicsSurface):
1774         * platform/graphics/surfaces/GraphicsSurface.h:
1775         (GraphicsSurface):
1776             Remove data member m_size.
1777         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
1778         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
1779             Always take the size of the GraphicsSurface as an argument.
1780         (WebCore::GraphicsSurfacePrivate::size):
1781         (GraphicsSurfacePrivate):
1782         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
1783             Retrieve the size from GraphicsSurfacePrivate where necessary.
1784         (WebCore::GraphicsSurface::platformSize):
1785         (WebCore):
1786         (WebCore::GraphicsSurface::platformImport):
1787         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
1788         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
1789             Add a constructor that takes a window id as an argument
1790             for the receiving side of the GraphcisSurface.
1791             The GraphicsSurface can then determine its dimensions
1792             from the provided XWindow.
1793         (WebCore::GraphicsSurfacePrivate::createPixmap):
1794         (WebCore::GraphicsSurfacePrivate::size):
1795             Query the size of the GraphicsSurface backing from X.
1796         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
1797             Retrieve the size from GraphicsSurfacePrivate where necessary.
1798         (WebCore::GraphicsSurface::platformSize):
1799         (WebCore):
1800         (WebCore::GraphicsSurface::platformImport):
1801
1802 2012-11-26  Thiago Santos  <thiago.sousa.santos@collabora.com>
1803
1804         [GStreamer] Floating reference handling fix
1805         https://bugs.webkit.org/show_bug.cgi?id=101349
1806
1807         Reviewed by Philippe Normand.
1808
1809         GStreamer 0.10 and 1.0 differ when creating GstGhostPad from pad
1810         templates, the 1.0 doesn't take ownership on the passed
1811         GstPadTemplate, while 0.10 does. So this patch adds a
1812         GStreamerVersioning function to handle this different approach
1813         transparently in Webkit gstreamer elements.
1814
1815         Existing media tests cover this change.
1816
1817         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1818         (webkit_web_audio_src_init):
1819         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
1820         (webkitGstGhostPadFromStaticTemplate):
1821         * platform/graphics/gstreamer/GStreamerVersioning.h:
1822         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1823         (webkit_web_src_init):
1824
1825 2012-11-26  Kentaro Hara  <haraken@chromium.org>
1826
1827         [V8] Remove WorkerContextExecutionProxy
1828         https://bugs.webkit.org/show_bug.cgi?id=103210
1829
1830         Reviewed by Adam Barth.
1831
1832         This patch moves all methods in WorkerContextExecutionProxy
1833         to WorkerScriptController.
1834
1835         Due to the dependency between WorkerContextExecutionProxy's methods,
1836         it is a bit difficult to split this patch into pieces.
1837         This patch simply moves methods without changing their logic.
1838         Also this patch doesn't remove empty WorkerContextExecutionProxy.{h,cpp}
1839         to keep the diff sane. I will address these issues in a follow-up patch.
1840
1841         Tests: fast/worker/*
1842
1843         * bindings/v8/ScriptState.cpp:
1844         (WebCore::scriptStateFromWorkerContext):
1845         * bindings/v8/V8Binding.cpp:
1846         (WebCore::toV8Context):
1847         * bindings/v8/V8WorkerContextEventListener.cpp:
1848         (WebCore::V8WorkerContextEventListener::handleEvent):
1849         * bindings/v8/WorkerContextExecutionProxy.cpp:
1850         * bindings/v8/WorkerContextExecutionProxy.h:
1851         * bindings/v8/WorkerScriptController.cpp:
1852         (WebCore::WorkerScriptController::WorkerScriptController):
1853         (WebCore::WorkerScriptController::~WorkerScriptController):
1854         (WebCore::WorkerScriptController::dispose):
1855         (WebCore):
1856         (WebCore::WorkerScriptController::initializeIfNeeded):
1857         (WebCore::WorkerScriptController::evaluate):
1858         (WebCore::WorkerScriptController::setEvalAllowed):
1859         (WebCore::WorkerScriptController::disableEval):
1860         * bindings/v8/WorkerScriptController.h:
1861         (WebCore):
1862         (WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
1863         (WorkerContextExecutionState):
1864         (WorkerScriptController):
1865         (WebCore::WorkerScriptController::context):
1866         * bindings/v8/WorkerScriptDebugServer.cpp:
1867         (WebCore::WorkerScriptDebugServer::addListener):
1868         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1869         (WebCore::SetTimeoutOrInterval):
1870         (WebCore::toV8):
1871
1872 2012-11-26  Hajime Morrita  <morrita@google.com>
1873
1874         [Refactoring] Some Node::isDescendant calls can be replaced with Node::contains()
1875         https://bugs.webkit.org/show_bug.cgi?id=103211
1876
1877         Reviewed by Daniel Bates.
1878
1879         A couple of call sites of isDescendant() does same as Node::contains().
1880         This change replaces these locations with Node::contains().
1881
1882         No new tests, no behavior change.
1883
1884         * dom/Node.cpp:
1885         (WebCore::checkAcceptChild):
1886         * dom/Range.cpp:
1887         (WebCore::Range::surroundContents):
1888
1889 2012-11-26  Kunihiko Sakamoto  <ksakamoto@chromium.org>
1890
1891         [Chromium] Enable input type datetime-local
1892         https://bugs.webkit.org/show_bug.cgi?id=103213
1893
1894         Reviewed by Kent Tamura.
1895
1896         This patch enables <input type=datetime-local> for Chromium.
1897
1898         No new tests. Covered by existing tests.
1899
1900         * bindings/generic/RuntimeEnabledFeatures.cpp:
1901         (WebCore): Changed RuntimeEnabledFeatures::isInputTypeDateTimeLocalEnabled to true
1902         if INPUT_TYPE_DATETIMELOCAL is enabled.
1903
1904 2012-11-26  Hajime Morrita  <morrita@google.com>
1905
1906         [Shadow DOM] Implement Element::createShadowRoot()
1907         https://bugs.webkit.org/show_bug.cgi?id=102911
1908
1909         Reviewed by Kentaro Hara.
1910
1911         Added an API implementation and exposed it.
1912
1913         This is basically an alias of the ShadowRoot constructor, which
1914         will be removed as bug 102913.
1915
1916         Test: fast/dom/shadow/shadow-aware-create-shdow-root.html
1917
1918         * bindings/gobject/GNUmakefile.am:
1919         * dom/Element.cpp:
1920         (WebCore::Element::createShadowRoot):
1921         (WebCore):
1922         * dom/Element.h:
1923         (Element):
1924         * dom/Element.idl:
1925
1926 2012-11-26  Jon Lee  <jonlee@apple.com>
1927
1928         Extend EventDispatcher::dispatchSimulatedClick to allow sending a mouseover event
1929         https://bugs.webkit.org/show_bug.cgi?id=102610
1930         <rdar://problem/12725663>
1931
1932         Reviewed by Darin Adler.
1933
1934         Update the dispatchSimulatedClick() to take option enums for dispatching events.
1935
1936         * dom/SimulatedClickOptions.h: Added. Define two options enums. One tracks which mouse
1937         events to send. The other determines whether to force the element to repaint.
1938
1939         * dom/EventDispatcher.cpp:
1940         (WebCore::EventDispatcher::dispatchSimulatedClick): Refactor to use the option enums.
1941         * dom/EventDispatcher.h:
1942         (EventDispatcher): Update function signature.
1943
1944         * dom/Node.cpp: Refactor parameters to use the options enums rather than booleans.
1945         (WebCore::Node::dispatchSimulatedClick):
1946         * dom/Node.h:
1947
1948         Refactor. Remove redundant comments.
1949         * html/BaseCheckableInputType.cpp:
1950         (WebCore::BaseCheckableInputType::accessKeyAction):
1951         * html/BaseClickableWithKeyInputType.cpp:
1952         (WebCore::BaseClickableWithKeyInputType::accessKeyAction):
1953         * html/HTMLAnchorElement.cpp:
1954         (WebCore::HTMLAnchorElement::accessKeyAction):
1955         * html/HTMLButtonElement.cpp:
1956         (WebCore::HTMLButtonElement::accessKeyAction):
1957         * html/HTMLElement.cpp:
1958         (WebCore::HTMLElement::click):
1959         (WebCore::HTMLElement::accessKeyAction):
1960         * html/HTMLSelectElement.cpp:
1961         (WebCore::HTMLSelectElement::accessKeyAction):
1962         * html/RadioInputType.cpp:
1963         (WebCore::RadioInputType::handleKeydownEvent):
1964         * html/RangeInputType.cpp:
1965         (WebCore::RangeInputType::accessKeyAction):
1966
1967         Add SimulatedClickOptions.h.
1968         * GNUmakefile.list.am:
1969         * Target.pri:
1970         * WebCore.gypi:
1971         * WebCore.vcproj/WebCore.vcproj:
1972         * WebCore.xcodeproj/project.pbxproj:
1973
1974 2012-11-26  Shinya Kawanaka  <shinyak@chromium.org>
1975
1976         [Shadow] Attaching children of a shadow host takes O(N^2) where N is the number of host children
1977         https://bugs.webkit.org/show_bug.cgi?id=103017
1978
1979         Reviewed by Hajime Morita.
1980
1981         Since ContentDistribution was just a Vector, ContentDistribution::find() took O(N). Each child of shadow host calls it.
1982         As a result, attaching children of shadow host takes O(N^2) at all.
1983
1984         In this patch, we make ContentDistribution::find() O(1) amortizedly. We introduce HashMap from a Node to Vector index,
1985         and use it for ContentDistribution::find().
1986
1987         No new tests, covered by existing tests.
1988
1989         * html/shadow/ContentDistributor.cpp:
1990         (WebCore::ContentDistribution::swap):
1991         (WebCore):
1992         (WebCore::ContentDistribution::append):
1993         (WebCore::ContentDistribution::find):
1994         (WebCore::ContentDistributor::distributeSelectionsTo):
1995         * html/shadow/ContentDistributor.h:
1996         (ContentDistribution): ContentDistribution now contains Vector and a reverse map.
1997         (WebCore::ContentDistribution::first):
1998         (WebCore::ContentDistribution::last):
1999         (WebCore::ContentDistribution::at):
2000         (WebCore::ContentDistribution::size):
2001         (WebCore::ContentDistribution::isEmpty):
2002         (WebCore::ContentDistribution::clear):
2003         (WebCore::ContentDistribution::contains):
2004         (WebCore::ContentDistribution::nodes):
2005
2006 2012-11-26  Dan Carney  <dcarney@google.com>
2007
2008         [V8] Give isolated shells a lifecycle like that of main shells
2009         https://bugs.webkit.org/show_bug.cgi?id=96522
2010
2011         Reviewed by Adam Barth.
2012
2013         Refactored the isolated shells in ScriptController
2014         to be cleaned up the same way the main shell is.
2015
2016         No new tests. No change in functionality.
2017
2018         * bindings/v8/ScriptController.cpp:
2019         (WebCore::ScriptController::~ScriptController):
2020         (WebCore::ScriptController::clearForOutOfMemory):
2021         (WebCore::ScriptController::clearForClose):
2022         (WebCore::ScriptController::clearWindowShell):
2023         * bindings/v8/ScriptController.h:
2024         (ScriptController):
2025         * bindings/v8/V8DOMWindowShell.cpp:
2026         (WebCore::V8DOMWindowShell::destroyIsolatedShell):
2027         (WebCore::V8DOMWindowShell::clearForClose):
2028         * bindings/v8/V8DOMWindowShell.h:
2029         (V8DOMWindowShell):
2030
2031 2012-11-25  Sheriff Bot  <webkit.review.bot@gmail.com>
2032
2033         Unreviewed, rolling out r135656.
2034         http://trac.webkit.org/changeset/135656
2035         https://bugs.webkit.org/show_bug.cgi?id=103218
2036
2037         Made a few SVG tests crash on all platforms (Requested by
2038         apavlov on #webkit).
2039
2040         * css/CSSComputedStyleDeclaration.cpp:
2041         (WebCore::valueForFamily):
2042         * css/CSSValuePool.cpp:
2043         (WebCore::CSSValuePool::createFontFamilyValue):
2044
2045 2012-11-25  Takashi Sakamoto  <tasak@google.com>
2046
2047         WebCore::RenderBlock::determineStartPosition crash
2048         https://bugs.webkit.org/show_bug.cgi?id=98993
2049
2050         Reviewed by Brent Fulgham.
2051
2052         If we move some node and the node has some text,
2053         InlineFlowBox::removeChild() is invoked. The method invokes
2054         RootInlineBox::childRemoved(). childRemoved() checks whether the
2055         removed inlinebox has the renderer of its parent's line break object.
2056         If so, use setLineBreakInfo to make the parent's line break info to
2057         be 0. However in RenderBlock::determineStartPosition(), the code
2058         assume that all line break info is solved, i.e.
2059         prevRootBox->lineBreakObj()->isText(). Since lineBreakObj() returns 0
2060         because of removeChild(), determineStartPosition crash occurs.
2061
2062         Test: fast/inline/inline-box-append-child-crash.html
2063
2064         * rendering/RenderBlockLineLayout.cpp:
2065         (WebCore::RenderBlock::determineStartPosition):
2066         Checks whether lineBreakObj() is 0 or not before using lineBreakObj().
2067
2068 2012-11-25  Nikita Vasilyev  <me@elv1s.ru>
2069
2070         Web Inspector: use native Element.prototype.normalize instead of custom defined Element.prototype.pruneEmptyTextNodes
2071         https://bugs.webkit.org/show_bug.cgi?id=103205
2072
2073         Reviewed by Pavel Feldman.
2074
2075         * inspector/front-end/DOMExtension.js:
2076         * inspector/front-end/TextPrompt.js:
2077         (WebInspector.TextPrompt.prototype.clearAutoComplete):
2078         (WebInspector.TextPrompt.prototype._completionsReady):
2079         (WebInspector.TextPrompt.prototype.applySuggestion):
2080
2081 2012-11-25  Nikita Vasilyev  <me@elv1s.ru>
2082
2083         Web Inspector: remove unused DOM methods
2084         https://bugs.webkit.org/show_bug.cgi?id=103204
2085
2086         Reviewed by Pavel Feldman.
2087
2088         * inspector/front-end/DOMExtension.js:
2089
2090 2012-11-25  Nikita Vasilyev  <me@elv1s.ru>
2091
2092         Web Inspector: Remove unused Array.convert method
2093         https://bugs.webkit.org/show_bug.cgi?id=103202
2094
2095         Reviewed by Daniel Bates.
2096
2097         * inspector/front-end/utilities.js:
2098
2099 2012-11-25  Chris Fleizach  <cfleizach@apple.com>
2100
2101         AX: file upload input cannot be activated with VoiceOver
2102         https://bugs.webkit.org/show_bug.cgi?id=100343
2103
2104         Reviewed by Sam Weinig.
2105
2106         Simulated events were not allowed to be processed in the file input type in the DOMActivate handler.
2107         This was a problem for accessibility clients which rely on simulated events.
2108
2109         The solution is to mark the UserGestureIndicator as definitely processing an event.
2110
2111         Test: accessibility/file-upload-button-with-axpress.html
2112
2113         * accessibility/AccessibilityObject.cpp:
2114         (WebCore::AccessibilityObject::press):
2115
2116 2012-11-25  Nikita Vasilyev  <me@elv1s.ru>
2117
2118         Web Inspector: dispatch an event upon heap snapshot filter change
2119         https://bugs.webkit.org/show_bug.cgi?id=103201
2120
2121         Reviewed by Pavel Feldman.
2122
2123         Dispatch heapSnapshotFilterChanged event so it can be received by third parties.
2124
2125         * inspector/front-end/HeapSnapshotView.js:
2126         (WebInspector.HeapSnapshotView.prototype._changeFilter):
2127         * inspector/front-end/UserMetrics.js:
2128
2129 2012-11-25  Kent Tamura  <tkent@chromium.org>
2130
2131         Refactoring: Move the content of HTMLInputElement::subtreeHasChanged to TextFieldInputType
2132         https://bugs.webkit.org/show_bug.cgi?id=103195
2133
2134         Reviewed by Kentaro Hara.
2135
2136         HTMLInputElement::subtreeHasChanged is called only if the input is
2137         a text field. The code should be moved to TextFieldInputType.
2138
2139         No new tests. This should not change any behavior.
2140
2141         * html/HTMLInputElement.cpp:
2142         - Remove unnecessary NumberInputType.h inclusion.
2143         - Remove convertFromVisibleValue. It was used only by subtreeHasChanged.
2144         (WebCore::HTMLInputElement::subtreeHasChanged):
2145         Move the code to TextFieldInputType::subtreeHasChanged except
2146         calculateAndAdjustDirectionality, which is a protected member of
2147         HTMLElement.
2148         * html/HTMLInputElement.h:
2149         (HTMLInputElement): Remove convertFromVisibleValue.
2150
2151         * html/InputType.cpp:
2152         Move convertFromVisibleValue to TextFieldInputType.
2153         (WebCore::InputType::subtreeHasChanged):
2154         Add ASSERT_NOT_REACHED.
2155         * html/InputType.h:
2156         (InputType): Remove convertFromVisibleValue.
2157
2158         * html/TextFieldInputType.cpp:
2159         (WebCore::TextFieldInputType::convertFromVisibleValue):
2160         Moved from InputType.
2161         (WebCore::TextFieldInputType::subtreeHasChanged):
2162         Moved from HTMLInputElement. A latter part is moved to
2163         didSetValueByUserEdit to be hooked by SearchInputType.
2164         (WebCore::TextFieldInputType::didSetValueByUserEdit):
2165         Moved from HTMLInputElement::subtreeHasChanged, and clean up the code.
2166         * html/TextFieldInputType.h:
2167         (TextFieldInputType):
2168         - Move convertFromVisibleValue from InputType.
2169         - Add didSetValueByUserEdit and subtreeHasChanged.
2170
2171         * html/SearchInputType.cpp:
2172         (WebCore::SearchInputType::didSetValueByUserEdit):
2173         Renamed from subtreeHasChanged, and calls TextFieldInputType::didSetValueByUserEdit.
2174         * html/SearchInputType.h:
2175         (SearchInputType): Rename subtreeHasChanged to didSetValueByUserEdit.
2176
2177 2012-11-22  Kentaro Hara  <haraken@chromium.org>
2178
2179         [V8] Move WorkerExecutionContextProxy::initializeIfNeeded() to V8Initializer
2180         https://bugs.webkit.org/show_bug.cgi?id=103061
2181
2182         Reviewed by Adam Barth.
2183
2184         This is an incremental step to remove WorkerExecutionContextProxy.
2185         This patch moves WorkerExecutionContextProxy::initializeIfNeeded() to V8Initializer.
2186         This patch also renames methods so that the names become consistent
2187         between the main thread and workers.
2188
2189         No tests. No change in behavior.
2190
2191         * bindings/v8/V8Initializer.cpp:
2192         (WebCore::reportFatalErrorInMainThread):
2193         (WebCore::messageHandlerInMainThread):
2194         (WebCore::failedAccessCheckCallbackInMainThread):
2195         (WebCore::V8Initializer::initializeMainThreadIfNeeded):
2196         (WebCore::reportFatalErrorInWorker):
2197         (WebCore):
2198         (WebCore::messageHandlerInWorker):
2199         (WebCore::V8Initializer::initializeWorkerIfNeeded):
2200         * bindings/v8/V8Initializer.h:
2201         (V8Initializer):
2202         * bindings/v8/WorkerContextExecutionProxy.cpp:
2203         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
2204         * bindings/v8/WorkerContextExecutionProxy.h:
2205         (WorkerContextExecutionProxy):
2206
2207 2012-11-25  Christophe Dumez  <christophe.dumez@intel.com>
2208
2209         [EFL] Refactor RenderThemeEfl::ThemePartCacheEntry::reuse()
2210         https://bugs.webkit.org/show_bug.cgi?id=103189
2211
2212         Reviewed by Kenneth Rohde Christiansen.
2213
2214         Check if the entry size and type changed in
2215         RenderThemeEfl::ThemePartCacheEntry::reuse() to avoid
2216         useless processing if one of them did not change.
2217
2218         Remove useless call to cairo_surface_finish() since
2219         we are using a smart pointer for the surface.
2220
2221         Resize the edge object *after* loading its content
2222         from the theme file as it seems more logical this
2223         way.
2224
2225         No new tests, no behavior change for layout tests.
2226
2227         * platform/efl/RenderThemeEfl.cpp:
2228         (WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):
2229         * platform/efl/RenderThemeEfl.h:
2230         (ThemePartCacheEntry):
2231
2232 2012-11-25  Ryosuke Niwa  <rniwa@webkit.org>
2233
2234         Rename DynamicNodeList to LiveNodeList
2235         https://bugs.webkit.org/show_bug.cgi?id=103197
2236
2237         Reviewed by Ojan Vafai.
2238
2239         Rename DynamicNodeList to LiveNodeList to match the terminology used in DOM4 working draft:
2240         http://www.w3.org/TR/2012/WD-dom-20120405/#concept-collection-live
2241         "A collection (either NodeList or HTMLCollection) can be either live or static".
2242
2243         Also rename DynamicNodeListCacheBase to LiveNodeListBase, and merge DynamicSubtreeNodeList
2244         into LiveNodeList (old DynamicNodeList) now that the only difference between those two classes
2245         is the former calling registerNodeListCache and unregisterNodeListCache on Document.
2246
2247         This patch completes the series of simplification of NodeList/HTMLCollection classes.
2248
2249         * CMakeLists.txt:
2250         * GNUmakefile.list.am:
2251         * Target.pri:
2252         * WebCore.gypi:
2253         * WebCore.xcodeproj/project.pbxproj:
2254         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2255         (WebCore::getNamedItems):
2256         * bindings/js/JSNodeListCustom.cpp:
2257         (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
2258         * bindings/v8/custom/V8NodeListCustom.cpp:
2259         (WebCore::V8NodeList::opaqueRootForGC):
2260         * dom/ChildNodeList.cpp:
2261         (WebCore::ChildNodeList::ChildNodeList):
2262         (WebCore::ChildNodeList::nodeMatches):
2263         * dom/ChildNodeList.h:
2264         * dom/ClassNodeList.cpp:
2265         (WebCore::ClassNodeList::ClassNodeList):
2266         * dom/ClassNodeList.h:
2267         * dom/DOMAllInOne.cpp:
2268         * dom/Document.cpp:
2269         (WebCore::Document::registerNodeListCache):
2270         (WebCore::Document::unregisterNodeListCache):
2271         (WebCore):
2272         * dom/Document.h:
2273         (WebCore):
2274         (Document):
2275         * dom/DynamicNodeList.cpp: Removed.
2276         * dom/DynamicNodeList.h: Removed.
2277         * dom/LiveNodeList.cpp: Copied from Source/WebCore/dom/DynamicNodeList.cpp.
2278         (WebCore::LiveNodeListBase::rootNode):
2279         (WebCore::LiveNodeListBase::invalidateCache):
2280         (WebCore::LiveNodeListBase::invalidateIdNameCacheMaps):
2281         (WebCore::LiveNodeListBase::reportMemoryUsage):
2282         (WebCore::LiveNodeList::namedItem):
2283         * dom/LiveNodeList.h: Copied from Source/WebCore/dom/DynamicNodeList.h.
2284         (WebCore::LiveNodeListBase::LiveNodeListBase):
2285         (WebCore::LiveNodeListBase::shouldInvalidateTypeOnAttributeChange):
2286         (WebCore::LiveNodeList::LiveNodeList):
2287         (WebCore::LiveNodeList::~LiveNodeList):
2288         (LiveNodeList):
2289         * dom/MicroDataItemList.cpp:
2290         (WebCore::MicroDataItemList::MicroDataItemList):
2291         * dom/MicroDataItemList.h:
2292         * dom/NameNodeList.cpp:
2293         (WebCore::NameNodeList::NameNodeList):
2294         * dom/NameNodeList.h:
2295         * dom/Node.cpp:
2296         (WebCore::shouldInvalidateNodeListCachesForAttr):
2297         (WebCore::Document::invalidateNodeListCaches):
2298         * dom/Node.h:
2299         (WebCore):
2300         * dom/NodeList.h:
2301         (WebCore::NodeList::isLiveNodeList):
2302         * dom/NodeRareData.h:
2303         (NodeListsNodeData):
2304         (WebCore::NodeListsNodeData::removeCacheWithAtomicName):
2305         (WebCore::NodeListsNodeData::removeCacheWithName):
2306         (WebCore::NodeListsNodeData::removeCacheWithQualifiedName):
2307         (WebCore::NodeListsNodeData::adoptTreeScope):
2308         * dom/PropertyNodeList.cpp:
2309         (WebCore::PropertyNodeList::PropertyNodeList):
2310         * dom/PropertyNodeList.h:
2311         * dom/TagNodeList.cpp:
2312         (WebCore::TagNodeList::TagNodeList):
2313         * dom/TagNodeList.h:
2314         * html/HTMLCollection.cpp:
2315         (WebCore::HTMLCollection::HTMLCollection):
2316         (WebCore::LiveNodeListBase::iterateForNextNode):
2317         (WebCore::LiveNodeListBase::itemBeforeOrAfter):
2318         (WebCore::LiveNodeListBase::itemBefore):
2319         (WebCore::LiveNodeListBase::itemAfter):
2320         (WebCore::LiveNodeListBase::isLastItemCloserThanLastOrCachedItem):
2321         (WebCore::LiveNodeListBase::isFirstItemCloserThanCachedItem):
2322         (WebCore::LiveNodeListBase::setItemCache):
2323         (WebCore::LiveNodeListBase::length):
2324         (WebCore::LiveNodeListBase::item):
2325         (WebCore::LiveNodeListBase::itemBeforeOrAfterCachedItem):
2326         * html/HTMLCollection.h:
2327         * html/LabelsNodeList.cpp:
2328         (WebCore::LabelsNodeList::LabelsNodeList):
2329         * html/LabelsNodeList.h:
2330         * html/RadioNodeList.cpp:
2331         (WebCore::RadioNodeList::RadioNodeList):
2332         * html/RadioNodeList.h:
2333
2334 2012-10-08  Robert Hogan  <robert@webkit.org>
2335
2336         Changing position:relative to position:static results in mis-positioned div
2337         https://bugs.webkit.org/show_bug.cgi?id=26397
2338
2339         Reviewed by Ojan Vafai.
2340
2341         When a block changes position from relative to static it is no longer the containing block for any
2342         positioned objects it may have. If any of those positioned objects actually have a position specified
2343         they are going to need a layout as their new containing block will likely have a different location they
2344         need to offset from. Positioned objects without a specified position always get a layout anyway 
2345         in layoutPositionedObjects() so no need to worry about them in this situation. 
2346
2347         Test: fast/block/abspos-child-container-changes-from-relative-to-static-expected.html
2348
2349         * rendering/RenderBlock.cpp:
2350         (WebCore::RenderBlock::styleWillChange):
2351         (WebCore::RenderBlock::layoutPositionedObjects):
2352         (WebCore::RenderBlock::removePositionedObjects):
2353         * rendering/RenderBlock.h:
2354         (RenderBlock):
2355
2356 2012-11-24  Antti Koivisto  <antti@apple.com>
2357
2358         Make renderer construction less generic
2359         https://bugs.webkit.org/show_bug.cgi?id=103175
2360
2361         Reviewed by Ojan Vafai.
2362
2363         The renderer construction code currently operates on Nodes and is very generic. In reality
2364         only Element and Text nodes can have renderers and the Text case is much simpler.
2365
2366         This patch separates the Text and Element renderer construction paths and makes it statically
2367         known that other Node types can't have renderers. Less generic code is less branchy and enables
2368         further optimizations.
2369
2370         * dom/CharacterData.cpp:
2371         (WebCore::CharacterData::parserAppendData):
2372         (WebCore::CharacterData::setDataAndUpdate):
2373         (WebCore):
2374         (WebCore::CharacterData::rendererIsNeeded):
2375         (WebCore::CharacterData::createRenderer):
2376         
2377             Only Text subclass of CharacterData can have renderers.
2378
2379         * dom/CharacterData.h:
2380         (CharacterData):
2381         * dom/ContainerNode.h:
2382         (WebCore::ContainerNode::childShouldCreateRenderer):
2383         
2384             Move childShouldCreateRenderer from Node to ContainerNode.
2385
2386         (ContainerNode):
2387         * dom/Element.cpp:
2388         (WebCore::Element::rendererIsNeeded):
2389         (WebCore):
2390         (WebCore::Element::attach):
2391         (WebCore::Element::childShouldCreateRenderer):
2392         * dom/Element.h:
2393         
2394             Move rendererIsNeeded and createRenderer from Node to Element.
2395
2396         (Element):
2397         * dom/Node.cpp:
2398         (WebCore::Node::attach):
2399         (WebCore):
2400         * dom/Node.h:
2401         (Node):
2402         * dom/NodeRenderingContext.cpp:
2403         (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
2404         (WebCore::NodeRenderingContext::createRendererForTextIfNeeded):
2405         
2406             Separate the Element and Text renderer creation paths. Both are less branchy.
2407             The Text path is much simpler and avoids a bunch of virtual calls.
2408
2409         (WebCore):
2410         * dom/NodeRenderingContext.h:
2411         (NodeRenderingContext):
2412         * dom/Text.cpp:
2413         (WebCore::Text::textRendererIsNeeded):
2414         (WebCore::Text::createTextRendererIfNeeded):
2415         (WebCore):
2416         (WebCore::Text::createTextRenderer):
2417         (WebCore::Text::attach):
2418         (WebCore::Text::updateTextRenderer):
2419         * dom/Text.h:
2420         
2421                 Add non-virtual Text specific functions.
2422
2423         (WebCore):
2424         (Text):
2425         * rendering/RenderBlock.cpp:
2426         (WebCore::RenderBlock::clone):
2427
2428 2012-11-22  Ryosuke Niwa  <rniwa@webkit.org>
2429
2430         REGRESSION(r135493): HTMLCollection and DynamicNodeList have two vtable pointers
2431         https://bugs.webkit.org/show_bug.cgi?id=103096
2432
2433         Reviewed by Sam Weinig.
2434
2435         Co-authored by Ilya Tikhonovsky.
2436
2437         Made DynamicNodeListCacheBase inherit from NodeList. While HTMLCollection doesn't inherit
2438         from NodeList in IDL, it makes a lot of sense for the C++ implementation to do so via
2439         DynamicNodeListCacheBase since HTMLCollection and live NodeList share a lot of code in
2440         DynamicNodeListCacheBase.
2441
2442         This lets remove proxies for item() and length() in DynamicNodeList and HTMLCollection
2443         and directly implement them in DynamicNodeListCacheBase which used to provide itemCommon()
2444         and lengthCommon().
2445
2446         Also renamed NodeList::itemWithName() to NodeList::namedItem() to match HTMLCollection's
2447         naming convention.
2448
2449         Finally, removed reportMemoryUsage in DynamicNodeList::reportMemoryUsage since DynamicNodeList
2450         now uses single inheritance.
2451
2452         * bindings/js/JSNodeListCustom.cpp:
2453         (WebCore::JSNodeList::canGetItemsForName): Calls namedItem, which has been renamed from
2454         itemWithName.
2455         (WebCore::JSNodeList::nameGetter): Ditto.
2456         * bindings/v8/custom/V8NodeListCustom.cpp:
2457         (WebCore::V8NodeList::namedPropertyGetter): Ditto.
2458         * bindings/v8/custom/V8NamedNodesCollection.cpp:
2459         (WebCore::V8NamedNodesCollection::namedItem): Renamed from itemWithName.
2460         * bindings/v8/custom/V8NamedNodesCollection.h:
2461         * dom/ChildNodeList.cpp:
2462         (WebCore::ChildNodeList::nodeMatches): Updated comment.
2463         * dom/DynamicNodeList.cpp:
2464         (WebCore::DynamicNodeList::namedItem): Renamed from itemWithName.
2465         * dom/DynamicNodeList.h:
2466         (DynamicNodeListCacheBase): Inhertis from NodeList and renamed lengthCommon and itemCommon
2467         to virtual length and item respectively.
2468         (DynamicNodeList): Now inherits from just DynamicNodeListCacheBase instead of NodeList
2469         and DynamicNodeListCacheBase since the former now inhertis from NodeList. Also removed
2470         length() and item() since they're implemented in DynamicNodeListCacheBase now and renamed
2471         itemWithName() to namedItem() to match HTMLCollection's naming convention.
2472         * dom/NodeList.h:
2473         (NodeList::namedItem): Renamed from itemWithName. Note that this member function is not
2474         exposed via IDL. It's merely used in the binding code.
2475         * dom/StaticHashSetNodeList.cpp:
2476         (WebCore::StaticHashSetNodeList::namedItem): Ditto.
2477         * dom/StaticHashSetNodeList.h:
2478         (StaticHashSetNodeList::namedItem): Ditto.
2479         * dom/StaticNodeList.cpp:
2480         (WebCore::StaticNodeList::namedItem): Ditto.
2481         * dom/StaticNodeList.h:
2482         (StaticNodeList::namedItem): Ditto.
2483         * html/HTMLCollection.cpp:
2484         (WebCore::DynamicNodeListCacheBase::length): Renamed from lengthCommon.
2485         (WebCore::DynamicNodeListCacheBase::item): Renamed from itemCommon.
2486         * html/HTMLCollection.h:
2487         (HTMLCollection): Inherits from DynamicNodeListCacheBase since DynamicNodeListCacheBase
2488         is already RefCount'ed and NodeList, from which DynamicNodeListCacheBase inherits,
2489         inherits from ScriptWrappable.
2490
2491 2012-11-24  Christophe Dumez  <christophe.dumez@intel.com>
2492
2493         [EFL] Refactor RenderThemeEfl::paintThemePart()
2494         https://bugs.webkit.org/show_bug.cgi?id=103192
2495
2496         Reviewed by Kenneth Rohde Christiansen.
2497
2498         Refactor RenderThemeEfl::paintThemePart() so that:
2499         - Some C'ism is removed
2500         - RTL related code is moved to applyEdjeRTLState()
2501         - evas_render() is called instead of evas_render_updates()
2502           to avoid creating uselessly update rects.
2503
2504         No new tests, no behavior change for layout tests.
2505
2506         * platform/efl/RenderThemeEfl.cpp:
2507         (WebCore::RenderThemeEfl::applyEdjeRTLState):
2508         (WebCore):
2509         (WebCore::RenderThemeEfl::paintThemePart):
2510         * platform/efl/RenderThemeEfl.h:
2511         (RenderThemeEfl):
2512
2513 2012-11-24  Brent Fulgham  <bfulgham@webkit.org>
2514
2515         [WinCairo] Avoid access violation when frame is NULL.
2516         https://bugs.webkit.org/show_bug.cgi?id=68753
2517
2518         BitmapImage::drawFrameMatchingSourceSize causes an access violation
2519         if BitmapImage::frameAtIndex returns NULL. (Found by David Delaune).
2520
2521         Reviewed by Simon Fraser.
2522
2523         * platform/graphics/win/ImageCairoWin.cpp:
2524         (WebCore::BitmapImage::drawFrameMatchingSourceSize): Check for null
2525         cairo_surface_t pointer and avoid dereferencing.
2526
2527 2012-11-24  Christophe Dumez  <christophe.dumez@intel.com>
2528
2529         [EFL] Refactor RenderThemeEfl::getThemePartFromCache()
2530         https://bugs.webkit.org/show_bug.cgi?id=103186
2531
2532         Reviewed by Kenneth Rohde Christiansen.
2533
2534         Refactor getThemePartFromCache() so that a list is used
2535         for the cache instead of a vector. The function moves
2536         items to the head of the container which is much more
2537         efficient with a list than a vector.
2538
2539         The list ordering is also slightly altered so that the
2540         cached parts that were used last come first. Previously,
2541         they were sorted by creation time which may cause an
2542         item to be removed from the cache because it is older
2543         even if is was used recently.
2544
2545         This patch also gets rid of some code duplication at the
2546         end of the function.
2547
2548         No new tests, no behavior change.
2549
2550         * platform/efl/RenderThemeEfl.cpp:
2551         (WebCore::RenderThemeEfl::ThemePartCacheEntry::create): Return
2552         a smart pointer instead of a raw pointer.
2553         (WebCore::RenderThemeEfl::getThemePartFromCache):
2554         (WebCore::RenderThemeEfl::clearThemePartCache): Rename 
2555         flushThemePartCache to clearThemePartCache for clarity.
2556         (WebCore::RenderThemeEfl::loadTheme):
2557         (WebCore::RenderThemeEfl::RenderThemeEfl):
2558         (WebCore::RenderThemeEfl::~RenderThemeEfl):
2559         * platform/efl/RenderThemeEfl.h:
2560         (ThemePartCacheEntry):
2561         (RenderThemeEfl):
2562
2563 2012-11-24  Liam Quinn  <lquinn@rim.com>
2564
2565         [BlackBerry] RTSP should use the same MediaDocument as HTTP videos.
2566         https://bugs.webkit.org/show_bug.cgi?id=103185
2567         RIM PR 250114
2568
2569         Reviewed by George Staikos.
2570
2571         Make our MediaPlayer implementation indicate that it supports RTSP. That way, DOMImplementation::createDocument will create the same MediaDocument as is used for HTTP videos.
2572
2573         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
2574         (WebCore::MediaPlayerPrivate::supportsType):
2575
2576 2012-11-24  Andreas Kling  <akling@apple.com>
2577
2578         Put computed style 'font-family' values in the CSSValuePool.
2579         <http://webkit.org/b/103184>
2580
2581         Reviewed by Ojan Vafai.
2582
2583         Use CSSValuePool::createFontFamilyValue() when handing out 'font-family' values from CSSComputedStyleDeclaration.
2584         This avoids creating extra CSSPrimitiveValue objects since we already have these in the pool from parsing.
2585         Also added a max capacity to the font-family cache (using random eviction.)
2586
2587         * css/CSSComputedStyleDeclaration.cpp:
2588         (WebCore::valueForFamily):
2589         * css/CSSValuePool.cpp:
2590         (WebCore::CSSValuePool::createFontFamilyValue):
2591
2592 2012-11-24  Hayato Ito  <hayato@chromium.org>
2593
2594         It's confusing that return values of 'bool Node::dispatchEvent(...)' and 'bool Node::dispatchMouseEvent(..)' have the opposite meanings.
2595         https://bugs.webkit.org/show_bug.cgi?id=103058
2596
2597         Reviewed by Ojan Vafai.
2598
2599         Refactor MouseEventDispatchMediator::dispatchEvent() and
2600         EventHandler::dispatchMouseEvent() so that they return bool
2601         which has the same meaning of the return value of
2602         Node::dispatchEvent().
2603
2604         No tests. No change in behavior.
2605
2606         * dom/MouseEvent.cpp:
2607         (WebCore::MouseEventDispatchMediator::dispatchEvent):
2608         * page/EventHandler.cpp:
2609         (WebCore::EventHandler::handleMousePressEvent):
2610         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2611         (WebCore::EventHandler::handleMouseMoveEvent):
2612         (WebCore::EventHandler::handleMouseReleaseEvent):
2613         (WebCore::EventHandler::dispatchMouseEvent):
2614         (WebCore::EventHandler::sendContextMenuEvent):
2615         (WebCore::EventHandler::sendContextMenuEventForKey):
2616
2617 2012-11-23  Kangil Han  <kangil.han@samsung.com>
2618
2619         Fix unused parameter compile warnings
2620         https://bugs.webkit.org/show_bug.cgi?id=103167
2621
2622         Reviewed by Gyuyoung Kim.
2623
2624         Remove compile warning messages by omitting parameter name and using UNUSED_PARAM.
2625
2626         * accessibility/atk/WebKitAccessibleHyperlink.cpp:
2627         (webkitAccessibleHyperlinkIsSelectedLink):
2628         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2629         (webkitAccessibleTextGetTextAfterOffset):
2630         (webkitAccessibleTextGetTextAtOffset):
2631         (webkitAccessibleTextGetTextBeforeOffset):
2632         (webkitAccessibleTextGetOffsetAtPoint):
2633
2634 2012-11-23  Michael Saboff  <msaboff@apple.com>
2635
2636         listMarkerText() should create 8 bit strings when possible
2637         https://bugs.webkit.org/show_bug.cgi?id=103011
2638
2639         Reviewed by Filip Pizlo.
2640
2641         Made processing of marker text items use 8 bit strings where possible in order to reduce 16 bit strings.
2642
2643         Changes covered by existing tests.
2644
2645         * rendering/RenderListMarker.cpp:
2646         (WebCore::toRoman): Changed character constants and buffer to build string to LChar's
2647         (WebCore::toAlphabeticOrNumeric): Made a template based on character type.
2648         (WebCore::toSymbolic): Made a template based on character type.
2649         (WebCore::toAlphabetic): Made a template based on character type.
2650         (WebCore::toNumeric): Added character type template parameter.
2651         (WebCore::listMarkerText): Changed character constants to LChar where possible.
2652
2653 2012-11-23  Robert Kroeger  <rjkroege@chromium.org>
2654
2655         Remove unused ScrollByPixelVelocity
2656         https://bugs.webkit.org/show_bug.cgi?id=102840
2657
2658         Reviewed by Sam Weinig.
2659
2660         https://bugs.webkit.org/show_bug.cgi?id=80311 wrongly introduced a new
2661         kind of scroll: "ScrollByPixelVelocity". This code is not used on any platform
2662         and will not be of use in the future so this patch removes it.
2663
2664         No new tests: code removal/cleanup.
2665
2666         * page/EventHandler.cpp:
2667         (WebCore::EventHandler::defaultWheelEventHandler):
2668         (WebCore::EventHandler::handleGestureEvent):
2669         * platform/PlatformWheelEvent.h:
2670         * platform/ScrollAnimator.cpp:
2671         (WebCore::ScrollAnimator::handleWheelEvent):
2672         * platform/ScrollAnimatorNone.cpp:
2673         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
2674         (WebCore::ScrollAnimatorNone::scroll):
2675         (WebCore::ScrollAnimatorNone::cancelAnimations):
2676         (WebCore::ScrollAnimatorNone::animationTimerFired):
2677         * platform/ScrollAnimatorNone.h:
2678         (ScrollAnimatorNone):
2679         * platform/ScrollTypes.h:
2680         * platform/ScrollableArea.cpp:
2681         (WebCore::ScrollableArea::scroll):
2682
2683 2012-11-23  Adenilson Cavalcanti  <cavalcantii@gmail.com>
2684
2685         Removing unnecessary RenderBox friend access in RenderObject
2686         https://bugs.webkit.org/show_bug.cgi?id=103159
2687
2688         Reviewed by Eric Seidel.
2689
2690         RenderObject has several classes marked as friend, between them,
2691         there is RenderBox which is derived from it indirectly and is not accessing
2692         its forefather private data making unnecessary the 'friend' access level.
2693
2694         No new tests, no changes in functionality.
2695
2696         * rendering/RenderObject.h:
2697         (RenderObject):
2698
2699 2012-11-23  Alexis Menard  <alexis@webkit.org>
2700
2701         [CSS3 Backgrounds and Borders] Implement new CSS3 background-position parsing.
2702         https://bugs.webkit.org/show_bug.cgi?id=102104
2703
2704         Reviewed by Julien Chaffraix.
2705
2706         Implement the parsing of the CSS3 background-position property which
2707         allows to specify up to four values to position the background. It is
2708         documented here :
2709         http://www.w3.org/TR/css3-background/#the-background-position . I
2710         decided to split up the patch is two pieces, the parsing and later I
2711         will do the rendering. I kept the old code as much as possible (i.e.
2712         the two values parsing) as it is used not only by background-position
2713         but by few other properties. The new four values support is only valid
2714         on the property itself but does not work on the shorthand.
2715
2716         Opera has already implemented this feature.
2717
2718         I extended backgrounds/background-position-parsing-2.html to cover the
2719         new possible values as well as buggy values.
2720
2721         * Configurations/FeatureDefines.xcconfig:
2722         * GNUmakefile.am:
2723         * GNUmakefile.features.am:
2724         * css/CSSParser.cpp:
2725         (WebCore::CSSParser::parseFillPositionComponent): Modify this function
2726         to allow creation of CSS primitive values with not only percentage or
2727         length but with keywords also as the new <position> type allows to
2728         specify keywords, for example top 30px right 20px.
2729         (WebCore):
2730         (WebCore::isValueConflictingWithCurrentEdge):
2731         (WebCore::isBackgroundPositionKeyword):
2732         (WebCore::CSSParser::parse3ValuesBackgroundPosition):
2733         (WebCore::CSSParser::parse4ValuesBackgroundPosition):
2734         (WebCore::CSSParser::parseFillBackgroundPosition): This function counts
2735         the number of words for the property value and call dedicated parsing
2736         functions for each case. Note that in case of two values we just call the old CSS 2.1
2737         method.
2738         (WebCore::CSSParser::parseFillPosition):
2739         (WebCore::CSSParser::parseFillProperty): Only call the new parsing
2740         function if the feature is activated otherwise fallback to the old code
2741         path.
2742         * css/CSSParser.h:
2743
2744 2012-11-23  Justin Novosad  <junov@google.com>
2745
2746         Adding occlusion detection to reduce overdraw in RenderBox background rendering
2747         https://bugs.webkit.org/show_bug.cgi?id=102557
2748
2749         Reviewed by Stephen White.
2750
2751         Adding hasAlpha method to all classes dervived from CSSImageValue and
2752         StyleImage, in order to support occlusion testing. 
2753         This allows the FillLayer recursion to stop early when an opaque layer
2754         is encountered while applying a CSS background style. This also allows
2755         the elimination of background color application when the background is
2756         completely covered by an image.  The optimization also skips the
2757         clearing of the page's root element when the page background is
2758         entirely covered by an image (e.g a tiled bitmap or a gradient)
2759
2760         Test: fast/backgrounds/background-opaque-images-over-color.html
2761
2762         * css/CSSCrossfadeValue.cpp:
2763         (WebCore::subimageHasAlpha):
2764         (WebCore):
2765         (WebCore::CSSCrossfadeValue::isPending):
2766         (WebCore::CSSCrossfadeValue::hasAlpha):
2767         * css/CSSCrossfadeValue.h:
2768         (CSSCrossfadeValue):
2769         * css/CSSGradientValue.cpp:
2770         (WebCore::CSSGradientValue::hasAlpha):
2771         (WebCore):
2772         * css/CSSGradientValue.h:
2773         (CSSGradientValue):
2774         * css/CSSImageGeneratorValue.cpp:
2775         (WebCore::CSSImageGeneratorValue::hasAlpha):
2776         (WebCore):
2777         * css/CSSImageGeneratorValue.h:
2778         (CSSImageGeneratorValue):
2779         * css/CSSImageValue.cpp:
2780         (WebCore::CSSImageValue::hasAlpha):
2781         (WebCore):
2782         * css/CSSImageValue.h:
2783         (WebCore):
2784         (CSSImageValue):
2785         * loader/cache/CachedImage.cpp:
2786         (WebCore::CachedImage::currentFrameHasAlpha):
2787         Test whether a cached image has alpha, with side effect of ensuring
2788         the image is in cache. (new method)
2789         (WebCore):
2790         * loader/cache/CachedImage.h:
2791         (CachedImage):
2792         * rendering/RenderBox.cpp:
2793         (WebCore::RenderBox::paintFillLayers):
2794         Added layer recursion early exit when an opaque layer is encountered.
2795         * rendering/RenderBoxModelObject.cpp:
2796         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2797         Eliminated background color fill when the layer contains an opaque
2798         image that covers the entire RenderBox.
2799         * rendering/style/FillLayer.cpp:
2800         (WebCore::FillLayer::hasOpaqueImage):
2801         Returns true if the layer's image is known to be fully opaque.
2802         (WebCore):
2803         (WebCore::FillLayer::hasRepeatXY):
2804         * rendering/style/FillLayer.h:
2805         (FillLayer):
2806         * rendering/style/StyleCachedImage.cpp:
2807         (WebCore::StyleCachedImage::hasAlpha):
2808         (WebCore):
2809         * rendering/style/StyleCachedImage.h:
2810         (StyleCachedImage):
2811         * rendering/style/StyleCachedImageSet.cpp:
2812         (WebCore::StyleCachedImageSet::hasAlpha):
2813         (WebCore):
2814         * rendering/style/StyleCachedImageSet.h:
2815         (StyleCachedImageSet):
2816         * rendering/style/StyleGeneratedImage.cpp:
2817         (WebCore::StyleGeneratedImage::hasAlpha):
2818         (WebCore):
2819         * rendering/style/StyleGeneratedImage.h:
2820         (StyleGeneratedImage):
2821         * rendering/style/StyleImage.h:
2822         (StyleImage):
2823         * rendering/style/StylePendingImage.h:
2824         (WebCore::StylePendingImage::hasAlpha):
2825
2826 2012-11-23  Justin Novosad  <junov@google.com>
2827
2828         Page background color bleeds through inner edge of div border with rounded edges
2829         https://bugs.webkit.org/show_bug.cgi?id=103089
2830
2831         Reviewed by Stephen White.
2832
2833         Test that verifies whether a RenderBoxEdge is more than 2 pixels wide
2834         was applying the content scale factor backwards, so the
2835         obscuresBackgroundEdge was falsely passing for downsized boxes.
2836
2837         Test: fast/backgrounds/gradient-background-leakage-2.html
2838
2839         * rendering/RenderBoxModelObject.cpp:
2840         (WebCore::BorderEdge::obscuresBackgroundEdge):
2841
2842 2012-11-23  Huang Dongsung  <luxtella@company100.net>
2843
2844         [TexMap] Remove dependency of TextureMapperLayer on GraphicsLayerTextureMapper.
2845         https://bugs.webkit.org/show_bug.cgi?id=103046
2846
2847         Reviewed by Noam Rosenthal.
2848
2849         It is a preparation patch for Threaded Coordinated Graphics on WK1.
2850
2851         We want to make TextureMapperLayer into an actor model. After making an actor
2852         model, GraphicsLayerTextureMapper and LayerTreeRenderer will communicate with
2853         TextureMapperLayer using message passing. In the first step, we want to hide
2854         GraphicsLayerTextureMapper from TextureMapperLayer.
2855
2856         There are 2 kinds of dependencies of TextureMapperLayer in GraphicsLayerTextureMapper.
2857         1. To query layer states
2858         2. To paint layer contents
2859
2860         In this patch, we removed the second dependency. Currently, TextureMapperLayer
2861         requests painting contents to GraphicsLayerTextureMapper in WK1 while
2862         Coordinated Graphics prepares the contents in LayerTreeRenderer. This patch
2863         makes WK1 prepare the contents in GraphicsLayerTextureMapper like
2864         LayerTreeRenderer.
2865
2866         We will remove the first dependency in a follow-up patch.
2867
2868         Covered by existing layout tests.
2869
2870         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2871         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
2872         (WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
2873         (WebCore::GraphicsLayerTextureMapper::flushCompositingState):
2874         (WebCore):
2875         (WebCore::GraphicsLayerTextureMapper::didFlushCompositingState):
2876         (WebCore::GraphicsLayerTextureMapper::didFlushCompositingStateRecursive):
2877         (WebCore::GraphicsLayerTextureMapper::updateBackingStore):
2878         (WebCore::GraphicsLayerTextureMapper::prepareBackingStore):
2879         (WebCore::GraphicsLayerTextureMapper::shouldHaveBackingStore):
2880         (WebCore::GraphicsLayerTextureMapper::drawRepaintCounter):
2881         (WebCore::GraphicsLayerTextureMapper::setDebugBorder):
2882         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2883         (GraphicsLayerTextureMapper):
2884         (WebCore::GraphicsLayerTextureMapper::setHasOwnBackingStore):
2885         * platform/graphics/texmap/TextureMapperLayer.cpp:
2886         (WebCore::TextureMapperLayer::rootLayer):
2887         (WebCore::TextureMapperLayer::paintSelf):
2888         (WebCore::TextureMapperLayer::textureMapper):
2889         (WebCore):
2890         (WebCore::TextureMapperLayer::flushCompositingState):
2891         (WebCore::TextureMapperLayer::flushCompositingStateSelf):
2892         * platform/graphics/texmap/TextureMapperLayer.h:
2893         (WebCore):
2894         (WebCore::TextureMapperLayer::TextureMapperLayer):
2895         (TextureMapperLayer):
2896         (WebCore::TextureMapperLayer::setBackingStore):
2897         (State):
2898         (WebCore::TextureMapperLayer::State::State):
2899
2900 2012-11-23  Carlos Garcia Campos  <cgarcia@igalia.com>
2901
2902         [ENCHANT] Infinite loop when end word position is not found
2903         https://bugs.webkit.org/show_bug.cgi?id=103139
2904
2905         Reviewed by Martin Robinson.
2906
2907         Covered by existing tests in editing/spelling.
2908
2909         * editing/visible_units.cpp:
2910         (WebCore::isLogicalStartOfWord): Make it private again.
2911         (WebCore::islogicalEndOfWord): Ditto.
2912         * editing/visible_units.h:
2913         * platform/text/enchant/TextCheckerEnchant.cpp:
2914         (WebCore::TextCheckerEnchant::checkSpellingOfWord): Helper funtion
2915         to check a word inside a string using the loaded dictionaries.
2916         (WebCore::TextCheckerEnchant::checkSpellingOfString): Optimize and
2917         simply the code by using the word iterator to iterate the
2918         words.
2919         * platform/text/enchant/TextCheckerEnchant.h:
2920         (TextCheckerEnchant):
2921
2922 2012-11-23  Zeno Albisser  <zeno@webkit.org>
2923
2924         [Qt] GraphicsContext3DQt makes wrong surface current.
2925         https://bugs.webkit.org/show_bug.cgi?id=103136
2926
2927         blitMultisampleFramebufferAndRestoreContext restores
2928         the wrong surface in case the currentContext is the same
2929         as m_platformContext.
2930         In this case we would reset the bound surface to NULL.
2931         Instead we should just leave the context unchanged.
2932
2933         Reviewed by Kenneth Rohde Christiansen.
2934
2935         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2936         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
2937
2938 2012-11-23  Alexei Filippov  <alph@chromium.org>
2939
2940         Web Inspector: remove total item from NMI snapshot grid
2941         https://bugs.webkit.org/show_bug.cgi?id=101926
2942
2943         Reviewed by Yury Semikhatsky.
2944
2945         * inspector/front-end/NativeMemorySnapshotView.js:
2946         (WebInspector.NativeSnapshotDataGrid):
2947
2948 2012-11-23  Zeno Albisser  <zeno@webkit.org>
2949
2950         [Qt] GraphicsContext3DQt should not overwrite glClearColor of sharing context.
2951         https://bugs.webkit.org/show_bug.cgi?id=103135
2952
2953         In case we use GraphicsContext3DQt to render into or
2954         read from an existing context, we should not reset
2955         the glClearColor on construction.
2956         Otherwise we might overwrite an existing definition from
2957         the sharing context.
2958
2959         Reviewed by Kenneth Rohde Christiansen.
2960
2961         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2962         (WebCore::GraphicsContext3D::GraphicsContext3D):
2963
2964 2012-11-23  Pavel Feldman  <pfeldman@chromium.org>
2965
2966         Web Inspector: damaging last chunk does not remove its garbage from DOM
2967         https://bugs.webkit.org/show_bug.cgi?id=103132
2968
2969         Reviewed by Vsevolod Vlasov.
2970
2971         Removing everything between undamaged chunks, not registered chunk rows.
2972
2973         * inspector/front-end/DefaultTextEditor.js:
2974         (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
2975         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
2976         (WebInspector.TextEditorMainChunk.prototype.updateCollapsedLineRow):
2977         (WebInspector.TextEditorMainChunk.prototype.firstElement):
2978         (WebInspector.TextEditorMainChunk.prototype.lastElement):
2979
2980 2012-11-23  Ilya Tikhonovsky  <loislo@chromium.org>
2981
2982         RenderLayer minor clean-up: replace raw pointers with OwnPtrs.
2983         https://bugs.webkit.org/show_bug.cgi?id=103134
2984
2985         Reviewed by Eric Seidel.
2986
2987         I found that RenderLayer still uses raw pointers to the objects which it owns.
2988         Looks like these pointers could be replaced with OwnPtrs.
2989
2990         * rendering/RenderLayer.cpp:
2991         (WebCore::RenderLayer::RenderLayer):
2992         (WebCore::RenderLayer::~RenderLayer):
2993         (WebCore::RenderLayer::paintLayerContents):
2994         (WebCore::RenderLayer::hitTestLayer):
2995         (WebCore::RenderLayer::updateNormalFlowList):
2996         (WebCore::RenderLayer::collectLayers):
2997         (WebCore::RenderLayer::styleChanged):
2998         * rendering/RenderLayer.h:
2999         (WebCore::RenderLayer::marquee):
3000         (WebCore::RenderLayer::posZOrderList):
3001         (WebCore::RenderLayer::negZOrderList):
3002         (WebCore::RenderLayer::normalFlowList):
3003         (RenderLayer):
3004         (WebCore::RenderLayer::clearZOrderLists):
3005
3006 2012-11-23  Christophe Dumez  <christophe.dumez@intel.com>
3007
3008         [EFL][AC] Mouse cursor is not updated when accelerated compositing is enabled
3009         https://bugs.webkit.org/show_bug.cgi?id=103131
3010
3011         Reviewed by Kenneth Rohde Christiansen.
3012
3013         Make sure we try to get the Ecore_X_Window using ecore_evas_gl_x11_window_get()
3014         in applyFallbackCursor() if accelerated compositing is enabled instead of
3015         using ecore_evas_software_x11_window_get(). This fixes mouse cursor update
3016         when accelerated compositing is enabled.
3017
3018         No new tests, no behavior change for layout tests.
3019
3020         * platform/efl/EflScreenUtilities.cpp:
3021         (WebCore::applyFallbackCursor):
3022
3023 2012-11-16  Yury Semikhatsky  <yurys@chromium.org>
3024
3025         Memory instrumentation: extract MemoryObjectInfo declaration into a separate file
3026         https://bugs.webkit.org/show_bug.cgi?id=102510
3027
3028         Reviewed by Pavel Feldman.
3029
3030         Added necessary includes where MemoryObjectInfo declaration is required.
3031
3032         * platform/audio/FFTFrame.cpp:
3033         * rendering/style/RenderStyle.cpp:
3034         * rendering/style/StyleRareInheritedData.cpp:
3035         * rendering/style/StyleRareNonInheritedData.cpp:
3036
3037 2012-11-23  Dan Carney  <dcarney@google.com>
3038
3039         Remove V8DOMWindowShell::getEntered
3040         https://bugs.webkit.org/show_bug.cgi?id=96637
3041
3042         Reviewed by Adam Barth.
3043
3044         V8DOMWindowShell::getEntered was refactored so that the window shell
3045         no longer has to be kept alive by a v8 context. Instead, only
3046         the DOMWrapperWorld will be kept alive.
3047
3048         No new tests. No change in functionality.
3049
3050         * bindings/v8/DOMDataStore.cpp:
3051         (WebCore::DOMDataStore::current):
3052         * bindings/v8/DOMWrapperWorld.cpp:
3053         (WebCore::isolatedWorldWeakCallback):
3054         (WebCore):
3055         (WebCore::DOMWrapperWorld::makeContextWeak):
3056         (WebCore::DOMWrapperWorld::setIsolatedWorldField):
3057         * bindings/v8/DOMWrapperWorld.h:
3058         (DOMWrapperWorld):
3059         (WebCore::DOMWrapperWorld::isolated):
3060         * bindings/v8/ScriptController.cpp:
3061         (WebCore::ScriptController::existingWindowShell):
3062         (WebCore::ScriptController::windowShell):
3063         (WebCore::ScriptController::evaluateInIsolatedWorld):
3064         (WebCore::ScriptController::currentWorldContext):
3065         (WebCore::ScriptController::collectIsolatedContexts):
3066         * bindings/v8/ScriptController.h:
3067         (ScriptController):
3068         * bindings/v8/V8Binding.h:
3069         (WebCore::worldForEnteredContextIfIsolated):
3070         * bindings/v8/V8DOMWindowShell.cpp:
3071         (WebCore::V8DOMWindowShell::destroyIsolatedShell):
3072         (WebCore::V8DOMWindowShell::disposeContext):
3073         (WebCore::V8DOMWindowShell::initializeIfNeeded):
3074         * bindings/v8/V8DOMWindowShell.h:
3075         (V8DOMWindowShell):
3076         * bindings/v8/V8PerContextData.h:
3077         * bindings/v8/WorldContextHandle.cpp:
3078         (WebCore::WorldContextHandle::WorldContextHandle):
3079
3080 2012-11-23  Eugene Klyuchnikov  <eustas.bug@gmail.com>
3081
3082         Web Inspector: Refine JsDoc in ProfilesPanel.js
3083         https://bugs.webkit.org/show_bug.cgi?id=103042
3084
3085         Reviewed by Yury Semikhatsky.
3086
3087         I'm going to make profiler output typed.
3088
3089         This will require some amount of refactoring.
3090
3091         Before refactoring I would like to make things
3092         unambiguous by adding JsDoc where they are missing.
3093
3094         * inspector/front-end/ProfilesPanel.js:
3095         (WebInspector.ProfilesPanel.prototype._onToggleProfiling):
3096         Added to eliminate parameter type ambiguity.
3097
3098 2012-11-23  Kent Tamura  <tkent@chromium.org>
3099
3100         Correct input[type=number] value sanitization for user-input
3101         https://bugs.webkit.org/show_bug.cgi?id=103018
3102
3103         Reviewed by Kentaro Hara.
3104
3105         If a number field has non-number string, HTMLInputElement::value is not
3106         updated and returns the past valid value. It doesn't match to the value
3107         sanitization algorithm defined by the HTML standard [1], and Opera's
3108         behavior. We should sanitize non-number strings to "".
3109
3110         [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#number-state-(type=number)
3111         > The value sanitization algorithm is as follows: If the value of the
3112         > element is not a valid floating-point number, then set it to the empty
3113         > string instead.
3114
3115         No new tests. Update existing tests;
3116         fast/forms/number/number-commit-valid-only.html and
3117         fast/forms/number/number-unacceptable-style.html
3118
3119         * html/HTMLInputElement.cpp:
3120         (WebCore::HTMLInputElement::subtreeHasChanged):
3121         Remove isAcceptableValue check.
3122
3123         * html/HTMLInputElement.h:
3124         (HTMLInputElement): isAcceptableValue is no longer needed.
3125         * html/InputType.cpp: Remove isAcceptableValue.
3126         * html/InputType.h: Ditto.
3127         * html/NumberInputType.cpp: Ditto.
3128         (WebCore::NumberInputType::hasUnacceptableValue):
3129         Fold the isAcceptableValue content into this.
3130         * html/NumberInputType.h:
3131         (NumberInputType): Remove isAcceptableValue.
3132
3133 2012-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
3134
3135         Unreviewed, rolling out r135592.
3136         http://trac.webkit.org/changeset/135592
3137         https://bugs.webkit.org/show_bug.cgi?id=103126
3138
3139         broke Chromium Mac compilation (Requested by yurys on
3140         #webkit).
3141
3142         * WebCore.gypi:
3143
3144 2012-11-23  Yury Semikhatsky  <yurys@chromium.org>
3145
3146         Remove references to non-chromium entries from WebCore.gypi (part 2)
3147         https://bugs.webkit.org/show_bug.cgi?id=103124
3148
3149         Reviewed by Pavel Feldman.
3150
3151         * WebCore.gypi: removed references to gtk, cocoa, posix, ios, cf, win and mac
3152
3153 2012-11-23  Andrey Adaikin  <aandrey@chromium.org>
3154
3155         Web Inspector: [Canvas] add startCapturing and stopCapturing methods to protocol
3156         https://bugs.webkit.org/show_bug.cgi?id=103053
3157
3158         Reviewed by Pavel Feldman.
3159
3160         Add startCapturing and stopCapturing methods to the protocol to instrument several canvas frames in a row.
3161         Drive-by: support start offset index in retrieving trace logs in the backend as well as "alive" flag.
3162
3163         * inspector/InjectedScriptCanvasModule.cpp:
3164         (WebCore::InjectedScriptCanvasModule::captureFrame):
3165         (WebCore):
3166         (WebCore::InjectedScriptCanvasModule::startCapturing):
3167         (WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
3168         (WebCore::InjectedScriptCanvasModule::stopCapturing):
3169         (WebCore::InjectedScriptCanvasModule::dropTraceLog):
3170         (WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
3171         (WebCore::InjectedScriptCanvasModule::traceLog):
3172         * inspector/InjectedScriptCanvasModule.h:
3173         (InjectedScriptCanvasModule):
3174         * inspector/InjectedScriptCanvasModuleSource.js:
3175         (.):
3176         * inspector/Inspector.json:
3177         * inspector/InspectorCanvasAgent.cpp:
3178         (WebCore::InspectorCanvasAgent::startCapturing):
3179         (WebCore):
3180         (WebCore::InspectorCanvasAgent::stopCapturing):
3181         (WebCore::InspectorCanvasAgent::getTraceLog):
3182         * inspector/InspectorCanvasAgent.h:
3183         (InspectorCanvasAgent):
3184         * inspector/front-end/CanvasProfileView.js:
3185         (WebInspector.CanvasProfileView):
3186
3187 2012-11-23  Andrey Kosyakov  <caseq@chromium.org>
3188
3189         Web Inspector: dispatch events upon certain user actions on inspector's notification services
3190         https://bugs.webkit.org/show_bug.cgi?id=103114
3191
3192         Reviewed by Pavel Feldman.
3193
3194         Add a bunch of WebInspector.UserMetrics.UserAction, so platform-specific code can wire to user actions
3195         without breaking too often.
3196
3197         * inspector/front-end/ElementsPanel.js:
3198         (WebInspector.ElementsPanel.prototype._setPseudoClassForNodeId):
3199         * inspector/front-end/JavaScriptSourceFrame.js:
3200         (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
3201         * inspector/front-end/NetworkItemView.js:
3202         (WebInspector.NetworkItemView.prototype._tabSelected.set WebInspector):
3203         (WebInspector.NetworkItemView.prototype._tabSelected):
3204         * inspector/front-end/NetworkPanel.js:
3205         (WebInspector.NetworkLogView.prototype._sortItems):
3206         (WebInspector.NetworkDataGridNode.prototype.select):
3207         * inspector/front-end/ProfilesPanel.js:
3208         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
3209         * inspector/front-end/ScriptsPanel.js:
3210         (WebInspector.ScriptsPanel.prototype._showSourceLine):
3211         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
3212         * inspector/front-end/UISourceCode.js:
3213         (WebInspector.UISourceCode.prototype.revertToOriginal):
3214         (WebInspector.UISourceCode.prototype.revertAndClearHistory):
3215         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
3216         * inspector/front-end/UserMetrics.js:
3217         * inspector/front-end/externs.js:
3218         * inspector/front-end/inspector.js:
3219         (WebInspector._requestZoom.set var):
3220         (WebInspector._requestZoom):
3221
3222 2012-11-23  Christophe Dumez  <christophe.dumez@intel.com>
3223
3224         WebSocket's MessageEvent.origin attribute is an empty string
3225         https://bugs.webkit.org/show_bug.cgi?id=102889
3226
3227         Reviewed by Kentaro Hara.
3228
3229         Fix WebSocket implementation so that the message event's origin
3230         attribute is properly set to the Unicode serialization of the
3231         origin of the URL that was passed to the WebSocket object's
3232         constructor, instead of an empty string.
3233
3234         The new behavior is according to the specification:
3235         http://www.whatwg.org/specs/web-apps/current-work/multipage/network.html#feedback-from-the-protocol
3236
3237         It also matches the behavior of Firefox.
3238
3239         Tests: http/tests/websocket/tests/hybi/send-blob-onmessage-origin.html
3240                http/tests/websocket/tests/hybi/send-onmessage-origin.html
3241
3242         * Modules/websockets/WebSocket.cpp:
3243         (WebCore::WebSocket::didReceiveMessage):
3244         (WebCore::WebSocket::didReceiveBinaryData):
3245         * dom/MessageEvent.cpp:
3246         (WebCore::MessageEvent::MessageEvent):
3247         * dom/MessageEvent.h:
3248         (WebCore::MessageEvent::create):
3249         (MessageEvent):
3250
3251 2012-11-22  Eugene Klyuchnikov  <eustas.bug@gmail.com>
3252
3253         Web Inspector: No "Save Heap Snapshot" option after canceling save to file dialog.
3254         https://bugs.webkit.org/show_bug.cgi?id=100916
3255
3256         Reviewed by Yury Semikhatsky.
3257
3258         Fixed order of operations - now receiver is assigned only when save
3259         dialog responds.
3260
3261         * inspector/front-end/HeapSnapshotView.js: Fixed order of operations.
3262
3263 2012-11-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3264
3265         [Qt] REGRESSION(r135507): It made 13 tests fail
3266         https://bugs.webkit.org/show_bug.cgi?id=103069
3267
3268         Reviewed by Simon Hausmann.
3269
3270         The subframe loading logic depends on that script extensions are not recognized,
3271         so avoid recognizing them in getMIMETypeForExtension which is used for pre-load
3272         mimetype detection.
3273
3274         * platform/qt/MIMETypeRegistryQt.cpp:
3275         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3276
3277 2012-11-23  Jochen Eisinger  <jochen@chromium.org>
3278
3279         REGRESSION (r135455): Compilation without SVG enabled broken
3280         https://bugs.webkit.org/show_bug.cgi?id=103108
3281
3282         Reviewed by Yury Semikhatsky.
3283
3284         Move SVG-only code behind #if ENABLE(SVG) that was accidentially moved
3285         outside of the #if block during the refactoring.
3286
3287         * platform/graphics/filters/FilterOperation.h:
3288         (ReferenceFilterOperation):
3289
3290 2012-11-23  Julian Pastarmov  <pastarmovj@chromium.org>
3291
3292         REGRESSION (r128633): td changes size during re-layout of table although it shouldn't
3293         https://bugs.webkit.org/show_bug.cgi?id=102802
3294
3295         Reviewed by Ojan Vafai.
3296
3297         The bug was caused by incorrectly rewriting a nested condition which caused the else
3298         clause to trigger in wrong cases.
3299
3300         Test: fast/table/nested-tables-with-div-offset.html
3301
3302         * rendering/RenderBox.cpp:
3303         (WebCore::RenderBox::computePercentageLogicalHeight):
3304         Reverted wrong combination of nested if statements.
3305
3306 2012-11-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3307
3308         [Qt] REGRESSION(r135507): It made 13 tests fail
3309         https://bugs.webkit.org/show_bug.cgi?id=103069
3310
3311         Reviewed by Simon Hausmann.
3312
3313         Fix regression in recognizing MHTML on some platforms.
3314
3315         * platform/qt/MIMETypeRegistryQt.cpp:
3316         (ExtensionMap):
3317         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3318         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
3319
3320 2012-11-22  Pavel Feldman  <pfeldman@chromium.org>
3321
3322         Web Inspector: ctrl+end in editor does not select the last symbol.
3323         https://bugs.webkit.org/show_bug.cgi?id=103078
3324
3325         Reviewed by Vsevolod Vlasov.
3326
3327         Test: inspector/editor/text-editor-selection.html
3328
3329         * inspector/front-end/DefaultTextEditor.js:
3330         (WebInspector.DefaultTextEditor.prototype._handleScrollChanged):
3331         (WebInspector.DefaultTextEditor.prototype.overrideViewportForTest):
3332         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
3333         (WebInspector.TextEditorChunkedPanel.prototype._scrollTop):
3334         (WebInspector.TextEditorChunkedPanel.prototype._clientHeight):
3335         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
3336         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
3337         (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
3338
3339 2012-11-23  Yury Semikhatsky  <yurys@chromium.org>
3340
3341         Remove references to non-chromium entries from WebCore.gypi
3342         https://bugs.webkit.org/show_bug.cgi?id=103103
3343
3344         Reviewed by Pavel Feldman.
3345
3346         * WebCore.gypi: Removed references to files specific for wince, cairo, qt, wx and efl.
3347
3348 2012-11-23  Alexander Pavlov  <apavlov@chromium.org>
3349
3350         Web Inspector: inspector overlay is always updated when inspector is open
3351         https://bugs.webkit.org/show_bug.cgi?id=103106
3352
3353         Reviewed by Pavel Feldman.
3354
3355         Provide empty size into the InspectorOverlay if the metrics emulation is disabled,
3356         so that it will not get painted in all cases.
3357
3358         * inspector/InspectorController.cpp:
3359         (WebCore::InspectorController::webViewResized): Call InspectorPageAgent::webViewResized() rather than InspectorOverlay::resize().
3360         * inspector/InspectorPageAgent.cpp:
3361         (WebCore::InspectorPageAgent::webViewResized): Provide empty size into InspectorOverlay::resize() if device metrics are not emulated.
3362         * inspector/InspectorPageAgent.h:
3363
3364 2012-11-23  Krzysztof Czech  <k.czech@samsung.com>
3365
3366         [EFL] Platform support for Accessibility feature.
3367         https://bugs.webkit.org/show_bug.cgi?id=100848
3368
3369         Reviewed by Gyuyoung Kim.
3370
3371         Add EFL platform's definitions to enable proper accessibility routines.
3372
3373         No new tests. Covered by existing layout tests.
3374
3375         * PlatformEfl.cmake: Add accessibility/atk content to compilation.
3376         * accessibility/AccessibilityObject.cpp:
3377         (WebCore::AccessibilityObject::AccessibilityObject):
3378         * accessibility/AccessibilityObject.h:
3379         (AccessibilityObject):
3380         * accessibility/efl/AccessibilityObjectEfl.cpp: Removed. No needed platform specific implementation. ATK shared implementation will be used.
3381
3382 2012-11-23  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3383
3384         Expose DOM interface for CSS Device Adaptation
3385         https://bugs.webkit.org/show_bug.cgi?id=95966
3386
3387         Reviewed by Kenneth Rohde Christiansen.
3388
3389         Added V8 and JSC bindings for CSS Device Adapation.
3390
3391         Test: css3/device-adapt/opera/cssom-001.xhtml
3392
3393         * CMakeLists.txt:
3394         * DerivedSources.make:
3395         * DerivedSources.pri:
3396         * GNUmakefile.list.am:
3397         * WebCore.gypi:
3398         * WebCore.xcodeproj/project.pbxproj:
3399         * bindings/js/JSCSSRuleCustom.cpp:
3400         (WebCore::toJS):
3401         * bindings/objc/DOMCSS.mm:
3402         (kitClass):
3403         * bindings/v8/custom/V8CSSRuleCustom.cpp:
3404         (WebCore::wrap):
3405         * css/CSSRule.idl:
3406         * css/WebKitCSSViewportRule.idl: Added.
3407         * page/DOMWindow.idl:
3408
3409 2012-11-22  Sheriff Bot  <webkit.review.bot@gmail.com>
3410
3411         Unreviewed, rolling out r135549.
3412         http://trac.webkit.org/changeset/135549
3413         https://bugs.webkit.org/show_bug.cgi?id=103102
3414
3415         Multiple layout test crashes (Requested by yurys on #webkit).
3416
3417         * rendering/RenderTable.cpp:
3418         (WebCore::RenderTable::layout):
3419         * rendering/RenderTable.h:
3420         (RenderTable):
3421
3422 2012-11-22  Rick Byers  <rbyers@chromium.org>
3423
3424         window is missing Touch and TouchList - touch event conformance test failure
3425         https://bugs.webkit.org/show_bug.cgi?id=96295
3426
3427         Reviewed by Adam Barth.
3428
3429         Add Touch and TouchList constructors to window for ENABLE(TOUCH_EVENTS).
3430
3431         Tests: fast/js/global-constructors.html
3432                fast/events/touch/document-create-touch-list.html
3433
3434         * page/DOMWindow.idl:
3435
3436 2012-11-22  Dan Carney  <dcarney@google.com>
3437
3438         [V8] Make worker context prototype chain match other browsers
3439         https://bugs.webkit.org/show_bug.cgi?id=103057
3440
3441         Reviewed by Adam Barth.
3442
3443         The following should be defined in a worker:
3444         Object.getOwnPropertyDescriptor(this.__proto__, "postMessage")
3445         It is currently undefined in chrome only. This patch fixes that.
3446
3447         No new tests. No change in functionality.
3448
3449         * bindings/scripts/CodeGeneratorV8.pm:
3450         (GenerateImplementation):
3451
3452 2012-11-22  Rafael Brandao  <rafael.lobo@openbossa.org>
3453
3454         Remove PLATFORM(HAIKU) leftovers code
3455         https://bugs.webkit.org/show_bug.cgi?id=103086
3456
3457         Reviewed by Antti Koivisto.
3458
3459         * platform/PlatformWheelEvent.h:
3460         (PlatformWheelEvent):
3461
3462 2012-11-22  Dirk Schulze  <krit@webkit.org>
3463
3464         -webkit-mask shorthand switches -webkit-mask-clip and -webkit-mask-origin values
3465         https://bugs.webkit.org/show_bug.cgi?id=103083
3466
3467         Reviewed by Antti Koivisto.
3468
3469         The order of CSSPropertyWebkitMaskOrigin and CSSPropertyWebkitMaskClip was not correct
3470         for property value. Just changed the order in the property array to match behavior of
3471         background and CSS Masking spec.
3472
3473         Test: fast/masking/parsing-mask.html
3474
3475         * css/StylePropertyShorthand.cpp:
3476         (WebCore::webkitMaskShorthand):
3477
3478 2012-11-22  John Mellor  <johnme@chromium.org>
3479
3480         Text Autosizing: Improve handling of nested comments on reddit.com
3481         https://bugs.webkit.org/show_bug.cgi?id=102409
3482
3483         Reviewed by Kenneth Rohde Christiansen.
3484
3485         No longer consider overflow != visible as requiring an independent
3486         cluster. Some sites (e.g. reddit.com) wrap ordinary blocks (such as
3487         comments) in overflow:hidden or overflow:auto, for various reasons
3488         (like allowing it to be scrollable, or clipping an element that sticks
3489         out). These reasons are not sufficient justification for a new cluster.
3490
3491         On reddit.com this means that comments will all get the same multiplier,
3492         rather than being independently assigned a variety of multipliers based
3493         on how much text each comment contains (etc), which significantly
3494         improves the look.
3495
3496         Test: fast/text-autosizing/cluster-narrow-in-wide-ohidden.html
3497
3498         * rendering/TextAutosizer.cpp:
3499         (WebCore::TextAutosizer::isAutosizingCluster):
3500
3501 2012-11-22  Pravin D  <pravind.2k4@gmail.com>
3502
3503         max-height property not respected in case of tables
3504         https://bugs.webkit.org/show_bug.cgi?id=98633
3505
3506         Reviewed by Julien Chaffraix.
3507
3508         The max-height property determines the maximum computed height an element can have. In case of tables
3509         the computed height was not being limited by the max-height property. The current patch fixes the same.
3510
3511         Test: fast/table/css-table-max-height.html
3512
3513         * rendering/RenderTable.cpp:
3514         (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
3515           Helper function to compute height from the given style height.
3516           This function handles style height of type fixed, percent and viewport percent.
3517           As height of type 'calculated' gets internally resolved to either fixed or percent
3518           there is no special handling required for the same.
3519
3520         (WebCore):
3521         (WebCore::RenderTable::layout):
3522           Logic to compute the logical height of an element such that it does not exceed the max-height value given that
3523           min-width < Content height < max-height, when min-height < max-height.
3524           However max-height value is not respected if either min-height > max-height or Content height > max-height.
3525
3526         * rendering/RenderTable.h:
3527         (RenderTable):
3528           Function definition for the newly add function convertStyleLogicalHeightToComputedHeight().
3529
3530 2012-11-22  Kentaro Hara  <haraken@chromium.org>
3531
3532         Remove 'module' from IDL parser
3533         https://bugs.webkit.org/show_bug.cgi?id=102670
3534
3535         Reviewed by Adam Barth.
3536
3537         The Web IDL spec no longer supports 'module'. We already removed
3538         'module's from WebKit IDL files. So this patch removes 'module'
3539         from the IDL parser.
3540
3541         No tests. No change in behavior.
3542
3543         * bindings/scripts/IDLParser.pm:
3544         (Parse):
3545         (parseDefinitionOld):
3546
3547 2012-11-22  Dan Carney  <dcarney@google.com>
3548
3549         [V8] fix DOMWrapperWorld destructor
3550         https://bugs.webkit.org/show_bug.cgi?id=103066
3551
3552         Reviewed by Jochen Eisinger.
3553
3554         DOMWrapperWorld had a workaround in place during deletion.
3555         This patch brings it in line with WebKit standards.
3556
3557         No new tests: refactor.
3558
3559         * bindings/v8/DOMWrapperWorld.cpp:
3560         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
3561         (WebCore::DOMWrapperWorld::ensureIsolatedWorld):
3562         * bindings/v8/DOMWrapperWorld.h:
3563         (DOMWrapperWorld):
3564         (WebCore::DOMWrapperWorld::isolatedWorldDOMDataStore):
3565
3566 2012-11-22  Antti Koivisto  <antti@apple.com>
3567
3568         Remove SVGShadowText class
3569         https://bugs.webkit.org/show_bug.cgi?id=103088
3570
3571         Reviewed by Ryosuke Niwa.
3572
3573         Remove SVGShadowText class and merge the little functionality it has to Text.
3574
3575         * dom/Text.cpp:
3576         (WebCore):
3577         (WebCore::isSVGShadowText):
3578         
3579             Figure out if we are a SVGShadowText from the context.
3580
3581         (WebCore::isSVGText):
3582         (WebCore::Text::createRenderer):
3583         (WebCore::Text::recalcTextStyle):
3584         
3585             Factor SVG special case testing to functions.
3586
3587         * dom/Text.h:
3588         (Text):
3589
3590             Get rid of the now unnecessary willRecalcTextStyle mechanism.
3591
3592         * svg/SVGTRefElement.cpp:
3593         (WebCore):
3594         (WebCore::SVGTRefElement::updateReferencedText):
3595
3596 2012-11-22  Andreas Kling  <akling@apple.com>
3597
3598         Style sharing: Remove O(n^2) presentation attribute checks that never found anything anyway.
3599         <http://webkit.org/b/103019>
3600
3601         Reviewed by Ojan Vafai.
3602
3603         Rely on the global presentation attribute cache and remove the slow-path code that compares
3604         the full StylePropertySets for attribute-derived style.
3605         There are virtually no cases of logically equivalent presentation attribute styles that don't
3606         already share the same memory address. (Zero hits on Apple and Chromium PLT content.)
3607
3608         * css/StyleResolver.cpp:
3609         (WebCore::haveIdenticalStyleAffectingAttributes):
3610         (WebCore::StyleResolver::canShareStyleWithElement):
3611
3612 2012-11-22  Pavel Feldman  <pfeldman@chromium.org>
3613
3614         Web Inspector: evaluate on hover regressed with the editor change
3615         https://bugs.webkit.org/show_bug.cgi?id=103063
3616
3617         Reviewed by Vsevolod Vlasov.
3618
3619         We are no longer mutating the editor's dom from outside.
3620
3621         * inspector/front-end/DOMExtension.js:
3622         (Element.prototype.remove):
3623         * inspector/front-end/DefaultTextEditor.js:
3624         (WebInspector.DefaultTextEditor.prototype.highlightRangesWithStyleClass):
3625         (WebInspector.DefaultTextEditor.prototype.highlightExpression):
3626         (WebInspector.DefaultTextEditor.prototype.hideHighlightedExpression):
3627         * inspector/front-end/JavaScriptSourceFrame.js:
3628         (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
3629         (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
3630         (WebInspector.JavaScriptSourceFrame.prototype._highlightExpression):
3631
3632 2012-09-26  Gustavo Noronha Silva  <gns@gnome.org>
3633
3634         [GTK] Split SVG from WebCore to work-around make limitation
3635         https://bugs.webkit.org/show_bug.cgi?id=97735
3636
3637         Reviewed by Carlos Garcia Campos.
3638
3639         Add a new libtool convenience library, libWebCoreSVG.la, to work-around
3640         make limitation when linking libWebCore.
3641
3642         * GNUmakefile.am: new libWebCoreSVG.la library.
3643         * GNUmakefile.list.am: move SVG-related files to be part of the new library.
3644
3645 2012-11-22  Pan Deng  <pan.deng@intel.com>
3646
3647         [Web Inspector]Code Style changes in TimelinePresentationModel.js.
3648         https://bugs.webkit.org/show_bug.cgi?id=102885.
3649
3650         Reviewed by Pavel Feldman.
3651
3652         This patch changes "switch" code style for TimelinePresentationModel.js, no functionality update.
3653
3654         No new tests.
3655
3656         * inspector/front-end/TimelinePresentationModel.js:
3657         (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
3658
3659 2012-11-22  Ryosuke Niwa  <rniwa@webkit.org>
3660
3661         Build fix attempt.
3662
3663         * html/HTMLCollection.h:
3664         (HTMLCollection):
3665
3666 2012-11-22  Ryosuke Niwa  <rniwa@webkit.org>
3667
3668         Get rid of HTMLCollectionCacheBase
3669         https://bugs.webkit.org/show_bug.cgi?id=103085
3670
3671         Reviewed by Sam Weinig.
3672
3673         Merged HTMLCollectionCacheBase into HTMLCollection now that DynamicNodeList and HTMLCollection
3674         share one implementation.
3675
3676         * dom/DynamicNodeList.cpp:
3677         (WebCore::DynamicNodeListCacheBase::rootNode): Merged ownerNodeHasItemRefAttribute since this was
3678         the only caller of this function, and the function name didn't match what it was checking.
3679         (WebCore::DynamicNodeListCacheBase::invalidateCache):
3680         (WebCore::DynamicNodeListCacheBase::invalidateIdNameCacheMaps):
3681         * dom/DynamicNodeList.h:
3682         (WebCore):
3683         (WebCore::DynamicNodeListCacheBase::cachedItemOffset):
3684         (DynamicNodeListCacheBase):
3685         * html/HTMLCollection.cpp:
3686         (WebCore::HTMLCollection::HTMLCollection):
3687         (WebCore::DynamicNodeListCacheBase::setItemCache):
3688         (WebCore::DynamicNodeListCacheBase::itemBeforeOrAfterCachedItem): Merged cachedElementsArrayOffset()
3689         now that this is the only caller.
3690         (WebCore::HTMLCollection::append):
3691         * html/HTMLCollection.h:
3692         (HTMLCollection):
3693         (WebCore::HTMLCollection::idCache): Moved from HTMLCollectionCacheBase.
3694         (WebCore::HTMLCollection::nameCache): Ditto.
3695         (WebCore::HTMLCollection::appendIdCache): Ditto.
3696         (WebCore::HTMLCollection::appendNameCache): Ditto.
3697
3698 2012-11-22  Antti Koivisto  <antti@apple.com>
3699
3700         Merge EditingText into Text
3701         https://bugs.webkit.org/show_bug.cgi?id=103060
3702
3703         Reviewed by Ryosuke Niwa.
3704
3705         Remove the EditingText class. Its only function beyond the regular Text is that it always creates a renderer.
3706         It can be replaced with a bit.
3707
3708         * CMakeLists.txt:
3709         * GNUmakefile.list.am:
3710         * Target.pri:
3711         * WebCore.gypi:
3712         * WebCore.vcproj/WebCore.vcproj:
3713         * WebCore.xcodeproj/project.pbxproj:
3714         * dom/CDATASection.cpp:
3715         (WebCore::CDATASection::CDATASection):
3716         * dom/Document.cpp:
3717         (WebCore::Document::createEditingTextNode):
3718         * dom/Document.h:
3719         (WebCore):
3720         (Document):
3721         * dom/EditingText.cpp: Removed.
3722         * dom/EditingText.h: Removed.
3723         * dom/Node.h:
3724         (WebCore::Node::hasName):
3725         (WebCore::Node::isEditingText):
3726         (WebCore::Node::setHasName):
3727         
3728             Use the same bit as hasName() which is Element specific.
3729
3730         * dom/Text.cpp:
3731         (WebCore::Text::create):
3732         (WebCore):
3733         (WebCore::Text::createEditingText):
3734         (WebCore::Text::rendererIsNeeded):
3735         * dom/Text.h:
3736         (Text):
3737         (WebCore::Text::Text):
3738         * editing/Editor.cpp:
3739         * editing/InsertTextCommand.cpp:
3740         * editing/ReplaceSelectionCommand.cpp:
3741         * editing/htmlediting.cpp:
3742         * editing/mac/EditorMac.mm:
3743         * page/Frame.cpp:
3744
3745 2012-11-22  Eugene Klyuchnikov  <eustas.bug@gmail.com>
3746
3747         Web Inspector: Timeline: Disclosure arrows rendered underneath frame boundaries
3748         https://bugs.webkit.org/show_bug.cgi?id=101053
3749
3750         Reviewed by Yury Semikhatsky.
3751
3752         In Timeline, when in "frames" mode, event disclosure arrows are rendered
3753         below the dividing lines for the frame (div.timeline-frame-divider).
3754         When this happens, the frame divider can capture mouse clicks and make
3755         it difficult to open the disclosure arrow.
3756
3757         * inspector/front-end/timelinePanel.css:
3758         (#timeline-grid-header): Render dividers under timeline bars.
3759
3760 2012-11-22  Huang Dongsung  <luxtella@company100.net>
3761
3762         [TexMap] Reduce public methods of TextureMapperTiledBackingStore.
3763         https://bugs.webkit.org/show_bug.cgi?id=103032
3764
3765         Reviewed by Noam Rosenthal.
3766
3767         This patch makes two methods private and removes one method.
3768
3769         No new tests, refactoring only.
3770
3771         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
3772         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
3773         * platform/graphics/texmap/TextureMapperBackingStore.h:
3774         (WebCore::TextureMapperTiledBackingStore::create):
3775         (TextureMapperTiledBackingStore):
3776         (WebCore::TextureMapperTiledBackingStore::setContentsToImage):
3777         (WebCore::TextureMapperTiledBackingStore::rect):
3778
3779 2012-11-22  Simon Hausmann  <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi@digia.com>
3780
3781         [Qt] Separate QWidget dependant code into separate WebKitWidgets static library
3782         https://bugs.webkit.org/show_bug.cgi?id=102800
3783
3784         Reviewed by Tor Arne Vestbø.
3785
3786         This patch separates code that needs to use QWidget related APIs in
3787         WebKit/qt/WebCoreSupport and Api from code that doesn't. This means for
3788         example FrameLoaderClientQt.cpp remains in the WebKit1 static library,
3789         while qwebpage.cpp and qwebframe.cpp become part of the WebKitWidgets
3790         static library. WebKit1 is compiled without QT += widgets and therefore
3791         any widget related dependency has been moved "up" and out of WebKit1 into
3792         the WebKitWidgets library.
3793
3794         Between the code in WebKit.a and WebKitWidgets.a new adapters and
3795         interfaces have been introduced, such as QWebPageAdapter and
3796         QWebFrameAdapter. QWebPageAdapter, when used from WebKit1, is a way to
3797         call out into the API layer, implemented by QWebPage (QWebPagePrivate).
3798         The other way around if QWebPage wants to access WebCore or
3799         WebCoreSupport related functionality, it will go through
3800         QWebPageAdapater (as base class). The separation in the direction up
3801         into the API layer is complete with this patch, no code in WebKit1
3802         depends on QtWidgets. The separation the other way around, code in the
3803         API layer not using any WebCore types, is not complete yet.
3804
3805         Some classes such as QWebSettings, QWebElement or
3806         DumpRenderTreeSupportQt remain in WebKit1. While they are API layer,
3807         they do not depend on widget related Qt APIs and they make much more
3808         use of WebCore internal APIs and therefore are easier to keep in
3809         WebKit1.
3810
3811         In the future we plan to place a real shared library boundary between
3812         WebKit1 and WebKitWidgets, by keeping the WebKit1 static library as
3813         part of the QtWebKit shared library and by turning the WebKitWidgets
3814         static library into a shared one.
3815
3816         * platform/qt/QWebPageClient.h:
3817         (QWebPageClient):
3818
3819 2012-11-22  Dan Carney  <dcarney@google.com>
3820
3821         [V8] Add context checks to WorldContextHandle and V8DOMWindowShell
3822         https://bugs.webkit.org/show_bug.cgi?id=101573
3823
3824         Reviewed by Adam Barth.
3825
3826         Added a bunch of assertions to ensure the problems with IndexedDB
3827         contexts cannot reemerge.
3828
3829         No new tests. No change in functionality.
3830
3831         * bindings/v8/V8DOMWindowShell.cpp:
3832         (WebCore):
3833         (WebCore::V8DOMWindowShell::assertContextHasCorrectPrototype):
3834         * bindings/v8/V8DOMWindowShell.h:
3835         (V8DOMWindowShell):
3836         (WebCore::V8DOMWindowShell::isolated):
3837         * bindings/v8/WorldContextHandle.cpp:
3838         (WebCore::WorldContextHandle::WorldContextHandle):
3839
3840 2012-11-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3841
3842         [Qt] Correct extensions on preferredFilename
3843         https://bugs.webkit.org/show_bug.cgi?id=103054
3844
3845         Reviewed by Simon Hausmann.
3846
3847         When guessing a filename we will now ensure it has an extension that is valid for its mimetype.
3848         To do this the two missing methods getExtensionsForMIMEType and getPreferredExtensionForMIMEType
3849         have been added to the Qt implementation of MIMETypeRegistry.
3850
3851         * platform/network/qt/QNetworkReplyHandler.cpp:
3852         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3853         * platform/qt/MIMETypeRegistryQt.cpp:
3854         (WebCore::MIMETypeRegistry::getExtensionsForMIMEType):
3855         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
3856
3857 2012-11-22  Kent Tamura  <tkent@chromium.org>
3858
3859         INPUT_MULTIPLE_FIELDS_UI: Refactoring: Do not call updateInnerTextValue if only read-only sub-fields have values
3860         https://bugs.webkit.org/show_bug.cgi?id=103033
3861
3862         Reviewed by Kentaro Hara.
3863
3864         input[type=time] can have read-only sub fields. If only read-only fields
3865         have values, we don't need to call updateInnerTextValue when
3866         HTMLInputElement::value is set to "".
3867
3868         Tests: this patch doesn't change any visible behavior, but we add test cases to
3869         fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty.html
3870         just in case.
3871
3872         * html/shadow/DateTimeEditElement.h:
3873         (DateTimeEditElement): Declare anyEditableFieldsHaveValues.
3874         * html/shadow/DateTimeEditElement.cpp:
3875         (WebCore::DateTimeEditElement::anyEditableFieldsHaveValues):
3876         Added. This function checks value existence against only editable sub-fields.
3877         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
3878         (WebCore::BaseMultipleFieldsDateAndTimeInputType::setValue):
3879         Call DateTimeEditElement::anyEditableFieldsHaveValues() instead of
3880         DateTimeFieldsState::hasAnyValue().
3881         * html/DateTimeFieldsState.h: Remove hasAnyValue.
3882
3883 2012-11-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3884
3885         [Qt] Lookup mimetypes using QMimeDatabase
3886         https://bugs.webkit.org/show_bug.cgi?id=102667
3887
3888         Reviewed by Simon Hausmann.
3889
3890         The Qt backend of MIMETypeRegistry now looks up using QMimeDatabase.
3891
3892         * loader/archive/ArchiveFactory.cpp:
3893         (WebCore::archiveMIMETypes):
3894             Also map the preferred freedesktop mimetype for MIME archives to MIME archive constructor.
3895         * platform/MIMETypeRegistry.cpp:
3896         (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
3897         * platform/qt/MIMETypeRegistryQt.cpp:
3898         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3899         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
3900         (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
3901
3902 2012-11-22  Cosmin Truta  <ctruta@rim.com>
3903
3904         Move URL-checking code into Frame
3905         https://bugs.webkit.org/show_bug.cgi?id=103014
3906
3907         Reviewed by Ojan Vafai.
3908
3909         Move the common URL checking logic from HTMLFrameElementBase::isURLAllowed
3910         and HTMLPlugInImageElement::allowedToLoadFrameURL into Frame::isURLAllowed.
3911
3912         No new tests. Refactoring.
3913
3914         * html/HTMLFrameElementBase.cpp:
3915         (WebCore::HTMLFrameElementBase::isURLAllowed): Call Frame::isURLAllowed.
3916         * html/HTMLPlugInImageElement.cpp:
3917         (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL): Call Frame::isURLAllowed.
3918         * page/Frame.cpp:
3919         (WebCore::Frame::isURLAllowed): Added.
3920         * page/Frame.h:
3921         (Frame): Added isURLAllowed.
3922
3923 2012-11-22  Kentaro Hara  <haraken@chromium.org>
3924
3925         [V8] Rename toWebCoreStringWithNullOrUndefinedCheck() with toWebCoreStringWithUndefinedOrNullCheck()
3926         https://bugs.webkit.org/show_bug.cgi?id=103013
3927
3928         Reviewed by Adam Barth.
3929
3930         IDL attributes and other V8 and JSC files use "UndefinedOrNull" instead of "NullOrUndefined".
3931
3932         No tests. No change in behavior.
3933
3934         * bindings/v8/JavaScriptCallFrame.cpp:
3935         (WebCore::JavaScriptCallFrame::functionName):
3936         * bindings/v8/ScriptDebugServer.cpp:
3937         (WebCore::ScriptDebugServer::setScriptSource):
3938         (WebCore::ScriptDebugServer::dispatchDidParseSource):
3939         (WebCore::ScriptDebugServer::compileScript):
3940         (WebCore::ScriptDebugServer::runScript):
3941         * bindings/v8/ScriptEventListener.cpp:
3942         (WebCore::eventListenerHandlerLocation):
3943         * bindings/v8/V8Binding.h:
3944         (WebCore::toWebCoreStringWithUndefinedOrNullCheck):
3945         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3946         (WebCore::V8DOMWindow::showModalDialogCallback):
3947         (WebCore::V8DOMWindow::openCallback):
3948         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
3949         (WebCore::V8JavaScriptCallFrame::evaluateCallback):
3950
3951 2012-11-22  Harald Alvestrand  <hta@google.com>
3952
3953         Name enumerator function for GetStats RTCStatsElement
3954         https://bugs.webkit.org/show_bug.cgi?id=102933
3955
3956         Reviewed by Adam Barth.
3957
3958         Tested by extensions to the RTCPeerConnection-stats test.
3959
3960         * Modules/mediastream/RTCStatsElement.cpp:
3961         (WebCore::RTCStatsElement::names):
3962         (WebCore):
3963         * Modules/mediastream/RTCStatsElement.h:
3964         (RTCStatsElement):
3965         * Modules/mediastream/RTCStatsElement.idl:
3966
3967 2012-11-22  Kentaro Hara  <haraken@chromium.org>
3968
3969         Rename the "eden" bit to something more descriptive
3970         https://bugs.webkit.org/show_bug.cgi?id=102985
3971
3972         Reviewed by Adam Barth.
3973
3974         InEdenFlag is not descriptive. Per the discussion in IRC,
3975         we rename InEdenFlag to V8CollectableDuringMinorGCFlag.
3976
3977         No tests. No change in behavior.
3978
3979         * bindings/v8/V8GCController.cpp:
3980         (WebCore::gcTree):
3981         (WebCore::V8GCController::didCreateWrapperForNode):
3982         (WebCore::V8GCController::minorGCPrologue):
3983         * dom/Node.h:
3984         (WebCore::Node::isV8CollectableDuringMinorGC):
3985         (WebCore::Node::setV8CollectableDuringMinorGC):
3986
3987 2012-11-22  Kentaro Hara  <haraken@chromium.org>
3988
3989         [V8] Move AddMessageListener() from WorkerContextExecutionProxy::initializeIfNeeded() to WorkerContextExecutionProxy::initIsolate()
3990         https://bugs.webkit.org/show_bug.cgi?id=102998
3991
3992         Reviewed by Adam Barth.
3993
3994         This is an incremental step for moving initializeIfNeeded()
3995         to V8Initializer.h. Given that AddMessageListener() needs to
3996         be called once per Isolate, we can move AddMessageListener()
3997         from initializeIfNeeded() to initIsolate().
3998
3999         No tests. No change in behavior.
4000
4001         * bindings/v8/WorkerContextExecutionProxy.cpp:
4002         (WebCore::WorkerContextExecutionProxy::initIsolate):
4003         (WebCore::WorkerContextExecutionProxy::initializeIfNeeded):
4004
4005 2012-11-22  Michael Saboff  <msaboff@apple.com>
4006
4007         HTML integer parsing functions don't natively handle 8 bit strings
4008         https://bugs.webkit.org/show_bug.cgi?id=102997
4009
4010         Reviewed by Filip Pizlo.
4011
4012         In order to avoid unnecessary up convering of 8 bit strings to 16 bits, added 8 bit paths to
4013         parseHTMLInteger() and parseHTMLNonNegativeInteger() by breaking out the core logic into
4014         templated helper functions.  These methods are primarily used to process attribute values.
4015
4016         No new tests needed, functionnality covered by existing tests.
4017
4018         * html/parser/HTMLParserIdioms.cpp:
4019         (WebCore::parseHTMLIntegerInternal):
4020         (WebCore::parseHTMLInteger):
4021         (WebCore::parseHTMLNonNegativeIntegerInternal):
4022         (WebCore::parseHTMLNonNegativeInteger):
4023
4024 2012-11-22  Kentaro Hara  <haraken@chromium.org>
4025
4026         [V8] WebCoreStringResourceBase should be located in V8StringResource.h
4027         https://bugs.webkit.org/show_bug.cgi?id=103002
4028
4029         Reviewed by Adam Barth.
4030
4031         Currently WebCoreStringResourceBase is mis-located in V8ValueCache.h.
4032         It should be in V8StringResource.h.
4033
4034         No tests. No change in behavior.
4035
4036         * bindings/v8/V8StringResource.cpp:
4037         (WebCore::WebCoreStringResourceBase::toWebCoreStringResourceBase):
4038         (WebCore):
4039         (WebCore::WebCoreStringResourceBase::visitStrings):
4040         * bindings/v8/V8StringResource.h:
4041         (WebCore):
4042         (WebCoreStringResourceBase):
4043         (WebCore::WebCoreStringResourceBase::WebCoreStringResourceBase):
4044         (WebCore::WebCoreStringResourceBase::~WebCoreStringResourceBase):
4045         (WebCore::WebCoreStringResourceBase::webcoreString):
4046         (WebCore::WebCoreStringResourceBase::atomicString):
4047         (WebCore::WebCoreStringResourceBase::memoryConsumption):
4048         (WebCoreStringResource16):
4049         (WebCore::WebCoreStringResource16::WebCoreStringResource16):
4050         (WebCoreStringResource8):
4051         (WebCore::WebCoreStringResource8::WebCoreStringResource8):
4052         * bindings/v8/V8ValueCache.cpp:
4053         * bindings/v8/V8ValueCache.h:
4054         (WebCore):
4055
4056 2012-11-21  Ilya Tikhonovsky  <loislo@chromium.org>
4057
4058         Web Inspector: NMI add instrumentation to DynamicNodeList classes hierarchy.
4059         https://bugs.webkit.org/show_bug.cgi?id=103025
4060
4061         Reviewed by Yury Semikhatsky.
4062
4063         RNiwa changed pointer type in NodeRareData::NodeListAtomicNameCacheMap from the topmost
4064         DynamicSubtreeNodeList to the base DynamicNodeListCacheBase at r135429.
4065         As a result we got non zero count of pointers that don't match with tcmalloc data,
4066         because DynamicNodeList uses multiple inheritance.
4067         It could be fixed with help of explicit native memory instrumentation for DynamicNodeList class hierarchy.
4068
4069         No change in behavior, so no new tests.
4070
4071         * dom/Document.cpp: drive by fix.
4072         (WebCore::Document::reportMemoryUsage):
4073         * dom/DynamicNodeList.cpp:
4074         (WebCore::DynamicNodeListCacheBase::reportMemoryUsage):
4075         (WebCore):
4076         (WebCore::DynamicNodeList::reportMemoryUsage):
4077         (WebCore::DynamicSubtreeNodeList::reportMemoryUsage):
4078         * dom/DynamicNodeList.h:
4079         (WebCore::DynamicNodeListCacheBase::~DynamicNodeListCacheBase):
4080         (DynamicNodeListCacheBase):
4081         (DynamicNodeList):
4082         (DynamicSubtreeNodeList):
4083
4084 2012-11-22  Kentaro Hara  <haraken@chromium.org>