2011-04-05 Luke Macpherson <macpherson@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-04-05  Luke Macpherson   <macpherson@chromium.org>
2
3         Reviewed by Dimitri Glazkov.
4
5         Implement CSSPropertyDirection in CSSStyleApplyProperty
6         https://bugs.webkit.org/show_bug.cgi?id=57608
7
8         No new tests required as no new functionality introduced.
9
10         * css/CSSStyleApplyProperty.cpp:
11         Add implementation class for CSSPropertyDirection
12         * css/CSSStyleSelector.cpp:
13         Remove existing implementation for CSSPropertyDirection
14         * css/CSSStyleSelector.h:
15         Add getter for element
16
17 2011-04-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
18
19         Reviewed by Steve Block.
20
21         Factoring the creation of 'FunctionOnly' callbacks in V8.
22         https://bugs.webkit.org/show_bug.cgi?id=57760
23
24         This method creates a template from an existing functionality in V8GeolocationCustom.cpp
25         to V8Utilities to be used by the custom bindings of both Geolocation and the Media Stream API.
26
27         No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
28
29         * bindings/v8/V8Utilities.cpp:
30         (WebCore::throwTypeMismatchException):
31         * bindings/v8/V8Utilities.h:
32         (WebCore::createFunctionOnlyCallback):
33         * bindings/v8/custom/V8GeolocationCustom.cpp:
34         (WebCore::V8Geolocation::getCurrentPositionCallback):
35         (WebCore::V8Geolocation::watchPositionCallback):
36
37 2011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
38
39         Reviewed by Andreas Kling.
40
41         Switch from Vector<UChar> to StringBuilder in bindings/
42         https://bugs.webkit.org/show_bug.cgi?id=57838
43
44         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
45         (WebCore::cssPropertyName):
46         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
47         (WebCore::cssPropertyInfo):
48
49 2011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
50
51         Reviewed by Andreas Kling.
52
53         Switch from Vector<UChar> to StringBuilder in accessibility/
54         https://bugs.webkit.org/show_bug.cgi?id=57837
55
56         * accessibility/AccessibilityObject.cpp:
57         (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
58         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
59         * accessibility/AccessibilityRenderObject.cpp:
60         (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements):
61
62 2011-04-05  Andrey Adaikin  <aandrey@google.com>
63
64         Reviewed by Pavel Feldman.
65
66         Web Inspector: Scripts with syntax errors are cropped in the UI
67         https://bugs.webkit.org/show_bug.cgi?id=57828
68
69         * inspector/front-end/SourceFrame.js:
70         (WebInspector.SourceFrame.prototype.addMessageToSource):
71
72 2011-04-05  Alexey Proskuryakov  <ap@apple.com>
73
74         Reviewed by Darin Adler.
75
76         Remove onformchange and onforminput events/event handlers
77         https://bugs.webkit.org/show_bug.cgi?id=55755
78         <rdar://problem/9087969>
79
80         Covered by existing tests.
81
82         * dom/Document.h:
83         * dom/Document.idl:
84         * dom/Element.h:
85         * dom/Element.idl:
86         * dom/Event.cpp:
87         (WebCore::Event::fromUserGesture):
88         * dom/EventNames.h:
89         * html/FormAssociatedElement.h:
90         * html/HTMLAttributeNames.in:
91         * html/HTMLElement.cpp:
92         (WebCore::HTMLElement::parseMappedAttribute):
93         * html/HTMLElement.h:
94         * html/HTMLFormControlElement.h:
95         (WebCore::HTMLFormControlElement::isEnumeratable):
96         * html/HTMLFormElement.cpp:
97         * html/HTMLFormElement.h:
98         * html/HTMLFormElement.idl:
99         * html/HTMLInputElement.h:
100         * html/HTMLKeygenElement.h:
101         * html/HTMLObjectElement.h:
102         (WebCore::HTMLObjectElement::isEnumeratable):
103         * html/HTMLOutputElement.h:
104         (WebCore::HTMLOutputElement::isEnumeratable):
105         * html/HTMLSelectElement.h:
106         (WebCore::HTMLSelectElement::isEnumeratable):
107         * html/HTMLTextAreaElement.h:
108         (WebCore::HTMLTextAreaElement::isEnumeratable):
109         * page/DOMWindow.h:
110         * page/DOMWindow.idl:
111
112 2011-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
113
114         Unreviewed, rolling out r82915.
115         http://trac.webkit.org/changeset/82915
116         https://bugs.webkit.org/show_bug.cgi?id=57825
117
118         Broke 270 chromium tests on win and linux (Requested by
119         podivilov on #webkit).
120
121         * rendering/RenderThemeChromiumSkia.cpp:
122         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
123
124 2011-04-05  James Simonsen  <simonjam@chromium.org>
125
126         Reviewed by Adam Barth.
127
128         Stop preload scanning CSS when it&apos;s impossible to have another @import.
129         https://bugs.webkit.org/show_bug.cgi?id=57664
130
131         @import statements are only allowed at the beginning of a CSS file.
132         Only comments or @charset can precede them. After seeing anything else,
133         abort early so that we:
134         - don't have to parse the rest of the CSS.
135         - don't preload something that the regular parser won't load.
136
137         * html/parser/CSSPreloadScanner.cpp:
138         (WebCore::CSSPreloadScanner::scan): Terminate early if we're done with @imports.
139         (WebCore::CSSPreloadScanner::tokenize): Terminate early if we see a {} or any style rule.
140         (WebCore::CSSPreloadScanner::emitRule): Only @charset or @import are allowed to precede @import.
141         * html/parser/CSSPreloadScanner.h: Add DoneParsingImportRules state.
142
143 2011-04-05  Takayoshi Kochi <kochi@chromium.org>
144
145         Reviewed by Tony Chang.
146
147         [chromium] Specify 'sans-serif' as a fallback to the default UI font
148         'Arial' for non-latin UI scripts (e.g. CJK).
149         https://bugs.webkit.org/show_bug.cgi?id=55035
150
151         No new tests, because it may still fail if the system is not configured
152         properly to resolve 'sans-serif' to existing real font file, thus even
153         manual test is hard to systematically tell it is working properly.
154
155         * rendering/RenderThemeChromiumSkia.cpp
156
157 2011-04-05  Kent Tamura  <tkent@chromium.org>
158
159         Reviewed by Dimitri Glazkov.
160
161         Setting defaultValue on a textarea with a modified value still clobbers the value
162         https://bugs.webkit.org/show_bug.cgi?id=57636
163
164         If the dirty flag is true, we shouldn't update the value when the
165         defaultValue is updated
166
167         Test: fast/forms/textarea-set-defaultvalue-after-value.html
168
169         * html/HTMLTextAreaElement.cpp:
170         (WebCore::HTMLTextAreaElement::childrenChanged):
171         (WebCore::HTMLTextAreaElement::setDefaultValue):
172
173 2011-04-04  Kent Tamura  <tkent@chromium.org>
174
175         Add a case label which was unexpectedly removed in r82899.
176         https://bugs.webkit.org/show_bug.cgi?id=50661
177
178         * css/CSSSelector.cpp:
179         (WebCore::CSSSelector::extractPseudoType):
180
181 2011-04-04  Dan Bernstein  <mitz@apple.com>
182
183         Reviewed by Simon Fraser.
184
185         <rdar://problem/7709452> Implement Default Ruby Overhang Behavior
186         https://bugs.webkit.org/show_bug.cgi?id=49334
187
188         Tests: fast/ruby/overhang-horizontal.html
189                fast/ruby/overhang-vertical.html
190
191         This is a first cut at ruby overhang. It allows ruby text to hang over other
192         text of equal or smaller size. Two notable omissions are that max preferred
193         width computation was not patched, so it will overshoot, and that overhang
194         ignores the width of the adjoining text runs.
195
196         * rendering/RenderBlock.h:
197         * rendering/RenderBlockLineLayout.cpp:
198         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust margins
199         of ruby runs for overhang.
200         (WebCore::RenderBlock::fitBelowFloats): Maintain the increase in line width to
201         compensate for overhang.
202         (WebCore::RenderBlock::findNextLineBreak): When encountering
203         a ruby run, increase the line width to account for the fact that overhang will be
204         collapsed.
205         * rendering/RenderRubyRun.cpp:
206         (WebCore::RenderRubyRun::getOverhang): Added. Allows ruby to overhang if
207         the adjoining renderer is text with equal or smaller font size.
208         * rendering/RenderRubyRun.h:
209         (WebCore::toRenderRubyRun):
210
211 2011-04-04  David Kilzer  <ddkilzer@apple.com>
212
213         <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match
214
215         Reviewed by Alexey Proskuryakov.
216
217         * WebCore.exp.in: Export wkSetHTTPPipeliningMaximumPriority().
218         * platform/mac/WebCoreSystemInterface.h:
219         (wkSetHTTPPipeliningMaximumPriority): Added function pointer
220         declaration.
221         * platform/mac/WebCoreSystemInterface.mm:
222         (wkSetHTTPPipeliningMaximumPriority): Added function pointer.
223         * platform/network/cf/ResourceRequestCFNet.cpp:
224         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call
225         wkSetHTTPPipeliningMaximumPriority() to set the maximum HTTP
226         pipelining priority.
227         * platform/network/cf/ResourceRequestCFNet.h:
228         (WebCore::toResourceLoadPriority): Renamed from
229         mapHTTPPipeliningPriorityToResourceLoadPriority().  Updated to
230         to handle Unresolved case.
231         (WebCore::toHTTPPipeliningPriority): Renamed from
232         mapResourceLoadPriorityToHTTPPipeliningPriority().  Updated to
233         handle Unresolved case.
234         * platform/network/mac/ResourceRequestMac.mm:
235         (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
236         use toResourceLoadPriority().
237         (WebCore::ResourceRequest::doUpdatePlatformRequest): Switched to
238         use toHTTPPipeliningPriority().  Moved
239         shouldForceHTTPPipeliningPriorityHigh() check into the argument
240         of toHTTPPipeliningPriority() instead of hard-coding a
241         now-incorrect value.
242
243 2011-04-04  MORITA Hajime  <morrita@google.com>
244
245         Reviewed by Kent Tamura.
246
247         Convert <meter> shadow DOM to a DOM-based shadow.
248         https://bugs.webkit.org/show_bug.cgi?id=50661
249         
250         Eliminated a large part of <meter> custom layout code,
251         which is replaced by a shadow tree.
252         Note that the shadow tree is created on construction time and
253         will remain during the host HTMLMeterElement lifecycle.
254         
255         * Android.mk:
256         * CMakeLists.txt:
257         * GNUmakefile.am:
258         * WebCore.gypi:
259         * WebCore.pro:
260         * WebCore.vcproj/WebCore.vcproj:
261         * WebCore.xcodeproj/project.pbxproj:
262         * css/CSSMutableStyleDeclaration.cpp:
263         (WebCore::CSSMutableStyleDeclaration::setProperty):
264         * css/CSSMutableStyleDeclaration.h:
265         * css/CSSSelector.cpp:
266         (WebCore::CSSSelector::pseudoId):
267         (WebCore::nameToPseudoTypeMap):
268         (WebCore::CSSSelector::extractPseudoType):
269         * css/CSSSelector.h:
270         * css/html.css:
271         (meter):
272         (meter::-webkit-meter-bar):
273         (meter::-webkit-meter-optimum-value):
274         (meter::-webkit-meter-suboptimum-value):
275         (meter::-webkit-meter-even-less-good-value):
276         * html/HTMLMeterElement.cpp:
277         (WebCore::HTMLMeterElement::~HTMLMeterElement):
278         (WebCore::HTMLMeterElement::parseMappedAttribute):
279         (WebCore::HTMLMeterElement::attach):
280         (WebCore::HTMLMeterElement::valueRatio):
281         (WebCore::HTMLMeterElement::didElementStateChange):
282         (WebCore::HTMLMeterElement::createShadowSubtree):
283         * html/HTMLMeterElement.h:
284         * html/shadow/MeterShadowElement.cpp: Added.
285         (WebCore::MeterShadowElement::MeterShadowElement):        
286         (WebCore::MeterShadowElement::meterElement):
287         (WebCore::MeterShadowElement::rendererIsNeeded):
288         (WebCore::MeterBarElement::shadowPseudoId):
289         (WebCore::MeterValueElement::shadowPseudoId):
290         (WebCore::MeterValueElement::setWidthPercentage):
291         * html/shadow/MeterShadowElement.h: Added.
292         (WebCore::MeterBarElement::MeterBarElement):
293         (WebCore::MeterBarElement::create):
294         (WebCore::MeterValueElement::MeterValueElement):
295         (WebCore::MeterValueElement::create):
296         * rendering/RenderMeter.cpp:
297         (WebCore::RenderMeter::RenderMeter):
298         (WebCore::RenderMeter::~RenderMeter):
299         (WebCore::RenderMeter::valueRatio):
300         * rendering/RenderMeter.h:
301         (WebCore::RenderMeter::renderName):
302         (WebCore::RenderMeter::isMeter):
303         (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation):
304         (WebCore::RenderMeter::canHaveChildren):
305
306 2011-04-04  Dimitri Glazkov  <dglazkov@chromium.org>
307
308         Reviewed by Adam Barth.
309
310         Introduce EventDispatchMediator abstraction, which encapsulate all
311         non-trivial logic around firing a specific type of an event.
312         https://bugs.webkit.org/show_bug.cgi?id=57562
313
314         Refactoring, covered by existing tests.
315
316         * dom/Event.cpp:
317         (WebCore::EventDispatchMediator::EventDispatchMediator): Added.
318         (WebCore::EventDispatchMediator::~EventDispatchMediator): Added.
319         (WebCore::EventDispatchMediator::dispatchEvent): Added.
320         (WebCore::EventDispatchMediator::event): Added.
321         * dom/Event.h: Added decl.
322         * dom/EventDispatcher.cpp:
323         (WebCore::EventDispatcher::dispatchEvent): Changed to use EventDispatchMediator.
324         * dom/EventDispatcher.h: Updated decls.
325         * dom/KeyboardEvent.cpp:
326         (WebCore::KeyboardEventDispatchMediator::KeyboardEventDispatchMediator): Added.
327         (WebCore::KeyboardEventDispatchMediator::dispatchEvent): Added.
328         * dom/KeyboardEvent.h: Updated decls
329         * dom/Node.cpp:
330         (WebCore::Node::dispatchEvent): Changed to use EventDispatchMediator.
331         (WebCore::Node::dispatchKeyEvent): Changed to use KeyboardEventDispatchMediator.
332
333 2011-04-04  Martin Robinson  <mrobinson@igalia.com>
334
335         Reviewed by Xan Lopez.
336
337         [Cairo] Memory leak in RefPtrCairo
338         https://bugs.webkit.org/show_bug.cgi?id=57758
339
340         No new tests. This just fixes a memory leak.
341
342         * platform/graphics/cairo/RefPtrCairo.cpp:
343         (WTF::derefIfNotNull): Deref should unref the cairo_font_fact_t, not reference it.
344
345 2011-04-04  Adrienne Walker  <enne@google.com>
346
347         Unreviewed, rolling out r82880.
348         http://trac.webkit.org/changeset/82880
349         https://bugs.webkit.org/show_bug.cgi?id=50661
350
351         Meter elements not rendered in Chromium Linux layout tests
352
353         * Android.mk:
354         * CMakeLists.txt:
355         * GNUmakefile.am:
356         * WebCore.gypi:
357         * WebCore.pro:
358         * WebCore.vcproj/WebCore.vcproj:
359         * WebCore.xcodeproj/project.pbxproj:
360         * css/CSSMutableStyleDeclaration.cpp:
361         * css/CSSMutableStyleDeclaration.h:
362         * css/CSSSelector.cpp:
363         (WebCore::CSSSelector::pseudoId):
364         (WebCore::nameToPseudoTypeMap):
365         (WebCore::CSSSelector::extractPseudoType):
366         * css/CSSSelector.h:
367         * css/html.css:
368         (meter):
369         (meter::-webkit-meter):
370         (meter::-webkit-meter-bar):
371         (meter::-webkit-meter-optimum-value):
372         (meter::-webkit-meter-suboptimal-value):
373         (meter::-webkit-meter-even-less-good-value):
374         * html/HTMLMeterElement.cpp:
375         (WebCore::HTMLMeterElement::create):
376         (WebCore::HTMLMeterElement::parseMappedAttribute):
377         (WebCore::HTMLMeterElement::attach):
378         * html/HTMLMeterElement.h:
379         * html/shadow/MeterShadowElement.cpp: Removed.
380         * html/shadow/MeterShadowElement.h: Removed.
381         * rendering/RenderMeter.cpp:
382         (WebCore::RenderMeter::RenderMeter):
383         (WebCore::RenderMeter::~RenderMeter):
384         (WebCore::RenderMeter::createPart):
385         (WebCore::RenderMeter::updateFromElement):
386         (WebCore::RenderMeter::layoutParts):
387         (WebCore::RenderMeter::styleDidChange):
388         (WebCore::RenderMeter::shouldHaveParts):
389         (WebCore::RenderMeter::valueRatio):
390         (WebCore::RenderMeter::barPartRect):
391         (WebCore::RenderMeter::valuePartRect):
392         (WebCore::RenderMeter::valuePseudoId):
393         (WebCore::RenderMeter::barPseudoId):
394         (WebCore::RenderMeter::detachShadows):
395         (WebCore::RenderMeter::updateShadows):
396         * rendering/RenderMeter.h:
397         (WebCore::RenderMeter::renderName):
398         (WebCore::RenderMeter::isMeter):
399         (WebCore::RenderMeter::shadowAttached):
400
401 2011-04-04  Chang Shu  <cshu@webkit.org>
402
403         Reviewed by Ryosuke Niwa.
404
405         setContentEditable with true/false/inherit string is not working properly
406         https://bugs.webkit.org/show_bug.cgi?id=52058
407
408         Move isContentEditable from HTMLElement to Node. Thus, Node provides two functions for
409         checking editability: rendererIsEditable and isContentEdiable. The former is a fast path,
410         which does NOT trigger layout and only checks the render style of usermodify. The latter
411         updates the layout first to make sure the render style syncs with DOM contenteditable 
412         attribute. Certain call sites that need to call isContentEditable rather than rendererIsEditable
413         are also updated in the patch. But a complete fix will follow up in bug 57244.
414
415         This patch fixes all the failed layout tests related to set contenteditable.
416
417         * accessibility/AccessibilityRenderObject.cpp:
418         (WebCore::AccessibilityRenderObject::isReadOnly):
419         * dom/Node.cpp:
420         (WebCore::Node::isContentEditable):
421         (WebCore::Node::shouldUseInputMethod):
422         * dom/Node.h:
423         * html/HTMLElement.cpp:
424         * html/HTMLElement.h:
425
426 2011-04-04  Roland Steiner  <rolandsteiner@chromium.org>
427
428         Reviewed by Dimitri Glazkov.
429
430         Bug 57689 - Extract scoping functionality from Document
431         https://bugs.webkit.org/show_bug.cgi?id=57689
432
433         Moved selfOnlyRef (renamed to guardRef), element ID, image map
434         and accesss key functionalities from Document to a new base
435         class TreeScope.
436
437         TreeShared: made removedLastRef protected
438
439         No new tests. (refactoring)
440
441         * Android.mk:
442         * CMakeLists.txt:
443         * GNUmakefile.am:
444         * WebCore.gypi:
445         * WebCore.pro:
446         * WebCore.vcproj/WebCore.vcproj:
447         * WebCore.xcodeproj/project.pbxproj:
448         * dom/Document.cpp:
449         (WebCore::Document::Document):
450         (WebCore::Document::destroyScope):
451         (WebCore::Document::getElementById):
452         (WebCore::Document::childrenChanged):
453         (WebCore::Document::scheduleStyleRecalc):
454         (WebCore::Document::attach):
455         (WebCore::Document::detach):
456         * dom/Document.h:
457         (WebCore::Node::Node):
458         * dom/DocumentOrderedMap.cpp:
459         (WebCore::DocumentOrderedMap::get):
460         (WebCore::DocumentOrderedMap::getElementById):
461         (WebCore::DocumentOrderedMap::getElementByMapName):
462         (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
463         * dom/DocumentOrderedMap.h:
464         * dom/DOMAllInOne.cpp:
465         * dom/Node.cpp:
466         (WebCore::Node::~Node):
467         (WebCore::Node::setDocument):
468         * dom/Node.h:
469         * dom/TreeScope.cpp: Added.
470         * dom/TreeScope.h: Added.
471         * platform/TreeShared.h:
472         (WebCore::TreeShared::removedLastRef): made protected
473
474 2011-04-04  MORITA Hajime  <morrita@google.com>
475
476         Reviewed by Dimitri Glazkov.
477
478         Convert <meter> shadow DOM to a DOM-based shadow.
479         https://bugs.webkit.org/show_bug.cgi?id=50661
480         
481         Eliminated a large part of <meter> custom layout code,
482         which is replaced by a shadow tree.
483         Note that the shadow tree is created on construction time and
484         will remain during the host HTMLMeterElement lifecycle.
485         
486         * Android.mk:
487         * CMakeLists.txt:
488         * GNUmakefile.am:
489         * WebCore.gypi:
490         * WebCore.pro:
491         * WebCore.vcproj/WebCore.vcproj:
492         * WebCore.xcodeproj/project.pbxproj:
493         * css/CSSMutableStyleDeclaration.cpp:
494         (WebCore::CSSMutableStyleDeclaration::setProperty):
495         * css/CSSMutableStyleDeclaration.h:
496         * css/CSSSelector.cpp:
497         (WebCore::CSSSelector::pseudoId):
498         (WebCore::nameToPseudoTypeMap):
499         (WebCore::CSSSelector::extractPseudoType):
500         * css/CSSSelector.h:
501         * css/html.css:
502         (meter):
503         (meter::-webkit-meter-bar):
504         (meter::-webkit-meter-optimum-value):
505         (meter::-webkit-meter-suboptimum-value):
506         (meter::-webkit-meter-even-less-good-value):
507         * html/HTMLMeterElement.cpp:
508         (WebCore::HTMLMeterElement::~HTMLMeterElement):
509         (WebCore::HTMLMeterElement::parseMappedAttribute):
510         (WebCore::HTMLMeterElement::attach):
511         (WebCore::HTMLMeterElement::valueRatio):
512         (WebCore::HTMLMeterElement::didElementStateChange):
513         (WebCore::HTMLMeterElement::createShadowSubtree):
514         * html/HTMLMeterElement.h:
515         * html/shadow/MeterShadowElement.cpp: Added.
516         (WebCore::MeterShadowElement::MeterShadowElement):        
517         (WebCore::MeterShadowElement::meterElement):
518         (WebCore::MeterShadowElement::rendererIsNeeded):
519         (WebCore::MeterBarElement::shadowPseudoId):
520         (WebCore::MeterValueElement::shadowPseudoId):
521         (WebCore::MeterValueElement::setWidthPercentage):
522         * html/shadow/MeterShadowElement.h: Added.
523         (WebCore::MeterBarElement::MeterBarElement):
524         (WebCore::MeterBarElement::create):
525         (WebCore::MeterValueElement::MeterValueElement):
526         (WebCore::MeterValueElement::create):
527         * rendering/RenderMeter.cpp:
528         (WebCore::RenderMeter::RenderMeter):
529         (WebCore::RenderMeter::~RenderMeter):
530         (WebCore::RenderMeter::valueRatio):
531         * rendering/RenderMeter.h:
532         (WebCore::RenderMeter::renderName):
533         (WebCore::RenderMeter::isMeter):
534         (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation):
535         (WebCore::RenderMeter::canHaveChildren):
536
537 2011-04-04  Martin Robinson  <mrobinson@igalia.com>
538
539         Reviewed by Gustavo Noronha Silva.
540
541         [GTK] WebGL support
542         https://bugs.webkit.org/show_bug.cgi?id=31517
543
544         Add WebGL support for the GTK+ bits of WebCore.
545
546         No new tests. This will be covered by the existing WebGL tests once
547         the bots are capable of running WebGL tests.
548
549         * GNUmakefile.am: Added new files required for WebGL support.
550         * html/HTMLCanvasElement.cpp:
551         (WebCore::HTMLCanvasElement::getContext): Extend #ifdef to cover GTK+ as well, which does not
552         yet support accelerated compositing.
553         * platform/graphics/ANGLEWebKitBridge.h: Update to reflect the fact that ANGLE isn't compiled as
554         a framework for GTK+.
555         * platform/graphics/GraphicsContext3D.h:
556         (WebCore::GraphicsContext3D::platformTexture): Added a declaration of this method for Cairo.
557         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer): Ditto.
558         * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Added.
559         (WebCore::GraphicsContext3D::getImageData): Added.
560         (WebCore::GraphicsContext3D::paintToCanvas): Added.
561         * platform/graphics/cairo/OpenGLShims.cpp: Added. This file controls loading of GL extension
562         functions dynamically. They have different names across the different vendors' GL implementations.
563         (WebCore::lookupOpenGLFunctionAddress): Added
564         (WebCore::openGLFunctionTable): Added
565         (WebCore::initializeOpenGLShims): Added
566         * platform/graphics/cairo/OpenGLShims.h: Added.
567         * platform/graphics/gtk/DrawingBufferGtk.cpp: Added.
568         (WebCore::DrawingBuffer::DrawingBuffer): Very generic implementation for Cairo.
569         (WebCore::DrawingBuffer::~DrawingBuffer): Ditto.
570         (WebCore::DrawingBuffer::didReset): Ditto.
571         (WebCore::DrawingBuffer::platformColorBuffer): Ditto.
572         * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Added.
573         (WebCore::GraphicsContext3D::create): Initial implementation.
574         (WebCore::GraphicsContext3D::GraphicsContext3D): Ditto.
575         (WebCore::GraphicsContext3D::~GraphicsContext3D): Ditto.
576         (WebCore::GraphicsContext3D::makeContextCurrent): Ditto.
577         (WebCore::GraphicsContext3D::platformGraphicsContext3D): Ditto.
578         (WebCore::GraphicsContext3D::isGLES2Compliant): Ditto.
579         * platform/graphics/gtk/GraphicsContext3DInternal.cpp: Added.
580         (sharedDisplay): Added this shared display which is required by some
581         display drivers.
582         (WebCore::activeGraphicsContexts): This method keeps track of all active GraphicsContext3D
583         contexts, in order to clean them up at exit. This prevents crashes on certain OpenGL drivers.
584         (WebCore::GraphicsContext3DInternal::addActiveGraphicsContext): Ditto.
585         (WebCore::GraphicsContext3DInternal::removeActiveGraphicsContext): Ditto.
586         (WebCore::GraphicsContext3DInternal::cleanupActiveContextsAtExit): Ditto.
587         (WebCore::GraphicsContext3DInternal::create): Figure out the best way to create an OpenGL
588         context given the current environment.
589         (WebCore::GraphicsContext3DInternal::createPbufferContext): Pbuffer context initializer.
590         (WebCore::GraphicsContext3DInternal::createPixmapContext): Pixmap context initializer.
591         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): Initial implementation.
592         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal): Ditto.
593         (WebCore::GraphicsContext3DInternal::makeContextCurrent): Ditto.
594         * platform/graphics/gtk/GraphicsContext3DInternal.h: Added.
595         * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added generic implementation.
596         (WebCore::Extensions3DOpenGL::ensureEnabled): Ditto.
597         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
598         (WebCore::GraphicsContext3D::reshape): Test for the context using the public API rather than
599         the private bits that are specific to the Apple port.
600
601 2011-04-04  Alexey Proskuryakov  <ap@apple.com>
602
603         Reviewed by Dan Bernstein.
604
605         REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
606         https://bugs.webkit.org/show_bug.cgi?id=51230
607         <rdar://problem/8780989>
608
609         <rdar://problem/9015250> REGRESSION (WebKit2): Key events not fired for modifier keys
610
611         * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Moved Caps Lock handling from
612         WebKits to WebCore, because WebKit shouldn't be smart.
613
614 2011-04-04  Steve Falkenburg  <sfalken@apple.com>
615
616         Fix Windows build warning.
617
618         * WebCore.vcproj/WebCore.vcproj: Exclude EventQueue.cpp in Debug_All build.
619
620 2011-04-04  Adam Roben  <aroben@apple.com>
621
622         Attempted Mac build fix, part III
623
624         * WebCore.exp.in: Export PlatformCALayer::setGeometryFlipped. Also resorted some symbols.
625
626 2011-04-04  Andy Estes  <aestes@apple.com>
627
628         Fix the Mac build.
629
630         * WebCore.exp.in:
631
632 2011-04-04  David Dorwin  <ddorwin@chromium.org>
633
634         Reviewed by David Levin.
635
636         Chromium Mac crashes when entering fullscreen
637         https://bugs.webkit.org/show_bug.cgi?id=57483
638
639         Override extraFullScreenStyleSheet in RenderThemeChromiumMac to avoid hitting the ASSERT_NOT_REACHED in RenderThemeMac.
640
641         * WebCore.gyp/WebCore.gyp:
642         * rendering/RenderThemeChromiumMac.h:
643         * rendering/RenderThemeChromiumMac.mm:
644         (WebCore::RenderThemeChromiumMac::extraFullScreenStyleSheet):
645
646 2011-04-04  Adam Roben  <aroben@apple.com>
647
648         Attempted Mac build fix, part II
649
650         * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayerClient.h and
651         PlatformCAAnimation.h as private so that WebKit2 can #include them (transitively).
652
653 2011-04-04  Steve Falkenburg  <sfalken@apple.com>
654
655         Reviewed by Adam Roben.
656
657         Remove unused AnalyzeWithLargeStack code from Windows build files
658         https://bugs.webkit.org/show_bug.cgi?id=57771
659         
660         This was used for us to build with prefast automatically,
661         but it is out-of-date and hasn't been used for some time.
662         Removing completely for now.
663
664         * WebCore.vcproj/WebCore.vcproj:
665         * WebCore.vcproj/WebCorePreBuild.cmd:
666
667 2011-04-01  Matthew Delaney  <mdelaney@apple.com>
668
669         Reviewed by Simon Fraser.
670
671         [CG] Do not accelerate small canvases
672         https://bugs.webkit.org/show_bug.cgi?id=57596
673
674         No new tests. No outward behavior changes.
675
676         * platform/graphics/cg/ImageBufferCG.cpp:
677
678 2011-04-04  Adam Roben  <aroben@apple.com>
679
680         Attempted Mac build fix
681
682         * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayer.h and GraphicsLayerCA.h private
683         so that WebKit can #include them.
684
685 2011-04-04  Malcolm MacLeod  <mmacleod@webmail.co.za>
686
687         Reviewed by Kevin Ollivier.
688
689         [wx] Implement support for temporary files.
690         
691         https://bugs.webkit.org/show_bug.cgi?id=57772
692
693         * platform/FileSystem.h:
694         * platform/wx/FileSystemWx.cpp:
695         (WebCore::getFileModificationTime):
696         (WebCore::openTemporaryFile):
697         (WebCore::closeFile):
698         (WebCore::writeToFile):
699
700 2011-04-01  Oliver Hunt  <oliver@apple.com>
701
702         Reviewed by Geoffrey Garen.
703
704         Make StructureChain GC allocated
705         https://bugs.webkit.org/show_bug.cgi?id=56695
706
707         Update for new Structure marking function
708
709         * bindings/js/JSDOMGlobalObject.cpp:
710         (WebCore::JSDOMGlobalObject::markChildren):
711
712 2011-04-04  Pavel Feldman  <pfeldman@google.com>
713
714         Reviewed by Yury Semikhatsky.
715
716         Web Inspector: add support for the enumerated types in the protocol.
717         https://bugs.webkit.org/show_bug.cgi?id=57761
718
719         * inspector/Inspector.json:
720         * inspector/InspectorDebuggerAgent.cpp:
721         (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
722         * inspector/InspectorDebuggerAgent.h:
723         * inspector/InspectorInstrumentation.cpp:
724         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
725         (WebCore::InspectorInstrumentation::scriptImportedImpl):
726         * inspector/InspectorResourceAgent.cpp:
727         (WebCore::cachedResourceTypeString):
728         (WebCore::InspectorResourceAgent::didReceiveResponse):
729         (WebCore::InspectorResourceAgent::setInitialScriptContent):
730         (WebCore::InspectorResourceAgent::setInitialXHRContent):
731         * inspector/InspectorResourceAgent.h:
732         * inspector/front-end/ScriptsPanel.js:
733         * inspector/generate-inspector-idl:
734
735 2011-04-04  Yury Semikhatsky  <yurys@chromium.org>
736
737         Reviewed by Pavel Feldman.
738
739         Web Inspector: InspectorRuntimeAgent should not depend on Page
740         https://bugs.webkit.org/show_bug.cgi?id=57759
741
742         Descendants of InspectorRuntimeAgent should implement a method providing access to the default
743         inspected state used for console evaluations.
744
745         * inspector/InspectorAgent.cpp:
746         (WebCore::InspectorAgent::InspectorAgent): runtime agent is created and deleted along with other agents.
747         (WebCore::InspectorAgent::setFrontend):
748         * inspector/InspectorAgent.h:
749         * inspector/InspectorRuntimeAgent.cpp:
750         (WebCore::InspectorRuntimeAgent::create):
751         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
752         (WebCore::InspectorRuntimeAgent::evaluate):
753         * inspector/InspectorRuntimeAgent.h:
754         (WebCore::InspectorRuntimeAgent::InspectedStateProvider::~InspectedStateProvider):
755
756 2011-04-04  Yong Li  <yoli@rim.com>
757
758         Reviewed by Antonio Gomes.
759
760         https://bugs.webkit.org/show_bug.cgi?id=55969
761         Fix the issue that document state is not saved when
762         going backward and ending up with error page.
763
764         Test: platform/qt/fast/history/back-to-unreachable-url-then-forward.html
765
766         (For manual test, load a non-existent html first, then load
767         fast/history/resources/check-scroll-position.html, then go
768         back and go forward. If it doesn't show "SUCCESS" at the bottom
769         of the page, your browser has failed the test)
770
771         * loader/FrameLoader.cpp:
772         (WebCore::FrameLoader::load):
773
774 2011-04-04  Sergio Villar Senin  <svillar@igalia.com>
775
776         Reviewed by Martin Robinson.
777
778         [GTK] Fix make distcheck for 1.4.0
779         https://bugs.webkit.org/show_bug.cgi?id=57750
780
781         Added a missing header file to the Makefile
782
783         * GNUmakefile.am:
784
785 2011-04-04  Martin Robinson  <mrobinson@igalia.com>
786
787         Reviewed by Xan Lopez.
788
789         [GTK] http/tests/plugins/post-url-file.html fails on GTK+
790         https://bugs.webkit.org/show_bug.cgi?id=55826
791
792         Correct the implementation of handlePostReadFile which uses GIO APIs and
793         actually resizes the buffer to fit the entire size of the file data. This
794         was likely leading to memory corruption until now.
795
796         * plugins/gtk/PluginViewGtk.cpp:
797         (WebCore::PluginView::handlePostReadFile): Fix this method.
798
799 2011-04-04  Andrey Kosyakov  <caseq@chromium.org>
800
801         Reviewed by Yury Semikhatsky.
802
803         Web Inspector: [Extensions API] add notifications on panels shown/hidden
804         https://bugs.webkit.org/show_bug.cgi?id=57752
805
806         * inspector/front-end/ExtensionAPI.js:
807         (WebInspector.injectedExtensionAPI.PanelImpl):
808         * inspector/front-end/ExtensionServer.js:
809         (WebInspector.ExtensionServer.prototype.notifyPanelShown):
810         (WebInspector.ExtensionServer.prototype.notifyPanelHidden):
811         * inspector/front-end/Panel.js:
812         (WebInspector.Panel.prototype.show):
813         (WebInspector.Panel.prototype.hide):
814
815 2011-04-04  Pavel Podivilov  <podivilov@chromium.org>
816
817         Reviewed by Yury Semikhatsky.
818
819         Web Inspector: search in resources panel is broken.
820         https://bugs.webkit.org/show_bug.cgi?id=57631
821
822         Search in resources panel should trigger source frame content load.
823
824         * inspector/front-end/Panel.js:
825         (WebInspector.Panel.prototype.jumpToNextSearchResult):
826         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
827         * inspector/front-end/ResourcesPanel.js:
828         * inspector/front-end/SearchController.js:
829         (WebInspector.SearchController.prototype.handleShortcut):
830         (WebInspector.SearchController.prototype.focusSearchField):
831         * inspector/front-end/SourceFrame.js:
832         (WebInspector.SourceFrame.prototype.show):
833         (WebInspector.SourceFrame.prototype._ensureContentLoaded):
834         (WebInspector.SourceFrame.prototype.performSearch):
835
836 2011-04-03  Eric Seidel  <eric@webkit.org>
837
838         Reviewed by Ryosuke Niwa.
839
840         Split out UnicodeBidi enum into its own header (to allow use in platform)
841         https://bugs.webkit.org/show_bug.cgi?id=57722
842
843         unicode-bidi is a CSS concept.  However the same concept is really needed throughout
844         the bidi code in platform as well.  So I'm moving the enum to platform.
845         The only part of the enum which doesn't make much sense to platform/ is "normal".
846
847         * WebCore.xcodeproj/project.pbxproj:
848         * css/CSSPrimitiveValueMappings.h:
849         * platform/text/UnicodeBidi.h: Added.
850         * rendering/style/RenderStyle.h:
851         * rendering/style/RenderStyleConstants.h:
852
853 2011-04-04  Andrey Adaikin  <aandrey@google.com>
854
855         Reviewed by Yury Semikhatsky.
856
857         Web Inspector: Highlighted search tokens would not be shown on long lines in the text viewer
858         https://bugs.webkit.org/show_bug.cgi?id=57749
859
860         * inspector/front-end/TextViewer.js:
861         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
862         (WebInspector.TextEditorMainPanel.prototype._paintLine):
863
864 2011-04-04  Alexander Pavlov  <apavlov@chromium.org>
865
866         Reviewed by Yury Semikhatsky.
867
868         Web Inspector: Incorrectly reports warning on missing/incorrect content-type for 304s
869         https://bugs.webkit.org/show_bug.cgi?id=48525
870
871         * inspector/front-end/Resource.js:
872         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
873
874 2011-04-01  Alexander Pavlov  <apavlov@chromium.org>
875
876         Reviewed by Yury Semikhatsky.
877
878         Web Inspector: appropriateSelectorForNode() invokes the "localName" getter on DOMNode rather than function
879         https://bugs.webkit.org/show_bug.cgi?id=57632
880
881         Moved the affected method onto the DOMNode.prototype as "appropriateSelectorFor".
882
883         * inspector/front-end/DOMAgent.js:
884         (WebInspector.DOMNode.prototype.appropriateSelectorFor):
885         * inspector/front-end/EventListenersSidebarPane.js:
886         ():
887         * inspector/front-end/StylesSidebarPane.js:
888         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
889         * inspector/front-end/utilities.js:
890
891 2011-04-04  Andrey Kosyakov  <caseq@chromium.org>
892
893         Unreviewed. Followup to an incomplete commit in r82806.
894
895         * inspector/front-end/ExtensionAPI.js:
896         (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
897         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl):
898         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
899         (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
900         (WebInspector.injectedExtensionAPI):
901         * inspector/front-end/ExtensionPanel.js:
902         (WebInspector.ExtensionSidebarPane):
903         (WebInspector.ExtensionSidebarPane.prototype.setPage):
904         (WebInspector.ExtensionSidebarPane.prototype._setObject):
905         * inspector/front-end/ExtensionServer.js:
906         (WebInspector.ExtensionServer):
907         (WebInspector.ExtensionServer.prototype.notifyExtensionSidebarUpdated):
908         (WebInspector.ExtensionServer.prototype._onCreatePanel):
909         (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
910         (WebInspector.ExtensionServer.prototype.createClientIframe):
911         (WebInspector.ExtensionServer.prototype._onSetSidebarContent):
912
913 2011-04-04  Yury Semikhatsky  <yurys@chromium.org>
914
915         Unreviewed. Fix Qt minimal build.
916
917         * inspector/InspectorFrontendChannel.h:
918
919 2011-04-01  Sergey Vorobyev  <sergeyvorobyev@google.com>
920
921         Reviewed by Yury Semikhatsky.
922
923         Web Inspector: Separate sendMessageToFrontend function
924         from InspectorClient to individual interface.
925         https://bugs.webkit.org/show_bug.cgi?id=57548
926
927         Refactoring - covered with existing inspector tests.
928
929         * GNUmakefile.am:
930         * WebCore.gypi:
931         * WebCore.vcproj/WebCore.vcproj:
932         * WebCore.xcodeproj/project.pbxproj:
933         * inspector/CodeGeneratorInspector.pm:
934         * inspector/InspectorClient.h:
935         * inspector/InspectorFrontendChannel.h: Added.
936         (WebCore::InspectorFrontendChannel::~InspectorFrontendChannel):
937
938 2011-04-04  Nico Weber  <thakis@chromium.org>
939
940         Reviewed by Eric Seidel.
941
942         Prefer a using directive over qualified names in LocalizedNumberICU.cpp
943         https://bugs.webkit.org/show_bug.cgi?id=57742
944
945         Requested by ap in https://bugs.webkit.org/show_bug.cgi?id=57715
946
947         * platform/text/LocalizedNumberICU.cpp:
948         (WebCore::createFormatterForCurrentLocale):
949         (WebCore::numberFormatter):
950         (WebCore::parseLocalizedNumber):
951         (WebCore::formatLocalizedNumber):
952
953 2011-04-04  Andrey Adaikin  <aandrey@google.com>
954
955         Reviewed by Yury Semikhatsky.
956
957         Web Inspector: Breakpoints in the gutter stay static while editing the text
958         https://bugs.webkit.org/show_bug.cgi?id=57616
959
960         * inspector/front-end/SourceFrame.js:
961         (WebInspector.SourceFrame):
962         (WebInspector.SourceFrame.prototype._saveViewerState):
963         (WebInspector.SourceFrame.prototype._restoreViewerState):
964         (WebInspector.SourceFrame.prototype._endEditing):
965         (WebInspector.SourceFrame.prototype._lineNumberAfterEditing):
966         (WebInspector.SourceFrame.prototype.addBreakpoint):
967         (WebInspector.SourceFrame.prototype.removeBreakpoint):
968         * inspector/front-end/TextViewer.js:
969         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
970         (WebInspector):
971         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
972         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
973         (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
974         (WebInspector.TextEditorMainPanel.prototype._splitChunkOnALine):
975
976 2011-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
977
978         Reviewed by Yury Semikhatsky.
979
980         Web Inspector: remove obsolete doc generating code from CodeGenerator.
981         https://bugs.webkit.org/show_bug.cgi?id=57748
982
983         * inspector/CodeGeneratorInspector.pm:
984
985 2011-04-04  Andrey Kosyakov  <caseq@chromium.org>
986
987         Reviewed by Yury Semikhatsky.
988
989         Web Inspector: [Extensions API] Merge WatchExpressionSidebarPane into ExtensionSidebarPane
990         https://bugs.webkit.org/show_bug.cgi?id=57622
991
992         Merged WatchExpressionSidebarPane into ExtensionSidebarPane, added setPage(url).
993         Fixed wrong getter in schema (scripts -> elements)
994
995         * inspector/front-end/ExtensionAPI.js:
996         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject):
997         (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setPage):
998         * inspector/front-end/ExtensionAPISchema.json:
999         * inspector/front-end/ExtensionServer.js:
1000         (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
1001
1002 2011-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
1003
1004         Reviewed by Pavel Feldman.
1005
1006         Web Inspector: introduce support of 'optional' flag for command arguments.
1007         https://bugs.webkit.org/show_bug.cgi?id=57698
1008
1009         * inspector/CodeGeneratorInspector.pm:
1010         * inspector/Inspector.json:
1011         * inspector/InspectorDebuggerAgent.cpp:
1012         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1013         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1014         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1015         * inspector/InspectorDebuggerAgent.h:
1016         * inspector/InspectorPageAgent.cpp:
1017         (WebCore::InspectorPageAgent::reloadPage):
1018         * inspector/InspectorPageAgent.h:
1019         * inspector/InspectorResourceAgent.cpp:
1020         (WebCore::InspectorResourceAgent::getResourceContent):
1021         * inspector/InspectorResourceAgent.h:
1022         * inspector/InspectorRuntimeAgent.cpp:
1023         (WebCore::InspectorRuntimeAgent::evaluate):
1024         * inspector/InspectorRuntimeAgent.h:
1025         * inspector/generate-inspector-idl:
1026
1027 2011-04-04  Yury Semikhatsky  <yurys@chromium.org>
1028
1029         Reviewed by Pavel Feldman.
1030
1031         Web Inspector: InjectedScriptManager should not try to access inspected window in case of workers
1032         https://bugs.webkit.org/show_bug.cgi?id=57637
1033
1034         * bindings/js/JSInjectedScriptManager.cpp:
1035         (WebCore::InjectedScriptManager::injectedScriptFor):
1036         * bindings/v8/custom/V8InjectedScriptManager.cpp:
1037         (WebCore::InjectedScriptManager::injectedScriptFor):
1038         * inspector/InjectedScript.cpp:
1039         (WebCore::InjectedScript::InjectedScript):
1040         (WebCore::InjectedScript::canAccessInspectedWindow):
1041         * inspector/InjectedScript.h:
1042         * inspector/InjectedScriptManager.cpp:
1043         (WebCore::InjectedScriptManager::createForPage):
1044         (WebCore::InjectedScriptManager::createForWorker):
1045         (WebCore::InjectedScriptManager::InjectedScriptManager): access check function is passed as a parameter to the constructor
1046         and it depends on which type of context we're inspecting(worker or page).
1047         (WebCore::InjectedScriptManager::canAccessInspectedWorkerContext):
1048         * inspector/InjectedScriptManager.h:
1049         * inspector/InspectorController.cpp:
1050         (WebCore::InspectorController::InspectorController):
1051
1052 2011-04-04  Ryuan Choi  <ryuan.choi@samsung.com>
1053
1054         Reviewed by Eric Seidel.
1055
1056         V8StringCallback.cpp requires V8Binding.h
1057         https://bugs.webkit.org/show_bug.cgi?id=57699
1058
1059         No new tests required because of just adding header file.
1060
1061         * bindings/scripts/CodeGeneratorV8.pm:
1062
1063 2011-04-03  Ryuan Choi  <ryuan.choi@samsung.com>
1064
1065         Reviewed by Eric Seidel.
1066
1067         [CMAKE] Clean duplicated files in WebCore_Sources
1068         https://bugs.webkit.org/show_bug.cgi?id=57741
1069
1070         No new tests, Only duplicated files were removed.
1071
1072         * CMakeLists.txt:
1073
1074 2011-04-03  Luke Macpherson   <macpherson@chromium.org>
1075
1076         Reviewed by Darin Adler.
1077
1078         Fix 2-space indentation introduced in bug 54706.
1079         https://bugs.webkit.org/show_bug.cgi?id=57740
1080
1081         No new tests - whitespace changes only.
1082
1083         * css/CSSStyleSelector.cpp:
1084         (WebCore::CSSStyleSelector::applyProperty):
1085         Convert 2-space indentation to 4-space indentation.
1086
1087 2011-04-03  Luke Macpherson   <macpherson@chromium.org>
1088
1089         Reviewed by Dimitri Glazkov.
1090
1091         Make CSSStyleApplyProperty non-copyable
1092         https://bugs.webkit.org/show_bug.cgi?id=57738
1093
1094         No new functionality added so no new tests required.
1095
1096         * css/CSSStyleApplyProperty.h:
1097         Added WTF_MAKE_NONCOPYABLE(CSSStyleApplyProperty) to ensure singleton stays single.
1098
1099 2011-04-03  Dan Bernstein  <mitz@apple.com>
1100
1101         Reviewed by Maciej Stachowiak.
1102
1103         fast/images/extra-image-in-image-document.html crashes when run after embed-image.html
1104         https://bugs.webkit.org/show_bug.cgi?id=57733
1105
1106         The crash happens because resetting the page scale as part of preparing the WebView for the
1107         next test triggered layout, which in turn caused a plug-in to make a resource request, and
1108         DumpRenderTree's delegate to be dispatched. The delegate doesn’t expect to be called between
1109         tests, and it references the layout test controller, which is null.
1110
1111         * page/Frame.cpp:
1112         (WebCore::Frame::scalePage): Avoid an unnecessary layout if the page scale isn’t changing. This
1113         is more efficient, and has the side effect of avoiding the crash in DumpRenderTree, although
1114         DumpRenderTree could still crash when after a test with disabled plug-ins and a non-1 page scale.
1115         I think there are currently no such tests, so I am not fixing DumpRenderTree.
1116
1117 2011-04-03  Eric Seidel  <eric@webkit.org>
1118
1119         Reviewed by Ryosuke Niwa.
1120
1121         Teach InlineIterator how to work from any root, not just a RenderBlock
1122         https://bugs.webkit.org/show_bug.cgi?id=57726
1123
1124         For implementing bidi-unicode: isolate, we need to be able to run the
1125         bidi algorithm over a subtree of inlines, not just from a block root.
1126         This is the first step in making this possible.
1127
1128         * rendering/InlineIterator.h:
1129         (WebCore::InlineIterator::InlineIterator):
1130         (WebCore::InlineIterator::root):
1131         (WebCore::bidiNext):
1132         (WebCore::bidiFirst):
1133         (WebCore::InlineIterator::increment):
1134         (WebCore::InlineBidiResolver::appendRun):
1135         * rendering/RenderBlockLineLayout.cpp:
1136         (WebCore::RenderBlock::findNextLineBreak):
1137
1138 2011-04-03  Eric Seidel  <eric@webkit.org>
1139
1140         Reviewed by Dan Bernstein.
1141
1142         Split out handling of trailing spaces from layoutInlineChildren
1143         https://bugs.webkit.org/show_bug.cgi?id=57432
1144
1145         There is much more we could split out from this function, but this is a start.
1146
1147         I suspect this is very hot code.  Hopefully the compiler will do the right thing.
1148         If it doesn't the Chromium PLT bots will tell us.
1149
1150         * rendering/RenderBlock.h:
1151         * rendering/RenderBlockLineLayout.cpp:
1152         (WebCore::RenderBlock::handleTrailingSpaces):
1153         (WebCore::RenderBlock::layoutInlineChildren):
1154
1155 2011-03-21  Ryosuke Niwa  <rniwa@webkit.org>
1156
1157         Reviewed by Eric Seidel.
1158
1159         editing commands shouldn't run when there's no body
1160         https://bugs.webkit.org/show_bug.cgi?id=56771
1161
1162         The bug was caused by WebKit's not checking the existence of root editable element
1163         in enabled* functions. Although isContentEditable returns true whenever we're in design mode,
1164         we should not run editing commands in a document without a body element editable because
1165         doing so results in appending a non-body element to the document node.
1166
1167         Fixed the bug by modifying various enabled* functions to ensure we have a root editable element.
1168         New behavior tries to match that of Firefox except StyleWithCSS, which Firefox seems to ignore
1169         when there are no body element. Since StyleWithCSS is a document's state or property, we allow
1170         execCommand('StyleWithCSS') even in a document without a body element.
1171
1172         WebKit's and Firefox's behaviors also deviate in insert-image-with-selecting-document.html.
1173         Whereas WebKit respects selection set by script and ignores execCommand, Firefox modifies
1174         the selection when document.write("x") is ran and successfully inserts image.
1175
1176         Thus, empty-document-delete.html and empty-document-justify-right.html both pass on Firefox
1177         while empty-document-stylewithcss.html and insert-image-with-selecting-document.html both fail.
1178
1179         Since Internet Explorer does not allow execCommand to run under design mode properly, we could
1180         not test its behavior.
1181
1182         Tests: editing/editability/empty-document-delete.html
1183                editing/editability/empty-document-justify-right.html
1184                editing/editability/empty-document-stylewithcss.html
1185                editing/execCommand/insert-image-with-selecting-document.html
1186
1187         * editing/Editor.cpp:
1188         (WebCore::Editor::canEdit): Verify that the root editable element exists
1189         instead of just checking that selection endpoints are editable because
1190         selection endpoints could be document node without a body element in design mode
1191         and we don't want to consider such a document editable.
1192         (WebCore::Editor::canDelete): Ditto.
1193         * editing/EditorCommand.cpp:
1194         (WebCore::enabledInEditableText): Ditto.
1195         (WebCore::enabledInRichlyEditableText): Ditto.
1196         (WebCore::enabledDelete): Call enabledCut and enabledInEditableText instead
1197         of duplicating the code in order to fix the same bug.
1198
1199 2011-04-02  Dan Bernstein  <mitz@apple.com>
1200
1201         Reviewed by Maciej Stachowiak.
1202
1203         REGRESSION (r82786): Media controls render incorrectly on GTK and Qt
1204         https://bugs.webkit.org/show_bug.cgi?id=57719
1205
1206         r82786 exposed an incorrect assumption inRenderMediaControlTimeDisplay::layout()
1207         that the timeline container is the parent of the time display. This is not true
1208         with the GTK media style, where the current time display is an inline box, and
1209         thus wrapped in an anonymous flexible box. The code was incorrectly considering
1210         the width of the anonymous box and deciding to hide the time display. Prior to
1211         r82786, this mistake was corrected by the call to computeLogicalWidth() in line layout.
1212
1213         * rendering/MediaControlElements.cpp:
1214         (WebCore::RenderMediaControlTimeDisplay::layout): Changed to skip past anonymous ancestors.
1215
1216 2011-04-02  Nico Weber  <thakis@chromium.org>
1217
1218         Reviewed by Adam Barth.
1219
1220         Explicitly use icu namespace for ports building with U_USING_ICU_NAMESPACE=0
1221
1222         By default, ICU includes |using namespace icu;| in its header files
1223         for backwards compatibility. Clients can define
1224         U_USING_ICU_NAMESPACE=0 to tell ICU to not do this. Prefixing all ICU
1225         classes with |icu::| makes this file compile no matter what
1226         U_USING_ICU_NAMESPACE is set to.
1227
1228         https://bugs.webkit.org/show_bug.cgi?id=57715
1229
1230         * platform/text/LocalizedNumberICU.cpp:
1231         (WebCore::createFormatterForCurrentLocale):
1232         (WebCore::numberFormatter):
1233         (WebCore::parseLocalizedNumber):
1234         (WebCore::formatLocalizedNumber):
1235
1236 2011-04-02  Dan Bernstein  <mitz@apple.com>
1237
1238         Reviewed by Dave Hyatt.
1239
1240         Remove an unnecessary extra computeLogicalWidth() from line layout
1241         https://bugs.webkit.org/show_bug.cgi?id=57711
1242
1243         Changes in behavior (MathML progression) covered by existing layout tests.
1244
1245         * rendering/RenderBlockLineLayout.cpp:
1246         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
1247         call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
1248         actually prevents MathML rows from reverting to an incorrect width.
1249
1250 2011-04-02  Dan Bernstein  <mitz@apple.com>
1251
1252         Reviewed by Beth Dakin.
1253
1254         <details> marker loses its margin
1255         https://bugs.webkit.org/show_bug.cgi?id=57713
1256
1257         * rendering/RenderDetails.cpp:
1258         (WebCore::RenderDetails::computePreferredLogicalWidths): Override to update
1259         the marker location.
1260         * rendering/RenderDetails.h:
1261         (WebCore::RenderDetails::renderName): Made private.
1262         (WebCore::RenderDetails::isDetails): Ditto.
1263         * rendering/RenderDetailsMarker.cpp:
1264         (WebCore::RenderDetailsMarker::computePreferredLogicalWidths): Set the margins
1265         in the style, like RenderListMarker does.
1266         (WebCore::RenderDetailsMarker::layout): Set the margins from the style.
1267
1268 2011-04-02  Andy Estes  <aestes@apple.com>
1269
1270         Reviewed by Oliver Hunt.
1271
1272         REGRESSION (r69237): Black border around map elements while using an image map on Mac platform
1273         https://bugs.webkit.org/show_bug.cgi?id=52518
1274
1275         Test: fast/images/imagemap-focus-ring-zero-outline-width.html
1276
1277         * rendering/RenderImage.cpp:
1278         (WebCore::RenderImage::paintAreaElementFocusRing): Return early if outlineWidth is 0.
1279
1280 2011-04-02  Beth Dakin  <bdakin@apple.com>
1281
1282         Reviewed by Sam Weinig.
1283
1284         https://bugs.webkit.org/show_bug.cgi?id=57605
1285         Frame::pageScaleFactor() should not affect getBoundingClientRect() or 
1286         getClientRects()
1287         -and corresponding-
1288         <rdar://problem/9194541>
1289
1290         New functions adjust*ForPageScale() are analogous to adjust*ForAbsoluteZoom().
1291         * dom/Element.cpp:
1292         (WebCore::Element::getClientRects):
1293         (WebCore::Element::getBoundingClientRect):
1294         * dom/Range.cpp:
1295         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
1296         (WebCore::Range::getBorderAndTextQuads):
1297         * rendering/RenderObject.h:
1298         (WebCore::adjustFloatPointForPageScale):
1299         (WebCore::adjustFloatQuadForPageScale):
1300         (WebCore::adjustFloatRectForPageScale):
1301
1302 2011-04-02  Dan Bernstein  <mitz@apple.com>
1303
1304         Reverted r82775 due to changes in <details> test results, which are
1305         likely progressions.
1306
1307         * rendering/RenderBlockLineLayout.cpp:
1308         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
1309
1310 2011-04-02  Dan Bernstein  <mitz@apple.com>
1311
1312         Reviewed by Dave Hyatt.
1313
1314         Remove an unnecessary extra computeLogicalWidth() from line layout
1315         https://bugs.webkit.org/show_bug.cgi?id=57711
1316
1317         Changes in behavior (MathML progression) covered by existing layout tests.
1318
1319         * rendering/RenderBlockLineLayout.cpp:
1320         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
1321         call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
1322         actually prevents MathML rows from reverting to an incorrect width.
1323
1324 2011-04-02  Ryuan Choi  <ryuan.choi@samsung.com>
1325
1326         Reviewed by Martin Robinson.
1327
1328         [GTK] Fix leaked pointer in FontGtk.cpp
1329         https://bugs.webkit.org/show_bug.cgi?id=57307
1330
1331         Fix a memory leak.
1332
1333         No new functionality, so no new tests.
1334
1335         * platform/graphics/gtk/FontGtk.cpp:
1336         (WebCore::utf16ToUtf8): Rename utf16_to_utf8 and fix indentation.
1337         (WebCore::convertUniCharToUTF8):
1338
1339 2011-04-02  Ilya Tikhonovsky  <loislo@chromium.org>
1340
1341         Reviewed by Pavel Feldman.
1342
1343         Web Inspector: we should be able to have in and out arguments of a command with same name.
1344         https://bugs.webkit.org/show_bug.cgi?id=57701
1345
1346         * inspector/CodeGeneratorInspector.pm:
1347         * inspector/Inspector.json:
1348
1349 2011-04-01  Ilya Tikhonovsky  <loislo@chromium.org>
1350
1351         Not reviewed trivial change.
1352
1353         Web Inspector: The page agent should be enabled even if JAVASCRIPT_DEBUGGER is off.
1354         Followup change for r82281.
1355         https://bugs.webkit.org/show_bug.cgi?id=57327
1356
1357         * inspector/InspectorPageAgent.cpp:
1358         * inspector/InspectorPageAgent.h:
1359
1360 2011-04-01  Michael Saboff  <msaboff@apple.com>
1361
1362         Reviewed by Darin Adler.
1363
1364         Cached Resource Overhead Space Usage and Accounting Inaccurate
1365         https://bugs.webkit.org/show_bug.cgi?id=57488
1366
1367         Fixed windows test failures.
1368         Changed the fixed overhead value for ResourceResponse to 3800 bytes.
1369         Modified ResourceResponse::platformLazyInit() to handle "base" level
1370         attributes or all attributes.  The base attributes, like URL, status
1371         code, mime type and a few header fields (mostly cache related) are
1372         suitable for most resources.  This reduces the per resource memory
1373         needs by over 1K bytes per resource thus saving memory in the cache.
1374         Collectively, these two changes bring the overhead memory calculation
1375         in line with reality.
1376
1377         No new tests added due to existing tests cover areas of change and
1378         there is no functional change.  The change is limited to reducing 
1379         memory usage along existing paths.
1380
1381         * loader/cache/CachedResource.cpp:
1382         (WebCore::CachedResource::canUseCacheValidator):
1383         * platform/network/ResourceResponseBase.cpp:
1384         (WebCore::ResourceResponseBase::adopt):
1385         (WebCore::ResourceResponseBase::isHTTP):
1386         (WebCore::ResourceResponseBase::url):
1387         (WebCore::ResourceResponseBase::setURL):
1388         (WebCore::ResourceResponseBase::mimeType):
1389         (WebCore::ResourceResponseBase::setMimeType):
1390         (WebCore::ResourceResponseBase::expectedContentLength):
1391         (WebCore::ResourceResponseBase::setExpectedContentLength):
1392         (WebCore::ResourceResponseBase::textEncodingName):
1393         (WebCore::ResourceResponseBase::setTextEncodingName):
1394         (WebCore::ResourceResponseBase::suggestedFilename):
1395         (WebCore::ResourceResponseBase::setSuggestedFilename):
1396         (WebCore::ResourceResponseBase::httpStatusCode):
1397         (WebCore::ResourceResponseBase::setHTTPStatusCode):
1398         (WebCore::ResourceResponseBase::httpStatusText):
1399         (WebCore::ResourceResponseBase::setHTTPStatusText):
1400         (WebCore::ResourceResponseBase::httpHeaderField):
1401         (WebCore::ResourceResponseBase::setHTTPHeaderField):
1402         (WebCore::ResourceResponseBase::httpHeaderFields):
1403         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
1404         (WebCore::ResourceResponseBase::hasCacheValidatorFields):
1405         (WebCore::ResourceResponseBase::date):
1406         (WebCore::ResourceResponseBase::age):
1407         (WebCore::ResourceResponseBase::expires):
1408         (WebCore::ResourceResponseBase::lastModified):
1409         (WebCore::ResourceResponseBase::isAttachment):
1410         (WebCore::ResourceResponseBase::setLastModifiedDate):
1411         (WebCore::ResourceResponseBase::lastModifiedDate):
1412         (WebCore::ResourceResponseBase::wasCached):
1413         (WebCore::ResourceResponseBase::connectionReused):
1414         (WebCore::ResourceResponseBase::setConnectionReused):
1415         (WebCore::ResourceResponseBase::connectionID):
1416         (WebCore::ResourceResponseBase::setConnectionID):
1417         (WebCore::ResourceResponseBase::resourceLoadTiming):
1418         (WebCore::ResourceResponseBase::setResourceLoadTiming):
1419         (WebCore::ResourceResponseBase::resourceLoadInfo):
1420         (WebCore::ResourceResponseBase::setResourceLoadInfo):
1421         (WebCore::ResourceResponseBase::lazyInit):
1422         * platform/network/ResourceResponseBase.h:
1423         (WebCore::ResourceResponseBase::platformLazyInit):
1424         * platform/network/cf/ResourceResponse.h:
1425         (WebCore::ResourceResponse::ResourceResponse):
1426         (WebCore::ResourceResponse::memoryUsage):
1427         * platform/network/cf/ResourceResponseCFNet.cpp:
1428         (WebCore::ResourceResponse::platformLazyInit):
1429         * platform/network/mac/ResourceResponseMac.mm:
1430         (WebCore::ResourceResponse::platformLazyInit):
1431
1432 2011-04-01  Anantanarayanan G Iyengar  <ananta@chromium.org>
1433
1434         Reviewed by Adam Barth.
1435
1436         https://bugs.webkit.org/show_bug.cgi?id=45855
1437         Windowless plugins added dynamically to the DOM should receive paint events.
1438         This is done by ensuring that the plugin widget is marked for painting when
1439         it is added.
1440
1441         Test: plugins/windowless_plugin_paint_test.html
1442
1443         * rendering/RenderWidget.cpp:
1444         (WebCore::RenderWidget::setWidget):
1445
1446 2011-04-01  Mike Reed  <reed@google.com>
1447
1448         Reviewed by James Robinson.
1449
1450         always use native font rendering on skia_gpu
1451         fixes a crash when SKIA_GPU is enabled, as we can't call getTopPlatformDevice()
1452         https://bugs.webkit.org/show_bug.cgi?id=57663
1453
1454         No new tests. existing rendering tests will exercise this
1455
1456         * platform/graphics/skia/PlatformContextSkia.cpp:
1457         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
1458
1459 2011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1460
1461         Unreviewed, rolling out r82712, r82729, and r82746.
1462         http://trac.webkit.org/changeset/82712
1463         http://trac.webkit.org/changeset/82729
1464         http://trac.webkit.org/changeset/82746
1465         https://bugs.webkit.org/show_bug.cgi?id=57682
1466
1467         fast/frames/frame-programmatic-noresize.html is failing on
1468         Windows bots. Will look into this offline. (Requested by dydx
1469         on #webkit).
1470
1471         * html/HTMLFrameElement.cpp:
1472         (WebCore::HTMLFrameElement::HTMLFrameElement):
1473         (WebCore::HTMLFrameElement::attach):
1474         (WebCore::HTMLFrameElement::parseMappedAttribute):
1475         * html/HTMLFrameElement.h:
1476         (WebCore::HTMLFrameElement::noResize):
1477         * rendering/RenderFrame.cpp:
1478         * rendering/RenderFrame.h:
1479         * rendering/RenderFrameSet.cpp:
1480         * rendering/RenderFrameSet.h:
1481
1482 2011-04-01  Adam Barth  <abarth@webkit.org>
1483
1484         Reviewed by Tony Chang.
1485
1486         Valgrind error in _ZN7WebCore8Document11updateTitleERKNS_19StringWithDirectionE
1487         https://bugs.webkit.org/show_bug.cgi?id=57656
1488
1489         We should initialize memory when constructing objects.
1490
1491         * platform/text/StringWithDirection.h:
1492         (WebCore::StringWithDirection::StringWithDirection):
1493
1494 2011-04-01  Jer Noble  <jer.noble@apple.com>
1495
1496         Reviewed by Darin Adler.
1497
1498         WebKit2: Link from PDF opens in a new tab instead of in the same tab
1499         https://bugs.webkit.org/show_bug.cgi?id=57528
1500
1501         * WebCore.exp.in: Export MouseEvent::create().
1502
1503 2011-04-01  John Bauman  <jbauman@chromium.org>
1504
1505         Reviewed by Kenneth Russell.
1506
1507         Avoid decoding images twice in texImage2D
1508         https://bugs.webkit.org/show_bug.cgi?id=51498
1509
1510         Make sure to redecode the image only if it's not opaque and texImage2D
1511         wouldn't premultiply it anyway.
1512
1513         * platform/graphics/BitmapImage.h:
1514         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1515         (WebCore::GraphicsContext3D::getImageData):
1516         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1517         (WebCore::GraphicsContext3D::getImageData):
1518
1519 2011-04-01  Alexey Proskuryakov  <ap@apple.com>
1520
1521         32-bit Mac build fix.
1522
1523         * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Use 0U to index a String
1524         to avoid ambiguity.
1525
1526 2011-04-01  Alexey Proskuryakov  <ap@apple.com>
1527
1528         Reviewed by Darin Adler.
1529
1530         Make WebKit2 text input handling more like WebKit1
1531         https://bugs.webkit.org/show_bug.cgi?id=57649
1532
1533         * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Put back the assertions
1534         we used to have. It is dangerous to confuse editor commands and selector names - besides the
1535         presence of a semicolon, they sometimes have different names, and WebKit2 failed to map those.
1536
1537 2011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1538
1539         Unreviewed, rolling out r82711.
1540         http://trac.webkit.org/changeset/82711
1541         https://bugs.webkit.org/show_bug.cgi?id=57657
1542
1543         Made every test crash on XP and Win7 (Requested by
1544         abarth|gardening on #webkit).
1545
1546         * loader/cache/CachedResource.cpp:
1547         (WebCore::CachedResource::canUseCacheValidator):
1548         * platform/network/ResourceResponseBase.cpp:
1549         (WebCore::ResourceResponseBase::adopt):
1550         (WebCore::ResourceResponseBase::isHTTP):
1551         (WebCore::ResourceResponseBase::url):
1552         (WebCore::ResourceResponseBase::setURL):
1553         (WebCore::ResourceResponseBase::mimeType):
1554         (WebCore::ResourceResponseBase::setMimeType):
1555         (WebCore::ResourceResponseBase::expectedContentLength):
1556         (WebCore::ResourceResponseBase::setExpectedContentLength):
1557         (WebCore::ResourceResponseBase::textEncodingName):
1558         (WebCore::ResourceResponseBase::setTextEncodingName):
1559         (WebCore::ResourceResponseBase::suggestedFilename):
1560         (WebCore::ResourceResponseBase::setSuggestedFilename):
1561         (WebCore::ResourceResponseBase::httpStatusCode):
1562         (WebCore::ResourceResponseBase::setHTTPStatusCode):
1563         (WebCore::ResourceResponseBase::httpStatusText):
1564         (WebCore::ResourceResponseBase::setHTTPStatusText):
1565         (WebCore::ResourceResponseBase::httpHeaderField):
1566         (WebCore::ResourceResponseBase::setHTTPHeaderField):
1567         (WebCore::ResourceResponseBase::httpHeaderFields):
1568         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
1569         (WebCore::ResourceResponseBase::date):
1570         (WebCore::ResourceResponseBase::age):
1571         (WebCore::ResourceResponseBase::expires):
1572         (WebCore::ResourceResponseBase::lastModified):
1573         (WebCore::ResourceResponseBase::isAttachment):
1574         (WebCore::ResourceResponseBase::setLastModifiedDate):
1575         (WebCore::ResourceResponseBase::lastModifiedDate):
1576         (WebCore::ResourceResponseBase::wasCached):
1577         (WebCore::ResourceResponseBase::connectionReused):
1578         (WebCore::ResourceResponseBase::setConnectionReused):
1579         (WebCore::ResourceResponseBase::connectionID):
1580         (WebCore::ResourceResponseBase::setConnectionID):
1581         (WebCore::ResourceResponseBase::resourceLoadTiming):
1582         (WebCore::ResourceResponseBase::setResourceLoadTiming):
1583         (WebCore::ResourceResponseBase::resourceLoadInfo):
1584         (WebCore::ResourceResponseBase::setResourceLoadInfo):
1585         (WebCore::ResourceResponseBase::lazyInit):
1586         * platform/network/ResourceResponseBase.h:
1587         (WebCore::ResourceResponseBase::platformLazyInit):
1588         * platform/network/cf/ResourceResponse.h:
1589         (WebCore::ResourceResponse::ResourceResponse):
1590         (WebCore::ResourceResponse::memoryUsage):
1591         * platform/network/cf/ResourceResponseCFNet.cpp:
1592         (WebCore::ResourceResponse::platformLazyInit):
1593         * platform/network/mac/ResourceResponseMac.mm:
1594         (WebCore::ResourceResponse::platformLazyInit):
1595
1596 2011-04-01  Matthew Delaney  <mdelaney@apple.com>
1597
1598         Reviewed by Simon Fraser.
1599
1600         Behavior of isAccelerated() for a IOSurface-backed canvas should be consistent with accelerated status of its ImageBuffer
1601         https://bugs.webkit.org/show_bug.cgi?id=57651
1602
1603         No new tests. This patch does not affect outward behavior.
1604
1605         * html/canvas/CanvasRenderingContext2D.cpp:
1606         (WebCore::CanvasRenderingContext2D::isAccelerated):
1607         * platform/graphics/ImageBuffer.h:
1608         (WebCore::ImageBuffer::isAccelerated):
1609
1610 2011-04-01  Daniel Bates  <dbates@rim.com>
1611
1612         Reviewed by Darin Adler.
1613
1614         Frame's noResize attribute can not be set by JavaScript
1615         https://bugs.webkit.org/show_bug.cgi?id=14845
1616
1617         Tests: fast/frames/frame-inherit-noresize-from-frameset.html
1618                fast/frames/frame-programmatic-noresize.html
1619                fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize.html
1620                fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false.html
1621
1622         Implements support to programmatically allow and disallow frame resizing.
1623
1624         Currently, HTMLFrameElement::parseMappedAttribute() is hardcoded to disallow frame resize (i.e.
1625         m_noResize = true) when either the noresize DOM attribute is specified (or existed at some
1626         point in time) or the value of the noResize attribute is modified. Instead we should allow/disallow
1627         frame resize depending on the presence of the noresize DOM attribute/the value of the noResize
1628         attribute.
1629
1630         * html/HTMLFrameElement.cpp:
1631         (WebCore::HTMLFrameElement::HTMLFrameElement):
1632         (WebCore::HTMLFrameElement::noResize): Made this a non-inline function since this
1633         code path isn't performance critical.
1634         (WebCore::HTMLFrameElement::attach): Removed code to inherit noresize attribute from
1635         parent <frameset> since this functionality is part of RenderFrameSet::computeEdgeInfo().
1636         (WebCore::HTMLFrameElement::parseMappedAttribute):
1637         * html/HTMLFrameElement.h:
1638         * rendering/RenderFrame.cpp:
1639         (WebCore::RenderFrame::updateFromElement): Added.
1640         * rendering/RenderFrame.h:
1641         * rendering/RenderFrameSet.cpp:
1642         (WebCore::RenderFrameSet::notifyFrameEdgeInfoChanged): Added.
1643         * rendering/RenderFrameSet.h:
1644
1645 2011-04-01  Michael Saboff  <msaboff@apple.com>
1646
1647         Reviewed by Darin Adler.
1648
1649         Cached Resource Overhead Space Usage and Accounting Inaccurate
1650         https://bugs.webkit.org/show_bug.cgi?id=57488
1651
1652         Changed the fixed overhead value for ResourceResponse to 3800 bytes.
1653         Modified ResourceResponse::platformLazyInit() to handle "base" level
1654         attributes or all attributes.  The base attributes, like URL, status
1655         code, mime type and a few header fields (mostly cache related) are
1656         suitable for most resources.  This reduces the per resource memory
1657         needs by over 1K bytes per resource thus saving memory in the cache.
1658         Collectively, these two changes bring the overhead memory calculation
1659         in line with reality.
1660
1661         No new tests added due to existing tests cover areas of change and
1662         there is no functional change.  The change is limited to reducing 
1663         memory usage along existing paths.
1664
1665         * loader/cache/CachedResource.cpp:
1666         (WebCore::CachedResource::canUseCacheValidator):
1667         * platform/network/ResourceResponseBase.cpp:
1668         (WebCore::ResourceResponseBase::isHTTP):
1669         (WebCore::ResourceResponseBase::url):
1670         (WebCore::ResourceResponseBase::setURL):
1671         (WebCore::ResourceResponseBase::mimeType):
1672         (WebCore::ResourceResponseBase::setMimeType):
1673         (WebCore::ResourceResponseBase::expectedContentLength):
1674         (WebCore::ResourceResponseBase::setExpectedContentLength):
1675         (WebCore::ResourceResponseBase::textEncodingName):
1676         (WebCore::ResourceResponseBase::setTextEncodingName):
1677         (WebCore::ResourceResponseBase::suggestedFilename):
1678         (WebCore::ResourceResponseBase::setSuggestedFilename):
1679         (WebCore::ResourceResponseBase::httpStatusCode):
1680         (WebCore::ResourceResponseBase::setHTTPStatusCode):
1681         (WebCore::ResourceResponseBase::httpHeaderField):
1682         (WebCore::ResourceResponseBase::setHTTPHeaderField):
1683         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
1684         (WebCore::ResourceResponseBase::hasCacheValidatorFields):
1685         (WebCore::ResourceResponseBase::date):
1686         (WebCore::ResourceResponseBase::age):
1687         (WebCore::ResourceResponseBase::expires):
1688         (WebCore::ResourceResponseBase::lastModified):
1689         (WebCore::ResourceResponseBase::lazyInit):
1690         * platform/network/ResourceResponseBase.h:
1691         (WebCore::ResourceResponseBase::platformLazyInit):
1692         * platform/network/cf/ResourceResponse.h:
1693         (WebCore::ResourceResponse::ResourceResponse):
1694         (WebCore::ResourceResponse::memoryUsage):
1695         * platform/network/cf/ResourceResponseCFNet.cpp:
1696         * platform/network/mac/ResourceResponseMac.mm:
1697         (WebCore::ResourceResponse::platformLazyInit):
1698
1699 2011-04-01  Timothy Hatcher  <timothy@apple.com>
1700
1701         Make momentum scroll event latching work in WebKit2 on Mac.
1702
1703         <rdar://problem/8751861>
1704
1705         Reviewed by Darin Adler.
1706
1707         * WebCore.exp.in: Remove _wkIsLatchingWheelEvent, add _wkGetNSEventMomentumPhase.
1708         * page/EventHandler.cpp:
1709         (WebCore::EventHandler::handleWheelEvent): Set m_useLatchedWheelEventNode based on the
1710         event's momentumPhase.
1711         * page/mac/EventHandlerMac.mm:
1712         (WebCore::EventHandler::wheelEvent): Remove the setting of m_useLatchedWheelEventNode.
1713         It is now done in EventHandler::handleWheelEvent.
1714         * platform/mac/WebCoreSystemInterface.h: Remove wkIsLatchingWheelEvent, add wkGetNSEventMomentumPhase.
1715         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1716         * platform/mac/WheelEventMac.mm:
1717         (WebCore::momentumPhaseForEvent): Return a phase on older Mac system by using wkGetNSEventMomentumPhase.
1718
1719 2011-04-01  Steve Block  <steveblock@google.com>
1720
1721         Reviewed by Jeremy Orlow.
1722
1723         JavaClass should be an interface and free of JNI types
1724         https://bugs.webkit.org/show_bug.cgi?id=57533
1725
1726         This patch fixes JavaClass for V8 only.
1727
1728         It factors out a JavaClass interface which does not use JNI types.
1729         This will allow the Java bridge to be used with objects that
1730         don't use JNI directly. The existing jobject-backed
1731         implementation is moved to a new JavaClassJobject class which
1732         implements the interface.
1733
1734         No new tests, refactoring only.
1735
1736         * Android.v8bindings.mk:
1737         * WebCore.gypi:
1738         * bridge/jni/v8/JavaClassJobjectV8.cpp:
1739         (JavaClassJobject::JavaClassJobject):
1740         (JavaClassJobject::~JavaClassJobject):
1741         (JavaClassJobject::methodsNamed):
1742         (JavaClassJobject::fieldNamed):
1743         * bridge/jni/v8/JavaClassJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaClassV8.h.
1744         * bridge/jni/v8/JavaClassV8.h:
1745         (JSC::Bindings::JavaClass::~JavaClass):
1746         * bridge/jni/v8/JavaInstanceV8.cpp:
1747         (JavaInstance::getClass):
1748
1749 2011-04-01  Jaehun Lim  <ljaehun.lim@samsung.com>
1750
1751         Unreviewed build fix.
1752
1753         Fix build break when font backend is Pango.
1754         Pango is missed in changeset 80589.
1755
1756         https://bugs.webkit.org/show_bug.cgi?id=57609
1757
1758         * platform/graphics/pango/FontPlatformData.h:
1759         (WebCore::FontPlatformData::setOrientation):
1760
1761 2011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1762
1763         Unreviewed, rolling out r82687.
1764         http://trac.webkit.org/changeset/82687
1765         https://bugs.webkit.org/show_bug.cgi?id=57643
1766
1767         This patch broke accessibility aria-treegrid test in Mac
1768         (Requested by msanchez on #webkit).
1769
1770         * accessibility/AccessibilityARIAGrid.cpp:
1771         * accessibility/AccessibilityARIAGrid.h:
1772         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1773         (atkRole):
1774         * accessibility/mac/AccessibilityObjectWrapper.mm:
1775
1776 2011-03-31  Abhishek Arya  <inferno@chromium.org>
1777
1778         Reviewed by Andreas Kling.
1779
1780         Whenever a relayout is trigger for SVGPath, make sure
1781         to clear its previous marker layout info. This helps
1782         to prevent removed markers from being used.
1783         https://bugs.webkit.org/show_bug.cgi?id=57492
1784
1785         Test: svg/dom/path-marker-removed-crash.svg
1786
1787         * rendering/svg/RenderSVGPath.cpp:
1788         (WebCore::RenderSVGPath::layout):
1789         * rendering/svg/SVGMarkerLayoutInfo.cpp:
1790         (WebCore::SVGMarkerLayoutInfo::clear):
1791         * rendering/svg/SVGMarkerLayoutInfo.h:
1792
1793 2011-04-01  Rob Buis  <rwlbuis@gmail.com>
1794
1795         Reviewed by Nikolas Zimmermann.
1796
1797         https://bugs.webkit.org/show_bug.cgi?id=55750
1798         SVG <image> referenced by <use> is displayed incorrectly
1799
1800         Reintroduce old behaviour for valid base URI, for invalid
1801         keep using document base URI.
1802         Fixes regression of W3C-SVG-1.1/struct-image-07-t.svg.
1803
1804         Test: svg/custom/image-base-uri.svg
1805
1806         * svg/SVGImageLoader.cpp:
1807         (WebCore::SVGImageLoader::sourceURI):
1808
1809 2011-04-01  Mario Sanchez Prada  <msanchez@igalia.com>
1810
1811         Reviewed by Chris Fleizach.
1812
1813         ARIA Grid tables should return GridRole in roleValue() method
1814         https://bugs.webkit.org/show_bug.cgi?id=57614
1815
1816         This change does not need any test since it doesn't change anything
1817         from the point of view of the consumers (Assistive Technoglogies).
1818         It's just an internal change to simplify identifying HTML and ARIA
1819         tables by calling to the AccessibilityObject::roleValue method.
1820
1821         * accessibility/AccessibilityARIAGrid.h:
1822         * accessibility/AccessibilityARIAGrid.cpp:
1823         (WebCore::AccessibilityARIAGrid::roleValue): Return GridRole.
1824
1825         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1826         (atkRole): Removed unneeded comment.
1827
1828         * accessibility/mac/AccessibilityObjectWrapper.mm: Map GridRole to
1829         NSAccessibilityTableRole, to keep the same behaviour.
1830
1831 2011-04-01  MORITA Hajime  <morrita@google.com>
1832
1833         Reviewed by Dimitri Glazkov.
1834
1835         <meter> can only support horizontal indicator
1836         https://bugs.webkit.org/show_bug.cgi?id=56001
1837
1838         - Removed code which deals with the direction and
1839           left the horizontal path.
1840         - Removed "horizontal" from related names which is now
1841           redundant.
1842         
1843         * css/CSSSelector.cpp:
1844         (WebCore::CSSSelector::pseudoId):
1845         (WebCore::nameToPseudoTypeMap):
1846         (WebCore::CSSSelector::extractPseudoType):
1847         * css/CSSSelector.h:
1848         * css/html.css:
1849         (meter::-webkit-meter-bar):
1850         (meter::-webkit-meter-optimum-value):
1851         (meter::-webkit-meter-suboptimal-value):
1852         (meter::-webkit-meter-even-less-good-value):
1853         * rendering/RenderMeter.cpp:
1854         (WebCore::RenderMeter::~RenderMeter):
1855         (WebCore::RenderMeter::createPart):
1856         (WebCore::RenderMeter::updateFromElement):
1857         (WebCore::RenderMeter::layoutParts):
1858         (WebCore::RenderMeter::styleDidChange):
1859         (WebCore::RenderMeter::shouldHaveParts):
1860         (WebCore::RenderMeter::valuePartRect):
1861         (WebCore::RenderMeter::valuePseudoId):
1862         (WebCore::RenderMeter::barPseudoId):
1863         (WebCore::RenderMeter::detachShadows):
1864         (WebCore::RenderMeter::updateShadows):
1865         * rendering/RenderMeter.h:
1866         (WebCore::RenderMeter::shadowAttached):
1867         * rendering/RenderTheme.cpp:
1868         (WebCore::RenderTheme::supportsMeter):
1869         * rendering/RenderTheme.h:
1870         * rendering/RenderThemeMac.h:
1871         * rendering/RenderThemeMac.mm:
1872         (WebCore::RenderThemeMac::paintMeter):
1873         (WebCore::RenderThemeMac::supportsMeter):
1874         * rendering/style/RenderStyleConstants.h:
1875
1876 2011-03-23  Pavel Podivilov  <podivilov@chromium.org>
1877
1878         Reviewed by Pavel Feldman.
1879
1880         Web Inspector: fix reveal line in formatted script.
1881         https://bugs.webkit.org/show_bug.cgi?id=56941
1882
1883         * inspector/front-end/BreakpointsSidebarPane.js:
1884         (WebInspector.JavaScriptBreakpointsSidebarPane):
1885         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
1886         * inspector/front-end/DebuggerPresentationModel.js:
1887         (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL):
1888         * inspector/front-end/NetworkPanel.js:
1889         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
1890         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
1891         * inspector/front-end/Panel.js:
1892         (WebInspector.Panel.prototype.canShowAnchorLocation):
1893         (WebInspector.Panel.prototype.showAnchorLocation):
1894         * inspector/front-end/ResourcesPanel.js:
1895         (WebInspector.ResourcesPanel.prototype.canShowAnchorLocation):
1896         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
1897         (WebInspector.ResourcesPanel.prototype.showResource):
1898         * inspector/front-end/ScriptsPanel.js:
1899         (WebInspector.ScriptsPanel):
1900         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
1901         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
1902         (WebInspector.ScriptsPanel.prototype._showSourceLine):
1903         * inspector/front-end/SourceFrame.js:
1904         (WebInspector.SourceFrame.prototype.highlightLine):
1905         (WebInspector.SourceFrame.prototype._createTextViewer):
1906         * inspector/front-end/inspector.js:
1907         (WebInspector.documentClick.followLink):
1908         (WebInspector.documentClick):
1909         (WebInspector._showAnchorLocation):
1910
1911 2011-04-01  Pavel Podivilov  <podivilov@chromium.org>
1912
1913         Reviewed by Yury Semikhatsky.
1914
1915         Web Inspector: make editScriptSource a Script's method.
1916         https://bugs.webkit.org/show_bug.cgi?id=57615
1917
1918         * inspector/front-end/DebuggerModel.js:
1919         (WebInspector.DebuggerModel.prototype.editScriptSource):
1920         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
1921         * inspector/front-end/Script.js:
1922         (WebInspector.Script.prototype.requestSource):
1923         (WebInspector.Script.prototype.editSource):
1924
1925 2011-04-01  Pavel Feldman  <pfeldman@google.com>
1926
1927         Reviewed by Yury Semikhatsky.
1928
1929         Web Inspector: event should have "data" attribute, not "body"
1930         https://bugs.webkit.org/show_bug.cgi?id=57628
1931
1932         * inspector/CodeGeneratorInspector.pm:
1933
1934 2011-04-01  Pavel Podivilov  <podivilov@chromium.org>
1935
1936         Reviewed by Yury Semikhatsky.
1937
1938         Web Inspector: checkboxes are broken in xhr breakpoints sidebar pane.
1939         https://bugs.webkit.org/show_bug.cgi?id=57610
1940
1941         * inspector/front-end/BreakpointsSidebarPane.js:
1942         (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
1943
1944 2011-04-01  Alexander Pavlov  <apavlov@chromium.org>
1945
1946         Reviewed by Yury Semikhatsky.
1947
1948         Web Inspector: up/down keys are not treating hex numbers properly while editing styles.
1949         https://bugs.webkit.org/show_bug.cgi?id=40522
1950
1951         Drive-by: fix inc/dec for numbers like ".5"
1952
1953         Test: inspector/styles/up-down-numerics-and-colors.html
1954
1955         * inspector/front-end/StylesSidebarPane.js:
1956         (WebInspector.StylePropertyTreeElement.prototype):
1957
1958 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
1959
1960         Reviewed by Pavel Feldman.
1961
1962         Web Inspector: remove dead code from Script.js.
1963         https://bugs.webkit.org/show_bug.cgi?id=57454
1964
1965         * inspector/front-end/DebuggerModel.js:
1966         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1967         (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
1968         * inspector/front-end/Script.js:
1969         (WebInspector.Script):
1970         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
1971         (WebInspector.Script.prototype.requestSource):
1972
1973 2011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1974
1975         Unreviewed, rolling out r82667.
1976         http://trac.webkit.org/changeset/82667
1977         https://bugs.webkit.org/show_bug.cgi?id=57612
1978
1979         Breaks Leopard layout tests (Requested by podivilov on
1980         #webkit).
1981
1982         * GNUmakefile.am:
1983         * inspector/front-end/DebuggerPresentationModel.js:
1984         (WebInspector.DebuggerPresentationModel):
1985         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
1986
1987 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
1988
1989         Reviewed by Pavel Feldman.
1990
1991         Web Inspector: remove unused SourceFrameContent class.
1992         https://bugs.webkit.org/show_bug.cgi?id=57453
1993
1994         * WebCore.gypi:
1995         * WebCore.vcproj/WebCore.vcproj:
1996         * inspector/front-end/ResourceView.js:
1997         (WebInspector.SourceFrameDelegateForResourcesPanel.prototype.requestContent):
1998         * inspector/front-end/ScriptsPanel.js:
1999         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
2000         * inspector/front-end/SourceFrame.js:
2001         (WebInspector.SourceFrame.prototype._createTextViewer):
2002         * inspector/front-end/SourceFrameContent.js: Removed.
2003         * inspector/front-end/WebKit.qrc:
2004         * inspector/front-end/inspector.html:
2005
2006 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
2007
2008         Reviewed by Pavel Feldman.
2009
2010         Web Inspector: add test for script formatter worker.
2011         https://bugs.webkit.org/show_bug.cgi?id=57447
2012
2013         Test: inspector/debugger/script-formatter.html
2014
2015         * GNUmakefile.am:
2016         * inspector/front-end/DebuggerPresentationModel.js:
2017         (WebInspector.DebuggerPresentationModel):
2018         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2019
2020 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
2021
2022         Reviewed by Pavel Feldman.
2023
2024         Web Inspector: [chromium] script formatting doesn't work when all scripts are concatenated.
2025         https://bugs.webkit.org/show_bug.cgi?id=57446
2026
2027         * inspector/front-end/ScriptFormatterWorker.js:
2028
2029 2011-04-01  Pavel Podivilov  <podivilov@chromium.org>
2030
2031         Reviewed by Pavel Feldman.
2032
2033         Web Inspector: allow file access from inspector page so inspector can use workers.
2034         https://bugs.webkit.org/show_bug.cgi?id=57339
2035
2036         * inspector/InspectorFrontendClientLocal.cpp:
2037         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
2038
2039 2011-03-31  Yury Semikhatsky  <yurys@chromium.org>
2040
2041         Reviewed by Pavel Feldman.
2042
2043         Web Inspector: inspected page crashes on attempt to log object with broken .toString
2044         https://bugs.webkit.org/show_bug.cgi?id=57557
2045
2046         If ScriptValue.toString causes a JavaScript exception, the exception is cleared
2047         before returning from the toString method.
2048
2049         Test: inspector/console/console-log-toString-object.html
2050
2051         * bindings/js/ScriptValue.cpp:
2052         (WebCore::ScriptValue::toString):
2053         * bindings/js/ScriptValue.h:
2054         * bindings/v8/ScriptValue.cpp:
2055         (WebCore::ScriptValue::toString):
2056
2057 2011-03-31  Andrey Kosyakov  <caseq@chromium.org>
2058
2059         Reviewed by Pavel Feldman.
2060
2061         - removed documentWide parameter to querySelector[All]() (user document node id instead)
2062         - factor out document request logic within DOMAgent into separate method
2063         - add querySelector() and querySelectorAll() to DOMAgent.js, assure we have document before calling back-end
2064         - use the above wrappers for querySelector() and querySelectorAll(), do not call backend directly
2065         - minor style fixes in Inspector.json
2066         - more error logging
2067
2068         Web Inspector: provide front-end wrappers for DOMAgent.querySelector[All]() that take care of fetching the document
2069         https://bugs.webkit.org/show_bug.cgi?id=57466
2070
2071         * inspector/Inspector.json:
2072         * inspector/InspectorDOMAgent.cpp:
2073         (WebCore::InspectorDOMAgent::querySelector):
2074         (WebCore::InspectorDOMAgent::querySelectorAll):
2075         * inspector/InspectorDOMAgent.h:
2076         * inspector/front-end/AuditRules.js:
2077         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
2078         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
2079         * inspector/front-end/CSSStyleModel.js:
2080         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
2081         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
2082         (WebInspector.CSSStyleModel.prototype.addRule.callback):
2083         (WebInspector.CSSStyleModel.prototype.addRule):
2084         * inspector/front-end/DOMAgent.js:
2085         (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable):
2086         (WebInspector.DOMAgent.prototype.requestDocument):
2087         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
2088         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
2089         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
2090         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
2091         (WebInspector.DOMAgent.prototype.cancelSearch):
2092         (WebInspector.DOMAgent.prototype.querySelector):
2093         (WebInspector.DOMAgent.prototype.querySelectorAll):
2094
2095 2011-04-01  Kent Tamura  <tkent@chromium.org>
2096
2097         Apply sort-Xcode-project-file.
2098
2099         * WebCore.xcodeproj/project.pbxproj:
2100
2101 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2102
2103         Unreviewed, rolling out r82652.
2104         http://trac.webkit.org/changeset/82652
2105         https://bugs.webkit.org/show_bug.cgi?id=57603
2106
2107         Test still fails (Requested by abarth|gardener on #webkit).
2108
2109         * rendering/RenderWidget.cpp:
2110         (WebCore::RenderWidget::setWidget):
2111
2112 2011-03-31  Naoki Takano  <takano.naoki@gmail.com>
2113
2114         Reviewed by Kent Tamura.
2115
2116         REGRESSION (r64712): Safari removes the first blank line in a textarea
2117         https://bugs.webkit.org/show_bug.cgi?id=56434
2118
2119         Test: fast/forms/textarea-newline.html
2120
2121         A linefeed removal after a textarea tag is originally processed in WebCore::HTMLTextAreaElement::defaultValue().
2122         But HTML5 tree builder now removes the linefeed. It means linefeed removal happens twice.
2123         And devalutValue() removal is not needed anymore.
2124
2125         * html/HTMLTextAreaElement.cpp:
2126         (WebCore::HTMLTextAreaElement::setDefaultValue): Remove an extra linefeed insertion at the beginning.
2127         (WebCore::HTMLTextAreaElement::defaultValue): Remove linefeed removal check in default value creation function.
2128
2129 2011-03-31  Luke Macpherson   <macpherson@chromium.org>
2130
2131         Reviewed by Dimitri Glazkov.
2132
2133         Remove refcounting of CSSStyleApplyProperty singleton
2134         https://bugs.webkit.org/show_bug.cgi?id=57592
2135
2136         No new tests required as no functionality changes.
2137
2138         * css/CSSStyleApplyProperty.h:
2139
2140 2011-03-31  Anantanarayanan G Iyengar  <ananta@chromium.org>
2141
2142         Reviewed by Adam Barth.
2143
2144         https://bugs.webkit.org/show_bug.cgi?id=45855
2145         Windowless plugins added dynamically to the DOM should receive paint events.
2146         This is done by ensuring that the plugin widget is marked for painting when
2147         it is added.
2148
2149         Test: plugins/windowless_plugin_paint_test.html
2150
2151         * rendering/RenderWidget.cpp:
2152         (WebCore::RenderWidget::setWidget):
2153
2154 2011-03-31  Adam Roben  <aroben@apple.com>
2155
2156         Add a new AbstractCACFLayerTreeHost base class
2157
2158         This class exposes the interface that LayerChangesFlusher and PlatformCALayer rely on.
2159         CACFLayerTreeHost now derives from AbstractCACFLayerTreeHost. In the future, WebKit2's
2160         LayerTreeHostCA will also derive from it (on Windows).
2161
2162         This should cause no change in behavior.
2163
2164         Fixes <http://webkit.org/b/57598> Coupling between CACFLayerTreeHost and other CACF-related
2165         code is too high
2166
2167         Reviewed by Anders Carlsson.
2168
2169         * WebCore.vcproj/WebCore.vcproj: Added AbstractCACFLayerTreeHost, and let VS reorder files.
2170
2171         * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h: Added.
2172
2173         * platform/graphics/ca/win/CACFLayerTreeHost.h: Changed to derive from
2174         AbstractCACFLayerTreeHost, and annotated the overrides of its functions.
2175         AbstractCACFLayerTreeHost also allows us to get rid of the friend relationship with
2176         PlatformCALayer.
2177
2178         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
2179         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
2180         (WebCore::LayerChangesFlusher::cancelPendingFlush):
2181         (WebCore::LayerChangesFlusher::hookFired):
2182         * platform/graphics/ca/win/LayerChangesFlusher.h:
2183         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2184         (layerTreeHostForLayer):
2185         (PlatformCALayer::rootLayer):
2186         (PlatformCALayer::setNeedsCommit):
2187         (PlatformCALayer::addAnimationForKey):
2188         (PlatformCALayer::removeAnimationForKey):
2189         Changed to use AbstractCACFLayerTreeHost instead of using CACFLayerTreeHost directly.
2190
2191 2011-03-31  Andy Estes  <aestes@apple.com>
2192
2193         Reviewed by Alexey Proskuryakov.
2194
2195         REGRESSION: Java applet fails to load when <object> has a classid attribute.
2196         https://bugs.webkit.org/show_bug.cgi?id=52703
2197         
2198         Java applets embedded with the object element sometimes use classid to
2199         specify their main resource. When this is done, the classid is prefixed
2200         with "java:". Treat these as supported classids in WebKit.
2201
2202         Test: java/embedding-java-with-object.html
2203
2204         * html/HTMLObjectElement.cpp:
2205         (WebCore::HTMLObjectElement::hasValidClassId): If the MIME type is a
2206         Java Applet type and the classid starts with "java:", the classid
2207         should be considered valid.
2208
2209 2011-03-31  Brent Fulgham  <bfulgham@webkit.org>
2210
2211         Reviewed Adam Roben.
2212
2213         [WinCairo] Implement Missing drawWindowsBitmap method.
2214         https://bugs.webkit.org/show_bug.cgi?id=57409
2215
2216         * WebCore.vcproj/WebCore.vcproj: Add new DIBPixelData files.
2217         * platform/graphics/GraphicsContext.h:
2218         (WebCore::GraphicsContext::WindowsBitmap::buffer):
2219         (WebCore::GraphicsContext::WindowsBitmap::bufferLength):
2220         (WebCore::GraphicsContext::WindowsBitmap::size):
2221         (WebCore::GraphicsContext::WindowsBitmap::bytesPerRow):
2222         (WebCore::GraphicsContext::WindowsBitmap::bitsPerPixel):
2223         (WebCore::GraphicsContext::WindowsBitmap::windowsDIB):
2224         * platform/graphics/win/GraphicsContextCGWin.cpp:
2225         (WebCore::CGContextWithHDC):
2226         (WebCore::GraphicsContext::releaseWindowsContext): Modified to use
2227         new common routines.
2228         * platform/graphics/win/GraphicsContextCairoWin.cpp:
2229         (WebCore::drawBitmapToContext): New common drawing implementation.
2230         (WebCore::GraphicsContext::releaseWindowsContext): Modified to use
2231         new common routines.
2232         (WebCore::GraphicsContext::drawWindowsBitmap):
2233         * platform/graphics/win/GraphicsContextWin.cpp:
2234         (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): Modified
2235         to use new DIBPixelData data type.
2236         * platform/graphics/win/DIBPixelData.cpp: Added.
2237         (WebCore::DIBPixelData::DIBPixelData):
2238         (WebCore::DIBPixelData::initialize):
2239         * platform/graphics/win/DIBPixelData.h: Added.
2240         (WebCore::DIBPixelData::DIBPixelData):
2241         (WebCore::DIBPixelData::buffer):
2242         (WebCore::DIBPixelData::bufferLength):
2243         (WebCore::DIBPixelData::size):
2244         (WebCore::DIBPixelData::bytesPerRow):
2245         (WebCore::DIBPixelData::bitsPerPixel):
2246
2247 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2248
2249         Unreviewed, rolling out r81849.
2250         http://trac.webkit.org/changeset/81849
2251         https://bugs.webkit.org/show_bug.cgi?id=57588
2252
2253         CSS Parsing broke with -webkit-calc and introduced crashes
2254         (Requested by inferno-sec on #webkit).
2255
2256         * css/CSSGrammar.y:
2257         * css/CSSParserValues.cpp:
2258         * css/CSSParserValues.h:
2259         * css/tokenizer.flex:
2260
2261 2011-03-31  Adam Roben  <aroben@apple.com>
2262
2263         Don't ref CACFLayerTreeHosts when telling them to flush layer changes
2264
2265         LayerChangesFlusher was reffing CACFLayerTreeHosts before calling out to them. This would
2266         have protected us if calling out to one CACFLayerTreeHost could cause a different
2267         CACFLayerTreeHost to be destroyed. But that isn't possible; each CACFLayerTreeHost is
2268         associated with its own page, and flushing layer changes doesn't touch any other page. So it
2269         isn't possible for a CACFLayerTreeHost to be deleted while another one is flushing layer
2270         changes.
2271
2272         One benefit of this change is that it will make it easier to make LayerChangesFlusher
2273         interact with a forthcoming abstract base class, rather than with CACFLayerTreeHost itself.
2274
2275         This should cause no change in behavior.
2276
2277         Fixes <http://webkit.org/b/57590> LayerChangesFlusher unnecessarily refs CACFLayerTreeHost
2278         before calling out to it
2279
2280         Reviewed by Darin Adler.
2281
2282         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
2283         (WebCore::LayerChangesFlusher::hookFired): Just store bare pointers to the
2284         CACFLayerTreeHosts.
2285
2286 2011-03-31  Antti Koivisto  <antti@apple.com>
2287
2288         Reviewed by Oliver Hunt.
2289
2290         https://bugs.webkit.org/show_bug.cgi?id=57574
2291         Preload scanner fails to pick up resources from document.write() output
2292
2293         - Scan script inserted source using a separate preload scanner.
2294         - Make the main preload scanner correctly process the remaining source if script execution blocked the parser.
2295
2296         Tests: fast/preloader/document-write-2.html
2297                fast/preloader/document-write.html
2298
2299         * html/parser/HTMLDocumentParser.cpp:
2300         (WebCore::HTMLDocumentParser::insert):
2301         (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
2302         * html/parser/HTMLDocumentParser.h:
2303         (WebCore::HTMLDocumentParser::hasPreloadScanner):
2304         * html/parser/HTMLScriptRunner.cpp:
2305         (WebCore::HTMLScriptRunner::execute):
2306         * html/parser/HTMLScriptRunnerHost.h:
2307
2308 2011-03-31  Tony Gentilcore  <tonyg@chromium.org>
2309
2310         Build fix: Add missing include
2311         https://bugs.webkit.org/show_bug.cgi?id=57587
2312
2313         * loader/cache/CachedResourceLoader.cpp:
2314
2315 2011-03-31  Tony Gentilcore  <tonyg@chromium.org>
2316
2317         Reviewed by Antti Koivisto.
2318
2319         PreloadScanner doesn&apos;t find image while executing script in head
2320         https://bugs.webkit.org/show_bug.cgi?id=45072
2321
2322         Previously, while parsing the head, no resources in the body would be
2323         preloaded. After this patch, we will preload scripts and styles in the
2324         body, although we continue to hold off on all images until the page is 
2325         first rendered.
2326
2327         To evaluate this change, I've recorded a sampling of 45 of alexa's top
2328         sites and replayed them under simulated bandwidth conditions, loading
2329         each 5-15 times until stddev is small enough.
2330
2331         Time to the load event improved at the overall average by 3%.
2332         Most sites are unchanged, but sites with certain blocking patterns had
2333         big wins -- ebay 19% (331ms), microsoft 15% (226ms), conduit 15% (277ms)
2334         nytimes 7% (182ms).
2335
2336         Time to DOM content loaded event improved by 6% with some even bigger
2337         individual wins.
2338
2339         First paint time held steady.
2340
2341         Note that I originally wanted to allow preloading of images while in the
2342         head, but that regressed first paint time (even though it was better for
2343         overall load time).
2344
2345         Test: fast/preloader/scan-body-from-head.html
2346
2347         * loader/cache/CachedResourceLoader.cpp:
2348         (WebCore::CachedResourceLoader::preload):
2349
2350 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2351
2352         Unreviewed, rolling out r82616.
2353         http://trac.webkit.org/changeset/82616
2354         https://bugs.webkit.org/show_bug.cgi?id=57585
2355
2356         New test does not pass on Gtk, chromium-mac, chromium-linux
2357         and possibly elsewhere (Requested by abarth|gardener on
2358         #webkit).
2359
2360         * rendering/RenderWidget.cpp:
2361         (WebCore::RenderWidget::setWidget):
2362
2363 2011-03-31  Adrienne Walker  <enne@google.com>
2364
2365         Reviewed by James Robinson.
2366
2367         [chromium] Fix ownership semantics for LayerChromium/CCLayerImpl
2368         https://bugs.webkit.org/show_bug.cgi?id=57577
2369
2370         LayerRendererChromium now uses a RefPtr to preserve ownership of all
2371         of the CCLayerImpl layers that it is using during the update/draw
2372         pass.  Addtionally, when a LayerChromium is destroyed, the weak
2373         owner pointer from its CCLayerImpl is correctly unset.
2374
2375         * platform/graphics/chromium/LayerRendererChromium.cpp:
2376         (WebCore::LayerRendererChromium::compareLayerZ):
2377         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2378         (WebCore::LayerRendererChromium::updateLayers):
2379         (WebCore::LayerRendererChromium::drawLayers):
2380         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
2381         (WebCore::LayerRendererChromium::drawLayer):
2382         * platform/graphics/chromium/LayerRendererChromium.h:
2383         * platform/graphics/chromium/RenderSurfaceChromium.h:
2384         * platform/graphics/chromium/VideoLayerChromium.cpp:
2385         (WebCore::VideoLayerChromium::updateCompositorResources):
2386         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2387         (WebCore::CCLayerImpl::drawsContent):
2388         (WebCore::CCLayerImpl::cleanupResources):
2389
2390 2011-03-31  Sam Weinig  <sam@webkit.org>
2391
2392         Reviewed by Anders Carlsson.
2393
2394         Rename WebCore's UI_STRING to WEB_UI_STRING to not overlap with WebKit API
2395         https://bugs.webkit.org/show_bug.cgi?id=57582
2396
2397         * platform/DefaultLocalizationStrategy.cpp:
2398         * platform/LocalizedStrings.h:
2399
2400 2011-03-31  Eric Seidel  <eric@webkit.org>
2401
2402         Reviewed by Ryosuke Niwa.
2403
2404         Rename BidiResolver::lastBeforeET to m_lastBeforeET to match modern style
2405         https://bugs.webkit.org/show_bug.cgi?id=57550
2406
2407         * platform/text/BidiResolver.h:
2408         (WebCore::::createBidiRunsForLine):
2409
2410 2011-03-31  Anantanarayanan G Iyengar  <ananta@chromium.org>
2411
2412         Reviewed by James Robinson.
2413
2414         https://bugs.webkit.org/show_bug.cgi?id=45855
2415         Windowless plugins added dynamically to the DOM should receive paint events.
2416         This is done by ensuring that the plugin widget is marked for painting when
2417         it is added.
2418
2419         Test: plugins/windowless_plugin_paint_test.html
2420
2421         * rendering/RenderWidget.cpp:
2422         (WebCore::RenderWidget::setWidget):
2423
2424 2011-03-31  Stephen White  <senorblanco@chromium.org>
2425
2426         Reviewed by Kenneth Russell.
2427
2428         Speed up accelerated path drawing.
2429         https://bugs.webkit.org/show_bug.cgi?id=57371
2430         This CL does three things:  re-uses the same vertex and index buffer
2431         for all path draws, converts all vertex layouts from vec3 to vec2, and
2432         does a convexity check for polygons before passing them to the
2433         tesselator.
2434
2435         Covered by canvas/philip/tests/2d.path.bezierCurveTo.*, and others.
2436
2437         * platform/graphics/chromium/GLES2Canvas.cpp:
2438         Replace the Vector<double> for interpolated curves with a
2439         Vector<FloatPoint>.
2440         (WebCore::Cubic::evaluate):
2441         Inline the evaluation function (as Quadratic does).
2442         (WebCore::GLES2Canvas::GLES2Canvas):
2443         Initialize the m_pathIndexBuffer.
2444         (WebCore::GLES2Canvas::~GLES2Canvas):
2445         Delete the path vertex and index buffers on destruction.
2446         (WebCore::interpolateQuadratic):
2447         (WebCore::interpolateCubic):
2448         Interpolate directly to a Vector<FloatPoint>, rather than
2449         Vector<double>.
2450         (WebCore::PolygonData::PolygonData):
2451         (WebCore::combineData):
2452         Replace the DoubleVector with a FloatPointVector.
2453         (WebCore::GLES2Canvas::tesselateAndFillPath):
2454         Move curve drawing into this function, and rename it to reflect the
2455         new behaviour.  Re-use the common vertex and index buffers.  If the
2456         curve consists of a single convex polygon, draw the curve as a single
2457         triangle fan.  Otherwise, convert it to doubles and pass it to the
2458         tesselator.
2459         (WebCore::GLES2Canvas::fillPathInternal):
2460         * platform/graphics/chromium/GLES2Canvas.h:
2461         Rename createVertexBufferFromPath() -> tesselateAndFillPath().
2462         Add a persistent index buffer for all path draws.
2463         * platform/graphics/gpu/BicubicShader.cpp:
2464         (WebCore::BicubicShader::create):
2465         (WebCore::BicubicShader::use):
2466         * platform/graphics/gpu/ConvolutionShader.cpp:
2467         (WebCore::ConvolutionShader::create):
2468         (WebCore::ConvolutionShader::use):
2469         Use vec2s instead of vec3s for all vertex data.
2470         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
2471         (WebCore::LoopBlinnMathUtils::convexCompare):
2472         (WebCore::LoopBlinnMathUtils::convexCross):
2473         (WebCore::LoopBlinnMathUtils::convexCheckTriple):
2474         (WebCore::LoopBlinnMathUtils::isConvex):
2475         * platform/graphics/gpu/LoopBlinnMathUtils.h:
2476         Implement a convexity check, based on the code in Graphics Gems IV.
2477         * platform/graphics/gpu/Shader.cpp:
2478         (WebCore::Shader::generateVertex):
2479         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2480         (WebCore::SharedGraphicsContext3D::useQuadVertices):
2481         * platform/graphics/gpu/SolidFillShader.cpp:
2482         (WebCore::SolidFillShader::use):
2483         * platform/graphics/gpu/TexShader.cpp:
2484         (WebCore::TexShader::use):
2485         Use vec2s instead of vec3s for all vertex data.
2486
2487 2011-03-31  David Hyatt  <hyatt@apple.com>
2488
2489         Reviewed by Simon Fraser.
2490
2491         https://bugs.webkit.org/show_bug.cgi?id=57565
2492
2493         Optimize overflow computations on lines to avoid allocating RenderOverflows in nearly all cases and to avoid even having
2494         to check the line for overflow in the first place.
2495         
2496         For the purposes of overflow computation, an inline object's default containment box for overflow is now assumed to extend
2497         all the way from lineTop to lineBottom instead of snugly fitting the inline object's own block dimensions. This allows
2498         replaced objects to be inside spans without triggering overflow allocation.
2499         
2500         The overflow accessors on InlineFlowBox have been changed to require passing in the lineTop and lineBottom so that the block
2501         dimensions can be forced to those values. Because these values are checked during painting and hit testing of lines, the
2502         lineTop and lineBottom are now passed as arguments to the painting and hit testing functions to avoid repeatedly crawling
2503         back up to the root box to fetch them.
2504         
2505         Added a new boolean flag to all InlineBoxes, knownToHaveNoOverflow(), and optimized for common cases where no overflow can
2506         possibly be present.  When the bit is set, computeOverflow will just immediately return.
2507  
2508         This change speeds up line layout by ~10%.
2509
2510         * rendering/EllipsisBox.cpp:
2511         (WebCore::EllipsisBox::paint):
2512         (WebCore::EllipsisBox::nodeAtPoint):
2513         * rendering/EllipsisBox.h:
2514         * rendering/InlineBox.cpp:
2515         (WebCore::InlineBox::paint):
2516         (WebCore::InlineBox::nodeAtPoint):
2517         (WebCore::InlineBox::clearKnownToHaveNoOverflow):
2518         * rendering/InlineBox.h:
2519         (WebCore::InlineBox::InlineBox):
2520         (WebCore::InlineBox::logicalFrameRect):
2521         (WebCore::InlineBox::knownToHaveNoOverflow):
2522         * rendering/InlineFlowBox.cpp:
2523         (WebCore::InlineFlowBox::addToLine):
2524         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
2525         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2526         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2527         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2528         (WebCore::InlineFlowBox::addReplacedChildOverflow):
2529         (WebCore::InlineFlowBox::computeOverflow):
2530         (WebCore::InlineFlowBox::setLayoutOverflow):
2531         (WebCore::InlineFlowBox::setVisualOverflow):
2532         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
2533         (WebCore::InlineFlowBox::nodeAtPoint):
2534         (WebCore::InlineFlowBox::paint):
2535         * rendering/InlineFlowBox.h:
2536         (WebCore::InlineFlowBox::layoutOverflowRect):
2537         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
2538         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
2539         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
2540         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
2541         (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
2542         (WebCore::InlineFlowBox::visualOverflowRect):
2543         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
2544         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
2545         (WebCore::InlineFlowBox::logicalTopVisualOverflow):
2546         (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
2547         (WebCore::InlineFlowBox::logicalVisualOverflowRect):
2548         (WebCore::InlineFlowBox::frameRectIncludingLineHeight):
2549         (WebCore::InlineFlowBox::logicalFrameRectIncludingLineHeight):
2550         * rendering/InlineTextBox.cpp:
2551         (WebCore::InlineTextBox::nodeAtPoint):
2552         (WebCore::InlineTextBox::paint):
2553         * rendering/InlineTextBox.h:
2554         * rendering/RenderBlock.cpp:
2555         (WebCore::RenderBlock::simplifiedNormalFlowLayout):
2556         (WebCore::RenderBlock::paintEllipsisBoxes):
2557         (WebCore::RenderBlock::adjustLinePositionForPagination):
2558         * rendering/RenderBlock.h:
2559         * rendering/RenderBlockLineLayout.cpp:
2560         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
2561         (WebCore::RenderBlock::layoutInlineChildren):
2562         (WebCore::RenderBlock::determineStartPosition):
2563         (WebCore::RenderBlock::matchedEndLine):
2564         (WebCore::RenderBlock::addOverflowFromInlineChildren):
2565         * rendering/RenderBox.h:
2566         (WebCore::RenderBox::hasRenderOverflow):
2567         * rendering/RenderBoxModelObject.cpp:
2568         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2569         * rendering/RenderInline.cpp:
2570         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
2571         * rendering/RenderLineBoxList.cpp:
2572         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
2573         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
2574         (WebCore::RenderLineBoxList::paint):
2575         (WebCore::RenderLineBoxList::hitTest):
2576         * rendering/RenderListItem.cpp:
2577         (WebCore::RenderListItem::positionListMarker):
2578         * rendering/RootInlineBox.cpp:
2579         (WebCore::RootInlineBox::paintEllipsisBox):
2580         (WebCore::RootInlineBox::addHighlightOverflow):
2581         (WebCore::RootInlineBox::paint):
2582         (WebCore::RootInlineBox::nodeAtPoint):
2583         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2584         * rendering/RootInlineBox.h:
2585         (WebCore::RootInlineBox::logicalTopVisualOverflow):
2586         (WebCore::RootInlineBox::logicalBottomVisualOverflow):
2587         (WebCore::RootInlineBox::logicalTopLayoutOverflow):
2588         (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
2589         * rendering/svg/SVGInlineFlowBox.cpp:
2590         (WebCore::SVGInlineFlowBox::paint):
2591         * rendering/svg/SVGInlineFlowBox.h:
2592         * rendering/svg/SVGInlineTextBox.cpp:
2593         (WebCore::SVGInlineTextBox::paint):
2594         * rendering/svg/SVGInlineTextBox.h:
2595         * rendering/svg/SVGRootInlineBox.cpp:
2596         (WebCore::SVGRootInlineBox::paint):
2597         * rendering/svg/SVGRootInlineBox.h:
2598
2599 2011-03-31  Pavel Feldman  <pfeldman@chromium.org>
2600
2601         Reviewed by Yury Semikhatsky.
2602
2603         Web Inspector: disable properties abbreviation.
2604         https://bugs.webkit.org/show_bug.cgi?id=57525
2605
2606         * inspector/InjectedScript.cpp:
2607         (WebCore::InjectedScript::getProperties):
2608         * inspector/InjectedScript.h:
2609         * inspector/InjectedScriptSource.js:
2610         (.):
2611         ():
2612         * inspector/Inspector.json:
2613         * inspector/InspectorRuntimeAgent.cpp:
2614         (WebCore::InspectorRuntimeAgent::getProperties):
2615         * inspector/InspectorRuntimeAgent.h:
2616         * inspector/front-end/ConsoleView.js:
2617         (WebInspector.ConsoleView.prototype.completions.evaluated):
2618         (WebInspector.ConsoleView.prototype._formatarray):
2619         * inspector/front-end/ObjectPropertiesSection.js:
2620         (WebInspector.ObjectPropertiesSection.prototype.update.callback):
2621         (WebInspector.ObjectPropertiesSection.prototype.update):
2622         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
2623         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2624         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
2625         * inspector/front-end/PropertiesSidebarPane.js:
2626         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
2627         * inspector/front-end/RemoteObject.js:
2628         (WebInspector.RemoteObject.prototype.getOwnProperties):
2629         (WebInspector.RemoteObject.prototype.getAllProperties):
2630         (WebInspector.RemoteObject.prototype._getProperties):
2631         (WebInspector.LocalJSONObject.prototype.getOwnProperties):
2632         (WebInspector.LocalJSONObject.prototype.getAllProperties):
2633         * inspector/front-end/inspector.css:
2634         (.console-formatted-string, .console-formatted-regexp):
2635
2636 2011-03-31  Adam Roben  <aroben@apple.com>
2637
2638         Update WKCACFViewLayerTreeHost for changes to WKCACFView API
2639
2640         This should not result in any change in behavior.
2641
2642         Fixes <http://webkit.org/b/57560> WKCACFViewLayerTreeHost needs to tell WKCACFView where to
2643         render
2644
2645         Reviewed by Darin Adler.
2646
2647         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Updated API declarations.
2648         (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Tell WKCACFView it should
2649         render into the window we give it.
2650
2651 2011-03-31  Marius Storm-Olsen  <marius.storm-olsen@nokia.com>
2652
2653         Reviewed by Kenneth Rohde Christiansen.
2654
2655         [Qt] Properly detect phonon include, and avoid double qtLibraryTarget() call
2656         https://bugs.webkit.org/show_bug.cgi?id=57017
2657
2658         Build fix. No new tests.
2659
2660         * WebCore.pri:
2661
2662 2011-03-31  Vsevolod Vlasov  <vsevik@chromium.org>
2663
2664         Reviewed by Pavel Feldman.
2665
2666         XML viewer is not shown when frame has non-null opener
2667         https://bugs.webkit.org/show_bug.cgi?id=56384
2668
2669         Removed opener check in XML viewer
2670
2671         Test: http/tests/xmlviewer/extensions-api.html
2672
2673         * xml/XMLTreeViewer.cpp:
2674         (WebCore::XMLTreeViewer::hasNoStyleInformation):
2675         * xml/XMLViewer.js:
2676
2677 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2678
2679         Unreviewed, rolling out r82589.
2680         http://trac.webkit.org/changeset/82589
2681         https://bugs.webkit.org/show_bug.cgi?id=57564
2682
2683         This patch requires many more updated results than it contains
2684         (Requested by abarth|gardener on #webkit).
2685
2686         * css/CSSSelector.cpp:
2687         (WebCore::CSSSelector::pseudoId):
2688         (WebCore::nameToPseudoTypeMap):
2689         (WebCore::CSSSelector::extractPseudoType):
2690         * css/CSSSelector.h:
2691         * css/html.css:
2692         (meter::-webkit-meter-horizontal-bar):
2693         (meter::-webkit-meter-vertical-bar):
2694         (meter::-webkit-meter-horizontal-optimum-value):
2695         (meter::-webkit-meter-horizontal-suboptimal-value):
2696         (meter::-webkit-meter-horizontal-even-less-good-value):
2697         (meter::-webkit-meter-vertical-optimum-value):
2698         (meter::-webkit-meter-vertical-suboptimal-value):
2699         (meter::-webkit-meter-vertical-even-less-good-value):
2700         * rendering/RenderMeter.cpp:
2701         (WebCore::MeterPartElement::MeterPartElement):
2702         (WebCore::MeterPartElement::createForPart):
2703         (WebCore::MeterPartElement::hide):
2704         (WebCore::MeterPartElement::restoreVisibility):
2705         (WebCore::MeterPartElement::updateStyleForPart):
2706         (WebCore::MeterPartElement::saveVisibility):
2707         (WebCore::RenderMeter::~RenderMeter):
2708         (WebCore::RenderMeter::createPart):
2709         (WebCore::RenderMeter::updateFromElement):
2710         (WebCore::RenderMeter::layoutParts):
2711         (WebCore::RenderMeter::shouldHaveParts):
2712         (WebCore::RenderMeter::valuePartRect):
2713         (WebCore::RenderMeter::orientation):
2714         (WebCore::RenderMeter::valuePseudoId):
2715         (WebCore::RenderMeter::barPseudoId):
2716         * rendering/RenderMeter.h:
2717         (WebCore::RenderMeter::shadowAttached):
2718         * rendering/RenderTheme.cpp:
2719         (WebCore::RenderTheme::supportsMeter):
2720         * rendering/RenderTheme.h:
2721         * rendering/RenderThemeMac.h:
2722         * rendering/RenderThemeMac.mm:
2723         (WebCore::RenderThemeMac::paintMeter):
2724         (WebCore::RenderThemeMac::supportsMeter):
2725         * rendering/style/RenderStyleConstants.h:
2726
2727 2011-03-31  Xan Lopez  <xlopez@igalia.com>
2728
2729         Reviewed by Martin Robinson.
2730
2731         [GTK] Link explicitly with XRender on Linux/Unix
2732         https://bugs.webkit.org/show_bug.cgi?id=57558
2733
2734         * GNUmakefile.am: add XRender CFLAGS.
2735
2736 2011-03-31  Eric Seidel  <eric@webkit.org>
2737
2738         Reviewed by Ryosuke Niwa.
2739
2740         Rename BidiResolver::emptyRun to m_emtpyRun to match modern style
2741         https://bugs.webkit.org/show_bug.cgi?id=57549
2742
2743         * platform/text/BidiResolver.h:
2744         (WebCore::BidiResolver::BidiResolver):
2745         (WebCore::::appendRun):
2746         (WebCore::::lowerExplicitEmbeddingLevel):
2747         (WebCore::::raiseExplicitEmbeddingLevel):
2748         (WebCore::::deleteRuns):
2749         (WebCore::::createBidiRunsForLine):
2750         * rendering/InlineIterator.h:
2751         (WebCore::InlineBidiResolver::appendRun):
2752
2753 2011-03-31  Tom Sepez  <tsepez@chromium.org>
2754
2755         Reviewed by Eric Seidel.
2756
2757         Make ContainerNode::insertIntoDocument() collect all nodes before
2758         operating on any of them.  Add small helper function and use it
2759         througout the file where this action is already taking place.
2760         https://bugs.webkit.org/show_bug.cgi?id=57265
2761         
2762         Test: svg/dom/range-delete.html
2763
2764         * dom/ContainerNode.cpp:
2765         (WebCore::collectNodes):
2766         (WebCore::collectTargetNodes):
2767         (WebCore::ContainerNode::takeAllChildrenFrom):
2768         (WebCore::willRemoveChildren):
2769         (WebCore::ContainerNode::insertedIntoDocument):
2770
2771 2011-03-31  Satish Sampath  <satish@chromium.org>
2772
2773         Reviewed by Steve Block.
2774
2775         While drawing a speech input button, validate that the node is really a speech input button.
2776         https://bugs.webkit.org/show_bug.cgi?id=57469
2777
2778         Test: fast/speech/speech-style-on-non-speech-elements.html
2779
2780         * dom/Element.h:
2781         (WebCore::Element::isInputFieldSpeechButtonElement):
2782         * html/shadow/TextControlInnerElements.h:
2783         (WebCore::InputFieldSpeechButtonElement::isInputFieldSpeechButtonElement):
2784         (WebCore::toInputFieldSpeechButtonElement):
2785         * rendering/RenderInputSpeech.cpp:
2786         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
2787
2788 2011-03-31  Ryosuke Niwa  <rniwa@webkit.org>
2789
2790         Build fix after r82588. Reverted unintentional change.
2791
2792         * editing/SelectionController.cpp:
2793         (WebCore::SelectionController::modifyMovingLeft):
2794
2795 2011-03-31  Mario Sanchez Prada  <msanchez@igalia.com>
2796
2797         Reviewed by Xan Lopez.
2798
2799         [GTK] Warnings happening because of unhandled switch cases in AccessibilityObjectWrapperAtk
2800         https://bugs.webkit.org/show_bug.cgi?id=57534
2801
2802         Fix compilation warnings.
2803
2804         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2805         (getAttributeSetForAccessibilityObject): Add unhandled cases.
2806
2807 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
2808
2809         Reviewed by Pavel Feldman.
2810
2811         Web Inspector: remove unnecessary newBody output parameter from editScriptSource protocol method.
2812         https://bugs.webkit.org/show_bug.cgi?id=57444
2813
2814         * bindings/js/ScriptDebugServer.cpp:
2815         (WebCore::ScriptDebugServer::editScriptSource):
2816         * bindings/js/ScriptDebugServer.h:
2817         * bindings/v8/ScriptDebugServer.cpp:
2818         (WebCore::ScriptDebugServer::editScriptSource):
2819         * bindings/v8/ScriptDebugServer.h:
2820         * inspector/Inspector.json:
2821         * inspector/InspectorDebuggerAgent.cpp:
2822         (WebCore::InspectorDebuggerAgent::editScriptSource):
2823         * inspector/InspectorDebuggerAgent.h:
2824         * inspector/front-end/DebuggerModel.js:
2825         (WebInspector.DebuggerModel.prototype.editScriptSource):
2826         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
2827         * inspector/front-end/DebuggerPresentationModel.js:
2828         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
2829         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
2830         * inspector/front-end/SourceFrame.js:
2831         (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
2832         (WebInspector.SourceFrame.prototype._handleSave):
2833
2834 2011-03-30  MORITA Hajime <morrita@google.com>
2835
2836         Reviewed by Dimitri Glazkov.
2837
2838         <meter> can only support horizontal indicator
2839         https://bugs.webkit.org/show_bug.cgi?id=56001
2840
2841         - Removed code which deals with the direction and
2842           left the horizontal path.
2843         - Removed "horizontal" from related names which is now
2844           redundant.
2845         
2846         * css/CSSSelector.cpp:
2847         (WebCore::CSSSelector::pseudoId):
2848         (WebCore::nameToPseudoTypeMap):
2849         (WebCore::CSSSelector::extractPseudoType):
2850         * css/CSSSelector.h:
2851         * css/html.css:
2852         (meter::-webkit-meter-bar):
2853         (meter::-webkit-meter-optimum-value):
2854         (meter::-webkit-meter-suboptimal-value):
2855         (meter::-webkit-meter-even-less-good-value):
2856         * rendering/RenderMeter.cpp:
2857         (WebCore::RenderMeter::~RenderMeter):
2858         (WebCore::RenderMeter::createPart):
2859         (WebCore::RenderMeter::updateFromElement):
2860         (WebCore::RenderMeter::layoutParts):
2861         (WebCore::RenderMeter::styleDidChange):
2862         (WebCore::RenderMeter::shouldHaveParts):
2863         (WebCore::RenderMeter::valuePartRect):
2864         (WebCore::RenderMeter::valuePseudoId):
2865         (WebCore::RenderMeter::barPseudoId):
2866         (WebCore::RenderMeter::detachShadows):
2867         (WebCore::RenderMeter::updateShadows):
2868         * rendering/RenderMeter.h:
2869         (WebCore::RenderMeter::shadowAttached):
2870         * rendering/RenderTheme.cpp:
2871         (WebCore::RenderTheme::supportsMeter):
2872         * rendering/RenderTheme.h:
2873         * rendering/RenderThemeMac.h:
2874         * rendering/RenderThemeMac.mm:
2875         (WebCore::RenderThemeMac::paintMeter):
2876         (WebCore::RenderThemeMac::supportsMeter):
2877         * rendering/style/RenderStyleConstants.h:
2878
2879 2011-03-30  Xiaomei Ji  <xji@chromium.org>
2880
2881         Reviewed by Ryosuke Niwa.
2882
2883         Experiment with moving caret by word in visual order.
2884         https://bugs.webkit.org/show_bug.cgi?id=57336
2885
2886         Follow Firefox's convention in Windows, 
2887         In LTR block, word break visually moves cursor to the left boundary of words,
2888         In RTL block, word break visually moves cursor to the right boundary of words.
2889
2890         This is the 1st version of implementing "move caret by word in visual order".
2891         It only works in the following situation:
2892         1. For a LTR box in a LTR block or a RTL box in RTL block, 
2893         when caret is at the left boundary of the box and we are looking for 
2894         the word boundary in right.
2895         2. For a LTR or RTL box in a LTR block, when caret is at the left boundary
2896         of the box and we are looking for the word boundary in left and 
2897         previous box is a LTR box.
2898         3. For a LTR or RTL box in a RTL block, when the caret is at the right 
2899         boundary of the box and we are looking for the word boundary in right and next box is RTL box.
2900
2901         An experimental granularity is introduced, as a side effect, functions having switch statements
2902         to handle those granularities have to add more one case to handle this new granularity.
2903         The experimental granularity is exposed though JS by '-webkit-visual-word".
2904
2905         The overall algorithm is looping through inline boxes visually and looking
2906         for the visually nearest word break position. 
2907
2908         Test: editing/selection/move-by-word-visually.html
2909
2910         * editing/SelectionController.cpp:
2911         (WebCore::SelectionController::modifyExtendingRight):
2912         (WebCore::SelectionController::modifyExtendingForward):
2913         (WebCore::SelectionController::modifyMovingRight):
2914         (WebCore::SelectionController::modifyMovingForward):
2915         (WebCore::SelectionController::modifyExtendingLeft):
2916         (WebCore::SelectionController::modifyExtendingBackward):
2917         (WebCore::SelectionController::modifyMovingLeft):
2918         (WebCore::SelectionController::modifyMovingBackward):
2919         * editing/TextGranularity.h:
2920         * editing/VisibleSelection.cpp:
2921         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
2922         * editing/visible_units.cpp:
2923         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
2924         (WebCore::wordBoundaryInBox):
2925         (WebCore::wordBoundaryInAdjacentBoxes):
2926         (WebCore::leftWordBoundary):
2927         (WebCore::rightWordBoundary):
2928         (WebCore::leftWordPosition):
2929         (WebCore::rightWordPosition):
2930         * editing/visible_units.h:
2931         * page/DOMSelection.cpp:
2932         (WebCore::DOMSelection::modify):
2933
2934 2011-03-31  Dimitri Glazkov  <dglazkov@chromium.org>
2935
2936         Reviewed by Darin Adler.
2937
2938         Move coordinate-computing logic into MouseRelatedEvent.
2939         https://bugs.webkit.org/show_bug.cgi?id=57521
2940
2941         Refactoring, covered by existing tests.
2942
2943         * dom/EventDispatcher.cpp:
2944         (WebCore::EventDispatcher::dispatchWheelEvent): Yank calculation of
2945             coordinates out.
2946         (WebCore::EventDispatcher::dispatchMouseEvent): Ditto.
2947         * dom/MouseEvent.cpp:
2948         (WebCore::MouseEvent::create): Add coordinate-computing logic.
2949         * dom/MouseEvent.h: Adjust decl to reflect new meaning of params.
2950         * dom/MouseRelatedEvent.cpp:
2951         (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
2952         * page/EventHandler.cpp:
2953         (WebCore::EventHandler::dispatchDragEvent): Ditto.
2954
2955 2011-03-30  Alexander Pavlov  <apavlov@chromium.org>
2956
2957         Reviewed by Pavel Feldman.
2958
2959         Web Inspector: document CSS agent.
2960         https://bugs.webkit.org/show_bug.cgi?id=57435
2961
2962         * inspector/Inspector.json:
2963
2964 2011-03-31  Andrey Kosyakov  <caseq@chromium.org>
2965
2966         Reviewed by Yury Semikhatsky.
2967
2968         Web Inspector: remove periods at the end of error messages
2969         https://bugs.webkit.org/show_bug.cgi?id=57544
2970
2971         * inspector/InjectedScript.cpp:
2972         (WebCore::InjectedScript::getProperties):
2973         (WebCore::InjectedScript::makeObjectCall):
2974         * inspector/InspectorCSSAgent.cpp:
2975         (WebCore::InspectorCSSAgent::elementForId):
2976         (WebCore::InspectorCSSAgent::styleSheetForId):
2977         * inspector/InspectorDOMAgent.cpp:
2978         (WebCore::InspectorDOMAgent::assertNode):
2979         (WebCore::InspectorDOMAgent::assertElement):
2980         (WebCore::InspectorDOMAgent::assertHTMLElement):
2981         (WebCore::InspectorDOMAgent::querySelector):
2982         (WebCore::InspectorDOMAgent::querySelectorAll):
2983         (WebCore::InspectorDOMAgent::setAttribute):
2984         (WebCore::InspectorDOMAgent::removeAttribute):
2985         (WebCore::InspectorDOMAgent::removeNode):
2986         (WebCore::InspectorDOMAgent::setNodeValue):
2987         * inspector/InspectorDebuggerAgent.cpp:
2988         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
2989         * inspector/InspectorResourceAgent.cpp:
2990         (WebCore::InspectorResourceAgent::resourceContent):
2991         (WebCore::InspectorResourceAgent::resourceContentBase64):
2992         (WebCore::InspectorResourceAgent::getResourceContent):
2993         * inspector/InspectorRuntimeAgent.cpp:
2994         (WebCore::InspectorRuntimeAgent::setPropertyValue):
2995
2996 2011-03-31  Evan Martin  <evan@chromium.org>
2997
2998         Reviewed by Eric Seidel.
2999
3000         <title> should support dir attribute
3001         https://bugs.webkit.org/show_bug.cgi?id=50961
3002
3003         Introduce a new StringWithDirection object that carries a String along
3004         with the TextDirection associated with the String.  Use this object for
3005         document titles used within WebCore, because in HTML the direction of
3006         a title can be set with the 'dir' attribute.
3007
3008         Put FIXMEs at the WebKit level to expose the new direction information
3009         to clients.
3010
3011         No behavioral change intended, so no new tests.  A follow-up will expose
3012         the title direction and hopefully can be accompanied by tests that
3013         verify it is correct.
3014
3015         * dom/Document.cpp:
3016         (WebCore::Document::Document):
3017         (WebCore::Document::updateTitle):
3018         (WebCore::Document::setTitle):
3019         (WebCore::Document::removeTitle):
3020         * dom/Document.h:
3021         (WebCore::Document::title):
3022         * html/HTMLTitleElement.cpp:
3023         (WebCore::HTMLTitleElement::HTMLTitleElement):
3024         (WebCore::HTMLTitleElement::childrenChanged):
3025         (WebCore::HTMLTitleElement::text):
3026         (WebCore::HTMLTitleElement::textWithDirection):
3027         * html/HTMLTitleElement.h:
3028         * loader/DocumentLoader.cpp:
3029         (WebCore::DocumentLoader::setTitle):
3030         * loader/DocumentLoader.h:
3031         (WebCore::DocumentLoader::title):
3032         * loader/EmptyClients.h:
3033         (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveTitle):
3034         (WebCore::EmptyFrameLoaderClient::setTitle):
3035         * loader/FrameLoader.cpp:
3036         (WebCore::FrameLoader::receivedFirstData):
3037         (WebCore::FrameLoader::commitProvisionalLoad):
3038         (WebCore::FrameLoader::setTitle):
3039         * loader/FrameLoader.h:
3040         * loader/FrameLoaderClient.h:
3041         * loader/HistoryController.cpp:
3042         (WebCore::HistoryController::updateForBackForwardNavigation):
3043         (WebCore::HistoryController::updateForReload):
3044         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
3045         (WebCore::HistoryController::updateForClientRedirect):
3046         (WebCore::HistoryController::updateForCommit):
3047         (WebCore::HistoryController::setCurrentItemTitle):
3048         (WebCore::HistoryController::initializeItem):
3049         * loader/HistoryController.h:
3050         * platform/text/StringWithDirection.h: Added.
3051         (WebCore::StringWithDirection::StringWithDirection):
3052         (WebCore::StringWithDirection::operator==):
3053         (WebCore::StringWithDirection::operator!=):
3054         * svg/SVGTitleElement.cpp:
3055         (WebCore::SVGTitleElement::insertedIntoDocument):
3056         (WebCore::SVGTitleElement::childrenChanged):
3057
3058 2011-03-31  Alexander Pavlov  <apavlov@chromium.org>
3059
3060         Reviewed by Yury Semikhatsky.
3061
3062         Web Inspector: CSS domain - make a "range" object, get rid of "properties" object for Style objects
3063         https://bugs.webkit.org/show_bug.cgi?id=57538
3064
3065         * inspector/InspectorStyleSheet.cpp:
3066         (WebCore::buildSourceRangeObject):
3067         (WebCore::InspectorStyle::buildObjectForStyle):
3068         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
3069         * inspector/front-end/AuditRules.js:
3070         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
3071         * inspector/front-end/CSSStyleModel.js:
3072         (WebInspector.CSSStyleDeclaration):
3073
3074 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
3075
3076         Unreviewed, rolling out r82565.
3077         http://trac.webkit.org/changeset/82565
3078         https://bugs.webkit.org/show_bug.cgi?id=57541
3079
3080         Caused assertion failures. (Requested by bbandix on #webkit).
3081
3082         * platform/graphics/filters/FEFlood.cpp:
3083         (WebCore::FEFlood::setFloodColor):
3084         (WebCore::FEFlood::setFloodOpacity):
3085         * platform/graphics/filters/FEFlood.h:
3086         * platform/graphics/filters/FESpecularLighting.cpp:
3087         (WebCore::FESpecularLighting::setLightingColor):
3088         * platform/graphics/filters/FESpecularLighting.h:
3089         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
3090         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
3091         * rendering/svg/SVGResourcesCache.cpp:
3092         (WebCore::SVGResourcesCache::clientStyleChanged):
3093         * svg/SVGFEDiffuseLightingElement.cpp:
3094         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3095         * svg/SVGFEFloodElement.cpp:
3096         * svg/SVGFEFloodElement.h:
3097         * svg/SVGFESpecularLightingElement.cpp:
3098         (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
3099
3100 2011-03-31  Renata Hodovan  <reni@webkit.org>
3101
3102         Reviewed by Dirk Schulze.
3103
3104         CSS related SVG*Element changes doesn't require relayout
3105         https://bugs.webkit.org/show_bug.cgi?id=56906
3106
3107         The changes of some CSS related SVGFilter properties e.g. lighting-color, flood-color, flood-opacity
3108         need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange()
3109         we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties
3110         via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes.
3111
3112         Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html
3113                svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html
3114                svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html
3115                svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html
3116
3117         * platform/graphics/filters/FEFlood.cpp:
3118         (WebCore::FEFlood::setFloodColor):
3119         (WebCore::FEFlood::setFloodOpacity):
3120         * platform/graphics/filters/FEFlood.h:
3121         * platform/graphics/filters/FESpecularLighting.cpp:
3122         (WebCore::FESpecularLighting::setLightingColor):
3123         * platform/graphics/filters/FESpecularLighting.h:
3124         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
3125         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
3126         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
3127         * rendering/svg/SVGResourcesCache.cpp:
3128         (WebCore::SVGResourcesCache::clientStyleChanged):
3129         * svg/SVGFEDiffuseLightingElement.cpp:
3130         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3131         * svg/SVGFEFloodElement.cpp:
3132         (WebCore::SVGFEFloodElement::setFilterEffectAttribute):
3133         * svg/SVGFEFloodElement.h:
3134         * svg/SVGFESpecularLightingElement.cpp:
3135         (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
3136
3137 2011-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
3138
3139         Reviewed by Pavel Feldman.
3140
3141         XML Viewer: declared namespaces are not rendered.
3142         https://bugs.webkit.org/show_bug.cgi?id=56262
3143
3144         XML viewer rewritten on javascript.
3145
3146         * CMakeLists.txt:
3147         * DerivedSources.make:
3148         * GNUmakefile.am:
3149         * WebCore.gyp/WebCore.gyp:
3150         * WebCore.gypi:
3151         * WebCore.vcproj/WebCore.vcproj:
3152         * WebCore.xcodeproj/project.pbxproj:
3153         * dom/XMLDocumentParserLibxml2.cpp:
3154         (WebCore::XMLDocumentParser::doEnd):
3155         * xml/XMLTreeViewer.cpp:
3156         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
3157         * xml/XMLViewer.css: Added.
3158         * xml/XMLViewer.js: Added.
3159         * xml/XMLViewer.xsl: Removed.
3160         * xml/XSLStyleSheet.h:
3161
3162 2011-03-31  Jaehun Lim  <ljaehun.lim@samsung.com>
3163
3164         Unreviewed build fix.
3165
3166         Fix build break after rolling out r82496
3167         https://bugs.webkit.org/show_bug.cgi?id=57536
3168
3169         * platform/efl/RenderThemeEfl.cpp:
3170
3171 2011-03-31  Andrey Adaikin  <aandrey@google.com>
3172
3173         Reviewed by Pavel Feldman.
3174
3175         Web Inspector: execution line is displayed incorrectly after source editing.
3176         https://bugs.webkit.org/show_bug.cgi?id=57229
3177
3178         * inspector/front-end/SourceFrame.js:
3179         (WebInspector.SourceFrame.prototype._saveViewerState):
3180         (WebInspector.SourceFrame.prototype._restoreViewerState):
3181         (WebInspector.SourceFrame.prototype._startEditing):
3182         (WebInspector.SourceFrame.prototype._endEditing):
3183         (WebInspector.SourceFrame.prototype._createTextViewer):
3184         (WebInspector.SourceFrame.prototype.setExecutionLine):
3185         (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
3186         (WebInspector.SourceFrame.prototype._handleSave):
3187         (WebInspector.SourceFrame.prototype._handleRevertEditing):
3188         * inspector/front-end/TextViewer.js:
3189         (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
3190         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
3191         (WebInspector.TextEditorMainPanel.prototype.makeLineAChunk):
3192         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
3193
3194 2011-03-30  Alexander Pavlov  <apavlov@chromium.org>
3195
3196         Reviewed by Pavel Feldman.
3197
3198         Web Inspector: Make the CSStyle "shorthandValues" name-value map an array
3199         https://bugs.webkit.org/show_bug.cgi?id=57452
3200
3201         No new tests, as this is a refactoring.
3202
3203         * inspector/InspectorCSSAgent.cpp:
3204         * inspector/InspectorStyleSheet.cpp:
3205         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
3206         * inspector/front-end/CSSStyleModel.js:
3207         (WebInspector.CSSStyleDeclaration):
3208         (WebInspector.CSSStyleDeclaration.buildShorthandValueMap):
3209
3210 2011-03-30  Steve Block  <steveblock@google.com>
3211
3212         Reviewed by Jeremy Orlow.
3213
3214         JavaField should not expose JavaString in its API
3215         https://bugs.webkit.org/show_bug.cgi?id=55766
3216
3217         This patch fixes JavaField for V8 only.
3218         - Factors out a JavaField interface which does not use JNI types.
3219           This will allow the Java bridge to be used with objects that
3220           don't use JNI directly. The existing jobject-backed
3221           implementation is moved to a new JavaFieldJobject class which
3222           implements the interface.
3223         - Use WTF::String in place of JavaString in the API, as JavaString
3224           exposes JNI types in its interface.
3225
3226         No new tests, refactoring only.
3227
3228         * Android.v8bindings.mk:
3229         * WebCore.gypi:
3230         * bridge/jni/JavaMethod.h:
3231         (JSC::Bindings::JavaMethod::~JavaMethod):
3232         * bridge/jni/JobjectWrapper.h:
3233         * bridge/jni/v8/JavaClassV8.cpp:
3234         (JavaClass::JavaClass):
3235         * bridge/jni/v8/JavaFieldJobjectV8.cpp:
3236         (JavaFieldJobject::JavaFieldJobject):
3237         * bridge/jni/v8/JavaFieldJobjectV8.h:
3238         (JSC::Bindings::JavaFieldJobject::name):
3239         (JSC::Bindings::JavaFieldJobject::typeClassName):
3240         (JSC::Bindings::JavaFieldJobject::type):
3241         * bridge/jni/v8/JavaFieldV8.h:
3242         (JSC::Bindings::JavaField::~JavaField):
3243         * bridge/jni/v8/JavaInstanceV8.cpp:
3244         (JavaInstance::getField):
3245
3246 2011-03-31  Levi Weintraub  <leviw@chromium.org>
3247
3248         Reviewed by Ryosuke Niwa.
3249
3250         Clean up from r82447.
3251         https://bugs.webkit.org/attachment.cgi?bugid=57532
3252
3253         No new tests since this doesn't change behavior.
3254
3255         * rendering/RenderBlock.cpp: Removing unnecessary visible_units.h include.
3256         * rendering/RootInlineBox.cpp:
3257         (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Making const.
3258         (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
3259         * rendering/RootInlineBox.h:
3260
3261 2011-03-31  Benjamin Kalman  <kalman@chromium.org>
3262
3263         Reviewed by Ojan Vafai.
3264
3265         DeleteSelectionCommand::removeNode tries to insert block placeholder in non-editable table cell positions
3266         https://bugs.webkit.org/show_bug.cgi?id=57079
3267
3268         Test: editing/execCommand/delete-table-with-empty-contents.html
3269
3270         This bug results in an ASSERT fail in CompositeEditCommand::insertNodeAt, so is only observable in debug builds
3271         of WebKit.
3272
3273         * editing/DeleteSelectionCommand.cpp:
3274         (WebCore::firstEditablePositionInNode):
3275         (WebCore::DeleteSelectionCommand::removeNode): Use firstEditablePositionInNode rather than firstPositionInNode
3276         to find anchor node for the placeholder's position, if any.
3277
3278 2011-03-30  Ojan Vafai  <ojan@chromium.org>
3279
3280         Reviewed by Adam Roben.
3281
3282         REGRESSION (r82400): Leaks seen beneath CSSParser::createFloatingVectorSelector when parsing UA stylesheet
3283         https://bugs.webkit.org/show_bug.cgi?id=57478
3284
3285         * css/CSSGrammar.y:
3286         * css/CSSParser.cpp:
3287         (WebCore::CSSParser::sinkFloatingSelectorVector):
3288         * css/CSSParser.h:
3289
3290 2011-03-30  Dominic Cooney  <dominicc@google.com>
3291
3292         Reviewed by Dimitri Glazkov.
3293
3294         Adds layoutTestController.shadowRoot accessor to Mac DRT.
3295         https://bugs.webkit.org/show_bug.cgi?id=57415
3296
3297         * WebCore.exp.in: DRT needs to link WebCore::Element::shadowRoot
3298
3299 2011-03-30  Kent Tamura  <tkent@chromium.org>
3300
3301         Reviewed by Dimitri Glazkov.
3302
3303         Simplify HTMLFormElement::validateInteractively() for asynchronous scroll event
3304         https://bugs.webkit.org/show_bug.cgi?id=57424
3305
3306         r75555 made 'scroll' event asynchronous. So we don't need to worry about
3307         deleting or moving a target node in scrollIntoViewIfNeeded().
3308
3309         * html/HTMLFormElement.cpp:
3310         (WebCore::HTMLFormElement::validateInteractively): Remove unnecessary code.
3311
3312 2011-03-30  Kent Tamura  <tkent@chromium.org>
3313
3314         Reviewed by Darin Adler.
3315
3316         REGRESSION (r74895): Crash if input.type = 'file' twice
3317         https://bugs.webkit.org/show_bug.cgi?id=57343
3318
3319         * html/HTMLInputElement.cpp:
3320         (WebCore::HTMLInputElement::updateType):
3321           Don't call setAttribute() if the type is not changed.
3322
3323 2011-03-30  Jia Pu  <jpu@apple.com>
3324
3325         Reviewed by Darin Adler.
3326
3327         Autocorrection panel isn't positioned correctly in Safari (mac) when the zooming is not 1x.
3328         https://bugs.webkit.org/show_bug.cgi?id=57353
3329         <rdar://problem/9163983>
3330
3331         We use Range::textQuads() instead of Range::boundingRect() to compute the position of correction
3332         panel. The latter function compensates for zooming, which we don't need in this case. We also
3333         dismiss correction panel when zooming factor is changed. This is done in Frame::setPageAndTextZoomFactors().
3334
3335         * WebCore.exp.in:
3336         * dom/Range.cpp:
3337         (WebCore::Range::textQuads):
3338         * dom/Range.h:
3339         * editing/Editor.cpp:
3340         (WebCore::Editor::windowRectForRange):
3341         * editing/Editor.h:
3342         * page/Frame.cpp:
3343         (WebCore::Frame::setPageAndTextZoomFactors):
3344
3345 2011-03-30  Chris Guillory  <chris.guillory@google.com>
3346
3347         Reviewed by Dimitri Glazkov.
3348
3349         Render fonts using skia when requested by platform context.
3350         https://bugs.webkit.org/show_bug.cgi?id=56441
3351
3352         * platform/graphics/skia/PlatformContextSkia.cpp:
3353         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
3354         * platform/graphics/skia/PlatformContextSkia.h:
3355         * platform/graphics/skia/SkiaFontWin.cpp:
3356         (WebCore::windowsCanHandleTextDrawing):
3357         (WebCore::skiaDrawText):
3358         (WebCore::setupPaintForFont):
3359         (WebCore::paintSkiaText):
3360
3361 2011-03-30  Dan Bernstein  <mitz@apple.com>
3362
3363         Reviewed by Darin Adler.
3364
3365         <rdar://problem/9199518> Crash when focusing a styled editable element
3366
3367         Test: editing/deleting/delete-button-background-image-none.html
3368
3369         * editing/DeleteButtonController.cpp:
3370         (WebCore::isDeletableElement): Check all background layers for background images.
3371         * rendering/style/RenderStyle.h: Removed backgroundImage() as it was only used, incorrectly,
3372         in the above function.
3373
3374 2011-03-30  Martin Robinson  <mrobinson@igalia.com>
3375
3376         Try once more to fix the EFL build.
3377
3378         * platform/efl/RenderThemeEfl.cpp:
3379
3380 2011-03-30  Chris Fleizach  <cfleizach@apple.com>
3381
3382         Reviewed by Darin Adler.
3383
3384         Regression: VO cursor doesn't follow KB focus back into HTML view
3385         https://bugs.webkit.org/show_bug.cgi?id=57509
3386
3387         In WK2, because the web area never believes focus leave the area, sending the initial
3388         focus change when moving back into the web area, does not trigger a notification.
3389
3390         That behavior needs to be overridden by explicitly posting a focused UI element change
3391         at the appropriate time. This is only used in WK2, hence the absence of a layout test for now.
3392
3393         * page/FocusController.cpp:
3394         (WebCore::FocusController::setInitialFocus):
3395
3396 2011-03-30  MORITA Hajime  <morrita@google.com>
3397
3398         Reviewed by Simon Fraser.
3399
3400         box-shadow radii stays the same regardless of any spread set
3401         https://bugs.webkit.org/show_bug.cgi?id=49726
3402
3403         - Removed special shadowSpread handling path
3404         - Fixed broken multple inset shadow border computation.
3405
3406         Test: fast/box-shadow/spread-multiple-inset.html
3407
3408         * rendering/RenderBoxModelObject.cpp:
3409         (WebCore::RenderBoxModelObject::paintBoxShadow):
3410
3411 2011-03-29  Matthew Delaney  <mdelaney@apple.com>
3412
3413         Reviewed by Simon Fraser.
3414
3415         Use the Accelerate vImage vectorized (un)premultiplyImageData functions for ImageBufferCG
3416
3417         https://bugs.webkit.org/show_bug.cgi?id=53134
3418
3419         Test: fast/canvas/getPutImageDataPairTest.html
3420
3421         * platform/graphics/cg/ImageBufferCG.cpp:
3422
3423 2011-03-30  Steve Falkenburg  <sfalken@apple.com>
3424
3425         Reviewed by Adam Roben.
3426
3427         Share most vsprops between Release and Production builds in releaseproduction.vsprops
3428         https://bugs.webkit.org/show_bug.cgi?id=57508
3429
3430         * WebCore.vcproj/QTMovieWinProduction.vsprops:
3431         * WebCore.vcproj/QTMovieWinRelease.vsprops:
3432         * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops:
3433         * WebCore.vcproj/WebCoreProduction.vsprops:
3434         * WebCore.vcproj/WebCoreRelease.vsprops:
3435         * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops:
3436
3437 2011-03-30  Timur Iskhodzhanov  <timurrrr@google.com>
3438
3439         Reviewed by Alexey Proskuryakov.
3440
3441         Add some dynamic annotations to JavaScriptCore/wtf
3442         https://bugs.webkit.org/show_bug.cgi?id=53747
3443
3444         By using these annotations we can improve the precision of finding
3445         WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind.
3446         These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1".
3447
3448         These files don't add new functionality, so don't need extra tests.
3449
3450         * ForwardingHeaders/wtf/DynamicAnnotations.h: Added.
3451
3452 2011-03-30  Abhishek Arya  <inferno@chromium.org>
3453
3454         Reviewed by Simon Fraser.
3455
3456         Fix wrong type assumptions in editing code. Move code
3457         from ASSERTs to hard checks.
3458         https://bugs.webkit.org/show_bug.cgi?id=57348
3459
3460         Test: editing/execCommand/remove-format-non-html-element-crash.html
3461
3462         * css/CSSStyleSelector.cpp:
3463         (WebCore::CSSStyleSelector::applyProperty):
3464         * editing/ApplyStyleCommand.cpp:
3465         (WebCore::getRGBAFontColor):
3466         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
3467         * editing/DeleteButtonController.cpp:
3468         (WebCore::enclosingDeletableElement):
3469         * editing/EditingStyle.cpp:
3470         (WebCore::EditingStyle::textDirection):
3471         (WebCore::EditingStyle::prepareToApplyAt):
3472         * editing/Editor.cpp:
3473         (WebCore::Editor::textDirectionForSelection):
3474         * editing/FormatBlockCommand.cpp:
3475         (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
3476
3477 2011-03-30  Stephen White  <senorblanco@chromium.org>
3478
3479         Reviewed by Kenneth Russell.
3480
3481         Speed up clipping in accelerated 2D canvas.
3482         https://bugs.webkit.org/show_bug.cgi?id=57464
3483
3484         Instead of clearing the entire stencil buffer when removing clipping paths, we erase the path with a DECR stencil operation.
3485         Covered by canvas/philip/tests/2d.path.clip.intersect.html, and others.
3486
3487         * platform/graphics/chromium/GLES2Canvas.cpp:
3488         (WebCore::PathAndTransform::PathAndTransform):
3489         New structure to keep track of the CTM at the time the clipping path was added.
3490         (WebCore::GLES2Canvas::State::State):
3491         Replace m_clippingEnabled with a count of total clipping paths.
3492         (WebCore::GLES2Canvas::clearRect):
3493         Check the total clipping path count, instead of m_clippingEnabled.
3494         (WebCore::GLES2Canvas::fillPath):
3495         (WebCore::GLES2Canvas::fillRect):
3496         Perform state application after doing shadows.  This is necessary
3497         since restore() may now leave clipping enabled.
3498         (WebCore::GLES2Canvas::clipPath):
3499         Explicitly specify the stencil operation as INCR.  Store the current
3500         transformation when saving clipping paths.
3501         (WebCore::GLES2Canvas::restore):
3502         Don't clear the stencil buffer and re-draw active paths on each restore.
3503         Erase the old paths with DECR.
3504         (WebCore::GLES2Canvas::drawTexturedRect):
3505         Check m_numClippingPaths instead of m_clippingEnabled.
3506         (WebCore::GLES2Canvas::beginShadowDraw):
3507         Perform state application when drawing hard shadows.
3508         (WebCore::GLES2Canvas::endShadowDraw):
3509         Check m_numClippingPaths instead of m_clippingEnabled.