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