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