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