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