Make adjustMIMETypeIfNecessary use CFNetwork directly
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-03-13  Pratik Solanki  <psolanki@apple.com>
2
3         Reviewed by Brady Eidson.
4
5         Make adjustMIMETypeIfNecessary use CFNetwork directly
6         https://bugs.webkit.org/show_bug.cgi?id=55912
7
8         Convert category method [NSURLResponse adjustMIMETypeIfNecessary] to C function
9         WebCore::adjustMIMETypeIfNecessary() that takes a CFURLResponseRef and is functionally
10         identical.
11
12         Testing is covered by existing LayoutTests.
13
14         * WebCore.exp.in:
15         * platform/mac/WebCoreSystemInterface.h:
16         * platform/mac/WebCoreSystemInterface.mm:
17         * platform/network/mac/ResourceHandleMac.mm:
18         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
19         * platform/network/mac/WebCoreURLResponse.h:
20         * platform/network/mac/WebCoreURLResponse.mm:
21         (WebCore::createBinaryExtensionsSet):
22         (WebCore::createExtensionToMIMETypeMap):
23         (WebCore::mimeTypeFromUTITree):
24         (WebCore::adjustMIMETypeIfNecessary):
25
26 2011-03-13  Jeremy Moskovich  <jeremy@chromium.org>
27
28         Reviewed by Dimitri Glazkov.
29
30         Update comment in CSSValueKeywords.in
31         https://bugs.webkit.org/show_bug.cgi?id=56266
32
33         The enums the comment refers to were moved from RenderStyle.h to RenderStyleConstants.h
34         in r36579 but it appears that the comment in CSSValueKeywords.in wasn't updated.
35
36         No tests - just updating a comment.
37
38         * css/CSSValueKeywords.in:
39
40 2011-03-13  Anton D'Auria  <adauria@apple.com>
41
42         Reviewed by Alice Liu.
43
44         StorageTracker constructor shouldn't have initialization code and isMainThread() assertion
45         https://bugs.webkit.org/show_bug.cgi?id=56259
46
47         Move all StorageTracker initialization to
48         StorageTracker::initializeTracker. This also removes the
49         requirement that the StorageTracker constructor isn't run
50         on the main thread.
51
52         * storage/StorageTracker.cpp:
53         (WebCore::StorageTracker::initializeTracker):
54         (WebCore::StorageTracker::tracker):
55         (WebCore::StorageTracker::StorageTracker):
56
57 2011-03-13  Rob Buis  <rwlbuis@gmail.com>
58
59         Reviewed by Dave Hyatt.
60
61         REGRESSION (r61383): Navigation menu laid out incorrectly on aboardtheworld.com
62         https://bugs.webkit.org/show_bug.cgi?id=53470
63
64         Prefer !important over normal properties when dealing with duplicate properties in style rules.
65
66         Test: fast/css/duplicate-property-in-rule-important.html
67
68         * css/CSSMutableStyleDeclaration.cpp:
69         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
70
71 2011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
72
73         Unreviewed, rolling out r80895.
74         http://trac.webkit.org/changeset/80895
75         https://bugs.webkit.org/show_bug.cgi?id=56261
76
77         Causing crashes in several tests including
78         t1202-counters-16-c.html (see
79         http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r80956%20(15528)/results.html)
80         (Requested by dave_levin on #webkit).
81
82         * rendering/CounterNode.cpp:
83         (WebCore::CounterNode::CounterNode):
84         (WebCore::CounterNode::create):
85         (WebCore::CounterNode::resetRenderer):
86         (WebCore::CounterNode::resetRenderers):
87         (WebCore::CounterNode::recount):
88         (WebCore::CounterNode::insertAfter):
89         (WebCore::CounterNode::removeChild):
90         (WebCore::showTreeAndMark):
91         * rendering/CounterNode.h:
92         (WebCore::CounterNode::renderer):
93         * rendering/RenderCounter.cpp:
94         (WebCore::findPlaceForCounter):
95         (WebCore::RenderCounter::~RenderCounter):
96         (WebCore::RenderCounter::originalText):
97         (WebCore::RenderCounter::invalidate):
98         (WebCore::destroyCounterNodeWithoutMapRemoval):
99         (WebCore::RenderCounter::destroyCounterNodes):
100         (WebCore::RenderCounter::destroyCounterNode):
101         (WebCore::updateCounters):
102         (showCounterRendererTree):
103         * rendering/RenderCounter.h:
104         * rendering/RenderObjectChildList.cpp:
105         (WebCore::invalidateCountersInContainer):
106         (WebCore::RenderObjectChildList::invalidateCounters):
107         * rendering/RenderObjectChildList.h:
108
109 2011-03-12  Darin Adler  <darin@apple.com>
110
111         Reviewed by Dan Bernstein.
112
113         REGRESSION (r76474): IntegerArray hash hashes only 1/4 of the array
114         https://bugs.webkit.org/show_bug.cgi?id=56258
115
116         No tests because the wrong hashing is mostly harmless. The only symptom
117         we have seen is an occasional assertion in debug builds about the size
118         not being a multiple of two. But a worse hash is worse for performance too.
119
120         * platform/cf/BinaryPropertyList.cpp:
121         (WebCore::IntegerArrayHash::hash): Pass in the size in bytes rather
122         than the number of array entries.
123
124 2011-03-12  Cameron Zwarich  <zwarich@apple.com>
125
126         Not reviewed.
127
128         Fix the build with newer GCCs and remove some extra whitespae.
129
130         * bindings/js/SerializedScriptValue.cpp:
131         (WebCore::uint8_t):
132
133 2011-03-12  Cameron Zwarich  <zwarich@apple.com>
134
135         Rubber-stamped by Oliver Hunt.
136
137         Removed unused ARMv5 code. The ARMv5 case now falls under the general
138         unaligned accessed case.
139
140         * bindings/js/SerializedScriptValue.cpp:
141         (WebCore::CloneDeserializer::readLittleEndian):
142         (WebCore::CloneDeserializer::readString):
143
144 2011-03-12  Cameron Zwarich  <zwarich@apple.com>
145
146         Reviewed by Oliver Hunt.
147
148         WebCore fails to build with Clang on ARM
149         https://bugs.webkit.org/show_bug.cgi?id=56257
150
151         Add an explicit instantiation of writeLittleEndian for uint8_t and move it to
152         namespace scope, since explicit specializations are not allowed at class scope.
153
154         * bindings/js/SerializedScriptValue.cpp:
155         (WebCore::writeLittleEndian):
156
157 2011-03-11  Darin Adler  <darin@apple.com>
158
159         Reviewed by Sam Weinig.
160
161         Dragging image to desktop gives webloc instead of image file in WebKit2
162         https://bugs.webkit.org/show_bug.cgi?id=56193
163
164         * WebCore.exp.in: Added some additional exports. Re-sorted.
165
166 2011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
167
168         Unreviewed, rolling out r80919.
169         http://trac.webkit.org/changeset/80919
170         https://bugs.webkit.org/show_bug.cgi?id=56251
171
172         all windows bots failed to compile this change (Requested by
173         loislo on #webkit).
174
175         * bridge/c/c_class.cpp:
176         * bridge/c/c_runtime.cpp:
177         * bridge/jni/JavaMethod.cpp:
178         * plugins/PluginViewNone.cpp:
179
180 2011-03-12  Patrick Gansterer  <paroga@webkit.org>
181
182         Unreviewed WinCE build fix for r80900.
183
184         * CMakeListsWinCE.txt: Removed IconDatabaseNone.cpp.
185
186 2011-03-12  Andras Becsi  <abecsi@webkit.org>
187
188         Unreviewed typo fix.
189
190         No new tests needed.
191
192         * WebCore.pro: Fix typo in header name.
193
194 2011-03-12  Pavel Feldman  <pfeldman@chromium.org>
195
196         Not reviewed: Inspect Element action regression fix.
197
198         * inspector/front-end/inspector.js:
199         (WebInspector.inspect):
200
201 2011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
202
203         Unreviewed. One line fix for inspector/dom-breakpoints.html
204
205         * inspector/front-end/BreakpointManager.js:
206         (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
207
208 2011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
209
210         Unreviewed build fix.
211
212         Almost all inspector tests are crashing after r80928.
213
214         * inspector/front-end/inspector.js:
215
216 2011-03-11  Pavel Feldman  <pfeldman@chromium.org>
217
218         Reviewed by Yury Semikhatsky.
219
220         Web Inspector: follow up to error reporting, fixing multiple regressions.
221         https://bugs.webkit.org/show_bug.cgi?id=56243
222
223         * inspector/InjectedScript.cpp:
224         (WebCore::InjectedScript::setPropertyValue):
225         * inspector/InjectedScript.h:
226         * inspector/Inspector.idl:
227         * inspector/InspectorDOMAgent.cpp:
228         (WebCore::InspectorDOMAgent::getChildNodes):
229         (WebCore::InspectorDOMAgent::getOuterHTML):
230         (WebCore::InspectorDOMAgent::getEventListenersForNode):
231         * inspector/InspectorDOMAgent.h:
232         * inspector/InspectorRuntimeAgent.cpp:
233         (WebCore::InspectorRuntimeAgent::setPropertyValue):
234         * inspector/InspectorRuntimeAgent.h:
235         * inspector/front-end/DOMAgent.js:
236         (WebInspector.DOMNode.prototype.setNodeName):
237         (WebInspector.DOMNode.prototype.setNodeValue):
238         (WebInspector.DOMNode.prototype.getChildNodes):
239         (WebInspector.DOMNode.prototype.getOuterHTML):
240         (WebInspector.DOMNode.prototype.setOuterHTML):
241         (WebInspector.DOMNode.prototype.removeNode):
242         (WebInspector.DOMNode.prototype.copyNode):
243         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
244         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
245         (WebInspector.EventListeners.getEventListenersForNode):
246         * inspector/front-end/DOMStorage.js:
247         (WebInspector.DOMStorage.prototype.getEntries):
248         (WebInspector.DOMStorage.prototype.setItem):
249         (WebInspector.DOMStorage.prototype.removeItem):
250         * inspector/front-end/DOMStorageItemsView.js:
251         (WebInspector.DOMStorageItemsView.prototype.update):
252         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
253         * inspector/front-end/ElementsTreeOutline.js:
254         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
255         (WebInspector.ElementsTreeElement.prototype.updateChildren):
256         ():
257         * inspector/front-end/EventListenersSidebarPane.js:
258         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
259         (WebInspector.EventListenersSidebarPane.prototype.update):
260         * inspector/front-end/ObjectPropertiesSection.js:
261         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression.callback):
262         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
263         * inspector/front-end/PropertiesSidebarPane.js:
264         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
265         * inspector/front-end/RemoteObject.js:
266         (WebInspector.RemoteObject.prototype.setPropertyValue):
267         (WebInspector.RemoteObject.prototype.evaluate):
268         * inspector/front-end/inspector.js:
269
270 2011-03-12  Jer Noble  <jer.noble@apple.com>
271
272         Unreviewed build fix.
273
274         Fix GTK+ builds by wrapping sections of full screen code in USE(ACCELERATED_COMPOSITING)
275         checks.
276
277         * dom/Document.cpp:
278         (WebCore::Document::webkitWillEnterFullScreenForElement):
279         (WebCore::Document::webkitDidEnterFullScreenForElement):
280         (WebCore::Document::webkitWillExitFullScreenForElement):
281         (WebCore::Document::webkitDidExitFullScreenForElement):
282
283 2011-03-12  Ryuan Choi  <ryuan.choi@samsung.com>
284
285         Unreviewed build fix.
286
287         [EFL] Fix build break because of several reason.
288         https://bugs.webkit.org/show_bug.cgi?id=56244
289
290         * CMakeLists.txt: Add missing files.
291         * platform/posix/FileSystemPOSIX.cpp: Add PLATFORM(EFL).
292
293 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
294
295         Reviewed by Pavel Feldman.
296
297         Web Inspector: move profiler related methods from inspector agent to profiler agent
298         https://bugs.webkit.org/show_bug.cgi?id=56204
299
300         * inspector/Inspector.idl:
301         * inspector/InspectorAgent.cpp:
302         (WebCore::InspectorAgent::InspectorAgent):
303         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
304         (WebCore::InspectorAgent::setFrontend):
305         (WebCore::InspectorAgent::disconnectFrontend):
306         (WebCore::InspectorAgent::populateScriptObjects):
307         (WebCore::InspectorAgent::showProfilesPanel):
308         * inspector/InspectorAgent.h:
309         * inspector/InspectorController.cpp:
310         (WebCore::InspectorController::enableProfiler):
311         (WebCore::InspectorController::disableProfiler):
312         (WebCore::InspectorController::profilerEnabled):
313         (WebCore::InspectorController::startUserInitiatedProfiling):
314         (WebCore::InspectorController::stopUserInitiatedProfiling):
315         (WebCore::InspectorController::isRecordingUserInitiatedProfile):
316         * inspector/InspectorInstrumentation.cpp:
317         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
318         * inspector/InspectorProfilerAgent.cpp:
319         (WebCore::InspectorProfilerAgent::create):
320         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
321         (WebCore::InspectorProfilerAgent::enable):
322         (WebCore::InspectorProfilerAgent::disable):
323         (WebCore::InspectorProfilerAgent::setFrontend):
324         (WebCore::InspectorProfilerAgent::clearFrontend):
325         (WebCore::InspectorProfilerAgent::restore):
326         (WebCore::InspectorProfilerAgent::restoreEnablement):
327         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
328         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
329         * inspector/InspectorProfilerAgent.h:
330         (WebCore::InspectorProfilerAgent::start):
331         (WebCore::InspectorProfilerAgent::stop):
332         * inspector/front-end/ProfileView.js:
333         (WebInspector.CPUProfileType.prototype.buttonClicked):
334         * inspector/front-end/ProfilesPanel.js:
335         (WebInspector.ProfilesPanel):
336         (WebInspector.ProfilesPanel.prototype._registerProfileType):
337         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
338         * inspector/front-end/inspector.js:
339         (WebInspector._createPanels):
340
341 2011-03-11  Jer Noble  <jer.noble@apple.com>
342
343         Reviewed by Anders Carlsson.
344
345         WebCore::Document should notify ChromeClient when the full screen renderer's backing changes.
346         https://bugs.webkit.org/show_bug.cgi?id=56226
347
348         * dom/Document.cpp:
349         (WebCore::Document::webkitWillEnterFullScreenForElement): Call setRootFullScreenLayer().
350         (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto.
351         (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
352         (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
353         (WebCore::Document::setFullScreenRendererSize): Layout after setting the renderer's size.
354
355 2011-03-11  Jer Noble  <jer.noble@apple.com>
356
357         Reviewed by Anders Carlsson.
358
359         Create new interface stubs to support full screen mode in WebKit2.
360
361         WebKit2: Plumb new full screen animation APIs through WebKit2.
362         https://bugs.webkit.org/show_bug.cgi?id=55993
363
364         * page/ChromeClient.h:
365         (WebCore::ChromeClient::setRootFullScreenLayer): Added.
366
367 2011-03-11  Oliver Hunt  <oliver@apple.com>
368
369         Reviewed by Gavin Barraclough.
370
371         Ensure all values are correctly tagged in the registerfile
372         https://bugs.webkit.org/show_bug.cgi?id=56214
373
374         Make sure everything builds still.
375
376         * bridge/c/c_class.cpp:
377         * bridge/c/c_runtime.cpp:
378         * bridge/jni/JavaMethod.cpp:
379         * plugins/PluginViewNone.cpp:
380
381 2011-03-11  Mark Rowe  <mrowe@apple.com>
382
383         Fix the 32-bit build.
384
385         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
386         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
387
388 2011-03-11  Mark Rowe  <mrowe@apple.com>
389
390         Rubber-stamped by Eric Carlsson.
391
392         <rdar://problem/9124537> Crashes during layout tests due to overrelease of AVFoundation objects.
393
394         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
395         (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer):
396         (WebCore::MediaPlayerPrivateAVFoundationObjC::setAsset):
397
398 2011-03-11  Chris Marrin  <cmarrin@apple.com>
399
400         Unreviewed.
401
402         Fixes an error with the checkin for https://bugs.webkit.org/show_bug.cgi?id=52468
403
404         * platform/graphics/ca/GraphicsLayerCA.cpp:
405         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
406
407 2011-03-11  Brady Eidson  <beidson@apple.com>
408
409         Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
410
411         * loader/icon/IconDatabase.h: Make this guy public.
412
413 2011-03-11  Brady Eidson  <beidson@apple.com>
414
415         Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
416
417         * loader/icon/IconDatabase.h:
418         (WebCore::IconDatabase::delayDatabaseCleanup): Maybe Qt has Icon Database disabled, so we need to define this here?
419
420 2011-03-11  Brady Eidson  <beidson@apple.com>
421
422         https://bugs.webkit.org/show_bug.cgi?id=56216
423         Fix the Qt build following the same pattern of the patch.
424
425         * loader/icon/IconDatabase.h:
426         * loader/icon/IconDatabaseBase.cpp:
427         (WebCore::IconDatabaseBase::databasePath): Added to the virtual base.
428         * loader/icon/IconDatabaseBase.h:
429         (WebCore::IconDatabaseBase::isOpen): Ditto.
430
431 2011-03-11  Ben Taylor  <bentaylor.solx86@gmail.com>
432
433         Reviewed by Alexey Proskuryakov.
434
435         https://bugs.webkit.org/show_bug.cgi?id=56198
436         Fix conditional which had an int for one case and a pointer for another.
437
438         No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++
439
440         * loader/appcache/ApplicationCacheGroup.cpp:
441         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
442
443 2011-03-11  Brady Eidson  <beidson@apple.com>
444
445         Windows build fix.
446
447         * history/HistoryItem.cpp:
448         * loader/icon/IconDatabaseBase.cpp:
449
450 2011-03-11  Brady Eidson  <beidson@apple.com>
451
452         Reviewed by Sam Weinig.
453
454         <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216
455         Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation.
456
457         Project file stuff:
458         * Android.mk:
459         * CMakeLists.txt:
460         * GNUmakefile.am:
461         * WebCore.gyp/WebCore.gyp:
462         * WebCore.gypi:
463         * WebCore.pro:
464         * WebCore.xcodeproj/project.pbxproj:
465         * WebCore.vcproj/WebCore.vcproj:
466
467         * loader/icon/IconDatabase.cpp:
468         * loader/icon/IconDatabase.h: Inherit from IconDatabaseBase.
469
470         * loader/icon/IconDatabaseBase.cpp: Added.
471         (WebCore::IconDatabaseBase::iconURLForPageURL):
472         (WebCore::iconDatabase):
473         (WebCore::setGlobalIconDatabase):
474         * loader/icon/IconDatabaseBase.h: Added.
475         (WebCore::IconDatabaseBase::IconDatabaseBase):
476         (WebCore::IconDatabaseBase::~IconDatabaseBase):
477         (WebCore::IconDatabaseBase::setEnabled):
478         (WebCore::IconDatabaseBase::isEnabled):
479         (WebCore::IconDatabaseBase::defaultIcon):
480         (WebCore::IconDatabaseBase::retainIconForPageURL):
481         (WebCore::IconDatabaseBase::releaseIconForPageURL):
482         (WebCore::IconDatabaseBase::iconForPageURL):
483         (WebCore::IconDatabaseBase::setIconURLForPageURL):
484         (WebCore::IconDatabaseBase::setIconDataForIconURL):
485         (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
486         (WebCore::IconDatabaseBase::loadDecisionForIconURL):
487         (WebCore::IconDatabaseBase::pageURLMappingCount):
488         (WebCore::IconDatabaseBase::retainedPageURLCount):
489         (WebCore::IconDatabaseBase::iconRecordCount):
490         (WebCore::IconDatabaseBase::iconRecordCountWithData):
491         (WebCore::IconDatabaseBase::importIconURLForPageURL):
492         (WebCore::IconDatabaseBase::importIconDataForIconURL):
493         (WebCore::IconDatabaseBase::shouldStopThreadActivity):
494         (WebCore::IconDatabaseBase::open):
495         (WebCore::IconDatabaseBase::close):
496         (WebCore::IconDatabaseBase::removeAllIcons):
497         (WebCore::IconDatabaseBase::setPrivateBrowsingEnabled):
498         (WebCore::IconDatabaseBase::setClient):
499
500         * loader/icon/IconDatabaseNone.cpp: Removed.
501
502 2011-03-11  Brady Eidson  <beidson@apple.com>
503
504         Attempt at a build-fix for https://bugs.webkit.org/show_bug.cgi?id=51878
505
506         * page/PageGroup.h: Declare this method, even if the definition will end up being empty.
507
508 2011-03-11  Michael Nordman  <michaeln@google.com>
509
510         Reviewed by Dmitry Titov.
511
512         Adding the '~' to the dtor (duh).
513
514         No new tests.
515
516         * storage/SQLCallbackWrapper.h:
517         (WebCore::SQLCallbackWrapper::~SQLCallbackWrapper):
518
519 2011-03-11  Carol Szabo  <carol.szabo@nokia.com>
520
521         Reviewed by David Hyatt.
522
523         Introduced double linkage between a CounterNode and its display renderer.
524
525         use of freed pointer in WebCore::RenderCounter::originalText()
526         https://bugs.webkit.org/show_bug.cgi?id=56065
527
528         No new tests. This bug could only be reproduced manually by
529         refreshing the page during load at a critical point.
530         See bug attachment for testing.
531
532         * rendering/CounterNode.cpp:
533         Introduced new member "m_owner" to store the renderer that has the
534         style directives that produce the CounterNode.
535         Repurposed m_renderer to reffer to the RenderCounter that shows the
536         CounterNode.
537         (WebCore::CounterNode::CounterNode):
538         Updated member initialization.
539         (WebCore::CounterNode::create):
540         (WebCore::CounterNode::resetRenderer):
541         (WebCore::CounterNode::resetRenderers):
542         (WebCore::CounterNode::recount):
543         (WebCore::CounterNode::removeChild):
544         (WebCore::CounterNode::insertAfter):
545         No functional changes.
546         (WebCore::showTreeAndMark):
547         Added flushing to ensure that the output is complete.
548         * rendering/CounterNode.h:
549         (WebCore::CounterNode::owner):
550         Renamed from renderer()
551         (WebCore::CounterNode::renderer):
552         (WebCore::CounterNode::setRenderer):
553         Added new accessors for the display renderer.
554         * rendering/RenderCounter.cpp:
555         (WebCore::findPlaceForCounter):
556         Fixed comments. No functional changes.
557         (WebCore::RenderCounter::~RenderCounter):
558         Made sure that the CounterNode that this renderers displays is
559         detached from this.
560         (WebCore::RenderCounter::originalText):
561         (WebCore::RenderCounter::invalidate):
562         Added code to update m_renderer on the displayed CounterNode.
563         (WebCore::destroyCounterNodeWithoutMapRemoval):
564         (WebCore::RenderCounter::destroyCounterNodes):
565         (WebCore::RenderCounter::destroyCounterNode):
566         (WebCore::updateCounters):
567         No change, just kept code in line with the changes above.
568         (showCounterRendererTree):
569         Added fflush to ensure complete display.
570         * rendering/RenderCounter.h:
571         * rendering/RenderObjectChildList.cpp:
572         * rendering/RenderObjectChildList.h:
573         Removed unneeded invalidateCounters related functions.
574
575 2011-03-11  Luke Macpherson   <macpherson@chromium.org>
576
577         Reviewed by Eric Seidel.
578
579         Introduce lookup-table based approach for applying CSS properties.
580         The aim is to be a starting point for refactoring
581         CSSStyleSelector::applyProperty() into more readable, maintainable code.
582         https://bugs.webkit.org/show_bug.cgi?id=54707
583
584         No new behavior / covered by existing tests.
585
586         * css/CSSStyleApplyProperty.cpp: Added.
587         (WebCore::ApplyPropertyNull):
588         Class that provides empty implementations of inherit, initial, value.
589         (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
590         Class that calls the appropriate RenderStyle setters directly.
591         (WebCore::ApplyPropertyColorBase::ApplyPropertyColorBase):
592         Class for handling CSSProperty*Color.
593         (WebCore::ApplyPropertyColor::ApplyPropertyColor):
594         Class for handling CSSPropertyColor.
595         (WebCore::CSSStyleApplyProperty::sharedCSSStyleApplyProperty):
596         Singleton initializer.
597         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
598         Constructor that bulds up the map from property id to apply-er objects.
599         * css/CSSStyleApplyProperty.h: Added.
600         (WebCore::CSSStyleApplyProperty::inherit):
601         Handle the inherit case for a given property.
602         (WebCore::CSSStyleApplyProperty::initial):
603         Handle the initial case for a given property.
604         (WebCore::CSSStyleApplyProperty::value):
605         Apply a value to a given property.
606         (WebCore::CSSStyleApplyProperty::implements):
607         Returns true if the provided property id is implemented.
608         (WebCore::CSSStyleApplyProperty::index):
609         Private function to determine the index of a property the property map.
610         (WebCore::CSSStyleApplyProperty::valid):
611         Function to determine that a given property id is valid.
612         (WebCore::CSSStyleApplyProperty::setPropertyValue):
613         (WebCore::CSSStyleApplyProperty::propertyValue):
614         * css/CSSStyleSelector.cpp:
615         (WebCore::CSSStyleSelector::CSSStyleSelector):
616         Get reference to the CSSStyleApplyProperty singleton.
617         (WebCore::CSSStyleSelector::applyProperty):
618         Now calls into CSSStyleApplyProperty for implemented property ids.
619         Deleted color-related methods from the property id switch.
620         * css/CSSStyleSelector.h:
621         (WebCore::CSSStyleSelector::style):
622         Made public to allow access from CSSStyleApplyProperty.
623         (WebCore::CSSStyleSelector::parentStyle):
624         Made public to allow access from CSSStyleApplyProperty.
625         * rendering/style/RenderStyle.h:
626         Made CSSStyleApplyProperty a friend class. Necessary because it needs
627         to access the private getters and setters on this clsass.
628
629 2011-03-11  Anton D'Auria  <adauria@apple.com>
630
631         Reviewed and landed by Brady Eidson.
632
633         Add WebKit1 API to view and delete local storage
634         https://bugs.webkit.org/show_bug.cgi?id=51878
635
636         Created StorageTracker as a central point for tracking and deleting LocalStorage per origin.
637         StorageTracker maintains its own database of origin identifiers and backing db paths,
638         and this allows it to contain more relational data in the future, like variable quotas per origin.
639
640         On initialization, StorageTracker syncs its database with LocalStorage files on disk. It adds
641         an origin entry when StorageAreaSync performs a first sync for an origin.
642
643         All StorageTracker file operations are performed on one background thread with a task queue.
644
645         Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html
646                storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html
647                storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html
648                storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html
649                storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html
650
651         * GNUmakefile.am:
652         * WebCore.exp.in:
653         * WebCore.gypi:
654         * WebCore.pro:
655         * WebCore.vcproj/WebCore.vcproj:
656         * WebCore.xcodeproj/project.pbxproj:
657         * page/PageGroup.cpp:
658         (WebCore::PageGroup::clearLocalStorageForAllOrigins):
659         (WebCore::PageGroup::clearLocalStorageForOrigin):
660         (WebCore::PageGroup::syncLocalStorage):
661         (WebCore::PageGroup::numberOfPageGroups):
662         * page/PageGroup.h:
663         * platform/chromium/FileSystemChromium.cpp:
664         (WebCore::listDirectory):
665         * platform/posix/FileSystemPOSIX.cpp:
666         (WebCore::listDirectory):
667         * storage/LocalStorageTask.cpp:
668         (WebCore::LocalStorageTask::LocalStorageTask):
669         (WebCore::LocalStorageTask::performTask):
670         * storage/LocalStorageTask.h:
671         (WebCore::LocalStorageTask::createOriginIdentifiersImport):
672         (WebCore::LocalStorageTask::createSetOriginDetails):
673         (WebCore::LocalStorageTask::createDeleteOrigin):
674         (WebCore::LocalStorageTask::createDeleteAllOrigins):
675         * storage/StorageAreaImpl.cpp:
676         (WebCore::StorageAreaImpl::clearForOriginDeletion):
677         (WebCore::StorageAreaImpl::sync):
678         * storage/StorageAreaImpl.h:
679         * storage/StorageAreaSync.cpp:
680         (WebCore::StorageAreaSync::scheduleCloseDatabase):
681         (WebCore::StorageAreaSync::openDatabase):
682         (WebCore::StorageAreaSync::sync):
683         (WebCore::StorageAreaSync::deleteEmptyDatabase):
684         (WebCore::StorageAreaSync::scheduleSync):
685         * storage/StorageAreaSync.h:
686         * storage/StorageNamespace.h:
687         * storage/StorageNamespaceImpl.cpp:
688         (WebCore::StorageNamespaceImpl::clearOriginForDeletion):
689         (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
690         (WebCore::StorageNamespaceImpl::sync):
691         * storage/StorageNamespaceImpl.h:
692         * storage/StorageTracker.cpp: Added.
693         (WebCore::StorageTracker::initializeTracker):
694         (WebCore::StorageTracker::tracker):
695         (WebCore::StorageTracker::StorageTracker):
696         (WebCore::StorageTracker::setStorageDirectoryPath):
697         (WebCore::StorageTracker::trackerDatabasePath):
698         (WebCore::StorageTracker::openTrackerDatabase):
699         (WebCore::StorageTracker::importOriginIdentifiers):
700         (WebCore::StorageTracker::syncImportOriginIdentifiers):
701         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
702         (WebCore::StorageTracker::setOriginDetails):
703         (WebCore::StorageTracker::scheduleTask):
704         (WebCore::StorageTracker::syncSetOriginDetails):
705         (WebCore::StorageTracker::origins):
706         (WebCore::StorageTracker::deleteAllOrigins):
707         (WebCore::StorageTracker::syncDeleteAllOrigins):
708         (WebCore::StorageTracker::deleteOrigin):
709         (WebCore::StorageTracker::syncDeleteOrigin):
710         (WebCore::StorageTracker::willDeleteAllOrigins):
711         (WebCore::StorageTracker::willDeleteOrigin):
712         (WebCore::StorageTracker::canDeleteOrigin):
713         (WebCore::StorageTracker::cancelDeletingOrigin):
714         (WebCore::StorageTracker::setClient):
715         (WebCore::StorageTracker::syncLocalStorage):
716         * storage/StorageTracker.h: Added.
717         * storage/StorageTrackerClient.h: Added.
718         (WebCore::StorageTrackerClient::~StorageTrackerClient):
719
720 2011-03-11  Steve Block  <steveblock@google.com>
721
722         Reviewed by Jeremy Orlow.
723
724         JavaMethod does not correctly check for a null jstring for the method name
725         https://bugs.webkit.org/show_bug.cgi?id=56187
726
727         No new tests, simple typo fix.
728
729         * bridge/jni/JavaMethod.cpp:
730         (JavaMethod::JavaMethod):
731
732 2011-03-11  Adrienne Walker  <enne@google.com>
733
734         Reviewed by James Robinson.
735
736         [chromium] Compositor uses too much texture memory for scrollbars
737         https://bugs.webkit.org/show_bug.cgi?id=56212
738
739         Compositor invalidations can be off the page (and very large), but
740         scrollbars only need to care about the invalidation that's visible.
741         The large invalidation was causing the tiler layer size to grow
742         needlessly larger than the scrollbar.
743
744         * platform/graphics/chromium/LayerRendererChromium.cpp:
745         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
746
747 2011-03-11  David Hyatt  <hyatt@apple.com>
748
749         Reviewed by Simon Fraser.
750
751         https://bugs.webkit.org/show_bug.cgi?id=52987
752         
753         REGRESSION: Overflowing columns not repainted correctly
754         
755         Make sure to add in column overflow as visual overflow as well.  It was only propagating layout overflow, which is obviously not
756         sufficient, since blocks paint their own columns.
757
758         Added fast/multicol/scrolling-overflow.html
759
760         * rendering/RenderBlock.cpp:
761         (WebCore::RenderBlock::addOverflowFromChildren):
762
763 2011-03-11  Matthew Delaney  <mdelaney@apple.com>
764
765         Reviewed by Simon Fraser.
766
767         Set canvasUsesAcceleratedDrawing setting to be off(false) by default
768         https://bugs.webkit.org/show_bug.cgi?id=56215
769
770         No new tests. Does not affect behavior. Just keeping the setting off by default.
771
772         * page/Settings.cpp:
773         (WebCore::Settings::Settings):
774
775 2011-03-11  Andy Estes  <aestes@apple.com>
776
777         Reviewed by David Hyatt.
778
779         Table cells with dynamically added percentage height descendants do not
780         grow in size if the table has already been laid out.
781         https://bugs.webkit.org/show_bug.cgi?id=56174
782         
783         Table cells ignore their specified size and collapse to fit their
784         children. When a descendent with percentage height is present before
785         the table is first laid out, the descendent is sized based on the
786         specified size of the table cell. However, when the child isn't present
787         when the table is first laid out, the table cell ignores its specified
788         size and collapses down to 0. Then, when the child div is added in a
789         separate run loop iteration, it is sized to be 100% of the collapsed
790         cell height instead of 100% of the cell's specified height. We should
791         not get different layouts depending on the timing of tree construction.
792         
793         Fix this by clearing intrinsic padding before calculating the table
794         cell's override height when we detect a child that should flex the
795         table cell.
796
797         Test: fast/table/dynamic-descendant-percentage-height.html
798
799         * rendering/RenderTableCell.cpp:
800         (WebCore::RenderTableCell::setOverrideSizeFromRowHeight): clear
801         intrinsic padding before setting the override size.
802         * rendering/RenderTableCell.h:
803         * rendering/RenderTableSection.cpp:
804         (WebCore::RenderTableSection::layoutRows): Call
805         setOverrideSizeFromRowHeight() instead of setOverrideSize().
806
807 2011-03-11  Michael Nordman  <michaeln@google.com>
808
809         Reviewed by David Levin.
810
811         Add SQLCallbackWrapper
812         Instead of directly holding RefPtrs to the Callback objects in SQLStatement and SQLTransaction, hold a wrapper objects
813         which holds those references whose dtors will schedule the release of those references on the ScriptExecution thread.
814         https://bugs.webkit.org/show_bug.cgi?id=55919
815
816         No new tests, existing tests apply.
817
818         * GNUmakefile.am:
819         * WebCore.gypi:
820         * WebCore.pro:
821         * WebCore.vcproj/WebCore.vcproj:
822         * WebCore.xcodeproj/project.pbxproj:
823         * storage/SQLCallbackWrapper.h: Added.
824         (WebCore::SQLCallbackWrapper::SQLCallbackWrapper):
825         (WebCore::SQLCallbackWrapper::clear):
826         (WebCore::SQLCallbackWrapper::unwrap):
827         (WebCore::SQLCallbackWrapper::hasCallback):
828         (WebCore::SQLCallbackWrapper::safeRelease):
829         * storage/SQLStatement.cpp:
830         (WebCore::SQLStatement::create):
831         (WebCore::SQLStatement::SQLStatement):
832         (WebCore::SQLStatement::performCallback):
833         * storage/SQLStatement.h:
834         (WebCore::SQLStatement::hasStatementCallback):
835         (WebCore::SQLStatement::hasStatementErrorCallback):
836         * storage/SQLTransaction.cpp:
837         (WebCore::SQLTransaction::SQLTransaction):
838         (WebCore::SQLTransaction::executeSQL):
839         (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
840         (WebCore::SQLTransaction::deliverTransactionCallback):
841         (WebCore::SQLTransaction::deliverStatementCallback):
842         (WebCore::SQLTransaction::postflightAndCommit):
843         (WebCore::SQLTransaction::deliverSuccessCallback):
844         (WebCore::SQLTransaction::handleTransactionError):
845         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
846         * storage/SQLTransaction.h:
847
848 2011-03-11  Eric Carlson  <eric.carlson@apple.com>
849
850         Reviewed by Sam Weinig.
851
852         <rdar://problem/8955589> Adopt AVFoundation media back end on Lion.
853
854         No new tests, existing media tests cover this.
855
856         * WebCore.xcodeproj/project.pbxproj:
857         * platform/graphics/MediaPlayer.cpp:
858         (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationObjC.
859         (WebCore::bestMediaEngineForTypeAndCodecs): Kill some whitespace.
860         (WebCore::MediaPlayer::loadWithNextMediaEngine): Ditto.
861         (WebCore::MediaPlayer::inMediaDocument): Ditto.
862         * platform/graphics/MediaPlayer.h:
863
864         * platform/graphics/avfoundation: Added.
865         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Added.
866         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Added.
867
868         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Added.
869         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Added.
870
871 2011-03-11  Dean Jackson  <dino@apple.com>
872
873         Reviewed by Simon Fraser.
874
875         https://bugs.webkit.org/show_bug.cgi?id=56205
876         m_restrictions needs to allow multiple values (a bitfield)
877
878         HTMLMediaElement::m_restrictions needs to hold multiple values, so
879         change BehaviorRestrictions to an unsigned typedef and rename the
880         existing enum BehaviorRestrictionFlags.
881
882         * html/HTMLMediaElement.h:
883         (WebCore::HTMLMediaElement::setBehaviorRestrictions):
884
885 2011-03-11  David Hyatt  <hyatt@apple.com>
886
887         Reviewed by Dan Bernstein.
888
889         https://bugs.webkit.org/show_bug.cgi?id=47206
890         
891         Table rows don't support ::before/::after.  Add support to RenderTableRow::styleDidChange so that ::before/::after content gets
892         properly constructed.
893
894         Added fast/css-generated-content/table-row-before-after.html
895
896         * rendering/RenderTableRow.cpp:
897         (WebCore::RenderTableRow::styleDidChange):
898         * rendering/RenderTableRow.h:
899
900 2011-03-11  James Robinson  <jamesr@chromium.org>
901
902         Reviewed by Kenneth Russell.
903
904         [chromium] Avoid updating a composited layer&apos;s contents if the layer has nonpositive dimensions
905         https://bugs.webkit.org/show_bug.cgi?id=56209
906
907         This matches the behavior prior to r80482.  No test since the only changes in
908         behavior are avoiding work on invisible layers, which is unobservable,
909         and fixing a crash due to bug 56153.
910
911         * platform/graphics/chromium/LayerRendererChromium.cpp:
912         (WebCore::LayerRendererChromium::updateContentsRecursive):
913
914 2011-03-11  David Hyatt  <hyatt@apple.com>
915
916         Reviewed by Simon Fraser.
917
918         https://bugs.webkit.org/show_bug.cgi?id=47159
919         
920         CSS2.1 failures in background position parsing.
921         
922         Rewrite background position component parsing to match the spec.  Our old parsing would allow "100% left" to be valid
923         when it should not have.  Rename parseFillPositionXY to parseFillPositionComponent and pass in enough information for
924         it to understand what the first component was.
925         
926         For individual property parsing using background-position-x/y, I added new functions that just handle that without
927         worrying about the other component.
928         
929         In order to pass the CSS2.1 test, I also had to fix multiple background parsing.  The number of layers in multiple
930         backgrounds is determined solely by the background-image property and not by any of the other properties.  cullEmptyLayers
931         has been changed to always consider a layer empty if it has no image set, even if other properties are set.
932         
933         A number of layout tests had to be patched as they were invalid.  A couple of them relied on incorrect background-position
934         parsing (e.g., "50 left") and another relied on incorrect multiple background parsing.  It's not clear if the computed style
935         should actually include the additional values when no image is set though, so that should perhaps be the subject of a 
936         follow-up bug.
937
938         Added fast/backgrounds/background-position-parsing.html
939
940         * css/CSSParser.cpp:
941         (WebCore::CSSParser::parseFillPositionX):
942         (WebCore::CSSParser::parseFillPositionY):
943         (WebCore::CSSParser::parseFillPositionComponent):
944         (WebCore::CSSParser::parseFillPosition):
945         (WebCore::CSSParser::parseFillProperty):
946         (WebCore::CSSParser::parseTransformOrigin):
947         (WebCore::CSSParser::parsePerspectiveOrigin):
948         * css/CSSParser.h:
949         * rendering/style/FillLayer.cpp:
950         (WebCore::FillLayer::fillUnsetProperties):
951         (WebCore::FillLayer::cullEmptyLayers):
952
953 2011-03-11  Vangelis Kokkevis  <vangelis@chromium.org>
954
955         Reviewed by James Robinson.
956
957         [chromium] Allow large layers with non-identity transforms to be drawn
958         as long as their visible portion is smaller than the largest supported
959         texture size. This code will soon be replaced by tiled layers.
960         https://bugs.webkit.org/show_bug.cgi?id=55984
961
962         Test: platform/chromium/compositing/huge-layer-rotated.html
963
964         * platform/graphics/chromium/ContentLayerChromium.cpp:
965         (WebCore::ContentLayerChromium::updateContentsIfDirty):
966         (WebCore::ContentLayerChromium::draw):
967         * platform/graphics/chromium/ContentLayerChromium.h:
968
969 2011-03-09  Chris Marrin  <cmarrin@apple.com>
970
971         Reviewed by Adam Roben.
972
973         REGRESSION (5.0.3-ToT): Scrolling text doesn&apos;t scroll in Star Wars intro animation
974         https://bugs.webkit.org/show_bug.cgi?id=52468
975
976         Added WIN32 to the ifdef controlling whether animations are applied in normal or
977         reverse order. On Mac, animations used to be applied in reverse, but 
978         <rdar://problem/7095638> fixed this in the release after Snow Leopard.
979         But that patch has not be applied to the Safari Windows SDK yet. For now
980         I've made Windows use the reverse order logig. <rdar://problem/9112233> is
981         tracking the inclusion of the patch on Windows.
982
983         * platform/graphics/ca/GraphicsLayerCA.cpp:
984         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
985
986 2011-03-11  Tony Gentilcore  <tonyg@chromium.org>
987
988         Reviewed by Eric Seidel.
989
990         Let the parser yield for layout before running scripts
991         https://bugs.webkit.org/show_bug.cgi?id=54355
992
993         Prior to this patch, the parser would yield to perform a layout/paint before running a
994         script only if the script or a stylesheet blocking the script is not loaded yet. Since we
995         don't preload scan into the body while parsing the head, typically we'll block on a script
996         early in the body that causes us to yield to do the first paint within a reasonable time.
997
998         However, I'm planning to change the PreloadScanner to scan into the body from the head.
999         That significantly improves overall load time, but would hurt first paint time because
1000         fewer scripts would be blocked during parsing and thus wouldn't yield.
1001
1002         This change causes us to yield before running scripts if we haven't painted yet (regardless
1003         of whether or not the script is loaded). In addition to allowing the above mentioned
1004         PreloadScanner change to be implemented without regressing first paint time, this also
1005         improves first paint time by itself.
1006
1007         I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
1008         bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
1009         6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
1010         signifcant change in page load time.
1011
1012         Within the pages tested, 33 had no statistically significant change in time to first paint,
1013         12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
1014         are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
1015
1016         * html/parser/HTMLDocumentParser.cpp:
1017         (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
1018         (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
1019         means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
1020         the right thing whether we are just before a token or waiting for a script. Now that we may
1021         yield before a token or before a script, this may be called while paused.
1022         * html/parser/HTMLParserScheduler.cpp:
1023         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
1024         * page/FrameView.h:
1025         (WebCore::FrameView::hasEverPainted): Added.
1026
1027 2011-03-11  Dimitri Glazkov  <dglazkov@chromium.org>
1028
1029         Fix crashes in dom/html/level2/html/HTMLInputElement*.
1030
1031         * css/CSSStyleSelector.cpp:
1032         (WebCore::CSSStyleSelector::adjustRenderStyle): Added a null-check for e,
1033             because e can certainly be a null.
1034
1035 2011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
1036
1037         Reviewed by David Hyatt.
1038
1039         Choke text-decoration when entering shadow DOM subtree.
1040         https://bugs.webkit.org/show_bug.cgi?id=56044
1041
1042         No new tests, because the functionality can't be tested yet.
1043
1044         * css/CSSStyleSelector.cpp:
1045         (WebCore::CSSStyleSelector::adjustRenderStyle): Added a check for shadow DOM root.
1046
1047 2011-03-08  Dimitri Glazkov  <dglazkov@chromium.org>
1048
1049         Reviewed by Eric Carlson.
1050
1051         Convert MediaControlTimeDisplayElement to use standard layout with a custom renderer.
1052         https://bugs.webkit.org/show_bug.cgi?id=55972
1053
1054         Instead of poking at the time display elements all the way from RenderMedia,
1055         let the standard layout cycle take care of things. Move the logic of calculating
1056         when to collapse the time display elements into a custom renderer, since
1057         this is not something that can be accomplished with CSS.
1058
1059         Also, the logic of keeping the timeline slider at least 100px needed refreshing,
1060         since it didn't actually keep it at 100px.
1061
1062         * html/shadow/MediaControls.cpp: Moved the logic of determining visibility
1063             of time display elements to RenderMediaControlTimeDisplay, eliminating
1064             updateTimeDisplayVisibility method.
1065         * html/shadow/MediaControls.h: Removed decl.
1066         * rendering/MediaControlElements.cpp:
1067         (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
1068             Added new renderer class.
1069         (WebCore::RenderMediaControlTimeDisplay::layout): Simplified (and corrected)
1070             size-sensing logic, still using hard-coded values.
1071         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
1072             Removed m_isVisible member, which is no longer necessary.
1073         (WebCore::MediaControlTimeDisplayElement::createRenderer): Added to
1074             return the new renderer.
1075         * rendering/MediaControlElements.h: Adjusted decls.
1076         * rendering/RenderMedia.cpp:
1077         (WebCore::RenderMedia::layout): Remove the now-unnecessary poking at
1078             media controls in layout.
1079
1080 2011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
1081
1082         Reviewed by Eric Carlson.
1083
1084         Start focusing updates to media controls, away from always updating everything.
1085         https://bugs.webkit.org/show_bug.cgi?id=56038
1086
1087         For now, the new methods just call generic MediaControls::update.
1088
1089         Covered by existing tests.
1090
1091         * html/HTMLMediaElement.cpp:
1092         (WebCore::HTMLMediaElement::attributeChanged): Changed to use MediaControls::reset.
1093         (WebCore::HTMLMediaElement::setMuted): Changed to use MediaControls::changedMute.
1094         (WebCore::HTMLMediaElement::updateVolume): Changed to use MediaControls::changedVolume.
1095         (WebCore::HTMLMediaElement::defaultEventHandler): Changed to use the new mediaControls
1096             accessor.
1097         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Changed to use
1098             MediaControls::changedClosedCaptionsVisibility.
1099         (WebCore::HTMLMediaElement::mediaControls): Added.
1100         (WebCore::HTMLMediaElement::hasMediaControls): Added.
1101         * html/HTMLMediaElement.h: Added decls.
1102         * html/shadow/MediaControls.cpp:
1103         (WebCore::MediaControls::reset): Added.
1104         (WebCore::MediaControls::changedMute): Added.
1105         (WebCore::MediaControls::changedVolume): Added.
1106         (WebCore::MediaControls::changedClosedCaptionsVisibility): Added.
1107         * html/shadow/MediaControls.h: Added decls.
1108
1109 2011-03-11  Alexis Menard  <alexis.menard@openbossa.org>
1110
1111         Reviewed by Martin Robinson.
1112
1113         [GStreamer] When seeking webKitWebSrcStop release the frame but should not.
1114         https://bugs.webkit.org/show_bug.cgi?id=55703
1115
1116         When calling webKitWebSrcStop in case of a seeking, the frame should not
1117         be reset (the source hasn't change). The frame may be used to get the network
1118         context. Some network stack (like Qt) are relaying on the network context
1119         to work.
1120
1121         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1122         (webKitWebSrcStop):
1123
1124 2011-03-11  Dean Jackson  <dino@apple.com>
1125
1126         Unreviewed.
1127
1128         Build fixes for GTK and Leopard.
1129
1130         * bindings/gobject/GNUmakefile.am:
1131         - add missing WebKitAnimation* generated bindings
1132         * page/WebKitAnimation.idl:
1133         - use double in place of float (the core values are double anyway)
1134
1135 2011-03-11  Dean Jackson  <dino@apple.com>
1136
1137         Unreviewed build fix for QT.
1138
1139         * WebCore.pro:
1140
1141 2011-03-11  Dean Jackson  <dino@apple.com>
1142
1143         Reviewed by Simon Fraser and Chris Marrin.
1144
1145         https://bugs.webkit.org/show_bug.cgi?id=54151
1146         Implement an API to play/pause/scrub animations
1147
1148         This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList
1149         APIs, exposed via Element.getWebKitAnimations(). This first pass
1150         is a read-only API - a subsequent commit will add the ability
1151         to scrub animations.
1152
1153         Test: animations/animation-api-1.html
1154
1155         * Android.derived.jscbindings.mk:
1156         * Android.derived.v8bindings.mk:
1157         * Android.mk:
1158         * Android.v8bindings.mk:
1159         * CMakeLists.txt:
1160         * CodeGenerators.pri:
1161         * DerivedSources.cpp:
1162         * DerivedSources.make:
1163         * GNUmakefile.am:
1164         * WebCore.gypi:
1165         * WebCore.pro:
1166         * WebCore.vcproj/WebCore.vcproj:
1167         * WebCore.xcodeproj/project.pbxproj:
1168         - All build settings updated for new files
1169         * bindings/js/JSBindingsAllInOne.cpp:
1170         - Include new custom files
1171         * bindings/js/JSWebKitAnimationCustom.cpp: Added.
1172         (WebCore::JSWebKitAnimation::iterationCount):
1173         - Custom property getter so that we can return INFINITY
1174         * bindings/js/JSWebKitAnimationListCustom.cpp: Added.
1175         (WebCore::JSWebKitAnimationList::markChildren):
1176         - Make sure WebKitAnimations are marked
1177         * bindings/v8/custom/V8WebKitAnimationCustom.cpp: Added.
1178         (WebCore::V8WebkitAnimation::iterationCountAccessorGetter):
1179         - Custom property getter so that we can return INFINITY
1180         * dom/Element.cpp:
1181         (WebCore::Element::webkitGetAnimations):
1182         * dom/Element.h:
1183         * dom/Element.idl:
1184         - New API entry point
1185         * page/DOMWindow.idl:
1186         - Constructor definitions for WebKitAnimation and WebKitAnimationList
1187         * page/animation/AnimationBase.cpp:
1188         (WebCore::AnimationBase::~AnimationBase):
1189         - Since AnimationBase can now live longer (if a WebKitAnimation is
1190         held in Javascript) we need to guard for the renderer having disappeared.
1191         (WebCore::AnimationBase::setElapsedTime):
1192         (WebCore::AnimationBase::play):
1193         (WebCore::AnimationBase::pause):
1194         - Stub implementations at present
1195         * page/animation/AnimationBase.h:
1196         (WebCore::AnimationBase::animation):
1197         - Expose the Animation properties
1198         * page/animation/AnimationController.cpp:
1199         (WebCore::AnimationControllerPrivate::animationsForRenderer):
1200         (WebCore::AnimationController::animationsForRenderer):
1201         - Builds the list of WebKitAnimations
1202         * page/animation/AnimationController.h:
1203         * page/animation/AnimationControllerPrivate.h:
1204         * page/animation/CompositeAnimation.cpp:
1205         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1206         - Make sure we clear the renderer if we are removing the animation
1207         (WebCore::CompositeAnimation::animations):
1208         * page/animation/CompositeAnimation.h:
1209         * page/WebKitAnimation.cpp: Added.
1210         (WebCore::WebKitAnimation::WebKitAnimation):
1211         (WebCore::WebKitAnimation::name):
1212         (WebCore::WebKitAnimation::duration):
1213         (WebCore::WebKitAnimation::elapsedTime):
1214         (WebCore::WebKitAnimation::setElapsedTime):
1215         (WebCore::WebKitAnimation::delay):
1216         (WebCore::WebKitAnimation::iterationCount):
1217         (WebCore::WebKitAnimation::paused):
1218         (WebCore::WebKitAnimation::ended):
1219         (WebCore::WebKitAnimation::direction):
1220         (WebCore::WebKitAnimation::fillMode):
1221         (WebCore::WebKitAnimation::pause):
1222         (WebCore::WebKitAnimation::play):
1223         - The implementation of the new API. All the read-only parts are
1224         done, but elapsedTime, play() and pause() are stubs.
1225         * page/WebKitAnimation.h: Added.
1226         (WebCore::WebKitAnimation::create):
1227         (WebCore::WebKitAnimation::~WebKitAnimation):
1228         * page/WebKitAnimation.idl: Added.
1229         * page/WebKitAnimationList.cpp: Added.
1230         * page/WebKitAnimationList.h: Added.
1231         * page/WebKitAnimationList.idl: Added.
1232         - Copies NodeList implementation
1233
1234 2011-03-11  Ilya Tikhonovsky  <loislo@chromium.org>
1235
1236         Reviewed by Yury Semikhatsky.
1237
1238         Web Inspector: introduce error argument for all the callbacks on frontend.
1239         https://bugs.webkit.org/show_bug.cgi?id=56100
1240
1241         * inspector/CodeGeneratorInspector.pm:
1242         * inspector/front-end/AuditRules.js:
1243         (WebInspector.AuditRules.evaluateInTargetWindow):
1244         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
1245         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1246         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
1247         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1248         * inspector/front-end/CSSStyleModel.js:
1249         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1250         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1251         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1252         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1253         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
1254         (WebInspector.CSSStyleModel.prototype.addRule):
1255         (WebInspector.CSSStyleModel.prototype.addRule.callback):
1256         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
1257         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1258         (WebInspector.CSSStyleModel.prototype._onRevert):
1259         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1260         (WebInspector.CSSProperty.prototype.setText.callback):
1261         (WebInspector.CSSProperty.prototype.setText):
1262         (WebInspector.CSSProperty.prototype.setDisabled.callback):
1263         (WebInspector.CSSProperty.prototype.setDisabled):
1264         (WebInspector.CSSStyleSheet.createForId):
1265         (WebInspector.CSSStyleSheet.prototype.setText):
1266         * inspector/front-end/ConsoleView.js:
1267         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
1268         * inspector/front-end/DOMAgent.js:
1269         (WebInspector.DOMNode.prototype.setNodeName):
1270         (WebInspector.DOMNode.prototype.setNodeValue):
1271         (WebInspector.DOMNode.prototype.setAttribute):
1272         (WebInspector.DOMNode.prototype.removeAttribute):
1273         (WebInspector.DOMNode.prototype.childNodes.mycallback):
1274         (WebInspector.DOMNode.prototype.childNodes):
1275         (WebInspector.DOMNode.prototype.outerHTML):
1276         (WebInspector.DOMNode.prototype.setOuterHTML):
1277         (WebInspector.DOMNode.prototype.removeNode):
1278         (WebInspector.DOMNode.prototype.copyNode):
1279         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
1280         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
1281         (WebInspector.DOMAgent.prototype._documentUpdated):
1282         (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
1283         (WebInspector.Cookies.getCookiesAsync):
1284         (WebInspector.EventListeners.getEventListenersForNodeAsync):
1285         * inspector/front-end/DOMStorage.js:
1286         (WebInspector.DOMStorage.prototype.getEntries):
1287         (WebInspector.DOMStorage.prototype.setItem):
1288         (WebInspector.DOMStorage.prototype.removeItem):
1289         * inspector/front-end/Database.js:
1290         (WebInspector.Database.prototype.getTableNames):
1291         (WebInspector.Database.prototype.executeSql):
1292         * inspector/front-end/DebuggerModel.js:
1293         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
1294         (WebInspector.DebuggerModel.prototype.setBreakpoint):
1295         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
1296         (WebInspector.DebuggerModel.prototype.editScriptSource):
1297         * inspector/front-end/ElementsPanel.js:
1298         (WebInspector.ElementsPanel.prototype._setSearchingForNode):
1299         * inspector/front-end/ElementsTreeOutline.js:
1300         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
1301         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
1302         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
1303         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
1304         ():
1305         * inspector/front-end/ExtensionPanel.js:
1306         (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate):
1307         * inspector/front-end/ExtensionServer.js:
1308         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
1309         * inspector/front-end/NetworkManager.js:
1310         (WebInspector.NetworkManager.prototype.requestContent):
1311         (WebInspector.NetworkManager.prototype._processCachedResources):
1312         * inspector/front-end/ProfileView.js:
1313         (WebInspector.CPUProfileView.profileCallback):
1314         (WebInspector.CPUProfileView):
1315         * inspector/front-end/ProfilesPanel.js:
1316         * inspector/front-end/RemoteObject.js:
1317         (WebInspector.RemoteObject.resolveNode):
1318         (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
1319         (WebInspector.RemoteObject.prototype.getProperties):
1320         (WebInspector.RemoteObject.prototype.setPropertyValue):
1321         (WebInspector.RemoteObject.prototype.evaluate):
1322         * inspector/front-end/Script.js:
1323         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
1324         (WebInspector.Script.prototype.requestSource):
1325         * inspector/front-end/ScriptsPanel.js:
1326         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
1327         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
1328         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
1329         * inspector/front-end/inspector.js:
1330         ():
1331         (WebInspector.doLoadedDone.onPopulateScriptObjects):
1332         (WebInspector.doLoadedDone.propertyNamesCallback):
1333         (WebInspector.doLoadedDone):
1334
1335 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
1336
1337         Reviewed by Pavel Feldman.
1338
1339         Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
1340         https://bugs.webkit.org/show_bug.cgi?id=56173
1341
1342         Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
1343
1344         * CMakeLists.txt:
1345         * GNUmakefile.am:
1346         * WebCore.gypi:
1347         * WebCore.pro:
1348         * WebCore.vcproj/WebCore.vcproj:
1349         * WebCore.xcodeproj/project.pbxproj:
1350         * bindings/js/JSInjectedScriptHostCustom.cpp:
1351         * bindings/js/JSInjectedScriptManager.cpp: Added.
1352         (WebCore::InjectedScriptManager::createInjectedScript):
1353         (WebCore::InjectedScriptManager::discardInjectedScript):
1354         (WebCore::InjectedScriptManager::injectedScriptFor):
1355         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1356         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1357         * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
1358         (WebCore::WeakReferenceCallback):
1359         (WebCore::createInjectedScriptHostV8Wrapper):
1360         (WebCore::InjectedScriptManager::createInjectedScript):
1361         (WebCore::InjectedScriptManager::discardInjectedScript):
1362         (WebCore::InjectedScriptManager::injectedScriptFor):
1363         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1364         * inspector/ConsoleMessage.cpp:
1365         (WebCore::ConsoleMessage::addToFrontend):
1366         * inspector/ConsoleMessage.h:
1367         * inspector/InjectedScript.cpp:
1368         (WebCore::InjectedScript::canAccessInspectedWindow):
1369         * inspector/InjectedScript.h:
1370         * inspector/InjectedScriptHost.cpp:
1371         (WebCore::InjectedScriptHost::create):
1372         (WebCore::InjectedScriptHost::InjectedScriptHost):
1373         (WebCore::InjectedScriptHost::~InjectedScriptHost):
1374         (WebCore::InjectedScriptHost::disconnect):
1375         (WebCore::InjectedScriptHost::inspectImpl):
1376         (WebCore::InjectedScriptHost::clearConsoleMessages):
1377         (WebCore::InjectedScriptHost::databaseIdImpl):
1378         (WebCore::InjectedScriptHost::storageIdImpl):
1379         * inspector/InjectedScriptHost.h:
1380         (WebCore::InjectedScriptHost::init):
1381         (WebCore::InjectedScriptHost::setFrontend):
1382         (WebCore::InjectedScriptHost::clearFrontend):
1383         * inspector/InjectedScriptManager.cpp: Added.
1384         (WebCore::InjectedScriptManager::create):
1385         (WebCore::InjectedScriptManager::InjectedScriptManager):
1386         (WebCore::InjectedScriptManager::~InjectedScriptManager):
1387         (WebCore::InjectedScriptManager::disconnect):
1388         (WebCore::InjectedScriptManager::injectedScriptHost):
1389         (WebCore::InjectedScriptManager::injectedScriptForId):
1390         (WebCore::InjectedScriptManager::injectedScriptForObjectId):
1391         (WebCore::InjectedScriptManager::discardInjectedScripts):
1392         (WebCore::InjectedScriptManager::releaseObjectGroup):
1393         (WebCore::InjectedScriptManager::injectedScriptSource):
1394         (WebCore::InjectedScriptManager::injectScript):
1395         * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
1396         * inspector/Inspector.idl:
1397         * inspector/InspectorAgent.cpp:
1398         (WebCore::InspectorAgent::InspectorAgent):
1399         (WebCore::InspectorAgent::inspectedPageDestroyed):
1400         (WebCore::InspectorAgent::focusNode):
1401         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
1402         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
1403         (WebCore::InspectorAgent::didCommitLoad):
1404         (WebCore::InspectorAgent::domContentLoadedEventFired):
1405         * inspector/InspectorAgent.h:
1406         * inspector/InspectorBrowserDebuggerAgent.cpp:
1407         * inspector/InspectorConsoleAgent.cpp:
1408         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1409         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1410         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1411         (WebCore::InspectorConsoleAgent::addInspectedNode):
1412         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1413         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1414         * inspector/InspectorConsoleAgent.h:
1415         * inspector/InspectorController.cpp:
1416         (WebCore::InspectorController::InspectorController):
1417         (WebCore::InspectorController::connectFrontend):
1418         (WebCore::InspectorController::disconnectFrontend):
1419         * inspector/InspectorController.h:
1420         * inspector/InspectorDOMAgent.cpp:
1421         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1422         (WebCore::InspectorDOMAgent::discardBindings):
1423         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
1424         (WebCore::InspectorDOMAgent::resolveNode):
1425         * inspector/InspectorDOMAgent.h:
1426         (WebCore::InspectorDOMAgent::create):
1427         * inspector/InspectorDebuggerAgent.cpp:
1428         (WebCore::InspectorDebuggerAgent::create):
1429         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1430         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1431         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1432         * inspector/InspectorDebuggerAgent.h:
1433         * inspector/InspectorRuntimeAgent.cpp:
1434         (WebCore::InspectorRuntimeAgent::create):
1435         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1436         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
1437         (WebCore::InspectorRuntimeAgent::evaluate):
1438         (WebCore::InspectorRuntimeAgent::evaluateOn):
1439         (WebCore::InspectorRuntimeAgent::getProperties):
1440         (WebCore::InspectorRuntimeAgent::setPropertyValue):
1441         (WebCore::InspectorRuntimeAgent::releaseObject):
1442         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
1443         * inspector/InspectorRuntimeAgent.h:
1444         * inspector/front-end/ElementsPanel.js:
1445         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1446         (WebInspector.ElementsPanel):
1447
1448 2011-03-11  Anton Muhin  <antonm@chromium.org>
1449
1450         Reviewed by Adam Barth.
1451
1452         [v8] Change the way group id for CSS objects is calculated
1453         https://bugs.webkit.org/show_bug.cgi?id=56117
1454
1455         Do not treat CSSStyleDeclarations under not CSSRule as belonging to the same object group
1456         as they should not be reachable in JavaScript.
1457
1458         Covered by existing layout tests.  Fact of absence of retention is not trivial to prove.
1459
1460         * bindings/v8/V8GCController.cpp:
1461         (WebCore::calculateGroupId):
1462         (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
1463
1464 2011-03-11  Alexander Pavlov  <apavlov@chromium.org>
1465
1466         Reviewed by Yury Semikhatsky.
1467
1468         Web Inspector: hover over elements in Elements panel does not highlight nodes
1469         https://bugs.webkit.org/show_bug.cgi?id=56121
1470
1471         In DOM trees with a comment and/or doctype preceding the HTML tag, the tree container right boundary
1472         is 16px apart from the OL right boundary, and we miss the relevant LI by 4px. The fix is to compensate
1473         for these 16px when computing the test point coordinates.
1474
1475         * inspector/front-end/ElementsTreeOutline.js:
1476         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
1477
1478 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
1479
1480         Unreviewed. Roll out r80837.
1481
1482         * CMakeLists.txt:
1483         * GNUmakefile.am:
1484         * WebCore.gypi:
1485         * WebCore.pro:
1486         * WebCore.vcproj/WebCore.vcproj:
1487         * WebCore.xcodeproj/project.pbxproj:
1488         * bindings/js/JSInjectedScriptHostCustom.cpp:
1489         (WebCore::InjectedScriptHost::createInjectedScript):
1490         (WebCore::InjectedScriptHost::discardInjectedScript):
1491         (WebCore::InjectedScriptHost::injectedScriptFor):
1492         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
1493         * bindings/js/JSInjectedScriptManager.cpp: Removed.
1494         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1495         (WebCore::WeakReferenceCallback):
1496         (WebCore::createInjectedScriptHostV8Wrapper):
1497         (WebCore::InjectedScriptHost::createInjectedScript):
1498         (WebCore::InjectedScriptHost::discardInjectedScript):
1499         (WebCore::InjectedScriptHost::injectedScriptFor):
1500         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
1501         * bindings/v8/custom/V8InjectedScriptManager.cpp: Removed.
1502         * inspector/ConsoleMessage.cpp:
1503         (WebCore::ConsoleMessage::addToFrontend):
1504         * inspector/ConsoleMessage.h:
1505         * inspector/InjectedScript.cpp:
1506         (WebCore::InjectedScript::canAccessInspectedWindow):
1507         * inspector/InjectedScript.h:
1508         * inspector/InjectedScriptHost.cpp:
1509         (WebCore::InjectedScriptHost::InjectedScriptHost):
1510         (WebCore::InjectedScriptHost::~InjectedScriptHost):
1511         (WebCore::InjectedScriptHost::inspectImpl):
1512         (WebCore::InjectedScriptHost::clearConsoleMessages):
1513         (WebCore::InjectedScriptHost::databaseIdImpl):
1514         (WebCore::InjectedScriptHost::storageIdImpl):
1515         (WebCore::InjectedScriptHost::injectedScriptForId):
1516         (WebCore::InjectedScriptHost::injectedScriptForObjectId):
1517         (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
1518         (WebCore::InjectedScriptHost::discardInjectedScripts):
1519         (WebCore::InjectedScriptHost::releaseObjectGroup):
1520         (WebCore::InjectedScriptHost::frontend):
1521         (WebCore::InjectedScriptHost::injectedScriptSource):
1522         (WebCore::InjectedScriptHost::injectScript):
1523         * inspector/InjectedScriptHost.h:
1524         (WebCore::InjectedScriptHost::create):
1525         (WebCore::InjectedScriptHost::inspectorAgent):
1526         (WebCore::InjectedScriptHost::disconnectController):
1527         * inspector/InjectedScriptManager.cpp: Removed.
1528         * inspector/InjectedScriptManager.h: Removed.
1529         * inspector/Inspector.idl:
1530         * inspector/InspectorAgent.cpp:
1531         (WebCore::InspectorAgent::InspectorAgent):
1532         (WebCore::InspectorAgent::inspectedPageDestroyed):
1533         (WebCore::InspectorAgent::focusNode):
1534         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
1535         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
1536         (WebCore::InspectorAgent::didCommitLoad):
1537         (WebCore::InspectorAgent::domContentLoadedEventFired):
1538         * inspector/InspectorAgent.h:
1539         (WebCore::InspectorAgent::injectedScriptHost):
1540         * inspector/InspectorBrowserDebuggerAgent.cpp:
1541         * inspector/InspectorConsoleAgent.cpp:
1542         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1543         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1544         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1545         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1546         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1547         * inspector/InspectorConsoleAgent.h:
1548         * inspector/InspectorController.cpp:
1549         (WebCore::InspectorController::InspectorController):
1550         (WebCore::InspectorController::connectFrontend):
1551         (WebCore::InspectorController::disconnectFrontend):
1552         * inspector/InspectorController.h:
1553         * inspector/InspectorDOMAgent.cpp:
1554         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1555         (WebCore::InspectorDOMAgent::discardBindings):
1556         (WebCore::InspectorDOMAgent::addInspectedNode):
1557         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
1558         (WebCore::InspectorDOMAgent::resolveNode):
1559         * inspector/InspectorDOMAgent.h:
1560         (WebCore::InspectorDOMAgent::create):
1561         * inspector/InspectorDebuggerAgent.cpp:
1562         (WebCore::InspectorDebuggerAgent::create):
1563         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1564         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1565         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1566         * inspector/InspectorDebuggerAgent.h:
1567         * inspector/InspectorRuntimeAgent.cpp:
1568         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1569         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
1570         (WebCore::InspectorRuntimeAgent::evaluate):
1571         (WebCore::InspectorRuntimeAgent::evaluateOn):
1572         (WebCore::InspectorRuntimeAgent::getProperties):
1573         (WebCore::InspectorRuntimeAgent::setPropertyValue):
1574         (WebCore::InspectorRuntimeAgent::releaseObject):
1575         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
1576         * inspector/InspectorRuntimeAgent.h:
1577         (WebCore::InspectorRuntimeAgent::create):
1578         * inspector/front-end/ElementsPanel.js:
1579         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1580         (WebInspector.ElementsPanel):
1581
1582 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
1583
1584         Reviewed by Pavel Feldman.
1585
1586         Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
1587         https://bugs.webkit.org/show_bug.cgi?id=56173
1588
1589         Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
1590
1591         * CMakeLists.txt:
1592         * GNUmakefile.am:
1593         * WebCore.gypi:
1594         * WebCore.pro:
1595         * WebCore.vcproj/WebCore.vcproj:
1596         * WebCore.xcodeproj/project.pbxproj:
1597         * bindings/js/JSInjectedScriptHostCustom.cpp:
1598         * bindings/js/JSInjectedScriptManager.cpp: Added.
1599         (WebCore::InjectedScriptManager::createInjectedScript):
1600         (WebCore::InjectedScriptManager::discardInjectedScript):
1601         (WebCore::InjectedScriptManager::injectedScriptFor):
1602         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1603         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1604         * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
1605         (WebCore::WeakReferenceCallback):
1606         (WebCore::createInjectedScriptHostV8Wrapper):
1607         (WebCore::InjectedScriptManager::createInjectedScript):
1608         (WebCore::InjectedScriptManager::discardInjectedScript):
1609         (WebCore::InjectedScriptManager::injectedScriptFor):
1610         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1611         * inspector/ConsoleMessage.cpp:
1612         (WebCore::ConsoleMessage::addToFrontend):
1613         * inspector/ConsoleMessage.h:
1614         * inspector/InjectedScript.cpp:
1615         (WebCore::InjectedScript::canAccessInspectedWindow):
1616         * inspector/InjectedScript.h:
1617         * inspector/InjectedScriptHost.cpp:
1618         (WebCore::InjectedScriptHost::create):
1619         (WebCore::InjectedScriptHost::InjectedScriptHost):
1620         (WebCore::InjectedScriptHost::~InjectedScriptHost):
1621         (WebCore::InjectedScriptHost::disconnect):
1622         (WebCore::InjectedScriptHost::inspectImpl):
1623         (WebCore::InjectedScriptHost::clearConsoleMessages):
1624         (WebCore::InjectedScriptHost::databaseIdImpl):
1625         (WebCore::InjectedScriptHost::storageIdImpl):
1626         * inspector/InjectedScriptHost.h:
1627         (WebCore::InjectedScriptHost::init):
1628         (WebCore::InjectedScriptHost::setFrontend):
1629         (WebCore::InjectedScriptHost::clearFrontend):
1630         * inspector/InjectedScriptManager.cpp: Added.
1631         (WebCore::InjectedScriptManager::create):
1632         (WebCore::InjectedScriptManager::InjectedScriptManager):
1633         (WebCore::InjectedScriptManager::~InjectedScriptManager):
1634         (WebCore::InjectedScriptManager::disconnect):
1635         (WebCore::InjectedScriptManager::injectedScriptHost):
1636         (WebCore::InjectedScriptManager::injectedScriptForId):
1637         (WebCore::InjectedScriptManager::injectedScriptForObjectId):
1638         (WebCore::InjectedScriptManager::discardInjectedScripts):
1639         (WebCore::InjectedScriptManager::releaseObjectGroup):
1640         (WebCore::InjectedScriptManager::injectedScriptSource):
1641         (WebCore::InjectedScriptManager::injectScript):
1642         * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
1643         * inspector/Inspector.idl:
1644         * inspector/InspectorAgent.cpp:
1645         (WebCore::InspectorAgent::InspectorAgent):
1646         (WebCore::InspectorAgent::inspectedPageDestroyed):
1647         (WebCore::InspectorAgent::focusNode):
1648         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
1649         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
1650         (WebCore::InspectorAgent::didCommitLoad):
1651         (WebCore::InspectorAgent::domContentLoadedEventFired):
1652         * inspector/InspectorAgent.h:
1653         * inspector/InspectorBrowserDebuggerAgent.cpp:
1654         * inspector/InspectorConsoleAgent.cpp:
1655         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1656         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1657         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1658         (WebCore::InspectorConsoleAgent::addInspectedNode):
1659         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1660         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1661         * inspector/InspectorConsoleAgent.h:
1662         * inspector/InspectorController.cpp:
1663         (WebCore::InspectorController::InspectorController):
1664         (WebCore::InspectorController::connectFrontend):
1665         (WebCore::InspectorController::disconnectFrontend):
1666         * inspector/InspectorController.h:
1667         * inspector/InspectorDOMAgent.cpp:
1668         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1669         (WebCore::InspectorDOMAgent::discardBindings):
1670         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
1671         (WebCore::InspectorDOMAgent::resolveNode):
1672         * inspector/InspectorDOMAgent.h:
1673         (WebCore::InspectorDOMAgent::create):
1674         * inspector/InspectorDebuggerAgent.cpp:
1675         (WebCore::InspectorDebuggerAgent::create):
1676         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1677         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1678         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1679         * inspector/InspectorDebuggerAgent.h:
1680         * inspector/InspectorRuntimeAgent.cpp:
1681         (WebCore::InspectorRuntimeAgent::create):
1682         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1683         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
1684         (WebCore::InspectorRuntimeAgent::evaluate):
1685         (WebCore::InspectorRuntimeAgent::evaluateOn):
1686         (WebCore::InspectorRuntimeAgent::getProperties):
1687         (WebCore::InspectorRuntimeAgent::setPropertyValue):
1688         (WebCore::InspectorRuntimeAgent::releaseObject):
1689         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
1690         * inspector/InspectorRuntimeAgent.h:
1691         * inspector/front-end/ElementsPanel.js:
1692         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1693         (WebInspector.ElementsPanel):
1694
1695 2011-03-09  Hans Wennborg  <hans@chromium.org>
1696
1697         Reviewed by Jeremy Orlow.
1698
1699         IndexedDB: Make IDBBackingStore abstract
1700         https://bugs.webkit.org/show_bug.cgi?id=56013
1701
1702         Make IDBBackingStore abstract to allow for multiple implementations.
1703         Move the SQLite implementation to IDBSQLiteBackingStore.
1704
1705         No new tests: refactoring only.
1706
1707         * WebCore.gypi:
1708         * storage/IDBBackingStore.h:
1709         (WebCore::IDBBackingStore::~IDBBackingStore):
1710         * storage/IDBFactoryBackendImpl.cpp:
1711         (WebCore::IDBFactoryBackendImpl::open):
1712         * storage/IDBSQLiteBackingStore.cpp:
1713         (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore):
1714         (WebCore::IDBSQLiteBackingStore::~IDBSQLiteBackingStore):
1715         (WebCore::runCommands):
1716         (WebCore::createTables):
1717         (WebCore::createMetaDataTable):
1718         (WebCore::getDatabaseSchemaVersion):
1719         (WebCore::migrateDatabase):
1720         (WebCore::IDBSQLiteBackingStore::open):
1721         (WebCore::IDBSQLiteBackingStore::extractIDBDatabaseMetaData):
1722         (WebCore::IDBSQLiteBackingStore::setIDBDatabaseMetaData):
1723         (WebCore::IDBSQLiteBackingStore::getObjectStores):
1724         (WebCore::IDBSQLiteBackingStore::createObjectStore):
1725         (WebCore::doDelete):
1726         (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
1727         (WebCore::whereSyntaxForKey):
1728         (WebCore::bindKeyToQuery):
1729         (WebCore::lowerCursorWhereFragment):
1730         (WebCore::upperCursorWhereFragment):
1731         (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
1732         (WebCore::bindKeyToQueryWithNulls):
1733         (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
1734         (WebCore::IDBSQLiteBackingStore::clearObjectStore):
1735         (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
1736         (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
1737         (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
1738         (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
1739         (WebCore::IDBSQLiteBackingStore::getIndexes):
1740         (WebCore::IDBSQLiteBackingStore::createIndex):
1741         (WebCore::IDBSQLiteBackingStore::deleteIndex):
1742         (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
1743         (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
1744         (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
1745         (WebCore::keyFromQuery):
1746         (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
1747         (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
1748         (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
1749         (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
1750         (WebCore::IDBSQLiteBackingStore::openIndexCursor):
1751         (WebCore::IDBSQLiteBackingStore::createTransaction):
1752         * storage/IDBSQLiteBackingStore.h: Added.
1753
1754 2011-03-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1755
1756         Unreviewed build error fix.
1757
1758         [EFL] Fix build break when SHARED_CORE is ON
1759         https://bugs.webkit.org/show_bug.cgi?id=56155
1760
1761         * platform/efl/ContextMenuEfl.cpp:
1762         (WebCore::ContextMenu::ContextMenu):
1763         * platform/efl/ContextMenuItemEfl.cpp:
1764         (WebCore::ContextMenuItem::nativeMenuItem):
1765         (WebCore::ContextMenuItem::ContextMenuItem):
1766         (WebCore::ContextMenuItem::~ContextMenuItem):
1767
1768 2011-03-11  Andrey Kosyakov  <caseq@chromium.org>
1769
1770         Reviewed by Pavel Feldman.
1771
1772         Web Inspector: resource load cancellation is reported to console as an error
1773         https://bugs.webkit.org/show_bug.cgi?id=55764
1774
1775         - mark interruptionForPolicyChangeError as cancellation
1776         - do not log resource cancelation as an error
1777         - always push resource to front-end before console message, so front-end can use resource info while formatting message.
1778
1779         * inspector/InspectorConsoleAgent.cpp:
1780         (WebCore::InspectorConsoleAgent::didFailLoading):
1781         * inspector/InspectorInstrumentation.cpp:
1782         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
1783         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
1784         * loader/MainResourceLoader.cpp:
1785         (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
1786
1787 2011-03-10  Alexander Pavlov  <apavlov@chromium.org>
1788
1789         Reviewed by Yury Semikhatsky.
1790
1791         Web Inspector: Get rid of has/add/removeStyleClass() methods on Element.prototype - Step 1
1792         https://bugs.webkit.org/show_bug.cgi?id=56096
1793
1794         No new tests, as this is a refactoring.
1795
1796         * inspector/front-end/BreakpointsSidebarPane.js:
1797         (WebInspector.EventListenerBreakpointsSidebarPane):
1798         * inspector/front-end/DetailedHeapshotView.js:
1799         * inspector/front-end/ResourcesPanel.js:
1800         (WebInspector.ResourcesPanel):
1801         (WebInspector.BaseStorageTreeElement):
1802         (WebInspector.BaseStorageTreeElement.prototype.onattach):
1803         (WebInspector.StorageCategoryTreeElement):
1804         (WebInspector.FrameTreeElement):
1805         (WebInspector.FrameResourceTreeElement):
1806         (WebInspector.DatabaseTreeElement):
1807         (WebInspector.DatabaseTableTreeElement):
1808         (WebInspector.DOMStorageTreeElement):
1809         (WebInspector.CookieTreeElement):
1810         (WebInspector.ApplicationCacheTreeElement):
1811         (WebInspector.ResourceRevisionTreeElement):
1812         * inspector/front-end/utilities.js:
1813         (Element.prototype.removeStyleClass):
1814         (Element.prototype.addStyleClass):
1815         (Element.prototype.hasStyleClass):
1816
1817 2011-03-11  Brian Salomon  <bsalomon@google.com>
1818
1819         Reviewed by Kenneth Russell.
1820
1821         Adds GrContext flush call to PlatformContextSkia destructor. 
1822 Calls GrContext flush with int parameter instead of bool due to skia 
1823 revision.       
1824
1825         No new tests needed.
1826
1827         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1828         (WebCore::DrawingBuffer::publishToPlatformLayer):
1829         * platform/graphics/skia/PlatformContextSkia.cpp:
1830         (WebCore::PlatformContextSkia::~PlatformContextSkia):
1831         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
1832
1833 2011-03-10  Chris Guillory  <chris.guillory@google.com>
1834
1835         Reviewed by James Robinson.
1836
1837         Fix for Coverity discovered NO_EFFECT (self-assign) defect.
1838         https://bugs.webkit.org/show_bug.cgi?id=54143
1839
1840         * platform/graphics/gpu/TilingData.cpp:
1841         (WebCore::TilingData::setMaxTextureSize):
1842
1843 2011-03-10  Emil A Eklund  <eae@chromium.org>
1844
1845         Reviewed by Alexey Proskuryakov.
1846
1847         The web colours palevioletred and mediumpurple are incorrect
1848         https://bugs.webkit.org/show_bug.cgi?id=46658
1849
1850         Changed value for the palevioletred and mediumpurple colors to match
1851         the css3 specification.
1852
1853         Test: fast/css/named-colors.html
1854
1855         * inspector/front-end/Color.js:
1856         * platform/ColorData.gperf:
1857
1858 2011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1859
1860         Unreviewed build fix.
1861
1862         [WML] Fix build error
1863         https://bugs.webkit.org/show_bug.cgi?id=56078
1864
1865         * wml/WMLInputElement.cpp:
1866         (WebCore::WMLInputElement::defaultEventHandler):
1867
1868 2011-03-10  Jeremy Moskovich  <jeremy@chromium.org>
1869
1870         Reviewed by Darin Adler.
1871
1872         Fix navigation menus on a bunch of sites in WebKit.
1873         https://bugs.webkit.org/show_bug.cgi?id=52535
1874
1875         WebKit doesn't support position:relative for several table elements and
1876         overwrites the style internally when position:relative is encountered.
1877         Unfortunately position:relative affects the choice of nodes returned by
1878         offsetParent.
1879
1880         This CL adds a bit to RenderStyle to track whether position:relative was
1881         overwritten.  The value is then consulted in offsetParent which makes us
1882         match FF/IE.
1883
1884         Tests: fast/block/positioning/offsetLeft-relative-iframe.html
1885                fast/block/positioning/offsetLeft-relative-td.html
1886
1887         * css/CSSStyleSelector.cpp:
1888         (WebCore::CSSStyleSelector::adjustRenderStyle):
1889         * rendering/RenderObject.cpp:
1890         (WebCore::RenderObject::isOriginallyRelPositioned):
1891         (WebCore::RenderObject::offsetParent):
1892         * rendering/RenderObject.h:
1893         * rendering/style/RenderStyle.h: Add a bit to track the original value of position:relative.
1894         (WebCore::InheritedFlags::positionWasRelative):
1895         (WebCore::InheritedFlags::setPositionWasRelative):
1896         * rendering/style/StyleRareNonInheritedData.cpp:
1897         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1898         (WebCore::StyleRareNonInheritedData::operator==):
1899         * rendering/style/StyleRareNonInheritedData.h:
1900
1901 2011-03-10  Adam Barth  <abarth@webkit.org>
1902
1903         Reviewed by Darin Adler.
1904
1905         REGRESSION (r66428/r71892): Crash after assertion failure (!m_reachedTerminalState) in ResourceLoader::didCancel()
1906         https://bugs.webkit.org/show_bug.cgi?id=51357
1907
1908         Previously, we would try to print from a callstack that didn't want a
1909         nested event loop, leading to re-entrancy problems.  In this patch, we
1910         complete the print call asynchronously, giving us a clean stack on
1911         which to run the nested event loop.
1912
1913         Test: printing/print-close-crash.html
1914
1915         * page/DOMWindow.cpp:
1916         (WebCore::DOMWindow::DOMWindow):
1917         (WebCore::DOMWindow::print):
1918         (WebCore::DOMWindow::printTimerFired):
1919         * page/DOMWindow.h:
1920
1921 2011-03-11  Roland Steiner  <rolandsteiner@chromium.org>
1922
1923         Reviewed by Ryosuke Niwa.
1924
1925         Bug 55570 - Remove dependency of dom/InputElement.cpp on html/ and wml/
1926         https://bugs.webkit.org/show_bug.cgi?id=55570
1927
1928         Add a virtual function toInputElement() to Node that has a default
1929         implementation of returning 0.
1930         For HTMLInputElement and WMLInputElement (which derive from InputElement)
1931         override this to return the object.
1932         Change all calling sites of the old toInputElement to use the new member
1933         function. This also allows us to save some casts.
1934
1935         No new tests. (refactoring)
1936
1937         * WebCore.exp.in:
1938         * accessibility/AXObjectCache.cpp:
1939         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
1940         * accessibility/AccessibilityRenderObject.cpp:
1941         (WebCore::AccessibilityRenderObject::isPasswordField):
1942         (WebCore::AccessibilityRenderObject::isIndeterminate):
1943         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
1944         (WebCore::AccessibilityRenderObject::isChecked):
1945         * css/CSSStyleSelector.cpp:
1946         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1947         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1948         * dom/CheckedRadioButtons.cpp:
1949         (WebCore::CheckedRadioButtons::removeButton):
1950         * dom/InputElement.cpp:
1951         * dom/InputElement.h:
1952         * dom/Node.cpp:
1953         (WebCore::Node::toInputElement):
1954         * dom/Node.h:
1955         * html/HTMLInputElement.h:
1956         (WebCore::HTMLInputElement::toInputElement):
1957         * rendering/RenderTextControlSingleLine.cpp:
1958         (WebCore::RenderTextControlSingleLine::inputElement):
1959         * rendering/RenderTheme.cpp:
1960         (WebCore::RenderTheme::isChecked):
1961         (WebCore::RenderTheme::isIndeterminate):
1962         * wml/WMLInputElement.h:
1963         (WebCore::WMLInputElement::toInputElement):
1964
1965 2011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1966
1967         Reviewed by Kenneth Rohde Christiansen.
1968
1969         [EFL] New mediaControl css file for EFL
1970         https://bugs.webkit.org/show_bug.cgi?id=55460
1971
1972         Add new mediaControl css file for html5 video UI.
1973
1974         * CMakeLists.txt:
1975         * CMakeListsEfl.txt:
1976         * css/mediaControlsEfl.css: Added.
1977         (audio):
1978         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1979         (video:-webkit-full-page-media::-webkit-media-controls-panel):
1980         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1981         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
1982         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
1983         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
1984         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
1985         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
1986         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1987         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
1988         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
1989         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
1990         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
1991         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
1992         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
1993         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
1994         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
1995         * platform/efl/RenderThemeEfl.cpp:
1996         (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
1997
1998 2011-03-10  Emil A Eklund  <eae@chromium.org>
1999
2000         Reviewed by Dimitri Glazkov.
2001
2002         style.display affecting the initial selectedIndex value of a <select> when its multiple attribute is set programatically
2003         https://bugs.webkit.org/show_bug.cgi?id=53860
2004
2005         Preserve selection when changing between multi-select and single-select
2006         for <select> boxes even if it has not yet been rendered.
2007
2008         Test: fast/dom/HTMLSelectElement/change-multiple-preserve-selection.html
2009
2010         * html/HTMLSelectElement.cpp:
2011         (WebCore::HTMLSelectElement::setMultiple):
2012
2013 2011-03-10  Ojan Vafai  <ojan@chromium.org>
2014
2015         Reviewed by Tony Chang.
2016
2017         update comment to reference new DOM Core spec
2018         https://bugs.webkit.org/show_bug.cgi?id=56079
2019
2020         I'm excising all instances of WRONG_DOCUMENT_ERR from WebKit.
2021         This is the only one that's actually specified to fire
2022         in the latest DOM Core spec.
2023
2024         * dom/DOMImplementation.cpp:
2025         (WebCore::DOMImplementation::createDocument):
2026
2027 2011-03-10  Rik Cabanier  <cabanier@gmail.com>
2028
2029         Reviewed by Tony Gentilcore.
2030
2031         Fix that allows fixed length values to be floating point
2032         https://bugs.webkit.org/show_bug.cgi?id=52699
2033
2034         * WebCore.xcodeproj/project.pbxproj:
2035         * css/CSSStyleSelector.cpp:
2036         (WebCore::convertToLength):
2037         (WebCore::convertToIntLength):
2038         (WebCore::convertToFloatLength):
2039         (WebCore::CSSStyleSelector::applyProperty):
2040         (WebCore::CSSStyleSelector::createTransformOperations):
2041         * platform/Length.h:
2042         (WebCore::Length::Length):
2043         (WebCore::Length::operator==):
2044         (WebCore::Length::operator!=):
2045         (WebCore::Length::rawValue):
2046         (WebCore::Length::type):
2047         (WebCore::Length::quirk):
2048         (WebCore::Length::setValue):
2049         (WebCore::Length::calcFloatValue):
2050         (WebCore::Length::isZero):
2051         (WebCore::Length::blend):
2052         (WebCore::Length::getIntValue):
2053         (WebCore::Length::getFloatValue):
2054         * rendering/AutoTableLayout.cpp:
2055         (WebCore::AutoTableLayout::recalcColumn):
2056         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2057         * rendering/FixedTableLayout.cpp:
2058         (WebCore::FixedTableLayout::calcWidthArray):
2059
2060 2011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2061
2062         Unreviewed, rolling out r80800.
2063         http://trac.webkit.org/changeset/80800
2064         https://bugs.webkit.org/show_bug.cgi?id=56163
2065
2066         Caused hundreds of tests to crash on Windows 7 (Requested by
2067         rniwa on #webkit).
2068
2069         * page/EventHandler.cpp:
2070         (WebCore::EventHandler::mouseMoved):
2071         (WebCore::EventHandler::updateMouseEventTargetNode):
2072         * page/FocusController.cpp:
2073         (WebCore::FocusController::setActive):
2074         * page/FrameView.cpp:
2075         (WebCore::FrameView::FrameView):
2076         (WebCore::FrameView::~FrameView):
2077         * page/FrameView.h:
2078         * page/Page.cpp:
2079         * page/Page.h:
2080         * platform/ScrollView.cpp:
2081         (WebCore::ScrollView::wheelEvent):
2082         * platform/ScrollView.h:
2083         * rendering/RenderDataGrid.cpp:
2084         (WebCore::RenderDataGrid::RenderDataGrid):
2085         (WebCore::RenderDataGrid::~RenderDataGrid):
2086         * rendering/RenderLayer.cpp:
2087         (WebCore::RenderLayer::RenderLayer):
2088         (WebCore::RenderLayer::~RenderLayer):
2089         * rendering/RenderLayer.h:
2090         * rendering/RenderListBox.cpp:
2091         (WebCore::RenderListBox::RenderListBox):
2092         (WebCore::RenderListBox::~RenderListBox):
2093
2094 2011-03-10  Alice Boxhall  <aboxhall@chromium.org>
2095
2096         Reviewed by Dimitri Glazkov.
2097
2098         NULL pointer crash when using :empty and :first-line pseudoclass selectors together
2099         https://bugs.webkit.org/show_bug.cgi?id=53316
2100
2101         :empty is calculated for each element during parsing, but then not 
2102         recalculated after any child elements are attached. Force style 
2103         re-calculation on elements which have :empty in their style when
2104         their children are changed.
2105
2106         Test: fast/css/empty-first-line-crash.html
2107
2108         * dom/Element.cpp:
2109         (WebCore::checkForEmptyStyleChange): Pull out empty style checking
2110         logic from checkForSiblingStyleChanges().
2111         (WebCore::checkForSiblingStyleChanges): Use new checkForEmptyStyleChanges()
2112         method.
2113         (WebCore::Element::childrenChanged):  Call checkForEmptyStyleChanges() when
2114         called with changedByParser = true.
2115
2116 2011-03-10  Emil A Eklund  <eae@chromium.org>
2117
2118         Unreviewed build fix.
2119
2120         Fix Leopard Release build broken by r80797.
2121
2122         * html/CollectionCache.h:
2123
2124 2011-03-10  Beth Dakin  <bdakin@apple.com>
2125
2126         Reviewed by Darin Adler.
2127
2128         Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to 
2129         send notifications appropriate times (showing up, resizing)
2130         -and corresponding-
2131         https://bugs.webkit.org/show_bug.cgi?id=56067
2132
2133         The general strategy here is to add a HashSet of ScrollableAreas to the page that 
2134         can be accessed when necessary to send notifications to all ScrollableAreas.
2135
2136         Find layers for relevant node and if the layers are in the Page's ScrollableArea 
2137         set, then send the relevant notification.
2138         * page/EventHandler.cpp:
2139         (WebCore::EventHandler::mouseMoved):
2140         (WebCore::EventHandler::updateMouseEventTargetNode):
2141
2142         When the page is set active or not active, iterate through the Page's 
2143         ScrollableAreas to send hide/show notifications. 
2144         * page/FocusController.cpp:
2145         (WebCore::FocusController::setActive):
2146
2147         When a FrameView is created, add it to the ScrollableArea set. When it's 
2148         destroyed, remove it.
2149         * page/FrameView.cpp:
2150         (WebCore::FrameView::FrameView):
2151         (WebCore::FrameView::~FrameView):
2152
2153         Iterate through the Page's ScrollableAreas to send the paint notification.
2154         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
2155         * page/FrameView.h:
2156
2157         Add the new ScrollableArea set.
2158         * page/Page.cpp:
2159         (WebCore::Page::addScrollableArea):
2160         (WebCore::Page::removeScrollableArea):
2161         (WebCore::Page::pageContainsScrollableArea):
2162         * page/Page.h:
2163         (WebCore::Page::scrollableAreaSet):
2164
2165         notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView.
2166         * platform/ScrollView.cpp:
2167         (WebCore::ScrollView::notifyPageThatContentAreaWillPaint):
2168
2169         Call notifyPageThatContentAreaWillPaint() instead of calling 
2170         contentAreaWillPaint() just for the ScrollView.
2171         (WebCore::ScrollView::paint):
2172         * platform/ScrollView.h:
2173
2174         Add/remove ScrollableAreas to the set.
2175         * rendering/RenderDataGrid.cpp:
2176         (WebCore::RenderDataGrid::RenderDataGrid):
2177         (WebCore::RenderDataGrid::~RenderDataGrid):
2178         * rendering/RenderListBox.cpp:
2179         (WebCore::RenderListBox::RenderListBox):
2180         (WebCore::RenderListBox::~RenderListBox):
2181         * rendering/RenderLayer.cpp:
2182         (WebCore::RenderLayer::RenderLayer):
2183         (WebCore::RenderLayer::~RenderLayer):
2184
2185         Should have implemented this ScrollableArea-interface function a while ago.
2186         (WebCore::RenderLayer::currentMousePosition):
2187         * rendering/RenderLayer.h:
2188
2189 2011-03-10  takano takumi  <takano@apple.com>
2190
2191         Reviewed by David Hyatt.
2192
2193         Crash in RenderCombineText::combineText when running fast/text/international/text-combine-parser-test.html on Windows with full page heap enabled
2194         https://bugs.webkit.org/show_bug.cgi?id=55069
2195
2196         No new tests. If the test above runs without crash, the fix should be okay.
2197
2198         * dom/Node.cpp:
2199         (WebCore::Node::diff):
2200         - Changed to return Detach when textCombine style was changed.
2201         * rendering/RenderCombineText.cpp:
2202         (WebCore::RenderCombineText::styleDidChange):
2203         (WebCore::RenderCombineText::setTextInternal):
2204         (WebCore::RenderCombineText::width):
2205         (WebCore::RenderCombineText::adjustTextOrigin):
2206         (WebCore::RenderCombineText::charactersToRender):
2207         (WebCore::RenderCombineText::combineText):
2208         - Added assertions to ensure the passed object is RenderCombineText.
2209         * rendering/RenderCombineText.h:
2210         (WebCore::RenderCombineText::isCombineText):
2211         - Added to distinguish plain RenderText and RenderCombineText.
2212         (WebCore::toRenderCombineText):
2213         - Added assertions to ensure the passed object is RenderCombineText.
2214         * rendering/RenderObject.h:
2215         (WebCore::RenderObject::isCombineText):
2216         - Added to distinguish plain RenderText and RenderCombineText.
2217
2218 2011-03-10  Emil A Eklund  <eae@chromium.org>
2219
2220         Reviewed by Darin Adler.
2221
2222         Collection cache not reset when moving base node between documents
2223         https://bugs.webkit.org/show_bug.cgi?id=55446
2224
2225         Fix bug where HTMLCollection::resetCollectionInfo does not reset the
2226         cache when the base node is moved to a different document by making sure
2227         that the DOMVersion is updated and that it's unique across documents.
2228
2229         Tests: fast/dom/HTMLFormElement/invalid-form-field.html
2230                fast/dom/HTMLFormElement/move-option-between-documents.html
2231                fast/dom/collection-nameditem-move-between-documents.html
2232
2233         * dom/Document.cpp:
2234         (WebCore::Document::Document):
2235         * dom/Document.h:
2236         (WebCore::Document::incDOMTreeVersion):
2237         (WebCore::Document::domTreeVersion):
2238         * dom/Node.cpp:
2239         (WebCore::Node::setDocumentRecursively):
2240         * html/FormAssociatedElement.cpp:
2241         (WebCore::FormAssociatedElement::resetFormOwner):
2242         * html/HTMLCollection.cpp:
2243         (WebCore::HTMLCollection::resetCollectionInfo):
2244         * xml/XPathResult.h:
2245
2246 2011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2247
2248         Unreviewed build fix.
2249
2250         [EFL] Fix build break when CROSS_PLATFORM_CONTEXT_MENUS is disabled.
2251         https://bugs.webkit.org/show_bug.cgi?id=56005
2252
2253         There are build breaks when CROSS_PLATFORM_CONTEXT_MENUS is disabled.
2254
2255         * platform/efl/ContextMenuEfl.cpp:
2256         (WebCore::ContextMenu::ContextMenu):
2257         * platform/efl/ContextMenuItemEfl.cpp:
2258
2259 2011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
2260
2261         Reviewed by Tony Chang.
2262
2263         startOfBlock and endOfBlock may return a position inside hr
2264         https://bugs.webkit.org/show_bug.cgi?id=56025
2265
2266         Replaced calls to enclosingBlockFlowElement in startOfBlock and endOfBlock by
2267         calls to enclosingBlock. Added EditingBoundaryCrossingRule to the argument lists
2268         of startOfBlock, endOfBlock, and enclosingBlock. Also replaced the last boolean
2269         argument variable of enclosingNodeOfType by EditingBoundaryCrossingRule.
2270
2271         Also replaced calls to enclosingBlockFlowElement in inSameBlock by calls to
2272         enclosingBlock to be consitent with startOfBlock and endOfBlock.
2273
2274         This patch also replaced calls to deprecatedNode in startOfBlock, endOfBlock,
2275         and inSameBlock by calls to containerNode because the enclosing block of a position
2276         should never be before or after the position.
2277
2278         No tests are added because this change only affects WebCore internally.
2279
2280         * editing/DeleteSelectionCommand.cpp:
2281         (WebCore::DeleteSelectionCommand::initializePositionData): Calls enclosingNodeOfType.
2282         Pass CanCrossEditingBoundary instead of false.
2283         * editing/htmlediting.cpp:
2284         (WebCore::unsplittableElementForPosition): Ditto.
2285         (WebCore::enclosingBlock): Takes EditingBoundaryCrossingRule and passes it to
2286         enclosingNodeOfType.
2287         (WebCore::enclosingNodeOfType): Takes EditingBoundaryCrossingRule instead of boolean.
2288         Fixed a bug that it stops walking the tree when it reached the root editable node
2289         even when the editing boundary crossing rule is CanCrossEditingBoundary.
2290         * editing/htmlediting.h: Prototype changes.
2291         * editing/visible_units.cpp:
2292         (WebCore::startOfBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
2293         Also added an early exit when there's no enclosing block.
2294         (WebCore::endOfBlock): Ditto. The early exist in this case prevents crash in
2295         lastPositionInNode.
2296         (WebCore::inSameBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
2297         (WebCore::isStartOfBlock): Calls startOfBlock with CanCrossEditingBoundary because
2298         we don't care where the start of block is when we're comparing against the given position.
2299         (WebCore::isEndOfBlock): Ditto.
2300         * editing/visible_units.h:
2301
2302 2011-03-10  Alexey Proskuryakov  <ap@apple.com>
2303
2304         Reviewed by Dan Bernstein.
2305
2306         Backspace deletes all non-BMP symbols at once, and then some
2307         https://bugs.webkit.org/show_bug.cgi?id=55971
2308         <rdar://problem/8725312>
2309
2310         Test: platform/mac/editing/input/insert-delete-smp-symbol.html
2311
2312         * rendering/RenderText.cpp:
2313         (WebCore::isMark): This matches what Core Foundation does for all characters that I tested.
2314         (WebCore::RenderText::previousOffsetForBackwardDeletion): Changed to use isMark().
2315
2316 2011-03-10  Chris Evans  <cevans@chromium.org>
2317
2318         Reviewed by Adam Barth.
2319
2320         Error in StyleElement::process with large nodesets
2321         https://bugs.webkit.org/show_bug.cgi?id=56150
2322
2323         Test: none due to excessive runtime and CRASH() vs. real crash.
2324
2325         * dom/StyleElement.cpp:
2326         (WebCore::StyleElement::process): Handle large node sets better.
2327
2328 2011-03-10  David Hyatt  <hyatt@apple.com>
2329
2330         Reviewed by Simon Fraser.
2331
2332         https://bugs.webkit.org/show_bug.cgi?id=47151
2333         
2334         Percentage heights should skip anonymous containing blocks when computing the used value.
2335
2336         Added fast/block/basic/percentage-height-inside-anonymous-block.html
2337
2338         * rendering/RenderBox.cpp:
2339         (WebCore::RenderBox::computePercentageLogicalHeight):
2340
2341 2011-03-10  Nat Duca  <nduca@chromium.org>
2342
2343         Reviewed by James Robinson.
2344
2345         [chromium] Make updateAndDrawLayers argumentless.
2346         https://bugs.webkit.org/show_bug.cgi?id=55985
2347
2348         Made the TilePainters and viewport parameters for
2349         LayerRendererChromium member variables instead of arguments on
2350         updateAndDrawLayers. In a future change, this will allows us to
2351         draw the layer tree without the WebView's assistance.
2352
2353         * platform/graphics/chromium/LayerRendererChromium.cpp:
2354         (WebCore::LayerRendererChromium::create):
2355         (WebCore::LayerRendererChromium::LayerRendererChromium):
2356         (WebCore::LayerRendererChromium::verticalScrollbarRect):
2357         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
2358         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
2359         (WebCore::LayerRendererChromium::updateRootLayerContents):
2360         (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
2361         (WebCore::LayerRendererChromium::drawRootLayer):
2362         (WebCore::LayerRendererChromium::setViewport):
2363         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2364         (WebCore::LayerRendererChromium::updateLayers):
2365         (WebCore::LayerRendererChromium::drawLayers):
2366         (WebCore::LayerRendererChromium::setRootLayer):
2367         (WebCore::LayerRendererChromium::getFramebufferPixels):
2368         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2369         * platform/graphics/chromium/LayerRendererChromium.h:
2370         (WebCore::LayerRendererChromium::viewportSize):
2371         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2372         (WebCore::CCHeadsUpDisplay::draw):
2373
2374 2011-01-25  Martin Robinson  <mrobinson@igalia.com>
2375
2376         Reviewed by Xan Lopez.
2377
2378         [GTK] Implement spin buttons for GTK+ 2.x
2379         https://bugs.webkit.org/show_bug.cgi?id=53098
2380
2381         Implement spin buttons for GTK+ 2.x. This allows proper render and functioning
2382         for input type=number. The implementation is based on the one in gtkspinbutton.c
2383         from the GTK+ sources.
2384
2385         * platform/gtk/RenderThemeGtk.h: Added new members and getters.
2386         * platform/gtk/RenderThemeGtk2.cpp:
2387         (WebCore::RenderThemeGtk::platformInit): Initialize spin button widget.
2388         (WebCore::RenderThemeGtk::adjustRepaintRect): We need to draw outside the
2389         spin button area to have proper rendering. There doesn't seem to be any other
2390         clean way of having spin buttons that are the size of the text input frame.
2391         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): Added implementation.
2392         (WebCore::RenderThemeGtk::paintInnerSpinButton): Ditto.
2393         (WebCore::RenderThemeGtk::gtkSpinButton): Added.
2394
2395 2011-03-10  Levi Weintraub  <leviw@chromium.org>
2396
2397         Reviewed by Ryosuke Niwa.
2398
2399         InsertUnorderedList over a non-editable region and multiple lines enters an infinite loop
2400         https://bugs.webkit.org/show_bug.cgi?id=53409
2401
2402         Fixing broken handling of mixed-editability content for InsertListCommand. Previously, if the selection
2403         spanned non-contenteditable regions, it would get stuck endlessly iterating the same region as the algorithm
2404         didn't skip the editable boundary.
2405
2406         Test: editing/execCommand/insert-list-with-noneditable-content.html
2407
2408         * editing/CompositeEditCommand.cpp:
2409         (WebCore::CompositeEditCommand::cleanupAfterDeletion): Changed signature to take the destination
2410         position for the active editing command. Without this, there are cases when the destination happens
2411         to be a placeholder, and we remove it.
2412         (WebCore::CompositeEditCommand::moveParagraphs):
2413         * editing/CompositeEditCommand.h:
2414         * editing/InsertListCommand.cpp:
2415         (WebCore::InsertListCommand::doApply): Added logic to the paragraph iteration loop to handle pockets of
2416         non-editable content in an editable context. Previously, this could cause an infinite loop.
2417         * editing/visible_units.cpp:
2418         (WebCore::startOfParagraph): Added a mode of operation where we'll jump across non-editable
2419         content in the same paragraph to reach the actual editable paragraph start.
2420         (WebCore::endOfParagraph): Ditto.
2421         (WebCore::startOfNextParagraph): Now uses the aforementioned non-editable content skipping mode of
2422         endOfParagraph.
2423
2424 2011-03-10  Berend-Jan Wever  <skylined@chromium.org>
2425
2426         Reviewed by Darin Adler.
2427
2428         Calling focus() on an area element not in a document should not cause a NULL ptr crash
2429         https://bugs.webkit.org/show_bug.cgi?id=54877
2430
2431         Test: fast/dom/HTMLAreaElement/area-islink-focus-null-ptr-crash.html
2432
2433         * dom/Element.cpp:
2434         (WebCore::Element::focus): Check element is in the document before allowing focus
2435         * html/HTMLAreaElement.cpp: 
2436         (WebCore::HTMLAreaElement::imageElement): Check element has a parent before checking if its parent is a map
2437
2438 2011-03-10  Xiyuan Xia  <xiyuan@chromium.org>
2439
2440         Reviewed by Tony Chang.
2441
2442         [Chromium] Fix default single selection select's popup background on chromium/linux
2443         https://bugs.webkit.org/show_bug.cgi?id=56023
2444
2445         Test: fast/html/select-dropdown-consistent-background-color.html
2446
2447         * css/themeChromiumLinux.css:
2448
2449 2011-03-10  Kris Jordan  <krisjordan@gmail.com>
2450
2451         Reviewed by Alexey Proskuryakov.
2452
2453         Improve default Accept header to give preference to HTML over XML.
2454         https://bugs.webkit.org/show_bug.cgi?id=27267
2455
2456         * loader/FrameLoader.cpp:Changed default accept header to match
2457         FireFox' as per bug 27267.
2458
2459 2011-03-10  Martin Robinson  <mrobinson@igalia.com>
2460
2461         Reviewed by Xan Lopez.
2462
2463         [GTK] [Webkit2] There are no scrollbars visible in the MiniBrowser
2464         https://bugs.webkit.org/show_bug.cgi?id=56125
2465
2466         No new tests. This functionality will be tested once we have TestRunner
2467         implementation for WebKit2 with pixel dumping support.
2468
2469         * GNUmakefile.am: Add a new define with tracks whether or not we are using
2470         our specialized GTK+ ScrollView.
2471         * platform/ScrollView.cpp: Only use the GTK+-specific ScrollView if we are compiling
2472         WebKit1.
2473         (WebCore::ScrollView::wheelEvent):
2474         * platform/gtk/ScrollViewGtk.cpp: Ditto.
2475
2476 2011-03-10  Kent Tamura  <tkent@chromium.org>
2477
2478         Reviewed by Dimitri Glazkov.
2479
2480         Assertion fails by validating a form twice very quickly
2481         https://bugs.webkit.org/show_bug.cgi?id=56069
2482
2483         If the interactive validation is invoked when a form control is in
2484         needsLayout() state, an assertion in isFocusable() fails. To avoid it,
2485         Add a call to updateLayoutIgnorePendingStylesheets() before isFocusable().
2486
2487         Test: fast/forms/interactive-validation-assertion-by-validate-twice.html
2488
2489         * html/HTMLFormElement.cpp:
2490         (WebCore::HTMLFormElement::validateInteractively):
2491           Calls updateLayoutIgnorePendingStylesheets().
2492
2493 2011-03-10  David Hyatt  <hyatt@apple.com>
2494
2495         Reviewed by Beth Dakin.
2496
2497         https://bugs.webkit.org/show_bug.cgi?id=47143
2498         
2499         Static distance computation is wrong when an ancestor is also positioned.  We need to go up the container()
2500         chain (after initially starting with the parent()) when doing this computation, so that we properly skip
2501         intermediate boxes between two positioned blocks.
2502
2503         Added fast/block/positioning/static-distance-with-positioned-ancestor.html.
2504
2505         * rendering/RenderBox.cpp:
2506         (WebCore::computeInlineStaticDistance):
2507         (WebCore::computeBlockStaticDistance):
2508
2509 2011-03-10  Adrienne Walker  <enne@google.com>
2510
2511         Reviewed by Kenneth Russell.
2512
2513         [chromium] Make tiled compositor data structure more efficient.
2514         https://bugs.webkit.org/show_bug.cgi?id=54133
2515
2516         Previously, the compositor had a sparse 2D array of tiles for the
2517         whole page, most of which were null.  The tiles were implicitly
2518         located based on their position in the array. This was inefficient
2519         when the page grew (e.g. infinite scrolling) and caused some bugs
2520         (e.g. width * height > MAX_INT).  This change modifies tiles to have
2521         explicit positions so they can be stored in a hash map.
2522
2523         Tests: LayoutTests/compositing/
2524
2525         * platform/graphics/chromium/LayerTilerChromium.cpp:
2526         (WebCore::LayerTilerChromium::reset):
2527         (WebCore::LayerTilerChromium::createTile):
2528         (WebCore::LayerTilerChromium::invalidateTiles):
2529         (WebCore::LayerTilerChromium::contentRectToTileIndices):
2530         (WebCore::LayerTilerChromium::tileAt):
2531         (WebCore::LayerTilerChromium::tileContentRect):
2532         (WebCore::LayerTilerChromium::tileLayerRect):
2533         (WebCore::LayerTilerChromium::invalidateRect):
2534         (WebCore::LayerTilerChromium::invalidateEntireLayer):
2535         (WebCore::LayerTilerChromium::update):
2536         (WebCore::LayerTilerChromium::updateFromPixels):
2537         (WebCore::LayerTilerChromium::draw):
2538         (WebCore::LayerTilerChromium::growLayerToContain):
2539         * platform/graphics/chromium/LayerTilerChromium.h:
2540         (WebCore::LayerTilerChromium::Tile::Tile):
2541         (WebCore::LayerTilerChromium::Tile::i):
2542         (WebCore::LayerTilerChromium::Tile::j):
2543         (WebCore::LayerTilerChromium::Tile::moveTo):
2544         (WebCore::LayerTilerChromium::TileMapKeyTraits::emptyValue):
2545         (WebCore::LayerTilerChromium::TileMapKeyTraits::constructDeletedValue):
2546         (WebCore::LayerTilerChromium::TileMapKeyTraits::isDeletedValue):
2547
2548 2011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
2549
2550         Unreviewed build fix for r80752; Negated the boolean logic.
2551
2552         * editing/VisiblePosition.cpp:
2553         (WebCore::VisiblePosition::next):
2554         (WebCore::VisiblePosition::previous):
2555
2556 2011-03-10  David Hyatt  <hyatt@apple.com>
2557
2558         Reviewed by Adam Roben.
2559
2560         Make the same change to xheight on Windows for CG.
2561
2562         * platform/graphics/win/SimpleFontDataCGWin.cpp:
2563         (WebCore::SimpleFontData::platformInit):
2564
2565 2011-03-10  David Hyatt  <hyatt@apple.com>
2566
2567         Reviewed by Simon Fraser.
2568
2569         https://bugs.webkit.org/show_bug.cgi?id=47147
2570         
2571         Fix for repaint issues when the root element is a table and needs to paint a background that
2572         covers the entire canvas.  Remove paintRootBoxDecorations and replace with paintRootBoxFillLayers,
2573         so that it can be called only for fill layer painting.  Make tables and normal boxes both
2574         call this new method.  Fix the dirty check at the start of RenderTable paint to not happen if
2575         the table is the root of the document (this same check exists in RenderBlock painting already).
2576
2577         * rendering/RenderBox.cpp:
2578         (WebCore::RenderBox::paintRootBoxFillLayers):
2579         (WebCore::RenderBox::paintBoxDecorations):
2580         (WebCore::RenderBox::paintBoxDecorationsWithSize):
2581         * rendering/RenderBox.h:
2582         * rendering/RenderLayerCompositor.cpp:
2583         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2584         * rendering/RenderTable.cpp:
2585         (WebCore::RenderTable::paint):
2586         (WebCore::RenderTable::paintBoxDecorations):
2587
2588 2011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2589
2590         Unreviewed, rolling out r80749.
2591         http://trac.webkit.org/changeset/80749
2592         https://bugs.webkit.org/show_bug.cgi?id=56143
2593
2594         "Caused at least 3 media tests to be flaky" (Requested by
2595         tonyg-cr on #webkit).
2596
2597         * html/parser/HTMLDocumentParser.cpp:
2598         (WebCore::HTMLDocumentParser::canTakeNextToken):
2599         (WebCore::HTMLDocumentParser::pumpTokenizer):
2600         * html/parser/HTMLParserScheduler.cpp:
2601         * html/parser/HTMLParserScheduler.h:
2602         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
2603         * page/FrameView.h:
2604
2605 2011-03-10  Sam Weinig  <sam@webkit.org>
2606
2607         Reviewed by David Hyatt.
2608
2609         Regression: Content not drawn when scrolling horizontally in an RTL page
2610         https://bugs.webkit.org/show_bug.cgi?id=55077
2611
2612         * platform/ScrollView.cpp:
2613         (WebCore::ScrollView::overhangAmount):
2614         (WebCore::ScrollView::calculateOverhangAreasForPainting):
2615         Take the scroll origin into account when calculating overhang.
2616
2617         * platform/ScrollView.h:
2618         * rendering/RenderLayer.h:
2619         * platform/ScrollableArea.h:
2620         (WebCore::ScrollableArea::scrollOrigin):
2621         Move identical scroll origin member from ScrollView and RenderLayer
2622         to shared base ScrollableArea. This is also needed so that the animator
2623         can access it.
2624
2625         * platform/mac/ScrollAnimatorMac.mm:
2626         (WebCore::ScrollAnimatorMac::pinnedInDirection):
2627         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
2628         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
2629         Account for a scroll origin when doing calculating scroll offsets.
2630
2631 2011-03-09  Matthew Delaney  <mdelaney@apple.com>
2632
2633         Reviewed by Simon Fraser.
2634
2635         Plumb through settings for accelerated drawing for canvas
2636         https://bugs.webkit.org/show_bug.cgi?id=56039
2637
2638         No new tests. Doesn't affect behavior, just adding a switch to toggle canvas backends.
2639
2640         * WebCore.exp.in:
2641         * html/HTMLCanvasElement.cpp:
2642         * html/canvas/CanvasRenderingContext2D.cpp:
2643         * page/Settings.cpp:
2644         * page/Settings.h:
2645
2646 2011-03-10  David Hyatt  <hyatt@apple.com>
2647
2648         Reviewed by Simon Fraser.
2649
2650         https://bugs.webkit.org/show_bug.cgi?id=47157
2651         
2652         CSS2.1 test suite failures because the ex unit is broken with the Ahem font.
2653         
2654         Remove the code that tries to also include the maxX of the glyph bounds for the
2655         'x' glyph, since it just causes the x-height to be way too large in cases where the 'x' glyph extends
2656         below the baseline.
2657
2658         Remove the Apple Symbol hack for ex units, since the person who added that was confused by another
2659         issue, namely that CGFontGetXHeight wasn't being properly multiplied by the pointSize.  That's why
2660         the value was too small.  Patched the code to just multiply by pointSize and took out the hack.
2661         
2662         Fix causes many tests in the css2.1 directory to progress, so no new tests required.  Many other
2663         layout tests change because the xHeight for Lucida Grande gets smaller by a little bit, and radio
2664         buttons use ex horizontal margins by default.
2665
2666         * platform/graphics/mac/SimpleFontDataMac.mm:
2667         (WebCore::SimpleFontData::platformInit):
2668
2669 2011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
2670
2671         Reviewed by Tony Chang.
2672
2673         VisiblePosition's next and previous should take an enum instead of a boolean
2674         https://bugs.webkit.org/show_bug.cgi?id=56135
2675
2676         Changed the argument type of VisiblePosition::next and VisiblePosition::previous
2677         from bool to EditingBoundaryCrossingRule. Also got rid of StayInEditableContent enum
2678         in VisibleSelection and replaced it by EditingBoundaryCrossingRule because the enum
2679         was only used in VisiblePosition::isAll and subsequently in SelectionController::isAll
2680         to call VisiblePosition::next and VisiblePosition::previous.
2681
2682         * WebCore.exp.in:
2683         * dom/Position.cpp:
2684         (WebCore::Position::trailingWhitespacePosition):
2685         * editing/ApplyBlockElementCommand.cpp:
2686         (WebCore::ApplyBlockElementCommand::doApply):
2687         * editing/CompositeEditCommand.cpp:
2688         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2689         * editing/InsertListCommand.cpp:
2690         (WebCore::InsertListCommand::doApply):
2691         (WebCore::InsertListCommand::listifyParagraph):
2692         * editing/ReplaceSelectionCommand.cpp:
2693         (WebCore::ReplaceSelectionCommand::shouldMergeStart):
2694         (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
2695         (WebCore::ReplaceSelectionCommand::doApply):
2696         * editing/SelectionController.cpp:
2697         (WebCore::SelectionController::modifyExtendingRight):
2698         (WebCore::SelectionController::modifyExtendingForward):
2699         (WebCore::SelectionController::modifyMovingForward):
2700         (WebCore::SelectionController::modifyExtendingLeft):
2701         (WebCore::SelectionController::modifyExtendingBackward):
2702         (WebCore::SelectionController::modifyMovingBackward):
2703         * editing/SelectionController.h:
2704         (WebCore::SelectionController::isAll):
2705         * editing/TypingCommand.cpp:
2706         (WebCore::TypingCommand::deleteKeyPressed):
2707         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2708         * editing/VisiblePosition.cpp:
2709         (WebCore::VisiblePosition::next):
2710         (WebCore::VisiblePosition::previous):
2711         * editing/VisiblePosition.h:
2712         * editing/VisibleSelection.cpp:
2713         (WebCore::VisibleSelection::isAll):
2714         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
2715         * editing/VisibleSelection.h:
2716         * editing/htmlediting.cpp:
2717         (WebCore::selectionForParagraphIteration):
2718         * editing/visible_units.cpp:
2719         (WebCore::startOfNextParagraph):
2720
2721 2011-03-10  Mihai Parparita  <mihaip@chromium.org>
2722
2723         Reviewed by Tony Gentilcore.
2724
2725         Remove CRASH() calls added to track down bug 53045
2726         https://bugs.webkit.org/show_bug.cgi?id=56137
2727
2728         Remove CRASH() calls added by r76575 and re-label ones added by r80155
2729         and r80269 as being associated with bug 56124 (which may still be
2730         happening).
2731
2732         * css/CSSImageValue.cpp:
2733         (WebCore::CSSImageValue::cachedImage):
2734         * css/CSSSelector.h:
2735         * css/CSSSelectorList.cpp:
2736         (WebCore::CSSSelectorList::deleteSelectors):
2737         * loader/cache/CachedResource.cpp:
2738         (WebCore::CachedResource::CachedResource):
2739         (WebCore::CachedResource::~CachedResource):
2740         * loader/cache/CachedResource.h:
2741
2742 2011-03-10  Tony Gentilcore  <tonyg@chromium.org>
2743
2744         Reviewed by Eric Seidel.
2745
2746         Let the parser yield for layout before running scripts
2747         https://bugs.webkit.org/show_bug.cgi?id=54355
2748
2749         Prior to this patch, the parser would yield to perform a layout/paint before running a
2750         script only if the script or a stylesheet blocking the script is not loaded yet. Since we
2751         don't preload scan into the body while parsing the head, typically we'll block on a script
2752         early in the body that causes us to yield to do the first paint within a reasonable time.
2753
2754         However, I'm planning to change the PreloadScanner to scan into the body from the head.
2755         That significantly improves overall load time, but would hurt first paint time because
2756         fewer scripts would be blocked during parsing and thus wouldn't yield.
2757
2758         This change causes us to yield before running scripts if we haven't painted yet (regardless
2759         of whether or not the script is loaded). In addition to allowing the above mentioned
2760         PreloadScanner change to be implemented without regressing first paint time, this also
2761         improves first paint time by itself.
2762
2763         I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
2764         bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
2765         6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
2766         signifcant change in page load time.
2767
2768         Within the pages tested, 33 had no statistically significant change in time to first paint,
2769         12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
2770         are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
2771
2772         * html/parser/HTMLDocumentParser.cpp:
2773         (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
2774         (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
2775         means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
2776         the right thing whether we are just before a token or waiting for a script. Now that we may
2777         yield before a token or before a script, this may be called while paused.
2778         * html/parser/HTMLParserScheduler.cpp:
2779         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
2780         * page/FrameView.h:
2781         (WebCore::FrameView::hasEverPainted): Added.
2782
2783 2011-03-10  Alejandro G. Castro  <alex@igalia.com>
2784
2785         Reviewed by Martin Robinson.
2786
2787         Some Gtk code uses defined(USE_FREETYPE) instead of just USE(FREETYPE)
2788         https://bugs.webkit.org/show_bug.cgi?id=55996
2789
2790         Use the macre USE instead of defined fro WTF_USE_FREETYPE and
2791         WTF_USE_PANGO.
2792
2793         * GNUmakefile.am:
2794         * platform/graphics/cairo/OwnPtrCairo.cpp:
2795         * platform/graphics/cairo/OwnPtrCairo.h:
2796         * platform/graphics/cairo/RefPtrCairo.cpp:
2797         * platform/graphics/cairo/RefPtrCairo.h:
2798         * platform/graphics/gtk/FontGtk.cpp:
2799         (WebCore::setPangoAttributes):
2800         (WebCore::Font::drawComplexText):
2801         (WebCore::Font::floatWidthForComplexText):
2802         (WebCore::Font::offsetForPositionForComplexText):
2803         (WebCore::Font::selectionRectForComplexText):
2804
2805 2011-03-10  Geoffrey Garen  <ggaren@apple.com>
2806
2807         Reviewed by Oliver Hunt.
2808
2809         Rolled back in 80277 and 80280 with event handler layout test failures fixed.
2810         https://bugs.webkit.org/show_bug.cgi?id=55653
2811
2812         The failures were caused by a last minute typo: assigning to currentEvent
2813         instead of m_currentEvent.
2814
2815         * WebCore.xcodeproj/project.pbxproj:
2816         * bindings/js/JSDOMGlobalObject.cpp:
2817         * bindings/js/JSDOMGlobalObject.h:
2818         * bindings/js/JSDOMWindowBase.cpp:
2819         * bindings/js/JSDOMWindowBase.h:
2820         * bindings/js/JSDOMWindowCustom.h:
2821         * bindings/js/JSWorkerContextBase.cpp:
2822
2823 2011-03-10  David Hyatt  <hyatt@apple.com>
2824
2825         Reviewed by Dan Bernstein.
2826
2827         https://bugs.webkit.org/show_bug.cgi?id=56129, vertical text broken on Lion and Leopard.
2828
2829         Add Snow Leopard ifdefs for the scaling by point size and then the division by unitsPerEm to the
2830         translationsTransform applied to the results from CTFontGetVerticalTranslationsForGlyphs, since
2831         this is done already on Lion and Leopard.
2832
2833         * platform/graphics/mac/FontMac.mm:
2834         (WebCore::showGlyphsWithAdvances):
2835
2836 2011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2837
2838         Unreviewed, rolling out r80701.
2839         http://trac.webkit.org/changeset/80701
2840         https://bugs.webkit.org/show_bug.cgi?id=56126
2841
2842         fast/dom/Geolocation/window-close-crash.html fails on Snow
2843         Leopard release builds (Requested by mihaip on #webkit).
2844
2845         * page/DOMWindow.cpp:
2846         * page/DOMWindow.h:
2847         * page/Frame.cpp:
2848         (WebCore::Frame::pageDestroyed):
2849         (WebCore::Frame::transferChildFrameToNewDocument):
2850         * page/Geolocation.cpp:
2851         (WebCore::Geolocation::~Geolocation):
2852         (WebCore::Geolocation::disconnectFrame):
2853         (WebCore::Geolocation::lastPosition):
2854         (WebCore::Geolocation::requestPermission):
2855         (WebCore::Geolocation::startUpdating):
2856         (WebCore::Geolocation::stopUpdating):
2857         * page/Geolocation.h:
2858         * page/GeolocationController.cpp:
2859         (WebCore::GeolocationController::~GeolocationController):
2860         * page/Navigator.cpp:
2861         * page/Navigator.h:
2862         * platform/mock/GeolocationClientMock.cpp:
2863         * platform/mock/GeolocationClientMock.h:
2864
2865 2011-03-10  Pratik Solanki  <psolanki@apple.com>
2866
2867         Reviewed by Alexey Proskuryakov.
2868
2869         ASSERT_NOT_REACHED triggered in WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority
2870         https://bugs.webkit.org/show_bug.cgi?id=56075
2871
2872         Map priority value 3, which means no priority, to ResourceLoadPriorityUnresolved.
2873
2874         * platform/network/cf/ResourceRequestCFNet.h:
2875         (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority):
2876         (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority):
2877
2878 2011-03-10  Andrey Adaikin  <aandrey@google.com>
2879
2880         Reviewed by Pavel Feldman.
2881
2882         Web Inspector: [Text editor] Substitute live-edit mode activation by double-click
2883         https://bugs.webkit.org/show_bug.cgi?id=56084
2884
2885         Also fixed a regression: console was not opening/closing on ESC key press because tabIndex="0" attribute was preserved for a readOnly viewer.
2886
2887         * inspector/front-end/SourceFrame.js:
2888         (WebInspector.SourceFrame):
2889         (WebInspector.SourceFrame.prototype._startEditing):
2890         (WebInspector.SourceFrame.prototype._registerShortcuts):
2891         (WebInspector.SourceFrame.prototype._handleKeyDown):
2892         (WebInspector.SourceFrame.prototype._handleSave):
2893         (WebInspector.SourceFrame.prototype._handleRevertEditing):
2894         (WebInspector.SourceFrame.prototype._doubleClick):
2895         * inspector/front-end/TextEditorModel.js:
2896         (WebInspector.TextEditorModel.prototype.get text):
2897         * inspector/front-end/TextViewer.js:
2898         (WebInspector.TextViewer.prototype.get readOnly):
2899         (WebInspector.TextEditorMainPanel):
2900         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
2901         (WebInspector.TextEditorMainPanel.prototype.get readOnly):
2902
2903 2011-03-10  Greg Simon  <gregsimon@chromium.org>
2904
2905         Reviewed by Pavel Feldman.
2906
2907         Web Inspector: Need new graphic icon for garbage collect button.
2908         https://bugs.webkit.org/show_bug.cgi?id=55794
2909
2910         No new tests: gc tests are flaky due to non-determinisic
2911         behavior of collection APIs (more notes in bug)
2912
2913         * English.lproj/localizedStrings.js:
2914         * WebCore.gypi:
2915         * bindings/js/ScriptProfiler.cpp:
2916         (WebCore::ScriptProfiler::collectGarbage):
2917         * bindings/js/ScriptProfiler.h:
2918         * bindings/v8/ScriptProfiler.cpp:
2919         (WebCore::ScriptProfiler::collectGarbage):
2920         * bindings/v8/ScriptProfiler.h:
2921         * inspector/Inspector.idl:
2922         * inspector/InspectorProfilerAgent.cpp:
2923         (WebCore::InspectorProfilerAgent::collectGarbage):
2924         * inspector/InspectorProfilerAgent.h:
2925         * inspector/front-end/Images/garbageCollectButtonGlyph.png: Added.
2926         * inspector/front-end/TimelinePanel.js:
2927         (WebInspector.TimelinePanel.prototype.get statusBarItems):
2928         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
2929         (WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):
2930         * inspector/front-end/inspector.css:
2931         (.garbage-collect-status-bar-item .glyph):
2932
2933 2011-03-10  Andrey Kosyakov  <caseq@chromium.org>
2934
2935         Web Inspector: better names for HAR export commands
2936         https://bugs.webkit.org/show_bug.cgi?id=56097
2937
2938         Rename Export to HAR to Copy entry/network log as HAR
2939         Expose Copy as HAR unconditionally, remove related settings entry.
2940
2941         * English.lproj/localizedStrings.js:
2942         * inspector/front-end/NetworkPanel.js:
2943         (WebInspector.NetworkPanel.prototype._contextMenu):
2944         * inspector/front-end/Settings.js:
2945
2946 2011-03-10  Qi Zhang  <qi.2.zhang@nokia.com>
2947
2948         Reviewed by Laszlo Gombos.
2949
2950         [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
2951         https://bugs.webkit.org/show_bug.cgi?id=48636
2952
2953         Fix a typo in features.pri that turns on this feature on mobile
2954         devices by default.
2955
2956         * features.pri:
2957
2958 2011-03-10  Alexander Pavlov  <apavlov@chromium.org>
2959
2960         Reviewed by Pavel Feldman.
2961
2962         Web Inspector: Invalid expected parameter list in CSSAgent.setSelectorText() callback (CSSStyleModel.js)
2963         https://bugs.webkit.org/show_bug.cgi?id=56092
2964
2965         * inspector/front-end/CSSStyleModel.js:
2966         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
2967
2968 2011-03-10  Pavel Feldman  <pfeldman@chromium.org>
2969
2970         Not reviewed: rolling out r80478 and its follow ups for breaking
2971         inspector and engadget.com.
2972         https://bugs.webkit.org/show_bug.cgi?id=49401
2973
2974         * dom/Document.cpp:
2975         (WebCore::Document::Document):
2976         (WebCore::performTask):
2977         (WebCore::Document::postTask):
2978         * dom/Document.h:
2979         * loader/FrameLoader.cpp:
2980         (WebCore::FrameLoader::setDefersLoading):
2981         * manual-tests/database-callback-deferred.html: Removed.
2982         * page/PageGroupLoadDeferrer.cpp:
2983         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2984         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2985
2986 2011-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2987
2988         Reviewed by Kenneth Rohde Christiansen.
2989
2990         Tiled backing store's delegated scroll request uses incorrect convention
2991         https://bugs.webkit.org/show_bug.cgi?id=56011
2992
2993         Use a point instead of delta, when relaying the scroll request from
2994         ScrollView::setScrollPosition.
2995
2996         * loader/EmptyClients.h:
2997         (WebCore::EmptyChromeClient::delegatedScrollRequested):
2998         * page/Chrome.cpp:
2999         (WebCore::Chrome::delegatedScrollRequested):
3000         * page/Chrome.h:
3001         * page/ChromeClient.h:
3002         * platform/HostWindow.h:
3003         * platform/ScrollView.cpp:
3004         (WebCore::ScrollView::setScrollPosition):
3005
3006 2011-03-10  Pavel Feldman  <pfeldman@chromium.org>
3007
3008         Reviewed by Yury Semikhatsky.
3009
3010         Web Inspector: brush up DOM agent API.
3011         https://bugs.webkit.org/show_bug.cgi?id=56093
3012
3013         * inspector/Inspector.idl:
3014         * inspector/InspectorDOMAgent.cpp:
3015         (WebCore::InspectorDOMAgent::childNodes):
3016         (WebCore::InspectorDOMAgent::setNodeName):
3017         (WebCore::InspectorDOMAgent::outerHTML):
3018         (WebCore::InspectorDOMAgent::setNodeValue):
3019         * inspector/InspectorDOMAgent.h:
3020         * inspector/front-end/DOMAgent.js:
3021         (WebInspector.DOMNode):
3022         (WebInspector.DOMNode.prototype.hasAttributes):
3023         (WebInspector.DOMNode.prototype.nodeType):
3024         (WebInspector.DOMNode.prototype.nodeName):
3025         (WebInspector.DOMNode.prototype.setNodeName):
3026         (WebInspector.DOMNode.prototype.localName):
3027         (WebInspector.DOMNode.prototype.nodeValue):
3028         (WebInspector.DOMNode.prototype.setNodeValue):
3029         (WebInspector.DOMNode.prototype.setAttribute):
3030         (WebInspector.DOMNode.prototype.attributes):
3031         (WebInspector.DOMNode.prototype.removeAttribute):
3032         (WebInspector.DOMNode.prototype.childNodes.mycallback):
3033         (WebInspector.DOMNode.prototype.childNodes):
3034         (WebInspector.DOMNode.prototype.outerHTML):
3035         (WebInspector.DOMNode.prototype.setOuterHTML):
3036         (WebInspector.DOMNode.prototype.removeNode):
3037         (WebInspector.DOMNode.prototype.copyNode):
3038         (WebInspector.DOMNode.prototype.path):
3039         (WebInspector.DOMNode.prototype._setAttributesPayload):
3040         (WebInspector.DOMNode.prototype._addAttribute):
3041         (WebInspector.DOMAgent.prototype._characterDataModified):
3042         * inspector/front-end/ElementsPanel.js:
3043         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
3044         (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
3045         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
3046         * inspector/front-end/ElementsTreeOutline.js:
3047         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
3048         (WebInspector.ElementsTreeElement):
3049         (WebInspector.ElementsTreeElement.prototype.updateChildren):
3050         (WebInspector.ElementsTreeElement.prototype._updateChildren):
3051         (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
3052         (WebInspector.ElementsTreeElement.prototype._startEditing):
3053         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
3054         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
3055         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
3056         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
3057         (WebInspector.ElementsTreeElement.prototype._attributeHTML):
3058         ():
3059         * inspector/front-end/EventListenersSidebarPane.js:
3060         ():
3061         * inspector/front-end/MetricsSidebarPane.js:
3062         * inspector/front-end/StylesSidebarPane.js:
3063         * inspector/front-end/utilities.js:
3064
3065 2011-03-09  Alexander Pavlov  <apavlov@chromium.org>
3066
3067         Reviewed by Pavel Feldman.
3068
3069         Web Inspector: [STYLES] Editing a property value adds a word for any property value that uses a paren
3070         https://bugs.webkit.org/show_bug.cgi?id=56002
3071
3072         * inspector/front-end/StylesSidebarPane.js: Introduce an additional check.
3073
3074 2011-03-09  Pavel Podivilov  <podivilov@chromium.org>
3075
3076         Reviewed by Pavel Feldman.
3077
3078         Web Inspector: use DebuggerPresentation instead of DebuggerModel in source frame delegate.
3079         https://bugs.webkit.org/show_bug.cgi?id=56034
3080
3081         * inspector/front-end/DebuggerPresentationModel.js:
3082         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
3083         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
3084         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
3085         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
3086         (WebInspector.DebuggerPresentationModel.prototype._sourceLocationToActualLocation):
3087         * inspector/front-end/ScriptsPanel.js:
3088         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
3089         (WebInspector.SourceFrameDelegateForScriptsPanel):
3090         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
3091         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
3092         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
3093         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
3094         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
3095         * inspector/front-end/SourceFrame.js:
3096         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
3097         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
3098         (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled):
3099         (WebInspector.SourceFrame.prototype._contextMenu):
3100         (WebInspector.SourceFrame.prototype._mouseDown):
3101         (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
3102         (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
3103
3104 2011-03-09  Alexander Pavlov  <apavlov@chromium.org>
3105
3106         Reviewed by Pavel Feldman.
3107
3108         Web Inspector: elements dom tree - word wrap toggle
3109         https://bugs.webkit.org/show_bug.cgi?id=44311
3110
3111         A "Word Wrap" option is now shown in a context menu for the entire DOM tree content area
3112         and persisted into application settings.
3113
3114         * English.lproj/localizedStrings.js:
3115         * inspector/front-end/ElementsPanel.js:
3116         (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
3117         (WebInspector.ElementsPanel.prototype._contextMenuEventFired.toggleWordWrap):
3118         * inspector/front-end/ElementsTreeOutline.js:
3119         (WebInspector.ElementsTreeOutline):
3120         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
3121         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
3122         (WebInspector.ElementsTreeElement.prototype.onreveal):
3123         * inspector/front-end/Settings.js:
3124         (WebInspector.Settings):
3125         * inspector/front-end/inspector.css:
3126         (#elements-content.nowrap):
3127         (#elements-content > ol):
3128
3129 2011-03-09  Pavel Podivilov  <podivilov@chromium.org>
3130
3131         Reviewed by Pavel Feldman.
3132
3133         Web Inspector: re-implement breakpoints sidebar pane based on debugger presentation model.
3134         https://bugs.webkit.org/show_bug.cgi?id=55823
3135
3136         * inspector/front-end/BreakpointsSidebarPane.js:
3137         (WebInspector.JavaScriptBreakpointsSidebarPane):
3138         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didLoadSnippet):
3139         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
3140         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.removeBreakpoint):
3141         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint):
3142         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
3143         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId):
3144         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
3145         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
3146         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
3147         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.reset):
3148         * inspector/front-end/DebuggerPresentationModel.js:
3149         (WebInspector.DebuggerPresentationModel):
3150         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
3151         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
3152         (WebInspector.DebuggerPresentationModel.prototype._revealHiddenBreakpoints):
3153         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
3154         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
3155         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
3156         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
3157         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
3158         (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
3159         (WebInspector.DebuggerPresentationModel.prototype.reset):
3160         * inspector/front-end/ScriptsPanel.js:
3161         (WebInspector.ScriptsPanel):
3162         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
3163         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
3164         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3165         (WebInspector.ScriptsPanel.prototype.reset):
3166         (WebInspector.ScriptsPanel.prototype._clearInterface):
3167
3168 2011-03-10  Andrey Adaikin  <aandrey@google.com>
3169
3170         Reviewed by Pavel Feldman.
3171
3172         Web Inspector: Highlighter refactoring
3173         https://bugs.webkit.org/show_bug.cgi?id=56015
3174
3175         * inspector/front-end/TextEditorHighlighter.js:
3176         (WebInspector.TextEditorHighlighter):
3177         (WebInspector.TextEditorHighlighter.prototype.set mimeType):
3178         (WebInspector.TextEditorHighlighter.prototype.highlight):
3179         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
3180         (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
3181         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
3182         (WebInspector.TextEditorHighlighter.prototype._selectHighlightState):
3183         (WebInspector.TextEditorHighlighter.prototype._clearHighlightState):
3184         * inspector/front-end/TextViewer.js:
3185         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
3186         (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
3187
3188 2011-03-05  Pavel Podivilov  <podivilov@chromium.org>
3189
3190         Reviewed by Pavel Feldman.
3191
3192         Web Inspector: move breakpoint column adjustment to debugger model.
3193         https://bugs.webkit.org/show_bug.cgi?id=55821
3194
3195         Test: inspector/debugger/debug-inlined-scripts.html
3196
3197         * inspector/front-end/DebuggerModel.js:
3198         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
3199         (WebInspector.DebuggerModel.prototype.setBreakpoint):
3200         * inspector/front-end/SourceFrameContent.js:
3201         (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToActualLocation):
3202
3203 2011-01-21  John Knottenbelt  <jknotten@chromium.org>
3204
3205         Reviewed by Dmitry Titov.
3206
3207         Detach Geolocation from Frame when Page destroyed.
3208         https://bugs.webkit.org/show_bug.cgi?id=52877
3209
3210         On Page destruction, any outstanding Geolocation permission
3211         requests should be cancelled, because the Geolocation can only
3212         access the client indirectly via m_frame->page().
3213
3214         Page destruction is signalled by a call to the
3215         Frame::pageDestroyed() method. This explictly calls
3216         DOMWindow::resetGeolocation which ultimately calls Geolocation::reset.
3217
3218         Geolocation::reset() detaches from the GeolocationController,
3219         cancels requests, watches and single shots, and sets the
3220         permission state back to Unknown.
3221
3222         Frame::pageDestroyed() is also called by FrameLoader even though
3223         the page is not destroyed. We should still cancel permission
3224         requests, because the GeolocationClient will become inaccessible
3225         to the Geolocation object after this call.
3226
3227         Frame::transferChildFrameToNewDocument also indirectly calls
3228         Geolocation::reset when the frame is reparented between
3229         pages. Ideally we would like the Geolocation's activities to
3230         continue after reparenting, see bug
3231         https://bugs.webkit.org/show_bug.cgi?id=55577
3232
3233         Since GeolocationController is owned by Page, and all Geolocation
3234         objects will now unsubscribe from the GeolocationController on
3235         pageDetached(), we no longer need to call stopUpdating() from the
3236         GeolocationController's destructor. Instead we can simply assert
3237         that there should be no no observers. See related bug
3238         https://bugs.webkit.org/show_bug.cgi?id=52216 .
3239
3240         Introduced new method 'numberOfPendingPermissionRequests' on
3241         GeolocationClientMock to count the number of outstanding pending
3242         permission requests. This provides a reusable implementation for
3243         client-based implementations of the LayoutTestController's
3244         numberOfPendingGeolocationPermissionRequests method.
3245
3246         Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html
3247
3248         * page/DOMWindow.cpp:
3249         (WebCore::DOMWindow::resetGeolocation):
3250         * page/DOMWindow.h:
3251         * page/Frame.cpp:
3252         (WebCore::Frame::pageDestroyed):
3253         (WebCore::Frame::transferChildFrameToNewDocument):
3254         * page/Geolocation.cpp:
3255         (WebCore::Geolocation::~Geolocation):
3256         (WebCore::Geolocation::page):
3257         (WebCore::Geolocation::reset):
3258         (WebCore::Geolocation::disconnectFrame):
3259         (WebCore::Geolocation::lastPosition):
3260         (WebCore::Geolocation::requestPermission):
3261         (WebCore::Geolocation::startUpdating):
3262         (WebCore::Geolocation::stopUpdating):
3263         * page/Geolocation.h:
3264         * page/GeolocationController.cpp:
3265         (WebCore::GeolocationController::~GeolocationController):
3266         * page/Navigator.cpp:
3267         (WebCore::Navigator::resetGeolocation):
3268         * page/Navigator.h:
3269         * platform/mock/GeolocationClientMock.cpp:
3270         (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
3271         * platform/mock/GeolocationClientMock.h:
3272
3273 2011-03-10  Ojan Vafai  <ojan@chromium.org>
3274
3275         Reviewed by Darin Adler.
3276
3277         Able to move nodes across documents
3278         https://bugs.webkit.org/show_bug.cgi?id=19524
3279
3280         Makes cross-document appendChild, insertBefore, Range.insertNode and Range.surroundContents work.
3281         This matches Gecko and the new Dom Core spec. There are a number of Range methods where we don't 
3282         match Gecko or the spec that will need to be updated in a following patch.
3283
3284         Test: fast/dom/move-nodes-across-documents.html
3285
3286         * dom/Element.cpp:
3287         (WebCore::Element::removeAttributeNode):
3288         * dom/NamedNodeMap.cpp:
3289         (WebCore::NamedNodeMap::setNamedItem):
3290         * dom/Node.cpp:
3291         (WebCore::Node::setDocumentRecursively):
3292         (WebCore::checkAcceptChild):
3293         (WebCore::Node::checkReplaceChild):
3294         * dom/Range.cpp:
3295         (WebCore::Range::insertNode):
3296         (WebCore::Range::surroundContents):
3297
3298 2011-03-09  Antti Koivisto  <antti@apple.com>
3299
3300         Not reviewed.
3301
3302         Reverting crash catching code, the bug being hunted was fixed by
3303         http://trac.webkit.org/changeset/80686
3304
3305         * loader/cache/CachedResourceLoader.cpp:
3306         (WebCore::CachedResourceLoader::CachedResourceLoader):
3307         (WebCore::CachedResourceLoader::~CachedResourceLoader):
3308         (WebCore::CachedResourceLoader::requestImage):
3309         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
3310         (WebCore::CachedResourceLoader::requestResource):
3311         (WebCore::CachedResourceLoader::setAutoLoadImages):
3312         (WebCore::CachedResourceLoader::load):
3313         (WebCore::CachedResourceLoader::loadDone):
3314         (WebCore::CachedResourceLoader::preload):
3315         (WebCore::CachedResourceLoader::requestPreload):
3316         * loader/cache/CachedResourceLoader.h:
3317
3318 2011-03-09  Peter Kasting  <pkasting@google.com>
3319
3320         Unreviewed, build fix.
3321
3322         * StringsNotToBeLocalized.txt: Add function names I forgot.
3323         * platform/win/SystemInfo.cpp: #if out some uncalled functions on WinCE,
3324           since they don't compile anyway.  Use ZeroMemory() instead of "= {0}"
3325           since Qt is stupid and (sometimes?!) warns about it.
3326         (WebCore::windowsVersion):
3327         (WebCore::processorArchitecture):
3328
3329 2011-03-09  Peter Kasting  <pkasting@google.com>
3330
3331         Reviewed by Ryosuke Niwa.
3332
3333         Add UA string tags for Windows 64.
3334         https://bugs.webkit.org/show_bug.cgi?id=55226
3335
3336         * StringsNotToBeLocalized.txt:
3337         * platform/win/SystemInfo.cpp:
3338         (WebCore::osVersionForUAString):
3339         (WebCore::isWOW64):
3340         (WebCore::processorArchitecture):
3341         (WebCore::architectureTokenForUAString):
3342         (WebCore::windowsVersionForUAString):
3343
3344 2011-03-09  Peter Kasting  <pkasting@google.com>
3345
3346         Unreviewed, attempted build fix.
3347
3348         * WebCore.pri: Try to update include path for Qt Windows build.
3349
3350 2011-03-09  Peter Kasting  <pkasting@google.com>
3351
3352         Unreviewed, build fix.
3353
3354         * platform/win/SystemInfo.cpp:
3355         (WebCore::windowsVersionForUAString): Fix const conversion warning on Qt.
3356
3357 2011-03-09  Peter Kasting  <pkasting@google.com>
3358
3359         Reviewed by Mihai Parparita.
3360
3361         Unify Windows version checks.
3362         https://bugs.webkit.org/show_bug.cgi?id=55979
3363
3364         * GNUmakefile.am: Fix spaces -> tabs.
3365         * StringsNotToBeLocalized.txt:
3366         * WebCore.pro: Add SystemInfo.* to Qt build.
3367         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3368         (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
3369         (WebCore::ScrollbarThemeChromiumWin::getThemeState):
3370         (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
3371         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
3372         (WebCore::fillBMPGlyphs):
3373         * platform/win/CursorWin.cpp:
3374         (WebCore::createSharedCursor):
3375         * platform/win/ScrollbarThemeWin.cpp:
3376         (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
3377         * platform/win/SystemInfo.cpp: Add full-fledged version check and UA string helper function.
3378         (WebCore::windowsVersion):
3379         (WebCore::windowsVersionForUAString):
3380         * platform/win/SystemInfo.h: Add full-fledged version check and UA string helper function.
3381         * rendering/RenderThemeChromiumWin.cpp:
3382         (WebCore::getNonClientMetrics):
3383         * rendering/RenderThemeWin.cpp:
3384         (WebCore::RenderThemeWin::getThemeData):
3385         (WebCore::RenderThemeWin::paintMenuList):
3386         (WebCore::RenderThemeWin::paintMenuListButton):
3387
3388 2011-03-09  Mihai Parparita  <mihaip@chromium.org>
3389
3390         Reviewed by Tony Gentilcore.
3391
3392         REGRESSION (r74807): memory corruption after CachedResourceLoader refactoring
3393         https://bugs.webkit.org/show_bug.cgi?id=53045
3394         
3395         Copy the URL out of the CachedResource that is being revalidated, so
3396         that we can still use it (in m_validatedURLs) after removing the
3397         resource from the memory cache, which may delete it.
3398
3399         No new tests, since I was not able to trigger this locally (in a layout
3400         test or otherwise).
3401
3402         * loader/cache/CachedResourceLoader.cpp:
3403         (WebCore::CachedResourceLoader::revalidateResource):
3404
3405 2011-03-09  Chris Fleizach  <cfleizach@apple.com>
3406
3407         Reviewed by Beth Dakin.
3408
3409         VO reporting incorrect list count for http://www.macworld.com/news.html
3410         https://bugs.webkit.org/show_bug.cgi?id=56064
3411
3412         <li> tags should not be ignored, because they provide valuable information
3413         to screen readers.
3414
3415         Test: platform/mac/accessibility/list-items-ignored.html
3416
3417         * accessibility/AccessibilityRenderObject.cpp:
3418         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3419
3420 2011-03-09  Dan Bernstein  <mitz@apple.com>
3421
3422         Reviewed by Dave Hyatt.
3423
3424         <rdar://problem/8733254> Float disappears after incremental layout
3425         Fixed the original bug and a copule more issues noticed while doing so.
3426
3427         Tests: fast/dynamic/dirty-float-in-clean-line.html
3428                fast/dynamic/float-at-line-break.html
3429                fast/dynamic/float-from-empty-line.html
3430
3431         * rendering/RenderBlock.h:
3432         * rendering/RenderBlockLineLayout.cpp:
3433         (WebCore::RenderBlock::layoutInlineChildren): If findNextLineBreak() returned an empty line,
3434         update the line break info of the last line with the new line break position. This is tested
3435         by float-from-empty-line.html.
3436         (WebCore::RenderBlock::checkFloatsInCleanLine): Factored out code from determineStartPosition()
3437         into this new function.
3438         (WebCore::RenderBlock::determineStartPosition): Call checkFloatsInCleanLine().
3439         (WebCore::RenderBlock::determineEndPosition): When iterating over lines, check clean lines with
3440         floats, as they may yet become dirty because of the floats. This is tested by
3441         dirty-float-in-clean-line.html.
3442         (WebCore::RenderBlock::findNextLineBreak): If a float fits on the line, and the current line
3443         break is at the float, advance it to after the float. Otherwise, if the line gets dirty and the
3444         next one does not, the float will not make it into any line. This is tested by
3445         float-at-line-break.html.
3446
3447 2011-03-09  Ryosuke Niwa  <rniwa@webkit.org>
3448
3449         Reviewed by Kent Tamura.
3450
3451         selectionStart reports wrong caret position when the last characters are newlines
3452         https://bugs.webkit.org/show_bug.cgi?id=56061
3453
3454         The bug was caused by SelectionController::setSelection's not calling
3455         notifyRendererOfSelectionChange when old selection was equal to new selection.
3456
3457         Because InsertLineBreakCommand inserts a text node with a single LF before the caret,
3458         this condition holds after the command is executed. However, the values of
3459         selectionStart and selectionEnd still need to be updated in this case because
3460         the offsets counted from the beginning of textarea have been increased by 1.