Refactor duplicate code into RenderFlexibleBox::mainAxisContentExtent
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-09-13  Tony Chang  <tony@chromium.org>
2
3         Refactor duplicate code into RenderFlexibleBox::mainAxisContentExtent
4         https://bugs.webkit.org/show_bug.cgi?id=96676
5
6         Reviewed by Eric Seidel.
7
8         There was computeAvailableFreeSpace() and lineBreakLength() shared some very similar code.
9         Merge this code into mainAxisContentExtent().
10
11         No new tests, this is just a refactor.
12
13         * rendering/RenderFlexibleBox.cpp:
14         (WebCore::RenderFlexibleBox::mainAxisContentExtent): Take contentLogicalHeight as a parameter,
15         which is needed when determining the logical height.
16         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Use mainAxisContentExtent() and inline.
17         (WebCore::RenderFlexibleBox::computeNextFlexLine): Use mainAxisContentExtent().
18         * rendering/RenderFlexibleBox.h:
19
20 2012-09-13  Glenn Hartmann  <hartmanng@chromium.org>
21
22         Add new accelerated compositing for overflow scroll setting.
23         https://bugs.webkit.org/show_bug.cgi?id=95885
24
25         Reviewed by James Robinson.
26
27         wkb.ug/91117 introduces RenderLayer::usesCompositedScrolling(), which
28         currently returns true if we're overflow scrolling and the element has
29         been styled with '-webkit-overflow-scrolling: touch'. If this is true,
30         we get promoted to a composited layer, the associated RenderLayerBacking
31         gets special scrolling layers and in response to RenderLayer::scrollTo()
32         we no longer have to invalidate everything to get the scrolled content
33         in the right spot, thereby avoiding very expensive repaints. It's
34         unfortunate that we require -webkit-overflow-scrolling: touch, though.
35         It would be nice if RenderLayer::usesCompositedScrolling() returned true
36         if the page would continue to behave correctly.  This is what
37         wkb.ug/94743 is intended to do.  Unfortunately, when we become a
38         composited layer, we switch from subpixel to grayscale anti-aliasing. We
39         only want to auto-opt into composited scrolling if we don't mind the
40         change in anti-aliasing, so we need a flag to enable/disable this
41         feature.
42
43         No new tests -- no change in behaviour.
44
45         * page/Settings.h:
46         (WebCore::Settings::setAcceleratedCompositingForOverflowScrollEnabled):
47         (WebCore::Settings::acceleratedCompositingForOverflowScrollEnabled):
48         (Settings):
49
50 2012-09-13  Joshua Bell  <jsbell@chromium.org>
51
52         IndexedDB: Consolidate two-phase connection to avoid race conditions
53         https://bugs.webkit.org/show_bug.cgi?id=90411
54
55         Reviewed by Tony Chang.
56
57         Previously, IDB connections were opened by having the front-end (1) call through to
58         a back-end open() method, eventually receive a success message with a back-end object
59         handle, and (2) call into the back-end object to register front-end callbacks. This left
60         the back-end's notion of an open connection in a limbo state between these two calls.
61         In multi-process ports, a crash of the front-end process could leave the back-end wedged
62         waiting for this second call (e.g. can't delete until all connections are closed).
63
64         Simplify this by having the front-end pass through the callbacks into the back-end
65         during the initial open() call, which eliminates the limbo state.
66
67         No new tests - no functional changes. Chromium port's webkit_unit_tests updated.
68
69         * Modules/indexeddb/IDBDatabase.cpp:
70         (WebCore::IDBDatabase::create):
71         (WebCore::IDBDatabase::IDBDatabase): Db-callbacks is available at creation time.
72         (WebCore::IDBDatabase::~IDBDatabase):
73         * Modules/indexeddb/IDBDatabase.h:
74         (IDBDatabase):
75         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
76         (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create): Need to track db-callbacks as well.
77         (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::databaseCallbacks):
78         (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
79         (IDBDatabaseBackendImpl::PendingOpenCall):
80         (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::create): Ditto.
81         (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::databaseCallbacks):
82         (WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::PendingOpenWithVersionCall):
83         (IDBDatabaseBackendImpl::PendingOpenWithVersionCall):
84         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
85         (WebCore::IDBDatabaseBackendImpl::setVersion):
86         (WebCore::IDBDatabaseBackendImpl::connectionCount): Don't need to count limbo connections any more.
87         (WebCore::IDBDatabaseBackendImpl::processPendingCalls): Pass through db-callbacks.
88         (WebCore::IDBDatabaseBackendImpl::openConnection): No more limbo connections (yay!).
89         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction): Pass through db-callbacks.
90         (WebCore::IDBDatabaseBackendImpl::openConnectionWithVersion): Ditto.
91         (WebCore::IDBDatabaseBackendImpl::deleteDatabase): Style.
92         (WebCore::IDBDatabaseBackendImpl::close): Resolve FIXME about connectionCount.
93         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
94         (IDBDatabaseBackendImpl):
95         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
96         (IDBDatabaseBackendInterface):
97         * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
98         (WebCore::IDBDatabaseCallbacksImpl::create):
99         (WebCore::IDBDatabaseCallbacksImpl::IDBDatabaseCallbacksImpl):
100         (WebCore::IDBDatabaseCallbacksImpl::connect):
101         * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
102         (IDBDatabaseCallbacksImpl):
103         * Modules/indexeddb/IDBFactory.cpp:
104         (WebCore::IDBFactory::open): Mint the db-callbacks here...
105         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
106         (WebCore::IDBFactoryBackendImpl::open): ...passed through to here...
107         * Modules/indexeddb/IDBFactoryBackendImpl.h:
108         (IDBFactoryBackendImpl):
109         * Modules/indexeddb/IDBFactoryBackendInterface.h:
110         (IDBFactoryBackendInterface):
111         * Modules/indexeddb/IDBOpenDBRequest.cpp:
112         (WebCore::IDBOpenDBRequest::create): ...all the way to here...
113         (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
114         (WebCore::IDBOpenDBRequest::onUpgradeNeeded): ...and finally hooked up here.
115         (WebCore::IDBOpenDBRequest::onSuccess): (or here, if no upgrade needed).
116         * Modules/indexeddb/IDBOpenDBRequest.h:
117         (WebCore):
118         (IDBOpenDBRequest):
119         * Modules/indexeddb/IDBTransaction.cpp:
120         (WebCore::IDBTransaction::onAbort): Tweak event/notification ordering; the
121         notifying the database that the transaction is finished may unblock closing,
122         which fires more events, and the delivery matters. Previously the close would
123         be blocked by the transaction which gave the desired order.
124         (WebCore::IDBTransaction::onComplete): Ditto.
125         * inspector/InspectorIndexedDBAgent.cpp: New hookup logic.
126         (WebCore):
127
128 2012-09-13  Tony Chang  <tony@chromium.org>
129
130         Flexitem margins should be based on content width, not width
131         https://bugs.webkit.org/show_bug.cgi?id=96674
132
133         Reviewed by Ojan Vafai.
134
135         Margins should be based on content width. Also remove some calls to
136         mainAxisContentExtent() when we can use contentLogicalWidth instead.
137
138         Tests: css3/flexbox/percent-margins.html has a new testcase.
139
140         * rendering/RenderFlexibleBox.cpp:
141         (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild): Use contentLogicalWidth instead of
142         passing in the maximum value (only used in the width case).
143         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Don't pass in mainAxisContentExtent.
144         (WebCore::RenderFlexibleBox::computeChildMarginValue): Use contentLogicalWidth and simplify the code.
145         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Remove unnecessary mainAxisContentExtent() call.
146         (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): Remove unnecessary flexboxAvailableContentExtent.
147         (WebCore::RenderFlexibleBox::computeNextFlexLine): Remove unnecessary mainAxisContentExtent() call.
148         (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Remove unnecessary mainAxisContentExtent() call.
149         * rendering/RenderFlexibleBox.h: Remove unnecessary params.
150
151 2012-09-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
152
153         [EFL] Assertion reached on RenderThemeEFL when setting a theme to an invalid path
154         https://bugs.webkit.org/show_bug.cgi?id=96649
155
156         Reviewed by Kenneth Rohde Christiansen.
157
158         Keep the consistence by restoring the reference to the old theme path
159         when the new one cannot be loaded.
160
161         * platform/efl/RenderThemeEfl.cpp:
162         (WebCore::RenderThemeEfl::setThemePath):
163
164 2012-09-13  Robert Kroeger  <rjkroege@chromium.org>
165
166         [chromium] alter fling animation parameters.
167         https://bugs.webkit.org/show_bug.cgi?id=96666
168
169         Reviewed by Adrienne Walker.
170
171         Adjusted configuration parameters for fling animation to have a longer
172         tail and more similarity between touchpad and touchscreen.
173         
174         Covered by existing tests.
175
176         * platform/TouchFlingPlatformGestureCurve.cpp:
177         (WebCore::TouchFlingPlatformGestureCurve::createForTouchPad):
178         (WebCore::TouchFlingPlatformGestureCurve::createForTouchScreen):
179
180 2012-09-13  Joshua Bell  <jsbell@chromium.org>
181
182         IndexedDB: Properties of IDBKeyRange should default to undefined
183         https://bugs.webkit.org/show_bug.cgi?id=96401
184
185         Reviewed by Adam Barth.
186
187         Per the IndexedDB spec, properties of IDBKeyRange should be |undefined| if
188         not set (i.e. range.upper if created with lowerBound(), and vice versa), rather
189         than null.
190
191         Test: storage/indexeddb/keyrange.html
192
193         * bindings/v8/custom/V8IDBKeyCustom.cpp:
194         (WebCore::toV8): Since IDBKeyRange is the only place where possibly-null
195         keys are returned to script, change the JS value from null to undefined.
196         And call v8Undefined(). It's faster.
197         * bindings/js/custom/JSIDBKeyCustom.cpp:
198         (WebCore::toJS): Ditto.
199
200 2012-09-13  Sami Kyostila  <skyostil@chromium.org>
201
202         Refactor paint overflow clipping
203         https://bugs.webkit.org/show_bug.cgi?id=96625
204
205         Reviewed by Simon Fraser.
206
207         The same logic for applying overflow clipping based on the cached size of a
208         RenderBox has been duplicated to four different places. Consolidate them to a
209         single RenderBox utility function.
210
211         This is in preparation for https://bugs.webkit.org/show_bug.cgi?id=96087.
212
213         No new functionality; covered by existing tests.
214
215         * rendering/RenderBox.cpp:
216         (WebCore::RenderBox::applyCachedClipAndScrollOffsetForRepaint):
217         (WebCore):
218         (WebCore::RenderBox::computeRectForRepaint):
219         * rendering/RenderBox.h:
220         (RenderBox):
221         * rendering/RenderInline.cpp:
222         (WebCore::RenderInline::clippedOverflowRectForRepaint):
223         (WebCore::RenderInline::computeRectForRepaint):
224         * rendering/RenderObject.cpp:
225         (WebCore::RenderObject::computeRectForRepaint):
226
227 2012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>
228
229         Another prospective Qt/Windows build fix: Add missing CString.h include.
230
231         * platform/qt/UserAgentQt.cpp:
232
233 2012-09-13  Dimitri Glazkov  <dglazkov@chromium.org>
234
235         Stop shuttling PseudoId from StyleResolver to SelectorChecker.
236         https://bugs.webkit.org/show_bug.cgi?id=96431
237
238         Reviewed by Eric Seidel.
239
240         SelectorChecker retained extra state to store the PseudoId value of the element. It was sad, because we needed to explicitly maintain its integrity. Instead, we now just make it part of StyleResolver and feed to SelectorChecker as part of SelectorCheckingContext.
241
242         No new tests, refactoring only. Covered by existing tests.
243
244         * css/SelectorChecker.cpp:
245         (WebCore::SelectorChecker::SelectorChecker): Removed state initializer.
246         (WebCore::SelectorChecker::checkSelector): Changed to look into context, rather than own member.
247         * css/SelectorChecker.h:
248         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): Added pseudoStyle as parameter.
249         (SelectorCheckingContext): Added pseudoStyle as member.
250         * css/StyleResolver.cpp:
251         (WebCore::StyleResolver::collectMatchingRulesForList): Changed to look at own member, rather than m_checker.
252         * css/StyleResolver.h:
253         (StyleResolver): Added new member.
254
255 2012-09-13  Simon Hausmann  <simon.hausmann@nokia.com>
256
257         Unreviewed prospective Qt/MSVC build fix.
258
259         * platform/qt/UserAgentQt.cpp:
260         (WebCore::UserAgentQt::standardUserAgent): Try to make the conversion from the 8-bit
261         String to a QLatin1String successful.
262
263 2012-09-13  Lauro Neto  <lauro.neto@openbossa.org>
264
265         [Qt][WK2] fast/forms/access-key-for-all-elements.html fails
266         https://bugs.webkit.org/show_bug.cgi?id=73917
267
268         Reviewed by Simon Hausmann.
269
270         Access-key tests were failing due to hardcoded Mac OS X in the
271         Qt WK2 user agent string. This commit moves the WK1 implementation
272         to a shared one to be used by both versions.
273
274         Adds the shared user agent implementation.
275
276         * Target.pri:
277         * platform/qt/UserAgentQt.cpp: Added.
278         (WebCore):
279         (WebCore::UserAgentQt::standardUserAgent):
280         * platform/qt/UserAgentQt.h: Added.
281         (WebCore):
282         (UserAgentQt):
283
284 2012-09-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
285
286         [EFL] Use RefPtr for storing cairo_surface_t
287         https://bugs.webkit.org/show_bug.cgi?id=96647
288
289         Reviewed by Simon Hausmann.
290
291         Refactoring, covered by existing tests.
292
293         * platform/efl/RenderThemeEfl.cpp:
294         (WebCore::createSurfaceForBackingStore):
295         (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
296         (WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):
297         (WebCore::RenderThemeEfl::paintThemePart):
298         * platform/efl/RenderThemeEfl.h:
299         (WebCore::RenderThemeEfl::ThemePartCacheEntry::surface):
300         (ThemePartCacheEntry):
301
302 2012-09-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
303
304         Move updateHoverActiveState to Document.
305         https://bugs.webkit.org/show_bug.cgi?id=95858
306
307         Reviewed by Antonio Gomes.
308
309         RenderLayer::updateHoverActiveState contains the logic that updates hover and active states based on
310         hit-tests, but hover and active states are document states, and does have any relation to layers other
311         than documents having atleast one layer.
312
313         By moving the function it will be in the same place as other active/hover state maintainace, and we avoid
314         excessive updates of the state from hit-testing flow threads.
315
316         * dom/Document.cpp:
317         (WebCore::commonAncestor):
318         (WebCore::Document::updateHoverActiveState):
319         * dom/Document.h:
320         (Document):
321         * page/EventHandler.cpp:
322         (WebCore::EventHandler::sendContextMenuEventForKey):
323         * rendering/RenderFrameBase.cpp:
324         (WebCore::RenderFrameBase::nodeAtPoint):
325         * rendering/RenderLayer.cpp:
326         (WebCore::RenderLayer::hitTest):
327         * rendering/RenderLayer.h:
328         * rendering/RenderView.cpp:
329         (WebCore::RenderView::hitTest):
330         * rendering/RenderView.h:
331         (RenderView):
332
333 2012-09-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
334
335         REGRESSION: hit test doesn't take iframe scroll position into account
336         https://bugs.webkit.org/show_bug.cgi?id=96541
337
338         Reviewed by Antonio Gomes.
339
340         Convert the coordinate correctly by taking scroll position plus frame
341         borders and padding into account.
342
343         Test: fast/events/touch/touch-inside-iframe-scrolled.html
344
345         * rendering/RenderFrameBase.cpp:
346         (WebCore::RenderFrameBase::nodeAtPoint):
347
348 2012-09-13  Ilya Tikhonovsky  <loislo@chromium.org>
349
350         Web Inspector: NMI: remove the dependency of platform sources from WebCore header introduced by NMI instrumentation.
351         https://bugs.webkit.org/show_bug.cgi?id=96367
352
353         Reviewed by Yury Semikhatsky.
354
355         the target is to move 'platform' specific instrumentation code
356         from WebCoreMemoryInstrumentation into the new PlatformMemoryInstrumentation.
357
358         Drive by fix: New type DOM.Image was introduced.
359
360         * CMakeLists.txt:
361         * GNUmakefile.list.am:
362         * Target.pri:
363         * WebCore.gypi:
364         * WebCore.vcproj/WebCore.vcproj:
365         * WebCore.xcodeproj/project.pbxproj:
366         * dom/WebCoreMemoryInstrumentation.cpp:
367         (WebCore):
368         * dom/WebCoreMemoryInstrumentation.h:
369         (WebCoreMemoryTypes):
370         * inspector/InspectorMemoryAgent.cpp:
371         (WebCore):
372         * platform/KURL.cpp:
373         * platform/KURLGoogle.cpp:
374         * platform/PlatformMemoryInstrumentation.cpp: Copied from Source/WebCore/platform/graphics/GeneratedImage.cpp.
375         (WebCore):
376         * platform/PlatformMemoryInstrumentation.h: Copied from Source/WebCore/platform/graphics/GeneratedImage.cpp.
377         (WebCore):
378         (PlatformMemoryTypes):
379         * platform/SharedBuffer.cpp:
380         * platform/TreeShared.h:
381         (WebCore::TreeShared::reportMemoryUsage):
382         * platform/graphics/BitmapImage.cpp:
383         (WebCore::BitmapImage::reportMemoryUsage):
384         * platform/graphics/CrossfadeGeneratedImage.cpp:
385         (WebCore::CrossfadeGeneratedImage::reportMemoryUsage):
386         * platform/graphics/GeneratedImage.cpp:
387         (WebCore::GeneratedImage::reportMemoryUsage):
388         * platform/graphics/GeneratorGeneratedImage.cpp:
389         (WebCore::GeneratorGeneratedImage::reportMemoryUsage):
390         * platform/graphics/GeneratorGeneratedImage.h:
391         * platform/graphics/Image.cpp:
392         (WebCore::Image::reportMemoryUsage):
393         * platform/network/FormData.cpp:
394         (WebCore::FormData::reportMemoryUsage):
395         * platform/network/ResourceRequestBase.cpp:
396         (WebCore::ResourceRequestBase::reportMemoryUsage):
397         * platform/network/ResourceResponseBase.cpp:
398         (WebCore::ResourceResponseBase::reportMemoryUsage):
399
400 2012-09-13  Ilya Tikhonovsky  <loislo@chromium.org>
401
402         Web Inspector: NMI: instrument KURL directly.
403         https://bugs.webkit.org/show_bug.cgi?id=96624
404
405         Reviewed by Yury Semikhatsky.
406
407         I replaced traits based instrumentation of KURL with reportMemoryUsage functions.
408         CString* were also instrumented.
409
410         Drive by fix: Instrumentation code in QualifiedName was moved to cpp.
411
412         * bindings/v8/V8DOMMap.h:
413         * dom/Attribute.h:
414         * dom/QualifiedName.cpp:
415         (WebCore::QualifiedName::reportMemoryUsage):
416         (WebCore):
417         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
418         * dom/QualifiedName.h:
419         (QualifiedNameImpl):
420         (QualifiedName):
421         * dom/WebCoreMemoryInstrumentation.cpp:
422         * dom/WebCoreMemoryInstrumentation.h:
423         (WebCore):
424         * platform/KURL.cpp:
425         (WebCore::KURL::reportMemoryUsage):
426         (WebCore):
427         * platform/KURL.h:
428         (KURL):
429         * platform/KURLGoogle.cpp:
430         (WebCore::KURLGooglePrivate::reportMemoryUsage):
431         * platform/KURLGooglePrivate.h:
432         (KURLGooglePrivate):
433         * platform/KURLWTFURLImpl.h:
434         (KURLWTFURLImpl):
435         (WebCore::KURLWTFURLImpl::reportMemoryUsage):
436
437 2012-09-13  Kent Tamura  <tkent@chromium.org>
438
439         Update binding test expectation for http://trac.webkit.org/changeset/128400
440         https://bugs.webkit.org/show_bug.cgi?id=91933
441
442         * bindings/scripts/test/JS/JSFloat64Array.cpp:
443         (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
444         (WebCore::JSFloat64Array::putByIndex):
445         * bindings/scripts/test/JS/JSFloat64Array.h:
446         (JSFloat64Array):
447         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
448         (JSTestActiveDOMObject):
449         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
450         (WebCore::JSTestCustomNamedGetter::getOwnPropertySlotByIndex):
451         (WebCore):
452         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
453         (JSTestCustomNamedGetter):
454         * bindings/scripts/test/JS/JSTestEventConstructor.h:
455         (JSTestEventConstructor):
456         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
457         (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
458         * bindings/scripts/test/JS/JSTestEventTarget.h:
459         (JSTestEventTarget):
460         * bindings/scripts/test/JS/JSTestException.h:
461         (JSTestException):
462         * bindings/scripts/test/JS/JSTestInterface.cpp:
463         (WebCore::JSTestInterface::putByIndex):
464         (WebCore):
465         * bindings/scripts/test/JS/JSTestInterface.h:
466         (JSTestInterface):
467         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
468         (JSTestMediaQueryListListener):
469         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
470         (JSTestNamedConstructor):
471         * bindings/scripts/test/JS/JSTestNode.h:
472         (JSTestNode):
473         * bindings/scripts/test/JS/JSTestObj.h:
474         (JSTestObj):
475         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
476         (JSTestSerializedScriptValueInterface):
477
478 2012-09-13  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
479
480         [EFL] REGRESSION (r128274): fast/overflow/overflow-height-float-not-removed-crash.html
481         https://bugs.webkit.org/show_bug.cgi?id=96619
482
483         Reviewed by Kenneth Rohde Christiansen.
484
485         ThemePartCacheEntry::create() can return '0' if creation fails, this was not checked
486         while Theme Part cache populating. A NULL pointer was dereferenced then causing crash.
487
488         Test: fast/overflow/overflow-height-float-not-removed-crash.html.
489
490         * platform/efl/RenderThemeEfl.cpp:
491         (WebCore::RenderThemeEfl::getThemePartFromCache):
492
493 2012-09-13  Filip Pizlo  <fpizlo@apple.com>
494
495         [Qt][Win] REGRESSION(r128400): It broke the build
496         https://bugs.webkit.org/show_bug.cgi?id=96617
497
498         Reviewed by Simon Hausmann.
499
500         * bridge/runtime_array.h:
501         (JSC::RuntimeArray::createStructure):
502
503 2012-09-13  Alexander Pavlov  <apavlov@chromium.org>
504
505         Web Inspector: CSS domain sends events while it is not enabled
506         https://bugs.webkit.org/show_bug.cgi?id=96615
507
508         Reviewed by Yury Semikhatsky.
509
510         The CSS agent is put into and removed from the instrumenting agents set upon enable() and disable(), respectively.
511
512         Tests will be shortly landed as a part of the new pure protocol testing harness.
513
514         * inspector/InspectorCSSAgent.cpp:
515         (WebCore::InspectorCSSAgent::setFrontend):
516         (WebCore::InspectorCSSAgent::clearFrontend):
517         (WebCore::InspectorCSSAgent::reset):
518         (WebCore):
519         (WebCore::InspectorCSSAgent::resetNonPersistentData):
520         (WebCore::InspectorCSSAgent::enable):
521         (WebCore::InspectorCSSAgent::disable):
522         * inspector/InspectorCSSAgent.h:
523         (InspectorCSSAgent):
524
525 2012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>
526
527         Web Inspector: NMI: migrate core instrumentation code to WTF namespace
528         https://bugs.webkit.org/show_bug.cgi?id=96511
529
530         Reviewed by Yury Semikhatsky.
531
532         After moving core NMI code to WTF namespace I removed forward declarations
533         of MemoryObjectInfo and MemoryInstrumentation from WebCore headers and add
534         forward declaration into wtf/Forward.h
535
536         * bindings/v8/DOMDataStore.h:
537         (WebCore):
538         * bindings/v8/ScriptProfiler.h:
539         (WebCore):
540         * bindings/v8/V8DOMMap.h:
541         (WebCore):
542         * bindings/v8/V8PerIsolateData.h:
543         (WebCore):
544         * bindings/v8/V8ValueCache.h:
545         (WebCore):
546         * css/CSSProperty.h:
547         * css/CSSRule.h:
548         (WebCore):
549         * css/CSSSelectorList.h:
550         (WebCore):
551         * css/CSSStyleDeclaration.h:
552         (WebCore):
553         * css/CSSStyleSheet.h:
554         (WebCore):
555         * css/CSSValue.h:
556         * css/MediaList.h:
557         (WebCore):
558         * css/MediaQuery.h:
559         * css/MediaQueryExp.h:
560         * css/StylePropertySet.h:
561         (WebCore):
562         * css/StyleResolver.h:
563         * css/StyleRule.h:
564         (WebCore):
565         * css/StyleRuleImport.h:
566         (WebCore):
567         * css/StyleSheetContents.h:
568         (WebCore):
569         * css/WebKitCSSKeyframeRule.h:
570         * css/WebKitCSSKeyframesRule.h:
571         (WebCore):
572         * css/WebKitCSSMixFunctionValue.h:
573         * dom/DocumentEventQueue.h:
574         (WebCore):
575         * dom/ElementAttributeData.h:
576         (WebCore):
577         * dom/Event.h:
578         (WebCore):
579         * dom/Node.h:
580         (WebCore):
581         * dom/WebCoreMemoryInstrumentation.cpp:
582         (WTF):
583         (WTF::WebCore::KURL):
584         * dom/WebCoreMemoryInstrumentation.h:
585         (WebCore):
586         (WTF):
587         * inspector/MemoryInstrumentationImpl.h:
588         * loader/DocumentLoader.h:
589         (WebCore):
590         * loader/FrameLoader.h:
591         (WebCore):
592         * loader/ResourceLoader.h:
593         (WebCore):
594         * loader/SubstituteData.h:
595         * loader/cache/CachedCSSStyleSheet.h:
596         (WebCore):
597         * loader/cache/CachedRawResource.h:
598         (WebCore):
599         * loader/cache/CachedResource.h:
600         (WebCore):
601         * loader/cache/CachedResourceHandle.h:
602         * loader/cache/CachedResourceLoader.h:
603         (WebCore):
604         * loader/cache/CachedScript.h:
605         (WebCore):
606         * loader/cache/CachedShader.h:
607         * loader/cache/CachedXSLStyleSheet.h:
608         (WebCore):
609         * loader/cache/MemoryCache.h:
610         (WebCore):
611         * page/Frame.h:
612         (WebCore):
613         * platform/SharedBuffer.h:
614         * platform/graphics/CrossfadeGeneratedImage.h:
615         (WebCore):
616         * platform/graphics/Image.h:
617         (WebCore):
618         * platform/network/FormData.h:
619         (WebCore):
620         * platform/network/ResourceRequestBase.h:
621         * platform/network/ResourceResponseBase.h:
622         * rendering/style/RenderStyle.h:
623         (WebCore):
624         * rendering/style/StyleRareInheritedData.h:
625         (WebCore):
626         * rendering/style/StyleRareNonInheritedData.h:
627         (WebCore):
628
629 2012-09-13  Raul Hudea  <rhudea@adobe.com>
630
631         [CSSRegions][CSSOM] Implement Element.getRegionFlowRanges
632         https://bugs.webkit.org/show_bug.cgi?id=78493
633
634         Reviewed by David Hyatt.
635
636         Implement the getRegionFlowRanges function from the CSS Regions spec. It is implemented by iterating over 
637         the content nodes and figuring out which nodes have boundingBox intersecting the region box and figuring out
638         the start and end positions.
639
640         Tests: fast/regions/get-region-flow-ranges-absolute-pos.html
641                fast/regions/get-region-flow-ranges-content-nodes.html
642                fast/regions/get-region-flow-ranges-display-none.html
643                fast/regions/get-region-flow-ranges-empty-regions.html
644                fast/regions/get-region-flow-ranges-fixed-pos.html
645                fast/regions/get-region-flow-ranges-horiz-bt.html
646                fast/regions/get-region-flow-ranges-inline-only.html
647                fast/regions/get-region-flow-ranges-text-vert-lr.html
648                fast/regions/get-region-flow-ranges-text.html
649                fast/regions/get-region-flow-ranges-vert-lr.html
650                fast/regions/get-region-flow-ranges-vert-rl.html
651                fast/regions/get-region-flow-ranges-writing-modes-rl-rb-lr.html
652                fast/regions/get-region-flow-ranges-writing-modes-tb-rl-lr.html
653                fast/regions/get-region-flow-ranges.html
654
655         * dom/Element.cpp:
656         (WebCore::Element::webkitGetRegionFlowRanges):
657         (WebCore):
658         * dom/Element.h:
659         * dom/Element.idl: added the webkitGetRegionFlowRanges method
660         * rendering/RenderBlock.cpp:
661         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats): Use the logicalTopOfFlowThreadContentRect instead of offsetFromLogicalTopOfFirstPage (renamed)
662         (WebCore::RenderBlock::hasNextPage): Use the logicalTopOfFlowThreadContentRect instead of offsetFromLogicalTopOfFirstPage (renamed)
663         (WebCore::RenderBlock::offsetFromLogicalTopOfFirstPage): Added a slower path which works without LayoutState
664         (WebCore::RenderBlock::clampToStartAndEndRegions): Use the logicalTopOfFlowThreadContentRect instead of offsetFromLogicalTopOfFirstPage (renamed)
665         * rendering/RenderBox.cpp:
666         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): Use the logicalTopOfFlowThreadContentRect instead of offsetFromLogicalTopOfFirstPage (renamed)
667         (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion): Use the logicalTopOfFlowThreadContentRect instead of offsetFromLogicalTopOfFirstPage (renamed)
668         (WebCore::computeInlineStaticDistance): Use the logicalTopOfFlowThreadContentRect instead of offsetFromLogicalTopOfFirstPage (renamed)
669         * rendering/RenderNamedFlowThread.cpp:
670         (WebCore::isContainedInNodes):
671         (WebCore):
672         (WebCore::boxIntersectsRegion):
673         (WebCore::RenderNamedFlowThread::getRanges): returns a vector of Ranges that contains Node that are part of a region
674         * rendering/RenderNamedFlowThread.h:
675         (RenderNamedFlowThread):
676         * rendering/RenderRegion.cpp:
677         (WebCore::RenderRegion::logicalTopOfFlowThreadContentRect): Returns the logical top of a rectangle inside the flow thread content
678         (WebCore):
679         (WebCore::RenderRegion::logicalBottomOfFlowThreadContentRect): Returns the logical bottom of a rectangle inside the flow thread content
680         (WebCore::RenderRegion::getRanges): proxy the getRanges call to its named flow thread
681         * rendering/RenderRegion.h:
682         (RenderRegion):
683         (WebCore::RenderRegion::logicalTopForFlowThreadContent): Renamed from offsetFromLogicalTopOfFirstPage
684         (WebCore::RenderRegion::logicalBottomForFlowThreadContent): Returns the logical bottom of the FlowThreadContent rect
685
686 2012-09-13  Adam Barth  <abarth@webkit.org>
687
688         new test fast/canvas/canvas-css-crazy.html fails on Mac
689         https://bugs.webkit.org/show_bug.cgi?id=96582
690
691         Reviewed by Csaba Osztrogonác.
692
693         We represent 0 pointers with null, not undefined.
694
695         Test: fast/canvas/canvas-css-crazy.html
696
697         * bindings/js/JSCanvasRenderingContextCustom.cpp:
698         (WebCore::toJS):
699
700 2012-09-12  Alexander Pavlov  <apavlov@chromium.org>
701
702         Web Inspector: [Styles] Styles not updated when there is a heavy stream of DOM updates
703         https://bugs.webkit.org/show_bug.cgi?id=96482
704
705         Reviewed by Vsevolod Vlasov.
706
707         Update the Styles pane even if there is a pending rebuild update for the same current node.
708
709         * inspector/front-end/StylesSidebarPane.js:
710         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
711
712 2012-09-12  Chris Fleizach  <cfleizach@apple.com>
713
714         AX: svg:image not accessible
715         https://bugs.webkit.org/show_bug.cgi?id=96341
716
717         Unreviewed.
718
719         Build fix for non-SVG ports.
720
721         * accessibility/AccessibilityRenderObject.cpp:
722         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
723
724 2012-09-12  Yoshifumi Inoue  <yosin@chromium.org>
725
726         New time input needs accessibility
727         https://bugs.webkit.org/show_bug.cgi?id=96032
728
729         Reviewed by Chris Fleizach.
730
731         This patch adds accessibility support into multiple fields time input
732         UI by setting "role" HTML attribute of DateTimeFieldElement to "spinbutton"
733         and changing ARIA attributes to post value change notification.
734
735         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
736         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
737
738         Tests: fast/forms/time-multiple-fields/time-multiple-fields-ax-aria-attributes.html
739                fast/forms/time-multiple-fields/time-multiple-fields-ax-value-changed-notification.html
740
741         * html/shadow/DateTimeFieldElement.cpp:
742         (WebCore::DateTimeFieldElement::DateTimeFieldElement): Changed to set
743         "role" HTML attribute to "spinbutton".
744         (WebCore::DateTimeFieldElement::initialize): Changed to set new
745         parameter axHelpText to aria-help attribute and set aria-valuemax and
746         aria-valuemin attributes.
747         (WebCore::DateTimeFieldElement::updateVisibleValue): Changed to set
748         aria-valuetext and aria-valuenow attributes.
749         * html/shadow/DateTimeFieldElement.h:
750         (DateTimeFieldElement): Changed to add new parameter axHelpText to initialize().
751         * html/shadow/DateTimeFieldElements.cpp:
752         (WebCore::DateTimeAMPMFieldElement::create): Changed to add new argument.
753         (WebCore::DateTimeHourFieldElement::create): ditto.
754         (WebCore::DateTimeMillisecondFieldElement::create): ditto.
755         (WebCore::DateTimeMinuteFieldElement::create): ditto.
756         (WebCore::DateTimeSecondFieldElement::create): ditto.
757         * html/shadow/DateTimeNumericFieldElement.cpp:
758         (WebCore::DateTimeNumericFieldElement::maximum): Added for DateTimeFieldElement::initialize().
759         (WebCore::DateTimeNumericFieldElement::minimum): ditto.
760         * html/shadow/DateTimeNumericFieldElement.h:
761         (DateTimeNumericFieldElement): Added maximum() and minimum() declarations.
762         * html/shadow/DateTimeSymbolicFieldElement.cpp:
763         (WebCore::DateTimeSymbolicFieldElement::maximum): Added for DateTimeFieldElement::initialize().
764         (WebCore::DateTimeSymbolicFieldElement::minimum): ditto.
765         * html/shadow/DateTimeSymbolicFieldElement.h:
766         (DateTimeSymbolicFieldElement): Added maximum() and minimum() declarations.
767
768 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
769
770         Unreviewed, rolling out r127876.
771         http://trac.webkit.org/changeset/127876
772         https://bugs.webkit.org/show_bug.cgi?id=96600
773
774         mouse click doesn't work for spin button if spin button in
775         iframe (Requested by yosin on #webkit).
776
777         * WebCore.exp.in:
778         * WebCore.order:
779         * dom/Document.cpp:
780         (WebCore::Document::nodesFromRect):
781         * dom/Document.h:
782         (Document):
783         * page/ContextMenuController.cpp:
784         (WebCore::ContextMenuController::createContextMenu):
785         * page/DragController.cpp:
786         (WebCore::DragController::canProcessDrag):
787         (WebCore::DragController::startDrag):
788         * page/EventHandler.cpp:
789         (WebCore::EventHandler::updateAutoscrollRenderer):
790         (WebCore::EventHandler::hitTestResultAtPoint):
791         (WebCore::EventHandler::handleMousePressEvent):
792         (WebCore::EventHandler::handleGestureEvent):
793         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
794         (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
795         (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
796         (WebCore::EventHandler::handleTouchEvent):
797         * page/EventHandler.h:
798         (EventHandler):
799         * page/FocusController.cpp:
800         (WebCore::updateFocusCandidateIfNeeded):
801         * page/Frame.cpp:
802         (WebCore::Frame::visiblePositionForPoint):
803         (WebCore::Frame::documentAtPoint):
804         * page/TouchDisambiguation.cpp:
805         (WebCore::findGoodTouchTargets):
806         * rendering/HitTestRequest.h:
807         * testing/Internals.cpp:
808         (WebCore::Internals::nodesFromRect):
809
810 2012-09-09  Filip Pizlo  <fpizlo@apple.com>
811
812         JSC should have property butterflies
813         https://bugs.webkit.org/show_bug.cgi?id=91933
814
815         Reviewed by Geoffrey Garen.
816
817         Teach the DOM that to intercept get/put on indexed properties, you now have
818         to override getOwnPropertySlotByIndex and putByIndex.
819
820         No new tests because no new behavior. One test was rebased because indexed
821         property iteration order now matches other engines (indexed properties always
822         come first).
823
824         * bindings/js/ArrayValue.cpp:
825         (WebCore::ArrayValue::get):
826         * bindings/js/JSBlobCustom.cpp:
827         (WebCore::JSBlobConstructor::constructJSBlob):
828         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
829         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
830         * bindings/js/JSDOMStringListCustom.cpp:
831         (WebCore::toDOMStringList):
832         * bindings/js/JSDOMStringMapCustom.cpp:
833         (WebCore::JSDOMStringMap::deletePropertyByIndex):
834         (WebCore):
835         * bindings/js/JSDOMWindowCustom.cpp:
836         (WebCore::JSDOMWindow::getOwnPropertySlot):
837         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
838         (WebCore):
839         (WebCore::JSDOMWindow::putByIndex):
840         (WebCore::JSDOMWindow::deletePropertyByIndex):
841         * bindings/js/JSDOMWindowShell.cpp:
842         (WebCore::JSDOMWindowShell::getOwnPropertySlotByIndex):
843         (WebCore):
844         (WebCore::JSDOMWindowShell::putByIndex):
845         (WebCore::JSDOMWindowShell::deletePropertyByIndex):
846         * bindings/js/JSDOMWindowShell.h:
847         (JSDOMWindowShell):
848         * bindings/js/JSHistoryCustom.cpp:
849         (WebCore::JSHistory::deletePropertyByIndex):
850         (WebCore):
851         * bindings/js/JSInspectorFrontendHostCustom.cpp:
852         (WebCore::populateContextMenuItems):
853         * bindings/js/JSLocationCustom.cpp:
854         (WebCore::JSLocation::deletePropertyByIndex):
855         (WebCore):
856         * bindings/js/JSStorageCustom.cpp:
857         (WebCore::JSStorage::deletePropertyByIndex):
858         (WebCore):
859         * bindings/js/JSWebSocketCustom.cpp:
860         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
861         * bindings/js/ScriptValue.cpp:
862         (WebCore::jsToInspectorValue):
863         * bindings/js/SerializedScriptValue.cpp:
864         (WebCore::CloneSerializer::serialize):
865         * bindings/scripts/CodeGeneratorJS.pm:
866         (GenerateHeader):
867         (GenerateImplementation):
868         * bridge/runtime_array.cpp:
869         (JSC::RuntimeArray::RuntimeArray):
870         * bridge/runtime_array.h:
871         (JSC::RuntimeArray::createStructure):
872         (RuntimeArray):
873
874 2012-09-12  Kent Tamura  <tkent@chromium.org>
875
876         Introduce ValidationMessageClient
877         https://bugs.webkit.org/show_bug.cgi?id=96238
878
879         Reviewed by Hajime Morita.
880
881         ValidationMessageClient interface is responsible to operate validation
882         message UI for interactive form validation. If a Page object has a
883         ValidtionMessageClient, ValidationMessae class uses
884         ValidtionMessageClient instead of Shadow DOM.
885
886         No new tests because of no behavior changes.
887
888         * GNUmakefile.list.am: Add ValidtionMessageClient.h.
889         * Target.pri: ditto.
890         * WebCore.gypi: ditto.
891         * WebCore.xcodeproj/project.pbxproj: ditto.
892
893         * html/ValidationMessage.cpp:
894         (WebCore::ValidationMessage::~ValidationMessage):
895         Hide a validation message via ValidationMessageClient if it is available.
896         (WebCore::ValidationMessage::validationMessageClient):
897         A helper function to get Page::validationMessageClient.
898         (WebCore::ValidationMessage::updateValidationMessage):
899         Adding title attribute is not neeeded if ValidationMessageClient is
900         used. It shoudl be handled in a ValidtionMessageClient implementation.
901         (WebCore::ValidationMessage::setMessage):
902         Show a validation message via ValidationMessageClient if it is available.
903         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
904         Add an assertion that ValidationMessageClient should not be available.
905         (WebCore::ValidationMessage::buildBubbleTree): ditto.
906         (WebCore::ValidationMessage::requestToHideMessage):
907         Hide a validation message via ValidationMessageClient if it is available.
908         (WebCore::ValidationMessage::shadowTreeContains):
909         Always returns false if ValidationMessageClient is available, it means no Shadow DOM.
910         (WebCore::ValidationMessage::deleteBubbleTree):
911         Add an assertion that ValidationMessageClient should not be available.
912         (WebCore::ValidationMessage::isVisible):
913         Ask ValidationMessageClient for visibility if it is available.
914         * html/ValidationMessage.h:
915         (WebCore): Add a comment.
916         (ValidationMessage): Add validtionMessageClient member function.
917
918         * page/Page.cpp:
919         (WebCore::Page::Page): Initialize m_validationMessageClient.
920         (WebCore::Page::PageClients::PageClients):
921         Initialize validationMessageClient member with 0.
922         So, existing code makes Page::m_validationMessageClient 0.
923         * page/Page.h:
924         (PageClients): Add validationMessageClient member.
925         (WebCore::Page::validationMessageClient):
926         Added. Accessor for m_validationMessageClient.
927         (Page): Add m_validationMessageClient.
928
929         * page/Settings.h:
930         (Settings): Updated the comment for setInteractiveFormValidationEnabled.
931
932         * page/ValidationMessageClient.h: Added.
933
934 2012-09-12  Dmitry Titov  <dimich@chromium.org>
935
936         [V8] OOM in Workers due to external memory retention.
937         https://bugs.webkit.org/show_bug.cgi?id=96459
938
939         Reviewed by David Levin.
940
941         Added memory checks to the locations in Workers code that are about to invoke the next JS block.
942
943         * bindings/v8/ScheduledAction.cpp:
944         (WebCore::ScheduledAction::execute):
945         * bindings/v8/V8GCController.cpp:
946         (WebCore):
947         (WebCore::workingSetEstimateMBMutex): Added a Mutex-protected accessors to a static caching WS estimate.
948         (WebCore::V8GCController::gcEpilogue):
949         (WebCore::V8GCController::checkMemoryUsage):
950         * bindings/v8/V8GCController.h:
951         (V8GCController):
952         * bindings/v8/V8WorkerContextEventListener.cpp:
953         (WebCore::V8WorkerContextEventListener::callListenerFunction):
954         * bindings/v8/WorkerContextExecutionProxy.cpp:
955         (WebCore::WorkerContextExecutionProxy::evaluate):
956
957 2012-09-12  Julien Chaffraix  <jchaffraix@webkit.org>
958
959         REGRESSION(r122501): replaced elements with percent width are wrongly size when inserted inside an auto-table layout
960         https://bugs.webkit.org/show_bug.cgi?id=95892
961
962         Reviewed by Ojan Vafai.
963
964         r122501 exposed an issue in how preferred logical widths are computed on replaced objects. The code relies on the
965         logical width computation methods. Unfortunately the previous code relies on the layout information, which may not
966         be up-to-date during preferred logical width computation.
967
968         Test: fast/table/bad-replaced-sizing-preferred-logical-widths.html
969               fast/replaced/vertical-writing-mode-max-logical-width.html
970
971         * rendering/RenderReplaced.cpp:
972         (WebCore::RenderReplaced::computeMaxPreferredLogicalWidth):
973         Added this helper method. The main difference with the old code is that it handles the percent logical width
974         properly before calling the old code path. This is not totally right but before forking the whole code, it's
975         better to have more evidence that forking preferred logical widths and logical width computation is the way to go.
976
977         (WebCore::RenderReplaced::computePreferredLogicalWidths):
978         Changed to call computeMaxPreferredLogicalWidth. Also fixed an existing bug in vertical-writing modes where we would
979         add the wrong paddings and borders.
980
981         * rendering/RenderReplaced.h:
982         (RenderReplaced): Added computeMaxPreferredLogicalWidth.
983
984 2012-09-12  Max Vujovic  <mvujovic@adobe.com>
985
986         [CSS Shaders] Cached validated programs are destroyed and recreated when there is only one custom filter animating
987         https://bugs.webkit.org/show_bug.cgi?id=96563
988
989         Reviewed by Dean Jackson.
990
991         Before this patch, in FilterEffectRenderer::build, we would first clear the old effects and
992         then create the new effects.
993
994         Suppose we have one FECustomFilter animating on the page. This FECustomFilter holds the last
995         reference to the cached validated program. Before this patch, we would first destroy the old
996         FECustomFilter, which would destroy its cached validated program. Then, we would create the
997         new FECustomFilter and have to recreate the validated program.
998
999         This patch makes FilterEffectRenderer::build keep the old effects around until we're
1000         done creating the new effects. This way, we won't recreate validated programs.
1001
1002         No new tests. We can't test this because the validated program cache is not exposed to web
1003         pages.
1004
1005         * rendering/FilterEffectRenderer.cpp:
1006         (WebCore::FilterEffectRenderer::build):
1007
1008 2012-09-12  Tony Chang  <tony@chromium.org>
1009
1010         flex item sized incorrectly in a column flexbox with height set via top/bottom
1011         https://bugs.webkit.org/show_bug.cgi?id=94855
1012
1013         Reviewed by Ojan Vafai.
1014
1015         Stop using computeContentLogicalHeight() to get the height of the flexbox and
1016         use computeLogicalHeight directly.  This properly takes into account out of flow
1017         positioning.
1018
1019         We can actually refactor some of this into common code, but I want to do that as
1020         a separate pass.
1021
1022         Test: css3/flexbox/columns-height-set-via-top-bottom.html
1023
1024         * rendering/RenderFlexibleBox.cpp:
1025         (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Fix out of date comment.
1026         (WebCore::RenderFlexibleBox::mainAxisContentExtent): Use computeLogicalHeight instead of computeContentLogicalHeight.
1027         This code actually never gets used-- I'll try to remove in a follow up.
1028         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Use computeLogicalHeight instead of computeContentLogicalHeight.
1029         (WebCore::RenderFlexibleBox::lineBreakLength): Use computeLogicalHeight instead of computeContentLogicalHeight.
1030
1031 2012-09-12  Adam Barth  <abarth@webkit.org>
1032
1033         [V8] V8DOMWrapper::perContextData has no callers and can be removed
1034         https://bugs.webkit.org/show_bug.cgi?id=96574
1035
1036         Reviewed by Kentaro Hara.
1037
1038         * bindings/v8/V8DOMWrapper.cpp:
1039         * bindings/v8/V8DOMWrapper.h:
1040         (WebCore::V8DOMWrapper::getCachedWrapper):
1041
1042 2012-09-12  Alexandru Chiculita  <achicu@adobe.com>
1043
1044         [CSS Shaders] Implement transform parameter animations for CSS Custom Filters
1045         https://bugs.webkit.org/show_bug.cgi?id=94980
1046
1047         Reviewed by Dean Jackson.
1048
1049         Based on patch from Joshua Netterfield <jnetterfield@rim.com>.
1050
1051         According to Section 39.2 of Filter Effects 1.0 Editor's draft
1052         (https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html), animations
1053         of transforms should be handled following the CSS3 transform interpolation
1054         rules. This patch implements this functionality.
1055
1056         Test: css3/filters/custom/custom-filter-transforms-animation.html
1057
1058         * page/animation/CSSPropertyAnimation.cpp:
1059         (WebCore::blendFunc):
1060         (WebCore):
1061         * platform/graphics/filters/CustomFilterNumberParameter.h:
1062         (WebCore::CustomFilterNumberParameter::blend):
1063         * platform/graphics/filters/CustomFilterOperation.cpp:
1064         (WebCore::blendCustomFilterParameters):
1065         (WebCore::CustomFilterOperation::blend):
1066         * platform/graphics/filters/CustomFilterOperation.h:
1067         (WebCore):
1068         (WebCore::CustomFilterOperation::blendingNeedsRendererSize): Some filters need the box size, so that they could compute
1069         Transforms. Right now only the CustomFilterOperation needs that, but I've implemented using this generic function.
1070         (CustomFilterOperation):
1071         * platform/graphics/filters/CustomFilterParameter.h:
1072         (CustomFilterParameter):
1073         * platform/graphics/filters/CustomFilterTransformParameter.h:
1074         (CustomFilterTransformParameter):
1075         (WebCore::CustomFilterTransformParameter::blend):
1076         * platform/graphics/filters/FilterOperation.h:
1077         (WebCore::FilterOperation::FilterOperation::blend):
1078         (FilterOperation):
1079         (WebCore::FilterOperation::FilterOperation::blendingNeedsRendererSize):
1080         * platform/graphics/transforms/TransformOperations.cpp: Extracted the blending functions from CSSPropertyAnimation.cpp
1081         so that they could be reused from other classes.
1082         (WebCore::TransformOperations::blendByMatchingOperations):
1083         (WebCore):
1084         (WebCore::TransformOperations::blendByUsingMatrixInterpolation): Used when the TransformOperations do not match.
1085         (WebCore::TransformOperations::blend): Uses when the caller doesn't know whether the TransformOperations match or not.
1086         * platform/graphics/transforms/TransformOperations.h:
1087         (TransformOperations):
1088
1089 2012-09-12  Alec Flett  <alecflett@chromium.org>
1090
1091         IndexedDB: Use ScriptValue instead of SerializedScriptValue when possible
1092         https://bugs.webkit.org/show_bug.cgi?id=94023
1093
1094         Reviewed by Kentaro Hara.
1095
1096         Transition the put/add/update methods to accept direct ScriptValue
1097         objects rather than SerializedScriptValues, to eliminate lots of
1098         redundant deserialization/serialization steps while storing
1099         values.
1100
1101         Also see https://bugs.webkit.org/show_bug.cgi?id=95409 for
1102         followup get/openCursor work, following this.
1103
1104         No new tests, this is a performance refactor of core IDB
1105         functionality. Most existing tests cover correctness. Tests that
1106         might fail include:
1107
1108         storage/indexeddb/objectstore-basics.html
1109         storage/indexeddb/keypath-basics.html
1110         storage/indexeddb/index-basics.html
1111
1112         * Modules/indexeddb/IDBCursor.cpp:
1113         (WebCore::IDBCursor::update):
1114         * Modules/indexeddb/IDBCursor.h:
1115         (IDBCursor):
1116         * Modules/indexeddb/IDBCursor.idl:
1117         * Modules/indexeddb/IDBObjectStore.cpp:
1118         (WebCore::generateIndexKeysForValue):
1119         (WebCore::IDBObjectStore::add):
1120         (WebCore::IDBObjectStore::put):
1121         (WebCore):
1122         * Modules/indexeddb/IDBObjectStore.h:
1123         (WebCore::IDBObjectStore::add):
1124         (WebCore::IDBObjectStore::put):
1125         (IDBObjectStore):
1126         * Modules/indexeddb/IDBObjectStore.idl:
1127         * bindings/v8/IDBBindingUtilities.cpp:
1128         (WebCore):
1129         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
1130         (WebCore::deserializeIDBValue):
1131         (WebCore::canInjectIDBKeyIntoScriptValue):
1132         * bindings/v8/IDBBindingUtilities.h:
1133         (WebCore):
1134
1135 2012-09-12  Chris Fleizach  <cfleizach@apple.com>
1136
1137         AX: svg:image not accessible
1138         https://bugs.webkit.org/show_bug.cgi?id=96341
1139
1140         Reviewed by Adele Peterson.
1141
1142         Test: accessibility/svg-image.html
1143
1144         * accessibility/AccessibilityRenderObject.cpp:
1145         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1146
1147 2012-09-12  Ojan Vafai  <ojan@chromium.org>
1148
1149         percentage widths rendered wrong in vertical writing mode with orthogonal parent
1150         https://bugs.webkit.org/show_bug.cgi?id=96308
1151
1152         Reviewed by Tony Chang.
1153
1154         When the containingBlock is in a perpendicular writing-mode, we need to use
1155         it's logicalWidth as the availableHeight for computing percentage values.
1156
1157         Tests: fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks.html
1158                fast/writing-mode/percentage-height-orthogonal-writing-modes.html
1159
1160         * rendering/RenderBox.cpp:
1161         (WebCore::RenderBox::computePercentageLogicalHeight):
1162         (WebCore::RenderBox::availableLogicalHeightUsing):
1163         Added some FIXMEs for perpendicular writing mode cases.
1164
1165 2012-09-12  Adam Barth  <abarth@webkit.org>
1166
1167         [v8] document.getCSSCanvasContext doesn't need to be custom
1168         https://bugs.webkit.org/show_bug.cgi?id=96560
1169
1170         Reviewed by Eric Seidel.
1171
1172         Instead of having a special case for toV8(CanvasRenderingContext*)
1173         inlined into this custom function, we should just make the toV8
1174         function itself custom.
1175
1176         Test: fast/canvas/canvas-css-crazy.html
1177
1178         * UseV8.cmake:
1179         * WebCore.gypi:
1180         * bindings/v8/custom/V8DocumentCustom.cpp:
1181         * dom/Document.idl:
1182         * html/canvas/CanvasRenderingContext.idl:
1183
1184 2012-09-12  Eric Seidel  <eric@webkit.org>
1185
1186         HTML parser fails to propertly close 4 identical nested formatting elements
1187         https://bugs.webkit.org/show_bug.cgi?id=96385
1188
1189         Reviewed by Adam Barth.
1190
1191         Add missing Adoption agency step 4.a to fix one of our two outlying Adoption Agency bugs.
1192         This is the same step that Opera was missing (must have been recently added to the spec).
1193
1194         * html/parser/HTMLTreeBuilder.cpp:
1195         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1196
1197 2012-09-12  Siraj Razick  <siraj.razick@collabora.co.uk>
1198
1199         [GTK] Protect RedirectedXCompositeWindow with USE(GLX) when building the clutter AC backend
1200         https://bugs.webkit.org/show_bug.cgi?id=96165
1201
1202         Reviewed by Martin Robinson.
1203
1204         RedirectedXCompositeWindow.cpp and RedirectedXCompositeWindow.h files requies openGL specific
1205         headers to compile so when we build webkit clutter AC backend these files failed to compile,
1206         This patch protects these two files with USE(GLX) when building webkit with Clutter AC backend.
1207
1208         No new tests since this is a build fix
1209
1210         * platform/gtk/RedirectedXCompositeWindow.cpp:
1211         * platform/gtk/RedirectedXCompositeWindow.h:
1212         protects both the files with USE(GLX)
1213
1214 2012-09-12  Ojan Vafai  <ojan@chromium.org>
1215
1216         RenderBox::computeLogicalClientHeight is incorrectly named
1217         https://bugs.webkit.org/show_bug.cgi?id=94288
1218
1219         Reviewed by Tony Chang.
1220
1221         Just renamed a couple methods to make it more clear what they return.
1222         No behavior changes.
1223
1224         * rendering/RenderBox.cpp:
1225         (WebCore::RenderBox::computeLogicalHeightUsing):
1226         (WebCore::RenderBox::computeContentLogicalHeight):
1227         (WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
1228         (WebCore::RenderBox::availableLogicalHeightUsing):
1229         * rendering/RenderBox.h:
1230         (RenderBox):
1231         * rendering/RenderFlexibleBox.cpp:
1232         (WebCore::RenderFlexibleBox::mainAxisContentExtent):
1233         (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
1234         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace):
1235         (WebCore::RenderFlexibleBox::lineBreakLength):
1236
1237 2012-09-12  Joshua Bell  <jsbell@chromium.org>
1238
1239         IndexedDB: The |source| property of IDBFactory.open() request should be null
1240         https://bugs.webkit.org/show_bug.cgi?id=96551
1241
1242         Reviewed by Tony Chang.
1243
1244         Per the IDB spec, the source property of the IDBOpenDBRequest returned by IDBFactory.open()
1245         should be set to null. We were setting it to the IDBFactory object instead.
1246
1247         Tests: storage/indexeddb/basics.html
1248                storage/indexeddb/basics-workers.html
1249                storage/indexeddb/mozilla/event-source.html
1250                storage/indexeddb/readonly.html
1251
1252         * Modules/indexeddb/IDBFactory.cpp:
1253         (WebCore::IDBFactory::open):
1254
1255 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1256
1257         Unreviewed, rolling out r128353.
1258         http://trac.webkit.org/changeset/128353
1259         https://bugs.webkit.org/show_bug.cgi?id=96565
1260
1261         Re-land change that broke tests on Chromium. Tests are now
1262         disabled, will rebaseline after this rolls. (Requested by
1263         dmazzoni on #webkit).
1264
1265         * accessibility/AccessibilityNodeObject.cpp:
1266         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
1267         (WebCore::AccessibilityNodeObject::canHaveChildren):
1268         (WebCore):
1269         (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
1270         (WebCore::AccessibilityNodeObject::isWebArea):
1271         (WebCore::AccessibilityNodeObject::isImageButton):
1272         (WebCore::AccessibilityNodeObject::isAnchor):
1273         (WebCore::AccessibilityNodeObject::isNativeTextControl):
1274         (WebCore::AccessibilityNodeObject::isSearchField):
1275         (WebCore::AccessibilityNodeObject::isNativeImage):
1276         (WebCore::AccessibilityNodeObject::isImage):
1277         (WebCore::AccessibilityNodeObject::isPasswordField):
1278         (WebCore::AccessibilityNodeObject::isInputImage):
1279         (WebCore::AccessibilityNodeObject::isProgressIndicator):
1280         (WebCore::AccessibilityNodeObject::isSlider):
1281         (WebCore::AccessibilityNodeObject::isMenuRelated):
1282         (WebCore::AccessibilityNodeObject::isMenu):
1283         (WebCore::AccessibilityNodeObject::isMenuBar):
1284         (WebCore::AccessibilityNodeObject::isMenuButton):
1285         (WebCore::AccessibilityNodeObject::isMenuItem):
1286         (WebCore::AccessibilityNodeObject::isNativeCheckboxOrRadio):
1287         (WebCore::AccessibilityNodeObject::isEnabled):
1288         (WebCore::AccessibilityNodeObject::isIndeterminate):
1289         (WebCore::AccessibilityNodeObject::isPressed):
1290         (WebCore::AccessibilityNodeObject::isChecked):
1291         (WebCore::AccessibilityNodeObject::isHovered):
1292         (WebCore::AccessibilityNodeObject::isMultiSelectable):
1293         (WebCore::AccessibilityNodeObject::isReadOnly):
1294         (WebCore::AccessibilityNodeObject::isRequired):
1295         (WebCore::AccessibilityNodeObject::headingLevel):
1296         (WebCore::AccessibilityNodeObject::valueDescription):
1297         (WebCore::AccessibilityNodeObject::isARIARange):
1298         (WebCore::AccessibilityNodeObject::valueForRange):
1299         (WebCore::AccessibilityNodeObject::maxValueForRange):
1300         (WebCore::AccessibilityNodeObject::minValueForRange):
1301         (WebCore::AccessibilityNodeObject::stepValueForRange):
1302         (WebCore::AccessibilityNodeObject::isHeading):
1303         (WebCore::AccessibilityNodeObject::isLink):
1304         (WebCore::AccessibilityNodeObject::isControl):
1305         (WebCore::AccessibilityNodeObject::isFieldset):
1306         (WebCore::AccessibilityNodeObject::isGroup):
1307         (WebCore::AccessibilityNodeObject::selectedRadioButton):
1308         (WebCore::AccessibilityNodeObject::selectedTabItem):
1309         (WebCore::AccessibilityNodeObject::checkboxOrRadioValue):
1310         (WebCore::AccessibilityNodeObject::anchorElement):
1311         (WebCore::AccessibilityNodeObject::actionElement):
1312         (WebCore::AccessibilityNodeObject::mouseButtonListener):
1313         (WebCore::AccessibilityNodeObject::isDescendantOfBarrenParent):
1314         (WebCore::AccessibilityNodeObject::alterSliderValue):
1315         (WebCore::AccessibilityNodeObject::increment):
1316         (WebCore::AccessibilityNodeObject::decrement):
1317         (WebCore::AccessibilityNodeObject::changeValueByStep):
1318         (WebCore::AccessibilityNodeObject::changeValueByPercent):
1319         (WebCore::AccessibilityNodeObject::isGenericFocusableElement):
1320         (WebCore::AccessibilityNodeObject::labelForElement):
1321         (WebCore::AccessibilityNodeObject::ariaAccessibilityDescription):
1322         (WebCore::siblingWithAriaRole):
1323         (WebCore::AccessibilityNodeObject::menuElementForMenuButton):
1324         (WebCore::AccessibilityNodeObject::menuForMenuButton):
1325         (WebCore::AccessibilityNodeObject::menuItemElementForMenu):
1326         (WebCore::AccessibilityNodeObject::menuButtonForMenu):
1327         (WebCore::AccessibilityNodeObject::accessibilityDescription):
1328         (WebCore::AccessibilityNodeObject::helpText):
1329         (WebCore::AccessibilityNodeObject::hierarchicalLevel):
1330         (WebCore::AccessibilityNodeObject::textUnderElement):
1331         (WebCore::AccessibilityNodeObject::title):
1332         (WebCore::AccessibilityNodeObject::text):
1333         (WebCore::AccessibilityNodeObject::stringValue):
1334         (WebCore::accessibleNameForNode):
1335         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
1336         (WebCore::AccessibilityNodeObject::elementsFromAttribute):
1337         (WebCore::AccessibilityNodeObject::ariaLabeledByElements):
1338         (WebCore::AccessibilityNodeObject::ariaLabeledByAttribute):
1339         (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
1340         * accessibility/AccessibilityNodeObject.h:
1341         (AccessibilityNodeObject):
1342         (WebCore::AccessibilityNodeObject::node):
1343         * accessibility/AccessibilityRenderObject.cpp:
1344         (WebCore::AccessibilityRenderObject::parentObject):
1345         (WebCore::AccessibilityRenderObject::isReadOnly):
1346         (WebCore::AccessibilityRenderObject::helpText):
1347         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1348         (WebCore::AccessibilityRenderObject::text):
1349         (WebCore::AccessibilityRenderObject::contentChanged):
1350         (WebCore):
1351         (WebCore::AccessibilityRenderObject::canHaveChildren):
1352         * accessibility/AccessibilityRenderObject.h:
1353         (AccessibilityRenderObject):
1354
1355 2012-09-12  Michael Saboff  <msaboff@apple.com>
1356
1357         Element::classAttributeChanged should use characters8/16 to find first non-whitespace
1358         https://bugs.webkit.org/show_bug.cgi?id=96446
1359
1360         Reviewed by Benjamin Poulain.
1361
1362         Made two new static templated methods to handle 8 or 16 bit class names.
1363
1364         No functional change, so no new tests.
1365
1366         * dom/Element.cpp:
1367         (WebCore::classStringHasClassName):
1368         (WebCore::Element::classAttributeChanged):
1369
1370 2012-09-12  Adam Barth  <abarth@chromium.org>
1371
1372         [V8] V8DOMWrapper::constructorForType is unnecessary now that we can get V8PerContextData from the v8::Context
1373         https://bugs.webkit.org/show_bug.cgi?id=96556
1374
1375         Reviewed by Eric Seidel.
1376
1377         These functions no longer serve a purpose now that we can get the
1378         V8PerContextData directly from the context. Previously we had to find
1379         the Frame in order to find the per-context data.
1380
1381         * bindings/scripts/CodeGeneratorV8.pm:
1382         (GenerateConstructorGetter):
1383         * bindings/v8/V8DOMWindowShell.cpp:
1384         (WebCore::V8DOMWindowShell::installDOMWindow):
1385         * bindings/v8/V8DOMWrapper.cpp:
1386         (WebCore::V8DOMWrapper::instantiateV8Object):
1387         * bindings/v8/V8DOMWrapper.h:
1388         (V8DOMWrapper):
1389         * bindings/v8/V8PerContextData.cpp:
1390         (WebCore::V8PerContextData::from):
1391         * bindings/v8/V8PerContextData.h:
1392         (V8PerContextData):
1393             - Changed this function to accept an arbitrary context rather than
1394               requiring the caller to use the current context.
1395
1396 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1397
1398         Unreviewed, rolling out r128318 and r128332.
1399         http://trac.webkit.org/changeset/128318
1400         http://trac.webkit.org/changeset/128332
1401         https://bugs.webkit.org/show_bug.cgi?id=96547
1402
1403         Caused accessibility test failures on snow leopard (Requested
1404         by jamesr_ on #webkit).
1405
1406         * accessibility/AccessibilityNodeObject.cpp:
1407         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
1408         (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
1409         (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
1410         * accessibility/AccessibilityNodeObject.h:
1411         (AccessibilityNodeObject):
1412         (WebCore::AccessibilityNodeObject::node):
1413         * accessibility/AccessibilityRenderObject.cpp:
1414         (WebCore):
1415         (WebCore::AccessibilityRenderObject::isWebArea):
1416         (WebCore::AccessibilityRenderObject::isImageButton):
1417         (WebCore::AccessibilityRenderObject::isAnchor):
1418         (WebCore::AccessibilityRenderObject::isNativeTextControl):
1419         (WebCore::AccessibilityRenderObject::isSearchField):
1420         (WebCore::AccessibilityRenderObject::isNativeImage):
1421         (WebCore::AccessibilityRenderObject::isImage):
1422         (WebCore::AccessibilityRenderObject::isPasswordField):
1423         (WebCore::AccessibilityRenderObject::isInputImage):
1424         (WebCore::AccessibilityRenderObject::isProgressIndicator):
1425         (WebCore::AccessibilityRenderObject::isSlider):
1426         (WebCore::AccessibilityRenderObject::isMenuRelated):
1427         (WebCore::AccessibilityRenderObject::isMenu):
1428         (WebCore::AccessibilityRenderObject::isMenuBar):
1429         (WebCore::AccessibilityRenderObject::isMenuButton):
1430         (WebCore::AccessibilityRenderObject::isMenuItem):
1431         (WebCore::AccessibilityRenderObject::isPressed):
1432         (WebCore::AccessibilityRenderObject::isIndeterminate):
1433         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
1434         (WebCore::AccessibilityRenderObject::isChecked):
1435         (WebCore::AccessibilityRenderObject::isHovered):
1436         (WebCore::AccessibilityRenderObject::isMultiSelectable):
1437         (WebCore::AccessibilityRenderObject::isReadOnly):
1438         (WebCore::AccessibilityRenderObject::headingLevel):
1439         (WebCore::AccessibilityRenderObject::isHeading):
1440         (WebCore::AccessibilityRenderObject::isLink):
1441         (WebCore::AccessibilityRenderObject::isControl):
1442         (WebCore::AccessibilityRenderObject::isFieldset):
1443         (WebCore::AccessibilityRenderObject::isGroup):
1444         (WebCore::AccessibilityRenderObject::selectedRadioButton):
1445         (WebCore::AccessibilityRenderObject::selectedTabItem):
1446         (WebCore::AccessibilityRenderObject::actionElement):
1447         (WebCore::AccessibilityRenderObject::mouseButtonListener):
1448         (WebCore::AccessibilityRenderObject::alterSliderValue):
1449         (WebCore::AccessibilityRenderObject::increment):
1450         (WebCore::AccessibilityRenderObject::decrement):
1451         (WebCore::siblingWithAriaRole):
1452         (WebCore::AccessibilityRenderObject::menuElementForMenuButton):
1453         (WebCore::AccessibilityRenderObject::menuForMenuButton):
1454         (WebCore::AccessibilityRenderObject::menuItemElementForMenu):
1455         (WebCore::AccessibilityRenderObject::menuButtonForMenu):
1456         (WebCore::AccessibilityRenderObject::hierarchicalLevel):
1457         (WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
1458         (WebCore::AccessibilityRenderObject::valueDescription):
1459         (WebCore::AccessibilityRenderObject::stepValueForRange):
1460         (WebCore::AccessibilityRenderObject::isARIARange):
1461         (WebCore::AccessibilityRenderObject::valueForRange):
1462         (WebCore::AccessibilityRenderObject::maxValueForRange):
1463         (WebCore::AccessibilityRenderObject::minValueForRange):
1464         (WebCore::accessibleNameForNode):
1465         (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements):
1466         (WebCore::AccessibilityRenderObject::elementsFromAttribute):
1467         (WebCore::AccessibilityRenderObject::ariaLabeledByElements):
1468         (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
1469         (WebCore::labelForElement):
1470         (WebCore::AccessibilityRenderObject::title):
1471         (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
1472         (WebCore::AccessibilityRenderObject::accessibilityDescription):
1473         (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent):
1474         (WebCore::AccessibilityRenderObject::text):
1475         (WebCore::AccessibilityRenderObject::isRequired):
1476         (WebCore::AccessibilityRenderObject::changeValueByStep):
1477         (WebCore::AccessibilityRenderObject::changeValueByPercent):
1478         (WebCore::AccessibilityRenderObject::isEnabled):
1479         (WebCore::AccessibilityRenderObject::isGenericFocusableElement):
1480         (WebCore::AccessibilityRenderObject::canHaveChildren):
1481         * accessibility/AccessibilityRenderObject.h:
1482         (AccessibilityRenderObject):
1483
1484 2012-09-12  Christophe Dumez  <christophe.dumez@intel.com>
1485
1486         [EFL] Compilation error in RenderThemeEfl.cpp
1487         https://bugs.webkit.org/show_bug.cgi?id=96540
1488
1489         Unreviewed build fix.
1490
1491         Fix compilation error in RenderThemeEfl.cpp when building
1492         in debug mode.
1493
1494         * platform/efl/RenderThemeEfl.h:
1495         (WebCore::RenderThemeEfl::canvas):
1496         (WebCore::RenderThemeEfl::edje):
1497
1498 2012-09-12  Sami Kyostila  <skyostil@google.com>
1499
1500         Rename OVERFLOW_SCROLLING as ACCELERATED_OVERFLOW_SCROLLING
1501         https://bugs.webkit.org/show_bug.cgi?id=96251
1502
1503         Reviewed by Simon Fraser.
1504
1505         Rename OVERFLOW_SCROLLING as ACCELERATED_OVERFLOW_SCROLLING to better describe
1506         the feature it controls.
1507
1508         No tests because of no change in runtime behavior.
1509
1510         * css/CSSComputedStyleDeclaration.cpp:
1511         (WebCore):
1512         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1513         * css/CSSParser.cpp:
1514         (WebCore::isValidKeywordPropertyAndValue):
1515         (WebCore::isKeywordPropertyID):
1516         (WebCore::CSSParser::parseValue):
1517         * css/CSSProperty.cpp:
1518         (WebCore::CSSProperty::isInheritedProperty):
1519         * css/CSSPropertyNames.in:
1520         * css/CSSValueKeywords.in:
1521         * css/StyleResolver.cpp:
1522         (WebCore::StyleResolver::collectMatchingRulesForList):
1523         * rendering/RenderLayer.cpp:
1524         (WebCore::RenderLayer::usesCompositedScrolling):
1525         * rendering/style/RenderStyle.h:
1526         * rendering/style/StyleRareInheritedData.cpp:
1527         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1528         (WebCore::StyleRareInheritedData::operator==):
1529         * rendering/style/StyleRareInheritedData.h:
1530         (StyleRareInheritedData):
1531
1532 2012-09-12  Levi Weintraub  <leviw@chromium.org>
1533
1534         Inline repainting can be off-by-one with sub-pixel enabled
1535         https://bugs.webkit.org/show_bug.cgi?id=95882
1536
1537         Reviewed by Eric Seidel.
1538
1539         With sub-pixel layout enabled, context accumulated from containing renderers is used to properly
1540         pixel snap. Selection repaint rects are stored outside the affected renderers, and are handed to
1541         the embedder without the context to correctly determine the snapped values. This can result in
1542         repaint areas smaller than what's needed.
1543
1544         This could be fixed three ways:
1545         - by changing selection repaint rects to an IntRect and pixel snapping the values before storing
1546           them outside the render tree. This is the narrowest solution.
1547         - by adapting layout to store pixel snapping hints along with the size/location of the renderer.
1548           This is the best possible solution, as it would help solve a lot of pixel snapping issues and
1549           reduce complexity of handling. I eventually intend on implementing this.
1550         - by reverting repaintUsingContainer to IntRects and using pixel snapping when possible, and
1551           enclosingIntRect where we lack context.
1552
1553         This implements the last solution, as it's the least invasive, but can potentially fix numerous
1554         sub-pixel repaint issues.
1555
1556         Test: fast/sub-pixel/selection/selection-rect-in-sub-pixel-table.html
1557
1558         * rendering/RenderBlockLineLayout.cpp:
1559         (WebCore::RenderBlock::layoutRunsAndFloats):
1560         * rendering/RenderLayer.cpp:
1561         (WebCore::RenderLayer::updateLayerPositions):
1562         (WebCore::RenderLayer::scrollTo):
1563         (WebCore::RenderLayer::repaintIncludingNonCompositingDescendants):
1564         * rendering/RenderObject.cpp:
1565         (WebCore::RenderObject::repaintUsingContainer):
1566         (WebCore::RenderObject::repaint):
1567         (WebCore::RenderObject::repaintRectangle):
1568         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1569         * rendering/RenderObject.h:
1570         (RenderObject):
1571         * rendering/RenderSelectionInfo.h:
1572         (WebCore::RenderSelectionInfo::repaint):
1573         (WebCore::RenderBlockSelectionInfo::repaint):
1574
1575 2012-09-12  Michael Saboff  <msaboff@apple.com>
1576
1577         Build fixed for http://trac.webkit.org/changeset/128243
1578
1579         Unreviewed build fix.
1580
1581         Change UnicodeString::extract for gcc based on ICU fix described in
1582         http://bugs.icu-project.org/trac/ticket/8197.
1583
1584         * icu/unicode/unistr.h:
1585         (UnicodeString::extract):
1586
1587 2012-09-12  Christopher Cameron  <ccameron@chromium.org>
1588
1589         [chromium] Evict textures through the texture manager instead of the resource provider
1590         https://bugs.webkit.org/show_bug.cgi?id=96463
1591
1592         Reviewed by James Robinson.
1593
1594         When deleting contents textures' resources on the impl thread, do the
1595         deletion through the CCPrioritizedTextureManager instead of the
1596         CCResourceProvider.
1597
1598         This requires traversing the backings list on the impl thread while
1599         the main thread is running, so remove the one remaining traversal of
1600         the backings list by the main thread. This traversal happens when
1601         unlinking textures that were evicted by the impl thread, so explicitly
1602         send the list of evicted backings from the impl thread to the main thread.
1603
1604         Unify all resource deletion paths in the CCPrioritizedTextureManager.
1605         Always perform the sequence of eviction (deleting the GL resource) and
1606         then destruction of evicted backings (deleting the objects).  Also,
1607         use the same function (evictBackingsToReduceMemory) to reduce memory
1608         consumption both during commit and when done by the impl thread in response
1609         to a request by the GPU memory manager.
1610
1611         Note that destroying only some of the resources at a time during texture
1612         eviction (as opposed all resources) is still not supported because the
1613         texture upload queues cannot be only-partially invalidated yet.
1614
1615         Updated tests to take this behavior into account.
1616
1617         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1618         (WebCore::CCLayerTreeHost::reduceContentsTexturesMemoryOnImplThread):
1619         (WebCore):
1620         (WebCore::CCLayerTreeHost::getEvictedContentTexturesBackings):
1621         (WebCore::CCLayerTreeHost::unlinkEvictedContentTexturesBackings):
1622         (WebCore::CCLayerTreeHost::deleteEvictedContentTexturesBackings):
1623         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1624         (CCLayerTreeHost):
1625         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1626         (WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
1627         (WebCore::CCLayerTreeHostImpl::setContentsTexturesPurged):
1628         (WebCore):
1629         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1630         (CCLayerTreeHostImplClient):
1631         (CCLayerTreeHostImpl):
1632         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
1633         (WebCore::CCPrioritizedTextureManager::~CCPrioritizedTextureManager):
1634         (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
1635         (WebCore::CCPrioritizedTextureManager::evictBackingsToReduceMemory):
1636         (WebCore::CCPrioritizedTextureManager::reduceMemory):
1637         (WebCore::CCPrioritizedTextureManager::clearAllMemory):
1638         (WebCore::CCPrioritizedTextureManager::reduceMemoryOnImplThread):
1639         (WebCore::CCPrioritizedTextureManager::getEvictedBackings):
1640         (WebCore::CCPrioritizedTextureManager::unlinkEvictedBackings):
1641         (WebCore):
1642         (WebCore::CCPrioritizedTextureManager::deleteEvictedBackings):
1643         (WebCore::CCPrioritizedTextureManager::evictBackingResource):
1644         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
1645         (CCPrioritizedTextureManager):
1646         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1647         (WebCore::CCSingleThreadProxy::releaseContentsTexturesOnImplThread):
1648         (WebCore):
1649         (WebCore::CCSingleThreadProxy::commitAndComposite):
1650         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1651         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1652         (WebCore::CCThreadProxy::releaseContentsTexturesOnImplThread):
1653         (WebCore):
1654         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
1655         (WebCore::CCThreadProxy::beginFrame):
1656         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
1657         (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
1658         (WebCore::CCThreadProxy::recreateContextOnImplThread):
1659         * platform/graphics/chromium/cc/CCThreadProxy.h:
1660         (BeginFrameAndCommitState):
1661         (CCThreadProxy):
1662
1663 2012-09-12  Mike Fenton  <mifenton@rim.com>
1664
1665         [BlackBerry] Add custom messages for input type validation.
1666         https://bugs.webkit.org/show_bug.cgi?id=96533
1667
1668         Reviewed by Antonio Gomes.
1669
1670         PR 179148.
1671
1672         Add validation messages for Email, MultipleEmail and Url.
1673
1674         Reviewed Internally by Nima Ghanavatian.
1675
1676         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
1677         (WebCore::validationMessageTypeMismatchForEmailText):
1678         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
1679         (WebCore::validationMessageTypeMismatchForURLText):
1680
1681 2012-09-12  Mark Pilgrim  <pilgrim@chromium.org>
1682
1683         [Chromium] Remove unused notifyFormStateChanged function in PlatformSupport
1684         https://bugs.webkit.org/show_bug.cgi?id=96527
1685
1686         Reviewed by Kentaro Hara.
1687
1688         Part of a refactoring series. See tracking bug 82948.
1689
1690         * platform/chromium/PlatformSupport.h:
1691         (PlatformSupport):
1692
1693 2012-09-12  Mihnea Ovidenie  <mihnea@adobe.com>
1694
1695         [CSSRegions]Shrink RenderFlowThread size by using bit flags
1696         https://bugs.webkit.org/show_bug.cgi?id=96503
1697
1698         Reviewed by Andreas Kling.
1699
1700         Use bit fields instead of full bool.
1701
1702         No new functionality, just refactoring. Functionality covered by existing tests in fast/regions.
1703
1704         * rendering/RenderFlowThread.h:
1705
1706 2012-09-12  Max Vujovic  <mvujovic@adobe.com>
1707
1708         [CSS Shaders] Remove direct texture access via u_texture
1709         https://bugs.webkit.org/show_bug.cgi?id=93871
1710
1711         Reviewed by Dean Jackson.
1712
1713         Remove the author-accessible "u_texture" sampler, which referenced the DOM element texture.
1714
1715         Additionally, reject shaders with author-defined sampler uniforms. When we implement texture 
1716         parameters, we will allow shaders whose samplers are bound to valid textures. We must not
1717         allow OpenGL to give unbound samplers a default value of 0 because that references the DOM
1718         element texture, which should be inaccessible to the author's shader code.
1719
1720         Test: css3/filters/custom/custom-filter-no-element-texture-access.html
1721
1722         * platform/graphics/ANGLEWebKitBridge.cpp:
1723         (WebCore::getValidationResultValue):
1724             Add a file-static function to easily query the integer values that ANGLE exposes about
1725             the last validation result. The new getUniforms method and the existing
1726             validateShaderSource method now both use getValidationResultValue.
1727         (WebCore):
1728         (WebCore::ANGLEWebKitBridge::validateShaderSource):
1729             Use the new getValidationResultValue function instead of ANGLE's ShGetInfo function.
1730         (WebCore::ANGLEWebKitBridge::getUniforms):
1731             Add a new public method to ANGLEWebKitBridge which gets the info about all of the
1732             uniforms in the last validated vertex shader or fragment shader. Uniform info includes
1733             name, type, and size.
1734         * platform/graphics/ANGLEWebKitBridge.h:
1735         (ANGLEShaderSymbol):
1736         (WebCore::ANGLEShaderSymbol::isSampler):
1737             Returns true if the symbol's data type is a GLSL sampler (e.g. sampler2D, samplerCube).
1738         (WebCore):
1739         (ANGLEWebKitBridge):
1740         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
1741         (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
1742             Take in an additional programType constructor parameter.
1743         (WebCore::CustomFilterCompiledProgram::initializeParameterLocations):
1744             Remove the author-accessible DOM element texture sampler "u_texture". Only find the
1745             location of the internal DOM element texture sampler "css_u_texture" if the author is
1746             using the CSS mix function.
1747         * platform/graphics/filters/CustomFilterCompiledProgram.h:
1748         * platform/graphics/filters/CustomFilterProgramInfo.h:
1749         (CustomFilterProgramInfo):
1750         (WebCore::CustomFilterProgramInfo::programType):
1751             Add the new CustomFilterProgramType enum. In CustomFilterProgramInfo, we plan to replace
1752             mixSettings.enabled with a programType. See:
1753             https://bugs.webkit.org/show_bug.cgi?id=96448
1754         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
1755             Reject all shaders that have sampler uniforms defined.
1756         (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
1757         (WebCore::CustomFilterValidatedProgram::compiledProgram):
1758         * platform/graphics/filters/FECustomFilter.cpp:
1759         (WebCore::FECustomFilter::bindProgramAndBuffers):
1760             Add an assert to verify that the DOM element texture is bound only if the author is
1761             using the CSS mix function.
1762
1763 2012-09-12  Dominic Mazzoni  <dmazzoni@google.com>
1764
1765         Assert hit in is multiSelectable()
1766         https://bugs.webkit.org/show_bug.cgi?id=96530
1767
1768         Reviewed by Chris Fleizach.
1769
1770         Fix crash if element isn't a select element.
1771
1772         This bug slipped through in a refactoring change (bug 96323).
1773         Covered by existing tests.
1774
1775         * accessibility/AccessibilityNodeObject.cpp:
1776         (WebCore::AccessibilityNodeObject::isMultiSelectable):
1777
1778 2012-09-11 MORITA Hajime  <morrita@google.com>
1779
1780         [Scoped Style] NodeRareData::m_numberOfScopedHTMLStyleChildren could be replaced with a node flag.
1781         https://bugs.webkit.org/show_bug.cgi?id=96450
1782
1783         Reviewed by Dimitri Glazkov.
1784
1785         This change gets rid of NodeRareData::m_numberOfScopedHTMLStyleChildren
1786         by replacing it with a Node flag called HasScopedHTMLStyleChildFlag.
1787         Instead of tracking the number of certain node, this chagne compute the number
1788         when necessary.
1789
1790         Now we no longer need to hit rareData() for each hasScopedHTMLStyleChild() call.
1791         Note that because such a re-counting occurs only when the scoped <style> elements
1792         leave the tree, the performance impact is negligible.
1793
1794         No new tests. Covered by existing tests.
1795
1796         * dom/Node.cpp:
1797         (WebCore):
1798         * dom/Node.h:
1799         (WebCore::Node::hasScopedHTMLStyleChild):
1800         (WebCore::Node::setHasScopedHTMLStyleChild):
1801         (Node):
1802         * dom/NodeRareData.h:
1803         (WebCore::NodeRareData::NodeRareData):
1804         (NodeRareData):
1805         * html/HTMLStyleElement.cpp:
1806         (WebCore::HTMLStyleElement::isRegisteredAsScoped):
1807         (WebCore):
1808         (WebCore::Node::registerScopedHTMLStyleChild):
1809         (WebCore::Node::unregisterScopedHTMLStyleChild):
1810         (WebCore::Node::numberOfScopedHTMLStyleChildren):
1811         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
1812         * html/HTMLStyleElement.h:
1813         (HTMLStyleElement):
1814
1815 2012-09-12  Dimitri Glazkov  <dglazkov@chromium.org>
1816
1817         Remove transient state regarding uknown pseudoelements from SelectorChecker.
1818         https://bugs.webkit.org/show_bug.cgi?id=96425
1819
1820         Reviewed by Eric Seidel.
1821
1822         The fact that an unknown pseudoelement was found when checking selector was stored as extra state on SelectorChecker. That's bad,
1823         because this state is at odds with the lifecycle of the instance and had to be explicitly reset prior to each checking. To address
1824         this, I made checkSelector report the value as its result (by-ref parameter, actually).
1825
1826         No new tests, refactoring only. Covered by existing tests.
1827
1828         * css/SelectorChecker.cpp:
1829         (WebCore::SelectorChecker::SelectorChecker): Removed the now-unneded state initialization.
1830         (WebCore::SelectorChecker::checkSelector): Changed to take extra parameter.
1831         (WebCore):
1832         (WebCore::SelectorChecker::checkOneSelector): Ditto.
1833         * css/SelectorChecker.h:
1834         (SelectorChecker): Changed decls accordingly.
1835         * css/StyleResolver.cpp:
1836         (WebCore::StyleResolver::StyleResolver): Added state to StyleResolver.
1837         (WebCore::StyleResolver::collectMatchingRulesForList): Changed to use own state, rather than StyleChecker's state.
1838         * css/StyleResolver.h:
1839         (StyleResolver): Moved state here from StyleChecker.
1840
1841 2012-09-12  Andrei Onea  <onea@adobe.com>
1842
1843         [CSSRegions]Use RefPtr's instead of weak references on DOMNamedFlowCollection
1844         https://bugs.webkit.org/show_bug.cgi?id=95311
1845
1846         Reviewed by Andreas Kling.
1847
1848         Currently, DOMNamedFlowCollection holds a collection of raw pointers to WebKitNamedFlow.
1849         This causes a crash when there is a JS instance of a NamedFlowCollection snapshot taken
1850         before the NamedFlow is deleted, since the memory previously occupied by the NamedFlow
1851         can be accessed. Because of this, we need to use RefPtr's for the snapshot, so that such
1852         dangling references extend the lifetime of the NamedFlow objects.
1853
1854         Test: fast/regions/webkit-named-flow-collection-crash.html
1855
1856         * dom/DOMNamedFlowCollection.cpp:
1857         (WebCore::DOMNamedFlowCollection::DOMNamedFlowCollection):
1858         (WebCore::DOMNamedFlowCollection::item):
1859         (WebCore::DOMNamedFlowCollection::namedItem):
1860         (WebCore):
1861         (WebCore::DOMNamedFlowCollection::DOMNamedFlowHashFunctions::hash):
1862         (WebCore::DOMNamedFlowCollection::DOMNamedFlowHashFunctions::equal):
1863         (DOMNamedFlowCollection::DOMNamedFlowHashFunctions):
1864         (WebCore::DOMNamedFlowCollection::DOMNamedFlowHashTranslator::hash):
1865         (WebCore::DOMNamedFlowCollection::DOMNamedFlowHashTranslator::equal):
1866         Create new internal ListHashSet for RefPtr<WebKitNamedFlow>.
1867         * dom/DOMNamedFlowCollection.h:
1868         (WebCore::DOMNamedFlowCollection::create):
1869         (DOMNamedFlowCollection):
1870         * dom/NamedFlowCollection.cpp:
1871         (WebCore::NamedFlowCollection::createCSSOMSnapshot):
1872         (WebCore):
1873         (WebCore::NamedFlowCollection::NamedFlowHashFunctions::hash):
1874         (WebCore::NamedFlowCollection::NamedFlowHashFunctions::equal):
1875         (NamedFlowCollection::NamedFlowHashFunctions):
1876         (WebCore::NamedFlowCollection::NamedFlowHashTranslator::hash):
1877         (WebCore::NamedFlowCollection::NamedFlowHashTranslator::equal):
1878         Move back the definitions for NamedFlowHashFunctions and NamedFlowHashTranslator
1879         to the .cpp file.
1880         * dom/NamedFlowCollection.h:
1881         (NamedFlowCollection):
1882
1883 2012-09-12  MORITA Hajime  <morrita@google.com>
1884
1885         [Shadow DOM] Unpolished elements should reject author shadows
1886         https://bugs.webkit.org/show_bug.cgi?id=96404
1887
1888         Reviewed by Dimitri Glazkov.
1889
1890         Gave areAuthorShadowsAllowed() overrides for these replaced elements
1891         which aren't author shadow ready.
1892
1893         No new tests. Covered by existing tests.
1894
1895         * html/HTMLCanvasElement.h: Did areAuthorShadowsAllowed() overrride.
1896         * html/HTMLFieldSetElement.h: Did areAuthorShadowsAllowed() overrride.
1897         * html/HTMLFrameElementBase.h: Did areAuthorShadowsAllowed() overrride.
1898         * html/HTMLMediaElement.h: Did areAuthorShadowsAllowed() overrride.
1899         * html/HTMLPlugInElement.h: Did areAuthorShadowsAllowed() overrride.
1900         * html/HTMLSelectElement.h: Did areAuthorShadowsAllowed() overrride.
1901
1902 2012-09-12  Mark Pilgrim  <pilgrim@chromium.org>
1903
1904         [Chromium] Remove unused allowScriptDespiteSettings function from PlatformSupport
1905         https://bugs.webkit.org/show_bug.cgi?id=96526
1906
1907         Reviewed by Kentaro Hara.
1908
1909         Part of a refactoring series. See tracking bug 82948.
1910
1911         * platform/chromium/PlatformSupport.h:
1912         (PlatformSupport):
1913
1914 2012-09-12  Dominic Mazzoni  <dmazzoni@google.com>
1915
1916         AX: Refactor most AccessibilityRenderObject code into AccessibilityNodeObject
1917         https://bugs.webkit.org/show_bug.cgi?id=96323
1918
1919         Reviewed by Chris Fleizach.
1920
1921         This patch is large, but it's at least 75% cut-and-paste.
1922
1923         All it does is move the implementation of a large chunk of
1924         AccessibilityRenderObject methods to AccessibilityNodeObject
1925         instead. This allows them to operate on elements without
1926         renderers, such as those in canvas fallback content. It also
1927         moves us towards the goal where AccessibilityRenderObject
1928         only has code that's specific to renderers and not just nodes.
1929
1930         Half of the methods cut and paste with essentially no changes.
1931         Some required just tiny changes to access an attribute via the
1932         element (e.g. HTMLSelectElement) rather than its associated
1933         renderer (e.g. RenderMenuList). A few were a little trickier,
1934         as the behavior needs to be slightly different when there's a
1935         renderer. In those last cases, as much of the code as possible is
1936         in AccessibilityNodeObject and AccessibilityRenderObject overrides
1937         it as necessary.
1938
1939         Test: accessibility/canvas-fallback-content-2.html
1940
1941         * accessibility/AccessibilityNodeObject.cpp:
1942         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
1943         (WebCore::AccessibilityNodeObject::canHaveChildren):
1944         (WebCore):
1945         (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
1946         (WebCore::AccessibilityNodeObject::isWebArea):
1947         (WebCore::AccessibilityNodeObject::isImageButton):
1948         (WebCore::AccessibilityNodeObject::isAnchor):
1949         (WebCore::AccessibilityNodeObject::isNativeTextControl):
1950         (WebCore::AccessibilityNodeObject::isSearchField):
1951         (WebCore::AccessibilityNodeObject::isNativeImage):
1952         (WebCore::AccessibilityNodeObject::isImage):
1953         (WebCore::AccessibilityNodeObject::isPasswordField):
1954         (WebCore::AccessibilityNodeObject::isInputImage):
1955         (WebCore::AccessibilityNodeObject::isProgressIndicator):
1956         (WebCore::AccessibilityNodeObject::isSlider):
1957         (WebCore::AccessibilityNodeObject::isMenuRelated):
1958         (WebCore::AccessibilityNodeObject::isMenu):
1959         (WebCore::AccessibilityNodeObject::isMenuBar):
1960         (WebCore::AccessibilityNodeObject::isMenuButton):
1961         (WebCore::AccessibilityNodeObject::isMenuItem):
1962         (WebCore::AccessibilityNodeObject::isNativeCheckboxOrRadio):
1963         (WebCore::AccessibilityNodeObject::isEnabled):
1964         (WebCore::AccessibilityNodeObject::isIndeterminate):
1965         (WebCore::AccessibilityNodeObject::isPressed):
1966         (WebCore::AccessibilityNodeObject::isChecked):
1967         (WebCore::AccessibilityNodeObject::isHovered):
1968         (WebCore::AccessibilityNodeObject::isMultiSelectable):
1969         (WebCore::AccessibilityNodeObject::isReadOnly):
1970         (WebCore::AccessibilityNodeObject::isRequired):
1971         (WebCore::AccessibilityNodeObject::headingLevel):
1972         (WebCore::AccessibilityNodeObject::valueDescription):
1973         (WebCore::AccessibilityNodeObject::isARIARange):
1974         (WebCore::AccessibilityNodeObject::valueForRange):
1975         (WebCore::AccessibilityNodeObject::maxValueForRange):
1976         (WebCore::AccessibilityNodeObject::minValueForRange):
1977         (WebCore::AccessibilityNodeObject::stepValueForRange):
1978         (WebCore::AccessibilityNodeObject::isHeading):
1979         (WebCore::AccessibilityNodeObject::isLink):
1980         (WebCore::AccessibilityNodeObject::isControl):
1981         (WebCore::AccessibilityNodeObject::isFieldset):
1982         (WebCore::AccessibilityNodeObject::isGroup):
1983         (WebCore::AccessibilityNodeObject::selectedRadioButton):
1984         (WebCore::AccessibilityNodeObject::selectedTabItem):
1985         (WebCore::AccessibilityNodeObject::checkboxOrRadioValue):
1986         (WebCore::AccessibilityNodeObject::anchorElement):
1987         (WebCore::AccessibilityNodeObject::actionElement):
1988         (WebCore::AccessibilityNodeObject::mouseButtonListener):
1989         (WebCore::AccessibilityNodeObject::isDescendantOfBarrenParent):
1990         (WebCore::AccessibilityNodeObject::alterSliderValue):
1991         (WebCore::AccessibilityNodeObject::increment):
1992         (WebCore::AccessibilityNodeObject::decrement):
1993         (WebCore::AccessibilityNodeObject::changeValueByStep):
1994         (WebCore::AccessibilityNodeObject::changeValueByPercent):
1995         (WebCore::AccessibilityNodeObject::isGenericFocusableElement):
1996         (WebCore::AccessibilityNodeObject::labelForElement):
1997         (WebCore::AccessibilityNodeObject::ariaAccessibilityDescription):
1998         (WebCore::siblingWithAriaRole):
1999         (WebCore::AccessibilityNodeObject::menuElementForMenuButton):
2000         (WebCore::AccessibilityNodeObject::menuForMenuButton):
2001         (WebCore::AccessibilityNodeObject::menuItemElementForMenu):
2002         (WebCore::AccessibilityNodeObject::menuButtonForMenu):
2003         (WebCore::AccessibilityNodeObject::accessibilityDescription):
2004         (WebCore::AccessibilityNodeObject::helpText):
2005         (WebCore::AccessibilityNodeObject::hierarchicalLevel):
2006         (WebCore::AccessibilityNodeObject::textUnderElement):
2007         (WebCore::AccessibilityNodeObject::title):
2008         (WebCore::AccessibilityNodeObject::text):
2009         (WebCore::AccessibilityNodeObject::stringValue):
2010         (WebCore::accessibleNameForNode):
2011         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
2012         (WebCore::AccessibilityNodeObject::elementsFromAttribute):
2013         (WebCore::AccessibilityNodeObject::ariaLabeledByElements):
2014         (WebCore::AccessibilityNodeObject::ariaLabeledByAttribute):
2015         (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
2016         * accessibility/AccessibilityNodeObject.h:
2017         (AccessibilityNodeObject):
2018         (WebCore::AccessibilityNodeObject::node):
2019         * accessibility/AccessibilityRenderObject.cpp:
2020         (WebCore::AccessibilityRenderObject::parentObject):
2021         (WebCore):
2022         (WebCore::AccessibilityRenderObject::isReadOnly):
2023         (WebCore::AccessibilityRenderObject::helpText):
2024         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2025         (WebCore::AccessibilityRenderObject::text):
2026         (WebCore::AccessibilityRenderObject::contentChanged):
2027         (WebCore::AccessibilityRenderObject::canHaveChildren):
2028         * accessibility/AccessibilityRenderObject.h:
2029         (AccessibilityRenderObject):
2030         (WebCore::AccessibilityRenderObject::setRenderObject):
2031
2032 2012-09-12  John Mellor  <johnme@chromium.org>
2033
2034         Text Autosizing: Don't autosize text in constrained height elements.
2035         https://bugs.webkit.org/show_bug.cgi?id=96143
2036
2037         Reviewed by Julien Chaffraix.
2038
2039         Autosizing text within constained height elements usually goes badly,
2040         as the autosized text will wrap onto more lines, hence it will become
2041         taller and often overflow its container, breaking the page's layout.
2042
2043         This patch disables autosizing for blocks with a fixed height ancestor
2044         (or which are fixed height themselves), unless the lowest such ancestor
2045         (or one of the ancestors in between it and the text block) has
2046         overflow-y:auto/scroll, in which case the height isn't really fixed.
2047
2048         Tests: fast/text-autosizing/constrained-and-overflow-auto-ancestor.html
2049                fast/text-autosizing/constrained-and-overflow-hidden-ancestor.html
2050                fast/text-autosizing/constrained-and-overflow-paged-x-ancestor.html
2051                fast/text-autosizing/constrained-and-overflow-scroll-ancestor.html
2052                fast/text-autosizing/constrained-height-ancestor.html
2053                fast/text-autosizing/constrained-maxheight-ancestor.html
2054                fast/text-autosizing/constrained-maxheight.html
2055                fast/text-autosizing/constrained-percent-maxheight.html
2056                fast/text-autosizing/constrained-percent-of-viewport-maxheight.html
2057                fast/text-autosizing/constrained-then-overflow-ancestors.html
2058                fast/text-autosizing/constrained-then-overflow-then-positioned-ancestors.html
2059                fast/text-autosizing/constrained-then-position-absolute-ancestors.html
2060                fast/text-autosizing/constrained-then-position-fixed-ancestors.html
2061                fast/text-autosizing/constrained-within-overflow-ancestor.html
2062
2063         * rendering/TextAutosizer.cpp:
2064         (WebCore::TextAutosizer::processBox):
2065
2066             Skips boxes for which contentHeightIsConstrained returns true.
2067
2068         (WebCore::TextAutosizer::contentHeightIsConstrained):
2069
2070             Walks up the render tree until it finds either a constrained height
2071             or overflow-y:auto/scroll ancestor.
2072
2073 2012-09-12  Mark Pilgrim  <pilgrim@chromium.org>
2074
2075         [Chromium] Remove unused getProcessMemorySize from PlatformSupport
2076         https://bugs.webkit.org/show_bug.cgi?id=96520
2077
2078         Reviewed by Kentaro Hara.
2079
2080         Part of a refactoring series. See tracking bug 82948.
2081
2082         * platform/chromium/PlatformSupport.h:
2083         (PlatformSupport):
2084
2085 2012-09-12  Roland Takacs  <rtakacs@inf.u-szeged.hu>
2086
2087         [Qt] Segmentation fault when closing QtTestBrowser
2088         https://bugs.webkit.org/show_bug.cgi?id=95003
2089
2090         Reviewed by Simon Hausmann.
2091
2092         Defined a new QObject* variable.
2093         If WebKit1 is used, it points to the QGLWidget that was 
2094         created in 'createPlatformGraphicsContext3DFromWidget'.
2095         If WebKit2 is used, it points to the QWindow that was 
2096         created in GraphicsContext3DPrivate's constructor.
2097         It is neccessary for deallocating them.
2098
2099         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2100         (GraphicsContext3DPrivate):
2101         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2102         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2103         * platform/qt/QWebPageClient.h:
2104         (QWebPageClient):
2105
2106 2012-09-12  Ryuan Choi  <ryuan.choi@samsung.com>
2107
2108         [EFL] Fix build break when netscape-plugin-api is enebled after r126971
2109         https://bugs.webkit.org/show_bug.cgi?id=96513
2110
2111         Unreviewed build fix.
2112
2113         * plugins/efl/PluginViewEfl.cpp:
2114         (WebCore::PluginView::platformGetValue):
2115
2116 2012-09-12  Lianghui Chen  <liachen@rim.com>
2117
2118         [BlackBerry] Use own instance of CertMgrWrapper in BlackBerry CredentialBackingStore.
2119         https://bugs.webkit.org/show_bug.cgi?id=96457
2120         Internal PR: 205769
2121
2122         Internally reviewed by George Staikos, Jonathan Dong.
2123         Reviewed by George Staikos.
2124
2125         CertMgrWrapper in BlackBerry platform layer has been changed from
2126         singleton to normal class, every user of it need to create its own
2127         instance now.
2128
2129         No new tests for platform specific interface change.
2130
2131         * platform/network/blackberry/CredentialBackingStore.cpp:
2132         (WebCore::CredentialBackingStore::CredentialBackingStore):
2133         (WebCore::CredentialBackingStore::~CredentialBackingStore):
2134         (WebCore::CredentialBackingStore::addLogin):
2135         (WebCore::CredentialBackingStore::updateLogin):
2136         (WebCore::CredentialBackingStore::getLogin):
2137         (WebCore::CredentialBackingStore::certMgrWrapper):
2138         (WebCore):
2139         * platform/network/blackberry/CredentialBackingStore.h:
2140         (Platform):
2141         (CredentialBackingStore):
2142
2143 2012-09-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2144
2145         [EFL] Avoid manual memory management in RenderThemeEfl
2146         https://bugs.webkit.org/show_bug.cgi?id=96501
2147
2148         Reviewed by Simon Hausmann.
2149
2150         Use OwnPtr as it works for Evas_Object and Evas_Ecore objects.
2151
2152         * platform/efl/RenderThemeEfl.cpp:
2153         (WebCore::RenderThemeEfl::ThemePartCacheEntry::ThemePartCacheEntry):
2154         (WebCore::RenderThemeEfl::ThemePartCacheEntry::~ThemePartCacheEntry):
2155         (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
2156         (WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):
2157         (WebCore::RenderThemeEfl::paintThemePart):
2158         (WebCore::RenderThemeEfl::setColorFromThemeClass):
2159         (WebCore::RenderThemeEfl::themePath):
2160         (WebCore::RenderThemeEfl::loadTheme):
2161         (WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
2162         (WebCore::RenderThemeEfl::RenderThemeEfl):
2163         (WebCore::RenderThemeEfl::~RenderThemeEfl):
2164         (WebCore::RenderThemeEfl::emitMediaButtonSignal):
2165         * platform/efl/RenderThemeEfl.h:
2166         (WebCore::RenderThemeEfl::canvas):
2167         (WebCore::RenderThemeEfl::edje):
2168         (RenderThemeEfl):
2169         (WebCore::RenderThemeEfl::ThemePartCacheEntry::canvas):
2170         (WebCore::RenderThemeEfl::ThemePartCacheEntry::edje):
2171         (ThemePartCacheEntry):
2172
2173 2012-09-12  Florin Malita  <fmalita@chromium.org>
2174
2175         getScreenCTM returns different values depending on zoom
2176         https://bugs.webkit.org/show_bug.cgi?id=96361
2177
2178         Reviewed by Dirk Schulze.
2179
2180         SVGSVGElement::localCoordinateSpaceTransform() needs to adjust for the
2181         zoom level (which is already factored into CSS coordinates) at the
2182         SVG/HTML boundary.
2183
2184         Test: svg/zoom/page/zoom-get-screen-ctm.html
2185
2186         * svg/SVGSVGElement.cpp:
2187         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
2188
2189 2012-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
2190
2191         [Qt] Drastically shorten length of commandline needed for JS bindings generator
2192         https://bugs.webkit.org/show_bug.cgi?id=96266
2193
2194         Reviewed by Tor Arne Vestbø.
2195
2196         The generate-bindings script supports the SOURCE_ROOT environment variable for IDL include file
2197         lookups, which allows specifying relative include search directories.
2198
2199         * DerivedSources.pri:
2200
2201 2012-09-12  Patrick Gansterer  <paroga@webkit.org>
2202
2203         Remove last call to numberToString() from WebCore code
2204         https://bugs.webkit.org/show_bug.cgi?id=96484
2205
2206         Reviewed by Kentaro Hara.
2207
2208         Replace WTF::numberToString() with String::numberToStringECMAScript() to remove duplicated
2209         code. Using the new function allows us to improve and/or remove numberToString() without
2210         changing all caller sides later. Also remove an unneeded strlen() in the touched code.
2211
2212         * bindings/v8/V8DOMWrapper.cpp:
2213         (WebCore::V8DOMWrapper::setNamedHiddenReference):
2214         * bindings/v8/V8DependentRetained.h:
2215         (WebCore::V8DependentRetained::createPropertyName):
2216         * bindings/v8/V8HiddenPropertyName.cpp:
2217         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
2218         * bindings/v8/V8HiddenPropertyName.h:
2219         (V8HiddenPropertyName):
2220
2221 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2222
2223         Unreviewed, rolling out r128221.
2224         http://trac.webkit.org/changeset/128221
2225         https://bugs.webkit.org/show_bug.cgi?id=96504
2226
2227         The rollout was incorrect. (Requested by zdobersek on
2228         #webkit).
2229
2230         * platform/network/soup/ResourceResponseSoup.cpp:
2231         (WebCore::ResourceResponse::updateFromSoupMessage):
2232
2233 2012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>
2234
2235         Unreviewed. Touch two files for fixing broken compile dependency on Apple Windows Debug bot.
2236
2237         * css/StyleResolver.cpp:
2238         * loader/FrameLoader.cpp:
2239
2240 2012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>
2241
2242
2243         Web Inspector: NMI move String* instrumentation to wtf.
2244         https://bugs.webkit.org/show_bug.cgi?id=96405
2245
2246         Reviewed by Yury Semikhatsky.
2247
2248         This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream.
2249
2250         * dom/WebCoreMemoryInstrumentation.cpp:
2251         (WebCore):
2252         * dom/WebCoreMemoryInstrumentation.h:
2253         (WebCore):
2254
2255 2012-08-20  Philippe Normand  <pnormand@igalia.com>
2256
2257         [GStreamer] Audio device not closed after playing sound
2258         https://bugs.webkit.org/show_bug.cgi?id=89122
2259
2260         Reviewed by Martin Robinson.
2261
2262         Set the GStreamer pipeline to NULL instead of PAUSED on EOS. This
2263         allows the audio-sink to release its connection to the audio
2264         device. This is done only if the Media element is not
2265         looping. To make the MediaPlayerPrivate layer aware of that
2266         information the MediaPlayerClient interface was updated with a new
2267         method mediaPlayerIsLooping, implemented by the HTMLMediaElement.
2268
2269         * html/HTMLMediaElement.cpp:
2270         (WebCore::HTMLMediaElement::mediaPlayerIsLooping): Implementation of
2271         MediaPlayerClient::mediaPlayerLoop, proxies to ::loop();
2272         * html/HTMLMediaElement.h:
2273         (HTMLMediaElement):
2274         * platform/graphics/MediaPlayer.h:
2275         (WebCore::MediaPlayerClient::mediaPlayerIsLooping): New method allowing
2276         the MediaPlayer and its backend to know if a playback loop is
2277         requested by the client.
2278         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2279         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
2280         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition): Report
2281         seek time or media duration if EOS was reached. These early
2282         returns are needed because the position query doesn't work on a
2283         NULL pipeline.
2284         (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
2285         Refactored to use an early return.
2286         (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): Reset the
2287         seeking flag.
2288         (WebCore::MediaPlayerPrivateGStreamer::play): reset m_isEndReached.
2289         (WebCore::MediaPlayerPrivateGStreamer::pause): Don't pause on EOS.
2290         (WebCore::MediaPlayerPrivateGStreamer::seek): Refactor, call
2291         currentTime() after we're sure playbin is valid and no error occured.
2292         (WebCore::MediaPlayerPrivateGStreamer::paused): Fake paused state
2293         on EOS.
2294
2295 2012-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
2296
2297         [Qt] Build on X11 with GraphicsSurface but without NPAPI is broken
2298         https://bugs.webkit.org/show_bug.cgi?id=96495
2299
2300         Reviewed by Kenneth Rohde Christiansen.
2301
2302         When enabling NPAPI we link against XRender on X11. The other component that needs Xrender
2303         is GraphicsSurface. So when building without NPAPI we need to make sure that we link in Xrender.
2304
2305         This patch cleans up the GraphicsSurface related linkage required on Mac OS X and X11 by wrapping
2306         it in use?(graphics_surface) instead of 3D_GRAPHICS. It is not neccesary to perform the have?(XCOMPOSITE)
2307         check anymore because it's already done in features.prf before enabling use_graphics_surface in the
2308         first place.
2309
2310         * WebCore.pri:
2311
2312 2012-09-12  Andrei Poenaru  <poenaru@adobe.com>
2313
2314         Web Inspector: Protocol Extension: Add "regionLayoutUpdate" event
2315         https://bugs.webkit.org/show_bug.cgi?id=93443
2316
2317         Reviewed by Alexander Pavlov.
2318
2319         Added "regionLayoutUpdate" event to the protocol.
2320
2321         Removed "getFlowByName" from protocol.
2322
2323         The front-end keeps in sync the requested Named Flow Collections.
2324
2325         Modified existing test: inspector/styles/protocol-css-regions-commands.html
2326
2327         * dom/NamedFlowCollection.cpp:
2328         (WebCore::NamedFlowCollection::ensureFlowWithName):
2329         (WebCore::NamedFlowCollection::discardNamedFlow):
2330         * inspector/Inspector.json:
2331         * inspector/InspectorCSSAgent.cpp:
2332         (UpdateRegionLayoutTask):
2333         (WebCore):
2334         (WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask):
2335         (WebCore::UpdateRegionLayoutTask::scheduleFor):
2336         (WebCore::UpdateRegionLayoutTask::unschedule):
2337         (WebCore::UpdateRegionLayoutTask::reset):
2338         (WebCore::UpdateRegionLayoutTask::onTimer):
2339         (WebCore::InspectorCSSAgent::reset):
2340         (WebCore::InspectorCSSAgent::didCreateNamedFlow):
2341         (WebCore::InspectorCSSAgent::willRemoveNamedFlow):
2342         (WebCore::InspectorCSSAgent::didUpdateRegionLayout):
2343         (WebCore::InspectorCSSAgent::regionLayoutUpdated):
2344         (WebCore::InspectorCSSAgent::getNamedFlowCollection):
2345         (WebCore::InspectorCSSAgent::documentNodeWithRequestedFlowsId):
2346         * inspector/InspectorCSSAgent.h:
2347         (WebCore):
2348         (InspectorCSSAgent):
2349         * inspector/InspectorInstrumentation.cpp:
2350         (WebCore):
2351         (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
2352         (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl):
2353         (WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl):
2354         * inspector/InspectorInstrumentation.h:
2355         (InspectorInstrumentation):
2356         (WebCore::InspectorInstrumentation::didCreateNamedFlow):
2357         (WebCore::InspectorInstrumentation::willRemoveNamedFlow):
2358         (WebCore):
2359         (WebCore::InspectorInstrumentation::didUpdateRegionLayout):
2360         * inspector/front-end/CSSStyleModel.js:
2361         (WebInspector.CSSStyleModel):
2362         (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync.callback):
2363         (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
2364         (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync.callback):
2365         (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
2366         (WebInspector.CSSStyleModel.prototype._namedFlowCreated):
2367         (WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
2368         (WebInspector.CSSStyleModel.prototype._regionLayoutUpdated):
2369         (WebInspector.CSSStyleModel.prototype._resetNamedFlowCollections):
2370         (WebInspector.CSSDispatcher.prototype.namedFlowCreated):
2371         (WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
2372         (WebInspector.CSSDispatcher.prototype.regionLayoutUpdated):
2373         (WebInspector.NamedFlow):
2374         (WebInspector.NamedFlowCollection):
2375         (WebInspector.NamedFlowCollection.prototype._appendNamedFlow):
2376         (WebInspector.NamedFlowCollection.prototype._removeNamedFlow):
2377         (WebInspector.NamedFlowCollection.prototype.flowByName):
2378         * rendering/RenderNamedFlowThread.cpp:
2379         (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
2380
2381 2012-09-12  Alexander Pavlov  <apavlov@chromium.org>
2382
2383         Web Inspector: [Elements] Sidebar panes not updated on style changes due to "class" attribute modifications
2384         https://bugs.webkit.org/show_bug.cgi?id=95722
2385
2386         Reviewed by Vsevolod Vlasov.
2387
2388         The DOMAgent StyleInvalidated event has been removed in favor of the StylesSidebarPane explicitly listening on the
2389         AttrModified/AttrRemoved events that result in those same updates.
2390
2391         * inspector/front-end/DOMAgent.js:
2392         (WebInspector.DOMAgent.prototype._attributeModified):
2393         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
2394         (WebInspector.DOMAgent.prototype._childNodeRemoved):
2395         * inspector/front-end/ElementsTreeOutline.js:
2396         (WebInspector.ElementsTreeElement.prototype.updateSelection): Drive-by: avoid a costly synchronous layout during DOM tree updates.
2397         * inspector/front-end/StylesSidebarPane.js:
2398         (WebInspector.StylesSidebarPane):
2399         (WebInspector.StylesSidebarPane.prototype._attributeChanged):
2400         (WebInspector.StylesSidebarPane.prototype._canAffectCurrentStyles):
2401
2402 2012-09-12  Simon Hausmann  <simon.hausmann@nokia.com>
2403
2404         Build with ENABLE_REQUEST_ANIMATION_FRAME=0 is broken
2405         https://bugs.webkit.org/show_bug.cgi?id=96491
2406
2407         Reviewed by Csaba Osztrogonác.
2408
2409         In the IDL file, don't just check for the define, also check if it's set to 1 before enabling the
2410         RAF APIs. It's done like this with all the other feature defines in IDL files.
2411
2412         * page/DOMWindow.idl:
2413
2414 2012-09-12  Vivek Galatage  <vivekgalatage@gmail.com>
2415
2416         Web Inspector: InspectorBackend.loadFromJSONIfNeeded should take the JSON url as argument
2417         https://bugs.webkit.org/show_bug.cgi?id=96472
2418
2419         Reviewed by Yury Semikhatsky.
2420
2421         The method loadFromJSONIfNeeded need to take the jsonUrl as argument
2422         as this will be called from the Inspector Protocol Test Harness
2423         residing in a different location.
2424
2425         No new tests as code refactoring done.
2426
2427         * inspector/front-end/InspectorBackend.js:
2428         (InspectorBackendClass.prototype.loadFromJSONIfNeeded):
2429         * inspector/front-end/inspector.js:
2430
2431 2012-09-12  Vsevolod Vlasov  <vsevik@chromium.org>
2432
2433         Web Inspector: XMLHttpRequest instrumentation methods used by timeline should have better names.
2434         https://bugs.webkit.org/show_bug.cgi?id=96486
2435
2436         Reviewed by Alexander Pavlov.
2437
2438         Renamed instrumentation methods.
2439
2440         * inspector/InspectorInstrumentation.cpp:
2441         (WebCore):
2442         (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEventImpl):
2443         (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEventImpl):
2444         (WebCore::InspectorInstrumentation::willDispatchXHRLoadEventImpl):
2445         (WebCore::InspectorInstrumentation::didDispatchXHRLoadEventImpl):
2446         * inspector/InspectorInstrumentation.h:
2447         (InspectorInstrumentation):
2448         (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent):
2449         (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent):
2450         (WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent):
2451         (WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent):
2452         * inspector/InspectorTimelineAgent.cpp:
2453         (WebCore::InspectorTimelineAgent::willDispatchXHRReadyStateChangeEvent):
2454         (WebCore::InspectorTimelineAgent::didDispatchXHRReadyStateChangeEvent):
2455         (WebCore::InspectorTimelineAgent::willDispatchXHRLoadEvent):
2456         (WebCore::InspectorTimelineAgent::didDispatchXHRLoadEvent):
2457         * inspector/InspectorTimelineAgent.h:
2458         (InspectorTimelineAgent):
2459         * xml/XMLHttpRequest.cpp:
2460         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2461
2462 2012-09-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2463
2464         Unreviewed, rolling out r128279.
2465         http://trac.webkit.org/changeset/128279
2466         https://bugs.webkit.org/show_bug.cgi?id=96487
2467
2468         "Snow Leopard compilation broken" (Requested by yurys on
2469         #webkit).
2470
2471         * dom/WebCoreMemoryInstrumentation.cpp:
2472         (WebCore):
2473         (WebCore::String):
2474         (WebCore::StringImpl):
2475         (WebCore::AtomicString):
2476         * dom/WebCoreMemoryInstrumentation.h:
2477         (WebCore):
2478         * inspector/MemoryInstrumentationImpl.cpp:
2479         (WebCore::MemoryInstrumentationImpl::countObjectSize):
2480         * platform/SharedBuffer.cpp:
2481         (WebCore::SharedBuffer::reportMemoryUsage):
2482
2483 2012-09-12  Yury Semikhatsky  <yurys@chromium.org>
2484
2485         Web Inspector: Persistent handle referenced from ScriptWrappable is double counted
2486         https://bugs.webkit.org/show_bug.cgi?id=96483
2487
2488         Reviewed by Alexander Pavlov.
2489
2490         * bindings/v8/ScriptWrappable.h:
2491         (WebCore::ScriptWrappable::reportMemoryUsage): the handle is a part of an
2492         array where all such handles are allocated and should not be counted here
2493         second time. In order to make the clang plugin that validate memory instrumentation
2494         happy we report it here as weak pointer (no-op).
2495
2496 2012-09-12  Eugene Klyuchnikov  <eustas.bug@gmail.com>
2497
2498         Web Inspector: Implement search and filtering on Timeline panel
2499         https://bugs.webkit.org/show_bug.cgi?id=95445
2500
2501         Reviewed by Yury Semikhatsky.
2502
2503         Implemented textual search/filtering on Timeline panel.
2504         Fixed "revealRecordAt" - now it scans all records in window,
2505         now only visible ones.
2506
2507         * inspector/front-end/TimelineOverviewPane.js:
2508         (WebInspector.TimelineWindowFilter):
2509         Extracted from TimelineOverviewPane class.
2510         * inspector/front-end/TimelinePanel.js:
2511         (WebInspector.TimelinePanel):
2512         (WebInspector.TimelinePanel.prototype.revealRecordAt):
2513         Used DFS to scan records.
2514         (WebInspector.TimelinePanel.prototype._revealRecord):
2515         Extracted common code.
2516         (WebInspector.TimelineSearchFilter):
2517         Implemented search and filtration.
2518
2519 2012-09-12  Ilya Tikhonovsky  <loislo@chromium.org>
2520
2521         Web Inspector: NMI move String* instrumentation to wtf.
2522         https://bugs.webkit.org/show_bug.cgi?id=96405
2523
2524         Reviewed by Yury Semikhatsky.
2525
2526         This instrumentation is solving the problem with substrings and removes traits based code which is hard to upstream.
2527
2528         * dom/WebCoreMemoryInstrumentation.cpp:
2529         (WebCore):
2530         * dom/WebCoreMemoryInstrumentation.h:
2531         (WebCore):
2532
2533         * dom/WebCoreMemoryInstrumentation.cpp:
2534         (WebCore):
2535         * dom/WebCoreMemoryInstrumentation.h:
2536         (WebCore):
2537         * inspector/MemoryInstrumentationImpl.cpp:
2538         (WebCore::MemoryInstrumentationImpl::countObjectSize):
2539         * platform/SharedBuffer.cpp:
2540         (WebCore::SharedBuffer::reportMemoryUsage):
2541
2542 2012-09-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2543
2544         Unreviewed EFL build fix.
2545
2546         * platform/efl/RenderThemeEfl.cpp:
2547         (WebCore::RenderThemeEfl::themePath):
2548
2549 2012-09-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2550
2551         [EFL] Clean up the RenderTheme Edje caching
2552         https://bugs.webkit.org/show_bug.cgi?id=96016
2553
2554         Reviewed by Gyuyoung Kim.
2555
2556         Refactor the Edje parts caching to be easier to understand and use
2557         proper C++ constructs.
2558
2559         * platform/efl/RenderThemeEfl.cpp:
2560         (WebCore):
2561         (WebCore::toEdjeGroup):
2562
2563             Converts the enum to the given edje group name.
2564
2565         (WebCore::setSourceGroupForEdjeObject):
2566
2567             Basically a wrapper around evas_object_file_set, but handles
2568             errors, which was done slightly differently all over.
2569
2570         (WebCore::RenderThemeEfl::ThemePartCacheEntry::ThemePartCacheEntry):
2571         (WebCore::RenderThemeEfl::ThemePartCacheEntry::~ThemePartCacheEntry):
2572
2573         (WebCore::createCairoSurfaceFor):
2574         (WebCore::isFormElementTooLargeToDisplay):
2575
2576             Methods used when creating ThemePartCacheEntry'es.
2577
2578         (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
2579         (WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):
2580
2581             New methods for creating and reusing an cache entry. If you do
2582             not supply a new size, the original size will be used, and it is
2583             thus more effective.
2584
2585         (WebCore::RenderThemeEfl::getThemePartFromCache):
2586
2587             New method for requesting a theme part. If it doesn't exist
2588             it will additinally be loaded and added to the cache.
2589
2590         (WebCore::RenderThemeEfl::flushThemePartCache):
2591
2592             Remove the entire cache and free the assets.
2593
2594         (WebCore::RenderThemeEfl::paintThemePart):
2595         (WebCore::RenderThemeEfl::themePath):
2596         (WebCore::RenderThemeEfl::loadTheme):
2597         (WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
2598         (WebCore::RenderThemeEfl::~RenderThemeEfl):
2599         (WebCore::RenderThemeEfl::emitMediaButtonSignal):
2600         * platform/efl/RenderThemeEfl.h:
2601         (RenderThemeEfl):
2602         (ThemePartCacheEntry):
2603
2604 2012-09-12  Alexandre Elias  <aelias@chromium.org>
2605
2606         [chromium] Flip Y and swizzle inside compositeAndReadback implementation
2607         https://bugs.webkit.org/show_bug.cgi?id=96458
2608
2609         Reviewed by James Robinson.
2610
2611         Currently, compositeAndReadback API assumes a GL-style texture
2612         and is converted to the normal software format in WebViewImpl.
2613         For the software implementation, this API would result in two
2614         redundant conversions.  This patch makes the conversion inside
2615         CCRendererGL instead.  I rolled my own for loop as I didn't find the
2616         appropriate function within raw Skia.
2617
2618         No new tests (covered by existing layout tests).
2619
2620         * platform/graphics/chromium/cc/CCRendererGL.cpp:
2621         (WebCore::CCRendererGL::getFramebufferPixels):
2622
2623 2012-09-11  Ryuan Choi  <ryuan.choi@samsung.com>
2624
2625         [CMAKE] Supply feature defines to CodeGeneratorTestRunner.
2626         https://bugs.webkit.org/show_bug.cgi?id=96273
2627
2628         Reviewed by Gyuyoung Kim.
2629
2630         * CMakeLists.txt: Extracted FEATURE_DEFINES with space separator to share.
2631         * PlatformBlackBerry.cmake: Ditto.
2632         * UseJSC.cmake: Ditto.
2633         * UseV8.cmake: Ditto.
2634
2635 2012-09-11  Nico Weber  <thakis@chromium.org>
2636
2637         [chromium/mac] Fix "Class WebCoreTextFieldCell is implemented in both Chromium Framework and /System/Library/Frameworks/WebKit.framework" warning
2638         https://bugs.webkit.org/show_bug.cgi?id=96460
2639
2640         Reviewed by Kent Tamura.
2641
2642         This was added incorrectly in http://trac.webkit.org/changeset/116721
2643
2644         * WebCore.gyp/WebCore.gyp:
2645
2646 2012-09-11  Keishi Hattori  <keishi@webkit.org>
2647
2648         Create Localizer factory method for LocaleICU
2649         https://bugs.webkit.org/show_bug.cgi?id=96363
2650
2651         Reviewed by Kent Tamura.
2652
2653         Preparing to use Localizer instead of LocaleMac/Win/ICU
2654
2655         No new tests. Covered in unit test tests/LocalizedNumberICUTest.cpp
2656
2657         * platform/text/LocaleICU.cpp:
2658         (WebCore::Localizer::create):
2659         (WebCore):
2660
2661 2012-09-11  Michael Saboff  <msaboff@apple.com>
2662
2663         Build fixed for http://trac.webkit.org/changeset/128243
2664
2665         Unreviewed build fix.
2666
2667         Added missing include file needed by 96422 for C++ ICU APIs.
2668
2669         * icu/unicode/chariter.h: Added.
2670
2671 2012-09-11  Michael Saboff  <msaboff@apple.com>
2672
2673         Build fixed for http://trac.webkit.org/changeset/128243
2674
2675         Unreviewed build fix.
2676
2677         Added missing include file needed by 96422 for C++ ICU APIs.
2678
2679         * icu/unicode/bytestream.h: Added.
2680         * icu/unicode/rep.h: Added.
2681         * icu/unicode/std_string.h: Added.
2682         * icu/unicode/strenum.h: Added.
2683         * icu/unicode/stringpiece.h: Added.
2684         * icu/unicode/unistr.h: Added.
2685         * icu/unicode/uobject.h: Added.
2686
2687 2012-09-11  Kent Tamura  <tkent@chromium.org>
2688
2689         Refactor ValidationMessage class
2690         https://bugs.webkit.org/show_bug.cgi?id=96365
2691
2692         Reviewed by Hajime Morita.
2693
2694         - Move some code from HTMLFormControlElement to ValidationMessage
2695         - ValidationMessage class holds an element pointer as
2696         HTMLFormControlElement, not FormAssociatedElement.
2697
2698         No new tests because of no behavior changes.
2699
2700         * html/HTMLFormControlElement.cpp:
2701         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
2702         Moved some code to ValidationMessage::updateValidationMessage().
2703         (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
2704         Ask ValidationMessage whether it is visible or not.
2705         * html/HTMLFormControlElement.h:
2706         (HTMLFormControlElement): Removed visibleValidationMessage().
2707
2708         * html/ValidationMessage.cpp:
2709         (WebCore::ValidationMessage::ValidationMessage):
2710         Change the argument type: FormAssociatedElement -> HTMLFormControlElement
2711         (WebCore::ValidationMessage::create): ditto.
2712         (WebCore::ValidationMessage::updateValidationMessage):
2713         Added. Moved some code from
2714         HTMLFormControlElement::updateVisibleValidationMessage().
2715         (WebCore::ValidationMessage::buildBubbleTree): toHTMLElement() is not needed.
2716         (WebCore::ValidationMessage::deleteBubbleTree): ditto.
2717         (WebCore::ValidationMessage::isVisible): Added.
2718         * html/ValidationMessage.h:
2719         (ValidationMessage):
2720          - Change some instance of FormAssociatedElement to HTMLFormControlElement
2721          - Remove message().
2722          - Added updateValidationMessage() and isVisible()
2723          - Made setMessage() private.
2724
2725 2012-09-11  Christopher Cameron  <ccameron@chromium.org>
2726
2727         [chromium] Make prioritized texture manager not touch backings array on the main thread
2728         https://bugs.webkit.org/show_bug.cgi?id=96114
2729
2730         Reviewed by James Robinson.
2731
2732         Take a snapshot of the textures' priorities from the main thread,
2733         and save it in their backings for access by the impl thread.
2734         Update functions that access the sorted backings array to use the
2735         snapshotted values instead of the values that the main thread may
2736         have computed for the next frame.
2737
2738         Make the main thread not touch the m_backings array.  Split
2739         prioritizeTextures into a updateBackingsPriorities function.
2740         In places where the main thread would have touched m_backings,
2741         set a flag specifying that m_backings needs to be re-sorted
2742         before any function that requires it be sorted by priority be
2743         executed.
2744
2745         Update the two functions that require sorted order (acquireBacking
2746         and reduceMemory) to sort the backings array (if needed) before
2747         traversing it.
2748
2749         Updated tests to set correct thread during asserts. Add a test to
2750         verify that requestLate is correctly incorporated into the backing
2751         sorting.
2752
2753         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
2754         (WebCore::CCPrioritizedTextureManager::CCPrioritizedTextureManager):
2755         (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
2756         (WebCore):
2757         (WebCore::CCPrioritizedTextureManager::prioritizeBackings):
2758         (WebCore::CCPrioritizedTextureManager::requestLate):
2759         (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
2760         (WebCore::CCPrioritizedTextureManager::reduceMemory):
2761         (WebCore::CCPrioritizedTextureManager::returnBackingTexture):
2762         (WebCore::CCPrioritizedTextureManager::destroyBacking):
2763         (WebCore::CCPrioritizedTextureManager::assertInvariants):
2764         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
2765         (CCPrioritizedTextureManager):
2766
2767 2012-09-11  Adam Barth  <abarth@webkit.org>
2768
2769         Update bindings test results after http://trac.webkit.org/changeset/128242
2770
2771         * bindings/scripts/test/V8/V8Float64Array.cpp:
2772         (WebCore::V8Float64Array::wrapSlow):
2773         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2774         (WebCore::V8TestActiveDOMObject::wrapSlow):
2775         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2776         (WebCore::V8TestCustomNamedGetter::wrapSlow):
2777         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2778         (WebCore::V8TestEventConstructor::wrapSlow):
2779         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2780         (WebCore::V8TestEventTarget::wrapSlow):
2781         * bindings/scripts/test/V8/V8TestException.cpp:
2782         (WebCore::V8TestException::wrapSlow):
2783         * bindings/scripts/test/V8/V8TestInterface.cpp:
2784         (WebCore::V8TestInterface::wrapSlow):
2785         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2786         (WebCore::V8TestMediaQueryListListener::wrapSlow):
2787         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2788         (WebCore::V8TestNamedConstructor::wrapSlow):
2789         * bindings/scripts/test/V8/V8TestNode.cpp:
2790         (WebCore::V8TestNode::wrapSlow):
2791         * bindings/scripts/test/V8/V8TestObj.cpp:
2792         (WebCore::V8TestObj::wrapSlow):
2793         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2794         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
2795
2796 2012-09-11  Michael Saboff  <msaboff@apple.com>
2797
2798         Build fixed for http://trac.webkit.org/changeset/128243
2799
2800         Rubber stamped by Stephanie Lewis.
2801
2802         Added missing include file needed by 96422.
2803
2804         * icu/unicode/unorm2.h: Added.
2805
2806 2012-09-11  Elliott Sprehn  <esprehn@chromium.org>
2807
2808         Add new JSDependentRetained that allows keeping a JSObject alive as long as another is alive
2809         https://bugs.webkit.org/show_bug.cgi?id=96034
2810
2811         Reviewed by Geoffrey Garen.
2812
2813         Add new JSDependentRetained (with the same API as V8DependentRetained) that allows keeping
2814         a JSObject alive as long as another is alive. This is useful for keeping callbacks on
2815         wrappers without keeping strong references into the JS heap in C++ which can result in
2816         cycles that create memory leaks.
2817
2818         No new tests needed, this will be used to fix MutationObservers and UndoManager which will have tests.
2819
2820         * GNUmakefile.list.am:
2821         * WebCore.vcproj/WebCore.vcproj:
2822         * WebCore.xcodeproj/project.pbxproj:
2823         * bindings/js/JSDependentRetained.h: Added.
2824         (WebCore):
2825         (JSDependentRetained):
2826         (WebCore::JSDependentRetained::JSDependentRetained):
2827         (WebCore::JSDependentRetained::~JSDependentRetained):
2828         (WebCore::JSDependentRetained::get): Get the JSObject value.
2829         (WebCore::JSDependentRetained::isEmpty): Check if the value is still alive.
2830         (WebCore::JSDependentRetained::retain): Sets the owner of the object, should only be used once.
2831         (WebCore::JSDependentRetained::release):
2832         * bindings/v8/V8DependentRetained.h:
2833         (WebCore::V8DependentRetained::V8DependentRetained):
2834         (WebCore::V8DependentRetained::retain): Added this method so the API for JSC and V8 are identical.
2835
2836 2012-09-11  Alec Flett  <alecflett@chromium.org>
2837
2838         Add 'any' type to V8 bindings as a synonym for DOMObject                
2839         https://bugs.webkit.org/show_bug.cgi?id=96429                           
2840
2841         Reviewed by Kentaro Hara.                                             
2842
2843         Adds support for 'any' as a synonym to DOMObject.                       
2844
2845         Test: TestObj.idl has an attribute 'anyAttribute'.                      
2846
2847         * bindings/scripts/CodeGeneratorJS.pm:
2848         (AddIncludesForType):
2849         (JSValueToNative):
2850         (NativeToJSValue):
2851         * bindings/scripts/CodeGeneratorV8.pm:
2852         (GetNativeType):
2853         (JSValueToNative):
2854         (GetV8HeaderName):
2855         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2856         (WebDOMTestObj::anyAttribute):
2857         (WebDOMTestObj::setAnyAttribute):
2858         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2859         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2860         (webkit_dom_test_obj_get_property):
2861         (webkit_dom_test_obj_class_init):
2862         (webkit_dom_test_obj_get_any_attribute):
2863         (webkit_dom_test_obj_set_any_attribute):
2864         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2865         * bindings/scripts/test/JS/JSTestObj.cpp:
2866         (WebCore):
2867         (WebCore::jsTestObjCachedAttribute1):
2868         (WebCore::jsTestObjCachedAttribute2):
2869         (WebCore::jsTestObjAnyAttribute):
2870         (WebCore::setJSTestObjAnyAttribute):
2871         * bindings/scripts/test/JS/JSTestObj.h:
2872         (WebCore):
2873         * bindings/scripts/test/ObjC/DOMTestObj.h:
2874         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2875         (-[DOMTestObj anyAttribute]):
2876         (-[DOMTestObj setAnyAttribute:]):
2877         * bindings/scripts/test/TestObj.idl:
2878         * bindings/scripts/test/V8/V8TestObj.cpp:
2879         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
2880         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
2881         (TestObjV8Internal):
2882         (WebCore::TestObjV8Internal::anyAttributeAttrGetter):
2883         (WebCore::TestObjV8Internal::anyAttributeAttrSetter):
2884         (WebCore):
2885
2886 2012-09-11  Michael Saboff  <msaboff@apple.com>
2887
2888         Unreviewed build fix for http://trac.webkit.org/changeset/128244
2889
2890         Some compilers don't like 0 for operator[](unsigned).  Changed to 0u.
2891
2892         * bindings/js/JSDOMBinding.h:
2893         (WebCore::jsStringWithCache):
2894
2895 2012-09-11  Michael Saboff  <msaboff@apple.com>
2896
2897         Build fixed for http://trac.webkit.org/changeset/128243
2898
2899         Rubber stamped by Stephanie Lewis.
2900
2901         Added missing include file needed by 96422.
2902
2903         * icu/unicode/ptypes.h: Added.
2904
2905 2012-09-11  Michael Saboff  <msaboff@apple.com>
2906
2907         jsStringWithCache shouldn't call StringImpl::characters() for single character strings
2908         https://bugs.webkit.org/show_bug.cgi?id=96439
2909
2910         Reviewed by Geoffrey Garen.
2911
2912         Replaced StringImpl->characters()[0] with operator[] access which is character size aware.
2913         Also fixed the other FIXME so we now use SmallStrings to retunr the single character string.
2914
2915         No functional change, so no new tests.
2916
2917         * bindings/js/JSDOMBinding.h:
2918         (WebCore::jsStringWithCache):
2919
2920 2012-09-11  Michael Saboff  <msaboff@apple.com>
2921
2922         Update ICU header files to more recent version
2923         https://bugs.webkit.org/show_bug.cgi?id=96422
2924
2925         Reviewed by Geoff Garen.
2926
2927         Updated ICU header files to 4.6.1.  Modifications made as part of the merge are:
2928         platform.h - Changed ifndef / define / endif for U_HAVE_UINT8_T, U_HAVE_UINT16_T, U_HAVE_UINT32_T,
2929             U_HAVE_UINT64_T, U_IS_BIG_ENDIAN and U_ENABLE_TRACING to match the existing platform.h
2930         putil.h (line 132) - Changes defined(U_WINDOWS) to defined(WIN32) || defined(OS2) to match existing putil.h
2931         ustring.h (line 945) - Wrapped macro argument cs with { (const UChar *)cs } to match existing ustring.h
2932         utypes.h (line 545) - Changed defined(U_WINDOWS) to defined(WIN32) to match existing utypes.h
2933
2934         Updated include files without any function change so no new tests.
2935
2936         * icu/unicode/localpointer.h: Added.
2937         * icu/unicode/parseerr.h:
2938         * icu/unicode/platform.h:
2939         * icu/unicode/putil.h:
2940         * icu/unicode/ubrk.h:
2941         * icu/unicode/uchar.h:
2942         * icu/unicode/ucnv.h:
2943         * icu/unicode/ucnv_err.h:
2944         * icu/unicode/ucol.h:
2945         * icu/unicode/ucoleitr.h:
2946         * icu/unicode/uconfig.h:
2947         * icu/unicode/ucsdet.h:
2948         * icu/unicode/uenum.h:
2949         * icu/unicode/uidna.h:
2950         * icu/unicode/uiter.h:
2951         * icu/unicode/uloc.h:
2952         * icu/unicode/umachine.h:
2953         * icu/unicode/unorm.h:
2954         * icu/unicode/urename.h:
2955         * icu/unicode/uscript.h:
2956         * icu/unicode/usearch.h:
2957         * icu/unicode/uset.h:
2958         * icu/unicode/ushape.h:
2959         * icu/unicode/ustring.h:
2960         * icu/unicode/utext.h: Added.
2961         * icu/unicode/utf.h:
2962         * icu/unicode/utf16.h:
2963         * icu/unicode/utf8.h:
2964         * icu/unicode/utypes.h:
2965         * icu/unicode/uvernum.h: Added.
2966         * icu/unicode/uversion.h:
2967
2968 2012-09-11  Adam Barth  <abarth@chromium.org>
2969
2970         [V8] 8% regression in dom_perf
2971         https://bugs.webkit.org/show_bug.cgi?id=96433
2972
2973         Reviewed by Kentaro Hara.
2974
2975         This code used to have a fast path to find the V8PerContextData for DOM
2976         nodes. I tried a bunch of variations, but nothing I can come up with is
2977         as fast as the old fast path, so I've added back the fast path.
2978
2979         * bindings/scripts/CodeGeneratorV8.pm:
2980         (GenerateToV8Converters):
2981         * bindings/v8/V8DOMWrapper.cpp:
2982         (WebCore::V8DOMWrapper::instantiateV8Object):
2983         * bindings/v8/V8DOMWrapper.h:
2984         (V8DOMWrapper):
2985
2986 2012-09-11  Andreas Kling  <kling@webkit.org>
2987
2988         ElementAttributeData: Use subclasses to manage varying object layouts.
2989         <http://webkit.org/b/94465>
2990
2991         Reviewed by Antti Koivisto.
2992
2993         Add two ElementAttributeData subclasses:
2994
2995             - MutableElementAttributeData
2996             - ImmutableElementAttributeData
2997
2998         The ElementAttributeData::m_isMutable bit determines which subclass to cast to when accessing
2999         the attribute storage. Added mutableAttributeVector() and immutableAttributeArray() helpers
3000         to ElementAttributeData (with appropriate assertions.)
3001
3002         This patch removes one step of indirection in the mutable case, since the Vector<Attribute> is no
3003         longer heap-allocated, but part of MutableElementAttributeData.
3004
3005         Added a WTF::deleteOwnedPtr(ElementAttributeData*) specialization so that the appropriate subclass
3006         destructor is called for these objects.
3007
3008         * WebCore.exp.in:
3009         * dom/Element.cpp:
3010         (WebCore::Element::createMutableAttributeData):
3011         * dom/ElementAttributeData.cpp:
3012         (WebCore::ElementAttributeData::createImmutable):
3013         (WebCore::ElementAttributeData::create):
3014         (WebCore::ElementAttributeData::ElementAttributeData):
3015         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
3016         (WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
3017         (WebCore::ImmutableElementAttributeData::~ImmutableElementAttributeData):
3018         (WebCore::ElementAttributeData::makeMutableCopy):
3019         (WebCore::ElementAttributeData::addAttribute):
3020         (WebCore::ElementAttributeData::removeAttribute):
3021         (WebCore::ElementAttributeData::reportMemoryUsage):
3022         (WebCore::ElementAttributeData::cloneDataFrom):
3023         (WebCore::ElementAttributeData::clearAttributes):
3024         * dom/ElementAttributeData.h:
3025         (ElementAttributeData):
3026         (WebCore::ElementAttributeData::isMutable):
3027         (ImmutableElementAttributeData):
3028         (MutableElementAttributeData):
3029         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
3030         (WebCore::ElementAttributeData::immutableAttributeArray):
3031         (WebCore::ElementAttributeData::mutableAttributeVector):
3032         (WebCore::ElementAttributeData::length):
3033         (WebCore::ElementAttributeData::attributeItem):
3034
3035 2012-09-11  Tony Chang  <tony@chromium.org>
3036
3037         Pass the logical height and logical top into RenderBox::computeLogicalHeight
3038         https://bugs.webkit.org/show_bug.cgi?id=96432
3039
3040         Reviewed by Ojan Vafai.
3041
3042         This allows us to call RenderBox::computeLogicalHeight without first having to call
3043         setLogicalHeight() and setLogicalTop().  Previously, computeLogicalHeight would depend
3044         on these values.
3045
3046         No new tests, this is just a refactor.
3047
3048         * rendering/RenderBox.cpp:
3049         (WebCore::RenderBox::updateLogicalHeight): Pass logicalHeight and logicalTop as params.
3050         (WebCore::RenderBox::computeLogicalHeight): Use passed in values instead of calling logicalHeight/logicalTop.
3051         (WebCore::RenderBox::computePositionedLogicalHeight): Pass the logicalHeight into computePositionedLogicalHeightUsing.
3052         (WebCore::RenderBox::computePositionedLogicalHeightUsing): Pass in the logicalHeight as a parameter.
3053         * rendering/RenderBox.h:
3054         (RenderBox): Update computePositionedLogicalHeightUsing and computeLogicalHeight.
3055
3056 2012-09-11  Joshua Bell  <jsbell@chromium.org>
3057
3058         IndexedDB: Optimize key decode and comparison operations
3059         https://bugs.webkit.org/show_bug.cgi?id=96037
3060
3061         Reviewed by Tony Chang.
3062
3063         Eliminate memory allocations in code identified as CPU bottlenecks in IDB profiling.
3064
3065         No new tests - just performance work.
3066
3067         * Modules/indexeddb/IDBLevelDBCoding.cpp:
3068         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey): Avoid incremental allocations.
3069         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys): Rename confusing variables p and q.
3070         (IDBLevelDBCoding):
3071         (WebCore::IDBLevelDBCoding::compare): Rename from decodeAndCompare, and add specializations
3072         for frequently encountered types (e.g. object/index data) that can be compared without a
3073         full decode.
3074
3075 2012-09-11  Adam Klein  <adamk@chromium.org>
3076
3077         Unreviewed, rolling out r128075
3078         https://bugs.webkit.org/show_bug.cgi?id=96435
3079
3080         Broke chromium content_browsertests and included flaky layout tests
3081
3082         * html/shadow/MediaControlRootElementChromium.cpp:
3083         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
3084         (WebCore::MediaControlRootElementChromium::reset):
3085         (WebCore::MediaControlRootElementChromium::playbackStarted):
3086         (WebCore::MediaControlRootElementChromium::playbackProgressed):
3087         (WebCore::MediaControlRootElementChromium::playbackStopped):
3088         (WebCore::MediaControlRootElementChromium::updateTimeDisplay):
3089         * html/shadow/MediaControlRootElementChromium.h:
3090         (MediaControlPanelEnclosureElement):
3091         (MediaControlRootElementChromium):
3092
3093 2012-09-11  Matt Lilek  <mrl@apple.com>
3094
3095         OS X port should compile with newer versions of clang
3096         https://bugs.webkit.org/show_bug.cgi?id=96434
3097
3098         Reviewed by Anders Carlsson.
3099
3100         Guard m_hasTouchEventHandler behind ENABLE(TOUCH_EVENTS).
3101         * html/HTMLInputElement.cpp:
3102         (WebCore::HTMLInputElement::HTMLInputElement):
3103         * html/HTMLInputElement.h:
3104         (HTMLInputElement):
3105
3106         Fix uninitialized variable.
3107         * platform/graphics/cg/GraphicsContextCG.cpp:
3108         (WebCore::createLinearSRGBColorSpace):
3109
3110 2012-09-11  Arnaud Renevier  <a.renevier@sisa.samsung.com>
3111
3112         [Gtk] allow building with css-shaders
3113         https://bugs.webkit.org/show_bug.cgi?id=95603
3114
3115         Reviewed by Martin Robinson.
3116
3117         Add support for css filters and shaders in GNUmakefile.am and include
3118         Texture.cpp, Texture.h, TilingData.cpp and TilingData.h in
3119         webcore_sources
3120
3121         No functional change, so no new tests.
3122
3123         * GNUmakefile.am:
3124         * GNUmakefile.list.am:
3125
3126 2012-09-11  Dimitri Glazkov  <dglazkov@chromium.org>
3127
3128         Remove StyleResolver::setStyle, because it's no longer used.
3129         https://bugs.webkit.org/show_bug.cgi?id=96423
3130
3131         Reviewed by Eric Seidel.
3132
3133         No new tests, simple refactoring.
3134
3135         * css/StyleResolver.h: Removed unused function.
3136
3137 2012-09-11  Chris Fleizach  <cfleizach@apple.com>
3138
3139         AX: title attribute is not exposed as the AXDescription on AXImage when there is no other fallback content
3140         https://bugs.webkit.org/show_bug.cgi?id=96412
3141
3142         Reviewed by Jon Honeycutt.
3143
3144         Ensure that if an image has a title attribute, but no alt attribute, it will fallback to use the title attribute 
3145         for the descriptive text.
3146
3147         Test: accessibility/img-fallsback-to-title.html
3148
3149         * accessibility/AccessibilityRenderObject.cpp:
3150         (WebCore::AccessibilityRenderObject::accessibilityDescription):
3151
3152 2012-09-11  Rik Cabanier  <cabanier@adobe.com>
3153
3154         Clean up functions in RenderLayerBacking.h/.cpp
3155         https://bugs.webkit.org/show_bug.cgi?id=96370
3156
3157         Reviewed by Simon Fraser.
3158
3159         Remove 'layer' from function names in RenderLayerBacking
3160
3161         No new test. No change in functionality.
3162
3163         * rendering/RenderLayerBacking.cpp:
3164         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
3165         (WebCore::RenderLayerBacking::updateOpacity):
3166         (WebCore::RenderLayerBacking::updateTransform):
3167         (WebCore::RenderLayerBacking::updateFilters):
3168         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3169         (WebCore::RenderLayerBacking::startTransition):
3170         * rendering/RenderLayerBacking.h:
3171         (RenderLayerBacking):
3172
3173 2012-09-11  Stephen White  <senorblanco@chromium.org>
3174
3175         [skia] Switch FEComponentTransfer filter to use skia's SkColorFilter
3176         https://bugs.webkit.org/show_bug.cgi?id=95238
3177
3178         Reviewed by Dirk Schulze.
3179
3180         Covered by existing tests in svg/, such as svg/custom/feComponentTransfer-Discrete.svg.
3181
3182         * WebCore.gypi:
3183         * platform/graphics/filters/FEComponentTransfer.cpp:
3184         (WebCore::FEComponentTransfer::platformApplySoftware):
3185         Add a check for the skia implementation.
3186         (WebCore::FEComponentTransfer::getValues):
3187         * platform/graphics/filters/FEComponentTransfer.h:
3188         Factor out the retrieval of LUT values into its own function, so we
3189         can call it from the Skia implementation.
3190         * platform/graphics/filters/skia/FEComponentTransferSkia.cpp: Added.
3191         (WebCore::FEComponentTransfer::platformApplySkia):
3192
3193 2012-09-11  Kevin Ellis  <kevers@chromium.org>
3194
3195         Crash on a long press gesture when touch adjustment is enabled.
3196         https://bugs.webkit.org/show_bug.cgi?id=96313
3197
3198         Reviewed by Antonio Gomes.
3199
3200         Fix to ensure that a long-press on a shadow-DOM element does not 
3201         trigger a crash in TouchAdjustment::providesContextMenuItems.
3202         Prior to the patch, a null-pointer exception was trigger because
3203         of a null renderer in the check.
3204
3205         Test: touchadjustment/context-menu-shadow-node.html
3206
3207         * page/TouchAdjustment.cpp:
3208         (WebCore::TouchAdjustment::providesContextMenuItems):
3209
3210 2012-09-11  Zan Dobersek  <zandobersek@gmail.com>
3211
3212         Unreviewed, manually rolling out r128175.
3213         The patch is causing crashes in debug builds.
3214         http://trac.webkit.org/changeset/128175
3215         https://bugs.webkit.org/show_bug.cgi?id=96284
3216
3217         * platform/network/soup/ResourceResponseSoup.cpp:
3218         (WebCore::ResourceResponse::updateFromSoupMessage):
3219
3220 2012-09-11  James Robinson  <jamesr@chromium.org>
3221
3222         Unreviewed, rolling out r128212.
3223         http://trac.webkit.org/changeset/128212
3224         https://bugs.webkit.org/show_bug.cgi?id=96037
3225
3226         Assertion fails on linux 64
3227
3228         * Modules/indexeddb/IDBLevelDBCoding.cpp:
3229         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
3230         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
3231         (IDBLevelDBCoding):
3232         (WebCore::IDBLevelDBCoding::compare):
3233
3234 2012-09-11  Joshua Bell  <jsbell@chromium.org>
3235
3236         IndexedDB: IDBObjectStore.count() is slow
3237         https://bugs.webkit.org/show_bug.cgi?id=96033
3238
3239         Reviewed by Tony Chang.
3240
3241         Avoid decoding record values when performing count() iteration, and factor out common code
3242         used for initializing object store and index cursors. Also, remove unused indexDataId()
3243         methods (which date back to the SQLite backing store), and rename some p's and q's.
3244
3245         No new tests - no functional changes. Covered by existing test:
3246             LayoutTests/storage/indexeddb/objectstore-count.html
3247
3248         * Modules/indexeddb/IDBBackingStore.h: Expose new (internal) ObjectStoreKeyCursor
3249         (IDBBackingStore):
3250         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
3251         (WebCore): Factor out common CursorOptions initialization code. The objectStoreCursorOptions()
3252         function is needed for this patch. The indexCursorOptions() function is not, but eliminates
3253         duplicated code and is a nearly identical refactor.
3254         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor): Refactor.
3255         (WebCore::IDBLevelDBBackingStore::openObjectStoreKeyCursor): Implement.
3256         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor): Refactor.
3257         (WebCore::IDBLevelDBBackingStore::openIndexCursor): Ditto.
3258         * Modules/indexeddb/IDBLevelDBBackingStore.h:
3259         (IDBLevelDBBackingStore):
3260         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3261         (WebCore::IDBObjectStoreBackendImpl::countInternal): Use ObjectStoreKeyCursor for iteration.
3262
3263 2012-09-11  Ojan Vafai  <ojan@chromium.org>
3264
3265         Refactor computePercentageLogicalHeight to simplify the logic a bit
3266         https://bugs.webkit.org/show_bug.cgi?id=96329
3267
3268         Reviewed by Tony Chang.
3269
3270         This makes it clear that the value we're computing as we go is the availableHeight.
3271
3272         * rendering/RenderBox.cpp:
3273         (WebCore::RenderBox::computePercentageLogicalHeight):
3274
3275 2012-09-11  Joshua Bell  <jsbell@chromium.org>
3276
3277         IndexedDB: Optimize key decode and comparison operations
3278         https://bugs.webkit.org/show_bug.cgi?id=96037
3279
3280         Reviewed by Tony Chang.
3281
3282         Eliminate memory allocations in code identified as CPU bottlenecks in IDB profiling.
3283
3284         No new tests - just performance work.
3285
3286         * Modules/indexeddb/IDBLevelDBCoding.cpp:
3287         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey): Avoid incremental allocations.
3288         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys): Rename confusing variables p and q.
3289         (IDBLevelDBCoding):
3290         (WebCore::IDBLevelDBCoding::compare): Rename from decodeAndCompare, and add specializations
3291         for frequently encountered types (e.g. object/index data) that can be compared without a
3292         full decode.
3293
3294 2012-09-11  Marcelo Lira  <marcelo.lira@openbossa.org>
3295
3296         Restore original value of mock scrollbars enabled in InternalSettings
3297         https://bugs.webkit.org/show_bug.cgi?id=87680
3298
3299         Reviewed by Adam Barth.
3300
3301         Added backup support for mock scrollbars state in
3302         InternalSettings::Backup, and removed support for these
3303         from Qt's DumpRenderTree.
3304
3305         * testing/InternalSettings.cpp:
3306         (WebCore::InternalSettings::Backup::Backup):
3307         (WebCore::InternalSettings::Backup::restoreTo):
3308         * testing/InternalSettings.h:
3309         (Backup):
3310
3311 2012-09-11  Mike West  <mkwst@chromium.org>
3312
3313         Improve console error messages when 'document.domain' blocks cross-origin script access.
3314         https://bugs.webkit.org/show_bug.cgi?id=96247
3315
3316         Reviewed by Adam Barth.
3317
3318         Setting 'document.domain' can produce counterintuitive "cross-origin"
3319         error messages for script access in cases where the property isn't set
3320         to the same value in both the accessor and accessee. This patch adds a
3321         bit more context to the error message to make it clear that both sides
3322         must set the property, and that the values must match.
3323
3324         This shouldn't change any externally visible behavior other than the
3325         error warnings. It's covered by changes to existing tests.
3326
3327         * page/DOMWindow.cpp:
3328         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
3329             Adding checks for 'document.domain'-related errors, and adding an
3330             ASSERT that crossDomainAccessErrorMessage is called in cases where
3331             the accessing frame is actually denied access to the frame being
3332             accessed.
3333
3334 2012-09-11  Jinwoo Song  <jinwoo7.song@samsung.com>
3335
3336         Deploy StringBuilder::appendNumber() and StringBuilder::appendLiteral() in more places
3337         https://bugs.webkit.org/show_bug.cgi?id=96344
3338
3339         Reviewed by Benjamin Poulain.
3340
3341         Use StringBuilder::appendNumber() instead of String::number(). Also deploy 
3342         StringBuilder::appendLiteral() instead of String::append() in the surrounding code.
3343
3344         * css/CSSAspectRatioValue.cpp:
3345         (WebCore::CSSAspectRatioValue::customCssText):
3346         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
3347         (WebCore):
3348         * svg/SVGPointList.cpp:
3349         (WebCore::SVGPointList::valueAsString):
3350
3351 2012-09-11  Tony Chang  <tony@chromium.org>
3352
3353         Rename computeLogicalHeight to updateLogicalHeight
3354         https://bugs.webkit.org/show_bug.cgi?id=96305
3355
3356         Reviewed by Ojan Vafai.
3357
3358         computeLogicalHeight changes the value of 4 member variables of the
3359         render box, so give it a name that makes it more clear that it is
3360         updating member variables.
3361
3362         No new tests, this is just a refactor.
3363
3364         * rendering/RenderBlock.cpp:
3365         (WebCore::RenderBlock::computeInitialRegionRangeForBlock):
3366         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
3367         (WebCore::RenderBlock::layoutBlock):
3368         (WebCore::RenderBlock::layoutPositionedObjects):
3369         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
3370         * rendering/RenderBox.cpp:
3371         (WebCore::RenderBox::updateLogicalHeight):
3372         (WebCore::RenderBox::computePercentageLogicalHeight):
3373         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
3374         (WebCore::RenderBox::availableLogicalHeightUsing):
3375         * rendering/RenderBox.h:
3376         (RenderBox):
3377         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
3378         * rendering/RenderDeprecatedFlexibleBox.cpp:
3379         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
3380         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
3381         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
3382         * rendering/RenderEmbeddedObject.cpp:
3383         (WebCore::RenderEmbeddedObject::layout):
3384         * rendering/RenderFlexibleBox.cpp:
3385         (WebCore::RenderFlexibleBox::layoutBlock):
3386         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
3387         * rendering/RenderFlowThread.cpp:
3388         (WebCore::RenderFlowThread::updateLogicalHeight):
3389         * rendering/RenderFlowThread.h:
3390         * rendering/RenderGrid.cpp:
3391         (WebCore::RenderGrid::layoutBlock):
3392         * rendering/RenderHTMLCanvas.cpp:
3393         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
3394         * rendering/RenderIFrame.cpp:
3395         (WebCore::RenderIFrame::updateLogicalHeight):
3396         (WebCore::RenderIFrame::layoutSeamlessly):
3397         (WebCore::RenderIFrame::layout):
3398         * rendering/RenderIFrame.h:
3399         (RenderIFrame):
3400         * rendering/RenderImage.cpp:
3401         (WebCore::RenderImage::imageDimensionsChanged):
3402         * rendering/RenderListBox.cpp:
3403         (WebCore::RenderListBox::updateLogicalHeight):
3404         * rendering/RenderListBox.h:
3405         (RenderListBox):
3406         * rendering/RenderMeter.cpp:
3407         (WebCore::RenderMeter::updateLogicalHeight):
3408         * rendering/RenderMeter.h:
3409         (RenderMeter):
3410         * rendering/RenderMultiColumnBlock.cpp:
3411         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
3412         * rendering/RenderMultiColumnFlowThread.h:
3413         * rendering/RenderMultiColumnSet.cpp:
3414         (WebCore::RenderMultiColumnSet::updateLogicalHeight):
3415         * rendering/RenderMultiColumnSet.h:
3416         (RenderMultiColumnSet):
3417         * rendering/RenderReplaced.cpp:
3418         (WebCore::RenderReplaced::layout):
3419         * rendering/RenderSearchField.cpp:
3420         (WebCore::RenderSearchField::computeControlHeight):
3421         * rendering/RenderTable.cpp:
3422         (WebCore::RenderTable::layout):
3423         * rendering/RenderTextControl.cpp:
3424         (WebCore::RenderTextControl::updateLogicalHeight):
3425         * rendering/RenderTextControl.h:
3426         (RenderTextControl):
3427         * rendering/RenderView.cpp:
3428         (WebCore::RenderView::updateLogicalHeight):
3429         * rendering/RenderView.h:
3430         * rendering/svg/RenderSVGForeignObject.cpp:
3431         (WebCore::RenderSVGForeignObject::updateLogicalHeight):
3432         * rendering/svg/RenderSVGForeignObject.h:
3433         (RenderSVGForeignObject):
3434         * rendering/svg/RenderSVGRoot.cpp:
3435         (WebCore::RenderSVGRoot::layout):
3436
3437 2012-09-11  Zach Kuznia  <zork@chromium.org>
3438
3439         Fix FilterTypeZoom to properly call canvas->restore()
3440         https://bugs.webkit.org/show_bug.cgi?id=96082
3441
3442         Reviewed by Adrienne Walker.
3443
3444         Fix zoom filter to properly call canvas->restore()
3445
3446         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
3447         (WebCore::CCRenderSurfaceFilters::apply):
3448
3449 2012-09-11  Sergio Villar Senin  <svillar@igalia.com>
3450
3451         [GTK] WebKitGtk+ crashes with non-UTF8 HTTP header names
3452         https://bugs.webkit.org/show_bug.cgi?id=96284
3453
3454         Reviewed by Gustavo Noronha Silva.
3455
3456         Non UTF-8 characters sent as part of a HTTP header name were
3457         causing crashes as String::fromUTF8() was returning NULL for
3458         them. Use String::fromUTF8WithLatin1Fallback() instead.
3459
3460  &