bb0e78232b59895df0ae4e1e4f3c151ea9762bf4
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r82667.
4         http://trac.webkit.org/changeset/82667
5         https://bugs.webkit.org/show_bug.cgi?id=57612
6
7         Breaks Leopard layout tests (Requested by podivilov on
8         #webkit).
9
10         * GNUmakefile.am:
11         * inspector/front-end/DebuggerPresentationModel.js:
12         (WebInspector.DebuggerPresentationModel):
13         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
14
15 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
16
17         Reviewed by Pavel Feldman.
18
19         Web Inspector: remove unused SourceFrameContent class.
20         https://bugs.webkit.org/show_bug.cgi?id=57453
21
22         * WebCore.gypi:
23         * WebCore.vcproj/WebCore.vcproj:
24         * inspector/front-end/ResourceView.js:
25         (WebInspector.SourceFrameDelegateForResourcesPanel.prototype.requestContent):
26         * inspector/front-end/ScriptsPanel.js:
27         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
28         * inspector/front-end/SourceFrame.js:
29         (WebInspector.SourceFrame.prototype._createTextViewer):
30         * inspector/front-end/SourceFrameContent.js: Removed.
31         * inspector/front-end/WebKit.qrc:
32         * inspector/front-end/inspector.html:
33
34 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
35
36         Reviewed by Pavel Feldman.
37
38         Web Inspector: add test for script formatter worker.
39         https://bugs.webkit.org/show_bug.cgi?id=57447
40
41         Test: inspector/debugger/script-formatter.html
42
43         * GNUmakefile.am:
44         * inspector/front-end/DebuggerPresentationModel.js:
45         (WebInspector.DebuggerPresentationModel):
46         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
47
48 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
49
50         Reviewed by Pavel Feldman.
51
52         Web Inspector: [chromium] script formatting doesn't work when all scripts are concatenated.
53         https://bugs.webkit.org/show_bug.cgi?id=57446
54
55         * inspector/front-end/ScriptFormatterWorker.js:
56
57 2011-04-01  Pavel Podivilov  <podivilov@chromium.org>
58
59         Reviewed by Pavel Feldman.
60
61         Web Inspector: allow file access from inspector page so inspector can use workers.
62         https://bugs.webkit.org/show_bug.cgi?id=57339
63
64         * inspector/InspectorFrontendClientLocal.cpp:
65         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
66
67 2011-03-31  Yury Semikhatsky  <yurys@chromium.org>
68
69         Reviewed by Pavel Feldman.
70
71         Web Inspector: inspected page crashes on attempt to log object with broken .toString
72         https://bugs.webkit.org/show_bug.cgi?id=57557
73
74         If ScriptValue.toString causes a JavaScript exception, the exception is cleared
75         before returning from the toString method.
76
77         Test: inspector/console/console-log-toString-object.html
78
79         * bindings/js/ScriptValue.cpp:
80         (WebCore::ScriptValue::toString):
81         * bindings/js/ScriptValue.h:
82         * bindings/v8/ScriptValue.cpp:
83         (WebCore::ScriptValue::toString):
84
85 2011-03-31  Andrey Kosyakov  <caseq@chromium.org>
86
87         Reviewed by Pavel Feldman.
88
89         - removed documentWide parameter to querySelector[All]() (user document node id instead)
90         - factor out document request logic within DOMAgent into separate method
91         - add querySelector() and querySelectorAll() to DOMAgent.js, assure we have document before calling back-end
92         - use the above wrappers for querySelector() and querySelectorAll(), do not call backend directly
93         - minor style fixes in Inspector.json
94         - more error logging
95
96         Web Inspector: provide front-end wrappers for DOMAgent.querySelector[All]() that take care of fetching the document
97         https://bugs.webkit.org/show_bug.cgi?id=57466
98
99         * inspector/Inspector.json:
100         * inspector/InspectorDOMAgent.cpp:
101         (WebCore::InspectorDOMAgent::querySelector):
102         (WebCore::InspectorDOMAgent::querySelectorAll):
103         * inspector/InspectorDOMAgent.h:
104         * inspector/front-end/AuditRules.js:
105         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
106         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
107         * inspector/front-end/CSSStyleModel.js:
108         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
109         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
110         (WebInspector.CSSStyleModel.prototype.addRule.callback):
111         (WebInspector.CSSStyleModel.prototype.addRule):
112         * inspector/front-end/DOMAgent.js:
113         (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable):
114         (WebInspector.DOMAgent.prototype.requestDocument):
115         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
116         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
117         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
118         (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
119         (WebInspector.DOMAgent.prototype.cancelSearch):
120         (WebInspector.DOMAgent.prototype.querySelector):
121         (WebInspector.DOMAgent.prototype.querySelectorAll):
122
123 2011-04-01  Kent Tamura  <tkent@chromium.org>
124
125         Apply sort-Xcode-project-file.
126
127         * WebCore.xcodeproj/project.pbxproj:
128
129 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
130
131         Unreviewed, rolling out r82652.
132         http://trac.webkit.org/changeset/82652
133         https://bugs.webkit.org/show_bug.cgi?id=57603
134
135         Test still fails (Requested by abarth|gardener on #webkit).
136
137         * rendering/RenderWidget.cpp:
138         (WebCore::RenderWidget::setWidget):
139
140 2011-03-31  Naoki Takano  <takano.naoki@gmail.com>
141
142         Reviewed by Kent Tamura.
143
144         REGRESSION (r64712): Safari removes the first blank line in a textarea
145         https://bugs.webkit.org/show_bug.cgi?id=56434
146
147         Test: fast/forms/textarea-newline.html
148
149         A linefeed removal after a textarea tag is originally processed in WebCore::HTMLTextAreaElement::defaultValue().
150         But HTML5 tree builder now removes the linefeed. It means linefeed removal happens twice.
151         And devalutValue() removal is not needed anymore.
152
153         * html/HTMLTextAreaElement.cpp:
154         (WebCore::HTMLTextAreaElement::setDefaultValue): Remove an extra linefeed insertion at the beginning.
155         (WebCore::HTMLTextAreaElement::defaultValue): Remove linefeed removal check in default value creation function.
156
157 2011-03-31  Luke Macpherson   <macpherson@chromium.org>
158
159         Reviewed by Dimitri Glazkov.
160
161         Remove refcounting of CSSStyleApplyProperty singleton
162         https://bugs.webkit.org/show_bug.cgi?id=57592
163
164         No new tests required as no functionality changes.
165
166         * css/CSSStyleApplyProperty.h:
167
168 2011-03-31  Anantanarayanan G Iyengar  <ananta@chromium.org>
169
170         Reviewed by Adam Barth.
171
172         https://bugs.webkit.org/show_bug.cgi?id=45855
173         Windowless plugins added dynamically to the DOM should receive paint events.
174         This is done by ensuring that the plugin widget is marked for painting when
175         it is added.
176
177         Test: plugins/windowless_plugin_paint_test.html
178
179         * rendering/RenderWidget.cpp:
180         (WebCore::RenderWidget::setWidget):
181
182 2011-03-31  Adam Roben  <aroben@apple.com>
183
184         Add a new AbstractCACFLayerTreeHost base class
185
186         This class exposes the interface that LayerChangesFlusher and PlatformCALayer rely on.
187         CACFLayerTreeHost now derives from AbstractCACFLayerTreeHost. In the future, WebKit2's
188         LayerTreeHostCA will also derive from it (on Windows).
189
190         This should cause no change in behavior.
191
192         Fixes <http://webkit.org/b/57598> Coupling between CACFLayerTreeHost and other CACF-related
193         code is too high
194
195         Reviewed by Anders Carlsson.
196
197         * WebCore.vcproj/WebCore.vcproj: Added AbstractCACFLayerTreeHost, and let VS reorder files.
198
199         * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h: Added.
200
201         * platform/graphics/ca/win/CACFLayerTreeHost.h: Changed to derive from
202         AbstractCACFLayerTreeHost, and annotated the overrides of its functions.
203         AbstractCACFLayerTreeHost also allows us to get rid of the friend relationship with
204         PlatformCALayer.
205
206         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
207         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
208         (WebCore::LayerChangesFlusher::cancelPendingFlush):
209         (WebCore::LayerChangesFlusher::hookFired):
210         * platform/graphics/ca/win/LayerChangesFlusher.h:
211         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
212         (layerTreeHostForLayer):
213         (PlatformCALayer::rootLayer):
214         (PlatformCALayer::setNeedsCommit):
215         (PlatformCALayer::addAnimationForKey):
216         (PlatformCALayer::removeAnimationForKey):
217         Changed to use AbstractCACFLayerTreeHost instead of using CACFLayerTreeHost directly.
218
219 2011-03-31  Andy Estes  <aestes@apple.com>
220
221         Reviewed by Alexey Proskuryakov.
222
223         REGRESSION: Java applet fails to load when <object> has a classid attribute.
224         https://bugs.webkit.org/show_bug.cgi?id=52703
225         
226         Java applets embedded with the object element sometimes use classid to
227         specify their main resource. When this is done, the classid is prefixed
228         with "java:". Treat these as supported classids in WebKit.
229
230         Test: java/embedding-java-with-object.html
231
232         * html/HTMLObjectElement.cpp:
233         (WebCore::HTMLObjectElement::hasValidClassId): If the MIME type is a
234         Java Applet type and the classid starts with "java:", the classid
235         should be considered valid.
236
237 2011-03-31  Brent Fulgham  <bfulgham@webkit.org>
238
239         Reviewed Adam Roben.
240
241         [WinCairo] Implement Missing drawWindowsBitmap method.
242         https://bugs.webkit.org/show_bug.cgi?id=57409
243
244         * WebCore.vcproj/WebCore.vcproj: Add new DIBPixelData files.
245         * platform/graphics/GraphicsContext.h:
246         (WebCore::GraphicsContext::WindowsBitmap::buffer):
247         (WebCore::GraphicsContext::WindowsBitmap::bufferLength):
248         (WebCore::GraphicsContext::WindowsBitmap::size):
249         (WebCore::GraphicsContext::WindowsBitmap::bytesPerRow):
250         (WebCore::GraphicsContext::WindowsBitmap::bitsPerPixel):
251         (WebCore::GraphicsContext::WindowsBitmap::windowsDIB):
252         * platform/graphics/win/GraphicsContextCGWin.cpp:
253         (WebCore::CGContextWithHDC):
254         (WebCore::GraphicsContext::releaseWindowsContext): Modified to use
255         new common routines.
256         * platform/graphics/win/GraphicsContextCairoWin.cpp:
257         (WebCore::drawBitmapToContext): New common drawing implementation.
258         (WebCore::GraphicsContext::releaseWindowsContext): Modified to use
259         new common routines.
260         (WebCore::GraphicsContext::drawWindowsBitmap):
261         * platform/graphics/win/GraphicsContextWin.cpp:
262         (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): Modified
263         to use new DIBPixelData data type.
264         * platform/graphics/win/DIBPixelData.cpp: Added.
265         (WebCore::DIBPixelData::DIBPixelData):
266         (WebCore::DIBPixelData::initialize):
267         * platform/graphics/win/DIBPixelData.h: Added.
268         (WebCore::DIBPixelData::DIBPixelData):
269         (WebCore::DIBPixelData::buffer):
270         (WebCore::DIBPixelData::bufferLength):
271         (WebCore::DIBPixelData::size):
272         (WebCore::DIBPixelData::bytesPerRow):
273         (WebCore::DIBPixelData::bitsPerPixel):
274
275 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
276
277         Unreviewed, rolling out r81849.
278         http://trac.webkit.org/changeset/81849
279         https://bugs.webkit.org/show_bug.cgi?id=57588
280
281         CSS Parsing broke with -webkit-calc and introduced crashes
282         (Requested by inferno-sec on #webkit).
283
284         * css/CSSGrammar.y:
285         * css/CSSParserValues.cpp:
286         * css/CSSParserValues.h:
287         * css/tokenizer.flex:
288
289 2011-03-31  Adam Roben  <aroben@apple.com>
290
291         Don't ref CACFLayerTreeHosts when telling them to flush layer changes
292
293         LayerChangesFlusher was reffing CACFLayerTreeHosts before calling out to them. This would
294         have protected us if calling out to one CACFLayerTreeHost could cause a different
295         CACFLayerTreeHost to be destroyed. But that isn't possible; each CACFLayerTreeHost is
296         associated with its own page, and flushing layer changes doesn't touch any other page. So it
297         isn't possible for a CACFLayerTreeHost to be deleted while another one is flushing layer
298         changes.
299
300         One benefit of this change is that it will make it easier to make LayerChangesFlusher
301         interact with a forthcoming abstract base class, rather than with CACFLayerTreeHost itself.
302
303         This should cause no change in behavior.
304
305         Fixes <http://webkit.org/b/57590> LayerChangesFlusher unnecessarily refs CACFLayerTreeHost
306         before calling out to it
307
308         Reviewed by Darin Adler.
309
310         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
311         (WebCore::LayerChangesFlusher::hookFired): Just store bare pointers to the
312         CACFLayerTreeHosts.
313
314 2011-03-31  Antti Koivisto  <antti@apple.com>
315
316         Reviewed by Oliver Hunt.
317
318         https://bugs.webkit.org/show_bug.cgi?id=57574
319         Preload scanner fails to pick up resources from document.write() output
320
321         - Scan script inserted source using a separate preload scanner.
322         - Make the main preload scanner correctly process the remaining source if script execution blocked the parser.
323
324         Tests: fast/preloader/document-write-2.html
325                fast/preloader/document-write.html
326
327         * html/parser/HTMLDocumentParser.cpp:
328         (WebCore::HTMLDocumentParser::insert):
329         (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
330         * html/parser/HTMLDocumentParser.h:
331         (WebCore::HTMLDocumentParser::hasPreloadScanner):
332         * html/parser/HTMLScriptRunner.cpp:
333         (WebCore::HTMLScriptRunner::execute):
334         * html/parser/HTMLScriptRunnerHost.h:
335
336 2011-03-31  Tony Gentilcore  <tonyg@chromium.org>
337
338         Build fix: Add missing include
339         https://bugs.webkit.org/show_bug.cgi?id=57587
340
341         * loader/cache/CachedResourceLoader.cpp:
342
343 2011-03-31  Tony Gentilcore  <tonyg@chromium.org>
344
345         Reviewed by Antti Koivisto.
346
347         PreloadScanner doesn&apos;t find image while executing script in head
348         https://bugs.webkit.org/show_bug.cgi?id=45072
349
350         Previously, while parsing the head, no resources in the body would be
351         preloaded. After this patch, we will preload scripts and styles in the
352         body, although we continue to hold off on all images until the page is 
353         first rendered.
354
355         To evaluate this change, I've recorded a sampling of 45 of alexa's top
356         sites and replayed them under simulated bandwidth conditions, loading
357         each 5-15 times until stddev is small enough.
358
359         Time to the load event improved at the overall average by 3%.
360         Most sites are unchanged, but sites with certain blocking patterns had
361         big wins -- ebay 19% (331ms), microsoft 15% (226ms), conduit 15% (277ms)
362         nytimes 7% (182ms).
363
364         Time to DOM content loaded event improved by 6% with some even bigger
365         individual wins.
366
367         First paint time held steady.
368
369         Note that I originally wanted to allow preloading of images while in the
370         head, but that regressed first paint time (even though it was better for
371         overall load time).
372
373         Test: fast/preloader/scan-body-from-head.html
374
375         * loader/cache/CachedResourceLoader.cpp:
376         (WebCore::CachedResourceLoader::preload):
377
378 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
379
380         Unreviewed, rolling out r82616.
381         http://trac.webkit.org/changeset/82616
382         https://bugs.webkit.org/show_bug.cgi?id=57585
383
384         New test does not pass on Gtk, chromium-mac, chromium-linux
385         and possibly elsewhere (Requested by abarth|gardener on
386         #webkit).
387
388         * rendering/RenderWidget.cpp:
389         (WebCore::RenderWidget::setWidget):
390
391 2011-03-31  Adrienne Walker  <enne@google.com>
392
393         Reviewed by James Robinson.
394
395         [chromium] Fix ownership semantics for LayerChromium/CCLayerImpl
396         https://bugs.webkit.org/show_bug.cgi?id=57577
397
398         LayerRendererChromium now uses a RefPtr to preserve ownership of all
399         of the CCLayerImpl layers that it is using during the update/draw
400         pass.  Addtionally, when a LayerChromium is destroyed, the weak
401         owner pointer from its CCLayerImpl is correctly unset.
402
403         * platform/graphics/chromium/LayerRendererChromium.cpp:
404         (WebCore::LayerRendererChromium::compareLayerZ):
405         (WebCore::LayerRendererChromium::updateAndDrawLayers):
406         (WebCore::LayerRendererChromium::updateLayers):
407         (WebCore::LayerRendererChromium::drawLayers):
408         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
409         (WebCore::LayerRendererChromium::drawLayer):
410         * platform/graphics/chromium/LayerRendererChromium.h:
411         * platform/graphics/chromium/RenderSurfaceChromium.h:
412         * platform/graphics/chromium/VideoLayerChromium.cpp:
413         (WebCore::VideoLayerChromium::updateCompositorResources):
414         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
415         (WebCore::CCLayerImpl::drawsContent):
416         (WebCore::CCLayerImpl::cleanupResources):
417
418 2011-03-31  Sam Weinig  <sam@webkit.org>
419
420         Reviewed by Anders Carlsson.
421
422         Rename WebCore's UI_STRING to WEB_UI_STRING to not overlap with WebKit API
423         https://bugs.webkit.org/show_bug.cgi?id=57582
424
425         * platform/DefaultLocalizationStrategy.cpp:
426         * platform/LocalizedStrings.h:
427
428 2011-03-31  Eric Seidel  <eric@webkit.org>
429
430         Reviewed by Ryosuke Niwa.
431
432         Rename BidiResolver::lastBeforeET to m_lastBeforeET to match modern style
433         https://bugs.webkit.org/show_bug.cgi?id=57550
434
435         * platform/text/BidiResolver.h:
436         (WebCore::::createBidiRunsForLine):
437
438 2011-03-31  Anantanarayanan G Iyengar  <ananta@chromium.org>
439
440         Reviewed by James Robinson.
441
442         https://bugs.webkit.org/show_bug.cgi?id=45855
443         Windowless plugins added dynamically to the DOM should receive paint events.
444         This is done by ensuring that the plugin widget is marked for painting when
445         it is added.
446
447         Test: plugins/windowless_plugin_paint_test.html
448
449         * rendering/RenderWidget.cpp:
450         (WebCore::RenderWidget::setWidget):
451
452 2011-03-31  Stephen White  <senorblanco@chromium.org>
453
454         Reviewed by Kenneth Russell.
455
456         Speed up accelerated path drawing.
457         https://bugs.webkit.org/show_bug.cgi?id=57371
458         This CL does three things:  re-uses the same vertex and index buffer
459         for all path draws, converts all vertex layouts from vec3 to vec2, and
460         does a convexity check for polygons before passing them to the
461         tesselator.
462
463         Covered by canvas/philip/tests/2d.path.bezierCurveTo.*, and others.
464
465         * platform/graphics/chromium/GLES2Canvas.cpp:
466         Replace the Vector<double> for interpolated curves with a
467         Vector<FloatPoint>.
468         (WebCore::Cubic::evaluate):
469         Inline the evaluation function (as Quadratic does).
470         (WebCore::GLES2Canvas::GLES2Canvas):
471         Initialize the m_pathIndexBuffer.
472         (WebCore::GLES2Canvas::~GLES2Canvas):
473         Delete the path vertex and index buffers on destruction.
474         (WebCore::interpolateQuadratic):
475         (WebCore::interpolateCubic):
476         Interpolate directly to a Vector<FloatPoint>, rather than
477         Vector<double>.
478         (WebCore::PolygonData::PolygonData):
479         (WebCore::combineData):
480         Replace the DoubleVector with a FloatPointVector.
481         (WebCore::GLES2Canvas::tesselateAndFillPath):
482         Move curve drawing into this function, and rename it to reflect the
483         new behaviour.  Re-use the common vertex and index buffers.  If the
484         curve consists of a single convex polygon, draw the curve as a single
485         triangle fan.  Otherwise, convert it to doubles and pass it to the
486         tesselator.
487         (WebCore::GLES2Canvas::fillPathInternal):
488         * platform/graphics/chromium/GLES2Canvas.h:
489         Rename createVertexBufferFromPath() -> tesselateAndFillPath().
490         Add a persistent index buffer for all path draws.
491         * platform/graphics/gpu/BicubicShader.cpp:
492         (WebCore::BicubicShader::create):
493         (WebCore::BicubicShader::use):
494         * platform/graphics/gpu/ConvolutionShader.cpp:
495         (WebCore::ConvolutionShader::create):
496         (WebCore::ConvolutionShader::use):
497         Use vec2s instead of vec3s for all vertex data.
498         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
499         (WebCore::LoopBlinnMathUtils::convexCompare):
500         (WebCore::LoopBlinnMathUtils::convexCross):
501         (WebCore::LoopBlinnMathUtils::convexCheckTriple):
502         (WebCore::LoopBlinnMathUtils::isConvex):
503         * platform/graphics/gpu/LoopBlinnMathUtils.h:
504         Implement a convexity check, based on the code in Graphics Gems IV.
505         * platform/graphics/gpu/Shader.cpp:
506         (WebCore::Shader::generateVertex):
507         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
508         (WebCore::SharedGraphicsContext3D::useQuadVertices):
509         * platform/graphics/gpu/SolidFillShader.cpp:
510         (WebCore::SolidFillShader::use):
511         * platform/graphics/gpu/TexShader.cpp:
512         (WebCore::TexShader::use):
513         Use vec2s instead of vec3s for all vertex data.
514
515 2011-03-31  David Hyatt  <hyatt@apple.com>
516
517         Reviewed by Simon Fraser.
518
519         https://bugs.webkit.org/show_bug.cgi?id=57565
520
521         Optimize overflow computations on lines to avoid allocating RenderOverflows in nearly all cases and to avoid even having
522         to check the line for overflow in the first place.
523         
524         For the purposes of overflow computation, an inline object's default containment box for overflow is now assumed to extend
525         all the way from lineTop to lineBottom instead of snugly fitting the inline object's own block dimensions. This allows
526         replaced objects to be inside spans without triggering overflow allocation.
527         
528         The overflow accessors on InlineFlowBox have been changed to require passing in the lineTop and lineBottom so that the block
529         dimensions can be forced to those values. Because these values are checked during painting and hit testing of lines, the
530         lineTop and lineBottom are now passed as arguments to the painting and hit testing functions to avoid repeatedly crawling
531         back up to the root box to fetch them.
532         
533         Added a new boolean flag to all InlineBoxes, knownToHaveNoOverflow(), and optimized for common cases where no overflow can
534         possibly be present.  When the bit is set, computeOverflow will just immediately return.
535  
536         This change speeds up line layout by ~10%.
537
538         * rendering/EllipsisBox.cpp:
539         (WebCore::EllipsisBox::paint):
540         (WebCore::EllipsisBox::nodeAtPoint):
541         * rendering/EllipsisBox.h:
542         * rendering/InlineBox.cpp:
543         (WebCore::InlineBox::paint):
544         (WebCore::InlineBox::nodeAtPoint):
545         (WebCore::InlineBox::clearKnownToHaveNoOverflow):
546         * rendering/InlineBox.h:
547         (WebCore::InlineBox::InlineBox):
548         (WebCore::InlineBox::logicalFrameRect):
549         (WebCore::InlineBox::knownToHaveNoOverflow):
550         * rendering/InlineFlowBox.cpp:
551         (WebCore::InlineFlowBox::addToLine):
552         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
553         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
554         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
555         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
556         (WebCore::InlineFlowBox::addReplacedChildOverflow):
557         (WebCore::InlineFlowBox::computeOverflow):
558         (WebCore::InlineFlowBox::setLayoutOverflow):
559         (WebCore::InlineFlowBox::setVisualOverflow):
560         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
561         (WebCore::InlineFlowBox::nodeAtPoint):
562         (WebCore::InlineFlowBox::paint):
563         * rendering/InlineFlowBox.h:
564         (WebCore::InlineFlowBox::layoutOverflowRect):
565         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
566         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
567         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
568         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
569         (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
570         (WebCore::InlineFlowBox::visualOverflowRect):
571         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
572         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
573         (WebCore::InlineFlowBox::logicalTopVisualOverflow):
574         (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
575         (WebCore::InlineFlowBox::logicalVisualOverflowRect):
576         (WebCore::InlineFlowBox::frameRectIncludingLineHeight):
577         (WebCore::InlineFlowBox::logicalFrameRectIncludingLineHeight):
578         * rendering/InlineTextBox.cpp:
579         (WebCore::InlineTextBox::nodeAtPoint):
580         (WebCore::InlineTextBox::paint):
581         * rendering/InlineTextBox.h:
582         * rendering/RenderBlock.cpp:
583         (WebCore::RenderBlock::simplifiedNormalFlowLayout):
584         (WebCore::RenderBlock::paintEllipsisBoxes):
585         (WebCore::RenderBlock::adjustLinePositionForPagination):
586         * rendering/RenderBlock.h:
587         * rendering/RenderBlockLineLayout.cpp:
588         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
589         (WebCore::RenderBlock::layoutInlineChildren):
590         (WebCore::RenderBlock::determineStartPosition):
591         (WebCore::RenderBlock::matchedEndLine):
592         (WebCore::RenderBlock::addOverflowFromInlineChildren):
593         * rendering/RenderBox.h:
594         (WebCore::RenderBox::hasRenderOverflow):
595         * rendering/RenderBoxModelObject.cpp:
596         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
597         * rendering/RenderInline.cpp:
598         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
599         * rendering/RenderLineBoxList.cpp:
600         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
601         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
602         (WebCore::RenderLineBoxList::paint):
603         (WebCore::RenderLineBoxList::hitTest):
604         * rendering/RenderListItem.cpp:
605         (WebCore::RenderListItem::positionListMarker):
606         * rendering/RootInlineBox.cpp:
607         (WebCore::RootInlineBox::paintEllipsisBox):
608         (WebCore::RootInlineBox::addHighlightOverflow):
609         (WebCore::RootInlineBox::paint):
610         (WebCore::RootInlineBox::nodeAtPoint):
611         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
612         * rendering/RootInlineBox.h:
613         (WebCore::RootInlineBox::logicalTopVisualOverflow):
614         (WebCore::RootInlineBox::logicalBottomVisualOverflow):
615         (WebCore::RootInlineBox::logicalTopLayoutOverflow):
616         (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
617         * rendering/svg/SVGInlineFlowBox.cpp:
618         (WebCore::SVGInlineFlowBox::paint):
619         * rendering/svg/SVGInlineFlowBox.h:
620         * rendering/svg/SVGInlineTextBox.cpp:
621         (WebCore::SVGInlineTextBox::paint):
622         * rendering/svg/SVGInlineTextBox.h:
623         * rendering/svg/SVGRootInlineBox.cpp:
624         (WebCore::SVGRootInlineBox::paint):
625         * rendering/svg/SVGRootInlineBox.h:
626
627 2011-03-31  Pavel Feldman  <pfeldman@chromium.org>
628
629         Reviewed by Yury Semikhatsky.
630
631         Web Inspector: disable properties abbreviation.
632         https://bugs.webkit.org/show_bug.cgi?id=57525
633
634         * inspector/InjectedScript.cpp:
635         (WebCore::InjectedScript::getProperties):
636         * inspector/InjectedScript.h:
637         * inspector/InjectedScriptSource.js:
638         (.):
639         ():
640         * inspector/Inspector.json:
641         * inspector/InspectorRuntimeAgent.cpp:
642         (WebCore::InspectorRuntimeAgent::getProperties):
643         * inspector/InspectorRuntimeAgent.h:
644         * inspector/front-end/ConsoleView.js:
645         (WebInspector.ConsoleView.prototype.completions.evaluated):
646         (WebInspector.ConsoleView.prototype._formatarray):
647         * inspector/front-end/ObjectPropertiesSection.js:
648         (WebInspector.ObjectPropertiesSection.prototype.update.callback):
649         (WebInspector.ObjectPropertiesSection.prototype.update):
650         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
651         (WebInspector.ObjectPropertyTreeElement.prototype.update):
652         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
653         * inspector/front-end/PropertiesSidebarPane.js:
654         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
655         * inspector/front-end/RemoteObject.js:
656         (WebInspector.RemoteObject.prototype.getOwnProperties):
657         (WebInspector.RemoteObject.prototype.getAllProperties):
658         (WebInspector.RemoteObject.prototype._getProperties):
659         (WebInspector.LocalJSONObject.prototype.getOwnProperties):
660         (WebInspector.LocalJSONObject.prototype.getAllProperties):
661         * inspector/front-end/inspector.css:
662         (.console-formatted-string, .console-formatted-regexp):
663
664 2011-03-31  Adam Roben  <aroben@apple.com>
665
666         Update WKCACFViewLayerTreeHost for changes to WKCACFView API
667
668         This should not result in any change in behavior.
669
670         Fixes <http://webkit.org/b/57560> WKCACFViewLayerTreeHost needs to tell WKCACFView where to
671         render
672
673         Reviewed by Darin Adler.
674
675         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Updated API declarations.
676         (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Tell WKCACFView it should
677         render into the window we give it.
678
679 2011-03-31  Marius Storm-Olsen  <marius.storm-olsen@nokia.com>
680
681         Reviewed by Kenneth Rohde Christiansen.
682
683         [Qt] Properly detect phonon include, and avoid double qtLibraryTarget() call
684         https://bugs.webkit.org/show_bug.cgi?id=57017
685
686         Build fix. No new tests.
687
688         * WebCore.pri:
689
690 2011-03-31  Vsevolod Vlasov  <vsevik@chromium.org>
691
692         Reviewed by Pavel Feldman.
693
694         XML viewer is not shown when frame has non-null opener
695         https://bugs.webkit.org/show_bug.cgi?id=56384
696
697         Removed opener check in XML viewer
698
699         Test: http/tests/xmlviewer/extensions-api.html
700
701         * xml/XMLTreeViewer.cpp:
702         (WebCore::XMLTreeViewer::hasNoStyleInformation):
703         * xml/XMLViewer.js:
704
705 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
706
707         Unreviewed, rolling out r82589.
708         http://trac.webkit.org/changeset/82589
709         https://bugs.webkit.org/show_bug.cgi?id=57564
710
711         This patch requires many more updated results than it contains
712         (Requested by abarth|gardener on #webkit).
713
714         * css/CSSSelector.cpp:
715         (WebCore::CSSSelector::pseudoId):
716         (WebCore::nameToPseudoTypeMap):
717         (WebCore::CSSSelector::extractPseudoType):
718         * css/CSSSelector.h:
719         * css/html.css:
720         (meter::-webkit-meter-horizontal-bar):
721         (meter::-webkit-meter-vertical-bar):
722         (meter::-webkit-meter-horizontal-optimum-value):
723         (meter::-webkit-meter-horizontal-suboptimal-value):
724         (meter::-webkit-meter-horizontal-even-less-good-value):
725         (meter::-webkit-meter-vertical-optimum-value):
726         (meter::-webkit-meter-vertical-suboptimal-value):
727         (meter::-webkit-meter-vertical-even-less-good-value):
728         * rendering/RenderMeter.cpp:
729         (WebCore::MeterPartElement::MeterPartElement):
730         (WebCore::MeterPartElement::createForPart):
731         (WebCore::MeterPartElement::hide):
732         (WebCore::MeterPartElement::restoreVisibility):
733         (WebCore::MeterPartElement::updateStyleForPart):
734         (WebCore::MeterPartElement::saveVisibility):
735         (WebCore::RenderMeter::~RenderMeter):
736         (WebCore::RenderMeter::createPart):
737         (WebCore::RenderMeter::updateFromElement):
738         (WebCore::RenderMeter::layoutParts):
739         (WebCore::RenderMeter::shouldHaveParts):
740         (WebCore::RenderMeter::valuePartRect):
741         (WebCore::RenderMeter::orientation):
742         (WebCore::RenderMeter::valuePseudoId):
743         (WebCore::RenderMeter::barPseudoId):
744         * rendering/RenderMeter.h:
745         (WebCore::RenderMeter::shadowAttached):
746         * rendering/RenderTheme.cpp:
747         (WebCore::RenderTheme::supportsMeter):
748         * rendering/RenderTheme.h:
749         * rendering/RenderThemeMac.h:
750         * rendering/RenderThemeMac.mm:
751         (WebCore::RenderThemeMac::paintMeter):
752         (WebCore::RenderThemeMac::supportsMeter):
753         * rendering/style/RenderStyleConstants.h:
754
755 2011-03-31  Xan Lopez  <xlopez@igalia.com>
756
757         Reviewed by Martin Robinson.
758
759         [GTK] Link explicitly with XRender on Linux/Unix
760         https://bugs.webkit.org/show_bug.cgi?id=57558
761
762         * GNUmakefile.am: add XRender CFLAGS.
763
764 2011-03-31  Eric Seidel  <eric@webkit.org>
765
766         Reviewed by Ryosuke Niwa.
767
768         Rename BidiResolver::emptyRun to m_emtpyRun to match modern style
769         https://bugs.webkit.org/show_bug.cgi?id=57549
770
771         * platform/text/BidiResolver.h:
772         (WebCore::BidiResolver::BidiResolver):
773         (WebCore::::appendRun):
774         (WebCore::::lowerExplicitEmbeddingLevel):
775         (WebCore::::raiseExplicitEmbeddingLevel):
776         (WebCore::::deleteRuns):
777         (WebCore::::createBidiRunsForLine):
778         * rendering/InlineIterator.h:
779         (WebCore::InlineBidiResolver::appendRun):
780
781 2011-03-31  Tom Sepez  <tsepez@chromium.org>
782
783         Reviewed by Eric Seidel.
784
785         Make ContainerNode::insertIntoDocument() collect all nodes before
786         operating on any of them.  Add small helper function and use it
787         througout the file where this action is already taking place.
788         https://bugs.webkit.org/show_bug.cgi?id=57265
789         
790         Test: svg/dom/range-delete.html
791
792         * dom/ContainerNode.cpp:
793         (WebCore::collectNodes):
794         (WebCore::collectTargetNodes):
795         (WebCore::ContainerNode::takeAllChildrenFrom):
796         (WebCore::willRemoveChildren):
797         (WebCore::ContainerNode::insertedIntoDocument):
798
799 2011-03-31  Satish Sampath  <satish@chromium.org>
800
801         Reviewed by Steve Block.
802
803         While drawing a speech input button, validate that the node is really a speech input button.
804         https://bugs.webkit.org/show_bug.cgi?id=57469
805
806         Test: fast/speech/speech-style-on-non-speech-elements.html
807
808         * dom/Element.h:
809         (WebCore::Element::isInputFieldSpeechButtonElement):
810         * html/shadow/TextControlInnerElements.h:
811         (WebCore::InputFieldSpeechButtonElement::isInputFieldSpeechButtonElement):
812         (WebCore::toInputFieldSpeechButtonElement):
813         * rendering/RenderInputSpeech.cpp:
814         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
815
816 2011-03-31  Ryosuke Niwa  <rniwa@webkit.org>
817
818         Build fix after r82588. Reverted unintentional change.
819
820         * editing/SelectionController.cpp:
821         (WebCore::SelectionController::modifyMovingLeft):
822
823 2011-03-31  Mario Sanchez Prada  <msanchez@igalia.com>
824
825         Reviewed by Xan Lopez.
826
827         [GTK] Warnings happening because of unhandled switch cases in AccessibilityObjectWrapperAtk
828         https://bugs.webkit.org/show_bug.cgi?id=57534
829
830         Fix compilation warnings.
831
832         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
833         (getAttributeSetForAccessibilityObject): Add unhandled cases.
834
835 2011-03-30  Pavel Podivilov  <podivilov@chromium.org>
836
837         Reviewed by Pavel Feldman.
838
839         Web Inspector: remove unnecessary newBody output parameter from editScriptSource protocol method.
840         https://bugs.webkit.org/show_bug.cgi?id=57444
841
842         * bindings/js/ScriptDebugServer.cpp:
843         (WebCore::ScriptDebugServer::editScriptSource):
844         * bindings/js/ScriptDebugServer.h:
845         * bindings/v8/ScriptDebugServer.cpp:
846         (WebCore::ScriptDebugServer::editScriptSource):
847         * bindings/v8/ScriptDebugServer.h:
848         * inspector/Inspector.json:
849         * inspector/InspectorDebuggerAgent.cpp:
850         (WebCore::InspectorDebuggerAgent::editScriptSource):
851         * inspector/InspectorDebuggerAgent.h:
852         * inspector/front-end/DebuggerModel.js:
853         (WebInspector.DebuggerModel.prototype.editScriptSource):
854         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
855         * inspector/front-end/DebuggerPresentationModel.js:
856         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
857         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
858         * inspector/front-end/SourceFrame.js:
859         (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
860         (WebInspector.SourceFrame.prototype._handleSave):
861
862 2011-03-30  MORITA Hajime <morrita@google.com>
863
864         Reviewed by Dimitri Glazkov.
865
866         <meter> can only support horizontal indicator
867         https://bugs.webkit.org/show_bug.cgi?id=56001
868
869         - Removed code which deals with the direction and
870           left the horizontal path.
871         - Removed "horizontal" from related names which is now
872           redundant.
873         
874         * css/CSSSelector.cpp:
875         (WebCore::CSSSelector::pseudoId):
876         (WebCore::nameToPseudoTypeMap):
877         (WebCore::CSSSelector::extractPseudoType):
878         * css/CSSSelector.h:
879         * css/html.css:
880         (meter::-webkit-meter-bar):
881         (meter::-webkit-meter-optimum-value):
882         (meter::-webkit-meter-suboptimal-value):
883         (meter::-webkit-meter-even-less-good-value):
884         * rendering/RenderMeter.cpp:
885         (WebCore::RenderMeter::~RenderMeter):
886         (WebCore::RenderMeter::createPart):
887         (WebCore::RenderMeter::updateFromElement):
888         (WebCore::RenderMeter::layoutParts):
889         (WebCore::RenderMeter::styleDidChange):
890         (WebCore::RenderMeter::shouldHaveParts):
891         (WebCore::RenderMeter::valuePartRect):
892         (WebCore::RenderMeter::valuePseudoId):
893         (WebCore::RenderMeter::barPseudoId):
894         (WebCore::RenderMeter::detachShadows):
895         (WebCore::RenderMeter::updateShadows):
896         * rendering/RenderMeter.h:
897         (WebCore::RenderMeter::shadowAttached):
898         * rendering/RenderTheme.cpp:
899         (WebCore::RenderTheme::supportsMeter):
900         * rendering/RenderTheme.h:
901         * rendering/RenderThemeMac.h:
902         * rendering/RenderThemeMac.mm:
903         (WebCore::RenderThemeMac::paintMeter):
904         (WebCore::RenderThemeMac::supportsMeter):
905         * rendering/style/RenderStyleConstants.h:
906
907 2011-03-30  Xiaomei Ji  <xji@chromium.org>
908
909         Reviewed by Ryosuke Niwa.
910
911         Experiment with moving caret by word in visual order.
912         https://bugs.webkit.org/show_bug.cgi?id=57336
913
914         Follow Firefox's convention in Windows, 
915         In LTR block, word break visually moves cursor to the left boundary of words,
916         In RTL block, word break visually moves cursor to the right boundary of words.
917
918         This is the 1st version of implementing "move caret by word in visual order".
919         It only works in the following situation:
920         1. For a LTR box in a LTR block or a RTL box in RTL block, 
921         when caret is at the left boundary of the box and we are looking for 
922         the word boundary in right.
923         2. For a LTR or RTL box in a LTR block, when caret is at the left boundary
924         of the box and we are looking for the word boundary in left and 
925         previous box is a LTR box.
926         3. For a LTR or RTL box in a RTL block, when the caret is at the right 
927         boundary of the box and we are looking for the word boundary in right and next box is RTL box.
928
929         An experimental granularity is introduced, as a side effect, functions having switch statements
930         to handle those granularities have to add more one case to handle this new granularity.
931         The experimental granularity is exposed though JS by '-webkit-visual-word".
932
933         The overall algorithm is looping through inline boxes visually and looking
934         for the visually nearest word break position. 
935
936         Test: editing/selection/move-by-word-visually.html
937
938         * editing/SelectionController.cpp:
939         (WebCore::SelectionController::modifyExtendingRight):
940         (WebCore::SelectionController::modifyExtendingForward):
941         (WebCore::SelectionController::modifyMovingRight):
942         (WebCore::SelectionController::modifyMovingForward):
943         (WebCore::SelectionController::modifyExtendingLeft):
944         (WebCore::SelectionController::modifyExtendingBackward):
945         (WebCore::SelectionController::modifyMovingLeft):
946         (WebCore::SelectionController::modifyMovingBackward):
947         * editing/TextGranularity.h:
948         * editing/VisibleSelection.cpp:
949         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
950         * editing/visible_units.cpp:
951         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
952         (WebCore::wordBoundaryInBox):
953         (WebCore::wordBoundaryInAdjacentBoxes):
954         (WebCore::leftWordBoundary):
955         (WebCore::rightWordBoundary):
956         (WebCore::leftWordPosition):
957         (WebCore::rightWordPosition):
958         * editing/visible_units.h:
959         * page/DOMSelection.cpp:
960         (WebCore::DOMSelection::modify):
961
962 2011-03-31  Dimitri Glazkov  <dglazkov@chromium.org>
963
964         Reviewed by Darin Adler.
965
966         Move coordinate-computing logic into MouseRelatedEvent.
967         https://bugs.webkit.org/show_bug.cgi?id=57521
968
969         Refactoring, covered by existing tests.
970
971         * dom/EventDispatcher.cpp:
972         (WebCore::EventDispatcher::dispatchWheelEvent): Yank calculation of
973             coordinates out.
974         (WebCore::EventDispatcher::dispatchMouseEvent): Ditto.
975         * dom/MouseEvent.cpp:
976         (WebCore::MouseEvent::create): Add coordinate-computing logic.
977         * dom/MouseEvent.h: Adjust decl to reflect new meaning of params.
978         * dom/MouseRelatedEvent.cpp:
979         (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
980         * page/EventHandler.cpp:
981         (WebCore::EventHandler::dispatchDragEvent): Ditto.
982
983 2011-03-30  Alexander Pavlov  <apavlov@chromium.org>
984
985         Reviewed by Pavel Feldman.
986
987         Web Inspector: document CSS agent.
988         https://bugs.webkit.org/show_bug.cgi?id=57435
989
990         * inspector/Inspector.json:
991
992 2011-03-31  Andrey Kosyakov  <caseq@chromium.org>
993
994         Reviewed by Yury Semikhatsky.
995
996         Web Inspector: remove periods at the end of error messages
997         https://bugs.webkit.org/show_bug.cgi?id=57544
998
999         * inspector/InjectedScript.cpp:
1000         (WebCore::InjectedScript::getProperties):
1001         (WebCore::InjectedScript::makeObjectCall):
1002         * inspector/InspectorCSSAgent.cpp:
1003         (WebCore::InspectorCSSAgent::elementForId):
1004         (WebCore::InspectorCSSAgent::styleSheetForId):
1005         * inspector/InspectorDOMAgent.cpp:
1006         (WebCore::InspectorDOMAgent::assertNode):
1007         (WebCore::InspectorDOMAgent::assertElement):
1008         (WebCore::InspectorDOMAgent::assertHTMLElement):
1009         (WebCore::InspectorDOMAgent::querySelector):
1010         (WebCore::InspectorDOMAgent::querySelectorAll):
1011         (WebCore::InspectorDOMAgent::setAttribute):
1012         (WebCore::InspectorDOMAgent::removeAttribute):
1013         (WebCore::InspectorDOMAgent::removeNode):
1014         (WebCore::InspectorDOMAgent::setNodeValue):
1015         * inspector/InspectorDebuggerAgent.cpp:
1016         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
1017         * inspector/InspectorResourceAgent.cpp:
1018         (WebCore::InspectorResourceAgent::resourceContent):
1019         (WebCore::InspectorResourceAgent::resourceContentBase64):
1020         (WebCore::InspectorResourceAgent::getResourceContent):
1021         * inspector/InspectorRuntimeAgent.cpp:
1022         (WebCore::InspectorRuntimeAgent::setPropertyValue):
1023
1024 2011-03-31  Evan Martin  <evan@chromium.org>
1025
1026         Reviewed by Eric Seidel.
1027
1028         <title> should support dir attribute
1029         https://bugs.webkit.org/show_bug.cgi?id=50961
1030
1031         Introduce a new StringWithDirection object that carries a String along
1032         with the TextDirection associated with the String.  Use this object for
1033         document titles used within WebCore, because in HTML the direction of
1034         a title can be set with the 'dir' attribute.
1035
1036         Put FIXMEs at the WebKit level to expose the new direction information
1037         to clients.
1038
1039         No behavioral change intended, so no new tests.  A follow-up will expose
1040         the title direction and hopefully can be accompanied by tests that
1041         verify it is correct.
1042
1043         * dom/Document.cpp:
1044         (WebCore::Document::Document):
1045         (WebCore::Document::updateTitle):
1046         (WebCore::Document::setTitle):
1047         (WebCore::Document::removeTitle):
1048         * dom/Document.h:
1049         (WebCore::Document::title):
1050         * html/HTMLTitleElement.cpp:
1051         (WebCore::HTMLTitleElement::HTMLTitleElement):
1052         (WebCore::HTMLTitleElement::childrenChanged):
1053         (WebCore::HTMLTitleElement::text):
1054         (WebCore::HTMLTitleElement::textWithDirection):
1055         * html/HTMLTitleElement.h:
1056         * loader/DocumentLoader.cpp:
1057         (WebCore::DocumentLoader::setTitle):
1058         * loader/DocumentLoader.h:
1059         (WebCore::DocumentLoader::title):
1060         * loader/EmptyClients.h:
1061         (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveTitle):
1062         (WebCore::EmptyFrameLoaderClient::setTitle):
1063         * loader/FrameLoader.cpp:
1064         (WebCore::FrameLoader::receivedFirstData):
1065         (WebCore::FrameLoader::commitProvisionalLoad):
1066         (WebCore::FrameLoader::setTitle):
1067         * loader/FrameLoader.h:
1068         * loader/FrameLoaderClient.h:
1069         * loader/HistoryController.cpp:
1070         (WebCore::HistoryController::updateForBackForwardNavigation):
1071         (WebCore::HistoryController::updateForReload):
1072         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
1073         (WebCore::HistoryController::updateForClientRedirect):
1074         (WebCore::HistoryController::updateForCommit):
1075         (WebCore::HistoryController::setCurrentItemTitle):
1076         (WebCore::HistoryController::initializeItem):
1077         * loader/HistoryController.h:
1078         * platform/text/StringWithDirection.h: Added.
1079         (WebCore::StringWithDirection::StringWithDirection):
1080         (WebCore::StringWithDirection::operator==):
1081         (WebCore::StringWithDirection::operator!=):
1082         * svg/SVGTitleElement.cpp:
1083         (WebCore::SVGTitleElement::insertedIntoDocument):
1084         (WebCore::SVGTitleElement::childrenChanged):
1085
1086 2011-03-31  Alexander Pavlov  <apavlov@chromium.org>
1087
1088         Reviewed by Yury Semikhatsky.
1089
1090         Web Inspector: CSS domain - make a "range" object, get rid of "properties" object for Style objects
1091         https://bugs.webkit.org/show_bug.cgi?id=57538
1092
1093         * inspector/InspectorStyleSheet.cpp:
1094         (WebCore::buildSourceRangeObject):
1095         (WebCore::InspectorStyle::buildObjectForStyle):
1096         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
1097         * inspector/front-end/AuditRules.js:
1098         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
1099         * inspector/front-end/CSSStyleModel.js:
1100         (WebInspector.CSSStyleDeclaration):
1101
1102 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
1103
1104         Unreviewed, rolling out r82565.
1105         http://trac.webkit.org/changeset/82565
1106         https://bugs.webkit.org/show_bug.cgi?id=57541
1107
1108         Caused assertion failures. (Requested by bbandix on #webkit).
1109
1110         * platform/graphics/filters/FEFlood.cpp:
1111         (WebCore::FEFlood::setFloodColor):
1112         (WebCore::FEFlood::setFloodOpacity):
1113         * platform/graphics/filters/FEFlood.h:
1114         * platform/graphics/filters/FESpecularLighting.cpp:
1115         (WebCore::FESpecularLighting::setLightingColor):
1116         * platform/graphics/filters/FESpecularLighting.h:
1117         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1118         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
1119         * rendering/svg/SVGResourcesCache.cpp:
1120         (WebCore::SVGResourcesCache::clientStyleChanged):
1121         * svg/SVGFEDiffuseLightingElement.cpp:
1122         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
1123         * svg/SVGFEFloodElement.cpp:
1124         * svg/SVGFEFloodElement.h:
1125         * svg/SVGFESpecularLightingElement.cpp:
1126         (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
1127
1128 2011-03-31  Renata Hodovan  <reni@webkit.org>
1129
1130         Reviewed by Dirk Schulze.
1131
1132         CSS related SVG*Element changes doesn't require relayout
1133         https://bugs.webkit.org/show_bug.cgi?id=56906
1134
1135         The changes of some CSS related SVGFilter properties e.g. lighting-color, flood-color, flood-opacity
1136         need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange()
1137         we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties
1138         via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes.
1139
1140         Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html
1141                svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html
1142                svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html
1143                svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html
1144
1145         * platform/graphics/filters/FEFlood.cpp:
1146         (WebCore::FEFlood::setFloodColor):
1147         (WebCore::FEFlood::setFloodOpacity):
1148         * platform/graphics/filters/FEFlood.h:
1149         * platform/graphics/filters/FESpecularLighting.cpp:
1150         (WebCore::FESpecularLighting::setLightingColor):
1151         * platform/graphics/filters/FESpecularLighting.h:
1152         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1153         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
1154         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
1155         * rendering/svg/SVGResourcesCache.cpp:
1156         (WebCore::SVGResourcesCache::clientStyleChanged):
1157         * svg/SVGFEDiffuseLightingElement.cpp:
1158         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
1159         * svg/SVGFEFloodElement.cpp:
1160         (WebCore::SVGFEFloodElement::setFilterEffectAttribute):
1161         * svg/SVGFEFloodElement.h:
1162         * svg/SVGFESpecularLightingElement.cpp:
1163         (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
1164
1165 2011-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
1166
1167         Reviewed by Pavel Feldman.
1168
1169         XML Viewer: declared namespaces are not rendered.
1170         https://bugs.webkit.org/show_bug.cgi?id=56262
1171
1172         XML viewer rewritten on javascript.
1173
1174         * CMakeLists.txt:
1175         * DerivedSources.make:
1176         * GNUmakefile.am:
1177         * WebCore.gyp/WebCore.gyp:
1178         * WebCore.gypi:
1179         * WebCore.vcproj/WebCore.vcproj:
1180         * WebCore.xcodeproj/project.pbxproj:
1181         * dom/XMLDocumentParserLibxml2.cpp:
1182         (WebCore::XMLDocumentParser::doEnd):
1183         * xml/XMLTreeViewer.cpp:
1184         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
1185         * xml/XMLViewer.css: Added.
1186         * xml/XMLViewer.js: Added.
1187         * xml/XMLViewer.xsl: Removed.
1188         * xml/XSLStyleSheet.h:
1189
1190 2011-03-31  Jaehun Lim  <ljaehun.lim@samsung.com>
1191
1192         Unreviewed build fix.
1193
1194         Fix build break after rolling out r82496
1195         https://bugs.webkit.org/show_bug.cgi?id=57536
1196
1197         * platform/efl/RenderThemeEfl.cpp:
1198
1199 2011-03-31  Andrey Adaikin  <aandrey@google.com>
1200
1201         Reviewed by Pavel Feldman.
1202
1203         Web Inspector: execution line is displayed incorrectly after source editing.
1204         https://bugs.webkit.org/show_bug.cgi?id=57229
1205
1206         * inspector/front-end/SourceFrame.js:
1207         (WebInspector.SourceFrame.prototype._saveViewerState):
1208         (WebInspector.SourceFrame.prototype._restoreViewerState):
1209         (WebInspector.SourceFrame.prototype._startEditing):
1210         (WebInspector.SourceFrame.prototype._endEditing):
1211         (WebInspector.SourceFrame.prototype._createTextViewer):
1212         (WebInspector.SourceFrame.prototype.setExecutionLine):
1213         (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
1214         (WebInspector.SourceFrame.prototype._handleSave):
1215         (WebInspector.SourceFrame.prototype._handleRevertEditing):
1216         * inspector/front-end/TextViewer.js:
1217         (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
1218         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
1219         (WebInspector.TextEditorMainPanel.prototype.makeLineAChunk):
1220         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
1221
1222 2011-03-30  Alexander Pavlov  <apavlov@chromium.org>
1223
1224         Reviewed by Pavel Feldman.
1225
1226         Web Inspector: Make the CSStyle "shorthandValues" name-value map an array
1227         https://bugs.webkit.org/show_bug.cgi?id=57452
1228
1229         No new tests, as this is a refactoring.
1230
1231         * inspector/InspectorCSSAgent.cpp:
1232         * inspector/InspectorStyleSheet.cpp:
1233         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
1234         * inspector/front-end/CSSStyleModel.js:
1235         (WebInspector.CSSStyleDeclaration):
1236         (WebInspector.CSSStyleDeclaration.buildShorthandValueMap):
1237
1238 2011-03-30  Steve Block  <steveblock@google.com>
1239
1240         Reviewed by Jeremy Orlow.
1241
1242         JavaField should not expose JavaString in its API
1243         https://bugs.webkit.org/show_bug.cgi?id=55766
1244
1245         This patch fixes JavaField for V8 only.
1246         - Factors out a JavaField interface which does not use JNI types.
1247           This will allow the Java bridge to be used with objects that
1248           don't use JNI directly. The existing jobject-backed
1249           implementation is moved to a new JavaFieldJobject class which
1250           implements the interface.
1251         - Use WTF::String in place of JavaString in the API, as JavaString
1252           exposes JNI types in its interface.
1253
1254         No new tests, refactoring only.
1255
1256         * Android.v8bindings.mk:
1257         * WebCore.gypi:
1258         * bridge/jni/JavaMethod.h:
1259         (JSC::Bindings::JavaMethod::~JavaMethod):
1260         * bridge/jni/JobjectWrapper.h:
1261         * bridge/jni/v8/JavaClassV8.cpp:
1262         (JavaClass::JavaClass):
1263         * bridge/jni/v8/JavaFieldJobjectV8.cpp:
1264         (JavaFieldJobject::JavaFieldJobject):
1265         * bridge/jni/v8/JavaFieldJobjectV8.h:
1266         (JSC::Bindings::JavaFieldJobject::name):
1267         (JSC::Bindings::JavaFieldJobject::typeClassName):
1268         (JSC::Bindings::JavaFieldJobject::type):
1269         * bridge/jni/v8/JavaFieldV8.h:
1270         (JSC::Bindings::JavaField::~JavaField):
1271         * bridge/jni/v8/JavaInstanceV8.cpp:
1272         (JavaInstance::getField):
1273
1274 2011-03-31  Levi Weintraub  <leviw@chromium.org>
1275
1276         Reviewed by Ryosuke Niwa.
1277
1278         Clean up from r82447.
1279         https://bugs.webkit.org/attachment.cgi?bugid=57532
1280
1281         No new tests since this doesn't change behavior.
1282
1283         * rendering/RenderBlock.cpp: Removing unnecessary visible_units.h include.
1284         * rendering/RootInlineBox.cpp:
1285         (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Making const.
1286         (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
1287         * rendering/RootInlineBox.h:
1288
1289 2011-03-31  Benjamin Kalman  <kalman@chromium.org>
1290
1291         Reviewed by Ojan Vafai.
1292
1293         DeleteSelectionCommand::removeNode tries to insert block placeholder in non-editable table cell positions
1294         https://bugs.webkit.org/show_bug.cgi?id=57079
1295
1296         Test: editing/execCommand/delete-table-with-empty-contents.html
1297
1298         This bug results in an ASSERT fail in CompositeEditCommand::insertNodeAt, so is only observable in debug builds
1299         of WebKit.
1300
1301         * editing/DeleteSelectionCommand.cpp:
1302         (WebCore::firstEditablePositionInNode):
1303         (WebCore::DeleteSelectionCommand::removeNode): Use firstEditablePositionInNode rather than firstPositionInNode
1304         to find anchor node for the placeholder's position, if any.
1305
1306 2011-03-30  Ojan Vafai  <ojan@chromium.org>
1307
1308         Reviewed by Adam Roben.
1309
1310         REGRESSION (r82400): Leaks seen beneath CSSParser::createFloatingVectorSelector when parsing UA stylesheet
1311         https://bugs.webkit.org/show_bug.cgi?id=57478
1312
1313         * css/CSSGrammar.y:
1314         * css/CSSParser.cpp:
1315         (WebCore::CSSParser::sinkFloatingSelectorVector):
1316         * css/CSSParser.h:
1317
1318 2011-03-30  Dominic Cooney  <dominicc@google.com>
1319
1320         Reviewed by Dimitri Glazkov.
1321
1322         Adds layoutTestController.shadowRoot accessor to Mac DRT.
1323         https://bugs.webkit.org/show_bug.cgi?id=57415
1324
1325         * WebCore.exp.in: DRT needs to link WebCore::Element::shadowRoot
1326
1327 2011-03-30  Kent Tamura  <tkent@chromium.org>
1328
1329         Reviewed by Dimitri Glazkov.
1330
1331         Simplify HTMLFormElement::validateInteractively() for asynchronous scroll event
1332         https://bugs.webkit.org/show_bug.cgi?id=57424
1333
1334         r75555 made 'scroll' event asynchronous. So we don't need to worry about
1335         deleting or moving a target node in scrollIntoViewIfNeeded().
1336
1337         * html/HTMLFormElement.cpp:
1338         (WebCore::HTMLFormElement::validateInteractively): Remove unnecessary code.
1339
1340 2011-03-30  Kent Tamura  <tkent@chromium.org>
1341
1342         Reviewed by Darin Adler.
1343
1344         REGRESSION (r74895): Crash if input.type = 'file' twice
1345         https://bugs.webkit.org/show_bug.cgi?id=57343
1346
1347         * html/HTMLInputElement.cpp:
1348         (WebCore::HTMLInputElement::updateType):
1349           Don't call setAttribute() if the type is not changed.
1350
1351 2011-03-30  Jia Pu  <jpu@apple.com>
1352
1353         Reviewed by Darin Adler.
1354
1355         Autocorrection panel isn't positioned correctly in Safari (mac) when the zooming is not 1x.
1356         https://bugs.webkit.org/show_bug.cgi?id=57353
1357         <rdar://problem/9163983>
1358
1359         We use Range::textQuads() instead of Range::boundingRect() to compute the position of correction
1360         panel. The latter function compensates for zooming, which we don't need in this case. We also
1361         dismiss correction panel when zooming factor is changed. This is done in Frame::setPageAndTextZoomFactors().
1362
1363         * WebCore.exp.in:
1364         * dom/Range.cpp:
1365         (WebCore::Range::textQuads):
1366         * dom/Range.h:
1367         * editing/Editor.cpp:
1368         (WebCore::Editor::windowRectForRange):
1369         * editing/Editor.h:
1370         * page/Frame.cpp:
1371         (WebCore::Frame::setPageAndTextZoomFactors):
1372
1373 2011-03-30  Chris Guillory  <chris.guillory@google.com>
1374
1375         Reviewed by Dimitri Glazkov.
1376
1377         Render fonts using skia when requested by platform context.
1378         https://bugs.webkit.org/show_bug.cgi?id=56441
1379
1380         * platform/graphics/skia/PlatformContextSkia.cpp:
1381         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
1382         * platform/graphics/skia/PlatformContextSkia.h:
1383         * platform/graphics/skia/SkiaFontWin.cpp:
1384         (WebCore::windowsCanHandleTextDrawing):
1385         (WebCore::skiaDrawText):
1386         (WebCore::setupPaintForFont):
1387         (WebCore::paintSkiaText):
1388
1389 2011-03-30  Dan Bernstein  <mitz@apple.com>
1390
1391         Reviewed by Darin Adler.
1392
1393         <rdar://problem/9199518> Crash when focusing a styled editable element
1394
1395         Test: editing/deleting/delete-button-background-image-none.html
1396
1397         * editing/DeleteButtonController.cpp:
1398         (WebCore::isDeletableElement): Check all background layers for background images.
1399         * rendering/style/RenderStyle.h: Removed backgroundImage() as it was only used, incorrectly,
1400         in the above function.
1401
1402 2011-03-30  Martin Robinson  <mrobinson@igalia.com>
1403
1404         Try once more to fix the EFL build.
1405
1406         * platform/efl/RenderThemeEfl.cpp:
1407
1408 2011-03-30  Chris Fleizach  <cfleizach@apple.com>
1409
1410         Reviewed by Darin Adler.
1411
1412         Regression: VO cursor doesn't follow KB focus back into HTML view
1413         https://bugs.webkit.org/show_bug.cgi?id=57509
1414
1415         In WK2, because the web area never believes focus leave the area, sending the initial
1416         focus change when moving back into the web area, does not trigger a notification.
1417
1418         That behavior needs to be overridden by explicitly posting a focused UI element change
1419         at the appropriate time. This is only used in WK2, hence the absence of a layout test for now.
1420
1421         * page/FocusController.cpp:
1422         (WebCore::FocusController::setInitialFocus):
1423
1424 2011-03-30  MORITA Hajime  <morrita@google.com>
1425
1426         Reviewed by Simon Fraser.
1427
1428         box-shadow radii stays the same regardless of any spread set
1429         https://bugs.webkit.org/show_bug.cgi?id=49726
1430
1431         - Removed special shadowSpread handling path
1432         - Fixed broken multple inset shadow border computation.
1433
1434         Test: fast/box-shadow/spread-multiple-inset.html
1435
1436         * rendering/RenderBoxModelObject.cpp:
1437         (WebCore::RenderBoxModelObject::paintBoxShadow):
1438
1439 2011-03-29  Matthew Delaney  <mdelaney@apple.com>
1440
1441         Reviewed by Simon Fraser.
1442
1443         Use the Accelerate vImage vectorized (un)premultiplyImageData functions for ImageBufferCG
1444
1445         https://bugs.webkit.org/show_bug.cgi?id=53134
1446
1447         Test: fast/canvas/getPutImageDataPairTest.html
1448
1449         * platform/graphics/cg/ImageBufferCG.cpp:
1450
1451 2011-03-30  Steve Falkenburg  <sfalken@apple.com>
1452
1453         Reviewed by Adam Roben.
1454
1455         Share most vsprops between Release and Production builds in releaseproduction.vsprops
1456         https://bugs.webkit.org/show_bug.cgi?id=57508
1457
1458         * WebCore.vcproj/QTMovieWinProduction.vsprops:
1459         * WebCore.vcproj/QTMovieWinRelease.vsprops:
1460         * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops:
1461         * WebCore.vcproj/WebCoreProduction.vsprops:
1462         * WebCore.vcproj/WebCoreRelease.vsprops:
1463         * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops:
1464
1465 2011-03-30  Timur Iskhodzhanov  <timurrrr@google.com>
1466
1467         Reviewed by Alexey Proskuryakov.
1468
1469         Add some dynamic annotations to JavaScriptCore/wtf
1470         https://bugs.webkit.org/show_bug.cgi?id=53747
1471
1472         By using these annotations we can improve the precision of finding
1473         WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind.
1474         These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1".
1475
1476         These files don't add new functionality, so don't need extra tests.
1477
1478         * ForwardingHeaders/wtf/DynamicAnnotations.h: Added.
1479
1480 2011-03-30  Abhishek Arya  <inferno@chromium.org>
1481
1482         Reviewed by Simon Fraser.
1483
1484         Fix wrong type assumptions in editing code. Move code
1485         from ASSERTs to hard checks.
1486         https://bugs.webkit.org/show_bug.cgi?id=57348
1487
1488         Test: editing/execCommand/remove-format-non-html-element-crash.html
1489
1490         * css/CSSStyleSelector.cpp:
1491         (WebCore::CSSStyleSelector::applyProperty):
1492         * editing/ApplyStyleCommand.cpp:
1493         (WebCore::getRGBAFontColor):
1494         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
1495         * editing/DeleteButtonController.cpp:
1496         (WebCore::enclosingDeletableElement):
1497         * editing/EditingStyle.cpp:
1498         (WebCore::EditingStyle::textDirection):
1499         (WebCore::EditingStyle::prepareToApplyAt):
1500         * editing/Editor.cpp:
1501         (WebCore::Editor::textDirectionForSelection):
1502         * editing/FormatBlockCommand.cpp:
1503         (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
1504
1505 2011-03-30  Stephen White  <senorblanco@chromium.org>
1506
1507         Reviewed by Kenneth Russell.
1508
1509         Speed up clipping in accelerated 2D canvas.
1510         https://bugs.webkit.org/show_bug.cgi?id=57464
1511
1512         Instead of clearing the entire stencil buffer when removing clipping paths, we erase the path with a DECR stencil operation.
1513         Covered by canvas/philip/tests/2d.path.clip.intersect.html, and others.
1514
1515         * platform/graphics/chromium/GLES2Canvas.cpp:
1516         (WebCore::PathAndTransform::PathAndTransform):
1517         New structure to keep track of the CTM at the time the clipping path was added.
1518         (WebCore::GLES2Canvas::State::State):
1519         Replace m_clippingEnabled with a count of total clipping paths.
1520         (WebCore::GLES2Canvas::clearRect):
1521         Check the total clipping path count, instead of m_clippingEnabled.
1522         (WebCore::GLES2Canvas::fillPath):
1523         (WebCore::GLES2Canvas::fillRect):
1524         Perform state application after doing shadows.  This is necessary
1525         since restore() may now leave clipping enabled.
1526         (WebCore::GLES2Canvas::clipPath):
1527         Explicitly specify the stencil operation as INCR.  Store the current
1528         transformation when saving clipping paths.
1529         (WebCore::GLES2Canvas::restore):
1530         Don't clear the stencil buffer and re-draw active paths on each restore.
1531         Erase the old paths with DECR.
1532         (WebCore::GLES2Canvas::drawTexturedRect):
1533         Check m_numClippingPaths instead of m_clippingEnabled.
1534         (WebCore::GLES2Canvas::beginShadowDraw):
1535         Perform state application when drawing hard shadows.
1536         (WebCore::GLES2Canvas::endShadowDraw):
1537         Check m_numClippingPaths instead of m_clippingEnabled.
1538         (WebCore::GLES2Canvas::beginStencilDraw):
1539         Make the stencil op a parameter to beginShadowDraw().
1540         (WebCore::GLES2Canvas::applyClipping):
1541         Compare against the total number of stencil paths, not just the ones in
1542         the current state.
1543         * platform/graphics/chromium/GLES2Canvas.h:
1544         Make the stencil op a parameter to beginShadowDraw().
1545
1546 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
1547
1548         Reviewed by Darin Adler.
1549
1550         Move factory-like things in EventDispatcher::dispatchMouseEvent to a factory, clean up names and ordering.
1551         https://bugs.webkit.org/show_bug.cgi?id=57419
1552
1553         Refactoring, covered by existing tests.
1554
1555         * dom/EventDispatcher.cpp:
1556         (WebCore::EventDispatcher::dispatchMouseEvent): Reordered and clarified names.
1557         * dom/MouseEvent.cpp:
1558         (WebCore::MouseEvent::create): Added a new factory method that takes PlatformMouseEvent.
1559         * dom/MouseEvent.h: Added decl.
1560
1561 2011-03-30  Erik Arvidsson  <arv@chromium.org>
1562
1563         Reviewed by Alexey Proskuryakov.
1564
1565         Missing DOM bindings for a ping
1566         https://bugs.webkit.org/show_bug.cgi?id=51955
1567
1568         Test: fast/dom/ping-attribute-dom-binding.html
1569
1570         * html/HTMLAnchorElement.idl:
1571         * html/HTMLAreaElement.idl:
1572
1573 2011-03-30  Patrick Gansterer  <paroga@webkit.org>
1574
1575         Unreviewed WinCE build fix for r82465.
1576
1577         * CMakeListsWinCE.txt:
1578
1579 2011-03-30  Steve Falkenburg  <sfalken@apple.com>
1580
1581         Reviewed by Adam Roben.
1582
1583         Update Windows production build logic for new production configurations
1584         https://bugs.webkit.org/show_bug.cgi?id=57494
1585
1586         * WebCore.vcproj/QTMovieWinProduction.vsprops:
1587         * WebCore.vcproj/WebCore.make:
1588         * WebCore.vcproj/WebCoreProduction.vsprops:
1589
1590 2011-03-30  Sam Weinig  <sam@webkit.org>
1591
1592         Reviewed by Brady Eidson.
1593
1594         WebKit2: Attempting to view css file from url causes it to download
1595         <rdar://problem/9102611>
1596         https://bugs.webkit.org/show_bug.cgi?id=57501
1597
1598         * WebCore.exp.in:
1599         * platform/MIMETypeRegistry.cpp:
1600         (WebCore::initializeUnsupportedTextMIMETypes):
1601         (WebCore::initializeMIMETypeRegistry):
1602         (WebCore::MIMETypeRegistry::isUnsupportedTextMIMEType):
1603         (WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes):
1604         * platform/MIMETypeRegistry.h:
1605         Add set of unsupported text MIME types, taken from WebKit/mac.
1606
1607 2011-03-30  Brian Weinstein  <bweinstein@apple.com>
1608
1609         Reviewed by Darin Adler.
1610         
1611         Crash when closing "Add Bookmark" dialog using the Enter Key
1612         https://bugs.webkit.org/show_bug.cgi?id=57294
1613         <rdar://problem/9044756>
1614
1615         Protect the FrameView in EventHandler::keyEvent, like we do in other EventHandler
1616         functions that could destroy the frame.
1617
1618         * page/EventHandler.cpp:
1619         (WebCore::EventHandler::keyEvent):
1620
1621 2011-03-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1622
1623         Unreviewed, rolling out r82463.
1624         http://trac.webkit.org/changeset/82463
1625         https://bugs.webkit.org/show_bug.cgi?id=57482
1626
1627         Assertion failure in Node::rendererIsEditable on multiple
1628         editing tests (Requested by aroben|meeting on #webkit).
1629
1630         * css/CSSParser.cpp:
1631         (WebCore::CSSParser::parseValue):
1632         * css/CSSPrimitiveValueMappings.h:
1633         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1634         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
1635         * css/CSSValueKeywords.in:
1636         * rendering/style/RenderStyle.h:
1637         * rendering/style/RenderStyleConstants.h:
1638
1639 2011-03-24  Luiz Agostini  <luiz.agostini@openbossa.org>
1640
1641         Reviewed by Kenneth Rohde Christiansen.
1642
1643         [Qt] QNetworkReplyHandler refactoring: signal sequence.
1644         https://bugs.webkit.org/show_bug.cgi?id=57049
1645
1646         This is the first step in QNetworkReplyHandler. The main objective here is to create simple invariants:
1647
1648             1 - that the signals metadatachanged, readyRead and finished will come in this order.
1649             2 - that signals metadatachanged and finished will be called exactly once.
1650
1651         Having these invariants further simplifications will be possible and will come in future patches.
1652
1653         Class QNetworkReplyWrapper was created to handle QNetworkReply object. To connect to the signals of it
1654         instead of connecting to the signals of QNetworkReply is what guarantees the sequence of the signals.
1655         QNetworkReplyWrapper will be used in future to perform mime type sniffing before sending
1656         metadatachanged signal.
1657
1658         * platform/network/qt/QNetworkReplyHandler.cpp:
1659         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
1660         (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
1661         (WebCore::QNetworkReplyWrapper::release):
1662         (WebCore::QNetworkReplyWrapper::resetConnections):
1663         (WebCore::QNetworkReplyWrapper::receiveMetaData):
1664         (WebCore::QNetworkReplyWrapper::didReceiveFinished):
1665         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1666         (WebCore::QNetworkReplyHandler::resetState):
1667         (WebCore::QNetworkReplyHandler::release):
1668         (WebCore::QNetworkReplyHandler::finish):
1669         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1670         (WebCore::QNetworkReplyHandler::redirect):
1671         (WebCore::QNetworkReplyHandler::forwardData):
1672         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
1673         (WebCore::QNetworkReplyHandler::start):
1674         * platform/network/qt/QNetworkReplyHandler.h:
1675         (WebCore::QNetworkReplyWrapper::reply):
1676         (WebCore::QNetworkReplyWrapper::redirectionTargetUrl):
1677         (WebCore::QNetworkReplyWrapper::encoding):
1678         (WebCore::QNetworkReplyWrapper::advertisedMimeType):
1679         (WebCore::QNetworkReplyHandler::reply):
1680
1681 2011-03-30  Steve Falkenburg  <sfalken@apple.com>
1682
1683         Reviewed by Adam Roben.
1684
1685         Rename Windows configuration Release_LTCG to Production for clarity
1686         https://bugs.webkit.org/show_bug.cgi?id=57465
1687
1688         * WebCore.vcproj/QTMovieWin.vcproj:
1689         * WebCore.vcproj/QTMovieWinProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops.
1690         * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Removed.
1691         * WebCore.vcproj/WebCore.sln:
1692         * WebCore.vcproj/WebCore.submit.sln:
1693         * WebCore.vcproj/WebCore.vcproj:
1694         * WebCore.vcproj/WebCoreGenerated.vcproj:
1695         * WebCore.vcproj/WebCoreProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/WebCoreReleaseLTCG.vsprops.
1696         * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Removed.
1697
1698 2011-03-30  Brian Weinstein  <bweinstein@apple.com>
1699
1700         Reviewed by Anders Carlsson.
1701         
1702         ASSERT(cookieStorageAdapter) when calling stopObservingCookieChanges after WebProcess has crashed
1703         https://bugs.webkit.org/show_bug.cgi?id=57477
1704         <rdar://problem/9178751>
1705         
1706         If someone has called startObservingCookieChanges, and the WebProcess crashes and restarts, the UIProcess
1707         will call stopObservingCookieChanges when cookieStorageAdapter is nil.
1708         
1709         The assert is wrong when the web process crashes, and there is no harm in dispatching a message to nil,
1710         so remove the assert.
1711         
1712         * platform/network/mac/CookieStorageMac.mm:
1713         (WebCore::stopObservingCookieChanges):
1714
1715 2011-03-30  Sam Weinig  <sam@webkit.org>
1716
1717         Fix Leopard build.
1718
1719         * platform/DefaultLocalizationStrategy.cpp:
1720         (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
1721
1722 2011-03-30  Sam Weinig  <sam@webkit.org>
1723
1724         Reviewed by Anders Carlsson.
1725
1726         Add default localization strategy that can be shared by WebKit1 and WebKit2
1727         https://bugs.webkit.org/show_bug.cgi?id=57406
1728
1729         Currently, only WebKit2 uses this default strategy, but WebKit1 should be able
1730         to adopt it soon.
1731
1732         * platform/DefaultLocalizationStrategy.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp.
1733         (WebCore::DefaultLocalizationStrategy::DefaultLocalizationStrategy):
1734         * platform/DefaultLocalizationStrategy.h: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h.
1735         Copy the implementation of the Localization strategy from WebKit2 into a shared default strategy.
1736
1737         * platform/LocalizedStrings.cpp:
1738         (WebCore::localizedString):
1739         Add default implementation of localization bottleneck function.
1740
1741         * platform/LocalizedStrings.h:
1742         Add localization macros here, instead of defining them in the above layer.
1743
1744         * platform/PlatformStrategies.cpp:
1745         (WebCore::PlatformStrategies::createLocalizationStrategy):
1746         * platform/PlatformStrategies.h:
1747         Add default implementation of strategy creation function which creates the default strategy.
1748
1749         * platform/win/LocalizedStringsWin.cpp: Copied from Source/WebCore/platform/mac/LocalizedStringsMac.mm.
1750         (WebCore::localizedString):
1751         Add stub for windows, this will be update to pull from the bundle in a follow up patch.
1752
1753         * Android.mk:
1754         * CMakeLists.txt:
1755         * GNUmakefile.am:
1756         * WebCore.exp.in:
1757         * WebCore.gypi:
1758         * WebCore.pro:
1759         * WebCore.vcproj/WebCore.vcproj:
1760         * WebCore.xcodeproj/project.pbxproj:
1761         Add new files.
1762
1763 2011-03-30  Andras Becsi  <abecsi@webkit.org>
1764
1765         Reviewed by Darin Adler.
1766
1767         CSS: Slow parsing of rgb() with percent values
1768         https://bugs.webkit.org/show_bug.cgi?id=16708
1769
1770         Implement fast-path parsing for percentage color values.
1771
1772         Gain ~30% speedup on  http://canvex.lazyilluminati.com/misc/3d.html
1773
1774         Relanding with rounding fix after it was rolled out in r82315.
1775
1776         * css/CSSParser.cpp:
1777         (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double.
1778         (WebCore::parseDouble): Function for parsing double values if they are valid.
1779         (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values.
1780         (WebCore::parseAlphaValue): Use the new functions.
1781         (WebCore::CSSParser::parseColor): Ditto.
1782
1783 2011-03-30  Ofri Wolfus  <ofri@dhcp-172-28-40-178.tlv.corp.google.com>
1784
1785         Reviewed by Eric Seidel.
1786
1787         Add support for parsing unicode-bidi: -webkit-plaintext.
1788         https://bugs.webkit.org/show_bug.cgi?id=57457
1789
1790         Test: css3/unicode-bidi-plaintext-parse.html
1791
1792         * css/CSSParser.cpp:
1793         (WebCore::CSSParser::parseValue):
1794         * css/CSSPrimitiveValueMappings.h:
1795         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1796         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
1797         * css/CSSValueKeywords.in:
1798         * rendering/style/RenderStyle.h:
1799         * rendering/style/RenderStyleConstants.h:
1800
1801 2011-03-30  Andreas Kling  <kling@webkit.org>
1802
1803         Reviewed by Benjamin Poulain.
1804
1805         [Qt] Remove unused variables in GraphicsContext::fillRect()
1806
1807         * platform/graphics/qt/GraphicsContextQt.cpp:
1808         (WebCore::GraphicsContext::fillRect):
1809
1810 2011-03-30  Yael Aharon  <yael.aharon@nokia.com>
1811
1812         Reviewed by Eric Seidel.
1813
1814         REGRESSION(r82419): New pixel test failure fast/box-shadow/basic-shadows.html
1815         https://bugs.webkit.org/show_bug.cgi?id=57442
1816
1817         When checking the position of the inline iterator in the logicallyLastRun, we should not consider BR as text.
1818
1819         No new tests as existing test covers this case.
1820
1821         * rendering/RenderBlockLineLayout.cpp:
1822         (WebCore::reachedEndOfTextRenderer):
1823
1824 2011-03-30  Mario Sanchez Prada  <msanchez@igalia.com>
1825
1826         Reviewed by Chris Fleizach.
1827
1828         AX: GTK: ARIA role is not respected on <p> <label> <div> and <form>
1829         https://bugs.webkit.org/show_bug.cgi?id=47636
1830
1831         Define new roles in WebCore and map them to ATK accordingly.
1832
1833         Test: platform/gtk/accessibility/aria-roles-unignored.html
1834
1835         * accessibility/AccessibilityObject.h: Added new roles to
1836         represent paragraphs, labels, forms and div sections.
1837         * accessibility/AccessibilityRenderObject.cpp:
1838         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1839         Return ParagraphRole, LabelRole, FormRole and DivRole when needed
1840         for the GTK platform only.
1841         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1842         (WebCore::AccessibilityObject::allowsTextRanges): Consider the new
1843         roles now that those kind of nodes won't return true to isGroup().
1844         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1845         (atkRole): Map new WebCore roles to ATK Roles.
1846         (webkit_accessible_get_role): Remove code to define roles for
1847         paragraphs, labels, forms and divs based on node's tag name.
1848
1849         Update mappings for the Mac platform.
1850
1851         * accessibility/mac/AccessibilityObjectWrapper.mm:
1852         (createAccessibilityRoleMap): Add explicit mappings from the new
1853         roles introduced to NSAccessibilityGroupRole.
1854
1855 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
1856
1857         Unreviewed. Build fix for Efl and Qt Win.
1858
1859         * inspector/PageDebuggerAgent.cpp: removed ENABLE(WORKERS) guard from code that has nothing to do with workers.
1860
1861 2011-03-30  Andrey Kosyakov  <caseq@chromium.org>
1862
1863         Reviewed by Pavel Feldman.
1864
1865         Web Inspector: audit run never completes, fails in DOMAgent.js
1866         https://bugs.webkit.org/show_bug.cgi?id=57349
1867
1868         - assure document is present before calling DOMAgent.querySelectAll()
1869
1870         * inspector/front-end/AuditRules.js:
1871         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1872
1873 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
1874
1875         Unreviewed. Build fix.
1876
1877         * UseJSC.cmake: fix typo PageDebugServer -> PageScriptDebugServer
1878
1879 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
1880
1881         Reviewed by Pavel Feldman.
1882
1883         Web Inspector: split debugger agent into Page and Worker-specific ones
1884         https://bugs.webkit.org/show_bug.cgi?id=57345
1885
1886         ScriptDebugServer and InspectorDebuggerAgent contain only functionality common
1887         for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer
1888         and Page/WorkerDebuggerAgent.
1889
1890         * CMakeLists.txt:
1891         * GNUmakefile.am:
1892         * UseJSC.cmake:
1893         * WebCore.gypi:
1894         * WebCore.pro:
1895         * WebCore.vcproj/WebCore.vcproj:
1896         * WebCore.xcodeproj/project.pbxproj:
1897         * bindings/js/JSBindingsAllInOne.cpp:
1898         * bindings/js/JSInjectedScriptHostCustom.cpp:
1899         (WebCore::JSInjectedScriptHost::currentCallFrame):
1900         * bindings/js/PageScriptDebugServer.cpp: Added.
1901         (WebCore::toPage):
1902         (WebCore::PageScriptDebugServer::shared):
1903         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
1904         (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
1905         (WebCore::PageScriptDebugServer::addListener):
1906         (WebCore::PageScriptDebugServer::removeListener):
1907         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1908         (WebCore::PageScriptDebugServer::getListenersForGlobalObject):
1909         (WebCore::PageScriptDebugServer::didPause):
1910         (WebCore::PageScriptDebugServer::didContinue):
1911         (WebCore::PageScriptDebugServer::didRemoveLastListener):
1912         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
1913         * bindings/js/PageScriptDebugServer.h: Added.
1914         * bindings/js/ScriptDebugServer.cpp:
1915         (WebCore::ScriptDebugServer::ScriptDebugServer):
1916         (WebCore::ScriptDebugServer::sourceParsed):
1917         (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
1918         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
1919         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
1920         (WebCore::ScriptDebugServer::pauseIfNeeded):
1921         * bindings/js/ScriptDebugServer.h:
1922         * bindings/js/WorkerScriptDebugServer.cpp: Added.
1923         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
1924         (WebCore::WorkerScriptDebugServer::addListener):
1925         (WebCore::WorkerScriptDebugServer::removeListener):
1926         * bindings/js/WorkerScriptDebugServer.h: Added.
1927         (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
1928         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1929         (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
1930         (WebCore::WorkerScriptDebugServer::didPause):
1931         (WebCore::WorkerScriptDebugServer::didContinue):
1932         * bindings/v8/PageScriptDebugServer.cpp: Added.
1933         (WebCore::retrieveFrame):
1934         (WebCore::PageScriptDebugServer::shared):
1935         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
1936         (WebCore::PageScriptDebugServer::addListener):
1937         (WebCore::PageScriptDebugServer::removeListener):
1938         (WebCore::PageScriptDebugServer::setClientMessageLoop):
1939         (WebCore::PageScriptDebugServer::getDebugListenerForContext):
1940         (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
1941         (WebCore::PageScriptDebugServer::quitMessageLoopOnPause):
1942         * bindings/v8/PageScriptDebugServer.h: Added.
1943         (WebCore::PageScriptDebugServer::setEnabled):
1944         (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
1945         (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
1946         * bindings/v8/ScriptDebugServer.cpp:
1947         (WebCore::ScriptDebugServer::ScriptDebugServer):
1948         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
1949         (WebCore::ScriptDebugServer::breakProgram):
1950         (WebCore::ScriptDebugServer::continueProgram):
1951         (WebCore::ScriptDebugServer::stepIntoStatement):
1952         (WebCore::ScriptDebugServer::stepOverStatement):
1953         (WebCore::ScriptDebugServer::stepOutOfFunction):
1954         (WebCore::ScriptDebugServer::editScriptSource):
1955         (WebCore::toScriptDebugServer):
1956         (WebCore::ScriptDebugServer::breakProgramCallback):
1957         (WebCore::ScriptDebugServer::v8DebugEventCallback):
1958         (WebCore::ScriptDebugServer::handleV8DebugEvent):
1959         (WebCore::ScriptDebugServer::isPaused):
1960         * bindings/v8/ScriptDebugServer.h:
1961         * bindings/v8/WorkerScriptDebugServer.cpp: Added.
1962         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
1963         (WebCore::WorkerScriptDebugServer::addListener):
1964         (WebCore::WorkerScriptDebugServer::removeListener):
1965         * bindings/v8/WorkerScriptDebugServer.h: Added.
1966         (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
1967         (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
1968         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
1969         (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
1970         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1971         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
1972         * inspector/InjectedScriptHost.h:
1973         (WebCore::InjectedScriptHost::init):
1974         (WebCore::InjectedScriptHost::debuggerAgent):
1975         * inspector/InspectorAgent.cpp:
1976         (WebCore::InspectorAgent::InspectorAgent):
1977         * inspector/InspectorDebuggerAgent.cpp:
1978         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1979         (WebCore::InspectorDebuggerAgent::enable):
1980         (WebCore::InspectorDebuggerAgent::disable):
1981         (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
1982         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
1983         (WebCore::InspectorDebuggerAgent::continueToLocation):
1984         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1985         (WebCore::InspectorDebuggerAgent::editScriptSource):
1986         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
1987         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
1988         (WebCore::InspectorDebuggerAgent::resume):
1989         (WebCore::InspectorDebuggerAgent::stepOver):
1990         (WebCore::InspectorDebuggerAgent::stepInto):
1991         (WebCore::InspectorDebuggerAgent::stepOut):
1992         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
1993         (WebCore::InspectorDebuggerAgent::didPause):
1994         (WebCore::InspectorDebuggerAgent::breakProgram):
1995         * inspector/InspectorDebuggerAgent.h:
1996         * inspector/InspectorProfilerAgent.cpp:
1997         (WebCore::InspectorProfilerAgent::disable):
1998         (WebCore::InspectorProfilerAgent::enable):
1999         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
2000         * inspector/PageDebuggerAgent.cpp: Added.
2001         (WebCore::PageDebuggerAgent::create):
2002         (WebCore::PageDebuggerAgent::PageDebuggerAgent):
2003         (WebCore::PageDebuggerAgent::~PageDebuggerAgent):
2004         (WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
2005         (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
2006         (WebCore::PageDebuggerAgent::scriptDebugServer):
2007         * inspector/PageDebuggerAgent.h: Added.
2008         * inspector/WorkerDebuggerAgent.cpp: Added.
2009         (WebCore::WorkerDebuggerAgent::create):
2010         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
2011         (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
2012         (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
2013         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
2014         (WebCore::WorkerDebuggerAgent::scriptDebugServer):
2015         * inspector/WorkerDebuggerAgent.h: Added.
2016
2017 2011-03-30  Levi Weintraub  <leviw@chromium.org>
2018
2019         Reviewed by Ryosuke Niwa.
2020
2021         Clicking below last line of right-to-left editable text that puts caret in the wrong place
2022         https://bugs.webkit.org/show_bug.cgi?id=38087
2023
2024         Moving getLogical[Start/End]BoxWithNode to RootInlineBox and using it in positionForPointWithInlineChildren
2025         instead of lastLeafChild, which wasn't correct in the RTL case.
2026
2027         Test: editing/selection/click-below-rtl-text.html
2028
2029         * editing/visible_units.cpp:
2030         (WebCore::logicalStartPositionForLine): Moved to RootInlineBox.
2031         (WebCore::logicalEndPositionForLine): Ditto.
2032         * editing/visible_units.h:
2033         * rendering/RenderBlock.cpp:
2034         (WebCore::RenderBlock::positionForPointWithInlineChildren): Useing getLogicalEndBoxWithNode instead
2035         of lastLeafChild.
2036         * rendering/RootInlineBox.cpp:
2037         (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Moved and refactored.
2038         (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
2039         * rendering/RootInlineBox.h:
2040
2041 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
2042
2043         Unreviewed. Rollout r82438 and r82436.
2044
2045         * CMakeLists.txt:
2046         * GNUmakefile.am:
2047         * UseJSC.cmake:
2048         * WebCore.gypi:
2049         * WebCore.pro:
2050         * WebCore.vcproj/WebCore.vcproj:
2051         * WebCore.xcodeproj/project.pbxproj:
2052         * bindings/js/JSBindingsAllInOne.cpp:
2053         * bindings/js/JSInjectedScriptHostCustom.cpp:
2054         (WebCore::JSInjectedScriptHost::currentCallFrame):
2055         * bindings/js/PageScriptDebugServer.cpp: Removed.
2056         * bindings/js/PageScriptDebugServer.h: Removed.
2057         * bindings/js/ScriptDebugServer.cpp:
2058         (WebCore::ScriptDebugServer::shared):
2059         (WebCore::ScriptDebugServer::ScriptDebugServer):
2060         (WebCore::ScriptDebugServer::addListener):
2061         (WebCore::ScriptDebugServer::removeListener):
2062         (WebCore::ScriptDebugServer::hasListenersInterestedInPage):
2063         (WebCore::toPage):
2064         (WebCore::ScriptDebugServer::sourceParsed):
2065         (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
2066         (WebCore::ScriptDebugServer::setJavaScriptPaused):
2067         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
2068         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
2069         (WebCore::ScriptDebugServer::pauseIfNeeded):
2070         (WebCore::ScriptDebugServer::recompileAllJSFunctions):
2071         (WebCore::ScriptDebugServer::didAddListener):
2072         (WebCore::ScriptDebugServer::didRemoveListener):
2073         * bindings/js/ScriptDebugServer.h:
2074         * bindings/js/WorkerScriptDebugServer.cpp: Removed.
2075         * bindings/js/WorkerScriptDebugServer.h: Removed.
2076         * bindings/v8/PageScriptDebugServer.cpp: Removed.
2077         * bindings/v8/PageScriptDebugServer.h: Removed.
2078         * bindings/v8/ScriptDebugServer.cpp:
2079         (WebCore::retrieveFrame):
2080         (WebCore::ScriptDebugServer::shared):
2081         (WebCore::ScriptDebugServer::ScriptDebugServer):
2082         (WebCore::ScriptDebugServer::addListener):
2083         (WebCore::ScriptDebugServer::removeListener):
2084         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
2085         (WebCore::ScriptDebugServer::breakProgram):
2086         (WebCore::ScriptDebugServer::continueProgram):
2087         (WebCore::ScriptDebugServer::stepIntoStatement):
2088         (WebCore::ScriptDebugServer::stepOverStatement):
2089         (WebCore::ScriptDebugServer::stepOutOfFunction):
2090         (WebCore::ScriptDebugServer::editScriptSource):
2091         (WebCore::ScriptDebugServer::setEnabled):
2092         (WebCore::ScriptDebugServer::breakProgramCallback):
2093         (WebCore::ScriptDebugServer::v8DebugEventCallback):
2094         (WebCore::ScriptDebugServer::handleV8DebugEvent):
2095         (WebCore::ScriptDebugServer::didResume):
2096         * bindings/v8/ScriptDebugServer.h:
2097         (WebCore::ScriptDebugServer::pageCreated):
2098         (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
2099         (WebCore::ScriptDebugServer::setClientMessageLoop):
2100         * bindings/v8/WorkerScriptDebugServer.cpp: Removed.
2101         * bindings/v8/WorkerScriptDebugServer.h: Removed.
2102         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2103         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
2104         * inspector/InjectedScriptHost.h:
2105         (WebCore::InjectedScriptHost::init):
2106         * inspector/InspectorAgent.cpp:
2107         (WebCore::InspectorAgent::InspectorAgent):
2108         * inspector/InspectorDebuggerAgent.cpp:
2109         (WebCore::InspectorDebuggerAgent::create):
2110         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2111         (WebCore::InspectorDebuggerAgent::enable):
2112         (WebCore::InspectorDebuggerAgent::disable):
2113         (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
2114         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
2115         (WebCore::InspectorDebuggerAgent::continueToLocation):
2116         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2117         (WebCore::InspectorDebuggerAgent::editScriptSource):
2118         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
2119         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
2120         (WebCore::InspectorDebuggerAgent::resume):
2121         (WebCore::InspectorDebuggerAgent::stepOver):
2122         (WebCore::InspectorDebuggerAgent::stepInto):
2123         (WebCore::InspectorDebuggerAgent::stepOut):
2124         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
2125         (WebCore::InspectorDebuggerAgent::didPause):
2126         (WebCore::InspectorDebuggerAgent::breakProgram):
2127         * inspector/InspectorDebuggerAgent.h:
2128         * inspector/InspectorProfilerAgent.cpp:
2129         (WebCore::InspectorProfilerAgent::disable):
2130         (WebCore::InspectorProfilerAgent::enable):
2131         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
2132         * inspector/PageDebuggerAgent.cpp: Removed.
2133         * inspector/PageDebuggerAgent.h: Removed.
2134         * inspector/WorkerDebuggerAgent.cpp: Removed.
2135         * inspector/WorkerDebuggerAgent.h: Removed.
2136
2137 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
2138
2139         Unreviewed. Fix compilation on Windows and EFL.
2140
2141         * CMakeLists.txt:
2142         * bindings/js/JSBindingsAllInOne.cpp:
2143
2144 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
2145
2146         Reviewed by Pavel Feldman.
2147
2148         Web Inspector: split debugger agent into Page and Worker-specific ones
2149         https://bugs.webkit.org/show_bug.cgi?id=57345
2150
2151         ScriptDebugServer and InspectorDebuggerAgent contain only functionality common
2152         for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer
2153         and Page/WorkerDebuggerAgent.
2154
2155         * GNUmakefile.am:
2156         * UseJSC.cmake:
2157         * WebCore.gypi:
2158         * WebCore.pro:
2159         * WebCore.vcproj/WebCore.vcproj:
2160         * WebCore.xcodeproj/project.pbxproj:
2161         * bindings/js/JSInjectedScriptHostCustom.cpp:
2162         (WebCore::JSInjectedScriptHost::currentCallFrame):
2163         * bindings/js/PageScriptDebugServer.cpp: Added.
2164         (WebCore::toPage):
2165         (WebCore::PageScriptDebugServer::shared):
2166         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
2167         (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
2168         (WebCore::PageScriptDebugServer::addListener):
2169         (WebCore::PageScriptDebugServer::removeListener):
2170         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
2171         (WebCore::PageScriptDebugServer::getListenersForGlobalObject):
2172         (WebCore::PageScriptDebugServer::didPause):
2173         (WebCore::PageScriptDebugServer::didContinue):
2174         (WebCore::PageScriptDebugServer::didRemoveLastListener):
2175         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
2176         * bindings/js/PageScriptDebugServer.h: Added.
2177         * bindings/js/ScriptDebugServer.cpp:
2178         (WebCore::ScriptDebugServer::ScriptDebugServer):
2179         (WebCore::ScriptDebugServer::sourceParsed):
2180         (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
2181         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
2182         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
2183         (WebCore::ScriptDebugServer::pauseIfNeeded):
2184         * bindings/js/ScriptDebugServer.h:
2185         * bindings/js/WorkerScriptDebugServer.cpp: Added.
2186         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
2187         (WebCore::WorkerScriptDebugServer::addListener):
2188         (WebCore::WorkerScriptDebugServer::removeListener):
2189         * bindings/js/WorkerScriptDebugServer.h: Added.
2190         (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
2191         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
2192         (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
2193         (WebCore::WorkerScriptDebugServer::didPause):
2194         (WebCore::WorkerScriptDebugServer::didContinue):
2195         * bindings/v8/PageScriptDebugServer.cpp: Added.
2196         (WebCore::retrieveFrame):
2197         (WebCore::PageScriptDebugServer::shared):
2198         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
2199         (WebCore::PageScriptDebugServer::addListener):
2200         (WebCore::PageScriptDebugServer::removeListener):
2201         (WebCore::PageScriptDebugServer::setClientMessageLoop):
2202         (WebCore::PageScriptDebugServer::getDebugListenerForContext):
2203         (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
2204         (WebCore::PageScriptDebugServer::quitMessageLoopOnPause):
2205         * bindings/v8/PageScriptDebugServer.h: Added.
2206         (WebCore::PageScriptDebugServer::setEnabled):
2207         (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
2208         (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
2209         * bindings/v8/ScriptDebugServer.cpp:
2210         (WebCore::ScriptDebugServer::ScriptDebugServer):
2211         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
2212         (WebCore::ScriptDebugServer::breakProgram):
2213         (WebCore::ScriptDebugServer::continueProgram):
2214         (WebCore::ScriptDebugServer::stepIntoStatement):
2215         (WebCore::ScriptDebugServer::stepOverStatement):
2216         (WebCore::ScriptDebugServer::stepOutOfFunction):
2217         (WebCore::ScriptDebugServer::editScriptSource):
2218         (WebCore::toScriptDebugServer):
2219         (WebCore::ScriptDebugServer::breakProgramCallback):
2220         (WebCore::ScriptDebugServer::v8DebugEventCallback):
2221         (WebCore::ScriptDebugServer::handleV8DebugEvent):
2222         (WebCore::ScriptDebugServer::isPaused):
2223         * bindings/v8/ScriptDebugServer.h:
2224         * bindings/v8/WorkerScriptDebugServer.cpp: Added.
2225         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
2226         (WebCore::WorkerScriptDebugServer::addListener):
2227         (WebCore::WorkerScriptDebugServer::removeListener):
2228         * bindings/v8/WorkerScriptDebugServer.h: Added.
2229         (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
2230         (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
2231         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
2232         (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
2233         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2234         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
2235         * inspector/InjectedScriptHost.h:
2236         (WebCore::InjectedScriptHost::init):
2237         (WebCore::InjectedScriptHost::debuggerAgent):
2238         * inspector/InspectorAgent.cpp:
2239         (WebCore::InspectorAgent::InspectorAgent):
2240         * inspector/InspectorDebuggerAgent.cpp:
2241         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2242         (WebCore::InspectorDebuggerAgent::enable):
2243         (WebCore::InspectorDebuggerAgent::disable):
2244         (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
2245         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
2246         (WebCore::InspectorDebuggerAgent::continueToLocation):
2247         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2248         (WebCore::InspectorDebuggerAgent::editScriptSource):
2249         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
2250         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
2251         (WebCore::InspectorDebuggerAgent::resume):
2252         (WebCore::InspectorDebuggerAgent::stepOver):
2253         (WebCore::InspectorDebuggerAgent::stepInto):
2254         (WebCore::InspectorDebuggerAgent::stepOut):
2255         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
2256         (WebCore::InspectorDebuggerAgent::didPause):
2257         (WebCore::InspectorDebuggerAgent::breakProgram):
2258         * inspector/InspectorDebuggerAgent.h:
2259         * inspector/InspectorProfilerAgent.cpp:
2260         (WebCore::InspectorProfilerAgent::disable):
2261         (WebCore::InspectorProfilerAgent::enable):
2262         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
2263         * inspector/PageDebuggerAgent.cpp: Added.
2264         (WebCore::PageDebuggerAgent::create):
2265         (WebCore::PageDebuggerAgent::PageDebuggerAgent):
2266         (WebCore::PageDebuggerAgent::~PageDebuggerAgent):
2267         (WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
2268         (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
2269         (WebCore::PageDebuggerAgent::scriptDebugServer):
2270         * inspector/PageDebuggerAgent.h: Added.
2271         * inspector/WorkerDebuggerAgent.cpp: Added.
2272         (WebCore::WorkerDebuggerAgent::create):
2273         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
2274         (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
2275         (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
2276         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
2277         (WebCore::WorkerDebuggerAgent::scriptDebugServer):
2278         * inspector/WorkerDebuggerAgent.h: Added.
2279
2280 2011-03-30  Alexander Pavlov  <apavlov@chromium.org>
2281
2282         Reviewed by Pavel Feldman.
2283
2284         Web Inspector: Make the getStylesForNode result "styleAttributes" value an array rather than a map
2285         https://bugs.webkit.org/show_bug.cgi?id=57440
2286
2287         * inspector/InspectorCSSAgent.cpp:
2288         (WebCore::InspectorCSSAgent::getStylesForNode):
2289         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
2290         * inspector/InspectorCSSAgent.h:
2291         * inspector/front-end/CSSStyleModel.js:
2292         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
2293
2294 2011-03-30  Evan Martin  <evan@chromium.org>
2295
2296         Reviewed by Ryosuke Niwa.
2297
2298         Fix a last-second ASSERT in previous change that was wrong.
2299
2300         * dom/Document.cpp:
2301         (WebCore::Document::setTitle):
2302
2303 2011-03-30  Levi Weintraub  <leviw@chromium.org>
2304
2305         Reviewed by Eric Seidel.
2306
2307         RTL:  Directionality always reset on hard line break
2308         https://bugs.webkit.org/show_bug.cgi?id=23124
2309
2310         No longer clearing all BidiContexts when we hit a hard line break.
2311         Instead, directionality applied by DOM elements is preserved by
2312         reconstructing the context stack ignoring those that didn't come
2313         from the DOM.
2314
2315         Test: fast/text/international/bidi-br-as-paragraph-separator.html
2316
2317         * platform/text/BidiContext.cpp:
2318         (WebCore::BidiContext::createUncached):
2319         (WebCore::BidiContext::create):
2320         (WebCore::copyContextAndRebaselineLevel): Helper to make a copy of a context
2321         and recalculate its bidi level.
2322         (WebCore::BidiContext::copyStackRemovingUnicodeEmbeddingContexts): Returns the top of
2323         a BidiContext stack that's equivalent but without contexts from Unicode directional
2324         characters.
2325         (WebCore::operator==): Now takes into account embedding source.
2326         * platform/text/BidiContext.h:
2327         (WebCore::BidiContext::source): Enum to specify whether an embedded
2328         bidirectional control came from the DOM/Style or Unicode characters
2329         (WebCore::BidiContext::BidiContext):
2330         * platform/text/BidiResolver.h:
2331         (WebCore::BidiEmbedding::BidiEmbedding): An embedding is now a direction
2332         and a hint about where it came from so we can differentiate DOM directions
2333         from unicode direction control characters.
2334         (WebCore::BidiEmbedding::direction):
2335         (WebCore::BidiEmbedding::source):
2336         (WebCore::::embed): Now takes a source as well as a direction.
2337         (WebCore::::commitExplicitEmbedding):
2338         (WebCore::::createBidiRunsForLine):
2339         * rendering/InlineIterator.h:
2340         (WebCore::bidiNext):
2341         (WebCore::bidiFirst):
2342         * rendering/RenderBlockLineLayout.cpp:
2343         (WebCore::RenderBlock::determineStartPosition):
2344
2345 2011-03-30  Steve Block  <steveblock@google.com>
2346
2347         Reviewed by Jeremy Orlow.
2348
2349         JavaMethod should not expose JavaString in its API
2350         https://bugs.webkit.org/show_bug.cgi?id=55765
2351
2352         - Factors out a JavaMethod interface which does not use JNI types.
2353           This will allow the Java bridge to be used with objects that
2354           don't use JNI directly. The existing jobject-backed
2355           implementation is moved to a new JavaMethodJobject class which
2356           implements the interface.
2357         - Use WTF::String in place of JavaString in the API, as JavaString
2358           exposes JNI types in its interface.
2359         - Remove the method ID as it uses JNI types.
2360
2361         No new tests, refactoring only.
2362
2363         * Android.jscbindings.mk:
2364         * Android.v8bindings.mk:
2365         * GNUmakefile.am:
2366         * WebCore.gypi:
2367         * WebCore.xcodeproj/project.pbxproj:
2368         * bridge/jni/JavaMethod.h:
2369         * bridge/jni/JavaMethodJobject.cpp:
2370         (JavaMethodJobject::JavaMethodJobject):
2371         (JavaMethodJobject::~JavaMethodJobject):
2372         (appendClassName):
2373         (JavaMethodJobject::signature):
2374         * bridge/jni/JavaMethodJobject.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h.
2375         (JSC::Bindings::JavaMethodJobject::name):
2376         (JSC::Bindings::JavaMethodJobject::returnTypeClassName):
2377         (JSC::Bindings::JavaMethodJobject::parameterAt):
2378         (JSC::Bindings::JavaMethodJobject::returnType):
2379         (JSC::Bindings::JavaMethodJobject::isStatic):
2380         (JSC::Bindings::JavaMethodJobject::numParameters):
2381         * bridge/jni/jsc/JavaClassJSC.cpp:
2382         (JavaClass::JavaClass):
2383         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2384         (JavaInstance::invokeMethod):
2385         * bridge/jni/v8/JavaClassV8.cpp:
2386         (JavaClass::JavaClass):
2387         * bridge/jni/v8/JavaInstanceV8.cpp:
2388         (JavaInstance::invokeMethod):
2389
2390 2011-03-30  Evan Martin  <evan@chromium.org>
2391
2392         Reviewed by Ryosuke Niwa.
2393
2394         clean up Document's handling of title changes
2395         https://bugs.webkit.org/show_bug.cgi?id=57433
2396
2397         Document::setTitle has two entry points:
2398         1) from DOM bindings, like document.title="foo"
2399         2) from title tags, like <title>foo</title> in HTML
2400
2401         Split these two code paths to make the code easier to follow.
2402         Also, replace the repeated pattern of
2403             m_rawTitle = "foo"; updateTitle();
2404         with
2405             updateTitle("foo");
2406
2407         * dom/Document.cpp:
2408         (WebCore::Document::updateTitle):
2409         (WebCore::Document::setTitle):
2410         (WebCore::Document::setTitleElement):
2411         (WebCore::Document::removeTitle):
2412         * dom/Document.h:
2413         * html/HTMLTitleElement.cpp:
2414         (WebCore::HTMLTitleElement::insertedIntoDocument):
2415         (WebCore::HTMLTitleElement::childrenChanged):
2416         * svg/SVGTitleElement.cpp:
2417         (WebCore::SVGTitleElement::insertedIntoDocument):
2418         (WebCore::SVGTitleElement::childrenChanged):
2419
2420 2011-03-30  Levi Weintraub  <leviw@chromium.org>
2421
2422         Reviewed by Ryosuke Niwa.
2423
2424         BreakBlockQuoteCommand assumes all li tags have list item renderers
2425         https://bugs.webkit.org/show_bug.cgi?id=57253
2426
2427         Checking that the renderers of li nodes are actually RenderListItems
2428         before treating them as such.
2429
2430         Test: editing/execCommand/crash-breaking-blockquote-with-list.html
2431
2432         * editing/BreakBlockquoteCommand.cpp:
2433         (WebCore::BreakBlockQuoteCommand::doApply):
2434
2435 2011-03-30  Pavel Feldman  <pfeldman@chromium.org>
2436
2437         Not reviewed: fixing typo in the inspector front-end.
2438
2439         Web Inspector: REGRESSION: Broken live edit errors handling
2440         https://bugs.webkit.org/show_bug.cgi?id=57436
2441
2442         * inspector/front-end/DebuggerModel.js:
2443         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
2444
2445 2011-03-30  Yael Aharon  <yael.aharon@nokia.com>
2446
2447         Reviewed by Eric Seidel.
2448
2449         Left/Right borders/padding/margins are not always added correctly when rendering multiline inline boxes with bidi elements
2450         https://bugs.webkit.org/show_bug.cgi?id=9272
2451
2452
2453         Also fixes https://bugs.webkit.org/show_bug.cgi?id=47210 and https://bugs.webkit.org/show_bug.cgi?id=8392.
2454
2455         Change how we decide if an InlineFlowBox is the last one for its renderer. Use the position of resolver's logicallyLastRun
2456         to decide if there is more text in the next line.
2457
2458         Tests: fast/borders/rtl-border-01.html
2459                fast/borders/rtl-border-02.html
2460                fast/borders/rtl-border-03.html
2461                fast/borders/rtl-border-04.html
2462                fast/borders/rtl-border-05.html
2463
2464         * rendering/InlineFlowBox.cpp:
2465         (WebCore::isAnsectorAndWithinBlock):
2466         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
2467         * rendering/InlineFlowBox.h:
2468         * rendering/RenderBlock.h:
2469         * rendering/RenderBlockLineLayout.cpp:
2470         (WebCore::RenderBlock::constructLine):
2471         (WebCore::reachedEndOfTextRenderer):
2472         (WebCore::RenderBlock::layoutInlineChildren):
2473
2474 2011-03-29  Nikolas Zimmermann  <nzimmermann@rim.com>
2475
2476         Reviewed by Eric Seidel.
2477
2478         REGRESSION (r68976): Incorrect bidi rendering in SVG text
2479         https://bugs.webkit.org/show_bug.cgi?id=53980
2480
2481         Deconvolute SVGTextLayoutEngine code, which was confusing due to the simultaneous processing of the rendered text
2482         in visual and logical order. Added several helper methods to make the code more readable.
2483
2484         Fix Unicode directional formatting characters support, now works as expected.
2485
2486         Test: svg/text/bidi-embedded-direction.svg
2487
2488         * editing/visible_units.cpp: Refactor getLeafBoxesInLogicalOrder(), move to InlineFlowBox.
2489         (WebCore::getLogicalStartBoxAndNode): Use new collectLeafBoxesInLogicalOrder() method in InlineFlowBox.
2490         (WebCore::getLogicalEndBoxAndNode): Ditto.
2491         * rendering/InlineFlowBox.cpp: Add new helper function, that returns a list of all leaf boxes in logical order.
2492         (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder):
2493         * rendering/InlineFlowBox.h:
2494         * rendering/svg/RenderSVGText.cpp: Actually trigger reordering the x/y/dx/dy/rotate value lists, if needed.
2495         (WebCore::RenderSVGText::RenderSVGText):
2496         (WebCore::RenderSVGText::layout):
2497         * rendering/svg/RenderSVGText.h: Ditto.
2498         (WebCore::RenderSVGText::layoutAttributes):
2499         (WebCore::RenderSVGText::needsReordering):
2500         * rendering/svg/SVGRootInlineBox.cpp: Use new InlineFlowBox::collectLeafBoxesINLogicalOrder(), with a custom "inline box reverse" implementation,
2501                                               which not only reverses the order of InlineBoxes, but also the order of the x/y/dx/dy/rotate value lists, if needed.
2502         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
2503         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
2504         (WebCore::swapItems):
2505         (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
2506         (WebCore::SVGRootInlineBox::reorderValueLists):
2507         * rendering/svg/SVGRootInlineBox.h:
2508         * rendering/svg/SVGTextLayoutAttributes.cpp: Store RenderSVGInlineText* pointer, where we belong to.
2509         (WebCore::SVGTextLayoutAttributes::SVGTextLayoutAttributes):
2510         (WebCore::SVGTextLayoutAttributes::dump):
2511         * rendering/svg/SVGTextLayoutAttributes.h:
2512         (WebCore::SVGTextLayoutAttributes::context):
2513         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Pass RenderSVGInlineText* object when creating SVGTextLayoutAttributes.
2514         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree):
2515         (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
2516         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
2517         * rendering/svg/SVGTextLayoutEngine.cpp: Rewrite & cleanup the main layout algorithm, to be less confusing.
2518         (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
2519         (WebCore::SVGTextLayoutEngine::updateRelativePositionAdjustmentsIfNeeded):
2520         (WebCore::SVGTextLayoutEngine::recordTextFragment):
2521         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
2522         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
2523         (WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics):
2524         (WebCore::SVGTextLayoutEngine::advanceToNextLogicalCharacter):
2525         (WebCore::SVGTextLayoutEngine::advanceToNextVisualCharacter):
2526         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
2527         * rendering/svg/SVGTextLayoutEngine.h:
2528
2529 2011-03-30  Ilya Tikhonovsky  <loislo@chromium.org>
2530
2531         Not reviewed trivial change.
2532
2533         Web Inspector: Remove unnecessary function arguments after r82281.
2534         https://bugs.webkit.org/show_bug.cgi?id=57327
2535
2536         * inspector/InspectorAgent.cpp:
2537         (WebCore::InspectorAgent::didCommitLoad):
2538         (WebCore::InspectorAgent::domContentLoadedEventFired):
2539         * inspector/InspectorAgent.h:
2540         * inspector/InspectorInstrumentation.cpp:
2541         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
2542         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2543
2544 2011-03-30  Kent Tamura  <tkent@chromium.org>
2545
2546         Reviewed by Ojan Vafai.
2547
2548         H1 element should have different default style if it is in HTML5 sectioning elements.
2549         https://bugs.webkit.org/show_bug.cgi?id=52693
2550
2551         Test: fast/css/h1-in-section-elements.html
2552
2553         * css/html.css: Add font-size and margin declarations to follow HTML5 specification.
2554         (:-webkit-any(article,aside,nav,section) h1):
2555         (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
2556         (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
2557         (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
2558         (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
2559
2560 2011-03-29  Beth Dakin  <bdakin@apple.com>
2561
2562         Reviewed by Maciej Stachowiak.
2563
2564         Fix for https://bugs.webkit.org/show_bug.cgi?id=57408
2565         webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard 
2566         -and corresponding-
2567         <rdar://problem/8665411>
2568
2569         * platform/mac/PlatformScreenMac.mm:
2570         (WebCore::windowScaleFactor):
2571         (WebCore::toUserSpace):
2572         (WebCore::toDeviceSpace):
2573
2574 2011-03-29  Eric Seidel  <eric@webkit.org>
2575
2576         Reviewed by Dimitri Glazkov.
2577
2578         Rename BidiResolver::eor and sor to m_eor and m_sor to match modern style
2579         https://bugs.webkit.org/show_bug.cgi?id=57369
2580
2581         I considered renaming these to m_endOfRun and m_startOfRun but decided
2582         that was too verbose for now (given how often they're used).  I suspect
2583         with a bit more refactoring we'll find they're not used very often and can be renamed
2584         if so desired.
2585
2586         * platform/text/BidiResolver.h:
2587         (WebCore::::appendRun):
2588         (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
2589         (WebCore::::lowerExplicitEmbeddingLevel):
2590         (WebCore::::raiseExplicitEmbeddingLevel):
2591         (WebCore::::createBidiRunsForLine):
2592         * rendering/InlineIterator.h:
2593         (WebCore::InlineBidiResolver::appendRun):
2594
2595 2011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
2596
2597         Reviewed by Pavel Feldman.
2598
2599         Web Inspector: [Chromium] Remove exact retained size request in detailed heap snapshots.
2600         https://bugs.webkit.org/show_bug.cgi?id=57351
2601
2602         * bindings/js/ScriptHeapSnapshot.h:
2603         * bindings/v8/ScriptHeapSnapshot.cpp:
2604         * bindings/v8/ScriptHeapSnapshot.h:
2605         * inspector/Inspector.json:
2606         * inspector/InspectorProfilerAgent.cpp:
2607         * inspector/InspectorProfilerAgent.h:
2608         * inspector/front-end/DetailedHeapshotGridNodes.js:
2609         (WebInspector.HeapSnapshotGenericObjectNode):
2610         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2611         * inspector/front-end/DetailedHeapshotView.js:
2612         (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
2613
2614 2011-03-29  Eric Seidel  <eric@webkit.org>
2615
2616         Reviewed by Ryosuke Niwa.
2617
2618         Split more logic out from createBidiRunsForLine for readability
2619         https://bugs.webkit.org/show_bug.cgi?id=57341
2620
2621         I marked reorderRunsFromLevels inline, but it probably doesn't actually need to (or want to) be.
2622         This lops another large hunk off of reorderRunsFromLevels further reducing the size and complexity.
2623
2624         * platform/text/BidiResolver.h:
2625         (WebCore::::reorderRunsFromLevels):
2626         (WebCore::::createBidiRunsForLine):
2627
2628 2011-03-29  Kent Tamura  <tkent@chromium.org>
2629
2630         Reviewed by Dimitri Glazkov.
2631
2632         Make validation message bubble testable
2633         https://bugs.webkit.org/show_bug.cgi?id=57290
2634
2635         Introduce a setting for validation message timer so that we can configure
2636         how long we show a validation message bubble.
2637
2638         Test: fast/forms/validation-message-appearance.html
2639
2640         * html/ValidationMessage.cpp:
2641         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
2642           Don't set a timer if the timer magnification value is 0 or negative.
2643           Otherwise, hides the bubble length * magnification / 1000 seconds.
2644         * page/Settings.cpp:
2645         (WebCore::Settings::Settings): Initialize the timer magnification value.
2646         * page/Settings.h:
2647         (WebCore::Settings::setValidationMessageTimerMagnification): Added.
2648         (WebCore::Settings::validationMessageTimerMaginification): Added.
2649
2650 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
2651
2652         Remove the extraneous declaration I accidentally added in r82376.
2653
2654         * dom/MouseEvent.h: Removed createSimulated decl.
2655
2656 2011-03-29  James Robinson  <jamesr@chromium.org>
2657
2658         Reviewed by Kenneth Russell.
2659
2660         [chromium] Compositor crash with show-layer-borders flag
2661         https://bugs.webkit.org/show_bug.cgi?id=57292
2662
2663         Synchronize the debug border color/width with other properties to ensure the appropriate
2664         CCLayerImpl exists.  Code is only exercised with a debugging command line flag so no layout
2665         test.
2666
2667         * platform/graphics/chromium/LayerChromium.cpp:
2668         (WebCore::LayerChromium::pushPropertiesTo):
2669         (WebCore::LayerChromium::setBorderColor):
2670         (WebCore::LayerChromium::setBorderWidth):
2671         * platform/graphics/chromium/LayerChromium.h:
2672
2673 2011-03-29  Tony Gentilcore  <tonyg@chromium.org>
2674
2675         Reviewed by Adam Barth.
2676
2677         Teach the preload scanner about &lt;input type=image&gt;
2678         https://bugs.webkit.org/show_bug.cgi?id=57404
2679
2680         I did a very rough sample of the top 50 web pages to see how many of each
2681         HTML resource type they include:
2682         img src: 1,359
2683         script src: 276
2684         link href: 256
2685         iframe src: 104
2686         input src: 50
2687         embed src: 37
2688         @import: 13
2689         object data: 11
2690
2691         Based on this, it seems worthwhile to preload inputs and iframes (possibly embed).
2692         This patch only does inputs.
2693
2694         Test: fast/preloader/input.html
2695
2696         * html/parser/HTMLPreloadScanner.cpp:
2697         (WebCore::HTMLNames::PreloadTask::PreloadTask):
2698         (WebCore::HTMLNames::PreloadTask::processAttributes):
2699         (WebCore::HTMLNames::PreloadTask::inputTypeAttributeIsImage):
2700         (WebCore::HTMLNames::PreloadTask::preload):
2701
2702 2011-03-29  Luke Macpherson   <macpherson@chromium.org>
2703
2704         Reviewed by David Levin.
2705
2706         Improve the massive switch statement in CSSStyleSelector::applyProperty.
2707         https://bugs.webkit.org/show_bug.cgi?id=56288
2708
2709         No new tests are needed because no new functionality exposed.
2710
2711         * css/CSSStyleSelector.cpp:
2712         (WebCore::CSSStyleSelector::applyProperty):
2713         Asserted that cases implemented in the CSSStyleApplyProperty lookup table are unreachable.
2714         Updated comment.
2715
2716 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
2717
2718         Reviewed by Darin Adler.
2719
2720         Introduce SimulatedMouseEvent and teach EventDispatcher how to use it.
2721         https://bugs.webkit.org/show_bug.cgi?id=57402
2722
2723         No functional changes, covered by existing tests.
2724
2725         * dom/EventDispatcher.cpp:
2726         (WebCore::EventDispatcher::dispatchSimulatedClick): Changed to use SimulatedMouseEvent.
2727         (WebCore::EventDispatcher::dispatchMouseEvent): Combined two dispatchMouseEvent methods
2728             into one, now that simulated-click events don't need one.
2729         * dom/EventDispatcher.h: Updated decls.
2730         * dom/MouseEvent.cpp:
2731         (WebCore::SimulatedMouseEvent::create): Added.
2732         (WebCore::SimulatedMouseEvent::~SimulatedMouseEvent): Added.
2733         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent): Added.
2734         * dom/MouseEvent.h: Made constructor protected.
2735
2736 2011-03-29  Anders Carlsson  <andersca@apple.com>
2737
2738         Fix build.
2739
2740         * WebCore.exp.in:
2741
2742 2011-03-29  Steve Block  <steveblock@google.com>
2743
2744         Reviewed by Jeremy Orlow.
2745
2746         JavaInstance should not use jvalue in its API
2747         https://bugs.webkit.org/show_bug.cgi?id=57019
2748
2749         This change updates JavaInstance for V8 to use JavaValue, rather than
2750         jvalue, in its API. This will allow us to create an API for
2751         JavaInstance that is independent of JNI, to allow it to be
2752         implemented on platforms that do not use JNI directly.
2753
2754         Refactoring only, no new tests.
2755
2756         * bridge/jni/v8/JavaInstanceV8.cpp:
2757         (JavaInstance::invokeMethod):
2758         (JavaInstance::getField):
2759         * bridge/jni/v8/JavaInstanceV8.h:
2760         * bridge/jni/v8/JavaNPObjectV8.cpp:
2761         (JSC::Bindings::JavaNPObjectInvoke):
2762         (JSC::Bindings::JavaNPObjectGetProperty):
2763         * bridge/jni/v8/JavaValueV8.h:
2764
2765 2011-03-29  Eric Seidel  <eric@webkit.org>
2766
2767         Reviewed by Dimitri Glazkov.
2768
2769         Rename BidiResolver::last to m_last to match modern style
2770         https://bugs.webkit.org/show_bug.cgi?id=57367
2771
2772         * platform/text/BidiResolver.h:
2773         (WebCore::::lowerExplicitEmbeddingLevel):
2774         (WebCore::::raiseExplicitEmbeddingLevel):
2775         (WebCore::::createBidiRunsForLine):
2776
2777 2011-03-29  Justin Schuh  <jschuh@chromium.org>
2778
2779         Reviewed by Maciej Stachowiak.
2780
2781         SVGComponentTransferFunctionElement should validate type
2782         https://bugs.webkit.org/show_bug.cgi?id=56960
2783
2784         Test: svg/filters/feComponentTransfer-style-crash.xhtml
2785
2786         * svg/SVGComponentTransferFunctionElement.cpp:
2787         (WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged):
2788         * svg/SVGComponentTransferFunctionElement.h:
2789
2790 2011-03-29  Thomas Klausner  <tk@giga.or.at>
2791
2792         Reviewed by David Levin.
2793
2794         png-1.5 fixes
2795         https://bugs.webkit.org/show_bug.cgi?id=54406
2796
2797         Fix compilation with png-1.5: struct members were hidden, and
2798         a new API to terminate data processing was added (especially for
2799         WebKit).
2800
2801         Compilation fixes, so no new tests.
2802
2803         * platform/image-decoders/png/PNGImageDecoder.cpp:
2804         (WebCore::PNGImageDecoder::headerAvailable):
2805         (WebCore::PNGImageDecoder::rowAvailable):
2806
2807 2011-03-29  Gavin Peters  <gavinp@chromium.org>
2808
2809         Reviewed by Tony Gentilcore.
2810
2811         Add beforeload to icon and prefetch link rel types
2812         https://bugs.webkit.org/show_bug.cgi?id=56424
2813
2814         Over in https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html , a webkit-dev
2815         thread, I've discussed my hopes for the link element, and adding the link header.  This
2816         change helps improve the link header by making it participate in the beforeload event in
2817         two more important cases.
2818
2819         Tests: fast/dom/HTMLLinkElement/prefetch-beforeload.html
2820                http/tests/misc/link-rel-icon-beforeload.html
2821                webarchive/test-link-rel-icon-beforeload.html
2822
2823         * html/HTMLLinkElement.cpp:
2824         (WebCore::HTMLLinkElement::checkBeforeLoadEvent):
2825         (WebCore::HTMLLinkElement::process):
2826         * html/HTMLLinkElement.h:
2827
2828 2011-03-29  Eric Seidel  <eric@webkit.org>
2829
2830         Reviewed by Dimitri Glazkov.
2831
2832         Rename BidiResolver::current to BidiResolver::m_current to match modern style
2833         https://bugs.webkit.org/show_bug.cgi?id=57363
2834
2835         I was very confused by current until I realized it was a member variable.
2836         I also did m_reachedEndOfLine since that was small.
2837
2838         * platform/text/BidiResolver.h:
2839         (WebCore::BidiResolver::position):
2840         (WebCore::BidiResolver::setPosition):
2841         (WebCore::BidiResolver::increment):
2842         (WebCore::::createBidiRunsForLine):
2843
2844 2011-03-29  Geoff Pike  <gpike@chromium.org>
2845
2846         Reviewed by Dimitri Glazkov.
2847
2848         In HitTestResult objects, initialize the ListHashSet<RefPtr<Node> >
2849         lazily.  In my informal testing it seems to be used hardly at all, so
2850         it's wasteful to create it eagerly.  Initializing a ListHashSet
2851         is expensive because a ListHashSet initially has space for 256
2852         elements, and that space is memset to 0.
2853
2854         This change should improve performance but have no impact on
2855         correctness.  On x86-64, for example, the change cuts the
2856         cost of HitTestResult(IntPoint()) in EventHandler::mouseMoved()
2857         from ~1700 cycles to ~300 cycles.
2858
2859         * rendering/HitTestResult.cpp:
2860         (WebCore::HitTestResult::HitTestResult): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0
2861         (WebCore::HitTestResult::operator=): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0
2862         (WebCore::HitTestResult::addNodeToRectBasedTestResult): use mutableRectBasedTestResult() rather than m_rectBasedTestResult
2863         (WebCore::HitTestResult::append): append *(other.m_rectBasedTestResult) if other.m_rectBasedTestResult isn't 0
2864         * rendering/HitTestResult.h:
2865         (WebCore::HitTestResult::rectBasedTestResult): Add a typedef for ListHashSet<RefPtr<Node> > to ease readability.  Change m_rectBasedTestResult from ListHashSet<RefPtr<Node> > to an OwnPtr of same.  Modify rectBasedTestResult() and add mutableRectBasedTestResult().
2866
2867 2011-03-29  Timothy Hatcher  <timothy@apple.com>
2868
2869         Update the order of the context menu to better match AppKit on Mac.
2870
2871         <rdar://problem/9054893>
2872
2873         Reviewed by John Sullivan.
2874
2875         * English.lproj/Localizable.strings: Updated.
2876         * page/ContextMenuController.cpp:
2877         (WebCore::ContextMenuController::populate): Update the order of items on Mac.
2878         * platform/LocalizationStrategy.h:
2879         * platform/LocalizedStrings.cpp:
2880         (WebCore::contextMenuItemTagLookUpInDictionary): Added argument for selected string.
2881         * platform/LocalizedStrings.h:
2882         * platform/android/LocalizedStringsAndroid.cpp:
2883         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
2884         * platform/brew/LocalizedStringsBrew.cpp:
2885         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
2886         * platform/efl/LocalizedStringsEfl.cpp:
2887         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
2888         * platform/gtk/LocalizedStringsGtk.cpp:
2889         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
2890         * platform/haiku/LocalizedStringsHaiku.cpp:
2891         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
2892         * platform/wx/LocalizedStringsWx.cpp:
2893         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
2894
2895 2011-03-29  Dean Jackson  <dino@apple.com>
2896
2897         Reviewed by Chris Marrin and Ken Russell.
2898
2899         https://bugs.webkit.org/show_bug.cgi?id=57248
2900         Occlusion issues with WebGL in Safari
2901
2902         The depth buffer on Safari ports was being set up with a
2903         maximum of 16 bits. Now we use a combined 24/8 depth/stencil
2904         buffer on Mac ports.
2905
2906         No new tests as this is the setting for a particular port. Other
2907         ports may use different defaults.
2908
2909         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2910         (WebCore::GraphicsContext3D::validateAttributes):
2911         - use Extensions3D to test for depth and multisample extensions
2912           rather than querying OpenGL directly.
2913         (WebCore::GraphicsContext3D::reshape):
2914         - use a 24bit depth buffer when the extension is enabled.
2915
2916 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
2917
2918         Sorted XCode project. It's gotten quite out of sorts.
2919
2920         * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
2921
2922 2011-03-29  Emil A Eklund  <eae@chromium.org>
2923
2924         Reviewed by Dimitri Glazkov.
2925
2926         DatasetDOMStringMap::item and ::contains copies attribute name string
2927         https://bugs.webkit.org/show_bug.cgi?id=55645
2928
2929         Change propertyNameMatchesAttributeName to match without creating a copy
2930         of the string.
2931
2932         * dom/DatasetDOMStringMap.cpp:
2933         (WebCore::propertyNameMatchesAttributeName):
2934
2935 2011-03-29  Csaba Osztrogon√°c  <ossy@webkit.org>
2936
2937         Unreviewed rollout r82282, part of r82288, r82298.
2938
2939         * css/CSSParser.cpp:
2940         (WebCore::parseColorInt):
2941         (WebCore::isValidDouble):
2942         (WebCore::parseAlphaValue):
2943         (WebCore::CSSParser::parseColor):
2944
2945 2011-03-25  Brent Fulgham  <bfulgham@webkit.org>
2946
2947         Reviewed by Dave Hyatt.
2948
2949         https://bugs.webkit.org/show_bug.cgi?id=55981
2950         Second round of clean-ups, aimed at supporting GTK with the
2951         same unified FontPlatformData header.  This version removes
2952         some unneeded WinCairo code, and aligns the WinCairo and
2953         GTK ports to reduce code duplication.
2954
2955         * WebCore.vcproj/WebCore.vcproj: Get rid of a dangling reference
2956           to an old WinCairo file.
2957         * platform/graphics/FontPlatformData.h: Remove unneeded member
2958           for m_fontFace, which is a member of m_scaledFont.  Switch to
2959           standard Cairo hashing.
2960         (WebCore::FontPlatformData::FontPlatformData):
2961         (WebCore::FontPlatformData::font):
2962         (WebCore::FontPlatformData::scaledFont):
2963         (WebCore::FontPlatformData::hash):
2964         (WebCore::FontPlatformData::isHashTableDeletedValue):
2965         (WebCore::FontPlatformData::hashTableDeletedFontValue):
2966         * platform/graphics/win/FontCacheWin.cpp: Update to no longer use
2967           the unnecessary fontFace() accessor.
2968         (WebCore::FontCache::createFontPlatformData):
2969         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
2970         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
2971         (WebCore::FontPlatformData::platformDataInit):
2972         (WebCore::FontPlatformData::FontPlatformData):
2973         (WebCore::FontPlatformData::~FontPlatformData):
2974         (WebCore::FontPlatformData::platformDataAssign):
2975         (WebCore::FontPlatformData::platformIsEqual):
2976         * platform/graphics/win/FontPlatformDataWin.cpp:
2977         (WebCore::FontPlatformData::FontPlatformData):
2978
2979 2011-03-29  Jian Li  <jianli@chromium.org>
2980
2981         Reviewed by Adam Barth.
2982
2983         Inline worker powered by blob URL does not work with files URL even if
2984         allowFileAccessFromFileURLs is enabled
2985         https://bugs.webkit.org/show_bug.cgi?id=56063
2986
2987         Test: fast/files/workers/inline-worker-via-blob-url.html
2988
2989         * fileapi/BlobURL.cpp: Removed unneeded getOrigin() method.
2990         * fileapi/BlobURL.h: Removed unneeded getOrigin() method.
2991         * page/SecurityOrigin.cpp:
2992         (WebCore::SecurityOrigin::SecurityOrigin): Extended the logic to handle
2993         filesystem URL also to blob URL. Also fixed the problem that m_isUnique
2994         is incorrectly set for blob and filesystem URLs.
2995         (WebCore::SecurityOrigin::create): Removed the special logic for blob URL
2996         since we use the same logic in SecurityOrigin constructor as filesystem
2997         URL.
2998         (WebCore::SecurityOrigin::canRequest): Removed the special logic for blob
2999         URL since it is not needed with the fix in SecurityOrigin constructor.
3000
3001 2011-03-29  Timothy Hatcher  <timothy@apple.com>
3002
3003         Update WebCore Localizable.strings to contain WebCore, WebKit/mac and WebKit2 strings.
3004
3005         https://webkit.org/b/57354
3006
3007         Reviewed by Sam Weinig.
3008
3009         * English.lproj/Localizable.strings: Updated.
3010         * StringsNotToBeLocalized.txt: Removed. To hard to maintain in WebCore.
3011         * platform/network/cf/LoaderRunLoopCF.h: Remove a single quote in an #error so
3012         extract-localizable-strings does not complain about unbalanced single quotes.
3013
3014 2011-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
3015
3016         Unreviewed, rolling out r82295 and r82300.
3017         http://trac.webkit.org/changeset/82295
3018         http://trac.webkit.org/changeset/82300
3019         https://bugs.webkit.org/show_bug.cgi?id=57380
3020
3021         This patch breaks compile on Chromium (Requested by
3022         abarth|gardener on #webkit).
3023
3024         * accessibility/AccessibilityObject.h:
3025         * accessibility/AccessibilityRenderObject.cpp:
3026         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3027         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3028         (atkRole):
3029         (webkit_accessible_get_role):
3030         * accessibility/mac/AccessibilityObjectWrapper.mm:
3031
3032 2011-03-29  Anders Carlsson  <andersca@apple.com>
3033
3034         Fix clang build.
3035
3036         * platform/text/BidiResolver.h:
3037         (WebCore::::createBidiRunsForLine):
3038
3039 2011-03-29  Steve Falkenburg  <sfalken@apple.com>
3040
3041         Reviewed by Adam Roben.
3042
3043         Use per-configuration vsprops in WebCore to avoid WebKitVSPropsRedirectionDir removal by MSVC IDE
3044         https://bugs.webkit.org/show_bug.cgi?id=57378
3045
3046         Visual Studio's IDE was removing instances of $(WebKitVSPropsRedirectionDir) from
3047         InheritedPropertySheet rules in our vcproj files when the vcproj was edited from within
3048         the IDE. To avoid this, add a separate vsprops file for each project configuration that
3049         contains the required inherited property sheets.
3050
3051         * WebCore.vcproj/QTMovieWin.vcproj:
3052         * WebCore.vcproj/QTMovieWinDebug.vsprops: Added.
3053         * WebCore.vcproj/QTMovieWinDebugAll.vsprops: Added.
3054         * WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops: Added.
3055         * WebCore.vcproj/QTMovieWinRelease.vsprops: Added.
3056         * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops: Added.
3057         * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Added.
3058         * WebCore.vcproj/WebCore.vcproj:
3059         * WebCore.vcproj/WebCoreDebug.vsprops: Added.
3060         * WebCore.vcproj/WebCoreDebugAll.vsprops: Added.
3061         * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Added.
3062         * WebCore.vcproj/WebCoreRelease.vsprops: Added.
3063         * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops: Added.
3064         * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Added.
3065
3066 2011-03-29  David Hyatt  <hyatt@apple.com>
3067
3068         Reviewed by Simon Fraser.
3069
3070         <rdar://problem/9194927> REGRESSION (r81691): Page at www.mondaynote.com lays out incorrectly
3071         
3072         Back out the optimization that stopped when it hit the first float. This was an incorrect optimization
3073         and can't be done without more work.
3074
3075         Added fast/block/float/float-forced-below-other-floats.html
3076
3077         * rendering/RenderBlock.cpp:
3078         (WebCore::RenderBlock::logicalLeftOffsetForLine):
3079         (WebCore::RenderBlock::logicalRightOffsetForLine):
3080
3081 2011-03-29  Eric Seidel  <eric@webkit.org>
3082
3083         Reviewed by Ryosuke Niwa.
3084
3085         Start to clean up BidiResolver::createBidiRunsForLine so that mere mortals can understand it
3086         https://bugs.webkit.org/show_bug.cgi?id=57338
3087
3088         I'm attempting to break createBidiRunsForLine into understandable pieces
3089         so that we can tell what it's actually doing.  Our implementation of the
3090         unicode bidi algorithm is slightly different from the spec in that we
3091         run it per-line (instead of over the entire paragraph at once).  This is
3092         great for performance (our implementation is resumable), but it makes
3093         things a bit tricky to understand.  Splitting createBidiRunsForLine into
3094         pieces should help make our UBA implementation more readable.
3095
3096         * platform/text/BidiResolver.h:
3097         (WebCore::::updateStatusLastFromCurrentDirection):
3098         (WebCore::::createBidiRunsForLine):
3099
3100 2011-03-29  Mario Sanchez Prada  <msanchez@igalia.com>
3101
3102         Reviewed by Martin Robinson.
3103
3104         [Gtk] Consistent crash from Google/ARIA combobox click
3105         https://bugs.webkit.org/show_bug.cgi?id=55883
3106
3107         Do not call to firstChild() to avoid entering into infinite loops.
3108
3109         This would happen when current item is a WebCore Group and some of
3110         its children have either role 'option' or 'menuitem'. Other than
3111         that the logic behind that call to firstChild() seems to be no
3112         longer needed so it's safe to remove it.
3113
3114         Test: platform/gtk/accessibility/aria-options-and-menuitems-crash.html
3115
3116         * accessibility/gtk/AccessibilityObjectAtk.cpp:
3117         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
3118         Remove call to firsChild, which was leading to crashes sometimes.
3119
3120 2011-03-29  Mario Sanchez Prada  <msanchez@igalia.com>
3121
3122         Reviewed by Chris Fleizach.
3123
3124         AX: GTK: ARIA role is not respected on <p> <label> <div> and <form>
3125         https://bugs.webkit.org/show_bug.cgi?id=47636
3126
3127         Define new roles in WebCore and map them to ATK accordingly.
3128
3129         Test: platform/gtk/accessibility/aria-roles-unignored.html
3130
3131         * accessibility/AccessibilityObject.h: Added new roles to
3132         represent paragraphs, labels, forms and div sections.
3133         * accessibility/AccessibilityRenderObject.cpp:
3134         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3135         Return ParagraphRole, LabelRole, FormRole and DivRole when needed.
3136         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3137         (atkRole): Map new WebCore roles to ATK Roles.
3138         (webkit_accessible_get_role): Remove code to define roles for
3139         paragraphs, labels, forms and divs based on node's tag name.
3140
3141         Update mappings for the Mac platform.
3142
3143         * accessibility/mac/AccessibilityObjectWrapper.mm:
3144         (createAccessibilityRoleMap): Add explicit mappings from the new
3145         roles introduced to NSAccessibilityGroupRole.
3146
3147 2011-03-29  Philippe Normand  <pnormand@igalia.com>
3148
3149         Unreviewed build fix. Remove ASSERT hitting consitently on GTK.
3150
3151         * rendering/InlineIterator.h:
3152         (WebCore::InlineIterator::moveToStartOf):
3153
3154 2011-03-29  Darin Adler  <darin@apple.com>
3155
3156         Fix some just-introduced build failures.
3157
3158         * WebCore.pro: Correct spelling of filename.
3159
3160         * css/CSSParser.cpp:
3161         (WebCore::parseColorIntOrPercentage): Fix double/int conversion that fails to compile
3162         on Leopard. Also renamed one local variabel.
3163
3164         * inspector/InspectorAgent.cpp:
3165         (WebCore::InspectorAgent::didCommitLoad): Removed unused argument names to avoid warning.
3166         (WebCore::InspectorAgent::domContentLoadedEventFired): Ditto.
3167
3168 2011-03-29  Andras Becsi  <abecsi@webkit.org>
3169
3170         Reviewed by Darin Adler.
3171
3172         CSS: Slow parsing of rgb() with percent values
3173         https://bugs.webkit.org/show_bug.cgi?id=16708
3174
3175         Implement fast-path parsing for percentage color values.
3176
3177         Gain ~30% speedup on http://canvex.lazyilluminati.com/misc/3d.html.
3178
3179         * css/CSSParser.cpp:
3180         (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double.
3181         (WebCore::parseDouble): Function for parsing double values if they are valid.
3182         (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values.
3183         (WebCore::parseAlphaValue): Use the new functions.
3184         (WebCore::CSSParser::parseColor): Ditto.
3185
3186 2011-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
3187
3188         Reviewed by Pavel Feldman.
3189
3190         Web Inspector: extract InspectorPageAgent from InspectorAgent.
3191         https://bugs.webkit.org/show_bug.cgi?id=57327
3192
3193         There are page related methods and inspector related methods in InspectorAgent.
3194         It would be nice to extract page specific methods for future usage the rest of methods in workers debugger.
3195
3196         * GNUmakefile.am:
3197         * WebCore.gypi:
3198         * inspector/CodeGeneratorInspector.pm:
3199         * inspector/Inspector.json:
3200         * inspector/InspectorAgent.cpp:
3201         (WebCore::InspectorAgent::InspectorAgent):
3202         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
3203         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
3204         (WebCore::InspectorAgent::setFrontend):
3205         (WebCore::InspectorAgent::disconnectFrontend):
3206         (WebCore::InspectorAgent::didCommitLoad):
3207         (WebCore::InspectorAgent::domContentLoadedEventFired):
3208         * inspector/InspectorAgent.h:
3209         (WebCore::InspectorAgent::pageAgent):
3210         * inspector/InspectorPageAgent.cpp: Added.
3211         (WebCore::InspectorPageAgent::create):
3212         (WebCore::InspectorPageAgent::InspectorPageAgent):
3213         (WebCore::InspectorPageAgent::setFrontend):
3214         (WebCore::InspectorPageAgent::clearFrontend):
3215         (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
3216         (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
3217         (WebCore::InspectorPageAgent::reloadPage):
3218         (WebCore::InspectorPageAgent::openInInspectedWindow):
3219         (WebCore::InspectorPageAgent::setUserAgentOverride):
3220         (WebCore::buildObjectForCookie):
3221         (WebCore::buildArrayForCookies):
3222         (WebCore::InspectorPageAgent::getCookies):
3223         (WebCore::InspectorPageAgent::deleteCookie):
3224         (WebCore::InspectorPageAgent::inspectedURLChanged):
3225         (WebCore::InspectorPageAgent::restore):
3226         (WebCore::InspectorPageAgent::didCommitLoad):
3227         (WebCore::InspectorPageAgent::domContentEventFired):
3228         (WebCore::InspectorPageAgent::loadEventFired):
3229         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
3230         (WebCore::InspectorPageAgent::applyUserAgentOverride):
3231         * inspector/InspectorPageAgent.h: Added.
3232         * inspector/InspectorController.cpp:
3233         (WebCore::InspectorController::connectFrontend):
3234         * inspector/InspectorInstrumentation.cpp:
3235         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
3236         (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
3237         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
3238         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
3239         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3240         (WebCore::InspectorInstrumentation::retrievePageAgent):
3241         * inspector/InspectorInstrumentation.h:
3242         * inspector/InstrumentingAgents.h:
3243         (WebCore::InstrumentingAgents::InstrumentingAgents):
3244         (WebCore::InstrumentingAgents::inspectorPageAgent):
3245         (WebCore::InstrumentingAgents::setInspectorPageAgent):
3246         * inspector/front-end/AuditsPanel.js:
3247         (WebInspector.AuditsPanel.prototype._reloadResources):
3248         * inspector/front-end/CookieItemsView.js:
3249         (WebInspector.CookieItemsView.prototype._deleteCookie):
3250         (WebInspector.Cookies.getCookiesAsync):
3251         * inspector/front-end/ExtensionServer.js:
3252         (WebInspector.ExtensionServer.prototype._onReload):
3253         * inspector/front-end/NetworkPanel.js:
3254         (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
3255         * inspector/front-end/ResourcesPanel.js:
3256         (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
3257         * inspector/front-end/WorkersSidebarPane.js:
3258         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
3259         * inspector/front-end/inspector.js:
3260         (WebInspector.openResource):
3261         (WebInspector.documentKeyDown):
3262
3263 2011-03-29  David Hyatt  <hyatt@apple.com>
3264
3265         Reviewed by Darin Adler.
3266
3267         https://bugs.webkit.org/show_bug.cgi?id=57276
3268         
3269         Add optimizations to make the vertical placement of boxes much faster. Whenever a box is added
3270         to a line, compare it with the parent box. If we can determine that the child box has the exact
3271         same height and baseline position as the parent box, then we keep a boolean flag set called
3272         descendantsHaveSameLineHeightAndBaseline(). If the box is different for any reason then we clear the
3273         flag up the line box parent chain.
3274
3275         When it comes time to do computeLogicalboxHeights, we can avoid recurring into the children of
3276         a box whose descendants all have the same position. When we do placeBoxesInBlockDirection, we
3277         can do a simplified recursion that just calls adjustBlockDirectionPosition to offset the boxes
3278         without doing anything else.
3279         
3280         Because of the quirks mode rule of only shrinking boxes with no immediate text children, we need
3281         to track whether a box has text descendants now as well.  When we avoid doing the recursion
3282         this flag tells us whether the collection of boxes should have an effect on the ascent and descent
3283         of the line in quirks mode.
3284  
3285         * rendering/InlineFlowBox.cpp:
3286         (WebCore::InlineFlowBox::addToLine):
3287         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3288         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3289         (WebCore::InlineFlowBox::nodeAtPoint):
3290         (WebCore::InlineFlowBox::paintBoxDecorations):
3291         (WebCore::InlineFlowBox::paintMask):
3292         * rendering/InlineFlowBox.h:
3293         (WebCore::InlineFlowBox::InlineFlowBox):
3294         (WebCore::InlineFlowBox::hasTextDescendants):
3295         (WebCore::InlineFlowBox::descendantsHaveSameLineHeightAndBaseline):
3296         (WebCore::InlineFlowBox::clearDescendantsHaveSameLineHeightAndBaseline):
3297         * rendering/RenderBlock.h:
3298         * rendering/RenderBlockLineLayout.cpp:
3299         (WebCore::RenderBlock::createLineBoxes):
3300         (WebCore::RenderBlock::constructLine):
3301         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
3302
3303 2011-03-29  Eric Seidel  <eric@webkit.org>
3304
3305         Reviewed by Ryosuke Niwa.
3306
3307         Remove a bunch of duplicate code by adding some InlineIterator helper methods
3308         https://bugs.webkit.org/show_bug.cgi?id=57326
3309
3310         Once I started adding these it became clear how much crazy duplicated code
3311         we had due to treating InlineIterator as a struct and accessing its
3312         members directly.  We can't quite make the members private yet since
3313         findNextLineBreak still splits out the members.  But this change
3314         makes the code much cleaner.
3315
3316         * rendering/InlineIterator.h:
3317         (WebCore::InlineIterator::clear):
3318         (WebCore::InlineIterator::moveToStartOf):i
3319         (WebCore::InlineIterator::moveTo):
3320         (WebCore::InlineIterator::increment):
3321         * rendering/RenderBlockLineLayout.cpp:
3322         (WebCore::tryHyphenating):
3323         (WebCore::RenderBlock::findNextLineBreak):
3324
3325 2011-03-29  Eric Seidel  <eric@webkit.org>
3326
3327         Reviewed by Ryosuke Niwa.
3328
3329         Clean up bidiNext by abstracting repeated code
3330         https://bugs.webkit.org/show_bug.cgi?id=57335
3331
3332         I also added a comment to explain what bidiNext is actually doing.
3333         This whole area of code is confusing but need not be.
3334
3335         * rendering/InlineIterator.h:
3336         (WebCore::embedCharFromDirection):
3337         (WebCore::notifyResolverEnteredObject):
3338         (WebCore::notifyResolverWillExitObject):
3339         (WebCore::bidiNext):
3340         (WebCore::bidiFirst):
3341
3342 2011-03-29  Alexander Pavlov  <apavlov@chromium.org>
3343
3344         Reviewed by Yury Semikhatsky.
3345
3346         Web Inspector: Support external CSS stylesheet freeflow text editing
3347         https://bugs.webkit.org/show_bug.cgi?id=54397
3348
3349         In this implementation, Ctrl/Cmd-S commits the current changes into the model.
3350
3351         * inspector/front-end/ResourceView.js:
3352         (WebInspector.ResourceView.createResourceView):
3353         (WebInspector.CSSSourceFrameDelegateForResourcesPanel):
3354         (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.canEditScriptSource):
3355         (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource):
3356         (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource.handleInfos):
3357         (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype._saveStyleSheet):
3358         * inspector/front-end/ResourcesPanel.js:
3359         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
3360         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
3361         * inspector/front-end/SourceFrame.js:
3362         (WebInspector.SourceFrame.prototype._createTextViewer):
3363
3364 2011-03-29  Eric Carlson  <eric.carlson@apple.com>
3365
3366         Reviewed by Dan Bernstein.
3367
3368         playbackRate should not be set to defaultPlaybackRate in play()
3369         https://bugs.webkit.org/show_bug.cgi?id=55943
3370
3371         Test: media/video-playbackrate.html
3372
3373         * html/HTMLMediaElement.cpp:
3374         (WebCore::HTMLMediaElement::playbackRate): No need to ask the media engine for the current
3375             rate, we already have the current value cached.
3376         (WebCore::HTMLMediaElement::playInternal): Don't reset the engine's playback rate to 
3377             the default rate.
3378         (WebCore::HTMLMediaElement::togglePlayState): Do reset the engine's playback rate to 
3379             the default rate before triggering playback.
3380         * manual-tests/media-default-playback-rate.html: Added.
3381
3382 2011-03-28  Dimitri Glazkov  <dglazkov@chromium.org>
3383
3384         Reviewed by Eric Seidel.
3385
3386         Remove specialization of EventDispatcher with inversion of control.
3387         https://bugs.webkit.org/show_bug.cgi?id=57285
3388
3389         Since some events have extra logic around their dispatch, allow them
3390         to dispatch themselves and specialize the logic. This change only
3391         converts KeyboardEvent to this model.
3392
3393         No functional change, covered by existing tests.
3394
3395         * dom/Event.cpp:
3396         (WebCore::Event::dispatch): Added.
3397         * dom/Event.h: Updated decls.
3398         * dom/EventDispatcher.cpp:
3399         (WebCore::EventDispatcher::dispatchEvent): Changed to ask event to dispatch
3400             itself.
3401         * dom/EventDispatcher.h: Updated decls.
3402         * dom/KeyboardEvent.cpp:
3403         (WebCore::KeyboardEvent::dispatch): Added, moving code from EventDispatcher.
3404         * dom/KeyboardEvent.h: Updated decls.
3405         * dom/Node.cpp:
3406         (WebCore::Node::dispatchKeyEvent): Changed to use the new ways.
3407
3408 2011-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
3409
3410         Reviewed by Yury Semikhatsky.
3411
3412         Web Inspector: InspectorDOMAgent has unnecessary dependency from InspectorAgent.
3413         https://bugs.webkit.org/show_bug.cgi?id=57329
3414
3415         * inspector/InspectorAgent.cpp:
3416         (WebCore::InspectorAgent::InspectorAgent):
3417         (WebCore::InspectorAgent::setFrontend):
3418         * inspector/InspectorAgent.h:
3419         * inspector/InspectorController.cpp:
3420         (WebCore::InspectorController::inspect):
3421         * inspector/InspectorDOMAgent.cpp:
3422         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3423         (WebCore::InspectorDOMAgent::setFrontend):
3424         (WebCore::InspectorDOMAgent::handleMousePress):
3425         (WebCore::InspectorDOMAgent::inspect):
3426         (WebCore::InspectorDOMAgent::focusNode):
3427         (WebCore::InspectorDOMAgent::highlight):
3428         (WebCore::InspectorDOMAgent::hideHighlight):
3429         * inspector/InspectorDOMAgent.h:
3430         (WebCore::InspectorDOMAgent::create):
3431
3432 2011-03-29  Eric Seidel  <eric@webkit.org>
3433
3434         Reviewed by Nikolas Zimmermann.
3435
3436         Rename InlineIterator::pos to m_pos to match modern style
3437         https://bugs.webkit.org/show_bug.cgi?id=57342
3438
3439         Somehow I failed to upload this one earlier, no wonder later patches didn't apply.
3440
3441         * rendering/InlineIterator.h:
3442         (WebCore::InlineIterator::InlineIterator):
3443         (WebCore::operator==):
3444         (WebCore::operator!=):
3445         (WebCore::InlineIterator::increment):
3446         (WebCore::InlineIterator::current):
3447         (WebCore::InlineBidiResolver::appendRun):
3448         * rendering/RenderBlockLineLayout.cpp:
3449         (WebCore::checkMidpoints):
3450         (WebCore::RenderBlock::appendRunsForObject):
3451         (WebCore::RenderBlock::layoutInlineChildren):
3452         (WebCore::RenderBlock::matchedEndLine):
3453         (WebCore::tryHyphenating):
3454         (WebCore::RenderBlock::findNextLineBreak):
3455
3456 2011-03-29  Pavel Feldman  <pfeldman@chromium.org>
3457
3458         Reviewed by Yury Semikhatsky.
3459
3460         Web Inspector: document BrowserDebugger agent.
3461         https://bugs.webkit.org/show_bug.cgi?id=57331
3462
3463         * inspector/Inspector.json:
3464
3465 2011-03-29  Alexander Pavlov  <apavlov@chromium.org>
3466
3467         Reviewed by Pavel Feldman.
3468
3469         Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
3470         https://bugs.webkit.org/show_bug.cgi?id=56310
3471
3472         Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
3473         "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
3474         by CSSAgent.getStyleSheet() anymore.
3475
3476         Test: inspector/styles/get-set-stylesheet-text.html
3477
3478         * inspector/Inspector.json:
3479         * inspector/InspectorCSSAgent.cpp:
3480         (WebCore::InspectorCSSAgent::getAllStyleSheets):
3481         * inspector/InspectorCSSAgent.h:
3482         * inspector/InspectorStyleSheet.cpp:
3483         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
3484         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
3485         * inspector/InspectorStyleSheet.h:
3486         * inspector/front-end/AuditRules.js:
3487         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
3488         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
3489         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
3490         * inspector/front-end/CSSStyleModel.js:
3491         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
3492         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
3493         (WebInspector.CSSStyleModel.prototype._onRevert):
3494         (WebInspector.CSSStyleSheet):
3495         (WebInspector.CSSStyleSheet.prototype.setText):
3496
3497 2011-03-29  Jeremy Moskovich  <jeremy@chromium.org>
3498
3499         Reviewed by Eric Seidel.
3500
3501         Implement text-align:match-parent as -webkit-match-parent.
3502         https://bugs.webkit.org/show_bug.cgi?id=50951
3503
3504         Add support to the CSS parser.
3505
3506         Tests: fast/css/text-align-webkit-match-parent-parse.html
3507                fast/css/text-align-webkit-match-parent.html
3508
3509         * css/CSSParser.cpp:
3510         (WebCore::CSSParser::parseValue):
3511         * css/CSSStyleSelector.cpp:
3512         (WebCore::CSSStyleSelector::applyProperty):
3513         * css/CSSValueKeywords.in:
3514
3515 2011-03-29  Eric Seidel  <eric@webkit.org>
3516
3517         Reviewed by Ryosuke Niwa.
3518
3519         Rename InlineIterator::nextBreakablePosition to m_nextBreakablePosition to match modern style
3520         https://bugs.webkit.org/show_bug.cgi?id=57323
3521
3522         All of these m_nextBreakablePosition = -1 could probably be replaced with
3523         some new methods.  But I'll do that in a separate change.  Clearly
3524         m_nextBreakablePosition is just a cached value which should be cleared
3525         at the right times.  I suspect we may even fail to clear it sometimes when
3526         we should due to the current used of direct access instead of smarter functions.
3527
3528         * rendering/InlineIterator.h:
3529         (WebCore::InlineIterator::InlineIterator):
3530         (WebCore::InlineIterator::increment):
3531         * rendering/RenderBlockLineLayout.cpp:
3532         (WebCore::tryHyphenating):
3533         (WebCore::RenderBlock::findNextLineBreak):
3534
3535 2011-03-29  Jeff Miller  <jeffm@apple.com>
3536
3537         Reviewed by Jon Honeycutt.
3538
3539         Add WebCore::copyCertificateToData() on Windows
3540         https://bugs.webkit.org/show_bug.cgi?id=57296
3541
3542         Create a new win directory in platform/cf and add CertificateCFWin.cpp and CertificateCFWin.h to it.
3543
3544         * WebCore.vcproj/WebCore.vcproj: Added CertificateCFWin.cpp and CertificateCFWin.h.
3545         * WebCore.vcproj/copyForwardingHeaders.cmd: Copy all header files in \platform\cf\win\.
3546         * platform/cf/win: Added.
3547         * platform/cf/win/CertificateCFWin.cpp: Added.
3548         (WebCore::deallocCertContext): Added.
3549         (WebCore::createCertContextDeallocator): Added.
3550         (WebCore::copyCertificateToData): Added.
3551         * platform/cf/win/CertificateCFWin.h: Added.
3552
3553 2011-03-29  Eric Seidel  <eric@webkit.org>
3554
3555         Reviewed by Ryosuke Niwa.
3556
3557         Rename InlineIterator::block to m_block to match modern style
3558         https://bugs.webkit.org/show_bug.cgi?id=57321
3559
3560         I could have made m_block private, since it's only accessed in
3561         one place outside of InlineIterator (for an ASSERT).  But I chose
3562         not to do so in this change.
3563
3564         * rendering/InlineIterator.h:
3565         (WebCore::InlineIterator::InlineIterator):
3566         (WebCore::InlineIterator::increment):
3567         (WebCore::InlineBidiResolver::appendRun):
3568         * rendering/RenderBlockLineLayout.cpp:
3569         (WebCore::RenderBlock::findNextLineBreak):
3570
3571 2011-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
3572
3573         Reviewed by Nikolas Zimmermann.
3574
3575         Incorrect offset of svg <use> element which is in <symbol> element
3576         https://bugs.webkit.org/show_bug.cgi?id=57318
3577
3578         When webkit expanded a svg <symbol> element in the shadow tree it
3579         would clone the children of the <symbol>. The children may contain
3580         SVGShadowTreeContainerElement which was expanded from svg <use>
3581         element. But the clone operation would clone a
3582         SVGShadowTreeContainerElement as a svg <g> element. This resulted
3583         that updateContainerOffset wouldn't update offset for those elements
3584         which were expand from <use> elements.
3585
3586         This patch implements cloneElementWithoutAttributesAndChildren for
3587         SVGShadowTreeContainerElement to make the container clone itself
3588         correctly.
3589
3590         Test: svg/custom/use-in-symbol-with-offset.svg
3591
3592         * rendering/svg/SVGShadowTreeElements.cpp:
3593         (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren):
3594         * rendering/svg/SVGShadowTreeElements.h:
3595
3596 2011-03-29  Eric Seidel  <eric@webkit.org>
3597
3598         Reviewed by Ryosuke Niwa.
3599
3600         Rename InlineIterator::obj to m_obj to match modern style
3601         https://bugs.webkit.org/show_bug.cgi?id=57319
3602
3603         I started this rename after confusion in InlineBidiResolver::appendRun.
3604         (Which uses an "obj" local in InlineIterator.h.  It's not actually
3605         masking m_obj because it's a separate class, but I didn't realize
3606         that at the time because it's in InlineIterator.h which is itself confusing!)
3607
3608         * rendering/InlineIterator.h:
3609         (WebCore::InlineIterator::InlineIterator):
3610         (WebCore::operator==):
3611         (WebCore::operator!=):
3612         (WebCore::InlineIterator::increment):
3613         (WebCore::InlineIterator::atEnd):
3614         (WebCore::InlineIterator::current):
3615         (WebCore::InlineIterator::direction):
3616         (WebCore::InlineBidiResolver::appendRun):
3617         * rendering/RenderBlockLineLayout.cpp:
3618         (WebCore::checkMidpoints):
3619         (WebCore::RenderBlock::appendRunsForObject):
3620         (WebCore::RenderBlock::layoutInlineChildren):
3621         (WebCore::RenderBlock::matchedEndLine):
3622         (WebCore::skipNonBreakingSpace):
3623         (WebCore::RenderBlock::requiresLineBox):
3624         (WebCore::RenderBlock::skipTrailingWhitespace):
3625         (WebCore::RenderBlock::skipLeadingWhitespace):
3626         (WebCore::tryHyphenating):
3627         (WebCore::RenderBlock::findNextLineBreak):
3628
3629 2011-03-29  Pavel Feldman  <pfeldman@chromium.org>
3630
3631         Reviewed by Yury Semikhatsky.
3632
3633         Web Inspector: document Timeline domain, make timeline event types of type string.
3634         https://bugs.webkit.org/show_bug.cgi?id=57299
3635
3636         * inspector/Inspector.json:
3637         * inspector/InspectorTimelineAgent.cpp:
3638         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
3639         (WebCore::InspectorTimelineAgent::start):
3640         (WebCore::InspectorTimelineAgent::stop):
3641         (WebCore::InspectorTimelineAgent::willCallFunction):
3642         (WebCore::InspectorTimelineAgent::didCallFunction):
3643         (WebCore::InspectorTimelineAgent::willDispatchEvent):
3644         (WebCore::InspectorTimelineAgent::didDispatchEvent):
3645         (WebCore::InspectorTimelineAgent::willLayout):
3646         (WebCore::InspectorTimelineAgent::didLayout):
3647         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
3648         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
3649         (WebCore::InspectorTimelineAgent::willPaint):
3650         (WebCore::InspectorTimelineAgent::didPaint):
3651         (WebCore::InspectorTimelineAgent::willWriteHTML):
3652         (WebCore::InspectorTimelineAgent::didWriteHTML):
3653         (WebCore::InspectorTimelineAgent::didInstallTimer):
3654         (WebCore::InspectorTimelineAgent::didRemoveTimer):
3655         (WebCore::InspectorTimelineAgent::willFireTimer):
3656         (WebCore::InspectorTimelineAgent::didFireTimer):
3657         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
3658         (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
3659         (WebCore::InspectorTimelineAgent::willLoadXHR):
3660         (WebCore::InspectorTimelineAgent::didLoadXHR):
3661         (WebCore::InspectorTimelineAgent::willEvaluateScript):
3662         (WebCore::InspectorTimelineAgent::didEvaluateScript):
3663         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
3664         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
3665         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
3666         (WebCore::InspectorTimelineAgent::didReceiveResourceData):
3667         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
3668         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
3669         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
3670         (WebCore::InspectorTimelineAgent::didMarkTimeline):
3671         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
3672         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
3673         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
3674         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
3675         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
3676         * inspector/InspectorTimelineAgent.h:
3677         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
3678         * inspector/front-end/TimelineAgent.js:
3679         * inspector/front-end/TimelinePanel.js:
3680         (WebInspector.TimelinePanel.prototype.get _recordStyles):
3681         (WebInspector.TimelinePanel.prototype._createEventDivider):
3682         (WebInspector.TimelinePanel.prototype._findParentRecord):
3683         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3684         (WebInspector.TimelineDispatcher.prototype.started):
3685         (WebInspector.TimelineDispatcher.prototype.stopped):
3686         (WebInspector.TimelineDispatcher.prototype.eventRecorded):
3687         (WebInspector.TimelinePanel.FormattedRecord):
3688         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
3689         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
3690
3691 2011-03-29  Andrey Adaikin  <aandrey@google.com>
3692
3693         Reviewed by Pavel Feldman.
3694
3695         Web Inspector: Fixing live edits tests on chromium.
3696         https://bugs.webkit.org/show_bug.cgi?id=57316
3697
3698         * inspector/front-end/ScriptsPanel.js:
3699         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
3700         * inspector/front-end/SourceFrame.js:
3701         (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
3702         (WebInspector.SourceFrame.prototype._handleSave):
3703         (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
3704
3705 2011-03-29  Pavel Podivilov  <podivilov@chromium.org>
3706
3707         Reviewed by Yury Semikhatsky.
3708
3709         Web Inspector: fix call frames positions in formatted scripts.
3710         https://bugs.webkit.org/show_bug.cgi?id=57036
3711
3712         Introduce PresentationCallFrame class that encapsulates source mapping details from UI components.
3713
3714         * inspector/front-end/CallStackSidebarPane.js:
3715         (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLocation):
3716         (WebInspector.CallStackSidebarPane.prototype.update):
3717         (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
3718         (WebInspector.CallStackSidebarPane.prototype._placardSelected):
3719         (WebInspector.CallStackSidebarPane.prototype._contextMenu):
3720         (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):
3721         * inspector/front-end/DebuggerModel.js:
3722         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
3723         (WebInspector.DebuggerModel.prototype.get debuggerPausedDetails):
3724         (WebInspector.DebuggerModel.prototype._pausedScript):
3725         * inspector/front-end/DebuggerPresentationModel.js:
3726         (WebInspector.DebuggerPresentationModel):
3727         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
3728         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
3729         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
3730         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
3731         (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
3732         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
3733         (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
3734         (WebInspector.DebuggerPresentationModel.prototype._reset):
3735         (WebInspector.PresenationCallFrame): Call frame wrapper for UI.
3736         * inspector/front-end/ScriptsPanel.js:
3737         (WebInspector.ScriptsPanel):
3738         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
3739         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
3740         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3741         (WebInspector.ScriptsPanel.prototype._debuggerResumed):
3742         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
3743         (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
3744         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
3745         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
3746         * inspector/front-end/SourceFile.js:
3747         (WebInspector.SourceFile.prototype.get content):
3748         * inspector/front-end/SourceFrame.js:
3749         (WebInspector.SourceFrame.prototype._createTextViewer):
3750         (WebInspector.SourceFrame.prototype.setExecutionLine):
3751         (WebInspector.SourceFrame.prototype.clearExecutionLine):
3752         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
3753         (WebInspector.SourceFrame.prototype._showPopup):
3754
3755 2011-03-29  Emil A Eklund  <eae@chromium.org>
3756
3757         Reviewed by Darin Adler.
3758
3759         Fix for execCommand("Delete") with an empty selection.
3760         https://bugs.webkit.org/show_bug.cgi?id=56652
3761
3762         Test: editing/execCommand/delete-empty-container.html
3763
3764         * editing/TypingCommand.cpp:
3765         (WebCore::TypingCommand::makeEditableRootEmpty): Add check for root element.
3766
3767 2011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
3768
3769         Reviewed by Pavel Feldman.
3770
3771         Web Inspector: [Chromium] Refactor HeapSnapshot-related code to
3772         make sure we don't return big amounts of data to forms.
3773         https://bugs.webkit.org/show_bug.cgi?id=57227
3774
3775         * inspector/front-end/DetailedHeapshotGridNodes.js:
3776         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
3777         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent):
3778         (WebInspector.HeapSnapshotObjectNode):
3779         (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
3780         (WebInspector.HeapSnapshotInstanceNode):
3781         (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
3782         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
3783         (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
3784         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
3785         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
3786         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
3787         * inspector/front-end/DetailedHeapshotView.js:
3788         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
3789         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.setDataSource):
3790         * inspector/front-end/HeapSnapshot.js:
3791         (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
3792         (WebInspector.HeapSnapshotNode.prototype.get retainers):
3793         (WebInspector.HeapSnapshot):
3794         (WebInspector.HeapSnapshot.prototype.get _allNodes):
3795         (WebInspector.HeapSnapshot.prototype.get nodeCount):
3796         (WebInspector.HeapSnapshot.prototype.get rootNodeIndex):
3797         (WebInspector.HeapSnapshot.prototype.hasId):
3798         (WebInspector.HeapSnapshot.prototype.get nodeIds):
3799         (WebInspector.HeapSnapshot.prototype._retainersForNode):
3800         (WebInspector.HeapSnapshot.prototype._buildRetainers):
3801         (WebInspector.HeapSnapshot.prototype._buildAggregates):
3802         (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes):
3803         (WebInspector.HeapSnapshot.prototype._buildIdsList):
3804         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
3805         (WebInspector.HeapSnapshotFilteredOrderedIterator):
3806         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next):
3807         (WebInspector.HeapSnapshotEdgesProvider):
3808         (WebInspector.HeapSnapshotNodesProvider):
3809
3810 2011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
3811
3812         Reviewed by Pavel Feldman.
3813
3814         Web Inspector: [Chromium] Fix detailed heap snapshots UI.
3815         https://bugs.webkit.org/show_bug.cgi?id=57235
3816
3817         Fix two problems:
3818           1. Text color of grid cells under selection needs to be white, otherwise it's unreadable for some colors;
3819           2. Long strings need to be truncated in grid, their contents can be shown on hover.
3820
3821         * inspector/front-end/DetailedHeapshotView.js:
3822         (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor):
3823         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
3824         * inspector/front-end/heapProfiler.css:
3825         (.detailed-heapshot-view .console-formatted-string):
3826         (.detailed-heapshot-view .data-grid tr.selected *):
3827         (.detailed-heapshot-view .data-grid:focus tr.selected *):
3828
3829 2011-03-29  Andrey Adaikin  <aandrey@google.com>
3830
3831         Reviewed by Yury Semikhatsky.
3832
3833         Web Inspector: Highlight visible lines first
3834         https://bugs.webkit.org/show_bug.cgi?id=57013
3835
3836         * inspector/front-end/TextViewer.js:
3837         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleChunkNumber):
3838         (WebInspector.TextEditorChunkedPanel.prototype._findVisibleChunks):
3839         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber.compareLineRowOffsetTops):
3840         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber):
3841         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
3842         (WebInspector.TextEditorMainPanel.prototype._paintLines):
3843         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
3844         (WebInspector.TextEditorMainPanel.prototype._paintLine):
3845         (WebInspector.TextEditorMainChunk.prototype.set expanded):
3846
3847 2011-03-29  Emil A Eklund  <eae@chromium.org>
3848
3849         Reviewed by Dimitri Glazkov.
3850
3851         Relative mouse coordinates recalculated for each target
3852         https://bugs.webkit.org/show_bug.cgi?id=57130
3853
3854         Calculate relative coordinates lazily for mouse events instead of doing
3855         it for each target. Speeds up dispatching of mouse events in deep dom
3856         structures significantly, O(n^2) to O(n).
3857
3858         Also fixes https://bugs.webkit.org/show_bug.cgi?id=34973
3859
3860         Tests: fast/events/mouse-relative-position.html
3861                perf/mouse-event.html
3862
3863         * dom/Event.cpp:
3864         (WebCore::Event::setTarget):
3865         * dom/MouseRelatedEvent.cpp:
3866         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3867         (WebCore::MouseRelatedEvent::initCoordinates):
3868         (WebCore::pageZoomFactor):
3869         (WebCore::MouseRelatedEvent::receivedTarget):
3870         (WebCore::MouseRelatedEvent::computeRelativePosition):
3871         (WebCore::MouseRelatedEvent::layerX):
3872         (WebCore::MouseRelatedEvent::layerY):
3873         (WebCore::MouseRelatedEvent::offsetX):
3874         (WebCore::MouseRelatedEvent::offsetY):
3875         * dom/MouseRelatedEvent.h:
3876         * dom/UIEvent.cpp:
3877         (WebCore::UIEvent::layerX):
3878         (WebCore::UIEvent::layerY):
3879         * dom/UIEvent.h:
3880
3881 2011-03-29  Emil A Eklund  <eae@chromium.org>
3882
3883         Reviewed by Darin Adler.
3884
3885         getComputedStyle counterIncrement crash @ WebCore::counterToCSSValue
3886         https://bugs.webkit.org/show_bug.cgi?id=57266
3887
3888         Add null check to counterToCSSValue.
3889
3890         Test: fast/css/getComputedStyle/counterIncrement-without-counter.html
3891
3892         * css/CSSComputedStyleDeclaration.cpp:
3893         (WebCore::counterToCSSValue):
3894
3895 2011-03-29  Gavin Peters  <gavinp@chromium.org>
3896
3897         Reviewed by Tony Gentilcore.
3898
3899         Implement onerror events for <link rel=prefetch>
3900         https://bugs.webkit.org/show_bug.cgi?id=57182
3901
3902         These events are equired on link elements, see
3903         http://dev.w3.org/html5/spec/Overview.html#the-link-element
3904
3905         After a discussion in WebKit-dev about the direction of prefetch in the loader, and about a path
3906         to adding the Link header, we decided to look at making onerror, onload and onbeforeload events
3907         more uniformly supported.  See the thread at
3908         https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html .
3909
3910         It turned out that part of adding onerror for link prefetch was to make the top CachedResource less
3911         abstract.  It was pure virtual until prefetch became the first consumer to use an unspecialised
3912         implementation, and this CL continues that by adding a default checkNotify method to it.  As it
3913         happens there were already two subclasses using what amounted to the generic checkNotify, so I
3914         also removed those, buying us some code cleanup with the change.
3915
3916         Test: fast/dom/HTMLLinkElement/prefetch-onerror.html
3917
3918         * html/HTMLLinkElement.cpp:
3919         (WebCore::HTMLLinkElement::parseMappedAttribute):
3920         (WebCore::HTMLLinkElement::onloadTimerFired):
3921         (WebCore::HTMLLinkElement::notifyFinished):
3922         * loader/cache/CachedImage.cpp:
3923         * loader/cache/CachedImage.h:
3924         * loader/cache/CachedResource.cpp:
3925         (WebCore::CachedResource::checkNotify):
3926         (WebCore::CachedResource::data):
3927         (WebCore::CachedResource::error):
3928         * loader/cache/CachedResource.h:
3929         * loader/cache/CachedScript.cpp:
3930         * loader/cache/CachedScript.h:
3931
3932 2011-03-29  Eric Seidel  <eric@webkit.org>
3933
3934         Reviewed by Ryosuke Niwa.
3935
3936         Add support for parsing unicode-bidi: -webkit-isolate
3937         https://bugs.webkit.org/show_bug.cgi?id=57181
3938
3939         Test: css3/unicode-bidi-insolate-parse.html
3940
3941         * WebCore.xcodeproj/project.pbxproj:
3942         * css/CSSParser.cpp:
3943         (WebCore::CSSParser::parseValue):
3944         * css/CSSPrimitiveValueMappings.h:
3945         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3946         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
3947         * css/CSSValueKeywords.in:
3948         * rendering/style/RenderStyleConstants.h:
3949
3950 2011-03-29  Patrick Gansterer  <paroga@webkit.org>
3951
3952         Unreviewed WinCE build fix for r82193.
3953
3954         * platform/wince/FileSystemWinCE.cpp:
3955         (WebCore::openTemporaryFile):
3956
3957 2011-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3958
3959         Unreviewed, rolling out r82198.
3960         http://trac.webkit.org/changeset/82198
3961         https://bugs.webkit.org/show_bug.cgi?id=57304
3962
3963         Broke Chromium Win build. (Requested by dave_levin on
3964         #webkit).
3965
3966         * platform/image-decoders/png/PNGImageDecoder.cpp:
3967         (WebCore::PNGImageDecoder::headerAvailable):
3968         (WebCore::PNGImageDecoder::rowAvailable):
3969
3970 2011-03-28  Ofri Wolfus  <ofri@google.com>
3971
3972         Reviewed by Eric Seidel.
3973
3974         RTL: Select elements with a size attribute are always left aligned.
3975         https://bugs.webkit.org/show_bug.cgi?id=50928
3976
3977         Added support for alignment in RenderListBox.
3978
3979         Test: fast/forms/listbox-bidi-align.html
3980
3981         * rendering/RenderListBox.cpp:
3982         (WebCore::itemOffsetForAlignment):
3983         (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality.
3984
3985 2011-03-28  Kwang Yul Seo  <skyul@company100.net>
3986
3987         Reviewed by Benjamin Poulain.
3988
3989         [Qt] Change TextureMapperVideoLayer to TextureMapperMediaLayer
3990         https://bugs.webkit.org/show_bug.cgi?id=57142
3991
3992         TextureMapperMediaLayer is a better name here because both video and plugins use this layer.
3993         Remove ENABLE(VIDEO) guard.
3994
3995         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3996         * platform/graphics/qt/MediaPlayerPrivateQt.h:
3997         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3998         (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
3999         * platform/graphics/texmap/TextureMapperNode.h:
4000         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
4001         (WebCore::TextureMapperMediaLayer::layerType):
4002
4003 2011-03-28  Thomas Klausner  <tk@giga.or.at>
4004
4005         Reviewed by David Levin.
4006
4007         png-1.5 fixes
4008         https://bugs.webkit.org/show_bug.cgi?id=54406
4009
4010         Fix compilation with png-1.5: struct members were hidden, and
4011         a new API to terminate data processing was added (especially for
4012         WebKit).
4013
4014         Compilation fixes, so no new tests.
4015
4016         * platform/image-decoders/png/PNGImageDecoder.cpp:
4017         (WebCore::PNGImageDecoder::headerAvailable):
4018         (WebCore::PNGImageDecoder::rowAvailable):
4019
4020 2011-03-28  Kwang Yul Seo  <skyul@company100.net>
4021
4022         Reviewed by Adam Barth.
4023
4024         Replace fprintf(stderr, ...) with LOG_ERROR
4025         https://bugs.webkit.org/show_bug.cgi?id=57216
4026
4027         LOG_ERROR is a better choice here.
4028
4029         * bridge/jni/v8/JavaClassV8.cpp:
4030         (JavaClass::JavaClass):
4031
4032 2011-03-28  Steve Block  <steveblock@google.com>
4033
4034         Reviewed by Jeremy Orlow.
4035
4036         Add a new JavaValue to type to represent a Java value in the Java bridge
4037         https://bugs.webkit.org/show_bug.cgi?id=57022
4038
4039         This change introduces a new JavaValue type and uses it in place of jvalue
4040         in the conversions to and from JavaNPObject used in the V8 Java bridge.
4041
4042         Refactoring only, no new tests.
4043
4044         * WebCore.gypi:
4045         * bridge/jni/JNIUtility.cpp:
4046         (JSC::Bindings::javaTypeFromClassName):
4047         (JSC::Bindings::signatureFromJavaType):
4048         (JSC::Bindings::getJNIField):
4049         (JSC::Bindings::callJNIMethod):
4050         * bridge/jni/JavaType.h:
4051         * bridge/jni/v8/JNIUtilityPrivate.cpp:
4052         (JSC::Bindings::convertNPVariantToJavaValue):
4053         (JSC::Bindings::convertJavaValueToNPVariant):
4054         (JSC::Bindings::jvalueToJavaValue):
4055         (JSC::Bindings::javaValueToJvalue):
4056         * bridge/jni/v8/JNIUtilityPrivate.h:
4057         * bridge/jni/v8/JavaNPObjectV8.cpp:
4058         (JSC::Bindings::JavaNPObjectInvoke):
4059         (JSC::Bindings::JavaNPObjectGetProperty):
4060         * bridge/jni/v8/JavaValueV8.h: Added.
4061         (JSC::Bindings::JavaValue::JavaValue):
4062
4063 2011-03-28  Patrick Gansterer  <paroga@webkit.org>
4064
4065         Reviewed by Darin Adler.
4066
4067         Use String instead of CString as return value of openTemporaryFile
4068         https://bugs.webkit.org/show_bug.cgi?id=55332
4069
4070         We usually store all paths as UTF-16. Do this for temporary files too.
4071
4072         * WebCore.exp.in
4073         * platform/FileSystem.h:
4074         * platform/android/FileSystemAndroid.cpp:
4075         * platform/brew/FileSystemBrew.cpp:
4076         * platform/efl/FileSystemEfl.cpp:
4077         * platform/gtk/FileSystemGtk.cpp:
4078         * platform/haiku/FileSystemHaiku.cpp:
4079         * platform/mac/FileSystemMac.mm:
4080         * platform/qt/FileSystemQt.cpp:
4081         * platform/win/FileSystemWin.cpp:
4082         * platform/wince/FileSystemWinCE.cpp:
4083         * platform/wx/FileSystemWx.cpp:
4084         * plugins/PluginStream.cpp:
4085         (WebCore::PluginStream::destroyStream):
4086        &