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