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