[chromium] Update paths in GYP files
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-29  Ryan Sleevi  <rsleevi@chromium.org>
2
3         [chromium] Update paths in GYP files
4         https://bugs.webkit.org/show_bug.cgi?id=82663
5
6         Reviewed by Adam Barth.
7
8         * WebCore.gypi:
9         Remove PluginDataGtk.cpp following r112401
10
11 2012-03-29  Abhishek Arya  <inferno@chromium.org>
12
13         Crash in GenericEventQueue::~GenericEventQueue.
14         https://bugs.webkit.org/show_bug.cgi?id=81976
15
16         Reviewed by Eric Carlson.
17
18         * dom/GenericEventQueue.cpp:
19         (WebCore::GenericEventQueue::create):
20         (WebCore):
21         (WebCore::GenericEventQueue::GenericEventQueue):
22         (WebCore::GenericEventQueue::enqueueEvent):
23         (WebCore::GenericEventQueue::timerFired):
24         * dom/GenericEventQueue.h:
25         (GenericEventQueue):
26         * html/HTMLMediaElement.cpp:
27         (WebCore::HTMLMediaElement::HTMLMediaElement):
28         (WebCore::HTMLMediaElement::scheduleEvent):
29         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
30         (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
31         (WebCore::HTMLMediaElement::hasPendingActivity):
32         * html/HTMLMediaElement.h:
33         (HTMLMediaElement):
34
35 2012-03-29  Adam Barth  <abarth@webkit.org>
36
37         [Chromium] Attempt to fix the component build
38         https://bugs.webkit.org/show_bug.cgi?id=82676
39
40         Unreviewed.
41
42         Now that we're implementing some of the WEBKIT_EXPORT symbols in
43         WebCore/platform/chromium/support, we need to tell the build system
44         that we want to actually export these symbols.
45
46         * WebCore.gyp/WebCore.gyp:
47
48 2012-03-29  Nate Chapin  <japhet@chromium.org>
49
50         Simplify reporting a main resource error to DocumentLoader and
51         FrameLoader.
52         https://bugs.webkit.org/show_bug.cgi?id=82649
53
54         Reviewed by Adam Barth.
55
56         No new tests, no functionality change intended.
57
58         * loader/DocumentLoader.cpp:
59         (WebCore::DocumentLoader::mainReceivedError): Remove isComplete parameter,
60             since it was always true. Call FrameLoader::receivedMainResourceError,
61             instead of the other way around.
62         * loader/DocumentLoader.h:
63         * loader/FrameLoader.cpp:
64         (WebCore::FrameLoader::receivedMainResourceError): Remove isComplete parameter,
65             since it was always true. Merge in most of mainReceivedCompleteError().
66         * loader/FrameLoader.h:
67         * loader/MainResourceLoader.cpp:
68         (WebCore::MainResourceLoader::receivedError):
69         (WebCore::MainResourceLoader::didCancel):
70
71 2012-03-28  Jer Noble  <jer.noble@apple.com>
72
73         Heap-use-after-free in WebCore::InlineFlowBox::deleteLine due to fullscreen issues.
74         https://bugs.webkit.org/show_bug.cgi?id=82055
75
76         Reviewed by David Hyatt.
77
78         No new tests; fixes fuzz test crasher which is not reproducible in DRT or WKTR.
79
80         When a RenderFullScreen object is inserted between a child and parent renderer, make sure the
81         parent renderer deletes its line boxes by calling setNeedsLayoutAndPrefWidthsRecalc().  This
82         forces its InlineBox renderers to be removed from the line boxes and their parents in the correct
83         order, fixing a double-delete crash.
84
85         The same is true when unwrapping the RenderFullScreen object, and when creating and inserting
86         the full screen placeholder.
87
88         * rendering/RenderFullScreen.cpp:
89         (RenderFullScreen::wrapRenderer):
90         (RenderFullScreen::unwrapRenderer):
91         (RenderFullScreen::createPlaceholder):
92
93 2012-03-29  Benjamin Poulain  <bpoulain@apple.com>
94
95         Get rid of Geolocation::positionChangedInternal(), use positionChanged() directly
96         https://bugs.webkit.org/show_bug.cgi?id=82543
97
98         Reviewed by Andreas Kling.
99
100         After the change to client based geolocation, the method positionChangedInternal()
101         is called only by positionChanged(). This patch remove this extra indirection.
102
103         * Modules/geolocation/Geolocation.cpp:
104         (WebCore::Geolocation::positionChanged):
105         * Modules/geolocation/Geolocation.h:
106         (Geolocation):
107         * WebCore.order:
108
109 2012-03-29  Joseph Pecoraro  <pecoraro@apple.com>
110
111         InputType attribute changed functions should happen after the attribute change
112         https://bugs.webkit.org/show_bug.cgi?id=82644
113
114         Reviewed by Benjamin Poulain.
115
116         * html/HTMLInputElement.cpp:
117         (WebCore::HTMLInputElement::parseAttribute):
118
119 2012-03-29  Bear Travis  <betravis@adobe.com>
120
121         Update CSS Exclusion wrap-flow values left & right to start & end
122         https://bugs.webkit.org/show_bug.cgi?id=82366
123
124         http://dev.w3.org/csswg/css3-exclusions/
125         -webkit-wrap-flow now takes the values start and end rather than
126         left and right. Updating the code to reflect this. Functionality
127         is covered by existing tests.
128         
129         Reviewed by Andreas Kling.
130
131         * css/CSSParser.cpp:
132         (WebCore::isValidKeywordPropertyAndValue):
133         * css/CSSPrimitiveValueMappings.h:
134         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
135         (WebCore::CSSPrimitiveValue::operator WrapFlow):
136         * rendering/style/RenderStyleConstants.h:
137
138 2012-03-29  Dirk Pranke  <dpranke@chromium.org>
139
140         rollout r112484, r112545, r112574
141         https://bugs.webkit.org/show_bug.cgi?id=82662
142
143         Unreviewed, build fix.
144
145         this appears to be producing some questionable differences on
146         the apple mac bots, and possibly one test on chromium linux.
147
148         * css/mediaControls.css:
149         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
150         * css/mediaControlsChromium.css:
151         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
152         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
153         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
154         * html/shadow/MediaControlElements.cpp:
155         (RenderMediaVolumeSliderContainer):
156         (WebCore):
157         (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
158         (WebCore::RenderMediaVolumeSliderContainer::layout):
159         (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
160         * html/shadow/MediaControlElements.h:
161         (MediaControlVolumeSliderContainerElement):
162         * html/shadow/MediaControlRootElementChromium.cpp:
163         (WebCore::MediaControlRootElementChromium::create):
164
165 2012-03-29  Julien Chaffraix  <jchaffraix@webkit.org>
166
167         REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il
168         https://bugs.webkit.org/show_bug.cgi?id=82129
169
170         Reviewed by Ojan Vafai.
171
172         Tests: fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html
173                fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html
174                fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html
175                fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html
176                fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html
177                fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html
178                fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html
179                fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html
180
181         This is a regression from r110072. I wrongly thought we should call ensureLayer if we create our RenderOverflow.
182         However the current overflow code removes the before and start overflows (like in horizontal writing mode with ltr direction,
183         we never have a top or a left overflow). Because of that we would not get a RenderLayer as expected and the overflow clip rects
184         would be wrong on our RenderLayer children.
185
186         * rendering/RenderBox.cpp:
187         (WebCore::RenderBox::addLayoutOverflow):
188         Moved the ensureLayer() call after the check that we do have some overflow but before we remove the overflow in some directions.
189
190 2012-03-29  Adam Barth  <abarth@webkit.org>
191
192         [Chromium] Move ResourceHandle to WebCore/platform/network/chromium
193         https://bugs.webkit.org/show_bug.cgi?id=82657
194
195         Reviewed by James Robinson.
196
197         We finally arive at our destination. This patch actually moves
198         WebCore::ResourceHandle from Source/WebKit/chromium/src to
199         Source/WebCore/network/chromium, matching its location in other ports.
200         To make this happen, we also need to move WrappedResourceRequest and
201         WrappedResourceResponse.
202
203         This patch is the last patch from
204         https://github.com/abarth/webkit/compare/master...webcore-platform
205
206         * WebCore.gypi:
207         * platform/chromium/support/WrappedResourceRequest.h: Copied from Source/WebKit/chromium/src/WrappedResourceRequest.h.
208         * platform/chromium/support/WrappedResourceResponse.h: Copied from Source/WebKit/chromium/src/WrappedResourceResponse.h.
209         * platform/network/chromium/ResourceHandle.cpp: Copied from Source/WebKit/chromium/src/ResourceHandle.cpp.
210         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
211         (WebCore::ResourceHandleInternal::start):
212         (WebCore::ResourceHandle::loadResourceSynchronously):
213         (WebCore::ResourceHandle::cacheMetadata):
214         * platform/network/chromium/ResourceHandleInternal.h: Copied from Source/WebKit/chromium/src/ResourceHandleInternal.h.
215
216 2012-03-29  Patrick Gansterer  <paroga@webkit.org>
217
218         Build fix for WinCE after r112555.
219
220         * platform/text/wince/TextCodecWinCE.cpp:
221         (WebCore::LanguageManager::LanguageManager):
222
223 2012-03-29  Anders Carlsson  <andersca@apple.com>
224
225         Images that reload via media queries don't paint when device scale factor changes
226         https://bugs.webkit.org/show_bug.cgi?id=82648
227         <rdar://problem/11143637>
228
229         Reviewed by Beth Dakin.
230
231         Commit scale factor changes before dirty rect changes, since setting the scale factor
232         can lead to more rects being dirtied when using the tile cache.
233
234         * platform/graphics/ca/GraphicsLayerCA.cpp:
235         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
236
237 2012-03-29  Adam Barth  <abarth@webkit.org>
238
239         Move CPP files related to ResourceHandle to WebCore/platform
240         https://bugs.webkit.org/show_bug.cgi?id=82582
241
242         Reviewed by James Robinson.
243
244         This patch moves a number of files that implement parts of the platform
245         portion of the Chromium WebKit API from the WebKit layer to
246         WebCore/platform. These files are in the dependency cone of
247         ResourceHandle and have no dependencies on anything outside
248         WebCore/platform.
249
250         * WebCore.gyp/WebCore.gyp:
251         * WebCore.gypi:
252         * platform/chromium/support: Added.
253         * platform/chromium/support/WebData.cpp: Copied from Source/WebKit/chromium/src/WebData.cpp.
254         * platform/chromium/support/WebHTTPBody.cpp: Copied from Source/WebKit/chromium/src/WebHTTPBody.cpp.
255         * platform/chromium/support/WebHTTPLoadInfo.cpp: Copied from Source/WebKit/chromium/src/WebHTTPLoadInfo.cpp.
256         * platform/chromium/support/WebURL.cpp: Copied from Source/WebKit/chromium/src/WebURL.cpp.
257         * platform/chromium/support/WebURLError.cpp: Copied from Source/WebKit/chromium/src/WebURLError.cpp.
258         * platform/chromium/support/WebURLRequest.cpp: Copied from Source/WebKit/chromium/src/WebURLRequest.cpp.
259         * platform/chromium/support/WebURLRequestPrivate.h: Copied from Source/WebKit/chromium/src/WebURLRequestPrivate.h.
260         * platform/chromium/support/WebURLResponse.cpp: Copied from Source/WebKit/chromium/src/WebURLResponse.cpp.
261         * platform/chromium/support/WebURLResponsePrivate.h: Copied from Source/WebKit/chromium/src/WebURLResponsePrivate.h.
262
263 2012-03-29  Michal Mocny  <mmocny@google.com>
264
265         [chromium] Ensure framebuffer exists at the start of beginDrawingFrame.
266         https://bugs.webkit.org/show_bug.cgi?id=82569
267
268         Reviewed by James Robinson.
269
270         Updated LayerRendererChromiumTest unittests.
271
272         * platform/graphics/chromium/LayerRendererChromium.cpp:
273         (WebCore::LayerRendererChromium::setVisible):
274         (WebCore::LayerRendererChromium::beginDrawingFrame):
275         * platform/graphics/chromium/LayerRendererChromium.h:
276         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
277         (WebCore::CCSingleThreadProxy::compositeAndReadback):
278         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
279         (WebCore::CCThreadProxy::compositeAndReadback):
280         (WebCore::CCThreadProxy::requestReadbackOnImplThread):
281
282 2012-03-29  Ryosuke Niwa  <rniwa@webkit.org>
283
284         Add a compile assert for the size of RenderBlock
285         https://bugs.webkit.org/show_bug.cgi?id=82586
286
287         Reviewed by Tony Chang.
288         
289         Add compile asserts for the size of RenderBlock and RenderBlock::MarginValues.
290         We can't add asserts for FloatingObject and MarginInfo because they're private to RenderBlock.
291
292         * rendering/RenderBlock.cpp:
293         (SameSizeAsRenderBlock):
294         (WebCore):
295         (WebCore::RenderBlock::addOverflowFromFloats):
296         (WebCore::RenderBlock::repaintOverhangingFloats):
297         (WebCore::RenderBlock::paintFloats):
298         (WebCore::RenderBlock::insertFloatingObject):
299         (WebCore::RenderBlock::clearFloats):
300         (WebCore::RenderBlock::addOverhangingFloats):
301         (WebCore::RenderBlock::addIntrudingFloats):
302         (WebCore::RenderBlock::hitTestFloats):
303         (WebCore::RenderBlock::adjustForBorderFit):
304         * rendering/RenderBlock.h:
305         (WebCore::RenderBlock::FloatingObject::shouldPaint):
306         (WebCore::RenderBlock::FloatingObject::setShouldPaint):
307         (WebCore::RenderBlock::FloatingObject::isDescendant):
308         (WebCore::RenderBlock::FloatingObject::setIsDescendant):
309         (FloatingObject):
310         (RenderBlock):
311
312 2012-03-29  Gavin Barraclough  <barraclough@apple.com>
313
314         Template the Yarr::Interpreter on the character type
315         https://bugs.webkit.org/show_bug.cgi?id=82637
316
317         Reviewed by Sam Weinig.
318
319         We should be able to call to the interpreter after having already checked the character type,
320         without having to re-package the character pointer back up into a string!
321
322         * inspector/ContentSearchUtils.cpp:
323         (WebCore::ContentSearchUtils::findMagicComment):
324         * platform/text/RegularExpression.cpp:
325         (WebCore::RegularExpression::match):
326             - Don't pass length.
327
328 2012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
329
330         Unreviewed, rolling out r112553.
331         http://trac.webkit.org/changeset/112553
332         https://bugs.webkit.org/show_bug.cgi?id=82638
333
334         It made all tests crash on Qt WK2 (Requested by Ossy_away on
335         #webkit).
336
337         * Modules/geolocation/Geolocation.cpp:
338         (WebCore::Geolocation::stop):
339         (WebCore::Geolocation::lastPosition):
340         (WebCore::Geolocation::requestPermission):
341         (WebCore::Geolocation::startUpdating):
342         (WebCore::Geolocation::stopUpdating):
343         * Modules/geolocation/Geolocation.h:
344         (WebCore):
345         * Modules/geolocation/GeolocationController.cpp:
346         * Modules/geolocation/GeolocationController.h:
347         * WebCore.exp.in:
348         * page/GeolocationClient.h:
349         (WebCore):
350         (GeolocationClient):
351         * page/Page.cpp:
352         (WebCore::Page::Page):
353         (WebCore::Page::PageClients::PageClients):
354         * page/Page.h:
355         (WebCore):
356         (PageClients):
357         (Page):
358         (WebCore::Page::geolocationController):
359
360 2012-03-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
361
362         HashMap<>::add should return a more descriptive object
363         https://bugs.webkit.org/show_bug.cgi?id=71063
364
365         Reviewed by Ryosuke Niwa.
366
367         Update code to use AddResult instead of a pair. No new tests, just a refactoring.
368
369         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
370         (WebCore::SQLTransactionCoordinator::acquireLock):
371         * Modules/webdatabase/chromium/QuotaTracker.cpp:
372         (WebCore::QuotaTracker::updateDatabaseSize):
373         * bindings/js/DOMObjectHashTableMap.h:
374         (WebCore::DOMObjectHashTableMap::get):
375         * bindings/js/JSDOMBinding.cpp:
376         (WebCore::cacheDOMStructure):
377         * bindings/js/JSDOMBinding.h:
378         (WebCore::cacheWrapper):
379         * bindings/js/JSDOMGlobalObject.h:
380         (WebCore::getDOMConstructor):
381         * bindings/js/PageScriptDebugServer.cpp:
382         (WebCore::PageScriptDebugServer::addListener):
383         * bindings/js/ScriptDebugServer.cpp:
384         (WebCore::ScriptDebugServer::setBreakpoint):
385         * bindings/js/SerializedScriptValue.cpp:
386         (WebCore::CloneSerializer::startObjectInternal):
387         (WebCore::CloneSerializer::write):
388         * bindings/v8/NPV8Object.cpp:
389         (WebCore::npCreateV8ScriptObject):
390         * bridge/IdentifierRep.cpp:
391         (WebCore::IdentifierRep::get):
392         * bridge/NP_jsobject.cpp:
393         (ObjectMap::add):
394         * css/CSSComputedStyleDeclaration.cpp:
395         (WebCore::logUnimplementedPropertyID):
396         * css/CSSFontFaceSource.cpp:
397         (WebCore::CSSFontFaceSource::getFontData):
398         * css/CSSFontSelector.cpp:
399         (WebCore::CSSFontSelector::addFontFaceRule):
400         (WebCore::CSSFontSelector::getFontData):
401         * css/CSSSegmentedFontFace.cpp:
402         (WebCore::CSSSegmentedFontFace::getFontData):
403         * css/CSSStyleApplyProperty.cpp:
404         (WebCore::ApplyPropertyCounter::applyInheritValue):
405         (WebCore::ApplyPropertyCounter::applyValue):
406         * css/CSSStyleSelector.cpp:
407         (WebCore::CSSStyleSelector::appendAuthorStylesheets):
408         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
409         * css/CSSValuePool.cpp:
410         (WebCore::CSSValuePool::createIdentifierValue):
411         (WebCore::CSSValuePool::createColorValue):
412         (WebCore::CSSValuePool::createValue):
413         (WebCore::CSSValuePool::createFontFamilyValue):
414         (WebCore::CSSValuePool::createFontFaceValue):
415         * dom/CheckedRadioButtons.cpp:
416         (WebCore::RadioButtonGroup::add):
417         (WebCore::CheckedRadioButtons::addButton):
418         * dom/ChildListMutationScope.cpp:
419         (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
420         * dom/Document.cpp:
421         (WebCore::Document::windowNamedItems):
422         (WebCore::Document::documentNamedItems):
423         (WebCore::Document::getCSSCanvasElement):
424         (WebCore::Document::getItems):
425         * dom/DocumentEventQueue.cpp:
426         (WebCore::DocumentEventQueue::enqueueEvent):
427         (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
428         (WebCore::DocumentEventQueue::pendingEventTimerFired):
429         * dom/DocumentOrderedMap.cpp:
430         (WebCore::DocumentOrderedMap::add):
431         * dom/EventListenerMap.cpp:
432         (WebCore::EventListenerMap::add):
433         * dom/Node.cpp:
434         (WebCore::Node::dumpStatistics):
435         (WebCore::Node::getElementsByTagName):
436         (WebCore::Node::getElementsByTagNameNS):
437         (WebCore::Node::getElementsByName):
438         (WebCore::Node::getElementsByClassName):
439         (WebCore::Node::collectMatchingObserversForMutation):
440         * dom/QualifiedName.cpp:
441         (WebCore::QualifiedName::init):
442         * dom/SpaceSplitString.cpp:
443         (WebCore::SpaceSplitStringData::create):
444         * dom/StyledElement.cpp:
445         (WebCore::StyledElement::updateAttributeStyle):
446         * html/HTMLCollection.cpp:
447         (WebCore::HTMLCollection::append):
448         * inspector/DOMPatchSupport.cpp:
449         (WebCore::DOMPatchSupport::diff):
450         * inspector/InspectorCSSAgent.cpp:
451         (WebCore::SelectorProfile::commitSelector):
452         * inspector/InspectorDOMAgent.cpp:
453         (WebCore::InspectorDOMAgent::performSearch):
454         * inspector/InspectorDebuggerAgent.cpp:
455         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
456         * inspector/InspectorValues.h:
457         (WebCore::InspectorObject::setValue):
458         (WebCore::InspectorObject::setObject):
459         (WebCore::InspectorObject::setArray):
460         * loader/appcache/ApplicationCacheGroup.cpp:
461         (WebCore::ApplicationCacheGroup::addEntry):
462         * loader/appcache/ApplicationCacheStorage.cpp:
463         (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
464         * page/EventHandler.cpp:
465         (WebCore::EventHandler::handleTouchEvent):
466         * page/PageGroup.cpp:
467         (WebCore::PageGroup::pageGroup):
468         (WebCore::PageGroup::addVisitedLink):
469         (WebCore::PageGroup::addUserScriptToWorld):
470         (WebCore::PageGroup::addUserStyleSheetToWorld):
471         * page/SecurityPolicy.cpp:
472         (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
473         * page/TouchAdjustment.cpp:
474         (WebCore::TouchAdjustment::compileSubtargetList):
475         * platform/cf/BinaryPropertyList.cpp:
476         (WebCore::BinaryPropertyListPlan::writeInteger):
477         (WebCore::BinaryPropertyListPlan::writeString):
478         (WebCore::BinaryPropertyListPlan::writeIntegerArray):
479         * platform/graphics/blackberry/LayerTiler.cpp:
480         (WebCore::LayerTiler::addTileJob):
481         * platform/graphics/ca/GraphicsLayerCA.cpp:
482         (WebCore::GraphicsLayerCA::findOrMakeClone):
483         * platform/graphics/ca/mac/TileCache.mm:
484         (WebCore::TileCache::revalidateTiles):
485         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
486         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
487         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
488         (WebCore::getDerivedFontData):
489         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
490         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
491         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
492         (WebCore::initializeATSUStyle):
493         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
494         (WebCore::SimpleFontData::getCFStringAttributes):
495         * platform/graphics/mac/SimpleFontDataMac.mm:
496         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
497         * platform/graphics/wince/FontPlatformData.cpp:
498         (WebCore::FixedSizeFontData::create):
499         * platform/gtk/RenderThemeGtk3.cpp:
500         (WebCore::getStyleContext):
501         * platform/mac/ThreadCheck.mm:
502         (WebCoreReportThreadViolation):
503         * platform/network/HTTPHeaderMap.cpp:
504         (WebCore::HTTPHeaderMap::add):
505         * platform/network/HTTPHeaderMap.h:
506         (HTTPHeaderMap):
507         * platform/network/ResourceRequestBase.cpp:
508         (WebCore::ResourceRequestBase::addHTTPHeaderField):
509         * plugins/PluginDatabase.cpp:
510         (WebCore::PluginDatabase::add):
511         (WebCore::PluginDatabase::loadPersistentMetadataCache):
512         * plugins/win/PluginDatabaseWin.cpp:
513         (WebCore::PluginDatabase::getPluginPathsInDirectories):
514         * rendering/RenderBlock.cpp:
515         (WebCore::RenderBlock::addPercentHeightDescendant):
516         * rendering/RenderBlockLineLayout.cpp:
517         (WebCore::setLogicalWidthForTextRun):
518         * rendering/RenderNamedFlowThread.cpp:
519         (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
520         * rendering/RenderRegion.cpp:
521         (WebCore::RenderRegion::setRenderBoxRegionInfo):
522         * rendering/svg/RenderSVGResourceGradient.cpp:
523         (WebCore::RenderSVGResourceGradient::applyResource):
524         * rendering/svg/RenderSVGResourcePattern.cpp:
525         (WebCore::RenderSVGResourcePattern::applyResource):
526         * storage/StorageMap.cpp:
527         (WebCore::StorageMap::setItem):
528         (WebCore::StorageMap::importItem):
529         * svg/SVGDocumentExtensions.cpp:
530         (WebCore::SVGDocumentExtensions::addPendingResource):
531         * xml/XMLHttpRequest.cpp:
532         (WebCore::XMLHttpRequest::setRequestHeaderInternal):
533         * xml/XPathFunctions.cpp:
534         (WebCore::XPath::FunId::evaluate):
535         * xml/XPathPath.cpp:
536         (WebCore::XPath::LocationPath::evaluate):
537         * xml/XPathPredicate.cpp:
538         (WebCore::XPath::Union::evaluate):
539
540 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
541
542         Web Inspector: improve window selection accuracy in vertical overview of timeline panel
543         https://bugs.webkit.org/show_bug.cgi?id=82625
544
545         Reviewed by Vsevolod Vlasov.
546
547         * inspector/front-end/TimelineOverviewPane.js:
548         (WebInspector.TimelineVerticalOverview):
549         (WebInspector.TimelineVerticalOverview.prototype._renderBars): preserve actual padding used while rendering bars.
550         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): account for outer and inter-bars padding when calculating bar offsets.
551
552 2012-03-29  Mark Pilgrim  <pilgrim@chromium.org>
553
554         GEOLOCATION should be implemented as Page Supplement
555         https://bugs.webkit.org/show_bug.cgi?id=82228
556
557         Reviewed by Adam Barth.
558
559         Geolocation now uses the Supplement interface instead of
560         keeping an instance variable on Page. This allows us to
561         remove all geolocation-related functions, variables, and
562         ifdefs out of Page and into Modules/geolocation/.
563
564         * Modules/geolocation/Geolocation.cpp:
565         (WebCore::Geolocation::stop):
566         (WebCore::Geolocation::lastPosition):
567         (WebCore::Geolocation::requestPermission):
568         (WebCore::Geolocation::startUpdating):
569         (WebCore::Geolocation::stopUpdating):
570         * Modules/geolocation/Geolocation.h:
571         (WebCore):
572         * Modules/geolocation/GeolocationController.cpp:
573         (WebCore::GeolocationController::supplementName):
574         (WebCore):
575         (WebCore::provideGeolocationTo):
576         * Modules/geolocation/GeolocationController.h:
577         (GeolocationController):
578         (WebCore::GeolocationController::from):
579         * WebCore.exp.in:
580         * page/GeolocationClient.h:
581         (WebCore):
582         (GeolocationClient):
583         * page/Page.cpp:
584         (WebCore::Page::Page):
585         (WebCore::Page::PageClients::PageClients):
586         * page/Page.h:
587         (WebCore):
588         (PageClients):
589         (Page):
590
591 2012-03-29  John Bates  <jbates@google.com>
592
593         Sync up WebKit TraceEvent.h with chromium trace_event.h
594         https://bugs.webkit.org/show_bug.cgi?id=82527
595
596         Reviewed by James Robinson.
597
598         * platform/chromium/TraceEvent.h:
599
600 2012-03-29  Pavel Feldman  <pfeldman@chromium.org>
601
602         Web Inspector: subtree disapears from <iframe> after loading
603         https://bugs.webkit.org/show_bug.cgi?id=76552
604
605         Reviewed by Yury Semikhatsky.
606
607         The problem was that content document subtree was not unbound upon iframe re-push.
608         Upon owner element refresh content document was not sent to the frontend
609         since backend assumed that front-end has already had the up-to-date version.
610
611         Test: inspector/elements/iframe-load-event.html
612
613         * inspector/InspectorDOMAgent.cpp:
614         (WebCore::InspectorDOMAgent::loadEventFired):
615
616 2012-03-29  Dana Jansens  <danakj@chromium.org>
617
618         [chromium] Remove unneeded code+fixmes from CCOcclusionTracker
619         https://bugs.webkit.org/show_bug.cgi?id=82380
620
621         Reviewed by Adrienne Walker.
622
623         The current occlusion was exposed on the occlusion tracker for the
624         transition over to culling 2.0 which has landed, so we can remove
625         it now. It still had one use in unit tests which is moved to a
626         test subclass.
627
628         Above test subclass already existed in the occlusion tracker tests,
629         so pulled it out to a common file CCOcclusionTrackerTestCommon.h
630         so that other unit tests can use it to get at occlusion internals.
631
632         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
633         (WebCore):
634         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
635
636 2012-03-29  Joseph Pecoraro  <pecoraro@apple.com>
637
638         <http://webkit.org/b/82558> Toggling <input type="range"> readonly or disabled state while active breaks all click events
639
640         Test: fast/forms/range/range-drag-when-toggled-disabled.html
641
642         Reviewed by Kent Tamura.
643
644         * html/shadow/SliderThumbElement.cpp:
645         (WebCore::SliderThumbElement::defaultEventHandler):
646         A slider can toggle its readonly or disabled state while in the middle
647         of dragging, in those cases we should cancel the drag and perform cleanup.
648
649 2012-03-29  Adam Klein  <adamk@chromium.org>
650
651         Factor out common post-insertion logic in ContainerNode
652         https://bugs.webkit.org/show_bug.cgi?id=82544
653
654         Reviewed by Ryosuke Niwa.
655
656         appendChild, insertBefore, and replaceChild all share a great deal of logic.
657         This patch factors out the "post-insertion" logic that deals with
658         notifying parents that their children changed and notifying children
659         that they've been added to the tree.
660
661         Besides reducing code duplication, this is in preparation for moving
662         this post-insertion notification later in the insertion process.
663
664         No new tests, no change in behavior.
665
666         * dom/ContainerNode.cpp:
667         (WebCore):
668         (WebCore::ContainerNode::insertBefore): Factor out shared logic, remove unnecessary "prev" variable.
669         (WebCore::ContainerNode::replaceChild): ditto.
670         (WebCore::ContainerNode::appendChild): ditto.
671         (WebCore::updateTreeAfterInsertion): New helper method encapsulating shared logic.
672
673 2012-03-29  Tony Chang  <tony@chromium.org>
674
675         Need to implement flex-line-pack
676         https://bugs.webkit.org/show_bug.cgi?id=70794
677
678         Reviewed by Ojan Vafai.
679
680         Tests: css3/flexbox/multiline-line-pack-horizontal-column.html
681                css3/flexbox/multiline-line-pack.html
682
683         * rendering/RenderFlexibleBox.cpp:
684         (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
685         (WebCore::initialLinePackingOffset): Similar to initialPackingOffset.
686         (WebCore):
687         (WebCore::linePackingSpaceBetweenChildren): Similar to packingSpaceBetweenChildren.
688         (WebCore::RenderFlexibleBox::packFlexLines): Move lines based on flex-line-pack.
689             Note that we don't need to relayout on stretch because
690             alignChildren will do that for us (only auto size needs stretching).
691         (WebCore::RenderFlexibleBox::flipForWrapReverse): Pull out the initial
692             cross axis offset before calling packFlexLines because we can
693             move the the line contexts.
694         * rendering/RenderFlexibleBox.h:
695
696 2012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
697
698         Web Inspector: SnippetsScriptMapping should process existing snippets on load.
699         https://bugs.webkit.org/show_bug.cgi?id=82619
700
701         Reviewed by Pavel Feldman.
702
703         SnippetsScriptMapping now loads existing snippets on creation.
704         Otherwise scripts panel shows snippets created during current session only.
705         Drive-by ScriptsNavigator closure compilation fix.
706
707         * inspector/front-end/SnippetsModel.js:
708         (WebInspector.SnippetsModel.prototype.set get snippets):
709         (WebInspector.SnippetsScriptMapping):
710         (WebInspector.SnippetsScriptMapping.prototype._handleSnippetAdded):
711         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
712
713 2012-03-29  Yury Semikhatsky  <yurys@chromium.org>
714
715         Web Inspector: check more likely condition first in HeapSnapshot._buildAggregates
716         https://bugs.webkit.org/show_bug.cgi?id=82621
717
718         Reviewed by Pavel Feldman.
719
720         * inspector/front-end/HeapSnapshot.js: selfSize === 0 is quite rare, moving this condition
721         to the first place saves 1 of 6 secs on the heap profiler perf test.
722         (WebInspector.HeapSnapshot.prototype._buildAggregates):
723         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes): root node is always the first
724         one and is the only one that doesn't have dominator, so we may start iterating nodes from
725         the second node and avoid additional check in the loop.
726
727 2012-03-29  Pavel Feldman  <pfeldman@chromium.org>
728
729         Web Inspector: "go to the previous panel" shortcut is painful to maintain
730         https://bugs.webkit.org/show_bug.cgi?id=82602
731
732         Reviewed by Vsevolod Vlasov.
733
734         Present go to previous panel shortcut "Cmd - Left" is painful to support since we have
735         more and more free flow editing capabilities (where Cmd - Left is handled by the editor).
736         Remaping it to Cmd - Option - [ (]) /  (Ctrl - Alt - [ (]) ).
737
738         Drive-by: de-capitalize captions from the settings panel.
739
740         * English.lproj/localizedStrings.js:
741         * inspector/front-end/ConsoleView.js:
742         (WebInspector.ConsoleView.prototype._registerShortcuts):
743         * inspector/front-end/InspectorView.js:
744         (WebInspector.InspectorView.prototype._keyDown):
745         * inspector/front-end/ScriptsPanel.js:
746         * inspector/front-end/TimelinePanel.js:
747         (WebInspector.TimelinePanel.prototype._registerShortcuts):
748         (WebInspector.TimelinePanel.prototype._contextMenu):
749         * inspector/front-end/inspector.js:
750         (WebInspector._registerShortcuts):
751
752 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
753
754         Unreviewed, rolling out r112531.
755         http://trac.webkit.org/changeset/112531
756         https://bugs.webkit.org/show_bug.cgi?id=82616
757
758         Broke timeline overview selection
759
760         * inspector/front-end/TimelineOverviewPane.js:
761         (WebInspector.TimelineOverviewWindow):
762
763 2012-03-28  Dirk Schulze  <krit@webkit.org>
764
765         Introduce CSSParserMode in all classes
766         https://bugs.webkit.org/show_bug.cgi?id=82335
767
768         Reviewed by Ryosuke Niwa.
769
770         Introduce the new CSSParserMode enum to more classes. SVG classes make use of SVGAttributeMode for CSS parsing already.
771         But SVGAttributeMode does not differ from CSSQuirksMode at the moment. This will change with a followup patch on bug 46112.
772
773         No new tests. No change of functionality. Everything gets covered by existing tests.
774
775         * css/CSSImportRule.cpp:
776         (WebCore::CSSImportRule::setCSSStyleSheet):
777         * css/CSSMediaRule.cpp:
778         (WebCore::CSSMediaRule::insertRule):
779         * css/CSSParser.cpp: Move private functions away from strict boolean and make use of CSSParserMode instead.
780         (WebCore):
781         (WebCore::parseColorValue):
782         (WebCore::parseSimpleLengthValue):
783         (WebCore::CSSParser::parseFontFaceValue):
784         (WebCore::CSSParser::parseValue):
785         (WebCore::CSSParser::parseColor):
786         (WebCore::CSSParser::createStyleRule):
787         (WebCore::CSSParser::createFontFaceRule):
788         (WebCore::CSSParser::createPageRule):
789         (WebCore::CSSParser::createKeyframeRule):
790         * css/CSSParser.h: Removed constructor with boolean argument. We just use the CSSParserMode enum now.
791         (CSSParser):
792         * css/CSSParserMode.h:
793         (strictToCSSParserMode): New helper function to convert boolean to CSSParserMode.
794         (isStrictParserMode): Helper function that returns true if argument is CSSStrictMode.
795         * css/CSSRule.h:
796         (WebCore::CSSRule::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
797         * css/CSSStyleSheet.cpp:
798         (WebCore::CSSStyleSheet::CSSStyleSheet):
799         (WebCore::CSSStyleSheet::insertRule):
800         (WebCore::CSSStyleSheet::parseString):
801         (WebCore::CSSStyleSheet::parseStringAtLine):
802         * css/CSSStyleSheet.h:
803         (CSSStyleSheet):
804         (WebCore::CSSStyleSheet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we set an enum now.
805         (WebCore::CSSStyleSheet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
806         * css/MediaList.cpp:
807         (WebCore::MediaQuerySet::parse):
808         (WebCore::MediaQuerySet::add):
809         (WebCore::MediaQuerySet::remove):
810         * css/StylePropertySet.cpp:
811         (WebCore::StylePropertySet::StylePropertySet):
812         (WebCore::StylePropertySet::setProperty):
813         (WebCore::StylePropertySet::parseDeclaration):
814         * css/StylePropertySet.h: Use unsigned member variables to store the parser mode.  
815         (WebCore::StylePropertySet::create):
816         (WebCore::StylePropertySet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we get an enum now. This gets converted to unsigned internally.
817         (WebCore::StylePropertySet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
818         (StylePropertySet):
819         * css/StyleSheet.h:
820         (StyleSheet):
821         * css/WebKitCSSKeyframesRule.cpp:
822         (WebCore::WebKitCSSKeyframesRule::insertRule):
823         * css/WebKitCSSMatrix.cpp:
824         (WebCore::WebKitCSSMatrix::setMatrixValue):
825         * dom/Document.cpp:
826         (WebCore::Document::webkitGetFlowByName):
827         (WebCore::Document::pageUserSheet):
828         (WebCore::Document::pageGroupUserSheets):
829         * dom/Element.cpp:
830         (WebCore::Element::webkitMatchesSelector):
831         * dom/ElementAttributeData.cpp:
832         (WebCore::ElementAttributeData::ensureInlineStyle):
833         (WebCore::ElementAttributeData::ensureMutableInlineStyle):
834         (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
835         * dom/Node.cpp:
836         (WebCore::Node::querySelector):
837         (WebCore::Node::querySelectorAll):
838         * dom/ProcessingInstruction.cpp:
839         (WebCore::ProcessingInstruction::parseStyleSheet):
840         * dom/StyleElement.cpp:
841         (WebCore::StyleElement::createSheet):
842         * html/HTMLElement.cpp:
843         (WebCore::StyledElement::copyNonAttributeProperties):
844         * html/HTMLLinkElement.cpp:
845         (WebCore::HTMLLinkElement::setCSSStyleSheet):
846         * html/canvas/CanvasRenderingContext2D.cpp:
847         (WebCore::CanvasRenderingContext2D::setFont):
848         * html/shadow/ContentSelectorQuery.cpp:
849         (WebCore::ContentSelectorQuery::ContentSelectorQuery):
850         * inspector/InspectorStyleSheet.cpp:
851         (WebCore::InspectorStyleSheet::reparseStyleSheet):
852         * svg/SVGElementRareData.h:
853         (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
854         * svg/SVGFontFaceElement.cpp:
855         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
856         * svg/SVGStyledElement.cpp:
857         (WebCore::SVGStyledElement::getPresentationAttribute):
858         * xml/XSLStyleSheet.h:
859         (XSLStyleSheet):
860         * xml/XSLStyleSheetLibxslt.cpp:
861         (WebCore::XSLStyleSheet::parseString):
862         * xml/XSLStyleSheetQt.cpp:
863         (WebCore::XSLStyleSheet::parseString):
864
865 2012-03-29  Sanghyun Park  <sh919.park@samsung.com>
866
867         Fix the error type in JSAudioBufferSourceNodeCustom to pass layout test.
868         https://bugs.webkit.org/show_bug.cgi?id=81639
869
870         Reviewed by Eric Carlson.
871
872         Test : LayoutTest/webaudio/audiobuffersource-channels.html
873
874         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
875
876 2012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
877
878         Web Inspector: Existing UISourceCode should be loaded on scripts panel creation/reset.
879         https://bugs.webkit.org/show_bug.cgi?id=82614
880
881         Reviewed by Pavel Feldman.
882
883         UISourceCode are now loaded from DebuggerPresentationModel on scripts panel creation/reset.
884         This is needed to show snippets that are loaded before scripts panel creation and are not removed on navigation.
885
886         * inspector/front-end/ScriptsPanel.js:
887         (WebInspector.ScriptsPanel.prototype._handleUISourceCodeAdded):
888         (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
889         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
890         (WebInspector.ScriptsPanel.prototype._reset):
891         * inspector/front-end/SnippetsModel.js:
892         (WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):
893
894 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
895
896         Web Inspector: on a single click in Timeline overview, make a minimal selection centered around cursor
897         https://bugs.webkit.org/show_bug.cgi?id=82616
898
899         Reviewed by Pavel Feldman.
900
901         * inspector/front-end/TimelineOverviewPane.js:
902         (WebInspector.TimelineOverviewWindow): Explicitly handle single click on overview by creating a minimal window around cursor.
903         (WebInspector.TimelineOverviewWindow.prototype._resizeWindowMinimum):
904
905 2012-03-29  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
906
907         Unavailable pre-processor macro in non-Qt environments
908         https://bugs.webkit.org/show_bug.cgi?id=82042
909
910         Reviewed by Simon Hausmann.
911
912         This patch removes the use of the macro QT_VERSION_CHECK() because, in
913         non-Qt environments, the pre-processors raises an error. Instead of
914         calling the macro to generate the version number, the version is
915         expressed directly.
916
917         * platform/graphics/texmap/TextureMapperGL.cpp:
918         (SharedGLData): remove pre-processor macro for Qt version check.
919
920 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
921
922         Web Inspector: event details popover in Timeline panel displays invalid time offset
923         https://bugs.webkit.org/show_bug.cgi?id=82611
924
925         Reviewed by Pavel Feldman.
926
927         * inspector/front-end/TimelinePresentationModel.js:
928         (WebInspector.TimelinePresentationModel.prototype.addRecord): use time in seconds, not raw model time for minimumRecordTime.
929
930 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
931
932         Web Inspector: use canvas to render bars in "vertical overview" mode
933         https://bugs.webkit.org/show_bug.cgi?id=82606
934
935         Reviewed by Pavel Feldman.
936
937         * inspector/front-end/TimelineOverviewPane.js: Use canvas instead of DOM for rendering vertical overview bars.
938         (WebInspector.TimelineVerticalOverview):
939         (WebInspector.TimelineVerticalOverview.prototype.update):
940         (WebInspector.TimelineVerticalOverview.prototype._renderBars):
941         (WebInspector.TimelineVerticalOverview.prototype._renderBar):
942         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
943         * inspector/front-end/timelinePanel.css: Drop styles previously used for DOM-based vertical overview rendering.
944         (.timeline-vertical-overview-bars):
945
946 2012-03-29  Andrey Kosyakov  <caseq@chromium.org>
947
948         Web Inspector: timeline overview window selection is not reset upon clear/record
949         https://bugs.webkit.org/show_bug.cgi?id=82603
950
951         Reviewed by Pavel Feldman.
952
953         - TimelineOverviewPane.reset() -> _reset();
954         - perform update() from reset();
955         - perform reset() upon RecordsCleared event from the model.
956
957         * inspector/front-end/TimelineOverviewPane.js:
958         (WebInspector.TimelineOverviewPane):
959         (WebInspector.TimelineOverviewPane.prototype._reset):
960         (WebInspector.TimelineVerticalOverview):
961         (WebInspector.TimelineVerticalOverview.prototype.update):
962         (WebInspector.TimelineVerticalOverview.prototype._renderBars):
963         (WebInspector.TimelineVerticalOverview.prototype._renderBar):
964         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
965         * inspector/front-end/timelinePanel.css:
966         (.timeline-vertical-overview-bars):
967
968 2012-03-29  Zalan Bujtas  <zbujtas@gmail.com>
969
970         Remove redundant updateViewportArguments() call when page is restored from page cache.
971         https://bugs.webkit.org/show_bug.cgi?id=82500
972
973         Reviewed by Kenneth Rohde Christiansen.
974
975         Document::updateViewportArguments() is called twice, while restoring a page from page cache.
976         First, it is called when the document is set on the mainframe and later, it is called
977         when page cache finished the restoration. Since viewport arguments don't change between
978         the 2 calls, it's safe to remove the second.
979
980         Manual test added. Viewport value updates heavily depend on UI process code.
981
982         * dom/Document.cpp:
983         (WebCore::Document::documentDidResumeFromPageCache):
984
985 2012-03-29  Charles Wei  <charles.wei@torchmobile.com.cn>
986
987         [BlackBerry] Add Internal test support for blackberry porting.
988         https://bugs.webkit.org/show_bug.cgi?id=82597
989
990         Reviewed by Rob Buis.
991
992         No new tests, just the build system enhancement for BlackBerry porting.
993
994         * UseJSC.cmake:
995
996 2012-03-28  Yury Semikhatsky  <yurys@chromium.org>
997
998         Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
999         https://bugs.webkit.org/show_bug.cgi?id=82453
1000
1001         When heap snapshot is completely loaded move nodes and containment edges
1002         into two separate arrays. This way we don't need _nodeIndex and _nodePosition
1003         maps to go from node offset inside the raw snapshot to its index and back, instead
1004         we may just divide node offset by the number of node fields to get node index. After
1005         the nodes and containment edges are separated original array (_nodes) is dropped.
1006         All front-end code was switched to the new representation.
1007
1008         Reviewed by Pavel Feldman.
1009
1010         * inspector/front-end/HeapSnapshot.js:
1011         (WebInspector.HeapSnapshotRetainerEdge):
1012         (WebInspector.HeapSnapshotRetainerEdge.prototype.clone):
1013         (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
1014         (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
1015         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext):
1016         (WebInspector.HeapSnapshotNode.prototype.get edgesCount):
1017         (WebInspector.HeapSnapshotNode.prototype.get rawEdges):
1018         (WebInspector.HeapSnapshotNode.prototype.get retainers):
1019         (WebInspector.HeapSnapshotNode.prototype.get _nodes):
1020         (WebInspector.HeapSnapshotNode.prototype._firstEdgeIndex):
1021         (WebInspector.HeapSnapshotNode.prototype._afterLastEdgeIndex):
1022         (WebInspector.HeapSnapshotNode.prototype.get _nextNodeIndex):
1023         (WebInspector.HeapSnapshot.prototype._init):
1024         (WebInspector.HeapSnapshot.prototype._splitNodesAndContainmentEdges):
1025         (WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
1026         (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
1027         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1028         (WebInspector.HeapSnapshot.prototype.dispose):
1029         (WebInspector.HeapSnapshot.prototype.get maxNodeId):
1030         (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
1031         (WebInspector.HeapSnapshot.prototype._bfs):
1032         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
1033         (WebInspector.HeapSnapshot.prototype._getDominatedIndex):
1034         (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
1035         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
1036
1037 2012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
1038
1039         [BlackBerry] Add m_targetType to WorkerScriptLoader
1040         https://bugs.webkit.org/show_bug.cgi?id=82574
1041
1042         Reviewed by Rob Buis.
1043
1044         Just as Chromium porting blackberry porting is using m_targetType also.
1045
1046         * workers/WorkerScriptLoader.h:
1047         (WorkerScriptLoader):
1048
1049 2012-03-29  Robin Cao  <robin.cao@torchmobile.com.cn>
1050
1051         [BlackBerry] Add an empty implementation of GraphicsContext3D::setErrorMessageCallback
1052         https://bugs.webkit.org/show_bug.cgi?id=82570
1053
1054         Reviewed by Rob Buis.
1055
1056         No new tests, no change in functionality.
1057
1058         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1059         (WebCore::GraphicsContext3D::setErrorMessageCallback): Add an empty implementation.
1060         (WebCore):
1061
1062 2012-03-29  Robin Cao  <robin.cao@torchmobile.com.cn>
1063
1064         [BlackBerry] Clean up ImageBufferData
1065         https://bugs.webkit.org/show_bug.cgi?id=82444
1066
1067         Reviewed by Rob Buis.
1068
1069         No behavior changes, no new tests.
1070
1071         * platform/graphics/blackberry/skia/ImageBufferDataSkia.h:
1072         (ImageBufferData): Remove unused member variable m_buffer and change the type
1073         of m_platformLayer from LayerWebKitThread to CanvasLayerWebKitThread.
1074
1075 2012-03-28  Antti Koivisto  <antti@apple.com>
1076
1077         Split WebKitCSSKeyframeRule into internal and CSSOM types 
1078         https://bugs.webkit.org/show_bug.cgi?id=82490 
1079
1080         Reviewed by Andreas Kling.
1081
1082         WebKitCSSKeyframeRule is a CSSOM type and should not be used internally.
1083         
1084         - Add StyleKeyframe as the internal data structure for keyframes.
1085         - WebKitCSSKeyframeRule becomes a wrapper for StyleKeyframe.
1086         - Use StyleKeyframe internally so WebKitCSSKeyframeRules are created on CSSOM access only.
1087
1088         * css/CSSGrammar.y:
1089         
1090             Use StyleKeyframes instead of WebKitCSSKeyframeRules.
1091         
1092         * css/CSSMediaRule.h:
1093         (CSSMediaRule):
1094         (WebCore::CSSMediaRule::length):
1095         (WebCore::CSSMediaRule::item):
1096         
1097             Adapt to LiveCSSRuleList changes.
1098         
1099         * css/CSSParser.cpp:
1100         (WebCore::CSSParser::parseKeyframeRule):
1101         (WebCore::CSSParser::createKeyframe):
1102         * css/CSSParser.h:        
1103         (WebCore):
1104         (CSSParser):
1105         
1106             Construct StyleKeyframes.
1107         
1108         * css/CSSRuleList.h:
1109         (WebCore::LiveCSSRuleList::length):
1110         (WebCore::LiveCSSRuleList::item):
1111
1112             Make LiveCSSRuleList call rule item()/length() to avoid accessor duplication.
1113     
1114         * css/CSSStyleSelector.cpp:
1115         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1116         * css/CSSStyleSelector.h:
1117         (CSSStyleSelector):
1118         * css/WebKitCSSKeyframeRule.cpp:
1119         
1120             Use StyleKeyframe.
1121             Make 0% and 100% keyframes static.
1122         
1123         (WebCore):
1124         (WebCore::StyleKeyframe::setProperties):
1125         (WebCore::StyleKeyframe::parseKeyString):
1126         (WebCore::StyleKeyframe::cssText):
1127         (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
1128         (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
1129         (WebCore::WebKitCSSKeyframeRule::style):
1130         * css/WebKitCSSKeyframeRule.h:
1131         (WebCore):
1132         (WebCore::StyleKeyframe::create):
1133         (WebCore::StyleKeyframe::keyText):
1134         (WebCore::StyleKeyframe::setKeyText):
1135         (StyleKeyframe):
1136         (WebCore::StyleKeyframe::properties):
1137         (WebCore::StyleKeyframe::StyleKeyframe):
1138         (WebKitCSSKeyframeRule):
1139         (WebCore::WebKitCSSKeyframeRule::keyText):
1140         (WebCore::WebKitCSSKeyframeRule::setKeyText):
1141         (WebCore::WebKitCSSKeyframeRule::cssText):
1142         
1143             Split to internal and CSSOM wrapper type. The wrapper refs StyleKeyframe. 
1144         
1145         * css/WebKitCSSKeyframesRule.cpp:
1146         (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
1147         (WebCore::WebKitCSSKeyframesRule::parserAppendKeyframe):
1148         (WebCore::WebKitCSSKeyframesRule::insertRule):
1149         (WebCore::WebKitCSSKeyframesRule::deleteRule):
1150         (WebCore::WebKitCSSKeyframesRule::findRule):
1151         (WebCore::WebKitCSSKeyframesRule::findKeyframeIndex):
1152         (WebCore::WebKitCSSKeyframesRule::cssText):
1153         (WebCore):
1154         (WebCore::WebKitCSSKeyframesRule::item):
1155         * css/WebKitCSSKeyframesRule.h:
1156         (WebCore):
1157         (WebCore::WebKitCSSKeyframesRule::keyframes):
1158         (WebKitCSSKeyframesRule):
1159         (WebCore::WebKitCSSKeyframesRule::length):
1160         
1161             Keep StyleKeyframes and the wrappers (WebKitCSSKeyframeRules) in separate vectors.
1162             Construct the wrapper vector and wrappers themselves on demand.
1163             Keep the vectors in sync during mutations.
1164         
1165         * css/WebKitCSSRegionRule.h:
1166         
1167             Adapt to LiveCSSRuleList changes.
1168
1169 2012-03-29  Zeno Albisser  <zeno@webkit.org>
1170
1171         Fieldset disabled attribute does not work.
1172         https://bugs.webkit.org/show_bug.cgi?id=58837
1173
1174         Make HTMLFormControlElements inherit the disabled state
1175         from HTMLFieldSetElement ancestors. Subordinates of the
1176         first HTMLLegendElement in a fieldset will never be disabled.
1177
1178         Patch by Zeno Albisser <zeno@webkit.org>
1179
1180         Test: fast/forms/fieldset-disabled.html
1181
1182         Reviewed by Kent Tamura.
1183
1184         * html/HTMLFieldSetElement.cpp:
1185         (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
1186         (WebCore):
1187         (WebCore::HTMLFieldSetElement::legend):
1188         * html/HTMLFieldSetElement.h:
1189         (HTMLFieldSetElement):
1190         * html/HTMLFieldSetElement.idl:
1191         * html/HTMLFormControlElement.cpp:
1192         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
1193         (WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
1194         (WebCore):
1195         (WebCore::HTMLFormControlElement::parseAttribute):
1196         (WebCore::HTMLFormControlElement::disabledAttributeChanged):
1197         (WebCore::HTMLFormControlElement::removedFromTree):
1198         (WebCore::HTMLFormControlElement::disabled):
1199         * html/HTMLFormControlElement.h:
1200         (WebCore):
1201         (HTMLFormControlElement):
1202
1203 2012-03-29  Tommy Widenflycht  <tommyw@google.com>
1204
1205         MediaStream API: Adding two missing release() calls to PeerConnection00.cpp
1206         https://bugs.webkit.org/show_bug.cgi?id=82584
1207
1208         Reviewed by Adam Barth.
1209
1210         No changes that affects functionality.
1211
1212         * Modules/mediastream/PeerConnection00.cpp:
1213         (WebCore::PeerConnection00::createOffer):
1214         (WebCore::PeerConnection00::createAnswer):
1215
1216 2012-03-29  Ryosuke Niwa  <rniwa@webkit.org>
1217
1218         Pack bitfields in InlineBox for Windows
1219         https://bugs.webkit.org/show_bug.cgi?id=82578
1220
1221         Reviewed by Kent Tamura.
1222
1223         Unlike gcc and clang, MSVC pads each consecutive member variables of the same type in bitfields. e.g. if you have:
1224         sturct AB {
1225         unsigned m_1 : 31;
1226         bool m_2 : 1;
1227         }
1228         then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang only allocate
1229         sizeof(unsigned) * 1 for AB.
1230
1231         Fixed the bug by packing all bitfields in InlineBox into InlineBoxBitfields and always using either unsigned or int.
1232
1233         * rendering/EllipsisBox.cpp:
1234         (WebCore::EllipsisBox::paint):
1235         (WebCore::EllipsisBox::selectionRect):
1236         (WebCore::EllipsisBox::nodeAtPoint):
1237         * rendering/InlineBox.cpp:
1238         (WebCore):
1239         (SameSizeAsInlineBox):
1240         (WebCore::InlineBox::logicalHeight):
1241         (WebCore::InlineBox::baselinePosition): Moved from the header file since it's a virtual function.
1242         (WebCore::InlineBox::lineHeight): Ditto.
1243         (WebCore::InlineBox::deleteLine):
1244         (WebCore::InlineBox::extractLine):
1245         (WebCore::InlineBox::attachLine):
1246         (WebCore::InlineBox::nextOnLineExists):
1247         (WebCore::InlineBox::clearKnownToHaveNoOverflow):
1248         * rendering/InlineBox.h:
1249         (WebCore::InlineBox::InlineBox):
1250         (WebCore::InlineBox::isText):
1251         (WebCore::InlineBox::setIsText):
1252         (WebCore::InlineBox::hasVirtualLogicalHeight):
1253         (WebCore::InlineBox::setHasVirtualLogicalHeight):
1254         (WebCore::InlineBox::isHorizontal):
1255         (WebCore::InlineBox::setIsHorizontal):
1256         (WebCore::InlineBox::isConstructed):
1257         (WebCore::InlineBox::setConstructed):
1258         (WebCore::InlineBox::setExtracted):
1259         (WebCore::InlineBox::setFirstLineStyleBit):
1260         (WebCore::InlineBox::isFirstLineStyle):
1261         (InlineBox):
1262         (WebCore::InlineBox::bidiLevel):
1263         (WebCore::InlineBox::setBidiLevel):
1264         (WebCore::InlineBox::direction):
1265         (WebCore::InlineBox::isDirty):
1266         (WebCore::InlineBox::markDirty):
1267         (WebCore::InlineBox::expansion):
1268         (WebCore::InlineBox::verticalAlign):
1269         (WebCore::InlineBox::knownToHaveNoOverflow):
1270         (WebCore::InlineBox::dirOverride):
1271         (WebCore::InlineBox::setDirOverride):
1272         (InlineBoxBitfields):
1273         (WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
1274         (WebCore::InlineBox::InlineBoxBitfields::bidiEmbeddingLevel):
1275         (WebCore::InlineBox::InlineBoxBitfields::setBidiEmbeddingLevel):
1276         (WebCore::InlineBox::InlineBoxBitfields::determinedIfNextOnLineExists):
1277         (WebCore::InlineBox::InlineBoxBitfields::setDeterminedIfNextOnLineExists):
1278         (WebCore::InlineBox::InlineBoxBitfields::nextOnLineExists):
1279         (WebCore::InlineBox::InlineBoxBitfields::setNextOnLineExists):
1280         (WebCore::InlineBox::InlineBoxBitfields::expansion):
1281         (WebCore::InlineBox::InlineBoxBitfields::setExpansion):
1282         (WebCore::InlineBox::endsWithBreak):
1283         (WebCore::InlineBox::setEndsWithBreak):
1284         (WebCore::InlineBox::hasEllipsisBox):
1285         (WebCore::InlineBox::hasSelectedChildren):
1286         (WebCore::InlineBox::setHasSelectedChildren):
1287         (WebCore::InlineBox::setHasEllipsisBox):
1288         (WebCore::InlineBox::hasHyphen):
1289         (WebCore::InlineBox::setHasHyphen):
1290         (WebCore::InlineBox::canHaveLeadingExpansion):
1291         (WebCore::InlineBox::setCanHaveLeadingExpansion):
1292         (WebCore::InlineBox::setExpansion):
1293         (WebCore::InlineBox::extracted):
1294         * rendering/InlineFlowBox.cpp:
1295         (WebCore::InlineFlowBox::addToLine):
1296         (WebCore::InlineFlowBox::removeChild):
1297         (WebCore::InlineFlowBox::extractLine):
1298         (WebCore::InlineFlowBox::attachLine):
1299         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
1300         (WebCore::InlineFlowBox::requiresIdeographicBaseline):
1301         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1302         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1303         (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
1304         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1305         (WebCore::InlineFlowBox::paintBoxDecorations):
1306         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
1307         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
1308         * rendering/InlineTextBox.cpp:
1309         (WebCore::InlineTextBox::destroy):
1310         (WebCore::InlineTextBox::logicalOverflowRect):
1311         (WebCore::InlineTextBox::setLogicalOverflowRect):
1312         (WebCore::InlineTextBox::baselinePosition):
1313         (WebCore::InlineTextBox::lineHeight):
1314         (WebCore::InlineTextBox::localSelectionRect):
1315         (WebCore::InlineTextBox::extractLine):
1316         (WebCore::InlineTextBox::attachLine):
1317         (WebCore::InlineTextBox::placeEllipsisBox):
1318         (WebCore::InlineTextBox::paint):
1319         (WebCore::InlineTextBox::paintDecoration):
1320         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1321         (WebCore::InlineTextBox::paintCompositionUnderline):
1322         (WebCore::InlineTextBox::offsetForPosition):
1323         (WebCore::InlineTextBox::positionForOffset):
1324         (WebCore::InlineTextBox::constructTextRun):
1325         * rendering/InlineTextBox.h:
1326         (InlineTextBox):
1327         (WebCore::InlineTextBox::setExpansion):
1328         (WebCore::InlineTextBox::expansionBehavior):
1329         * rendering/RenderBlockLineLayout.cpp:
1330         (WebCore::RenderBlock::constructLine):
1331         * rendering/RenderTreeAsText.cpp:
1332         (WebCore::writeTextRun):
1333         * rendering/RootInlineBox.cpp:
1334         (WebCore::RootInlineBox::baselinePosition): Moved from the header file since it's a virtual function.
1335         (WebCore::RootInlineBox::lineHeight): Ditto.
1336         (WebCore::RootInlineBox::paint):
1337         (WebCore::RootInlineBox::ascentAndDescentForBox):
1338         (WebCore::RootInlineBox::verticalPositionForBox):
1339         * rendering/RootInlineBox.h:
1340         (RootInlineBox):
1341         * rendering/svg/SVGInlineTextBox.cpp:
1342         (WebCore::SVGInlineTextBox::constructTextRun):
1343         * rendering/svg/SVGRenderTreeAsText.cpp:
1344         (WebCore::writeSVGInlineTextBox):
1345
1346 2012-03-29  hayato@chromium.org  <hayato@chromium.org>
1347
1348         Let focus navigation be compliant with Shadow DOM spec.
1349         https://bugs.webkit.org/show_bug.cgi?id=78588
1350
1351         Reviewed by Dimitri Glazkov.
1352
1353         Re-landing r112500. Fixed an assertion failure on ReifiedTreeTraversal.
1354
1355         Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.
1356
1357         According to the Shadow DOM spec:
1358         The shadow DOM navigation order sequence is inserted into the document navigation order:
1359         1. immediately after the shadow host, if the shadow host is focusable; or
1360         2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.
1361
1362         Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
1363         since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
1364         Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.
1365
1366         Implementation notes:
1367         Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
1368         Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
1369         To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
1370         it does not skip a non-focusable shadow host in current focus scope.
1371         After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
1372         considering a nested focus scope inside of a shadow host or iframe.
1373         To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.
1374
1375         This change does not affect an existing behavior if a shadow dom is not involved.
1376
1377         Test: fast/dom/shadow/focus-navigation.html
1378
1379         * dom/Element.cpp:
1380         (WebCore::Element::focus):
1381         * dom/ReifiedTreeTraversal.cpp:
1382         (WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
1383         * page/FocusController.cpp:
1384         (WebCore::isShadowHost):
1385         (WebCore):
1386         (WebCore::FocusScope::FocusScope):
1387         (WebCore::FocusScope::rootNode):
1388         (WebCore::FocusScope::owner):
1389         (WebCore::FocusScope::focusScopeOf):
1390         (WebCore::FocusScope::focusScopeOwnedByShadowHost):
1391         (WebCore::FocusScope::focusScopeOwnedByIFrame):
1392         (WebCore::hasCustomFocusLogic):
1393         (WebCore::isNonFocusableShadowHost):
1394         (WebCore::isFocusableShadowHost):
1395         (WebCore::adjustedTabIndex):
1396         (WebCore::shouldVisit):
1397         (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
1398         (WebCore::FocusController::advanceFocusInDocumentOrder):
1399         (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
1400         (WebCore::FocusController::findFocusableNodeRecursively):
1401         (WebCore::FocusController::findFocusableNode):
1402         (WebCore::FocusController::findNodeWithExactTabIndex):
1403         (WebCore::nextNodeWithGreaterTabIndex):
1404         (WebCore::previousNodeWithLowerTabIndex):
1405         (WebCore::FocusController::nextFocusableNode):
1406         (WebCore::FocusController::previousFocusableNode):
1407         * page/FocusController.h:
1408         (WebCore):
1409         (FocusScope):
1410         (FocusController):
1411
1412 2012-03-28  Kinuko Yasuda  <kinuko@chromium.org>
1413
1414         [chromium] Add isolated filesystem type and WebDragData::filesystem_id for drag-and-drop using File/DirectoryEntry.
1415         https://bugs.webkit.org/show_bug.cgi?id=76826
1416
1417         Add two helper methods for creating isolated filesystem to the
1418         PlatformSupport interface.
1419
1420         Reviewed by David Levin.
1421
1422         No new tests: tests will be added when app-facing code is added.
1423
1424         * platform/chromium/PlatformSupport.h:
1425         (PlatformSupport):
1426
1427 2012-03-29  Vineet Chaudhary  <rgf748@motorola.com>
1428
1429         Remove custom bindings form Internals.idl of attribute type Array.
1430         https://bugs.webkit.org/show_bug.cgi?id=82319
1431
1432         Reviewed by Kentaro Hara.
1433
1434         Remove custom bindings for Array type and replace Array type with sequence<String>.
1435
1436         No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
1437         even after these changes.
1438
1439         * Target.pri: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
1440         * UseJSC.cmake: Remove JSInternalsCustom.cpp.
1441         * UseV8.cmake: Remove V8InternalsCustom.cpp.
1442         * WebCore.gypi: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
1443         * WebCore.vcproj/WebCoreTestSupport.vcproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
1444         * WebCore.xcodeproj/project.pbxproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
1445         * bindings/js/JSDOMBinding.h:
1446         (WebCore):
1447         (WebCore::jsArray): Added new specialize function template for Strings.
1448         * bindings/scripts/CodeGeneratorJS.pm:
1449         (JSValueToNative): Add jsArray<String>() to deduce return type.
1450         (NativeToJSValue): Added check for type String.
1451         * bindings/scripts/CodeGeneratorV8.pm:
1452         (JSValueToNative): Add v8Array<String>() to deduce return type.
1453         (NativeToJSValue): Added check for type String.
1454         * bindings/scripts/test/JS/JSTestObj.cpp:
1455         (WebCore::setJSTestObjSequenceAttr): Modified results from run-binding-tests.
1456         * bindings/scripts/test/V8/V8TestObj.cpp: Modified results from run-binding-tests.
1457         (WebCore::TestObjInternal::sequenceAttrAttrSetter):
1458         * bindings/v8/V8Binding.h: Added new specialize function template for Strings.
1459         (WebCore):
1460         (WebCore::v8Array):
1461         (WebCore::toNativeArray):
1462         * testing/Internals.idl: Replace Array type with sequence<String>
1463         * testing/js/JSInternalsCustom.cpp: Removed.
1464         * testing/v8/V8InternalsCustom.cpp: Removed.
1465
1466 2012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1467
1468         Unreviewed, rolling out r112500.
1469         http://trac.webkit.org/changeset/112500
1470         https://bugs.webkit.org/show_bug.cgi?id=82576
1471
1472         assertion failed on fast/events/tab-test-not-visible-
1473         imagemap.html on gtk/qt (Requested by hayato on #webkit).
1474
1475         * dom/Element.cpp:
1476         (WebCore::Element::focus):
1477         * page/FocusController.cpp:
1478         (WebCore):
1479         (WebCore::shadowRoot):
1480         (WebCore::isTreeScopeOwner):
1481         (WebCore::FocusController::transferFocusToElementInShadowRoot):
1482         (WebCore::hasCustomFocusLogic):
1483         (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
1484         (WebCore::FocusController::advanceFocusInDocumentOrder):
1485         (WebCore::ownerOfTreeScope):
1486         (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
1487         (WebCore::FocusController::findFocusableNode):
1488         (WebCore::nextNodeWithExactTabIndex):
1489         (WebCore::previousNodeWithExactTabIndex):
1490         (WebCore::nextNodeWithGreaterTabIndex):
1491         (WebCore::previousNodeWithLowerTabIndex):
1492         (WebCore::FocusController::nextFocusableNode):
1493         (WebCore::FocusController::previousFocusableNode):
1494         * page/FocusController.h:
1495         (WebCore):
1496         (FocusController):
1497
1498 2012-03-28  Kent Tamura  <tkent@chromium.org>
1499
1500         Add TextFieldDecorationElement::decorate()
1501         https://bugs.webkit.org/show_bug.cgi?id=82572
1502
1503         Reviewed by Hajime Morita.
1504
1505         This change will be needed for Bug 82143.
1506         No new tests because of no behavior changes yet. This code change
1507         doesn't affect non-Chromium ports for now.
1508
1509         * dom/ShadowRoot.cpp:
1510         (WebCore::ShadowRoot::create):
1511         Remove unnecessary assertion. We should allow multiple UA shadow roots.
1512         * html/shadow/TextFieldDecorationElement.cpp:
1513         (WebCore::TextFieldDecorationElement::decorate):
1514         Added.
1515         This function adds another ShadowRoot, and it contains one flexible box container.
1516         The container contains existin ShadowRoot content and the decoration element.
1517         * html/shadow/TextFieldDecorationElement.h:
1518         (TextFieldDecorationElement): Add the declaration of decorate().
1519
1520 2012-03-28  Vineet Chaudhary  <rgf748@motorola.com>
1521
1522         Consider removal of removes jsNull()/v8::Null() from JSInternalsCustom.cpp/V8InternalsCustom.cpp
1523         https://bugs.webkit.org/show_bug.cgi?id=82442
1524
1525         Reviewed by Kentaro Hara.
1526
1527         No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
1528         even after these changes.
1529
1530         * testing/js/JSInternalsCustom.cpp: Remove jsNull() if Vector is empty.
1531         (WebCore::JSInternals::userPreferredLanguages):
1532         * testing/v8/V8InternalsCustom.cpp: Remove v8::Null() if Vector is empty.
1533         (WebCore::V8Internals::userPreferredLanguagesAccessorGetter):
1534
1535 2012-03-28  Hayato Ito  <hayato@chromium.org>
1536
1537         Let focus navigation be compliant with Shadow DOM spec.
1538         https://bugs.webkit.org/show_bug.cgi?id=78588
1539
1540         Reviewed by Dimitri Glazkov.
1541
1542         Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.
1543
1544         According to the Shadow DOM spec:
1545         The shadow DOM navigation order sequence is inserted into the document navigation order:
1546         1. immediately after the shadow host, if the shadow host is focusable; or
1547         2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.
1548
1549         Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
1550         since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
1551         Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.
1552
1553         Implementation notes:
1554         Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
1555         Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
1556         To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
1557         it does not skip a non-focusable shadow host in current focus scope.
1558         After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
1559         considering a nested focus scope inside of a shadow host or iframe.
1560         To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.
1561
1562         This change does not affect an existing behavior if a shadow dom is not involved.
1563
1564         Test: fast/dom/shadow/focus-navigation.html
1565
1566         * dom/Element.cpp:
1567         (WebCore::Element::focus):
1568         * page/FocusController.cpp:
1569         (WebCore::isShadowHost):
1570         (WebCore):
1571         (WebCore::FocusScope::FocusScope):
1572         (WebCore::FocusScope::rootNode):
1573         (WebCore::FocusScope::owner):
1574         (WebCore::FocusScope::focusScopeOf):
1575         (WebCore::FocusScope::focusScopeOwnedByShadowHost):
1576         (WebCore::FocusScope::focusScopeOwnedByIFrame):
1577         (WebCore::hasCustomFocusLogic):
1578         (WebCore::isNonFocusableShadowHost):
1579         (WebCore::isFocusableShadowHost):
1580         (WebCore::adjustedTabIndex):
1581         (WebCore::shouldVisit):
1582         (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
1583         (WebCore::FocusController::advanceFocusInDocumentOrder):
1584         (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
1585         (WebCore::FocusController::findFocusableNodeRecursively):
1586         (WebCore::FocusController::findFocusableNode):
1587         (WebCore::FocusController::findNodeWithExactTabIndex):
1588         (WebCore::nextNodeWithGreaterTabIndex):
1589         (WebCore::previousNodeWithLowerTabIndex):
1590         (WebCore::FocusController::nextFocusableNode):
1591         (WebCore::FocusController::previousFocusableNode):
1592         * page/FocusController.h:
1593         (WebCore):
1594         (FocusScope):
1595         (FocusController):
1596
1597 2012-03-28  Li Yin  <li.yin@intel.com>
1598
1599         [WebSocket]Browser must fail connection if Sec-WebSocket-Protocol mismatched.
1600         https://bugs.webkit.org/show_bug.cgi?id=82307
1601
1602         Reviewed by Kent Tamura.
1603
1604         From RFC6455: http://tools.ietf.org/html/rfc6455#section-4.1
1605         If the WebSocket openhanding respond included the mismatched
1606         Sec-WebSocket-Protocol header field, the client must fail the WebSocket Connection.
1607
1608         Test: http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html
1609
1610         * Modules/websockets/WebSocketHandshake.cpp:
1611         (WebCore::WebSocketHandshake::checkResponseHeaders):
1612
1613 2012-03-28  Jessie Berlin  <jberlin@apple.com>
1614
1615         Fix Windows build after r112482.
1616
1617         * platform/network/cf/FormDataStreamCFNet.cpp:
1618         (WebCore::formOpen):
1619         Do not attempt to use an OS X error code on Windows. Use the POSIX errno instead.
1620
1621 2012-03-28  Alexandru Chiculita  <achicu@adobe.com>
1622
1623         [CSS Filters] Avoid rebuilding FEFilters when RenderLayer is destroyed
1624         https://bugs.webkit.org/show_bug.cgi?id=82524
1625
1626         Reviewed by Dean Jackson.
1627
1628         RenderLayer::~RenderLayer is calling clearBacking which updated the m_filter with new filters,
1629         even though they were to be deleted a couple of lines below. This change avoids updating the filters,
1630         if we are in the "destroyed" state.
1631
1632         No new tests. This change has no visible results to HTML or JavaScript, so it cannot be tested without a debugger.
1633
1634         * rendering/RenderLayer.cpp:
1635         (WebCore::RenderLayer::~RenderLayer):
1636         (WebCore::RenderLayer::clearBacking):
1637         * rendering/RenderLayer.h:
1638         (RenderLayer):
1639
1640 2012-03-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1641
1642         Remove ScriptExecutionContext from NavigatorBattery.idl
1643         https://bugs.webkit.org/show_bug.cgi?id=82556
1644
1645         Reviewed by Adam Barth.
1646
1647         As Bug 73528 comment #71, NavigatorBattery.idl doesn't need to have ScriptExecutionContext.
1648         Document can be used instead of ScriptExecutionContext.
1649
1650         Tests: batterystatus/add-listener-from-callback.html
1651                batterystatus/basic-all-types-of-events.html
1652                batterystatus/basic-operation.html
1653                batterystatus/event-after-navigation.html
1654                batterystatus/multiple-frames.html
1655                batterystatus/updates.html
1656                batterystatus/window-property.html
1657
1658         * Modules/battery/BatteryManager.cpp:
1659         (WebCore::BatteryManager::create):
1660         (WebCore::BatteryManager::BatteryManager):
1661         * Modules/battery/BatteryManager.h:
1662         (BatteryManager):
1663         * Modules/battery/NavigatorBattery.cpp:
1664         (WebCore::NavigatorBattery::webkitBattery):
1665         * Modules/battery/NavigatorBattery.h:
1666         (NavigatorBattery):
1667         * Modules/battery/NavigatorBattery.idl:
1668
1669 2012-03-28  Jason Liu  <jason.liu@torchmobile.com.cn>
1670
1671         [BlackBerry]Missing cookies from HTTP response header in Network tab of Web Inspector.
1672         https://bugs.webkit.org/show_bug.cgi?id=82041
1673
1674         We shouldn't overwrite cookies of response if there are more than one
1675         header of Set-Cookie.
1676
1677         Reviewed by Rob Buis.
1678
1679         Test: http/tests/cookies/resources/setArraycookies.php
1680
1681         * platform/network/blackberry/NetworkJob.cpp:
1682         (WebCore::NetworkJob::handleNotifyHeaderReceived):
1683
1684 2012-03-28  Noel Gordon  <noel.gordon@gmail.com>
1685
1686         JPEGImageDecoder: Set frame alpha state before marking a frame complete
1687         https://bugs.webkit.org/show_bug.cgi?id=82428
1688
1689         Reviewed by Kenneth Russell.
1690
1691         r109779 changed JPEG alpha channel handling by marking a JPEG image frame
1692         as having no alpha _after_ setting the image status frame-complete, which
1693         prevents the application of image color profiles in some WebGL cases.
1694
1695         No new tests. The application of the color profile is not guaranteed for
1696         images used as textures in WebGL. Refer to http://wkb.ug/76498.
1697
1698         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1699         (WebCore::JPEGImageDecoder::jpegComplete): Set the image frame alpha state
1700         before marking the image frame status as frame-complete.
1701
1702 2012-03-28  Emil A Eklund  <eae@chromium.org>
1703
1704         Fix rounding in RenderInline::paintOutlineForLine
1705         https://bugs.webkit.org/show_bug.cgi?id=82540
1706
1707         Reviewed by Eric Seidel.
1708
1709         No new tests, no change in functionality.
1710
1711         * rendering/RenderInline.cpp:
1712         (WebCore::RenderInline::paintOutlineForLine):
1713         Change paintOutlineForLine to pixel snap the left and right edges of the
1714         lines instead of adding the offset to an already rounded number.
1715
1716 2012-03-28  David Grogan  <dgrogan@chromium.org>
1717
1718         IndexedDB: don't expose IDBDatabaseError to script
1719         https://bugs.webkit.org/show_bug.cgi?id=82280
1720
1721         It's not used anywhere and firefox doesn't expose it.
1722
1723         Reviewed by Tony Chang.
1724
1725         Test: storage/indexeddb/removed.html
1726
1727         * CMakeLists.txt:
1728         * DerivedSources.cpp:
1729         * DerivedSources.make:
1730         * DerivedSources.pri:
1731         * GNUmakefile.list.am:
1732         * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
1733         * Modules/indexeddb/IDBDatabaseError.idl: Removed.
1734         * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
1735         * WebCore.gypi:
1736         * WebCore.vcproj/WebCore.vcproj:
1737         * WebCore.xcodeproj/project.pbxproj:
1738
1739 2012-03-28  Kenichi Ishibashi  <bashi@chromium.org>
1740
1741         Respects font fallback list during webfonts are loading
1742         https://bugs.webkit.org/show_bug.cgi?id=76684
1743
1744         Reviewed by Dimitri Glazkov.
1745
1746         For layout, use the rest of the fallback list while webfonts are loading.
1747         If the webfont is loading, it will be given an invalid Unicode Range so that
1748         font selection mechansim doesn't use the webfont for layout.
1749
1750         Test: http/tests/webfont/fallback-font-while-loading.html
1751
1752         * css/CSSSegmentedFontFace.cpp:
1753         (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading): Added.
1754         (WebCore):
1755         (WebCore::CSSSegmentedFontFace::getFontData):
1756
1757 2012-03-28  Mark Rowe  <mrowe@apple.com>
1758
1759         Update Localizable.strings.
1760
1761         * English.lproj/Localizable.strings:
1762
1763 2012-03-28  Victor Carbune  <vcarbune@adobe.com>
1764
1765         Removed particular rendering for the volume slider and used
1766         css positioning instead (simpler and less prone to errors when
1767         changes occur).
1768         https://bugs.webkit.org/show_bug.cgi?id=82150
1769
1770         Reviewed by Eric Carlson.
1771
1772         Test: media/video-controls-rendering-toggle-display-none.html
1773
1774         * css/mediaControls.css: Updated css to correctly render controls.
1775         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1776         * css/mediaControlsChromium.css: Updated css to correctly render controls.
1777         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): 
1778         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1779         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1780         * html/shadow/MediaControlElements.cpp: Removed particular renderer.
1781         (WebCore):
1782         * html/shadow/MediaControlElements.h: Removed particular renderer.
1783         (MediaControlVolumeSliderContainerElement):
1784         * html/shadow/MediaControlRootElementChromium.cpp:
1785         (WebCore::MediaControlRootElementChromium::create): Added an anonymous div container
1786         for the mute button and volume slider (to be displayed on top of each other)
1787
1788 2012-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1789
1790         Unreviewed, rolling out r110064.
1791         http://trac.webkit.org/changeset/110064
1792         https://bugs.webkit.org/show_bug.cgi?id=82537
1793
1794         The patch leaks the DOM when audio elements are used
1795         (Requested by sundiamonde on #webkit).
1796
1797         * bindings/js/JSNodeCustom.cpp:
1798         (WebCore::isReachableFromDOM):
1799
1800 2012-03-28  Alexey Proskuryakov  <ap@apple.com>
1801
1802         [Win] Some Blob tests crash in CFNetwork in advanceCurrentStream(FormStreamFields*)
1803         https://bugs.webkit.org/show_bug.cgi?id=82386
1804         <rdar://problem/11121501>
1805
1806         Reviewed by Brady Eidson.
1807
1808         Covered by existing tests.
1809
1810         * platform/network/cf/FormDataStreamCFNet.cpp:
1811         * platform/network/cf/FormDataStreamCFNet.h:
1812         Moved low level implementation from FormDataStreamMac, and exposed an additional function
1813         to implement Foundation-based API on top of this.
1814
1815         * platform/network/mac/FormDataStreamMac.h:
1816         * platform/network/mac/FormDataStreamMac.mm:
1817         Rely on toll-free bridging and implementation details to make this work without duplicating
1818         code.
1819         Note that httpBodyFromStream is confusing - I don't see how it can work when sending serialized
1820         requests across process boundary. We probably only get away with this because we don't attempt
1821         to send requests to UI process once they already have streams associated with them.
1822
1823         * WebCore.vcproj/WebCore.vcproj: Added missing platform/cf files.
1824
1825         * platform/cf/FileSystemCF.cpp: Fixed include style.
1826
1827         * platform/win/FileSystemWin.cpp: (WebCore::fileSystemRepresentation): Ifdef out a broken
1828         implementation.
1829
1830 2012-03-28  Adrienne Walker  <enne@google.com>
1831
1832         [chromium] Fix tiled layer assert for huge layers
1833         https://bugs.webkit.org/show_bug.cgi?id=82486
1834
1835         Reviewed by James Robinson.
1836
1837         Test: TiledLayerChromiumTest.hugeLayerUpdateCrash
1838
1839         TilingData::numTiles() is calculated as the product of two ints and so
1840         can potentially overflow, causing numTiles() to be incorrect. To avoid
1841         calling code accidentally falling into this trap, remove this function
1842         and all code that uses tile index from TilingData.  This requires
1843         fixing up a bunch of callers of TilingData and CCLayerTilingData.
1844
1845         Additionally, TilingData::numTiles() has long been a confusing
1846         function name in some contexts, so rename to bool hasEmptyBounds().
1847
1848         Also, remove TilingData::intersectDrawQuad because there are no
1849         clients of that function.
1850
1851         * platform/graphics/chromium/TiledLayerChromium.cpp:
1852         (WebCore::TiledLayerChromium::drawsContent):
1853         (WebCore::TiledLayerChromium::reserveTextures):
1854         (WebCore::TiledLayerChromium::prepareToUpdate):
1855         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1856         (WebCore::TiledLayerChromium::needsIdlePaint):
1857         (WebCore::TiledLayerChromium::idlePaintRect):
1858         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
1859         (WebCore::CCLayerTilingData::tileRect):
1860         * platform/graphics/chromium/cc/CCLayerTilingData.h:
1861         (WebCore::CCLayerTilingData::hasEmptyBounds):
1862         (WebCore::CCLayerTilingData::tileBounds):
1863         (WebCore::CCLayerTilingData::isEmpty):
1864         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1865         (WebCore::CCTiledLayerImpl::bindContentsTexture):
1866         (WebCore::CCTiledLayerImpl::appendQuads):
1867         * platform/graphics/gpu/Texture.cpp:
1868         (WebCore::Texture::create):
1869         (WebCore::Texture::updateSubRect):
1870         * platform/graphics/gpu/TilingData.cpp:
1871         (WebCore::TilingData::tileBounds):
1872         (WebCore::TilingData::tileBoundsWithBorder):
1873         (WebCore::TilingData::tileBoundsNormalized):
1874         * platform/graphics/gpu/TilingData.h:
1875         (WebCore::TilingData::hasEmptyBounds):
1876         (TilingData):
1877         (WebCore::TilingData::assertTile):
1878
1879 2012-03-28  Emil A Eklund  <eae@chromium.org>
1880
1881         Change FilterOperations::getOutsets to use integers
1882         https://bugs.webkit.org/show_bug.cgi?id=82535
1883
1884         Reviewed by Eric Seidel.
1885
1886         FilterOperations::getOutsets calculates the outsets using integers and
1887         the values are guranteed to be set to full-pixel values. By changing the
1888         function signature we communicate this fact better and avoid unnecessary
1889         type conversions in some cases.
1890
1891         No new tests.
1892
1893         * platform/graphics/filters/FilterOperations.cpp:
1894         (WebCore::FilterOperations::getOutsets):
1895         * platform/graphics/filters/FilterOperations.h:
1896         (FilterOperations):
1897         * rendering/RenderBox.cpp:
1898         (WebCore::RenderBox::computeRectForRepaint):
1899         (WebCore::RenderBox::addVisualEffectOverflow):
1900         * rendering/RenderInline.cpp:
1901         (WebCore::RenderInline::computeRectForRepaint):
1902         * rendering/style/RenderStyle.h:
1903
1904 2012-03-28  Nate Chapin  <japhet@chromium.org>
1905
1906         Remove dispatchDidLoadMainResource callback, since no
1907         port implements it.
1908         https://bugs.webkit.org/show_bug.cgi?id=82539
1909
1910         Reviewed by Alexey Proskuryakov.
1911
1912         No new tests, just deleting dead code.
1913
1914         * loader/EmptyClients.h:
1915         (EmptyFrameLoaderClient):
1916         * loader/FrameLoader.cpp:
1917         (WebCore::FrameLoader::finishedLoading):
1918         (WebCore::FrameLoader::mainReceivedCompleteError):
1919         * loader/FrameLoaderClient.h:
1920         (FrameLoaderClient):
1921         * loader/MainResourceLoader.cpp:
1922         (WebCore::MainResourceLoader::receivedError):
1923         (WebCore::MainResourceLoader::didCancel):
1924
1925 2012-03-28  Enrica Casucci  <enrica@apple.com>
1926
1927         REGRESSION: editing/pasteboard/dataTransfer-setData-getData.html fails on Mac platforms.
1928         https://bugs.webkit.org/show_bug.cgi?id=82497
1929         <rdar://problem/11140334>
1930
1931         Reviewed by Brady Eidson.
1932         
1933         The revision causing this regression fixed the way data is written to the pasteboard for NSURLPboardType.
1934         This change fixes the way data is read from the pasteboard for the same pasteboard type.
1935
1936         No new tests. Fixes the existing one that fails.
1937
1938         * platform/mac/ClipboardMac.mm:
1939         (WebCore::absoluteURLsFromPasteboard):
1940         * platform/mac/PlatformPasteboardMac.mm:
1941         (WebCore::PlatformPasteboard::stringForType):
1942
1943 2012-03-28  Joe Thomas  <joethomas@motorola.com>
1944
1945         SL bot is hitting SHOULD NEVER BE REACHED in WebCore::valueForLength() on many tests
1946         https://bugs.webkit.org/show_bug.cgi?id=82390
1947
1948         Reviewed by Simon Fraser.
1949
1950         This is an attempt to fix the MAC SL/Lion Bot issue as this issue is not reproducible locally.
1951         The assertion happened when length type is Undefined in valueForLength() function but the assertion for Undefined length type
1952         in RenderBox::computeLogicalWidthInRegionUsing which calls the above said function did not get hit.
1953
1954         This patch passes Length structure as const reference to Length calculation functions which avoids the call to the copy-constructor.
1955         And it ensures that the Length structure is not getting modified during copy-construction. 
1956
1957         * css/LengthFunctions.cpp:
1958         (WebCore::minimumValueForLength):
1959         (WebCore::valueForLength):
1960         (WebCore::floatValueForLength):
1961         * css/LengthFunctions.h:
1962         (WebCore):
1963
1964 2012-03-28  Gavin Barraclough  <barraclough@apple.com>
1965
1966         Yarr: if we're not using the output array, don't populate it!
1967         https://bugs.webkit.org/show_bug.cgi?id=82519
1968
1969         Reviewed by Sam Weinig.
1970
1971         * ForwardingHeaders/runtime/MatchResult.h: Added.
1972         * ForwardingHeaders/yarr/YarrJIT.h: Added.
1973             - Added forwarding headers.
1974
1975 2012-03-23  David Hyatt  <hyatt@apple.com>
1976
1977         https://bugs.webkit.org/show_bug.cgi?id=81685
1978         
1979         [New Multicolumn] Add RenderMultiColumnFlowThread to hold the flow thread contents of a multi-column block.
1980         It derives from RenderFlowThread.
1981         
1982         Refactor RenderFlowThread to split out the stuff related to explicit naming into a subclass, RenderNamedFlowThread.
1983         This allows RenderFlowThread to be a simple base class that involves maintaining the regions themselves.
1984     
1985         Reviewed by Julien Chaffraix.
1986
1987         * CMakeLists.txt:
1988         * GNUmakefile.list.am:
1989         * Target.pri:
1990         * WebCore.gypi:
1991         * WebCore.vcproj/WebCore.vcproj:
1992         * WebCore.xcodeproj/project.pbxproj:
1993         * dom/Document.cpp:
1994         * dom/NodeRenderingContext.cpp:
1995         * dom/NodeRenderingContext.h:
1996         (WebCore):
1997         (WebCore::NodeRenderingContext::parentFlowRenderer):
1998         * dom/WebKitNamedFlow.cpp:
1999         (WebCore::WebKitNamedFlow::WebKitNamedFlow):
2000         * dom/WebKitNamedFlow.h:
2001         (WebCore):
2002         (WebCore::WebKitNamedFlow::create):
2003         (WebKitNamedFlow):
2004         * rendering/RenderBlock.cpp:
2005         (WebCore::RenderBlock::collapseAnonymousBoxChild):
2006         * rendering/RenderFlowThread.cpp:
2007         (WebCore::RenderFlowThread::RenderFlowThread):
2008         (WebCore):
2009         (WebCore::RenderFlowThread::addRegionToThread):
2010         (WebCore::RenderFlowThread::removeRegionFromThread):
2011         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
2012         * rendering/RenderFlowThread.h:
2013         (WebCore):
2014         * rendering/RenderMultiColumnFlowThread.cpp: Added.
2015         (WebCore):
2016         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
2017         (WebCore::RenderMultiColumnFlowThread::renderName):
2018         * rendering/RenderMultiColumnFlowThread.h: Added.
2019         (WebCore):
2020         (RenderMultiColumnFlowThread):
2021         * rendering/RenderNamedFlowThread.cpp: Added.
2022         (WebCore):
2023         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
2024         (WebCore::RenderNamedFlowThread::renderName):
2025         (WebCore::RenderNamedFlowThread::nextRendererForNode):
2026         (WebCore::RenderNamedFlowThread::previousRendererForNode):
2027         (WebCore::RenderNamedFlowThread::addFlowChild):
2028         (WebCore::RenderNamedFlowThread::removeFlowChild):
2029         (WebCore::RenderNamedFlowThread::dependsOn):
2030         (WebCore::compareRenderRegions):
2031         (WebCore::RenderNamedFlowThread::addRegionToThread):
2032         (WebCore::RenderNamedFlowThread::removeRegionFromThread):
2033         (WebCore::RenderNamedFlowThread::checkInvalidRegions):
2034         (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
2035         (WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
2036         (WebCore::RenderNamedFlowThread::pushDependencies):
2037         (WebCore::RenderNamedFlowThread::ensureNamedFlow):
2038         * rendering/RenderNamedFlowThread.h: Added.
2039         (WebCore):
2040         (RenderNamedFlowThread):
2041         (WebCore::RenderNamedFlowThread::name):
2042         (WebCore::RenderNamedFlowThread::hasChildren):
2043         (WebCore::RenderNamedFlowThread::hasChild):
2044         (WebCore::RenderNamedFlowThread::isRenderNamedFlowThread):
2045         (WebCore::toRenderNamedFlowThread):
2046         * rendering/RenderObject.cpp:
2047         (WebCore::RenderObject::willBeDestroyed):
2048         * rendering/RenderObject.h:
2049         (WebCore::RenderObject::isRenderNamedFlowThread):
2050         * rendering/RenderObjectChildList.cpp:
2051         (WebCore::renderNamedFlowThreadContainer):
2052         (WebCore::RenderObjectChildList::removeChildNode):
2053         (WebCore::RenderObjectChildList::appendChildNode):
2054         (WebCore::RenderObjectChildList::insertChildNode):
2055         * rendering/RenderRegion.cpp:
2056         (WebCore::RenderRegion::RenderRegion):
2057         (WebCore::RenderRegion::attachRegion):
2058         * rendering/RenderRegion.h:
2059         (WebCore):
2060         (WebCore::RenderRegion::parentNamedFlowThread):
2061         (RenderRegion):
2062         * rendering/RenderTreeAsText.cpp:
2063         (WebCore::writeRenderNamedFlowThreads):
2064         (WebCore::writeLayers):
2065         * rendering/RenderView.cpp:
2066         (WebCore::RenderView::RenderView):
2067         (WebCore::RenderView::layout):
2068         (WebCore::RenderView::styleDidChange):
2069         (WebCore::RenderView::ensureRenderFlowThreadWithName):
2070         (WebCore::RenderView::layoutRenderNamedFlowThreads):
2071         * rendering/RenderView.h:
2072         (WebCore):
2073         (RenderView):
2074         (WebCore::RenderView::hasRenderNamedFlowThreads):
2075         (WebCore::RenderView::isRenderNamedFlowThreadOrderDirty):
2076         (WebCore::RenderView::setIsRenderNamedFlowThreadOrderDirty):
2077         (WebCore::RenderView::renderNamedFlowThreadList):
2078
2079 2012-03-28  Emil A Eklund  <eae@chromium.org>
2080
2081         Remove unnecessary rounding in RenderLayerBacking
2082         https://bugs.webkit.org/show_bug.cgi?id=82529
2083
2084         Reviewed by Eric Seidel.
2085
2086         Remove rounding that is no longer required now that borderBoxRect returns
2087         an IntRect.
2088         
2089         No new tests.
2090
2091         * rendering/RenderLayerBacking.cpp:
2092         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2093         (WebCore::RenderLayerBacking::startAnimation):
2094         (WebCore::RenderLayerBacking::startTransition):
2095
2096 2012-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2097
2098         Unreviewed, rolling out r112432.
2099         http://trac.webkit.org/changeset/112432
2100         https://bugs.webkit.org/show_bug.cgi?id=82536
2101
2102         Causes ccs3 layout test asserts (Requested by enne on
2103         #webkit).
2104
2105         * platform/graphics/chromium/TiledLayerChromium.cpp:
2106         (WebCore::TiledLayerChromium::drawsContent):
2107         (WebCore::TiledLayerChromium::reserveTextures):
2108         (WebCore::TiledLayerChromium::prepareToUpdate):
2109         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
2110         (WebCore::TiledLayerChromium::needsIdlePaint):
2111         (WebCore::TiledLayerChromium::idlePaintRect):
2112         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
2113         (WebCore::CCLayerTilingData::tileRect):
2114         * platform/graphics/chromium/cc/CCLayerTilingData.h:
2115         (WebCore::CCLayerTilingData::numTiles):
2116         (WebCore::CCLayerTilingData::tileBounds):
2117         (WebCore::CCLayerTilingData::isEmpty):
2118         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2119         (WebCore::CCTiledLayerImpl::bindContentsTexture):
2120         (WebCore::CCTiledLayerImpl::appendQuads):
2121         * platform/graphics/filters/FECustomFilter.cpp:
2122         (WebCore::FECustomFilter::platformApplySoftware):
2123         * platform/graphics/gpu/Texture.cpp:
2124         (WebCore::Texture::create):
2125         (WebCore::Texture::updateSubRect):
2126         * platform/graphics/gpu/TilingData.cpp:
2127         (WebCore::TilingData::tileBounds):
2128         (WebCore::TilingData::tileBoundsWithBorder):
2129         (WebCore::TilingData::tileBoundsNormalized):
2130         (WebCore::TilingData::intersectDrawQuad):
2131         (WebCore):
2132         * platform/graphics/gpu/TilingData.h:
2133         (WebCore::TilingData::numTiles):
2134         (WebCore::TilingData::tileIndex):
2135         (WebCore::TilingData::tileXIndex):
2136         (WebCore::TilingData::tileYIndex):
2137         (TilingData):
2138         (WebCore::TilingData::assertTile):
2139
2140 2012-03-27  Daniel Cheng  <dcheng@chromium.org>
2141
2142         [chromium] Merge ChromiumDataObject and DataTransferItemListChromium.
2143         https://bugs.webkit.org/show_bug.cgi?id=82407
2144
2145         Reviewed by Tony Chang.
2146
2147         Since ChromiumDataObject is just a very thin wrapper for DataTransferItemListChromium now,
2148         combine the two and remove a layer of indirection.
2149
2150         No functionality change, should be covered by existing tests.
2151
2152         * WebCore.gypi:
2153         * platform/chromium/ChromiumDataObject.cpp: Replacing DataTransferItemListChromium.
2154         (WebCore::ChromiumDataObject::createFromPasteboard):
2155         (WebCore::ChromiumDataObject::create):
2156         (WebCore::ChromiumDataObject::length):
2157         (WebCore):
2158         (WebCore::ChromiumDataObject::item):
2159         (WebCore::ChromiumDataObject::deleteItem):
2160         (WebCore::ChromiumDataObject::clearAll):
2161         (WebCore::ChromiumDataObject::add):
2162         (WebCore::ChromiumDataObject::clearData):
2163         (WebCore::ChromiumDataObject::clearAllExceptFiles):
2164         (WebCore::ChromiumDataObject::types):
2165         (WebCore::ChromiumDataObject::getData):
2166         (WebCore::ChromiumDataObject::setData):
2167         (WebCore::ChromiumDataObject::urlAndTitle):
2168         (WebCore::ChromiumDataObject::setURLAndTitle):
2169         (WebCore::ChromiumDataObject::htmlAndBaseURL):
2170         (WebCore::ChromiumDataObject::setHTMLAndBaseURL):
2171         (WebCore::ChromiumDataObject::containsFilenames):
2172         (WebCore::ChromiumDataObject::filenames):
2173         (WebCore::ChromiumDataObject::addFilename):
2174         (WebCore::ChromiumDataObject::addSharedBuffer):
2175         (WebCore::ChromiumDataObject::ChromiumDataObject):
2176         (WebCore::ChromiumDataObject::findStringItem):
2177         (WebCore::ChromiumDataObject::internalAddStringItem):
2178         (WebCore::ChromiumDataObject::internalAddFileItem):
2179         * platform/chromium/ChromiumDataObject.h:
2180         (WebCore):
2181         (ChromiumDataObject):
2182         * platform/chromium/ChromiumDataObjectItem.cpp: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.cpp.
2183         (WebCore):
2184         (WebCore::ChromiumDataObjectItem::createFromString):
2185         (WebCore::ChromiumDataObjectItem::createFromFile):
2186         (WebCore::ChromiumDataObjectItem::createFromURL):
2187         (WebCore::ChromiumDataObjectItem::createFromHTML):
2188         (WebCore::ChromiumDataObjectItem::createFromSharedBuffer):
2189         (WebCore::ChromiumDataObjectItem::createFromPasteboard):
2190         (WebCore::ChromiumDataObjectItem::ChromiumDataObjectItem):
2191         (WebCore::ChromiumDataObjectItem::getAsString):
2192         (WebCore::ChromiumDataObjectItem::getAsFile):
2193         (WebCore::ChromiumDataObjectItem::internalGetAsString):
2194         (WebCore::ChromiumDataObjectItem::isFilename):
2195         * platform/chromium/ChromiumDataObjectItem.h: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.h.
2196         (WebCore):
2197         (ChromiumDataObjectItem):
2198         (WebCore::ChromiumDataObjectItem::kind):
2199         (WebCore::ChromiumDataObjectItem::type):
2200         (WebCore::ChromiumDataObjectItem::sharedBuffer):
2201         (WebCore::ChromiumDataObjectItem::title):
2202         (WebCore::ChromiumDataObjectItem::baseURL):
2203         * platform/chromium/ClipboardChromium.cpp:
2204         (WebCore::ClipboardChromium::files):
2205         (WebCore::ClipboardChromium::hasData):
2206         (WebCore::ClipboardChromium::items):
2207         * platform/chromium/DataTransferItemListChromium.cpp: Removed.
2208         * platform/chromium/DataTransferItemListChromium.h: Removed.
2209
2210 2012-03-28  Nat Duca  <nduca@chromium.org>
2211
2212         [chromium] Scheduler should not tell FrameRateController to begin a frame when we dont swap
2213         https://bugs.webkit.org/show_bug.cgi?id=82516
2214
2215         Reviewed by James Robinson.
2216
2217         * platform/graphics/chromium/LayerRendererChromium.cpp:
2218         (WebCore::LayerRendererChromium::swapBuffers):
2219         * platform/graphics/chromium/LayerRendererChromium.h:
2220         (LayerRendererChromium):
2221         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2222         (WebCore::CCLayerTreeHostImpl::swapBuffers):
2223         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2224         (CCLayerTreeHostImpl):
2225         * platform/graphics/chromium/cc/CCScheduler.cpp:
2226         (WebCore::CCScheduler::processScheduledActions):
2227         * platform/graphics/chromium/cc/CCScheduler.h:
2228         (WebCore::CCScheduledActionDrawAndSwapResult::CCScheduledActionDrawAndSwapResult):
2229         (CCScheduledActionDrawAndSwapResult):
2230         (WebCore):
2231         (CCSchedulerClient):
2232         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2233         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
2234         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
2235         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
2236         * platform/graphics/chromium/cc/CCThreadProxy.h:
2237         (CCThreadProxy):
2238
2239 2012-03-26  Eric Uhrhane  <ericu@chromium.org>
2240
2241         FileWriter has two race conditions
2242         https://bugs.webkit.org/show_bug.cgi?id=81861
2243
2244         Reviewed by David Levin.
2245
2246         Should make current tests less flaky.
2247
2248         * Modules/filesystem/FileWriter.h:
2249         * Modules/filesystem/FileWriter.cpp:
2250         Track the in-flight operation, whether it be an abort/write/truncate.
2251         Whether an abort comes back as didWrite, didTruncate, or didFail, handle
2252         it appropriately.  Before this fix, the Chromium implementation would
2253         assert in two cases:
2254
2255         If the user calls abort, then write, then abort before the backend
2256         catches up, we'd send both aborts to the backend, even though it hadn't
2257         received the write yet.  Chromium's backend asserts if there's an abort
2258         with no write in progress.  We now record that we've sent an abort and
2259         are waiting for the response.
2260
2261         If the user calls abort while a write/truncate is just finishing, on the
2262         Chromium worker implementation, the completion message could be
2263         thread-hopping back to WebCore at the
2264         WorkerAsyncFileWriterCallbacksBridge while the abort is thread-hopping
2265         in the other direction.  Again, this leads to an abort call to the
2266         backend with no write in progress, and an assert.  We're now robust to
2267         completions coming back when we're expecting an abort, and
2268         https://chromiumcodereview.appspot.com/9764018/ will make the backend
2269         robust to extra abort calls.
2270
2271 2012-03-27  Ryosuke Niwa  <rniwa@webkit.org>
2272
2273         Deleting a paragraph of text should not add elements for typing style
2274         https://bugs.webkit.org/show_bug.cgi?id=82401
2275
2276         Reviewed by Enrica Casucci.
2277
2278         This behavior was explicitly supported by DeleteSelectionCommand but it doesn't match TextEdit or Firefox.
2279         We're changing our behavior to match TextEdit and Firefox in this patch.
2280
2281         The behavior is tested by an existing test, which was renamed to deleting-text-rests-typing-style.html in this patch.
2282
2283         Test: editing/execCommand/deleting-text-rests-typing-style.html
2284
2285         * editing/DeleteSelectionCommand.cpp:
2286         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
2287
2288 2012-03-28  Michal Mocny  <mmocny@google.com>
2289
2290         [chromium] Add tracing events around CCLayerTreeHostImpl visibility.
2291         https://bugs.webkit.org/show_bug.cgi?id=82501
2292
2293         Reviewed by James Robinson.
2294
2295         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2296         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2297         (WebCore::CCLayerTreeHostImpl::setVisible):
2298
2299 2012-03-28  Florin Malita  <fmalita@google.com>
2300
2301         Incorrect foreignObject hit test results when overlapping other SVG elements
2302         https://bugs.webkit.org/show_bug.cgi?id=82059
2303
2304         Reviewed by Nikolas Zimmermann.
2305
2306         Test: svg/hittest/foreign-object-background.svg
2307
2308         Foreign content needs to be hit-tested atomically due to the (pseudo)
2309         stacking context established by FOs.
2310
2311         * rendering/svg/RenderSVGForeignObject.cpp:
2312         (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
2313         Hit test all phases on FO HitTestForeground.
2314
2315 2012-03-26  Shawn Singh  <shawnsingh@chromium.org>
2316
2317         [chromium] layer->clipRect() is not initialized for layers that create a renderSurface.
2318         https://bugs.webkit.org/show_bug.cgi?id=74147
2319
2320         Reviewed by Adrienne Walker.
2321
2322         Added 3 additional unit tests; Modified existing unit tests and layout tests.
2323
2324         The layer's clipRect and usesLayerClipping information was not
2325         being initialized for layers that created a renderSurface. (It
2326         was, however, being initialized for the renderSurface itself.)
2327         This patch adds a unit test that reproduces that this is an error,
2328         other unit tests to tightly test the value of clipRect being
2329         initialized, and adds the logic to properly initialize the
2330         clipRect.
2331
2332         Before this patch, this bug was causing flashing on tab-switch on
2333         the apple iphone page. Even worse, with partial swap enabled, the
2334         layers would simply disappear, because the first frame the
2335         clipRect is uninitialized and the layer is not drawn, and the
2336         second frame onwards, the damage tracker correctly things nothing
2337         is damaged, so it doesn't draw that layer again until other damage
2338         causes it to be redrawn.
2339
2340         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2341         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2342
2343 2012-03-28  Anders Carlsson  <andersca@apple.com>
2344
2345         "Sticky" or slow scrolling on some sites
2346         https://bugs.webkit.org/show_bug.cgi?id=82512
2347         <rdar://problem/11000372>
2348
2349         Reviewed by Andreas Kling.
2350
2351         When we're in the slow mode and have to update the scroll layer position on the main thread,
2352         get it from the scrolling thread so we'll be in sync with the scrolling tree when the main thread is busy.
2353
2354         * page/scrolling/ScrollingCoordinator.cpp:
2355         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
2356         * page/scrolling/ScrollingCoordinator.h:
2357         (ScrollingCoordinator):
2358         * page/scrolling/ScrollingTree.cpp:
2359         (WebCore::ScrollingTree::mainFrameScrollPosition):
2360         (WebCore):
2361         (WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition):
2362         * page/scrolling/ScrollingTree.h:
2363
2364 2012-03-28  Adrienne Walker  <enne@google.com>
2365
2366         [chromium] Fix tiled layer assert for huge layers
2367         https://bugs.webkit.org/show_bug.cgi?id=82486
2368
2369         Reviewed by James Robinson.
2370
2371         Test: TiledLayerChromiumTest.hugeLayerUpdateCrash
2372
2373         TilingData::numTiles() is calculated as the product of two ints and so
2374         can potentially overflow, causing numTiles() to be incorrect. To avoid
2375         calling code accidentally falling into this trap, remove this function
2376         and all code that uses tile index from TilingData.  This requires
2377         fixing up a bunch of callers of TilingData and CCLayerTilingData.
2378
2379         Additionally, TilingData::numTiles() has long been a confusing
2380         function name in some contexts, so rename to bool hasEmptyBounds().
2381
2382         Also, remove TilingData::intersectDrawQuad because there are no
2383         clients of that function.
2384
2385         * platform/graphics/chromium/TiledLayerChromium.cpp:
2386         (WebCore::TiledLayerChromium::drawsContent):
2387         (WebCore::TiledLayerChromium::reserveTextures):
2388         (WebCore::TiledLayerChromium::prepareToUpdate):
2389         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
2390         (WebCore::TiledLayerChromium::needsIdlePaint):
2391         (WebCore::TiledLayerChromium::idlePaintRect):
2392         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
2393         (WebCore::CCLayerTilingData::tileRect):
2394         * platform/graphics/chromium/cc/CCLayerTilingData.h:
2395         (WebCore::CCLayerTilingData::hasEmptyBounds):
2396         (WebCore::CCLayerTilingData::tileBounds):
2397         (WebCore::CCLayerTilingData::isEmpty):
2398         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2399         (WebCore::CCTiledLayerImpl::bindContentsTexture):
2400         (WebCore::CCTiledLayerImpl::appendQuads):
2401         * platform/graphics/gpu/Texture.cpp:
2402         (WebCore::Texture::create):
2403         (WebCore::Texture::updateSubRect):
2404         * platform/graphics/gpu/TilingData.cpp:
2405         (WebCore::TilingData::tileBounds):
2406         (WebCore::TilingData::tileBoundsWithBorder):
2407         (WebCore::TilingData::tileBoundsNormalized):
2408         * platform/graphics/gpu/TilingData.h:
2409         (WebCore::TilingData::hasEmptyBounds):
2410         (TilingData):
2411         (WebCore::TilingData::assertTile):
2412
2413 2012-03-28  Peter Rybin  <peter.rybin@gmail.com>
2414
2415         Web Inspector: CodeGeneratorInspector.py: switch Runtime, Network and DOM domains to typed API
2416         https://bugs.webkit.org/show_bug.cgi?id=81558
2417
2418         Reviewed by Pavel Feldman.
2419
2420         Client code is switched to typed API (all InspectorObject and InspectorArray types are
2421         replaced with generated types from TypeBuilder according to Inspector.json).
2422
2423         Missing array of int specialization is added. Code generator now has a check against
2424         misspelled (non-existing) domain names.
2425
2426         * inspector/CodeGeneratorInspector.py:
2427         (Generator.go): check against misspelled domain names added.
2428         * inspector/InjectedScript.cpp:
2429         (WebCore::InjectedScript::evaluate):
2430         (WebCore::InjectedScript::callFunctionOn):
2431         (WebCore::InjectedScript::evaluateOnCallFrame):
2432         (WebCore::InjectedScript::getProperties):
2433         (WebCore::InjectedScript::wrapObject):
2434         (WebCore::InjectedScript::wrapNode):
2435         (WebCore::InjectedScript::wrapSerializedObject):
2436         (WebCore::InjectedScript::makeEvalCall):
2437         * inspector/InjectedScript.h:
2438         (InjectedScript):
2439         * inspector/InspectorDOMAgent.cpp:
2440         (WebCore::InspectorDOMAgent::getDocument):
2441         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2442         (WebCore::InspectorDOMAgent::querySelectorAll):
2443         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
2444         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2445         (WebCore::InspectorDOMAgent::getSearchResults):
2446         (WebCore::InspectorDOMAgent::resolveNode):
2447         (WebCore::InspectorDOMAgent::getAttributes):
2448         (WebCore::InspectorDOMAgent::buildObjectForNode):
2449         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
2450         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
2451         (WebCore::InspectorDOMAgent::loadEventFired):
2452         (WebCore::InspectorDOMAgent::didInsertDOMNode):
2453         (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
2454         (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
2455         * inspector/InspectorDOMAgent.h:
2456         (InspectorDOMAgent):
2457         * inspector/InspectorPageAgent.cpp:
2458         (WebCore::InspectorPageAgent::resourceTypeJson):
2459         (WebCore::InspectorPageAgent::cachedResourceTypeJson):
2460         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
2461         * inspector/InspectorPageAgent.h:
2462         * inspector/InspectorResourceAgent.cpp:
2463         (WebCore::buildObjectForResourceRequest):
2464         (WebCore::buildObjectForResourceResponse):
2465         (WebCore::buildObjectForCachedResource):
2466         (WebCore::InspectorResourceAgent::willSendRequest):
2467         (WebCore::InspectorResourceAgent::didReceiveResponse):
2468         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
2469         (WebCore::InspectorResourceAgent::buildInitiatorObject):
2470         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
2471         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
2472         * inspector/InspectorResourceAgent.h:
2473         (InspectorResourceAgent):
2474         * inspector/InspectorRuntimeAgent.cpp:
2475         (WebCore::InspectorRuntimeAgent::evaluate):
2476         (WebCore::InspectorRuntimeAgent::callFunctionOn):
2477         (WebCore::InspectorRuntimeAgent::getProperties):
2478         * inspector/InspectorRuntimeAgent.h:
2479         (InspectorRuntimeAgent):
2480         * inspector/InspectorValues.h:
2481         (InspectorArray):
2482         (WebCore::InspectorArray::pushInt):
2483         (WebCore):
2484         * inspector/ScriptCallFrame.cpp:
2485         (WebCore::ScriptCallFrame::buildInspectorObject):
2486         * inspector/ScriptCallFrame.h:
2487         (ScriptCallFrame):
2488         * inspector/ScriptCallStack.cpp:
2489         (WebCore::ScriptCallStack::buildInspectorArray):
2490         * inspector/ScriptCallStack.h:
2491         (ScriptCallStack):
2492
2493 2012-03-28  Eric Seidel  <eric@webkit.org>
2494
2495         setNeedsLayout(true, false) is super confusing to read and should use an enum instead
2496         https://bugs.webkit.org/show_bug.cgi?id=82369
2497
2498         Reviewed by Julien Chaffraix.
2499
2500         I replaced all uses of the markParents bool with a MarkingBehavior
2501         enum (which has two values: MarkContainingBlockChain and MarkOnlyThis).
2502         I'm not sure the naming is perfect (as it's not clear to me if markParents is
2503         used to mean the same thing in these 3 functions), but hopefully this code is more
2504         clear.  I welcome further suggested adjustment from layout experts.
2505
2506         * page/FrameView.cpp:
2507         (WebCore::FrameView::scheduleRelayout):
2508         * rendering/RenderBlock.cpp:
2509         (WebCore::RenderBlock::layoutBlock):
2510         (WebCore::RenderBlock::adjustPositionedBlock):
2511         (WebCore::RenderBlock::layoutBlockChildren):
2512         (WebCore::RenderBlock::layoutBlockChild):
2513         (WebCore::RenderBlock::layoutPositionedObjects):
2514         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
2515         (WebCore::RenderBlock::removePositionedObjects):
2516         (WebCore::RenderBlock::insertFloatingObject):
2517         (WebCore::RenderBlock::positionNewFloats):
2518         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
2519         (WebCore::RenderBlock::adjustBlockChildForPagination):
2520         * rendering/RenderBlockLineLayout.cpp:
2521         (WebCore::RenderBlock::layoutRunsAndFloats):
2522         (WebCore::RenderBlock::layoutInlineChildren):
2523         (WebCore::RenderBlock::positionNewFloatOnLine):
2524         * rendering/RenderBox.cpp:
2525         (WebCore::RenderBox::positionLineBox):
2526         * rendering/RenderDeprecatedFlexibleBox.cpp:
2527         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2528         (WebCore::gatherFlexChildrenInfo):
2529         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
2530         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
2531         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
2532         * rendering/RenderFlexibleBox.cpp:
2533         (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
2534         * rendering/RenderLayer.cpp:
2535         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2536         * rendering/RenderMedia.cpp:
2537         (WebCore::RenderMedia::layout):
2538         * rendering/RenderObject.cpp:
2539         (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
2540         * rendering/RenderObject.h:
2541         (RenderObject):
2542         (WebCore::RenderObject::setNeedsLayout):
2543         (WebCore::RenderObject::setChildNeedsLayout):
2544         * rendering/RenderRubyRun.cpp:
2545         (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
2546         * rendering/RenderTable.cpp:
2547         (WebCore::RenderTable::layout):
2548         * rendering/RenderTableRow.cpp:
2549         (WebCore::RenderTableRow::layout):
2550         * rendering/RenderTableSection.cpp:
2551         (WebCore::RenderTableSection::calcRowLogicalHeight):
2552         (WebCore::RenderTableSection::layoutRows):
2553         * rendering/RenderTextControl.cpp:
2554         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
2555         * rendering/RenderTextControlSingleLine.cpp:
2556         (WebCore::RenderTextControlSingleLine::layout):
2557         * rendering/RenderView.cpp:
2558         (WebCore::RenderView::RenderView):
2559         (WebCore::RenderView::layout):
2560         * rendering/mathml/RenderMathMLRoot.cpp:
2561         (WebCore::RenderMathMLRoot::layout):
2562         * rendering/mathml/RenderMathMLRow.cpp:
2563         (WebCore::RenderMathMLRow::layout):
2564         * rendering/mathml/RenderMathMLSubSup.cpp:
2565         (WebCore::RenderMathMLSubSup::layout):
2566         * rendering/svg/SVGRenderSupport.cpp:
2567         (WebCore::SVGRenderSupport::layoutChildren):
2568
2569 2012-03-28  Joseph Pecoraro  <pecoraro@apple.com>
2570
2571         <http://webkit.org/b/82419> Web Inspector: Create -[DOMNode inspect] from IDL
2572
2573         Instead of manually creating the method in DOM.mm we can specify it in
2574         Node.idl and autogenerate part of the interface.
2575
2576         Reviewed by Timothy Hatcher.
2577
2578         * bindings/objc/DOM.mm:
2579         * bindings/objc/DOMPrivate.h:
2580         Move the call to InspectorController::inspect from here ...
2581
2582         * dom/Node.h:
2583         * dom/Node.idl: IDL only in an ObjC block.
2584         * dom/Node.cpp:
2585         (WebCore::Node::inspect):
2586         ... to here.
2587
2588         * WebCore.xcodeproj/project.pbxproj:
2589         Add the new generated file so we can Copy it in the build phase.
2590
2591 2012-03-28  Tommy Widenflycht  <tommyw@google.com>
2592
2593         [chromium] MediaStream API (JSEP): Introducing WebPeerConnection00Handler
2594         https://bugs.webkit.org/show_bug.cgi?id=82450
2595
2596         Reviewed by Adam Barth.
2597
2598         This change removes the default PeerConnection00Handler.cpp from the Chromium build.
2599
2600         A major overhaul of the existing layout tests is forthcoming.
2601
2602         * WebCore.gypi:
2603         * platform/mediastream/PeerConnection00Handler.h:
2604         (WebCore):
2605         (PeerConnection00Handler):
2606
2607 2012-03-28  Robert Hogan  <robert@webkit.org>
2608
2609         [REGRESSION] Web Inspector: column caption delimiters are misaligned in DataGrid
2610         https://bugs.webkit.org/show_bug.cgi?id=82193
2611
2612         Reviewed by Yury Semikhatsky.
2613
2614         Since r111742 column width in fixed layout tables is set to the width of the cell plus its left padding plus its right padding 
2615         plus half its left border plus half its right border in the collapsing border model. The layout of the panel
2616         headers in the inspector depended on pre-r111742 behaviour, so ended up misaligned with the content below. To cater for the 
2617         new method of calculating column width enforce a fixed width for the corner column by removing padding and borders (except collapsed
2618         borders from adjacent cells) and specify the expected width (15px) minus the expected width of the collapsed borders (1px).
2619
2620         * inspector/front-end/dataGrid.css:
2621         (.data-grid th.corner):
2622
2623 2012-03-28  Alexis Menard  <alexis.menard@openbossa.org>
2624
2625         Increase code sharing between CSSProperty and CSSPropertyLonghand.
2626         https://bugs.webkit.org/show_bug.cgi?id=82479
2627
2628         Reviewed by Antti Koivisto.
2629
2630         Use longhands declarations from CSSPropertyLonghand in CSSProperty to avoid
2631         code duplication.
2632
2633         No new tests : refactoring only, we shouldn't have any behavior difference.
2634
2635         * css/CSSProperty.cpp:
2636         (WebCore::resolveToPhysicalProperty):
2637         (WebCore::borderDirections):
2638         (WebCore):
2639         (WebCore::CSSProperty::resolveDirectionAwareProperty):
2640
2641 2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
2642
2643         Web Inspector: Implement snippets renaming in scripts navigator.
2644         https://bugs.webkit.org/show_bug.cgi?id=82477
2645
2646         Reviewed by Pavel Feldman.
2647
2648         Snippets renaming is implemented as editing of snippet name in scripts navigator.
2649
2650         * inspector/front-end/ScriptsNavigator.js:
2651         (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
2652         (WebInspector.ScriptsNavigator.prototype._fileRenamed):
2653         (WebInspector.ScriptsNavigator.prototype.rename.commitHandler):
2654         (WebInspector.ScriptsNavigator.prototype.rename.cancelHandler):
2655         (WebInspector.ScriptsNavigator.prototype.rename.afterEditing):
2656         (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
2657         * inspector/front-end/scriptsPanel.css:
2658         (#scripts-navigator-tabbed-pane .navigator .base-navigator-tree-element-title.editing):
2659
2660 2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
2661
2662         Web Inspector: Add context menu for snippets control.
2663         https://bugs.webkit.org/show_bug.cgi?id=82475
2664
2665         Reviewed by Pavel Feldman.
2666
2667         This is a preliminary implementation of snippets control using context menu.
2668         We might want to add a more discoverable one before taking snippets out of experiments.
2669
2670         * English.lproj/localizedStrings.js:
2671         * inspector/front-end/ScriptsNavigator.js:
2672         (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
2673         (WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
2674         (WebInspector.ScriptsNavigator.prototype._handleSnippetContextMenuEvent):
2675         (WebInspector.ScriptsNavigator.prototype._showSnippetContextMenu):
2676         (WebInspector.ScriptsNavigator.prototype._handleEvaluateSnippet):
2677         (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
2678         (WebInspector.ScriptsNavigator.prototype._handleRemoveSnippet):
2679         (WebInspector.ScriptsNavigator.prototype._handleCreateSnippet):
2680         (WebInspector.NavigatorScriptTreeElement.prototype.get navigator):
2681         (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
2682         (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
2683         (WebInspector.NavigatorScriptTreeElement.prototype._handleContextMenuEvent):
2684
2685 2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
2686
2687         Web Inspector: ScriptsNavigator should save scroll position when switching tabs.
2688         https://bugs.webkit.org/show_bug.cgi?id=82472
2689
2690         Reviewed by Pavel Feldman.
2691
2692         WebInspector.View provides save/restore scroll position capabilities.
2693         This patch makes them used in ScriptsNavigator.
2694
2695         * inspector/front-end/ScriptsNavigator.js:
2696         (WebInspector.ScriptsNavigator):
2697         (WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
2698         * inspector/front-end/scriptsPanel.css:
2699         (#scripts-navigator-tabbed-pane .tabbed-pane-content):
2700         (#scripts-navigator-tabbed-pane .navigator-container):
2701
2702 2012-03-28  Andrey Kosyakov  <caseq@chromium.org>
2703
2704         Web Inspector: only update Timeline overview when really needed
2705         https://bugs.webkit.org/show_bug.cgi?id=81909
2706
2707         Reviewed by Pavel Feldman.
2708
2709         Switch timeline overview to using raw records, thus removing dependency on instance members of
2710         TimelinePresentationModel. This requires moving record styles/categories to static getters.
2711
2712         * inspector/front-end/TimelineModel.js:
2713         (WebInspector.TimelineModel):
2714         (WebInspector.TimelineModel.startTime):
2715         (WebInspector.TimelineModel.endTime):
2716         (WebInspector.TimelineModel.duration):
2717         (WebInspector.TimelineModel.prototype._addRecord):
2718         (WebInspector.TimelineModel.prototype.reset):
2719         (WebInspector.TimelineModel.prototype.minimumRecordTime):
2720         (WebInspector.TimelineModel.prototype.maximumRecordTime):
2721         (WebInspector.TimelineModel.prototype._updateBoundaries):
2722         * inspector/front-end/TimelineOverviewPane.js:
2723         (WebInspector.TimelineOverviewPane):
2724         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
2725         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
2726         (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview):
2727         (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
2728         (WebInspector.TimelineOverviewPane.prototype._update):
2729         (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips.markPercentagesForRecord):
2730         (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
2731         (WebInspector.TimelineOverviewPane.prototype.windowStartTime):
2732         (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
2733         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
2734         (WebInspector.TimelineOverviewPane.prototype.setShowShortEvents):
2735         (WebInspector.TimelineOverviewPane.prototype._scheduleRefresh):
2736         (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
2737         (WebInspector.TimelineOverviewCalculator.prototype.setWindow):
2738         (WebInspector.TimelineOverviewCalculator.prototype.reset):
2739         (WebInspector.HeapGraph):
2740         (WebInspector.HeapGraph.prototype.update):
2741         (WebInspector.TimelineVerticalOverview):
2742         (WebInspector.TimelineVerticalOverview.prototype.reset):
2743         (WebInspector.TimelineVerticalOverview.prototype.update):
2744         (WebInspector.TimelineVerticalOverview.prototype.wasShown):
2745         (WebInspector.TimelineVerticalOverview.prototype.willHide):
2746         (WebInspector.TimelineVerticalOverview.prototype._aggregateFrameStatistics):
2747         (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
2748         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
2749         (WebInspector.TimelineVerticalOverview.prototype._onRecordAdded):
2750         (WebInspector.TimelineAggregatedRecord):
2751         (WebInspector.TimelineAggregatedRecord.prototype._aggregateStatistics):
2752         * inspector/front-end/TimelinePanel.js:
2753         (WebInspector.TimelinePanel):
2754         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
2755         (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
2756         (WebInspector.TimelinePanel.prototype._resetPanel):
2757         (WebInspector.TimelinePanel.prototype._refresh):
2758         (WebInspector.TimelineCalculator):
2759         (WebInspector.TimelineCalculator.prototype.formatTime):
2760         * inspector/front-end/TimelinePresentationModel.js:
2761         (WebInspector.TimelinePresentationModel):
2762         (WebInspector.TimelinePresentationModel.categories):
2763         (WebInspector.TimelinePresentationModel.recordStyle):
2764         (WebInspector.TimelinePresentationModel.categoryForRecord):
2765         (WebInspector.TimelinePresentationModel.prototype.reset):
2766         (WebInspector.TimelinePresentationModel.prototype.addRecord):
2767         (WebInspector.TimelinePresentationModel.Record):
2768         (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
2769
2770 2012-03-28  Arvid Nilsson  <anilsson@rim.com>
2771
2772         [BlackBerry] Plumb through GraphicsLayer::contentsOpaque() to LayerTiler
2773         https://bugs.webkit.org/show_bug.cgi?id=82457
2774
2775         Reviewed by Rob Buis.
2776
2777         The LayerTiler already knows not to turn on GL_BLEND for opaque layers.
2778         However, it only ever sets the opaque flag for image layers and color
2779         layers, never for content layers.
2780
2781         This was no big deal, because contentsOpaque() is currently false for
2782         all layers except the root layer, which we always drew using the
2783         BlackBerry::WebKit::BackingStore anyway.
2784
2785         When we start using RenderLayerBacking::m_usingTiledCacheLayer=true on
2786         the root layer in situations where the BackingStore is unavailable, we
2787         can speed up rendering of the root layer by honouring the opaque flag.
2788
2789         Fixed by plumbing through the GraphicsLayer::contentsOpaque() flag all
2790         the way to LayerTiler and on to Texture.
2791
2792         * platform/graphics/blackberry/LayerData.h:
2793         (WebCore::LayerData::LayerData):
2794         (WebCore::LayerData::isOpaque):
2795         (LayerData):
2796         * platform/graphics/blackberry/LayerTile.cpp:
2797         (WebCore::LayerTile::updateContents):
2798         * platform/graphics/blackberry/LayerTile.h:
2799         (LayerTile):
2800         * platform/graphics/blackberry/LayerTiler.cpp:
2801         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
2802         (WebCore::LayerTiler::performTileJob):
2803         * platform/graphics/blackberry/LayerTiler.h:
2804         (WebCore::LayerTiler::TextureJob::TextureJob):
2805         (WebCore::LayerTiler::TextureJob::updateContents):
2806         * platform/graphics/blackberry/LayerWebKitThread.h:
2807         (WebCore::LayerWebKitThread::setOpaque):
2808         * platform/graphics/blackberry/Texture.h:
2809         (Texture):
2810         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
2811         (WebCore::TextureCacheCompositingThread::updateContents):
2812         * platform/graphics/blackberry/TextureCacheCompositingThread.h:
2813         (TextureCacheCompositingThread):
2814
2815 2012-03-28  Andrey Kosyakov  <caseq@chromium.org>
2816
2817         Web Inspector: nuke HeapGraph.setSize(), do it automagically on update
2818         https://bugs.webkit.org/show_bug.cgi?id=82471
2819
2820         Reviewed by Yury Semikhatsky.
2821
2822         * inspector/front-end/TimelineOverviewPane.js:
2823         (WebInspector.TimelineOverviewPane.prototype.update):
2824         (WebInspector.HeapGraph.prototype.update):
2825
2826 2012-03-28  Pavel Podivilov  <podivilov@chromium.org>
2827
2828         Web Inspector: dispatch console-message-added and console-messages-cleared events on UISourceCode.
2829         https://bugs.webkit.org/show_bug.cgi?id=82463
2830
2831         Reviewed by Vsevolod Vlasov.
2832
2833         Those events are related to specific UISourceCode. See bug 82224 for more details.
2834
2835         * inspector/front-end/DebuggerPresentationModel.js:
2836         (WebInspector.DebuggerPresentationModel):
2837         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
2838         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
2839         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2840         (WebInspector.UISourceCodeImpl):
2841         (WebInspector.UISourceCodeImpl.prototype.consoleMessages):
2842         (WebInspector.UISourceCodeImpl.prototype.consoleMessageAdded):
2843         (WebInspector.UISourceCodeImpl.prototype.consoleMessagesCleared):
2844         * inspector/front-end/JavaScriptSourceFrame.js:
2845         (WebInspector.JavaScriptSourceFrame):
2846         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
2847         (WebInspector.JavaScriptSourceFrame.prototype._consoleMessageAdded):
2848         (WebInspector.JavaScriptSourceFrame.prototype._consoleMessagesCleared):
2849         (WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
2850         * inspector/front-end/ScriptsPanel.js:
2851         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
2852         * inspector/front-end/UISourceCode.js:
2853         (WebInspector.UISourceCode.prototype.breakpoints):
2854         (WebInspector.UISourceCode.prototype.consoleMessages):
2855
2856 2012-03-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2857
2858         [GTK] Implement PlatformStrategies
2859         https://bugs.webkit.org/show_bug.cgi?id=82454
2860
2861         Reviewed by Xan Lopez.
2862
2863         * GNUmakefile.list.am: Remove PluginDataGtk.cpp. The same
2864         functionality is now implemented using platform strategies.
2865         * plugins/gtk/PluginDataGtk.cpp: Removed.
2866
2867 2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
2868
2869         Web Inspector: [Regression] TabIndex is not correctly restored after editing.
2870         https://bugs.webkit.org/show_bug.cgi?id=82464
2871
2872         Reviewed by Pavel Feldman.
2873
2874         This fixes incorrect usage of isNaN that returns false for null value.
2875         Drive-by javascript compilation fix.
2876
2877         * inspector/front-end/CompilerScriptMapping.js:
2878         (WebInspector.CompilerScriptMapping.prototype.addScript): compilation fix.
2879         * inspector/front-end/ResourceScriptMapping.js:
2880         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged): compilation fix.
2881         * inspector/front-end/SnippetsModel.js:
2882         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript): compilation fix.
2883         * inspector/front-end/UIUtils.js:
2884         (WebInspector.startEditing.cleanUpAfterEditing): incorrect usage of isNaN fix.
2885
2886 2012-03-28  Yi Shen  <yi.4.shen@nokia.com>
2887
2888         An extra line break is inserted when pasting into a font element.
2889         https://bugs.webkit.org/show_bug.cgi?id=71207
2890
2891         Reviewed by Ryosuke Niwa.
2892
2893         Fix an editing bug where inserting text into a font element would
2894         create an extra div element in the dom tree. The
2895         WebCore::positionAvoidingPrecedingNodes() tries to set the correct
2896         destination position by checking the next visible position, however,
2897         it causes the position moves into the child element in somecase.
2898         Instead, we should only check the position in parent after node.
2899
2900         Test: editing/inserting/insert-text-into-font.html
2901
2902         * editing/ReplaceSelectionCommand.cpp:
2903         (WebCore::positionAvoidingPrecedingNodes):
2904
2905 2012-03-28  Sergio Villar Senin  <svillar@igalia.com>
2906
2907         [Soup] DNS prefetching spams resolver, shoots self in the foot
2908         https://bugs.webkit.org/show_bug.cgi?id=41630
2909
2910         Reviewed by Martin Robinson.
2911
2912         Added generic DNSResolveQueue class to throttle DNS
2913         prefetches. It's an abstract refactoring of CFNET's
2914         DNSResolveQueue. Platform specific methods implemented for soup
2915         and CFNET backends.
2916
2917         No new tests required as we're just refactoring existing code to
2918         be used by two different ports.
2919
2920         * CMakeLists.txt: added new file.
2921         * GNUmakefile.list.am: ditto.
2922         * WebCore.vcproj/WebCore.vcproj: ditto.
2923         * WebCore.xcodeproj/project.pbxproj: ditto.
2924         * platform/network/DNSResolveQueue.cpp: Added.
2925         (WebCore):
2926         (WebCore::DNSResolveQueue::add): adds a new host to be prefetched.
2927         (WebCore::DNSResolveQueue::fired): by using a delay we coalesce
2928         several prefetch requests and try to resolve them all here.
2929         * platform/network/DNSResolveQueue.h: Added.
2930         (WebCore):
2931         (DNSResolveQueue): class that implements DNS prefetch
2932         throttling using a template pattern.
2933         (WebCore::DNSResolveQueue::shared):
2934         (WebCore::DNSResolveQueue::decrementRequestCount):
2935         * platform/network/cf/DNSCFNet.cpp:
2936         (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
2937         (WebCore::DNSResolveQueue::platformResolve):
2938         * platform/network/soup/DNSSoup.cpp:
2939         (WebCore):
2940         (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
2941         (WebCore::resolvedCallback):
2942         (WebCore::DNSResolveQueue::platformResolve):
2943         (WebCore::prefetchDNS):
2944
2945 2012-03-28  Eugene Girard  <girard@chromium.org>
2946
2947         window.scrollBy() scrolls incorrectly when zoomed in/out
2948         https://bugs.webkit.org/show_bug.cgi?id=45228
2949
2950         Reviewed by Simon Fraser.
2951
2952         scrollBy now uses layout (not CSS) units. (As scrollTo does.)
2953
2954         Test: fast/dom/zoom-scroll-page-test.html
2955
2956         * page/DOMWindow.cpp:
2957         (WebCore::DOMWindow::scrollBy):
2958
2959 2012-03-28  Stephen Chenney  <schenney@chromium.org>
2960
2961         Null dereference in SVGTextElement::animatedLocalTransform()
2962         https://bugs.webkit.org/show_bug.cgi?id=82375
2963
2964         Reviewed by Nikolas Zimmermann.
2965
2966         A poorly structured SVG file with a text element inside an
2967         animatedTransform element leaves the text element placed outside of
2968         the SVG root and it has no renderer(). Later attempts to use the
2969         renderer in animatedLocalTransform fail.
2970
2971         Test: svg/custom/get-text-element-transform-crash.html
2972
2973         * svg/SVGTextElement.cpp:
2974         (WebCore::SVGTextElement::animatedLocalTransform): Added a check for null renderer, and do not check
2975         for style transform if there is no renderer.
2976
2977 2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
2978
2979         Enable animVal support for SVGAnimatedPreserveAspectRatio
2980         https://bugs.webkit.org/show_bug.cgi?id=82326
2981
2982         Reviewed by Zoltan Herczeg.
2983
2984         Enable animVal support for SVGAnimatedPreserveAspectRatio. Very simple now that everything is prepared.
2985         All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedPreserveAspectRatioAnimator.
2986
2987         Modernize SVGPreserveAspectRatio, align parsing this object from String, with the other SVG DOM primitives,
2988         who supply a "void parse(const String&)" method, for this task.
2989
2990         Extended existing tests to cover this.
2991
2992         * svg/SVGAnimatedPreserveAspectRatio.cpp:
2993         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
2994         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
2995         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
2996         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
2997         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValWillChange):
2998         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValDidChange):
2999         * svg/SVGAnimatedPreserveAspectRatio.h:
3000         (SVGAnimatedPreserveAspectRatioAnimator):
3001         * svg/SVGAnimatedType.cpp:
3002         (WebCore::SVGAnimatedType::valueAsString):
3003         (WebCore::SVGAnimatedType::setValueAsString):
3004         (WebCore::SVGAnimatedType::supportsAnimVal):
3005         * svg/SVGFEImageElement.cpp:
3006         (WebCore::SVGFEImageElement::parseAttribute):
3007         * svg/SVGFitToViewBox.cpp:
3008         (WebCore::SVGFitToViewBox::parseAttribute):
3009         * svg/SVGImageElement.cpp:
3010         (WebCore::SVGImageElement::parseAttribute):
3011         * svg/SVGPreserveAspectRatio.cpp:
3012         (WebCore::SVGPreserveAspectRatio::parse):
3013         (WebCore):
3014         * svg/SVGPreserveAspectRatio.h:
3015         (SVGPreserveAspectRatio):
3016         * svg/SVGViewSpec.cpp:
3017         (WebCore::SVGViewSpec::setPreserveAspectRatioString):
3018         (WebCore::SVGViewSpec::parseViewSpec):
3019
3020 2012-03-28  Pavel Feldman  <pfeldman@chromium.org>
3021
3022         Web Inspector: [v8] inspection of CanvasPixelArray is slow.
3023         https://bugs.webkit.org/show_bug.cgi?id=82455
3024
3025         Reviewed by Vsevolod Vlasov.
3026
3027         Added CanvasPixelArray to the list of classes that we consider
3028         arrays.
3029
3030         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3031         (WebCore::V8InjectedScriptHost::typeCallback):
3032
3033 2012-03-28  Leandro Gracia Gil  <leandrogracia@chromium.org>
3034
3035         Selectively retrieve text content around a given position.
3036         https://bugs.webkit.org/show_bug.cgi?id=78361
3037
3038         Reviewed by Ryosuke Niwa.
3039
3040         Tests: a new layout test will be introduced once the required WebKit API code is ready.
3041
3042         Introduce the DOMTextContentWalker class to selectively retrieve content
3043         around a given VisiblePosition into a string in such a way that a text
3044         Range can be extracted later from a pair of the string's positions.
3045
3046         A new boolean called m_shouldStop is also introduced in the TextIterator to force
3047         it advancing under certain conditions. Although this is usually done by setting
3048         m_positionNode to zero, it can't be applied in this case since by doing so the
3049         iterator's range is lost.
3050
3051         * WebCore.gypi:
3052         * editing/SurroundingText.cpp: Added.
3053         (WebCore):
3054         (WebCore::SurroundingText::SurroundingText):
3055         (WebCore::SurroundingText::rangeFromContentOffsets):
3056         (WebCore::SurroundingText::content):
3057         (WebCore::SurroundingText::positionOffsetInContent):
3058         * editing/SurroundingText.h: Added.
3059         (WebCore):
3060         (SurroundingText):
3061         * editing/TextIterator.cpp:
3062         (WebCore::TextIterator::TextIterator):
3063         (WebCore::TextIterator::advance):
3064         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
3065         (WebCore::SimplifiedBackwardsTextIterator::advance):
3066         * editing/TextIterator.h:
3067         (WebCore::TextIterator::atEnd):
3068         (TextIterator):
3069         (WebCore::SimplifiedBackwardsTextIterator::atEnd):
3070         (SimplifiedBackwardsTextIterator):
3071         * html/HTMLFormControlElement.cpp:
3072         (WebCore::HTMLFormControlElement::enclosingFormControlElement):
3073         (WebCore):
3074         * html/HTMLFormControlElement.h:
3075         (HTMLFormControlElement):
3076
3077 2012-03-28  Alexis Menard  <alexis.menard@openbossa.org>
3078
3079         Speed up updates of existing CSS properties from JS.
3080         https://bugs.webkit.org/show_bug.cgi?id=82235
3081
3082         Reviewed by Andreas Kling.
3083
3084         Improve the way we handle updating an existing CSS property by replacing its value
3085         by the new one rather than removing the old value and then adding the new one. This
3086         speed up by 35% PerformanceTests/CSS/CSSPropertyUpdateValue.html.
3087
3088         No new tests : Updating existing tests that were relying on the order of the properties
3089         after modification. Each updated property is not appended to the list of properties of the
3090         style therefore the cssText value is slightly different. It matches Firefox behavior but not
3091         Opera.
3092
3093         * css/StylePropertySet.cpp:
3094         (WebCore::StylePropertySet::addParsedProperty):
3095
3096 2012-03-28  Leo Yang  <leo.yang@torchmobile.com.cn>
3097
3098         [BlackBerry] Remove PlatformMouseEvent::setClickCount for BlackBerry
3099         https://bugs.webkit.org/show_bug.cgi?id=82422
3100
3101         Reviewed by Rob Buis.
3102
3103         PlatformMouseEvent::setClickCount() is never used by BlackBerry.
3104         The declaration was added in PlatformMouseEvent.h internally for
3105         BlackBerry porting, but it has not been upstreamed yet.
3106
3107         * platform/blackberry/PlatformMouseEventBlackBerry.cpp:
3108
3109 2012-03-27  Antti Koivisto  <antti@apple.com>
3110
3111         Separate @import rules from other rules in CSSStyleSheet
3112         https://bugs.webkit.org/show_bug.cgi?id=82384 
3113
3114         Reviewed by Andreas Kling.
3115
3116         Import rules always come before all other rules (except @charset). They currently live 
3117         in the generic child rule vector. They can be moved to a vector of their own for stronger
3118         typing and more focused traversal. This will also make future refactoring easier.
3119         
3120         - @import rules go to m_importRules
3121         - the rest go to m_childRules
3122         
3123         * css/CSSStyleSelector.cpp:
3124         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3125         * css/CSSStyleSheet.cpp:
3126         (WebCore::CSSStyleSheet::parserAppendRule):
3127         (WebCore::CSSStyleSheet::length):
3128         (WebCore::CSSStyleSheet::item):
3129         (WebCore::CSSStyleSheet::clearRules):
3130         (WebCore::CSSStyleSheet::rules):
3131         (WebCore::CSSStyleSheet::insertRule):
3132         (WebCore::CSSStyleSheet::deleteRule):
3133         (WebCore::CSSStyleSheet::isLoading):
3134         (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
3135         * css/CSSStyleSheet.h:
3136         (WebCore):
3137         (CSSStyleSheet):
3138         (WebCore::CSSStyleSheet::childRules):
3139         (WebCore::CSSStyleSheet::importRules):
3140
3141 2012-03-28  Pavel Feldman  <pfeldman@chromium.org>
3142
3143         Web Inspector: REGRESSION: Stack overflow on the page with > 100kloc
3144         https://bugs.webkit.org/show_bug.cgi?id=82436
3145
3146         Reviewed by Yury Semikhatsky.
3147
3148         This change migrates to manual splice implementation that uses additional
3149         information about the range being inserted to make it work faster / allocate
3150         less memory.
3151
3152         * inspector/front-end/TextEditorModel.js:
3153         (WebInspector.TextEditorModel.endsWithBracketRegex.):
3154
3155 2012-03-28  Pavel Podivilov  <podivilov@chromium.org>
3156
3157         Web Inspector: breakpoints are not shown in sidebar pane after reload.
3158         https://bugs.webkit.org/show_bug.cgi?id=82351
3159
3160         Reviewed by Pavel Feldman.
3161
3162         When UISourceCode is added to ScriptsPanel, it could already have breakpoints.
3163         We should iterate over existing breakpoints and add them to sidebar pane.
3164
3165         * inspector/front-end/ScriptsPanel.js:
3166         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
3167
3168 2012-03-28  Li Yin  <li.yin@intel.com>
3169
3170         [WebSocket]The Sec-WebSocket-Protocol must not appear more than once in an HTTP response
3171         https://bugs.webkit.org/show_bug.cgi?id=82432
3172
3173         Reviewed by Kent Tamura.
3174
3175         From RFC6455: http://tools.ietf.org/html/rfc6455#section-11.3.4
3176         The |Sec-WebSocket-Protocol| header field must not appear 
3177         more than once in an HTTP response.
3178
3179         Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header.html
3180
3181         * Modules/websockets/WebSocketHandshake.cpp:
3182         (WebCore::WebSocketHandshake::readHTTPHeaders):
3183
3184 2012-03-27  James Robinson  <jamesr@chromium.org>
3185
3186         [chromium] Transfer wheel fling via WebCompositorInputHandlerClient
3187         https://bugs.webkit.org/show_bug.cgi?id=81740
3188
3189         Reviewed by Adrienne Walker.
3190
3191         Adds the ability to construct an in-progress PlatformGestureAnimation.
3192
3193         * platform/ActivePlatformGestureAnimation.cpp:
3194         (WebCore::ActivePlatformGestureAnimation::create):
3195         (WebCore):
3196         (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
3197         * platform/ActivePlatformGestureAnimation.h:
3198         (ActivePlatformGestureAnimation):
3199         * platform/TouchpadFlingPlatformGestureCurve.cpp:
3200         (WebCore::TouchpadFlingPlatformGestureCurve::create):
3201         (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
3202         * platform/TouchpadFlingPlatformGestureCurve.h:
3203         (TouchpadFlingPlatformGestureCurve):
3204
3205 2012-03-27  Nat Duca  <nduca@chromium.org>
3206
3207         [chromium] Route monotonic clock up from compositor
3208         https://bugs.webkit.org/show_bug.cgi?id=82154
3209
3210         Reviewed by James Robinson.
3211
3212         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3213         (WebCore::CCLayerTreeHost::updateAnimations):
3214         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3215         (CCLayerTreeHost):
3216         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3217         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
3218         (WebCore::CCThreadProxy::beginFrame):
3219         * platform/graphics/chromium/cc/CCThreadProxy.h:
3220         (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
3221         (BeginFrameAndCommitState):
3222
3223 2012-03-27  Robin Cao  <robin.cao@torchmobile.com.cn>
3224
3225         [BlackBerry] Upstream LayerAnimation.{cpp, h}
3226         https://bugs.webkit.org/show_bug.cgi?id=80123
3227
3228         Reviewed by Rob Buis.
3229
3230         Initial upstream, no new tests.
3231
3232         * platform/graphics/blackberry/LayerAnimation.cpp: Added.
3233         (WebCore):
3234         (WebCore::solveEpsilon):
3235         (WebCore::solveCubicBezierFunction):
3236         (WebCore::solveStepsFunction):
3237         (WebCore::timingFunctionForAnimationValue):
3238         (WebCore::progress):
3239         (WebCore::fetchIntervalEndpoints):
3240         (WebCore::LayerAnimation::apply):
3241         (WebCore::LayerAnimation::blendTransform):
3242         (WebCore::LayerAnimation::blendOpacity):
3243         (WebCore::LayerAnimation::validateTransformLists):
3244         * platform/graphics/blackberry/LayerAnimation.h: Added.
3245         (WebCore):
3246         (LayerAnimation):
3247         (WebCore::LayerAnimation::create):
3248         (WebCore::LayerAnimation::clone):
3249         (WebCore::LayerAnimation::~LayerAnimation):
3250         (WebCore::LayerAnimation::name):
3251         (WebCore::LayerAnimation::setStartTime):
3252         (WebCore::LayerAnimation::idFromAnimation):
3253         (WebCore::LayerAnimation::isEqualToAnimation):
3254         (WebCore::LayerAnimation::id):
3255         (WebCore::LayerAnimation::property):
3256         (WebCore::LayerAnimation::boxSize):
3257         (WebCore::LayerAnimation::timeOffset):
3258         (WebCore::LayerAnimation::startTime):
3259         (WebCore::LayerAnimation::valueCount):
3260         (WebCore::LayerAnimation::timingFunction):
3261         (WebCore::LayerAnimation::duration):
3262         (WebCore::LayerAnimation::iterationCount):
3263         (WebCore::LayerAnimation::direction):
3264         (WebCore::LayerAnimation::valueAt):
3265         (WebCore::LayerAnimation::LayerAnimation):
3266
3267 2012-03-27  Kenichi Ishibashi  <bashi@chromium.org>
3268
3269         [Chromium] Uninitialized access in SimpleFontDataSkia::platformInit
3270         https://bugs.webkit.org/show_bug.cgi?id=82411
3271
3272         Reviewed by Kent Tamura.
3273
3274         SimpleFontDataSkia::platformInit() could call widthForGlyph(), which
3275         accesses m_zeroWidthSpaceGlyph. This causes a valgrind memcheck error
3276         because m_zeroWidthSpaceGlyph isn't initialized at this point.
3277         Initialize m_zeroWidthSpaceGlyph with zero so that widthForGlyph() can
3278         return appropriate value(The value zero here means "unknown glyph").
3279
3280         No new tests. I manually confirmed this change fixes the valgrind
3281         memcheck error.
3282
3283         * platform/graphics/skia/SimpleFontDataSkia.cpp:
3284         (WebCore::SimpleFontData::platformInit):
3285
3286 2012-03-27  YoungTaeck Song  <youngtaeck.song@samsung.com>
3287
3288         [EFL][WK2] Add RunLoopEfl and WorkQueueEfl
3289         https://bugs.webkit.org/show_bug.cgi?id=62777
3290
3291         Reviewed by Hajime Morita.
3292
3293         Add initial version RunLoopEfl for WebKit2 Efl.
3294
3295         * platform/RunLoop.h:
3296         (TimerBase):
3297         (RunLoop):
3298         * platform/efl/RunLoopEfl.cpp:
3299         (WebCore::RunLoop::RunLoop):
3300         (WebCore::RunLoop::~RunLoop):
3301         (WebCore):
3302         (WebCore::RunLoop::run):
3303         (WebCore::RunLoop::stop):
3304         (WebCore::RunLoop::wakeUpEvent):
3305         (WebCore::RunLoop::wakeUp):
3306         (WebCore::RunLoop::TimerBase::TimerBase):
3307         (WebCore::RunLoop::TimerBase::~TimerBase):
3308         (WebCore::RunLoop::TimerBase::timerFired):
3309         (WebCore::RunLoop::TimerBase::start):
3310         (WebCore::RunLoop::TimerBase::stop):
3311         (WebCore::RunLoop::TimerBase::isActive):
3312
3313 2012-03-27  Benjamin Poulain  <bpoulain@apple.com>
3314
3315         Reinforce Geolocation to prevent accidental leak of the user position
3316         https://bugs.webkit.org/show_bug.cgi?id=82396
3317
3318         Reviewed by Adam Barth.
3319
3320         It is very important not to provide the position of the user to a page
3321         unless the user authorize it.
3322
3323         The code used to make it easy to cause such problems, because any part
3324         of the Geolocation object could invoke the success callback directly.
3325
3326         This patch add encapsulation for all the attributes of GeoNotifier,
3327         and add extra guards for the two callbacks.
3328
3329         In the case of the success callback, we do one extra check before sending
3330         the value to the bindings.
3331
3332         * Modules/geolocation/Geolocation.cpp:
3333         (WebCore::Geolocation::GeoNotifier::runSuccessCallback):
3334         (WebCore::Geolocation::GeoNotifier::runErrorCallback):
3335         (WebCore):
3336         (WebCore::Geolocation::GeoNotifier::stopTimer):
3337         (WebCore::Geolocation::GeoNotifier::timerFired):
3338         (WebCore::Geolocation::startRequest):
3339         (WebCore::Geolocation::sendError):
3340         (WebCore::Geolocation::sendPosition):
3341         (WebCore::Geolocation::stopTimer):
3342         (WebCore::Geolocation::extractNotifiersWithCachedPosition):
3343         (WebCore::Geolocation::startUpdating):
3344         * Modules/geolocation/Geolocation.h:
3345         (WebCore::Geolocation::isAllowed):
3346         (Geolocation):
3347         (GeoNotifier):
3348         (WebCore::Geolocation::GeoNotifier::options):
3349         (WebCore::Geolocation::GeoNotifier::useCachedPosition):
3350
3351 2012-03-27  Kausalya Madhusudhanan  <kmadhusu@chromium.org>
3352
3353         [Coverity] Address some uninitialized constructor values.
3354         https://bugs.webkit.org/show_bug.cgi?id=82376
3355
3356         Reviewed by James Robinson.
3357
3358         New tests are not required since I did not modify any code behavior.
3359
3360         * html/shadow/MediaControlRootElementChromium.cpp:
3361         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
3362         * inspector/InspectorIndexedDBAgent.h:
3363         (InspectorIndexedDBAgent):
3364         * inspector/InspectorTimelineAgent.cpp:
3365         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3366         * page/scrolling/ScrollingCoordinator.cpp:
3367         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
3368         * platform/ScrollAnimatorNone.cpp:
3369         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
3370         * platform/chromium/DataTransferItemChromium.cpp:
3371         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
3372         * platform/graphics/skia/ImageBufferSkia.cpp:
3373         (WebCore::ImageBuffer::ImageBuffer):
3374         * storage/StorageTask.cpp:
3375         (WebCore::StorageTask::StorageTask):
3376
3377 2012-03-27  Alexis Menard  <alexis.menard@openbossa.org>
3378
3379         Simplify CSSPropertyBorderSpacing parsing.
3380         https://bugs.webkit.org/show_bug.cgi?id=82397
3381
3382         Reviewed by Benjamin Poulain.
3383
3384         Remove the local array of longhand properties as it doesn't really
3385         bring much in this simple parsing algorithm.
3386
3387         No new tests, no functionality change intended.
3388
3389         * css/CSSParser.cpp:
3390         (WebCore::CSSParser::parseValue):
3391
3392 2012-03-27  Anders Carlsson  <andersca@apple.com>
3393
3394         Fix race condition when initializing the scrolling thread
3395         https://bugs.webkit.org/show_bug.cgi?id=82398
3396         <rdar://problem/11002166>
3397
3398         Reviewed by Sam Weinig.
3399
3400         Lock m_initializeRunLoopConditionMutex when assigning m_threadIdentifier since we're
3401         asserting that it's not null in the scrolling thread.
3402
3403         * page/scrolling/ScrollingThread.cpp:
3404         (WebCore::ScrollingThread::createThreadIfNeeded):
3405
3406 2012-03-27  Luke Macpherson  <macpherson@chromium.org>
3407
3408         Add assertions to valueForLength() and RenderBox::computeLogicalWidthInRegionUsing() to help with debugging.
3409         https://bugs.webkit.org/show_bug.cgi?id=82393
3410
3411         Reviewed by Eric Seidel.
3412
3413         No new tests / adding assetions only.
3414
3415         * css/LengthFunctions.cpp:
3416         (WebCore::valueForLength):
3417         * rendering/RenderBox.cpp:
3418         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
3419
3420 2012-03-27  Tony Chang  <tony@chromium.org>
3421
3422         use the correct size when computing flex-pack space
3423         https://bugs.webkit.org/show_bug.cgi?id=82378
3424
3425         Reviewed by Ojan Vafai.
3426
3427         Fix 2 bugs:
3428         - We weren't properly updating available space before computing
3429           packing space. If a min/max is not hit, we still need to adjust
3430           the available free space.
3431         - For flex-pack:end, we need to put the overflow in the start edge.
3432
3433         New test cases in css3/flexbox/flex-pack.html
3434
3435         * rendering/RenderFlexibleBox.cpp:
3436         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
3437         (WebCore::initialPackingOffset):
3438
3439 2012-03-27  Dana Jansens  <danakj@chromium.org>
3440
3441         [chromium] Unknown transforms should be treated as non-axis aligned on main thread
3442         https://bugs.webkit.org/show_bug.cgi?id=82370
3443
3444         Reviewed by Adrienne Walker.
3445
3446         On main thread, animating transforms have "unknown" values as they are changing
3447         out of sync on the impl thread. So treat them as non-axis-aligned since they
3448         may be, when deciding to create a render surface.
3449
3450         In addition, since surfaces are cheap on main thread, create one for all layers
3451         with animating transforms and a drawing descendant, as this allows paint culling
3452         within the layer's subtree (the animated transform won't affect drawTransforms
3453         inside the subtree).
3454
3455         Also renamed the layerIsInAnimatingSubtreeFor* to animatingTransformTo*.
3456         The old name made me pause and think what it meant and I'm the one who
3457         created it. Hopefully this is more clear.
3458
3459         Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy
3460
3461         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3462         (WebCore::transformToParentIsKnown):
3463         (WebCore):
3464         (WebCore::subtreeShouldRenderToSeparateSurface):