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