cb8a002bf84dfaadb783f8d4958827c54c5ce7a4
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-01-31  Hayato Ito  <hayato@chromium.org>
2
3         Add APIs, getElementsByXXX family, to ShadowRoot IDL.
4         https://bugs.webkit.org/show_bug.cgi?id=77323
5
6         Reviewed by Dimitri Glazkov.
7
8         Add APIs (getElementById, getElemesntByTagName, getElementsByClassName and getElementsByTagNameNS)
9         to ShadowRoot IDL.
10
11         * dom/ShadowRoot.idl:
12
13 2012-01-31  Shinya Kawanaka  <shinyak@google.com>
14
15         Content element should be able to be dynamically added/removed/replaced in a shadow tree.
16         https://bugs.webkit.org/show_bug.cgi?id=76611
17
18         Reviewed by Hajime Morita.
19
20         When a content element is added/removed/replaced in a shadow tree, we have to recreate
21         the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
22         when content element is removed. (When added, it is recalculated.)
23         This patch enables us to recalcurate the shadow tree when content element is removed.
24
25         Test: fast/dom/shadow/content-element-move.html
26
27         * dom/Element.cpp:
28         (WebCore::Element::attach):
29           If a shadow root exists, attaches shadow tree before attaching child elements.
30         * dom/ShadowRoot.cpp:
31         (WebCore::ShadowRoot::recalcShadowTreeStyle):
32           Recalculates light children and shadow tree.
33         (WebCore::ShadowRoot::reattachHostChildrenAndShadow):
34           Detaches shadow tree and host light children, and attaches them again.
35         * dom/ShadowRoot.h:
36           Added a flag to recalculate shadow tree.
37         (WebCore::ShadowRoot::setNeedsShadowTreeStyleRecalc):
38         (WebCore::ShadowRoot::clearNeedsShadowTreeStyleRecalc):
39         (WebCore::ShadowRoot::needsShadowTreeStyleRecalc):
40         * html/shadow/HTMLContentElement.cpp:
41         (WebCore::HTMLContentElement::attach):
42           Does not need to detach included elements, because they are not attached in ContainerNode anymore.
43         (WebCore::HTMLContentElement::detach):
44           When a content element detached, reattaches a shadow tree.
45
46 2012-01-31  Joe Thomas  <joethomas@motorola.com>
47
48         https://bugs.webkit.org/show_bug.cgi?id=76801
49         Listboxes incorrectly display contents when cleared and then re-populated.
50
51         Whenever the number of items in the listbox is less than the size of listbox (number of visible items the listbox can accomodate),
52         we set the listbox scroll-offset to zero. The scroll-offset of the Scrollbar should also be set to 0 so that when the listbox is re-populated,
53         scrollbar position and the content inside the listbox are in sync.
54
55         Reviewed by Andreas Kling.
56
57         Tests: fast/forms/listbox-clear-restore.html
58
59         * rendering/RenderListBox.cpp:
60         (WebCore::RenderListBox::computeLogicalHeight): Setting the scroll-offset of the Scrollbar to 0 when scrollbar is not needed.
61
62 2012-01-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
63
64         Unreviewed. Fix build break after r106373.
65
66         * CMakeLists.txt:
67
68 2012-01-31  Adam Barth  <abarth@webkit.org>
69
70         HTMLPreloadScanner should understand the <base> element
71         https://bugs.webkit.org/show_bug.cgi?id=77231
72
73         Reviewed by Eric Seidel.
74
75         Previously, the HTMLPreloadScanner would ignore the <base> element when
76         preloading resources.  If there was a <base> tag, this could cause the
77         preload scanner to make a bunch of useless requests.
78
79         This patch teaches the preload scanner to use <base> tags to better
80         predict which URLs will be used by the document.
81
82         Tests: fast/preloader/first-base-tag-scanned-wins.html
83                fast/preloader/first-base-tag-wins.html
84                fast/preloader/understands-base-tag.html
85
86         * dom/Document.cpp:
87         (WebCore::Document::completeURL):
88         (WebCore):
89         * dom/Document.h:
90         (Document):
91         (WebCore::Document::baseElementURL):
92         * html/parser/HTMLPreloadScanner.cpp:
93         (WebCore::HTMLNames::PreloadTask::PreloadTask):
94         (WebCore::HTMLNames::PreloadTask::processAttributes):
95         (WebCore::HTMLNames::PreloadTask::preload):
96         (WebCore::HTMLNames::PreloadTask::baseElementHref):
97         (PreloadTask):
98         (WebCore::HTMLPreloadScanner::scan):
99         (WebCore::HTMLPreloadScanner::processToken):
100         (WebCore::HTMLPreloadScanner::updatePredictedBaseElementURL):
101         (WebCore):
102         * html/parser/HTMLPreloadScanner.h:
103         (HTMLPreloadScanner):
104
105 2012-01-31  Raymond Liu  <raymond.liu@intel.com>
106
107         Dynamic allocate AudioBus with required number of channels for AudioNodeInput
108         https://bugs.webkit.org/show_bug.cgi?id=76516
109
110         Reviewed by Kenneth Russell.
111
112         No new tests required.
113
114         * webaudio/AudioBasicProcessorNode.cpp:
115         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
116         * webaudio/AudioChannelMerger.cpp:
117         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
118         * webaudio/AudioGainNode.cpp:
119         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
120         * webaudio/AudioNode.cpp:
121         (WebCore::AudioNode::checkNumberOfChannelsForInput):
122         * webaudio/AudioNode.h:
123         * webaudio/AudioNodeInput.cpp:
124         (WebCore::AudioNodeInput::AudioNodeInput):
125         (WebCore::AudioNodeInput::updateInternalBus):
126         (WebCore::AudioNodeInput::internalSummingBus):
127         * webaudio/AudioNodeInput.h:
128
129 2012-01-31  Alexey Proskuryakov  <ap@apple.com>
130
131         REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian
132         https://bugs.webkit.org/show_bug.cgi?id=77473
133         <rdar://problem/10751357>
134
135         Reviewed by Darin Adler.
136
137         Test: platform/mac/fast/events/non-roman-key-code.html
138
139         * WebCore.exp.in:
140         * platform/mac/PlatformEventFactoryMac.h:
141         * platform/mac/PlatformEventFactoryMac.mm:
142         (WebCore::keyIdentifierForKeyEvent):
143         (WebCore::windowsKeyCodeForKeyEvent):
144         Export functions for reuse in WebKit2. I did not attempt any larger refactoring at this time.
145
146 2012-01-31  Gregg Tavares  <gman@google.com>
147
148         Make WebGL put synthesized errors in the JS console
149         https://bugs.webkit.org/show_bug.cgi?id=77267
150
151         Reviewed by Kenneth Russell.
152
153         No new functionality so no new tests.
154
155         * html/canvas/WebGLCompressedTextures.cpp:
156         (WebCore::WebGLCompressedTextures::validateCompressedTexFuncData):
157         (WebCore::WebGLCompressedTextures::compressedTexImage2D):
158         (WebCore::WebGLCompressedTextures::compressedTexSubImage2D):
159         * html/canvas/WebGLCompressedTextures.h:
160         (WebGLCompressedTextures):
161         * html/canvas/WebGLDebugShaders.cpp:
162         (WebCore::WebGLDebugShaders::getTranslatedShaderSource):
163         * html/canvas/WebGLRenderingContext.cpp:
164         (WebCore::WebGLRenderingContext::activeTexture):
165         (WebCore::WebGLRenderingContext::attachShader):
166         (WebCore::WebGLRenderingContext::bindAttribLocation):
167         (WebCore::WebGLRenderingContext::checkObjectToBeBound):
168         (WebCore::WebGLRenderingContext::bindBuffer):
169         (WebCore::WebGLRenderingContext::bindFramebuffer):
170         (WebCore::WebGLRenderingContext::bindRenderbuffer):
171         (WebCore::WebGLRenderingContext::bindTexture):
172         (WebCore::WebGLRenderingContext::blendEquation):
173         (WebCore::WebGLRenderingContext::blendEquationSeparate):
174         (WebCore::WebGLRenderingContext::blendFunc):
175         (WebCore::WebGLRenderingContext::blendFuncSeparate):
176         (WebCore::WebGLRenderingContext::bufferData):
177         (WebCore::WebGLRenderingContext::bufferSubData):
178         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
179         (WebCore::WebGLRenderingContext::clear):
180         (WebCore::WebGLRenderingContext::compileShader):
181         (WebCore::WebGLRenderingContext::compressedTexImage2D):
182         (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
183         (WebCore::WebGLRenderingContext::copyTexImage2D):
184         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
185         (WebCore::WebGLRenderingContext::createShader):
186         (WebCore::WebGLRenderingContext::deleteObject):
187         (WebCore::WebGLRenderingContext::depthRange):
188         (WebCore::WebGLRenderingContext::detachShader):
189         (WebCore::WebGLRenderingContext::disable):
190         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
191         (WebCore::WebGLRenderingContext::validateWebGLObject):
192         (WebCore::WebGLRenderingContext::drawArrays):
193         (WebCore::WebGLRenderingContext::drawElements):
194         (WebCore::WebGLRenderingContext::enable):
195         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
196         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
197         (WebCore::WebGLRenderingContext::framebufferTexture2D):
198         (WebCore::WebGLRenderingContext::generateMipmap):
199         (WebCore::WebGLRenderingContext::getActiveAttrib):
200         (WebCore::WebGLRenderingContext::getActiveUniform):
201         (WebCore::WebGLRenderingContext::getAttachedShaders):
202         (WebCore::WebGLRenderingContext::getAttribLocation):
203         (WebCore::WebGLRenderingContext::getBufferParameter):
204         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
205         (WebCore::WebGLRenderingContext::getParameter):
206         (WebCore::WebGLRenderingContext::getProgramParameter):
207         (WebCore::WebGLRenderingContext::getProgramInfoLog):
208         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
209         (WebCore::WebGLRenderingContext::getShaderParameter):
210         (WebCore::WebGLRenderingContext::getShaderInfoLog):
211         (WebCore::WebGLRenderingContext::getShaderSource):
212         (WebCore::WebGLRenderingContext::getTexParameter):
213         (WebCore::WebGLRenderingContext::getUniform):
214         (WebCore::WebGLRenderingContext::getUniformLocation):
215         (WebCore::WebGLRenderingContext::getVertexAttrib):
216         (WebCore::WebGLRenderingContext::hint):
217         (WebCore::WebGLRenderingContext::isEnabled):
218         (WebCore::WebGLRenderingContext::linkProgram):
219         (WebCore::WebGLRenderingContext::pixelStorei):
220         (WebCore::WebGLRenderingContext::readPixels):
221         (WebCore::WebGLRenderingContext::renderbufferStorage):
222         (WebCore::WebGLRenderingContext::scissor):
223         (WebCore::WebGLRenderingContext::shaderSource):
224         (WebCore::WebGLRenderingContext::stencilFunc):
225         (WebCore::WebGLRenderingContext::stencilFuncSeparate):
226         (WebCore::WebGLRenderingContext::stencilMaskSeparate):
227         (WebCore::WebGLRenderingContext::texImage2DBase):
228         (WebCore::WebGLRenderingContext::texImage2DImpl):
229         (WebCore::WebGLRenderingContext::texImage2D):
230         (WebCore::WebGLRenderingContext::videoFrameToImage):
231         (WebCore::WebGLRenderingContext::texParameter):
232         (WebCore::WebGLRenderingContext::texSubImage2DBase):
233         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
234         (WebCore::WebGLRenderingContext::texSubImage2D):
235         (WebCore::WebGLRenderingContext::uniform1f):
236         (WebCore::WebGLRenderingContext::uniform1fv):
237         (WebCore::WebGLRenderingContext::uniform1i):
238         (WebCore::WebGLRenderingContext::uniform1iv):
239         (WebCore::WebGLRenderingContext::uniform2f):
240         (WebCore::WebGLRenderingContext::uniform2fv):
241         (WebCore::WebGLRenderingContext::uniform2i):
242         (WebCore::WebGLRenderingContext::uniform2iv):
243         (WebCore::WebGLRenderingContext::uniform3f):
244         (WebCore::WebGLRenderingContext::uniform3fv):
245         (WebCore::WebGLRenderingContext::uniform3i):
246         (WebCore::WebGLRenderingContext::uniform3iv):
247         (WebCore::WebGLRenderingContext::uniform4f):
248         (WebCore::WebGLRenderingContext::uniform4fv):
249         (WebCore::WebGLRenderingContext::uniform4i):
250         (WebCore::WebGLRenderingContext::uniform4iv):
251         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
252         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
253         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
254         (WebCore::WebGLRenderingContext::useProgram):
255         (WebCore::WebGLRenderingContext::validateProgram):
256         (WebCore::WebGLRenderingContext::vertexAttrib1f):
257         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
258         (WebCore::WebGLRenderingContext::vertexAttrib2f):
259         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
260         (WebCore::WebGLRenderingContext::vertexAttrib3f):
261         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
262         (WebCore::WebGLRenderingContext::vertexAttrib4f):
263         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
264         (WebCore::WebGLRenderingContext::vertexAttribPointer):
265         (WebCore::WebGLRenderingContext::viewport):
266         (WebCore::WebGLRenderingContext::forceLostContext):
267         (WebCore::WebGLRenderingContext::loseContextImpl):
268         (WebCore::WebGLRenderingContext::forceRestoreContext):
269         (WebCore::WebGLRenderingContext::validateTextureBinding):
270         (WebCore::WebGLRenderingContext::validateLocationLength):
271         (WebCore::WebGLRenderingContext::validateSize):
272         (WebCore::WebGLRenderingContext::validateString):
273         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
274         (WebCore::WebGLRenderingContext::validateTexFuncLevel):
275         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
276         (WebCore::WebGLRenderingContext::validateTexFuncData):
277         (WebCore::WebGLRenderingContext::validateDrawMode):
278         (WebCore::WebGLRenderingContext::validateStencilSettings):
279         (WebCore::WebGLRenderingContext::validateStencilFunc):
280         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
281         (WebCore::WebGLRenderingContext::validateBlendEquation):
282         (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
283         (WebCore::WebGLRenderingContext::validateCapability):
284         (WebCore::WebGLRenderingContext::validateUniformParameters):
285         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
286         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
287         (WebCore::WebGLRenderingContext::validateHTMLImageElement):
288         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
289         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
290         (WebCore::WebGLRenderingContext::maybeRestoreContext):
291         (WebCore):
292         (WebCore::WebGLRenderingContext::synthesizeGLError):
293         * html/canvas/WebGLRenderingContext.h:
294         (WebGLRenderingContext):
295
296 2012-01-31  Raymond Liu  <raymond.liu@intel.com>
297
298         Clean up m_processLock logic in AudioBasicProcessorNode and AudioGainNode
299         https://bugs.webkit.org/show_bug.cgi?id=76772
300
301         Reviewed by Kenneth Russell.
302
303         No new tests required.
304
305         * webaudio/AudioBasicProcessorNode.cpp:
306         (WebCore::AudioBasicProcessorNode::process):
307         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
308         * webaudio/AudioBasicProcessorNode.h:
309         * webaudio/AudioGainNode.cpp:
310         (WebCore::AudioGainNode::process):
311         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
312         * webaudio/AudioGainNode.h:
313         (AudioGainNode):
314
315 2012-01-31  Adam Klein  <adamk@chromium.org>
316
317         ProcessingInstruction should not be a ContainerNode
318         https://bugs.webkit.org/show_bug.cgi?id=75141
319
320         Reviewed by Darin Adler.
321
322         Per the DOM spec, ProcessingInstruction can't have any children.
323         And the WebCore behavior already matches the spec by always returning
324         false for childTypeAllowed(). This change simplifies
325         ProcessingInstruction's implementation by making it subclass Node
326         instead of ContainerNode.
327
328         Test: fast/dom/processing-instruction-appendChild-exceptions.xhtml
329
330         * dom/ContainerNode.cpp: Moved dispatchBeforeLoadEvent up to Node.
331         * dom/ContainerNode.h:
332         * dom/Node.cpp:
333         (WebCore::Node::dispatchBeforeLoadEvent): Moved up from ContainerNode
334         since it's used both by ProcessingInstruction and various Element
335         subclasses.
336         * dom/Node.h:
337         * dom/ProcessingInstruction.cpp:
338         (WebCore::ProcessingInstruction::ProcessingInstruction): Call Node constructor.
339         (WebCore::ProcessingInstruction::insertedIntoDocument): Call Node impl.
340         (WebCore::ProcessingInstruction::removedFromDocument): ditto.
341         (WebCore::ProcessingInstruction::finishParsingChildren): ditto.
342         * dom/ProcessingInstruction.h:
343
344 2012-01-31  Matthew Delaney  <mdelaney@apple.com>
345
346         Failing 2d.shadow.enable.off.2.html on Lion
347         https://bugs.webkit.org/show_bug.cgi?id=77489
348
349         Reviewed by Dan Bernstein.
350
351         The canvas spec requires that shadows not be drawn under certain
352         circumstances outlined here: http://www.whatwg.org/specs/web-apps/current-work/#shadows
353         This patch adds in those checks which allows us to pass now (on Lion)
354         the philip canvas test that was checking that constraint.
355
356         No new tests. Unskipping the test on Lion that this patch fixes.
357
358         * html/canvas/CanvasRenderingContext2D.cpp:
359         (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
360         (WebCore::CanvasRenderingContext2D::setShadow):
361         (WebCore::CanvasRenderingContext2D::applyShadow):
362         (WebCore::CanvasRenderingContext2D::shouldDrawShadows):
363         * html/canvas/CanvasRenderingContext2D.h:
364         (CanvasRenderingContext2D):
365
366 2012-01-31  Anders Carlsson  <andersca@apple.com>
367
368         TileCache::setNeedsDisplayInRect cleanup
369         https://bugs.webkit.org/show_bug.cgi?id=77486
370
371         Reviewed by Andreas Kling.
372
373         * platform/graphics/ca/mac/TileCache.h:
374         * platform/graphics/ca/mac/TileCache.mm:
375         (WebCore::TileCache::setNeedsDisplayInRect):
376         TileCache::tileLayerAtIndex can in the future return nil, so cope with that. Also, replace
377         nested if statements with continue statements.
378
379         (WebCore::TileCache::getTileIndexRangeForRect):
380         Rename this to better indicate that it returns a range of indices.
381
382 2012-01-31  Dana Jansens  <danakj@chromium.org>
383
384         Add contains() test to Region
385         https://bugs.webkit.org/show_bug.cgi?id=72294
386
387         Reviewed by Anders Carlsson.
388
389         * platform/graphics/Region.cpp:
390         (WebCore::Region::contains):
391         (WebCore):
392         * platform/graphics/Region.h:
393         (Region):
394         (Shape):
395         (WebCore::operator==):
396         (WebCore):
397
398 2012-01-31  Sami Kyostila  <skyostil@chromium.org>
399
400         [chromium] Compositor debug borders are not scaled correctly
401         https://bugs.webkit.org/show_bug.cgi?id=77468
402
403         Use CCLayerImpl::contentBounds() instead of CCLayerImpl::bounds() to calculate debug
404         border geometry so that the borders are properly scaled.
405
406         Reviewed by James Robinson.
407
408         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
409         (WebCore::CCLayerImpl::appendDebugBorderQuad):
410
411 2012-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
412
413         Unreviewed, rolling out r106376.
414         http://trac.webkit.org/changeset/106376
415         https://bugs.webkit.org/show_bug.cgi?id=77481
416
417         Broke WebGLLayerChromiumTest in webkit_unit_tests (Requested
418         by kbr_google on #webkit).
419
420         * platform/graphics/gpu/DrawingBuffer.cpp:
421         (WebCore):
422         (WebCore::DrawingBuffer::reset):
423
424 2012-01-31  Mihnea Ovidenie  <mihnea@adobe.com>
425
426         [CSSRegions]Reduce the cases when the box style in region is computed
427         https://bugs.webkit.org/show_bug.cgi?id=77446
428
429         Reviewed by David Hyatt.
430
431         Covered by existing region style tests.
432
433         * rendering/RenderRegion.cpp:
434         (WebCore::RenderRegion::setRegionBoxesRegionStyle):
435         (WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):
436
437 2012-01-31  Anders Carlsson  <andersca@apple.com>
438
439         Put tiles in a HashMap
440         https://bugs.webkit.org/show_bug.cgi?id=77480
441
442         Reviewed by Antti Koivisto.
443
444         Put tiles in a hash map keyed off the tile index.
445
446         * platform/graphics/ca/mac/TileCache.h:
447         Shuffle member variables around so the order makes more sense.
448         Add the tile map.
449
450         * platform/graphics/ca/mac/TileCache.mm:
451         (WebCore::TileCache::TileCache):
452         Update member initializers.
453
454         (WebCore::TileCache::setNeedsDisplayInRect):
455         Call tileLayerAtIndex instead of tileLayerAtPosition.
456
457         (WebCore::TileCache::setAcceleratesDrawing):
458         (WebCore::TileCache::setTileDebugBorderWidth):
459         (WebCore::TileCache::setTileDebugBorderColor):
460         Iterate over the hash map instead of the sublayers.
461
462         (WebCore::TileCache::resizeTileGrid):
463         Add the created layers to the map.
464
465         (WebCore::TileCache::tileLayerAtIndex):
466         Rename from tileLayerAtPoint to better reflect that this member function
467         returns a tile layer at the given index and not the given point.
468
469 2012-01-31  Antti Koivisto  <antti@apple.com>
470
471         Make CSSOM style() return CSSStyleDeclaration*
472         https://bugs.webkit.org/show_bug.cgi?id=77475
473
474         Reviewed by Anders Carlsson
475
476         CSSStyleRule::style() and some other places return CSSMutableStyleDeclaration. 
477         They should return the plain CSSOM type instead.
478         
479         CSSMutableStyleDeclaration* should be available through non-CSSOM function.
480
481         * css/CSSFontFaceRule.h:
482         (WebCore::CSSFontFaceRule::style):
483         (WebCore::CSSFontFaceRule::declaration):
484         * css/CSSFontSelector.cpp:
485         (WebCore::CSSFontSelector::addFontFaceRule):
486         * css/CSSStyleRule.h:
487         (WebCore::CSSStyleRule::style):
488         (WebCore::CSSStyleRule::declaration):
489         * css/CSSStyleSelector.cpp:
490         (WebCore::CSSStyleSelector::styleForKeyframe):
491         * css/WebKitCSSKeyframeRule.h:
492         (WebCore):
493         (WebCore::WebKitCSSKeyframeRule::style):
494         (WebCore::WebKitCSSKeyframeRule::declaration):
495         (WebKitCSSKeyframeRule):
496         * editing/EditingStyle.cpp:
497         (WebCore::styleFromMatchedRulesForElement):
498         * inspector/InspectorStyleSheet.cpp:
499         (WebCore::InspectorStyleSheet::revalidateStyle):
500         * page/PageSerializer.cpp:
501         (WebCore::PageSerializer::retrieveResourcesForCSSRule):
502         * svg/SVGFontFaceElement.cpp:
503         (WebCore::SVGFontFaceElement::parseMappedAttribute):
504         (WebCore::SVGFontFaceElement::fontFamily):
505         (WebCore::SVGFontFaceElement::rebuildFontFace):
506
507 2012-01-31  Scott Graham  <scottmg@chromium.org>
508
509         [Chromium] Remove references to gyp cygwin build target
510         https://bugs.webkit.org/show_bug.cgi?id=77253
511
512         Reviewed by Julien Chaffraix.
513
514         Target dependency is no longer required, it's done earlier in the
515         build process.
516
517         * WebCore.gyp/WebCore.gyp:
518
519 2012-01-31  Jon Lee  <jonlee@apple.com>
520
521         Hidden form elements do not save their state prior to form submission
522         https://bugs.webkit.org/show_bug.cgi?id=77391
523         <rdar://problem/10563108>
524
525         Reviewed by Brady Eidson.
526
527         Test: fast/forms/state-restore-hidden.html
528
529         * html/HiddenInputType.cpp: Teach hidden inputs to save and restore their state.
530         (WebCore::HiddenInputType::saveFormControlState):
531         (WebCore::HiddenInputType::restoreFormControlState):
532         * html/HiddenInputType.h:
533         (HiddenInputType):
534
535 2012-01-31  Joshua Bell  <jsbell@chromium.org>
536
537         IndexedDB: IDBCursor.update() should raise exception if key changed
538         https://bugs.webkit.org/show_bug.cgi?id=76952
539
540         Move the test from the async task to the synchronous call, per spec. Also re-ordered the tests
541         done during the synchronous call and the asynchronous task to follow the spec order.
542
543         Reviewed by Tony Chang.
544
545         Tests: storage/indexeddb/cursor-update.html
546
547         * storage/IDBObjectStoreBackendImpl.cpp:
548         (WebCore::IDBObjectStoreBackendImpl::put): Added check during update() call, order checks per spec.
549         (WebCore::IDBObjectStoreBackendImpl::putInternal): Move effective key calculation inline.
550         * storage/IDBObjectStoreBackendImpl.h: Removed selectKeyForPut method.
551
552 2012-01-31  Anders Carlsson  <andersca@apple.com>
553
554         Inform the tile cache whenever the visible rect changes
555         https://bugs.webkit.org/show_bug.cgi?id=77470
556
557         Reviewed by Andreas Kling.
558
559         * platform/graphics/GraphicsLayer.h:
560         (WebCore::GraphicsLayer::visibleRectChanged):
561         Add empty function.
562
563         * platform/graphics/ca/GraphicsLayerCA.cpp:
564         (WebCore::GraphicsLayerCA::visibleRectChanged):
565         Call through to the PlatformCALayer.
566
567         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
568         (PlatformCALayer::visibleRectChanged):
569         Call through to the underlying WebTileCacheLayer.
570
571         * platform/graphics/ca/mac/TileCache.mm:
572         (WebCore::TileCache::visibleRectChanged):
573         Add empty stub.
574
575         (WebCore::TileCache::visibleRect):
576         Add new (currently unused) helper function that returns the visible rect of the
577         tile cache layer.
578
579         * platform/graphics/ca/mac/WebTileCacheLayer.h:
580         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
581         (-[WebTileCacheLayer visibleRectChanged]):
582         Call through to the TielCache object.
583
584         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
585         (PlatformCALayer::visibleRectChanged):
586         Add stub.
587
588         * rendering/RenderLayerCompositor.cpp:
589         (WebCore::RenderLayerCompositor::frameViewDidScroll):
590         Call GraphicsLayer::visibleRectChanged.
591
592 2012-01-31  Antti Koivisto  <antti@apple.com>
593
594         Remove CSSStyleDeclaration isElementStyleDeclaration bit
595         https://bugs.webkit.org/show_bug.cgi?id=77460
596
597         Reviewed by Andreas Kling.
598
599         Inline style declaration is now the only type of style declaration with element parent.
600         We can remove the bit and the associated logic.
601
602         * bindings/js/JSDOMBinding.h:
603         (WebCore::root):
604         * css/CSSMutableStyleDeclaration.cpp:
605         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
606         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
607         * css/CSSMutableStyleDeclaration.h:
608         (WebCore::CSSMutableStyleDeclaration::createInline):
609         (CSSMutableStyleDeclaration):
610         * css/CSSStyleDeclaration.cpp:
611         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
612         (WebCore):
613         (WebCore::CSSStyleDeclaration::parentStyleSheet):
614         * css/CSSStyleDeclaration.h:
615         (WebCore::CSSStyleDeclaration::parentRule):
616         (WebCore::CSSStyleDeclaration::clearParentRule):
617         (WebCore::CSSStyleDeclaration::parentElement):
618         (WebCore::CSSStyleDeclaration::clearParentElement):
619         (CSSStyleDeclaration):
620
621 2012-01-31  Dana Jansens  <danakj@chromium.org>
622
623         [chromium] Compute occlusion during paint loop
624         https://bugs.webkit.org/show_bug.cgi?id=76858
625
626         Reviewed by James Robinson.
627
628         New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp
629
630         * platform/graphics/FloatRect.cpp:
631         (WebCore::enclosedIntRect):
632         (WebCore):
633         * platform/graphics/FloatRect.h:
634         (WebCore):
635         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
636         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
637         * platform/graphics/chromium/Canvas2DLayerChromium.h:
638         (Canvas2DLayerChromium):
639         * platform/graphics/chromium/ContentLayerChromium.cpp:
640         (WebCore::ContentLayerChromium::paintContentsIfDirty):
641         * platform/graphics/chromium/ContentLayerChromium.h:
642         (ContentLayerChromium):
643         * platform/graphics/chromium/ImageLayerChromium.cpp:
644         (WebCore::ImageLayerChromium::paintContentsIfDirty):
645         * platform/graphics/chromium/ImageLayerChromium.h:
646         (ImageLayerChromium):
647         * platform/graphics/chromium/LayerChromium.cpp:
648         (WebCore::LayerChromium::contentToScreenSpaceTransform):
649         (WebCore):
650         (WebCore::LayerChromium::addSelfToOccludedScreenSpace):
651         (WebCore::LayerChromium::isPaintedAxisAlignedInScreen):
652         * platform/graphics/chromium/LayerChromium.h:
653         (WebCore):
654         (WebCore::LayerChromium::paintContentsIfDirty):
655         (LayerChromium):
656         * platform/graphics/chromium/RenderSurfaceChromium.h:
657         (RenderSurfaceChromium):
658         * platform/graphics/chromium/TiledLayerChromium.cpp:
659         (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
660         * platform/graphics/chromium/TiledLayerChromium.h:
661         (WebCore):
662         ():
663         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
664         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
665         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
666         (RenderSurfaceRegion):
667         (WebCore):
668         (WebCore::pushTargetRenderSurfaceRegion):
669         (WebCore::popAndPushTargetRenderSurfaceRegion):
670         (WebCore::CCLayerTreeHost::paintLayerContents):
671         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
672         (WebCore):
673         ():
674         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
675
676 2012-01-31  John Bates  <jbates@google.com>
677
678         [Chromium] Add chromium-style tracing support
679         https://bugs.webkit.org/show_bug.cgi?id=76885
680
681         Reviewed by Darin Fisher.
682
683         This code enables WebKit trace events to pass through more data to the
684         chromium platform tracing API and generally to use the full tracing
685         API provided by chromium.
686
687         * bindings/v8/V8Proxy.cpp:
688         (WebCore::V8Proxy::evaluate): Replace old tracing API.
689         * page/Console.cpp:
690         (WebCore::Console::time): Replace old tracing API.
691         (WebCore::Console::timeEnd): Replace old tracing API.
692         * platform/chromium/PlatformSupport.h:
693         * platform/chromium/TraceEvent.h:
694         (WebCore::TraceEvent::TraceID::TraceID):
695         (WebCore::TraceEvent::TraceID::data):
696         (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
697         (WebCore::TraceEvent::TraceStringWithCopy::operator const char* ):
698         (WebCore::TraceEvent::setTraceValue):
699         (WebCore::TraceEvent::addTraceEvent):
700         (WebCore::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
701         (WebCore::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
702         (WebCore::TraceEvent::TraceEndOnScopeClose::initialize):
703         (WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
704         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::TraceEndOnScopeCloseThreshold):
705         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::~TraceEndOnScopeCloseThreshold):
706         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::initialize):
707         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::addEventIfEnabled):
708
709 2012-01-31  Ryosuke Niwa  <rniwa@webkit.org>
710
711         Crash in DeleteSelectionCommand::handleGeneralDelete when attempting to delete the start block
712         https://bugs.webkit.org/show_bug.cgi?id=77077
713
714         Reviewed by Enrica Casucci.
715
716         The crash was caused by a missing null check after removing the position out of the start block.
717         Fixed the bug by adding an early return.
718
719         Tests: editing/deleting/delete-start-block.html
720                editing/selection/move-into-empty-root-inline-box.html
721
722         * editing/DeleteSelectionCommand.cpp:
723         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
724
725 2012-01-31  Rafael Brandao  <rafael.lobo@openbossa.org>
726
727         HTMLIsIndexElement should not expose HTMLInputElement properties
728         https://bugs.webkit.org/show_bug.cgi?id=76095
729
730         Reviewed by Eric Seidel.
731
732         This is a buildfix for r106373.
733
734         * DerivedSources.pri: Removed reference to HTMLIsIndexElement.idl
735
736 2012-01-31  Yongsheng Zhu  <yongsheng.zhu@intel.com>
737
738         WebGL must allocate smaller drawing buffer when the allocation fails. 
739         https://bugs.webkit.org/show_bug.cgi?id=76654
740
741         Reviewed by Kenneth Russell.
742
743         Test: fast/canvas/webgl/drawingbuffer-test.html
744
745         * platform/graphics/gpu/DrawingBuffer.cpp:
746         (WebCore):
747         (WebCore::DrawingBuffer::create):
748         (WebCore::DrawingBuffer::reset):
749
750 2012-01-25  Eric Seidel  <eric@webkit.org>
751
752         HTMLIsIndexElement should not expose HTMLInputElement properties
753         https://bugs.webkit.org/show_bug.cgi?id=76095
754
755         Reviewed by Adam Barth.
756
757         document.createElement("isindex") should produce an HTMLUnknownElement
758         per the HTML5 spec.  The parser automagically translates <isindex> into
759         a whole dom tree roughly representing what <isindex> used to do 15 years ago. :)
760
761         This patch just removes our support for HTMLIsIndexElement.  The parser
762         support was already in.  Having support for HTMLIsIndexElement was causing
763         one of the IE TestCenter tests to fail.
764
765         Test: fast/dom/HTMLIsIndexElement/prototype-chain.html
766
767         * DerivedSources.cpp:
768         * DerivedSources.make:
769         * DerivedSources.pri:
770         * GNUmakefile.list.am:
771         * Target.pri:
772         * WebCore.exp.in:
773         * WebCore.gypi:
774         * WebCore.order:
775         * WebCore.vcproj/WebCore.vcproj:
776         * WebCore.xcodeproj/project.pbxproj:
777         * bindings/gobject/GNUmakefile.am:
778         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
779         (WebKit::createHTMLElementWrapper):
780         * bindings/objc/DOM.mm:
781         (WebCore::createElementClassMap):
782         * bindings/objc/DOMHTML.h:
783         * bindings/objc/PublicDOMInterfaces.h:
784         * html/HTMLElementsAllInOne.cpp:
785         * html/HTMLIsIndexElement.cpp: Removed.
786         * html/HTMLIsIndexElement.h: Removed.
787         * html/HTMLIsIndexElement.idl: Removed.
788         * html/HTMLTagNames.in:
789         * page/DOMWindow.idl:
790
791 2012-01-31  Alexis Menard  <alexis.menard@openbossa.org>
792
793         Unreviewed include cleanup.
794
795         Tested locally on Qt and Chromium port.
796
797         * dom/Node.cpp:
798
799 2012-01-31  Arko Saha  <arko@motorola.com>
800
801         The spec renamed addTrack() to addTextTrack().
802         https://bugs.webkit.org/show_bug.cgi?id=77381
803
804         Reviewed by Eric Carlson.
805
806         Renamed addTrack() to addTextTrack().
807         Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#media-elements
808
809         * html/HTMLMediaElement.cpp:
810         (WebCore::HTMLMediaElement::addTextTrack):
811         * html/HTMLMediaElement.h:
812         (WebCore::HTMLMediaElement::addTextTrack):
813         * html/HTMLMediaElement.idl:
814
815 2012-01-31  Peter Rybin  <peter.rybin@gmail.com>
816
817         Web Inspector: CodeGeneratorInspector.py: reimplement generated array types
818         https://bugs.webkit.org/show_bug.cgi?id=77289
819
820         Reviewed by Vsevolod Vlasov.
821
822         Arrays are now rendered as a single template class. Its type-specific
823         details are provided by an additional ArrayItemHelper class that is
824         defined using C++ specialization technique.
825
826         * inspector/CodeGeneratorInspector.py:
827         (RawTypes.String):
828         (RawTypes.String.get_array_item_raw_c_type_text):
829         (RawTypes.Int):
830         (RawTypes.Int.get_array_item_raw_c_type_text):
831         (RawTypes.Number):
832         (RawTypes.Number.get_array_item_raw_c_type_text):
833         (RawTypes.Bool):
834         (RawTypes.Bool.get_array_item_raw_c_type_text):
835         (RawTypes.Object):
836         (RawTypes.Object.get_array_item_raw_c_type_text):
837         (RawTypes.Any):
838         (RawTypes.Any.get_array_item_raw_c_type_text):
839         (RawTypes.Array):
840         (RawTypes.Array.get_array_item_raw_c_type_text):
841         (RawTypes):
842         (TypeBindings.create_type_declaration_.EnumBinding):
843         (TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
844         (TypeBindings.create_type_declaration_.PlainString):
845         (TypeBindings.create_type_declaration_.PlainString.get_array_item_c_type_text):
846         (TypeBindings.create_type_declaration_.TypedefString):
847         (TypeBindings.create_type_declaration_.TypedefString.get_array_item_c_type_text):
848         (StructItemTraits):
849         (get_array_item_c_type_text):
850         (PlainObjectBinding):
851         (PlainObjectBinding.get_array_item_c_type_text):
852         (AdHocTypeContext):
853         (AdHocTypeContext.get_type_name_fix):
854         (AdHocTypeContext.add_type):
855         (ArrayBinding):
856         (ArrayBinding.resolve_inner):
857         (ArrayBinding.resolve_inner.ResolveData):
858         (ArrayBinding.request_user_runtime_cast):
859         (ArrayBinding.request_internal_runtime_cast):
860         (ArrayBinding.get_code_generator):
861         (ArrayBinding.get_code_generator.CodeGenerator):
862         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
863         (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
864         (ArrayBinding.get_code_generator.CodeGenerator.register_use):
865         (ArrayBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
866         (ArrayBinding.get_validator_call_text):
867         (ArrayBinding.get_in_c_type_text):
868         (ArrayBinding.get_array_item_c_type_text):
869         (ArrayBinding.get_setter_value_expression_pattern):
870         (ArrayBinding.reduce_to_raw_type):
871         (RawTypeBinding.get_array_item_c_type_text):
872         (ArrayItemHelper):
873         (typename):
874         (ArrayOf):
875         (Traits):
876
877 2012-01-31  Antti Koivisto  <antti@apple.com>
878
879         Parent SVGFontFaceElements style declaration to the rule
880         https://bugs.webkit.org/show_bug.cgi?id=77421
881
882         Reviewed by Adam Roben.
883
884         For some reason the declaration is parented to the element which adds a bunch of unnecessary special case code.
885         The invalidation on mutation is done explicitly by SVGFontFaceElement so that is not affected. The declaration
886         is not exposed so the change is not observable with a test.
887
888         * css/CSSFontFaceRule.cpp:
889         (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
890         * css/CSSMutableStyleDeclaration.h:
891         (WebCore::CSSMutableStyleDeclaration::createInline):
892         * svg/SVGFontFaceElement.cpp:
893         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
894         (WebCore::SVGFontFaceElement::parseMappedAttribute):
895         (WebCore::SVGFontFaceElement::fontFamily):
896         (WebCore::SVGFontFaceElement::rebuildFontFace):
897         * svg/SVGFontFaceElement.h:
898         
899             Remove the unnecessary m_styleDeclaration field, access through m_fontFaceRule instead.
900
901 2012-01-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
902
903         Tap highlighting: Support better outlines for multiline inlines
904         https://bugs.webkit.org/show_bug.cgi?id=77428
905
906         Reviewed by Simon Hausmann.
907
908         Covered by manual tests.
909
910         Do not use the linesBoundingBox anymore but draw a custom path
911         with rounded corners. Inlines are drawn as max 3 rects, first
912         line rect, joined middle rect and the rect for the last line.
913
914         * page/GestureTapHighlighter.cpp:
915         * platform/graphics/Path.h: Make addBeziersForRoundedRect public.
916
917 2012-01-31  Alexei Filippov  <alexeif@chromium.org>
918
919         Web Inspector: show sizes in bytes instead of KB, MB in heap profiler.
920         https://bugs.webkit.org/show_bug.cgi?id=77199
921
922         Reviewed by Pavel Feldman.
923
924         * inspector/front-end/DetailedHeapshotGridNodes.js:
925         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
926         (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
927         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
928         (WebInspector.HeapSnapshotDiffNode.prototype.get data):
929         * inspector/front-end/UIUtils.js:
930         (Number.withThousandsSeparator):
931
932 2012-01-26  Hans Wennborg  <hans@chromium.org>
933
934         Speech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
935         https://bugs.webkit.org/show_bug.cgi?id=77083
936
937         Reviewed by Darin Fisher.
938
939         Remove SpeechInputClientMock. The mock is moving to the DumpRenderTree
940         implementation.
941
942         No new tests, just refactoring.
943
944         * GNUmakefile.list.am:
945         * Target.pri:
946         * WebCore.gypi:
947         * WebCore.vcproj/WebCore.vcproj:
948         * WebCore.xcodeproj/project.pbxproj:
949         * platform/mock/SpeechInputClientMock.cpp: Removed.
950         * platform/mock/SpeechInputClientMock.h: Removed.
951
952 2012-01-31  Pavel Feldman  <pfeldman@google.com>
953
954         Web Inspector: boost protocol version to 1.0
955         https://bugs.webkit.org/show_bug.cgi?id=77408
956
957         Reviewed by Yury Semikhatsky.
958
959         * inspector/Inspector-1.0.json: Copied from Source/WebCore/inspector/Inspector.json.
960         * inspector/Inspector.json:
961
962 2012-01-31  Roland Steiner  <rolandsteiner@chromium.org>
963
964         <style scoped>: Improve shortcut code for cases where <style scoped> isn't used
965         https://bugs.webkit.org/show_bug.cgi?id=77410
966
967         Move shortcut from setupScopingElementStack(), do it at the calling sites instead
968         (where a larger chunk of work can be skipped).
969
970         Reviewed by Antti Koivisto.
971
972         No new tests. (refactoring)
973
974         * css/CSSStyleSelector.cpp:
975         (WebCore::CSSStyleSelector::setupScopingElementStack): remove shortcut code
976         (WebCore::CSSStyleSelector::pushParent): add shortcut code
977         (WebCore::CSSStyleSelector::matchScopedAuthorRules): factor matching scoped rules out from matchAuthorRules
978         (WebCore::CSSStyleSelector::matchAuthorRules): add shortcut code
979         * css/CSSStyleSelector.h:
980         (CSSStyleSelector): add matchScopedAuthorRules
981
982 2012-01-31  Pavel Feldman  <pfeldman@google.com>
983
984         Web Inspector: DOMDebugger.setEventListenerBreakpoint should accept regular DOM event names.
985         https://bugs.webkit.org/show_bug.cgi?id=77409
986
987         Reviewed by Yury Semikhatsky.
988
989         * inspector/Inspector.json:
990         * inspector/InspectorDOMDebuggerAgent.cpp:
991         (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
992         (WebCore):
993         (WebCore::InspectorDOMDebuggerAgent::setInstrumentationBreakpoint):
994         (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
995         (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
996         (WebCore::InspectorDOMDebuggerAgent::removeInstrumentationBreakpoint):
997         (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
998         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
999         * inspector/InspectorDOMDebuggerAgent.h:
1000         (InspectorDOMDebuggerAgent):
1001         * inspector/InspectorInstrumentation.cpp:
1002         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
1003         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
1004         (WebCore::InspectorInstrumentation::willHandleEventImpl):
1005         (WebCore::InspectorInstrumentation::willFireTimerImpl):
1006         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1007         * inspector/InspectorInstrumentation.h:
1008         (InspectorInstrumentation):
1009         * inspector/front-end/BreakpointsSidebarPane.js:
1010         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
1011         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
1012
1013 2012-01-31  Pablo Flouret  <pablof@motorola.com>
1014
1015         Fix compilation errors on build-webkit --debug --no-workers on mac.
1016         https://bugs.webkit.org/show_bug.cgi?id=75869
1017
1018         Reviewed by Adam Barth.
1019
1020         * WebCore.exp.in:
1021
1022 2012-01-30  Konrad Piascik  <kpiascik@rim.com>
1023
1024         Web Inspector: [BlackBerry] Add BlackBerry UA Strings to the Inspector's UA switcher
1025         https://bugs.webkit.org/show_bug.cgi?id=77343
1026
1027         Reviewed by Yury Semikhatsky.
1028
1029         * inspector/front-end/SettingsScreen.js:
1030         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
1031
1032 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
1033
1034         Web Inspector: should be possible to step through all event listeners when event listener breakpoint is hit
1035         https://bugs.webkit.org/show_bug.cgi?id=77331
1036
1037         Inspector instrumentation is called before and after each event handler invokation.
1038         In case inspector front-end is closed it is no-op, otherwise it may stop execution
1039         on an event listener breakpoint.
1040
1041         Reviewed by Pavel Feldman.
1042
1043         Test: inspector/debugger/step-through-event-listeners.html
1044
1045         * dom/EventTarget.cpp:
1046         (WebCore::EventTarget::fireEventListeners):
1047         * inspector/InspectorInstrumentation.cpp:
1048         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
1049         (WebCore::InspectorInstrumentation::willHandleEventImpl):
1050         (WebCore):
1051         (WebCore::InspectorInstrumentation::didHandleEventImpl):
1052         (WebCore::InspectorInstrumentation::didDispatchEventImpl):
1053         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
1054         (WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
1055         * inspector/InspectorInstrumentation.h:
1056         (InspectorInstrumentation):
1057         (WebCore::InspectorInstrumentation::willHandleEvent):
1058         (WebCore):
1059         (WebCore::InspectorInstrumentation::didHandleEvent):
1060
1061 2011-01-30  Hayato Ito  <hayato@chromium.org>
1062
1063         Attach light children after removing a shadow root.
1064         https://bugs.webkit.org/show_bug.cgi?id=74267
1065
1066         Reviewed by Ryosuke Niwa.
1067
1068         Tests: fast/dom/shadow/dynamically-created-shadow-root-expected.html
1069                fast/dom/shadow/dynamically-created-shadow-root.html:
1070
1071         * dom/Element.cpp:
1072         (WebCore::Element::removeShadowRoot):
1073
1074 2012-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1075
1076         Unreviewed, rolling out r106324.
1077         http://trac.webkit.org/changeset/106324
1078         https://bugs.webkit.org/show_bug.cgi?id=77406
1079
1080         Broke CCLayerTreeHostTestLayerOcclusion.runMultiThread and
1081         runSingleThread (Requested by yuzo1 on #webkit).
1082
1083         * platform/graphics/FloatRect.cpp:
1084         * platform/graphics/FloatRect.h:
1085         (WebCore):
1086         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1087         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1088         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1089         (WebCore):
1090         (Canvas2DLayerChromium):
1091         * platform/graphics/chromium/ContentLayerChromium.cpp:
1092         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1093         * platform/graphics/chromium/ContentLayerChromium.h:
1094         (WebCore):
1095         (ContentLayerChromium):
1096         * platform/graphics/chromium/ImageLayerChromium.cpp:
1097         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1098         * platform/graphics/chromium/ImageLayerChromium.h:
1099         (WebCore):
1100         (ImageLayerChromium):
1101         * platform/graphics/chromium/LayerChromium.cpp:
1102         * platform/graphics/chromium/LayerChromium.h:
1103         (WebCore):
1104         (WebCore::LayerChromium::paintContentsIfDirty):
1105         (LayerChromium):
1106         * platform/graphics/chromium/RenderSurfaceChromium.h:
1107         * platform/graphics/chromium/TiledLayerChromium.cpp:
1108         * platform/graphics/chromium/TiledLayerChromium.h:
1109         (WebCore):
1110         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1111         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1112         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1113         (WebCore::CCLayerTreeHost::paintLayerContents):
1114         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1115         (WebCore):
1116         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1117         (WebCore::enclosedIntRect):
1118         (WebCore):
1119
1120 2012-01-30  Raymond Liu  <raymond.liu@intel.com>
1121
1122         Fix ASSERT fail within AudioBus::processWithGainFrom()
1123         https://bugs.webkit.org/show_bug.cgi?id=76685
1124
1125         Reviewed by Daniel Bates.
1126
1127         Test: webaudio/audionode-connect-order.html
1128
1129         * webaudio/AudioBasicProcessorNode.cpp:
1130         (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
1131
1132 2012-01-30  Roland Steiner  <rolandsteiner@chromium.org>
1133
1134         <style scoped>: Implement scoped stylesheets and basic application
1135         https://bugs.webkit.org/show_bug.cgi?id=73190
1136
1137         Implementing support for <style scoped>:
1138         Add a vector stack to CSSStyleSelector that keeps track of encountered scoping elements. This is
1139         used for O(1) access to all relevant style sheets for a given element.
1140         Adapt matching of author style sheets to also consult appropriate scoped sheets.
1141         Finally, prevent style sharing from crossing into/out of scoped style boundaries.
1142
1143         Reviewed by Antti Koivisto.
1144
1145         Tests: fast/css/style-scoped/style-scoped-attach.html
1146                fast/css/style-scoped/style-scoped-basic.html
1147                fast/css/style-scoped/style-scoped-detach.html
1148                fast/css/style-scoped/style-scoped-remove-scoped.html
1149                fast/css/style-scoped/style-scoped-set-scoped.html
1150
1151         * css/CSSStyleSelector.cpp:
1152         (RuleSet):
1153         (WebCore::CSSStyleSelector::CSSStyleSelector): add code for scoped style sheets
1154         (WebCore::CSSStyleSelector::collectFeatures): ditto
1155         (WebCore):
1156         (WebCore::CSSStyleSelector::determineScopingElement): determine whether an author sheet is scoped (and to which scope), or global
1157         (WebCore::CSSStyleSelector::scopedRuleSetForElement): returns the RuleSet for the <style scoped> contained by the passed-in element (if any), or 0
1158         (WebCore::CSSStyleSelector::appendAuthorStylesheets): add code for scoped style sheets
1159         (WebCore::CSSStyleSelector::setupScopingElementStack): determine scoping element ancestors of the given element
1160         (WebCore::CSSStyleSelector::pushParent): simplify and refactor SelectorChecker::pushParent, as code in CSStyleSelector needs partial access
1161         (WebCore::CSSStyleSelector::popParent): ditto
1162         (WebCore::CSSStyleSelector::sortAndTransferMatchedRules): helper function
1163         (WebCore::CSSStyleSelector::matchAuthorRules): use AuthorRuleSetIterator to iterate over all relevant RuleSets
1164         (WebCore::CSSStyleSelector::matchRules): adapt for scoped style rules
1165         (WebCore::CSSStyleSelector::matchAllRules): ditto
1166         (WebCore::CSSStyleSelector::locateCousinList): prevent style sharing across scope boundaries
1167         (WebCore::CSSStyleSelector::canShareStyleWithElement): ditto
1168         (WebCore::CSSStyleSelector::locateSharedStyle): ditto
1169         (WebCore::CSSStyleSelector::pseudoStyleForElement): changed call to matchAuthorRules
1170         (WebCore::CSSStyleSelector::styleForPage): add comment
1171         (WebCore::CSSStyleSelector::checkRegionStyle): add global scope parameter
1172         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): changed call to matchAuthorRules
1173         (WebCore::RuleSet::addRulesFromSheet): adapt for scoped style rules
1174         * css/CSSStyleSelector.h:
1175         (CSSStyleSelector):
1176         (WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame): struct holding an Element pointer and a RuleSet pointer, to be used in a Vector
1177         (WebCore::CSSStyleSelector::scopingElementStackIsConsistent): returns if the last seen parent matches the passed-in element
1178         * css/SelectorChecker.cpp:
1179         (WebCore::SelectorChecker::setupParentStack): set up the parent stack (refactoring)
1180         (WebCore::SelectorChecker::pushParent): simplify and refactor
1181         * css/SelectorChecker.h:
1182         (WebCore::SelectorChecker::popParent): ditto
1183         (WebCore::SelectorChecker::parentStackIsEmpty): ditto
1184         (WebCore::SelectorChecker::parentStackIsConsistent): make parameter const
1185
1186 2012-01-30  Dana Jansens  <danakj@chromium.org>
1187
1188         [chromium] Compute occlusion during paint loop
1189         https://bugs.webkit.org/show_bug.cgi?id=76858
1190
1191         Reviewed by James Robinson.
1192
1193         New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp
1194
1195         * platform/graphics/FloatRect.cpp:
1196         (WebCore::enclosedIntRect):
1197         (WebCore):
1198         * platform/graphics/FloatRect.h:
1199         (WebCore):
1200         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1201         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1202         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1203         (Canvas2DLayerChromium):
1204         * platform/graphics/chromium/ContentLayerChromium.cpp:
1205         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1206         * platform/graphics/chromium/ContentLayerChromium.h:
1207         (ContentLayerChromium):
1208         * platform/graphics/chromium/ImageLayerChromium.cpp:
1209         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1210         * platform/graphics/chromium/ImageLayerChromium.h:
1211         (ImageLayerChromium):
1212         * platform/graphics/chromium/LayerChromium.cpp:
1213         (WebCore::LayerChromium::contentToScreenSpaceTransform):
1214         (WebCore):
1215         (WebCore::LayerChromium::addSelfToOccludedScreenSpace):
1216         (WebCore::LayerChromium::isPaintedAxisAlignedInScreen):
1217         * platform/graphics/chromium/LayerChromium.h:
1218         (WebCore):
1219         (WebCore::LayerChromium::paintContentsIfDirty):
1220         (LayerChromium):
1221         * platform/graphics/chromium/RenderSurfaceChromium.h:
1222         (RenderSurfaceChromium):
1223         * platform/graphics/chromium/TiledLayerChromium.cpp:
1224         (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
1225         * platform/graphics/chromium/TiledLayerChromium.h:
1226         (WebCore):
1227         ():
1228         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1229         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
1230         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1231         (RenderSurfaceRegion):
1232         (WebCore):
1233         (WebCore::pushTargetRenderSurfaceRegion):
1234         (WebCore::popAndPushTargetRenderSurfaceRegion):
1235         (WebCore::CCLayerTreeHost::paintLayerContents):
1236         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1237         (WebCore):
1238         ():
1239         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1240
1241 2012-01-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1242
1243         Add ElementAttributeData class to replace internal uses of NamedNodeMap
1244         https://bugs.webkit.org/show_bug.cgi?id=77233
1245
1246         Reviewed by Andreas Kling.
1247
1248         Move part of non-DOM functionality of NamedNodeMap into a separate class. This is
1249         the first step toward the goal of separating NamedNodeMap from internal attribute
1250         storage, as described in https://bugs.webkit.org/show_bug.cgi?id=75069.
1251
1252         The internal attribute storage is exposed as attributeData() in Element, and when
1253         necessary (because it has no back pointer to Element) via methods in Element.
1254
1255         No new tests. Except from setClass() change this is just moving the code, no new
1256         feature was added.
1257
1258         * CMakeLists.txt:
1259         * GNUmakefile.list.am:
1260         * Target.pri:
1261         * WebCore.gypi:
1262         * WebCore.xcodeproj/project.pbxproj:
1263         * dom/DOMAllInOne.cpp:
1264         * dom/Element.cpp:
1265         (WebCore::Element::idAttributeChanged):
1266         * dom/Element.h:
1267         (WebCore::Element::attributeData):
1268         (WebCore::Element::ensureAttributeData):
1269         (Element):
1270         (WebCore::Element::idForStyleResolution):
1271         * dom/ElementAttributeData.cpp: Added.
1272         (WebCore):
1273         (WebCore::ElementAttributeData::setClass): the only caller of this function
1274         already deal with the case when the element has no class, so don't do it here.
1275         * dom/ElementAttributeData.h: Added.
1276         (WebCore):
1277         (ElementAttributeData):
1278         (WebCore::ElementAttributeData::clearClass):
1279         (WebCore::ElementAttributeData::classNames):
1280         (WebCore::ElementAttributeData::idForStyleResolution):
1281         (WebCore::ElementAttributeData::setIdForStyleResolution):
1282         (WebCore::ElementAttributeData::ElementAttributeData):
1283         * dom/NamedNodeMap.cpp:
1284         (WebCore::NamedNodeMap::clearAttributes):
1285         * dom/NamedNodeMap.h:
1286         (WebCore::NamedNodeMap::attributeData):
1287         (NamedNodeMap):
1288         * dom/StyledElement.cpp:
1289         (WebCore::StyledElement::classAttributeChanged):
1290         * dom/StyledElement.h:
1291         (WebCore::StyledElement::classNames):
1292         * html/ClassList.cpp:
1293         (WebCore::ClassList::classNames):
1294
1295 2012-01-30  Gregg Tavares  <gman@chromium.org>
1296
1297         Add Plumming to get graphics error messages to JS Console
1298         https://bugs.webkit.org/show_bug.cgi?id=77238
1299
1300         Reviewed by Kenneth Russell.
1301
1302         No new tests. No change in behavior.
1303
1304         * html/canvas/WebGLRenderingContext.cpp:
1305         (WebGLRenderingContextErrorMessageCallback):
1306         (WebCore::WebGLRenderingContextErrorMessageCallback::WebGLRenderingContextErrorMessageCallback):
1307         (WebCore::WebGLRenderingContextErrorMessageCallback::onErrorMessage):
1308         (WebCore::WebGLRenderingContextErrorMessageCallback::~WebGLRenderingContextErrorMessageCallback):
1309         (WebCore):
1310         (WebCore::WebGLRenderingContext::create):
1311         (WebCore::WebGLRenderingContext::initializeNewContext):
1312         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
1313         * html/canvas/WebGLRenderingContext.h:
1314         (WebGLRenderingContext):
1315         * platform/graphics/GraphicsContext3D.h:
1316         (ErrorMessageCallback):
1317         (WebCore::GraphicsContext3D::ErrorMessageCallback::~ErrorMessageCallback):
1318         (GraphicsContext3D):
1319         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1320         (WebCore::GraphicsContext3D::setErrorMessageCallback):
1321         (WebCore):
1322         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1323         (WebCore::GraphicsContext3D::setErrorMessageCallback):
1324         (WebCore):
1325         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1326         (WebCore::GraphicsContext3D::setErrorMessageCallback):
1327         (WebCore):
1328
1329 2012-01-30  Anders Carlsson  <andersca@apple.com>
1330
1331         Simplify RenderLayerCompositor::frameViewDidScroll
1332         https://bugs.webkit.org/show_bug.cgi?id=77398
1333
1334         Reviewed by Sam Weinig.
1335
1336         Remove the scrollPosition parameter from RenderLayerCompositor::frameViewDidScroll; we can just get it
1337         from the associated FrameView object.
1338
1339         * page/FrameView.cpp:
1340         (WebCore::FrameView::scrollPositionChanged):
1341         * rendering/RenderLayerCompositor.cpp:
1342         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
1343         Call frameViewDidScroll() here instead of setting the scroll layer position explicitly.
1344
1345         (WebCore::RenderLayerCompositor::frameViewDidScroll):
1346         (WebCore::RenderLayerCompositor::ensureRootLayer):
1347         * rendering/RenderLayerCompositor.h:
1348         (RenderLayerCompositor):
1349
1350 2012-01-30  Pablo Flouret  <pablof@motorola.com>
1351
1352         Don't select the next selectable index when deselecting an option in select elements with size set to a value greater than one.
1353         https://bugs.webkit.org/show_bug.cgi?id=76389
1354
1355         Reviewed by Kent Tamura.
1356
1357         This behavior matches the rest of the browsers.
1358
1359         Test: fast/forms/select/option-selecting.html
1360
1361         * html/HTMLSelectElement.cpp:
1362         (WebCore::HTMLSelectElement::optionSelectionStateChanged):
1363
1364 2012-01-30  Anders Carlsson  <andersca@apple.com>
1365
1366         Scrollbars don't show when scrolling on the scrolling thread
1367         https://bugs.webkit.org/show_bug.cgi?id=77396
1368         <rdar://problem/10710736>
1369
1370         Reviewed by Sam Weinig.
1371
1372         Use ScrollAnimator::scrollToOffsetWithoutAnimation when updating the frame view scroll offset,
1373         since that function will end up invalidating the scrollbars correctly.
1374
1375         * page/ScrollingCoordinator.cpp:
1376         (WebCore::ScrollingCoordinator::didUpdateMainFrameScrollPosition):
1377
1378 2012-01-30  Anders Carlsson  <andersca@apple.com>
1379
1380         Show repaint counters in individual tiles
1381         https://bugs.webkit.org/show_bug.cgi?id=77390
1382         <rdar://problem/10767967>
1383
1384         Reviewed by Darin Adler.
1385
1386         * platform/graphics/ca/mac/TileCache.h:
1387         * platform/graphics/ca/mac/TileCache.mm:
1388         (WebCore::TileCache::setNeedsDisplayInRect):
1389         Make sure to invalidate the repaint counter rect if necessary.
1390
1391         (WebCore::TileCache::drawLayer):
1392         Draw the repaint counter.
1393
1394         (WebCore::TileCache::showRepaintCounter):
1395         New function that determines whether we should show repaint counters for the given tile cache.
1396
1397         * platform/graphics/ca/mac/WebTileLayer.h:
1398         * platform/graphics/ca/mac/WebTileLayer.mm:
1399         (-[WebTileLayer incrementRepaintCount]):
1400         Add method for getting the repaint count.
1401
1402 2012-01-30  Dan Bernstein  <mitz@apple.com>
1403
1404         <rdar://problem/10778045> REGRESSION (r91935): text-combine fails
1405         https://bugs.webkit.org/show_bug.cgi?id=77373
1406
1407         Reviewed by Darin Adler.
1408
1409         Removed tests that were failing because of this bug from the Lion skipped
1410         list.
1411
1412         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
1413         (WebCore::GlyphPage::fill): Changed to use CTFontGetGlyphsForCharacters,
1414         rather than wkGetVerticalGlyphsForCharacters, for non-fullwidth fonts.
1415
1416 2012-01-30  Christopher Hutten-Czapski  <chutten@rim.com>
1417
1418         BlackBerry - Support Proxy-Authenticate headers when a proxy is configured
1419         https://bugs.webkit.org/show_bug.cgi?id=77361
1420
1421         Though we have a proxy configured, we might not have the auth
1422         credentials it requires. Support Proxy-Authenticate for that case.
1423
1424         Reviewed by George Staikos.
1425
1426         * platform/network/blackberry/NetworkJob.cpp:
1427         (WebCore::NetworkJob::handleNotifyHeaderReceived):
1428         (WebCore::NetworkJob::handleAuthHeader):
1429         (WebCore::NetworkJob::sendRequestWithCredentials):
1430         * platform/network/blackberry/NetworkJob.h:
1431         * platform/network/blackberry/NetworkManager.cpp:
1432         (WebCore::NetworkManager::startJob):
1433
1434 2012-01-27  James Robinson  <jamesr@chromium.org>
1435
1436         [chromium] Remove unnecessary retry logic in LayerRendererChromium initialization for accelerated painting
1437         https://bugs.webkit.org/show_bug.cgi?id=77247
1438
1439         Reviewed by Kenneth Russell.
1440
1441         The accelerate painting setting is done differently from other capability-dependent settings for no good reason,
1442         requiring that we retry initialization with different settings. For all other settings we set the capabilities
1443         bit to true if the setting is requested and if the required capabilities exist on the underlying context.
1444
1445         * platform/graphics/chromium/LayerRendererChromium.cpp:
1446         (WebCore::LayerRendererChromium::create):
1447         (WebCore::LayerRendererChromium::initialize):
1448         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1449         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
1450
1451 2012-01-30  Brady Eidson  <beidson@apple.com>
1452
1453         <rdar://problem/10707072>
1454         Crashes in WebProcess at WebCore::Node::rendererIsNeeded
1455
1456         Reviewed by Darin Adler.
1457
1458         In specific circumstances a plugin element can be without a render style at the point in time where
1459         the page navigated and enters the page cache.
1460
1461         When this is the cash, the element should not enter into the "custom style for renderer" mode and should
1462         instead use the default render style machinery.
1463
1464         Test: plugins/crash-restoring-pluging-page-from-page-cache.html
1465
1466         * html/HTMLPlugInImageElement.cpp:
1467         (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache): Only setHasCustomStyleForRenderer and 
1468           forceRecalc if there actually is a custom style to be used.
1469         (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache): Only clearHasCustomStyleForRenderer if there
1470           actually was a custom style to be cleared.
1471         (WebCore::HTMLPlugInImageElement::customStyleForRenderer): This should only be called if there actually is a 
1472           custom style to be used. Otherwise the element would have to fallback to the "normal" RenderStyle which might
1473           not exist.
1474
1475 2012-01-30  Anders Carlsson  <andersca@apple.com>
1476
1477         Show debug borders for individual tile cache tiles
1478         https://bugs.webkit.org/show_bug.cgi?id=77388
1479
1480         Reviewed by Sam Weinig.
1481
1482         * platform/graphics/GraphicsLayer.cpp:
1483         (WebCore::GraphicsLayer::updateDebugIndicators):
1484         Give tile cache tiles a thin dark blue border.
1485
1486         * platform/graphics/ca/mac/TileCache.h:
1487         (WebCore::TileCache::tileDebugBorderWidth):
1488         (WebCore::TileCache::tileDebugBorderColor):
1489         Add getters and member variables for the tile debug border width and color.
1490
1491         * platform/graphics/ca/mac/TileCache.mm:
1492         (WebCore::TileCache::TileCache):
1493         Initialize m_tileDebugBorderWidth.
1494
1495         (WebCore::TileCache::setTileDebugBorderWidth):
1496         Update the border width of each tile layer.
1497
1498         (WebCore::TileCache::setTileDebugBorderColor):
1499         Update the border color of each tile layer.
1500
1501         (WebCore::TileCache::createTileLayer):
1502         Set the border color and border width.
1503
1504         * platform/graphics/ca/mac/WebTileCacheLayer.h:
1505         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
1506         (-[WebTileCacheLayer borderColor]):
1507         (-[WebTileCacheLayer setBorderColor:]):
1508         (-[WebTileCacheLayer borderWidth]):
1509         (-[WebTileCacheLayer setBorderWidth:]):
1510         Call through to the TileCache.
1511
1512         * platform/graphics/mac/WebLayer.mm:
1513         (drawLayerContents):
1514         Don't draw the repaint counter for tile cache layers, each tile will maintain its own repaint counter.
1515
1516 2012-01-30  Rakesh KN  <rakesh.kn@motorola.com>
1517
1518         single-file input elements should refuse multi-file drags
1519         https://bugs.webkit.org/show_bug.cgi?id=25913
1520
1521         Reviewed by Eric Seidel.
1522
1523         Refuse the multiple file drags onto a single file input element.
1524
1525         No new tests: Covered by existing tests, updated the expected results.
1526
1527         * page/DragController.cpp:
1528         (WebCore::DragController::tryDocumentDrag):
1529         Setting the dragSession.numberOfItemsToBeAccepted to 0 so that drag operation is none if the
1530         file input element under mouse is single input type and number of files dragged onto that
1531         input element are more than 1.
1532
1533 2012-01-30  Dana Jansens  <danakj@chromium.org>
1534
1535         [chromium] Use region reported painted opaque for draw culling
1536         https://bugs.webkit.org/show_bug.cgi?id=76015
1537
1538         Reviewed by James Robinson.
1539
1540         New unit tests in CCTiledLayerImplTest.cpp, CCQuadCullerTest.cpp, CCLayerTreeHostImplTest.cpp
1541
1542         * platform/graphics/chromium/LayerChromium.cpp:
1543         (WebCore::LayerChromium::setOpaque):
1544         * platform/graphics/chromium/TiledLayerChromium.cpp:
1545         (UpdatableTile):
1546         (WebCore::TiledLayerChromium::pushPropertiesTo):
1547         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1548         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
1549         (WebCore::CCDrawQuad::opaqueRect):
1550         (WebCore):
1551         * platform/graphics/chromium/cc/CCDrawQuad.h:
1552         (CCDrawQuad):
1553         (WebCore::CCDrawQuad::needsBlending):
1554         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1555         (WebCore::CCQuadCuller::cullOccludedQuads):
1556         * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
1557         (WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
1558         * platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
1559         (WebCore::CCTileDrawQuad::create):
1560         (WebCore::CCTileDrawQuad::CCTileDrawQuad):
1561         * platform/graphics/chromium/cc/CCTileDrawQuad.h:
1562         (CCTileDrawQuad):
1563         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1564         (DrawableTile):
1565         (WebCore::DrawableTile::opaqueRect):
1566         (WebCore::DrawableTile::setOpaqueRect):
1567         (WebCore::CCTiledLayerImpl::appendQuads):
1568         (WebCore::CCTiledLayerImpl::pushTileProperties):
1569         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1570         (CCTiledLayerImpl):
1571
1572 2012-01-30  Ryosuke Niwa  <rniwa@webkit.org>
1573
1574         Crash in previousLinePosition when moving into a root inline box without leaves
1575         https://bugs.webkit.org/show_bug.cgi?id=76812
1576
1577         Reviewed by Enrica Casucci.
1578
1579         The crash was caused by us assuming that every root inline box has at least one leaf,
1580         which isn't true when we create inline boxes for an empty text run with margin, border, etc...
1581
1582         Test: editing/selection/move-into-empty-root-inline-box.html
1583
1584         * editing/visible_units.cpp:
1585         (WebCore::previousLinePosition):
1586         (WebCore::nextLinePosition):
1587
1588 2012-01-30  Levi Weintraub  <leviw@chromium.org>
1589
1590         !m_insideRegionPaint assertion in RenderRegion.cpp is invalid
1591         https://bugs.webkit.org/show_bug.cgi?id=77372
1592
1593         Reviewed by David Hyatt.
1594
1595         Removing the !m_insideRegionPaint assertion that's in three functions in
1596         RenderRegion. It's triggering in numerous layout tests and isn't valid.
1597
1598         No new tests as this just removes assertions.
1599
1600         * rendering/RenderRegion.cpp:
1601         (WebCore::RenderRegion::setRenderBoxRegionInfo):
1602         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
1603         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
1604
1605 2012-01-30  Adrienne Walker  <enne@google.com>
1606
1607         [chromium] Always pre-reserve scrollbar and scroll corner textures
1608         https://bugs.webkit.org/show_bug.cgi?id=77251
1609
1610         Reviewed by James Robinson.
1611
1612         Add a flag to LayerChromium that says that a layer's textures should
1613         always be reserved. Prior to painting layers, find all layers marked
1614         as such and reserve their textures. This will prevent texture memory
1615         limits from being hit before the root layer's scrollbars are reserved
1616         and painted.
1617
1618         * platform/graphics/chromium/LayerChromium.cpp:
1619         (WebCore::LayerChromium::LayerChromium):
1620         * platform/graphics/chromium/LayerChromium.h:
1621         (LayerChromium):
1622         (WebCore::LayerChromium::reserveTextures):
1623         (WebCore::LayerChromium::setAlwaysReserveTextures):
1624         (WebCore::LayerChromium::alwaysReserveTextures):
1625         * platform/graphics/chromium/TiledLayerChromium.cpp:
1626         (WebCore::TiledLayerChromium::reserveTextures):
1627         * platform/graphics/chromium/TiledLayerChromium.h:
1628         ():
1629         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1630         (WebCore::CCLayerTreeHost::updateLayers):
1631         (WebCore::CCLayerTreeHost::reserveTextures):
1632         (WebCore):
1633         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1634         ():
1635
1636 2012-01-30  Beth Dakin  <bdakin@apple.com>
1637
1638         Speculative 32-bit build-fix.
1639
1640         * WebCore.exp.in:
1641
1642 2012-01-30  Mihnea Ovidenie  <mihnea@adobe.com>
1643
1644         [CSSRegions]Add support for background-color in region styling
1645         https://bugs.webkit.org/show_bug.cgi?id=71488
1646
1647         Reviewed by David Hyatt.
1648
1649         Based on work by Alexandru Chiculita (achicu@adobe.com).
1650         Previous patches for region styling were touching RenderObject::style() method. After several attempts to avoid regressions
1651         (including caching of RenderObject::style() pointer in most used methods), we decided to attempt a different approach:
1652         Step1: before each region is repainted, we compute the style for each box that falls into the region
1653         Step2: before paint, we store the box original style
1654         Step3: paint the region contents using the style in region
1655         Step4: after paint is finished, we restore the box original style (and store the box style in region for future region paint)
1656
1657         Tests for region styling are also enabled with this patch.
1658
1659         * WebCore.exp.in:
1660         * rendering/RenderFlowThread.cpp:
1661         (WebCore::RenderFlowThread::clearRenderBoxCustomStyle):
1662         (WebCore::RenderFlowThread::setRegionRangeForBox):
1663         * rendering/RenderFlowThread.h:
1664         ():
1665         * rendering/RenderLayer.cpp:
1666         (WebCore::RenderLayer::paint):
1667         (WebCore::RenderLayer::hitTest):
1668         * rendering/RenderObject.cpp:
1669         * rendering/RenderObject.h:
1670         (WebCore::RenderObject::style):
1671         (RenderObject):
1672         * rendering/RenderObjectChildList.cpp:
1673         (WebCore::RenderObjectChildList::removeChildNode):
1674         * rendering/RenderRegion.cpp:
1675         (WebCore::RenderRegion::RenderRegion):
1676         (WebCore::RenderRegion::setRegionBoxesRegionStyle):
1677         (WebCore):
1678         (WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):
1679         (WebCore::RenderRegion::paintReplaced):
1680         (WebCore::RenderRegion::setRenderBoxRegionInfo):
1681         (WebCore::RenderRegion::takeRenderBoxRegionInfo):
1682         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
1683         (WebCore::RenderRegion::renderBoxRegionStyle):
1684         (WebCore::RenderRegion::computeStyleInRegion):
1685         (WebCore::RenderRegion::clearBoxStyleInRegion):
1686         * rendering/RenderRegion.h:
1687         (RenderRegion):
1688         * rendering/RenderView.cpp:
1689         (WebCore::RenderView::RenderView):
1690         * rendering/RenderView.h:
1691         (WebCore):
1692         (RenderView):
1693
1694 2012-01-30  Jessie Berlin  <jberlin@apple.com>
1695
1696         WebCore build exceeds address space on 32-bit Windows builders (again).
1697         https://bugs.webkit.org/show_bug.cgi?id=77357
1698
1699         Reviewed by Adam Roben.
1700
1701         Add an Inspector All-In-One file, but only use it in Release and Production builds.
1702         This differs from our other All-In-One files, but it is a better approach because it makes
1703         debugging possible in the Debug configuration (the symbols will be in the correct .obj file
1704         for the original .cpp files).
1705
1706         * WebCore.vcproj/WebCore.vcproj:
1707         Also, let VS have its way with the vcproj file.
1708         * inspector/InspectorAllInOne.cpp: Added.
1709
1710 2012-01-28  Matthew Delaney  <mdelaney@apple.com>
1711
1712         Limit periodic flushing inside ImageBufferCG to just Lion
1713         https://bugs.webkit.org/show_bug.cgi?id=77353
1714         <rdar://problem/10328309>
1715
1716         Reviewed by Chris Marrin.
1717
1718         * platform/graphics/cg/ImageBufferCG.cpp:
1719         * platform/graphics/cg/ImageBufferDataCG.h:
1720
1721 2012-01-30  Tommy Widenflycht  <tommyw@google.com>
1722
1723         Memory leak caused by PeerConnection add a NULL media stream
1724         https://bugs.webkit.org/show_bug.cgi?id=76150
1725
1726         It was my missunderstanding that the IDL keyword [StrictTypeChecking] also protects against
1727         null or undefined arguments, it doesn't. Added checks for null pointers.
1728
1729         Reviewed by Adam Barth.
1730
1731         Test: fast/mediastream/peerconnection-addstream.html
1732
1733         * mediastream/PeerConnection.cpp:
1734         (WebCore::PeerConnection::addStream):
1735         (WebCore::PeerConnection::removeStream):
1736
1737 2012-01-26  Andy Estes  <aestes@apple.com>
1738
1739         [Windows] Optionally invert colors when drawing to a WebView's backing store.
1740         https://bugs.webkit.org/show_bug.cgi?id=77168
1741
1742         Reviewed by Sam Weinig.
1743
1744         * css/CSSPrimitiveValueMappings.h: Assert that CompositeDifference is
1745         not converted to a CSS value. Exposing a new compositing operation to
1746         CSS is outside the scope of this patch.
1747         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1748         * platform/graphics/GraphicsTypes.h: Add CompositeDifference as a
1749         CompositeOperator. Also, remove an outdated comment.
1750         * platform/graphics/cg/GraphicsContextCG.cpp:
1751         (WebCore::GraphicsContext::setPlatformCompositeOperation): Map
1752         CompositeDifference to kCGBlendModeDifference.
1753
1754 2012-01-28  Matthew Delaney  <mdelaney@apple.com>
1755
1756         Limit the shadow offset CG hack to just SL and Lion
1757         https://bugs.webkit.org/show_bug.cgi?id=77348
1758         <rdar://problem/10158016>
1759
1760         Reviewed by Chris Marrin.
1761
1762         No new tests, current tests cover this.
1763
1764         * platform/graphics/cg/GraphicsContextCG.cpp:
1765         (WebCore::GraphicsContext::setPlatformShadow):
1766
1767 2012-01-30  Beth Dakin  <bdakin@apple.com>
1768
1769         https://bugs.webkit.org/show_bug.cgi?id=77263
1770         PlatformScreenMac should not rely on NSWindow for important bits of data
1771
1772         Reviewed by Geoff Garen.
1773
1774         The main problem is that we cannot rely on the NSWindow for information about 
1775         the deviceScaleFactor because we cannot access an NSWindow from within 
1776         WebCore for WebKit2 windows. Instead, we can fetch it from 
1777         WebCore::deviceScaleFactor(), but we need a Frame to call that. So 
1778         screenAvailableRect and screenRect both now take a FrameView* instead of a 
1779         Widget*. All existing call sites actually sent a FrameView in anyway, so this 
1780         is not a big change, but it does require touching a lot of platforms.
1781         * WebCore.exp.in:
1782         * platform/PlatformScreen.h:
1783         (WebCore):
1784         * platform/blackberry/PlatformScreenBlackBerry.cpp:
1785         (WebCore::screenAvailableRect):
1786         (WebCore::screenRect):
1787         * platform/chromium/PlatformScreenChromium.cpp:
1788         (WebCore::screenRect):
1789         (WebCore::screenAvailableRect):
1790         * platform/chromium/PlatformSupport.h:
1791         (WebCore):
1792         (PlatformSupport):
1793         ():
1794         * platform/efl/PlatformScreenEfl.cpp:
1795         (WebCore::screenRect):
1796         (WebCore::screenAvailableRect):
1797         * platform/gtk/PlatformScreenGtk.cpp:
1798         (WebCore::screenRect):
1799         (WebCore::screenAvailableRect):
1800         * platform/qt/PlatformScreenQt.cpp:
1801         (WebCore::screenRect):
1802         (WebCore::screenAvailableRect):
1803         * platform/win/PlatformScreenWin.cpp:
1804         (WebCore::screenRect):
1805         (WebCore::screenAvailableRect):
1806         * platform/wx/ScreenWx.cpp:
1807         (WebCore::screenRect):
1808         (WebCore::screenAvailableRect):
1809
1810         The Mac-only functions toUserSpace() and toDeviceSpace() were also updated to 
1811         take a parameter for the deviceScaleFactor.
1812         * platform/mac/PlatformScreenMac.mm:
1813         (WebCore::screenRect):
1814         (WebCore::screenAvailableRect):
1815         (WebCore::toUserSpace):
1816         (WebCore::toDeviceSpace):
1817
1818 2012-01-30  Antti Koivisto  <antti@apple.com>
1819
1820         Kill CSSMutableStyleDeclarationConstIterator
1821         https://bugs.webkit.org/show_bug.cgi?id=77342
1822
1823         Reviewed by Sam Weinig.
1824
1825         CSSMutableStyleDeclaration is an array and should be iterated using an index. This simplifies the code.
1826
1827         * css/CSSMutableStyleDeclaration.cpp:
1828         (WebCore::CSSMutableStyleDeclaration::copyPropertiesFrom):
1829         (WebCore::CSSMutableStyleDeclaration::removeProperty):
1830         (WebCore::CSSMutableStyleDeclaration::setProperty):
1831         (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
1832         (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
1833         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
1834         (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
1835         (WebCore::CSSMutableStyleDeclaration::merge):
1836         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1837         * css/CSSMutableStyleDeclaration.h:
1838         (WebCore):
1839         (WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
1840         (CSSMutableStyleDeclaration):
1841         * css/CSSStyleDeclaration.cpp:
1842         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
1843         * css/CSSStyleDeclaration.h:
1844         (CSSStyleDeclaration):
1845         ():
1846         * css/CSSStyleSelector.cpp:
1847         (WebCore::CSSStyleSelector::styleForKeyframe):
1848         (WebCore::CSSStyleSelector::applyDeclaration):
1849         * editing/EditingStyle.cpp:
1850
1851 2012-01-30  Michael Saboff  <msaboff@apple.com>
1852
1853         Dromaeo tests call parseSimpleLengthValue() on 8 bit strings
1854         https://bugs.webkit.org/show_bug.cgi?id=76649
1855
1856         Reviewed by Geoffrey Garen.
1857
1858         No functionality change, therefore no new tests.
1859
1860         Added 8 bit patch for parseSimpleLengthValue().
1861
1862         * css/CSSParser.cpp:
1863         (WebCore::parseSimpleLengthValue):
1864
1865 2012-01-30  Michael Saboff  <msaboff@apple.com>
1866
1867         WebCore decodeEscapeSequences unnecessarily converts 8 bit strings to 16 bit when decoding.
1868         https://bugs.webkit.org/show_bug.cgi?id=76648
1869
1870         Reviewed by Geoffrey Garen.
1871
1872         Using new overloaded append(String&, offset, length)  member to build result string.
1873         The new member properly handles 8/16 bit-ness of strings.
1874
1875         Functionality not changed, therefore no new tests.
1876
1877         * platform/text/DecodeEscapeSequences.h:
1878         (WebCore::decodeEscapeSequences):
1879
1880 2012-01-30  Pavel Feldman  <pfeldman@google.com>
1881
1882         Not reviewed: follow up to r105625, use proper event categoty in inspector frontend.
1883
1884         * inspector/front-end/BreakpointsSidebarPane.js:
1885         (WebInspector.EventListenerBreakpointsSidebarPane):
1886
1887 2012-01-30  Parag Radke  <nrqv63@motorola.com>
1888
1889         REGRESSION (r82580): Reproducible crash in CSSPrimitiveValue::computeLengthDouble
1890         https://bugs.webkit.org/show_bug.cgi?id=61989
1891
1892         Reviewed by Simon Fraser.
1893
1894         According to css3 specs when font-size is specified in 'rems' for an element implies the font-size
1895         of the root element. In this case as HTML element has a property 'display:none' and hence renderer 
1896         is NULL causes this crash.
1897
1898         Test: fast/css/fontsize-unit-rems-crash.html
1899
1900         * css/CSSPrimitiveValue.cpp:
1901         (WebCore::CSSPrimitiveValue::computeLengthDouble):
1902         Added a null check for the root element's RenderStyle as it can be null in case of html has a property
1903         hidden or display:none.
1904
1905 2012-01-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1906
1907         [Qt] WKTR: Use a software rendering pipiline when running tests.
1908         https://bugs.webkit.org/show_bug.cgi?id=76708
1909
1910         Reviewed by Kenneth Rohde Christiansen.
1911
1912         * platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
1913         (WebCore::TextureMapperQt::setGraphicsContext):
1914         * platform/graphics/qt/TextureMapperQt.h:
1915         (WebCore::TextureMapperQt::initialize):
1916
1917 2012-01-27  Enrica Casucci  <enrica@apple.com>
1918
1919         Remove all references to NSPasteboard objects from the Pasteboard
1920         class interface on Mac.
1921         https://bugs.webkit.org/show_bug.cgi?id=77261
1922         
1923         This is cleanup work needed as first step in the direction of
1924         removing access to NSPasteboard from the WebProcess.
1925         This way all access to the NSPasteboard object are internal to
1926         the class.
1927         Removed static methods taking NSPasteboard as paramenter and changed
1928         the constructor of the class to take the pasteboard name instead of
1929         the NSPasteboard object.
1930
1931         Reviewed by Alexey Proskuryakov.
1932
1933         No new tests. There is no change in behavior.
1934
1935         * editing/Editor.cpp: Removed ununsed private method writeSelectionToPasteboard.
1936         (WebCore):
1937         * editing/Editor.h: Ditto.
1938         (Editor):
1939         ():
1940         * editing/mac/EditorMac.mm:
1941         (WebCore::Editor::writeSelectionToPasteboard):
1942         (WebCore::Editor::readSelectionFromPasteboard):
1943         * platform/Pasteboard.h:
1944         (Pasteboard):
1945         * platform/mac/ClipboardMac.mm:
1946         (WebCore::ClipboardMac::writeRange):
1947         (WebCore::ClipboardMac::writePlainText):
1948         (WebCore::ClipboardMac::writeURL):
1949         * platform/mac/DragDataMac.mm:
1950         (WebCore::DragData::asPlainText):
1951         (WebCore::DragData::asURL):
1952         (WebCore::DragData::asFragment):
1953         * platform/mac/PasteboardMac.mm:
1954         (WebCore::Pasteboard::generalPasteboard):
1955         (WebCore::Pasteboard::Pasteboard):
1956         (WebCore::Pasteboard::writeSelectionForTypes): Added.
1957         (WebCore::Pasteboard::writePlainText):
1958         (WebCore::Pasteboard::writeSelection):
1959         (WebCore::Pasteboard::writeURLForTypes): Added.
1960         (WebCore::Pasteboard::writeURL):
1961         (WebCore::Pasteboard::writeImage):
1962
1963 2012-01-29  Antti Koivisto  <antti@apple.com>
1964
1965         Reduce non-CSSOM API of CSSStyleDeclaration
1966         https://bugs.webkit.org/show_bug.cgi?id=77299
1967
1968         Reviewed by Andreas Kling.
1969
1970         CSSStyleDeclaration should expose the CSSOM API only. Subclasses should expose the internal API only. 
1971         This will move us closer to being able to split the CSSOM API from the internal implementation.
1972         
1973         - Make CSSStyleDeclaration CSSOM functions virtual, internal functions non-virtual.
1974         - Move implementations to subclasses (CSSComputedStyleDeclaration, CSSMutableStyleDeclaration).
1975         - Make CSSOM functions in the subclasses private (making it harder to invoke them internally).
1976         - Switch a bunch of places to use internal API instead of CSSOM.
1977
1978         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1979         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
1980         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
1981         
1982             Switch to *Internal versions of the CSSOM functions.
1983         
1984         * css/CSSComputedStyleDeclaration.cpp:
1985         (WebCore):
1986         (WebCore::CSSComputedStyleDeclaration::length):
1987         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
1988         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
1989         
1990             Move copyPropertiesInSet to subclasses, devirtualize.
1991             
1992         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1993         (WebCore::CSSComputedStyleDeclaration::getPropertyValue):
1994         (WebCore::CSSComputedStyleDeclaration::getPropertyPriority):
1995         (WebCore::CSSComputedStyleDeclaration::getPropertyShorthand):
1996         (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit):
1997         (WebCore::CSSComputedStyleDeclaration::setProperty):
1998         (WebCore::CSSComputedStyleDeclaration::removeProperty):
1999         * css/CSSComputedStyleDeclaration.h:
2000         (CSSComputedStyleDeclaration):
2001         * css/CSSFontFaceRule.cpp:
2002         (WebCore::CSSFontFaceRule::cssText):
2003         * css/CSSMutableStyleDeclaration.cpp:
2004         (WebCore::CSSMutableStyleDeclaration::length):
2005         (WebCore::CSSMutableStyleDeclaration::asText):
2006         (WebCore::CSSMutableStyleDeclaration::cssText):
2007         (WebCore):
2008         (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
2009         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
2010         (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
2011         (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
2012         (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
2013         (WebCore::CSSMutableStyleDeclaration::setProperty):
2014         (WebCore::CSSMutableStyleDeclaration::removeProperty):
2015         (WebCore::CSSMutableStyleDeclaration::copyPropertiesInSet):
2016         
2017             Move copyPropertiesInSet to subclasses, devirtualize.
2018         
2019         (WebCore::CSSMutableStyleDeclaration::cssPropertyMatches):
2020         (WebCore::CSSMutableStyleDeclaration::removeEquivalentProperties):
2021         
2022             Move diff() to CSSMutableStyleDeclaration, rename to removeEquivalentProperties, switch to mutate
2023             this object instead of the argument object.
2024     
2025         * css/CSSMutableStyleDeclaration.h:
2026         (CSSMutableStyleDeclaration):
2027         (WebCore::CSSMutableStyleDeclaration::propertyCount):
2028         (WebCore::CSSMutableStyleDeclaration::isEmpty):
2029         (WebCore::CSSMutableStyleDeclaration::propertyAt):
2030         
2031             Expose properties and property count internally (iterator should be removed in favor of these).
2032         
2033         * css/CSSStyleDeclaration.cpp:
2034         (WebCore):
2035         * css/CSSStyleDeclaration.h:
2036         (CSSStyleDeclaration):
2037         (WebCore::CSSStyleDeclaration::getPropertyCSSValueInternal):
2038         (WebCore::CSSStyleDeclaration::getPropertyValueInternal):
2039         (WebCore::CSSStyleDeclaration::setPropertyInternal):
2040         
2041             Add *Internal versions of some CSSOM APIs to support some editing and bindings uses.
2042             These take propertyIDs instead of strings names.
2043
2044         * css/CSSStyleRule.cpp:
2045         (WebCore::CSSStyleRule::cssText):
2046         * css/CSSStyleSelector.cpp:
2047         (WebCore::leftToRightDeclaration):
2048         (WebCore::rightToLeftDeclaration):
2049         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2050         (WebCore::CSSStyleSelector::matchPageRulesForList):
2051         * css/WebKitCSSKeyframeRule.cpp:
2052         (WebCore::WebKitCSSKeyframeRule::cssText):
2053         * dom/StyledElement.cpp:
2054         (WebCore::StyledElement::updateStyleAttribute):
2055         * editing/ApplyStyleCommand.cpp:
2056         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2057         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
2058         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
2059         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
2060         (WebCore::ApplyStyleCommand::addBlockStyle):
2061         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2062         * editing/EditingStyle.cpp:
2063         ():
2064         (WebCore::copyEditingProperties):
2065         (WebCore):
2066         (WebCore::propertyCSSValue):
2067         (WebCore::getRGBAFontColor):
2068         (WebCore::EditingStyle::overrideWithStyle):
2069         (WebCore::EditingStyle::removeStyleAddedByNode):
2070         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
2071         (WebCore::EditingStyle::triStateOfStyle):
2072         (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
2073         (WebCore::EditingStyle::prepareToApplyAt):
2074         (WebCore::removePropertiesInStyle):
2075         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
2076         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
2077         (WebCore::StyleChange::StyleChange):
2078         (WebCore::fontWeightIsBold):
2079         (WebCore::getPropertiesNotIn):
2080         (WebCore::getIdentifierValue):
2081         (WebCore::hasTransparentBackgroundColor):
2082         * editing/EditingStyle.h:
2083         
2084             Adapt to changes.
2085     
2086         (WebCore):
2087         * editing/ReplaceSelectionCommand.cpp:
2088         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2089         (WebCore::handleStyleSpansBeforeInsertion):
2090         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
2091         * editing/mac/EditorMac.mm:
2092         (WebCore::styleForSelectionStart):
2093         * editing/markup.cpp:
2094         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
2095         (WebCore::StyledMarkupAccumulator::appendElement):
2096         * html/ImageDocument.cpp:
2097         (WebCore::ImageDocument::resizeImageToFit):
2098         (WebCore::ImageDocument::restoreImageSize):
2099         (WebCore::ImageDocument::windowSizeChanged):
2100         * html/canvas/CanvasRenderingContext2D.cpp:
2101         (WebCore::CanvasRenderingContext2D::setFont):
2102         * html/canvas/CanvasStyle.cpp:
2103         (WebCore::currentColor):
2104         * inspector/InspectorStyleSheet.cpp:
2105         (WebCore::InspectorStyleSheet::revalidateStyle):
2106         * page/PageSerializer.cpp:
2107         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
2108         * rendering/RenderTreeAsText.cpp:
2109         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
2110         * svg/SVGStyledElement.cpp:
2111         (WebCore::SVGStyledElement::getPresentationAttribute):
2112
2113 2012-01-30  Pavel Feldman  <pfeldman@google.com>
2114
2115         Web Inspector: protocol validator should fail if one of response fields turns optional
2116         https://bugs.webkit.org/show_bug.cgi?id=76452
2117
2118         Reviewed by Yury Semikhatsky.
2119
2120         * inspector/Inspector-0.1.json:
2121         * inspector/Inspector.json:
2122         * inspector/generate-inspector-protocol-version:
2123         (compare_commands):
2124         (compare_events):
2125         (compare_params_list):
2126         (compare_types):
2127         (self_test):
2128
2129 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
2130
2131         Web Inspector: keyboard navigation through comparison view in heap profiler should update retainers view
2132         https://bugs.webkit.org/show_bug.cgi?id=77326
2133
2134         Keyboard navigation in the detailed heap snapshot view now updates retainers view.
2135
2136         Reviewed by Pavel Feldman.
2137
2138         * inspector/front-end/DataGrid.js: Added SelectedNode/DeselectedNode events to DataGrid.
2139         (WebInspector.DataGridNode.prototype.select):
2140         (WebInspector.DataGridNode.prototype.deselect):
2141         * inspector/front-end/DetailedHeapshotView.js:
2142         (WebInspector.DetailedHeapshotView.prototype._selectionChanged):
2143         (WebInspector.DetailedHeapshotView.prototype._setRetainmentDataGridSource):
2144
2145 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
2146
2147         Unreviewed. Fix inspector front-end compilation.
2148
2149         * inspector/front-end/RemoteObject.js:
2150         (WebInspector.RemoteObject):
2151         (WebInspector.RemoteObject.fromPayload):
2152
2153 2012-01-30  Roland Steiner  <rolandsteiner@chromium.org>
2154
2155         Node::parentOrHostElement(): Node::shadowHost() already returns an Element*
2156         https://bugs.webkit.org/show_bug.cgi?id=77332
2157
2158         Reviewed by Kent Tamura.
2159
2160         No new tests. (simple refactoring)
2161
2162         * dom/Node.cpp:
2163         (WebCore::Node::parentOrHostElement):
2164
2165 2012-01-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2166
2167         Unreviewed. Fix make distcheck.
2168
2169         * GNUmakefile.am: Add idl files in Source/WebCore/html/shadow/ to
2170         EXTRA_DIST.
2171         * GNUmakefile.list.am: Add missing files.
2172
2173 2012-01-27  Vsevolod Vlasov  <vsevik@chromium.org>
2174
2175         Web Inspector: TabbedEditorContainer should save open tabs.
2176         https://bugs.webkit.org/show_bug.cgi?id=76912
2177
2178         Reviewed by Pavel Feldman.
2179
2180         Test: inspector/tabbed-editors-history.html
2181
2182         * inspector/front-end/ScriptsPanel.js:
2183         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
2184         (WebInspector.ScriptsPanel.prototype._reset):
2185         (WebInspector.ScriptsPanel.prototype._showFile):
2186         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
2187         (WebInspector.ScriptsPanel.prototype._editorSelected):
2188         (WebInspector.EditorContainer.prototype.uiSourceCodeAdded):
2189         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showFile):
2190         (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
2191         * inspector/front-end/TabbedEditorContainer.js:
2192         (WebInspector.TabbedEditorContainer):
2193         (WebInspector.TabbedEditorContainer.prototype.showFile):
2194         (WebInspector.TabbedEditorContainer.prototype._editorClosedByUserAction):
2195         (WebInspector.TabbedEditorContainer.prototype._editorSelectedByUserAction):
2196         (WebInspector.TabbedEditorContainer.prototype._updateHistory.tabIdToURL):
2197         (WebInspector.TabbedEditorContainer.prototype._updateHistory):
2198         (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
2199         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
2200         (WebInspector.TabbedEditorContainer.prototype._tabSelected):
2201         (WebInspector.TabbedEditorContainer.prototype.reset):
2202         (WebInspector.TabbedEditorContainer.History):
2203         (WebInspector.TabbedEditorContainer.History.prototype.index):
2204         (WebInspector.TabbedEditorContainer.History.prototype.update):
2205         (WebInspector.TabbedEditorContainer.History.prototype.remove):
2206         (WebInspector.TabbedEditorContainer.History.prototype.save):
2207         * inspector/front-end/TabbedPane.js:
2208         (WebInspector.TabbedPane.prototype.appendTab):
2209         (WebInspector.TabbedPane.prototype.closeTab):
2210         (WebInspector.TabbedPane.prototype._innerCloseTab):
2211         (WebInspector.TabbedPane.prototype.closeAllTabs):
2212         (WebInspector.TabbedPane.prototype.lastOpenedTabIds):
2213         (WebInspector.TabbedPane.prototype._tabsSelectChanged):
2214
2215 2012-01-30  Alexander Pavlov  <apavlov@chromium.org>
2216
2217         Web Inspector: [Styles] Unable to paste and subsequently edit multiple properties in the Styles pane
2218         https://bugs.webkit.org/show_bug.cgi?id=77209
2219
2220         Reviewed by Pavel Feldman.
2221
2222         Check if the property value contains a ";" before kicking the freeflow text update.
2223
2224         * inspector/front-end/StylesSidebarPane.js:
2225         (WebInspector.StylePropertyTreeElement.prototype):
2226
2227 2012-01-30  Vsevolod Vlasov  <vsevik@chromium.org>
2228
2229         Web Inspector: Change Open Resource and Go To function shortcuts in scripts panel.
2230         https://bugs.webkit.org/show_bug.cgi?id=77321
2231
2232         Reviewed by Pavel Feldman.
2233
2234         * inspector/front-end/FilteredItemSelectionDialog.js:
2235         (WebInspector.JavaScriptOutlineDialog.createShortcut):
2236         (WebInspector.OpenResourceDialog.createShortcut):
2237         * inspector/front-end/ScriptsPanel.js:
2238
2239 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
2240
2241         Web Inspector: hide function popover in heap snapshot view before navigating to the function definition
2242         https://bugs.webkit.org/show_bug.cgi?id=77330
2243
2244         Reviewed by Pavel Feldman.
2245
2246         * inspector/front-end/DetailedHeapshotView.js:
2247         (WebInspector.DetailedHeapshotView.prototype.willHide):
2248
2249 2012-01-30  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2250
2251         [BlackBerry] Credential backing store implementation
2252         https://bugs.webkit.org/show_bug.cgi?id=76761
2253
2254         Reviewed by Antonio Gomes.
2255
2256         Implemented credential backing store database and related
2257         operations in class CredentialBackingStore.
2258
2259         * platform/network/blackberry/CredentialBackingStore.cpp:
2260         (WebCore::CredentialBackingStore::~CredentialBackingStore):
2261         (WebCore::CredentialBackingStore::open):
2262         (WebCore::CredentialBackingStore::close):
2263         (WebCore::CredentialBackingStore::addLogin):
2264         (WebCore::CredentialBackingStore::updateLogin):
2265         (WebCore::CredentialBackingStore::hasLogin):
2266         (WebCore::CredentialBackingStore::getLogin):
2267         (WebCore::CredentialBackingStore::removeLogin):
2268         (WebCore::CredentialBackingStore::clear):
2269
2270 2012-01-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2271
2272         Only send resize events when layout size changes.
2273         https://bugs.webkit.org/show_bug.cgi?id=77212
2274
2275         When using fixed layout the widget size is the size of content, therefore
2276         resize checks must check against layoutsize and not widget size.
2277
2278         Reviewed by Kenneth Rohde Christiansen.
2279
2280         Needs to be manual tests because the test framework does not currently
2281         support testing fixed layout.
2282
2283         Tests: ManualTests/resize-events.html
2284
2285         * page/FrameView.cpp:
2286         (WebCore::FrameView::layout):
2287         (WebCore::FrameView::performPostLayoutTasks):
2288
2289 2012-01-30  Pavel Feldman  <pfeldman@google.com>
2290
2291         Web Inspector: TimelinePanel does not respect InspectorFrontendHost.canSaveAs
2292         https://bugs.webkit.org/show_bug.cgi?id=77301
2293
2294         Reviewed by Vsevolod Vlasov.
2295
2296         * inspector/front-end/TimelinePanel.js:
2297         (WebInspector.TimelinePanel.prototype._registerShortcuts):
2298
2299 2012-01-30  Nikolas Zimmermann  <nzimmermann@rim.com>
2300
2301         Not reviewed. Fix Clang build for real after r106218.
2302
2303         * inspector/CodeGeneratorInspector.py:
2304         (Generator.go): Add virtual destructor to the ABCs.
2305
2306 2012-01-30  Shinya Kawanaka  <shinyak@google.com>
2307
2308         No need to keep anonymous RenderBlock in DETAILS.
2309         https://bugs.webkit.org/show_bug.cgi?id=77322
2310
2311         Reviewed by Hajime Morita.
2312
2313         Anonymous RenderBlock of DETAILS element was not squashed when detaching them.
2314         However, it should be removed.
2315
2316         No new tests. Should be covered by existing tests.
2317
2318         * rendering/RenderBlock.cpp:
2319         (WebCore::canMergeContiguousAnonymousBlocks):
2320
2321 2012-01-30  Zoltan Herczeg  <zherczeg@webkit.org>
2322
2323         Custom written CSS lexer
2324         https://bugs.webkit.org/show_bug.cgi?id=70107
2325
2326         Rubber Stamped by Csaba Osztrogonác.
2327
2328         Do not advance pointer at the end of input, just
2329         keep returning with END_TOKEN.
2330
2331         * css/CSSParser.cpp:
2332         (WebCore::CSSParser::lex):
2333
2334 2012-01-30  Shinya Kawanaka  <shinyak@google.com>
2335
2336         The query selector for HTMLContentElement should follow the shadow dom spec.
2337         https://bugs.webkit.org/show_bug.cgi?id=75946
2338
2339         Reviewed by Hajime Morita.
2340
2341         Checks the query selector of HTMLContentElement is valid.
2342         If not valid, the selector won't match anything, and shows fallback element.
2343
2344         Test: fast/dom/shadow/content-selector-query.html
2345
2346         * html/shadow/ContentSelectorQuery.cpp:
2347         (WebCore::ContentSelectorQuery::ContentSelectorQuery):
2348         (WebCore::ContentSelectorQuery::isValidSelector):
2349         (WebCore::ContentSelectorQuery::matches):
2350           When a select query is not valid, any element won't be matched.
2351         (WebCore::validateSubSelector):
2352         (WebCore::validateSelector):
2353         (WebCore::ContentSelectorQuery::validateSelectorList):
2354           Validate selectors.
2355         * html/shadow/ContentSelectorQuery.h:
2356         * html/shadow/HTMLContentElement.cpp:
2357         (WebCore::HTMLContentElement::isSelectValid):
2358           Returns true if select attribute is valid.
2359         * html/shadow/HTMLContentElement.h:
2360         * testing/Internals.cpp:
2361         (WebCore::Internals::isValidContentSelect):
2362         * testing/Internals.h:
2363         * testing/Internals.idl:
2364
2365 2012-01-30  Hans Wennborg  <hans@chromium.org>
2366
2367         Unreviewed, rolling out r106219.
2368         http://trac.webkit.org/changeset/106219
2369         https://bugs.webkit.org/show_bug.cgi?id=77083
2370
2371         This broke Chromium's test_shell.
2372
2373         * GNUmakefile.list.am:
2374         * Target.pri:
2375         * WebCore.gypi:
2376         * WebCore.vcproj/WebCore.vcproj:
2377         * WebCore.xcodeproj/project.pbxproj:
2378         * platform/mock/SpeechInputClientMock.cpp: Added.
2379         (WebCore):
2380         (WebCore::SpeechInputClientMock::SpeechInputClientMock):
2381         (WebCore::SpeechInputClientMock::setListener):
2382         (WebCore::SpeechInputClientMock::startRecognition):
2383         (WebCore::SpeechInputClientMock::stopRecording):
2384         (WebCore::SpeechInputClientMock::cancelRecognition):
2385         (WebCore::SpeechInputClientMock::addRecognitionResult):
2386         (WebCore::SpeechInputClientMock::clearResults):
2387         (WebCore::SpeechInputClientMock::timerFired):
2388         * platform/mock/SpeechInputClientMock.h: Added.
2389         (WebCore):
2390         (SpeechInputClientMock):
2391
2392 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
2393
2394         Unreviewed. Clang build fix after r106218
2395
2396         * inspector/CodeGeneratorInspector.py:
2397
2398 2012-01-30  ChangSeok Oh  <shivamidow@gmail.com>
2399
2400         Make GraphicsContext3DPrivate of GTK port shareable.
2401         https://bugs.webkit.org/show_bug.cgi?id=77296
2402
2403         Reviewed by Eric Seidel.
2404
2405         GraphicsContext3DPrivate.cpp/h of GTK port look shareable with another port
2406         using glx backend for WebGL. For example, EFL port.
2407         Moved GraphicsContext3DPrivate.cpp and its header into Source/WebCore/platform/graphics/glx.
2408
2409         No new tests required, because of no new feature.
2410
2411         * GNUmakefile.am:
2412         * GNUmakefile.list.am:
2413         * platform/graphics/glx/GraphicsContext3DPrivate.cpp: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DPrivate.cpp.
2414         (sharedDisplay):
2415         (WebCore):
2416         (WebCore::activeGraphicsContexts):
2417         (WebCore::GraphicsContext3DPrivate::addActiveGraphicsContext):
2418         (WebCore::GraphicsContext3DPrivate::removeActiveGraphicsContext):
2419         (WebCore::GraphicsContext3DPrivate::cleanupActiveContextsAtExit):
2420         (WebCore::GraphicsContext3DPrivate::create):
2421         (WebCore::GraphicsContext3DPrivate::createPbufferContext):
2422         (WebCore::GraphicsContext3DPrivate::createPixmapContext):
2423         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2424         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2425         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
2426         * platform/graphics/glx/GraphicsContext3DPrivate.h: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DPrivate.h.
2427         (WebCore):
2428         (GraphicsContext3DPrivate):
2429
2430 2012-01-26  Hans Wennborg  <hans@chromium.org>
2431
2432         Speech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
2433         https://bugs.webkit.org/show_bug.cgi?id=77083
2434
2435         Reviewed by Darin Fisher.
2436
2437         Remove SpeechInputClientMock. The mock is moving to the DumpRenderTree
2438         implementation.
2439
2440         No new tests, just refactoring.
2441
2442         * GNUmakefile.list.am:
2443         * Target.pri:
2444         * WebCore.gypi:
2445         * WebCore.vcproj/WebCore.vcproj:
2446         * WebCore.xcodeproj/project.pbxproj:
2447         * platform/mock/SpeechInputClientMock.cpp: Removed.
2448         * platform/mock/SpeechInputClientMock.h: Removed.
2449
2450 2012-01-30  Peter Rybin  <peter.rybin@gmail.com>
2451
2452         Web Inspector: CodeGeneratorInspector.py: clean InspectorBackendDispatcher.h
2453         https://bugs.webkit.org/show_bug.cgi?id=77062
2454
2455         Reviewed by Yury Semikhatsky.
2456
2457         Code generator is changed. Now it generates InspectorBackendDispatcher
2458         as an abstract class so that implementation details could be fully
2459         hidden in .cpp file in a separate 'impl' class. This should make .h
2460         file more clear.
2461         Also new formal interfaces to domain agents are generated. This is an
2462         improvement over the current case when interfaces to agents are
2463         definen implicitly at calling sites.
2464
2465         * inspector/CodeGeneratorInspector.py:
2466         (RawTypes):
2467         (RawTypes.OutputPassModel):
2468         (RawTypes.OutputPassModel.ByPointer):
2469         (RawTypes.OutputPassModel.ByPointer.get_argument_prefix):
2470         (RawTypes.OutputPassModel.ByPointer.get_parameter_type_suffix):
2471         (RawTypes.OutputPassModel.ByReference):
2472         (RawTypes.OutputPassModel.ByReference.get_argument_prefix):
2473         (RawTypes.OutputPassModel.ByReference.get_parameter_type_suffix):
2474         (RawTypes.BaseType.is_event_param_check_optional):
2475         (RawTypes.String):
2476         (RawTypes.String.get_output_pass_model):
2477         (RawTypes.String.is_heavy_value):
2478         (RawTypes.Int):
2479         (RawTypes.Int.get_output_pass_model):
2480         (RawTypes.Int.is_heavy_value):
2481         (RawTypes.Number):
2482         (RawTypes.Number.get_output_pass_model):
2483         (RawTypes.Number.is_heavy_value):
2484         (RawTypes.Bool.get_c_param_type):
2485         (RawTypes.Bool):
2486         (RawTypes.Bool.get_output_pass_model):
2487         (RawTypes.Bool.is_heavy_value):
2488         (RawTypes.Object):
2489         (RawTypes.Object.get_output_pass_model):
2490         (RawTypes.Object.is_heavy_value):
2491         (RawTypes.Any.get_c_initializer):
2492         (RawTypes.Any):
2493         (RawTypes.Any.get_output_pass_model):
2494         (RawTypes.Any.is_heavy_value):
2495         (RawTypes.Array):
2496         (RawTypes.Array.get_output_pass_model):
2497         (RawTypes.Array.is_heavy_value):
2498         (InspectorBackendDispatcherImpl):
2499         (void):
2500         (Generator):
2501         (Generator.go):
2502         (Generator.process_command):
2503         * inspector/InspectorController.cpp:
2504         (WebCore::InspectorController::connectFrontend):
2505         * inspector/WorkerInspectorController.cpp:
2506         (WebCore::WorkerInspectorController::connectFrontend):
2507
2508 2012-01-29  Zoltan Herczeg  <zherczeg@webkit.org>
2509
2510         Custom written CSS lexer
2511         https://bugs.webkit.org/show_bug.cgi?id=70107
2512
2513         Reviewed by Antti Koivisto and Oliver Hunt.
2514
2515         This patch replaces the flex based CSS lexer to a
2516         new, custom written one. The new code is more
2517         than 2 times faster according to oprofile and CPU
2518         cycle counters.
2519
2520         The code structure is quite straightforward: it choose
2521         the possible token group based on the first character
2522         and employ utility functions to parse the longer than
2523         one character long ones. Most of the utilities are inline
2524         to make the lexer fast.
2525
2526         All build systems updated. Including removing the flex support.
2527
2528         Existing tests cover this feature.
2529
2530         * CMakeLists.txt:
2531         * DerivedSources.make:
2532         * DerivedSources.pri:
2533         * GNUmakefile.am:
2534         * GNUmakefile.list.am:
2535         * WebCore.gyp/WebCore.gyp:
2536         * WebCore.gyp/scripts/action_maketokenizer.py: Removed.
2537         * WebCore.gypi:
2538         * WebCore.vcproj/WebCore.vcproj:
2539         * WebCore.xcodeproj/project.pbxproj:
2540         * css/CSSParser.cpp:
2541         (WebCore::CSSParser::CSSParser):
2542         (WebCore::CSSParser::setupParser):
2543         (WebCore::parseSimpleLengthValue):
2544         (WebCore::mightBeRGBA):
2545         (WebCore::mightBeRGB):
2546         ():
2547         (WebCore::isCSSLetter):
2548         (WebCore):
2549         (WebCore::isCSSEscape):
2550         (WebCore::isURILetter):
2551         (WebCore::isIdentifierStartAfterDash):
2552         (WebCore::isEqualToCSSIdentifier):
2553         (WebCore::checkAndSkipEscape):
2554         (WebCore::skipWhiteSpace):
2555         (WebCore::CSSParser::isIdentifierStart):
2556         (WebCore::CSSParser::checkAndSkipString):
2557         (WebCore::CSSParser::parseEscape):
2558         (WebCore::CSSParser::parseIdentifier):
2559         (WebCore::CSSParser::parseString):
2560         (WebCore::CSSParser::parseURI):
2561         (WebCore::CSSParser::parseUnicodeRange):
2562         (WebCore::CSSParser::parseNthChild):
2563         (WebCore::CSSParser::parseNthChildExtra):
2564         (WebCore::CSSParser::detectFunctionTypeToken):
2565         (WebCore::CSSParser::detectMediaQueryToken):
2566         (WebCore::CSSParser::detectNumberToken):
2567         (WebCore::CSSParser::detectDashToken):
2568         (WebCore::CSSParser::detectAtToken):
2569         (WebCore::CSSParser::lex):
2570         (WebCore::CSSParser::markSelectorListStart):
2571         (WebCore::CSSParser::markSelectorListEnd):
2572         (WebCore::CSSParser::markRuleBodyStart):
2573         (WebCore::CSSParser::markRuleBodyEnd):
2574         (WebCore::CSSParser::markPropertyStart):
2575         (WebCore::CSSParser::markPropertyEnd):
2576         * css/CSSParser.h:
2577         (WebCore::CSSParser::token):
2578         (CSSParser):
2579         ():
2580         * css/tokenizer.flex: Removed.
2581
2582 2012-01-29  Dale Curtis  <dalecurtis@chromium.org>
2583
2584         Prepare WebCore.gyp for ffmpeg source transition.
2585         https://bugs.webkit.org/show_bug.cgi?id=77254
2586
2587         We're migrating our ffmpeg repo from a set of patches living on top of
2588         a tarball to an actual git fork of upstream.  The paths have changed
2589         slightly.
2590
2591         In order to not break the current build, we'll keep both paths around
2592         until the transition is complete.  Afterward the 'patched-ffmpeg' path
2593         will be removed.
2594
2595         Reviewed by Tony Chang.
2596
2597         No new tests. GYP change, if it doesn't work, nothing will compile.
2598
2599         * WebCore.gyp/WebCore.gyp:
2600
2601 2012-01-29  Hayato Ito  <hayato@chromium.org>
2602
2603         Add a ShadowRoot constructor as 'WebKitShadowRootConstructor', enabled by SHADOW_DOM flag.
2604         https://bugs.webkit.org/show_bug.cgi?id=76354
2605
2606         Reviewed by Hajime Morita.
2607
2608         We use vendor-prefixed name, 'WebKitShadowRoot', instead of 'ShadowRoot'
2609         since this is a feature under development.
2610
2611         * dom/ShadowRoot.cpp:
2612         (WebCore::ShadowRoot::create):
2613         (WebCore):
2614         * dom/ShadowRoot.h:
2615         (WebCore):
2616         (ShadowRoot):
2617         * dom/ShadowRoot.idl:
2618         * page/DOMWindow.idl:
2619
2620 2012-01-29  Noel Gordon  <noel.gordon@gmail.com>
2621
2622         [chromium] Use decoding swizzle only on libjpeg-turbo 1.1.90+
2623         https://bugs.webkit.org/show_bug.cgi?id=74286
2624
2625         Reviewed by Kenneth Russell.
2626
2627         No new tests. Covered by many existing tests: in particular 
2628             fast/images/*, fast/canvas/*,
2629             tables/mozilla/bugs/bug29314.html
2630             tables/mozilla/bugs/bug13169.html
2631             tables/mozilla/bugs/bug10565.html
2632             tables/mozilla/bugs/bug11026.html
2633             fast/repaint/backgroundSizeRepaint.html
2634             fast/repaint/block-layout-inline-children-replaced.html
2635             fast/repaint/clipped-relative.html
2636             fast/repaint/selected-replaced.html
2637             tables/mozilla/bugs/bug12908-1.html
2638
2639         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2640         (rgbOutputColorSpace): Swizzle decode iff libjpeg-turbo is r732 or above.
2641
2642 2012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2643
2644         Unreviewed, rolling out r105999.
2645         http://trac.webkit.org/changeset/105999
2646         https://bugs.webkit.org/show_bug.cgi?id=77304
2647
2648         Validating that this caused a performance regression in page
2649         load tests. (Requested by leviw on #webkit).
2650
2651         * dom/NamedNodeMap.cpp:
2652         * dom/NamedNodeMap.h:
2653         (NamedNodeMap):
2654         * dom/StyledElement.cpp:
2655         (WebCore::StyledElement::updateStyleAttribute):
2656         (WebCore::StyledElement::createInlineStyleDecl):
2657         (WebCore):
2658         (WebCore::StyledElement::destroyInlineStyleDecl):
2659         (WebCore::StyledElement::ensureInlineStyleDecl):
2660         (WebCore::StyledElement::style):
2661         (WebCore::StyledElement::addSubresourceAttributeURLs):
2662         * dom/StyledElement.h:
2663         (WebCore::StyledElement::inlineStyleDecl):
2664         (StyledElement):
2665
2666 2012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2667
2668         Unreviewed, rolling out r106109.
2669         http://trac.webkit.org/changeset/106109
2670         https://bugs.webkit.org/show_bug.cgi?id=77302
2671
2672         It made tests crash (Requested by Ossy_weekend on #webkit).
2673
2674         * platform/graphics/qt/TextureMapperQt.cpp:
2675         (WebCore::TextureMapperQt::setGraphicsContext):
2676         * platform/graphics/qt/TextureMapperQt.h:
2677         (WebCore::TextureMapperQt::initialize):
2678
2679 2012-01-28  Alexander Færøy  <ahf@0x90.dk>
2680
2681         [Qt] Remove references to CSSBorderImageValue.h in Target.pri
2682         https://bugs.webkit.org/show_bug.cgi?id=77277
2683
2684         Reviewed by Antonio Gomes.
2685
2686         CSSBorderImageValue.h was removed in r105502.
2687
2688         * Target.pri:
2689
2690 2012-01-28  Julien Chaffraix  <jchaffraix@webkit.org>
2691
2692         REGRESSION (r94016): Element with visibility:hidden but visible descendant may not be properly repainted
2693         https://bugs.webkit.org/show_bug.cgi?id=76126
2694
2695         Reviewed by Simon Fraser.
2696
2697         Tests: fast/layers/scroll-no-visible-content-but-visible-descendant-expected.html
2698                fast/layers/scroll-no-visible-content-but-visible-descendant.html
2699
2700         The optimization missed out that if the current layer does not have some visible content
2701         (m_hasVisibleContent is false), a descendant could totally be visible and would need to
2702         have its repaint rectangles recomputed.
2703
2704         * rendering/RenderLayer.cpp:
2705         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
2706         Bail out only if the layer doesn't have visible content AND no visible descendants.
2707
2708 2012-01-27  Chris Marrin  <cmarrin@apple.com>
2709
2710         Get rid of TransformOperationList
2711         https://bugs.webkit.org/show_bug.cgi?id=77249
2712
2713         Reviewed by Dan Bernstein.
2714
2715         Changed fetchTransformOperationList to validateTransformOperations and got rid of separately generated list
2716         of transform operations. These are not needed, they are already available in the keyframe lists and they
2717         make it more difficult to add support for hardware animated filters. No behavior changes.
2718
2719
2720         * platform/graphics/GraphicsLayer.cpp:
2721         (WebCore::GraphicsLayer::validateTransformOperations):
2722         * platform/graphics/GraphicsLayer.h:
2723         (GraphicsLayer):
2724         * platform/graphics/ca/GraphicsLayerCA.cpp:
2725         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
2726         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
2727         * platform/graphics/ca/GraphicsLayerCA.h:
2728         ():
2729         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2730         (WebCore::GraphicsLayerTextureMapper::addAnimation):
2731         * platform/graphics/texmap/TextureMapperAnimation.cpp:
2732         (WebCore::applyTransformAnimation):
2733         (WebCore::TextureMapperAnimation::TextureMapperAnimation):
2734         (WebCore::TextureMapperAnimation::applyInternal):
2735         * platform/graphics/texmap/TextureMapperAnimation.h:
2736         (TextureMapperAnimation):
2737
2738 2012-01-27  Raymond Toy  <rtoy@google.com>
2739
2740         AudioPannerNode::setPanningModel() does not update m_panningModel properly
2741         https://bugs.webkit.org/show_bug.cgi?id=66830
2742
2743         Reviewed by Kenneth Russell.
2744
2745         Test: webaudio/panner-set-model.html
2746
2747         * webaudio/AudioPannerNode.cpp:
2748         (WebCore::AudioPannerNode::setPanningModel):  Update
2749         m_panningModel appropriately.  Also silently do nothing if the
2750         model is invalid.
2751
2752 2012-01-27  Chris Rogers  <crogers@google.com>
2753
2754         HRTFPanner could have high-quality mode for smoother transitions
2755         https://bugs.webkit.org/show_bug.cgi?id=76470
2756
2757         Reviewed by Kenneth Russell.
2758
2759         * platform/audio/HRTFPanner.cpp:
2760         (WebCore):
2761         (WebCore::HRTFPanner::HRTFPanner):
2762         (WebCore::HRTFPanner::reset):
2763         (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
2764         (WebCore::HRTFPanner::pan):
2765         * platform/audio/HRTFPanner.h:
2766         (HRTFPanner):
2767         ():
2768
2769 2012-01-27  Mike Lawther  <mikelawther@chromium.org>
2770
2771         CSS calc parsing stage
2772         https://bugs.webkit.org/show_bug.cgi?id=57082
2773
2774         This is the parsing stage of calc. The expressions are evaluated and 
2775         expression trees are generated. CSS values are not created yet - that
2776         will happen in a subsequent commit. 
2777
2778         Reviewed by David Hyatt.
2779
2780         No functional change - covered by existing tests in LayoutTests/css3/calc.
2781
2782         * CMakeLists.txt:
2783         * GNUmakefile.list.am:
2784         * Target.pri:
2785         * WebCore.gypi:
2786         * WebCore.vcproj/WebCore.vcproj:
2787         * WebCore.xcodeproj/project.pbxproj:
2788         * css/CSSCalculationValue.cpp: Added.
2789         (WebCore):
2790         (WebCore::unitCategory):
2791         (WebCore::CSSCalcValue::customCssText):
2792         (WebCore::CSSCalcExpressionNode::~CSSCalcExpressionNode):
2793         (CSSCalcPrimitiveValue):
2794         (WebCore::CSSCalcPrimitiveValue::create):
2795         (WebCore::CSSCalcPrimitiveValue::cssText):
2796         (WebCore::CSSCalcPrimitiveValue::CSSCalcPrimitiveValue):
2797         ():
2798         (CSSCalcBinaryOperation):
2799         (WebCore::CSSCalcBinaryOperation::create):
2800         (WebCore::CSSCalcBinaryOperation::CSSCalcBinaryOperation):
2801         (WebCore::checkDepthAndIndex):
2802         (CSSCalcExpressionNodeParser):
2803         (WebCore::CSSCalcExpressionNodeParser::parseCalc):
2804         (Value):
2805         (WebCore::CSSCalcExpressionNodeParser::operatorValue):
2806         (WebCore::CSSCalcExpressionNodeParser::parseValue):
2807         (WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
2808         (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
2809         (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
2810         (WebCore::CSSCalcExpressionNodeParser::parseValueExpression):
2811         (WebCore::CSSCalcValue::create):
2812         * css/CSSCalculationValue.h: Added.
2813         (WebCore):
2814         ():
2815         (CSSCalcExpressionNode):
2816         (WebCore::CSSCalcExpressionNode::category):
2817         (WebCore::CSSCalcExpressionNode::isInt):
2818         (WebCore::CSSCalcExpressionNode::isZero):
2819         (WebCore::CSSCalcExpressionNode::CSSCalcExpressionNode):
2820         (CSSCalcValue):
2821         (WebCore::CSSCalcValue::category):
2822         (WebCore::CSSCalcValue::isInt):
2823         (WebCore::CSSCalcValue::CSSCalcValue):
2824         * css/CSSParser.cpp:
2825         (WebCore::CSSParser::validCalculationUnit):
2826         (WebCore):
2827         (WebCore::CSSParser::validUnit):
2828         (WebCore::CSSParser::createPrimitiveNumericValue):
2829         (WebCore::CSSParser::parseValidPrimitive):
2830         (WebCore::CSSParser::parseValue):
2831         (WebCore::CSSParser::parseFillPositionComponent):
2832         (WebCore::CSSParser::parsedDouble):
2833         (WebCore::CSSParser::isCalculation):
2834         (WebCore::CSSParser::colorIntFromValue):
2835         (WebCore::CSSParser::parseColorParameters):
2836         (WebCore::CSSParser::parseHSLParameters):
2837         (WebCore::ShadowParseContext::ShadowParseContext):
2838         (WebCore::ShadowParseContext::commitLength):
2839         (WebCore::ShadowParseContext::commitStyle):
2840         (ShadowParseContext):
2841         (WebCore::CSSParser::parseShadow):
2842         (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
2843         (WebCore::BorderImageSliceParseContext::commitNumber):
2844         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
2845         (BorderImageSliceParseContext):
2846         (WebCore::CSSParser::parseBorderImageSlice):
2847         (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
2848         (WebCore::BorderImageQuadParseContext::commitNumber):
2849         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
2850         (BorderImageQuadParseContext):
2851         (WebCore::CSSParser::parseBorderImageQuad):
2852         (WebCore::CSSParser::parseCalculation):
2853         * css/CSSParser.h:
2854         ():
2855         (CSSParser):
2856         * css/CSSValue.cpp:
2857         (WebCore::CSSValue::cssText):
2858         (WebCore::CSSValue::destroy):
2859         * css/CSSValue.h:
2860         (WebCore::CSSValue::isCalculationValue):
2861         ():
2862         * css/SVGCSSParser.cpp:
2863         (WebCore::CSSParser::parseSVGValue):
2864         * platform/CalculationValue.cpp: Added.
2865         (WebCore):
2866         * platform/CalculationValue.h: Added.
2867         (WebCore):
2868         ():
2869
2870 2012-01-27  Anders Carlsson  <andersca@apple.com>
2871
2872         WebTileLayers should honor the acceleratesDrawing flag
2873         https://bugs.webkit.org/show_bug.cgi?id=77242
2874         <rdar://problem/10622128>
2875
2876         Reviewed by Dan Bernstein.
2877
2878         * platform/graphics/ca/mac/TileCache.h:
2879         (WebCore::TileCache::acceleratesDrawing):
2880         Add getter.
2881
2882         * platform/graphics/ca/mac/TileCache.mm:
2883         (WebCore::TileCache::TileCache):
2884         Initialize m_acceleratesDrawing.
2885
2886         (WebCore::TileCache::setAcceleratesDrawing):
2887         Set m_acceleratesDrawing and go through all tile layers and update the flag.
2888
2889         (WebCore::TileCache::createTileLayer):
2890         Call -[CALayer setAcceleratesDrawing:] on the newly created layer.
2891
2892         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
2893         (-[WebTileCacheLayer setAcceleratesDrawing:]):
2894         (-[WebTileCacheLayer acceleratesDrawing]):
2895         Call through to the TileCache object.
2896
2897 2012-01-27  Raymond Toy  <rtoy@google.com>
2898
2899         Round time to sample frame
2900         https://bugs.webkit.org/show_bug.cgi?id=76659
2901
2902         Three major changes:
2903
2904         1. Modify timeToSampleFrame to round the time to the sample frame
2905         and add support for Visual Studio to round the time in the same
2906         way as on gcc. (The issue is that Visual Studio uses x87
2907         instructions with 80-bit floats.)  This makes Visual Studio more
2908         consistent with the results with gcc.
2909
2910         2. Change the current time variable from keeping time in seconds
2911         to keeping time in sample frames.  This minimizes rounding except
2912         when needed for the Javascript API.
2913
2914         3. Update AudioBufferSourceNode::process to use samples (instead
2915         of time) as much as possible to reduce round-off effects.
2916
2917         Reviewed by Kenneth Russell.
2918
2919         Tests: Added note-grain-on test to exercise precise
2920         timing. Existing tests (gain and audiobuffersource-playbackrate)
2921         also cover some of these changes, and the equalpower panner test is
2922         modified to enable the tests for the offset of the impulses.
2923
2924         * platform/audio/AudioUtilities.cpp:
2925         (WebCore::AudioUtilities::timeToSampleFrame): Moved from
2926         AudioParamTimeLine and slightly modified, and updated to round
2927         operations consistently.  Add special flags for Visual Studio to
2928         generate code with rounding that is consistent with gcc.
2929         * platform/audio/AudioUtilities.h: Declare new function.
2930         * webaudio/AudioBufferSourceNode.cpp:
2931         (WebCore::AudioBufferSourceNode::process): Use new functions to
2932         convert time to sample frame.  Update code to use integer
2933         arithmetic as much as possible.
2934         (WebCore::AudioBufferSourceNode::renderFromBuffer): Use
2935         timeToSampleFrame to convert time to sample frame.
2936         * webaudio/AudioContext.h: Define new currentSample method to get
2937         the current sample.
2938         * webaudio/AudioDestinationNode.cpp:
2939         (WebCore::AudioDestinationNode::provideInput): Use new function to
2940         convert sample frame to time.  Update
2941         * webaudio/AudioDestiationNode.h: Rename m_currentTime to
2942         m_currentSample, add method to return current Sample.  Update
2943         currentTime() method to compute time from the current sample.
2944         * webaudio/AudioParamTimeline.cpp:
2945         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Remove
2946         timeToSampleFrame and use new function in AudioUtilities to
2947         convert time to sample frame.
2948
2949 2012-01-27  Adrienne Walker  <enne@google.com>
2950
2951         [chromium] Don't ever skip drawing the non-composited content layer
2952         https://bugs.webkit.org/show_bug.cgi?id=77236
2953
2954         Reviewed by James Robinson.
2955
2956         Since the root layer has its textures potentially reserved last in a
2957         front-to-back iteration, don't ever skip drawing it if we can't
2958         reserve its textures. Instead, checkerboard and draw background color
2959         quads instead to fill the viewport. This behavior is tied to the
2960         backgroundFillsViewport setting.
2961
2962         * platform/graphics/chromium/TiledLayerChromium.cpp:
2963         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2964         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
2965         (WebCore::CCLayerTilingData::reset):
2966         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2967         (WebCore::CCTiledLayerImpl::appendQuads):
2968
2969 2012-01-27  Martin Robinson  <mrobinson@igalia.com>
2970
2971         Fix a warning in the GTK+ build.
2972
2973         Reviewed by Gustavo Noronha Silva.
2974
2975         No new tests. This should not change behavior.
2976
2977         * plugins/gtk/PluginViewGtk.cpp:
2978         (WebCore::PluginView::platformStart): Use reinterpet_cast to convert X11 Windows into void pointers.
2979
2980 2012-01-27  Tien-Ren Chen  <trchen@chromium.org>
2981
2982         [chromium] CCLayerTreeHostImpl minor code cleanup
2983         https://bugs.webkit.org/show_bug.cgi?id=77181
2984
2985         Fix a typo in comments and group functions properly.
2986         Replace duplicated content size code with function.
2987
2988         Reviewed by James Robinson.
2989
2990         No new tests. No change in behavior.
2991
2992         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2993         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
2994         (WebCore::CCLayerTreeHostImpl::contentSize):
2995         (WebCore):
2996         (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
2997         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2998         (CCLayerTreeHostImpl):
2999
3000 2012-01-27  Kevin Ollivier  <kevino@theolliviers.com>
3001
3002         [wx] Unreviewed. Build fix, add missing header.
3003
3004         * rendering/svg/SVGImageBufferTools.h:
3005
3006 2012-01-27  Victor Carbune  <victor@rosedu.org>
3007
3008         Added the GenericEventQueue class in order to generalize asynchronous
3009         event dispatching in HTMLMediaElement.
3010
3011         In order to support asynchronous events dispatched by HTMLTrackElement
3012         there is a need for a generalized implementation of an event queue to
3013         be used for both HTMLMediaElement and Text Tracks.
3014
3015         https://bugs.webkit.org/show_bug.cgi?id=76110
3016
3017         Reviewed by Eric Carlson.
3018
3019         No new tests. No new functionality, only refactoring.
3020
3021         * CMakeLists.txt:
3022         * GNUmakefile.list.am:
3023         * Target.pri:
3024         * WebCore.gypi:
3025         * WebCore.vcproj/WebCore.vcproj:
3026         * WebCore.xcodeproj/project.pbxproj:
3027
3028         * dom/GenericEventQueue.cpp: Added. Implements the abstract class EventQueue.
3029         (WebCore::GenericEventQueue::GenericEventQueue):
3030         (WebCore::GenericEventQueue::~GenericEventQueue):
3031         (WebCore::GenericEventQueue::enqueueEvent): Append an event to the current
3032         pending event list.
3033         (WebCore::GenericEventQueue::cancelEvent): Removes an event from the current
3034         pending event list.
3035         (WebCore::GenericEventQueue::timerFired): Callback method when the timer fires.
3036         Dispatches all events that are currently pending.
3037         (WebCore::GenericEventQueue::close): Closes the event queue such that it cannot
3038         be used anymore.
3039         (WebCore::GenericEventQueue::cancelAllEvents): Removes all pending events.
3040         (WebCore::GenericEventQueue::hasPendingEvents): True if there are pending events.
3041         * dom/GenericEventQueue.h: Added.
3042
3043         * html/HTMLMediaElement.cpp:
3044         (WebCore::HTMLMediaElement::HTMLMediaElement):
3045         (WebCore::HTMLMediaElement::scheduleEvent): Refactored method to enqueue
3046         the scheduled event on the GenericEventQueue instance.
3047         (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): Ditto.
3048         (WebCore::HTMLMediaElement::hasPendingActivity): Ditto.
3049         (WebCore::HTMLMediaElement::dispatchEvent): This method is overriden
3050         to keep an evidence when a canPlay event is fired.
3051         * html/HTMLMediaElement.h:
3052
3053 2012-01-27  Martin Robinson  <mrobinson@igalia.com>
3054
3055         Fix a warning in the GTK+ build.
3056
3057         Reviewed by Gustavo Noronha Silva.
3058
3059         No new tests. This should not change behavior.
3060
3061         * plugins/gtk/PluginViewGtk.cpp:
3062         (WebCore::PluginView::platformStart): Use reinterpet_cast to convert X11 Windows into void pointers.
3063
3064 2012-01-27  Benjamin Poulain  <bpoulain@apple.com>
3065
3066         Speed up the prefix matching of cssPropertyName()
3067         https://bugs.webkit.org/show_bug.cgi?id=77158
3068
3069         Reviewed by Geoffrey Garen.
3070
3071         This patch improves the performance by:
3072         -not checking the PropertyName with all 7 prefix
3073          (now, in the worse case, 2 prefixes are checked)
3074         -avoiding the conversion 8bits->16bits by using String::operator[]
3075          instead of ::characters()
3076
3077         To avoid checking every prefix, the code branch based on the first
3078         characters of the propertyName.
3079         The remaining of the prefix is checked character by characters like before.
3080
3081         When accessing CSS property, this gives a 13% improvement when there is no prefix.
3082         There is no performance regression for the matching of prefix, including for the first one
3083         of the previous matching code ("css").
3084
3085         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3086         ():
3087         (WebCore::matchesCSSPropertyNamePrefix):
3088         (WebCore):
3089         (WebCore::getCSSPropertyNamePrefix):
3090         (WebCore::cssPropertyName):
3091
3092 2012-01-27  Ken Buchanan  <kenrb@chromium.org>
3093
3094         Crash in updateFirstLetter() from unnecessary anonymous block
3095         https://bugs.webkit.org/show_bug.cgi?id=72675
3096
3097         Reviewed by David Hyatt.
3098
3099         There was a problem with anonymous blocks not getting removed when
3100         their only block flow siblings are removed if they also have non-block
3101         flow first-letter siblings (i.e. floats). This patch modifies
3102         RenderBlock::removeChild() to look for this situation and strip out
3103         unnecessary anonymous container blocks if it occurs.
3104
3105         * rendering/RenderBlock.cpp:
3106         (WebCore::RenderBlock::removeChild):
3107         (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
3108         * rendering/RenderBlock.h:
3109         (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
3110
3111 2012-01-27  Fady Samuel  <fsamuel@chromium.org>
3112
3113         Rename shouldLayoutFixedElementsRelativeToFrame and make it a setting
3114         https://bugs.webkit.org/show_bug.cgi?id=76459
3115
3116         Reviewed by Darin Fisher.
3117
3118         This should be a setting because it is independent of a particular frame and
3119         should be preserved even if the mainframe changes.
3120
3121         Renamed (set)ShouldLayoutFixedElementsRelativeToFrame to 
3122         (set)FixedElementsLayoutRelativeToFrame due to the connotation
3123         the word "should" may have in this context: If set, 
3124         position:fixed elements will ALWAYS be laid out relative to the frame.
3125
3126
3127         * WebCore.exp.in:
3128         * page/FrameView.cpp:
3129         (WebCore::FrameView::reset):
3130         (WebCore::FrameView::scrollXForFixedPosition):
3131         (WebCore::FrameView::scrollYForFixedPosition):
3132         (WebCore::FrameView::fixedElementsLayoutRelativeToFrame):
3133         (WebCore):
3134         * page/FrameView.h:
3135         (FrameView):
3136         * page/Settings.cpp:
3137         (WebCore::Settings::Settings):
3138         (WebCore::Settings::setFixedElementsLayoutRelativeToFrame):
3139         (WebCore):
3140         * page/Settings.h:
3141         (Settings):
3142         (WebCore::Settings::fixedElementsLayoutRelativeToFrame):
3143         * rendering/RenderBox.cpp:
3144         (WebCore::RenderBox::fixedElementLaysOutRelativeToFrame):
3145         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
3146         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
3147         * rendering/RenderBox.h:
3148         (RenderBox):
3149         * testing/InternalSettings.cpp:
3150         (WebCore::InternalSettings::setFixedElementsLayoutRelativeToFrame):
3151         * testing/InternalSettings.h:
3152         (InternalSettings):
3153         * testing/InternalSettings.idl:
3154
3155 2012-01-27  Kentaro Hara  <haraken@chromium.org>
3156
3157         Support the [Supplemental] IDL for constants
3158         https://bugs.webkit.org/show_bug.cgi?id=77228
3159
3160         Reviewed by Adam Barth.
3161
3162         We have supported the [Supplemental] IDL for attributes and methods.
3163         This patch supports it for constants.
3164
3165         Test: bindings/scripts/test/TestSupplemental.idl
3166
3167         * bindings/scripts/generate-bindings.pl:
3168         Supported [Supplemental] constants.
3169         Updated some comments.
3170
3171         * bindings/scripts/test/TestSupplemental.idl:
3172         Added test cases for [Supplemental] constants.
3173
3174         * bindings/scripts/test/CPP/WebDOMTestInterface.h: Updated the test results.
3175         * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
3176         (WebCore::JSTestInterfacePrototype::getOwnPropertySlot):
3177         (WebCore::JSTestInterfacePrototype::getOwnPropertyDescriptor):
3178         (WebCore):
3179         (WebCore::jsTestInterfaceSUPPLEMENTAL_CONSTANT1):
3180         (WebCore::jsTestInterfaceSUPPLEMENTAL_CONSTANT2):
3181         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
3182         (WebCore):
3183         * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
3184         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
3185         (WebCore::ConfigureV8TestInterfaceTemplate):
3186
3187 2012-01-27  Anders Carlsson  <andersca@apple.com>
3188
3189         When threaded scrolling is enabled for a FrameView, always put scrollbars in layers
3190         https://bugs.webkit.org/show_bug.cgi?id=77232
3191         <rdar://problem/10766708>
3192
3193         Reviewed by Beth Dakin.
3194
3195         * page/ScrollingCoordinator.cpp:
3196         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
3197         * page/ScrollingCoordinator.h:
3198         Add a new helper function.
3199
3200         * rendering/RenderLayerCompositor.cpp:
3201         (WebCore::shouldCompositeOverflowControls):
3202         Make this take a FrameView, check with the scrolling coordinator if the overflow controls should be composited.
3203
3204         (WebCore::RenderLayerCompositor::requiresHorizontalScrollbarLayer):
3205         (WebCore::RenderLayerCompositor::requiresVerticalScrollbarLayer):
3206         (WebCore::RenderLayerCompositor::requiresScrollCornerLayer):
3207         Update for the change to make shouldCompositeOverflowControls take a FrameView.
3208
3209 2012-01-24  Vincent Scheib  <scheib@chromium.org>
3210
3211         Pointer Lock: Implement pointer interface
3212         https://bugs.webkit.org/show_bug.cgi?id=75762
3213
3214         Reviewed by Julien Chaffraix.
3215
3216         Implement the navigator.pointer interface via a new
3217         PointerLockController class, as per
3218         http://dvcs.w3.org/hg/webevents/raw-file/default/mouse-lock.html.
3219
3220         The implementation is being made in steps, the feature is still behind
3221         compile-time and run-time flags, 'webkit' prefixed, and not yet enabled
3222         in any browser. (Chromium has a developer flag required.) Follow-up
3223         work will include handling DOM elements being removed, making all
3224         callbacks asynchronous, iframe permissions (similar to Full Screen),
3225         etc.
3226
3227         PointerLockController maintains state of which Element is the current
3228         lock target and the success and failure callbacks. ChromeClient has
3229         methods added to expose the required state change requests.
3230
3231         Tests: pointer-lock/lock-already-locked.html
3232                pointer-lock/lock-fail-responses.html
3233                pointer-lock/mouse-event-delivery.html
3234                pointer-lock/pointerlocklost-event.html
3235
3236         * WebCore.gypi:
3237         * dom/EventNames.h:
3238         * page/ChromeClient.h:
3239         (WebCore::ChromeClient::requestPointerLock):
3240         (WebCore::ChromeClient::requestPointerUnlock):
3241         (WebCore::ChromeClient::isPointerLocked):
3242         * page/Navigator.cpp:
3243         (WebCore::Navigator::webkitPointer):
3244         * page/Page.cpp:
3245         (WebCore::Page::Page):
3246         * page/Page.h:
3247         (WebCore::Page::pointerLockController):
3248         * page/PointerLock.cpp:
3249         (WebCore::PointerLock::PointerLock):
3250         (WebCore::PointerLock::create):
3251         (WebCore::PointerLock::lock):
3252         (WebCore::PointerLock::unlock):
3253         (WebCore::PointerLock::isLocked):
3254         * page/PointerLock.h:
3255         (WebCore::PointerLock::create):
3256         * page/PointerLockController.cpp: Added.
3257         (WebCore::PointerLockController::PointerLockController):
3258         (WebCore::PointerLockController::requestPointerLock):
3259         (WebCore::PointerLockController::requestPointerUnlock):
3260         (WebCore::PointerLockController::isLocked):
3261         (WebCore::PointerLockController::didAcquirePointerLock):
3262         (WebCore::PointerLockController::didNotAcquirePointerLock):
3263         (WebCore::PointerLockController::didLosePointerLock):
3264         (WebCore::PointerLockController::dispatchLockedMouseEvent):
3265         * page/PointerLockController.h: Copied from Source/WebCore/page/PointerLock.h.
3266
3267 2012-01-27  Abhishek Arya  <inferno@chromium.org>
3268
3269         Crash in DocumentLoader::detachFromFrame.
3270         https://bugs.webkit.org/show_bug.cgi?id=62764
3271
3272         Reviewed by Brady Eidson.
3273
3274         r105556 didn't fix the crash because canceling the
3275         main resource loader blows away both the current
3276         document loader and frame underneath. Both protectors
3277         are also used in stopLoading() when m_mainResourceLoader->cancel()
3278         is called. Also, tested the fix under ASAN.
3279
3280         * loader/DocumentLoader.cpp:
3281         (WebCore::DocumentLoader::detachFromFrame):
3282
3283 2012-01-27  Tony Chang  <tony@chromium.org>
3284
3285         flexbox scrollbars don't take flex-direction into account
3286         https://bugs.webkit.org/show_bug.cgi?id=70772
3287
3288         Reviewed by Darin Adler.
3289
3290         This fixes a bug where we always used the logicalScrollbarHeight.
3291         For column flow, this was incorrect.
3292
3293         Also fix a bug where we didn't include the trailing border+padding+scrollbar when computing the
3294         height of a column flow.
3295
3296         Tests: css3/flexbox/cross-axis-scrollbar-expected.html
3297                css3/flexbox/cross-axis-scrollbar.html
3298
3299         * rendering/RenderFlexibleBox.cpp:
3300         (WebCore::RenderFlexibleBox::crossAxisScrollbarExtent): Add a direction aware method for getting the scrollbar size.
3301         (WebCore):
3302         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use crossAxisScrollbarExtent.
3303         * rendering/RenderFlexibleBox.h:
3304         (RenderFlexibleBox):
3305
3306 2012-01-27  Kentaro Hara  <haraken@chromium.org>
3307
3308         Unreviewed. Rebasedlined run-bindings-tests results.
3309
3310         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
3311         (WebDOMTestInterface::supplementalMethod1):
3312         (WebDOMTestInterface::supplementalMethod2):
3313
3314 2012-01-27  No'am Rosenthal  <noam.rosenthal@nokia.com>
3315
3316         [Qt][WK2] Child layers appear in wrong position when scrolling
3317         https://bugs.webkit.org/show_bug.cgi?id=77063
3318
3319         Reviewed by Simon Fraser.
3320
3321         When using the delegatesScrolling mode in FrameView, the compositor doesn't need
3322         to control the special clip/scroll layers. Also, when we change that mode, we need to let
3323         the compositor reset its backing-stores and rebuild them without scrolling/clipping.
3324
3325         This is tested by compositing tests, when run with Qt in touch mode.
3326
3327         * page/FrameView.cpp:
3328         (WebCore::FrameView::delegatesScrollingDidChange):
3329         (WebCore):
3330         * page/FrameView.h:
3331         (FrameView):
3332         * platform/ScrollView.cpp:
3333         (WebCore::ScrollView::setDelegatesScrolling):
3334         * platform/ScrollView.h:
3335         (WebCore::ScrollView::delegatesScrollingDidChange):
3336         * rendering/RenderLayerCompositor.cpp:
3337         (WebCore::RenderLayerCompositor::requiresScrollLayer):
3338
3339 2012-01-27  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
3340
3341         Removed unused method from CSSStyleSelector
3342         https://bugs.webkit.org/show_bug.cgi?id=77190
3343
3344         Reviewed by Andreas Kling.
3345
3346         * css/CSSStyleSelector.h:
3347         (CSSStyleSelector):
3348
3349 2012-01-27  Zeno Albisser  <zeno@webkit.org>
3350
3351         [Qt][Mac] Build fails after adding ICU support (r105997).
3352         https://bugs.webkit.org/show_bug.cgi?id=77118
3353
3354         Use SmareReplaceCF.cpp code path if platform Mac.
3355
3356         Reviewed by Tor Arne Vestbø.
3357
3358         * Target.pri:
3359
3360 2012-01-27  Ilya Tikhonovsky  <loislo@chromium.org>
3361
3362         Web Inspector: detailed heap snapshot: Replace (Native objects) root element
3363         with '(Detached DOM trees)' and '(Document DOM trees)'
3364         https://bugs.webkit.org/show_bug.cgi?id=77201
3365
3366         I think it'd be nice to replace one group containing all native objects with
3367         separate groups for different types of native objects.
3368
3369         Reviewed by Yury Semikhatsky.
3370
3371         * bindings/v8/RetainedDOMInfo.cpp:
3372         (WebCore::RetainedDOMInfo::GetGroupLabel):
3373         (WebCore):
3374         * bindings/v8/RetainedDOMInfo.h:
3375         (RetainedDOMInfo):
3376
3377 2012-01-27  Nikolas Zimmermann  <nzimmermann@rim.com>
3378
3379         <feImage> doesn't work with local references when using primitiveUnits="objectBoundingBox"
3380         https://bugs.webkit.org/show_bug.cgi?id=77205
3381
3382         Reviewed by Antti Koivisto.
3383
3384         Consider following testcase:
3385         <svg width="1000" height="500">
3386         <defs>
3387             <circle id="c" cx="50%" cy="50%" r="10%"/>
3388             <filter id="f" filterUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" primitiveUnits="objectBoundingBox">
3389                 <feImage xlink:href="#c"/>
3390             </filter>
3391         </defs>
3392         <rect width="100" height="100" filter="url(#f)"/>
3393         </svg>
3394
3395         The <svg> has a viewport of 1000x50. The <circle> in the <defs> element is resolved as <circle cx="500" cy="250" r="79"/>,
3396         as the context for this element (looking at it isolated!) is the viewport of the <svg>. We then setup a 0x0 - 100x100 rect
3397         in user space, which gets filtered, by a filter, also defined in user space (for simplicity), but with primitiveUnits="objectBoundingBox".
3398
3399         That means that the default subregion of the filter effect <feImage/> which has no inputs, is defined in the SVG 1.1 spec to be equal to
3400         the filter region, which is 0x0-100x100 in user space. This <feImage/> is supposed to produce a 100x100 image, containing a circle in the
3401         middle (aka. <circle cx="50" cy="50".../>), but it doesn't, as the <circle> it's trying to paint, is laid out at 500x250, and thus outside
3402         the 100x100 sized image buffer.
3403
3404         So how to resolve this?
3405         The RenderSVGShape thats owned by the <circle> generates its Path value by calling cx().value(lengthContext) and the SVGLengthContext here
3406         resolves to the <svg>. That happens on _layout_. If we would want to change the SVGLengthContext in this case (what I originally planned!)
3407         to carry a custom 100x100 viewport, we'd need to relayout. Unfortunately this is not an option, as this would mean that
3408         SVGImageBufferTools::renderSubtreeToImageBuffer, would need to relayout its children first, but we produce the filter images when painting.
3409         This is very dangerous and has just recently been fixed so that SVGImageBufferTools can ASSERT(!item->needsLayout()) when painting the
3410         subtree to an image buffer.
3411
3412         The only sane solution I see, that does not require relayouts, is to make a map between the <circle> bounding box in user space (500x250
3413         center point) to the filter primitive subregion space (here: 100x100 center point), and concat that transformation before painting the
3414         subtree to the image buffer. Of course this approach only works if all values of the <circle> are relative. If someone uses
3415         <circle id="c" cx="50%" cy="666"> the transformation that I'm looking for is undefined. We'd really need to create a new Path here, to
3416         resolve only cx against the new viewport, and not cy.
3417
3418         Though in practice it turns out this is not a problem. All use cases of feImage + primitiveUnits="objectBoundingBox" link to elements
3419         that are completely defined in percentual values, as this is really the only thing which makes sense - otherwise you can always switch
3420         back to primtiveUnits="userSpaceOnUse". Anyhow, I'm going to fix all known wild-life test cases by my approach, and say we don't support
3421         using mixed length units when referencing those elements from feImages with primitiveUnits="objectBoundingBox".
3422
3423         Adding lots of new testcases, trying all the different feImage modes.
3424
3425         Tests: svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg
3426                svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg
3427                svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg
3428                svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg
3429                svg/filters/feImage-position.svg
3430                svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg
3431                svg/filters/feImage-subregions-preseveAspectRatio-none.svg
3432                svg/filters/feImage-subregions.svg
3433
3434         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
3435         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): Reverse logic, simplifying the code a bit. Remove FEImage special cases (absoluteSubregion).
3436         * svg/SVGLengthContext.h: Make determineViewport() public, for use in FEImage.
3437         * svg/graphics/filters/SVGFEImage.cpp:
3438         (WebCore::FEImage::determineAbsolutePaintRect): Don't apply preserveAspectRatio transformation for local elements, it's not defined and breaks content.
3439         (WebCore::FEImage::platformApplySoftware): Figure out the absolute subregion by utilizing filterPrimitiveSubregion() as FETurbulence does.
3440                                                    Map between filter primitive subregion and target object space for primitiveUnits="objectBoundingBox" support on SVG element references.
3441         * svg/graphics/filters/SVGFEImage.h: Remove absoluteSubregion member & setter, it's no longer needed.
3442
3443 2012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>
3444
3445         Web Inspector: Scripts panel: fix event dispatching between FileSelector and EditorContainer.
3446         https://bugs.webkit.org/show_bug.cgi?id=77126
3447
3448         Reviewed by Pavel Feldman.
3449
3450         * inspector/front-end/ScriptsPanel.js:
3451         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
3452         (WebInspector.ScriptsPanel.prototype._reset):
3453         (WebInspector.ScriptsPanel.prototype._showSourceLine):
3454         (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
3455         (WebInspector.ScriptsPanel.prototype._editorClosed):
3456         (WebInspector.ScriptsPanel.prototype._editorSelected):
3457         (WebInspector.ScriptsPanel.FileSelector.prototype.revealUISourceCode):
3458         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.revealUISourceCode):
3459         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._innerRevealUISourceCode):
3460         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered):
3461         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect):
3462         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
3463         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
3464         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
3465         * inspector/front-end/TabbedEditorContainer.js:
3466         (WebInspector.TabbedEditorContainer):
3467         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
3468         (WebInspector.TabbedEditorContainer.prototype._tabSelected):
3469         (WebInspector.TabbedEditorContainer.prototype.reset):
3470
3471 2012-01-27  Nikolas Zimmermann  <nzimmermann@rim.com>
3472
3473         <feImage> DOM mutation problems
3474         https://bugs.webkit.org/show_bug.cgi?id=77198
3475
3476         Reviewed by Antti Koivisto.
3477
3478         Consider <feImage xlink:href="#rect"/>, where <rect> gets dynamically added to the tree.
3479         Currently <feImage> doesn't notice this, as it doesn't register itself pending on "#rect".
3480
3481         Integrate <feImage> properly within the pending resources concept, fixing the bug.
3482
3483         Tests: svg/filters/feImage-target-add-to-document.svg
3484                svg/filters/feImage-target-changes-id.svg
3485                svg/filters/feImage-target-id-change.svg
3486                svg/filters/feImage-target-reappend-to-document.svg
3487                svg/filters/feImage-target-remove-from-document.svg
3488
3489         * svg/SVGFEImageElement.cpp: Rename invalidateImageResource to clearResourceReferences.
3490         (WebCore::SVGFEImageElement::~SVGFEImageElement): Call clearResourceReferences.
3491         (WebCore::SVGFEImageElement::clearResourceReferences): Remove any occurence of m_targetImage, it's no longer used.
3492         (WebCore::SVGFEImageElement::requestImageResource): requestImageResource is now called by buildPendingResource.
3493         (WebCore::SVGFEImageElement::buildPendingResource): Called whenever any element that we depend on gets resolved - now invalidates the <filter>.
3494         (WebCore::SVGFEImageElement::parseMappedAttribute): Don't start loading from parseMappedAttribute.
3495         (WebCore::SVGFEImageElement::svgAttributeChanged): Start loading from here, for consistency with SVGImageElement.
3496         (WebCore::SVGFEImageElement::insertedIntoDocument): Invoke buildPendingResource(), if we enter the tree.
3497         (WebCore::SVGFEImageElement::removedFromDocument): Clear m_cachedImage as soon as we get removed from the tree.
3498         (WebCore::SVGFEImageElement::build): Clean up this function, m_targetImage is no longer exist.
3499         * svg/SVGFEImageElement.h: Remove OwnPtr<ImageBuffer> m_targetImage, which is no longer used.
3500
3501 2012-01-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3502
3503         [Qt] WKTR: Use a software rendering pipiline when running tests.
3504         https://bugs.webkit.org/show_bug.cgi?id=76708
3505
3506         Reviewed by Kenneth Rohde Christiansen.
3507
3508         * platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
3509         (WebCore::TextureMapperQt::setGraphicsContext):
3510         * platform/graphics/qt/TextureMapperQt.h:
3511         (WebCore::TextureMapperQt::initialize):
3512
3513 2012-01-27  Branimir Lambov  <blambov@google.com>
3514
3515         SVG filters incorrectly move elements
3516         https://bugs.webkit.org/show_bug.cgi?id=73643
3517
3518         Reviewed by Nikolas Zimmermann.
3519
3520         Fixes SVG image buffer creation to use the enclosing integer rect
3521         instead of unstable rounded coordinates with scaling which was causing
3522         animated images to jump around under filters. The image buffer was not 
3523         aligned on a pixel boundary, and thus the positions and sizes of anything
3524         drawn under that filter changed by 1-2 pixels compared to the same
3525         elements drawn without an intermediate buffer, or drawn with a buffer
3526         with a different target rectangle. 
3527         
3528         The change improves the positioning of clip paths, masks and filters.
3529
3530         Tests: svg/clip-path/clip-in-clip.svg
3531                svg/clip-path/clipper-placement-issue.svg
3532                svg/filters/filter-placement-issue.svg
3533
3534         * platform/graphics/filters/FETile.cpp:
3535         (WebCore::FETile::platformApplySoftware):
3536         * rendering/svg/RenderSVGResourceClipper.cpp:
3537         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
3538         * rendering/svg/RenderSVGResourceFilter.cpp:
3539         (WebCore::RenderSVGResourceFilter::applyResource):
3540         * rendering/svg/RenderSVGResourceGradient.cpp:
3541         (WebCore::createMaskAndSwapContextForTextGradient):
3542         (WebCore::clipToTextMask):
3543         * rendering/svg/RenderSVGResourceMasker.cpp:
3544         (WebCore::RenderSVGResourceMasker::applyResource):
3545         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
3546         * rendering/svg/RenderSVGResourcePattern.cpp:
3547         (WebCore::RenderSVGResourcePattern::createTileImage):
3548         * rendering/svg/SVGImageBufferTools.cpp:
3549         (WebCore::SVGImageBufferTools::createImageBuffer):
3550         (WebCore::SVGImageBufferTools::createImageBufferForPattern):
3551         (WebCore::SVGImageBufferTools::clipToImageBuffer):
3552         (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
3553         (WebCore::SVGImageBufferTools::clampedAbsoluteSize):
3554         * rendering/svg/SVGImageBufferTools.h:
3555         (WebCore::SVGImageBufferTools::calcImageBufferRect):
3556
3557 2012-01-25  Yury Semikhatsky  <yurys@chromium.org>
3558
3559         Web Inspector: should be possible to open function declaration from script popover
3560         https://bugs.webkit.org/show_bug.cgi?id=76913
3561
3562         Added inferred/display function name and source location to the popover in scripts panel.
3563         Now when a function is hovered user can navigate to its definition.
3564
3565         Reviewed by Pavel Feldman.
3566
3567         Test: inspector/debugger/function-details.html
3568
3569         * bindings/js/JSInjectedScriptHostCustom.cpp:
3570         (WebCore::JSInjectedScriptHost::functionDetails):
3571         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3572         (WebCore::V8InjectedScriptHost::functionDetailsCallback):
3573         * inspector/InjectedScript.cpp:
3574         (WebCore::InjectedScript::getFunctionDetails):
3575         * inspector/InjectedScript.h:
3576         (InjectedScript):
3577         * inspector/InjectedScriptHost.idl:
3578         * inspector/InjectedScriptSource.js:
3579         (.):
3580         * inspector/Inspector.json:
3581         * inspector/InspectorDebuggerAgent.cpp:
3582         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
3583         * inspector/InspectorDebuggerAgent.h:
3584         (InspectorDebuggerAgent):
3585         * inspector/front-end/DebuggerPresentationModel.js:
3586         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyFunctionLocation):
3587         * inspector/front-end/ObjectPopoverHelper.js:
3588         (WebInspector.ObjectPopoverHelper):
3589         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
3590         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
3591         (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
3592         * inspector/front-end/ObjectPropertiesSection.js:
3593         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
3594         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
3595         * inspector/front-end/RemoteObject.js:
3596         (WebInspector.RemoteObject):
3597         (WebInspector.RemoteObject.fromPayload):
3598         (WebInspector.RemoteObject.prototype.get functionName):
3599         * inspector/front-end/scriptsPanel.css:
3600         (.function-location-link):
3601         (.function-popover-title):
3602         (.function-popover-title .function-name):
3603
3604 2012-01-26  Noel Gordon  <noel.gordon@gmail.com>
3605
3606         Remove FIXME: ColorProfile encapsulation as a Vector<char> works well 
3607         https://bugs.webkit.org/show_bug.cgi?id=77176
3608
3609         Reviewed by Adam Barth.
3610
3611         No new tests. No change in behavior.
3612
3613         * platform/image-decoders/ImageDecoder.h:
3614
3615 2012-01-26  Matthew Delaney  <mdelaney@apple.com>
3616
3617         ImageBuffer::draw should deep copy if drawing to an accelerated context
3618         https://bugs.webkit.org/show_bug.cgi?id=77185
3619
3620         Reviewed by Simon Fraser.
3621
3622         No new tests since any test for this issue would be flaky at best.
3623
3624         * platform/graphics/cg/ImageBufferCG.cpp: Deep copy when drawing ourself into
3625             an accelerated context for both draw and drawPattern.
3626         (WebCore::ImageBuffer::draw):
3627         (WebCore::ImageBuffer::drawPattern):
3628
3629 2012-01-26  Kevin Ollivier  <kevino@theolliviers.com>
3630
3631         [wx] Unreviewed. Build fixes.
3632         - Remove some constructors not generated by CPP bindings
3633           from being added to CPP binding headers
3634         - Keyboard event fixes after modifier changes
3635         - Add stubs for Language and RunLoop platform methods
3636
3637         * bindings/scripts/CodeGeneratorCPP.pm:
3638         (GetNamespaceForClass):
3639         (GenerateImplementation):
3640         * platform/mac/WebCoreSystemInterface.h:
3641         * platform/wx/KeyboardEventWx.cpp:
3642         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3643         * platform/wx/LanguageWx.cpp: Added.
3644         (WebCore):
3645         (WebCore::platformLanguage):
3646         (WebCore::platformUserPreferredLanguages):
3647         * platform/wx/RunLoopWx.cpp: Added.
3648         (WebCore):
3649         (WebCore::RunLoop::run):
3650         (WebCore::RunLoop::stop):
3651         (WebCore::RunLoop::RunLoop):
3652         (WebCore::RunLoop::~RunLoop):
3653         (WebCore::RunLoop::wakeUp):
3654         * storage/DOMWindowSQLDatabase.idl:
3655         * webaudio/DOMWindowWebAudio.idl:
3656         * websockets/DOMWindowWebSocket.idl:
3657
3658 2012-01-26  Sheriff Bot  <webkit.review.bot@gmail.com>
3659
3660         Unreviewed, rolling out r105486.
3661         http://trac.webkit.org/changeset/105486
3662         https://bugs.webkit.org/show_bug.cgi?id=77182
3663
3664         This patch doesn't take web workers into account. (Requested
3665         by dave_levin on #webkit).
3666
3667         * html/DOMURL.cpp:
3668         (WebCore::DOMURL::DOMURL):
3669         (WebCore::DOMURL::~DOMURL):
3670         (WebCore::DOMURL::contextDestroyed):
3671         (WebCore):
3672         (WebCore::DOMURL::createObjectURL):
3673         (WebCore::DOMURL::revokeObjectURL):
3674         * html/DOMURL.h:
3675         (WebCore::DOMURL::create):
3676         (DOMURL):
3677         * html/DOMURL.idl:
3678         * page/DOMWindow.cpp:
3679         (WebCore):
3680         (WebCore::DOMWindow::webkitURL):
3681         * page/DOMWindow.h:
3682         (DOMWindow):
3683         ():
3684         * page/DOMWindow.idl:
3685         * workers/WorkerContext.cpp:
3686         (WebCore):
3687         (WebCore::WorkerContext::webkitURL):
3688         (WebCore::WorkerContext::webkitRequestFileSystem):
3689         * workers/WorkerContext.h:
3690         (WorkerContext):
3691         ():
3692         * workers/WorkerContext.idl:
3693
3694 2012-01-26  Noel Gordon  <noel.gordon@gmail.com>
3695
3696         Cleanup JPEGImageDecoder includes
3697         https://bugs.webkit.org/show_bug.cgi?id=77171
3698
3699         Reviewed by Adam Barth.
3700
3701         No new tests. Refactoring cleanup only.
3702
3703         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3704
3705 2012-01-26  Tim Horton  <hortont424@gmail.com>
3706
3707         3D transformed elements hide when showing the print dialog
3708         https://bugs.webkit.org/show_bug.cgi?id=45894
3709         <rdar://problem/7441593>
3710
3711         Reviewed by Andy Estes.
3712
3713         Suspend updates of the compositing layer tree while printing is taking place,
3714         preventing on-screen layers from moving to their print-mode positions.
3715
3716         No new tests, as WebKitTestRunner doesn't support putting the document
3717         into printing mode.
3718
3719         * page/FrameView.cpp:
3720         (WebCore::FrameView::syncCompositingStateForThisFrame):
3721         (WebCore::FrameView::paintContents):
3722         * platform/graphics/ca/LayerFlushScheduler.h:
3723         (WebCore::LayerFlushScheduler::isSuspended): Added.
3724
3725 2012-01-26  Pablo Flouret  <pablof@motorola.com>
3726
3727         Fix bad code generated by the JSC idl code generator for [CachedAttribute] attributes
3728         https://bugs.webkit.org/show_bug.cgi?id=77165
3729
3730         Reviewed by Oliver Hunt.
3731
3732         Missing parameter in a call to deserialize() and using 'this' in the
3733         attribute accessor functions (which are static).
3734
3735         * bindings/scripts/CodeGeneratorJS.pm:
3736         (GenerateImplementation):
3737         (NativeToJSValue):
3738         * bindings/scripts/test/JS/JSTestObj.cpp:
3739         (WebCore::jsTestObjCachedAttribute1):
3740         (WebCore::jsTestObjCachedAttribute2):
3741         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3742         (WebCore::jsTestSerializedScriptValueInterfaceValue):
3743
3744 2012-01-26  W. James MacLean  <wjmaclean@chromium.org>
3745
3746         [chromium] Allow modification of size of partially occluded quads during culling to reduce pixel overdraw.
3747         https://bugs.webkit.org/show_bug.cgi?id=76349
3748
3749         Reviewed by James Robinson.
3750
3751         Prior to this patch, draw culling either rejects a DrawQuad because it is completely
3752         occluded, or draws the entire quad (even if it is largely occluded). This patch
3753         attempts to reduce the number of pixels drawn by determining if a partially
3754         occluded DrawQuad can be resized to a smaller quad, based on what portion of the
3755         DrawQuad is actually visible, and performing that resizing where possible.
3756
3757         Added cases to existing unit tests.
3758
3759         * platform/graphics/chromium/LayerRendererChromium.cpp:
3760         (WebCore::LayerRendererChromium::drawTileQuad):
3761         * platform/graphics/chromium/cc/CCDrawQuad.cpp:
3762         (WebCore::CCDrawQuad::CCDrawQuad):
3763         * platform/graphics/chromium/cc/CCDrawQuad.h:
3764         (WebCore::CCDrawQuad::setQuadVisibleRect):
3765         (WebCore::CCDrawQuad::quadVisibleRect):
3766         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
3767         (WebCore::rectSubtractRegion):
3768         (WebCore::CCQuadCuller::cullOccludedQuads):
3769
3770 2012-01-26  Anders Carlsson  <andersca@apple.com>
3771
3772         Scrollbars disappear when switching from legacy to overlay scrollbars
3773         https://bugs.webkit.org/show_bug.cgi?id=77166
3774
3775         Reviewed by Dan Bernstein.
3776
3777         * platform/ScrollView.cpp:
3778         (WebCore::ScrollView::scrollbarStyleChanged):
3779         Call positionScrollbarLayers to make sure that the new scrollbar layers are positioned correctly.
3780
3781         * platform/mac/ScrollAnimatorMac.mm:
3782         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
3783         Call ScrollbarThemeMac::setNewPainterForScrollbar after making the call to the scrollbar painter controller
3784         to set the horizontal or vertical imp, since setting the imp will reset the knob style.
3785
3786 2012-01-26  Adam Barth  <abarth@webkit.org>
3787
3788         NULL ptr in WebCore::ContainerNode::parserAddChild
3789         https://bugs.webkit.org/show_bug.cgi?id=76258
3790
3791         Reviewed by Eric Seidel.
3792
3793         Test: fast/parser/nested-fragment-parser-crash.html
3794
3795         We always need a parent element to attach to.  In crazy cases, we can
3796         have elements in the stack of open elements that are already detached
3797         from the DOM.  In those cases, they don't have a parent, so we aren't
3798         able to enforce the maximum DOM depth.  (Fortunately, they're not
3799         attached to the DOM anymore so we don't need to enforce the maximum DOM
3800         depth!)
3801
3802         * html/parser/HTMLConstructionSite.cpp:
3803         (WebCore::HTMLConstructionSite::attachLater):
3804         (WebCore::HTMLConstructionSite::fosterParent):
3805
3806 2012-01-26  Cris Neckar  <cdn@chromium.org>
3807
3808         The registration of schemes is currently racey as they are not registered from the main thread. 
3809         Getting rid of the assert that ensures that we are registering from the main thread until we can fix this.
3810
3811         Thank you ap@webkit for helping us identify this.
3812
3813         https://bugs.webkit.org/show_bug.cgi?id=77160
3814
3815         Reviewed by Adam Barth.
3816
3817         * platform/SchemeRegistry.cpp:
3818         (WebCore::CORSEnabledSchemes):
3819
3820 2012-01-26  Anders Carlsson  <andersca@apple.com>
3821
3822         We don't need to always repaint overlay scrollbars if they're in layers
3823         https://bugs.webkit.org/show_bug.cgi?id=77159
3824
3825         Reviewed by Beth Dakin.
3826
3827         If a scrollable area has overlay scrollbars we'll always invalidate both scrollbars, regardless of
3828         whether both scroll offsets actually change since they're translucent and we want to draw the new page
3829         contents underneath.
3830         
3831         However, if the scrollbars are painted into GraphicsLayers they'll be composited by the GPU, and so we don't
3832         need to repaint them unless the corresponding scroll offset actually changes (which is handled in Scrollbar::updateThumb).
3833
3834         * platform/ScrollableArea.cpp:
3835         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
3836
3837 2012-01-26  Joshua Bell  <jsbell@chromium.org>
3838
3839         IndexedDB: WebCore::IDBKey objects are leaked
3840         https://bugs.webkit.org/show_bug.cgi?id=77114
3841
3842         Reviewed by Tony Chang.
3843
3844         Fixing memory leaks, no new tests.
3845
3846         * storage/IDBKey.h:
3847         (WebCore::IDBKey::createInvalid):
3848         (WebCore::IDBKey::createNumber):
3849         (WebCore::IDBKey::createString):
3850         (WebCore::IDBKey::createDate):
3851         (WebCore::IDBKey::createArray):
3852
3853 2012-01-25  Cris Neckar  <cdn@chromium.org>
3854
3855         Add a scheme registry for CORS requests. Allow simple CORS requests to be made to registered schemes.
3856         https://bugs.webkit.org/show_bug.cgi?id=77041
3857
3858         Reviewed by Alexey Proskuryakov.
3859
3860         * loader/DocumentThreadableLoader.cpp:
3861         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
3862         * platform/SchemeRegistry.cpp:
3863         (WebCore::CORSEnabledSchemes):
3864         (WebCore):
3865         (WebCore::SchemeRegistry::registerCORSEnabledScheme):
3866         (WebCore::SchemeRegistry::isCORSEnabledScheme):
3867         * platform/SchemeRegistry.h:
3868         (SchemeRegistry):
3869
3870 2012-01-26  Noel Gordon  <noel.gordon@gmail.com>
3871
3872         File extension for webp files is .webp
3873         https://bugs.webkit.org/show_bug.cgi?id=76982
3874
3875         Reviewed by Adam Barth.
3876
3877         No new tests. No change in behavior.
3878
3879         * platform/image-decoders/webp/WEBPImageDecoder.h:
3880         (WebCore::WEBPImageDecoder::filenameExtension):
3881
3882 2012-01-26  Alok Priyadarshi  <alokp@chromium.org>
3883
3884         [chromium] Remove dead and unnecessary code related to LayerChromium::cleanupResources
3885         https://bugs.webkit.org/show_bug.cgi?id=77137
3886
3887         Reviewed by James Robinson.
3888
3889         No new test needed. Only removing dead code.
3890
3891         * platform/graphics/chromium/LayerChromium.cpp:
3892         * platform/graphics/chromium/LayerChromium.h:
3893         (WebCore::LayerChromium::layerTreeHost):
3894         * platform/graphics/chromium/TiledLayerChromium.cpp:
3895         (WebCore::TiledLayerChromium::setLayerTreeHost):
3896
3897 2012-01-26  Anders Carlsson  <andersca@apple.com>
3898
3899         Move horizontal rubber-band checks to ScrollElasticityController::handleWheelEvent
3900         https://bugs.webkit.org/show_bug.cgi?id=77147
3901
3902         Reviewed by Adam Roben.
3903
3904         * platform/mac/ScrollAnimatorMac.h:
3905         (ScrollAnimatorMac):
3906         * platform/mac/ScrollAnimatorMac.mm:
3907         (WebCore::ScrollAnimatorMac::handleWheelEvent):
3908         Always call ScrollElasticityController::handleWheelEvent, and only call didBeginScrollGesture and
3909         didEndScrollGesture if the event was actually handled.
3910
3911         (WebCore::ScrollAnimatorMac::shouldRubberBandInDirection):
3912         Implement this.
3913
3914         * platform/mac/ScrollElasticityController.h:
3915         * platform/mac/ScrollElasticityController.mm:
3916         (WebCore::ScrollElasticityController::handleWheelEvent):
3917         Check if we should rubber-band and return false if we shouldn't.
3918
3919         (WebCore::ScrollElasticityController::shouldRubberBandInHorizontalDirection):
3920         Ask the client if we should rubber-band.
3921
3922 2012-01-19  James Robinson  <jamesr@chromium.org>
3923
3924         [chromium] Remove setLayerTreeHost nonsense on lost context
3925         https://bugs.webkit.org/show_bug.cgi?id=76675
3926
3927         Reviewed by Kenneth Russell.
3928
3929         This code isn't needed any more. On a lost context event, we drop all TextureManager-managed textures through
3930         the proxy and no layer types need special lost context handling.
3931
3932         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3933         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
3934
3935 2012-01-26  Anders Carlsson  <andersca@apple.com>
3936
3937         Simplify checking of whether we should rubberband horizontally
3938         https://bugs.webkit.org/show_bug.cgi?id=77141
3939
3940         Reviewed by Adam Roben.
3941
3942         Have a single check for horizontal rubber-banding in both directions. This is in preparation
3943         for moving this code into ScrollElasticityController.
3944
3945         * platform/mac/ScrollAnimatorMac.mm:
3946         (WebCore::shouldRubberBandInHorizontalDirection):
3947         (WebCore::ScrollAnimatorMac::handleWheelEvent):
3948
3949 2012-01-26  Scott Graham  <scottmg@chomium.org>
3950
3951         Fix include path in gyp file for V8InternalSettings.h
3952         https://bugs.webkit.org/show_bug.cgi?id=77128
3953
3954         Reviewed by Kent Tamura.
3955
3956         * WebCore.gyp/WebCore.gyp:
3957
3958 2012-01-26  James Robinson  <jamesr@chromium.org>
3959
3960         We shouldn't synchronously update styles on all documents after running script
3961         https://bugs.webkit.org/show_bug.cgi?id=46761
3962
3963         Reviewed by Simon Fraser.
3964
3965         Currently we call Document::updateStyleForAllDocuments() after invoking any event or timeout handler. This is
3966         slow since it iterates over the entire document tree and defeats our recalcStyle timer batching. It is
3967         unnecessary as any code that depends on styles or the render tree being up to date must call
3968         updateStyleIfNeeded() on the document it is accessing.
3969
3970         The first reference I can find to this code is in r798 in the file WebCore/khtml/xml/domnode_impl.cpp. It's been
3971         cargo culted forward ever since.
3972
3973         * bindings/ScriptControllerBase.cpp:
3974         (WebCore::ScriptController::executeScript):
3975         * bindings/js/ScheduledAction.cpp:
3976         (WebCore::ScheduledAction::execute):
3977         * bindings/js/ScriptController.cpp:
3978         (WebCore::ScriptController::ScriptController):
3979         (WebCore::ScriptController::executeScriptInWorld):
3980         * bindings/js/ScriptController.h:
3981         * bindings/v8/ScheduledAction.cpp:
3982         (WebCore::ScheduledAction::execute):
3983         * bindings/v8/ScriptController.cpp:
3984         (WebCore::ScriptController::ScriptController):
3985         * bindings/v8/ScriptController.h:
3986         * dom/ScriptElement.cpp:
3987         (WebCore::ScriptElement::executeScript):
3988         * inspector/InspectorClient.cpp:
3989         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
3990
3991 2012-01-26  Anders Carlsson  <andersca@apple.com>
3992
3993         Get rid of ScrollElasticityController::beginScrollGesture()
3994         https://bugs.webkit.org/show_bug.cgi?id=77138
3995
3996         Reviewed by Adam Roben.
3997
3998         ScrollElasticityController::handleWheelEvent now checks if the wheel event phase is
3999         PlatformWheelEventPhaseBegan and sets up the gesture state if it is.
4000
4001         * platform/mac/ScrollAnimatorMac.mm:
4002         (WebCore::ScrollAnimatorMac::handleWheelEvent):
4003         * platform/mac/ScrollElasticityController.h:
4004         (ScrollElasticityController):
4005         * platform/mac/ScrollElasticityController.mm:
4006         (WebCore::ScrollElasticityController::handleWheelEvent):
4007
4008 2012-01-26  Anders Carlsson  <andersca@apple.com>
4009
4010         Get rid of ScrollElasticityController::endScrollGesture()
4011         https://bugs.webkit.org/show_bug.cgi?id=77134
4012
4013         Reviewed by Adam Roben.
4014
4015         Just make ScrollElasticityController::handleWheelEvent call snapRubberBand if the wheel
4016         event phase is PlatformWheelEventPhaseEnded.
4017
4018         * platform/mac/ScrollAnimatorMac.mm:
4019         (WebCore::ScrollAnimatorMac::handleWheelEvent):
4020         * platform/mac/ScrollElasticityController.h:
4021         (ScrollElasticityController):
4022         * platform/mac/ScrollElasticityController.mm:
4023         (WebCore::ScrollElasticityController::handleWheelEvent):
4024
4025 2012-01-26  Abhishek Arya  <inferno@chromium.org>
4026
4027         Crash in SVGSVGElement::currentViewBoxRect.
4028         https://bugs.webkit.org/show_bug.cgi?id=77121
4029
4030         Reviewed by Nikolas Zimmermann.
4031
4032         Symbols shouldn't be rendered. Revert the ASSERT
4033         from r105513 into a hard check.
4034
4035         Test: svg/custom/symbol-viewport-element-crash.svg
4036
4037         * svg/SVGLengthContext.cpp:
4038         (WebCore::SVGLengthContext::determineViewport):
4039
4040 2012-01-26  Anders Carlsson  <andersca@apple.com>
4041
4042         Inline beginScrollGesture/endScrollGesture in handleWheelEvent
4043         https://bugs.webkit.org/show_bug.cgi?id=77133
4044
4045         Reviewed by Andreas Kling.
4046
4047         * platform/mac/ScrollAnimatorMac.h:
4048         (ScrollAnimatorMac):
4049         * platform/mac/ScrollAnimatorMac.mm:
4050         (WebCore::ScrollAnimatorMac::handleWheelEvent):
4051
4052 2012-01-26  Anders Carlsson  <andersca@apple.com>
4053
4054         No need to set m_haveScrolledSincePageLoad in beginScrollGesture
4055         https://bugs.webkit.org/show_bug.cgi?id=77132
4056
4057         Reviewed by Andreas Kling.
4058
4059         m_haveScrolledSincePageLoad is already set to true in handleWheelEvent so we don't need
4060         to set it to true again.
4061
4062         * platform/mac/ScrollAnimatorMac.mm:
4063         (WebCore::ScrollAnimatorMac::beginScrollGesture):
4064
4065 2012-01-26  Anders Carlsson  <andersca@apple.com>
4066
4067         Simplify checking for whether we should rubberband or not when at the edge
4068         https://bugs.webkit.org/show_bug.cgi?id=77131
4069
4070         Reviewed by Beth Dakin.
4071
4072         We only need to check once if we're pinned at either edge whether we should rubber-band
4073         or not. Do this when the wheel event phase is PlatformWheelEventPhaseBegan. This lets us
4074         remove a bunch of code that would keep track of the current horizontal scroll direction.
4075
4076         * platform/mac/ScrollAnimatorMac.h:
4077         (ScrollAnimatorMac):
4078         * platform/mac/ScrollAnimatorMac.mm:
4079         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
4080         (WebCore::ScrollAnimatorMac::handleWheelEvent):
4081         (WebCore::ScrollAnimatorMac::beginScrollGesture):
4082
4083 2012-01-26  Eli Fidler  <efidler@rim.com>
4084
4085         [JSC] Inspector instrumentation for JavaScript calls.
4086         https://bugs.webkit.org/show_bug.cgi?id=40119
4087
4088         Reviewed by Geoffrey Garen.
4089
4090         Covered by existing Chromium inspector tests
4091
4092         * bindings/js/JSCallbackData.cpp:
4093         (WebCore::JSCallbackData::invokeCallback):
4094         * bindings/js/JSEventListener.cpp:
4095         (WebCore::JSEventListener::handleEvent):
4096         * bindings/js/JSMainThreadExecState.h:
4097         (WebCore::JSMainThreadExecState::instrumentedCall):
4098         * inspector/InspectorInstrumentation.cpp:
4099         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
4100
4101 2012-01-26  Mike Reed  <reed@google.com>