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