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